Bläddra i källkod

feat: 修复协议归档问题

zhangyuhan 3 månader sedan
förälder
incheckning
5544e6b05a

+ 12 - 8
src/views/create-order/components/order-detail-submodule/ContractInfo.vue

@@ -90,7 +90,7 @@
         :contractFeedbackInfo="contractFeedbackInfo"
       ></EditContractInfo>
     </Dialog>
-    <newDetailModel :orderDetail="orderDetail?.orderData" ref="detailModelContract"></newDetailModel>
+    <new-d-model :data="orderDetail"  ref="detailModelContract" @refresh="doRefresh"></new-d-model>
   </div>
 </template>
 
@@ -99,19 +99,18 @@ import InfoCard from '../../ui/InfoCard.vue';
 import { signUnitOptions } from '@/views/create-order/data/index.js'
 import EditContractInfo from './EditContractInfo.vue';
 import Dialog from '@/components/Dialog.vue';
-import newDetailModel from '../newDetailModel.vue';
 import { sortOrderInfo } from '@/views/create-order/components/schema-form/resort/'
 import { dateFormatter } from '@/assets/js/date'
 import { calcShowOnlineContractForm } from "@/views/create-order/hooks/utils"
 import { ajaxEditOrderContract } from '@/api/modules/'
+import NewDModel from "@/views/order/components/new-detailModel.vue";
 export default {
   name: 'ContractInfo',
   components: {
+    NewDModel,
     InfoCard,
-    newDetailModel,
     EditContractInfo,
     Dialog,
-    
   },
   props: {
     orderDetail: {
@@ -134,23 +133,28 @@ export default {
     },
     isUpEntRed() {
       return this.orderDetail?.redPunchData?.isUpEnt || false;
+    },
+    contractRes () {
+      return this.orderDetail?.contractRes || {}
     }
   },
   data() {
     return {
       editContractArchiveDialogVisible: false,
       protocolArchivingDialogVisible: false,
-      contractRes: this.orderDetail?.contractRes || {},
       contractFeedbackInfo: {},
       showContract: false,
     }
   },
   mounted() {
     this.contractFeedbackInfo = sortOrderInfo(this.orderDetail)
-    const res = this.getOnlineContractFormShow(this.contractFeedbackInfo.pageFormValue, this.contractFeedbackInfo.productArr) 
+    const res = this.getOnlineContractFormShow(this.contractFeedbackInfo.pageFormValue, this.contractFeedbackInfo.productArr)
     this.showContract = res || false
   },
   methods: {
+    doRefresh (type = '') {
+      this.$emit('refresh', type)
+    },
     // 是否显示电子协议订单
     getOnlineContractFormShow(pageForm, pList) {
       return calcShowOnlineContractForm(pageForm, pList)
@@ -210,7 +214,7 @@ export default {
       }
     },
     // 设置红冲标识显示字段
-    setRedPunchDisplay(product) { 
+    setRedPunchDisplay(product) {
       const { isUpCommission, isUpEnt, isUpCash } = this.orderDetail?.redPunchData || {};
       const RETURN_BOOL = {
         '合同金额': isUpCash,
@@ -288,7 +292,7 @@ export default {
         }
       }
     }
-    
+
   }
 .column-cell {
   color: $color_main;

+ 8 - 4
src/views/order/components/new-detailModel.vue

@@ -85,11 +85,11 @@
                       :overTime="0"></date-sigle>
         </FormItem>
         <FormItem required label="归档份数">
-          <Input v-model.number="contract.contract_archive_num" type="tel" maxlength="4" @on-keyup="payHandler"
+          <Input v-model.number="contract.contract_archive_num" type="tel" maxlength="4" @on-keyup="payHandler" @on-blur="formatPnum"
                  placeholder="请输入归档份数"></Input>
         </FormItem>
         <FormItem  required label="归档协议">
-          <b-upload ref="uploadRef2" @fileData="contractFile" :placeholdered="'请上传归档协议'"
+          <b-upload ref="uploadRef2" @fileData="contractFile" @onRemove="contractFile('')" :placeholdered="'请上传归档协议'"
                     :accepted="'.doc,.pdf,.docx,.rar,.zip,.jpg,.png,.jpeg'"
                     :formated="['doc', 'pdf', 'docx', 'rar', 'zip', 'jpg', 'png', 'jpeg']" :multipled="false"></b-upload>
         </FormItem>
@@ -470,7 +470,11 @@ export default {
         this.contract.contract_archive_time = val
       },
       payHandler() {
-        this.contract.contract_archive_num = Number(String(this.contract.contract_archive_num).replace(/[^\d]+/g, ''))
+        const pNum = Number(String(this.contract.contract_archive_num).replace(/[^\d]+/g, ''))
+        this.contract.contract_archive_num = pNum
+      },
+      formatPnum () {
+        this.contract.contract_archive_num = Math.max(1, Math.min(this.contract.contract_archive_num, 100))
       },
       startDate(val) {
         this.returned.returnTime = val
@@ -890,7 +894,7 @@ export default {
         ],
         contract: {
           contractFileUrl: '',
-          contract_archive_num: '',
+          contract_archive_num: 1,
           contract_archive_time: ''
         },
         funds: {