Selaa lähdekoodia

页面数据展示

yuanmingze 5 kuukautta sitten
vanhempi
commit
585e386eaf
1 muutettua tiedostoa jossa 85 lisäystä ja 23 poistoa
  1. 85 23
      src/views/serviceManagement/servicesToBeReviewed/index.vue

+ 85 - 23
src/views/serviceManagement/servicesToBeReviewed/index.vue

@@ -4,12 +4,12 @@
       <el-form :model="searchFrom" label-width="140px">
         <el-row>
           <el-col :span="6">
-            <el-form-item label="服务包年度">
-              <el-date-picker clearable class="w100" v-model="searchFrom.year" type="year" placeholder="请选择服务包年度" format="yyyy" value-format="yyyy"> </el-date-picker>
+            <el-form-item label="执行包年度">
+              <el-date-picker clearable class="w100" v-model="searchFrom.year" type="year" placeholder="请选择执行包年度" format="yyyy" value-format="yyyy"> </el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="服务包季度">
+            <el-form-item label="执行包季度">
               <el-select v-model="searchFrom.quarter" placeholder="请选择服务季度" class="w100" clearable>
                 <el-option label="第一季度" :value="1"></el-option>
                 <el-option label="第二季度" :value="2"></el-option>
@@ -34,15 +34,15 @@
         </el-row>
         <el-row>
           <el-col :span="6">
-            <el-form-item label="服务供商">
-              <el-select v-model="searchFrom.vendorId" placeholder="请选择服务供商" class="w100" clearable filterable>
+            <el-form-item label="服务供商">
+              <el-select v-model="searchFrom.vendorId" placeholder="请选择服务供商" class="w100" clearable filterable>
                 <el-option v-for="item in deptListArr" :key="item.entId" :label="item.name" :value="item.entId" />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="业务员姓名">
-              <el-select v-model="searchFrom.salesId" placeholder="请选择业务员姓名" class="w100" clearable filterable>
+            <el-form-item label="推广员姓名">
+              <el-select v-model="searchFrom.salesId" placeholder="请选择推广员姓名" class="w100" clearable filterable>
                 <el-option v-for="item in userListArr" :key="item.userId" :label="item.realName" :value="item.userId" />
               </el-select>
             </el-form-item>
@@ -64,7 +64,7 @@
         </el-row>
         <el-row>
           <el-col :span="6">
-            <el-form-item label="服务包所属省份">
+            <el-form-item label="执行包所属省份">
               <el-select v-model="searchFrom.provAbbr" placeholder="请选择省份" class="w100" clearable>
                 <el-option v-for="province in abbreviationsProvincesList" :key="province" :label="province" :value="province" />
               </el-select>
@@ -79,19 +79,35 @@
         </el-row>
       </el-form>
     </div>
-    <vxe-table border allAlign="center" show-overflow highlight-hover-row height="1000" :loading="tableLoading" :data="tableData" :scroll-y="{ enabled: false }">
+    <vxe-table
+      border
+      allAlign="center"
+      show-overflow
+      highlight-hover-row
+      height="800"
+      empty-text="暂无匹配数据"
+      :loading="tableLoading"
+      :data="tableData"
+      :scroll-y="{ enabled: false }"
+      :header-cell-style="{ 'text-align': 'center' }"
+      :cell-style="{ 'text-align': 'center' }"
+    >
       <vxe-table-column type="seq" title="序号" width="100"></vxe-table-column>
       <vxe-table-column field="taskNumber" title="服务编号"></vxe-table-column>
+      <vxe-table-column field="cycle" title="执行包周期"> </vxe-table-column>
       <vxe-table-column field="pkgName" title="执行包名称"></vxe-table-column>
       <vxe-table-column field="taskTypeName" title="服务类型" width="200"></vxe-table-column>
       <vxe-table-column field="taskScore" title="服务分值" width="100"></vxe-table-column>
       <vxe-table-column field="salesName" title="推广员姓名" width="150"></vxe-table-column>
       <vxe-table-column field="createTime" title="服务提交时间"></vxe-table-column>
-      <vxe-table-column field="taskStatusName" title="审核状态" width="100"></vxe-table-column>
+      <vxe-table-column field="taskStatusName" title="服务当前状态" width="100"></vxe-table-column>
       <vxe-table-column field="entName" title="服务提供商"></vxe-table-column>
-      <vxe-table-column field="skuName" title="服务产品"></vxe-table-column>
-      <vxe-table-column field="mahName" title="所属生产企业"></vxe-table-column>
-      <vxe-table-column field="provAbbr" title="所属省份"></vxe-table-column>
+      <vxe-table-column field="mahName" title="产品所属生产企业"></vxe-table-column>
+      <vxe-table-column field="skuName" title="关联产品名称"></vxe-table-column>
+      <vxe-table-column field="provAbbr" title="执行包所属省份" width="130"></vxe-table-column>
+      <vxe-table-column title="操作">
+        <div>操作</div>
+      </vxe-table-column>
     </vxe-table>
     <vxe-pager
       :current-page.sync="page.currentPage"
@@ -110,6 +126,8 @@ import { getTaskV2PageApi, getTaskTypeAvailApi, getDeptv2Avail, getDrug2Avail, g
 import { tableOptin } from './index.js';
 import { getDictType } from '@/api/common';
 import abbreviationsProvinces from '@/const/abbreviationsProvinces.js';
+import dayjs from 'dayjs';
+import { mapGetters } from 'vuex';
 
 export default {
   data() {
@@ -126,6 +144,7 @@ export default {
       currDrugList: [],
       drugDisabled: true,
       abbreviationsProvincesList: abbreviationsProvinces,
+      nodeId: '',
       searchFrom: {
         year: '',
         taskTypeId: '',
@@ -135,7 +154,8 @@ export default {
         mahName: '',
         vendorId: '',
         salesId: '',
-        skuId: ''
+        skuId: '',
+        taskStatus: 3
       },
       page: {
         pageSizes: [10, 50, 100, 300, 500],
@@ -145,10 +165,54 @@ export default {
       }
     };
   },
-  async created() {
-    await this.getDict();
+  computed: {
+    ...mapGetters(['userInfo'])
+  },
+  created() {
+    this.getDict();
+  },
+  mounted() {
+    const roles = this.userInfo.roles;
+
+    let nodeId = '';
+    switch (roles) {
+      // 43	地市管理员
+      case roles.includes(43):
+        nodeId = 1;
+        break;
+      // 4	区域管理员
+      case roles.includes(4):
+        nodeId = 2;
+        break;
+      // 42	市场管理员
+      case roles.includes(42):
+        nodeId = 3;
+        break;
+      // 40	商务管理员
+      case roles.includes(40):
+        nodeId = 3;
+        break;
+      // 39	事业部总经理
+      case roles.includes(39):
+        nodeId = 5;
+        break;
+      // 41	事业部分管领导
+      case roles.includes(41):
+        nodeId = 9;
+        break;
+      default:
+        nodeId = 1;
+    }
+
+    if (roles.includes()) console.log('roles', roles);
+
+    const currentYear = dayjs().format('YYYY');
+    this.searchFrom.year = currentYear;
+    this.nodeId = nodeId;
+    this.searchFrom.nodeId = nodeId;
     this.getList();
   },
+
   methods: {
     getDict() {
       getDictType({ type: 'task_status' }).then((res) => {
@@ -178,11 +242,6 @@ export default {
           current: this.page.currentPage,
           size: this.page.pageSize
         },
-        {
-          nodeId: 1,
-          year: 2024,
-          quarter: 4
-        },
         this.searchFrom
       );
       const res = await getTaskV2PageApi(obj);
@@ -194,6 +253,7 @@ export default {
           const currB = this.taskStatusArr.find((itn) => itn.value === item.taskStatus);
           item.taskTypeName = currA?.name ?? '';
           item.taskStatusName = currB?.label ?? '';
+          item.cycle = item.pkgStartTime + '~' + item.pkgEndTime;
         });
         this.page.total = res.data.data.total;
       }
@@ -205,7 +265,7 @@ export default {
     },
     clearSearch() {
       this.searchFrom = {
-        year: '',
+        year: '2025',
         taskTypeId: '',
         quarter: '',
         createTime: '',
@@ -213,8 +273,10 @@ export default {
         mahName: '',
         vendorId: '',
         salesId: '',
-        skuId: ''
+        skuId: '',
+        taskStatus: 3
       };
+      this.searchFrom.nodeId = this.nodeId;
     },
     pageChange(obj) {
       console.log('obj', obj);