Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

ljy121 1 gadu atpakaļ
vecāks
revīzija
9c6bef2976
20 mainītis faili ar 239 papildinājumiem un 82 dzēšanām
  1. 5 0
      client/src/api/oa/kpgl/index.ts
  2. 4 0
      client/src/config/axios/index.ts
  3. 55 15
      client/src/views/OaSystem/financialManagement/kpglPage/deptIndex.vue
  4. 56 9
      client/src/views/OaSystem/financialManagement/kpglPage/index.vue
  5. 54 14
      client/src/views/OaSystem/financialManagement/kpglPage/myIndex.vue
  6. 0 11
      client/src/views/OaSystem/financialManagement/ptbxPage/index.vue
  7. 8 3
      client/src/views/OaSystem/home/homeStaff.vue
  8. 1 1
      client/src/views/OaSystem/home/index.vue
  9. 5 3
      client/src/views/OaSystem/marketCenter/contractSubOut/applyIndex.vue
  10. 0 5
      client/src/views/OaSystem/mineCenter/components/rightBox.vue
  11. 7 1
      client/src/views/OaSystem/oaViews/layout/TableLayout.vue
  12. 2 0
      client/src/views/OaSystem/projectCenter/projectBook/common.ts
  13. 1 1
      client/src/views/OaSystem/projectCenter/projectBook/projectBook.vue
  14. 14 3
      client/src/views/OaSystem/projectCenter/projectDetail/components/xmcb/index.vue
  15. 1 6
      client/src/views/OaSystem/projectCenter/projectDetail/components/xmcb/normalCost.vue
  16. 1 6
      client/src/views/OaSystem/projectCenter/projectDetail/components/xmcb/travelCost.vue
  17. 1 1
      client/src/views/OaSystem/projectCenter/projectDetail/components/xmcb/usemoneyCost.vue
  18. 8 1
      client/src/views/OaSystem/projectCenter/purchaseContract/deptContract.vue
  19. 8 1
      client/src/views/OaSystem/projectCenter/purchaseContract/myContract.vue
  20. 8 1
      client/src/views/OaSystem/projectCenter/purchaseContract/purchaseContract.vue

+ 5 - 0
client/src/api/oa/kpgl/index.ts

@@ -13,3 +13,8 @@ export const getStatics = (data) => {
 export const processContractInvoice = (params) => {
   return request.get({ url: '/contractInvoice/process', params }, '/business')
 }
+
+// 开票查询多选导出
+export const exportContractInvoiceListExcel = (data: { idList: string[] }) => {
+  return request.downloadPost({ url: '/contract-invoice/list/excel', data }, '/business')
+}

+ 4 - 0
client/src/config/axios/index.ts

@@ -59,6 +59,10 @@ export default {
     const res = await request({ method: 'GET', responseType: 'blob', ...option }, prefix)
     return res as unknown as Promise<T>
   },
+  downloadPost: async <T = any>(option: any, prefix?: string) => {
+    const res = await request({ method: 'POST', responseType: 'blob', ...option }, prefix)
+    return res as unknown as Promise<T>
+  },
   upload: async <T = any>(option: any, prefix?: string) => {
     option.headersType = 'multipart/form-data'
     const res = await request({ method: 'POST', ...option }, prefix)

+ 55 - 15
client/src/views/OaSystem/financialManagement/kpglPage/deptIndex.vue

@@ -80,7 +80,7 @@
             <img src="@/assets/imgs/OA/search.png" class="mr-8px" alt="" />
             查询</el-button
           >
-          <el-button type="primary">
+          <el-button type="primary" @click="getExportContractInvoiceListExcel">
             <img src="@/assets/imgs/OA/open.png" class="mr-8px" alt="" />
             导出</el-button
           >
@@ -91,17 +91,37 @@
       <ul>
         <li v-for="(item, index) in infoList" :key="index" class="mr-40px">
           <p>{{ item.name }}:</p>
-          <h4 class="font-size-18px">{{ item.num }}</h4>
+          <h4 class="font-size-18px">
+            {{ item.num.toString().indexOf('.') === -1 ? item.num : item.num.toFixed(2) }}
+            万元
+          </h4>
         </li>
       </ul>
     </div>
     <div class="tableBox">
-      <TableLayout :is-loading="loading" :data="list">
-        <el-table-column type="index" />
+      <TableLayout
+        :is-loading="loading"
+        :data="list"
+        @selection-change="handleSelectionChange"
+        row-key="id"
+      >
+        <el-table-column type="selection" width="55" />
+        <el-table-column label="序号" type="index" width="65" />
+        <el-table-column align="center" prop="invoiceNumber" label="发票号码" width="150" />
+        <el-table-column
+          align="center"
+          :show-overflow-tooltip="true"
+          label="项目名称及编号"
+          width="460"
+        >
+          <template #default="scope"> {{ scope.row.xmmc }}({{ scope.row.xmbh }}) </template>
+        </el-table-column>
+        <el-table-column align="center" prop="contractNumber" label="合同编号" width="180" />
         <el-table-column
           align="center"
           prop="invoiceDate"
           :formatter="dateFormatter2"
+          width="120"
           label="开票日期"
         />
         <el-table-column
@@ -109,37 +129,41 @@
           :show-overflow-tooltip="true"
           prop="name"
           label="合同名称"
+          width="350"
         />
         <el-table-column
           :show-overflow-tooltip="true"
           align="center"
           prop="xsry"
           label="销售经理"
+          width="120"
         />
         <el-table-column
           :show-overflow-tooltip="true"
           align="center"
           prop="zrbm"
           label="责任部门"
+          width="160"
         />
         <el-table-column
           :show-overflow-tooltip="true"
           align="center"
           prop="payCompany"
           label="付款单位"
+          width="220"
         />
         <el-table-column
           align="center"
           :show-overflow-tooltip="true"
           prop="invoiceAmount"
           label="开票金额(元)"
+          width="120"
         />
-        <el-table-column
-          align="center"
-          :show-overflow-tooltip="true"
-          prop="invoiceAmount"
-          label="未回款金额(元)"
-        />
+        <el-table-column align="center" :show-overflow-tooltip="true" label="未回款金额(元)">
+          <template #default="scope">
+            {{ scope.row.invoiceAmount - scope.row.returnAmount }}
+          </template>
+        </el-table-column>
         <el-table-column
           align="center"
           :show-overflow-tooltip="true"
@@ -181,6 +205,7 @@ import { formatDate, dateFormatter2 } from '@/utils/formatTime'
 import TableLayout from '../../oaViews/layout/TableLayout.vue'
 import UserOrgTree from '@/views/OaSystem/components/UserOrgTree/index.vue'
 import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
+import download from '@/utils/download'
 
 defineOptions({ name: 'CommonCost' })
 
@@ -206,22 +231,37 @@ const queryParams = reactive({
 })
 const infoList: any = ref([
   {
-    name: '已开票总金额(万元)',
+    name: '已开票总金额',
     num: 0
   },
   {
-    name: '已回款总金额(万元)',
+    name: '已回款总金额',
     num: 0
   },
   {
-    name: '未回款总金额(万元)',
+    name: '未回款总金额',
     num: 0
   }
 ])
+
+const idList = ref<string[]>([])
+const handleSelectionChange = (arrs) => {
+  idList.value = arrs.map((item) => item.id)
+}
+/** 列表导出 */
+const getExportContractInvoiceListExcel = async () => {
+  if (idList.value.length === 0) {
+    ElMessage.warning('请至少选择一条数据!')
+    return
+  }
+  const data = await kpglApi.exportContractInvoiceListExcel({
+    idList: idList.value
+  })
+  download.excel(data, '开票台账导出记录.xls')
+}
 const loading = ref(true) // 列表的加载中
 const total = ref(0) // 列表的总页数
 const list = ref([]) // 列表的数
-
 /** 查询列表 */
 const getList = async () => {
   loading.value = true
@@ -255,7 +295,7 @@ const getStatics = async () => {
   const data = await kpglApi.getStatics(queryParams)
   infoList.value[0].num = data.ykp
   infoList.value[1].num = data.yhk
-  infoList.value[2].num = (data.ykp - data.yhk).toFixed(6)
+  infoList.value[2].num = data.ykp - data.yhk
 }
 const handleCurrentChange = (pageNo: number) => {
   queryParams.pageNo = pageNo

+ 56 - 9
client/src/views/OaSystem/financialManagement/kpglPage/index.vue

@@ -30,6 +30,11 @@
         <span class="formSpan">项目名称:</span>
         <el-input v-model="queryParams.xmmc" style="width: 160px" />
       </div>
+      <div class="form">
+        <span class="formSpan">付款单位:</span>
+        <el-input v-model="queryParams.payCompany" style="width: 160px" />
+      </div>
+
       <div class="form">
         <span class="formSpan">开票状态:</span>
         <el-select
@@ -84,7 +89,7 @@
             <img src="@/assets/imgs/OA/search.png" class="mr-8px" alt="" />
             查询</el-button
           >
-          <el-button type="primary">
+          <el-button type="primary" @click="getExportContractInvoiceListExcel">
             <img src="@/assets/imgs/OA/open.png" class="mr-8px" alt="" />
             导出</el-button
           >
@@ -95,23 +100,44 @@
       <ul>
         <li v-for="(item, index) in infoList" :key="index" class="mr-40px">
           <p>{{ item.name }}:</p>
-          <h4 class="font-size-18px">{{ item.num }}</h4>
+          <h4 class="font-size-18px">
+            {{ item.num.toString().indexOf('.') === -1 ? item.num : item.num.toFixed(2) }}
+            万元
+          </h4>
         </li>
       </ul>
     </div>
     <div class="tableBox">
-      <TableLayout :is-loading="loading" :data="list">
-        <el-table-column type="index" />
+      <TableLayout
+        :is-loading="loading"
+        :data="list"
+        @selection-change="handleSelectionChange"
+        row-key="id"
+      >
+        <el-table-column type="selection" width="55" />
+        <el-table-column label="序号" type="index" width="65" />
+        <el-table-column align="center" prop="invoiceNumber" label="发票号码" width="150" />
+        <el-table-column
+          align="center"
+          :show-overflow-tooltip="true"
+          label="项目名称及编号"
+          width="460"
+        >
+          <template #default="scope"> {{ scope.row.xmmc }}({{ scope.row.xmbh }}) </template>
+        </el-table-column>
+        <el-table-column align="center" prop="contractNumber" label="合同编号" width="180" />
         <el-table-column
           align="center"
           prop="invoiceDate"
           :formatter="dateFormatter2"
+          width="120"
           label="开票日期"
         />
         <el-table-column
           align="center"
           :show-overflow-tooltip="true"
           prop="name"
+          width="350"
           label="合同名称"
         />
         <el-table-column
@@ -119,24 +145,28 @@
           align="center"
           prop="xsry"
           label="销售经理"
+          width="120"
         />
         <el-table-column
           :show-overflow-tooltip="true"
           align="center"
           prop="zrbm"
           label="责任部门"
+          width="160"
         />
         <el-table-column
           :show-overflow-tooltip="true"
           align="center"
           prop="payCompany"
           label="付款单位"
+          width="220"
         />
         <el-table-column
           align="center"
           :show-overflow-tooltip="true"
           prop="invoiceAmount"
           label="开票金额(元)"
+          width="120"
         />
         <el-table-column align="center" :show-overflow-tooltip="true" label="未回款金额(元)">
           <template #default="scope">
@@ -190,6 +220,7 @@ import { formatDate, dateFormatter2 } from '@/utils/formatTime'
 import TableLayout from '../../oaViews/layout/TableLayout.vue'
 import UserOrgTree from '@/views/OaSystem/components/UserOrgTree/index.vue'
 import DeptTree from '@/views/OaSystem/components/DeptTree/index.vue'
+import download from '@/utils/download'
 
 defineOptions({ name: 'CommonCost' })
 
@@ -200,6 +231,7 @@ const queryParams = reactive({
   pageSize: 10,
   invoiceNumber: '',
   contractName: '',
+  payCompany: '',
   deptId: '',
   managerId: '',
   xmmc: '',
@@ -212,22 +244,37 @@ const queryParams = reactive({
 })
 const infoList: any = ref([
   {
-    name: '已开票总金额(万元)',
+    name: '已开票总金额',
     num: 0
   },
   {
-    name: '已回款总金额(万元)',
+    name: '已回款总金额',
     num: 0
   },
   {
-    name: '未回款总金额(万元)',
+    name: '未回款总金额',
     num: 0
   }
 ])
+
+const idList = ref<string[]>([])
+const handleSelectionChange = (arrs) => {
+  idList.value = arrs.map((item) => item.id)
+}
+/** 列表导出 */
+const getExportContractInvoiceListExcel = async () => {
+  if (idList.value.length === 0) {
+    ElMessage.warning('请至少选择一条数据!')
+    return
+  }
+  const data = await kpglApi.exportContractInvoiceListExcel({
+    idList: idList.value
+  })
+  download.excel(data, '开票台账导出记录.xls')
+}
 const loading = ref(true) // 列表的加载中
 const total = ref(0) // 列表的总页数
 const list = ref([]) // 列表的数
-
 /** 查询列表 */
 const getList = async () => {
   loading.value = true
@@ -261,7 +308,7 @@ const getStatics = async () => {
   const data = await kpglApi.getStatics(queryParams)
   infoList.value[0].num = data.ykp
   infoList.value[1].num = data.yhk
-  infoList.value[2].num = (data.ykp - data.yhk).toFixed(6)
+  infoList.value[2].num = data.ykp - data.yhk
 }
 const handleCurrentChange = (pageNo: number) => {
   queryParams.pageNo = pageNo

+ 54 - 14
client/src/views/OaSystem/financialManagement/kpglPage/myIndex.vue

@@ -76,7 +76,7 @@
             <img src="@/assets/imgs/OA/search.png" class="mr-8px" alt="" />
             查询</el-button
           >
-          <el-button type="primary">
+          <el-button type="primary" @click="getExportContractInvoiceListExcel">
             <img src="@/assets/imgs/OA/open.png" class="mr-8px" alt="" />
             导出</el-button
           >
@@ -87,17 +87,37 @@
       <ul>
         <li v-for="(item, index) in infoList" :key="index" class="mr-40px">
           <p>{{ item.name }}:</p>
-          <h4 class="font-size-18px">{{ item.num }}</h4>
+          <h4 class="font-size-18px">
+            {{ item.num.toString().indexOf('.') === -1 ? item.num : item.num.toFixed(2) }}
+            万元
+          </h4>
         </li>
       </ul>
     </div>
     <div class="tableBox">
-      <TableLayout :is-loading="loading" :data="list">
-        <el-table-column type="index" />
+      <TableLayout
+        :is-loading="loading"
+        :data="list"
+        @selection-change="handleSelectionChange"
+        row-key="id"
+      >
+        <el-table-column type="selection" width="55" />
+        <el-table-column label="序号" type="index" width="65" />
+        <el-table-column align="center" prop="invoiceNumber" label="发票号码" width="150" />
+        <el-table-column
+          align="center"
+          :show-overflow-tooltip="true"
+          label="项目名称及编号"
+          width="460"
+        >
+          <template #default="scope"> {{ scope.row.xmmc }}({{ scope.row.xmbh }}) </template>
+        </el-table-column>
+        <el-table-column align="center" prop="contractNumber" label="合同编号" width="180" />
         <el-table-column
           align="center"
           prop="invoiceDate"
           :formatter="dateFormatter2"
+          width="120"
           label="开票日期"
         />
         <el-table-column
@@ -105,37 +125,41 @@
           :show-overflow-tooltip="true"
           prop="name"
           label="合同名称"
+          width="350"
         />
         <el-table-column
           :show-overflow-tooltip="true"
           align="center"
           prop="xsry"
           label="销售经理"
+          width="120"
         />
         <el-table-column
           :show-overflow-tooltip="true"
           align="center"
           prop="zrbm"
           label="责任部门"
+          width="160"
         />
         <el-table-column
           :show-overflow-tooltip="true"
           align="center"
           prop="payCompany"
           label="付款单位"
+          width="220"
         />
         <el-table-column
           align="center"
           :show-overflow-tooltip="true"
           prop="invoiceAmount"
           label="开票金额(元)"
+          width="120"
         />
-        <el-table-column
-          align="center"
-          :show-overflow-tooltip="true"
-          prop="invoiceAmount"
-          label="未回款金额(元)"
-        />
+        <el-table-column align="center" :show-overflow-tooltip="true" label="未回款金额(元)">
+          <template #default="scope">
+            {{ scope.row.invoiceAmount - scope.row.returnAmount }}
+          </template>
+        </el-table-column>
         <el-table-column
           align="center"
           :show-overflow-tooltip="true"
@@ -176,6 +200,7 @@ import { DICT_TYPE, getIntDictOptions, getDictLabel } from '@/utils/dict'
 import { formatDate, dateFormatter2 } from '@/utils/formatTime'
 import TableLayout from '../../oaViews/layout/TableLayout.vue'
 import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
+import download from '@/utils/download'
 
 defineOptions({ name: 'CommonCost' })
 
@@ -202,18 +227,33 @@ const queryParams = reactive({
 })
 const infoList: any = ref([
   {
-    name: '已开票总金额(万元)',
+    name: '已开票总金额',
     num: 0
   },
   {
-    name: '已回款总金额(万元)',
+    name: '已回款总金额',
     num: 0
   },
   {
-    name: '未回款总金额(万元)',
+    name: '未回款总金额',
     num: 0
   }
 ])
+const idList = ref<string[]>([])
+const handleSelectionChange = (arrs) => {
+  idList.value = arrs.map((item) => item.id)
+}
+/** 列表导出 */
+const getExportContractInvoiceListExcel = async () => {
+  if (idList.value.length === 0) {
+    ElMessage.warning('请至少选择一条数据!')
+    return
+  }
+  const data = await kpglApi.exportContractInvoiceListExcel({
+    idList: idList.value
+  })
+  download.excel(data, '开票台账导出记录.xls')
+}
 const loading = ref(true) // 列表的加载中
 const total = ref(0) // 列表的总页数
 const list = ref([]) // 列表的数
@@ -251,7 +291,7 @@ const getStatics = async () => {
   const data = await kpglApi.getStatics(queryParams)
   infoList.value[0].num = data.ykp
   infoList.value[1].num = data.yhk
-  infoList.value[2].num = (data.ykp - data.yhk).toFixed(6)
+  infoList.value[2].num = data.ykp - data.yhk
 }
 const handleCurrentChange = (pageNo: number) => {
   queryParams.pageNo = pageNo

+ 0 - 11
client/src/views/OaSystem/financialManagement/ptbxPage/index.vue

@@ -47,17 +47,6 @@
           />
         </el-select>
       </div>
-      <div class="form">
-        <span class="formSpan">是否代办:</span>
-        <el-select v-model="queryParams.isAgent" placeholder="是否代办" clearable class="!w-240px">
-          <el-option
-            v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATE)"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </div>
       <div class="form">
         <span class="formSpan">报销总金额:</span>
         <el-input

+ 8 - 3
client/src/views/OaSystem/home/homeStaff.vue

@@ -46,9 +46,9 @@
       <div style="flex: 1">
         <!-- <BarList :list="barListData" unit="条" /> -->
         <!-- 首页显示周报 -->
-        <!-- <WeeklySummary/> -->
+        <WeeklySummary v-if="isWeeklySummary" />
         <!-- 首页显示日报 -->
-        <dailySummary />
+        <dailySummary v-else />
       </div>
     </div>
   </div>
@@ -61,7 +61,7 @@ import CardItemSeven3 from './components/CardItemSeven3.vue'
 import HandleEvents from './components/HandleEvents.vue'
 import ProjectTimeChart from './components/TimeChart.vue'
 // import BarList from './components/BarList.vue'
-// import WeeklySummary from './components/weekly/index.vue'
+import WeeklySummary from './components/weekly/index.vue'
 import dailySummary from './components/daily/index.vue'
 import PubsubService from '@/utils/PubsubService'
 // import BarList from './components/BarList.vue'
@@ -196,7 +196,12 @@ const panelList = reactive([
 ])
 const { wsCache } = useCache()
 const user = wsCache.get(CACHE_KEY.USER)
+const roles = wsCache.get(CACHE_KEY.USER).roles
 const userId = user.user.id // 当前登录的编号
+const isWeeklySummary = ref<boolean>(true)
+if (roles.indexOf('home_worker_diary') != -1) {
+  isWeeklySummary.value = false
+}
 //我的档案
 useQuery(
   ['fetch-staff-detail-left', userId],

+ 1 - 1
client/src/views/OaSystem/home/index.vue

@@ -41,7 +41,7 @@ const roles = userStore.getRoles
 if (roles) {
   if (roles.indexOf('test_leader') != -1 || roles.indexOf('test_dept_manager') != -1) {
     //板块领导||部门经理
-    currentIndex.value = '2'
+    currentIndex.value = '1'
   } else {
     //普通员工
     currentIndex.value = '2'

+ 5 - 3
client/src/views/OaSystem/marketCenter/contractSubOut/applyIndex.vue

@@ -196,6 +196,7 @@ const currentProcess = ref<{
   contractSubFlowStatus: number
   projectId?: string
   clientId?: string
+  supplierId?: string
 } | null>(null)
 const handleSelectionChange = (arrs) => {
   if (arrs.length === 0) return
@@ -206,7 +207,8 @@ const handleSelectionChange = (arrs) => {
     applyType: item.applyType,
     isSign: item.isSign,
     contractSubFlowStatus: item.contractSubFlowStatus,
-    projectId: item.projectId
+    projectId: item.projectId,
+    supplierId: item.supplierId
   }
 }
 const processSubmit = async (): Promise<void> => {
@@ -266,8 +268,8 @@ const useMoneySubmit = (): void => {
         url: urlApi,
         params: {
           projectId: currentProcess.value?.projectId,
-          supplierId: currentProcess.value?.clientId,
-          contractId: currentProcess.value?.contractId
+          contractId: currentProcess.value?.contractId,
+          supplierId: currentProcess.value?.supplierId
         }
       },
       '/business'

+ 0 - 5
client/src/views/OaSystem/mineCenter/components/rightBox.vue

@@ -72,11 +72,6 @@ const rightTabsList = ref<
     name: '我的档案',
     badgeHidden: true
   },
-  {
-    icon: 'wdxz',
-    name: '我的薪资',
-    badgeHidden: true
-  },
   {
     icon: 'clbx',
     name: '差旅报销',

+ 7 - 1
client/src/views/OaSystem/oaViews/layout/TableLayout.vue

@@ -5,10 +5,15 @@ interface tableProps {
   isLoading?: boolean
 }
 const props = defineProps<tableProps>()
+const emit = defineEmits<{
+  (e: 'selection-change', d: any): void
+}>()
 const { data, isLoading } = toRefs(props)
 const tableRef: any = ref(null)
 const tableHeight: any = ref(0)
-
+const selectionChangeHandle = (data) => {
+  emit('selection-change', data)
+}
 /** 初始化 */
 onMounted(() => {
   tableHeight.value = tableRef.value.clientHeight
@@ -29,6 +34,7 @@ onMounted(() => {
         height: '50px'
       }"
       header-cell-class-name="cus-tab-header"
+      @selection-change="selectionChangeHandle"
     >
       <slot></slot>
     </el-table>

+ 2 - 0
client/src/views/OaSystem/projectCenter/projectBook/common.ts

@@ -11,6 +11,7 @@ interface QueryParam {
   pageSize: number
   isSign: any
   xmzt: any
+  xmjlId: string
   hyId: any
 }
 export const useMixins = () => {
@@ -25,6 +26,7 @@ export const useMixins = () => {
     pageSize: 15,
     isSign: '',
     xmzt: '',
+    xmjlId: '',
     hyId: 0
   })
   const lxsjObj = ref()

+ 1 - 1
client/src/views/OaSystem/projectCenter/projectBook/projectBook.vue

@@ -11,7 +11,7 @@
       </div>
       <div class="form">
         <span class="formSpan">项目经理:</span>
-        <UserOrgTree v-model="queryParams['userId']" />
+        <UserOrgTree v-model="queryParams['xmjlId']" />
       </div>
       <div class="form">
         <span class="formSpan">责任部门:</span>

+ 14 - 3
client/src/views/OaSystem/projectCenter/projectDetail/components/xmcb/index.vue

@@ -39,7 +39,7 @@
             <p class="title">差旅费用(元)</p>
           </li>
           <li>
-            <p class="value">{{ projectCostCalculate['reimbursementCost'] }}</p>
+            <p class="value">{{ projectCostCalculate['paymentCost'] }}</p>
             <p class="title">普通报销(元)</p>
           </li>
           <li>
@@ -50,6 +50,10 @@
             <p class="value">{{ projectCostCalculate['outsourceCost'] }}</p>
             <p class="title">外包费用(元)</p>
           </li>
+          <li>
+            <p class="value">{{ projectCostCalculate['otherCost'] }}</p>
+            <p class="title">其他用款(元)</p>
+          </li>
         </ul>
       </div>
       <div class="tableBox tableLineBox">
@@ -82,7 +86,7 @@
           <el-table-column prop="paymentCost" label="用款成本(元)">
             <template #default="scope">
               <span class="btn_text" @click="clickHandler(0, scope.row['countDate'])">{{
-                scope.row['reimbursementCost']
+                scope.row['paymentCost']
               }}</span>
             </template>
           </el-table-column>
@@ -191,7 +195,8 @@ const projectCostCalculate = ref({
   subcontractCost: 0,
   outsourceCost: 0,
   laborCost: 0,
-  paymentCost: 0
+  paymentCost: 0,
+  otherCost: 0
 })
 const queryProjectCostByCalculate = async (): Promise<void> => {
   const urlApi = `/project-cost/calculate`
@@ -202,6 +207,12 @@ const queryProjectCostByCalculate = async (): Promise<void> => {
   }
   const result = await request.post({ url: urlApi, data: sendData }, '/business')
   projectCostCalculate.value = result
+  projectCostCalculate.value.otherCost =
+    result['cost'] -
+    result['travelCost'] -
+    result['paymentCost'] -
+    result['subcontractCost'] -
+    result['outsourceCost']
 }
 const projectCostList = ref<Array<any>>([])
 const queryProjectCostByPage = async (): Promise<void> => {

+ 1 - 6
client/src/views/OaSystem/projectCenter/projectDetail/components/xmcb/normalCost.vue

@@ -65,16 +65,11 @@
             width="120"
           />
           <el-table-column prop="totalAmount" label="报销总金额" width="120" />
-          <el-table-column label="是否代办" align="center" prop="isAgent">
-            <template #default="scope">
-              <dict-tag :type="DICT_TYPE.COMMON_STATE" :value="scope.row.isAgent" />
-            </template>
-          </el-table-column>
           <el-table-column prop="status" label="状态" align="center" width="120" />
           <el-table-column label="操作" fixed="right" align="center" width="120">
             <template #default="scope">
               <div class="operateBtn" @click="operateClick(scope.row)">
-                <span style="color: #2e77e6">查看流程</span>
+                <span style="color: #2e77e6; cursor: pointer">查看流程</span>
               </div>
             </template>
           </el-table-column>

+ 1 - 6
client/src/views/OaSystem/projectCenter/projectDetail/components/xmcb/travelCost.vue

@@ -66,16 +66,11 @@
               <span>{{ dateFormatter2(null, null, scope.row.endTime) }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="是否代办" align="center" prop="isAgent">
-            <template #default="scope">
-              <dict-tag :type="DICT_TYPE.COMMON_STATE" :value="scope.row.isAgent" />
-            </template>
-          </el-table-column>
           <el-table-column prop="status" label="状态" align="center" width="120" />
           <el-table-column label="操作" fixed="right" align="center" width="120">
             <template #default="scope">
               <div class="operateBtn" @click="operateClick(scope.row)">
-                <span style="color: #2e77e6">查看流程</span>
+                <span style="color: #2e77e6; cursor: pointer">查看流程</span>
               </div>
             </template>
           </el-table-column>

+ 1 - 1
client/src/views/OaSystem/projectCenter/projectDetail/components/xmcb/usemoneyCost.vue

@@ -77,7 +77,7 @@
           <el-table-column label="操作" fixed="right" align="center" width="120">
             <template #default="scope">
               <div class="operateBtn" @click="operateClick(scope.row)">
-                <span style="color: #2e77e6">查看流程</span>
+                <span style="color: #2e77e6; cursor: pointer">查看流程</span>
               </div>
             </template>
           </el-table-column>

+ 8 - 1
client/src/views/OaSystem/projectCenter/purchaseContract/deptContract.vue

@@ -146,7 +146,7 @@
           />
           <el-table-column prop="mainType" label="合同主类型" width="200">
             <template #default="scope">
-              {{ getDictLabel(DICT_TYPE.CONTRACT_MAIN_TYPE, scope.row.isSign) }}
+              {{ getDictLabel(DICT_TYPE.CONTRACT_MAIN_TYPE, scope.row.mainType) }}
             </template>
           </el-table-column>
           <el-table-column prop="amountStatus" label="合同状态" width="100">
@@ -278,6 +278,7 @@ const operateClick = (row: any) => {
 const tableData = ref<Array<any>>([])
 const total = ref<number>()
 const searchHandle: () => void = () => {
+  queryContractListCalc()
   queryContractListAjax()
 }
 const queryContractListAjax = async (): Promise<void> => {
@@ -285,6 +286,9 @@ const queryContractListAjax = async (): Promise<void> => {
   if (lxsjObj.value && lxsjObj.value.length > 0) {
     queryParams.contractOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
     queryParams.contractOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.contractOn = ''
+    queryParams.contractOff = ''
   }
   const sendData = {
     ...queryParams,
@@ -311,6 +315,9 @@ const queryContractListCalc = async (): Promise<void> => {
   if (lxsjObj.value && lxsjObj.value.length > 0) {
     queryParams.contractOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
     queryParams.contractOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.contractOn = ''
+    queryParams.contractOff = ''
   }
   const sendData = {
     ...queryParams,

+ 8 - 1
client/src/views/OaSystem/projectCenter/purchaseContract/myContract.vue

@@ -134,7 +134,7 @@
           />
           <el-table-column prop="mainType" label="合同主类型" width="200">
             <template #default="scope">
-              {{ getDictLabel(DICT_TYPE.CONTRACT_MAIN_TYPE, scope.row.isSign) }}
+              {{ getDictLabel(DICT_TYPE.CONTRACT_MAIN_TYPE, scope.row.mainType) }}
             </template>
           </el-table-column>
           <el-table-column prop="amountStatus" label="合同状态" width="100">
@@ -266,6 +266,7 @@ const operateClick = (row: any) => {
 const tableData = ref<Array<any>>([])
 const total = ref<number>()
 const searchHandle: () => void = () => {
+  queryContractListCalc()
   queryContractListAjax()
 }
 const queryContractListAjax = async (): Promise<void> => {
@@ -273,6 +274,9 @@ const queryContractListAjax = async (): Promise<void> => {
   if (lxsjObj.value && lxsjObj.value.length > 0) {
     queryParams.contractOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
     queryParams.contractOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.contractOn = ''
+    queryParams.contractOff = ''
   }
   const sendData = {
     ...queryParams,
@@ -299,6 +303,9 @@ const queryContractListCalc = async (): Promise<void> => {
   if (lxsjObj.value && lxsjObj.value.length > 0) {
     queryParams.contractOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
     queryParams.contractOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.contractOn = ''
+    queryParams.contractOff = ''
   }
   const sendData = {
     ...queryParams,

+ 8 - 1
client/src/views/OaSystem/projectCenter/purchaseContract/purchaseContract.vue

@@ -127,7 +127,7 @@
           />
           <el-table-column prop="mainType" label="合同主类型" width="200">
             <template #default="scope">
-              {{ getDictLabel(DICT_TYPE.CONTRACT_MAIN_TYPE, scope.row.isSign) }}
+              {{ getDictLabel(DICT_TYPE.CONTRACT_MAIN_TYPE, scope.row.mainType) }}
             </template>
           </el-table-column>
           <el-table-column prop="amountStatus" label="合同状态" width="100">
@@ -253,6 +253,7 @@ const operateClick = (row: any) => {
 const tableData = ref<Array<any>>([])
 const total = ref<number>()
 const searchHandle: () => void = () => {
+  queryContractListCalc()
   queryContractListAjax()
 }
 const queryContractListAjax = async (): Promise<void> => {
@@ -260,6 +261,9 @@ const queryContractListAjax = async (): Promise<void> => {
   if (lxsjObj.value && lxsjObj.value.length > 0) {
     queryParams.contractOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
     queryParams.contractOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.contractOn = ''
+    queryParams.contractOff = ''
   }
   const sendData = {
     ...queryParams,
@@ -286,6 +290,9 @@ const queryContractListCalc = async (): Promise<void> => {
   if (lxsjObj.value && lxsjObj.value.length > 0) {
     queryParams.contractOn = moment(lxsjObj.value[0]).format('YYYY-MM-DD')
     queryParams.contractOff = moment(lxsjObj.value[1]).format('YYYY-MM-DD')
+  } else {
+    queryParams.contractOn = ''
+    queryParams.contractOff = ''
   }
   const sendData = {
     ...queryParams,