瀏覽代碼

知会流程完成

yuanmingze 2 月之前
父節點
當前提交
cbe4870537

+ 9 - 2
src/api/distributeVoucher.js

@@ -39,9 +39,9 @@ export function redemptionNoticeConfirmApi(data) {
   });
 }
 
-export function redemptionPkgListApi() {
+export function redemptionPkgListApi(step) {
   return request({
-    url: `/admin/wmscorepackage/redemption/pkg/list`,
+    url: `/admin/wmscorepackage/redemption/pkg/${step}/list`,
     method: 'get'
   });
 }
@@ -53,3 +53,10 @@ export function redemptionoticeCheckApi(data) {
     data
   });
 }
+
+export function redemptionPkgAllListApi() {
+  return request({
+    url: `/admin/wmscorepackage/redemption/pkg/list`,
+    method: 'get'
+  });
+}

+ 19 - 4
src/const/crud/distributeVoucher.js

@@ -14,12 +14,12 @@ export const tableOption = {
   column: [
     {
       type: 'input',
-      label: '积分包名称',
+      label: '执行包名称',
       prop: 'packageName'
     },
     {
       type: 'input',
-      label: '积分包Id',
+      label: '执行包ID',
       prop: 'packageId'
     },
     {
@@ -97,7 +97,7 @@ export const tableOption = {
       type: 'input',
       label: '服务商是否接受',
       prop: 'accept',
-      formatter: function(row) {
+      formatter: function (row) {
         if (row.accept === null) return '';
         return row.accept ? '接受' : '不接受';
       }
@@ -106,11 +106,26 @@ export const tableOption = {
       type: 'input',
       label: '审核结果',
       prop: 'checkResult',
-      formatter: function(row) {
+      formatter: function (row) {
         if (row.checkResult === null) return '';
         return row.checkResult ? '审核通过' : '审核不通过';
       }
     },
+    {
+      type: 'input',
+      label: '所属生产企业',
+      prop: 'mahName'
+    },
+    {
+      type: 'input',
+      label: '产品名称',
+      prop: 'skuName'
+    },
+    {
+      type: 'input',
+      label: '省份',
+      prop: 'provAbbr'
+    },
     {
       type: 'input',
       label: '创建时间',

+ 100 - 4
src/views/paymentVoucherNotification/distributeVoucher/components/createDialig.vue

@@ -1,12 +1,20 @@
 <template>
   <el-dialog :title="title" :visible.sync="dialogVisible" width="80%" :close-on-click-modal="false" center @close="close">
     <div>
+      <div class="step">
+        <div class="title">知会阶段:</div>
+        <div class="step-content">
+          <div class="step-content-item" :class="{ active: setp == 1 }" @click="changStep(1)">一阶段</div>
+          <div class="step-content-item" :class="{ active: setp == 2 }" @click="changStep(2)">二阶段</div>
+          <div class="step-content-item" :class="{ active: setp == 3 }" @click="changStep(3)">三阶段</div>
+        </div>
+      </div>
       <div class="form">
         <el-form :model="form" :rules="rules" ref="ruleFormRef" label-width="120px" :disabled="formDisabled">
           <el-row :gutter="20">
             <el-col :span="12">
               <el-form-item label="执行包信息" prop="packageId">
-                <el-select class="w100" v-model="form.packageId" placeholder="请选择执行包信息" @change="pkgChange">
+                <el-select filterable class="w100" v-model="form.packageId" placeholder="请选择执行包信息" @change="pkgChange">
                   <el-option v-for="item in redemptionPkgList" :label="item.scorePackageName" :value="item.id" :key="item.id" />
                 </el-select>
               </el-form-item>
@@ -23,6 +31,18 @@
                 <el-input v-model="form.pkgScore" disabled />
               </el-form-item>
             </el-col>
+            <el-col :span="12">
+              <el-form-item label="审核通过积分值" prop="passedByNode6ScoreSum">
+                <el-input v-model="form.passedByNode6ScoreSum" disabled />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row :gutter="20">
+            <el-col :span="12" v-if="setp !== 1">
+              <el-form-item label="监督扣减分值" prop="supervisionDeductScore">
+                <el-input v-model="form.supervisionDeductScore" disabled />
+              </el-form-item>
+            </el-col>
             <el-col :span="12">
               <el-form-item label="可兑付分值" prop="availRdpScore">
                 <div class="percent-number">
@@ -159,6 +179,7 @@ import {
 } from '@/api/distributeVoucher.js';
 import { mapGetters } from 'vuex';
 import Table1 from './table/table1.vue';
+
 export default {
   components: { Table1 },
   data() {
@@ -167,12 +188,15 @@ export default {
       type: '',
       currentRow: {},
       title: '新增',
+      setp: 1,
       formDisabled: false,
       redemptionPkgList: [],
       form: {
         packageId: '',
         pkgName: '',
         pkgScore: '',
+        passedByNode6ScoreSum: '',
+        availRdpScore: '',
         totalAmount: '',
         currentRedemptionScore: '',
         currentRedemptionRate: ''
@@ -204,6 +228,10 @@ export default {
     this.getRedemptionPkgListApi();
   },
   methods: {
+    changStep(step) {
+      this.setp = step;
+      this.getRedemptionPkgListApi();
+    },
     totalPercentageChange(nums) {
       this.totalPercentageNums = nums;
       if (this.form.currentRedemptionScore) {
@@ -212,7 +240,7 @@ export default {
       }
     },
     async getRedemptionPkgListApi() {
-      const res = await redemptionPkgListApi();
+      const res = await redemptionPkgListApi(this.setp);
       this.redemptionPkgList = res.data.data;
     },
     show(type) {
@@ -228,9 +256,22 @@ export default {
       if (type == 3 && row.noticeState != 'CONFIRM') {
         this.redemptionNoticeRead(row.noticeId);
       }
+      let arr = [
+        {
+          id: row.packageId,
+          scorePackageName: row.packageName
+        }
+      ];
+      this.redemptionPkgList = arr;
+      this.form.packageId = row.packageId;
       this.formDisabled = true;
       this.form.pkgName = row.packageName;
       this.form.pkgScore = row.packageScore;
+      this.setp = row.step;
+      this.form.availRdpScore = row.availRdpScore;
+
+      this.form.supervisionDeductScore = row.supervisionDeductScore;
+      this.form.passedByNode6ScoreSum = row.passedByNode6ScoreSum;
       this.form.currentRedemptionScore = row.currentRedemptionScore;
       this.form.currentRedemptionRate = row.currentRedemptionRate;
 
@@ -241,11 +282,23 @@ export default {
     },
     review(row, type) {
       console.log('row', row);
+      let arr = [
+        {
+          id: row.packageId,
+          scorePackageName: row.packageName
+        }
+      ];
+      this.redemptionPkgList = arr;
 
       this.type = type;
       this.title = '审核';
+      this.form.supervisionDeductScore = row.supervisionDeductScore;
       this.currentRow = row;
       this.formDisabled = true;
+      this.setp = row.step;
+      this.form.packageId = row.packageId;
+      this.form.availRdpScore = row.availRdpScore;
+      this.form.passedByNode6ScoreSum = row.passedByNode6ScoreSum;
       this.form.pkgName = row.packageName;
       this.form.pkgScore = row.packageScore;
       this.form.currentRedemptionScore = row.currentRedemptionScore;
@@ -265,7 +318,16 @@ export default {
         this.detailInfo = res.data.data;
         this.form.pkgName = res.data.data.pkgName;
         this.form.pkgScore = res.data.data.pkgScore;
-        this.form.availRdpScore = res.data.data.availRdpScore > 0 ? res.data.data.availRdpScore : 0;
+        this.form.passedByNode6ScoreSum = res.data.data.passedByNode6ScoreSum;
+        this.form.supervisionDeductScore = res.data.data.supervisionDeductScore;
+        if (this.setp === 1) {
+          this.form.availRdpScore = res.data.data.availRdpScore > 0 ? res.data.data.availRdpScore : 0;
+        } else if (this.setp === 2) {
+          this.form.availRdpScore = res.data.data.step2AvailRdpScore > 0 ? res.data.data.step2AvailRdpScore : 0;
+        } else {
+          this.form.availRdpScore = res.data.data.step3AvailRdpScore > 0 ? res.data.data.step3AvailRdpScore : 0;
+        }
+
         this.$refs.table1.initInfo(this.detailInfo);
       }
     },
@@ -273,10 +335,13 @@ export default {
       const items = this.$refs.table1.returnInfo();
       const obj = {
         packageId: this.detailInfo.id,
-        step: this.detailInfo.nextStep,
+        step: this.setp,
         fromEntId: this.detailInfo.fromEntId,
         toEntId: this.detailInfo.toEntId,
         items: items,
+        passedByNode6ScoreSum: this.form.passedByNode6ScoreSum,
+        supervisionDeductScore: this.form.supervisionDeductScore,
+        availRdpScore: this.form.availRdpScore,
         currentRedemptionScore: this.form.currentRedemptionScore,
         currentRedemptionRate: this.form.currentRedemptionRate,
         totalAmount: this.form.totalAmount,
@@ -378,6 +443,37 @@ export default {
   width: 100%;
 }
 
+.step {
+  display: flex;
+  align-items: center;
+  margin-bottom: 15px;
+  padding-left: 35px;
+
+  .title {
+    font-size: 16px;
+    font-weight: bold;
+    color: #333;
+    line-height: 18px;
+    margin-right: 5px;
+  }
+  .step-content {
+    display: flex;
+
+    .step-content-item {
+      margin-right: 10px;
+      padding: 5px;
+      line-height: 18px;
+      border: 1px solid #dcdfe6;
+      cursor: pointer;
+
+      &.active {
+        background: #6eb657;
+        color: #fff;
+      }
+    }
+  }
+}
+
 .percent-number {
   display: flex;
   align-items: center;

+ 6 - 20
src/views/paymentVoucherNotification/distributeVoucher/index.vue

@@ -1,6 +1,6 @@
 <template>
   <basic-container>
-    <div class="search-content" v-show="false">
+    <div class="search-content">
       <el-form :model="searchFrom" label-width="140px">
         <el-row>
           <el-col :span="6">
@@ -10,7 +10,7 @@
           </el-col>
           <el-col :span="6">
             <el-form-item label="执行包季度">
-              <el-select v-model="searchFrom.quarter" placeholder="请选择服务季度" class="w100" clearable>
+              <el-select v-model="searchFrom.quarter" placeholder="请选择服务季度" class="w100" clearable :disabled="!searchFrom.year">
                 <el-option :label="item.label" :value="item.value" v-for="item in quarterList" :key="item.value"></el-option>
               </el-select>
             </el-form-item>
@@ -64,7 +64,7 @@
           <el-col :span="6">
             <el-form-item label="上游服务包名称">
               <el-select v-model="searchFrom.pkgIds" placeholder="请选择上游服务包名称" class="w100" clearable filterable>
-                <el-option v-for="(item, index) in relPkgNameArr" :key="index" :label="item.label" :value="item.value" />
+                <el-option v-for="(item, index) in relPkgNameArr" :key="index" :label="item.scorePackageName" :value="item.id" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -108,7 +108,7 @@ import { getDrug2Avail, getPkgV2Api } from '@/api/serviceManagement/servicesToBe
 import { getDictType } from '@/api/common';
 import dayjs from 'dayjs';
 import createDialig from './components/createDialig.vue';
-import { redemptionNoticePageApi, redemptionNoticeReadApi } from '@/api/distributeVoucher.js';
+import { redemptionNoticePageApi, redemptionNoticeReadApi, redemptionPkgAllListApi } from '@/api/distributeVoucher.js';
 import { tableOption } from '@/const/crud/distributeVoucher.js';
 import { mapGetters } from 'vuex';
 import abbreviationsProvinces from '@/const/abbreviationsProvinces.js';
@@ -139,10 +139,6 @@ export default {
       statusList: [
         { key: '审核通过', value: 'PASSED' },
         { key: '审核拒绝', value: 'REJECTED' },
-        { key: '待市场组审批', value: 'INIT' },
-        { key: '待商务组审批', value: 'CKT1' },
-        { key: '待事业部分管销售领导审批', value: 'CKT2' },
-        { key: '待事业部总经理审批', value: 'CKT3' },
         { key: '待分管领导审批', value: 'CKT4' }
       ],
       mahNameArr: [],
@@ -188,18 +184,8 @@ export default {
       getDrug2Avail().then((res) => {
         this.drugListArr = res.data.data;
       });
-      getPkgV2Api().then((res) => {
-        let arr = [];
-        let data = res.data.data;
-        for (let key in data) {
-          let obj = {
-            label: key,
-            value: data[key]
-          };
-          arr.push(obj);
-        }
-
-        this.relPkgNameArr = arr;
+      redemptionPkgAllListApi().then((res) => {
+        this.relPkgNameArr = res.data.data;
       });
     },
     mahNameChange(e) {