songxy 1 рік тому
батько
коміт
1bb2b082fd

+ 9 - 1
client/src/views/OaSystem/marketCenter/contractSubOut/applyIndex.vue

@@ -254,9 +254,17 @@ const useMoneySubmit = (): void => {
     })
 }
 const operateClick = (row: any) => {
+  if (!row.projectId) {
+    ElMessage.warning('该项目ID不存在,无法打开项目详情!')
+    return
+  }
+  if (!row.contractId) {
+    ElMessage.warning('该合同ID不存在,无法打开项目详情!')
+    return
+  }
   router.push({
     path: '/projectDetail',
-    query: { id: row.id }
+    query: { id: row.projectId, contractId: row.contractId }
   })
 }
 onMounted(() => {

+ 39 - 5
client/src/views/OaSystem/projectCenter/projectBook/deptProject.vue

@@ -56,11 +56,11 @@
       <div class="form" style="width: unset">
         <span class="formSpan">项目状态:</span>
         <el-radio-group v-model="queryParams.xmzt">
-          <el-radio :label="1">进行中(10)</el-radio>
-          <el-radio :label="4">已验收(7)</el-radio>
-          <el-radio :label="2">已结项(1)</el-radio>
-          <el-radio :label="9">已终止(0)</el-radio>
-          <el-radio>全部(19)</el-radio>
+          <el-radio :label="1">进行中({{ process }})</el-radio>
+          <el-radio :label="4">已验收({{ accepted }})</el-radio>
+          <el-radio :label="2">已结项({{ finished }})</el-radio>
+          <el-radio :label="9">已终止({{ terminated }})</el-radio>
+          <el-radio>全部({{ totalNum }})</el-radio>
         </el-radio-group>
       </div>
       <div class="from">
@@ -242,6 +242,40 @@ const queryProjectListAjax = async (): Promise<void> => {
 }
 queryProjectListAjax()
 
+/**
+ * 项目状态数据统计
+ */
+const totalNum = ref<number>(0)
+const process = ref<number>(0)
+const finished = ref<number>(0)
+const terminated = ref<number>(0)
+const accepted = ref<number>(0)
+
+const queryXmztCount = async (): Promise<void> => {
+  const urlApi = `/project/xmzt/count`
+  if (lxsjObj.value && lxsjObj.value.length > 0) {
+    queryParams.lxsjOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
+    queryParams.lxsjOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.lxsjOn = ''
+    queryParams.lxsjOff = ''
+  }
+  const sendData = {
+    ...queryParams
+  }
+  if (sendData['hyId'] == 0) {
+    sendData['hyId'] = null
+  }
+  const result = await request.get({ url: urlApi, params: sendData }, '/business')
+  if (result) {
+    totalNum.value = result['total']
+    process.value = result['process']
+    finished.value = result['finished']
+    terminated.value = result['terminated']
+    accepted.value = result['accepted']
+  }
+}
+queryXmztCount()
 /**
  * 获取行政区tree结构数据
  */

+ 39 - 5
client/src/views/OaSystem/projectCenter/projectBook/myProject.vue

@@ -56,11 +56,11 @@
       <div class="form" style="width: unset">
         <span class="formSpan">项目状态:</span>
         <el-radio-group v-model="queryParams.xmzt">
-          <el-radio :label="1">进行中(10)</el-radio>
-          <el-radio :label="4">已验收(7)</el-radio>
-          <el-radio :label="2">已结项(1)</el-radio>
-          <el-radio :label="9">已终止(0)</el-radio>
-          <el-radio>全部(19)</el-radio>
+          <el-radio :label="1">进行中({{ process }})</el-radio>
+          <el-radio :label="4">已验收({{ accepted }})</el-radio>
+          <el-radio :label="2">已结项({{ finished }})</el-radio>
+          <el-radio :label="9">已终止({{ terminated }})</el-radio>
+          <el-radio>全部({{ totalNum }})</el-radio>
         </el-radio-group>
       </div>
       <div class="from">
@@ -255,6 +255,40 @@ const queryAreaTreeAjax = async (): Promise<void> => {
   areaTree.value = result
 }
 queryAreaTreeAjax()
+/**
+ * 项目状态数据统计
+ */
+const totalNum = ref<number>(0)
+const process = ref<number>(0)
+const finished = ref<number>(0)
+const terminated = ref<number>(0)
+const accepted = ref<number>(0)
+
+const queryXmztCount = async (): Promise<void> => {
+  const urlApi = `/project/xmzt/count`
+  if (lxsjObj.value && lxsjObj.value.length > 0) {
+    queryParams.lxsjOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
+    queryParams.lxsjOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.lxsjOn = ''
+    queryParams.lxsjOff = ''
+  }
+  const sendData = {
+    ...queryParams
+  }
+  if (sendData['hyId'] == 0) {
+    sendData['hyId'] = null
+  }
+  const result = await request.get({ url: urlApi, params: sendData }, '/business')
+  if (result) {
+    totalNum.value = result['total']
+    process.value = result['process']
+    finished.value = result['finished']
+    terminated.value = result['terminated']
+    accepted.value = result['accepted']
+  }
+}
+queryXmztCount()
 onMounted(() => {
   tableHeight.value = tableRef.value.clientHeight
 })

+ 42 - 7
client/src/views/OaSystem/projectCenter/projectBook/projectBook.vue

@@ -11,11 +11,11 @@
       </div>
       <div class="form">
         <span class="formSpan">项目经理:</span>
-        <UserOrgTree v-model="queryParams['xmjlId']" />
+        <UserOrgTree v-model="queryParams['userId']" />
       </div>
       <div class="form">
         <span class="formSpan">责任部门:</span>
-        <DeptTree v-model="queryParams['zrbmId']" />
+        <DeptTree v-model="queryParams['deptId']" />
       </div>
       <div class="form" style="width: unset">
         <span class="formSpan">合同状态:</span>
@@ -28,11 +28,11 @@
       <div class="form" style="width: unset">
         <span class="formSpan">项目状态:</span>
         <el-radio-group v-model="queryParams.xmzt">
-          <el-radio :label="1">进行中(10)</el-radio>
-          <el-radio :label="4">已验收(7)</el-radio>
-          <el-radio :label="2">已结项(1)</el-radio>
-          <el-radio :label="9">已终止(0)</el-radio>
-          <el-radio>全部(19)</el-radio>
+          <el-radio :label="1">进行中({{ process }})</el-radio>
+          <el-radio :label="4">已验收({{ accepted }})</el-radio>
+          <el-radio :label="2">已结项({{ finished }})</el-radio>
+          <el-radio :label="9">已终止({{ terminated }})</el-radio>
+          <el-radio>全部({{ totalNum }})</el-radio>
         </el-radio-group>
       </div>
       <div class="from">
@@ -203,6 +203,41 @@ const queryProjectListAjax = async (): Promise<void> => {
 }
 queryProjectListAjax()
 
+/**
+ * 项目状态数据统计
+ */
+const totalNum = ref<number>(0)
+const process = ref<number>(0)
+const finished = ref<number>(0)
+const terminated = ref<number>(0)
+const accepted = ref<number>(0)
+
+const queryXmztCount = async (): Promise<void> => {
+  const urlApi = `/project/xmzt/count`
+  if (lxsjObj.value && lxsjObj.value.length > 0) {
+    queryParams.lxsjOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
+    queryParams.lxsjOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.lxsjOn = ''
+    queryParams.lxsjOff = ''
+  }
+  const sendData = {
+    ...queryParams
+  }
+  if (sendData['hyId'] == 0) {
+    sendData['hyId'] = null
+  }
+  const result = await request.get({ url: urlApi, params: sendData }, '/business')
+  if (result) {
+    totalNum.value = result['total']
+    process.value = result['process']
+    finished.value = result['finished']
+    terminated.value = result['terminated']
+    accepted.value = result['accepted']
+  }
+}
+queryXmztCount()
+
 onMounted(() => {
   tableHeight.value = tableRef.value.clientHeight
 })

+ 39 - 5
client/src/views/OaSystem/projectCenter/reviewManager/reviewManager.vue

@@ -46,11 +46,11 @@
       <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="2">已结项(1)</el-radio>
-          <el-radio :label="3">已终止(0)</el-radio>
-          <el-radio :label="4">全部(19)</el-radio>
+          <el-radio :label="1">进行中({{ process }})</el-radio>
+          <el-radio :label="4">已验收({{ accepted }})</el-radio>
+          <el-radio :label="2">已结项({{ finished }})</el-radio>
+          <el-radio :label="9">已终止({{ terminated }})</el-radio>
+          <el-radio>全部({{ totalNum }})</el-radio>
         </el-radio-group>
       </div>
       <div class="from">
@@ -201,6 +201,40 @@ const operateClick = (row: any) => {
 
   window.open(c.href, '_blank')
 }
+/**
+ * 项目状态数据统计
+ */
+const totalNum = ref<number>(0)
+const process = ref<number>(0)
+const finished = ref<number>(0)
+const terminated = ref<number>(0)
+const accepted = ref<number>(0)
+
+const queryXmztCount = async (): Promise<void> => {
+  const urlApi = `/project/xmzt/count`
+  if (lxsjObj.value && lxsjObj.value.length > 0) {
+    queryParams.lxsjOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
+    queryParams.lxsjOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.lxsjOn = ''
+    queryParams.lxsjOff = ''
+  }
+  const sendData = {
+    ...queryParams
+  }
+  if (sendData['hyId'] == 0) {
+    sendData['hyId'] = null
+  }
+  const result = await request.get({ url: urlApi, params: sendData }, '/business')
+  if (result) {
+    totalNum.value = result['total']
+    process.value = result['process']
+    finished.value = result['finished']
+    terminated.value = result['terminated']
+    accepted.value = result['accepted']
+  }
+}
+queryXmztCount()
 onMounted(() => {
   tableHeight.value = tableRef.value.clientHeight
 })