镀后入库和工序检验页面接口联调

master
zhangdi 4 days ago
parent b53d05b4a1
commit e62b2a1eb9
  1. 58
      api/product.js
  2. 14
      api/system/dict.js
  3. 35
      pages/index/menu.js
  4. 471
      pages/production/afterPlatingInStore.vue
  5. 569
      pages/production/processIns.vue
  6. BIN
      static/images/menus/afterPlatingInStore.png
  7. BIN
      static/images/menus/processIns.png

@ -1,6 +1,6 @@
import http from '@/http/api.js'
// 工序接收 查询数据
const loadNotReceived = (params) => {
const loadNotReceived = (params) => {
return http.request({
url: '/blade-desk/prMakeRec/loadNotReceived',
method: 'GET',
@ -9,7 +9,7 @@ import http from '@/http/api.js'
}
// 工序接收 /
const workPlanReceive = (params) => {
const workPlanReceive = (params) => {
return http.request({
url: '/blade-desk/produceMonitor/workPlanReceive',
method: 'POST',
@ -18,7 +18,7 @@ import http from '@/http/api.js'
}
// 工序报工查询 /prMakeRec/loadCurrentWp
const loadCurrentWp = (params) => {
const loadCurrentWp = (params) => {
return http.request({
url: '/blade-desk/prMakeRec/loadCurrentWp',
method: 'GET',
@ -26,7 +26,7 @@ import http from '@/http/api.js'
})
}
// 工序报工提交 /prMakeRec/saveMakeRec
const saveMakeRec = (data) => {
const saveMakeRec = (data) => {
return http.request({
url: '/blade-desk/prMakeRec/saveMakeRec',
method: 'POST',
@ -34,9 +34,55 @@ import http from '@/http/api.js'
})
}
// 工序检验查询
const loadProTest = (params) => {
return http.request({
url: '/blade-desk/pdaLoad/loadProTest/' + params.cardNo,
method: 'GET',
})
}
// 系统字段查询
const dictionaryNew = (params) => {
return http.request({
url: '/blade-system/dict/dictionary',
method: 'GET',
params
})
}
// 工序检验保存 /pdaLoad/saveProCheck
const saveProCheck = (data) => {
return http.request({
url: '/blade-desk/pdaLoad/saveProCheck',
method: 'POST',
data: data
})
}
// 获取镀后入库的数据
const getAfterPlatInCardNo = (params) => {
return http.request({
url: '/blade-desk/plateAround/getAfterPlatInCardNo',
method: 'get',
params
})
}
// 保存镀后入库的数据
const saveAfterPlatIn = (data) => {
return http.request({
url: '/blade-desk/plateAround/savePlateAfterEnter',
method: 'POST',
data: data
})
}
export default {
loadNotReceived,
loadNotReceived,
workPlanReceive,
loadCurrentWp,
saveMakeRec
saveMakeRec,
loadProTest,
dictionaryNew,
saveProCheck,
getAfterPlatInCardNo,
saveAfterPlatIn
}

@ -3,7 +3,7 @@ import http from '@/http/api.js'
//
export const dictionary = (params) => {
return http.request({
url: '/api/blade-system/dict/dictionary',
url: '/blade-system/dict/dictionary',
method: 'GET',
params
})
@ -12,7 +12,7 @@ export const dictionary = (params) => {
export const parentList = (params) => {
return http.request({
url: '/api/blade-system/dict/parent-list',
url: '/blade-system/dict/parent-list',
method: 'GET',
params
})
@ -20,7 +20,7 @@ export const parentList = (params) => {
export const remove = (ids) => {
return http.request({
url: '/api/blade-system/dict/remove',
url: '/blade-system/dict/remove',
method: 'post',
params: {
ids,
@ -30,7 +30,7 @@ export const remove = (ids) => {
export const add = (row) => {
return http.request({
url: '/api/blade-system/dict/submit',
url: '/blade-system/dict/submit',
method: 'post',
data: row
})
@ -38,7 +38,7 @@ export const add = (row) => {
export const update = (row) => {
return http.request({
url: '/api/blade-system/dict/submit',
url: '/blade-system/dict/submit',
method: 'post',
data: row
})
@ -46,7 +46,7 @@ export const update = (row) => {
export const dictTree = (params) => {
return http.request({
url: '/api/blade-system/dict/tree?code=DICT',
url: '/blade-system/dict/tree?code=DICT',
method: 'GET',
params
})
@ -54,7 +54,7 @@ export const dictTree = (params) => {
export const child = (params) => {
return http.request({
url: '/api/blade-system/dict/child-list',
url: '/blade-system/dict/child-list',
method: 'GET',
params
})

@ -27,7 +27,7 @@ const menus = {
color: '#00b7ee',
type: ''
}
},
},
// {
// key: "afterPlaReceive",
// title: "镀后接收",
@ -40,7 +40,7 @@ const menus = {
// type: ''
// }
// },
{
{
key: "workReport",
title: "工序报工",
url: "../plan/workReport",
@ -76,8 +76,39 @@ const menus = {
type: ''
}
},
{
key: "afterPlatingInStore",
title: "镀后入库",
url: "../production/afterPlatingInStore",
bgColor: '',
limit: 'RB2307',
icon: {
size: 20,
color: '#00b7ee',
type: ''
}
},
]
},
{
title: '质量管理',
children: [
{
key: "processIns",
title: "工序检验",
url: "../production/processIns",
bgColor: '',
limit: 'RB2306',
icon: {
size: 20,
color: '#00b7ee',
type: ''
}
},
]
},
{
title: '设备管理',
children: [

@ -1,212 +1,281 @@
<template>
<ifrm ref="ifrm">
<!-- 镀后入库 -->
<uni-forms ref="form" err-show-type="toast">
<uni-forms-item name="allegation"><input type="text" v-model="value" @confirm="confirm"
class="uni-input-border" placeholder="流程卡" /></uni-forms-item>
</uni-forms>
<t-table style="margin-top:20rpx">
<t-tr>
<t-td>移交类型</t-td>
<t-td>
<picker @change="bindPickerChange" :value="index" :range="array">
<view style="font-size: 32rpx;">{{array[index]}}</view>
</picker>
</t-td>
</t-tr>
<t-tr>
<t-td>流程卡号</t-td>
<t-td>{{ prWorkOrder.cardNo }}</t-td>
</t-tr>
<t-tr>
<t-td>车间订单号</t-td>
<t-td>{{ prWorkOrder.woCode }}</t-td>
</t-tr>
<t-tr>
<t-td>批次号</t-td>
<t-td>{{ prWorkOrder.batchNo }}</t-td>
</t-tr>
<t-tr>
<t-td>需求部门</t-td>
<t-td>{{ prWorkOrder.pjYieldOrder.useDept }}</t-td>
</t-tr>
<t-tr>
<t-td>零件编码</t-td>
<t-td>{{ prWorkOrder.pjYieldOrder.partCode }}</t-td>
</t-tr>
<t-tr>
<t-td>零件名称</t-td>
<t-td>{{ prWorkOrder.pjYieldOrder.partName }}</t-td>
</t-tr>
<t-tr>
<t-td>工序号</t-td>
<t-td>{{ prWorkPlan.orders }}</t-td>
</t-tr>
<t-tr>
<t-td>工序名称</t-td>
<t-td>{{ prWorkPlan.procedureSet.ppsName }}</t-td>
</t-tr>
<t-tr>
<t-td>班组/供应商</t-td>
<t-td>{{ makeTeam.tsName || oemCustomer.ocName }}</t-td>
</t-tr>
<t-tr>
<t-td>入库数量</t-td>
<t-td>{{ prWorkOrder.makeQty }}</t-td>
</t-tr>
<t-tr>
<t-td>移交部门</t-td>
<t-td><input type="text" v-model="useDept" /></t-td>
</t-tr>
<t-tr>
<t-td style="color:red">重量</t-td>
<t-td><input type="number" v-model="weight" /></t-td>
</t-tr>
</t-table>
<view class="buttonBox"><button class="button" type="primary"
:disabled="!(Object.keys(prWorkOrder.pjYieldOrder).length)>0" @click="submitClick">入库</button></view>
</ifrm>
<ifrm ref="ifrm">
<!-- 镀后入库 -->
<uni-forms ref="form" err-show-type="toast">
<uni-forms-item name="allegation"
><input
type="text"
v-model="value"
@confirm="confirm"
class="uni-input-border"
placeholder="流程卡"
/></uni-forms-item>
</uni-forms>
<t-table style="margin-top: 20rpx">
<t-tr>
<t-td>移交类型</t-td>
<t-td>
<picker @change="bindPickerChange" :value="index" :range="array">
<view style="font-size: 32rpx">{{ array[index] }}</view>
</picker>
</t-td>
</t-tr>
<t-tr>
<t-td>流程卡号</t-td>
<t-td>{{ prWorkOrder.cardNo }}</t-td>
</t-tr>
<t-tr>
<t-td>车间订单号</t-td>
<t-td>{{ prWorkOrder.woCode }}</t-td>
</t-tr>
<t-tr>
<t-td>批次号</t-td>
<t-td>{{ prWorkOrder.batchNo }}</t-td>
</t-tr>
<t-tr>
<t-td>需求部门</t-td>
<t-td>{{ prWorkOrder.useDept }}</t-td>
</t-tr>
<!-- <t-tr>
<t-td>零件编码</t-td>
<t-td>{{ prWorkOrder.partCode }}</t-td>
</t-tr>
<t-tr>
<t-td>零件名称</t-td>
<t-td>{{ prWorkOrder.partName }}</t-td>
</t-tr> -->
<t-tr>
<t-td>工序号</t-td>
<t-td>{{ prWorkPlan.processCode }}</t-td>
</t-tr>
<t-tr>
<t-td>工序名称</t-td>
<t-td>{{ prWorkPlan.processName }}</t-td>
</t-tr>
<t-tr>
<t-td>班组/供应商</t-td>
<t-td>{{ prWorkPlan.teamCode || prWorkPlan.ocName }}</t-td>
</t-tr>
<t-tr>
<t-td>入库数量</t-td>
<t-td>{{ prWorkOrder.inQuantity }}</t-td>
</t-tr>
<t-tr>
<t-td>移交部门</t-td>
<t-td><input type="text" v-model="useDept" /></t-td>
</t-tr>
<t-tr>
<t-td style="color: red">重量</t-td>
<t-td><input type="number" v-model="weight" /></t-td>
</t-tr>
</t-table>
<view class="buttonBox"
><button
class="button"
type="primary"
:disabled="Object.keys(prWorkOrder).length <= 0"
@click="submitClick"
>
入库
</button></view
>
</ifrm>
</template>
<script>
import ifrm from '@/pages/index/ifrm';
import tTable from '@/components/t-table/t-table.vue';
import tTh from '@/components/t-table/t-th.vue';
import tTr from '@/components/t-table/t-tr.vue';
import tTd from '@/components/t-table/t-td.vue';
import scan from '../../mixin/scan.js';
export default {
mixins: [scan],
components: {
ifrm,
tTable,
tTh,
tTr,
tTd
},
data() {
return {
value: '',
prWorkPlan: {},
prWorkOrder: {},
quantity: null,
makeTeam: {},
oemCustomer: {},
weight: 0,
useDept: null,
array: ['转工', '入库'],
index: 1,
};
},
onLoad() {
this.setData();
},
onShow() {},
import ifrm from "@/pages/index/ifrm";
import tTable from "@/components/t-table/t-table.vue";
import tTh from "@/components/t-table/t-th.vue";
import tTr from "@/components/t-table/t-tr.vue";
import tTd from "@/components/t-table/t-td.vue";
import scan from "../../mixin/scan.js";
export default {
mixins: [scan],
components: {
ifrm,
tTable,
tTh,
tTr,
tTd,
},
data() {
return {
value: "",
prWorkPlan: {},
prWorkOrder: {},
quantity: null,
makeTeam: {},
oemCustomer: {},
weight: 0,
useDept: null,
array: ["转工", "入库"],
index: 1,
};
},
onLoad() {
this.setData();
},
onShow() {},
methods: {
bindPickerChange(e) {
this.index = e.detail.value
if (e.detail.value == 1) {
this.prWorkPlan.prWorkOrder.hrTypeBool = false
} else {
this.prWorkPlan.prWorkOrder.hrTypeBool = true
}
this.useDept = ''
},
getBarCode(code, isConfirm = false) {
this.getData(code);
},
confirm(e) {
this.getBarCode(e.target.value, true);
},
getData(code) {
if (!code) return;
this.value = code;
this.$ajax.request({
url: 'pdaLoad/loadPlateAe/' + code,
method: 'GET',
success: data => {
this.value = '';
this.prWorkPlan = data;
this.prWorkOrder = data.prWorkOrder;
if (data.prWorkOrder.hrTypeBool) {
this.index = 0
} else {
this.index = 1
}
// useDept
if (data.prWorkOrder.pjYieldOrder.nextRoam) {
this.useDept = '';
} else {
this.useDept = data.prWorkOrder.pjYieldOrder.useDept;
}
this.quantity = data.prWorkOrder.makeQty;
if (!data.oem) {
this.makeTeam = data.makeTeam;
}
if (data.oemCustomer) {
this.oemCustomer = data.oemCustomer;
}
uni.showToast({
title: '数据获取成功'
});
}
});
},
submitClick() {
if (this.useDept == '' || this.useDept == null) {
return uni.showToast({
icon: 'none',
title: '请填写移交部门!!!'
});
}
this.$ajax.request({
url: 'pdaSave/savePlateAe',
method: 'POST',
data: {
prWorkPlan: this.prWorkPlan,
quantity: this.quantity,
makeTeam: this.makeTeam,
weight: this.weight,
useDept: this.useDept,
hrTypeBool: this.prWorkPlan.prWorkOrder.hrTypeBool
},
success: data => {
uni.showToast({
title: '入库成功'
});
this.value = '';
this.setData();
}
});
},
setData() {
this.prWorkPlan = {
procedureSet: {}
};
this.prWorkOrder = {
pjYieldOrder: {},
nextProcedureSet: {},
nextMakeTeam: {},
nextBsOemCustomer: {}
};
this.quantity = null;
this.makeTeam = {};
this.oemCustomer = {};
this.useDept = null;
this.weight = null;
}
},
onNavigationBarButtonTap(btn) {
this.$refs.ifrm.topMenuClick(btn);
methods: {
bindPickerChange(e) {
this.index = e.detail.value;
if (e.detail.value == 1) {
this.prWorkPlan.hrTypeBool = false;
} else {
this.prWorkPlan.hrTypeBool = true;
}
this.useDept = "";
},
getBarCode(code, isConfirm = false) {
this.getData(code);
},
confirm(e) {
this.getBarCode(e.target.value, true);
},
getData(code) {
if (!code) return;
this.value = code;
uni.showLoading({
title: "加载中...",
});
this.$u.api.getAfterPlatInCardNo({ cardNo: code }).then((res) => {
uni.hideLoading();
let data = res.data;
this.value = "";
this.prWorkPlan = data;
this.prWorkOrder = data;
if (data.hrTypeBool) {
this.index = 0;
} else {
this.index = 1;
}
};
// useDept
if (data.nextRoam) {
this.useDept = "";
} else {
this.useDept = data.useDept;
}
this.quantity = data.makeQty;
if (!data.oem) {
this.makeTeam = data.makeTeam;
}
if (data.oemCustomer) {
this.oemCustomer = data.oemCustomer;
}
uni.showToast({
title: "数据获取成功",
});
});
// this.$ajax.request({
// url: "pdaLoad/loadPlateAe/" + code,
// method: "GET",
// success: (data) => {
// this.value = "";
// this.prWorkPlan = data;
// this.prWorkOrder = data.prWorkOrder;
// if (data.prWorkOrder.hrTypeBool) {
// this.index = 0;
// } else {
// this.index = 1;
// }
// // useDept
// if (data.prWorkOrder.pjYieldOrder.nextRoam) {
// this.useDept = "";
// } else {
// this.useDept = data.prWorkOrder.pjYieldOrder.useDept;
// }
// this.quantity = data.prWorkOrder.makeQty;
// if (!data.oem) {
// this.makeTeam = data.makeTeam;
// }
// if (data.oemCustomer) {
// this.oemCustomer = data.oemCustomer;
// }
// uni.showToast({
// title: "",
// });
// },
// });
},
submitClick() {
if (this.useDept == "" || this.useDept == null) {
return uni.showToast({
icon: "none",
title: "请填写移交部门!!!",
});
}
// let query_ = {
// prWorkPlan: this.prWorkPlan,
// quantity: this.quantity,
// makeTeam: this.makeTeam,
// weight: this.weight,
// useDept: this.useDept,
// hrTypeBool: this.prWorkPlan.prWorkOrder.hrTypeBool,
// };
uni.showLoading({
title: "加载中...",
});
let query = [];
query.push({
wpId: this.prWorkPlan.wpId,
tsId: this.prWorkPlan.teamId,
ocId: this.prWorkPlan.ocId ? this.prWorkPlan.ocId : null,
quantity: this.prWorkPlan.inQuantity,
hrTypeBool: this.prWorkPlan.hrTypeBool,
useDept: this.useDept,
weight: this.weight,
});
console.log(9898989, query);
this.$u.api.saveAfterPlatIn(query).then((res) => {
uni.hideLoading();
uni.showToast({
title: "入库成功",
});
this.value = "";
this.setData();
});
// this.$ajax.request({
// url: "pdaSave/savePlateAe",
// method: "POST",
// data: {
// prWorkPlan: this.prWorkPlan,
// quantity: this.quantity,
// makeTeam: this.makeTeam,
// weight: this.weight,
// useDept: this.useDept,
// hrTypeBool: this.prWorkPlan.prWorkOrder.hrTypeBool,
// },
// success: (data) => {
// uni.showToast({
// title: "",
// });
// this.value = "";
// this.setData();
// },
// });
},
setData() {
this.prWorkPlan = {};
this.prWorkOrder = {};
this.quantity = null;
this.makeTeam = {};
this.oemCustomer = {};
this.useDept = null;
this.weight = null;
},
},
onNavigationBarButtonTap(btn) {
this.$refs.ifrm.topMenuClick(btn);
},
};
</script>
<style scoped>
.tabsBox {
margin-top: 40rpx;
}
.tabsBox {
margin-top: 40rpx;
}
.contentBox {}
.contentBox {
}
</style>

@ -1,246 +1,345 @@
<template>
<ifrm ref="ifrm">
<!-- 工序检验 -->
<u-sticky offset-top="10">
<uni-forms ref="form" err-show-type="toast">
<uni-forms-item name="allegation"><input type="text" v-model="value" @confirm="proConfrim"
class="uni-input-border" placeholder="流程卡" /></uni-forms-item>
</uni-forms>
</u-sticky>
<ifrm ref="ifrm">
<!-- 工序检验 -->
<u-sticky offset-top="10">
<uni-forms ref="form" err-show-type="toast">
<uni-forms-item name="allegation"
><input
type="text"
v-model="value"
@confirm="proConfrim"
class="uni-input-border"
placeholder="流程卡"
/></uni-forms-item>
</uni-forms>
</u-sticky>
<t-table>
<t-tr>
<t-td>流程卡号</t-td>
<t-td>{{ tableObj.cardNo }}</t-td>
</t-tr>
<t-tr>
<t-td>车间订单号</t-td>
<t-td>{{ tableObj.woCode }}</t-td>
</t-tr>
<t-tr>
<t-td>批单号</t-td>
<t-td>{{ tableObj.batchNo }}</t-td>
</t-tr>
<t-tr>
<t-td>零件编码</t-td>
<t-td>{{ tableObj.partCode }}</t-td>
</t-tr>
<t-tr>
<t-td>零件名称</t-td>
<t-td>{{ tableObj.partName }}</t-td>
</t-tr>
<t-tr>
<t-td>上序号</t-td>
<t-td>{{ tableObj.frontOrders }}</t-td>
</t-tr>
<t-tr>
<t-td>上序名称</t-td>
<t-td>{{ tableObj.frontPpsName }}</t-td>
</t-tr>
<t-tr>
<t-td>工序号</t-td>
<t-td>{{ tableObj.orders }}</t-td>
</t-tr>
<t-tr>
<t-td>工序名称</t-td>
<t-td>{{ tableObj.ppsName }}</t-td>
</t-tr>
<t-tr>
<t-td>班组</t-td>
<t-td>{{ tableObj.makeTeam }}</t-td>
</t-tr>
<t-tr>
<t-td>检验数量</t-td>
<t-td><input type="number" v-model="tableObj.makeQty" /></t-td>
</t-tr>
<t-tr>
<t-td>是否合格</t-td>
<t-td>
<picker @change="bindPickerChange" :value="pickerIndex" :range="array">
<view>{{ array[pickerIndex] }}</view>
</picker>
</t-td>
</t-tr>
<t-tr>
<t-td>合格数量</t-td>
<t-td><input :disabled="pickerIndex > 0" type="number" v-model="fillInObj.qualifiedQty" /></t-td>
</t-tr>
<t-tr>
<t-td>不合格数量</t-td>
<t-td><input :disabled="pickerIndex > 0" type="number" v-model="fillInObj.unqualifiedQty" /></t-td>
</t-tr>
<t-tr>
<t-td style="color: red;">比例(%)</t-td>
<t-td><input type="" type="number" v-model="fillInObj.scale" /></t-td>
</t-tr>
<t-tr>
<t-td>不良原因</t-td>
<t-td><uni-data-select v-model="fillInObj.poorReason" :localdata="reasonArr"></uni-data-select></t-td>
</t-tr>
<t-tr>
<t-td>不良描述</t-td>
<t-td><uni-easyinput type="textarea" v-model="fillInObj.poorMemo"></uni-easyinput></t-td>
</t-tr>
</t-table>
<view class="buttonBox"><button class="button" type="primary" :disabled="!(Object.keys(tableObj).length>1)"
@click="submitClick">保存</button></view>
</ifrm>
<t-table>
<t-tr>
<t-td>流程卡号</t-td>
<t-td>{{ tableObj.cardNo }}</t-td>
</t-tr>
<t-tr>
<t-td>车间订单号</t-td>
<t-td>{{ tableObj.woCode }}</t-td>
</t-tr>
<t-tr>
<t-td>批单号</t-td>
<t-td>{{ tableObj.batchNo }}</t-td>
</t-tr>
<t-tr>
<t-td>零件编码</t-td>
<t-td>{{ tableObj.partCode }}</t-td>
</t-tr>
<!-- <t-tr>
<t-td>零件名称</t-td>
<t-td>{{ tableObj.partName }}</t-td>
</t-tr>
<t-tr>
<t-td>上序号</t-td>
<t-td>{{ tableObj.frontOrders }}</t-td>
</t-tr>
<t-tr>
<t-td>上序名称</t-td>
<t-td>{{ tableObj.frontPpsName }}</t-td>
</t-tr> -->
<t-tr>
<t-td>工序号</t-td>
<t-td>{{ tableObj.orders }}</t-td>
</t-tr>
<t-tr>
<t-td>工序名称</t-td>
<t-td>{{ tableObj.ppsName }}</t-td>
</t-tr>
<t-tr>
<t-td>班组</t-td>
<t-td>{{ tableObj.makeTeam }}</t-td>
</t-tr>
<t-tr>
<t-td>检验数量</t-td>
<t-td><input type="number" v-model="tableObj.makeQty" /></t-td>
</t-tr>
<t-tr>
<t-td>是否合格</t-td>
<t-td>
<picker
@change="bindPickerChange"
:value="pickerIndex"
:range="array"
>
<view>{{ array[pickerIndex] || "请选择" }}</view>
</picker>
</t-td>
</t-tr>
<t-tr>
<t-td>合格数量</t-td>
<t-td
><input
:disabled="pickerIndex > 0"
type="number"
v-model="fillInObj.qualifiedQty"
/></t-td>
</t-tr>
<t-tr>
<t-td>不合格数量</t-td>
<t-td
><input
:disabled="pickerIndex > 0"
type="number"
v-model="fillInObj.unqualifiedQty"
/></t-td>
</t-tr>
<t-tr>
<t-td style="color: red">比例(%)</t-td>
<t-td><input type="" type="number" v-model="fillInObj.scale" /></t-td>
</t-tr>
<t-tr>
<t-td>不良原因</t-td>
<t-td
><uni-data-select
v-model="fillInObj.poorReason"
:localdata="reasonArr"
></uni-data-select
></t-td>
</t-tr>
<t-tr>
<t-td>不良描述</t-td>
<t-td
><uni-easyinput
type="textarea"
v-model="fillInObj.poorMemo"
></uni-easyinput
></t-td>
</t-tr>
</t-table>
<view class="buttonBox"
><button
class="button"
type="primary"
:disabled="!(Object.keys(tableObj).length > 1)"
@click="submitClick"
>
保存
</button></view
>
</ifrm>
</template>
<script>
import ifrm from '@/pages/index/ifrm';
import tTable from '@/components/t-table/t-table.vue';
import tTh from '@/components/t-table/t-th.vue';
import tTr from '@/components/t-table/t-tr.vue';
import tTd from '@/components/t-table/t-td.vue';
import scan from '../../mixin/scan.js';
export default {
mixins: [scan],
components: {
ifrm,
tTable,
tTh,
tTr,
tTd
},
data() {
return {
value: '',
tableObj: {
makeQty: null,
},
fillInObj: {
qualifiedQty: null,
unqualifiedQty: null,
poorReason: '',
poorMemo: ''
},
pickerIndex: null,
array: ['合格', '不合格', 'NA'],
reasonArr: []
};
},
onLoad() {
this.reasonArr = [];
this.$ajax.request({
url: 'comBox/product/queryPoorReason',
method: 'POST',
data: {
filterValue: null,
paging: {
pageSize: 9999999,
pageNumber: 1
},
baseParams: {}
},
success: data => {
data.list.forEach(item => {
this.reasonArr.push({
value: item.bcId,
text: item.name
});
});
}
});
},
methods: {
bindPickerChange: function(e) {
if (e.detail.value == 1) {
this.fillInObj.unqualifiedQty = this.tableObj.makeQty;
this.fillInObj.qualifiedQty = 0;
} else {
this.fillInObj.unqualifiedQty = 0;
this.fillInObj.qualifiedQty = this.tableObj.makeQty;
}
this.pickerIndex = e.detail.value;
},
getBarCode(code) {
this.getData(code);
},
proConfrim(e) {
this.getBarCode(e.target.value);
},
getData(code) {
if (!code) return;
this.value = code;
this.$ajax.request({
url: 'pdaLoad/loadProTest/' + code,
method: 'GET',
success: data => {
this.value = '';
this.tableObj = data.pdaProRelevant;
this.pickerIndex = 0;
this.fillInObj = {
unqualifiedQty: 0,
qualifiedQty: this.tableObj.makeQty,
poorReason: '',
poorMemo: ''
};
uni.showToast({
title: '数据获取成功'
});
}
});
},
submitClick() {
const num = Number(this.fillInObj.unqualifiedQty) + Number(this.fillInObj.qualifiedQty);
if (num > this.tableObj.makeQty) {
return uni.showToast({
title: '合格与不合格数量之和不能大于检验数量',
icon: 'none'
});
}
if (this.pickerIndex == 1) {
if (this.fillInObj.poorReason == '' || this.fillInObj.poorMemo == '') {
return uni.showToast({
title: '请填写原因或描述!!!',
icon: 'none'
});
}
}
if (Number(this.fillInObj.scale) > 100 || Number(this.fillInObj.scale) < 0) {
return uni.showToast({
title: '比例所填值的范围在 0~100!!!',
icon: 'none'
});
}
this.fillInObj.checkResult = this.pickerIndex + 1;
this.fillInObj.makeQty = this.tableObj.makeQty;
this.fillInObj.wpId = this.tableObj.wpId;
this.$ajax.request({
url: 'pdaSave/saveProCheck',
method: 'POST',
data: this.fillInObj,
success: data => {
uni.showToast({
title: '检验成功'
});
this.pickerIndex = null;
this.tableObj = {
makeQty: null
};
this.fillInObj = {
qualifiedQty: null,
unqualifiedQty: null,
poorReason: '',
poorMemo: ''
};
this.value = '';
}
});
}
},
onNavigationBarButtonTap(btn) {
this.$refs.ifrm.topMenuClick(btn);
},
onShow() {}
import ifrm from "@/pages/index/ifrm";
import tTable from "@/components/t-table/t-table.vue";
import tTh from "@/components/t-table/t-th.vue";
import tTr from "@/components/t-table/t-tr.vue";
import tTd from "@/components/t-table/t-td.vue";
import scan from "../../mixin/scan.js";
export default {
mixins: [scan],
components: {
ifrm,
tTable,
tTh,
tTr,
tTd,
},
data() {
return {
value: "",
tableObj: {
makeQty: null,
},
fillInObj: {
qualifiedQty: null,
unqualifiedQty: null,
poorReason: "",
poorMemo: "",
},
pickerIndex: null,
array: ["合格", "不合格", "NA"],
reasonArr: [],
};
},
onLoad() {
this.reasonArr = [];
uni.showLoading({
title: "加载中...",
});
this.$u.api.dictionaryNew({ code: "defective_cause" }).then((res) => {
let data = res.data;
data.forEach((item) => {
this.reasonArr.push({
value: item.dictKey,
text: item.dictValue,
});
uni.hideLoading();
});
});
// this.$ajax.request({
// url: "comBox/product/queryPoorReason",
// method: "POST",
// data: {
// filterValue: null,
// paging: {
// pageSize: 9999999,
// pageNumber: 1,
// },
// baseParams: {},
// },
// success: (data) => {
// data.list.forEach((item) => {
// this.reasonArr.push({
// value: item.bcId,
// text: item.name,
// });
// });
// },
// });
},
methods: {
bindPickerChange: function (e) {
if (e.detail.value == 1) {
this.fillInObj.unqualifiedQty = this.tableObj.makeQty;
this.fillInObj.qualifiedQty = 0;
} else {
this.fillInObj.unqualifiedQty = 0;
this.fillInObj.qualifiedQty = this.tableObj.makeQty;
}
this.pickerIndex = e.detail.value;
},
getBarCode(code) {
this.getData(code);
},
proConfrim(e) {
uni.showLoading({
title: "加载中...",
});
this.getBarCode(e.target.value);
},
getData(code) {
if (!code) return;
this.value = code;
this.$u.api
.loadProTest({ cardNo: code })
.then((res) => {
let data = res.data;
this.value = "";
this.tableObj = data;
this.pickerIndex = 0;
this.fillInObj = {
unqualifiedQty: 0,
qualifiedQty: this.tableObj.makeQty,
poorReason: "",
poorMemo: "",
};
uni.showToast({
title: "数据获取成功",
});
uni.hideLoading();
})
.catch((err) => {});
// this.$ajax.request({
// url: "pdaLoad/loadProTest/" + code,
// method: "GET",
// success: (data) => {
// this.value = "";
// this.tableObj = data.pdaProRelevant;
// this.pickerIndex = 0;
// this.fillInObj = {
// unqualifiedQty: 0,
// qualifiedQty: this.tableObj.makeQty,
// poorReason: "",
// poorMemo: "",
// };
// uni.showToast({
// title: "",
// });
// },
// });
},
submitClick() {
const num =
Number(this.fillInObj.unqualifiedQty) +
Number(this.fillInObj.qualifiedQty);
if (num > this.tableObj.makeQty) {
return uni.showToast({
title: "合格与不合格数量之和不能大于检验数量",
icon: "none",
});
}
if (this.pickerIndex == 1) {
if (this.fillInObj.poorReason == "" || this.fillInObj.poorMemo == "") {
return uni.showToast({
title: "请填写原因或描述!!!",
icon: "none",
});
}
}
if (
Number(this.fillInObj.scale) > 100 ||
Number(this.fillInObj.scale) < 0
) {
return uni.showToast({
title: "比例所填值的范围在 0~100!!!",
icon: "none",
});
}
uni.showLoading({
title: "加载中...",
});
this.fillInObj.checkResult = this.pickerIndex + 1;
this.fillInObj.makeQty = this.tableObj.makeQty;
this.fillInObj.wpId = this.tableObj.wpId;
this.$u.api.saveProCheck(this.fillInObj).then((res) => {
uni.showToast({
title: "检验成功",
});
this.pickerIndex = null;
this.tableObj = {
makeQty: null,
};
this.fillInObj = {
qualifiedQty: null,
unqualifiedQty: null,
poorReason: "",
poorMemo: "",
};
this.value = "";
uni.hideLoading();
});
// this.$ajax.request({
// url: "pdaSave/saveProCheck",
// method: "POST",
// data: this.fillInObj,
// success: (data) => {
// uni.showToast({
// title: "",
// });
// this.pickerIndex = null;
// this.tableObj = {
// makeQty: null,
// };
// this.fillInObj = {
// qualifiedQty: null,
// unqualifiedQty: null,
// poorReason: "",
// poorMemo: "",
// };
// this.value = "";
// },
// });
},
},
onNavigationBarButtonTap(btn) {
this.$refs.ifrm.topMenuClick(btn);
},
onShow() {},
};
</script>
<style scoped>
.tabsBox {
margin-top: 40rpx;
}
.tabsBox {
margin-top: 40rpx;
}
.contentBox {}
.contentBox {
}
</style>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Loading…
Cancel
Save