质量不良分类,签名

master
guoshuang 12 months ago
parent 0d23f86825
commit 97f255f2c4

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

@ -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>

@ -91,6 +91,17 @@ export class Materialinspection extends VuexModule {
}));
return { locList };
}
//获取不良描述字典表
disqualificationlist: any = [];
@MutationAction
async getdisqualification(params: any) {
const result: any = await http.get(url.lanjuquality.Materialinspection.getdisqualification, { params: params });
const disqualificationlist = result.data.map((item: any) => ({
label: item.dictLabel,
value: item.dictValue,
}));
return { disqualificationlist };
}
locList1: any = [];
getDefectList: any = '';
@MutationAction

Loading…
Cancel
Save