From 41066e88fa1ff31c3f692d559afeee2d9afc0cd1 Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期一, 06 十一月 2023 09:18:09 +0800 Subject: [PATCH] s --- src/views/quality/rawMaterial/rawMaterial-form.vue | 221 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 171 insertions(+), 50 deletions(-) diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index 0966edf..b5923d0 100644 --- a/src/views/quality/rawMaterial/rawMaterial-form.vue +++ b/src/views/quality/rawMaterial/rawMaterial-form.vue @@ -3,7 +3,8 @@ <div class="page-header"> <div class="header-left"> <a @click="$router.go(-1)"><i class="icon-btn-back"></i></a> - <h2>缂栬緫-鍘熸潗鏂欐楠�</h2> + <h2 v-if="resultVal!=null && dataForm.id!=null">鏌ョ湅-鍘熸潗鏂欐楠�</h2> + <h2 v-else>缂栬緫-鍘熸潗鏂欐楠�</h2> </div> <div class="btn-group header-right"> <el-button @click="save()" v-if="this.dataForm.id==null">淇濆瓨</el-button> @@ -21,10 +22,11 @@ <el-row> <el-col :span="6"> <el-form-item label="闆朵欢鍙�" prop="code"> - <el-input v-model="dataForm.code"> + <el-input v-model="dataForm.code" :disabled="resultVal!=null && dataForm.id!=null"> <el-button slot="append" icon="el-icon-search" + :disabled="resultVal!=null && dataForm.id!=null" @click="queryCode()"></el-button> </el-input> </el-form-item> @@ -69,21 +71,27 @@ </el-col> <el-col :span="6"> <el-form-item label="鏁伴噺" prop="number"> - <el-input v-model="dataForm.number" /> + <el-input v-model="dataForm.number" :disabled="resultVal!=null" /> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="鎶ユ鏃ユ湡" prop="createTime" v-if="dataForm.id!=null"> - <el-input v-model="dataForm.createTime" /> + <el-input v-model="dataForm.createTime" disabled /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item label="鎶ユ浜�" prop="createUser" v-if="dataForm.id!=null"> - <el-input v-model="dataForm.createUser" /> + <el-input v-model="dataForm.createUser" disabled /> </el-form-item> </el-col> + <el-col :span="6"> + <el-form-item prop="projectName" label="椤圭洰鍚嶇О"> + <el-input v-model="dataForm.projectName" disabled > + </el-input> + </el-form-item> + </el-col> </el-row> </el-form> </div> @@ -92,9 +100,9 @@ <el-col :span="19">妫�楠岄」鐩�</el-col> <el-col :span="5"> <div style="width:100%;text-align: right;"> - <el-button v-show="dataForm.id==null" size="small" @click="clickAddLine">娣诲姞妫�楠岃</el-button> - <el-button size="small" @click="addTeatValueColumn()">娣诲姞妫�娴嬪�煎垪</el-button> - <el-button size="small" @click="delTeatValueColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> + <el-button v-if="dataForm.id==null" size="small" @click="clickAddLine">娣诲姞妫�楠岃</el-button> + <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">娣诲姞妫�娴嬪�煎垪</el-button> + <el-button v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> </div> </el-col> </el-row> @@ -105,16 +113,18 @@ :data="list" border style="width: 100%;" height="400"> <el-table-column type="index" label="搴忓彿" width="60"> </el-table-column> + <el-table-column prop="name" label="椤圭洰" width="260"> <template slot-scope="scope"> <el-select v-if="projectList.length > 0" :disabled="dataForm.id != null" class="inline-input" v-model="scope.row.name" filterable allow-create placeholder="璇疯緭鍏ユ垨閫夋嫨椤圭洰鍚嶇О" style="width:100%" @change="changeName(scope.$index,scope.row)"> <el-option v-for="(item,index) in projectList" :key="index" :label="item.name" :value="item.name"/> </el-select> - <el-input v-else :disabled="dataForm.id != null" class="inline-input" v-model="scope.row.name" + <el-input v-else :disabled="dataForm.id != null" class="inline-input" v-model="list.name" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> </template> </el-table-column> + <el-table-column prop="unit" label="鍗曚綅" width="260"> <template slot-scope="scope"> <el-input :disabled="dataForm.id != null" v-model="scope.row.unit" placeholder="璇疯緭鍏ュ崟浣�"></el-input> @@ -126,24 +136,39 @@ placeholder="璇疯緭鍏ユ爣鍑嗗��"></el-input> </template> </el-table-column> + <el-table-column prop="testValue" label="妫�娴嬪��" min-width="260" v-for="(item, index) in empiricalValueAdd" :key="index"> <template slot-scope="scope"> <el-tooltip :disabled="scope.row.equipmentId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> - <el-input :disabled="scope.row.equipmentId == null" v-model="scope.row.testValueList[index]" - @blur="updateTestValue(scope.row)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> - </el-tooltip> + + <!-- <el-input :disabled="scope.row.equipmentId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.testValueList[index]" + @blur="updateTestValue(scope.row,index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> --> + + <el-autocomplete + :disabled="scope.row.equipmentId == null || (dataForm.id!=null&&resultVal!=null)" + class="inline-input" + v-model="scope.row.testValueList[index]" + :fetch-suggestions="querySearch" + placeholder="璇疯緭鍏ュ唴瀹�" + @select="handleSelect" + ></el-autocomplete> + + </el-tooltip> </template> </el-table-column> + <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="260"> <template slot-scope="scope"> - <el-select style="width:100%" v-model="scope.row.equipmentId" filterable @change="updateDevice(scope.row)"> - <el-option v-for="(item,index) in deviceList" - :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option> - </el-select> + <el-select :disabled="resultVal!=null && dataForm.id!=null" style="width:100%" + v-model="scope.row.equipmentId" filterable @change="updateDevice(scope.row,scope.$index)"> + <el-option v-for="(item,index) in deviceList" + :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option> + </el-select> </template> </el-table-column> + <el-table-column fixed="right" v-if="dataForm.id != null" prop="testState" label="缁撹" min-width="150"> <template slot-scope="scope"> <span v-if="scope.row.testState == 0" style="color:#F56C6C">涓嶅悎鏍�</span> @@ -174,13 +199,13 @@ <el-table-column prop="userName" label="妫�楠屽憳"></el-table-column> <el-table-column prop="judgeState" label="妫�楠岀粨璁�"> <template slot-scope="scope"> - <el-tag type="success" v-if="scope.row.judgeState == 1">鍚堟牸</el-tag> - <el-tag type="danger" v-else-if="scope.row.judgeState == 0">涓嶅悎鏍�</el-tag> + <el-tag type="success" v-if="scope.row.testState == '1'">鍚堟牸</el-tag> + <el-tag type="danger" v-else-if="scope.row.testState == '0'">涓嶅悎鏍�</el-tag> </template> </el-table-column> <el-table-column label="鎿嶄綔"> <template> - <el-button type="text" @click="submitSave()" size="small">涓婃姤</el-button> + <el-button type="text" :disabled="resultVal!=null && dataForm.id!=null" @click="showDialog()" size="small">涓婃姤</el-button> </template> </el-table-column> </el-table> @@ -189,6 +214,26 @@ </div> </div> <rawMaterialPartDialog :paramObj="paramObj" :currshowlist.sync="showPart" @listenToPartEvent="selectPart" /> + <el-dialog + title="涓婃姤" + :visible.sync="dialogVisible" + width="30%" class="l-mes"> + <el-row> + <el-col> + <span>涓嶅悎鏍兼暟閲�:</span> + <el-input type="number" v-model="unqualifiedNum" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺"/> + </el-col> + <el-col> + <span>瀹炴鏁伴噺:</span> + <el-input type="number" placeholder="璇疯緭鍏ュ疄妫�鏁伴噺" v-model="fiedNum"/> + </el-col> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="submitSave()">纭� 瀹�</el-button> + </span> + </el-dialog> + <!-- <rawMaterialPartDialog :currentRow ="currentRow" @costPlannedAmountChange="costPlannedAmountChange"/> --> </div> </template> @@ -199,17 +244,23 @@ getObj, updateRawInsProduct, updateRawInspectsById, - chooseIFS, - selectHisByCode, updateDeviceById, } from '@/api/quality/rawMaterial' import rawMaterialPartDialog from '@/views/common/rawMaterial-part' +import { log } from 'util' export default { + // props:['currentRow'], computed:{}, components:{ rawMaterialPartDialog }, data(){ return{ + currentRow:[], + userlist:[], + fiedNum: null, + unqualifiedNum: null, + dialogVisible:false, + resultVal: null, projectList: [], paramObj: {}, IFSData: [], @@ -225,7 +276,7 @@ formTime: '', message: '', name: '', - code: '88.118.1/A0487643', + code: '88.118.1/A0498220', specs: '', unit: '', number: '', @@ -250,6 +301,8 @@ }], dataRule: {}, deviceList: [], + restaurants:[], + whetherNot:'', } }, beforeUpdate(){ @@ -259,13 +312,57 @@ }, mounted(){ this.dataForm.id = this.$route.query.id + this.resultVal = this.$route.query.resultVal + if(this.resultVal == null){ + let val = sessionStorage.getItem("raw-resultVal-"+this.dataForm.id) + val == undefined ? null : this.resultVal=val + } this.init() this.getDeviceList() + this.restaurants = this.loadAll(); + // this.costPlannedAmountChange() }, watch:{ - + dialogVisible(newVal){ + if(newVal){ + this.unqualifiedNum = null + this.fiedNum = null + } + }, + }, methods:{ + //椤圭洰 + // xxxx(){ + // console.log(currentRow); + // }, + // 浜嬩欢澶勭悊鍑芥暟 + // costPlannedAmountChange(value) { + // console.log("==>"); + // console.log(value.rawInsProducts); + // this.userlist = value.rawInsProducts + // this.list = this.userlist + // console.log(this.list); + // }, + querySearch(queryString, cb) { + var restaurants = this.restaurants; + var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants; + + cb(results); + }, + createFilter(queryString) { + return (restaurant) => { + return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0); + }; + }, + loadAll(){ + return [ + {"value":"鏄�"}, + {"value":"鍚�"} + ];}, + handleSelect(item) { + console.log(item); + }, changeName(index,row){ this.projectList.forEach(item=>{ if(row.name == item.name){ @@ -276,6 +373,7 @@ }, // 纭鍥炶皟 selectPart(param, nodePart, index) { + console.log("鎴愬姛--",param); if (typeof param !== 'undefined') { this.dataForm.code = param.code this.dataForm.name = param.name @@ -285,48 +383,69 @@ this.dataForm.supplier = param.supplier this.dataForm.number = param.number this.dataForm.message = param.message - this.projectList = param.rawInsProducts + this.dataForm.projectName = param.projectName + this.projectList = param.rawInsProducts == null ? [] : param.rawInsProducts + // param.rawInsProducts.forEach(item=>{ + // this.list.push(item) + // }) } }, queryCode(){ this.paramObj = { code: this.dataForm.code } + console.log(this.paramObj); this.showPart = true }, - updateDevice(row){ + updateDevice(row,index){ if(this.dataForm.id != null){ updateDeviceById({equiomentId:row.equipmentId,rpId:row.rpId}).then(res=>{ + this.list[index].testValue = '' + this.list[index].testState = null + this.list[index].testValueList = [] }).catch(error=>{ console.log(error) }) } }, - submitSave(){ + checkTestState(){ + let resultVal = '1' + this.list.forEach(item=>{ + if(item.children){ + if(obj.testState == 0){ + resultVal = '0' + } + } + }) + this.resultVal = resultVal + this.conclusionTable[0].testState = resultVal + sessionStorage.setItem("raw-resultVal-"+this.dataForm.id,resultVal) + }, + showDialog(){ let pro = this.list.filter(item => { return item.testState == 0; }) if (pro.length > 0) { - this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - inputPattern: /^\d+$/, - inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�' - }).then(({ value }) => { - let data = { - id: this.dataForm.id, - number: value - } - updateRawInspectsById(data).then(res => { - this.$message.success("涓婃姤鎴愬姛"); - }); - }).catch(() => {}); + this.dialogVisible = true }else{ - updateRawInspectsById({id:this.dataForm.id,number:0}).then(res => { - this.$message.success("涓婃姤鎴愬姛"); - }); + this.submitSave() } - this.init() + }, + //涓婃姤 + submitSave(){ + let data = { + id: this.dataForm.id, + number: this.unqualifiedNum, + toLocationNo: this.fiedNum + } + updateRawInspectsById(data).then(res => { + if(res.data.code == 0){ + sessionStorage.setItem("raw-resultVal-"+this.dataForm.id,res.data.data) + this.$message.success("涓婃姤鎴愬姛"); + this.dialogVisible = false + } + }); + this.checkTestState() }, addTeatValueColumn(){ this.empiricalValueAdd = this.empiricalValueAdd + 1; @@ -358,8 +477,8 @@ } } }, - updateTestValue(row){ - if(row.rpId == null){ + updateTestValue(row,index){ + if(row.rpId == null || row.testValueList[index]==null){ return } let obj = { @@ -399,12 +518,13 @@ let arr = [] if(item.testValue != undefined ){ arr = item.testValue.split(",") - this.empiricalValueAdd = arr.length - }else{ - this.empiricalValueAdd = 1 + if(arr.length > this.empiricalValueAdd){ + this.empiricalValueAdd = arr.length + } } this.list.push({ equipmentId: item.equiomentId, + deviceName: item.deviceName, name: item.rpName, required: item.required, testValue: item.testValue, @@ -418,7 +538,7 @@ code: data.code, name: data.name, userName: Array.from(new Set(userNameList)).join(','), - judgeState: data.judgeState + testState: this.resultVal==null?null:this.resultVal }] }).catch(error=>{ this.$message.error("鑾峰彇澶辫触",error) @@ -436,6 +556,7 @@ }) addRawInspects(data).then(res=>{ this.$message.success("淇濆瓨鎴愬姛") + this.$router.go(-1) }).catch(error=>{ this.$message.error(error) }) -- Gitblit v1.9.3