songxy hai 1 ano
pai
achega
6be615313e

+ 48 - 34
client/src/views/OaSystem/projectCenter/projectBook/projectBook.vue

@@ -12,7 +12,7 @@
       <div class="form">
         <span class="formSpan">行政区:</span>
         <el-tree-select
-          v-model="formData.xzqdm"
+          v-model="queryParams.xzqdm"
           node-key="id"
           check-strictly
           filterable
@@ -24,7 +24,7 @@
       </div>
       <div class="form">
         <span class="formSpan">行业:</span>
-        <el-select v-model="formData.hyId" class="m-2" placeholder="请选择行业" size="large">
+        <el-select v-model="queryParams.hyId" class="m-2" placeholder="请选择行业" size="large">
           <el-option
             v-for="item in industryList"
             :key="item.value"
@@ -36,7 +36,7 @@
       <div class="form">
         <span class="formSpan">立项时间:</span>
         <el-date-picker
-          v-model="queryParams.lxsj"
+          v-model="lxsjObj"
           type="daterange"
           unlink-panels
           range-separator="To"
@@ -46,25 +46,25 @@
       </div>
       <div class="form">
         <span class="formSpan">合同:</span>
-        <el-checkbox-group v-model="queryParams.htList">
-          <el-checkbox label="全部" />
-          <el-checkbox label="已签订" />
-          <el-checkbox label="未签订" />
-        </el-checkbox-group>
+        <el-radio-group v-model="queryParams.isSign">
+          <el-radio>全部</el-radio>
+          <el-radio label="1">已签订</el-radio>
+          <el-radio label="0">未签订</el-radio>
+        </el-radio-group>
       </div>
       <div class="form">
         <span class="formSpan">项目状态:</span>
         <el-radio-group v-model="queryParams.xmzt">
-          <el-radio :label="0">进行中(10)</el-radio>
-          <el-radio :label="1">已验收(7)</el-radio>
+          <el-radio :label="1">进行中(10)</el-radio>
+          <el-radio :label="4">已验收(7)</el-radio>
           <el-radio :label="2">已结项(1)</el-radio>
-          <el-radio :label="3">已终止(0)</el-radio>
-          <el-radio :label="4">全部(19)</el-radio>
+          <el-radio :label="9">已终止(0)</el-radio>
+          <el-radio>全部(19)</el-radio>
         </el-radio-group>
       </div>
       <div class="from">
         <div class="btnBox">
-          <el-button type="primary" style="background: #3485ff">
+          <el-button type="primary" style="background: #3485ff" @click="searchHandle">
             <img src="@/assets/imgs/OA/search.png" class="mr-8px" alt="" />
             查询</el-button
           >
@@ -125,7 +125,7 @@
       </div>
       <div class="pageBox">
         <el-pagination
-          v-model:current-page="pageNo"
+          v-model:current-page="queryParams.pageNo"
           :page-size="100"
           background
           layout="total, prev, pager, next, jumper"
@@ -137,6 +137,7 @@
   </div>
 </template>
 <script setup lang="ts">
+import moment from 'moment'
 import { useRouter } from 'vue-router'
 import request from '@/config/axios'
 import { getAssetURL } from '@/utils/auth'
@@ -145,26 +146,32 @@ const xmztMap: any = { 0: '立项申请中', 1: '进行中', 2: '已结项', 3:
 const router = useRouter()
 const tableRef: any = ref(null)
 const tableHeight: any = ref(0)
-const formData = ref<{
-  xmmc: string
+const queryParams = reactive<{
   xmbh: string
-  xzqdm: string
+  xmmc: string
+  xmlbId: string
+  lxsjOn: string
+  lxsjOff: string
+  pageNo: number
+  xzqdm: number | string
+  pageSize: number
+  isSign: any
+  xmzt: any
   hyId: string
 }>({
-  xmmc: '',
   xmbh: '',
-  xzqdm: '',
-  hyId: ''
-})
-const queryParams: any = reactive({
   xmmc: '',
-  xmbh: '',
-  xzqmc: '',
-  hymc: '',
-  lxsj: '',
-  htList: [],
-  xmzt: 0
+  xmlbId: '15',
+  lxsjOn: '',
+  lxsjOff: '',
+  pageNo: 1,
+  xzqdm: '',
+  pageSize: 10,
+  isSign: '',
+  xmzt: '',
+  hyId: '4'
 })
+const lxsjObj = ref()
 const infoList: any = ref([
   {
     icon: 'xmzx/xmzcz',
@@ -190,7 +197,6 @@ const operateClick = (row: any) => {
     query: { id: row.id }
   })
 }
-const pageNo = ref<number>(1)
 const tableData = ref<Array<any>>([])
 const total = ref<number>()
 const industryList = ref([
@@ -200,25 +206,30 @@ const industryList = ref([
   },
   {
     label: '政府行业',
-    value: ''
+    value: '3'
   },
   {
     label: 'IT行业',
-    value: ''
+    value: '2'
   },
   {
     label: '公司内部项目',
-    value: ''
+    value: '1'
   },
   {
     label: '其他',
-    value: ''
+    value: '4'
   }
 ])
+const searchHandle: () => void = () => {
+  queryProjectListAjax()
+}
 const queryProjectListAjax = async (): Promise<void> => {
   const urlApi = `/project/page`
+  // queryParams.lxsjOn = moment(lxsjObj[0]).format('YYYY-MM-DD')
+  // queryParams.lxsjOff = moment(lxsjObj[1]).format('YYYY-MM-DD')
   const sendData = {
-    pageNo: pageNo.value,
+    ...queryParams,
     pageSize: 10
   }
   const result = await request.get({ url: urlApi, params: sendData }, '/business')
@@ -227,6 +238,9 @@ const queryProjectListAjax = async (): Promise<void> => {
 }
 queryProjectListAjax()
 
+/**
+ * 获取行政区tree结构数据
+ */
 const areaTree = ref<Array<any>>()
 const filterNodeMethod = (value, data) => {
   return data.name.includes(value)

+ 27 - 12
client/src/views/OaSystem/projectCenter/projectDetail/components/xmxx/index.vue

@@ -17,13 +17,13 @@
           <table>
             <tr>
               <td class="th">归属公司:</td>
-              <td>自然资源部</td>
+              <td>{{ detailData['belongCompanyname'] }}</td>
               <td class="th">立项时间:</td>
-              <td>自然资源部</td>
+              <td>{{ detailData['lxsj'] }}</td>
             </tr>
             <tr>
               <td class="th">销售人员:</td>
-              <td>自然资源部</td>
+              <td>{{ detailData['xsry'] }}</td>
               <td class="th">行政区:</td>
               <td>自然资源部</td>
             </tr>
@@ -35,7 +35,7 @@
             </tr>
             <tr>
               <td class="th">预估工期(天):</td>
-              <td>自然资源部</td>
+              <td>{{ detailData['yggq'] }}</td>
               <td class="th"></td>
               <td></td>
             </tr>
@@ -46,9 +46,9 @@
           <table>
             <tr>
               <td class="th">验收时间:</td>
-              <td>自然资源部</td>
+              <td>{{ detailData['yssj'] }}</td>
               <td class="th">验收单有效性:</td>
-              <td>自然资源部</td>
+              <td>{{ detailData['ysdyxx'] }}</td>
             </tr>
           </table>
         </div>
@@ -57,15 +57,15 @@
           <table>
             <tr>
               <td class="th">是否签合同:</td>
-              <td>自然资源部</td>
+              <td>{{ detailData['isSign'] === 1 ? '是' : '否' }}</td>
               <td class="th">本项目成本(万):</td>
-              <td>自然资源部</td>
+              <td>{{ detailData['xmcbys'] }}</td>
             </tr>
             <tr>
               <td class="th">本项目产值(万):</td>
-              <td>自然资源部</td>
+              <td>{{ detailData['outputValue'] }}</td>
               <td class="th">利益分成(公司/部门):</td>
-              <td>自然资源部</td>
+              <td>{{ detailData['shareRatio'] }}</td>
             </tr>
           </table>
         </div>
@@ -110,14 +110,29 @@
   </div>
 </template>
 <script setup lang="ts">
-import { onMounted } from 'vue'
+import { useRoute } from 'vue-router'
+import request from '@/config/axios'
+
 defineOptions({ name: 'XmxxComp' })
 const tableData = ref()
 const currentIndex = ref<number>(0)
 const switchHandle: (i: number) => void = (i: number) => {
   currentIndex.value = i
 }
-onMounted(() => {})
+const detailData = ref<any>()
+const queryProjectDetail = async (id: any): Promise<void> => {
+  const urlApi = `/project`
+  const sendData = {
+    id: id
+  }
+  const result = await request.get({ url: urlApi, params: sendData }, '/business')
+  detailData.value = result
+}
+const route = useRoute()
+const query = route.query
+if (query.id) {
+  queryProjectDetail(query.id)
+}
 </script>
 <style lang="scss" scoped>
 @import './index.scss';

+ 1 - 2
client/src/views/OaSystem/projectCenter/projectDetail/projectDetail.vue

@@ -159,7 +159,7 @@
   </div>
 </template>
 <script setup lang="ts">
-import { onMounted, type Component } from 'vue'
+import { type Component } from 'vue'
 
 defineOptions({ name: 'ProjectDetail' })
 const XmxxComp = defineAsyncComponent(() => {
@@ -191,7 +191,6 @@ const tabIndex = ref<number>(0)
 const switchTabHandle: (i: number) => void = (i: number) => {
   tabIndex.value = i
 }
-onMounted(() => {})
 </script>
 <style lang="scss" scoped>
 @import url(./projectDetail.scss);