|
|
|
@ -229,6 +229,10 @@
|
|
|
|
|
<u-form-item label="不合格描述:">
|
|
|
|
|
<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 label="不良分类:">
|
|
|
|
|
<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>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-show="formdata.startOA == '1'">
|
|
|
|
|
<u-form-item label="来料类别:">
|
|
|
|
@ -275,6 +279,11 @@
|
|
|
|
|
<u-form-item label="不合格描述:">
|
|
|
|
|
<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 label="不良分类:">
|
|
|
|
|
<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>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-show="formdata.startOA == '1'">
|
|
|
|
|
<u-form-item label="生产数量:">
|
|
|
|
@ -309,6 +318,21 @@
|
|
|
|
|
<u-form-item label="备注描述:">
|
|
|
|
|
<u-input v-model="formdata.attr3" placeholder="" type="textarea" :border="border" :height="height" :auto-height="autoHeight" />
|
|
|
|
|
</u-form-item>
|
|
|
|
|
<u-form-item label-width="60" v-show="selectList.value == 'checkTypeSC'" label="签名:">
|
|
|
|
|
<u-row class="button-bar">
|
|
|
|
|
<!-- 确定 -->
|
|
|
|
|
<u-col :span="4">
|
|
|
|
|
<u-button @click="singname('1')" type="primary">产线组长签名</u-button>
|
|
|
|
|
</u-col>
|
|
|
|
|
<!-- 返回 -->
|
|
|
|
|
<u-col :span="4">
|
|
|
|
|
<u-button @click="singname('2')" type="primary">机管员签名</u-button>
|
|
|
|
|
</u-col>
|
|
|
|
|
<u-col :span="4">
|
|
|
|
|
<u-button @click="singname('3')" type="primary">品管员签名</u-button>
|
|
|
|
|
</u-col>
|
|
|
|
|
</u-row>
|
|
|
|
|
</u-form-item>
|
|
|
|
|
<!-- <u-form-item v-if="isshow1" label="不合格数量:">
|
|
|
|
|
<u-input v-model="formdata.noOkQuality" placeholder="" type="number" />
|
|
|
|
|
</u-form-item>
|
|
|
|
@ -355,6 +379,9 @@
|
|
|
|
|
</u-modal>
|
|
|
|
|
<badtype sureColor="#ff0000" ref="babtype" :showtype="isshowtype" @bindtypelist="selectbabTypelist" showKey="label" valKey="value" :options="model.locList1" />
|
|
|
|
|
<u-toast ref="uToast" />
|
|
|
|
|
<u-popup v-model="showsing" mode="center" width="98%">
|
|
|
|
|
<f-signature @getImg="getImg" @cancel="cancelsing"></f-signature>
|
|
|
|
|
</u-popup>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
<script lang="ts">
|
|
|
|
@ -364,12 +391,14 @@ import jPicker from '@/components/J-Picker/jPicker.vue';
|
|
|
|
|
import badtype from '@/components/bad-type/bad-type.vue';
|
|
|
|
|
import model from './model';
|
|
|
|
|
import { session } from '@/store/modules/session';
|
|
|
|
|
import fSignature from '@/components/f-signature/f-signature.vue';
|
|
|
|
|
const mpaasScanModule: any = uni.requireNativePlugin('Mpaas-Scan-Module');
|
|
|
|
|
|
|
|
|
|
@Component({
|
|
|
|
|
components: {
|
|
|
|
|
jPicker,
|
|
|
|
|
badtype,
|
|
|
|
|
fSignature,
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
export default class PurchaseWHSRM extends BasePage {
|
|
|
|
@ -377,6 +406,8 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
border = true;
|
|
|
|
|
height = 100;
|
|
|
|
|
autoHeight = true;
|
|
|
|
|
showsing = false;
|
|
|
|
|
singmark = '';
|
|
|
|
|
moren = '请选择检验节点';
|
|
|
|
|
moren2 = '请选择批次号';
|
|
|
|
|
moren3 = '请选择不良分类';
|
|
|
|
@ -395,6 +426,7 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
moren16 = '请选择是否需要主管审核';
|
|
|
|
|
moren17 = '请选择质量主管';
|
|
|
|
|
moren18 = '请选择所属车间';
|
|
|
|
|
moren19 = '请选择不合格描述';
|
|
|
|
|
list: any = [];
|
|
|
|
|
locList6: any = [];
|
|
|
|
|
show = false;
|
|
|
|
@ -456,6 +488,7 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
selectZLType: any = {};
|
|
|
|
|
selectSSCJType: any = {};
|
|
|
|
|
sqrlist: any = {};
|
|
|
|
|
selectdisqualificationType: any = {};
|
|
|
|
|
// remove: any = {};
|
|
|
|
|
// async onReady() {
|
|
|
|
|
// await this.model.queryLocation();
|
|
|
|
@ -482,6 +515,7 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
QCZGList: any = [];
|
|
|
|
|
CQList: any = [];
|
|
|
|
|
SSCJlist: any = [];
|
|
|
|
|
disqualificationlist: any = [];
|
|
|
|
|
clickitem: any = '';
|
|
|
|
|
formdata: any = {
|
|
|
|
|
sampleQuality: null,
|
|
|
|
@ -495,6 +529,9 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
remark: null,
|
|
|
|
|
startOA: null,
|
|
|
|
|
reason: null,
|
|
|
|
|
cxzz: null,
|
|
|
|
|
jgy: null,
|
|
|
|
|
pgy: null,
|
|
|
|
|
};
|
|
|
|
|
isvalue = false;
|
|
|
|
|
isvalue2 = false;
|
|
|
|
@ -665,6 +702,13 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
this.CQList = model.locList9;
|
|
|
|
|
}
|
|
|
|
|
this.getDefectListPDA();
|
|
|
|
|
let disqualificationparams = {
|
|
|
|
|
dictType: 'unqualified_remark',
|
|
|
|
|
//dictLable:不良描述中文
|
|
|
|
|
remark: this.selectList.value,
|
|
|
|
|
};
|
|
|
|
|
await this.model.getdisqualification(disqualificationparams);
|
|
|
|
|
this.disqualificationlist = this.model.disqualificationlist;
|
|
|
|
|
//await this.model.getOaUserIdlist();
|
|
|
|
|
//this.sqrlist = model.sqrlist;
|
|
|
|
|
|
|
|
|
@ -752,6 +796,7 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
this.selectZLType.value = dataobj.pgzr; //质量主管
|
|
|
|
|
this.detaillistceshi = dataobj.qcCheckTaskDetails;
|
|
|
|
|
this.detaillistdefects = dataobj.defects;
|
|
|
|
|
this.selectdisqualificationType.value = dataobj.remarkCode; //是否不合格
|
|
|
|
|
this.detaillistdefects.forEach((item) => {
|
|
|
|
|
if (item.noOkQuality == null) {
|
|
|
|
|
item.noOkQuality = 0;
|
|
|
|
@ -949,6 +994,10 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
this.selectZLType = e.pickerName;
|
|
|
|
|
this.formdata.pgzr = this.selectZLType.value;
|
|
|
|
|
}
|
|
|
|
|
async selectdisqualification(e: any) {
|
|
|
|
|
this.selectdisqualificationType = e.pickerName;
|
|
|
|
|
this.formdata.remarkCode = this.selectdisqualificationType.value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
focustype(item, value, index) {
|
|
|
|
|
this.isfocus = false;
|
|
|
|
@ -1091,13 +1140,20 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
}
|
|
|
|
|
if (this.selectList.value == 'checkTypeLL') {
|
|
|
|
|
if (this.formdata.checkResult == 'N') {
|
|
|
|
|
if (this.formdata.remark === null || this.formdata.remark === '') {
|
|
|
|
|
if (this.formdata.remarkCode === null || this.formdata.remarkCode === '') {
|
|
|
|
|
(this.$refs.uToast as any).show({
|
|
|
|
|
title: '不合格描述不能为空',
|
|
|
|
|
type: 'default',
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (this.selectdisqualificationType.value === null || this.selectdisqualificationType.value === '') {
|
|
|
|
|
(this.$refs.uToast as any).show({
|
|
|
|
|
title: '不良分类不能为空',
|
|
|
|
|
type: 'default',
|
|
|
|
|
});
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//来料oa校验
|
|
|
|
@ -1239,7 +1295,7 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
// item.sampleQuality = this.sampleQuality;
|
|
|
|
|
// }
|
|
|
|
|
});
|
|
|
|
|
let query = {};
|
|
|
|
|
let query: any = {};
|
|
|
|
|
if (this.selectList.value == 'checkTypeSC' || this.selectList.value == 'checkTypeSCXJ' || this.selectList.value == 'checkTypeCP') {
|
|
|
|
|
//过程首见
|
|
|
|
|
query = {
|
|
|
|
@ -1273,7 +1329,9 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
startOA: this.formdata.startOA,
|
|
|
|
|
// 最终判定结果
|
|
|
|
|
checkResult: this.formdata.checkResult,
|
|
|
|
|
// 不合格措述
|
|
|
|
|
// 不良分类
|
|
|
|
|
remarkCode: this.formdata.remarkCode,
|
|
|
|
|
//不合格描述
|
|
|
|
|
remark: this.formdata.remark,
|
|
|
|
|
// 来料类别
|
|
|
|
|
//materialType: this.formdata.materialType,
|
|
|
|
@ -1305,6 +1363,11 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
sccj: this.formdata.sccj,
|
|
|
|
|
attr3: this.formdata.attr3,
|
|
|
|
|
};
|
|
|
|
|
if (this.selectList.value == 'checkTypeSC') {
|
|
|
|
|
query.cxzz = this.formdata.cxzz;
|
|
|
|
|
query.jgy = this.formdata.jgy;
|
|
|
|
|
query.pgy = this.formdata.pgy;
|
|
|
|
|
}
|
|
|
|
|
} else if (this.selectList.value == 'checkTypeLL') {
|
|
|
|
|
//来料
|
|
|
|
|
query = {
|
|
|
|
@ -1338,7 +1401,9 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
startOA: this.formdata.startOA,
|
|
|
|
|
// 最终判定结果
|
|
|
|
|
checkResult: this.formdata.checkResult,
|
|
|
|
|
// 不合格措述
|
|
|
|
|
// 不良分类
|
|
|
|
|
remarkCode: this.formdata.remarkCode,
|
|
|
|
|
//不合格描述
|
|
|
|
|
remark: this.formdata.remark,
|
|
|
|
|
// 来料类别
|
|
|
|
|
materialType: this.formdata.materialType,
|
|
|
|
@ -1392,7 +1457,9 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
startOA: this.formdata.startOA,
|
|
|
|
|
// 最终判定结果
|
|
|
|
|
checkResult: this.formdata.checkResult,
|
|
|
|
|
// 不合格措述
|
|
|
|
|
// 不良分类
|
|
|
|
|
remarkCode: this.formdata.remarkCode,
|
|
|
|
|
//不合格描述
|
|
|
|
|
remark: this.formdata.remark,
|
|
|
|
|
// 来料类别
|
|
|
|
|
materialType: this.formdata.materialType,
|
|
|
|
@ -1727,7 +1794,9 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
startOA: this.formdata.startOA,
|
|
|
|
|
// 最终判定结果
|
|
|
|
|
checkResult: this.formdata.checkResult,
|
|
|
|
|
// 不合格措述
|
|
|
|
|
// 不良分类
|
|
|
|
|
remarkCode: this.formdata.remarkCode,
|
|
|
|
|
//不合格描述
|
|
|
|
|
remark: this.formdata.remark,
|
|
|
|
|
// 来料类别
|
|
|
|
|
materialType: this.formdata.materialType,
|
|
|
|
@ -1764,6 +1833,48 @@ export default class PurchaseWHSRM extends BasePage {
|
|
|
|
|
};
|
|
|
|
|
await model.commitDraft(params); //99999
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
singname(singmark) {
|
|
|
|
|
this.showsing = true;
|
|
|
|
|
this.singmark = singmark;
|
|
|
|
|
}
|
|
|
|
|
cancelsing() {
|
|
|
|
|
this.showsing = false;
|
|
|
|
|
}
|
|
|
|
|
async getImg(e) {
|
|
|
|
|
uni.uploadFile({
|
|
|
|
|
url: '/prod-api/file/upload',
|
|
|
|
|
filePath: e, // You may need to save the blob as a file first or use a temp path
|
|
|
|
|
name: 'file',
|
|
|
|
|
formData: {
|
|
|
|
|
filename: '签名.png',
|
|
|
|
|
},
|
|
|
|
|
header: {
|
|
|
|
|
Authorization: 'Bearer ' + session.user?.access_token,
|
|
|
|
|
// 'cosmo-env-sitecode': this.$store.state.siteCode
|
|
|
|
|
},
|
|
|
|
|
success: (uploadFileRes) => {
|
|
|
|
|
(this.$refs.uToast as any).show({
|
|
|
|
|
title: '签名成功',
|
|
|
|
|
// url: '/pages/user/index'
|
|
|
|
|
});
|
|
|
|
|
let dataobj = JSON.parse(uploadFileRes.data);
|
|
|
|
|
console.log('uploadFileRes', dataobj);
|
|
|
|
|
if (this.singmark === '1') {
|
|
|
|
|
this.formdata.cxzz = dataobj.data.url;
|
|
|
|
|
console.log('this.formdata.cxzz', this.formdata.cxzz);
|
|
|
|
|
} else if (this.singmark === '2') {
|
|
|
|
|
this.formdata.jgy = dataobj.data.url;
|
|
|
|
|
} else if (this.singmark === '3') {
|
|
|
|
|
this.formdata.pgy = dataobj.data.url;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
fail: (error) => {
|
|
|
|
|
console.error(error);
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
this.showsing = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|