From 67da82f0b0c24df5f19bbfcfec63801d9ae902d8 Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期三, 13 十二月 2023 16:22:05 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/quality/rawMaterial/rawMaterial-form.vue | 237 +++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 165 insertions(+), 72 deletions(-) diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue index 3833aae..1d38bdc 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 type="primary" @click="save()" v-if="this.dataForm.id==null">淇濆瓨</el-button> + <el-button @click="save()" v-if="this.dataForm.id==null">淇濆瓨</el-button> </div> </div> <div class="page-main"> @@ -21,6 +21,12 @@ 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 @@ -28,6 +34,11 @@ icon="el-icon-search" :disabled="resultVal!=null && dataForm.id!=null" @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,7 +108,7 @@ </div> - + <div class="rawMaterial-detail"> <el-row style="width:100%;z-index: 10;height:50px;"> <el-col :span="18">妫�楠岄」鐩�</el-col> @@ -114,16 +124,16 @@ </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> @@ -146,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"> @@ -160,7 +170,7 @@ <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-select style="width:100%" allow-create filterable default-first-option + <el-select @blur="changeState(scope.row, index)" 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="updateTestValue(scope.row,scope.$index)"> @@ -174,9 +184,9 @@ <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="260"> <template slot-scope="scope"> <div v-if="!scope.row.children"> - <el-select :disabled="dataForm!=null && resultVal!=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> @@ -185,7 +195,7 @@ <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> + <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> @@ -211,8 +221,6 @@ </el-col> </el-row> </div> - - <div class="rawMaterial-result"> <el-row> <el-col :span="24">妫�楠岀粨璁�</el-col> @@ -220,7 +228,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> @@ -257,11 +265,12 @@ <el-button type="primary" @click="submitSave()">纭� 瀹�</el-button> </span> </el-dialog> + <!-- <qrcode :qrcode="qrcode" v-show="qrcode" :camera="camera" /> --> </div> </template> <script> -import { +import { selectDevice, addRawInspects, getObj, @@ -269,13 +278,19 @@ updateRawInspectsById, updateDeviceById, } from '@/api/quality/rawMaterial' import rawMaterialPartDialog from '@/views/common/rawMaterial-part' + // import qrcode from './QrcodeReader.vue' export default { computed:{}, components:{ - rawMaterialPartDialog + rawMaterialPartDialog, + // qrcode + // qrcode: () => import('./QrcodeReader.vue'), }, data(){ return{ + qrcode: false, + torchActive: false, + camera: 'off', userdata:[], currentRow:[], userlist:[], @@ -330,7 +345,7 @@ this.$refs.table.doLayout(); }) }, - mounted(){ + created(){ this.dataForm.id = this.$route.query.id this.resultVal = this.$route.query.resultVal if(this.resultVal == null){ @@ -348,17 +363,76 @@ }, }, methods:{ - changeName(index,row){ - this.projectList.forEach(item=>{ - if(row.name == item.name){ - this.list[index].unit = item.unit - this.list[index].required = item.required - } - }) - }, + // 鎵撳紑鐩告満 + Turnonthecamera() { + this.qrcode = true + 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('閿欒') + // } + // }, + + // 妫�鏌ユ槸鍚﹁皟鐢ㄦ憚鍍忓ご + // 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) { if (typeof param !== 'undefined') { + this.dataForm.rawInsNo = param.rawInsNo this.dataForm.code = param.code this.dataForm.name = param.name this.dataForm.formTime = param.formTime @@ -381,24 +455,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 @@ -428,13 +503,15 @@ number: this.unqualifiedNum, } 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 + }else{ + this.$message.error("涓婃姤澶辫触锛�",res.data.data); } + this.dialogVisible = false + this.checkTestState() }); - this.checkTestState() }, addTeatValueColumn(){ this.empiricalValueAdd = this.empiricalValueAdd + 1; @@ -469,8 +546,8 @@ if (arr.length > this.empiricalValueAdd) { this.empiricalValueAdd = arr.length } + }) this.list.push(ele) - }) }else{ ele.children.push({ deviceId: null, @@ -481,17 +558,17 @@ name: null, unit: null, userName: null, - testValue: null, + testValue: '', testValueList: [], note: null, - testState: null + testState: '' }) this.list.push(ele) } }, delTeatValueColumn(){ - if (this.empiricalValueAdd - 1 === 0) { } else { + if (this.empiricalValueAdd - 1 > 0) { if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) { this.empiricalValueAdd = this.empiricalValueAdd - 1; this.list.forEach(i => { @@ -501,7 +578,6 @@ } }, updateTestValue(row,index){ - console.log(row); if(row.rpId == null){ return } @@ -527,6 +603,7 @@ if(this.dataForm.id){ getObj(this.dataForm.id).then(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 @@ -548,13 +625,17 @@ } 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) } - let arr= [] if(obj.testValue){ arr = obj.testValue.split(",") + } + if (arr.length > this.empiricalValueAdd) { + this.empiricalValueAdd = arr.length } let o = { deviceId: obj.deviceId, @@ -573,8 +654,8 @@ ele.children.push(o) }) this.list.push(ele) - } - }) + }} + }) this.conclusionTable = [{ code: data.code, name: data.name, @@ -587,6 +668,28 @@ }else{ this.conclusionTable = [] } + }, + changeState(row, index) { + 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() + }) + } }, // 鍒犻櫎瀛愰」鐩� delChildren(row,index,isParent) { @@ -607,7 +710,6 @@ }, //娣诲姞瀛愰」鐩� addChildren(row){ - console.log(row); let obj = { deviceId: null, deviceName: null, @@ -625,21 +727,12 @@ row.children.push(obj) }, save(){ - let data = this.dataForm - console.log('--------',data); - console.log("-----",this.list); this.list.forEach(item=>{ item.children.forEach(c=>{ - let arr=c.testValueList - let val='' - arr.forEach(a=>{ - val+=a+"," - }) - let end=val.substring(0,val.length-1) - c.testValue=end + c.testValue=c.testValueList.join(",") }) - }) + }) data.rawInsProducts = this.list addRawInspects(data).then(res=>{ this.$message.success("淇濆瓨鎴愬姛") -- Gitblit v1.9.3