From d975fc4756806f5b51f006c19c33571b9b8c0b3b Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期五, 20 十二月 2024 09:30:19 +0800
Subject: [PATCH] 修改下单时要求值输入限制

---
 src/components/do/b1-ins-order/add.vue |  134 +++++++++++++++++++++++++++++++++-----------
 1 files changed, 101 insertions(+), 33 deletions(-)

diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 57c1b7f..7794127 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -134,9 +134,9 @@
   <div class="ins_order_add" style=" display: block; ">
     <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow">
       <el-row class="title">
-        <el-col :span="6" style="padding-left: 20px;text-align: left;">濮旀墭鍗曚俊鎭�&nbsp;&nbsp;&nbsp;鍗曚綅鎴愭湰鎬讳环锛�<span
+        <el-col :span="8" style="padding-left: 20px;text-align: left;">濮旀墭鍗曚俊鎭�&nbsp;&nbsp;&nbsp;鍗曚綅鎴愭湰鎬讳环锛�<span
             style="color: #3A7BFA">锟{total.toFixed(2)}}</span></el-col>
-        <el-col :span="18" style="text-align: right;">
+        <el-col :span="16" style="text-align: right;">
           <el-select v-model="template" size="medium" placeholder="涓嬪崟妯℃澘" style="margin-right: 10px;" v-show="active==1"
             @change="selectInsOrderTemplateById">
             <el-option v-for="(a, ai) in templates" :key="ai" :value="a.id" :label="a.name">
@@ -234,7 +234,7 @@
             <div class="search_label"><span class="required-span">* </span>鏍峰搧鏁伴噺锛�</div>
             <div class="search_input">
               <el-input-number size="small" v-model="addObj.sampleNum" :min="1" :max="100" :precision="0"
-                style="width: 65%;" @change="addStandardTree" :disabled="active>1"></el-input-number>
+                style="width: 100%;" @change="addStandardTree" :disabled="active>1"></el-input-number>
             </div>
           </el-col>
           <!-- <el-col class="search_thing" :span="6">
@@ -356,11 +356,11 @@
                 :disabled="active>1"
                 type="date"
                 placeholder="閫夋嫨鏃ユ湡"
-                size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
+                size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;">
               </el-date-picker>
             </div>
           </el-col>
-          <el-col class="search_thing" :span="6">
+          <el-col class="search_thing" :span="6" v-if="addObj.formType!='鍏朵粬鎴愬搧'&&addObj.formType">
             <div class="search_label"><span class="required-span">* </span>鏍锋満瀹屾垚鏃堕棿锛�</div>
             <div class="search_input">
               <el-date-picker
@@ -368,7 +368,7 @@
                 :disabled="active>1"
                 type="date"
                 placeholder="閫夋嫨鏃ユ湡"
-                size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
+                size="small" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;">
               </el-date-picker>
             </div>
           </el-col>
@@ -409,11 +409,33 @@
       <div style="height: auto;">
         <div class="search" v-if="active==1" style="display: flex;background: transparent;">
           <div class="search_thing">
+            <div class="search_label">鏍峰搧鍚嶇О锛�</div>
+            <div class="search_input">
+              <el-input size="small" v-model="allInfo.sample" @change="changeModel('sample')"></el-input>
+            </div>
+          </div>
+          <div class="search_thing">
             <div class="search_label">鏍峰搧绫诲埆锛�</div>
             <div class="search_input">
-              <el-select v-model="model" :placeholder="active>1 ? '' : '璇疯緭鍏�'" filterable allow-create default-first-option size="small"
-                @change="changeModel">
+              <el-select v-model="allInfo.model" :placeholder="active>1 ? '' : '璇疯緭鍏�'" filterable allow-create default-first-option size="small"
+                @change="changeModel('model')">
                 <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div class="search_thing">
+            <div class="search_label">浜у搧鍨嬪彿锛�</div>
+            <div class="search_input">
+              <el-input size="small" v-model="allInfo.modelNum" @change="changeModel('modelNum')"></el-input>
+            </div>
+          </div>
+          <div class="search_thing">
+            <div class="search_label">璇曢獙鏍囧噯锛�</div>
+            <div class="search_input">
+              <el-select v-model="allInfo.testRequirements" :placeholder="active>1 ? '' : '璇疯緭鍏�'" filterable allow-create default-first-option size="small"
+                @change="changeModel('testRequirements')">
+                <el-option v-for="item in standard" :key="item.value" :label="item.label" :value="item.value">
                 </el-option>
               </el-select>
             </div>
@@ -467,7 +489,7 @@
           <el-table-column prop="testRequirements" label="璇曢獙鏍囧噯" align="center" min-width="100">
             <template slot-scope="scope">
               <el-select v-model="scope.row.testRequirements" :disabled="scope.row.model==null||active>1"
-                placeholder="璇曢獙鏍囧噯" size="small" :readonly="active>1" style="width: 100%;" clearable>
+                placeholder="璇曢獙鏍囧噯" size="small" :readonly="active>1" style="width: 100%;" clearable @change="changeModel0(scope.row)">
                 <el-option v-for="item in standard" :key="item.id" :label="item.label" :value="item.value">
                 </el-option>
               </el-select>
@@ -540,7 +562,7 @@
             <template slot-scope="scope">
               <el-input size="small" placeholder="瑕佹眰鎻忚堪" v-model="scope.row.tell" clearable type="textarea"
                 :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row,'tell')"
-                v-if="active==1"></el-input>
+                v-if="active==1" :disabled="!!scope.row.tell&&scope.row.tell.includes('[')&&scope.row.tell.includes(']')&&scope.row.tell.includes(',')"></el-input>
               <span v-else>
                 <template >{{ scope.row.tell }}</template>
               </span>
@@ -550,7 +572,7 @@
             <template slot-scope="scope">
               <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea"
                 :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row,'ask')"
-                v-if="active==1&&scope.row.inspectionValueType!='5'"></el-input>
+                v-if="active==1&&scope.row.inspectionValueType!='5'" :disabled="!!scope.row.ask&&scope.row.ask.includes('[')&&scope.row.ask.includes(']')&&scope.row.ask.includes(',')"></el-input>
               <span v-else>
                 <!-- <template v-if="(scope.row.ask.indexOf('D')>-1
                 ||scope.row.ask.indexOf('W')>-1
@@ -1037,7 +1059,8 @@
       1銆佸鎵樻柟鎵胯鎻愪緵鐨勪俊鎭笌鏍峰搧鐨勭湡瀹炴��;<br/>
       2銆佸鎵橀�佹牱妫�楠岀粨鏋滀粎閫傜敤浜庢敹鍒扮殑鏍峰搧;<br/>
       3銆佽瘯楠岃繃绋嬪鑷寸殑鏍峰搧鎹熷潖銆侀厤浠舵崯鍧忋�佹崯鑰楋紝鏈祴璇曞満涓嶆壙鎷呰禂鍋胯矗浠�;<br/>
-      4銆佸疄楠屽鎵胯鍏寮�灞曟娴嬫椿鍔紝骞舵壙璇轰繚瀹堝湪妫�娴嬫椿鍔ㄨ繃绋嬩腑鎵�鑾风煡鐨勪繚瀵嗕俊鎭��</p>
+      4銆佸疄楠屽鎵胯鍏寮�灞曟娴嬫椿鍔紝骞舵壙璇轰繚瀹堝湪妫�娴嬫椿鍔ㄨ繃绋嬩腑鎵�鑾风煡鐨勪繚瀵嗕俊鎭��
+      </p>
   </div>
 </template>
 
@@ -1307,7 +1330,13 @@
           num:null,
         },
         powerShow:false,
-        powerTable:[]
+        powerTable:[],
+        allInfo:{
+          model:null,
+          sample:null,
+          modelNum:null,
+          testRequirements:null,
+        }
       }
     },
     watch: {
@@ -1358,11 +1387,17 @@
         }
       },
       'addObj.sample'(val) {
-        this.model = null
+        this.allInfo.model = null
+        this.allInfo.sample = null
+        this.allInfo.modelNum = null
+        this.allInfo.testRequirements = null
         this.standardMethodListId = []
       },
       'addObj.sampleNum'(val) {
-        this.model = null
+        this.allInfo.model = null
+        this.allInfo.sample = null
+        this.allInfo.modelNum = null
+        this.allInfo.testRequirements = null
         this.standardMethodListId = []
       },
       active(val){
@@ -1415,7 +1450,7 @@
           })
         })
         // 鏂囦欢淇℃伅
-        this.componentData0.entity.insOrderId = this.currentId
+        this.componentData0.entity.insOrderId = this.currentId;
         this.$refs.fileList.selectList()
       }
     },
@@ -1896,12 +1931,12 @@
           this.$message.error('璇疯緭鍏ユ牱鍝佸瀷鍙�')
         }else if (!this.addObj.appointed) {
           this.$message.error('璇烽�夋嫨绾﹀畾鏃堕棿')
-        }else if (!this.addObj.issueTime) {
-          this.$message.error('璇烽�夋嫨鏍锋満瀹屾垚鏃堕棿')
-        } else if (!this.sampleList.every(m => m.standardMethodListId&&m.standardMethodListId.length>0)) {
+        }else if (!this.sampleList.every(m => m.standardMethodListId&&m.standardMethodListId.length>0)) {
           this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�')
         } else if(this.addObj.formType&&this.addObj.formType!='鍏朵粬鎴愬搧'&&!this.addObj.issueUser){
           this.$message.error('璇烽�夋嫨閫氱煡鑷虫牱鏈哄憳')
+        }else if(this.addObj.formType&&this.addObj.formType!='鍏朵粬鎴愬搧'&&!this.addObj.issueTime){
+          this.$message.error('璇烽�夋嫨鏍锋満瀹屾垚鏃堕棿')
         }else{
           //鏍¢獙妫�楠岄」鐨勮姹傚�煎拰瑕佹眰鎻忚堪,浠呭鎵樿姹�
           // if(this.active==1&&this.isAskOnlyRead){
@@ -1937,13 +1972,14 @@
 
           let projectNum = this.totalArr.filter(a => a.state == 1).length
           if(projectNum==0){
-            this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", {
-              confirmButtonText: "纭畾",
-              cancelButtonText: "鍙栨秷",
-              type: "warning"
-            }).then(() => {
-              this.saveMethod(sampleList)
-            }).catch(() => {})
+            // this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", {
+            //   confirmButtonText: "纭畾",
+            //   cancelButtonText: "鍙栨秷",
+            //   type: "warning"
+            // }).then(() => {
+            //   this.saveMethod(sampleList)
+            // }).catch(() => {})
+            return this.$message.error('璇锋坊鍔犳楠岄」鐩�')
           }else{
             let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask&&a.ask.includes(b)) && a.state == 1)
             if (isRTS&&this.PROJECT=='妫�娴嬩腑蹇�') {
@@ -2287,10 +2323,20 @@
       },
       saveMethod(sampleList){
         let isHaveAsk = this.totalArr.filter(a => (a.ask === null||a.ask=='')&&a.state==1)
+        let isHaveAsk0 = this.totalArr.filter(a => (a.ask=='/'||a.ask=='-'||a.ask=='鈥斺��'||((/\d/.test(a.ask))&&(a.ask.includes('<')||a.ask.includes('>')||a.ask.includes('=')||a.ask.includes('锛�')||a.ask.includes('锛�')||a.ask.includes('鈮�')||a.ask.includes('鈮�'))))&&a.state==1)
+        let stateArr = this.totalArr.filter(a=>a.state==1)
         if (isHaveAsk.length > 0) {
           this.$message({
             type: 'error',
             message: '璇峰~鍐欒姹傚�煎悗鍐嶆彁浜�'
+          })
+          return false;
+        }
+        if (isHaveAsk0.length <stateArr.length) {
+          this.$message({
+            type: 'error',
+            message: '瑕佹眰鍊艰緭鍏ユ牸寮忎笉瀵癸紝鍙緭鍏�/銆�-銆佲�斺�斾唬琛ㄤ笉鍒ゅ畾锛�<銆�=銆�>銆佲墺銆佲墹鍔犱笂鏁板瓧浠h〃鑼冨洿锛岃閲嶆柊杈撳叆',
+            duration: 8 * 1000
           })
           return false;
         }
@@ -2784,7 +2830,23 @@
       // 淇濆瓨妯℃澘
       addTemplateDia() {
         if (this.templateName) {
-          this.templateLoading = true;
+          if(this.templates.find(m=>m.name==this.templateName)){
+            this.$confirm('宸插瓨鍦ㄥ悓鍚嶆ā鏉匡紝鏄惁杩涜鏇挎崲?', "鎻愮ず", {
+              confirmButtonText: "纭畾",
+              cancelButtonText: "鍙栨秷",
+              type: "warning"
+            }).then(() => {
+              this.saveTemplateDia()
+            }).catch(() => {})
+          }else{
+            this.saveTemplateDia()
+          }
+        } else {
+          this.$message.error('璇峰~鍐欐ā鏉垮悕绉�')
+        }
+      },
+      saveTemplateDia(){
+        this.templateLoading = true;
           this.$axios.post(this.$api.insOrder.addInsOrderTemplate, {
             name: this.templateName,
             thing: JSON.stringify({
@@ -2804,9 +2866,6 @@
             this.selectInsOrderTemplate()
             this.templateName = ''
           })
-        } else {
-          this.$message.error('璇峰~鍐欐ā鏉垮悕绉�')
-        }
       },
       // 鏌ヨ妯℃澘
       selectInsOrderTemplateById(e) {
@@ -2847,7 +2906,7 @@
         }).then(res => {
           this.orderType = res.data
           if (res.data.length > 0) {
-            this.addObj.orderType = res.data[0].value
+            this.addObj.orderType = 'C'
           }
         })
       },
@@ -2908,14 +2967,23 @@
           }
         })
       },
-      changeModel() {
+      changeModel(type) {
         this.sampleList.forEach(a => {
           let obj = this.sampleIds.find(b => b == a.id)
           if (obj) {
-            a.model = this.model
+            this.$set(a,type, this.allInfo[type])
+            if(type=='testRequirements'&&a.standardMethodListId&&a.standardMethodListId.length>0){
+              this.methodChange(a.standardMethodListId, a)
+            }
+            // a[type] = this.allInfo[type]
           }
         })
       },
+      changeModel0(row){
+        if(row.standardMethodListId&&row.standardMethodListId.length>0){
+          this.methodChange(row.standardMethodListId, row)
+        }
+      },
       changeStandardMethodListId() {
         this.sampleList.forEach(a => {
           let obj = this.sampleIds.find(b => b == a.id)

--
Gitblit v1.9.3