From 57214d3ef6e7a32685b791ff3c8f1fc49539e055 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期四, 14 十二月 2023 22:59:10 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before --- src/views/quality/rawMaterial/rawMaterial-form.vue | 770 ++++++++++++++++++++++++++++++---------------------------- 1 files changed, 398 insertions(+), 372 deletions(-) diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index c06473a..3011021 100644 --- a/src/views/quality/rawMaterial/rawMaterial-form.vue +++ b/src/views/quality/rawMaterial/rawMaterial-form.vue @@ -7,7 +7,7 @@ <h2 v-else>缂栬緫-鍘熸潗鏂欐楠�</h2> </div> <div class="btn-group header-right"> - <el-button @click="save()" v-if="this.dataForm.id==null">淇濆瓨</el-button> + <el-button @click="save()" type="primary" v-if="this.dataForm.id==null">淇濆瓨</el-button> </div> </div> <div class="page-main"> @@ -21,13 +21,24 @@ label-width="110px"> <el-row> <el-col :span="6"> + <el-form-item label="鍘熸潗鏂欐楠岀紪鍙�" prop="rawInsNo"> + <el-input v-model="dataForm.rawInsNo" disabled> + </el-input> + </el-form-item> + </el-col> + <el-col :span="6"> <el-form-item label="闆朵欢鍙�" prop="code"> <el-input v-model="dataForm.code" :disabled="resultVal!=null && dataForm.id!=null"> - <el-button + <!-- <el-button slot="append" icon="el-icon-search" :disabled="resultVal!=null && dataForm.id!=null" - @click="queryCode()"></el-button> + @click="queryCode()"></el-button> --> + <el-button + slot="append" + icon="el-icon-full-screen" + :disabled="resultVal!=null && dataForm.id!=null" + @click="Turnonthecamera"></el-button> </el-input> </el-form-item> </el-col> @@ -39,23 +50,22 @@ </el-col> <el-col :span="6"> <el-form-item prop="formTime" label="鏉ユ枡鏃ユ湡"> - <el-date-picker + <el-date-picker style="width:100%" v-model="dataForm.formTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" disabled> - </el-date-picker> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="瑙勬牸鍨嬪彿" prop="specs"> - <el-input v-model="dataForm.specs" disabled></el-input> </el-form-item> </el-col> </el-row> <el-row> + <el-col :span="6"> + <el-form-item label="瑙勬牸鍨嬪彿" prop="specs"> + <el-input v-model="dataForm.specs" disabled></el-input> + </el-form-item> + </el-col> <el-col :span="6"> <el-form-item prop="unit" label="鍗曚綅"> <el-input @@ -74,15 +84,15 @@ <el-input v-model="dataForm.number" :disabled="resultVal!=null" /> </el-form-item> </el-col> + </el-row> + <el-row> <el-col :span="6"> - <el-form-item prop="projectName" label="椤圭洰鍚嶇О"> + <el-form-item prop="projectName" label="椤圭洰鍚嶇О" v-if="dataForm.id!=null"> <el-tooltip :disabled="dataForm.projectName==null" :content="dataForm.projectName"> <el-input v-model="dataForm.projectName" disabled ></el-input> </el-tooltip> </el-form-item> </el-col> - </el-row> - <el-row> <el-col :span="6"> <el-form-item label="鎶ユ鏃ユ湡" prop="createTime" v-if="dataForm.id!=null"> <el-input v-model="dataForm.createTime" disabled /> @@ -98,49 +108,44 @@ </div> - + <div class="rawMaterial-detail"> <el-row style="width:100%;z-index: 10;height:50px;"> - <el-col :span="19">妫�楠岄」鐩�</el-col> - <el-col :span="5"> - <div style="width:100%;text-align: right;"> - <el-col :span="12" > - <el-button v-if="dataForm.id==null" icon="el-icon-plus" type="primary" size="small" @click="increase">娣诲姞妫�楠岄」鐩�</el-button> - </el-col> - <!-- <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 :span="18">妫�楠岄」鐩�</el-col> + <el-col :span="2"> + <el-button style="width:90%" v-if="dataForm.id==null" size="small" @click="clickAddLine()">娣诲姞妫�楠岄」鐩�</el-button> + </el-col> + <el-col :span="2"> + <el-button style="width:90%" v-if="resultVal==null || dataForm.id==null" size="small" @click="addTeatValueColumn()">娣诲姞妫�娴嬪�煎垪</el-button> + </el-col> + <el-col :span="2"> + <el-button style="width:90%" v-if="resultVal==null || dataForm.id==null" size="small" @click="delTeatValueColumn()">鍒犻櫎妫�娴嬪�煎垪</el-button> </el-col> </el-row> <el-row style="width:100%;"> <el-col :span="24"> - <el-table - :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" + <el-table + :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" :cell-style="{textAlign:'center'}" ref="table" - :data="list" - border + :data="list" + border style="width: 100%;" height="400" - row-key="iid" - default-expand-all + row-key="iid" + default-expand-all :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> <el-table-column type="index" label="搴忓彿" width="60"> </el-table-column> <el-table-column prop="father" label="妫�楠岄」鐩�" width="260"> <template slot-scope="scope"> - <el-input v-if="scope.row.children" :disabled="dataForm.id != null" v-model="scope.row.father" placeholder="璇疯緭鍏ユ楠岄」鐩�"></el-input> + <el-input v-if="scope.row.children" style="width:90%" :disabled="dataForm.id!=null" v-model="scope.row.father" placeholder="璇疯緭鍏ユ楠岄」鐩�"></el-input> </template> </el-table-column> <el-table-column prop="name" label="椤圭洰" width="260"> <template slot-scope="scope"> <div v-if="!scope.row.children"> - <!-- <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 class="inline-input" v-model="scope.row.name" + <el-input class="inline-input" :disabled="dataForm.id!=null" v-model="scope.row.name" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> </div> </template> @@ -151,7 +156,7 @@ <el-input :disabled="dataForm.id != null" v-model="scope.row.unit" placeholder="璇疯緭鍏ュ崟浣�"></el-input> </div> </template> - + </el-table-column> <el-table-column prop="required" label="鏍囧噯鍊�" width="260"> <template slot-scope="scope"> @@ -161,33 +166,18 @@ </div> </template> </el-table-column> - <el-table-column prop="testValue" label="妫�娴嬪��" min-width="260" > + <el-table-column prop="testValue" label="妫�娴嬪��" min-width="260" v-for="(item,index) in empiricalValueAdd" :key="index"> <template slot-scope="scope"> <div v-if="!scope.row.children"> - <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" - placement="top-start"> - <!-- <el-input :disabled="dataForm.id != null" - v-model="scope.row.testValueList" - placeholder="璇疯緭鍏ユ娴嬪��"></el-input> --> - - <!-- <el-autocomplete style="width:100%" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" class="inline-input" v-model="scope.row.testValueList[index]" - :fetch-suggestions="querySearch" placeholder="璇疯緭鍏ユ娴嬪��" @select="handleSelect" - ></el-autocomplete> --> - <el-col v-if="scope.row.itype === '1'"> - <el-input :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" - v-model="scope.row.testValueList" - placeholder="璇疯緭鍏ユ娴嬪��"></el-input> - </el-col> - <el-col v-else> - <el-select style="width: 100%;" - :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" - v-model="scope.row.testValueList" - placeholder="璇烽�夋嫨"> - <el-option v-for="item in dataVal" :key="item.value" :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </el-col> + <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> + <el-select style="width:100%" allow-create filterable default-first-option + :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" + v-model="scope.row.testValueList[index]" + placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" + @change="changeState(scope.row,scope.$index)"> + <el-option label="鏄�" value="鏄�"/> + <el-option label="鍚�" value="鍚�"/> + </el-select> </el-tooltip> </div> </template> @@ -195,9 +185,9 @@ <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="260"> <template slot-scope="scope"> <div v-if="!scope.row.children"> - <el-select :disabled="resultVal!=null && dataForm.id!=null" style="width:100%" + <el-select :disabled="dataForm!=null && resultVal!=null" style="width:100%" v-model="scope.row.deviceId" filterable @change="updateDevice(scope.row,scope.$index)"> - <el-option v-for="(item,index) in deviceList" + <el-option v-for="(item,index) in deviceList" :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option> </el-select> </div> @@ -206,31 +196,32 @@ <el-table-column prop="note" label="妫�楠屾弿杩�" width="260" > <template slot-scope="scope"> <div v-if="!scope.row.children"> - <el-input :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input> - </div> + <el-input @blur="changeState(scope.row, scope.$index)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input> + </div> </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> - <span v-else-if="scope.row.testState == 1" style="color:#67C23A">鍚堟牸</span> - <span v-else>鏆傛棤缁撹</span> + <div v-if="!scope.row.children"> + <span v-if="scope.row.testState == 0" style="color:#F56C6C">涓嶅悎鏍�</span> + <span v-else-if="scope.row.testState == 1" style="color:#67C23A">鍚堟牸</span> + <span v-else>鏆傛棤缁撹</span> + </div> </template> </el-table-column> <el-table-column fixed="right" style="background-color: white;" v-if="dataForm.id == null" label="鎿嶄綔" width="150"> <template slot-scope="scope"> - <div v-if="!scope.row.children"> - <el-button type="text" @click="addwaydata(scope)">鏂板</el-button> - <el-button type="text" @click="clickDeleteline(scope)">鍙栨秷</el-button> + <div v-if="scope.row.fId!=null"> + <el-button type="text" @click="addChildren(scope.row)">娣诲姞椤圭洰</el-button> + <el-button type="text" @click="delChildren(scope.row,scope.$index,true)">鍒犻櫎琛�</el-button> </div> + <el-button v-else type="text" @click="delChildren(scope.row,scope.$index,false)">鍙栨秷</el-button> </template> </el-table-column> </el-table> </el-col> </el-row> </div> - - <div class="rawMaterial-result"> <el-row> <el-col :span="24">妫�楠岀粨璁�</el-col> @@ -238,7 +229,7 @@ <el-row style="width:100%"> <el-col :span="24"> <el-table border height="90" :data="conclusionTable" ref="conclusion" v-model="conclusion" - :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" + :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" :cell-style="{textAlign:'center'}"> <el-table-column prop="code" label="鐗╂枡缂栧彿"></el-table-column> <el-table-column prop="name" label="鐗╂枡鍚嶇О"></el-table-column> @@ -275,11 +266,23 @@ <el-button type="primary" @click="submitSave()">纭� 瀹�</el-button> </span> </el-dialog> + <el-dialog + title="鎵弿" + :visible.sync="qrcode" + width="60%"> + <div style="height: 100vh;width: 100%;"> + <qr-code-app ref="codeCompont" @cancelCodeDialog="cancelCodeDialog"></qr-code-app> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="qrcode = false">鍙� 娑�</el-button> + <el-button type="primary" @click="qrcode = false">纭� 瀹�</el-button> + </span> +</el-dialog> </div> </template> <script> -import { +import { selectDevice, addRawInspects, getObj, @@ -287,22 +290,16 @@ updateRawInspectsById, updateDeviceById, } from '@/api/quality/rawMaterial' import rawMaterialPartDialog from '@/views/common/rawMaterial-part' -export default { - // props:['currentRow'], + import qrCodeApp from '@/views/common/qrCodeApp' + export default { + components:{ + rawMaterialPartDialog, + qrCodeApp + }, computed:{}, - components:{ - rawMaterialPartDialog - }, data(){ return{ - dataVal: [{ - label: '鏄�', - value: '鏄�' - }, { - label: '鍚�', - value: '鍚�' - }], - // componentData:{}, + qrcode: false, userdata:[], currentRow:[], userlist:[], @@ -350,8 +347,6 @@ }], dataRule: {}, deviceList: [], - restaurants:[], - whetherNot:'', } }, beforeUpdate(){ @@ -359,7 +354,7 @@ this.$refs.table.doLayout(); }) }, - mounted(){ + created(){ this.dataForm.id = this.$route.query.id this.resultVal = this.$route.query.resultVal if(this.resultVal == null){ @@ -368,10 +363,6 @@ } this.init() this.getDeviceList() - this.restaurants = this.loadAll(); - - console.log(this.dataForm); - }, watch:{ dialogVisible(newVal){ @@ -379,43 +370,83 @@ this.unqualifiedNum = null } }, - }, methods:{ - increase(){ + cancelCodeDialog(){ + this.qrcode = false + }, + // 鎵撳紑鐩告満 + Turnonthecamera() { + console.log("鎵ц"); + this.qrcode = true + this.$refs.codeCompont.openCamera() + // this.camera = 'rear' + }, + // 鎵爜缁撴灉鍥炶皟 + // onDecode(result) { + // console.log(result) + // this.turnCameraOff() + // }, + // 鐩告満鍙嶈浆 + // switchCamera() { + // switch (this.camera) { + // case 'front': + // this.camera = 'rear' + // break + // case 'rear': + // this.camera = 'front' + // break + // default: + // this.$toast('閿欒') + // } + // }, + // 鍏抽棴鐩告満 + // turnCameraOff() { + // this.camera = 'off' + // this.qrcode = false + // }, + // 鎵撳紑鎵嬬數绛� + // ClickFlash() { + // switch (this.torchActive) { + // case true: + // this.torchActive = false + // break + // case false: + // this.torchActive = true + // break + // default: + // this.$toast('閿欒') + // } + // }, - }, - 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){ - this.list[index].unit = item.unit - this.list[index].required = item.required - } - }) - }, + // 妫�鏌ユ槸鍚﹁皟鐢ㄦ憚鍍忓ご + // async onInit(promise) { + // try { + // await promise + // } catch (error) { + // if (error.name === 'StreamApiNotSupportedError') { + // } else if (error.name === 'NotAllowedError') { + // this.errorMessage = 'Hey! I need access to your camera' + // } else if (error.name === 'NotFoundError') { + // this.errorMessage = 'Do you even have a camera on your device?' + // } else if (error.name === 'NotSupportedError') { + // this.errorMessage = + // 'Seems like this page is served in non-secure context (HTTPS, localhost or file://)' + // } else if (error.name === 'NotReadableError') { + // this.errorMessage = + // "Couldn't access your camera. Is it already in use?" + // } else if (error.name === 'OverconstrainedError') { + // this.errorMessage = + // "Constraints don't match any installed camera. Did you asked for the front camera although there is none?" + // } else { + // this.errorMessage = 'UNKNOWN ERROR: ' + error.message + // } + // } + // }, // 纭鍥炶皟 selectPart(param, nodePart, index) { - console.log(param) if (typeof param !== 'undefined') { + this.dataForm.rawInsNo = param.rawInsNo this.dataForm.code = param.code this.dataForm.name = param.name this.dataForm.formTime = param.formTime @@ -426,30 +457,6 @@ this.dataForm.message = param.message this.dataForm.projectName = param.projectName this.projectList = param.rawInsProducts == null ? [] : param.rawInsProducts - console.log(param.rawInsProducts); - param.rawInsProducts.forEach(item =>{ - item.iid = Math.random() - console.log(item); - }) - // param.rawInsProducts.forEach(item => { - // item.iid = Math.random() - // if (item.children != undefined) { - // item.children.forEach(obj => { - // let arr = [] - // if (obj.userName) { - // userNameList.push(obj.userName) - // } - // if (obj.inspectionValue) { - // arr = obj.inspectionValue.split(",") - // } - // obj.empiricalValueAddss = arr - // if (arr.length > this.empiricalValueAdd) { - // this.empiricalValueAdd = arr.length - // } - // }) - // } - // }) - // this.list.push( param.rawInsProducts) param.rawInsProducts.forEach(o=>{ this.clickAddLine(o) }) @@ -462,24 +469,25 @@ } this.showPart = true }, - updateDevice(row,index){ - if(this.dataForm.id != null){ - updateDeviceById({deviceId:row.deviceId,rpId:row.rpId}).then(res=>{ - this.list[index].testValue = '' - this.list[index].testState = null - this.list[index].testValueList = [] - }).catch(error=>{ - console.log(error) + updateDevice(row, index) { + updateDeviceById({ deviceId: row.deviceId, rpId: row.rpId }).then(res => { + row.testValue = null + row.testState = null + row.testValueList = [] + row.note = null + }).catch(error => { + console.log(error) }) - } }, checkTestState(){ let resultVal = '1' this.list.forEach(item=>{ if(item.children){ - if(obj.testState == 0){ - resultVal = '0' - } + item.children.forEach(ele=>{ + if(ele.testState == 0){ + resultVal = '0' + } + }) } }) this.resultVal = resultVal @@ -487,10 +495,16 @@ sessionStorage.setItem("raw-resultVal-"+this.dataForm.id,resultVal) }, showDialog(){ - let pro = this.list.filter(item => { - return item.testState == 0; + let size = 0 //涓嶅悎鏍奸」鐩暟閲� + this.list.forEach(item=>{ + if(item.children){ + let num = item.children.filter(e=>{ + return e.testState == 0 + }).length + size+=num + } }) - if (pro.length > 0) { + if (size > 0) { this.dialogVisible = true }else{ this.submitSave() @@ -501,15 +515,17 @@ let data = { id: this.dataForm.id, number: this.unqualifiedNum, - // toLocationNo: this.fiedNum + result: this.conclusionTable[0].testState } updateRawInspectsById(data).then(res => { - if(res.data.code == 0){ + if(res.data.code == 0 && (res.data.data=='1'|| res.data.data=='0')){ sessionStorage.setItem("raw-resultVal-"+this.dataForm.id,res.data.data) this.$message.success("涓婃姤鎴愬姛"); - this.dialogVisible = false - this.checkTestState() + }else{ + this.$message.error("涓婃姤澶辫触锛�",res.data.data); } + this.dialogVisible = false + this.checkTestState() }); }, addTeatValueColumn(){ @@ -517,89 +533,100 @@ }, // 娣诲姞琛� clickAddLine(row) { - console.log(row); - // console.log(row.children[0]); - // this.componentData = row; - - let obj = { - father:null, - // componentData.deviceId: null, - // name: "", - // required: "", - // testValue: "", - // unit: "", - // testState: null, - children:[], - testValueList: [], - }; - let userNameList = [] - row.children.forEach(item => { - item.iid = Math.random() - if (item.children != undefined) { - item.children.forEach(obj => { - let arr = [] - if (obj.userName) { - userNameList.push(obj.userName) - } - if (obj.inspectionValue) { - arr = obj.inspectionValue.split(",") - } - obj.empiricalValueAddss = arr - if (arr.length > this.empiricalValueAdd) { - this.empiricalValueAdd = arr.length - } - }) - } - }) - - console.log(this.list); + let ele = { + fId: Math.random(), + father: null, + iid: Math.random(), + children:[] + } + if(row){ + ele.father = row.father?row.father:null + row.children.forEach(item => { + ele.children.push({ + deviceId: null, + deviceName: null, + iid: Math.random(), + required: item.required?item.required:null, + rpId: null, + name: item.name?item.name:null, + unit: item.unit?item.unit:null, + userName: null, + testValue: null, + testValueList: [], + note: null, + testState: null + }) + let arr = [] + item.empiricalValueAddss = arr + if (arr.length > this.empiricalValueAdd) { + this.empiricalValueAdd = arr.length + } + }) + this.list.push(ele) + }else{ + ele.children.push({ + deviceId: null, + deviceName: null, + iid: Math.random(), + required: null, + rpId: null, + name: null, + unit: null, + userName: null, + testValue: '', + testValueList: [], + note: null, + testState: '' + }) + this.list.push(ele) + } - // this.list = row.children - this.list.push(row) - // console.log(this.list); - // if(row!=undef.list){ - // obj.name = row.children.name - // obj.unit = row.children.unit - // obj.required = row.children.required - // } - // this.list.push(obj) + }, + changeRowResult(){ + if(this.list){ + this.list.forEach(e=>{ + if(e.children){ + e.children.forEach(i=>{ + if(i.testValueList.length>1){ + let arr = i.testValue.split(",") + arr.splice((arr.length-1),1) + let obj = { + deviceId: i.deviceId, + rpId: i.rpId, + testValue: arr.join(","), + note: i.note + } + updateRawInsProduct(obj).then(res=>{ + if(res.data.code === 0){ + this.init() + } + }) + } + }) + } + }) + } }, delTeatValueColumn(){ - if (this.empiricalValueAdd - 1 === 0) { } else { + if (this.empiricalValueAdd - 1 > 0) { if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) { this.empiricalValueAdd = this.empiricalValueAdd - 1; + this.changeRowResult() this.list.forEach(i => { - i.testValueList.splice(this.empiricalValueAdd, 1); + if(i.children){ + i.children.forEach(ele=>{ + ele.testValueList.splice(this.empiricalValueAdd, 1); + }) + } }); } } }, - updateTestValue(row,index){ - if(row.rpId == null || row.testValueList[index]==null){ - return - } - let obj = { - deviceId: row.deviceId, - rpId: row.rpId, - testValue: row.testValueList.join(",") - } - updateRawInsProduct(obj).then(res=>{ - if(res.data.code === 0){ - this.$message.success("鏇存柊鎴愬姛") - this.init() - }else{ - this.$message.success("鏇存柊澶辫触") - } - }).catch(error=>{ - this.$message.error(error) - }) - }, init(){ if(this.dataForm.id){ getObj(this.dataForm.id).then(res=>{ - - console.log(res); let data = res.data.data + this.dataForm.rawInsNo = data.rawInsNo this.dataForm.name = data.name this.dataForm.formTime = data.formTime this.dataForm.code = data.code @@ -612,80 +639,62 @@ this.dataForm.createUser = data.createUser let userNameList = [] this.list = [] - // data.children.forEach(item=>{ - // userNameList.push(item.userName) - // let arr = [] - // if(item.testValue != undefined ){ - // arr = item.testValue.split(",") - // if(arr.length > this.empiricalValueAdd){ - // this.empiricalValueAdd = arr.length - // } - // } - // this.userdata = item.children[0]; - // console.log(this.userdata); - // this.list.push({ - // father: item.rpFather, - // note: this.userdata.note, - // deviceId: this.userdata.deviceId, - // deviceName: this.userdata.deviceName, - // name: this.userdata.rpName, - // required: this.userdata.required, - // testValue: this.userdata.testValue, - // unit: this.userdata.rpUnit, - // testState: this.userdata.testState, - // rpId: this.userdata.rpId, - // testValueList: arr - // }) - // }) - console.log("======================="); - console.log(data.children); - // data.children.forEach(item => { - // item.iid = Math.random() - // if (item.children != undefined) { - // item.children.forEach(obj => { - // console.log(obj); - // obj.ild = Math.random() - // // let arr = [] - // // if (obj.userName) { - // // userNameList.push(obj.userName) - // // } - // // if (obj.inspectionValue) { - // // arr = obj.inspectionValue.split(",") - // // } - // // obj.empiricalValueAddss = arr - // // if (arr.length > this.empiricalValueAdd) { - // // this.empiricalValueAdd = arr.length - // // } - // }) - // } - // }) - console.log(data.children); - // this.userdata = data.children - - // this.list.push({ - // father: item.rpFather, - // note: this.userdata.note, - // deviceId: this.userdata.deviceId, - // deviceName: this.userdata.deviceName, - // name: this.userdata.rpName, - // required: this.userdata.required, - // testValue: this.userdata.testValue, - // unit: this.userdata.rpUnit, - // testState: this.userdata.testState, - // rpId: this.userdata.rpId, - // testValueList: arr - // }) - // }) - // console.log(this.list); - // this.userdata = data.children - this.list.push(data.children ) - console.log( this.list); - this.conclusionTable = [{ - code: data.code, - name: data.name, - userName: Array.from(new Set(userNameList)).join(','), - testState: this.resultVal==null?null:this.resultVal - }] + data.children.forEach(item => { + if (item.children) { + let ele = { + iid: null, + father: null, + children: [] + } + ele.iid = Math.random() + ele.father = item.rpFather + if (item.children != undefined) { + item.children.forEach(obj => { + let arr= [] + if(obj.userName){ + userNameList.push(obj.userName) + } + if(obj.testValue){ + arr = obj.testValue.split(",") + } + if (arr.length > this.empiricalValueAdd) { + this.empiricalValueAdd = arr.length + } + let o = { + deviceId: obj.deviceId, + deviceName: obj.deviceName, + iid: Math.random(), + required: obj.required, + rpId: obj.rpId, + name: obj.rpName, + unit: obj.rpUnit, + userName: obj.userName, + testValue: obj.testValue?obj.testValue:'', + testValueList: arr, + note: obj.note?obj.note:'', + testState: obj.testState + } + ele.children.push(o) + }) + this.list.push(ele) + }} + }) + let rVal = '1' + this.list.forEach(item=>{ + if(item.children){ + item.children.forEach(ele=>{ + if(ele.testState == 0){ + rVal = '0' + } + }) + } + }) + this.conclusionTable = [{ + code: data.code, + name: data.name, + userName: Array.from(new Set(userNameList)).join(','), + testState: this.resultVal==null?rVal:this.resultVal + }] }).catch(error=>{ this.$message.error("鑾峰彇澶辫触",error) }) @@ -693,75 +702,92 @@ this.conclusionTable = [] } }, - // 鍒犻櫎琛� - clickDeleteline(scope) { - // console.log(55555); - console.log(scope); - let index = this.list.findIndex(el =>{ - return el.children.find(ele => ele.iid == scope.row.iid) - }) - - let childrenIndex = this.list[index].children.findIndex(el => { - return el.iid == scope.row.iid - }) - // console.log(this.list); - console.log(index); - console.log(childrenIndex); - - this.list[index].children.splice(childrenIndex , 1); - if(childrenIndex == 0){ - this.list.splice(scope.row,1) - } - }, - increase(){ - let obj = { - iid:Math.random(), - father:'', - children:[ - { - iid:Math.random(), - name:'', - required:'', - unit:'' + changeState(row, index) { + if(row){ + let isTrue = true + for(var i=0;i<row.testValueList.length;i++){ + let val = row.testValueList[i] + let reg = /^[0-9]*[1-9][0-9]*$/ + console.log(['鏄�','鍚�'].includes(val)); + if(!reg.test(val) && !['鏄�','鍚�'].includes(val)){ + this.$message.error("璇疯緭鍏ユ暟瀛楁垨閫夋嫨鏄惁") + row.testValueList[i] = null + isTrue = false + } } - ] - } - this.list.push(obj) + if(!isTrue){ + return + } + } + if (row.rpId != null && row.rpId != '') { + let val = row.testValueList.join(",") + if (val === undefined || val === '' || val === null) { + return + } + let obj = { + deviceId: row.deviceId, + rpId: row.rpId, + testValue: val, + note: row.note + } + updateRawInsProduct(obj).then(res => { + if (res.data.code == 0) { + this.$message.success("鏇存柊鎴愬姛") + } else { + this.$message.error("鏇存柊澶辫触") + } + this.init() + }) + } }, - addwaydata(row){ - console.log(row.row); - let index = this.list.findIndex(el =>{ - return el.children.find(ele => ele.iid == row.row.iid) - }) - console.log(index); - let obj = { - iid:Math.random(), - name:'', - required:'', - unit:'' + // 鍒犻櫎瀛愰」鐩� + delChildren(row,index,isParent) { + if(isParent){ + let parentIndex = this.list.findIndex(el =>{ + return el.iid == row.iid + }) + this.list.splice(parentIndex,1) + }else{ + let i = this.list.findIndex(el =>{ + return el.children.find(ele => ele.iid == row.iid) + }) + let childrenIndex = this.list[i].children.findIndex(el =>{ + return el.iid == row.iid + }) + this.list[i].children.splice(childrenIndex,1) } - this.list[index].children.push(obj) + }, + //娣诲姞瀛愰」鐩� + addChildren(row){ + let obj = { + deviceId: null, + deviceName: null, + iid: Math.random(), + required: null, + rpId: null, + name: null, + unit: null, + userName: null, + testValue: null, + testValueList: [], + note: null, + testState: null + } + row.children.push(obj) }, save(){ - console.log(this.dataForm); let data = this.dataForm - console.log(data); - console.log(this.list); + this.list.forEach(item=>{ + item.children.forEach(c=>{ + c.testValue=c.testValueList.join(",") + }) + }) data.rawInsProducts = this.list - // console.log(data.rawInsProducts); - // data.rawInsProducts.forEach(item=>{ - // console.log(item); - // let val = item.testValueList.join(",") - // item.testValue = val - // console.log(item.testValue); - // }) - // console.log(data); - console.log('=====>'); addRawInspects(data).then(res=>{ - // this.$message.success("淇濆瓨鎴愬姛") + this.$message.success("淇濆瓨鎴愬姛") this.$router.go(-1) }).catch(error=>{ - // this.$message.error(error||'error') + this.$message.error(error) }) }, getDeviceList(){ -- Gitblit v1.9.3