质量不合格部分缺陷修改

master
guoshuang 12 months ago
parent 19d5b99955
commit 1722abe0ab

@ -119,6 +119,7 @@ export default {
} }
this.pickerVisable = true; this.pickerVisable = true;
this.listData = this.options; this.listData = this.options;
this.nSel = 0;
}, },
cancelSel() { cancelSel() {
this.pickerVisable = false; this.pickerVisable = false;

@ -0,0 +1,118 @@
<template>
<view class="content">
<u-modal v-model="isshow" @cancel="cancel" @confirm="confirm" :show-cancel-button="true" :show-title="false">
<uni-table class="badtable" ref="table" border emptyText="">
<uni-tr v-for="(item, index) in tagslist" :key="index">
<uni-td>{{ item.label }}</uni-td>
<uni-td width="50">
<u-input v-model="item.numberall" />
</uni-td>
<uni-td style="display: flex">
<!-- <uni-data-select
v-model="item.defect"
:localdata="defectList"
@change="selectProductlocCode7($event,item,index)"
></uni-data-select> -->
<jPicker style="height: 80rpx" moren="请选择" sureColor="#ff0000" @bindpicker="selectProductlocCode7($event, item, index)" showKey="label" valKey="value" :val="item.defect" :options="item.defectList" />
<!-- <u-icon size="28" name="close" @click="cleardefect(item.defect,index)"></u-icon> -->
</uni-td>
</uni-tr>
</uni-table>
</u-modal>
</view>
</template>
<script>
import jPicker from '@/components/J-Picker/jPicker.vue';
import model from './model';
//import UniTd from '../uni-table/components/uni-td/uni-td.vue';
export default {
name: 'badtable',
components: {
jPicker,
},
data() {
return {
model: model,
isshow: false,
tagslist: [],
tagslistcopy: [],
itemindex: '',
range: [
{ value: 0, label: '篮球' },
{ value: 1, label: '足球' },
{ value: 2, label: '游泳' },
],
};
},
props: ['options', 'moren', 'showKey', 'valKey', 'val', 'position', 'disabled', 'bgColor', 'sureColor', 'focus', 'defectList'],
methods: {
async open(item, index) {
console.log(item, index);
this.itemindex = index;
this.tagslist = JSON.parse(JSON.stringify(item.babtype));
this.tagslist.forEach((item) => {
item.defectList = [];
//console.log("item.defectList0```````:", item);
});
for (let tag of this.tagslist) {
await this.model.getdefectList(tag.defectCode);
tag.defectList = this.model.alldefectList;
}
console.log('this.tagslist是什么样的:', this.tagslist);
this.tagslistcopy = JSON.parse(JSON.stringify(this.tagslist));
this.isshow = true;
},
selectProductlocCode7(e, item, index) {
this.tagslist[index].defect = e.pickerName.value;
//item.defect = e.pickerName.value;
console.log('e:', item);
console.log('this.tagslist[index]:', this.tagslist[index]);
},
cancel() {
this.tagslist = this.tagslistcopy;
this.tagslist.forEach((item) => {
if (item.numberall == '') {
item.numberall = 0;
}
});
this.$emit('bindtypelist', this.tagslist, this.itemindex);
},
confirm() {
this.tagslist.forEach((item) => {
if (item.numberall == '') {
item.numberall = 0;
}
console.log('item:', item.defect);
// if(item.defect == undefined){
// item.defect = '';
// }
if (item.numberall != 0 && item.defect == undefined) {
item.defect = '';
}
// else if(item.numberall==0 && item.defect == undefined){
// item.defect = '';
// }
});
console.log('this.tagslist:', this.tagslist);
this.$emit('bindtypelist', this.tagslist, this.itemindex);
},
cleardefect(params, index) {
this.tagslist[index].defect = undefined;
},
},
computed: {},
};
</script>
<style>
.content {
padding: 20rpx;
margin: 30rpx;
}
.badtable {
padding: 20rpx;
}
</style>

@ -0,0 +1,49 @@
import { getModule, Module, MutationAction, VuexModule } from 'vuex-module-decorators';
import store from '@/store';
import http from '@/utils/request';
import { url } from '@/utils/url';
@Module({
namespaced: true,
dynamic: true,
store,
name: 'page.raw.badtable',
})
export class badtable extends VuexModule {
locList2: any = [];
materialtypeList: any = '';
@MutationAction
async getmaterialTypePDA() {
const result: any = await http.get(url.lanjuquality.Materialinspection.getDictData, {
//loginName: session.loginName,
params: {
dictType: 'material_type_oa',
},
});
console.log(result);
const materialtypeList: [] = result;
const locList2 = materialtypeList.map((item: any) => ({
label: item.ymdTypeName,
value: item.ymdType,
}));
return { locList2 };
}
alldefectList: any = [];
@MutationAction
async getdefectList(params) {
const result: any = await http.get(url.lanjuquality.Materialinspection.getClassInfoList, {
//loginName: session.loginName,
params: {
defectCode: params,
},
});
console.log(result);
const materialtypeList: [] = result.data;
const alldefectList = materialtypeList.map((item: any) => ({
label: item.className,
value: item.id,
}));
return { alldefectList };
}
}
export default getModule(badtable);

@ -142,8 +142,8 @@ export default class LoginPage extends BasePage {
// console.log('Version////', this.Version); // console.log('Version////', this.Version);
} }
///****************** ///******************
version = '0.0.96'; // //version = '0.0.96'; //
//version = '0.0.9'; // version = '0.0.10'; //
//*************** false true **************** //*************** false true ****************
//isTest = true; //isTest = true;

@ -229,10 +229,9 @@
<u-form-item label="不合格描述:"> <u-form-item label="不合格描述:">
<u-input style="background: #fafafa; border: 1px dashed #e2e2e2; padding: 10px 5px" v-model="formdata.remark" placeholder="" type="textarea" /> <u-input style="background: #fafafa; border: 1px dashed #e2e2e2; padding: 10px 5px" v-model="formdata.remark" placeholder="" type="textarea" />
</u-form-item> </u-form-item>
<u-form-item label="不良分类:"> <!-- <u-form-item label="不良分类:">
<jPicker sureColor="#ff0000" :moren="moren19" @bindpicker="selectdisqualification" showKey="label" valKey="value" :val="selectdisqualificationType.value" :options="disqualificationlist" /> <jPicker sureColor="#ff0000" :moren="moren19" @bindpicker="selectdisqualification" showKey="label" valKey="value" :val="selectdisqualificationType.value" :options="disqualificationlist" />
<!-- <u-input style="background: #fafafa; border: 1px dashed #e2e2e2; padding: 10px 5px" v-model="formdata.remark" placeholder="" type="textarea" /> --> </u-form-item> -->
</u-form-item>
</div> </div>
<div v-show="formdata.startOA == '1'"> <div v-show="formdata.startOA == '1'">
<u-form-item label="来料类别:"> <u-form-item label="来料类别:">
@ -279,11 +278,9 @@
<u-form-item label="不合格描述:"> <u-form-item label="不合格描述:">
<u-input style="background: #fafafa; border: 1px dashed #e2e2e2; padding: 10px 5px" v-model="formdata.remark" placeholder="" type="textarea" /> <u-input style="background: #fafafa; border: 1px dashed #e2e2e2; padding: 10px 5px" v-model="formdata.remark" placeholder="" type="textarea" />
</u-form-item> </u-form-item>
<u-form-item label="不良分类:"> <!-- <u-form-item label="不良分类:">
<jPicker sureColor="#ff0000" :moren="moren19" @bindpicker="selectdisqualification" showKey="label" valKey="value" :val="selectdisqualificationType.value" :options="disqualificationlist" /> <jPicker sureColor="#ff0000" :moren="moren19" @bindpicker="selectdisqualification" showKey="label" valKey="value" :val="selectdisqualificationType.value" :options="disqualificationlist" />
</u-form-item> -->
<!-- <u-input style="background: #fafafa; border: 1px dashed #e2e2e2; padding: 10px 5px" v-model="formdata.remark" placeholder="" type="textarea" /> -->
</u-form-item>
</div> </div>
<div v-show="formdata.startOA == '1'"> <div v-show="formdata.startOA == '1'">
<u-form-item label="生产数量:"> <u-form-item label="生产数量:">
@ -377,7 +374,8 @@
<jPicker style="border: 1px solid #dcdfe6; padding: 8px 18px" sureColor="#ff0000" :moren="moren8" @bindpicker="selectProductlocCode7" showKey="label" valKey="value" :val="selectList5.value" :options="model.locList5" /> <jPicker style="border: 1px solid #dcdfe6; padding: 8px 18px" sureColor="#ff0000" :moren="moren8" @bindpicker="selectProductlocCode7" showKey="label" valKey="value" :val="selectList5.value" :options="model.locList5" />
</div> </div>
</u-modal> </u-modal>
<badtype sureColor="#ff0000" ref="babtype" :showtype="isshowtype" @bindtypelist="selectbabTypelist" showKey="label" valKey="value" :options="model.locList1" /> <!-- <badtype sureColor="#ff0000" ref="babtype" :showtype="isshowtype" @bindtypelist="selectbabTypelist" showKey="label" valKey="value" :options="model.locList1" /> -->
<badtable sureColor="#ff0000" ref="badtable" @bindtypelist="selectbabTypelist" :showtype="isshowtype" :options="model.locList1" :defectList="disqualificationlist" />
<u-toast ref="uToast" /> <u-toast ref="uToast" />
<u-popup v-model="showsing" mode="center" width="98%"> <u-popup v-model="showsing" mode="center" width="98%">
<f-signature @getImg="getImg" @cancel="cancelsing"></f-signature> <f-signature @getImg="getImg" @cancel="cancelsing"></f-signature>
@ -389,16 +387,20 @@ import { Component } from 'vue-property-decorator';
import { BasePage } from '@/components/base/page'; import { BasePage } from '@/components/base/page';
import jPicker from '@/components/J-Picker/jPicker.vue'; import jPicker from '@/components/J-Picker/jPicker.vue';
import badtype from '@/components/bad-type/bad-type.vue'; import badtype from '@/components/bad-type/bad-type.vue';
import badtable from '@/components/bad-table/bad-table.vue';
import model from './model'; import model from './model';
import { session } from '@/store/modules/session'; import { session } from '@/store/modules/session';
import fSignature from '@/components/f-signature/f-signature.vue'; import fSignature from '@/components/f-signature/f-signature.vue';
//import UniTable from '@/components/uni-table/components/uni-table/uni-table.vue';
const mpaasScanModule: any = uni.requireNativePlugin('Mpaas-Scan-Module'); const mpaasScanModule: any = uni.requireNativePlugin('Mpaas-Scan-Module');
@Component({ @Component({
components: { components: {
jPicker, jPicker,
badtype, badtype,
badtable,
fSignature, fSignature,
//UniTable,
}, },
}) })
export default class PurchaseWHSRM extends BasePage { export default class PurchaseWHSRM extends BasePage {
@ -796,7 +798,7 @@ export default class PurchaseWHSRM extends BasePage {
this.selectZLType.value = dataobj.pgzr; // this.selectZLType.value = dataobj.pgzr; //
this.detaillistceshi = dataobj.qcCheckTaskDetails; this.detaillistceshi = dataobj.qcCheckTaskDetails;
this.detaillistdefects = dataobj.defects; this.detaillistdefects = dataobj.defects;
this.selectdisqualificationType.value = dataobj.remarkCode; // ///this.selectdisqualificationType.value = dataobj.remarkCode; //
this.detaillistdefects.forEach((item) => { this.detaillistdefects.forEach((item) => {
if (item.noOkQuality == null) { if (item.noOkQuality == null) {
item.noOkQuality = 0; item.noOkQuality = 0;
@ -811,15 +813,32 @@ export default class PurchaseWHSRM extends BasePage {
item.factoryCode = session.PoolName; item.factoryCode = session.PoolName;
item.checkType = this.selectList.value; item.checkType = this.selectList.value;
item.orderCode = this.clickitem.orderNo; item.orderCode = this.clickitem.orderNo;
item.files = []; if (!item.files) {
item.files = []; ///.........
} else {
item.files = item.files.map((item) => {
return item.fileAddress;
});
item.fileListStr = item.files.join(',');
}
let classTypeCodeslist = [];
if (item.classTypeCodes != null && item.classTypeCodes != '') {
classTypeCodeslist = item.classTypeCodes.split(',');
// classTypeCodeslist = classTypeCodeslist.filter(function(code) {
// return code.trim() !== ''; // 使 trim()
// });
//console.log('classTypeCodeslist...',classTypeCodeslist);
}
let defectObj = {}; let defectObj = {};
let classTypeCodesobj = {};
if (item.defectNames != null) { if (item.defectNames != null) {
item.defectNames.split(',').forEach((item) => { item.defectNames.split(',').forEach((item, index) => {
let [key, value] = item.split(':'); let [key, value] = item.split(':');
defectObj[key.trim()] = parseFloat(value.trim()); defectObj[key.trim()] = parseFloat(value.trim());
classTypeCodesobj[key.trim()] = classTypeCodeslist[index];
}); });
// console.log(defectObj, ''); // console.log(defectObj, '');
// console.log(this.defectCodelist, ''); //console.log('',this.defectCodelist);
let olddefectCodelist = []; let olddefectCodelist = [];
olddefectCodelist = JSON.parse(JSON.stringify(this.defectCodelist)); olddefectCodelist = JSON.parse(JSON.stringify(this.defectCodelist));
// console.log(olddefectCodelist, 'old'); // console.log(olddefectCodelist, 'old');
@ -828,6 +847,10 @@ export default class PurchaseWHSRM extends BasePage {
// console.log('', defectObj[item.label]); // console.log('', defectObj[item.label]);
item.numberall = defectObj[item.label]; item.numberall = defectObj[item.label];
} }
if (Object.prototype.hasOwnProperty.call(classTypeCodesobj, item.label)) {
//console.log('', defectObj[item.label]);
item.defect = classTypeCodesobj[item.label];
}
}); });
item.babtype = olddefectCodelist; item.babtype = olddefectCodelist;
} else { } else {
@ -892,6 +915,7 @@ export default class PurchaseWHSRM extends BasePage {
let defectCode = []; let defectCode = [];
let defectQuality = []; let defectQuality = [];
let defectlabel = []; let defectlabel = [];
let classTypeCodes = [];
// a.label = item.label; // a.label = item.label;
// a.defectCode = item.value; // a.defectCode = item.value;
// a.numberall = 0; // a.numberall = 0;
@ -902,10 +926,16 @@ export default class PurchaseWHSRM extends BasePage {
defectQuality.push(item.numberall); defectQuality.push(item.numberall);
defectlabel.push(a); defectlabel.push(a);
} }
//console.log(item.defect, '0000');
if (item.defect != undefined) {
classTypeCodes.push(item.defect);
}
}); });
this.detaillistceshi[index].defectCodes = defectCode.join(','); this.detaillistceshi[index].defectCodes = defectCode.join(',');
this.detaillistceshi[index].defectQualitys = defectQuality.join(','); this.detaillistceshi[index].defectQualitys = defectQuality.join(',');
this.detaillistceshi[index].defectNames = defectlabel.join(','); this.detaillistceshi[index].defectNames = defectlabel.join(',');
this.detaillistceshi[index].classTypeCodes = classTypeCodes.join(',');
//console.log( '',this.detaillistceshi[index].classTypeCodes)
const mergedObject = {}; const mergedObject = {};
for (let index = 0; index < this.detaillistceshi.length; index++) { for (let index = 0; index < this.detaillistceshi.length; index++) {
this.detaillistceshi[index].babtype.forEach((obj) => { this.detaillistceshi[index].babtype.forEach((obj) => {
@ -1019,10 +1049,10 @@ export default class PurchaseWHSRM extends BasePage {
this.selectZLType = e.pickerName; this.selectZLType = e.pickerName;
this.formdata.pgzr = this.selectZLType.value; this.formdata.pgzr = this.selectZLType.value;
} }
async selectdisqualification(e: any) { // async selectdisqualification(e: any) {
this.selectdisqualificationType = e.pickerName; // this.selectdisqualificationType = e.pickerName;
this.formdata.remarkCode = this.selectdisqualificationType.value; // this.formdata.remarkCode = this.selectdisqualificationType.value;
} // }
focustype(item, value, index) { focustype(item, value, index) {
//console.log('',item,value,index); //console.log('',item,value,index);
@ -1030,7 +1060,8 @@ export default class PurchaseWHSRM extends BasePage {
this.$nextTick(() => { this.$nextTick(() => {
this.isfocus = true; this.isfocus = true;
}); });
(this.$refs.babtype as any).open(item, index); //openbad(item, index);
(this.$refs.badtable as any).open(item, index);
} }
focus(item, value, index) { focus(item, value, index) {
if (this.detaillistceshi[index].upperDiff == null && this.detaillistceshi[index].downDiff == null) { if (this.detaillistceshi[index].upperDiff == null && this.detaillistceshi[index].downDiff == null) {
@ -1166,7 +1197,7 @@ export default class PurchaseWHSRM extends BasePage {
} }
if (this.selectList.value == 'checkTypeLL') { if (this.selectList.value == 'checkTypeLL') {
if (this.formdata.checkResult == 'N') { if (this.formdata.checkResult == 'N') {
if (this.formdata.remarkCode === null || this.formdata.remarkCode === '') { if (this.formdata.remark === null || this.formdata.remark === '') {
(this.$refs.uToast as any).show({ (this.$refs.uToast as any).show({
title: '不合格描述不能为空', title: '不合格描述不能为空',
type: 'default', type: 'default',
@ -1184,7 +1215,7 @@ export default class PurchaseWHSRM extends BasePage {
} }
//oa //oa
if (this.selectList.value == 'checkTypeLL') { if (this.selectList.value == 'checkTypeLL') {
if (this.formdata.checkResult == 'N') { if (this.formdata.startOA == '1') {
if (this.formdata.materialType === null || this.formdata.materialType === '') { if (this.formdata.materialType === null || this.formdata.materialType === '') {
(this.$refs.uToast as any).show({ (this.$refs.uToast as any).show({
title: '请选择来料类别', title: '请选择来料类别',
@ -1210,7 +1241,7 @@ export default class PurchaseWHSRM extends BasePage {
} }
//oa //oa
if (this.selectList.value == 'checkTypeSC' || this.selectList.value == 'checkTypeSCXJ' || this.selectList.value == 'checkTypeCP') { if (this.selectList.value == 'checkTypeSC' || this.selectList.value == 'checkTypeSCXJ' || this.selectList.value == 'checkTypeCP') {
if (this.formdata.checkResult == 'N') { if (this.formdata.startOA == '1') {
if (this.formdata.checkLoc === null || this.formdata.checkLoc === '') { if (this.formdata.checkLoc === null || this.formdata.checkLoc === '') {
(this.$refs.uToast as any).show({ (this.$refs.uToast as any).show({
title: '请输入发现地点', title: '请输入发现地点',
@ -1356,7 +1387,7 @@ export default class PurchaseWHSRM extends BasePage {
// //
checkResult: this.formdata.checkResult, checkResult: this.formdata.checkResult,
// //
remarkCode: this.formdata.remarkCode, remarkCode: null,
// //
remark: this.formdata.remark, remark: this.formdata.remark,
// //
@ -1428,7 +1459,7 @@ export default class PurchaseWHSRM extends BasePage {
// //
checkResult: this.formdata.checkResult, checkResult: this.formdata.checkResult,
// //
remarkCode: this.formdata.remarkCode, remarkCode: null,
// //
remark: this.formdata.remark, remark: this.formdata.remark,
// //
@ -1484,7 +1515,7 @@ export default class PurchaseWHSRM extends BasePage {
// //
checkResult: this.formdata.checkResult, checkResult: this.formdata.checkResult,
// //
remarkCode: this.formdata.remarkCode, remarkCode: null,
// //
remark: this.formdata.remark, remark: this.formdata.remark,
// //
@ -1574,6 +1605,9 @@ export default class PurchaseWHSRM extends BasePage {
} }
showScreenImg(i, files) { showScreenImg(i, files) {
let list = files; let list = files;
// .map((item) => {
// return item.fileAddress;
// });
uni.previewImage({ uni.previewImage({
current: i, current: i,
urls: list, urls: list,
@ -1604,7 +1638,7 @@ export default class PurchaseWHSRM extends BasePage {
uni.uploadFile({ uni.uploadFile({
url: 'http://192.168.202.20:9000/prod-api/file/upload', url: 'http://192.168.202.20:9000/prod-api/file/upload',
// url: '/prod-api/file/upload', // url: '/prod-api/file/upload',
// url: '/dev-api/file/upload', //url: '/dev-api/file/upload',
fileType: 'image', fileType: 'image',
filePath: item, filePath: item,
header: { header: {
@ -1821,7 +1855,7 @@ export default class PurchaseWHSRM extends BasePage {
// //
checkResult: this.formdata.checkResult, checkResult: this.formdata.checkResult,
// //
remarkCode: this.formdata.remarkCode, remarkCode: null,
// //
remark: this.formdata.remark, remark: this.formdata.remark,
// //
@ -1857,6 +1891,7 @@ export default class PurchaseWHSRM extends BasePage {
//qc //qc
qczg: this.formdata.qcFrom, qczg: this.formdata.qcFrom,
}; };
//console.log('稿params', params);
await model.commitDraft(params); //99999 await model.commitDraft(params); //99999
} }
@ -1869,7 +1904,7 @@ export default class PurchaseWHSRM extends BasePage {
} }
async getImg(e) { async getImg(e) {
uni.uploadFile({ uni.uploadFile({
url: '/prod-api/file/upload', url: '/dev-api/file/upload',
filePath: e, // You may need to save the blob as a file first or use a temp path filePath: e, // You may need to save the blob as a file first or use a temp path
name: 'file', name: 'file',
formData: { formData: {

@ -298,6 +298,8 @@ export const url = {
commitCheckResultsCg: qianzhuione + '/quality/handCheck/commitCheckResultsCg', commitCheckResultsCg: qianzhuione + '/quality/handCheck/commitCheckResultsCg',
getCheckTaskDetailListCG: qianzhuione + '/quality/handCheck/getCheckTaskDetailListCg', getCheckTaskDetailListCG: qianzhuione + '/quality/handCheck/getCheckTaskDetailListCg',
getdisqualification: qianzhuione + '/system/dict/data/getDictData', getdisqualification: qianzhuione + '/system/dict/data/getDictData',
getClassInfoList: qianzhuione + '/quality/defectClass/getClassInfoList',
getCheckTaskDetailListCg: qianzhuione + '/quality/handCheck/getCheckTaskDetailListCg',
}, },
// 历史记录 // 历史记录
Records: { Records: {

Loading…
Cancel
Save