浏览代码

fix:预算函校验规则

snow 1 年之前
父节点
当前提交
1ad17962cc

+ 10 - 3
src/components/manage/src/letter/_template.js

@@ -119,6 +119,16 @@ const mapFields = {
     mapFields.nonTaxQuotes,
     mapFields.taxIncludedQuote
   ]
+
+  export const numberFields = [
+    mapFields.price,
+  ]
+
+  export const intergeFields = [
+    mapFields.threeLevelClassification,
+    mapFields.num,
+    mapFields.taxRate,
+  ]
   
   export const requsetFields = [
     mapFields.name,
@@ -127,9 +137,6 @@ const mapFields = {
     mapFields.unit,
     mapFields.num,
     mapFields.taxRate,
-    // mapFields.tax,
-    // mapFields.nonTaxQuotes,
-    // mapFields.taxIncludedQuote
   ]
   
 

+ 20 - 2
src/components/manage/src/letter/xlsxUploadModal.vue

@@ -69,11 +69,12 @@
 <script>
 import companyHelper from '@/mixins/companyHelper'
 import { utils, writeFile } from "xlsx"
-import { template } from "./_template"
+import { template, intergeFields } from "./_template"
 import { mapTitle } from './_columns'
 
 import {
   columns,
+  numberFields,
   getColumn,
   requsetFields,
   requiredFields,
@@ -117,6 +118,12 @@ export default {
       this.file_url = ""
       this.innerVisible = false
     },
+    isNumberValid(input) {
+    // 正则表达式模式
+     var pattern = /^\d+(\.\d+)?$/;
+      // 使用正则表达式进行匹配
+     return pattern.test(input);
+    },
     downloadTemplate(){
       const workBook = utils.book_new()
       const workSheet = utils.json_to_sheet(template)
@@ -190,7 +197,18 @@ export default {
         const properties = Object.keys(tableItem)
         for (const property of properties) {
           if(requiredFields.includes(property) && !this.isValueNotNull(tableItem[property])){
-            this.$message.warning(`第 ${line} 行 ${getColumn(property).label} 不能为空`)
+            this.$message.warning(`第 ${line} 行 : ${getColumn(property).label} 不能为空`)
+            return false
+          }
+
+          if(numberFields.includes(property) && !this.isNumberValid(tableItem[property])){
+            this.$message.warning(`第 ${line} 行 : ${getColumn(property).label} 必须为正数`)
+            return false
+          }
+
+          console.log(tableItem[property])
+          if(intergeFields.includes(property) && this.isNumberValid(tableItem[property]) && String(tableItem[property]).includes(".")){
+            this.$message.warning(`第 ${line} 行 : ${getColumn(property).label} 必须为正整数`)
             return false
           }
         }

+ 1 - 1
src/components/search/src/activity-type.vue

@@ -38,8 +38,8 @@ export default {
         },
         set(newVal){
           const current = this.list.find(({id}) => id === newVal)
-          this.$emit('change', current)
           this.$emit('update:value', newVal)
+          this.$emit('change', current)
         }
     }
   },

+ 1 - 1
src/components/search/src/addr.vue

@@ -38,8 +38,8 @@ export default {
         },
         set(newVal){
           const current = this.list.find(({id}) => id === newVal)
-          this.$emit('change', current)
           this.$emit('update:value', newVal)
+          this.$emit('change', current)
         }
     }
   },

+ 1 - 1
src/components/search/src/category.vue

@@ -38,8 +38,8 @@ export default {
         },
         set(newVal){
           const current = this.list.find(({id}) => id === newVal)
-          this.$emit('change', current)
           this.$emit('update:value', newVal)
+          this.$emit('change', current)
         }
     }
   },

+ 1 - 1
src/components/search/src/customer.vue

@@ -33,8 +33,8 @@ export default {
         },
         set(newVal){
           const current = this.list.find(({id}) => id === newVal)
-          this.$emit('change', current)
           this.$emit('update:value', newVal)
+          this.$emit('change', current)
         }
     }
   },

+ 1 - 1
src/components/search/src/people-number.vue

@@ -38,8 +38,8 @@ export default {
         },
         set(newVal){
           const current = this.list.find(({id}) => id === newVal)
-          this.$emit('change', current)
           this.$emit('update:value', newVal)
+          this.$emit('change', current)
         }
     }
   },

+ 1 - 1
src/components/search/src/store.vue

@@ -37,8 +37,8 @@ export default {
       },
       set(newVal){
         const current = this.list.find(({id}) => id === newVal)
-        this.$emit('change', current)
         this.$emit('update:value', newVal)
+        this.$emit('change', current)
       }
     }
   },

+ 1 - 1
src/components/search/src/title.vue

@@ -38,8 +38,8 @@ export default {
         },
         set(newVal){
           const current = this.list.find(({id}) => id === newVal)
-          this.$emit('change', current)
           this.$emit('update:value', newVal)
+          this.$emit('change', current)
         }
     }
   },

+ 6 - 3
src/views/customerService/demandOrder/detail.vue

@@ -18,21 +18,24 @@
            </el-collapse-item> 
             <el-collapse-item title="待客户上传确认凭证" name="4" v-if="Number(sitem.status) === 4">
               <credentials-node @confirm="handleCustomerConfirm($event)" />
-            </el-collapse-item>
+          </el-collapse-item>
            <el-collapse-item title="待平台审核执行凭证" name="5" v-if="Number(sitem.status) === 5">
              <wait-execute-certificate :sitem="sitem" @refresh="initData" />
            </el-collapse-item>
+           
            <el-collapse-item title="待供应商确认已执行" name="6" v-if="Number(sitem.status) === 6">
              <wait-supplier-confirm :sitem="sitem" @refresh="initData"  />
            </el-collapse-item> 
+           
            <el-collapse-item title="待客户确认已执行" name="7" v-if="Number(sitem.status) === 7">
              <wait-customer-confirm :sitem="sitem" @refresh="initData" />
-           </el-collapse-item> 
+           </el-collapse-item>
+
            <el-collapse-item title="待供应商上传结算函" name="8" v-if="Number(sitem.status) === 9">
              <letter type="settlement" :requsetMethod="handleUploadLetter" :isFile="true" />
            </el-collapse-item>
 
-          <el-collapse-item title="结算函" name="8" v-if="Number(sitem.status) > 9">
+          <el-collapse-item title="结算函" name="8" v-if="Number(sitem.status) > 9 && Number(sitem.status) !== 11">
              <letter :id="sitem.id" type="settlement" status="4" :requsetMethod="handleUploadLetter" :isFile="true" :readonly="true" />
            </el-collapse-item> 
 

+ 12 - 12
src/views/customerService/demandOrder/index.vue

@@ -38,7 +38,7 @@
               </el-col>
 
               <el-col :span="4">
-                <search-people-number style="width:100%" size="mini" :value.sync="parmValue.activityPerson" placeholder="活动人数"  @change="
+                <search-people-number style="width:100%" size="mini" :value.sync="parmValue.participant" placeholder="活动人数"  @change="
                   pageInfo.curr = 1;
                   parmValue.page = 1;
                   searchList();
@@ -46,7 +46,7 @@
               </el-col>
 
               <el-col :span="4" style="margin-left:10px">
-                <search-customer style="width:100%" size="mini" placeholder="需求公司" :value.sync="parmValue.demandEnterprises" @change="
+                <search-customer style="width:100%" size="mini" placeholder="需求公司" :value.sync="parmValue.req_corp" @change="
                   pageInfo.curr = 1;
                   parmValue.page = 1;
                   searchList();
@@ -141,7 +141,7 @@
               </el-col>
 
               <el-col :span="4">
-                <search-activity-type style="width:100%" size="mini" :value.sync="parmValue.demandProject" placeholder="需求项目" @change="
+                <search-activity-type style="width:100%" size="mini" :value.sync="parmValue.req_demand" placeholder="需求项目" @change="
                    pageInfo.curr = 1;
                    parmValue.page = 1;
                    searchList();
@@ -152,7 +152,7 @@
             <el-row style="margin-top:10px">
 
               <el-col :span="4">
-                <el-input size="mini" placeholder="需求创建人" v-model="parmValue.demandCreator" @change="
+                <el-input size="mini" placeholder="需求创建人" v-model="parmValue.req_user_id" @change="
                 pageInfo.curr = 1;
                 parmValue.page = 1;
                 searchList();
@@ -224,14 +224,14 @@ import { demandStatusOptions } from '@/assets/js/statusList';
   act_end //活动结束时间
   req_start //咨询开始时间
   req_end //咨询结束时间
-  activityPerson'//活动人数,
+  participant'//活动人数,
   city //活动城市,
   status //当前状态,
   req_tel //联系电话
   activityDemand //活动需求
   reqCode //需求编号
-  demandProject //需求项目
-  demandCreator //需求创建人
+  req_demand //需求项目
+  req_user_id //需求创建人
   demandEnterprise //需求企业
 **/
 
@@ -286,14 +286,14 @@ export default {
         act_end:"", //活动结束时间
         req_start:"", //咨询开始时间
         req_end:"", //咨询结束时间
-        activityPerson:"",//活动人数
+        participant:"",//活动人数
         city:"", //活动城市,
         status:"", //当前状态,
         req_tel:"", //联系电话
         activityDemand:"", //活动需求
         reqCode:"", //需求编号
-        demandProject:"", //需求项目
-        demandCreator:"", //需求创建人
+        req_demand:"", //需求项目
+        req_user_id:"", //需求创建人
         demandEnterprise:"", //需求企业
         page: 1, // 页码
         size: 15, // 每页显示条数
@@ -368,14 +368,14 @@ export default {
         act_end:"", //活动结束时间
         req_start:"", //咨询开始时间
         req_end:"", //咨询结束时间
-        activityPerson:"",//活动人数 TODO...
+        participant:"",//活动人数 TODO...
         city:"", //活动城市,
         status:"", //当前状态,
         req_tel:"", //联系电话
         activityDemand:"", //活动需求 TODO...
         reqCode:"", //需求编号
         req_rorp:"", //需求项目 TODO...
-        demandCreator:"", //需求创建人 TODO...
+        req_user_id:"", //需求创建人 TODO...
         demandEnterprise:"", //需求企业 TODO...
         page: 1, // 页码
         size: 15, // 每页显示条数