From aecdfb8c9f8c5f20dc9adb61adf0a9c1385b9f14 Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期三, 17 一月 2024 09:58:54 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before
---
src/views/quality/finishedProductInspection/finishedProduct-form.vue | 215 ++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 147 insertions(+), 68 deletions(-)
diff --git a/src/views/quality/finishedProductInspection/finishedProduct-form.vue b/src/views/quality/finishedProductInspection/finishedProduct-form.vue
index 804c545..d2354d9 100644
--- a/src/views/quality/finishedProductInspection/finishedProduct-form.vue
+++ b/src/views/quality/finishedProductInspection/finishedProduct-form.vue
@@ -8,7 +8,7 @@
<h2 v-else>缂栬緫-浜у搧妫�楠屽崟</h2>
</div>
<div class="btn-group header-right">
- <el-button @click="addTestProject" v-if="processInspectVo.id==null">鐢熸垚妫�楠岄」鐩�</el-button>
+ <el-button type="primary" @click="addTestProject" v-if="processInspectVo.id==null">鐢熸垚妫�楠岄」鐩�</el-button>
</div>
</div>
<div class="page-main">
@@ -24,55 +24,60 @@
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="鎶ュ伐鍗曞彿锛�">
+ <el-form-item label="璁㈠崟鍙凤細">
<el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null"
- v-model="processInspectVo.orderNumber" placeholder="璇疯緭鍏ヨ鍗曞彿" autocomplete="off" />
+ v-model="processInspectVo.orderNumber" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鎶ュ伐鍗曞彿锛�">
+ <el-input disabled v-model="processInspectVo.productNo" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="瀹㈡埛鍚嶇О锛�">
- <el-input disabled v-model="processInspectVo.prname"
- placeholder="璇疯緭鍏ュ鎴峰悕绉�" autocomplete="off" />
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="宸ョ▼鍚嶇О锛�">
- <el-input disabled v-model="processInspectVo.sname"
- placeholder="璇疯緭鍏ュ伐绋嬪悕绉�" autocomplete="off" />
+ <el-input disabled v-model="processInspectVo.prname" autocomplete="off" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
+ <el-form-item label="宸ョ▼鍚嶇О锛�">
+ <el-input disabled v-model="processInspectVo.sname" autocomplete="off" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
<el-form-item label="浜у搧鍚嶇О锛�">
+ <el-tooltip class="item" effect="dark" :content="processInspectVo.material">
<el-select style="width: 100%" @change="changeOptionsSamplename" :disabled="processInspectVo.id != null"
v-model="processInspectVo.material" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О">
<el-option v-for="(item,index) in optionsSamplename" :key="index" :label="item.material"
:value="item.materialCode">
</el-option>
</el-select>
+ </el-tooltip>
</el-form-item>
</el-col>
<el-col :span="6">
- <el-form-item label="浜у搧缂栫爜锛�">
- <el-input disabled v-model="processInspectVo.mcode"
- placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" autocomplete="off" />
+ <el-form-item label="浜у搧缂栧彿锛�">
+ <el-input disabled v-model="processInspectVo.mcode" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="瑙勬牸鍨嬪彿锛�">
- <el-input disabled v-model="processInspectVo.specificationsModel"
- placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" />
+ <el-tooltip class="item" effect="dark" :content="processInspectVo.specificationsModel">
+ <el-input disabled v-model="processInspectVo.specificationsModel" autocomplete="off" />
+ </el-tooltip>
</el-form-item>
</el-col>
+ </el-row>
+ <el-row>
<el-col :span="6">
<el-form-item label="鍗曚綅锛�">
<el-input disabled v-model="processInspectVo.unit"
placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" />
</el-form-item>
</el-col>
- </el-row>
- <el-row>
<el-col :span="6">
<el-form-item label="鏁伴噺锛�">
<el-input v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�"
@@ -85,13 +90,9 @@
</el-form-item>
</el-col>
<el-col :span="6" v-if="processInspectVo.id != null">
- <el-form-item label="浜у搧鍚堟牸搴撲綅锛�" prop="locationId">
- <el-select @change="changeLocation" clearable style="width:100%"
- v-model="processInspectVo.locationId" placeholder="璇烽�夋嫨鍚堟牸搴撲綅"
- :disabled="resultVal!=null && processInspectVo.id!=null" autocomplete="off">
- <el-option v-for="(item,i) in locationList" :key="i"
- :label="item.locName+'-'+item.locNo" :value="item.id"></el-option>
- </el-select>
+ <el-form-item label="浜у搧鍚堟牸搴撲綅锛�" prop="locName">
+ <el-input v-model="processInspectVo.locName" clearable style="width:100%" placeholder="璇烽�夋嫨鍚堟牸搴撲綅" disabled autocomplete="off">
+ </el-input>
</el-form-item>
</el-col>
</el-row>
@@ -113,12 +114,12 @@
:cell-style="{textAlign:'center'}" row-key="iid" default-expand-all
style="width: 100%" ref="table" :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
<el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
- <el-table-column label="椤圭洰" prop="father" width="240" ></el-table-column>
- <el-table-column prop="iname" label="鎸囨爣" width="240" ></el-table-column>
- <el-table-column prop="iunit" label="鍗曚綅" width="240" ></el-table-column>
- <el-table-column prop="required" label="鏍囧噯鍊�" width="240" ></el-table-column>
+ <el-table-column label="椤圭洰" prop="father" show-overflow-tooltip width="140" ></el-table-column>
+ <el-table-column prop="iname" label="鎸囨爣" show-overflow-tooltip width="140" ></el-table-column>
+ <el-table-column prop="iunit" label="鍗曚綅" show-overflow-tooltip width="140" ></el-table-column>
+ <el-table-column prop="required" label="鏍囧噯鍊�" width="140" show-overflow-tooltip ></el-table-column>
<el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��"
- width="240" style="text-align: center;">
+ width="140" style="text-align: center;">
<template slot-scope="scope">
<el-col v-if="scope.row.itype === '1'">
<el-tooltip v-if="scope.row.iname!=null" :disabled="scope.row.eId != null"
@@ -143,20 +144,26 @@
</el-col>
</template>
</el-table-column>
- <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="250">
+ <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="200">
<template slot-scope="scope">
<span v-if="resultVal!=null && processInspectVo.id!=null" v-text="scope.row.ename"></span>
<div v-else>
- <el-select style="width:100%" v-model="scope.row.eId"
+ <el-select style="width:60%" v-model="scope.row.eId"
v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row)">
<el-option v-for="(item,index) in deviceList"
:key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option>
</el-select>
+ <el-button
+ size="small"
+ slot="append"
+ icon="el-icon-full-screen"
+ v-if="scope.row.iname != null"
+ @click="codeDevice(scope.row,scope.$index)"></el-button>
</div>
</template>
</el-table-column>
- <el-table-column prop="inspectionValue">
- label="妫�楠屾弿杩�" width="240" style="text-align: center;">
+ <el-table-column prop="inspectionValue"
+ label="妫�楠屾弿杩�" width="140" style="text-align: center;">
<template slot-scope="scope">
<el-col v-if="scope.row.itype === '1'">
<el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null"
@@ -175,7 +182,7 @@
class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
<el-input :disabled="scope.row.eId == null"
v-model="scope.row.inote"
- @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
+ @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input>
<span v-if="resultVal != null && processInspectVo.id != null"
v-text="scope.row.inote"></span>
</el-tooltip>
@@ -203,9 +210,9 @@
<el-col :span="24">
<el-table border height="90" :data="inspectionResultForm"
:header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}"
- :cell-style="{textAlign:'center'}">
- <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"></el-table-column>
- <el-table-column prop="material" label="鐗╂枡鍚嶇О"></el-table-column>
+ :cell-style="{textAlign: 'center'}">
+ <el-table-column prop="materialCode" width="200" label="鐗╂枡缂栧彿" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="material" width="200" label="鐗╂枡鍚嶇О" show-overflow-tooltip></el-table-column>
<el-table-column prop="userName" label="妫�楠屽憳"></el-table-column>
<el-table-column prop="result" label="妫�楠岀粨璁�">
<template slot-scope="scope">
@@ -223,6 +230,18 @@
</el-row>
</div>
</div>
+ <el-dialog
+ title="璁惧鎵弿"
+ :visible.sync="deviceCode"
+ width="60%">
+ <div style="height: 100vh;width: 100%;">
+ <qr-code-app ref="codeDeviceCompont" @ok="getDeviceResultInfo" @cancelCodeDialog="cancelDeviceCodeDialog"></qr-code-app>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="deviceCode = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="deviceCode = false">纭� 瀹�</el-button>
+ </span>
+</el-dialog>
</div>
</template>
@@ -239,9 +258,16 @@
} from '@/api/quality/finishedProduct'
import { getIfsLocationByGroupCopyAll } from '@/api/warehouse/location'
import { remote } from '@/api/admin/dict'
+ import qrCodeApp from '@/views/common/qrCodeApp'
export default {
+ components:{
+ qrCodeApp
+ },
data() {
return {
+ row: null,
+ proIndex: 0,
+ deviceCode: false,
locationList: [],
dataVal: [{
label: '鏄�',
@@ -259,7 +285,7 @@
// 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
empiricalValueAddMaxNumber: 0,
processInspectRules: {
- locationId: [{required: true,message:'璇烽�夋嫨搴撲綅鍙�',trigger:'blur'}]
+ locName: [{required: true,message:'璇烽�夋嫨搴撲綅鍙�',trigger:'blur'}]
},
processInspectVo: {
id: null,
@@ -268,7 +294,7 @@
mcode: null,
prname: null,
sname: null,
- orderNumber: "ZTTIC20230001",
+ orderNumber: null,
qualityTraceability: null,
quantity: null,
specificationsModel: null,
@@ -276,7 +302,7 @@
technologyId: null,
documentId: null,
outBatchNo: null,
- locationId: null,
+ locName: null,
},
inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
inspectionResultForm: [],
@@ -303,19 +329,32 @@
this.init()
},
methods: {
- changeLocation(val){
- if(val){
- let obj = {
- id: this.processInspectVo.id,
- locationId: val
- }
- updateLocationIdById(obj).then(res=>{
- if(res.status===200){
- this.$message.success("鏇存柊鍚堟牸搴撲綅鎴愬姛")
- }
- })
- }
- },
+ cancelDeviceCodeDialog(){
+ this.deviceCode = false
+ },
+ getDeviceResultInfo(val){
+ let id=val.split("id@")[1]
+ if(id!=undefined&&id!=''&&id!=null){
+ let filterData=this.deviceList.filter(item=>{
+ return item.id==id
+ })[0]
+ console.log(filterData);
+ this.row.eId=Number(id)
+ this.updateDevice(this.row)
+ }else{
+ this.$message({
+ message: '鏈瘑鍒嚭璁¢噺鍣ㄥ叿淇℃伅锛�',
+ type: 'warning'
+ });
+ }
+ },
+ codeDevice(row,index){
+ this.row=row
+ console.log("row",row);
+ this.deviceCode =true
+ this.$refs.codeDeviceCompont.openCamera()
+ this.proIndex=index
+ },
getIfsLocation(){
getIfsLocationByGroupCopyAll({locationGroup: '1'}).then(res=>{
if(res.status===200){
@@ -326,11 +365,6 @@
})
},
submitSave(){
- let locationId = this.processInspectVo.locationId
- if(locationId==null){
- this.$message.error("璇烽�夋嫨浜у搧鍚堟牸搴撲綅")
- return
- }
let pro = 0
this.inspectionItems.forEach(item => {
if(item.children){
@@ -340,6 +374,11 @@
pro+=arr.length
}
})
+ let obj = {
+ id: this.processInspectVo.id,
+ number: 0,
+ result: this.inspectionResultForm[0].result
+ }
if (pro > 0) {
this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', {
confirmButtonText: '纭畾',
@@ -347,11 +386,8 @@
inputPattern: /^\d+$/,
inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�'
}).then(({ value }) => {
- let data = {
- id: this.processInspectVo.id,
- number: value
- }
- updateFinishedInspectById(data).then(res => {
+ obj.number = value
+ updateFinishedInspectById(obj).then(res => {
if(res.data.data.indexOf("鎴愬姛") > 0){
this.$message.success("涓婃姤鎴愬姛");
this.checkTestState()
@@ -361,7 +397,7 @@
});
}).catch(() => {});
}else{
- updateFinishedInspectById({id:this.processInspectVo.id,number:0}).then(res => {
+ updateFinishedInspectById(obj).then(res => {
if(res.data.data.indexOf("鎴愬姛") > 0){
this.$message.success("涓婃姤鎴愬姛");
this.checkTestState()
@@ -403,7 +439,8 @@
this.processInspectVo.quantity = result.quantity
this.processInspectVo.documentId = result.documentId
this.processInspectVo.outBatchNo = result.outBatchNo
- this.processInspectVo.locationId = result.locationId
+ this.processInspectVo.locName = result.locName
+ this.processInspectVo.productNo = result.productNo
let userList = []
result.children.forEach(item=>{
item.iid = Math.random()
@@ -427,14 +464,30 @@
}
})
this.inspectionItems = result.children
+ let rVal = ''
+ let passNum = 0
+ let unPassNum = 0
+ this.inspectionItems.forEach(item => {
+ if (item.children) {
+ item.children.forEach(obj => {
+ if(obj.iresult == 0){
+ unPassNum += 1
+ }
+ if(obj.iresult == 1){
+ passNum+=1
+ }
+ })
+ }
+ })
+ rVal = (passNum+unPassNum)>0 ? unPassNum>0 ? '0' :'1' : ''
this.inspectionResultForm = [{
materialCode: result.materialCode,
material: result.material,
userName: Array.from(new Set(userList)).join(","),
- result: this.resultVal==null ? '' : this.resultVal,
+ result: this.resultVal==null ? rVal : this.resultVal,
}]
}).catch(error=>{
- console.log(error)
+ console.error(error)
})
}
},
@@ -557,12 +610,38 @@
}
})
},
+ changeRowResult(){
+ if(this.inspectionItems){
+ this.inspectionItems.forEach(e=>{
+ if(e.children){
+ e.children.forEach(i=>{
+ if(i.empiricalValueAddss.length>1){
+ let arr = i.inspectionValue.split(",")
+ arr.splice((arr.length-1),1)
+ let obj = {
+ devideId: i.eId,
+ fpid: row.iid,
+ inspectionValue: arr.join(","),
+ note : i.inote
+ }
+ updateFinishedInsProduct(obj).then(res => {
+ if (res.data.code == 0) {
+ this.init()
+ }
+ })
+ }
+ })
+ }
+ })
+ }
+ },
// 鍒犻櫎妫�楠屽�煎垪
clickDeleteInspectionColumn() {
if (this.empiricalValueAdd - 1 === 0) {
} else {
if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
this.empiricalValueAdd = this.empiricalValueAdd - 1;
+ this.changeRowResult()
this.inspectionItems.forEach(i => {
i.empiricalValueAddss.splice(this.empiricalValueAdd, 1);
});
--
Gitblit v1.9.3