|
@@ -10,9 +10,8 @@
|
|
|
<view class="label">产品描述</view>
|
|
|
<view class="value">{{ lot.productDescription }}</view>
|
|
|
</view>
|
|
|
-
|
|
|
<view class="info-row uni-row">
|
|
|
- <view class="label">当前工序</view>
|
|
|
+ <view class="label">外协工序</view>
|
|
|
<view class="value">{{ lot.processAlias }}</view>
|
|
|
</view>
|
|
|
<view class="info-row uni-row">
|
|
@@ -20,15 +19,21 @@
|
|
|
<view class="value">{{ lot.pudName }}</view>
|
|
|
</view>
|
|
|
<view class="info-row uni-row">
|
|
|
- <view class="label">所有箱号</view>
|
|
|
+ <view class="label">批次箱号</view>
|
|
|
<view class="value">{{ lot.allCarrierName }}</view>
|
|
|
</view>
|
|
|
- <input type="text" v-model="carrierCode" placeholder="请输入箱号" />
|
|
|
+ <view class="info-row uni-row">
|
|
|
+ <view class="label">序检箱号</view>
|
|
|
+ <view class="value">{{ lot.inspectionCarrierCode }}</view>
|
|
|
+ </view>
|
|
|
+ <input type="text" v-model="carrierCode" placeholder="请输入箱号或检查载具号" />
|
|
|
<view class="btn uni-row" style="background-color: #ff5555;" @click.stop="handleScanCode">
|
|
|
<uni-icons type="scan" size="16" style="color: #ffffff; margin-right: 8rpx;" />
|
|
|
- <text>扫描箱码</text>
|
|
|
+ <text>扫描箱码或载具二维码</text>
|
|
|
+ </view>
|
|
|
+ <view class="btn uni-row" style="margin-top: 48rpx;" @click.stop="handleConfirm">箱码确定</view>
|
|
|
+ <view class="btn uni-row" style="background-color: #26d01d;" @click.stop="handleSave">保存
|
|
|
</view>
|
|
|
- <view class="btn uni-row" style="margin-top: 48rpx;" @click.stop="handleConfirm">确定</view>
|
|
|
</view>
|
|
|
<dialog-processInspection ref='selectProcessInspection'
|
|
|
@handleSelectProcessInspection='handleSelectProcessInspection'></dialog-processInspection>
|
|
@@ -46,6 +51,7 @@
|
|
|
onShow
|
|
|
} from '@dcloudio/uni-app'
|
|
|
import {
|
|
|
+ saveOutsourcedInspecion,
|
|
|
getLotInfo,
|
|
|
getCarrierInfo,
|
|
|
getLotOutsourcedInfo
|
|
@@ -57,70 +63,11 @@
|
|
|
const lot = ref({})
|
|
|
const query = ref({})
|
|
|
const selectProcessInspection = ref(null)
|
|
|
-
|
|
|
+ const lastRequestTimestamp = ref(0);
|
|
|
|
|
|
// 页面生命周期函数
|
|
|
onLoad(() => {})
|
|
|
|
|
|
- // 扫码
|
|
|
- /* 【原有代码】
|
|
|
- const handleScanCode = () => {
|
|
|
- // 引入原生插件
|
|
|
- const mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module");
|
|
|
- if (mpaasScanModule) {
|
|
|
- // 调用插件的 mpaasScan 方法
|
|
|
- mpaasScanModule.mpaasScan({
|
|
|
- // 扫码识别类型,参数可多选,qrCode、barCode,
|
|
|
- // 如不设置,默认识别所有扫码类型,可能有些许影响识别效率
|
|
|
- scanType: ["qrCode", "barCode"],
|
|
|
- // 是否隐藏相册,默认false不隐藏
|
|
|
- hideAlbum: false,
|
|
|
- },
|
|
|
- (ret) => {
|
|
|
- console.log(ret);
|
|
|
- const result = JSON.parse(ret.resp_result);
|
|
|
- if (!result.carrierId || result.carrierId == "") {
|
|
|
- uni.showToast({
|
|
|
- icon: "none",
|
|
|
- title: "请扫载具码",
|
|
|
- duration: 1000
|
|
|
- })
|
|
|
- return;
|
|
|
- }
|
|
|
- //判断该箱是否绑定批次
|
|
|
-
|
|
|
- result.processCode = store.outsourcedCode;
|
|
|
-
|
|
|
- getLotOutsourcedInfo(result).then(resqust => {
|
|
|
- if (resqust.code == 200) {
|
|
|
- lot.value = resqust.data;
|
|
|
- lot.value.carrierCode = result.carrierCode
|
|
|
- carrierCode.value = result.carrierCode;
|
|
|
- // store.processInspection = null;
|
|
|
- console.log("resqust", resqust);
|
|
|
- uni.hideLoading();
|
|
|
- } else {
|
|
|
- // uni.hideLoading();
|
|
|
- uni.showToast({
|
|
|
- icon: 'none',
|
|
|
- title: resqust.msg,
|
|
|
- duration: 2000
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- }).catch(err => {
|
|
|
- uni.showToast({
|
|
|
- icon: 'none',
|
|
|
- title: err.message,
|
|
|
- duration: 2000
|
|
|
- })
|
|
|
- })
|
|
|
- }
|
|
|
- )
|
|
|
- }
|
|
|
- }
|
|
|
- */
|
|
|
-
|
|
|
const handleScanCode = () => {
|
|
|
// 引入原生插件
|
|
|
const mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module");
|
|
@@ -176,22 +123,50 @@
|
|
|
})
|
|
|
}
|
|
|
)
|
|
|
+ } else {
|
|
|
+ const result = {
|
|
|
+ carrierCode: '000657',
|
|
|
+ processCode: store.outsourcedCode
|
|
|
+ }
|
|
|
+ getLotOutsourcedInfo(result).then(resquest => {
|
|
|
+ if (resquest.code == 200) {
|
|
|
+ lot.value = resquest.data;
|
|
|
+ lot.value.carrierCode = result.carrierCode
|
|
|
+ carrierCode.value = result.carrierCode;
|
|
|
+ // store.processInspection = null;
|
|
|
+ // console.log("resqust", resqust);
|
|
|
+ uni.hideLoading();
|
|
|
+ } else {
|
|
|
+ // uni.hideLoading();
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: resquest.msg,
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: err.message,
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//选择批号弹窗带回
|
|
|
function handleSelectProcessInspection(data) {
|
|
|
- console.log("带回", data)
|
|
|
+ // console.log("带回", data)
|
|
|
query.value.lotCode = data
|
|
|
uni.showLoading({
|
|
|
title: '加载中'
|
|
|
});
|
|
|
- getLotInfo(query.value).then(res => {
|
|
|
+ getLotOutsourcedInfo(query.value).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
lot.value = res.data;
|
|
|
lot.value.carrierCode = query.value.carrierCode
|
|
|
carrierCode.value = query.value.carrierCode;
|
|
|
- console.log("res", res);
|
|
|
+ // console.log("res", res);
|
|
|
uni.hideLoading();
|
|
|
} else {
|
|
|
uni.showToast({
|
|
@@ -205,47 +180,150 @@
|
|
|
|
|
|
// 确定后,将批次id,批次号,传递过去
|
|
|
const handleConfirm = () => {
|
|
|
+ /** 因为调试时无法扫码所以暂时用确定方法代替扫码 **/
|
|
|
+ /** 调用查询方法查询箱号信息 **/
|
|
|
+ /**
|
|
|
+ * 如果返回的是载具信息表示这是检查载具,将载具的id和code存到lot.inspectionCarrierId和lot.inspectionCarrierCode中
|
|
|
+ * 如果返回的是1条dayweorCarrier的载具绑定信息则调用查询方法查询批次信息
|
|
|
+ * 如果返回的是多条dayweorCarrier的载具绑定信息,则表示这是一箱多批需要调用选择批号弹窗在processInspection文件scan229行有对应的方法
|
|
|
+ *
|
|
|
+ * */
|
|
|
if (lot.carrierCode || carrierCode.value !== "") {
|
|
|
- lot.value.carrierCode = carrierCode.value
|
|
|
- uni.showLoading({
|
|
|
- title: '加载中'
|
|
|
- });
|
|
|
- lot.value.processCode = store.outsourcedCode;
|
|
|
- /************************ 根据扫码查询到的数据和需要检查的工序查询信息 ************************/
|
|
|
- getLotOutsourcedInfo(lot.value).then(resqust => {
|
|
|
- if (resqust.code == 200) {
|
|
|
- lot.value = resqust.data;
|
|
|
- lot.value.carrierCode = carrierCode.value
|
|
|
- store.processInspection = null;
|
|
|
- console.log("resqust", resqust);
|
|
|
- uni.hideLoading();
|
|
|
- uni.navigateTo({
|
|
|
- url: "/pages/outsourcedInspection/form",
|
|
|
- success: (resqust) => {
|
|
|
- // 通过eventChannel向被打开页面传送数据
|
|
|
- resqust.eventChannel.emit("outsourcedInspectionFrom", {
|
|
|
- data: lot.value
|
|
|
+ // lot.value.carrierCode = carrierCode.value
|
|
|
+ const result = {
|
|
|
+ // ...lot.value
|
|
|
+ carrierCode: carrierCode.value
|
|
|
+ }
|
|
|
+ getCarrierInfo(result).then(response => {
|
|
|
+ if (response.code == 200) {
|
|
|
+ // 判断是哪种返回值 假设是想信息则给lot附检查箱信息
|
|
|
+ // 假设是dayworkCarriers 则 判断是几个批次,假设为多批,则弹出选择框。
|
|
|
+ if (response.data.dayworkCarriers != null) {
|
|
|
+ if (response.data.dayworkCarriers.length > 1) {
|
|
|
+ query.value = result;
|
|
|
+ selectProcessInspection.value.open(response.data.dayworkCarriers)
|
|
|
+ } else {
|
|
|
+ // console.log(response)
|
|
|
+ uni.showLoading({
|
|
|
+ title: '加载中'
|
|
|
+ });
|
|
|
+ // 此处根据拿到的箱子id, 获取到相对应的【 lot_id】,【 lot_code】, 以及该批次关联的其它箱号
|
|
|
+ // 需要定义一个请求方法, 从后端获取
|
|
|
+ getLotOutsourcedInfo(result).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ lot.value = {
|
|
|
+ ...lot.value,
|
|
|
+ ...res.data
|
|
|
+ };
|
|
|
+ lot.value.carrierCode = result.carrierCode
|
|
|
+ carrierCode.value = result.carrierCode;
|
|
|
+ // console.log("res", res);
|
|
|
+ uni.hideLoading();
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: res.msg,
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: err.message,
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
})
|
|
|
+
|
|
|
}
|
|
|
- })
|
|
|
+ } else if (response.data.inspectionCarrier != null) {
|
|
|
+ console.log(response)
|
|
|
+ lot.value.inspectionCarrierCode = response.data.inspectionCarrier.code
|
|
|
+ lot.value.inspectionCarrierId = response.data.inspectionCarrier.id
|
|
|
+ }
|
|
|
} else {
|
|
|
- // uni.hideLoading();
|
|
|
uni.showToast({
|
|
|
icon: 'none',
|
|
|
- title: resqust.msg,
|
|
|
+ title: response.msg,
|
|
|
duration: 2000
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
+ }).catch(err => {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: err.message,
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
})
|
|
|
} else {
|
|
|
uni.showToast({
|
|
|
icon: 'none',
|
|
|
- title: "请输入箱号或扫描箱码",
|
|
|
+ title: "请输入箱号",
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ const handleSave = () => {
|
|
|
+ // 判断是否已有批次和检查载具
|
|
|
+ if (lot.value.lotCode == '' || lot.value.lotCode == null) {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: "请先扫外协箱码",
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (lot.value.inspectionCarrierId == null) {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: "请先扫检查载具",
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 保存
|
|
|
+
|
|
|
+ const currentTime = Date.now();
|
|
|
+
|
|
|
+ // 检查是否已经过去了 2 秒
|
|
|
+ if (currentTime - lastRequestTimestamp.value < 2000) {
|
|
|
+ // 如果在 2 秒 内已经点击,那么不执行
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: `请勿重复点击`,
|
|
|
duration: 2000
|
|
|
})
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
+ let pages = getCurrentPages();
|
|
|
+
|
|
|
+ saveOutsourcedInspecion({
|
|
|
+ lot: lot.value,
|
|
|
+ user: store.userInfo,
|
|
|
+ status: 0,
|
|
|
+ inspectionCarrierCode: lot.value.inspectionCarrierCode,
|
|
|
+ inspectionCarrierId: lot.value.inspectionCarrierId
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ let index = 0;
|
|
|
+ for (let i = 0; i < pages.length; i++) {
|
|
|
+ if (pages[i].$page.fullPath == "/pages/outsourcedInspection/index") {
|
|
|
+ index = pages.length - i - 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ console.log("index", index);
|
|
|
+ uni.navigateBack({
|
|
|
+ delta: index
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: res.msg,
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
</script>
|
|
|
|