factory_web/src/views/wpm_bx/mlogbw_check_table.vue

959 lines
27 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<el-container v-if="visible">
<el-header v-if="descriptionVisible">
<div style="display: flex;align-items: center;justify-content: space-between;width: 100%;">
<div>检验人:{{setForm.test_user_name}}</div>
<div>检验设备:{{setForm.equipment_name}}</div>
<div>缺陷项:
<span v-for="(item1,index1) in defectlists" :key="item1.id">{{ item1.defect_name }}
<span v-if="index1 < defectlists.length-1">、</span>
</span>
</div>
<div>检测项:
<span v-for="(item2,index2) in testitemlists" :key="item2.id">{{ item2.testitem_name }}
<span v-if="index2 < testitemlists.length-1">、</span>
</span>
</div>
</div>
</el-header>
<el-main id="mlogbwMain">
<el-button type="primary" v-if="!isSubmit&&processType=='20'" @click="check_start" style="position: relative;">检验</el-button>
<el-button type="primary" v-if="multipleSet" @click="check_set" style="position: relative;left: 210px;">批量操作</el-button>
<el-input v-if="multipleSet" v-model="wprInputText" @change="wprinputChange" style="width:200px;position: relative;left: 308px;"></el-input>
<sc-form-table
hideDelete
id="mlogbwlist"
v-model="mlogbwlist"
placeholder="暂无数据"
:hideAdd="hideAdd"
:addTemplate="addTemplate"
:tableHeight="tableHeight"
:canMultiple = "canMultiple"
@selectChange="selectChange"
@selectAllChange="selectAllChange"
@add="rowAdd"
>
<el-table-column prop="mlogb__batch" label="物料批次" fixed min-width="80px"></el-table-column>
<el-table-column prop="number" label="物料编号" fixed min-width="80px">
<template #default="scope">
<span>{{ scope.row.number }}</span>
<span v-if="scope.row.wpr_number_out!==null&&scope.row.wpr_number_out!==undefined">——{{ scope.row.wpr_number_out }}</span>
</template>
</el-table-column>
<el-table-column prop="note" :label="item.testitem_name" v-for="item in qct_testitems" :key="item.id" width="150px">
<template #default="scope">
<span v-if="!scope.row.isEdit||!item.canEdit">{{ scope.row[item.testitem_name] }}</span>
<el-input-number
v-if="item.testitem_field_type=='input-number'&&scope.row.isEdit&&item.canEdit"
v-model="scope.row[item.testitem_name]"
class="width-100"
controls-position="right"
@change="defectCountSun(scope.row)"
></el-input-number>
<el-input-number
v-if="item.testitem_field_type=='input-int'&&scope.row.isEdit&&item.canEdit"
v-model="scope.row[item.testitem_name]"
:min="0"
class="width-100"
controls-position="right"
@change="defectCountSun(scope.row)"
></el-input-number>
<el-input
v-if="item.testitem_field_type=='input-text'&&scope.row.isEdit&&item.canEdit"
v-model="scope.row[item.testitem_name]"
class="width-100"
@change="defectCountSun(scope.row)"
></el-input>
<el-select
v-if="item.testitem_field_type=='select-text'&&scope.row.isEdit&&item.canEdit"
v-model="scope.row[item.testitem_name]"
clearable
class="width-100"
@change="defectCountSun(scope.row)"
>
<el-option
v-for="item0 in item.testitem_choices"
:key="item0"
:label="item0"
:value="item0"
></el-option>
</el-select>
<el-select
v-if="item.testitem_field_type=='selects-text'&&scope.row.isEdit&&item.canEdit"
v-model="scope.row[item.testitem_name]"
clearable
multiple
class="width-100"
@change="defectCountSun(scope.row)"
>
<el-option
v-for="item1 in item.testitem_choices"
:key="item1"
:label="item1"
:value="item1"
></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="note" :label="item.defect_name" v-for="item in qct_defects" :key="item.id" width="120px">
<template #default="scope">
<el-switch
:disabled="!scope.row.isEdit||!item.canEdit"
v-model="scope.row[item.defect_name]"
style="--el-switch-on-color: red"
@change="switchChange(scope.row, item)"
></el-switch>
</template>
</el-table-column>
<el-table-column prop="note" label="备注" width="80px">
<template #default="scope">
<span v-if="!scope.row.isEdit">{{ scope.row.note }}</span>
<el-input v-else v-model="scope.row.note" placeholder="备注"></el-input>
</template>
</el-table-column>
<el-table-column label="操作" width="160" align="center" fixed="right" v-if="!isSubmit">
<template #default="scope">
<el-button
v-if="scope.row.isEdit"
type="success"
@click="formTableSave(scope.row)"
>保存</el-button>
<el-button
v-if="scope.row.isEdit&&scope.row.id"
type="danger"
style="margin-left: 5px;"
@click="formTableCancel(scope.row)"
>取消</el-button>
<el-button
v-if="scope.row.isEdit&&setForm.cd_req_addr!=null"
type="warning"
style="margin-left: 5px;"
@click="getEqData(scope.$index)"
>重取数据</el-button>
<el-button
v-if="!scope.row.isEdit"
type="primary"
@click="formTableEdit(scope.row)"
>编辑</el-button>
<el-button
v-if="scope.row.isEdit&&!scope.row.id"
type="danger"
style="margin-left: 5px;"
@click="formTableDelet(scope.row)"
>删除</el-button>
<el-button
v-if="!scope.row.isEdit"
type="danger"
style="margin-left: 5px;"
@click="formTableDel(scope.row.id)"
>删除</el-button>
</template>
</el-table-column>
</sc-form-table>
</el-main>
</el-container>
<el-dialog
title="检验"
v-model="checkVisible"
destroy-on-close
>
<el-container>
<el-main>
<el-form
ref="dialogForm"
:model="form"
:rules="rules"
label-width="80px"
>
<el-row>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="操作人" prop="test_user">
<ehsSelect
v-model="form.test_user"
:showName="test_user_name"
:apiObj="this.$API.system.user.list"
:params="{ depts: dept }"
style="width: 100%"
@change="userChange"
></ehsSelect>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="设备">
<el-select
v-model="form.equipment"
placeholder="设备"
clearable
filterable
style="width: 100%"
@change="equipmentChange"
>
<el-option
v-for="item in equipmentOptions"
:key="item.id"
:label="item.name"
:value="item.id"
>
<span style="float:left">{{item.name}}</span>
<span style="float:right">{{item.number}}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="检测项">
<el-select
v-model="form.testitemids"
placeholder="检测项"
clearable
filterable
multiple
style="width: 100%"
@change="testitemidsChange"
>
<el-option
v-for="item in qct_testitems"
:key="item.testitem"
:label="item.testitem_name"
:value="item.testitem"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="缺陷项">
<el-select
v-model="form.defectids"
placeholder="缺陷项"
clearable
filterable
multiple
style="width: 100%"
@change="defectidsChange"
>
<template #header>
<el-checkbox
v-model="checkAll"
:indeterminate="indeterminate"
@change="handleCheckAll"
>全部</el-checkbox>
</template>
<el-option
v-for="item in qct_defects"
:key="item.defect"
:label="item.defect_name"
:value="item.defect"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-footer>
<el-button type="primary" v-loading="isSaveing" @click.stop="checkSetting" save>确定</el-button>
<el-button @click="saveCancel">取消</el-button>
</el-footer>
</el-main>
</el-container>
</el-dialog>
<el-dialog
title="批量检验"
v-model="setVisible"
destroy-on-close
style="height:100%;width:80%"
>
<el-container>
<el-main>
<el-form
ref="dialogForm"
:model="form"
:rules="rules"
label-width="150px"
>
<el-row>
<el-col v-for="item2 in defectlists" :key="item2.id" :span="12">
<el-form-item :label="item2.defect_name">
<el-switch v-model="item2.value"></el-switch>
</el-form-item>
</el-col>
<el-col>
<!-- 扫描物料的number 根据number对比list里的物料-->
<el-form-item label="检测物料" label-width="70px">
<el-input v-model="wprNumber" @change="wprChange(wprNumber)"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row>
<el-table :data="selectWpr" border>
<el-table-column prop="number" label="物料编号"></el-table-column>
<el-table-column v-for="item2 in defectlists" :key="item2.id" :label="item2.defect_name">
<el-switch v-model="item2.value" disabled></el-switch>
</el-table-column>
<el-table-column label="操作" width="90" align="center" fixed="right">
<template #default="scope">
<el-button type="danger" size="small" @click="selectWprDel(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-footer>
<el-button type="primary" :loading="isSaveing" @click.stop="saveSetting" save>保存</el-button>
<el-button @click="saveCancel">取消</el-button>
</el-footer>
</el-main>
</el-container>
</el-dialog>
</template>
<script>
export default {
props: {
qct: {
type: String,
default: "",
},
mlogId: {
type: String,
default: "",
},
wm: {
type: String,
default: "",
},
handle_user:{
type: String,
default: "",
},
handle_date:{
type: String,
default: "",
},
batchNumber:{
type: String,
default: "",
},
mgroup:{
type: String,
default: "",
},
mgroupName:{
type:String,
default:"",
},
dept:{
type:String,
default:"",
},
isSubmit:{
type: Boolean,
default: false,
},
material_out:{
type:String,
default:"",
},
material_in:{
type:String,
default:"",
},
processType:{
type:String,
default:"",
}
},
emits: ["success", "closed"],
data() {
return {
loading: false,
headTitle:{
ins:'输入物料详情',
outs:'输出物料详情',
},
mode:'',
//表单数据
form: {
test_user:"",
equipment:"",
cd_req_addr:null,//请求数据接口地址
equipment_name:"",
testitemids : [],
defectids : [],
},
test_user_name:"",
year:"",
month:"",
values:"",
wprNumber:"",
route_code:"",
wprInputText:"",
canMultiple:false,
checkAll: false,
hideAdd: true,
visible: false,
setVisible:false,
multipleSet:false,
checkVisible:false,
hasWpr:false,
descriptionVisible:false,
options:[],
qct_defects:[],
qct_testitems:[],
mlogbwlist:[],
testitems:[],
equipmentOptions:[],
addTemplate:{
mlogb: "",
number: "",
note: "",
isEdit: true,
},
setForm:{
test_user:"",
equipment:"",
equipment_name:"",
testitemids : [],
defectids : [],
},
rules: {
test_user: [{ required: true, message: "请选择操作人" }],
},
optionsEq:[],
defectlists:[],
testitemlists:[],
selectWprList:[],
qct_defects_origin:[],
selectWpr:[],
tableHeight:500,
apiObjPrint:this.$API.cm.labelmat.fromWm,
printer_name:localStorage.getItem("printer_name")
};
},
watch: {},
mounted() {
let that = this;
console.log('that.material_out',that.material_out)
if(that.processType=='20'){
that.canMultiple = true;
}
if(that.qct!==''&&that.qct!==null){//输出
that.getdefects();
}else if(that.material_out!==''&&that.material_out!==null){//输入
that.$API.qm.qct.getQct.req({ material: that.material_out,type:'out',tag:'process' }).then((res) => {
that.testdefectss(res);
}).catch(()=>{
that.getList();
})
}
that.visible = true;
setTimeout(() => {
that.tableHeight = document.getElementById('mlogbwMain').clientHeight-20;
},500)
that.route_code = that.$route.path.split("/")[2];
that.hideAdd = that.isSubmit;
that.currentDate = that.$TOOL.dateFormat2(new Date());
},
methods: {
refreshfun(){
this.getList();
},
rowAdd(data){
let that = this;
let years = that.year+'';
years = years.slice(2,4);
let months = that.month<10?'0'+that.month:that.month;
let num = data.number.slice(-4);
num = Number(num)+1;
if(num<10){
num = "000"+num;
}else if(num<100){
num = "00"+num;
}else if(num<1000){
num = "0"+num;
}
if(that.mgroupName=='排一次棒'){
that.addTemplate.number = years+months+num;
}
if(that.mgroupName=='排板'){
that.addTemplate.number = years+ months + that.material_model+num;
}
},
selectChange(rows){
console.log('rowsrows',rows)
let that = this;
that.selectWprList = rows;
},
selectAllChange(datas){
console.log('datas',datas)
let that = this;
that.selectWprList = datas;
},
getEquipment4() {
let that = this;
that.$API.em.equipment.list.req({page:0,cate__code:"4",query:"{id,name,number}"}).then((res) => {
that.optionsEq = res.reverse();
})
},
getEquipments(){
let that = this;
that.$API.em.equipment.list.req({page:0,cate__code:"6"}).then((res) => {
that.equipmentOptions = res;
})
},
getdefects(){
let that = this;
that.$API.qm.qct.item.req(that.qct).then((res) => {
that.qct_defects = [];
that.testdefectss(res);
})
},
testdefectss(res){
let that = this;
res.qct_defects.forEach((item) => {
that.addTemplate[item.defect_name] = false;
let obj = Object.assign({}, item);
obj.canEdit = that.processType=='20'?false:true;
that.qct_defects.push(obj);
})
that.qct_defects_origin = that.qct_defects;
that.qct_testitems = [];
res.qct_testitems.forEach((item2) => {
if(item2.testitem_type!=='20'){
let obj2 = Object.assign({}, item2);
obj2.value = '';
obj2.canEdit = that.processType=='20'?false:true;
obj2.addto_wpr = item2.addto_wpr;
if(item2.testitem_field_type=='input-number'||item2.testitem_field_type=='input-int'){
obj2.value = null;
that.addTemplate[item2.testitem_name] = null;
}
if(item2.testitem_field_type=='select-text'||item2.testitem_field_type=='selects-text'){
let str = obj2.testitem_choices.replace(/'/g, '"');
let arr = JSON.parse(str);
obj2.testitem_choices = arr;
that.addTemplate[item2.testitem_name] = null;
}
that.qct_testitems.push(obj2);
}
})
that.qct_testitems_origin = that.qct_testitems;
that.getList();
},
getOptions(){
let that = this;
that.$API.wpm.wpr.list.req({wm:that.wm,page:0,query:"{id,number}"}).then((res) => {
that.options = res;
})
},
optionChange(row){
let that = this;
that.options.forEach((item) => {
if(item.id == row.wpr){
let index = that.mlogbwlist.indexOf(row);
that.mlogbwlist[index].number = item.number;
}
})
},
getList(){
let that = this;
let params = {};
that.mlogbwlist = [];
params.page = 0;
params.type = 'out';
params.mlogb__mlog = that.mlogId;
that.$API.wpm.mlogbw.list.req(params).then((res) => {
that.mlogbwlist = [];
if(res.length>0){
res.forEach((item) => {
let obj = {};
obj = Object.assign({},item);
obj.isEdit = false;
if(that.qct!=''){
if(item.ftest!=null){
if(item.ftest.ftestdefects!==undefined&&item.ftest.ftestdefects!==''&&item.ftest.ftestdefects!==null&&item.ftest.ftestdefects.length>0){
item.ftest.ftestdefects.forEach((item1) => {
obj[item1.defect_name] = item1.has;
})
}
if(item.ftest.ftestitems!==undefined&&item.ftest.ftestitems!==''&&item.ftest.ftestitems!==null&&item.ftest.ftestitems.length>0){
item.ftest.ftestitems.forEach((item2) => {
obj[item2.testitem_name] = item2.test_val_json;
})
}
}else{
that.qct_defects.forEach((item1) => {
obj[item1.defect_name] = false;
})
that.qct_testitems.forEach((item2) => {
obj[item2.testitem_name] = null;
})
}
}
that.mlogbwlist.push(obj);
})
}
})
},
//添加
formTableSave(row) {
let that = this;
let obj = {};
obj.number = row.number;
obj.mlogb = row.mlogb;
obj.wpr = row.wpr;
obj.note = row.note;
//qct不为空有检验表
if(that.qct!==''&&that.qct!==null){
that.qct_defects_origin.forEach(item => {
if(item.rule_expression!==''&&item.rule_expression!==undefined&&item.rule_expression!==null){
let str = item.rule_expression.replace(/`/g, '');
str = str.replace(/\${(.*?)}/g, 'row.\$1')
let judge = eval(str);
row[item.defect_name] = judge;
}
});
obj.ftest = {};
obj.ftest.ftestitems = [];
obj.ftest.ftestdefects = [];
obj.ftest.qct = that.qct;
obj.ftest.test_date = that.handle_date!=null?that.handle_date:that.currentDate;
obj.ftest.test_user = that.handle_user;
if(that.qct_defects.length>0){
that.qct_defects.forEach((item) => {
let itemObj = {};
itemObj.defect = item.defect;
itemObj.test_user = that.handle_user;
itemObj.has = row[item.defect_name]?row[item.defect_name]:false;
obj.ftest.ftestdefects.push(itemObj);
})
}
if(that.qct_testitems.length>0){
that.qct_testitems.forEach((item1) => {
let itemObj1 = {};
itemObj1.testitem = item1.testitem;
itemObj1.test_user = that.handle_user;
itemObj1.addto_wpr = item1.addto_wpr;
itemObj1.test_val_json = row[item1.testitem_name];
obj.ftest.ftestitems.push(itemObj1);
})
}
}else{
obj.ftest = null;
}
if(row.id!==''&&row.id!==undefined&&row.id!==null){
obj.id = row.id;
that.$API.wpm.mlogbw.update.req(row.id,obj).then((res) => {
that.$message.success("保存成功");
that.getList();
return res;
}).catch((err) => {
return err;
});
}else{
that.$API.wpm.mlogbw.create.req(obj).then((res) => {
that.$message.success("添加成功");
that.getList();
return res;
}).catch((err) => {
return err;
});
}
},
formTableCancel(row){
this.mlogbwlist.forEach((item, index) => {
if (item.id == row.id) {
this.mlogbwlist[index].isEdit = false;
}
});
},
formTableEdit(row) {
let that = this;
if(that.route_code=='niuzhuan'&&that.optionsEq.length==0){
that.getEquipment4();
}
that.mlogbwlist.forEach((item, index) => {
if (item.id == row.id) {
that.mlogbwlist[index].isEdit = true;
let date = new Date();
if(that.mlogbwlist[index].work_start_time==''||that.mlogbwlist[index].work_start_time==null){
that.mlogbwlist[index].work_start_time = that.$TOOL.dateFormat(date, 'yyyy-MM-dd hh:mm:ss');
}
}
});
},
formTableDelet(row){
this.mlogbwlist.pop();
},
//删除
formTableDel(id) {
let that = this;
that.$confirm(`确定删除吗?`, "提示", {
type: "warning",
}).then(() => {
that.$API.wpm.mlogbw.delete.req(id).then((res) => {
that.getList();
that.$message.success("删除成功");
}).catch((err) => {
return err;
});
}).catch(() => {});
},
switchChange(row,item){
let that = this;
let index = that.mlogbwlist.indexOf(row);
that.mlogbwlist[index][item.defect_name] = row[item.defect_name];
},
//表单提交方法
mlogbSubmit() {
let that = this;
that.$API.wpm.mlogb.submit.req(that.mlogb).then((res) => {
that.isSaveing = false;
that.visible = false;
that.$message.success("操作成功");
});
},
defectCountSun(row){
let that = this;
let index = that.mlogbwlist.indexOf(row);
that.qct_defects_origin.forEach(item => {
if(item.rule_expression!==''&&item.rule_expression!==undefined&&item.rule_expression!==null){
let str = item.rule_expression.replace(/`/g, '');
str = str.replace(/\${(.*?)}/g, 'row.\$1')
let judge = eval(str);
that.mlogbwlist[index][item.defect_name] = judge;
}else{
that.mlogbwlist[index][item.defect_name] = false;
}
});
},
//设置过滤项
setFilters(filters) {
this.selectionFilters = filters;
this.setFiltersVisible = true;
},
handlePrint(){
let that = this;
that.printVisible = true;
},
//打印物料标签
printMaterial(row){
let that = this;
that.apiObjPrint.req({tid:row.id}).then((res) => {
let code = res.code_label;
let str = [
"SIZE 40 mm,70 mm",
"GAP 7 mm,7 mm",
"CLS",
"REFERENCE 0,0",
'QRCODE 30,400,H,5,A,0,"' +code +'"',
"WINTEXT 200,550,28,90,0,0,Simhei," + res.material_name,
"WINTEXT 240,550,28,90,0,0,Simhei," +"批次号:" + res.batch,
"WINTEXT 280,550,28,90,0,0,Simhei," +"数量:" + row.count,
"PRINT 1",
];
let obj = {};
obj.printer_commands = str;
obj.printer_name = that.printer_name;
that.$API.wpm.prints.req(obj).then((response) => {
that.$message.success("打印成功");
});
})
},
userChange(val){
let that = this;
that.$API.system.user.item.req(val).then((res) => {
that.setForm.test_user_name = res.name;
})
},
equipmentChange(){
let that = this;
that.equipmentOptions.forEach(item => {
if(item.id == that.form.equipment){
that.form.equipment_name = item.name;
that.form.cd_req_addr=item.cd_req_addr;
}
});
},
testitemidsChange(){
let that = this;
that.testitemlists = [];
that.qct_testitems.forEach(item => {
if(that.form.testitemids.indexOf(item.testitem) > -1){
item.canEdit = true;
item.value=null;
that.testitemlists.push(item);
}
});
},
defectidsChange(){
let that = this;
that.defectlists = [];
that.qct_defects.forEach(item => {
if(that.form.defectids.indexOf(item.defect) > -1){
item.canEdit = true;
item.value=null;
that.defectlists.push(item);
}
})
if(that.defectlists.length == that.qct_defects.length){
that.checkAll = true;
}else{
that.checkAll = false;
}
},
handleCheckAll(){
let that = this;
that.defectlists = [];
that.form.defectids = [];
if(that.checkAll){
that.qct_defects.forEach(item => {
item.canEdit = true;
item.value=null;
that.defectlists.push(item);
that.form.defectids.push(item.defect);
})
}
},
check_start(){
this.checkVisible=true;
this.getEquipments();
},
checkSetting(){
let that = this;
that.isSaveing = true;
that.$refs.dialogForm.validate((valid) => {
if (valid) {
let obj = {};
obj.mlogbw_ids = that.mlogbwlist.map(item => item.id);
obj.test_equip = that.form.equipment;
obj.test_user = that.form.test_user;
obj.test_date = that.handle_date!=null?that.handle_date:that.currentDate;
if(that.form.defectids.length>0){
obj.defects = that.form.defectids;
}
if(that.form.testitemids.length>0){
obj.testitems = that.form.testitemids;
}
obj.qct = that.qct;
that.$API.wpm.mlogbw.start_test.req(obj).then((res) => {
that.isSaveing = false;
that.form = {};
that.checkVisible = false;
that.multipleSet = true;
that.descriptionVisible = true;
that.qct_defects = [];
that.qct_defects = that.defectlists;
that.qct_testitems = [];
that.qct_testitems = that.testitemlists;
that.tableHeight = document.getElementById('mlogbwMain').clientHeight-80;
that.getList();
}).catch(() => {
that.isSaveing = false;
})
}else{ that.isSaveing = false;}
});
},
saveCancel(){
this.form = {};
this.form.test_user = "";
this.form.equipment = "";
this.form.testitemids = [];
this.form.defectids = [];
this.checkVisible = false;
},
check_set(){
this.wprNumber = "";
this.selectWpr = [];
if(this.selectWprList.length>0){
this.selectWpr = this.selectWprList;
}
this.setVisible=true;
},
//扫描物料将这一行放到第一行并编辑这一行
wprinputChange(){
let that = this;
that.mlogbwlist.forEach((item,index) => {
let indexs = item.number.indexOf(that.wprInputText)
if(indexs>-1&&that.wprInputText !== ""){
let obj = Object.assign({},item);
obj.isEdit = true;
that.mlogbwlist.splice(index,1);
that.wprInputText = "";
that.mlogbwlist.unshift(obj);
if(that.setForm.cd_req_addr!==null){
//执行cd_req_addr,获取检测设备的数据
that.getEqData(0);
}
}
})
},
getEqData(index){
let that = this;
that.$API.em.cd.req({method:that.setForm.cd_req_addr}).then((res) => {
that.qct_testitems.forEach(item0 => {
if(item0.testitem_cd_expr!=null){
that.mlogbwlist[index][item0.testitem_name]= eval(item0.testitem_cd_expr);
}
})
}).catch((err) => {
return err;
});
},
wprChange(wprNumber){
let that = this;
that.mlogbwlist.forEach(item => {
if(item.number == wprNumber){
that.selectWpr.push(item);
that.wprNumber = "";
}
});
},
selectWprDel(row){
let that = this;
that.selectWpr.forEach((item,index) => {
if(item.number == row.number){
that.selectWpr.splice(index,1);
}
});
},
saveSetting(){
let that = this;
that.$refs.dialogForm.validate((valid) => {
if (valid) {
that.selectWpr.forEach(item => {
item.ftest.ftestdefects.forEach(defect => {
let defectindex = that.setForm.defectids.indexOf(defect.defect);
if(defectindex > -1){
defect.has = that.defectlists[defectindex].value;
}
})
item.ftest.ftestitems.forEach(testitem => {
let testitemindex = that.setForm.testitemids.indexOf(testitem.testitem);
if( testitemindex > -1){
testitem.test_val_json = that.testitemlists[testitemindex].value;
}
})
});
that.$API.wpm.mlogbw.update.req("bulk",that.selectWpr).then((res) => {
that.setVisible = false;
that.getList();
}).catch((err) => {
return err;
});
}
});
},
},
};
</script>
<style scoped>
#mlogbwMain{
position: relative;
}
.width-100{
width: 100%;
}
</style>