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 | 137 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 104 insertions(+), 33 deletions(-) diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue index 7d4e9ba..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;">濮旀墭鍗曚俊鎭� 鍗曚綅鎴愭湰鎬讳环锛�<span + <el-col :span="8" style="padding-left: 20px;text-align: left;">濮旀墭鍗曚俊鎭� 鍗曚綅鎴愭湰鎬讳环锛�<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,12 +1387,21 @@ } }, '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){ + this.saveLoad = false } }, mounted() { @@ -1412,7 +1450,7 @@ }) }) // 鏂囦欢淇℃伅 - this.componentData0.entity.insOrderId = this.currentId + this.componentData0.entity.insOrderId = this.currentId; this.$refs.fileList.selectList() } }, @@ -1893,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){ @@ -1934,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=='妫�娴嬩腑蹇�') { @@ -2284,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; } @@ -2781,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({ @@ -2801,9 +2866,6 @@ this.selectInsOrderTemplate() this.templateName = '' }) - } else { - this.$message.error('璇峰~鍐欐ā鏉垮悕绉�') - } }, // 鏌ヨ妯℃澘 selectInsOrderTemplateById(e) { @@ -2844,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' } }) }, @@ -2905,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