From 54af9d770cf2347f36f40515df51de2fcbebf40f Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期二, 25 十一月 2025 09:45:47 +0800
Subject: [PATCH] Merge branch 'Dev' of http://101.37.171.70:10101/r/~jhz/STUWMS into Dev
---
pages/ZLGL/shoujianjianyan/firstCheckBillList.vue | 2
pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue | 2328 +++++++++++
pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue | 2292 ++++++++++
pages/shouliaotongzhi/table.vue | 2
utils/menuListApp.js | 20
pages.json | 107
pages/index/tab2.vue | 34
pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue | 2328 +++++++++++
.hbuilderx/launch.json | 4
pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue | 2262 ++++++++++
pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue | 2292 ++++++++++
pages/ZLGL/xunjianjianyan/PatrolProcCheckBillList.vue | 2
pages/ZLGL/lailiaojianyan/POStockInCheckBillList.vue | 571 ++
pages/index/tab1.vue | 7
components/ZLGL/InspectValueTemplate.vue | 13
pages/zutuo_xiaowei/form_xiaowei.vue | 216 +
pages/ZLGL/mojianjianyan/lastPieceCheckBillList.vue | 2
pages/index/index.vue | 5
18 files changed, 12,412 insertions(+), 75 deletions(-)
diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json
index a7d9080..4dd14cd 100644
--- a/.hbuilderx/launch.json
+++ b/.hbuilderx/launch.json
@@ -21,11 +21,11 @@
"type" : "uni-app:app-ios"
},
{
- "customPlaygroundType" : "local",
+ "customPlaygroundType" : "device",
"localRepoPath" : "D:/WorkBench/ZY_APP_Dev/STUWMS/unpackage/debug",
"openVueDevtools" : true,
"packageName" : "com.shebeiguanli.www",
- "playground" : "custom",
+ "playground" : "standard",
"type" : "uni-app:app-android"
}
]
diff --git a/components/ZLGL/InspectValueTemplate.vue b/components/ZLGL/InspectValueTemplate.vue
index 369eab5..5310ff8 100644
--- a/components/ZLGL/InspectValueTemplate.vue
+++ b/components/ZLGL/InspectValueTemplate.vue
@@ -45,7 +45,7 @@
{{ checkData.HStatus?"鍚堟牸":"涓嶅悎鏍�" }}
</view>
<view>
- <switch style="width: 2em; transform:scale(0.7);" :checked="checkData.HStatus"
+ <switch style="width: 2em; transform:scale(0.7);" :checked="!!checkData.HStatus"
@change="HStatusChange" />
</view>
</view>
@@ -261,6 +261,14 @@
setUrl: '/QC_PatrolProcCheckOtherBill/set_SaveValue',
getUrl: '/QC_PatrolProcCheckOtherBill/getValueList'
}
+ case 3: return {
+ setUrl: '/QC_LastPieceCheckBill/set_SaveValue',
+ getUrl: '/QC_LastPieceCheckBill_ValueTable/getValueList'
+ }
+ case 4:return{
+ setUrl: '/QC_OutCompCheckBill/set_SaveValue',
+ getUrl: '/QC_OutCompCheckBill_ValueTable/getValueList'
+ }
}
}
}
@@ -395,6 +403,7 @@
},
async set_SaveValue() {
+ await this.$nextTick();
console.log("InSpect Values: ", this.InSpectValues)
try {
let res = await CommonUtils.doRequest2Sync({
@@ -405,7 +414,7 @@
method: "POST"
})
- if (res) {
+ if (!res) {
return
}
let {
diff --git a/pages.json b/pages.json
index e703350..1e59ce8 100644
--- a/pages.json
+++ b/pages.json
@@ -1190,35 +1190,35 @@
}
},
{
- "path": "pages/chaixiang/form",
- "style": {
- "navigationBarTitleText": "鎷嗙"
- }
- },
- {
- "path": "pages/zhuangxiang/form_mix",
- "style": {
- "navigationBarTitleText": "瑁呯"
- }
- },
- {
- "path": "pages/zutuo_xiaowei/form_xiaowei",
- "style": {
- "navigationBarTitleText": "缁勬墭-灏忓崼"
- }
- },
+ "path": "pages/chaixiang/form",
+ "style": {
+ "navigationBarTitleText": "鎷嗙"
+ }
+ },
+ {
+ "path": "pages/zhuangxiang/form_mix",
+ "style": {
+ "navigationBarTitleText": "瑁呯"
+ }
+ },
+ {
+ "path": "pages/zutuo_xiaowei/form_xiaowei",
+ "style": {
+ "navigationBarTitleText": "缁勬墭-灏忓崼"
+ }
+ },
{
"path": "pages/zhuangxiangdan/table",
"style": {
"navigationBarTitleText": "瑁呯鍗曠紦瀛�"
}
- },
+ },
{
"path": "pages/zhuangxiangdan/form",
"style": {
"navigationBarTitleText": "瑁呯鍗�"
}
- },
+ },
{
"path": "pages/ZLGL/xunjianjianyan/PatrolProcCheckBillList",
"style": {
@@ -1230,11 +1230,23 @@
"style": {
"navigationBarTitleText": "宸℃鍗�"
}
- },
+ },
{
"path": "pages/ZLGL/mojianjianyan/lastPieceCheckBillList",
"style": {
"navigationBarTitleText": "鏈欢妫�楠屽崟缁存姢"
+ }
+ },
+ {
+ "path": "pages/ZLGL/lailiaojianyan/POStockInCheckBill",
+ "style": {
+ "navigationBarTitleText": "鏉ユ枡妫�楠屽崟"
+ }
+ },
+ {
+ "path": "pages/ZLGL/lailiaojianyan/POStockInCheckBillList",
+ "style": {
+ "navigationBarTitleText": "鏉ユ枡妫�楠屽崟缁存姢"
}
},
{
@@ -1243,18 +1255,30 @@
"navigationBarTitleText": "鏈欢妫�楠屽崟"
}
},
- {
- "path": "pages/chaituosaoma-xiaowei/UnpackPallet",
- "style": {
- "navigationBarTitleText": "鎷嗘墭鎵爜锛堝皬鍗級"
- }
- },
- {
- "path": "pages/sanmaheyi/BarCodeCheck",
- "style": {
- "navigationBarTitleText": "涓夌爜鍚堜竴"
- }
- },
+ {
+ "path": "pages/chaituosaoma-xiaowei/UnpackPallet",
+ "style": {
+ "navigationBarTitleText": "鎷嗘墭鎵爜锛堝皬鍗級"
+ }
+ },
+ {
+ "path": "pages/sanmaheyi/BarCodeCheck",
+ "style": {
+ "navigationBarTitleText": "涓夌爜鍚堜竴"
+ }
+ },
+ {
+ "path": "pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2",
+ "style": {
+ "navigationBarTitleText": "鐢熶骇鍏ュ簱鏍¢獙"
+ }
+ },
+ {
+ "path": "pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill",
+ "style": {
+ "navigationBarTitleText": "鍑哄巶鏍¢獙"
+ }
+ },
{
"path": "pages/weiwaigxIn/Cj_StationEntrustInBill",
"style": {
@@ -1285,7 +1309,6 @@
"navigationBarTitleText": "鍗虫椂搴撳瓨鏌ヨ"
}
}
-
],
"tabBar": {
"color": "#888888", //tab 涓婄殑鏂囧瓧榛樿棰滆壊锛屼粎鏀寔鍗佸叚杩涘埗棰滆壊
@@ -1326,14 +1349,12 @@
"pageOrientation": "default"
},
"uniIdRouter": {},
- "condition" : { //妯″紡閰嶇疆锛屼粎寮�鍙戞湡闂寸敓鏁�
- "current": 0, //褰撳墠婵�娲荤殑妯″紡(list 鐨勭储寮曢」)
- "list": [
- {
- "name": "", //妯″紡鍚嶇О
- "path": "", //鍚姩椤甸潰锛屽繀閫�
- "query": "" //鍚姩鍙傛暟锛屽湪椤甸潰鐨刼nLoad鍑芥暟閲岄潰寰楀埌
- }
- ]
- }
+ "condition": { //妯″紡閰嶇疆锛屼粎寮�鍙戞湡闂寸敓鏁�
+ "current": 0, //褰撳墠婵�娲荤殑妯″紡(list 鐨勭储寮曢」)
+ "list": [{
+ "name": "", //妯″紡鍚嶇О
+ "path": "", //鍚姩椤甸潰锛屽繀閫�
+ "query": "" //鍚姩鍙傛暟锛屽湪椤甸潰鐨刼nLoad鍑芥暟閲岄潰寰楀埌
+ }]
+ }
}
\ No newline at end of file
diff --git a/pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue b/pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue
new file mode 100644
index 0000000..23b3660
--- /dev/null
+++ b/pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue
@@ -0,0 +1,2328 @@
+<template>
+ <view>
+ <!-- 涓昏〃鍖哄煙 -->
+ <view class="bill-main-area">
+ <!-- 涓昏〃椤电 -->
+ <view class="bill-main-tabs">
+ <view :class="mainTabSelected == 1 ? 'selected' : ''" @tap="mainTabSelected = 1">鍩烘湰淇℃伅</view>
+ <view :class="mainTabSelected == 2 ? 'selected' : ''" @tap="mainTabSelected = 2">鍏朵粬淇℃伅</view>
+ <view :class="mainTabSelected == 3 ? 'selected' : ''" @tap="mainTabSelected = 3">鍒跺崟淇℃伅</view>
+ </view>
+ <!-- 涓昏〃鍐呭 -->
+ <view class="bill-main-contents">
+ <!-- 鍩烘湰淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 1">
+ <view class="form-item">
+ <view class="left">鍗曟嵁鍙�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HBillNo" disabled />
+ </view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">鏃ユ湡</view>
+ <view class="right">
+ <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HDate">
+ <view>{{ hform.HDate }}</view>
+ </uni-datetime-picker>
+ </view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">婧愬崟鍗曞彿</view>
+ <view class="right" :class="!hasSourceBill?'':'disabled'">
+ <input type="text" :disabled="hasSourceBill" placeholder="璇疯緭鍏ユ垨鎵弿婧愬崟鍙�"
+ v-model="hform.HSourceBillNo" @confirm="getSourceBillInfo(hform.HSourceBillNo)" />
+ </view>
+ <view class="icon-wrapper-big">
+ <uni-icons class="right-icon" type="scan" style="
+ background-color: #3a78ff;
+ padding: 6rpx;
+ color: #fff;
+ border-radius: 100%;
+ " size="20" @click="toScanCode"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">鐢熶骇璧勬簮</view>
+ <view class="right">
+ <uni-combox :candidates="GySourceNameList" placeholder="璇烽�夋嫨鐢熶骇璧勬簮" v-model="hform.HSourceName"
+ @update:modelValue="HSourceChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">鐢熶骇鐝</view>
+ <view class="right">
+ <uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+ v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">浠诲姟鍗曞彿</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HICMOBillNo" disabled />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 5)"></uni-icons></view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">娴佽浆鍗″彿</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HProcExchBillNo" disabled />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 6)"></uni-icons></view>
+ </view>
+ <view class="form-item">
+ <view class="left">浜у搧浠g爜</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HMaterNumber" />
+ </view>
+ <view class="icon-wrapper-big">
+ <uni-icons type="search" size="20" @click="showSelectorModule(hform, 4)"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浜у搧鍚嶇О</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HMaterName" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">妫�楠屽憳</view>
+ <view class="right">
+ <uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
+ :v-model="hform.HFirstCheckEmpName"
+ @update:modelValue="HFirstCheckEmpChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">妫�楠屾柟妗�</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="this.hform.HQCSchemeName" />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 7)"></uni-icons></view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">鍒ゆ柇缁撹</view>
+ <view class="right none-border">
+ <radio-group @changer="checkResultChange">
+ <label>
+ <radio value="0" :checked="hform.HLastResult" /><text></text>
+ 鍚堟牸
+ </label>
+ <view style="width: 20rpx; display: inline-block"></view>
+ <label>
+ <radio value="1" :checked="!hform.HLastResult" /><text></text>
+ 涓嶅悎鏍�
+ </label>
+ </radio-group>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">宸ュ簭</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HProcName" />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 8)"></uni-icons></view>
+ </view>
+
+ </view>
+ <!-- 鍏朵粬淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 2">
+ <view class="form-item">
+ <view class="left">婧愬崟绫诲瀷</view>
+ <view class="right" style="position: relative" :class="!hasSourceBill?'':'disabled'">
+ <picker mode="selector" :range="HSourceBillTypeNameList" :disabled="hasSourceBill"
+ @change="HSourceBillTypeNameChange">
+ <input type="text" placeholder="璇烽�夋嫨婧愬崟绫诲瀷" v-model="HSourceBillType" disabled/>
+ <view class="picker-overlay"></view>
+ </picker>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">鐢熶骇鐝</view>
+ <view class="right">
+ <uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+ v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">寮傚父涓存椂澶勭悊鏂规</view>
+ <view class="right">
+ <input type="text" v-model="hform.HErrTreatment" value="" />
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">浠诲姟鍗曟暟閲�</view>
+ <view class="right">
+ <input type="number" v-model="hform.HICMOQty" />
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">娴佽浆鍗℃暟閲�</view>
+ <view class="right">
+ <input type="number" v-model="hform.HProcExchQty" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鎵瑰彿</view>
+ <view class="right">
+ <input type="text" value="" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">澶囨敞</view>
+ <view class="right">
+ <input type="text" v-model="hform.HRemark" value="" />
+ </view>
+ </view>
+ </view>
+ <!-- 鍒跺崟淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 3">
+ <view class="form-item">
+ <view class="left">鍒跺崟浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HMaker" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍒跺崟鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HMakeDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">瀹℃牳浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HChecker" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">瀹℃牳鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCheckDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍏抽棴浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCloseMan" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍏抽棴鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCloseDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">淇敼浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HUpDater" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">淇敼鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HUpDateDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浣滃簾浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HDeleteMan" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浣滃簾鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HDeleteDate" disabled />
+ </view>
+ </view>
+ </view>
+ </view>
+ </view>
+ <!-- 瀛愯〃鍖哄煙 -->
+ <view class="bill-sub-area">
+ <!-- 瀛愯〃椤电 -->
+ <view class="bill-sub-tabs">
+ <view v-for="subTab in subTabs" :key="subTab.id" :class="subTab.id == subTabSelected ? 'selected' : ''"
+ @tap="subTabSelected = subTab.id">{{ subTab.name }}</view>
+ </view>
+ <!-- 瀛愯〃鍐呭 -->
+ <view class="bill-main-contents">
+ <!-- 妫�楠岄」鐩� 鍛堢幇 -->
+ <view v-if="subTabSelected == 1">
+ <!-- 闇�閫氳繃鏄惧紡璋冪敤蹇界暐$event鍙傛暟 -->
+ <view class="buttons" @tap="addCheckItem()">
+ <uni-icons type="plus" style="margin-right: 10rpx" size="22"></uni-icons>鏂板
+ </view>
+ <view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+ <view class="list" v-else>
+ <uni-card v-for="checkItem in checkItems" :key="checkItem.num">
+ <view class="card-detail">
+ <view class="detail"> <text>搴忓彿锛�</text>{{ checkItem.num }} </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>妫�楠岄」鐩細</text></view>
+ <input type="text" :value="checkItem.HQCCheckItemName" disabled="" />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(checkItem, 2)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>妫�楠屼华鍣細</text></view>
+ <input type="text" :value="checkItem.HInspectInstruMentName" disabled="" />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(checkItem, 3)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <view><text>缁撹锛�</text></view>
+ <view style="width: 4em">
+ {{ checkItem.HResult == 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}
+ </view>
+ <view>
+ <switch style="width: 2em; transform: scale(0.7)"
+ :checked="checkItem.HResult == 1"
+ @change="HResultChange(checkItem.num, $event)" />
+ </view>
+ </view>
+ <view class="detail editable" style="position: relative">
+ <view style="flex-shrink: 0"><text>鍒嗘瀽鏂规硶锛�</text></view>
+ <picker :range="arrayAnalysisMethod" range-key="name"
+ @change="HAnalysisMethodChange(checkItem.num, $event)">
+ <input disabled :value="getAnalysisMethodDisplay(checkItem.HAnalysisMethod)"
+ placeholder="璇烽�夋嫨" />
+ <view class="picker-overlay"></view>
+ </picker>
+ </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>閲嶇偣妫�鏌ワ細</text></view>
+ <view>
+ <switch type="checkbox" style="transform: scale(0.7)"
+ :checked="checkItem.HKeyInspect"
+ @change="HKeyInspectChange(checkItem, $event)" />
+ </view>
+ </view>
+ <view class="detail" v-if="checkItem.HQCStd">
+ <text>妫�楠屾爣鍑嗭細</text>{{ checkItem.HQCStd }}
+ </view>
+ <view class="detail" v-if="checkItem.HUnit">
+ <text>鍗曚綅锛�</text>{{ checkItem.HUnit }}
+ </view>
+ <!-- 鍙湁瀹氶噺鍒嗘瀽鎵嶅惎鐢ㄦ楠屽�� -->
+ <view class="detail editable" v-show="checkItem.HAnalysisMethod == 2">
+ <text>妫�楠屽�硷細</text>
+ <input type="text" class="editable-input" @blur="calcHResult(checkItem)" v-model="checkItem.HInspectValQ" />
+ </view>
+
+ <view class="detail" v-if="checkItem.HQCNote">
+ <text>妫�楠岃褰曪細</text>{{ checkItem.HQCNote }}
+ </view>
+ <view class="detail" v-if="checkItem.HTargetVal">
+ <text>鐩爣鍊硷細</text>{{ checkItem.HTargetVal }}
+ </view>
+ <view class="detail" v-if="checkItem.HUpLimit">
+ <text>涓婇檺鍊硷細</text>{{ checkItem.HUpLimit }}
+ </view>
+ <view class="detail" v-if="checkItem.HDownLimit">
+ <text>涓嬮檺鍊硷細</text>{{ checkItem.HDownLimit }}
+ </view>
+ <view class="detail" v-if="checkItem.HMax">
+ <text>鏈�澶у�硷細</text>{{ checkItem.HMax }}
+ </view>
+ <view class="detail" v-if="checkItem.HMin">
+ <text>鏈�灏忓�硷細</text>{{ checkItem.HMin }}
+ </view>
+ <view class="detail" v-if="checkItem.HAvg">
+ <text>骞冲潎鍊硷細</text>{{ checkItem.HAvg }}
+ </view>
+ </view>
+ <view style="height: 20rpx"></view>
+ <view class="more">
+ <view class="part" style="color: #da0000" @tap.stop="removeCheckItem(checkItem)">
+ <uni-icons type="trash" style="color: #da0000; margin-right: 10rpx"
+ size="18"></uni-icons>鍒犻櫎
+ </view>
+ </view>
+ </uni-card>
+ </view>
+ </view>
+ <!-- 鎶芥牱妫�楠� 鍛堢幇 -->
+ <view v-if="subTabSelected == 2">
+ <view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+ <view class="list" v-else>
+ <uni-card v-for="SamplingItem in checkItems" :key="SamplingItem.num">
+ <view class="card-detail">
+ <view class="detail"> <text>搴忓彿锛�</text>{{ SamplingItem.num }} </view>
+ <view class="detail editable">
+ <text>妫�楠岄」鐩細</text>{{ SamplingItem.HQCCheckItemName }}
+ </view>
+ <view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+ <view class="detail editable" style="width: 100%">
+ <view style="flex-shrink: 0"><text>鎶芥牱鏂规锛�</text></view>
+ <input type="text" :value="SamplingItem.HSampleSchemeName" disabled />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(SamplingItem, 1)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <text>鎶芥牱绫诲瀷锛�</text>{{ SamplingItem.HSamplingType }}
+ </view>
+ <view class="detail editable">
+ <text>妫�楠屾按骞筹細</text>{{ SamplingItem.HInspectionLevel }}
+ </view>
+ <view class="detail editable">
+ <text>涓ユ牸搴︼細</text>{{ SamplingItem.HStrictness }}
+ </view>
+ <view class="detail editable">
+ <text>AQL锛�</text>{{ SamplingItem.HAQL }}
+ </view>
+ <view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+ <view class="detail editable">
+ <text>鏍锋湰閲忥細</text>{{ SamplingItem.HSampleQty }}
+ </view>
+ <view class="detail editable">
+ <text>鍏佽鏁帮細</text>{{ SamplingItem.HAcceptQty }}
+ </view>
+ <view class="detail editable">
+ <text>鎷掔粷鏁帮細</text>{{ SamplingItem.HRejectQty }}
+ </view>
+ <view class="detail editable">
+ <text>鏍锋湰涓嶅悎鏍兼暟锛�</text>{{ SamplingItem.HSampleUnRightQty }}
+ </view>
+ <view class="detail editable">
+ <text>鏍锋湰鐮村潖鏁帮細</text>
+ <view class="editable-input">
+ <input type="number" v-model="SamplingItem.HSampleDamageQty" />
+ </view>
+ </view>
+ <view class="detail editable">
+ <text>妫�楠岀粨鏋滐細</text>
+ <view style="border-radius: 15%; padding: 0 10rpx" :class="
+ SamplingItem.HInspectResultToSee == '鍚堟牸'
+ ? 'pass-background'
+ : SamplingItem.HInspectResultToSee == '涓嶅悎鏍�'
+ ? 'unpass-background'
+ : ''
+ ">
+ {{ SamplingItem.HInspectResultToSee }}
+ </view>
+ </view>
+ </view>
+ </uni-card>
+ </view>
+ </view>
+ <!-- 妫�娴嬪�� 鍛堢幇 -->
+ <view v-else v-for="item in InspectModules" :key="item.id">
+ <view v-if="subTabSelected == item.id">
+ <InspectValueTemplateVue ref="InspectValueModules" :bind-key="item.id"
+ @syncCheckData="InspectValueComplete" :bind-data="{
+ data: checkItems[item.checkItemId],
+ list: InspectValues[item.checkItemId],
+ mode: 4 // 妫�娴嬪�兼ā鍧�
+ }">
+ </InspectValueTemplateVue>
+ </view>
+ </view>
+ </view>
+ </view>
+ <view style="height: 120rpx"></view>
+ <view class="bottom-btn">
+ <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+ <view style="flex: 1"></view>
+ <button class="btn-a" size="mini" @tap="addNew">鏂板</button>
+ <button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+ </view>
+ <SampleSchemePopupVue v-if="enablePopupModule == PopupModuleNameList[1]" ref="listPopup"
+ @update="SampleSchemeComplete" :bindKey="currentChechItemIDCache">
+ </SampleSchemePopupVue>
+ <CheckItemPopupVue v-if="enablePopupModule == PopupModuleNameList[2]" ref="listPopup"
+ @update="CheckItemComplete" :bindKey="currentChechItemIDCache">
+ </CheckItemPopupVue>
+ <InspectMentPopupVue v-if="enablePopupModule == PopupModuleNameList[3]" ref="listPopup"
+ @update="InspectMentComplete" :bindKey="currentChechItemIDCache">
+ </InspectMentPopupVue>
+ <MaterialPopupVue v-if="enablePopupModule == PopupModuleNameList[4]" ref="listPopup" @update="MaterComplete"
+ :bindKey="0">
+ </MaterialPopupVue>
+ <ICMOBillPopupVue v-if="enablePopupModule == PopupModuleNameList[5]" ref="listPopup" @update="ICMOBillComplete"
+ :bindKey="0"></ICMOBillPopupVue>
+ <ProcExchBillPopupVue v-if="enablePopupModule == PopupModuleNameList[6]" ref="listPopup"
+ @update="ProcExchBillComplete" :bindKey="0"></ProcExchBillPopupVue>
+ <ProcessPopupVue v-if="enablePopupModule == PopupModuleNameList[8]" ref="listPopup" @update="HProcComplete"
+ :bindKey="0"></ProcessPopupVue>
+ <CheckProjectPopupVue v-if="enablePopupModule == PopupModuleNameList[7]" ref="listPopup"
+ @update="HQCSchemeComplete" :bindKey="0"></CheckProjectPopupVue>
+ </view>
+</template>
+
+<script>
+ import dayjs from "dayjs";
+ import {
+ CommonUtils
+ } from "../../../utils/common";
+ import InspectValueTemplateVue from "@/components/ZLGL/InspectValueTemplate.vue";
+ import SampleSchemePopupVue from "@/components/ZLGL/SampleSchemePopup.vue";
+ import CheckItemPopupVue from "@/components/ZLGL/CheckItemPopup.vue";
+ import InspectMentPopupVue from "../../../components/ZLGL/InspectMentPopup.vue";
+ import MaterialPopupVue from "../../../components/ZLGL/MaterialPopup.vue";
+ import ICMOBillPopupVue from "../../../components/ZLGL/ICMOBillPopup.vue";
+ import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue";
+ import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue";
+ import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue";
+ import {
+ getUserInfo
+ } from "../../../utils/auth";
+ import {
+ MpaasScan
+ } from "../../../utils/mpaasScan";
+ export default {
+ components: {
+ InspectValueTemplateVue,
+ SampleSchemePopupVue,
+ CheckItemPopupVue,
+ InspectMentPopupVue,
+ MaterialPopupVue,
+ ICMOBillPopupVue,
+ ProcExchBillPopupVue,
+ ProcessPopupVue,
+ CheckProjectPopupVue,
+ },
+ computed: {
+ judgeConclusion: {
+ get() {
+ return true;
+ },
+ },
+ },
+ data() {
+ return {
+ operationType: 1,
+
+ mainTabSelected: 1,
+ subTabSelected: 1,
+
+ // 婧愬崟鐘舵�佹帶鍒�
+ hasSourceBill: false,
+
+ // 鎺у埗褰撳墠鏄剧ず鐨勫脊绐楁ā鍧�
+ enablePopupModule: "",
+ PopupModuleNameList: [
+ "",
+ "SampleScheme",
+ "CheckItem",
+ "InspectMent",
+ "Material",
+ "ICMOBill",
+ "ProcExchBill",
+ "QCScheme",
+ "Process",
+ ],
+ // 褰撳墠鎿嶄綔鐨勬楠屽崟ID缂撳瓨
+ currentChechItemIDCache: -1,
+
+ // uni-combox 閫夋嫨鍣ㄤ娇鐢�
+ // 鐢熶骇璧勬簮
+ GySourceList: [],
+ GySourceNameList: [],
+ // 鐝
+ GyWorkShiftList: [],
+ GyWorkShiftNameList: [],
+ // 妫�楠屽憳
+ GyFirstCheckEmpList: [],
+ GyFirstCheckEmpNameList: [],
+
+ // 妫�楠屾柟妗�
+ arrayAnalysisMethod: [{
+ value: 1,
+ name: "瀹氭�у垎鏋�",
+ },
+ {
+ value: 2,
+ name: "瀹氶噺鍒嗘瀽",
+ },
+ {
+ value: 3,
+ name: "鍏朵粬鍒嗘瀽",
+ },
+ ],
+ ArrayAnalysisMethodValue: [1, 2, 3],
+ // 瀛愯〃 椤电淇℃伅
+ subTabs: {
+ 1: {
+ id: "1",
+ name: "妫�楠岄」鐩�",
+ },
+ 2: {
+ id: "2",
+ name: "鎶芥牱妫�楠�",
+ },
+ },
+
+ // 婧愬崟绫诲瀷
+ HSourceBillType: "閿�鍞鍗�",
+ HSourceBillTypeValueList: ['1401','1402'],
+ HSourceBillTypeNameList: [
+ "閿�鍞鍗�","鍙戣揣閫氱煡鍗�"
+ ],
+ // 涓昏〃灞炴��
+ hform: {
+ HSourceBillType: "1401",
+ HSourceBillNo: "",
+ HBillNo: "",
+ HInterID: "0",
+ HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+ HSourceName: "",
+ HSourceID: "0",
+ HShiftsName: "",
+ HShiftsID: "0",
+ HICMOBillNo: "",
+ HICMOInterID: "0",
+ HICMOEntryID: "1",
+ HICMOQty: "0",
+ HProcExchBillNo: "",
+ HProcExchInterID: "0",
+ HProcExchEntryID: "0",
+ HProcExchQty: "0",
+ HMaterNumber: "",
+ HMaterID: "0",
+ HMaterName: "",
+ HFirstCheckEmpName: "",
+ HFirstCheckEmp: 0,
+ HQCSchemeName: "",
+ HQCSchemeID: "0",
+ HBatchNo: "",
+ HLastResult: true, // 榛樿鍚堟牸
+ HProcName: "",
+ HProcID: "0",
+ HTakeSampleCheckBillNo: "", // 鍙栨牱鍗�
+ HTakeSampleCheckBillID: "0",
+ HRemark: "",
+ HErrTreatment: "", // 寮傚父涓存椂澶勭悊鏂规
+ HMaker: getUserInfo()["Czymc"] || "",
+ HChecker: "",
+ HCloseMan: "",
+ HMakeDate: dayjs(new Date()).format("YYYY-MM-DDTHH:mm:ss"),
+ HCheckDate: "",
+ HCloseDate: "",
+ HUpDater: "",
+ HDeleteMan: "",
+ HUpDateDate: "",
+ HDeleteDate: "",
+ HResult: 1,
+ HAnalysisMethod: "",
+
+ HResDec: "",
+ HStatus: 1,
+
+ HMainSourceBillType: "",
+ HMainSourceInterID: "0",
+ HMainSourceEntryID: "1",
+ HMainSourceBillNo: "",
+ },
+ // 妫�楠岄」鐩拰鎶芥牱妫�楠� 鍊�
+ checkItems: {},
+ // 妫�娴嬪�兼ā鍧�
+ InspectModules: {},
+ // 妫�娴嬪��
+ InspectValues: {},
+ };
+ },
+ methods: {
+ // 妫�楠屽�� 璁$畻鏄惁鍚堟牸
+ calcHResult(item){
+ // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
+ console.log('item: ',item);
+ if(item.HSampleSchemeID) {
+ return
+ }
+
+ if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
+ this.checkItems[item.num].HResult = true
+ return
+ }
+
+ this.checkItems[item.num].HResult = false
+ },
+ // 婧愬崟绫诲瀷閫夋嫨
+ HSourceBillTypeNameChange(e) {
+ this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value];
+ this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value];
+ },
+ toScanCode() {
+ MpaasScan.scanCode((res) => {
+ if (res) {
+ this.getSourceBillInfo(HBarCode);
+ }
+ });
+ },
+ async getSourceBillInfo(HBarCode) {
+ console.log('HBarCode: ', HBarCode);
+ // 鏍规嵁鍗曟嵁绫诲瀷锛岃皟鐢ㄤ笉鍚岀殑涓嬫帹鍑芥暟
+ if (this.hform.HSourceBillType == 1401) {
+ // 閿�鍞鍗�
+ await this.LoadingInformation_SeOrder(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+
+ if (this.hform.HSourceBillType == 1402) {
+ // 鍙戣揣閫氱煡鍗昄oadingInformation_SeOutStock
+ await this.LoadingInformation_SeOutStock(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ if (this.hform.HSourceBillType == 3710) {
+ // 鐢熶骇璁㈠崟鍒楄〃棣栨
+ await this.LoadingInformation_ICMO(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ if (this.hform.HSourceBillType == 3772) {
+ // 宸ュ簭娴佽浆鍗″垪琛ㄩ妫�
+ await this.LoadingInformation_ProcExchange(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ },
+ async GetCheckItemID() {
+ if (!this.hform.HMaterName && !this.hform.HProcName) {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Web/GetCheckItemID",
+ data: {
+ HName: this.hform.HMaterName,
+ HProName: this.hform.HProcName,
+ HSourceID: this.hform.HSourceID,
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].hmainid;
+
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${err}`,
+ });
+ }
+ }
+ },
+ //#region 涓�鑷�
+ async LoadingInformation_ProcExchange(HBarCode) {
+ // 宸ュ簭娴佽浆鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/CheckBill/get_ProcessExchangeBill_ByBillNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+ this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ this.hform.HProcExchInterID = data[0].HProcExchInterID;
+ this.hform.HProcExchEntryID = data[0].HProcExchEntryID || 0;
+ this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+ this.hform.HICMOInterID = data[0].HICMOInterID;
+ this.hform.HICMOQty = data[0].HICMOQty || 0;
+ this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+ this.hform.HSourceID = data[0].HSourceID || 0;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+ this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HMainSourceBillType = data[0].HBillType;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+ this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+ this.hform.HBatchNo = data[0].鎵瑰彿;
+
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ //#endregion
+
+ //#region 淇敼
+ async LoadingInformation_ICMO(HBarCode) {
+ // 鐢熶骇璁㈠崟
+ try {
+ let sWhere="and 鍗曟嵁鍙�='"+HBarCode+"'"
+ console.log(sWhere)
+ let res = await CommonUtils.doRequest2Async({
+ url: "/LEMS/MES_IF_ICMOBillList_Json",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${Message}`,
+ });
+ return;
+ }
+ //鐢熶骇鏀�
+ //this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ //this.hform.HProcExchInterID = data[0].HProcExchInterID;
+ //this.hform.HProcExchEntryID = data[0].HProcExchEntryID;
+ //this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ this.hform.HICMOBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HICMOInterID = data[0].hmainid;
+ this.hform.HICMOQty = data[0].鐢熶骇浠诲姟鍗曟暟閲�;
+ this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+ this.hform.HSourceID = data[0].HSourceID;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterNumber=data[0].浜у搧浠g爜
+ this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+ this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HMainSourceBillType = data[0].鍗曟嵁绫诲瀷;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+ this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${err}`,
+ });
+ }
+ },
+ //#endregion
+
+ //#region 涓�鑷�
+ async LoadingInformation_StationEntrustOutBill(HBarCode) {
+ // 宸ュ簭濮斿鎺ユ敹鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Cj_StationEntrustOutBill/list",
+ data: {
+ sWhere: ` and HBillNo = '${HBarCode}'`,
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+
+ HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ HProcExchInterID = data[0].HProcExchInterID;
+ HProcExchEntryID = data[0].HProcExchEntryID;
+ HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ HICMOBillNo = data[0].鐢熶骇璁㈠崟鍙�;
+ HICMOInterID = data[0].HICMOInterID;
+ HICMOQty = data[0].HICMOQty;
+ HSourceName = data[0].鐢熶骇璧勬簮;
+ HSourceID = data[0].HSourceID;
+ HMaterID = data[0].HMaterID;
+ HMaterName = data[0].浜у搧鍚嶇О;
+ HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ HMainSourceBillType = data[0].HBillType;
+ HMainSourceInterID = data[0].hmainid;
+ HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ //#endregion
+ //LoadingInformation_SeOutStock
+ async LoadingInformation_SeOrder(HBarCode) {
+ // 婧愬崟涓洪攢鍞鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_OutCompCheckBill/get_SeOrderBill_Tmp_ByBiilNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇閿�鍞鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+ //change_inlife
+ this.hform.HMaterNumber=data[0].HMaterNumber;
+
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].HMaterName;
+ this.hform.HMainSourceBillNo = data[0].HBillNo;
+
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HMainSourceEntryID=data[0].HEntryID
+
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+
+
+ for (let i = 0; i < data.length; i++) {
+ this.addCheckItem(data[i])
+ }
+
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇閿�鍞鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ //LoadingInformation_SeOutStock
+ async LoadingInformation_SeOutStock(HBarCode) {
+ // 婧愬崟涓哄彂璐ч�氱煡璁㈠崟
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_OutCompCheckBill/get_SeOutStockBill_Tmp_ByBillNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙戣揣閫氱煡鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+ //change_inlife
+ this.hform.HMaterNumber=data[0].HMaterNumber;
+
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].HMaterName;
+ this.hform.HMainSourceBillNo = data[0].HBillNo;
+
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HMainSourceEntryID=data[0].HEntryID
+
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+
+
+ for (let i = 0; i < data.length; i++) {
+ this.addCheckItem(data[i])
+ }
+
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙戣揣閫氱煡鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ // 妫�楠屽憳鍒濆鍖�
+ async InitHEmp() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_Employee/list",
+ data: {
+ sWhere: ` and 缁勭粐鍚嶇О = '${uni.getStorageSync(
+ "Organization"
+ )}' and 绂佺敤鏍囪 = ''and 瀹℃牳浜� !='' order by 閮ㄩ棬浠g爜`,
+ user: getUserInfo()["Czymc"],
+ Organization: uni.getStorageSync("Organization"),
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ console.log("data: ", data);
+ this.GyFirstCheckEmpList = data;
+ this.GyFirstCheckEmpNameList = Array.from(data).map((e) => e["鑱屽憳鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栨楠屽憳澶辫触: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栨楠屽憳澶辫触: ${err}`,
+ });
+ }
+ },
+ async HFirstCheckEmpChange(e) {
+ console.log("閫変腑妫�楠屽憳: ", e);
+ let index = this.GyFirstCheckEmpList.findIndex((elem) => elem["鑱屽憳鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HFirstCheckEmp = 0;
+ this.hform.HFirstCheckEmpName = "";
+ return;
+ }
+
+ this.hform.HFirstCheckEmp = this.GyFirstCheckEmpList[index]["HItemID"];
+ this.hform.HFirstCheckEmpName = this.GyFirstCheckEmpList[index]["鑱屽憳鍚嶇О"];
+ },
+ // 鐢熶骇鐝鍒濆鍖�
+ async InitHWorkShift() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_ShiftsController/Get_Gy_WorkShiftList",
+ data: {
+ sWhere: ` and 绂佺敤鏍囪 = '' and ISNULL(瀹℃牳浜�,'') != '' and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync(
+ "Organization"
+ )}'`,
+ HMaker: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ console.log("data: ", data);
+ this.GyWorkShiftList = data;
+ this.GyWorkShiftNameList = Array.from(data).map((e) => e["鐝鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫彮娆″け璐�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫彮娆″け璐�: ${err}`,
+ });
+ }
+ },
+ async HWorkShiftChange(e) {
+ console.log("閫変腑鐝: ", e);
+ let index = this.GyWorkShiftList.findIndex((elem) => elem["鐝鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HWorkShiftID = 0;
+ this.hform.HWorkShiftName = "";
+ return;
+ }
+
+ this.hform.HWorkShiftID = this.GySourceList[index]["HInterID"];
+ this.hform.HWorkShiftName = this.GySourceList[index]["鐝鍚嶇О"];
+ },
+ // 鐢熶骇璧勬簮鏇存柊
+ // 鐢熶骇璧勬簮鍒濆鍖�
+ async InitHSource() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_Source/list",
+ data: {
+ sWhere: `and 绂佺敤鏍囪 != 'Y' and ISNULL(瀹℃牳浜�,'') != '' and HUSEORGID = '100038'`,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ this.GySourceList = data;
+ this.GySourceNameList = Array.from(data).map((e) => e["鐢熶骇璧勬簮鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${err}`,
+ });
+ }
+ },
+ // 鐢熶骇璧勬簮鏇存柊
+ async HSourceChange(e) {
+ console.log("閫変腑鐢熶骇璧勬簮: ", e);
+ let index = this.GySourceList.findIndex((elem) => elem["鐢熶骇璧勬簮鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HSourceID = 0;
+ this.hform.HSourceName = "";
+ return;
+ }
+
+ this.hform.HSourceID = this.GySourceList[index]["HItemID"];
+ this.hform.HSourceName = this.GySourceList[index]["鐢熶骇璧勬簮鍚嶇О"];
+
+ this.get_ICMOBillStatusList();
+ this.get_QC_TakeSampleCheckBillList();
+ this.GetCheckItemID();
+ },
+ // 鏄剧ず寮圭獥
+ async showSelectorModule(item, index) {
+ this.currentChechItemIDCache = item.num || 0; // 0 琛ㄧず娌℃湁浠讳綍瀛愯〃琚�変腑
+ this.enablePopupModule = this.PopupModuleNameList[index];
+ console.log("this.$refs: ", this.$refs);
+ await this.$nextTick();
+ if (index == 7) {
+ // 妫�楠屾柟妗堥渶瑕侀澶栦紶閫掑伐搴忓拰鐗╂枡鍚嶇О涓や釜鍙傛暟
+ this.$refs.listPopup.setRequiredInfo(item.HMaterName, item.HProcName);
+ }
+
+ this.$refs.listPopup.showPopup();
+ },
+ getAnalysisMethodDisplay(val) {
+ console.log("AnalysisMethodVal: ", val);
+ if (val) {
+ return this.arrayAnalysisMethod.find((e) => e.value == val).name;
+ }
+ return "";
+ },
+ checkResultChange(event) {
+ console.log("event: ", event);
+ },
+ // 妫�楠岄」鐩柊澧炶
+ addCheckItem(resource) {
+ let ordinal = this.getObjLength(this.checkItems) + 1;
+ let checkItem = {
+ num: ordinal,
+ HInterID: this.hform.HInterID,
+ HQCCheckItemID: "",
+ HQCCheckItemNumber: "",
+ HQCCheckItemName: "",
+ HInspectInstruMentID: "0",
+ HInspectInstruMentNumber: "",
+ HInspectInstruMentName: "",
+ HQCStd: "",
+ HUnit: "",
+ HQCNote: "",
+ HAnalysisMethod: "",
+ HResult: 1,
+ HMax: "",
+ HMin: "",
+ HAvg: "",
+ HRemark: "",
+ HKeyInspect: false,
+ HStatus: 1,
+ HSampleSchemeID: "",
+ HUnitID: 0,
+ HInspectVal: "",
+ HTargetVal: "",
+ HUpLimit: "",
+ HDownLimit: "",
+ HUpOffSet: "",
+ HDownOffSet: "",
+ HSampleDamageQty: 0,
+ HSampleSchemeName: "",
+ HSampleQty: 0,
+ HAcceptQty: 0,
+ HInspectionLevel: "",
+ HRejectQty: 0,
+ HStrictness: "",
+ HSampleUnRightQty: 0,
+ HAQL: "",
+ HSamplingType: "",
+ HInspectResultToSee: "",
+ };
+ if (resource) {
+ // 閫氳繃涓昏〃妫�楠屾柟妗堝甫鍑虹殑妫�楠岄」鐩�
+ Object.assign(checkItem, resource);
+ }
+ this.$set(this.checkItems, ordinal, checkItem);
+ this.$nextTick(() => {
+ // 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+ this.setInspectValModule(this.checkItems[ordinal]);
+ });
+ },
+ // 妫�楠岄」鐩垹闄よ
+ removeCheckItem(item) {
+ uni.showModal({
+ title: "娓╅Θ鎻愮ず",
+ content: `纭瑕佸垹闄ょ${item.num}琛屽悧锛熷垹闄ゅ悗涓嶈兘鎭㈠`,
+ success: (res) => {
+ if (res.confirm) {
+ this.$delete(this.checkItems, item.num);
+ this.$delete(this.subTabs, `_${item.num}`);
+ this.$forceUpdate();
+ this.refreshCheckItemNum();
+ }
+ },
+ });
+ },
+ async refreshCheckItemNum() {
+ await this.$nextTick();
+ // 閲嶆帓搴忓彿
+ let num = 1;
+ let checkItemsCache = {};
+ for (let s in this.checkItems) {
+ checkItemsCache[num] = this.checkItems[s];
+ checkItemsCache[num].num = num;
+ num++;
+ }
+ this.checkItems = checkItemsCache;
+ },
+ getObjLength(obj) {
+ return Object.keys(obj).length;
+ },
+ // 缁撹淇敼
+ HResultChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HResult"] = e.detail.value ? 1 : 2;
+
+ this.HCheckLastResult();
+ },
+ // 姣忔妫�楠岄」鐩殑缁撹鏇存柊锛岄兘瑕佸垽鏂渶缁堢粨璁�
+ HCheckLastResult() {
+ let unPassNum = 0;
+ for (var key in this.checkItems) {
+ if (!(this.checkItems[key]["HResult"] == 1)) {
+ unPassNum++;
+ }
+ }
+
+ if (unPassNum > 0) {
+ this.hform.HLastResult = false;
+ return;
+ }
+ this.hform.HLastResult = true;
+ },
+ // 妫�楠屾柟妗堜慨鏀�
+ HAnalysisMethodChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HAnalysisMethod"] = this.arrayAnalysisMethod[e.detail.value][
+ "value"
+ ];
+
+ // 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+ this.setInspectValModule(this.checkItems[id]);
+ },
+ // 閲嶇偣妫�鏌ヤ慨鏀�
+ HKeyInspectChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HKeyInspect"] = e.detail.value;
+ },
+ // 妫�楠岄」鐩繑鍥�
+ async CheckItemComplete(e) {
+ console.log("CheckItemRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HQCCheckItemID: data["HItemID"],
+ HQCCheckItemNumber: data["浠g爜"],
+ HQCCheckItemName: data["鍚嶇О"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屾柟妗堣繑鍥�
+ async SampleSchemeComplete(e) {
+ console.log("SampleSchemeRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HSampleSchemeID: data["hmainid"],
+ HSampleSchemeNumber: data["鎶芥牱鏂规浠g爜"],
+ HSampleSchemeName: data["鎶芥牱鏂规鍚嶇О"],
+ HSampleQty: data["鏍锋湰閲�"] || 0,
+ HAcceptQty: data["鍏佽鏁�"] || 0,
+ HInspectionLevel: data["妫�楠屾按骞�"],
+ HRejectQty: data["鎷掔粷鏁�"] || 0,
+ HStrictness: data["涓ユ牸搴�"],
+ HSampleUnRightQty: data["鏍锋湰涓嶅悎鏍兼暟"] || 0,
+ HAQL: data["AQL"],
+ HSamplingType: data["鎶芥牱绫诲瀷"],
+ HInspectResultToSee: data["妫�楠岀粨鏋�"],
+ HUpLimit: data["涓婇檺鍊�"] || 0,
+ HDownLimit: data["涓嬮檺鍊�"] || 0,
+ HSampleDamageQty: data["鏍锋湰鐮村潖鏁�"] || 0,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ this.setInspectValModule(this.checkItems[key]);
+
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屼华鍣ㄨ繑鍥�
+ async InspectMentComplete(e) {
+ console.log("InspectInstruMentRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HInspectInstruMentID: data["HItemID"],
+ HInspectInstruMentNumber: data["妫�楠屼华鍣ㄤ唬鐮�"],
+ HInspectInstruMentName: data["妫�楠屼华鍣ㄥ悕绉�"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 浜у搧浠g爜杩斿洖
+ async MaterComplete(e) {
+ console.log("MaterRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HMaterNumber: data["鐗╂枡浠g爜"],
+ HMaterName: data["鐗╂枡鍚嶇О"],
+ HMaterID: data["HItemID"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ this.GetCheckItemID();
+ }
+ },
+ // 浠诲姟鍗曡繑鍥�
+ async ICMOBillComplete(e) {
+ console.log("ICMOBillRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HICMOInterID: data.hmainid,
+ HICMOEntryID: data.HEntryID || 1,
+ HICMOBillNo: data.鍗曟嵁鍙�,
+ HMaterNumber: data.浜у搧浠g爜,
+ HMaterName: data.浜у搧鍚嶇О,
+ HMaterID: data.HMaterID,
+ HICMOQty: data.鐢熶骇浠诲姟鍗曟暟閲�,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 娴佽浆鍗¤繑鍥�
+ async ProcExchBillComplete(e) {
+ console.log("ProcExchBillRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HProcExchInterID: data.hmainid,
+ HProcExchEntryID: data.hsubid,
+ HProcExchBillNo: data.鍗曟嵁鍙�,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屾柟妗�(涓昏〃)杩斿洖
+ async HQCSchemeComplete(e) {
+ console.log("HQCSchemeRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HQCSchemeID: data.hmainid,
+ HQCSchemeName: data.妫�楠屾柟妗堝悕绉�,
+ });
+ await this.get_CheckItem();
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 宸ュ簭杩斿洖
+ async HProcComplete(e) {
+ console.log(" HProcRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HProcName: data["宸ュ簭鍚嶇О"],
+ HProcID: data["HItemID"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ await this.GetCheckItemID();
+ await this.get_ICMOBillStatusList();
+ await this.get_QC_TakeSampleCheckBillList();
+ }
+ },
+
+ //
+ async get_QC_TakeSampleCheckBillList() {
+ // 鍙栨牱鍗曟煡璇�
+ let HProcID = this.hform.HProcID;
+ let HProcExchInterId = this.hform.HProcExchInterID;
+ let sWhere = "";
+
+ if (HProcID == "0" || HProcID == "") {
+ CommonUtils.showTips({
+ message: "璇烽�夋嫨宸ュ簭",
+ });
+ return;
+ }
+
+ sWhere = " and 宸ュ簭娴佽浆鍗′富鍐呯爜='" + HProcExchInterID + "' and HProcID=" + HProcID;
+
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "//QC_TakeSampleCheckBill/QC_TakeSampleCheckBillMainList",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${Message}`,
+ });
+ }
+
+ this.hform.HTakeSampleCheckBillID = data[0]["hmainid"];
+ this.hform.HTakeSampleCheckBillNo = data[0]["鍗曟嵁鍙�"];
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${err}`,
+ });
+ }
+ },
+ async get_ICMOBillStatusList() {
+ let sWhere = "";
+ let HProcID = this.hform.HProcID;
+ let HSourceID = this.hform.HSourceID;
+ let HProcExchInterId = this.hform.HProcExchInterID;
+
+ if (HProcID != "0") {
+ sWhere += " and HProcID=" + HProcID;
+ }
+ if (HSourceID != "0") {
+ sWhere += " and HSourceID=" + HSourceID;
+ }
+
+ sWhere += " and HSourceInterID=" + HProcExchInterID;
+
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/CheckBill/GetICMOBillStatusList",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${Message}`,
+ });
+ }
+
+ this.hform.HProcID = data[0]["HProcID"];
+ this.hform.HProcName = data[0]["宸ュ簭"];
+ this.hform.HSourceID = data[0]["HSourceID"];
+ this.hform.HSourceName = data[0]["鐢熶骇璧勬簮"];
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${err}`,
+ });
+ }
+ },
+ setInspectValModule(checkItem) {
+ console.log("checkItem: ", checkItem);
+ if (!checkItem || !checkItem.HAnalysisMethod || !checkItem.HSampleSchemeID) {
+ return;
+ }
+ // 鍖哄垎妫�楠屽�奸〉绛惧拰闈欐�侀〉绛撅紝妫�楠屽�奸〉绛剧殑id浠寮�澶�
+ this.$set(this.InspectModules, `_${checkItem.num}`, {
+ id: `_${checkItem.num}`,
+ checkItemId: checkItem.num,
+ });
+ console.log(" this.arrayAnalysisMethod: ", checkItem.HAnalysisMethod);
+ let analysisMethodName = this.arrayAnalysisMethod.find(
+ (e) => e.value == checkItem.HAnalysisMethod
+ ).name;
+ this.$set(this.subTabs, `_${checkItem.num}`, {
+ id: `_${checkItem.num}`,
+ name: `${analysisMethodName}-${checkItem.HQCCheckItemName}`,
+ });
+ },
+ InspectValueUpdate(e) {
+ console.log("e: ", e);
+ let {
+ data,
+ list
+ } = e;
+ this.checkItems[data.num] = Object.assign(this.checkItems[data.num], data);
+ this.$set(this.InspectValues, `${data.num}`, list);
+ },
+ // 甯﹀嚭妫�楠岄」鐩�
+ async get_CheckItem() {
+ // 棣栧厛娓呯┖妫�楠岄」鐩� 鍜� 妫�楠屽��
+ this.checkItems = {}
+ for (let key in this.subTabs) {
+ if (key.substring(1) == "_") {
+ this.$delete(this.subTabs, key)
+ }
+ }
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Web/GetCheckItemByCheckProjectID",
+ data: {
+ CheckProjectID: this.hform.HQCSchemeID || 0,
+ HBatchQty: this.hform.HProcExchQty || 0,
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+
+ if (count == 1) {
+ for (var i = 0; i < data.length; i++) {
+ let checkItem = {
+ HQCCheckItemID: data[i]["HQCCheckItemID"],
+ HQCCheckItemNumber: data[i]["妫�楠岄」鐩唬鐮�"],
+ HQCCheckItemName: data[i]["妫�楠岄」鐩�"],
+ HInspectInstruMentID: data[i]["HInspectInstruMentID"],
+ HInspectInstruMentNumber: data[i]["妫�楠屼华鍣ㄤ唬鐮�"],
+ HInspectInstruMentName: data[i]["妫�楠屼华鍣�"],
+ HQCStd: data[i]["HQCStd"],
+ HUnit: data[i]["鍗曚綅鍚嶇О"],
+ HQCNote: "",
+ HAnalysisMethod: data[i]["鍒嗘瀽鏂规硶"],
+ HResult: data[i]["榛樿缁撹"],
+ HMax: "",
+ HMin: "",
+ HAvg: "",
+ HRemark: "",
+ HKeyInspect: data[i]["閲嶇偣妫�鏌�"] == 1 ? true : false,
+ HStatus: 0,
+ HSampleSchemeID: data[i]["HSampleSchemeID"],
+ HUnitID: data[i]["HUnitID"],
+ HInspectVal: "",
+ HTargetVal: "",
+ HUpLimit: data[i].涓婇檺鍊�,
+ HDownLimit: data[i].涓嬮檺鍊�,
+ HUpOffSet: "",
+ HDownOffSet: "",
+ HSampleDamageQty: "0",
+ HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[i].鏍锋湰閲�,
+ HAcceptQty: data[i].鍏佽鏁�,
+ HInspectionLevel: data[i].妫�楠屾按骞�,
+ HRejectQty: data[i].鎷掔粷鏁�,
+ HStrictness: data[i].涓ユ牸搴�,
+ HSampleUnRightQty: 0,
+ HAQL: data[i].AQL,
+ HSamplingType: data[i].鎶芥牱绫诲瀷,
+ HCompareSymbol: data[i].姣旇緝绗�,
+ HTargetVal: data[i].鐩爣鍊� || 0,
+ };
+
+ this.addCheckItem(checkItem);
+ }
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${Message} `,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${err} `,
+ });
+ }
+ },
+ async getMaxBillNo() {
+ try {
+ let res = await CommonUtils.doRequest2Sync({
+ url: "/Web/GetMAXNum",
+ data: {
+ HBillType: "7504",
+ },
+ });
+
+ if (!res) {
+ return;
+ }
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+ if (count == 1) {
+ this.hform.HInterID = data[0].HInterID;
+ this.hform.HBillNo = data[0].HBillNo;
+ } else {
+ throw Message;
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: "鑾峰彇鍗曟嵁鍙峰紓甯�: " + err,
+ });
+ }
+ },
+ // 妫�楠屽�艰繑鍥炲��
+ InspectValueComplete(e) {
+ console.log("e: ", e);
+ let key = e.num;
+ e.HStatus = e.HStatus ? 1 : 0
+ if (e.HResult2 == '') {
+ e.HResult2 = this.checkItems[key].HResult
+ }
+ Object.assign(this.checkItems[key], e);
+ this.checkItems[key].HInspectResultToSee = this.checkItems[key].HResult2;
+ this.checkItems[key].HResult = this.checkItems[key].HResult2 == '鍚堟牸' ? 1 : 2;
+
+ this.HCheckLastResult();
+
+ },
+ checkSubmitValidate() {
+ // if (this.hform.HICMOQty == "" || this.hform.HICMOQty <= 0) {
+ // CommonUtils.showTips({
+ // message: "浠诲姟鍗曟暟閲忎笉鑳戒负绌轰笖涓嶈兘灏忎簬绛変簬0锛�",
+ // });
+ // return false;
+ // }
+
+ if (this.hform.HFirstCheckEmp == 0) {
+ CommonUtils.showTips({
+ message: "妫�楠屽憳鏈�夋嫨锛�",
+ });
+ return false;
+ }
+
+ for (let key in this.checkItems) {
+ if (!this.checkItems[key].HQCCheckItemID) {
+ CommonUtils.showTips({
+ message: `绗�${this.checkItems[key].num}琛屾楠岄」鐩笉鑳戒负绌�!`,
+ });
+ return false;
+ }
+
+ if (
+ this.checkItems[key].HSampleSchemeID == "" ||
+ this.checkItems[key].HSampleSchemeID == null
+ ) {
+ this.checkItems[key].HSampleSchemeID = 0;
+ }
+ if (
+ this.checkItems[key].HSampleQty == "" ||
+ this.checkItems[key].HSampleQty == null
+ ) {
+ this.checkItems[key].HSampleQty = 0;
+ }
+ if (
+ this.checkItems[key].HSampleDamageQty == "" ||
+ this.checkItems[key].HSampleDamageQty == null
+ ) {
+ this.checkItems[key].HSampleDamageQty = 0;
+ }
+ if (
+ this.checkItems[key].HAcceptQty == "" ||
+ this.checkItems[key].HAcceptQty == null
+ ) {
+ this.checkItems[key].HAcceptQty = 0;
+ }
+ if (
+ this.checkItems[key].HRejectQty == "" ||
+ this.checkItems[key].HRejectQty == null
+ ) {
+ this.checkItems[key].HRejectQty = 0;
+ }
+ if (
+ this.checkItems[key].HSampleUnRightQty == "" ||
+ this.checkItems[key].HSampleUnRightQty == 0
+ ) {
+ this.checkItems[key].HSampleUnRightQty = 0;
+ }
+ if (this.checkItems[key].HUnitID == "") {
+ this.checkItems[key].HUnitID = 0;
+ }
+ }
+
+ return true;
+ },
+ async submit() {
+ if (!this.checkSubmitValidate()) {
+ return;
+ }
+ try {
+ console.log('this.$refs: ', this.$refs);
+ // 妫�鏌ユ槸鍚︽湁鏈垏鎹㈢殑妫�楠屽�兼ā鍧�(鏄惁鍖呭惈set_SaveValue鏂规硶),濡傛灉鏈夛紝鍒欒繍琛屼竴娆′繚瀛樻楠屽�肩殑鏂规硶锛屾牴鎹楠屽�兼槸鍚︿繚瀛樻垚鍔熷啀鎵ц涓嬩竴姝�
+ if (typeof this.$refs.InspectValueModules != "undefined" && this.$refs.InspectValueModules.length >
+ 0) {
+ // 鍔犺浇鏈夋楠屽�兼ā鍧�
+ await this.$refs.InspectValueModules[0].set_SaveValue();
+ this.InspectValues[0] = this.$refs.InspectValueModules[0].InSpectValues;
+ await this.InspectValueComplete(this.$refs.InspectValueModules[0].checkData)
+ }
+ let InspectValuesTrans = [];
+ let HInterID = this.hform.HInterID;
+ for (let key in this.InspectValues) {
+ let HEntryID = key;
+
+ InspectValuesTrans.push(
+ `${JSON.stringify(this.InspectValues[key])}`
+ );
+ }
+ let checkItemsArray = [];
+ for (var key in this.checkItems) {
+ let checkItem = JSON.parse(JSON.stringify(this.checkItems[key]))
+ delete checkItem.data
+ checkItemsArray.push(checkItem);
+ }
+ console.log('checkItemsArray: ', checkItemsArray);
+ let sMainSub = `${JSON.stringify(this.hform)};${JSON.stringify(
+ checkItemsArray
+ )};${this.operationType};${getUserInfo()["Czymc"]};${InspectValuesTrans[0]}`;
+ console.log("this.checkItems: ", this.checkItems);
+
+ let res = await CommonUtils.doRequest2Sync({
+ url: "/QC_OutCompCheckBill/AddBill",
+ data: {
+ sMainSub: sMainSub,
+ },
+ method: "POST",
+ });
+
+ if (!res) {
+ return;
+ }
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+ if (count == 1) {
+ uni.showModal({
+ title: "鎻愮ず",
+ content: res.data.Message + "銆傛槸鍚︾户缁柊澧烇紵",
+ success: (res) => {
+ if (res.confirm) {
+ console.log("鐢ㄦ埛鐐瑰嚮纭畾");
+ uni.redirectTo({
+ url: "/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2?operationType=1",
+ });
+ } else if (res.cancel) {
+ console.log("鐢ㄦ埛鐐瑰嚮鍙栨秷");
+ // setTimeout(() => {
+ // uni.navigateBack();
+ // }, 50)
+ }
+ },
+ });
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${err}`,
+ });
+ }
+ },
+ addNew() {
+ uni.redirectTo({
+ url: "/pages/ZLGL/shoujianjianyan/firstCheckBillList?operationType=1",
+ });
+ },
+ goBack() {
+ uni.navigateBack();
+ },
+ async RoadBillMain() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_FirstPieceCheckBill/QC_FirstPieceCheckBill_Edit",
+ data: {
+ sWhere: ` and hmainid=${this.hform.HInterID}`,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+
+ if (count == 1) {
+ console.log("RoadBillMain: : ", data);
+ Object.assign(this.hform, {
+ HInterID: data[0].hmainid,
+ HBillNo: data[0].鍗曟嵁鍙�,
+ HDate: dayjs(data[0].鏃ユ湡).format("YYYY-MM-DD"),
+ HSourceID: data[0].HSourceID,
+ HSourceName: data[0].鐢熶骇璧勬簮鍚嶇О,
+ HICMOBillNo: data[0].浠诲姟鍗曞彿,
+ HICMOQty: data[0].浠诲姟鍗曟暟閲�,
+ HICMOInterID: data[0].HICMOInterID,
+ HICMOEntryID: data[0].HICMOEntryID || 1,
+ HMaterID: data[0].HMaterID,
+ HMaterName: data[0].鐗╂枡鍚嶇О,
+ HMaterNumber: data[0].鐗╂枡浠g爜,
+ HProcID: data[0].HProcID,
+ HProcName: data[0].HProcName,
+ HProcExchQty: data[0].HProcExchQty || 0,
+ HProcExchBillNo: data[0].HProcExchBillNo,
+ HProcExchInterID: data[0].HProcExchInterID,
+ HProcExchEntryID: data[0].HProcExchEntryID || 0,
+ HFirstCheckEmp: data[0].HFirstCheckEmp,
+ HFirstCheckEmpName: data[0].璐ㄦ鍛樺悕绉�,
+ HQCSchemeID: data[0].妫�楠屾柟妗圛D,
+ HQCSchemeName: data[0].妫�楠屾柟妗堝悕绉�,
+ HRemark: data[0].琛ㄥご澶囨敞,
+ HMaker: data[0].鍒跺崟浜�,
+ HMakeDate: data[0].鍒跺崟鏃ユ湡,
+ HChecker: data[0].瀹℃牳浜�,
+ HCheckDate: data[0].瀹℃牳鏃ユ湡,
+ HCloseMan: data[0].鍏抽棴浜�,
+ HCloseDate: data[0].鍏抽棴鏃ユ湡,
+ HUpDateDate: data[0].淇敼鏃ユ湡,
+ HDeleteDate: data[0].浣滃簾鏃ユ湡,
+ HSampleSchemeID: data[0].HSampleSchemeID,
+ HSampleSchemeName: data[0].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[0].鏍锋湰閲�,
+ HSampleQty2: data[0].鏍锋湰閲�,
+ HSampleDamageQty: data[0].鏍锋湰鐮村潖鏁�,
+ HSamplingType: data[0].鎶芥牱绫诲瀷,
+ HAcceptQty: data[0].鍏佽鏁�,
+ HInspectionLevel: data[0].妫�楠屾按骞�,
+ HRejectQty: data[0].鎷掔粷鏁�,
+ HStrictness: data[0].涓ユ牸搴�,
+ HSampleUnRightQty: data[0].鏍锋湰涓嶅悎鏍兼暟 || 0,
+ HSampleUnRightQty2: data[0].鏍锋湰涓嶅悎鏍兼暟,
+ HAQL: data[0].AQL,
+ HUnitID: data[0].HUnitID,
+ HUnit: data[0].鍗曚綅,
+ HInspectValB: data[0].妫�娴嬪�煎熀纭�璧勬枡,
+ HInspectVal: data[0].妫�娴嬪��,
+ HTargetValB: data[0].鐩爣鍊煎熀纭�璧勬枡,
+ HTargetVal: data[0].鐩爣鍊�,
+ HUpLimit: data[0].涓婇檺鍊�,
+ HDownLimit: data[0].涓嬮檺鍊�,
+ HUpOffSet: data[0].涓婂亸宸�,
+ HDownOffSet: data[0].涓嬪亸宸�,
+ HEntryID: data[0].hsubid,
+ HQCCheckItemName: data[0].妫�楠岄」鐩悕绉�,
+ HQCCheckItemID: data[0].HQCCheckItemID,
+ HShiftsID: data[0].HShiftsID,
+ HShiftsName: data[0].鐝鍚嶇О,
+ HErrTreatment: data[0].寮傚父涓存椂澶勭悊鏂规,
+ HBatchNo: data[0].鎵瑰彿,
+ HLastResult: data[0].鍒ゅ畾缁撹 == "鍚堟牸" ? true : false,
+ HTakeSampleCheckBillID: data[0].HTakeSampleCheckBillID,
+ HTakeSampleCheckBillNo: data[0].HTakeSampleCheckBillNo,
+ HAnalysisMethod: function() {
+ if (data[0].HAnalysisMethod == 1) {
+ return '瀹氭�ф楠�'
+ } else if (data[0].HAnalysisMethod == 2) {
+ return '瀹氶噺妫�楠�'
+ } else {
+ return '鍏朵粬妫�楠�'
+ }
+ }(),
+
+
+
+ });
+
+ for (let i = 0; i < data.length; i++) {
+ this.addCheckItem({
+ HQCCheckItemID: data[i].HQCCheckItemID,
+ HQCCheckItemNumber: data[i].妫�楠岄」鐩唬鐮�,
+ HQCCheckItemName: data[i].妫�楠岄」鐩悕绉�,
+ HInspectInstruMentID: data[i].HInspectInstruMentID,
+ HInspectInstruMentNumber: data[i].妫�楠屼华鍣ㄤ唬鐮�,
+ HInspectInstruMentName: data[i].妫�楠屼华鍣ㄥ悕绉�,
+ HQCStd: data[i].妫�楠屾爣鍑�,
+ HUnit: data[i].鍗曚綅鍚嶇О,
+ HQCNote: data[i].妫�楠岃褰�,
+ HResult: data[i].缁撹 == "鍚堟牸" ? 1 : 0,
+ HMax: data[i].鏈�澶у��,
+ HMin: data[i].鏈�灏忓��,
+ HAvg: data[i].骞冲潎鍊�,
+ HRemark: data[i].琛ㄤ綋澶囨敞,
+ HAnalysisMethod: data[i].鍒嗘瀽鏂规硶 == "瀹氭�у垎鏋�" ?
+ 1 : data[i].鍒嗘瀽鏂规硶 == "瀹氶噺鍒嗘瀽" ?
+ 2 : 3,
+ HKeyInspect: data[i].閲嶇偣妫�鏌� == "鍚�" ? false : true,
+ HSampleSchemeID: data[i].HSampleSchemeID,
+ HUnitID: data[i].HUnitID,
+ HInspectVal: data[i].妫�娴嬪��,
+ HTargetVal: data[i].鐩爣鍊�,
+ HUpLimit: data[i].涓婇檺鍊�,
+ HDownLimit: data[i].涓嬮檺鍊�,
+ HUpOffSet: data[i].涓婂亸宸�,
+ HDownOffSet: data[i].涓嬪亸宸�,
+ HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+ HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[i].鏍锋湰閲�,
+ HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+ HAcceptQty: data[i].鍏佽鏁�,
+ HInspectionLevel: 0,
+ HRejectQty: data[i].鎷掔粷鏁�,
+ HStrictness: 0,
+ HSampleUnRightQty: data[i].鏍锋湰涓嶅悎鏍兼暟,
+ HAQL: data[i].AQL,
+ HSamplingType: 0,
+ HSamplingType: data[i].鎶芥牱绫诲瀷,
+ HStrictness: data[i].涓ユ牸搴�,
+ HInspectResultToSee: data[i].妫�楠岀粨鏋�
+ });
+
+ }
+
+
+ this.hasSourceBill = true
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍔犺浇鍗曟嵁澶辫触: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍔犺浇鍗曟嵁澶辫触: ${err}`,
+ });
+ }
+ },
+ },
+ async onLoad(e) {
+ this.operationType = e.operationType || 1;
+ this.hform.HInterID = e.linterid || 0;
+ if (this.operationType == 1) {
+ await this.getMaxBillNo();
+ } else if (this.operationType == 2) {
+
+ } else if (this.operationType == 3) {
+ await this.RoadBillMain();
+ }
+
+ await this.InitHSource();
+ await this.InitHWorkShift();
+ await this.InitHEmp();
+ },
+ };
+</script>
+
+<style lang="scss" scoped>
+ input {
+ width: inherit;
+ font-size: 26rpx;
+ }
+
+ .uni-input {
+ padding: 0;
+ }
+
+ .bill-main-tabs,
+ .bill-sub-tabs {
+ box-sizing: border-box;
+ width: 730rpx;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ gap: 20rpx;
+ flex-shrink: 0;
+ overflow-x: auto;
+ border-bottom: 1px solid #ddd;
+ padding: 20rpx 10rpx;
+ white-space: nowrap;
+
+ view {
+ width: auto;
+ font-size: 26rpx;
+ color: #555;
+ text-align: center;
+ padding: 16rpx 0;
+ }
+
+ .selected {
+ color: #3a78ff;
+ font-weight: bold;
+ border-bottom: 3px solid #3a78ff;
+ }
+ }
+
+ .bill-main-content,
+ .bill-sub-content {
+ box-sizing: border-box;
+ padding: 0 30rpx 0 30rpx;
+ display: flex;
+ flex-direction: column;
+
+ .form-item {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ font-size: 26rpx;
+ padding: 6rpx 0;
+
+ .left {
+ width: 208rpx;
+
+ text {
+ color: red;
+ font-weight: bold;
+ }
+ }
+
+ .right {
+ // width: 450rpx;
+ padding: 8rpx 20rpx;
+ font-size: 26rpx;
+ flex: 1;
+ border-radius: 22rpx;
+ border: 1px solid #acacac;
+
+ .uni-combox {
+ padding: 0;
+ height: auto;
+
+ .uni-input-placeholder,
+ .uni-input-input {
+ font-size: 26rpx;
+ }
+ }
+
+ .uni-combox::v-deep input {
+ height: inherit;
+ font-size: 26rpx;
+ }
+ }
+
+ .disabled {
+ border: 1px solid #e4e4e4;
+ background-color: #e4e4e4;
+ }
+
+ .none-border {
+ border: none;
+ }
+ }
+ }
+
+ .bottom-btn {
+ box-sizing: border-box;
+ width: 100%;
+ height: 120rpx;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ background-color: #fff;
+ box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+ padding: 30rpx 40rpx 40rpx 40rpx;
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 28rpx;
+ }
+
+ .btn-a {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #acacac;
+ color: #fff;
+ // position: absolute;
+ // right: 120rpx;
+ }
+
+ .btn-d {
+ background-color: #ff8901;
+ color: #fff;
+ }
+ }
+
+ .buttons {
+ box-sizing: border-box;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ padding: 10rpx 0;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 26rpx;
+ }
+
+ .btn-a {
+ background-color: #acacac;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+ }
+
+ .list {
+ width: 100%;
+
+ .card-detail {
+ width: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-items: center;
+ line-height: 120%;
+ gap: 10rpx 0;
+
+ input {
+ font-size: 26rpx;
+ }
+
+ .detail {
+ // width: 50%;
+ box-sizing: border-box;
+ font-size: 26rpx;
+ color: #555;
+ padding-right: 20rpx;
+
+ text {
+ color: #999;
+ font-size: 26rpx;
+ }
+ }
+
+ .editable {
+ width: 50%;
+ display: inline-flex;
+ flex-direction: row;
+ align-items: center;
+
+ text {
+ flex-shrink: 0;
+ }
+
+ .editable-input {
+ border: 1px solid #acacac;
+ border-radius: 5rpx;
+ padding: 0 12rpx;
+ }
+ }
+ }
+ }
+
+ .icon-wrapper {
+ background-color: #3a78ff;
+ border-radius: 100%;
+ width: 40rpx;
+ height: 40rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-shrink: 0;
+
+ .uni-icons {
+ color: #fff !important;
+ }
+ }
+
+ .icon-wrapper-big {
+ background-color: #3a78ff;
+ border-radius: 100%;
+ width: 50rpx;
+ height: 50rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-shrink: 0;
+ margin-left: 20rpx;
+
+ .uni-icons {
+ color: #fff !important;
+ }
+ }
+
+ .more {
+ color: #888;
+ font-size: 22rpx;
+ display: flex;
+ border-top: 1px solid #eee;
+ padding-top: 10rpx;
+
+ .part {
+ width: 100%;
+ text-align: center;
+ }
+ }
+
+ .pass-background {
+ background-color: #cee3f2;
+ border: none;
+ }
+
+ .unpass-background {
+ background-color: #f0d6e3;
+ border: none;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue b/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
new file mode 100644
index 0000000..c2dc66d
--- /dev/null
+++ b/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
@@ -0,0 +1,2292 @@
+<template>
+ <view>
+ <!-- 涓昏〃鍖哄煙 -->
+ <view class="bill-main-area">
+ <!-- 涓昏〃椤电 -->
+ <view class="bill-main-tabs">
+ <view :class="mainTabSelected == 1 ? 'selected' : ''" @tap="mainTabSelected = 1">鍩烘湰淇℃伅</view>
+ <view :class="mainTabSelected == 2 ? 'selected' : ''" @tap="mainTabSelected = 2">鍏朵粬淇℃伅</view>
+ <view :class="mainTabSelected == 3 ? 'selected' : ''" @tap="mainTabSelected = 3">鍒跺崟淇℃伅</view>
+ </view>
+ <!-- 涓昏〃鍐呭 -->
+ <view class="bill-main-contents">
+ <!-- 鍩烘湰淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 1">
+ <view class="form-item">
+ <view class="left">鍗曟嵁鍙�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HBillNo" disabled />
+ </view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">鏃ユ湡</view>
+ <view class="right">
+ <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HDate">
+ <view>{{ hform.HDate }}</view>
+ </uni-datetime-picker>
+ </view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">婧愬崟鍗曞彿</view>
+ <view class="right" :class="!hasSourceBill?'':'disabled'">
+ <input type="text" :disabled="hasSourceBill" placeholder="璇疯緭鍏ユ垨鎵弿婧愬崟鍙�"
+ v-model="hform.HSourceBillNo" @confirm="getSourceBillInfo(hform.HSourceBillNo)" />
+ </view>
+ <view class="icon-wrapper-big">
+ <uni-icons class="right-icon" type="scan" style="
+ background-color: #3a78ff;
+ padding: 6rpx;
+ color: #fff;
+ border-radius: 100%;
+ " size="20" @click="toScanCode"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">鐢熶骇璧勬簮</view>
+ <view class="right">
+ <uni-combox :candidates="GySourceNameList" placeholder="璇烽�夋嫨鐢熶骇璧勬簮" v-model="hform.HSourceName"
+ @update:modelValue="HSourceChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">鐢熶骇鐝</view>
+ <view class="right">
+ <uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+ v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">浠诲姟鍗曞彿</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HICMOBillNo" disabled />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 5)"></uni-icons></view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">娴佽浆鍗″彿</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HProcExchBillNo" disabled />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 6)"></uni-icons></view>
+ </view>
+ <view class="form-item">
+ <view class="left">浜у搧浠g爜</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HMaterNumber" />
+ </view>
+ <view class="icon-wrapper-big">
+ <uni-icons type="search" size="20" @click="showSelectorModule(hform, 4)"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浜у搧鍚嶇О</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HMaterName" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">妫�楠屽憳</view>
+ <view class="right">
+ <uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
+ :v-model="hform.HFirstCheckEmpName"
+ @update:modelValue="HFirstCheckEmpChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">妫�楠屾柟妗�</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="this.hform.HQCSchemeName" />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 7)"></uni-icons></view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">鍒ゆ柇缁撹</view>
+ <view class="right none-border">
+ <radio-group @changer="checkResultChange">
+ <label>
+ <radio value="0" :checked="hform.HLastResult" /><text></text>
+ 鍚堟牸
+ </label>
+ <view style="width: 20rpx; display: inline-block"></view>
+ <label>
+ <radio value="1" :checked="!hform.HLastResult" /><text></text>
+ 涓嶅悎鏍�
+ </label>
+ </radio-group>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">宸ュ簭</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HProcName" />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 8)"></uni-icons></view>
+ </view>
+
+ </view>
+ <!-- 鍏朵粬淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 2">
+ <view class="form-item">
+ <view class="left">婧愬崟绫诲瀷</view>
+ <view class="right" style="position: relative" :class="!hasSourceBill?'':'disabled'">
+ <picker mode="selector" :range="HSourceBillTypeNameList" :disabled="hasSourceBill"
+ @change="HSourceBillTypeNameChange">
+ <input type="text" placeholder="璇烽�夋嫨婧愬崟绫诲瀷" v-model="HSourceBillType" disabled/>
+ <view class="picker-overlay"></view>
+ </picker>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">鐢熶骇鐝</view>
+ <view class="right">
+ <uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+ v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">寮傚父涓存椂澶勭悊鏂规</view>
+ <view class="right">
+ <input type="text" v-model="hform.HErrTreatment" value="" />
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">浠诲姟鍗曟暟閲�</view>
+ <view class="right">
+ <input type="number" v-model="hform.HICMOQty" />
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">娴佽浆鍗℃暟閲�</view>
+ <view class="right">
+ <input type="number" v-model="hform.HProcExchQty" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鎵瑰彿</view>
+ <view class="right">
+ <input type="text" value="" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">澶囨敞</view>
+ <view class="right">
+ <input type="text" v-model="hform.HRemark" value="" />
+ </view>
+ </view>
+ </view>
+ <!-- 鍒跺崟淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 3">
+ <view class="form-item">
+ <view class="left">鍒跺崟浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HMaker" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍒跺崟鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HMakeDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">瀹℃牳浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HChecker" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">瀹℃牳鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCheckDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍏抽棴浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCloseMan" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍏抽棴鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCloseDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">淇敼浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HUpDater" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">淇敼鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HUpDateDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浣滃簾浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HDeleteMan" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浣滃簾鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HDeleteDate" disabled />
+ </view>
+ </view>
+ </view>
+ </view>
+ </view>
+ <!-- 瀛愯〃鍖哄煙 -->
+ <view class="bill-sub-area">
+ <!-- 瀛愯〃椤电 -->
+ <view class="bill-sub-tabs">
+ <view v-for="subTab in subTabs" :key="subTab.id" :class="subTab.id == subTabSelected ? 'selected' : ''"
+ @tap="subTabSelected = subTab.id">{{ subTab.name }}</view>
+ </view>
+ <!-- 瀛愯〃鍐呭 -->
+ <view class="bill-main-contents">
+ <!-- 妫�楠岄」鐩� 鍛堢幇 -->
+ <view v-if="subTabSelected == 1">
+ <!-- 闇�閫氳繃鏄惧紡璋冪敤蹇界暐$event鍙傛暟 -->
+ <view class="buttons" @tap="addCheckItem()">
+ <uni-icons type="plus" style="margin-right: 10rpx" size="22"></uni-icons>鏂板
+ </view>
+ <view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+ <view class="list" v-else>
+ <uni-card v-for="checkItem in checkItems" :key="checkItem.num">
+ <view class="card-detail">
+ <view class="detail"> <text>搴忓彿锛�</text>{{ checkItem.num }} </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>妫�楠岄」鐩細</text></view>
+ <input type="text" :value="checkItem.HQCCheckItemName" disabled="" />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(checkItem, 2)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>妫�楠屼华鍣細</text></view>
+ <input type="text" :value="checkItem.HInspectInstruMentName" disabled="" />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(checkItem, 3)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <view><text>缁撹锛�</text></view>
+ <view style="width: 4em">
+ {{ checkItem.HResult == 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}
+ </view>
+ <view>
+ <switch style="width: 2em; transform: scale(0.7)"
+ :checked="checkItem.HResult == 1"
+ @change="HResultChange(checkItem.num, $event)" />
+ </view>
+ </view>
+ <view class="detail editable" style="position: relative">
+ <view style="flex-shrink: 0"><text>鍒嗘瀽鏂规硶锛�</text></view>
+ <picker :range="arrayAnalysisMethod" range-key="name"
+ @change="HAnalysisMethodChange(checkItem.num, $event)">
+ <input disabled :value="getAnalysisMethodDisplay(checkItem.HAnalysisMethod)"
+ placeholder="璇烽�夋嫨" />
+ <view class="picker-overlay"></view>
+ </picker>
+ </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>閲嶇偣妫�鏌ワ細</text></view>
+ <view>
+ <switch type="checkbox" style="transform: scale(0.7)"
+ :checked="checkItem.HKeyInspect"
+ @change="HKeyInspectChange(checkItem, $event)" />
+ </view>
+ </view>
+ <view class="detail" v-if="checkItem.HQCStd">
+ <text>妫�楠屾爣鍑嗭細</text>{{ checkItem.HQCStd }}
+ </view>
+ <view class="detail" v-if="checkItem.HUnit">
+ <text>鍗曚綅锛�</text>{{ checkItem.HUnit }}
+ </view>
+ <!-- 鍙湁瀹氶噺鍒嗘瀽鎵嶅惎鐢ㄦ楠屽�� -->
+ <view class="detail editable" v-show="checkItem.HAnalysisMethod == 2">
+ <text>妫�楠屽�硷細</text>
+ <input type="text" class="editable-input" @blur="calcHResult(checkItem)" v-model="checkItem.HInspectValQ" />
+ </view>
+
+ <view class="detail" v-if="checkItem.HQCNote">
+ <text>妫�楠岃褰曪細</text>{{ checkItem.HQCNote }}
+ </view>
+ <view class="detail" v-if="checkItem.HTargetVal">
+ <text>鐩爣鍊硷細</text>{{ checkItem.HTargetVal }}
+ </view>
+ <view class="detail" v-if="checkItem.HUpLimit">
+ <text>涓婇檺鍊硷細</text>{{ checkItem.HUpLimit }}
+ </view>
+ <view class="detail" v-if="checkItem.HDownLimit">
+ <text>涓嬮檺鍊硷細</text>{{ checkItem.HDownLimit }}
+ </view>
+ <view class="detail" v-if="checkItem.HMax">
+ <text>鏈�澶у�硷細</text>{{ checkItem.HMax }}
+ </view>
+ <view class="detail" v-if="checkItem.HMin">
+ <text>鏈�灏忓�硷細</text>{{ checkItem.HMin }}
+ </view>
+ <view class="detail" v-if="checkItem.HAvg">
+ <text>骞冲潎鍊硷細</text>{{ checkItem.HAvg }}
+ </view>
+ </view>
+ <view style="height: 20rpx"></view>
+ <view class="more">
+ <view class="part" style="color: #da0000" @tap.stop="removeCheckItem(checkItem)">
+ <uni-icons type="trash" style="color: #da0000; margin-right: 10rpx"
+ size="18"></uni-icons>鍒犻櫎
+ </view>
+ </view>
+ </uni-card>
+ </view>
+ </view>
+ <!-- 鎶芥牱妫�楠� 鍛堢幇 -->
+ <view v-if="subTabSelected == 2">
+ <view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+ <view class="list" v-else>
+ <uni-card v-for="SamplingItem in checkItems" :key="SamplingItem.num">
+ <view class="card-detail">
+ <view class="detail"> <text>搴忓彿锛�</text>{{ SamplingItem.num }} </view>
+ <view class="detail editable">
+ <text>妫�楠岄」鐩細</text>{{ SamplingItem.HQCCheckItemName }}
+ </view>
+ <view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+ <view class="detail editable" style="width: 100%">
+ <view style="flex-shrink: 0"><text>鎶芥牱鏂规锛�</text></view>
+ <input type="text" :value="SamplingItem.HSampleSchemeName" disabled />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(SamplingItem, 1)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <text>鎶芥牱绫诲瀷锛�</text>{{ SamplingItem.HSamplingType }}
+ </view>
+ <view class="detail editable">
+ <text>妫�楠屾按骞筹細</text>{{ SamplingItem.HInspectionLevel }}
+ </view>
+ <view class="detail editable">
+ <text>涓ユ牸搴︼細</text>{{ SamplingItem.HStrictness }}
+ </view>
+ <view class="detail editable">
+ <text>AQL锛�</text>{{ SamplingItem.HAQL }}
+ </view>
+ <view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+ <view class="detail editable">
+ <text>鏍锋湰閲忥細</text>{{ SamplingItem.HSampleQty }}
+ </view>
+ <view class="detail editable">
+ <text>鍏佽鏁帮細</text>{{ SamplingItem.HAcceptQty }}
+ </view>
+ <view class="detail editable">
+ <text>鎷掔粷鏁帮細</text>{{ SamplingItem.HRejectQty }}
+ </view>
+ <view class="detail editable">
+ <text>鏍锋湰涓嶅悎鏍兼暟锛�</text>{{ SamplingItem.HSampleUnRightQty }}
+ </view>
+ <view class="detail editable">
+ <text>鏍锋湰鐮村潖鏁帮細</text>
+ <view class="editable-input">
+ <input type="number" v-model="SamplingItem.HSampleDamageQty" />
+ </view>
+ </view>
+ <view class="detail editable">
+ <text>妫�楠岀粨鏋滐細</text>
+ <view style="border-radius: 15%; padding: 0 10rpx" :class="
+ SamplingItem.HInspectResultToSee == '鍚堟牸'
+ ? 'pass-background'
+ : SamplingItem.HInspectResultToSee == '涓嶅悎鏍�'
+ ? 'unpass-background'
+ : ''
+ ">
+ {{ SamplingItem.HInspectResultToSee }}
+ </view>
+ </view>
+ </view>
+ </uni-card>
+ </view>
+ </view>
+ <!-- 妫�娴嬪�� 鍛堢幇 -->
+ <view v-else v-for="item in InspectModules" :key="item.id">
+ <view v-if="subTabSelected == item.id">
+ <InspectValueTemplateVue ref="InspectValueModules" :bind-key="item.id"
+ @syncCheckData="InspectValueComplete" :bind-data="{
+ data: checkItems[item.checkItemId],
+ list: InspectValues[item.checkItemId],
+ mode: 3 // 棣栨妫�娴嬪�兼ā鍧�
+ }">
+ </InspectValueTemplateVue>
+ </view>
+ </view>
+ </view>
+ </view>
+ <view style="height: 120rpx"></view>
+ <view class="bottom-btn">
+ <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+ <view style="flex: 1"></view>
+ <button class="btn-a" size="mini" @tap="addNew">鏂板</button>
+ <button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+ </view>
+ <SampleSchemePopupVue v-if="enablePopupModule == PopupModuleNameList[1]" ref="listPopup"
+ @update="SampleSchemeComplete" :bindKey="currentChechItemIDCache">
+ </SampleSchemePopupVue>
+ <CheckItemPopupVue v-if="enablePopupModule == PopupModuleNameList[2]" ref="listPopup"
+ @update="CheckItemComplete" :bindKey="currentChechItemIDCache">
+ </CheckItemPopupVue>
+ <InspectMentPopupVue v-if="enablePopupModule == PopupModuleNameList[3]" ref="listPopup"
+ @update="InspectMentComplete" :bindKey="currentChechItemIDCache">
+ </InspectMentPopupVue>
+ <MaterialPopupVue v-if="enablePopupModule == PopupModuleNameList[4]" ref="listPopup" @update="MaterComplete"
+ :bindKey="0">
+ </MaterialPopupVue>
+ <ICMOBillPopupVue v-if="enablePopupModule == PopupModuleNameList[5]" ref="listPopup" @update="ICMOBillComplete"
+ :bindKey="0"></ICMOBillPopupVue>
+ <ProcExchBillPopupVue v-if="enablePopupModule == PopupModuleNameList[6]" ref="listPopup"
+ @update="ProcExchBillComplete" :bindKey="0"></ProcExchBillPopupVue>
+ <ProcessPopupVue v-if="enablePopupModule == PopupModuleNameList[8]" ref="listPopup" @update="HProcComplete"
+ :bindKey="0"></ProcessPopupVue>
+ <CheckProjectPopupVue v-if="enablePopupModule == PopupModuleNameList[7]" ref="listPopup"
+ @update="HQCSchemeComplete" :bindKey="0"></CheckProjectPopupVue>
+ </view>
+</template>
+
+<script>
+ import dayjs from "dayjs";
+ import {
+ CommonUtils
+ } from "../../../utils/common";
+ import InspectValueTemplateVue from "@/components/ZLGL/InspectValueTemplate.vue";
+ import SampleSchemePopupVue from "@/components/ZLGL/SampleSchemePopup.vue";
+ import CheckItemPopupVue from "@/components/ZLGL/CheckItemPopup.vue";
+ import InspectMentPopupVue from "../../../components/ZLGL/InspectMentPopup.vue";
+ import MaterialPopupVue from "../../../components/ZLGL/MaterialPopup.vue";
+ import ICMOBillPopupVue from "../../../components/ZLGL/ICMOBillPopup.vue";
+ import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue";
+ import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue";
+ import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue";
+ import {
+ getUserInfo
+ } from "../../../utils/auth";
+ import {
+ MpaasScan
+ } from "../../../utils/mpaasScan";
+ export default {
+ components: {
+ InspectValueTemplateVue,
+ SampleSchemePopupVue,
+ CheckItemPopupVue,
+ InspectMentPopupVue,
+ MaterialPopupVue,
+ ICMOBillPopupVue,
+ ProcExchBillPopupVue,
+ ProcessPopupVue,
+ CheckProjectPopupVue,
+ },
+ computed: {
+ judgeConclusion: {
+ get() {
+ return true;
+ },
+ },
+ },
+ data() {
+ return {
+ operationType: 1,
+
+ mainTabSelected: 1,
+ subTabSelected: 1,
+
+ // 婧愬崟鐘舵�佹帶鍒�
+ hasSourceBill: false,
+
+ // 鎺у埗褰撳墠鏄剧ず鐨勫脊绐楁ā鍧�
+ enablePopupModule: "",
+ PopupModuleNameList: [
+ "",
+ "SampleScheme",
+ "CheckItem",
+ "InspectMent",
+ "Material",
+ "ICMOBill",
+ "ProcExchBill",
+ "QCScheme",
+ "Process",
+ ],
+ // 褰撳墠鎿嶄綔鐨勬楠屽崟ID缂撳瓨
+ currentChechItemIDCache: -1,
+
+ // uni-combox 閫夋嫨鍣ㄤ娇鐢�
+ // 鐢熶骇璧勬簮
+ GySourceList: [],
+ GySourceNameList: [],
+ // 鐝
+ GyWorkShiftList: [],
+ GyWorkShiftNameList: [],
+ // 妫�楠屽憳
+ GyFirstCheckEmpList: [],
+ GyFirstCheckEmpNameList: [],
+
+ // 妫�楠屾柟妗�
+ arrayAnalysisMethod: [{
+ value: 1,
+ name: "瀹氭�у垎鏋�",
+ },
+ {
+ value: 2,
+ name: "瀹氶噺鍒嗘瀽",
+ },
+ {
+ value: 3,
+ name: "鍏朵粬鍒嗘瀽",
+ },
+ ],
+ ArrayAnalysisMethodValue: [1, 2, 3],
+ // 瀛愯〃 椤电淇℃伅
+ subTabs: {
+ 1: {
+ id: "1",
+ name: "妫�楠岄」鐩�",
+ },
+ 2: {
+ id: "2",
+ name: "鎶芥牱妫�楠�",
+ },
+ },
+
+ // 婧愬崟绫诲瀷
+ HSourceBillType: "鐢熶骇姹囨姤鍗�",
+ HSourceBillTypeValueList: ["3771"],
+ HSourceBillTypeNameList: [
+ "鐢熶骇姹囨姤鍗�"
+ ],
+ // 涓昏〃灞炴��
+ hform: {
+ HSourceBillType: "3711",
+ HSourceBillNo: "",
+ HBillNo: "",
+ HInterID: "0",
+ HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+ HSourceName: "",
+ HSourceID: "0",
+ HShiftsName: "",
+ HShiftsID: "0",
+ HICMOBillNo: "",
+ HICMOInterID: "0",
+ HICMOEntryID: "1",
+ HICMOQty: "0",
+ HProcExchBillNo: "",
+ HProcExchInterID: "0",
+ HProcExchEntryID: "0",
+ HProcExchQty: "0",
+ HMaterNumber: "",
+ HMaterID: "0",
+ HMaterName: "",
+ HFirstCheckEmpName: "",
+ HFirstCheckEmp: 0,
+ HQCSchemeName: "",
+ HQCSchemeID: "0",
+ HBatchNo: "",
+ HLastResult: true, // 榛樿鍚堟牸
+ HProcName: "",
+ HProcID: "0",
+ HTakeSampleCheckBillNo: "", // 鍙栨牱鍗�
+ HTakeSampleCheckBillID: "0",
+ HRemark: "",
+ HErrTreatment: "", // 寮傚父涓存椂澶勭悊鏂规
+ HMaker: getUserInfo()["Czymc"] || "",
+ HChecker: "",
+ HCloseMan: "",
+ HMakeDate: dayjs(new Date()).format("YYYY-MM-DDTHH:mm:ss"),
+ HCheckDate: "",
+ HCloseDate: "",
+ HUpDater: "",
+ HDeleteMan: "",
+ HUpDateDate: "",
+ HDeleteDate: "",
+ HResult: 1,
+ HAnalysisMethod: "",
+
+ HResDec: "",
+ HStatus: 1,
+
+ HMainSourceBillType: "",
+ HMainSourceInterID: "0",
+ HMainSourceEntryID: "1",
+ HMainSourceBillNo: "",
+ },
+ // 妫�楠岄」鐩拰鎶芥牱妫�楠� 鍊�
+ checkItems: {},
+ // 妫�娴嬪�兼ā鍧�
+ InspectModules: {},
+ // 妫�娴嬪��
+ InspectValues: {},
+ };
+ },
+ methods: {
+ // 妫�楠屽�� 璁$畻鏄惁鍚堟牸
+ calcHResult(item){
+ // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
+ console.log('item: ',item);
+ if(item.HSampleSchemeID) {
+ return
+ }
+
+ if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
+ this.checkItems[item.num].HResult = true
+ return
+ }
+
+ this.checkItems[item.num].HResult = false
+ },
+ // 婧愬崟绫诲瀷閫夋嫨
+ HSourceBillTypeNameChange(e) {
+ this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value];
+ this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value];
+ },
+ toScanCode() {
+ MpaasScan.scanCode((res) => {
+ if (res) {
+ this.getSourceBillInfo(HBarCode);
+ }
+ });
+ },
+ async getSourceBillInfo(HBarCode) {
+ console.log('HBarCode: ', HBarCode);
+ // 鏍规嵁鍗曟嵁绫诲瀷锛岃皟鐢ㄤ笉鍚岀殑涓嬫帹鍑芥暟
+ if (this.hform.HSourceBillType == 3711) {
+ // 宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛ㄩ妫�
+ await this.LoadingInformation_ICMOReportBill(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ // if (this.hform.HSourceBillType == 3790) {
+ // // 宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛ㄩ妫�
+ // await this.LoadingInformation_StationInBill(HBarCode);
+ // if (
+ // (uni.getStorageSync("OrganizationID") == "7667152" &&
+ // uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ // (uni.getStorageSync("OrganizationID") == "100199" &&
+ // uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ // ) {
+ // await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ // }
+ // return;
+ // }
+ if (this.hform.HSourceBillType == 3793) {
+ // 宸ュ簭濮斿鎺ユ敹鍗曞垪琛ㄩ妫�
+ await this.LoadingInformation_StationEntrustOutBill(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ if (this.hform.HSourceBillType == 3710) {
+ // 鐢熶骇璁㈠崟鍒楄〃棣栨
+ await this.LoadingInformation_ICMO(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ if (this.hform.HSourceBillType == 3772) {
+ // 宸ュ簭娴佽浆鍗″垪琛ㄩ妫�
+ await this.LoadingInformation_ProcExchange(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ },
+ async GetCheckItemID() {
+ if (!this.hform.HMaterName && !this.hform.HProcName) {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Web/GetCheckItemID",
+ data: {
+ HName: this.hform.HMaterName,
+ HProName: this.hform.HProcName,
+ HSourceID: this.hform.HSourceID,
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].hmainid;
+
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${err}`,
+ });
+ }
+ }
+ },
+ //#region 涓�鑷�
+ async LoadingInformation_ProcExchange(HBarCode) {
+ // 宸ュ簭娴佽浆鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/CheckBill/get_ProcessExchangeBill_ByBillNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+ this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ this.hform.HProcExchInterID = data[0].HProcExchInterID;
+ this.hform.HProcExchEntryID = data[0].HProcExchEntryID || 0;
+ this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+ this.hform.HICMOInterID = data[0].HICMOInterID;
+ this.hform.HICMOQty = data[0].HICMOQty || 0;
+ this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+ this.hform.HSourceID = data[0].HSourceID || 0;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+ this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HMainSourceBillType = data[0].HBillType;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+ this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+ this.hform.HBatchNo = data[0].鎵瑰彿;
+
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ //#endregion
+
+ //#region 淇敼
+ async LoadingInformation_ICMO(HBarCode) {
+ // 鐢熶骇璁㈠崟
+ try {
+ let sWhere="and 鍗曟嵁鍙�='"+HBarCode+"'"
+ console.log(sWhere)
+ let res = await CommonUtils.doRequest2Async({
+ url: "/LEMS/MES_IF_ICMOBillList_Json",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${Message}`,
+ });
+ return;
+ }
+ //鐢熶骇鏀�
+ //this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ //this.hform.HProcExchInterID = data[0].HProcExchInterID;
+ //this.hform.HProcExchEntryID = data[0].HProcExchEntryID;
+ //this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ this.hform.HICMOBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HICMOInterID = data[0].hmainid;
+ this.hform.HICMOQty = data[0].鐢熶骇浠诲姟鍗曟暟閲�;
+ this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+ this.hform.HSourceID = data[0].HSourceID;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterNumber=data[0].浜у搧浠g爜
+ this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+ this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HMainSourceBillType = data[0].鍗曟嵁绫诲瀷;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+ this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${err}`,
+ });
+ }
+ },
+ //#endregion
+
+ //#region 涓�鑷�
+ async LoadingInformation_StationEntrustOutBill(HBarCode) {
+ // 宸ュ簭濮斿鎺ユ敹鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Cj_StationEntrustOutBill/list",
+ data: {
+ sWhere: ` and HBillNo = '${HBarCode}'`,
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+
+ HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ HProcExchInterID = data[0].HProcExchInterID;
+ HProcExchEntryID = data[0].HProcExchEntryID;
+ HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ HICMOBillNo = data[0].鐢熶骇璁㈠崟鍙�;
+ HICMOInterID = data[0].HICMOInterID;
+ HICMOQty = data[0].HICMOQty;
+ HSourceName = data[0].鐢熶骇璧勬簮;
+ HSourceID = data[0].HSourceID;
+ HMaterID = data[0].HMaterID;
+ HMaterName = data[0].浜у搧鍚嶇О;
+ HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ HMainSourceBillType = data[0].HBillType;
+ HMainSourceInterID = data[0].hmainid;
+ HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ //#endregion
+
+ async LoadingInformation_ICMOReportBill(HBarCode) {
+ // 鐢熶骇姹囨姤鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_LastPieceCheckBill/get_ICMOReportBill_Tmp_getByBillNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇姹囨姤鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+ //change_inlife
+ this.hform.HMainSourceEntryID=data[0].HEntryID||1;
+ this.hform.HMaterNumber=data[0].HMaterNumber;
+ this.hform.HICMOBillNo = data[0].HICMOBillNo;
+ this.hform.HICMOInterID = data[0].HICMOInterID;
+ this.hform.HICMOQty = data[0].HICMOQty;
+ this.hform.HSourceName = data[0].HSourceName;
+ this.hform.HSourceID = data[0].HSourceID;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].HMaterName;
+ this.hform.HMainSourceBillNo = data[0].HBillNo;
+ this.hform.HMainSourceBillType = data[0].HBillType;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+
+
+ for (let i = 0; i < data.length; i++) {
+ this.addCheckItem(data[i])
+ }
+
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇姹囨姤鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ // 妫�楠屽憳鍒濆鍖�
+ async InitHEmp() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_Employee/list",
+ data: {
+ sWhere: ` and 缁勭粐鍚嶇О = '${uni.getStorageSync(
+ "Organization"
+ )}' and 绂佺敤鏍囪 = ''and 瀹℃牳浜� !='' order by 閮ㄩ棬浠g爜`,
+ user: getUserInfo()["Czymc"],
+ Organization: uni.getStorageSync("Organization"),
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ console.log("data: ", data);
+ this.GyFirstCheckEmpList = data;
+ this.GyFirstCheckEmpNameList = Array.from(data).map((e) => e["鑱屽憳鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栨楠屽憳澶辫触: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栨楠屽憳澶辫触: ${err}`,
+ });
+ }
+ },
+ async HFirstCheckEmpChange(e) {
+ console.log("閫変腑妫�楠屽憳: ", e);
+ let index = this.GyFirstCheckEmpList.findIndex((elem) => elem["鑱屽憳鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HFirstCheckEmp = 0;
+ this.hform.HFirstCheckEmpName = "";
+ return;
+ }
+
+ this.hform.HFirstCheckEmp = this.GyFirstCheckEmpList[index]["HItemID"];
+ this.hform.HFirstCheckEmpName = this.GyFirstCheckEmpList[index]["鑱屽憳鍚嶇О"];
+ },
+ // 鐢熶骇鐝鍒濆鍖�
+ async InitHWorkShift() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_ShiftsController/Get_Gy_WorkShiftList",
+ data: {
+ sWhere: ` and 绂佺敤鏍囪 = '' and ISNULL(瀹℃牳浜�,'') != '' and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync(
+ "Organization"
+ )}'`,
+ HMaker: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ console.log("data: ", data);
+ this.GyWorkShiftList = data;
+ this.GyWorkShiftNameList = Array.from(data).map((e) => e["鐝鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫彮娆″け璐�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫彮娆″け璐�: ${err}`,
+ });
+ }
+ },
+ async HWorkShiftChange(e) {
+ console.log("閫変腑鐝: ", e);
+ let index = this.GyWorkShiftList.findIndex((elem) => elem["鐝鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HWorkShiftID = 0;
+ this.hform.HWorkShiftName = "";
+ return;
+ }
+
+ this.hform.HWorkShiftID = this.GySourceList[index]["HInterID"];
+ this.hform.HWorkShiftName = this.GySourceList[index]["鐝鍚嶇О"];
+ },
+ // 鐢熶骇璧勬簮鏇存柊
+ // 鐢熶骇璧勬簮鍒濆鍖�
+ async InitHSource() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_Source/list",
+ data: {
+ sWhere: `and 绂佺敤鏍囪 != 'Y' and ISNULL(瀹℃牳浜�,'') != '' and HUSEORGID = '100038'`,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ this.GySourceList = data;
+ this.GySourceNameList = Array.from(data).map((e) => e["鐢熶骇璧勬簮鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${err}`,
+ });
+ }
+ },
+ // 鐢熶骇璧勬簮鏇存柊
+ async HSourceChange(e) {
+ console.log("閫変腑鐢熶骇璧勬簮: ", e);
+ let index = this.GySourceList.findIndex((elem) => elem["鐢熶骇璧勬簮鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HSourceID = 0;
+ this.hform.HSourceName = "";
+ return;
+ }
+
+ this.hform.HSourceID = this.GySourceList[index]["HItemID"];
+ this.hform.HSourceName = this.GySourceList[index]["鐢熶骇璧勬簮鍚嶇О"];
+
+ this.get_ICMOBillStatusList();
+ this.get_QC_TakeSampleCheckBillList();
+ this.GetCheckItemID();
+ },
+ // 鏄剧ず寮圭獥
+ async showSelectorModule(item, index) {
+ this.currentChechItemIDCache = item.num || 0; // 0 琛ㄧず娌℃湁浠讳綍瀛愯〃琚�変腑
+ this.enablePopupModule = this.PopupModuleNameList[index];
+ console.log("this.$refs: ", this.$refs);
+ await this.$nextTick();
+ if (index == 7) {
+ // 妫�楠屾柟妗堥渶瑕侀澶栦紶閫掑伐搴忓拰鐗╂枡鍚嶇О涓や釜鍙傛暟
+ this.$refs.listPopup.setRequiredInfo(item.HMaterName, item.HProcName);
+ }
+
+ this.$refs.listPopup.showPopup();
+ },
+ getAnalysisMethodDisplay(val) {
+ console.log("AnalysisMethodVal: ", val);
+ if (val) {
+ return this.arrayAnalysisMethod.find((e) => e.value == val).name;
+ }
+ return "";
+ },
+ checkResultChange(event) {
+ console.log("event: ", event);
+ },
+ // 妫�楠岄」鐩柊澧炶
+ addCheckItem(resource) {
+ let ordinal = this.getObjLength(this.checkItems) + 1;
+ let checkItem = {
+ num: ordinal,
+ HInterID: this.hform.HInterID,
+ HQCCheckItemID: "",
+ HQCCheckItemNumber: "",
+ HQCCheckItemName: "",
+ HInspectInstruMentID: "0",
+ HInspectInstruMentNumber: "",
+ HInspectInstruMentName: "",
+ HQCStd: "",
+ HUnit: "",
+ HQCNote: "",
+ HAnalysisMethod: "",
+ HResult: 1,
+ HMax: "",
+ HMin: "",
+ HAvg: "",
+ HRemark: "",
+ HKeyInspect: false,
+ HStatus: 1,
+ HSampleSchemeID: "",
+ HUnitID: 0,
+ HInspectVal: "",
+ HTargetVal: "",
+ HUpLimit: "",
+ HDownLimit: "",
+ HUpOffSet: "",
+ HDownOffSet: "",
+ HSampleDamageQty: 0,
+ HSampleSchemeName: "",
+ HSampleQty: 0,
+ HAcceptQty: 0,
+ HInspectionLevel: "",
+ HRejectQty: 0,
+ HStrictness: "",
+ HSampleUnRightQty: 0,
+ HAQL: "",
+ HSamplingType: "",
+ HInspectResultToSee: "",
+ };
+ if (resource) {
+ // 閫氳繃涓昏〃妫�楠屾柟妗堝甫鍑虹殑妫�楠岄」鐩�
+ Object.assign(checkItem, resource);
+ }
+ this.$set(this.checkItems, ordinal, checkItem);
+ this.$nextTick(() => {
+ // 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+ this.setInspectValModule(this.checkItems[ordinal]);
+ });
+ },
+ // 妫�楠岄」鐩垹闄よ
+ removeCheckItem(item) {
+ uni.showModal({
+ title: "娓╅Θ鎻愮ず",
+ content: `纭瑕佸垹闄ょ${item.num}琛屽悧锛熷垹闄ゅ悗涓嶈兘鎭㈠`,
+ success: (res) => {
+ if (res.confirm) {
+ this.$delete(this.checkItems, item.num);
+ this.$delete(this.subTabs, `_${item.num}`);
+ this.$forceUpdate();
+ this.refreshCheckItemNum();
+ }
+ },
+ });
+ },
+ async refreshCheckItemNum() {
+ await this.$nextTick();
+ // 閲嶆帓搴忓彿
+ let num = 1;
+ let checkItemsCache = {};
+ for (let s in this.checkItems) {
+ checkItemsCache[num] = this.checkItems[s];
+ checkItemsCache[num].num = num;
+ num++;
+ }
+ this.checkItems = checkItemsCache;
+ },
+ getObjLength(obj) {
+ return Object.keys(obj).length;
+ },
+ // 缁撹淇敼
+ HResultChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HResult"] = e.detail.value ? 1 : 2;
+
+ this.HCheckLastResult();
+ },
+ // 姣忔妫�楠岄」鐩殑缁撹鏇存柊锛岄兘瑕佸垽鏂渶缁堢粨璁�
+ HCheckLastResult() {
+ let unPassNum = 0;
+ for (var key in this.checkItems) {
+ if (!(this.checkItems[key]["HResult"] == 1)) {
+ unPassNum++;
+ }
+ }
+
+ if (unPassNum > 0) {
+ this.hform.HLastResult = false;
+ return;
+ }
+ this.hform.HLastResult = true;
+ },
+ // 妫�楠屾柟妗堜慨鏀�
+ HAnalysisMethodChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HAnalysisMethod"] = this.arrayAnalysisMethod[e.detail.value][
+ "value"
+ ];
+
+ // 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+ this.setInspectValModule(this.checkItems[id]);
+ },
+ // 閲嶇偣妫�鏌ヤ慨鏀�
+ HKeyInspectChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HKeyInspect"] = e.detail.value;
+ },
+ // 妫�楠岄」鐩繑鍥�
+ async CheckItemComplete(e) {
+ console.log("CheckItemRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HQCCheckItemID: data["HItemID"],
+ HQCCheckItemNumber: data["浠g爜"],
+ HQCCheckItemName: data["鍚嶇О"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屾柟妗堣繑鍥�
+ async SampleSchemeComplete(e) {
+ console.log("SampleSchemeRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HSampleSchemeID: data["hmainid"],
+ HSampleSchemeNumber: data["鎶芥牱鏂规浠g爜"],
+ HSampleSchemeName: data["鎶芥牱鏂规鍚嶇О"],
+ HSampleQty: data["鏍锋湰閲�"] || 0,
+ HAcceptQty: data["鍏佽鏁�"] || 0,
+ HInspectionLevel: data["妫�楠屾按骞�"],
+ HRejectQty: data["鎷掔粷鏁�"] || 0,
+ HStrictness: data["涓ユ牸搴�"],
+ HSampleUnRightQty: data["鏍锋湰涓嶅悎鏍兼暟"] || 0,
+ HAQL: data["AQL"],
+ HSamplingType: data["鎶芥牱绫诲瀷"],
+ HInspectResultToSee: data["妫�楠岀粨鏋�"],
+ HUpLimit: data["涓婇檺鍊�"] || 0,
+ HDownLimit: data["涓嬮檺鍊�"] || 0,
+ HSampleDamageQty: data["鏍锋湰鐮村潖鏁�"] || 0,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ this.setInspectValModule(this.checkItems[key]);
+
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屼华鍣ㄨ繑鍥�
+ async InspectMentComplete(e) {
+ console.log("InspectInstruMentRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HInspectInstruMentID: data["HItemID"],
+ HInspectInstruMentNumber: data["妫�楠屼华鍣ㄤ唬鐮�"],
+ HInspectInstruMentName: data["妫�楠屼华鍣ㄥ悕绉�"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 浜у搧浠g爜杩斿洖
+ async MaterComplete(e) {
+ console.log("MaterRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HMaterNumber: data["鐗╂枡浠g爜"],
+ HMaterName: data["鐗╂枡鍚嶇О"],
+ HMaterID: data["HItemID"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ this.GetCheckItemID();
+ }
+ },
+ // 浠诲姟鍗曡繑鍥�
+ async ICMOBillComplete(e) {
+ console.log("ICMOBillRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HICMOInterID: data.hmainid,
+ HICMOEntryID: data.HEntryID || 1,
+ HICMOBillNo: data.鍗曟嵁鍙�,
+ HMaterNumber: data.浜у搧浠g爜,
+ HMaterName: data.浜у搧鍚嶇О,
+ HMaterID: data.HMaterID,
+ HICMOQty: data.鐢熶骇浠诲姟鍗曟暟閲�,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 娴佽浆鍗¤繑鍥�
+ async ProcExchBillComplete(e) {
+ console.log("ProcExchBillRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HProcExchInterID: data.hmainid,
+ HProcExchEntryID: data.hsubid,
+ HProcExchBillNo: data.鍗曟嵁鍙�,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屾柟妗�(涓昏〃)杩斿洖
+ async HQCSchemeComplete(e) {
+ console.log("HQCSchemeRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HQCSchemeID: data.hmainid,
+ HQCSchemeName: data.妫�楠屾柟妗堝悕绉�,
+ });
+ await this.get_CheckItem();
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 宸ュ簭杩斿洖
+ async HProcComplete(e) {
+ console.log(" HProcRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HProcName: data["宸ュ簭鍚嶇О"],
+ HProcID: data["HItemID"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ await this.GetCheckItemID();
+ await this.get_ICMOBillStatusList();
+ await this.get_QC_TakeSampleCheckBillList();
+ }
+ },
+
+ //
+ async get_QC_TakeSampleCheckBillList() {
+ // 鍙栨牱鍗曟煡璇�
+ let HProcID = this.hform.HProcID;
+ let HProcExchInterId = this.hform.HProcExchInterID;
+ let sWhere = "";
+
+ if (HProcID == "0" || HProcID == "") {
+ CommonUtils.showTips({
+ message: "璇烽�夋嫨宸ュ簭",
+ });
+ return;
+ }
+
+ sWhere = " and 宸ュ簭娴佽浆鍗′富鍐呯爜='" + HProcExchInterID + "' and HProcID=" + HProcID;
+
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "//QC_TakeSampleCheckBill/QC_TakeSampleCheckBillMainList",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${Message}`,
+ });
+ }
+
+ this.hform.HTakeSampleCheckBillID = data[0]["hmainid"];
+ this.hform.HTakeSampleCheckBillNo = data[0]["鍗曟嵁鍙�"];
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${err}`,
+ });
+ }
+ },
+ async get_ICMOBillStatusList() {
+ let sWhere = "";
+ let HProcID = this.hform.HProcID;
+ let HSourceID = this.hform.HSourceID;
+ let HProcExchInterId = this.hform.HProcExchInterID;
+
+ if (HProcID != "0") {
+ sWhere += " and HProcID=" + HProcID;
+ }
+ if (HSourceID != "0") {
+ sWhere += " and HSourceID=" + HSourceID;
+ }
+
+ sWhere += " and HSourceInterID=" + HProcExchInterID;
+
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/CheckBill/GetICMOBillStatusList",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${Message}`,
+ });
+ }
+
+ this.hform.HProcID = data[0]["HProcID"];
+ this.hform.HProcName = data[0]["宸ュ簭"];
+ this.hform.HSourceID = data[0]["HSourceID"];
+ this.hform.HSourceName = data[0]["鐢熶骇璧勬簮"];
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${err}`,
+ });
+ }
+ },
+ setInspectValModule(checkItem) {
+ console.log("checkItem: ", checkItem);
+ if (!checkItem || !checkItem.HAnalysisMethod || !checkItem.HSampleSchemeID) {
+ return;
+ }
+ // 鍖哄垎妫�楠屽�奸〉绛惧拰闈欐�侀〉绛撅紝妫�楠屽�奸〉绛剧殑id浠寮�澶�
+ this.$set(this.InspectModules, `_${checkItem.num}`, {
+ id: `_${checkItem.num}`,
+ checkItemId: checkItem.num,
+ });
+ console.log(" this.arrayAnalysisMethod: ", checkItem.HAnalysisMethod);
+ let analysisMethodName = this.arrayAnalysisMethod.find(
+ (e) => e.value == checkItem.HAnalysisMethod
+ ).name;
+ this.$set(this.subTabs, `_${checkItem.num}`, {
+ id: `_${checkItem.num}`,
+ name: `${analysisMethodName}-${checkItem.HQCCheckItemName}`,
+ });
+ },
+ InspectValueUpdate(e) {
+ console.log("e: ", e);
+ let {
+ data,
+ list
+ } = e;
+ this.checkItems[data.num] = Object.assign(this.checkItems[data.num], data);
+ this.$set(this.InspectValues, `${data.num}`, list);
+ },
+ // 甯﹀嚭妫�楠岄」鐩�
+ async get_CheckItem() {
+ // 棣栧厛娓呯┖妫�楠岄」鐩� 鍜� 妫�楠屽��
+ this.checkItems = {}
+ for (let key in this.subTabs) {
+ if (key.substring(1) == "_") {
+ this.$delete(this.subTabs, key)
+ }
+ }
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Web/GetCheckItemByCheckProjectID",
+ data: {
+ CheckProjectID: this.hform.HQCSchemeID || 0,
+ HBatchQty: this.hform.HProcExchQty || 0,
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+
+ if (count == 1) {
+ for (var i = 0; i < data.length; i++) {
+ let checkItem = {
+ HQCCheckItemID: data[i]["HQCCheckItemID"],
+ HQCCheckItemNumber: data[i]["妫�楠岄」鐩唬鐮�"],
+ HQCCheckItemName: data[i]["妫�楠岄」鐩�"],
+ HInspectInstruMentID: data[i]["HInspectInstruMentID"],
+ HInspectInstruMentNumber: data[i]["妫�楠屼华鍣ㄤ唬鐮�"],
+ HInspectInstruMentName: data[i]["妫�楠屼华鍣�"],
+ HQCStd: data[i]["HQCStd"],
+ HUnit: data[i]["鍗曚綅鍚嶇О"],
+ HQCNote: "",
+ HAnalysisMethod: data[i]["鍒嗘瀽鏂规硶"],
+ HResult: data[i]["榛樿缁撹"],
+ HMax: "",
+ HMin: "",
+ HAvg: "",
+ HRemark: "",
+ HKeyInspect: data[i]["閲嶇偣妫�鏌�"] == 1 ? true : false,
+ HStatus: 0,
+ HSampleSchemeID: data[i]["HSampleSchemeID"],
+ HUnitID: data[i]["HUnitID"],
+ HInspectVal: "",
+ HTargetVal: "",
+ HUpLimit: data[i].涓婇檺鍊�,
+ HDownLimit: data[i].涓嬮檺鍊�,
+ HUpOffSet: "",
+ HDownOffSet: "",
+ HSampleDamageQty: "0",
+ HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[i].鏍锋湰閲�,
+ HAcceptQty: data[i].鍏佽鏁�,
+ HInspectionLevel: data[i].妫�楠屾按骞�,
+ HRejectQty: data[i].鎷掔粷鏁�,
+ HStrictness: data[i].涓ユ牸搴�,
+ HSampleUnRightQty: 0,
+ HAQL: data[i].AQL,
+ HSamplingType: data[i].鎶芥牱绫诲瀷,
+ HCompareSymbol: data[i].姣旇緝绗�,
+ HTargetVal: data[i].鐩爣鍊� || 0,
+ };
+
+ this.addCheckItem(checkItem);
+ }
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${Message} `,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${err} `,
+ });
+ }
+ },
+ async getMaxBillNo() {
+ try {
+ let res = await CommonUtils.doRequest2Sync({
+ url: "/Web/GetMAXNum",
+ data: {
+ HBillType: "7501",
+ },
+ });
+
+ if (!res) {
+ return;
+ }
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+ if (count == 1) {
+ this.hform.HInterID = data[0].HInterID;
+ this.hform.HBillNo = data[0].HBillNo;
+ } else {
+ throw Message;
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: "鑾峰彇鍗曟嵁鍙峰紓甯�: " + err,
+ });
+ }
+ },
+ // 妫�楠屽�艰繑鍥炲��
+ InspectValueComplete(e) {
+ console.log("e: ", e);
+ let key = e.num;
+ e.HStatus = e.HStatus ? 1 : 0
+ if (e.HResult2 == '') {
+ e.HResult2 = this.checkItems[key].HResult
+ }
+ Object.assign(this.checkItems[key], e);
+ this.checkItems[key].HInspectResultToSee = this.checkItems[key].HResult2;
+ this.checkItems[key].HResult = this.checkItems[key].HResult2 == '鍚堟牸' ? 1 : 2;
+
+ this.HCheckLastResult();
+
+ },
+ checkSubmitValidate() {
+ // if (this.hform.HICMOQty == "" || this.hform.HICMOQty <= 0) {
+ // CommonUtils.showTips({
+ // message: "浠诲姟鍗曟暟閲忎笉鑳戒负绌轰笖涓嶈兘灏忎簬绛変簬0锛�",
+ // });
+ // return false;
+ // }
+
+ if (this.hform.HFirstCheckEmp == 0) {
+ CommonUtils.showTips({
+ message: "妫�楠屽憳鏈�夋嫨锛�",
+ });
+ return false;
+ }
+
+ for (let key in this.checkItems) {
+ if (!this.checkItems[key].HQCCheckItemID) {
+ CommonUtils.showTips({
+ message: `绗�${this.checkItems[key].num}琛屾楠岄」鐩笉鑳戒负绌�!`,
+ });
+ return false;
+ }
+
+ if (
+ this.checkItems[key].HSampleSchemeID == "" ||
+ this.checkItems[key].HSampleSchemeID == null
+ ) {
+ this.checkItems[key].HSampleSchemeID = 0;
+ }
+ if (
+ this.checkItems[key].HSampleQty == "" ||
+ this.checkItems[key].HSampleQty == null
+ ) {
+ this.checkItems[key].HSampleQty = 0;
+ }
+ if (
+ this.checkItems[key].HSampleDamageQty == "" ||
+ this.checkItems[key].HSampleDamageQty == null
+ ) {
+ this.checkItems[key].HSampleDamageQty = 0;
+ }
+ if (
+ this.checkItems[key].HAcceptQty == "" ||
+ this.checkItems[key].HAcceptQty == null
+ ) {
+ this.checkItems[key].HAcceptQty = 0;
+ }
+ if (
+ this.checkItems[key].HRejectQty == "" ||
+ this.checkItems[key].HRejectQty == null
+ ) {
+ this.checkItems[key].HRejectQty = 0;
+ }
+ if (
+ this.checkItems[key].HSampleUnRightQty == "" ||
+ this.checkItems[key].HSampleUnRightQty == 0
+ ) {
+ this.checkItems[key].HSampleUnRightQty = 0;
+ }
+ if (this.checkItems[key].HUnitID == "") {
+ this.checkItems[key].HUnitID = 0;
+ }
+ }
+
+ return true;
+ },
+ async submit() {
+ if (!this.checkSubmitValidate()) {
+ return;
+ }
+ try {
+ console.log('this.$refs: ', this.$refs);
+ // 妫�鏌ユ槸鍚︽湁鏈垏鎹㈢殑妫�楠屽�兼ā鍧�(鏄惁鍖呭惈set_SaveValue鏂规硶),濡傛灉鏈夛紝鍒欒繍琛屼竴娆′繚瀛樻楠屽�肩殑鏂规硶锛屾牴鎹楠屽�兼槸鍚︿繚瀛樻垚鍔熷啀鎵ц涓嬩竴姝�
+ if (typeof this.$refs.InspectValueModules != "undefined" && this.$refs.InspectValueModules.length >
+ 0) {
+ // 鍔犺浇鏈夋楠屽�兼ā鍧�
+ await this.$refs.InspectValueModules[0].set_SaveValue();
+ this.InspectValues[0] = this.$refs.InspectValueModules[0].InSpectValues;
+ await this.InspectValueComplete(this.$refs.InspectValueModules[0].checkData)
+ }
+ let InspectValuesTrans = [];
+ let HInterID = this.hform.HInterID;
+ for (let key in this.InspectValues) {
+ let HEntryID = key;
+
+ InspectValuesTrans.push(
+ `${JSON.stringify(this.InspectValues[key])}`
+ );
+ }
+ let checkItemsArray = [];
+ for (var key in this.checkItems) {
+ let checkItem = JSON.parse(JSON.stringify(this.checkItems[key]))
+ delete checkItem.data
+ checkItemsArray.push(checkItem);
+ }
+ console.log('checkItemsArray: ', checkItemsArray);
+ let sMainSub = `${JSON.stringify(this.hform)};${JSON.stringify(
+ checkItemsArray
+ )};${this.operationType};${getUserInfo()["Czymc"]};${InspectValuesTrans[0]}`;
+ console.log("this.checkItems: ", this.checkItems);
+
+ let res = await CommonUtils.doRequest2Sync({
+ url: "/QC_LastPieceCheckBill/set_SaveBill",
+ data: {
+ sMainSub: sMainSub,
+ },
+ method: "POST",
+ });
+
+ if (!res) {
+ return;
+ }
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+ if (count == 1) {
+ uni.showModal({
+ title: "鎻愮ず",
+ content: res.data.Message + "銆傛槸鍚︾户缁柊澧烇紵",
+ success: (res) => {
+ if (res.confirm) {
+ console.log("鐢ㄦ埛鐐瑰嚮纭畾");
+ uni.redirectTo({
+ url: "/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2?operationType=1",
+ });
+ } else if (res.cancel) {
+ console.log("鐢ㄦ埛鐐瑰嚮鍙栨秷");
+ // setTimeout(() => {
+ // uni.navigateBack();
+ // }, 50)
+ }
+ },
+ });
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${err}`,
+ });
+ }
+ },
+ addNew() {
+ uni.redirectTo({
+ url: "/pages/ZLGL/shoujianjianyan/firstCheckBillList?operationType=1",
+ });
+ },
+ goBack() {
+ uni.navigateBack();
+ },
+ async RoadBillMain() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_FirstPieceCheckBill/QC_FirstPieceCheckBill_Edit",
+ data: {
+ sWhere: ` and hmainid=${this.hform.HInterID}`,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+
+ if (count == 1) {
+ console.log("RoadBillMain: : ", data);
+ Object.assign(this.hform, {
+ HInterID: data[0].hmainid,
+ HBillNo: data[0].鍗曟嵁鍙�,
+ HDate: dayjs(data[0].鏃ユ湡).format("YYYY-MM-DD"),
+ HSourceID: data[0].HSourceID,
+ HSourceName: data[0].鐢熶骇璧勬簮鍚嶇О,
+ HICMOBillNo: data[0].浠诲姟鍗曞彿,
+ HICMOQty: data[0].浠诲姟鍗曟暟閲�,
+ HICMOInterID: data[0].HICMOInterID,
+ HICMOEntryID: data[0].HICMOEntryID || 1,
+ HMaterID: data[0].HMaterID,
+ HMaterName: data[0].鐗╂枡鍚嶇О,
+ HMaterNumber: data[0].鐗╂枡浠g爜,
+ HProcID: data[0].HProcID,
+ HProcName: data[0].HProcName,
+ HProcExchQty: data[0].HProcExchQty || 0,
+ HProcExchBillNo: data[0].HProcExchBillNo,
+ HProcExchInterID: data[0].HProcExchInterID,
+ HProcExchEntryID: data[0].HProcExchEntryID || 0,
+ HFirstCheckEmp: data[0].HFirstCheckEmp,
+ HFirstCheckEmpName: data[0].璐ㄦ鍛樺悕绉�,
+ HQCSchemeID: data[0].妫�楠屾柟妗圛D,
+ HQCSchemeName: data[0].妫�楠屾柟妗堝悕绉�,
+ HRemark: data[0].琛ㄥご澶囨敞,
+ HMaker: data[0].鍒跺崟浜�,
+ HMakeDate: data[0].鍒跺崟鏃ユ湡,
+ HChecker: data[0].瀹℃牳浜�,
+ HCheckDate: data[0].瀹℃牳鏃ユ湡,
+ HCloseMan: data[0].鍏抽棴浜�,
+ HCloseDate: data[0].鍏抽棴鏃ユ湡,
+ HUpDateDate: data[0].淇敼鏃ユ湡,
+ HDeleteDate: data[0].浣滃簾鏃ユ湡,
+ HSampleSchemeID: data[0].HSampleSchemeID,
+ HSampleSchemeName: data[0].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[0].鏍锋湰閲�,
+ HSampleQty2: data[0].鏍锋湰閲�,
+ HSampleDamageQty: data[0].鏍锋湰鐮村潖鏁�,
+ HSamplingType: data[0].鎶芥牱绫诲瀷,
+ HAcceptQty: data[0].鍏佽鏁�,
+ HInspectionLevel: data[0].妫�楠屾按骞�,
+ HRejectQty: data[0].鎷掔粷鏁�,
+ HStrictness: data[0].涓ユ牸搴�,
+ HSampleUnRightQty: data[0].鏍锋湰涓嶅悎鏍兼暟 || 0,
+ HSampleUnRightQty2: data[0].鏍锋湰涓嶅悎鏍兼暟,
+ HAQL: data[0].AQL,
+ HUnitID: data[0].HUnitID,
+ HUnit: data[0].鍗曚綅,
+ HInspectValB: data[0].妫�娴嬪�煎熀纭�璧勬枡,
+ HInspectVal: data[0].妫�娴嬪��,
+ HTargetValB: data[0].鐩爣鍊煎熀纭�璧勬枡,
+ HTargetVal: data[0].鐩爣鍊�,
+ HUpLimit: data[0].涓婇檺鍊�,
+ HDownLimit: data[0].涓嬮檺鍊�,
+ HUpOffSet: data[0].涓婂亸宸�,
+ HDownOffSet: data[0].涓嬪亸宸�,
+ HEntryID: data[0].hsubid,
+ HQCCheckItemName: data[0].妫�楠岄」鐩悕绉�,
+ HQCCheckItemID: data[0].HQCCheckItemID,
+ HShiftsID: data[0].HShiftsID,
+ HShiftsName: data[0].鐝鍚嶇О,
+ HErrTreatment: data[0].寮傚父涓存椂澶勭悊鏂规,
+ HBatchNo: data[0].鎵瑰彿,
+ HLastResult: data[0].鍒ゅ畾缁撹 == "鍚堟牸" ? true : false,
+ HTakeSampleCheckBillID: data[0].HTakeSampleCheckBillID,
+ HTakeSampleCheckBillNo: data[0].HTakeSampleCheckBillNo,
+ HAnalysisMethod: function() {
+ if (data[0].HAnalysisMethod == 1) {
+ return '瀹氭�ф楠�'
+ } else if (data[0].HAnalysisMethod == 2) {
+ return '瀹氶噺妫�楠�'
+ } else {
+ return '鍏朵粬妫�楠�'
+ }
+ }(),
+
+
+
+ });
+
+ for (let i = 0; i < data.length; i++) {
+ this.addCheckItem({
+ HQCCheckItemID: data[i].HQCCheckItemID,
+ HQCCheckItemNumber: data[i].妫�楠岄」鐩唬鐮�,
+ HQCCheckItemName: data[i].妫�楠岄」鐩悕绉�,
+ HInspectInstruMentID: data[i].HInspectInstruMentID,
+ HInspectInstruMentNumber: data[i].妫�楠屼华鍣ㄤ唬鐮�,
+ HInspectInstruMentName: data[i].妫�楠屼华鍣ㄥ悕绉�,
+ HQCStd: data[i].妫�楠屾爣鍑�,
+ HUnit: data[i].鍗曚綅鍚嶇О,
+ HQCNote: data[i].妫�楠岃褰�,
+ HResult: data[i].缁撹 == "鍚堟牸" ? 1 : 0,
+ HMax: data[i].鏈�澶у��,
+ HMin: data[i].鏈�灏忓��,
+ HAvg: data[i].骞冲潎鍊�,
+ HRemark: data[i].琛ㄤ綋澶囨敞,
+ HAnalysisMethod: data[i].鍒嗘瀽鏂规硶 == "瀹氭�у垎鏋�" ?
+ 1 : data[i].鍒嗘瀽鏂规硶 == "瀹氶噺鍒嗘瀽" ?
+ 2 : 3,
+ HKeyInspect: data[i].閲嶇偣妫�鏌� == "鍚�" ? false : true,
+ HSampleSchemeID: data[i].HSampleSchemeID,
+ HUnitID: data[i].HUnitID,
+ HInspectVal: data[i].妫�娴嬪��,
+ HTargetVal: data[i].鐩爣鍊�,
+ HUpLimit: data[i].涓婇檺鍊�,
+ HDownLimit: data[i].涓嬮檺鍊�,
+ HUpOffSet: data[i].涓婂亸宸�,
+ HDownOffSet: data[i].涓嬪亸宸�,
+ HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+ HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[i].鏍锋湰閲�,
+ HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+ HAcceptQty: data[i].鍏佽鏁�,
+ HInspectionLevel: 0,
+ HRejectQty: data[i].鎷掔粷鏁�,
+ HStrictness: 0,
+ HSampleUnRightQty: data[i].鏍锋湰涓嶅悎鏍兼暟,
+ HAQL: data[i].AQL,
+ HSamplingType: 0,
+ HSamplingType: data[i].鎶芥牱绫诲瀷,
+ HStrictness: data[i].涓ユ牸搴�,
+ HInspectResultToSee: data[i].妫�楠岀粨鏋�
+ });
+
+ }
+
+
+ this.hasSourceBill = true
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍔犺浇鍗曟嵁澶辫触: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍔犺浇鍗曟嵁澶辫触: ${err}`,
+ });
+ }
+ },
+ },
+ async onLoad(e) {
+ this.operationType = e.operationType || 1;
+ this.hform.HInterID = e.linterid || 0;
+ if (this.operationType == 1) {
+ await this.getMaxBillNo();
+ } else if (this.operationType == 2) {
+
+ } else if (this.operationType == 3) {
+ await this.RoadBillMain();
+ }
+
+ await this.InitHSource();
+ await this.InitHWorkShift();
+ await this.InitHEmp();
+ },
+ };
+</script>
+
+<style lang="scss" scoped>
+ input {
+ width: inherit;
+ font-size: 26rpx;
+ }
+
+ .uni-input {
+ padding: 0;
+ }
+
+ .bill-main-tabs,
+ .bill-sub-tabs {
+ box-sizing: border-box;
+ width: 730rpx;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ gap: 20rpx;
+ flex-shrink: 0;
+ overflow-x: auto;
+ border-bottom: 1px solid #ddd;
+ padding: 20rpx 10rpx;
+ white-space: nowrap;
+
+ view {
+ width: auto;
+ font-size: 26rpx;
+ color: #555;
+ text-align: center;
+ padding: 16rpx 0;
+ }
+
+ .selected {
+ color: #3a78ff;
+ font-weight: bold;
+ border-bottom: 3px solid #3a78ff;
+ }
+ }
+
+ .bill-main-content,
+ .bill-sub-content {
+ box-sizing: border-box;
+ padding: 0 30rpx 0 30rpx;
+ display: flex;
+ flex-direction: column;
+
+ .form-item {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ font-size: 26rpx;
+ padding: 6rpx 0;
+
+ .left {
+ width: 208rpx;
+
+ text {
+ color: red;
+ font-weight: bold;
+ }
+ }
+
+ .right {
+ // width: 450rpx;
+ padding: 8rpx 20rpx;
+ font-size: 26rpx;
+ flex: 1;
+ border-radius: 22rpx;
+ border: 1px solid #acacac;
+
+ .uni-combox {
+ padding: 0;
+ height: auto;
+
+ .uni-input-placeholder,
+ .uni-input-input {
+ font-size: 26rpx;
+ }
+ }
+
+ .uni-combox::v-deep input {
+ height: inherit;
+ font-size: 26rpx;
+ }
+ }
+
+ .disabled {
+ border: 1px solid #e4e4e4;
+ background-color: #e4e4e4;
+ }
+
+ .none-border {
+ border: none;
+ }
+ }
+ }
+
+ .bottom-btn {
+ box-sizing: border-box;
+ width: 100%;
+ height: 120rpx;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ background-color: #fff;
+ box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+ padding: 30rpx 40rpx 40rpx 40rpx;
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 28rpx;
+ }
+
+ .btn-a {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #acacac;
+ color: #fff;
+ // position: absolute;
+ // right: 120rpx;
+ }
+
+ .btn-d {
+ background-color: #ff8901;
+ color: #fff;
+ }
+ }
+
+ .buttons {
+ box-sizing: border-box;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ padding: 10rpx 0;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 26rpx;
+ }
+
+ .btn-a {
+ background-color: #acacac;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+ }
+
+ .list {
+ width: 100%;
+
+ .card-detail {
+ width: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-items: center;
+ line-height: 120%;
+ gap: 10rpx 0;
+
+ input {
+ font-size: 26rpx;
+ }
+
+ .detail {
+ // width: 50%;
+ box-sizing: border-box;
+ font-size: 26rpx;
+ color: #555;
+ padding-right: 20rpx;
+
+ text {
+ color: #999;
+ font-size: 26rpx;
+ }
+ }
+
+ .editable {
+ width: 50%;
+ display: inline-flex;
+ flex-direction: row;
+ align-items: center;
+
+ text {
+ flex-shrink: 0;
+ }
+
+ .editable-input {
+ border: 1px solid #acacac;
+ border-radius: 5rpx;
+ padding: 0 12rpx;
+ }
+ }
+ }
+ }
+
+ .icon-wrapper {
+ background-color: #3a78ff;
+ border-radius: 100%;
+ width: 40rpx;
+ height: 40rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-shrink: 0;
+
+ .uni-icons {
+ color: #fff !important;
+ }
+ }
+
+ .icon-wrapper-big {
+ background-color: #3a78ff;
+ border-radius: 100%;
+ width: 50rpx;
+ height: 50rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-shrink: 0;
+ margin-left: 20rpx;
+
+ .uni-icons {
+ color: #fff !important;
+ }
+ }
+
+ .more {
+ color: #888;
+ font-size: 22rpx;
+ display: flex;
+ border-top: 1px solid #eee;
+ padding-top: 10rpx;
+
+ .part {
+ width: 100%;
+ text-align: center;
+ }
+ }
+
+ .pass-background {
+ background-color: #cee3f2;
+ border: none;
+ }
+
+ .unpass-background {
+ background-color: #f0d6e3;
+ border: none;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue b/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue
new file mode 100644
index 0000000..23b3660
--- /dev/null
+++ b/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue
@@ -0,0 +1,2328 @@
+<template>
+ <view>
+ <!-- 涓昏〃鍖哄煙 -->
+ <view class="bill-main-area">
+ <!-- 涓昏〃椤电 -->
+ <view class="bill-main-tabs">
+ <view :class="mainTabSelected == 1 ? 'selected' : ''" @tap="mainTabSelected = 1">鍩烘湰淇℃伅</view>
+ <view :class="mainTabSelected == 2 ? 'selected' : ''" @tap="mainTabSelected = 2">鍏朵粬淇℃伅</view>
+ <view :class="mainTabSelected == 3 ? 'selected' : ''" @tap="mainTabSelected = 3">鍒跺崟淇℃伅</view>
+ </view>
+ <!-- 涓昏〃鍐呭 -->
+ <view class="bill-main-contents">
+ <!-- 鍩烘湰淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 1">
+ <view class="form-item">
+ <view class="left">鍗曟嵁鍙�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HBillNo" disabled />
+ </view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">鏃ユ湡</view>
+ <view class="right">
+ <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HDate">
+ <view>{{ hform.HDate }}</view>
+ </uni-datetime-picker>
+ </view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">婧愬崟鍗曞彿</view>
+ <view class="right" :class="!hasSourceBill?'':'disabled'">
+ <input type="text" :disabled="hasSourceBill" placeholder="璇疯緭鍏ユ垨鎵弿婧愬崟鍙�"
+ v-model="hform.HSourceBillNo" @confirm="getSourceBillInfo(hform.HSourceBillNo)" />
+ </view>
+ <view class="icon-wrapper-big">
+ <uni-icons class="right-icon" type="scan" style="
+ background-color: #3a78ff;
+ padding: 6rpx;
+ color: #fff;
+ border-radius: 100%;
+ " size="20" @click="toScanCode"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">鐢熶骇璧勬簮</view>
+ <view class="right">
+ <uni-combox :candidates="GySourceNameList" placeholder="璇烽�夋嫨鐢熶骇璧勬簮" v-model="hform.HSourceName"
+ @update:modelValue="HSourceChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">鐢熶骇鐝</view>
+ <view class="right">
+ <uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+ v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">浠诲姟鍗曞彿</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HICMOBillNo" disabled />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 5)"></uni-icons></view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">娴佽浆鍗″彿</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HProcExchBillNo" disabled />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 6)"></uni-icons></view>
+ </view>
+ <view class="form-item">
+ <view class="left">浜у搧浠g爜</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HMaterNumber" />
+ </view>
+ <view class="icon-wrapper-big">
+ <uni-icons type="search" size="20" @click="showSelectorModule(hform, 4)"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浜у搧鍚嶇О</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HMaterName" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">妫�楠屽憳</view>
+ <view class="right">
+ <uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
+ :v-model="hform.HFirstCheckEmpName"
+ @update:modelValue="HFirstCheckEmpChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">妫�楠屾柟妗�</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="this.hform.HQCSchemeName" />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 7)"></uni-icons></view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">鍒ゆ柇缁撹</view>
+ <view class="right none-border">
+ <radio-group @changer="checkResultChange">
+ <label>
+ <radio value="0" :checked="hform.HLastResult" /><text></text>
+ 鍚堟牸
+ </label>
+ <view style="width: 20rpx; display: inline-block"></view>
+ <label>
+ <radio value="1" :checked="!hform.HLastResult" /><text></text>
+ 涓嶅悎鏍�
+ </label>
+ </radio-group>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">宸ュ簭</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HProcName" />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 8)"></uni-icons></view>
+ </view>
+
+ </view>
+ <!-- 鍏朵粬淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 2">
+ <view class="form-item">
+ <view class="left">婧愬崟绫诲瀷</view>
+ <view class="right" style="position: relative" :class="!hasSourceBill?'':'disabled'">
+ <picker mode="selector" :range="HSourceBillTypeNameList" :disabled="hasSourceBill"
+ @change="HSourceBillTypeNameChange">
+ <input type="text" placeholder="璇烽�夋嫨婧愬崟绫诲瀷" v-model="HSourceBillType" disabled/>
+ <view class="picker-overlay"></view>
+ </picker>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">鐢熶骇鐝</view>
+ <view class="right">
+ <uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+ v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">寮傚父涓存椂澶勭悊鏂规</view>
+ <view class="right">
+ <input type="text" v-model="hform.HErrTreatment" value="" />
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">浠诲姟鍗曟暟閲�</view>
+ <view class="right">
+ <input type="number" v-model="hform.HICMOQty" />
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">娴佽浆鍗℃暟閲�</view>
+ <view class="right">
+ <input type="number" v-model="hform.HProcExchQty" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鎵瑰彿</view>
+ <view class="right">
+ <input type="text" value="" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">澶囨敞</view>
+ <view class="right">
+ <input type="text" v-model="hform.HRemark" value="" />
+ </view>
+ </view>
+ </view>
+ <!-- 鍒跺崟淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 3">
+ <view class="form-item">
+ <view class="left">鍒跺崟浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HMaker" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍒跺崟鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HMakeDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">瀹℃牳浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HChecker" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">瀹℃牳鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCheckDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍏抽棴浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCloseMan" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍏抽棴鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCloseDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">淇敼浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HUpDater" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">淇敼鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HUpDateDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浣滃簾浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HDeleteMan" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浣滃簾鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HDeleteDate" disabled />
+ </view>
+ </view>
+ </view>
+ </view>
+ </view>
+ <!-- 瀛愯〃鍖哄煙 -->
+ <view class="bill-sub-area">
+ <!-- 瀛愯〃椤电 -->
+ <view class="bill-sub-tabs">
+ <view v-for="subTab in subTabs" :key="subTab.id" :class="subTab.id == subTabSelected ? 'selected' : ''"
+ @tap="subTabSelected = subTab.id">{{ subTab.name }}</view>
+ </view>
+ <!-- 瀛愯〃鍐呭 -->
+ <view class="bill-main-contents">
+ <!-- 妫�楠岄」鐩� 鍛堢幇 -->
+ <view v-if="subTabSelected == 1">
+ <!-- 闇�閫氳繃鏄惧紡璋冪敤蹇界暐$event鍙傛暟 -->
+ <view class="buttons" @tap="addCheckItem()">
+ <uni-icons type="plus" style="margin-right: 10rpx" size="22"></uni-icons>鏂板
+ </view>
+ <view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+ <view class="list" v-else>
+ <uni-card v-for="checkItem in checkItems" :key="checkItem.num">
+ <view class="card-detail">
+ <view class="detail"> <text>搴忓彿锛�</text>{{ checkItem.num }} </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>妫�楠岄」鐩細</text></view>
+ <input type="text" :value="checkItem.HQCCheckItemName" disabled="" />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(checkItem, 2)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>妫�楠屼华鍣細</text></view>
+ <input type="text" :value="checkItem.HInspectInstruMentName" disabled="" />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(checkItem, 3)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <view><text>缁撹锛�</text></view>
+ <view style="width: 4em">
+ {{ checkItem.HResult == 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}
+ </view>
+ <view>
+ <switch style="width: 2em; transform: scale(0.7)"
+ :checked="checkItem.HResult == 1"
+ @change="HResultChange(checkItem.num, $event)" />
+ </view>
+ </view>
+ <view class="detail editable" style="position: relative">
+ <view style="flex-shrink: 0"><text>鍒嗘瀽鏂规硶锛�</text></view>
+ <picker :range="arrayAnalysisMethod" range-key="name"
+ @change="HAnalysisMethodChange(checkItem.num, $event)">
+ <input disabled :value="getAnalysisMethodDisplay(checkItem.HAnalysisMethod)"
+ placeholder="璇烽�夋嫨" />
+ <view class="picker-overlay"></view>
+ </picker>
+ </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>閲嶇偣妫�鏌ワ細</text></view>
+ <view>
+ <switch type="checkbox" style="transform: scale(0.7)"
+ :checked="checkItem.HKeyInspect"
+ @change="HKeyInspectChange(checkItem, $event)" />
+ </view>
+ </view>
+ <view class="detail" v-if="checkItem.HQCStd">
+ <text>妫�楠屾爣鍑嗭細</text>{{ checkItem.HQCStd }}
+ </view>
+ <view class="detail" v-if="checkItem.HUnit">
+ <text>鍗曚綅锛�</text>{{ checkItem.HUnit }}
+ </view>
+ <!-- 鍙湁瀹氶噺鍒嗘瀽鎵嶅惎鐢ㄦ楠屽�� -->
+ <view class="detail editable" v-show="checkItem.HAnalysisMethod == 2">
+ <text>妫�楠屽�硷細</text>
+ <input type="text" class="editable-input" @blur="calcHResult(checkItem)" v-model="checkItem.HInspectValQ" />
+ </view>
+
+ <view class="detail" v-if="checkItem.HQCNote">
+ <text>妫�楠岃褰曪細</text>{{ checkItem.HQCNote }}
+ </view>
+ <view class="detail" v-if="checkItem.HTargetVal">
+ <text>鐩爣鍊硷細</text>{{ checkItem.HTargetVal }}
+ </view>
+ <view class="detail" v-if="checkItem.HUpLimit">
+ <text>涓婇檺鍊硷細</text>{{ checkItem.HUpLimit }}
+ </view>
+ <view class="detail" v-if="checkItem.HDownLimit">
+ <text>涓嬮檺鍊硷細</text>{{ checkItem.HDownLimit }}
+ </view>
+ <view class="detail" v-if="checkItem.HMax">
+ <text>鏈�澶у�硷細</text>{{ checkItem.HMax }}
+ </view>
+ <view class="detail" v-if="checkItem.HMin">
+ <text>鏈�灏忓�硷細</text>{{ checkItem.HMin }}
+ </view>
+ <view class="detail" v-if="checkItem.HAvg">
+ <text>骞冲潎鍊硷細</text>{{ checkItem.HAvg }}
+ </view>
+ </view>
+ <view style="height: 20rpx"></view>
+ <view class="more">
+ <view class="part" style="color: #da0000" @tap.stop="removeCheckItem(checkItem)">
+ <uni-icons type="trash" style="color: #da0000; margin-right: 10rpx"
+ size="18"></uni-icons>鍒犻櫎
+ </view>
+ </view>
+ </uni-card>
+ </view>
+ </view>
+ <!-- 鎶芥牱妫�楠� 鍛堢幇 -->
+ <view v-if="subTabSelected == 2">
+ <view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+ <view class="list" v-else>
+ <uni-card v-for="SamplingItem in checkItems" :key="SamplingItem.num">
+ <view class="card-detail">
+ <view class="detail"> <text>搴忓彿锛�</text>{{ SamplingItem.num }} </view>
+ <view class="detail editable">
+ <text>妫�楠岄」鐩細</text>{{ SamplingItem.HQCCheckItemName }}
+ </view>
+ <view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+ <view class="detail editable" style="width: 100%">
+ <view style="flex-shrink: 0"><text>鎶芥牱鏂规锛�</text></view>
+ <input type="text" :value="SamplingItem.HSampleSchemeName" disabled />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(SamplingItem, 1)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <text>鎶芥牱绫诲瀷锛�</text>{{ SamplingItem.HSamplingType }}
+ </view>
+ <view class="detail editable">
+ <text>妫�楠屾按骞筹細</text>{{ SamplingItem.HInspectionLevel }}
+ </view>
+ <view class="detail editable">
+ <text>涓ユ牸搴︼細</text>{{ SamplingItem.HStrictness }}
+ </view>
+ <view class="detail editable">
+ <text>AQL锛�</text>{{ SamplingItem.HAQL }}
+ </view>
+ <view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+ <view class="detail editable">
+ <text>鏍锋湰閲忥細</text>{{ SamplingItem.HSampleQty }}
+ </view>
+ <view class="detail editable">
+ <text>鍏佽鏁帮細</text>{{ SamplingItem.HAcceptQty }}
+ </view>
+ <view class="detail editable">
+ <text>鎷掔粷鏁帮細</text>{{ SamplingItem.HRejectQty }}
+ </view>
+ <view class="detail editable">
+ <text>鏍锋湰涓嶅悎鏍兼暟锛�</text>{{ SamplingItem.HSampleUnRightQty }}
+ </view>
+ <view class="detail editable">
+ <text>鏍锋湰鐮村潖鏁帮細</text>
+ <view class="editable-input">
+ <input type="number" v-model="SamplingItem.HSampleDamageQty" />
+ </view>
+ </view>
+ <view class="detail editable">
+ <text>妫�楠岀粨鏋滐細</text>
+ <view style="border-radius: 15%; padding: 0 10rpx" :class="
+ SamplingItem.HInspectResultToSee == '鍚堟牸'
+ ? 'pass-background'
+ : SamplingItem.HInspectResultToSee == '涓嶅悎鏍�'
+ ? 'unpass-background'
+ : ''
+ ">
+ {{ SamplingItem.HInspectResultToSee }}
+ </view>
+ </view>
+ </view>
+ </uni-card>
+ </view>
+ </view>
+ <!-- 妫�娴嬪�� 鍛堢幇 -->
+ <view v-else v-for="item in InspectModules" :key="item.id">
+ <view v-if="subTabSelected == item.id">
+ <InspectValueTemplateVue ref="InspectValueModules" :bind-key="item.id"
+ @syncCheckData="InspectValueComplete" :bind-data="{
+ data: checkItems[item.checkItemId],
+ list: InspectValues[item.checkItemId],
+ mode: 4 // 妫�娴嬪�兼ā鍧�
+ }">
+ </InspectValueTemplateVue>
+ </view>
+ </view>
+ </view>
+ </view>
+ <view style="height: 120rpx"></view>
+ <view class="bottom-btn">
+ <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+ <view style="flex: 1"></view>
+ <button class="btn-a" size="mini" @tap="addNew">鏂板</button>
+ <button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+ </view>
+ <SampleSchemePopupVue v-if="enablePopupModule == PopupModuleNameList[1]" ref="listPopup"
+ @update="SampleSchemeComplete" :bindKey="currentChechItemIDCache">
+ </SampleSchemePopupVue>
+ <CheckItemPopupVue v-if="enablePopupModule == PopupModuleNameList[2]" ref="listPopup"
+ @update="CheckItemComplete" :bindKey="currentChechItemIDCache">
+ </CheckItemPopupVue>
+ <InspectMentPopupVue v-if="enablePopupModule == PopupModuleNameList[3]" ref="listPopup"
+ @update="InspectMentComplete" :bindKey="currentChechItemIDCache">
+ </InspectMentPopupVue>
+ <MaterialPopupVue v-if="enablePopupModule == PopupModuleNameList[4]" ref="listPopup" @update="MaterComplete"
+ :bindKey="0">
+ </MaterialPopupVue>
+ <ICMOBillPopupVue v-if="enablePopupModule == PopupModuleNameList[5]" ref="listPopup" @update="ICMOBillComplete"
+ :bindKey="0"></ICMOBillPopupVue>
+ <ProcExchBillPopupVue v-if="enablePopupModule == PopupModuleNameList[6]" ref="listPopup"
+ @update="ProcExchBillComplete" :bindKey="0"></ProcExchBillPopupVue>
+ <ProcessPopupVue v-if="enablePopupModule == PopupModuleNameList[8]" ref="listPopup" @update="HProcComplete"
+ :bindKey="0"></ProcessPopupVue>
+ <CheckProjectPopupVue v-if="enablePopupModule == PopupModuleNameList[7]" ref="listPopup"
+ @update="HQCSchemeComplete" :bindKey="0"></CheckProjectPopupVue>
+ </view>
+</template>
+
+<script>
+ import dayjs from "dayjs";
+ import {
+ CommonUtils
+ } from "../../../utils/common";
+ import InspectValueTemplateVue from "@/components/ZLGL/InspectValueTemplate.vue";
+ import SampleSchemePopupVue from "@/components/ZLGL/SampleSchemePopup.vue";
+ import CheckItemPopupVue from "@/components/ZLGL/CheckItemPopup.vue";
+ import InspectMentPopupVue from "../../../components/ZLGL/InspectMentPopup.vue";
+ import MaterialPopupVue from "../../../components/ZLGL/MaterialPopup.vue";
+ import ICMOBillPopupVue from "../../../components/ZLGL/ICMOBillPopup.vue";
+ import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue";
+ import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue";
+ import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue";
+ import {
+ getUserInfo
+ } from "../../../utils/auth";
+ import {
+ MpaasScan
+ } from "../../../utils/mpaasScan";
+ export default {
+ components: {
+ InspectValueTemplateVue,
+ SampleSchemePopupVue,
+ CheckItemPopupVue,
+ InspectMentPopupVue,
+ MaterialPopupVue,
+ ICMOBillPopupVue,
+ ProcExchBillPopupVue,
+ ProcessPopupVue,
+ CheckProjectPopupVue,
+ },
+ computed: {
+ judgeConclusion: {
+ get() {
+ return true;
+ },
+ },
+ },
+ data() {
+ return {
+ operationType: 1,
+
+ mainTabSelected: 1,
+ subTabSelected: 1,
+
+ // 婧愬崟鐘舵�佹帶鍒�
+ hasSourceBill: false,
+
+ // 鎺у埗褰撳墠鏄剧ず鐨勫脊绐楁ā鍧�
+ enablePopupModule: "",
+ PopupModuleNameList: [
+ "",
+ "SampleScheme",
+ "CheckItem",
+ "InspectMent",
+ "Material",
+ "ICMOBill",
+ "ProcExchBill",
+ "QCScheme",
+ "Process",
+ ],
+ // 褰撳墠鎿嶄綔鐨勬楠屽崟ID缂撳瓨
+ currentChechItemIDCache: -1,
+
+ // uni-combox 閫夋嫨鍣ㄤ娇鐢�
+ // 鐢熶骇璧勬簮
+ GySourceList: [],
+ GySourceNameList: [],
+ // 鐝
+ GyWorkShiftList: [],
+ GyWorkShiftNameList: [],
+ // 妫�楠屽憳
+ GyFirstCheckEmpList: [],
+ GyFirstCheckEmpNameList: [],
+
+ // 妫�楠屾柟妗�
+ arrayAnalysisMethod: [{
+ value: 1,
+ name: "瀹氭�у垎鏋�",
+ },
+ {
+ value: 2,
+ name: "瀹氶噺鍒嗘瀽",
+ },
+ {
+ value: 3,
+ name: "鍏朵粬鍒嗘瀽",
+ },
+ ],
+ ArrayAnalysisMethodValue: [1, 2, 3],
+ // 瀛愯〃 椤电淇℃伅
+ subTabs: {
+ 1: {
+ id: "1",
+ name: "妫�楠岄」鐩�",
+ },
+ 2: {
+ id: "2",
+ name: "鎶芥牱妫�楠�",
+ },
+ },
+
+ // 婧愬崟绫诲瀷
+ HSourceBillType: "閿�鍞鍗�",
+ HSourceBillTypeValueList: ['1401','1402'],
+ HSourceBillTypeNameList: [
+ "閿�鍞鍗�","鍙戣揣閫氱煡鍗�"
+ ],
+ // 涓昏〃灞炴��
+ hform: {
+ HSourceBillType: "1401",
+ HSourceBillNo: "",
+ HBillNo: "",
+ HInterID: "0",
+ HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+ HSourceName: "",
+ HSourceID: "0",
+ HShiftsName: "",
+ HShiftsID: "0",
+ HICMOBillNo: "",
+ HICMOInterID: "0",
+ HICMOEntryID: "1",
+ HICMOQty: "0",
+ HProcExchBillNo: "",
+ HProcExchInterID: "0",
+ HProcExchEntryID: "0",
+ HProcExchQty: "0",
+ HMaterNumber: "",
+ HMaterID: "0",
+ HMaterName: "",
+ HFirstCheckEmpName: "",
+ HFirstCheckEmp: 0,
+ HQCSchemeName: "",
+ HQCSchemeID: "0",
+ HBatchNo: "",
+ HLastResult: true, // 榛樿鍚堟牸
+ HProcName: "",
+ HProcID: "0",
+ HTakeSampleCheckBillNo: "", // 鍙栨牱鍗�
+ HTakeSampleCheckBillID: "0",
+ HRemark: "",
+ HErrTreatment: "", // 寮傚父涓存椂澶勭悊鏂规
+ HMaker: getUserInfo()["Czymc"] || "",
+ HChecker: "",
+ HCloseMan: "",
+ HMakeDate: dayjs(new Date()).format("YYYY-MM-DDTHH:mm:ss"),
+ HCheckDate: "",
+ HCloseDate: "",
+ HUpDater: "",
+ HDeleteMan: "",
+ HUpDateDate: "",
+ HDeleteDate: "",
+ HResult: 1,
+ HAnalysisMethod: "",
+
+ HResDec: "",
+ HStatus: 1,
+
+ HMainSourceBillType: "",
+ HMainSourceInterID: "0",
+ HMainSourceEntryID: "1",
+ HMainSourceBillNo: "",
+ },
+ // 妫�楠岄」鐩拰鎶芥牱妫�楠� 鍊�
+ checkItems: {},
+ // 妫�娴嬪�兼ā鍧�
+ InspectModules: {},
+ // 妫�娴嬪��
+ InspectValues: {},
+ };
+ },
+ methods: {
+ // 妫�楠屽�� 璁$畻鏄惁鍚堟牸
+ calcHResult(item){
+ // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
+ console.log('item: ',item);
+ if(item.HSampleSchemeID) {
+ return
+ }
+
+ if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
+ this.checkItems[item.num].HResult = true
+ return
+ }
+
+ this.checkItems[item.num].HResult = false
+ },
+ // 婧愬崟绫诲瀷閫夋嫨
+ HSourceBillTypeNameChange(e) {
+ this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value];
+ this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value];
+ },
+ toScanCode() {
+ MpaasScan.scanCode((res) => {
+ if (res) {
+ this.getSourceBillInfo(HBarCode);
+ }
+ });
+ },
+ async getSourceBillInfo(HBarCode) {
+ console.log('HBarCode: ', HBarCode);
+ // 鏍规嵁鍗曟嵁绫诲瀷锛岃皟鐢ㄤ笉鍚岀殑涓嬫帹鍑芥暟
+ if (this.hform.HSourceBillType == 1401) {
+ // 閿�鍞鍗�
+ await this.LoadingInformation_SeOrder(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+
+ if (this.hform.HSourceBillType == 1402) {
+ // 鍙戣揣閫氱煡鍗昄oadingInformation_SeOutStock
+ await this.LoadingInformation_SeOutStock(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ if (this.hform.HSourceBillType == 3710) {
+ // 鐢熶骇璁㈠崟鍒楄〃棣栨
+ await this.LoadingInformation_ICMO(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ if (this.hform.HSourceBillType == 3772) {
+ // 宸ュ簭娴佽浆鍗″垪琛ㄩ妫�
+ await this.LoadingInformation_ProcExchange(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ },
+ async GetCheckItemID() {
+ if (!this.hform.HMaterName && !this.hform.HProcName) {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Web/GetCheckItemID",
+ data: {
+ HName: this.hform.HMaterName,
+ HProName: this.hform.HProcName,
+ HSourceID: this.hform.HSourceID,
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].hmainid;
+
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${err}`,
+ });
+ }
+ }
+ },
+ //#region 涓�鑷�
+ async LoadingInformation_ProcExchange(HBarCode) {
+ // 宸ュ簭娴佽浆鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/CheckBill/get_ProcessExchangeBill_ByBillNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+ this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ this.hform.HProcExchInterID = data[0].HProcExchInterID;
+ this.hform.HProcExchEntryID = data[0].HProcExchEntryID || 0;
+ this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+ this.hform.HICMOInterID = data[0].HICMOInterID;
+ this.hform.HICMOQty = data[0].HICMOQty || 0;
+ this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+ this.hform.HSourceID = data[0].HSourceID || 0;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+ this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HMainSourceBillType = data[0].HBillType;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+ this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+ this.hform.HBatchNo = data[0].鎵瑰彿;
+
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ //#endregion
+
+ //#region 淇敼
+ async LoadingInformation_ICMO(HBarCode) {
+ // 鐢熶骇璁㈠崟
+ try {
+ let sWhere="and 鍗曟嵁鍙�='"+HBarCode+"'"
+ console.log(sWhere)
+ let res = await CommonUtils.doRequest2Async({
+ url: "/LEMS/MES_IF_ICMOBillList_Json",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${Message}`,
+ });
+ return;
+ }
+ //鐢熶骇鏀�
+ //this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ //this.hform.HProcExchInterID = data[0].HProcExchInterID;
+ //this.hform.HProcExchEntryID = data[0].HProcExchEntryID;
+ //this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ this.hform.HICMOBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HICMOInterID = data[0].hmainid;
+ this.hform.HICMOQty = data[0].鐢熶骇浠诲姟鍗曟暟閲�;
+ this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+ this.hform.HSourceID = data[0].HSourceID;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterNumber=data[0].浜у搧浠g爜
+ this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+ this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HMainSourceBillType = data[0].鍗曟嵁绫诲瀷;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+ this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${err}`,
+ });
+ }
+ },
+ //#endregion
+
+ //#region 涓�鑷�
+ async LoadingInformation_StationEntrustOutBill(HBarCode) {
+ // 宸ュ簭濮斿鎺ユ敹鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Cj_StationEntrustOutBill/list",
+ data: {
+ sWhere: ` and HBillNo = '${HBarCode}'`,
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+
+ HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ HProcExchInterID = data[0].HProcExchInterID;
+ HProcExchEntryID = data[0].HProcExchEntryID;
+ HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ HICMOBillNo = data[0].鐢熶骇璁㈠崟鍙�;
+ HICMOInterID = data[0].HICMOInterID;
+ HICMOQty = data[0].HICMOQty;
+ HSourceName = data[0].鐢熶骇璧勬簮;
+ HSourceID = data[0].HSourceID;
+ HMaterID = data[0].HMaterID;
+ HMaterName = data[0].浜у搧鍚嶇О;
+ HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ HMainSourceBillType = data[0].HBillType;
+ HMainSourceInterID = data[0].hmainid;
+ HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ //#endregion
+ //LoadingInformation_SeOutStock
+ async LoadingInformation_SeOrder(HBarCode) {
+ // 婧愬崟涓洪攢鍞鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_OutCompCheckBill/get_SeOrderBill_Tmp_ByBiilNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇閿�鍞鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+ //change_inlife
+ this.hform.HMaterNumber=data[0].HMaterNumber;
+
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].HMaterName;
+ this.hform.HMainSourceBillNo = data[0].HBillNo;
+
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HMainSourceEntryID=data[0].HEntryID
+
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+
+
+ for (let i = 0; i < data.length; i++) {
+ this.addCheckItem(data[i])
+ }
+
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇閿�鍞鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ //LoadingInformation_SeOutStock
+ async LoadingInformation_SeOutStock(HBarCode) {
+ // 婧愬崟涓哄彂璐ч�氱煡璁㈠崟
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_OutCompCheckBill/get_SeOutStockBill_Tmp_ByBillNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙戣揣閫氱煡鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+ //change_inlife
+ this.hform.HMaterNumber=data[0].HMaterNumber;
+
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].HMaterName;
+ this.hform.HMainSourceBillNo = data[0].HBillNo;
+
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HMainSourceEntryID=data[0].HEntryID
+
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+
+
+ for (let i = 0; i < data.length; i++) {
+ this.addCheckItem(data[i])
+ }
+
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙戣揣閫氱煡鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ // 妫�楠屽憳鍒濆鍖�
+ async InitHEmp() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_Employee/list",
+ data: {
+ sWhere: ` and 缁勭粐鍚嶇О = '${uni.getStorageSync(
+ "Organization"
+ )}' and 绂佺敤鏍囪 = ''and 瀹℃牳浜� !='' order by 閮ㄩ棬浠g爜`,
+ user: getUserInfo()["Czymc"],
+ Organization: uni.getStorageSync("Organization"),
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ console.log("data: ", data);
+ this.GyFirstCheckEmpList = data;
+ this.GyFirstCheckEmpNameList = Array.from(data).map((e) => e["鑱屽憳鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栨楠屽憳澶辫触: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栨楠屽憳澶辫触: ${err}`,
+ });
+ }
+ },
+ async HFirstCheckEmpChange(e) {
+ console.log("閫変腑妫�楠屽憳: ", e);
+ let index = this.GyFirstCheckEmpList.findIndex((elem) => elem["鑱屽憳鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HFirstCheckEmp = 0;
+ this.hform.HFirstCheckEmpName = "";
+ return;
+ }
+
+ this.hform.HFirstCheckEmp = this.GyFirstCheckEmpList[index]["HItemID"];
+ this.hform.HFirstCheckEmpName = this.GyFirstCheckEmpList[index]["鑱屽憳鍚嶇О"];
+ },
+ // 鐢熶骇鐝鍒濆鍖�
+ async InitHWorkShift() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_ShiftsController/Get_Gy_WorkShiftList",
+ data: {
+ sWhere: ` and 绂佺敤鏍囪 = '' and ISNULL(瀹℃牳浜�,'') != '' and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync(
+ "Organization"
+ )}'`,
+ HMaker: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ console.log("data: ", data);
+ this.GyWorkShiftList = data;
+ this.GyWorkShiftNameList = Array.from(data).map((e) => e["鐝鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫彮娆″け璐�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫彮娆″け璐�: ${err}`,
+ });
+ }
+ },
+ async HWorkShiftChange(e) {
+ console.log("閫変腑鐝: ", e);
+ let index = this.GyWorkShiftList.findIndex((elem) => elem["鐝鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HWorkShiftID = 0;
+ this.hform.HWorkShiftName = "";
+ return;
+ }
+
+ this.hform.HWorkShiftID = this.GySourceList[index]["HInterID"];
+ this.hform.HWorkShiftName = this.GySourceList[index]["鐝鍚嶇О"];
+ },
+ // 鐢熶骇璧勬簮鏇存柊
+ // 鐢熶骇璧勬簮鍒濆鍖�
+ async InitHSource() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_Source/list",
+ data: {
+ sWhere: `and 绂佺敤鏍囪 != 'Y' and ISNULL(瀹℃牳浜�,'') != '' and HUSEORGID = '100038'`,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ this.GySourceList = data;
+ this.GySourceNameList = Array.from(data).map((e) => e["鐢熶骇璧勬簮鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${err}`,
+ });
+ }
+ },
+ // 鐢熶骇璧勬簮鏇存柊
+ async HSourceChange(e) {
+ console.log("閫変腑鐢熶骇璧勬簮: ", e);
+ let index = this.GySourceList.findIndex((elem) => elem["鐢熶骇璧勬簮鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HSourceID = 0;
+ this.hform.HSourceName = "";
+ return;
+ }
+
+ this.hform.HSourceID = this.GySourceList[index]["HItemID"];
+ this.hform.HSourceName = this.GySourceList[index]["鐢熶骇璧勬簮鍚嶇О"];
+
+ this.get_ICMOBillStatusList();
+ this.get_QC_TakeSampleCheckBillList();
+ this.GetCheckItemID();
+ },
+ // 鏄剧ず寮圭獥
+ async showSelectorModule(item, index) {
+ this.currentChechItemIDCache = item.num || 0; // 0 琛ㄧず娌℃湁浠讳綍瀛愯〃琚�変腑
+ this.enablePopupModule = this.PopupModuleNameList[index];
+ console.log("this.$refs: ", this.$refs);
+ await this.$nextTick();
+ if (index == 7) {
+ // 妫�楠屾柟妗堥渶瑕侀澶栦紶閫掑伐搴忓拰鐗╂枡鍚嶇О涓や釜鍙傛暟
+ this.$refs.listPopup.setRequiredInfo(item.HMaterName, item.HProcName);
+ }
+
+ this.$refs.listPopup.showPopup();
+ },
+ getAnalysisMethodDisplay(val) {
+ console.log("AnalysisMethodVal: ", val);
+ if (val) {
+ return this.arrayAnalysisMethod.find((e) => e.value == val).name;
+ }
+ return "";
+ },
+ checkResultChange(event) {
+ console.log("event: ", event);
+ },
+ // 妫�楠岄」鐩柊澧炶
+ addCheckItem(resource) {
+ let ordinal = this.getObjLength(this.checkItems) + 1;
+ let checkItem = {
+ num: ordinal,
+ HInterID: this.hform.HInterID,
+ HQCCheckItemID: "",
+ HQCCheckItemNumber: "",
+ HQCCheckItemName: "",
+ HInspectInstruMentID: "0",
+ HInspectInstruMentNumber: "",
+ HInspectInstruMentName: "",
+ HQCStd: "",
+ HUnit: "",
+ HQCNote: "",
+ HAnalysisMethod: "",
+ HResult: 1,
+ HMax: "",
+ HMin: "",
+ HAvg: "",
+ HRemark: "",
+ HKeyInspect: false,
+ HStatus: 1,
+ HSampleSchemeID: "",
+ HUnitID: 0,
+ HInspectVal: "",
+ HTargetVal: "",
+ HUpLimit: "",
+ HDownLimit: "",
+ HUpOffSet: "",
+ HDownOffSet: "",
+ HSampleDamageQty: 0,
+ HSampleSchemeName: "",
+ HSampleQty: 0,
+ HAcceptQty: 0,
+ HInspectionLevel: "",
+ HRejectQty: 0,
+ HStrictness: "",
+ HSampleUnRightQty: 0,
+ HAQL: "",
+ HSamplingType: "",
+ HInspectResultToSee: "",
+ };
+ if (resource) {
+ // 閫氳繃涓昏〃妫�楠屾柟妗堝甫鍑虹殑妫�楠岄」鐩�
+ Object.assign(checkItem, resource);
+ }
+ this.$set(this.checkItems, ordinal, checkItem);
+ this.$nextTick(() => {
+ // 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+ this.setInspectValModule(this.checkItems[ordinal]);
+ });
+ },
+ // 妫�楠岄」鐩垹闄よ
+ removeCheckItem(item) {
+ uni.showModal({
+ title: "娓╅Θ鎻愮ず",
+ content: `纭瑕佸垹闄ょ${item.num}琛屽悧锛熷垹闄ゅ悗涓嶈兘鎭㈠`,
+ success: (res) => {
+ if (res.confirm) {
+ this.$delete(this.checkItems, item.num);
+ this.$delete(this.subTabs, `_${item.num}`);
+ this.$forceUpdate();
+ this.refreshCheckItemNum();
+ }
+ },
+ });
+ },
+ async refreshCheckItemNum() {
+ await this.$nextTick();
+ // 閲嶆帓搴忓彿
+ let num = 1;
+ let checkItemsCache = {};
+ for (let s in this.checkItems) {
+ checkItemsCache[num] = this.checkItems[s];
+ checkItemsCache[num].num = num;
+ num++;
+ }
+ this.checkItems = checkItemsCache;
+ },
+ getObjLength(obj) {
+ return Object.keys(obj).length;
+ },
+ // 缁撹淇敼
+ HResultChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HResult"] = e.detail.value ? 1 : 2;
+
+ this.HCheckLastResult();
+ },
+ // 姣忔妫�楠岄」鐩殑缁撹鏇存柊锛岄兘瑕佸垽鏂渶缁堢粨璁�
+ HCheckLastResult() {
+ let unPassNum = 0;
+ for (var key in this.checkItems) {
+ if (!(this.checkItems[key]["HResult"] == 1)) {
+ unPassNum++;
+ }
+ }
+
+ if (unPassNum > 0) {
+ this.hform.HLastResult = false;
+ return;
+ }
+ this.hform.HLastResult = true;
+ },
+ // 妫�楠屾柟妗堜慨鏀�
+ HAnalysisMethodChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HAnalysisMethod"] = this.arrayAnalysisMethod[e.detail.value][
+ "value"
+ ];
+
+ // 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+ this.setInspectValModule(this.checkItems[id]);
+ },
+ // 閲嶇偣妫�鏌ヤ慨鏀�
+ HKeyInspectChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HKeyInspect"] = e.detail.value;
+ },
+ // 妫�楠岄」鐩繑鍥�
+ async CheckItemComplete(e) {
+ console.log("CheckItemRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HQCCheckItemID: data["HItemID"],
+ HQCCheckItemNumber: data["浠g爜"],
+ HQCCheckItemName: data["鍚嶇О"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屾柟妗堣繑鍥�
+ async SampleSchemeComplete(e) {
+ console.log("SampleSchemeRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HSampleSchemeID: data["hmainid"],
+ HSampleSchemeNumber: data["鎶芥牱鏂规浠g爜"],
+ HSampleSchemeName: data["鎶芥牱鏂规鍚嶇О"],
+ HSampleQty: data["鏍锋湰閲�"] || 0,
+ HAcceptQty: data["鍏佽鏁�"] || 0,
+ HInspectionLevel: data["妫�楠屾按骞�"],
+ HRejectQty: data["鎷掔粷鏁�"] || 0,
+ HStrictness: data["涓ユ牸搴�"],
+ HSampleUnRightQty: data["鏍锋湰涓嶅悎鏍兼暟"] || 0,
+ HAQL: data["AQL"],
+ HSamplingType: data["鎶芥牱绫诲瀷"],
+ HInspectResultToSee: data["妫�楠岀粨鏋�"],
+ HUpLimit: data["涓婇檺鍊�"] || 0,
+ HDownLimit: data["涓嬮檺鍊�"] || 0,
+ HSampleDamageQty: data["鏍锋湰鐮村潖鏁�"] || 0,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ this.setInspectValModule(this.checkItems[key]);
+
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屼华鍣ㄨ繑鍥�
+ async InspectMentComplete(e) {
+ console.log("InspectInstruMentRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HInspectInstruMentID: data["HItemID"],
+ HInspectInstruMentNumber: data["妫�楠屼华鍣ㄤ唬鐮�"],
+ HInspectInstruMentName: data["妫�楠屼华鍣ㄥ悕绉�"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 浜у搧浠g爜杩斿洖
+ async MaterComplete(e) {
+ console.log("MaterRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HMaterNumber: data["鐗╂枡浠g爜"],
+ HMaterName: data["鐗╂枡鍚嶇О"],
+ HMaterID: data["HItemID"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ this.GetCheckItemID();
+ }
+ },
+ // 浠诲姟鍗曡繑鍥�
+ async ICMOBillComplete(e) {
+ console.log("ICMOBillRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HICMOInterID: data.hmainid,
+ HICMOEntryID: data.HEntryID || 1,
+ HICMOBillNo: data.鍗曟嵁鍙�,
+ HMaterNumber: data.浜у搧浠g爜,
+ HMaterName: data.浜у搧鍚嶇О,
+ HMaterID: data.HMaterID,
+ HICMOQty: data.鐢熶骇浠诲姟鍗曟暟閲�,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 娴佽浆鍗¤繑鍥�
+ async ProcExchBillComplete(e) {
+ console.log("ProcExchBillRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HProcExchInterID: data.hmainid,
+ HProcExchEntryID: data.hsubid,
+ HProcExchBillNo: data.鍗曟嵁鍙�,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屾柟妗�(涓昏〃)杩斿洖
+ async HQCSchemeComplete(e) {
+ console.log("HQCSchemeRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HQCSchemeID: data.hmainid,
+ HQCSchemeName: data.妫�楠屾柟妗堝悕绉�,
+ });
+ await this.get_CheckItem();
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 宸ュ簭杩斿洖
+ async HProcComplete(e) {
+ console.log(" HProcRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HProcName: data["宸ュ簭鍚嶇О"],
+ HProcID: data["HItemID"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ await this.GetCheckItemID();
+ await this.get_ICMOBillStatusList();
+ await this.get_QC_TakeSampleCheckBillList();
+ }
+ },
+
+ //
+ async get_QC_TakeSampleCheckBillList() {
+ // 鍙栨牱鍗曟煡璇�
+ let HProcID = this.hform.HProcID;
+ let HProcExchInterId = this.hform.HProcExchInterID;
+ let sWhere = "";
+
+ if (HProcID == "0" || HProcID == "") {
+ CommonUtils.showTips({
+ message: "璇烽�夋嫨宸ュ簭",
+ });
+ return;
+ }
+
+ sWhere = " and 宸ュ簭娴佽浆鍗′富鍐呯爜='" + HProcExchInterID + "' and HProcID=" + HProcID;
+
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "//QC_TakeSampleCheckBill/QC_TakeSampleCheckBillMainList",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${Message}`,
+ });
+ }
+
+ this.hform.HTakeSampleCheckBillID = data[0]["hmainid"];
+ this.hform.HTakeSampleCheckBillNo = data[0]["鍗曟嵁鍙�"];
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${err}`,
+ });
+ }
+ },
+ async get_ICMOBillStatusList() {
+ let sWhere = "";
+ let HProcID = this.hform.HProcID;
+ let HSourceID = this.hform.HSourceID;
+ let HProcExchInterId = this.hform.HProcExchInterID;
+
+ if (HProcID != "0") {
+ sWhere += " and HProcID=" + HProcID;
+ }
+ if (HSourceID != "0") {
+ sWhere += " and HSourceID=" + HSourceID;
+ }
+
+ sWhere += " and HSourceInterID=" + HProcExchInterID;
+
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/CheckBill/GetICMOBillStatusList",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${Message}`,
+ });
+ }
+
+ this.hform.HProcID = data[0]["HProcID"];
+ this.hform.HProcName = data[0]["宸ュ簭"];
+ this.hform.HSourceID = data[0]["HSourceID"];
+ this.hform.HSourceName = data[0]["鐢熶骇璧勬簮"];
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${err}`,
+ });
+ }
+ },
+ setInspectValModule(checkItem) {
+ console.log("checkItem: ", checkItem);
+ if (!checkItem || !checkItem.HAnalysisMethod || !checkItem.HSampleSchemeID) {
+ return;
+ }
+ // 鍖哄垎妫�楠屽�奸〉绛惧拰闈欐�侀〉绛撅紝妫�楠屽�奸〉绛剧殑id浠寮�澶�
+ this.$set(this.InspectModules, `_${checkItem.num}`, {
+ id: `_${checkItem.num}`,
+ checkItemId: checkItem.num,
+ });
+ console.log(" this.arrayAnalysisMethod: ", checkItem.HAnalysisMethod);
+ let analysisMethodName = this.arrayAnalysisMethod.find(
+ (e) => e.value == checkItem.HAnalysisMethod
+ ).name;
+ this.$set(this.subTabs, `_${checkItem.num}`, {
+ id: `_${checkItem.num}`,
+ name: `${analysisMethodName}-${checkItem.HQCCheckItemName}`,
+ });
+ },
+ InspectValueUpdate(e) {
+ console.log("e: ", e);
+ let {
+ data,
+ list
+ } = e;
+ this.checkItems[data.num] = Object.assign(this.checkItems[data.num], data);
+ this.$set(this.InspectValues, `${data.num}`, list);
+ },
+ // 甯﹀嚭妫�楠岄」鐩�
+ async get_CheckItem() {
+ // 棣栧厛娓呯┖妫�楠岄」鐩� 鍜� 妫�楠屽��
+ this.checkItems = {}
+ for (let key in this.subTabs) {
+ if (key.substring(1) == "_") {
+ this.$delete(this.subTabs, key)
+ }
+ }
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Web/GetCheckItemByCheckProjectID",
+ data: {
+ CheckProjectID: this.hform.HQCSchemeID || 0,
+ HBatchQty: this.hform.HProcExchQty || 0,
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+
+ if (count == 1) {
+ for (var i = 0; i < data.length; i++) {
+ let checkItem = {
+ HQCCheckItemID: data[i]["HQCCheckItemID"],
+ HQCCheckItemNumber: data[i]["妫�楠岄」鐩唬鐮�"],
+ HQCCheckItemName: data[i]["妫�楠岄」鐩�"],
+ HInspectInstruMentID: data[i]["HInspectInstruMentID"],
+ HInspectInstruMentNumber: data[i]["妫�楠屼华鍣ㄤ唬鐮�"],
+ HInspectInstruMentName: data[i]["妫�楠屼华鍣�"],
+ HQCStd: data[i]["HQCStd"],
+ HUnit: data[i]["鍗曚綅鍚嶇О"],
+ HQCNote: "",
+ HAnalysisMethod: data[i]["鍒嗘瀽鏂规硶"],
+ HResult: data[i]["榛樿缁撹"],
+ HMax: "",
+ HMin: "",
+ HAvg: "",
+ HRemark: "",
+ HKeyInspect: data[i]["閲嶇偣妫�鏌�"] == 1 ? true : false,
+ HStatus: 0,
+ HSampleSchemeID: data[i]["HSampleSchemeID"],
+ HUnitID: data[i]["HUnitID"],
+ HInspectVal: "",
+ HTargetVal: "",
+ HUpLimit: data[i].涓婇檺鍊�,
+ HDownLimit: data[i].涓嬮檺鍊�,
+ HUpOffSet: "",
+ HDownOffSet: "",
+ HSampleDamageQty: "0",
+ HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[i].鏍锋湰閲�,
+ HAcceptQty: data[i].鍏佽鏁�,
+ HInspectionLevel: data[i].妫�楠屾按骞�,
+ HRejectQty: data[i].鎷掔粷鏁�,
+ HStrictness: data[i].涓ユ牸搴�,
+ HSampleUnRightQty: 0,
+ HAQL: data[i].AQL,
+ HSamplingType: data[i].鎶芥牱绫诲瀷,
+ HCompareSymbol: data[i].姣旇緝绗�,
+ HTargetVal: data[i].鐩爣鍊� || 0,
+ };
+
+ this.addCheckItem(checkItem);
+ }
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${Message} `,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${err} `,
+ });
+ }
+ },
+ async getMaxBillNo() {
+ try {
+ let res = await CommonUtils.doRequest2Sync({
+ url: "/Web/GetMAXNum",
+ data: {
+ HBillType: "7504",
+ },
+ });
+
+ if (!res) {
+ return;
+ }
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+ if (count == 1) {
+ this.hform.HInterID = data[0].HInterID;
+ this.hform.HBillNo = data[0].HBillNo;
+ } else {
+ throw Message;
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: "鑾峰彇鍗曟嵁鍙峰紓甯�: " + err,
+ });
+ }
+ },
+ // 妫�楠屽�艰繑鍥炲��
+ InspectValueComplete(e) {
+ console.log("e: ", e);
+ let key = e.num;
+ e.HStatus = e.HStatus ? 1 : 0
+ if (e.HResult2 == '') {
+ e.HResult2 = this.checkItems[key].HResult
+ }
+ Object.assign(this.checkItems[key], e);
+ this.checkItems[key].HInspectResultToSee = this.checkItems[key].HResult2;
+ this.checkItems[key].HResult = this.checkItems[key].HResult2 == '鍚堟牸' ? 1 : 2;
+
+ this.HCheckLastResult();
+
+ },
+ checkSubmitValidate() {
+ // if (this.hform.HICMOQty == "" || this.hform.HICMOQty <= 0) {
+ // CommonUtils.showTips({
+ // message: "浠诲姟鍗曟暟閲忎笉鑳戒负绌轰笖涓嶈兘灏忎簬绛変簬0锛�",
+ // });
+ // return false;
+ // }
+
+ if (this.hform.HFirstCheckEmp == 0) {
+ CommonUtils.showTips({
+ message: "妫�楠屽憳鏈�夋嫨锛�",
+ });
+ return false;
+ }
+
+ for (let key in this.checkItems) {
+ if (!this.checkItems[key].HQCCheckItemID) {
+ CommonUtils.showTips({
+ message: `绗�${this.checkItems[key].num}琛屾楠岄」鐩笉鑳戒负绌�!`,
+ });
+ return false;
+ }
+
+ if (
+ this.checkItems[key].HSampleSchemeID == "" ||
+ this.checkItems[key].HSampleSchemeID == null
+ ) {
+ this.checkItems[key].HSampleSchemeID = 0;
+ }
+ if (
+ this.checkItems[key].HSampleQty == "" ||
+ this.checkItems[key].HSampleQty == null
+ ) {
+ this.checkItems[key].HSampleQty = 0;
+ }
+ if (
+ this.checkItems[key].HSampleDamageQty == "" ||
+ this.checkItems[key].HSampleDamageQty == null
+ ) {
+ this.checkItems[key].HSampleDamageQty = 0;
+ }
+ if (
+ this.checkItems[key].HAcceptQty == "" ||
+ this.checkItems[key].HAcceptQty == null
+ ) {
+ this.checkItems[key].HAcceptQty = 0;
+ }
+ if (
+ this.checkItems[key].HRejectQty == "" ||
+ this.checkItems[key].HRejectQty == null
+ ) {
+ this.checkItems[key].HRejectQty = 0;
+ }
+ if (
+ this.checkItems[key].HSampleUnRightQty == "" ||
+ this.checkItems[key].HSampleUnRightQty == 0
+ ) {
+ this.checkItems[key].HSampleUnRightQty = 0;
+ }
+ if (this.checkItems[key].HUnitID == "") {
+ this.checkItems[key].HUnitID = 0;
+ }
+ }
+
+ return true;
+ },
+ async submit() {
+ if (!this.checkSubmitValidate()) {
+ return;
+ }
+ try {
+ console.log('this.$refs: ', this.$refs);
+ // 妫�鏌ユ槸鍚︽湁鏈垏鎹㈢殑妫�楠屽�兼ā鍧�(鏄惁鍖呭惈set_SaveValue鏂规硶),濡傛灉鏈夛紝鍒欒繍琛屼竴娆′繚瀛樻楠屽�肩殑鏂规硶锛屾牴鎹楠屽�兼槸鍚︿繚瀛樻垚鍔熷啀鎵ц涓嬩竴姝�
+ if (typeof this.$refs.InspectValueModules != "undefined" && this.$refs.InspectValueModules.length >
+ 0) {
+ // 鍔犺浇鏈夋楠屽�兼ā鍧�
+ await this.$refs.InspectValueModules[0].set_SaveValue();
+ this.InspectValues[0] = this.$refs.InspectValueModules[0].InSpectValues;
+ await this.InspectValueComplete(this.$refs.InspectValueModules[0].checkData)
+ }
+ let InspectValuesTrans = [];
+ let HInterID = this.hform.HInterID;
+ for (let key in this.InspectValues) {
+ let HEntryID = key;
+
+ InspectValuesTrans.push(
+ `${JSON.stringify(this.InspectValues[key])}`
+ );
+ }
+ let checkItemsArray = [];
+ for (var key in this.checkItems) {
+ let checkItem = JSON.parse(JSON.stringify(this.checkItems[key]))
+ delete checkItem.data
+ checkItemsArray.push(checkItem);
+ }
+ console.log('checkItemsArray: ', checkItemsArray);
+ let sMainSub = `${JSON.stringify(this.hform)};${JSON.stringify(
+ checkItemsArray
+ )};${this.operationType};${getUserInfo()["Czymc"]};${InspectValuesTrans[0]}`;
+ console.log("this.checkItems: ", this.checkItems);
+
+ let res = await CommonUtils.doRequest2Sync({
+ url: "/QC_OutCompCheckBill/AddBill",
+ data: {
+ sMainSub: sMainSub,
+ },
+ method: "POST",
+ });
+
+ if (!res) {
+ return;
+ }
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+ if (count == 1) {
+ uni.showModal({
+ title: "鎻愮ず",
+ content: res.data.Message + "銆傛槸鍚︾户缁柊澧烇紵",
+ success: (res) => {
+ if (res.confirm) {
+ console.log("鐢ㄦ埛鐐瑰嚮纭畾");
+ uni.redirectTo({
+ url: "/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2?operationType=1",
+ });
+ } else if (res.cancel) {
+ console.log("鐢ㄦ埛鐐瑰嚮鍙栨秷");
+ // setTimeout(() => {
+ // uni.navigateBack();
+ // }, 50)
+ }
+ },
+ });
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${err}`,
+ });
+ }
+ },
+ addNew() {
+ uni.redirectTo({
+ url: "/pages/ZLGL/shoujianjianyan/firstCheckBillList?operationType=1",
+ });
+ },
+ goBack() {
+ uni.navigateBack();
+ },
+ async RoadBillMain() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_FirstPieceCheckBill/QC_FirstPieceCheckBill_Edit",
+ data: {
+ sWhere: ` and hmainid=${this.hform.HInterID}`,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+
+ if (count == 1) {
+ console.log("RoadBillMain: : ", data);
+ Object.assign(this.hform, {
+ HInterID: data[0].hmainid,
+ HBillNo: data[0].鍗曟嵁鍙�,
+ HDate: dayjs(data[0].鏃ユ湡).format("YYYY-MM-DD"),
+ HSourceID: data[0].HSourceID,
+ HSourceName: data[0].鐢熶骇璧勬簮鍚嶇О,
+ HICMOBillNo: data[0].浠诲姟鍗曞彿,
+ HICMOQty: data[0].浠诲姟鍗曟暟閲�,
+ HICMOInterID: data[0].HICMOInterID,
+ HICMOEntryID: data[0].HICMOEntryID || 1,
+ HMaterID: data[0].HMaterID,
+ HMaterName: data[0].鐗╂枡鍚嶇О,
+ HMaterNumber: data[0].鐗╂枡浠g爜,
+ HProcID: data[0].HProcID,
+ HProcName: data[0].HProcName,
+ HProcExchQty: data[0].HProcExchQty || 0,
+ HProcExchBillNo: data[0].HProcExchBillNo,
+ HProcExchInterID: data[0].HProcExchInterID,
+ HProcExchEntryID: data[0].HProcExchEntryID || 0,
+ HFirstCheckEmp: data[0].HFirstCheckEmp,
+ HFirstCheckEmpName: data[0].璐ㄦ鍛樺悕绉�,
+ HQCSchemeID: data[0].妫�楠屾柟妗圛D,
+ HQCSchemeName: data[0].妫�楠屾柟妗堝悕绉�,
+ HRemark: data[0].琛ㄥご澶囨敞,
+ HMaker: data[0].鍒跺崟浜�,
+ HMakeDate: data[0].鍒跺崟鏃ユ湡,
+ HChecker: data[0].瀹℃牳浜�,
+ HCheckDate: data[0].瀹℃牳鏃ユ湡,
+ HCloseMan: data[0].鍏抽棴浜�,
+ HCloseDate: data[0].鍏抽棴鏃ユ湡,
+ HUpDateDate: data[0].淇敼鏃ユ湡,
+ HDeleteDate: data[0].浣滃簾鏃ユ湡,
+ HSampleSchemeID: data[0].HSampleSchemeID,
+ HSampleSchemeName: data[0].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[0].鏍锋湰閲�,
+ HSampleQty2: data[0].鏍锋湰閲�,
+ HSampleDamageQty: data[0].鏍锋湰鐮村潖鏁�,
+ HSamplingType: data[0].鎶芥牱绫诲瀷,
+ HAcceptQty: data[0].鍏佽鏁�,
+ HInspectionLevel: data[0].妫�楠屾按骞�,
+ HRejectQty: data[0].鎷掔粷鏁�,
+ HStrictness: data[0].涓ユ牸搴�,
+ HSampleUnRightQty: data[0].鏍锋湰涓嶅悎鏍兼暟 || 0,
+ HSampleUnRightQty2: data[0].鏍锋湰涓嶅悎鏍兼暟,
+ HAQL: data[0].AQL,
+ HUnitID: data[0].HUnitID,
+ HUnit: data[0].鍗曚綅,
+ HInspectValB: data[0].妫�娴嬪�煎熀纭�璧勬枡,
+ HInspectVal: data[0].妫�娴嬪��,
+ HTargetValB: data[0].鐩爣鍊煎熀纭�璧勬枡,
+ HTargetVal: data[0].鐩爣鍊�,
+ HUpLimit: data[0].涓婇檺鍊�,
+ HDownLimit: data[0].涓嬮檺鍊�,
+ HUpOffSet: data[0].涓婂亸宸�,
+ HDownOffSet: data[0].涓嬪亸宸�,
+ HEntryID: data[0].hsubid,
+ HQCCheckItemName: data[0].妫�楠岄」鐩悕绉�,
+ HQCCheckItemID: data[0].HQCCheckItemID,
+ HShiftsID: data[0].HShiftsID,
+ HShiftsName: data[0].鐝鍚嶇О,
+ HErrTreatment: data[0].寮傚父涓存椂澶勭悊鏂规,
+ HBatchNo: data[0].鎵瑰彿,
+ HLastResult: data[0].鍒ゅ畾缁撹 == "鍚堟牸" ? true : false,
+ HTakeSampleCheckBillID: data[0].HTakeSampleCheckBillID,
+ HTakeSampleCheckBillNo: data[0].HTakeSampleCheckBillNo,
+ HAnalysisMethod: function() {
+ if (data[0].HAnalysisMethod == 1) {
+ return '瀹氭�ф楠�'
+ } else if (data[0].HAnalysisMethod == 2) {
+ return '瀹氶噺妫�楠�'
+ } else {
+ return '鍏朵粬妫�楠�'
+ }
+ }(),
+
+
+
+ });
+
+ for (let i = 0; i < data.length; i++) {
+ this.addCheckItem({
+ HQCCheckItemID: data[i].HQCCheckItemID,
+ HQCCheckItemNumber: data[i].妫�楠岄」鐩唬鐮�,
+ HQCCheckItemName: data[i].妫�楠岄」鐩悕绉�,
+ HInspectInstruMentID: data[i].HInspectInstruMentID,
+ HInspectInstruMentNumber: data[i].妫�楠屼华鍣ㄤ唬鐮�,
+ HInspectInstruMentName: data[i].妫�楠屼华鍣ㄥ悕绉�,
+ HQCStd: data[i].妫�楠屾爣鍑�,
+ HUnit: data[i].鍗曚綅鍚嶇О,
+ HQCNote: data[i].妫�楠岃褰�,
+ HResult: data[i].缁撹 == "鍚堟牸" ? 1 : 0,
+ HMax: data[i].鏈�澶у��,
+ HMin: data[i].鏈�灏忓��,
+ HAvg: data[i].骞冲潎鍊�,
+ HRemark: data[i].琛ㄤ綋澶囨敞,
+ HAnalysisMethod: data[i].鍒嗘瀽鏂规硶 == "瀹氭�у垎鏋�" ?
+ 1 : data[i].鍒嗘瀽鏂规硶 == "瀹氶噺鍒嗘瀽" ?
+ 2 : 3,
+ HKeyInspect: data[i].閲嶇偣妫�鏌� == "鍚�" ? false : true,
+ HSampleSchemeID: data[i].HSampleSchemeID,
+ HUnitID: data[i].HUnitID,
+ HInspectVal: data[i].妫�娴嬪��,
+ HTargetVal: data[i].鐩爣鍊�,
+ HUpLimit: data[i].涓婇檺鍊�,
+ HDownLimit: data[i].涓嬮檺鍊�,
+ HUpOffSet: data[i].涓婂亸宸�,
+ HDownOffSet: data[i].涓嬪亸宸�,
+ HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+ HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[i].鏍锋湰閲�,
+ HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+ HAcceptQty: data[i].鍏佽鏁�,
+ HInspectionLevel: 0,
+ HRejectQty: data[i].鎷掔粷鏁�,
+ HStrictness: 0,
+ HSampleUnRightQty: data[i].鏍锋湰涓嶅悎鏍兼暟,
+ HAQL: data[i].AQL,
+ HSamplingType: 0,
+ HSamplingType: data[i].鎶芥牱绫诲瀷,
+ HStrictness: data[i].涓ユ牸搴�,
+ HInspectResultToSee: data[i].妫�楠岀粨鏋�
+ });
+
+ }
+
+
+ this.hasSourceBill = true
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍔犺浇鍗曟嵁澶辫触: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍔犺浇鍗曟嵁澶辫触: ${err}`,
+ });
+ }
+ },
+ },
+ async onLoad(e) {
+ this.operationType = e.operationType || 1;
+ this.hform.HInterID = e.linterid || 0;
+ if (this.operationType == 1) {
+ await this.getMaxBillNo();
+ } else if (this.operationType == 2) {
+
+ } else if (this.operationType == 3) {
+ await this.RoadBillMain();
+ }
+
+ await this.InitHSource();
+ await this.InitHWorkShift();
+ await this.InitHEmp();
+ },
+ };
+</script>
+
+<style lang="scss" scoped>
+ input {
+ width: inherit;
+ font-size: 26rpx;
+ }
+
+ .uni-input {
+ padding: 0;
+ }
+
+ .bill-main-tabs,
+ .bill-sub-tabs {
+ box-sizing: border-box;
+ width: 730rpx;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ gap: 20rpx;
+ flex-shrink: 0;
+ overflow-x: auto;
+ border-bottom: 1px solid #ddd;
+ padding: 20rpx 10rpx;
+ white-space: nowrap;
+
+ view {
+ width: auto;
+ font-size: 26rpx;
+ color: #555;
+ text-align: center;
+ padding: 16rpx 0;
+ }
+
+ .selected {
+ color: #3a78ff;
+ font-weight: bold;
+ border-bottom: 3px solid #3a78ff;
+ }
+ }
+
+ .bill-main-content,
+ .bill-sub-content {
+ box-sizing: border-box;
+ padding: 0 30rpx 0 30rpx;
+ display: flex;
+ flex-direction: column;
+
+ .form-item {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ font-size: 26rpx;
+ padding: 6rpx 0;
+
+ .left {
+ width: 208rpx;
+
+ text {
+ color: red;
+ font-weight: bold;
+ }
+ }
+
+ .right {
+ // width: 450rpx;
+ padding: 8rpx 20rpx;
+ font-size: 26rpx;
+ flex: 1;
+ border-radius: 22rpx;
+ border: 1px solid #acacac;
+
+ .uni-combox {
+ padding: 0;
+ height: auto;
+
+ .uni-input-placeholder,
+ .uni-input-input {
+ font-size: 26rpx;
+ }
+ }
+
+ .uni-combox::v-deep input {
+ height: inherit;
+ font-size: 26rpx;
+ }
+ }
+
+ .disabled {
+ border: 1px solid #e4e4e4;
+ background-color: #e4e4e4;
+ }
+
+ .none-border {
+ border: none;
+ }
+ }
+ }
+
+ .bottom-btn {
+ box-sizing: border-box;
+ width: 100%;
+ height: 120rpx;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ background-color: #fff;
+ box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+ padding: 30rpx 40rpx 40rpx 40rpx;
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 28rpx;
+ }
+
+ .btn-a {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #acacac;
+ color: #fff;
+ // position: absolute;
+ // right: 120rpx;
+ }
+
+ .btn-d {
+ background-color: #ff8901;
+ color: #fff;
+ }
+ }
+
+ .buttons {
+ box-sizing: border-box;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ padding: 10rpx 0;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 26rpx;
+ }
+
+ .btn-a {
+ background-color: #acacac;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+ }
+
+ .list {
+ width: 100%;
+
+ .card-detail {
+ width: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-items: center;
+ line-height: 120%;
+ gap: 10rpx 0;
+
+ input {
+ font-size: 26rpx;
+ }
+
+ .detail {
+ // width: 50%;
+ box-sizing: border-box;
+ font-size: 26rpx;
+ color: #555;
+ padding-right: 20rpx;
+
+ text {
+ color: #999;
+ font-size: 26rpx;
+ }
+ }
+
+ .editable {
+ width: 50%;
+ display: inline-flex;
+ flex-direction: row;
+ align-items: center;
+
+ text {
+ flex-shrink: 0;
+ }
+
+ .editable-input {
+ border: 1px solid #acacac;
+ border-radius: 5rpx;
+ padding: 0 12rpx;
+ }
+ }
+ }
+ }
+
+ .icon-wrapper {
+ background-color: #3a78ff;
+ border-radius: 100%;
+ width: 40rpx;
+ height: 40rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-shrink: 0;
+
+ .uni-icons {
+ color: #fff !important;
+ }
+ }
+
+ .icon-wrapper-big {
+ background-color: #3a78ff;
+ border-radius: 100%;
+ width: 50rpx;
+ height: 50rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-shrink: 0;
+ margin-left: 20rpx;
+
+ .uni-icons {
+ color: #fff !important;
+ }
+ }
+
+ .more {
+ color: #888;
+ font-size: 22rpx;
+ display: flex;
+ border-top: 1px solid #eee;
+ padding-top: 10rpx;
+
+ .part {
+ width: 100%;
+ text-align: center;
+ }
+ }
+
+ .pass-background {
+ background-color: #cee3f2;
+ border: none;
+ }
+
+ .unpass-background {
+ background-color: #f0d6e3;
+ border: none;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue b/pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue
new file mode 100644
index 0000000..423f253
--- /dev/null
+++ b/pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue
@@ -0,0 +1,2262 @@
+<template>
+ <view>
+ <!-- 涓昏〃鍖哄煙 -->
+ <view class="bill-main-area">
+ <!-- 涓昏〃椤电 -->
+ <view class="bill-main-tabs">
+ <view :class="mainTabSelected == 1 ? 'selected' : ''" @tap="mainTabSelected = 1">鍩烘湰淇℃伅</view>
+ <view :class="mainTabSelected == 2 ? 'selected' : ''" @tap="mainTabSelected = 2">鍏朵粬淇℃伅</view>
+ <view :class="mainTabSelected == 3 ? 'selected' : ''" @tap="mainTabSelected = 3">鍒跺崟淇℃伅</view>
+ </view>
+ <!-- 涓昏〃鍐呭 -->
+ <view class="bill-main-contents">
+ <!-- 鍩烘湰淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 1">
+ <view class="form-item">
+ <view class="left">鍗曟嵁鍙�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HBillNo" disabled />
+ </view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">鏃ユ湡</view>
+ <view class="right">
+ <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HDate">
+ <view>{{ hform.HDate }}</view>
+ </uni-datetime-picker>
+ </view>
+ </view>
+<view class="form-item">
+ <view class="left">婧愬崟鍗曞彿</view>
+ <view class="right" :class="!hasSourceBill?'':'disabled'">
+ <input type="text" :disabled="hasSourceBill" placeholder="璇疯緭鍏ユ垨鎵弿婧愬崟鍙�"
+ v-model="hform.HSourceBillNo" @confirm="getSourceBillInfo(hform.HSourceBillNo)" />
+ </view>
+ <view class="icon-wrapper-big">
+ <uni-icons class="right-icon" type="scan" style="
+ background-color: #3a78ff;
+ padding: 6rpx;
+ color: #fff;
+ border-radius: 100%;
+ " size="20" @click="toScanCode"></uni-icons>
+ </view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">浠诲姟鍗曞彿</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HICMOBillNo" disabled />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 5)"></uni-icons></view>
+ </view>
+ <view class="form-item">
+ <view class="left">娴佽浆鍗″彿</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HProcExchBillNo" disabled />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 6)"></uni-icons></view>
+ </view>
+ <view class="form-item">
+ <view class="left">浜у搧浠g爜</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HMaterNumber" />
+ </view>
+ <view class="icon-wrapper-big">
+ <uni-icons type="search" size="20" @click="showSelectorModule(hform, 4)"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浜у搧鍚嶇О</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HMaterName" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">妫�楠屽憳</view>
+ <view class="right">
+ <uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
+ :v-model="hform.HFirstCheckEmpName"
+ @update:modelValue="HFirstCheckEmpChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">妫�楠屾柟妗�</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="this.hform.HQCSchemeName" />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 7)"></uni-icons></view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">鍒ゆ柇缁撹</view>
+ <view class="right none-border">
+ <radio-group @changer="checkResultChange">
+ <label>
+ <radio value="0" :checked="hform.HLastResult" /><text></text>
+ 鍚堟牸
+ </label>
+ <view style="width: 20rpx; display: inline-block"></view>
+ <label>
+ <radio value="1" :checked="!hform.HLastResult" /><text></text>
+ 涓嶅悎鏍�
+ </label>
+ </radio-group>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">宸ュ簭</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HProcName" />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 8)"></uni-icons></view>
+ </view>
+
+ </view>
+ <!-- 鍏朵粬淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 2">
+ <view class="form-item">
+ <view class="left">婧愬崟绫诲瀷</view>
+ <view class="right" style="position: relative" :class="!hasSourceBill?'':'disabled'">
+ <picker mode="selector" :range="HSourceBillTypeNameList" :disabled="hasSourceBill"
+ @change="HSourceBillTypeNameChange">
+ <input type="text" placeholder="璇烽�夋嫨婧愬崟绫诲瀷" v-model="HSourceBillType" />
+ <view class="picker-overlay"></view>
+ </picker>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鐢熶骇璧勬簮</view>
+ <view class="right">
+ <uni-combox :candidates="GySourceNameList" placeholder="璇烽�夋嫨鐢熶骇璧勬簮" v-model="hform.HSourceName"
+ @update:modelValue="HSourceChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鐢熶骇鐝</view>
+ <view class="right">
+ <uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+ v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+ </view>
+ </view>
+ <!-- <view class="form-item">
+ <view class="left">鐢熶骇鐝</view>
+ <view class="right">
+ <uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+ v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+ </view>
+ </view> -->
+ <view class="form-item">
+ <view class="left">寮傚父涓存椂澶勭悊鏂规</view>
+ <view class="right">
+ <input type="text" v-model="hform.HErrTreatment" value="" />
+ </view>
+ </view>
+ <!-- <view class="form-item">
+ <view class="left">浠诲姟鍗曟暟閲�</view>
+ <view class="right">
+ <input type="number" v-model="hform.HICMOQty" />
+ </view>
+ </view> -->
+ <view class="form-item">
+ <view class="left">娴佽浆鍗℃暟閲�</view>
+ <view class="right">
+ <input type="number" v-model="hform.HProcExchQty" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鎵瑰彿</view>
+ <view class="right">
+ <input type="text" v-model="hform.HBatchNo" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">澶囨敞</view>
+ <view class="right">
+ <input type="text" v-model="hform.HRemark" value="" />
+ </view>
+ </view>
+ </view>
+ <!-- 鍒跺崟淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 3">
+ <view class="form-item">
+ <view class="left">鍒跺崟浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HMaker" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍒跺崟鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HMakeDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">瀹℃牳浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HChecker" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">瀹℃牳鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCheckDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍏抽棴浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCloseMan" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍏抽棴鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCloseDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">淇敼浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HUpDater" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">淇敼鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HUpDateDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浣滃簾浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HDeleteMan" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浣滃簾鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HDeleteDate" disabled />
+ </view>
+ </view>
+ </view>
+
+ </view>
+ </view>
+ <!-- 瀛愯〃鍖哄煙 -->
+ <view class="bill-sub-area">
+ <!-- 瀛愯〃椤电 -->
+ <view class="bill-sub-tabs">
+ <view v-for="subTab in subTabs" :key="subTab.id" :class="subTab.id == subTabSelected ? 'selected' : ''"
+ @tap="subTabSelected = subTab.id">{{ subTab.name }}</view>
+ </view>
+ <!-- 瀛愯〃鍐呭 -->
+ <view class="bill-main-contents">
+ <!-- 妫�楠岄」鐩� 鍛堢幇 -->
+ <view v-if="subTabSelected == 1">
+ <!-- 闇�閫氳繃鏄惧紡璋冪敤蹇界暐$event鍙傛暟 -->
+ <view class="buttons" @tap="addCheckItem()">
+ <uni-icons type="plus" style="margin-right: 10rpx" size="22"></uni-icons>鏂板
+ </view>
+ <view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+ <view class="list" v-else>
+ <uni-card v-for="checkItem in checkItems" :key="checkItem.num">
+ <view class="card-detail">
+ <view class="detail"> <text>搴忓彿锛�</text>{{ checkItem.num }} </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>妫�楠岄」鐩細</text></view>
+ <input type="text" :value="checkItem.HQCCheckItemName" disabled="" />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(checkItem, 2)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>妫�楠屼华鍣細</text></view>
+ <input type="text" :value="checkItem.HInspectInstruMentName" disabled="" />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(checkItem, 3)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <view><text>缁撹锛�</text></view>
+ <view style="width: 4em">
+ {{ checkItem.HResult == 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}
+ </view>
+ <view>
+ <switch style="width: 2em; transform: scale(0.7)"
+ :checked="checkItem.HResult == 1"
+ @change="HResultChange(checkItem.num, $event)" />
+ </view>
+ </view>
+ <view class="detail editable" style="position: relative">
+ <view style="flex-shrink: 0"><text>鍒嗘瀽鏂规硶锛�</text></view>
+ <picker :range="arrayAnalysisMethod" range-key="name"
+ @change="HAnalysisMethodChange(checkItem.num, $event)">
+ <input disabled :value="getAnalysisMethodDisplay(checkItem.HAnalysisMethod)"
+ placeholder="璇烽�夋嫨" />
+ <view class="picker-overlay"></view>
+ </picker>
+ </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>閲嶇偣妫�鏌ワ細</text></view>
+ <view>
+ <switch type="checkbox" style="transform: scale(0.7)"
+ :checked="checkItem.HKeyInspect"
+ @change="HKeyInspectChange(checkItem, $event)" />
+ </view>
+ </view>
+ <view class="detail" v-if="checkItem.HQCStd">
+ <text>妫�楠屾爣鍑嗭細</text>{{ checkItem.HQCStd }}
+ </view>
+ <view class="detail" v-if="checkItem.HUnit">
+ <text>鍗曚綅锛�</text>{{ checkItem.HUnit }}
+ </view>
+ <!-- 鍙湁瀹氶噺鍒嗘瀽鎵嶅惎鐢ㄦ楠屽�� -->
+ <view class="detail editable" v-show="checkItem.HAnalysisMethod == 2">
+ <text>妫�楠屽�硷細</text>
+ <input type="text" class="editable-input" @blur="calcHResult(checkItem)" v-model="checkItem.HInspectValQ" />
+
+ </view>
+ <view class="detail" v-if="checkItem.HQCNote">
+ <text>妫�楠岃褰曪細</text>{{ checkItem.HQCNote }}
+ </view>
+ <view class="detail" v-if="checkItem.HTargetVal">
+ <text>鐩爣鍊硷細</text>{{ checkItem.HTargetVal }}
+ </view>
+ <view class="detail" v-if="checkItem.HUpLimit">
+ <text>涓婇檺鍊硷細</text>{{ checkItem.HUpLimit }}
+ </view>
+ <view class="detail" v-if="checkItem.HDownLimit">
+ <text>涓嬮檺鍊硷細</text>{{ checkItem.HDownLimit }}
+ </view>
+ <view class="detail" v-if="checkItem.HMax">
+ <text>鏈�澶у�硷細</text>{{ checkItem.HMax }}
+ </view>
+ <view class="detail" v-if="checkItem.HMin">
+ <text>鏈�灏忓�硷細</text>{{ checkItem.HMin }}
+ </view>
+ <view class="detail" v-if="checkItem.HAvg">
+ <text>骞冲潎鍊硷細</text>{{ checkItem.HAvg }}
+ </view>
+ </view>
+ <view style="height: 20rpx"></view>
+ <view class="more">
+ <view class="part" style="color: #da0000" @tap.stop="removeCheckItem(checkItem)">
+ <uni-icons type="trash" style="color: #da0000; margin-right: 10rpx"
+ size="18"></uni-icons>鍒犻櫎
+ </view>
+ </view>
+ </uni-card>
+ </view>
+ </view>
+ <!-- 鎶芥牱妫�楠� 鍛堢幇 -->
+ <view v-if="subTabSelected == 2">
+ <view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+ <view class="list" v-else>
+ <uni-card v-for="SamplingItem in checkItems" :key="SamplingItem.num">
+ <view class="card-detail">
+ <view class="detail"> <text>搴忓彿锛�</text>{{ SamplingItem.num }} </view>
+ <view class="detail editable">
+ <text>妫�楠岄」鐩細</text>{{ SamplingItem.HQCCheckItemName }}
+ </view>
+ <view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+ <view class="detail editable" style="width: 100%">
+ <view style="flex-shrink: 0"><text>鎶芥牱鏂规锛�</text></view>
+ <input type="text" :value="SamplingItem.HSampleSchemeName" disabled />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(SamplingItem, 1)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <text>鎶芥牱绫诲瀷锛�</text>{{ SamplingItem.HSamplingType }}
+ </view>
+ <view class="detail editable">
+ <text>妫�楠屾按骞筹細</text>{{ SamplingItem.HInspectionLevel }}
+ </view>
+ <view class="detail editable">
+ <text>涓ユ牸搴︼細</text>{{ SamplingItem.HStrictness }}
+ </view>
+ <view class="detail editable">
+ <text>AQL锛�</text>{{ SamplingItem.HAQL }}
+ </view>
+ <view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+ <view class="detail editable">
+ <text>鏍锋湰閲忥細</text>{{ SamplingItem.HSampleQty }}
+ </view>
+ <view class="detail editable">
+ <text>鍏佽鏁帮細</text>{{ SamplingItem.HAcceptQty }}
+ </view>
+ <view class="detail editable">
+ <text>鎷掔粷鏁帮細</text>{{ SamplingItem.HRejectQty }}
+ </view>
+ <view class="detail editable">
+ <text>鏍锋湰涓嶅悎鏍兼暟锛�</text>{{ SamplingItem.HSampleUnRightQty }}
+ </view>
+ <view class="detail editable">
+ <text>鏍锋湰鐮村潖鏁帮細</text>
+ <view class="editable-input">
+ <input type="number" v-model="SamplingItem.HSampleDamageQty" />
+ </view>
+ </view>
+ <view class="detail editable">
+ <text>妫�楠岀粨鏋滐細</text>
+ <view style="border-radius: 15%; padding: 0 10rpx" :class="
+ SamplingItem.HInspectResultToSee == '鍚堟牸'
+ ? 'pass-background'
+ : SamplingItem.HInspectResultToSee == '涓嶅悎鏍�'
+ ? 'unpass-background'
+ : ''
+ ">
+ {{ SamplingItem.HInspectResultToSee }}
+ </view>
+ </view>
+ </view>
+ </uni-card>
+ </view>
+ </view>
+ <!-- 妫�娴嬪�� 鍛堢幇 -->
+ <view v-else v-for="item in InspectModules" :key="item.id">
+ <view v-if="subTabSelected == item.id">
+ <InspectValueTemplateVue ref="InspectValueModules" :bind-key="item.id"
+ @syncCheckData="InspectValueComplete" :bind-data="{
+ data: checkItems[item.checkItemId],
+ list: InspectValues[item.checkItemId],
+ mode: 1 // 棣栨妫�娴嬪�兼ā鍧�
+ }">
+ </InspectValueTemplateVue>
+ </view>
+ </view>
+ </view>
+ </view>
+ <view style="height: 120rpx"></view>
+ <view class="bottom-btn">
+ <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+ <view style="flex: 1"></view>
+ <button class="btn-a" size="mini" @tap="addNew">鏂板</button>
+ <button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+ </view>
+ <SampleSchemePopupVue v-if="enablePopupModule == PopupModuleNameList[1]" ref="listPopup"
+ @update="SampleSchemeComplete" :bindKey="currentChechItemIDCache">
+ </SampleSchemePopupVue>
+ <CheckItemPopupVue v-if="enablePopupModule == PopupModuleNameList[2]" ref="listPopup"
+ @update="CheckItemComplete" :bindKey="currentChechItemIDCache">
+ </CheckItemPopupVue>
+ <InspectMentPopupVue v-if="enablePopupModule == PopupModuleNameList[3]" ref="listPopup"
+ @update="InspectMentComplete" :bindKey="currentChechItemIDCache">
+ </InspectMentPopupVue>
+ <MaterialPopupVue v-if="enablePopupModule == PopupModuleNameList[4]" ref="listPopup" @update="MaterComplete"
+ :bindKey="0">
+ </MaterialPopupVue>
+ <ICMOBillPopupVue v-if="enablePopupModule == PopupModuleNameList[5]" ref="listPopup" @update="ICMOBillComplete"
+ :bindKey="0"></ICMOBillPopupVue>
+ <ProcExchBillPopupVue v-if="enablePopupModule == PopupModuleNameList[6]" ref="listPopup"
+ @update="ProcExchBillComplete" :bindKey="0"></ProcExchBillPopupVue>
+ <ProcessPopupVue v-if="enablePopupModule == PopupModuleNameList[8]" ref="listPopup" @update="HProcComplete"
+ :bindKey="0"></ProcessPopupVue>
+ <CheckProjectPopupVue v-if="enablePopupModule == PopupModuleNameList[7]" ref="listPopup"
+ @update="HQCSchemeComplete" :bindKey="0"></CheckProjectPopupVue>
+ </view>
+</template>
+
+<script>
+ import dayjs from "dayjs";
+ import {
+ CommonUtils
+ } from "../../../utils/common";
+ import InspectValueTemplateVue from "@/components/ZLGL/InspectValueTemplate.vue";
+ import SampleSchemePopupVue from "@/components/ZLGL/SampleSchemePopup.vue";
+ import CheckItemPopupVue from "@/components/ZLGL/CheckItemPopup.vue";
+ import InspectMentPopupVue from "../../../components/ZLGL/InspectMentPopup.vue";
+ import MaterialPopupVue from "../../../components/ZLGL/MaterialPopup.vue";
+ import ICMOBillPopupVue from "../../../components/ZLGL/ICMOBillPopup.vue";
+ import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue";
+ import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue";
+ import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue";
+ import {
+ getUserInfo
+ } from "../../../utils/auth";
+ import {
+ MpaasScan
+ } from "../../../utils/mpaasScan";
+ export default {
+ components: {
+ InspectValueTemplateVue,
+ SampleSchemePopupVue,
+ CheckItemPopupVue,
+ InspectMentPopupVue,
+ MaterialPopupVue,
+ ICMOBillPopupVue,
+ ProcExchBillPopupVue,
+ ProcessPopupVue,
+ CheckProjectPopupVue,
+ },
+ computed: {
+ judgeConclusion: {
+ get() {
+ return true;
+ },
+ },
+ },
+ data() {
+ return {
+ operationType: 1,
+
+ mainTabSelected: 1,
+ subTabSelected: 1,
+
+ // 婧愬崟鐘舵�佹帶鍒�
+ hasSourceBill: false,
+
+ // 鎺у埗褰撳墠鏄剧ず鐨勫脊绐楁ā鍧�
+ enablePopupModule: "",
+ PopupModuleNameList: [
+ "",
+ "SampleScheme",
+ "CheckItem",
+ "InspectMent",
+ "Material",
+ "ICMOBill",
+ "ProcExchBill",
+ "QCScheme",
+ "Process",
+ ],
+ // 褰撳墠鎿嶄綔鐨勬楠屽崟ID缂撳瓨
+ currentChechItemIDCache: -1,
+
+ // uni-combox 閫夋嫨鍣ㄤ娇鐢�
+ // 鐢熶骇璧勬簮
+ GySourceList: [],
+ GySourceNameList: [],
+ // 鐝
+ GyWorkShiftList: [],
+ GyWorkShiftNameList: [],
+ // 妫�楠屽憳
+ GyFirstCheckEmpList: [],
+ GyFirstCheckEmpNameList: [],
+
+ // 妫�楠屾柟妗�
+ arrayAnalysisMethod: [{
+ value: 1,
+ name: "瀹氭�у垎鏋�",
+ },
+ {
+ value: 2,
+ name: "瀹氶噺鍒嗘瀽",
+ },
+ {
+ value: 3,
+ name: "鍏朵粬鍒嗘瀽",
+ },
+ ],
+ ArrayAnalysisMethodValue: [1, 2, 3],
+ // 瀛愯〃 椤电淇℃伅
+ subTabs: {
+ 1: {
+ id: "1",
+ name: "妫�楠岄」鐩�",
+ },
+ 2: {
+ id: "2",
+ name: "鎶芥牱妫�楠�",
+ },
+ },
+
+ // 婧愬崟绫诲瀷
+ HSourceBillType: "宸ュ簭杩涚珯鎺ユ敹鍗�",
+ HSourceBillTypeValueList: ["3790", "3793", "3710", "3772"],
+ HSourceBillTypeNameList: [
+ "宸ュ簭杩涚珯鎺ユ敹鍗�",
+ "宸ュ簭濮斿鎺ユ敹鍗�",
+ "鐢熶骇璁㈠崟",
+ "宸ュ簭娴佽浆鍗�",
+ ],
+ // 涓昏〃灞炴��
+ hform: {
+ HSourceBillType: "3790",
+ HSourceBillNo: "",
+ HBillNo: "",
+ HInterID: "0",
+ HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+ HSourceName: "",
+ HSourceID: "0",
+ HShiftsName: "",
+ HShiftsID: "0",
+ HICMOBillNo: "",
+ HICMOInterID: "0",
+ HICMOEntryID: "1",
+ HICMOQty: "0",
+ HProcExchBillNo: "",
+ HProcExchInterID: "0",
+ HProcExchEntryID: "0",
+ HProcExchQty: "0",
+ HMaterNumber: "",
+ HMaterID: "0",
+ HMaterName: "",
+ HFirstCheckEmpName: "",
+ HFirstCheckEmp: 0,
+ HQCSchemeName: "",
+ HQCSchemeID: "0",
+ HBatchNo: "",
+ HLastResult: true, // 榛樿鍚堟牸
+ HProcName: "",
+ HProcID: "0",
+ HTakeSampleCheckBillNo: "", // 鍙栨牱鍗�
+ HTakeSampleCheckBillID: "0",
+ HRemark: "",
+ HErrTreatment: "", // 寮傚父涓存椂澶勭悊鏂规
+ HMaker: getUserInfo()["Czymc"] || "",
+ HChecker: "",
+ HCloseMan: "",
+ HMakeDate: dayjs(new Date()).format("YYYY-MM-DDTHH:mm:ss"),
+ HCheckDate: "",
+ HCloseDate: "",
+ HUpDater: "",
+ HDeleteMan: "",
+ HUpDateDate: "",
+ HDeleteDate: "",
+ HResult: 1,
+ HAnalysisMethod: "",
+
+ HResDec: "",
+ HStatus: 1,
+
+ HMainSourceBillType: "",
+ HMainSourceInterID: "0",
+ HMainSourceEntryID: "1",
+ HMainSourceBillNo: "",
+ },
+ // 妫�楠岄」鐩拰鎶芥牱妫�楠� 鍊�
+ checkItems: {},
+ // 妫�娴嬪�兼ā鍧�
+ InspectModules: {},
+ // 妫�娴嬪��
+ InspectValues: {},
+ };
+ },
+ methods: {
+ // 妫�楠屽�� 璁$畻鏄惁鍚堟牸
+ calcHResult(item){
+ // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
+ console.log('item: ',item);
+ if(item.HSampleSchemeID) {
+ return
+ }
+
+ if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
+ this.checkItems[item.num].HResult = true
+ return
+ }
+
+ this.checkItems[item.num].HResult = false
+ },
+ // 婧愬崟绫诲瀷閫夋嫨
+ HSourceBillTypeNameChange(e) {
+ this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value];
+ this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value];
+ },
+ toScanCode() {
+ MpaasScan.scanCode((res) => {
+ if (res) {
+ this.getSourceBillInfo(HBarCode);
+ }
+ });
+ },
+ async getSourceBillInfo(HBarCode) {
+ console.log('HBarCode: ', HBarCode);
+ // 鏍规嵁鍗曟嵁绫诲瀷锛岃皟鐢ㄤ笉鍚岀殑涓嬫帹鍑芥暟
+ if (this.hform.HSourceBillType == 3790) {
+ // 宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛ㄩ妫�
+ await this.LoadingInformation_StationInBill(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ if (this.hform.HSourceBillType == 3793) {
+ // 宸ュ簭濮斿鎺ユ敹鍗曞垪琛ㄩ妫�
+ await this.LoadingInformation_StationEntrustOutBill(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ if (this.hform.HSourceBillType == 3710) {
+ // 鐢熶骇璁㈠崟鍒楄〃棣栨
+ await this.LoadingInformation_ICMO(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ if (this.hform.HSourceBillType == 3772) {
+ // 宸ュ簭娴佽浆鍗″垪琛ㄩ妫�
+ await this.LoadingInformation_ProcExchange(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ },
+ async GetCheckItemID() {
+ if (!this.hform.HMaterName && !this.hform.HProcName) {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Web/GetCheckItemID",
+ data: {
+ HName: this.hform.HMaterName,
+ HProName: this.hform.HProcName,
+ HSourceID: this.hform.HSourceID,
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].hmainid;
+
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${err}`,
+ });
+ }
+ }
+ },
+ async LoadingInformation_ProcExchange(HBarCode) {
+ // 宸ュ簭娴佽浆鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/CheckBill/get_ProcessExchangeBill_ByBillNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+ this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ this.hform.HProcExchInterID = data[0].HProcExchInterID;
+ this.hform.HProcExchEntryID = data[0].HProcExchEntryID || 0;
+ this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+ this.hform.HICMOInterID = data[0].HICMOInterID;
+ this.hform.HICMOQty = data[0].HICMOQty || 0;
+ this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+ this.hform.HSourceID = data[0].HSourceID || 0;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+ this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HMainSourceBillType = data[0].HBillType;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+ this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+ this.hform.HBatchNo = data[0].鎵瑰彿;
+
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ async LoadingInformation_ICMO(HBarCode) {
+ // 鐢熶骇璁㈠崟
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_FirstPieceCheckBill/get_ICMOBill_ByBillNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${Message}`,
+ });
+ return;
+ }
+ this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ this.hform.HProcExchInterID = data[0].HProcExchInterID;
+ this.hform.HProcExchEntryID = data[0].HProcExchEntryID;
+ this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+ this.hform.HICMOInterID = data[0].HICMOInterID;
+ this.hform.HICMOQty = data[0].HICMOQty;
+ this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+ this.hform.HSourceID = data[0].HSourceID;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+ this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HMainSourceBillType = data[0].HBillType;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+ this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${err}`,
+ });
+ }
+ },
+ async LoadingInformation_StationEntrustOutBill(HBarCode) {
+ // 宸ュ簭濮斿鎺ユ敹鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Cj_StationEntrustOutBill/list",
+ data: {
+ sWhere: ` and HBillNo = '${HBarCode}'`,
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+
+ HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ HProcExchInterID = data[0].HProcExchInterID;
+ HProcExchEntryID = data[0].HProcExchEntryID;
+ HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ HICMOBillNo = data[0].鐢熶骇璁㈠崟鍙�;
+ HICMOInterID = data[0].HICMOInterID;
+ HICMOQty = data[0].HICMOQty;
+ HSourceName = data[0].鐢熶骇璧勬簮;
+ HSourceID = data[0].HSourceID;
+ HMaterID = data[0].HMaterID;
+ HMaterName = data[0].浜у搧鍚嶇О;
+ HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ HMainSourceBillType = data[0].HBillType;
+ HMainSourceInterID = data[0].HInterID;
+ HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ async LoadingInformation_StationInBill(HBarCode) {
+ // 杩涚珯鎺ユ敹鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_FirstPieceCheckBill/get_StationInBill_ByHBillNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇杩涚珯鎺ユ敹鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+ this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ this.hform.HProcExchInterID = data[0].HProcExchInterID;
+ this.hform.HProcExchEntryID = data[0].HProcExchEntryID;
+ this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+ this.hform.HICMOInterID = data[0].HICMOInterID;
+ this.hform.HICMOQty = data[0].HICMOQty;
+ this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+ this.hform.HSourceID = data[0].HSourceID;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+ this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HMainSourceBillType = data[0].HBillType;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+ this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+
+ for (let i = 0; i < data.length; i++) {
+ this.addCheckItem(data[i])
+ }
+
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇杩涚珯鎺ユ敹鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ // 妫�楠屽憳鍒濆鍖�
+ async InitHEmp() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_Employee/list",
+ data: {
+ sWhere: ` and 缁勭粐鍚嶇О = '${uni.getStorageSync(
+ "Organization"
+ )}' and 绂佺敤鏍囪 = ''and 瀹℃牳浜� !='' order by 閮ㄩ棬浠g爜`,
+ user: getUserInfo()["Czymc"],
+ Organization: uni.getStorageSync("Organization"),
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ console.log("data: ", data);
+ this.GyFirstCheckEmpList = data;
+ this.GyFirstCheckEmpNameList = Array.from(data).map((e) => e["鑱屽憳鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栨楠屽憳澶辫触: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栨楠屽憳澶辫触: ${err}`,
+ });
+ }
+ },
+ async HFirstCheckEmpChange(e) {
+ console.log("閫変腑妫�楠屽憳: ", e);
+ let index = this.GyFirstCheckEmpList.findIndex((elem) => elem["鑱屽憳鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HFirstCheckEmp = 0;
+ this.hform.HFirstCheckEmpName = "";
+ return;
+ }
+
+ this.hform.HFirstCheckEmp = this.GyFirstCheckEmpList[index]["HItemID"];
+ this.hform.HFirstCheckEmpName = this.GyFirstCheckEmpList[index]["鑱屽憳鍚嶇О"];
+ },
+ // 鐢熶骇鐝鍒濆鍖�
+ async InitHWorkShift() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_ShiftsController/Get_Gy_WorkShiftList",
+ data: {
+ sWhere: ` and 绂佺敤鏍囪 = '' and ISNULL(瀹℃牳浜�,'') != '' and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync(
+ "Organization"
+ )}'`,
+ HMaker: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ console.log("data: ", data);
+ this.GyWorkShiftList = data;
+ this.GyWorkShiftNameList = Array.from(data).map((e) => e["鐝鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫彮娆″け璐�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫彮娆″け璐�: ${err}`,
+ });
+ }
+ },
+ async HWorkShiftChange(e) {
+ console.log("閫変腑鐝: ", e);
+ let index = this.GyWorkShiftList.findIndex((elem) => elem["鐝鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HWorkShiftID = 0;
+ this.hform.HWorkShiftName = "";
+ return;
+ }
+
+ this.hform.HWorkShiftID = this.GySourceList[index]["HInterID"];
+ this.hform.HWorkShiftName = this.GySourceList[index]["鐝鍚嶇О"];
+ },
+ // 鐢熶骇璧勬簮鏇存柊
+ // 鐢熶骇璧勬簮鍒濆鍖�
+ async InitHSource() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_Source/list",
+ data: {
+ sWhere: `and 绂佺敤鏍囪 != 'Y' and ISNULL(瀹℃牳浜�,'') != '' and HUSEORGID = '100038'`,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ this.GySourceList = data;
+ this.GySourceNameList = Array.from(data).map((e) => e["鐢熶骇璧勬簮鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${err}`,
+ });
+ }
+ },
+ // 鐢熶骇璧勬簮鏇存柊
+ async HSourceChange(e) {
+ console.log("閫変腑鐢熶骇璧勬簮: ", e);
+ let index = this.GySourceList.findIndex((elem) => elem["鐢熶骇璧勬簮鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HSourceID = 0;
+ this.hform.HSourceName = "";
+ return;
+ }
+
+ this.hform.HSourceID = this.GySourceList[index]["HItemID"];
+ this.hform.HSourceName = this.GySourceList[index]["鐢熶骇璧勬簮鍚嶇О"];
+
+ this.get_ICMOBillStatusList();
+ this.get_QC_TakeSampleCheckBillList();
+ this.GetCheckItemID();
+ },
+ // 鏄剧ず寮圭獥
+ async showSelectorModule(item, index) {
+ this.currentChechItemIDCache = item.num || 0; // 0 琛ㄧず娌℃湁浠讳綍瀛愯〃琚�変腑
+ this.enablePopupModule = this.PopupModuleNameList[index];
+ console.log("this.$refs: ", this.$refs);
+ await this.$nextTick();
+ if (index == 7) {
+ // 妫�楠屾柟妗堥渶瑕侀澶栦紶閫掑伐搴忓拰鐗╂枡鍚嶇О涓や釜鍙傛暟
+ this.$refs.listPopup.setRequiredInfo(item.HMaterName, item.HProcName);
+ }
+
+ this.$refs.listPopup.showPopup();
+ },
+ getAnalysisMethodDisplay(val) {
+ console.log("AnalysisMethod: ", val);
+ if (val) {
+ return this.arrayAnalysisMethod.find((e) => e.value == val).name;
+ }
+ return "";
+ },
+ checkResultChange(event) {
+ console.log("event: ", event);
+ },
+ // 妫�楠岄」鐩柊澧炶
+ addCheckItem(resource) {
+ let ordinal = this.getObjLength(this.checkItems) + 1;
+ let checkItem = {
+ num: ordinal,
+ HInterID: this.hform.HInterID,
+ HQCCheckItemID: "",
+ HQCCheckItemNumber: "",
+ HQCCheckItemName: "",
+ HInspectInstruMentID: "0",
+ HInspectInstruMentNumber: "",
+ HInspectInstruMentName: "",
+ HQCStd: "",
+ HUnit: "",
+ HQCNote: "",
+ HAnalysisMethod: "",
+ HResult: 1,
+ HMax: "",
+ HMin: "",
+ HAvg: "",
+ HRemark: "",
+ HKeyInspect: false,
+ HStatus: 1,
+ HSampleSchemeID: "",
+ HUnitID: 0,
+ HInspectVal: "",
+ HTargetVal: "",
+ HUpLimit: "",
+ HDownLimit: "",
+ HUpOffSet: "",
+ HDownOffSet: "",
+ HSampleDamageQty: 0,
+ HSampleSchemeName: "",
+ HSampleQty: 0,
+ HAcceptQty: 0,
+ HInspectionLevel: "",
+ HRejectQty: 0,
+ HStrictness: "",
+ HSampleUnRightQty: 0,
+ HAQL: "",
+ HSamplingType: "",
+ HInspectResultToSee: "",
+ };
+ if (resource) {
+ // 閫氳繃涓昏〃妫�楠屾柟妗堝甫鍑虹殑妫�楠岄」鐩�
+ Object.assign(checkItem, resource);
+ }
+ this.$set(this.checkItems, ordinal, checkItem);
+ this.$nextTick(() => {
+ // 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+ this.setInspectValModule(this.checkItems[ordinal]);
+ });
+ },
+ // 妫�楠岄」鐩垹闄よ
+ removeCheckItem(item) {
+ uni.showModal({
+ title: "娓╅Θ鎻愮ず",
+ content: `纭瑕佸垹闄ょ${item.num}琛屽悧锛熷垹闄ゅ悗涓嶈兘鎭㈠`,
+ success: (res) => {
+ if (res.confirm) {
+ this.$delete(this.checkItems, item.num);
+ this.$delete(this.subTabs, `_${item.num}`);
+ this.$forceUpdate();
+ this.refreshCheckItemNum();
+ }
+ },
+ });
+ },
+ async refreshCheckItemNum() {
+ await this.$nextTick();
+ // 閲嶆帓搴忓彿
+ let num = 1;
+ let checkItemsCache = {};
+ for (let s in this.checkItems) {
+ checkItemsCache[num] = this.checkItems[s];
+ checkItemsCache[num].num = num;
+ num++;
+ }
+ this.checkItems = checkItemsCache;
+ },
+ getObjLength(obj) {
+ return Object.keys(obj).length;
+ },
+ // 缁撹淇敼
+ HResultChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HResult"] = e.detail.value ? 1 : 2;
+
+ this.HCheckLastResult();
+ },
+ // 姣忔妫�楠岄」鐩殑缁撹鏇存柊锛岄兘瑕佸垽鏂渶缁堢粨璁�
+ HCheckLastResult() {
+ let unPassNum = 0;
+ for (var key in this.checkItems) {
+ if (!(this.checkItems[key]["HResult"] == 1)) {
+ unPassNum++;
+ }
+ }
+
+ if (unPassNum > 0) {
+ this.hform.HLastResult = false;
+ return;
+ }
+ this.hform.HLastResult = true;
+ },
+ // 妫�楠屾柟妗堜慨鏀�
+ HAnalysisMethodChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HAnalysisMethod"] = this.arrayAnalysisMethod[e.detail.value][
+ "value"
+ ];
+
+ // 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+ this.setInspectValModule(this.checkItems[id]);
+ },
+ // 閲嶇偣妫�鏌ヤ慨鏀�
+ HKeyInspectChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HKeyInspect"] = e.detail.value;
+ },
+ // 妫�楠岄」鐩繑鍥�
+ async CheckItemComplete(e) {
+ console.log("CheckItemRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HQCCheckItemID: data["HItemID"],
+ HQCCheckItemNumber: data["浠g爜"],
+ HQCCheckItemName: data["鍚嶇О"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屾柟妗堣繑鍥�
+ async SampleSchemeComplete(e) {
+ console.log("SampleSchemeRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HSampleSchemeID: data["hmainid"],
+ HSampleSchemeNumber: data["鎶芥牱鏂规浠g爜"],
+ HSampleSchemeName: data["鎶芥牱鏂规鍚嶇О"],
+ HSampleQty: data["鏍锋湰閲�"] || 0,
+ HAcceptQty: data["鍏佽鏁�"] || 0,
+ HInspectionLevel: data["妫�楠屾按骞�"],
+ HRejectQty: data["鎷掔粷鏁�"] || 0,
+ HStrictness: data["涓ユ牸搴�"],
+ HSampleUnRightQty: data["鏍锋湰涓嶅悎鏍兼暟"] || 0,
+ HAQL: data["AQL"],
+ HSamplingType: data["鎶芥牱绫诲瀷"],
+ HInspectResultToSee: data["妫�楠岀粨鏋�"],
+ HUpLimit: data["涓婇檺鍊�"] || 0,
+ HDownLimit: data["涓嬮檺鍊�"] || 0,
+ HSampleDamageQty: data["鏍锋湰鐮村潖鏁�"] || 0,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ this.setInspectValModule(this.checkItems[key]);
+
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屼华鍣ㄨ繑鍥�
+ async InspectMentComplete(e) {
+ console.log("InspectInstruMentRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HInspectInstruMentID: data["HItemID"],
+ HInspectInstruMentNumber: data["妫�楠屼华鍣ㄤ唬鐮�"],
+ HInspectInstruMentName: data["妫�楠屼华鍣ㄥ悕绉�"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 浜у搧浠g爜杩斿洖
+ async MaterComplete(e) {
+ console.log("MaterRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HMaterNumber: data["鐗╂枡浠g爜"],
+ HMaterName: data["鐗╂枡鍚嶇О"],
+ HMaterID: data["HItemID"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ this.GetCheckItemID();
+ }
+ },
+ // 浠诲姟鍗曡繑鍥�
+ async ICMOBillComplete(e) {
+ console.log("ICMOBillRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HICMOInterID: data.hmainid,
+ HICMOEntryID: data.HEntryID || 1,
+ HICMOBillNo: data.鍗曟嵁鍙�,
+ HMaterNumber: data.浜у搧浠g爜,
+ HMaterName: data.浜у搧鍚嶇О,
+ HMaterID: data.HMaterID,
+ HICMOQty: data.鐢熶骇浠诲姟鍗曟暟閲�,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 娴佽浆鍗¤繑鍥�
+ async ProcExchBillComplete(e) {
+ console.log("ProcExchBillRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HProcExchInterID: data.hmainid,
+ HProcExchEntryID: data.hsubid,
+ HProcExchBillNo: data.鍗曟嵁鍙�,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屾柟妗�(涓昏〃)杩斿洖
+ async HQCSchemeComplete(e) {
+ console.log("HQCSchemeRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HQCSchemeID: data.hmainid,
+ HQCSchemeName: data.妫�楠屾柟妗堝悕绉�,
+ });
+ await this.get_CheckItem();
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 宸ュ簭杩斿洖
+ async HProcComplete(e) {
+ console.log(" HProcRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HProcName: data["宸ュ簭鍚嶇О"],
+ HProcID: data["HItemID"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ await this.GetCheckItemID();
+ await this.get_ICMOBillStatusList();
+ await this.get_QC_TakeSampleCheckBillList();
+ }
+ },
+ async get_QC_TakeSampleCheckBillList() {
+ // 鍙栨牱鍗曟煡璇�
+ let HProcID = this.hform.HProcID;
+ let HProcExchInterId = this.hform.HProcExchInterID;
+ let sWhere = "";
+
+ if (HProcID == "0" || HProcID == "") {
+ CommonUtils.showTips({
+ message: "璇烽�夋嫨宸ュ簭",
+ });
+ return;
+ }
+
+ sWhere = " and 宸ュ簭娴佽浆鍗′富鍐呯爜='" + HProcExchInterID + "' and HProcID=" + HProcID;
+
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "//QC_TakeSampleCheckBill/QC_TakeSampleCheckBillMainList",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${Message}`,
+ });
+ }
+
+ this.hform.HTakeSampleCheckBillID = data[0]["hmainid"];
+ this.hform.HTakeSampleCheckBillNo = data[0]["鍗曟嵁鍙�"];
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${err}`,
+ });
+ }
+ },
+ async get_ICMOBillStatusList() {
+ let sWhere = "";
+ let HProcID = this.hform.HProcID;
+ let HSourceID = this.hform.HSourceID;
+ let HProcExchInterId = this.hform.HProcExchInterID;
+
+ if (HProcID != "0") {
+ sWhere += " and HProcID=" + HProcID;
+ }
+ if (HSourceID != "0") {
+ sWhere += " and HSourceID=" + HSourceID;
+ }
+
+ sWhere += " and HSourceInterID=" + HProcExchInterID;
+
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/CheckBill/GetICMOBillStatusList",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${Message}`,
+ });
+ }
+
+ this.hform.HProcID = data[0]["HProcID"];
+ this.hform.HProcName = data[0]["宸ュ簭"];
+ this.hform.HSourceID = data[0]["HSourceID"];
+ this.hform.HSourceName = data[0]["鐢熶骇璧勬簮"];
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${err}`,
+ });
+ }
+ },
+ setInspectValModule(checkItem) {
+ console.log("checkItem: ", checkItem);
+ if (!checkItem.HAnalysisMethod || !checkItem.HSampleSchemeID) {
+ return;
+ }
+ // 鍖哄垎妫�楠屽�奸〉绛惧拰闈欐�侀〉绛撅紝妫�楠屽�奸〉绛剧殑id浠寮�澶�
+ this.$set(this.InspectModules, `_${checkItem.num}`, {
+ id: `_${checkItem.num}`,
+ checkItemId: checkItem.num,
+ });
+ console.log(" this.arrayAnalysisMethod: ", checkItem.HAnalysisMethod);
+ let analysisMethodName = this.arrayAnalysisMethod.find(
+ (e) => e.value == checkItem.HAnalysisMethod
+ ).name;
+ this.$set(this.subTabs, `_${checkItem.num}`, {
+ id: `_${checkItem.num}`,
+ name: `${analysisMethodName}-${checkItem.HQCCheckItemName}`,
+ });
+ },
+ InspectValueUpdate(e) {
+ console.log("e: ", e);
+ let {
+ data,
+ list
+ } = e;
+ this.checkItems[data.num] = Object.assign(this.checkItems[data.num], data);
+ this.$set(this.InspectValues, `${data.num}`, list);
+ },
+ // 甯﹀嚭妫�楠岄」鐩�
+ async get_CheckItem() {
+ // 棣栧厛娓呯┖妫�楠岄」鐩� 鍜� 妫�楠屽��
+ this.checkItems = {}
+ for (let key in this.subTabs) {
+ if (key.substring(1) == "_") {
+ this.$delete(this.subTabs, key)
+ }
+ }
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Web/GetCheckItemByCheckProjectID",
+ data: {
+ CheckProjectID: this.hform.HQCSchemeID || 0,
+ HBatchQty: this.hform.HProcExchQty || 0,
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+
+ if (count == 1) {
+ for (var i = 0; i < data.length; i++) {
+ let checkItem = {
+ HQCCheckItemID: data[i]["HQCCheckItemID"],
+ HQCCheckItemNumber: data[i]["妫�楠岄」鐩唬鐮�"],
+ HQCCheckItemName: data[i]["妫�楠岄」鐩�"],
+ HInspectInstruMentID: data[i]["HInspectInstruMentID"],
+ HInspectInstruMentNumber: data[i]["妫�楠屼华鍣ㄤ唬鐮�"],
+ HInspectInstruMentName: data[i]["妫�楠屼华鍣�"],
+ HQCStd: data[i]["HQCStd"],
+ HUnit: data[i]["鍗曚綅鍚嶇О"],
+ HQCNote: "",
+ HAnalysisMethod: data[i]["鍒嗘瀽鏂规硶"],
+ HResult: data[i]["榛樿缁撹"],
+ HMax: "",
+ HMin: "",
+ HAvg: "",
+ HRemark: "",
+ HKeyInspect: data[i]["閲嶇偣妫�鏌�"] == 1 ? true : false,
+ HStatus: 0,
+ HSampleSchemeID: data[i]["HSampleSchemeID"],
+ HUnitID: data[i]["HUnitID"],
+ HInspectVal: "",
+ HTargetVal: "",
+ HUpLimit: data[i].涓婇檺鍊�,
+ HDownLimit: data[i].涓嬮檺鍊�,
+ HUpOffSet: "",
+ HDownOffSet: "",
+ HSampleDamageQty: "0",
+ HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[i].鏍锋湰閲�,
+ HAcceptQty: data[i].鍏佽鏁�,
+ HInspectionLevel: data[i].妫�楠屾按骞�,
+ HRejectQty: data[i].鎷掔粷鏁�,
+ HStrictness: data[i].涓ユ牸搴�,
+ HSampleUnRightQty: 0,
+ HAQL: data[i].AQL,
+ HSamplingType: data[i].鎶芥牱绫诲瀷,
+ HCompareSymbol: data[i].姣旇緝绗�,
+ HTargetVal: data[i].鐩爣鍊� || 0,
+ };
+
+ this.addCheckItem(checkItem);
+ }
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${Message} `,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${err} `,
+ });
+ }
+ },
+ async getMaxBillNo() {
+ try {
+ let res = await CommonUtils.doRequest2Sync({
+ url: "/Web/GetMAXNum",
+ data: {
+ HBillType: "7505",
+ },
+ });
+
+ if (!res) {
+ return;
+ }
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+ if (count == 1) {
+ this.hform.HInterID = data[0].HInterID;
+ this.hform.HBillNo = data[0].HBillNo;
+ } else {
+ throw Message;
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: "鑾峰彇鍗曟嵁鍙峰紓甯�: " + err,
+ });
+ }
+ },
+ // 妫�楠屽�艰繑鍥炲��
+ InspectValueComplete(e) {
+ console.log("e: ", e);
+ let key = e.num;
+ e.HStatus = e.HStatus ? 1 : 0
+ if (e.HResult2 == '') {
+ e.HResult2 = this.checkItems[key].HResult
+ }
+ Object.assign(this.checkItems[key], e);
+ this.checkItems[key].HInspectResultToSee = this.checkItems[key].HResult2;
+ this.checkItems[key].HResult = this.checkItems[key].HResult2 == '鍚堟牸' ? 1 : 2;
+
+ this.HCheckLastResult();
+
+ },
+ checkSubmitValidate() {
+ // if (this.hform.HICMOQty == "" || this.hform.HICMOQty <= 0) {
+ // CommonUtils.showTips({
+ // message: "浠诲姟鍗曟暟閲忎笉鑳戒负绌轰笖涓嶈兘灏忎簬绛変簬0锛�",
+ // });
+ // return false;
+ // }
+
+ if (this.hform.HFirstCheckEmp == 0) {
+ CommonUtils.showTips({
+ message: "妫�楠屽憳鏈�夋嫨锛�",
+ });
+ return false;
+ }
+
+ for (let key in this.checkItems) {
+ if (!this.checkItems[key].HQCCheckItemID) {
+ CommonUtils.showTips({
+ message: `绗�${this.checkItems[key].num}琛屾楠岄」鐩笉鑳戒负绌�!`,
+ });
+ return false;
+ }
+
+ if (
+ this.checkItems[key].HSampleSchemeID == "" ||
+ this.checkItems[key].HSampleSchemeID == null
+ ) {
+ this.checkItems[key].HSampleSchemeID = 0;
+ }
+ if (
+ this.checkItems[key].HSampleQty == "" ||
+ this.checkItems[key].HSampleQty == null
+ ) {
+ this.checkItems[key].HSampleQty = 0;
+ }
+ if (
+ this.checkItems[key].HSampleDamageQty == "" ||
+ this.checkItems[key].HSampleDamageQty == null
+ ) {
+ this.checkItems[key].HSampleDamageQty = 0;
+ }
+ if (
+ this.checkItems[key].HAcceptQty == "" ||
+ this.checkItems[key].HAcceptQty == null
+ ) {
+ this.checkItems[key].HAcceptQty = 0;
+ }
+ if (
+ this.checkItems[key].HRejectQty == "" ||
+ this.checkItems[key].HRejectQty == null
+ ) {
+ this.checkItems[key].HRejectQty = 0;
+ }
+ if (
+ this.checkItems[key].HSampleUnRightQty == "" ||
+ this.checkItems[key].HSampleUnRightQty == 0
+ ) {
+ this.checkItems[key].HSampleUnRightQty = 0;
+ }
+ if (this.checkItems[key].HUnitID == "") {
+ this.checkItems[key].HUnitID = 0;
+ }
+ }
+
+ return true;
+ },
+ async submit() {
+ if (!this.checkSubmitValidate()) {
+ return;
+ }
+ try {
+ console.log('this.$refs: ', this.$refs);
+ // 妫�鏌ユ槸鍚︽湁鏈垏鎹㈢殑妫�楠屽�兼ā鍧�(鏄惁鍖呭惈set_SaveValue鏂规硶),濡傛灉鏈夛紝鍒欒繍琛屼竴娆′繚瀛樻楠屽�肩殑鏂规硶锛屾牴鎹楠屽�兼槸鍚︿繚瀛樻垚鍔熷啀鎵ц涓嬩竴姝�
+ if (typeof this.$refs.InspectValueModules != "undefined" && this.$refs.InspectValueModules
+ .length > 0) {
+ // 鍔犺浇鏈夋楠屽�兼ā鍧�
+ await this.$refs.InspectValueModules[0].set_SaveValue();
+ this.InspectValues[0] = this.$refs.InspectValueModules[0].InSpectValues;
+ await this.InspectValueComplete(this.$refs.InspectValueModules[0].checkData)
+ }
+ let InspectValuesTrans = [];
+ let HInterID = this.hform.HInterID;
+ for (let key in this.InspectValues) {
+ let HEntryID = key;
+
+ InspectValuesTrans.push(
+ `${JSON.stringify(this.InspectValues[key])}`
+ );
+ }
+ let checkItemsArray = [];
+ for (var key in this.checkItems) {
+ let checkItem = JSON.parse(JSON.stringify(this.checkItems[key]))
+ delete checkItem.data
+ checkItemsArray.push(checkItem);
+ }
+ console.log('checkItemsArray: ', checkItemsArray);
+ let sMainSub = `${JSON.stringify(this.hform)};${JSON.stringify(
+ checkItemsArray
+ )};${this.operationType};${getUserInfo()["Czymc"]};${InspectValuesTrans[0]}`;
+ console.log("this.checkItems: ", this.checkItems);
+
+ let res = await CommonUtils.doRequest2Sync({
+ url: "/QC_FirstPieceCheckBill/set_SaveBill",
+ data: {
+ sMainSub: sMainSub,
+ },
+ method: "POST",
+ });
+
+ if (!res) {
+ return;
+ }
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+ if (count == 1) {
+ uni.showModal({
+ title: "鎻愮ず",
+ content: res.data.Message + "銆傛槸鍚︾户缁柊澧烇紵",
+ success: (res) => {
+ if (res.confirm) {
+ console.log("鐢ㄦ埛鐐瑰嚮纭畾");
+ uni.redirectTo({
+ url: "/pages/ZLGL/shoujianjianyan/form?operationType=1",
+ });
+ } else if (res.cancel) {
+ console.log("鐢ㄦ埛鐐瑰嚮鍙栨秷");
+ // setTimeout(() => {
+ // uni.navigateBack();
+ // }, 50)
+ }
+ },
+ });
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `棣栦欢妫�楠屽崟淇濆瓨閿欒: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `棣栦欢妫�楠屽崟淇濆瓨閿欒: ${err}`,
+ });
+ }
+ },
+ addNew() {
+ uni.redirectTo({
+ url: "/pages/ZLGL/shoujianjianyan/firstCheckBill?operationType=1",
+ });
+ },
+ goBack() {
+ uni.navigateBack();
+ },
+ async RoadBillMain() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_FirstPieceCheckBill/QC_FirstPieceCheckBill_Edit",
+ data: {
+ sWhere: ` and hmainid=${this.hform.HInterID}`,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+
+ if (count == 1) {
+ console.log("RoadBillMain: : ", data);
+ Object.assign(this.hform, {
+ HInterID: data[0].hmainid,
+ HBillNo: data[0].鍗曟嵁鍙�,
+ HDate: dayjs(data[0].鏃ユ湡).format("YYYY-MM-DD"),
+ HSourceID: data[0].HSourceID,
+ HSourceName: data[0].鐢熶骇璧勬簮鍚嶇О,
+ HICMOBillNo: data[0].浠诲姟鍗曞彿,
+ HICMOQty: data[0].浠诲姟鍗曟暟閲�,
+ HICMOInterID: data[0].HICMOInterID,
+ HICMOEntryID: data[0].HICMOEntryID || 1,
+ HMaterID: data[0].HMaterID,
+ HMaterName: data[0].鐗╂枡鍚嶇О,
+ HMaterNumber: data[0].鐗╂枡浠g爜,
+ HProcID: data[0].HProcID,
+ HProcName: data[0].HProcName,
+ HProcExchQty: data[0].HProcExchQty || 0,
+ HProcExchBillNo: data[0].HProcExchBillNo,
+ HProcExchInterID: data[0].HProcExchInterID,
+ HProcExchEntryID: data[0].HProcExchEntryID || 0,
+ HFirstCheckEmp: data[0].HFirstCheckEmp,
+ HFirstCheckEmpName: data[0].璐ㄦ鍛樺悕绉�,
+ HQCSchemeID: data[0].妫�楠屾柟妗圛D,
+ HQCSchemeName: data[0].妫�楠屾柟妗堝悕绉�,
+ HRemark: data[0].琛ㄥご澶囨敞,
+ HMaker: data[0].鍒跺崟浜�,
+ HMakeDate: data[0].鍒跺崟鏃ユ湡,
+ HChecker: data[0].瀹℃牳浜�,
+ HCheckDate: data[0].瀹℃牳鏃ユ湡,
+ HCloseMan: data[0].鍏抽棴浜�,
+ HCloseDate: data[0].鍏抽棴鏃ユ湡,
+ HUpDateDate: data[0].淇敼鏃ユ湡,
+ HDeleteDate: data[0].浣滃簾鏃ユ湡,
+ HSampleSchemeID: data[0].HSampleSchemeID,
+ HSampleSchemeName: data[0].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[0].鏍锋湰閲�,
+ HSampleQty2: data[0].鏍锋湰閲�,
+ HSampleDamageQty: data[0].鏍锋湰鐮村潖鏁�,
+ HSamplingType: data[0].鎶芥牱绫诲瀷,
+ HAcceptQty: data[0].鍏佽鏁�,
+ HInspectionLevel: data[0].妫�楠屾按骞�,
+ HRejectQty: data[0].鎷掔粷鏁�,
+ HStrictness: data[0].涓ユ牸搴�,
+ HSampleUnRightQty: data[0].鏍锋湰涓嶅悎鏍兼暟 || 0,
+ HSampleUnRightQty2: data[0].鏍锋湰涓嶅悎鏍兼暟,
+ HAQL: data[0].AQL,
+ HUnitID: data[0].HUnitID,
+ HUnit: data[0].鍗曚綅,
+ HInspectValB: data[0].妫�娴嬪�煎熀纭�璧勬枡,
+ HInspectVal: data[0].妫�娴嬪��,
+ HTargetValB: data[0].鐩爣鍊煎熀纭�璧勬枡,
+ HTargetVal: data[0].鐩爣鍊�,
+ HUpLimit: data[0].涓婇檺鍊�,
+ HDownLimit: data[0].涓嬮檺鍊�,
+ HUpOffSet: data[0].涓婂亸宸�,
+ HDownOffSet: data[0].涓嬪亸宸�,
+ HEntryID: data[0].hsubid,
+ HQCCheckItemName: data[0].妫�楠岄」鐩悕绉�,
+ HQCCheckItemID: data[0].HQCCheckItemID,
+ HShiftsID: data[0].HShiftsID,
+ HShiftsName: data[0].鐝鍚嶇О,
+ HErrTreatment: data[0].寮傚父涓存椂澶勭悊鏂规,
+ HBatchNo: data[0].鎵瑰彿,
+ HLastResult: data[0].鍒ゅ畾缁撹 == "鍚堟牸" ? true : false,
+ HTakeSampleCheckBillID: data[0].HTakeSampleCheckBillID,
+ HTakeSampleCheckBillNo: data[0].HTakeSampleCheckBillNo,
+ HAnalysisMethod: function() {
+ if (data[0].HAnalysisMethod == 1) {
+ return '瀹氭�ф楠�'
+ } else if (data[0].HAnalysisMethod == 2) {
+ return '瀹氶噺妫�楠�'
+ } else {
+ return '鍏朵粬妫�楠�'
+ }
+ }(),
+ });
+
+ for (let i = 0; i < data.length; i++) {
+ this.addCheckItem({
+ HQCCheckItemID: data[i].HQCCheckItemID,
+ HQCCheckItemNumber: data[i].妫�楠岄」鐩唬鐮�,
+ HQCCheckItemName: data[i].妫�楠岄」鐩悕绉�,
+ HInspectInstruMentID: data[i].HInspectInstruMentID,
+ HInspectInstruMentNumber: data[i].妫�楠屼华鍣ㄤ唬鐮�,
+ HInspectInstruMentName: data[i].妫�楠屼华鍣ㄥ悕绉�,
+ HQCStd: data[i].妫�楠屾爣鍑�,
+ HUnit: data[i].鍗曚綅鍚嶇О,
+ HQCNote: data[i].妫�楠岃褰�,
+ HResult: data[i].缁撹 == "鍚堟牸" ? 1 : 0,
+ HMax: data[i].鏈�澶у��,
+ HMin: data[i].鏈�灏忓��,
+ HAvg: data[i].骞冲潎鍊�,
+ HRemark: data[i].琛ㄤ綋澶囨敞,
+ HAnalysisMethod: data[i].鍒嗘瀽鏂规硶 == "瀹氭�у垎鏋�" ?
+ 1 : data[i].鍒嗘瀽鏂规硶 == "瀹氶噺鍒嗘瀽" ?
+ 2 : 3,
+ HKeyInspect: data[i].閲嶇偣妫�鏌� == "鍚�" ? false : true,
+ HSampleSchemeID: data[i].HSampleSchemeID,
+ HUnitID: data[i].HUnitID,
+ HInspectVal: data[i].妫�娴嬪��,
+ HTargetVal: data[i].鐩爣鍊�,
+ HUpLimit: data[i].涓婇檺鍊�,
+ HDownLimit: data[i].涓嬮檺鍊�,
+ HUpOffSet: data[i].涓婂亸宸�,
+ HDownOffSet: data[i].涓嬪亸宸�,
+ HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+ HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[i].鏍锋湰閲�,
+ HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+ HAcceptQty: data[i].鍏佽鏁�,
+ HInspectionLevel: 0,
+ HRejectQty: data[i].鎷掔粷鏁�,
+ HStrictness: 0,
+ HSampleUnRightQty: data[i].鏍锋湰涓嶅悎鏍兼暟,
+ HAQL: data[i].AQL,
+ HSamplingType: 0,
+ HSamplingType: data[i].鎶芥牱绫诲瀷,
+ HStrictness: data[i].涓ユ牸搴�,
+ HInspectResultToSee: data[i].妫�楠岀粨鏋�
+ });
+ }
+
+ this.hasSourceBill = true
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍔犺浇鍗曟嵁澶辫触: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍔犺浇鍗曟嵁澶辫触: ${err}`,
+ });
+ }
+ },
+ },
+ async onLoad(e) {
+ this.operationType = e.operationType || 1;
+ this.hform.HInterID = e.linterid || 0;
+ if (this.operationType == 1) {
+ await this.getMaxBillNo();
+ } else if (this.operationType == 2) {} else if (this.operationType == 3) {
+ await this.RoadBillMain();
+ }
+
+ await this.InitHSource();
+ await this.InitHWorkShift();
+ await this.InitHEmp();
+ },
+ };
+</script>
+
+<style lang="scss" scoped>
+ input {
+ width: inherit;
+ font-size: 26rpx;
+ }
+
+ .uni-input {
+ padding: 0;
+ }
+
+ .bill-main-tabs,
+ .bill-sub-tabs {
+ box-sizing: border-box;
+ width: 730rpx;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ gap: 20rpx;
+ flex-shrink: 0;
+ overflow-x: auto;
+ border-bottom: 1px solid #ddd;
+ padding: 20rpx 10rpx;
+ white-space: nowrap;
+
+ view {
+ width: auto;
+ font-size: 26rpx;
+ color: #555;
+ text-align: center;
+ padding: 16rpx 0;
+ }
+
+ .selected {
+ color: #3a78ff;
+ font-weight: bold;
+ border-bottom: 3px solid #3a78ff;
+ }
+ }
+
+ .bill-main-content,
+ .bill-sub-content {
+ box-sizing: border-box;
+ padding: 0 30rpx 0 30rpx;
+ display: flex;
+ flex-direction: column;
+
+ .form-item {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ font-size: 26rpx;
+ padding: 6rpx 0;
+
+ .left {
+ width: 208rpx;
+
+ text {
+ color: red;
+ font-weight: bold;
+ }
+ }
+
+ .right {
+ // width: 450rpx;
+ padding: 8rpx 20rpx;
+ font-size: 26rpx;
+ flex: 1;
+ border-radius: 22rpx;
+ border: 1px solid #acacac;
+
+ .uni-combox {
+ padding: 0;
+ height: auto;
+
+ .uni-input-placeholder,
+ .uni-input-input {
+ font-size: 26rpx;
+ }
+ }
+
+ .uni-combox::v-deep input {
+ height: inherit;
+ font-size: 26rpx;
+ }
+ }
+
+ .disabled {
+ border: 1px solid #e4e4e4;
+ background-color: #e4e4e4;
+ }
+
+ .none-border {
+ border: none;
+ }
+ }
+ }
+
+ .bottom-btn {
+ box-sizing: border-box;
+ width: 100%;
+ height: 120rpx;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ background-color: #fff;
+ box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+ padding: 30rpx 40rpx 40rpx 40rpx;
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 28rpx;
+ }
+
+ .btn-a {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #acacac;
+ color: #fff;
+ // position: absolute;
+ // right: 120rpx;
+ }
+
+ .btn-d {
+ background-color: #ff8901;
+ color: #fff;
+ }
+ }
+
+ .buttons {
+ box-sizing: border-box;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ padding: 10rpx 0;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 26rpx;
+ }
+
+ .btn-a {
+ background-color: #acacac;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+ }
+
+ .list {
+ width: 100%;
+
+ .card-detail {
+ width: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-items: center;
+ line-height: 120%;
+ gap: 10rpx 0;
+
+ input {
+ font-size: 26rpx;
+ }
+
+ .detail {
+ // width: 50%;
+ box-sizing: border-box;
+ font-size: 26rpx;
+ color: #555;
+ padding-right: 20rpx;
+
+ text {
+ color: #999;
+ font-size: 26rpx;
+ }
+ }
+
+ .editable {
+ width: 50%;
+ display: inline-flex;
+ flex-direction: row;
+ align-items: center;
+
+ text {
+ flex-shrink: 0;
+ }
+
+ .editable-input {
+ border: 1px solid #acacac;
+ border-radius: 5rpx;
+ padding: 0 12rpx;
+ }
+ }
+ }
+ }
+
+ .icon-wrapper {
+ background-color: #3a78ff;
+ border-radius: 100%;
+ width: 40rpx;
+ height: 40rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-shrink: 0;
+
+ .uni-icons {
+ color: #fff !important;
+ }
+ }
+
+ .icon-wrapper-big {
+ background-color: #3a78ff;
+ border-radius: 100%;
+ width: 50rpx;
+ height: 50rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-shrink: 0;
+ margin-left: 20rpx;
+
+ .uni-icons {
+ color: #fff !important;
+ }
+ }
+
+ .more {
+ color: #888;
+ font-size: 22rpx;
+ display: flex;
+ border-top: 1px solid #eee;
+ padding-top: 10rpx;
+
+ .part {
+ width: 100%;
+ text-align: center;
+ }
+ }
+
+ .pass-background {
+ background-color: #cee3f2;
+ border: none;
+ }
+
+ .unpass-background {
+ background-color: #f0d6e3;
+ border: none;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/lailiaojianyan/POStockInCheckBillList.vue b/pages/ZLGL/lailiaojianyan/POStockInCheckBillList.vue
new file mode 100644
index 0000000..63a8fe0
--- /dev/null
+++ b/pages/ZLGL/lailiaojianyan/POStockInCheckBillList.vue
@@ -0,0 +1,571 @@
+<template>
+ <view class="page" id="pageContent">
+ <view class="search-condition-zone">
+ <view class="form-item">
+ <view class="left">
+ 鏃ユ湡:
+ </view>
+ <view class="daterange" style="flex: 1;">
+ <view class="right general">
+ <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HBeginDate">
+ <view>{{hform.HBeginDate}}</view>
+ </uni-datetime-picker>
+ </view>
+ <view>鈥�</view>
+ <view class="right general">
+ <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HEndDate">
+ <view>{{hform.HEndDate}}</view>
+ </uni-datetime-picker>
+ </view>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">
+ 鍗曟嵁鍙�:
+ </view>
+ <view class="right general">
+ <input type="text" v-model="hform.HBillNo" />
+ </view>
+ </view>
+ </view>
+ <view class="button-zone">
+ <button type="default" class="btn-a" size="mini" @tap="cmdAdd">鏂板</button>
+ <button type="default" class="btn-a" size="mini" @tap="cmdSearch">鏌ヨ</button>
+ <button type="default" class="btn-c" size="mini" @tap="exit">閫�鍑�</button>
+ </view>
+ <view class="info-list-zone" id="scroll-content" :style="{height: scrollContentHeight + 'px'}">
+ <view class="card-item" v-for="(item,index) in listDataShow" :key="index">
+ <uni-card :title="item['鍗曟嵁鍙�']" :extra="'鏃ユ湡:' + item['鏃ユ湡'].split('T')[0]"
+ @tap="showDetail = showDetail==index?-1:index">
+ <view class="card-detail">
+ <view class="detail" v-if="item['鍗曟嵁绫诲瀷']">
+ <text>鍗曟嵁绫诲瀷锛�</text>{{item['鍗曟嵁绫诲瀷']}}
+ </view>
+ <view class="detail" v-if="item['鍗曟嵁鐘舵��']">
+ <text>鍗曟嵁鐘舵�侊細</text>{{item['鍗曟嵁鐘舵��']}}
+ </view>
+ <view class="detail" v-if="item['鍒ゆ柇缁撹']">
+ <text>鍒ゆ柇缁撹锛�</text>{{item['鍒ゆ柇缁撹']}}
+ </view>
+ <view class="detail" v-if="item['鐗╂枡浠g爜']">
+ <text>鐗╂枡浠g爜锛�</text>{{item['鐗╂枡浠g爜']}}
+ </view>
+ <view class="detail" v-if="item['鐗╂枡鍚嶇О']">
+ <text>鐗╂枡鍚嶇О锛�</text>{{item['鐗╂枡鍚嶇О']}}
+ </view>
+ <view class="detail" v-if="item['瑙勬牸鍨嬪彿']">
+ <text>瑙勬牸鍨嬪彿锛�</text>{{item['瑙勬牸鍨嬪彿']}}
+ </view>
+ <view class="detail" v-if="item['妫�楠屾柟妗�']">
+ <text>妫�楠屾柟妗堬細</text>{{item['妫�楠屾柟妗�']}}
+ </view>
+ <view class="detail" v-if="item['瑙勬牸鍨嬪彿']">
+ <text>瑙勬牸鍨嬪彿锛�</text>{{item['瑙勬牸鍨嬪彿']}}
+ </view>
+ </view>
+ <view class="card-detail" v-if="showDetail == index">
+ <view class="detail" v-if="item['璐ㄦ鍛�']">
+ <text>璐ㄦ鍛橈細</text>{{item['璐ㄦ鍛�']}}
+ </view>
+ <view class="detail" v-if="item['閮ㄩ棬']">
+ <text>閮ㄩ棬锛�</text>{{item['閮ㄩ棬']}}
+ </view>
+ <view class="detail" v-if="item['鐢熶骇璁㈠崟']">
+ <text>鐢熶骇璁㈠崟锛�</text>{{item['鐢熶骇璁㈠崟']}}
+ </view>
+ <view class="detail" v-if="item['宸ュ簭娴佽浆鍗″彿']">
+ <text>宸ュ簭娴佽浆鍗″彿锛�</text>{{item['宸ュ簭娴佽浆鍗″彿']}}
+ </view>
+ <view class="detail" v-if="item['鐢熶骇璧勬簮鍚嶇О']">
+ <text>鐢熶骇璧勬簮鍚嶇О锛�</text>{{item['鐢熶骇璧勬簮鍚嶇О']}}
+ </view>
+ <view class="detail" v-if="item['鍒涘缓浜�']">
+ <text>鍒涘缓浜猴細</text>{{item['鍒涘缓浜�']}}
+ </view>
+ <view class="detail" v-if="item['瀹℃牳浜�']">
+ <text>瀹℃牳浜猴細</text>{{item['瀹℃牳浜�']}}
+ </view>
+ <view class="detail" v-if="item['缁勭粐鍚嶇О']">
+ <text>缁勭粐鍚嶇О锛�</text>{{item['缁勭粐鍚嶇О']}}
+ </view>
+ <view class="detail" v-if="item['澶囨敞']">
+ <text>澶囨敞锛�</text>{{item['澶囨敞']}}
+ </view>
+ <view class="detail" v-if="item['婧愬崟鍙�']">
+ <text>婧愬崟鍙凤細</text>{{item['婧愬崟鍙�']}}
+ </view>
+ <view class="detail" v-if="item['鍒跺崟鏃ユ湡']">
+ <text>鍒跺崟鏃ユ湡锛�</text>{{item['鍒跺崟鏃ユ湡']}}
+ </view>
+ <view class="detail" v-if="item['瀹℃牳鏃ユ湡']">
+ <text>瀹℃牳鏃ユ湡锛�</text>{{item['瀹℃牳鏃ユ湡']}}
+ </view>
+
+ </view>
+ <view class="more" v-if="showDetail == index && operations != index">
+ <view class="part" style="border-right: 1px solid #eee;">
+ <uni-icons type="top" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>鏀惰捣
+ </view>
+ <view class="part" @tap.stop="operations = operations==index?-1:index">
+ <uni-icons type="more-filled" style="color: #888;margin-right: 10rpx;"
+ size="14"></uni-icons>鎿嶄綔
+ </view>
+ </view>
+ <view class="more" v-if="showDetail != index && operations != index">
+ <view class="part" style="border-right: 1px solid #eee;">
+ <uni-icons type="bottom" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>鏇村淇℃伅
+ </view>
+ <view class="part" @tap.stop="operations = operations==index?-1:index">
+ <uni-icons type="more-filled" style="color: #888;margin-right: 10rpx;"
+ size="14"></uni-icons>鎿嶄綔
+ </view>
+ </view>
+ <view class="op" v-if="operations == index">
+ <button class="op3" size="mini" plain @tap.stop="edit(item)">缂栬緫</button>
+ <button class="op3" size="mini" plain @tap.stop="audit(item, 0)" v-if="!listDataShow[index]['瀹℃牳浜�']">瀹℃牳</button>
+ <button class="op3" size="mini" plain @tap.stop="audit(item, 1)" v-if="listDataShow[index]['瀹℃牳浜�']">鍙嶅鏍�</button>
+ <button class="op4" size="mini" plain @tap.stop="del(item)">鍒犻櫎</button>
+ <button class="op5" size="mini" plain @tap.stop="operations = -1">鍙栨秷鎿嶄綔</button>
+ </view>
+ </uni-card>
+ </view>
+ <view class="over" v-if="listDataShow.length == 0">鏆傛棤鏁版嵁</view>
+ </view>
+
+ <view class="pagination-zone" id="pagination-zone">
+ <uni-pagination show-icon :page-size="paginationMeta.pageSize" :total="paginationMeta.total"
+ :current="paginationMeta.current" @change="onPaginationChangeHandler"></uni-pagination>
+ </view>
+ </view>
+</template>
+
+<script>
+ import {
+ CommonUtils
+ } from '@/utils/common'
+ import {
+ getUserInfo
+ } from '@/utils/auth'
+ import dayjs, {
+ Dayjs
+ } from 'dayjs'
+ export default {
+ data() {
+ return {
+
+ navHeight: 0,
+ scrollTop: 0,
+
+ showDetail: -1,
+ operations: -1,
+
+ hform: {
+ HBeginDate: dayjs(new Date).subtract(30, 'd').format('YYYY-MM-DD'),
+ HEndDate: dayjs(new Date).format('YYYY-MM-DD'),
+ HBillNo: ''
+ },
+
+ paginationMeta: {
+ current: 1,
+ total: 0,
+ pageSize: 30,
+ },
+
+ pageMeta: {
+ scrollContentTop: 0,
+ bottomBtnTop: 0,
+ },
+
+ listData: [],
+ listDataShow: [],
+ }
+ },
+ computed: {
+ scrollContentHeight: {
+ get() {
+ return this.pageMeta.bottomBtnTop - this.pageMeta.scrollContentTop
+ }
+ }
+ },
+ methods: {
+ exit() {
+ uni.navigateBack()
+ },
+ cmdAdd() {
+ uni.redirectTo({
+ url: "/pages/ZLGL/lailiaojianyan/POStockInCheckBill?operationType=1"
+ })
+ },
+ async cmdSearch() {
+ let sWhere = ''
+ if (this.hform.HBeginDate != "" && this.hform.HEndDate != "") {
+ sWhere += " and CONVERT(varchar(100),鏃ユ湡, 23) between '" + this.hform.HBeginDate + "' and '" +
+ this.hform.HEndDate + "' ";
+ }
+ if (this.hform.HBillNo != "") {
+ sWhere += " and 鍗曟嵁鍙� like '%" + this.hform.HBillNo + "%'"
+ }
+ try {
+ let res = await CommonUtils.doRequest2Sync({
+ url: '/QC_POStockInCheckBill/GetPOStockInCheckBill',
+ data: {
+ "sWhere": sWhere,
+ "user": getUserInfo()["Czymc"]
+ },
+ })
+
+ if (!res) {
+ return
+ }
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count > 0) {
+ this.listData = data
+ this.paginationMeta.total = data.length
+ this.onPaginationChangeHandler({
+ current: 1
+ })
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ } catch (err) {
+ console.warn(err);
+ uni.showToast({
+ title: '鎺ュ彛璇锋眰澶辫触:' + err,
+ icon: 'none'
+ })
+ }
+ },
+ async onPaginationChangeHandler({
+ current
+ }) {
+ this.listDataShow =
+ this.listData.slice((current - 1) * this.paginationMeta.pageSize,
+ current * this.paginationMeta.pageSize)
+
+ },
+ async audit(item, mode) {
+ console.log('瀹℃牳鍗曟嵁: ',item);
+
+ try{
+ let res = await CommonUtils.doRequest2Sync({
+ method: 'GET',
+ url: 'QC_POStockInCheck_ValueTable/QC_POStockInCheckValue',
+ data: {
+ HInterID: item["hmainid"],
+ IsAudit: mode,
+ CurUserName: getUserInfo()["Czymc"]
+ }
+ })
+
+ if(!res) {
+ return
+ }
+
+ let {count, data, Message} = res.data
+
+ if(count == 1) {
+ CommonUtils.showTips({
+ message: `${item["瀹℃牳浜�"]?'鍙嶅鏍�':'瀹℃牳'}鎴愬姛`
+ })
+ this.$forceUpdate()
+ setTimeout(() => {
+ this.cmdSearch()
+ }, 2000)
+ }else {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: `鍗曟嵁${item["瀹℃牳浜�"]?'鍙嶅鏍�':'瀹℃牳'}澶辫触: ${Message}`
+ })
+ }
+ }catch(err) {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: `鍗曟嵁${item["瀹℃牳浜�"]?'鍙嶅鏍�':'瀹℃牳'}閿欒: ${err}`
+ })
+ }
+ },
+ async del(item) {
+ console.log("delItem: ", item);
+ uni.showModal({
+ title: '鎻愮ず',
+ content: '纭瑕佸垹闄よ褰曪紵鍒犻櫎鍚庝笉鑳芥仮澶�',
+ success: async (res) => {
+ if (res.confirm) {
+ console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+ try {
+ let res = await CommonUtils.doRequest2Sync({
+ url: '/QC_POStockInCheckBill/DeltetPOStockInCheckBill',
+ data: {
+ "HInterID": item.hmainid,
+ "user": getUserInfo()["Czymc"]
+ }
+ })
+
+ if (!res) {
+ return
+ }
+
+ let {
+ count,
+ code,
+ Message
+ } = res.data
+ if (count == 0) {
+ return uni.showModal({
+ title: '閿欒鎻愮ず',
+ content: `鍒犻櫎閿欒: ${Message}`,
+ showCancel: false
+ })
+ }
+ uni.showToast({
+ title: '鍒犻櫎鎴愬姛',
+ icon: 'none'
+ })
+ this.cmdSearch()
+ } catch (err) {
+ uni.showModal({
+ title: '閿欒鎻愮ず',
+ content: `鎺ュ彛璇锋眰澶辫触: ${err}`,
+ showCancel: false
+ })
+ }
+ }
+ },
+ })
+
+ },
+ edit(item) {
+ console.log("editItem:", item)
+ uni.navigateTo({
+ url: `/pages/ZLGL/lailiaojianyan/POStockInCheckBill?operationType=3&linterid=${item.hmainid}`
+ })
+ }
+ },
+ onShow() {
+ this.$nextTick(() => {
+ this.cmdSearch()
+ })
+ },
+ onReady() {
+ // #ifndef MP-WEIXIN
+ let query = uni.createSelectorQuery().in(this)
+ query.select("#scroll-content").boundingClientRect((data) => {
+ this.pageMeta.scrollContentTop = data.top
+ }).exec()
+ query.select("#pagination-zone").boundingClientRect((data) => {
+ this.pageMeta.bottomBtnTop = data.top
+ }).exec()
+ // #endif
+ // #ifdef MP-WEIXIN
+ // 寰俊涓嶆敮鎸� uni.createSelectorQuery().in(this)
+ // #endif
+
+ },
+ }
+</script>
+
+<style lang="scss" scoped>
+ .page {
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ gap: 20rpx;
+ padding: 20rpx 0;
+ position: relative;
+
+ .button-zone {
+ height: auto;
+ box-sizing: border-box;
+ padding-top: 20rpx;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ flex-wrap: wrap;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 28rpx;
+ }
+
+ .btn-a {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #ff5722;
+ color: #fff;
+ }
+ }
+
+ .search-condition-zone {
+ height: auto;
+ box-sizing: border-box;
+ padding: 0 60rpx;
+ display: flex;
+ flex-direction: column;
+ gap: 20rpx;
+
+ .form-item {
+ display: flex;
+ flex-direction: row;
+ gap: 20rpx;
+ align-items: center;
+ font-size: 28rpx;
+
+ .left {
+ width: 4rem;
+ }
+
+ .right {
+ flex: 1;
+ padding: 8rpx 16rpx;
+
+ .search {
+ width: 28rpx;
+ height: 28rpx;
+ }
+
+ input {
+ font-size: 28rpx;
+ }
+
+ .uni-combox {
+ padding: 0;
+ margin: 0;
+
+ ::v-deep .uni-combox__input {
+ font-size: 28rpx;
+ height: auto;
+ }
+ }
+ }
+
+ .general {
+ border-radius: 22rpx;
+ border: 1px solid #acacac;
+ }
+
+ .disabled {
+ border-radius: 22rpx;
+ border: 1px solid #e4e4e4;
+ background-color: #e4e4e4;
+ }
+ }
+ }
+
+ .info-list-zone {
+ overflow-y: auto;
+
+ .card-item {
+ .card-detail {
+ width: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ line-height: 120%;
+
+ .detail {
+ // width: 50%;
+ font-size: 26rpx;
+ margin-bottom: 12rpx;
+ color: #555;
+ margin-right: 20rpx;
+
+ text {
+ color: #999;
+ font-size: 26rpx;
+ }
+ }
+ }
+ }
+ }
+
+ .daterange {
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+ justify-content: center;
+ align-items: center;
+ }
+
+ .more {
+ color: #888;
+ font-size: 24rpx;
+ display: flex;
+ border-top: 1px solid #eee;
+ padding-top: 20rpx;
+
+ .part {
+ width: 50%;
+ text-align: center;
+ }
+ }
+
+ .op {
+ display: flex;
+ justify-content: space-between;
+ gap: 20rpx;
+ margin-top: 20rpx;
+ flex-wrap: wrap;
+ align-content: flex-start;
+ button {
+ margin: 0;
+ flex-shrink: 0;
+ padding: 0;
+ width: 150rpx;
+ flex-basis: 150rpx;
+ font-size: 25rpx;
+ }
+
+ .op1 {
+ border: 1px solid #41a863;
+ color: #41a863;
+ }
+
+ .op2 {
+ border: 1px solid #d98d00;
+ color: #d98d00;
+ }
+
+ .op3 {
+ border: 1px solid #3a78ff;
+ color: #3a78ff;
+ }
+
+ .op4 {
+ border: 1px solid #da0000;
+ color: #da0000;
+ }
+
+ .op5 {
+ border: 1px solid #888;
+ color: #888;
+ }
+ }
+
+ .pagination-zone {
+ position: fixed;
+ bottom: 0;
+ box-sizing: border-box;
+ background-color: #fff;
+ box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+ padding: 20rpx 40rpx 20rpx 40rpx;
+ display: flex;
+ flex-direction: column;
+ gap: 20rpx;
+ justify-content: space-between;
+ width: 100%;
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/mojianjianyan/lastPieceCheckBillList.vue b/pages/ZLGL/mojianjianyan/lastPieceCheckBillList.vue
index 73f289b..e8571d7 100644
--- a/pages/ZLGL/mojianjianyan/lastPieceCheckBillList.vue
+++ b/pages/ZLGL/mojianjianyan/lastPieceCheckBillList.vue
@@ -34,7 +34,7 @@
<button type="default" class="btn-c" size="mini" @tap="exit">閫�鍑�</button>
</view>
<view class="info-list-zone" id="scroll-content" :style="{height: scrollContentHeight + 'px'}">
- <view class="card-item" v-for="(item, index) in listDataShow">
+ <view class="card-item" v-for="(item, index) in listDataShow" :key="index">
<uni-card :title="item['鍗曟嵁鍙�']" :extra="'鏃ユ湡:' + item['鏃ユ湡'].split('T')[0]"
@tap="showDetail = showDetail==index?-1:index">
<view class="card-detail">
diff --git a/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue b/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
new file mode 100644
index 0000000..c2dc66d
--- /dev/null
+++ b/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
@@ -0,0 +1,2292 @@
+<template>
+ <view>
+ <!-- 涓昏〃鍖哄煙 -->
+ <view class="bill-main-area">
+ <!-- 涓昏〃椤电 -->
+ <view class="bill-main-tabs">
+ <view :class="mainTabSelected == 1 ? 'selected' : ''" @tap="mainTabSelected = 1">鍩烘湰淇℃伅</view>
+ <view :class="mainTabSelected == 2 ? 'selected' : ''" @tap="mainTabSelected = 2">鍏朵粬淇℃伅</view>
+ <view :class="mainTabSelected == 3 ? 'selected' : ''" @tap="mainTabSelected = 3">鍒跺崟淇℃伅</view>
+ </view>
+ <!-- 涓昏〃鍐呭 -->
+ <view class="bill-main-contents">
+ <!-- 鍩烘湰淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 1">
+ <view class="form-item">
+ <view class="left">鍗曟嵁鍙�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HBillNo" disabled />
+ </view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">鏃ユ湡</view>
+ <view class="right">
+ <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HDate">
+ <view>{{ hform.HDate }}</view>
+ </uni-datetime-picker>
+ </view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">婧愬崟鍗曞彿</view>
+ <view class="right" :class="!hasSourceBill?'':'disabled'">
+ <input type="text" :disabled="hasSourceBill" placeholder="璇疯緭鍏ユ垨鎵弿婧愬崟鍙�"
+ v-model="hform.HSourceBillNo" @confirm="getSourceBillInfo(hform.HSourceBillNo)" />
+ </view>
+ <view class="icon-wrapper-big">
+ <uni-icons class="right-icon" type="scan" style="
+ background-color: #3a78ff;
+ padding: 6rpx;
+ color: #fff;
+ border-radius: 100%;
+ " size="20" @click="toScanCode"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">鐢熶骇璧勬簮</view>
+ <view class="right">
+ <uni-combox :candidates="GySourceNameList" placeholder="璇烽�夋嫨鐢熶骇璧勬簮" v-model="hform.HSourceName"
+ @update:modelValue="HSourceChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">鐢熶骇鐝</view>
+ <view class="right">
+ <uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+ v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">浠诲姟鍗曞彿</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HICMOBillNo" disabled />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 5)"></uni-icons></view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">娴佽浆鍗″彿</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HProcExchBillNo" disabled />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 6)"></uni-icons></view>
+ </view>
+ <view class="form-item">
+ <view class="left">浜у搧浠g爜</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HMaterNumber" />
+ </view>
+ <view class="icon-wrapper-big">
+ <uni-icons type="search" size="20" @click="showSelectorModule(hform, 4)"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浜у搧鍚嶇О</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HMaterName" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">妫�楠屽憳</view>
+ <view class="right">
+ <uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
+ :v-model="hform.HFirstCheckEmpName"
+ @update:modelValue="HFirstCheckEmpChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">妫�楠屾柟妗�</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="this.hform.HQCSchemeName" />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 7)"></uni-icons></view>
+ </view>
+
+ <view class="form-item">
+ <view class="left">鍒ゆ柇缁撹</view>
+ <view class="right none-border">
+ <radio-group @changer="checkResultChange">
+ <label>
+ <radio value="0" :checked="hform.HLastResult" /><text></text>
+ 鍚堟牸
+ </label>
+ <view style="width: 20rpx; display: inline-block"></view>
+ <label>
+ <radio value="1" :checked="!hform.HLastResult" /><text></text>
+ 涓嶅悎鏍�
+ </label>
+ </radio-group>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">宸ュ簭</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HProcName" />
+ </view>
+ <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+ @click="showSelectorModule(hform, 8)"></uni-icons></view>
+ </view>
+
+ </view>
+ <!-- 鍏朵粬淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 2">
+ <view class="form-item">
+ <view class="left">婧愬崟绫诲瀷</view>
+ <view class="right" style="position: relative" :class="!hasSourceBill?'':'disabled'">
+ <picker mode="selector" :range="HSourceBillTypeNameList" :disabled="hasSourceBill"
+ @change="HSourceBillTypeNameChange">
+ <input type="text" placeholder="璇烽�夋嫨婧愬崟绫诲瀷" v-model="HSourceBillType" disabled/>
+ <view class="picker-overlay"></view>
+ </picker>
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">鐢熶骇鐝</view>
+ <view class="right">
+ <uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+ v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">寮傚父涓存椂澶勭悊鏂规</view>
+ <view class="right">
+ <input type="text" v-model="hform.HErrTreatment" value="" />
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">浠诲姟鍗曟暟閲�</view>
+ <view class="right">
+ <input type="number" v-model="hform.HICMOQty" />
+ </view>
+ </view>
+ <view class="form-item" v-if="false">
+ <view class="left">娴佽浆鍗℃暟閲�</view>
+ <view class="right">
+ <input type="number" v-model="hform.HProcExchQty" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鎵瑰彿</view>
+ <view class="right">
+ <input type="text" value="" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">澶囨敞</view>
+ <view class="right">
+ <input type="text" v-model="hform.HRemark" value="" />
+ </view>
+ </view>
+ </view>
+ <!-- 鍒跺崟淇℃伅 -->
+ <view class="bill-main-content" v-if="mainTabSelected == 3">
+ <view class="form-item">
+ <view class="left">鍒跺崟浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HMaker" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍒跺崟鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HMakeDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">瀹℃牳浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HChecker" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">瀹℃牳鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCheckDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍏抽棴浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCloseMan" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">鍏抽棴鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HCloseDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">淇敼浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HUpDater" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">淇敼鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HUpDateDate" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浣滃簾浜�</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HDeleteMan" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="left">浣滃簾鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" :value="hform.HDeleteDate" disabled />
+ </view>
+ </view>
+ </view>
+ </view>
+ </view>
+ <!-- 瀛愯〃鍖哄煙 -->
+ <view class="bill-sub-area">
+ <!-- 瀛愯〃椤电 -->
+ <view class="bill-sub-tabs">
+ <view v-for="subTab in subTabs" :key="subTab.id" :class="subTab.id == subTabSelected ? 'selected' : ''"
+ @tap="subTabSelected = subTab.id">{{ subTab.name }}</view>
+ </view>
+ <!-- 瀛愯〃鍐呭 -->
+ <view class="bill-main-contents">
+ <!-- 妫�楠岄」鐩� 鍛堢幇 -->
+ <view v-if="subTabSelected == 1">
+ <!-- 闇�閫氳繃鏄惧紡璋冪敤蹇界暐$event鍙傛暟 -->
+ <view class="buttons" @tap="addCheckItem()">
+ <uni-icons type="plus" style="margin-right: 10rpx" size="22"></uni-icons>鏂板
+ </view>
+ <view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+ <view class="list" v-else>
+ <uni-card v-for="checkItem in checkItems" :key="checkItem.num">
+ <view class="card-detail">
+ <view class="detail"> <text>搴忓彿锛�</text>{{ checkItem.num }} </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>妫�楠岄」鐩細</text></view>
+ <input type="text" :value="checkItem.HQCCheckItemName" disabled="" />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(checkItem, 2)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>妫�楠屼华鍣細</text></view>
+ <input type="text" :value="checkItem.HInspectInstruMentName" disabled="" />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(checkItem, 3)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <view><text>缁撹锛�</text></view>
+ <view style="width: 4em">
+ {{ checkItem.HResult == 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}
+ </view>
+ <view>
+ <switch style="width: 2em; transform: scale(0.7)"
+ :checked="checkItem.HResult == 1"
+ @change="HResultChange(checkItem.num, $event)" />
+ </view>
+ </view>
+ <view class="detail editable" style="position: relative">
+ <view style="flex-shrink: 0"><text>鍒嗘瀽鏂规硶锛�</text></view>
+ <picker :range="arrayAnalysisMethod" range-key="name"
+ @change="HAnalysisMethodChange(checkItem.num, $event)">
+ <input disabled :value="getAnalysisMethodDisplay(checkItem.HAnalysisMethod)"
+ placeholder="璇烽�夋嫨" />
+ <view class="picker-overlay"></view>
+ </picker>
+ </view>
+ <view class="detail editable">
+ <view style="flex-shrink: 0"><text>閲嶇偣妫�鏌ワ細</text></view>
+ <view>
+ <switch type="checkbox" style="transform: scale(0.7)"
+ :checked="checkItem.HKeyInspect"
+ @change="HKeyInspectChange(checkItem, $event)" />
+ </view>
+ </view>
+ <view class="detail" v-if="checkItem.HQCStd">
+ <text>妫�楠屾爣鍑嗭細</text>{{ checkItem.HQCStd }}
+ </view>
+ <view class="detail" v-if="checkItem.HUnit">
+ <text>鍗曚綅锛�</text>{{ checkItem.HUnit }}
+ </view>
+ <!-- 鍙湁瀹氶噺鍒嗘瀽鎵嶅惎鐢ㄦ楠屽�� -->
+ <view class="detail editable" v-show="checkItem.HAnalysisMethod == 2">
+ <text>妫�楠屽�硷細</text>
+ <input type="text" class="editable-input" @blur="calcHResult(checkItem)" v-model="checkItem.HInspectValQ" />
+ </view>
+
+ <view class="detail" v-if="checkItem.HQCNote">
+ <text>妫�楠岃褰曪細</text>{{ checkItem.HQCNote }}
+ </view>
+ <view class="detail" v-if="checkItem.HTargetVal">
+ <text>鐩爣鍊硷細</text>{{ checkItem.HTargetVal }}
+ </view>
+ <view class="detail" v-if="checkItem.HUpLimit">
+ <text>涓婇檺鍊硷細</text>{{ checkItem.HUpLimit }}
+ </view>
+ <view class="detail" v-if="checkItem.HDownLimit">
+ <text>涓嬮檺鍊硷細</text>{{ checkItem.HDownLimit }}
+ </view>
+ <view class="detail" v-if="checkItem.HMax">
+ <text>鏈�澶у�硷細</text>{{ checkItem.HMax }}
+ </view>
+ <view class="detail" v-if="checkItem.HMin">
+ <text>鏈�灏忓�硷細</text>{{ checkItem.HMin }}
+ </view>
+ <view class="detail" v-if="checkItem.HAvg">
+ <text>骞冲潎鍊硷細</text>{{ checkItem.HAvg }}
+ </view>
+ </view>
+ <view style="height: 20rpx"></view>
+ <view class="more">
+ <view class="part" style="color: #da0000" @tap.stop="removeCheckItem(checkItem)">
+ <uni-icons type="trash" style="color: #da0000; margin-right: 10rpx"
+ size="18"></uni-icons>鍒犻櫎
+ </view>
+ </view>
+ </uni-card>
+ </view>
+ </view>
+ <!-- 鎶芥牱妫�楠� 鍛堢幇 -->
+ <view v-if="subTabSelected == 2">
+ <view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+ <view class="list" v-else>
+ <uni-card v-for="SamplingItem in checkItems" :key="SamplingItem.num">
+ <view class="card-detail">
+ <view class="detail"> <text>搴忓彿锛�</text>{{ SamplingItem.num }} </view>
+ <view class="detail editable">
+ <text>妫�楠岄」鐩細</text>{{ SamplingItem.HQCCheckItemName }}
+ </view>
+ <view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+ <view class="detail editable" style="width: 100%">
+ <view style="flex-shrink: 0"><text>鎶芥牱鏂规锛�</text></view>
+ <input type="text" :value="SamplingItem.HSampleSchemeName" disabled />
+ <view class="icon-wrapper"><uni-icons type="search" size="16"
+ @click="showSelectorModule(SamplingItem, 1)"></uni-icons></view>
+ </view>
+ <view class="detail editable">
+ <text>鎶芥牱绫诲瀷锛�</text>{{ SamplingItem.HSamplingType }}
+ </view>
+ <view class="detail editable">
+ <text>妫�楠屾按骞筹細</text>{{ SamplingItem.HInspectionLevel }}
+ </view>
+ <view class="detail editable">
+ <text>涓ユ牸搴︼細</text>{{ SamplingItem.HStrictness }}
+ </view>
+ <view class="detail editable">
+ <text>AQL锛�</text>{{ SamplingItem.HAQL }}
+ </view>
+ <view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+ <view class="detail editable">
+ <text>鏍锋湰閲忥細</text>{{ SamplingItem.HSampleQty }}
+ </view>
+ <view class="detail editable">
+ <text>鍏佽鏁帮細</text>{{ SamplingItem.HAcceptQty }}
+ </view>
+ <view class="detail editable">
+ <text>鎷掔粷鏁帮細</text>{{ SamplingItem.HRejectQty }}
+ </view>
+ <view class="detail editable">
+ <text>鏍锋湰涓嶅悎鏍兼暟锛�</text>{{ SamplingItem.HSampleUnRightQty }}
+ </view>
+ <view class="detail editable">
+ <text>鏍锋湰鐮村潖鏁帮細</text>
+ <view class="editable-input">
+ <input type="number" v-model="SamplingItem.HSampleDamageQty" />
+ </view>
+ </view>
+ <view class="detail editable">
+ <text>妫�楠岀粨鏋滐細</text>
+ <view style="border-radius: 15%; padding: 0 10rpx" :class="
+ SamplingItem.HInspectResultToSee == '鍚堟牸'
+ ? 'pass-background'
+ : SamplingItem.HInspectResultToSee == '涓嶅悎鏍�'
+ ? 'unpass-background'
+ : ''
+ ">
+ {{ SamplingItem.HInspectResultToSee }}
+ </view>
+ </view>
+ </view>
+ </uni-card>
+ </view>
+ </view>
+ <!-- 妫�娴嬪�� 鍛堢幇 -->
+ <view v-else v-for="item in InspectModules" :key="item.id">
+ <view v-if="subTabSelected == item.id">
+ <InspectValueTemplateVue ref="InspectValueModules" :bind-key="item.id"
+ @syncCheckData="InspectValueComplete" :bind-data="{
+ data: checkItems[item.checkItemId],
+ list: InspectValues[item.checkItemId],
+ mode: 3 // 棣栨妫�娴嬪�兼ā鍧�
+ }">
+ </InspectValueTemplateVue>
+ </view>
+ </view>
+ </view>
+ </view>
+ <view style="height: 120rpx"></view>
+ <view class="bottom-btn">
+ <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+ <view style="flex: 1"></view>
+ <button class="btn-a" size="mini" @tap="addNew">鏂板</button>
+ <button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+ </view>
+ <SampleSchemePopupVue v-if="enablePopupModule == PopupModuleNameList[1]" ref="listPopup"
+ @update="SampleSchemeComplete" :bindKey="currentChechItemIDCache">
+ </SampleSchemePopupVue>
+ <CheckItemPopupVue v-if="enablePopupModule == PopupModuleNameList[2]" ref="listPopup"
+ @update="CheckItemComplete" :bindKey="currentChechItemIDCache">
+ </CheckItemPopupVue>
+ <InspectMentPopupVue v-if="enablePopupModule == PopupModuleNameList[3]" ref="listPopup"
+ @update="InspectMentComplete" :bindKey="currentChechItemIDCache">
+ </InspectMentPopupVue>
+ <MaterialPopupVue v-if="enablePopupModule == PopupModuleNameList[4]" ref="listPopup" @update="MaterComplete"
+ :bindKey="0">
+ </MaterialPopupVue>
+ <ICMOBillPopupVue v-if="enablePopupModule == PopupModuleNameList[5]" ref="listPopup" @update="ICMOBillComplete"
+ :bindKey="0"></ICMOBillPopupVue>
+ <ProcExchBillPopupVue v-if="enablePopupModule == PopupModuleNameList[6]" ref="listPopup"
+ @update="ProcExchBillComplete" :bindKey="0"></ProcExchBillPopupVue>
+ <ProcessPopupVue v-if="enablePopupModule == PopupModuleNameList[8]" ref="listPopup" @update="HProcComplete"
+ :bindKey="0"></ProcessPopupVue>
+ <CheckProjectPopupVue v-if="enablePopupModule == PopupModuleNameList[7]" ref="listPopup"
+ @update="HQCSchemeComplete" :bindKey="0"></CheckProjectPopupVue>
+ </view>
+</template>
+
+<script>
+ import dayjs from "dayjs";
+ import {
+ CommonUtils
+ } from "../../../utils/common";
+ import InspectValueTemplateVue from "@/components/ZLGL/InspectValueTemplate.vue";
+ import SampleSchemePopupVue from "@/components/ZLGL/SampleSchemePopup.vue";
+ import CheckItemPopupVue from "@/components/ZLGL/CheckItemPopup.vue";
+ import InspectMentPopupVue from "../../../components/ZLGL/InspectMentPopup.vue";
+ import MaterialPopupVue from "../../../components/ZLGL/MaterialPopup.vue";
+ import ICMOBillPopupVue from "../../../components/ZLGL/ICMOBillPopup.vue";
+ import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue";
+ import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue";
+ import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue";
+ import {
+ getUserInfo
+ } from "../../../utils/auth";
+ import {
+ MpaasScan
+ } from "../../../utils/mpaasScan";
+ export default {
+ components: {
+ InspectValueTemplateVue,
+ SampleSchemePopupVue,
+ CheckItemPopupVue,
+ InspectMentPopupVue,
+ MaterialPopupVue,
+ ICMOBillPopupVue,
+ ProcExchBillPopupVue,
+ ProcessPopupVue,
+ CheckProjectPopupVue,
+ },
+ computed: {
+ judgeConclusion: {
+ get() {
+ return true;
+ },
+ },
+ },
+ data() {
+ return {
+ operationType: 1,
+
+ mainTabSelected: 1,
+ subTabSelected: 1,
+
+ // 婧愬崟鐘舵�佹帶鍒�
+ hasSourceBill: false,
+
+ // 鎺у埗褰撳墠鏄剧ず鐨勫脊绐楁ā鍧�
+ enablePopupModule: "",
+ PopupModuleNameList: [
+ "",
+ "SampleScheme",
+ "CheckItem",
+ "InspectMent",
+ "Material",
+ "ICMOBill",
+ "ProcExchBill",
+ "QCScheme",
+ "Process",
+ ],
+ // 褰撳墠鎿嶄綔鐨勬楠屽崟ID缂撳瓨
+ currentChechItemIDCache: -1,
+
+ // uni-combox 閫夋嫨鍣ㄤ娇鐢�
+ // 鐢熶骇璧勬簮
+ GySourceList: [],
+ GySourceNameList: [],
+ // 鐝
+ GyWorkShiftList: [],
+ GyWorkShiftNameList: [],
+ // 妫�楠屽憳
+ GyFirstCheckEmpList: [],
+ GyFirstCheckEmpNameList: [],
+
+ // 妫�楠屾柟妗�
+ arrayAnalysisMethod: [{
+ value: 1,
+ name: "瀹氭�у垎鏋�",
+ },
+ {
+ value: 2,
+ name: "瀹氶噺鍒嗘瀽",
+ },
+ {
+ value: 3,
+ name: "鍏朵粬鍒嗘瀽",
+ },
+ ],
+ ArrayAnalysisMethodValue: [1, 2, 3],
+ // 瀛愯〃 椤电淇℃伅
+ subTabs: {
+ 1: {
+ id: "1",
+ name: "妫�楠岄」鐩�",
+ },
+ 2: {
+ id: "2",
+ name: "鎶芥牱妫�楠�",
+ },
+ },
+
+ // 婧愬崟绫诲瀷
+ HSourceBillType: "鐢熶骇姹囨姤鍗�",
+ HSourceBillTypeValueList: ["3771"],
+ HSourceBillTypeNameList: [
+ "鐢熶骇姹囨姤鍗�"
+ ],
+ // 涓昏〃灞炴��
+ hform: {
+ HSourceBillType: "3711",
+ HSourceBillNo: "",
+ HBillNo: "",
+ HInterID: "0",
+ HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+ HSourceName: "",
+ HSourceID: "0",
+ HShiftsName: "",
+ HShiftsID: "0",
+ HICMOBillNo: "",
+ HICMOInterID: "0",
+ HICMOEntryID: "1",
+ HICMOQty: "0",
+ HProcExchBillNo: "",
+ HProcExchInterID: "0",
+ HProcExchEntryID: "0",
+ HProcExchQty: "0",
+ HMaterNumber: "",
+ HMaterID: "0",
+ HMaterName: "",
+ HFirstCheckEmpName: "",
+ HFirstCheckEmp: 0,
+ HQCSchemeName: "",
+ HQCSchemeID: "0",
+ HBatchNo: "",
+ HLastResult: true, // 榛樿鍚堟牸
+ HProcName: "",
+ HProcID: "0",
+ HTakeSampleCheckBillNo: "", // 鍙栨牱鍗�
+ HTakeSampleCheckBillID: "0",
+ HRemark: "",
+ HErrTreatment: "", // 寮傚父涓存椂澶勭悊鏂规
+ HMaker: getUserInfo()["Czymc"] || "",
+ HChecker: "",
+ HCloseMan: "",
+ HMakeDate: dayjs(new Date()).format("YYYY-MM-DDTHH:mm:ss"),
+ HCheckDate: "",
+ HCloseDate: "",
+ HUpDater: "",
+ HDeleteMan: "",
+ HUpDateDate: "",
+ HDeleteDate: "",
+ HResult: 1,
+ HAnalysisMethod: "",
+
+ HResDec: "",
+ HStatus: 1,
+
+ HMainSourceBillType: "",
+ HMainSourceInterID: "0",
+ HMainSourceEntryID: "1",
+ HMainSourceBillNo: "",
+ },
+ // 妫�楠岄」鐩拰鎶芥牱妫�楠� 鍊�
+ checkItems: {},
+ // 妫�娴嬪�兼ā鍧�
+ InspectModules: {},
+ // 妫�娴嬪��
+ InspectValues: {},
+ };
+ },
+ methods: {
+ // 妫�楠屽�� 璁$畻鏄惁鍚堟牸
+ calcHResult(item){
+ // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
+ console.log('item: ',item);
+ if(item.HSampleSchemeID) {
+ return
+ }
+
+ if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
+ this.checkItems[item.num].HResult = true
+ return
+ }
+
+ this.checkItems[item.num].HResult = false
+ },
+ // 婧愬崟绫诲瀷閫夋嫨
+ HSourceBillTypeNameChange(e) {
+ this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value];
+ this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value];
+ },
+ toScanCode() {
+ MpaasScan.scanCode((res) => {
+ if (res) {
+ this.getSourceBillInfo(HBarCode);
+ }
+ });
+ },
+ async getSourceBillInfo(HBarCode) {
+ console.log('HBarCode: ', HBarCode);
+ // 鏍规嵁鍗曟嵁绫诲瀷锛岃皟鐢ㄤ笉鍚岀殑涓嬫帹鍑芥暟
+ if (this.hform.HSourceBillType == 3711) {
+ // 宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛ㄩ妫�
+ await this.LoadingInformation_ICMOReportBill(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ // if (this.hform.HSourceBillType == 3790) {
+ // // 宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛ㄩ妫�
+ // await this.LoadingInformation_StationInBill(HBarCode);
+ // if (
+ // (uni.getStorageSync("OrganizationID") == "7667152" &&
+ // uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ // (uni.getStorageSync("OrganizationID") == "100199" &&
+ // uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ // ) {
+ // await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ // }
+ // return;
+ // }
+ if (this.hform.HSourceBillType == 3793) {
+ // 宸ュ簭濮斿鎺ユ敹鍗曞垪琛ㄩ妫�
+ await this.LoadingInformation_StationEntrustOutBill(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ if (this.hform.HSourceBillType == 3710) {
+ // 鐢熶骇璁㈠崟鍒楄〃棣栨
+ await this.LoadingInformation_ICMO(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ if (this.hform.HSourceBillType == 3772) {
+ // 宸ュ簭娴佽浆鍗″垪琛ㄩ妫�
+ await this.LoadingInformation_ProcExchange(HBarCode);
+ if (
+ (uni.getStorageSync("OrganizationID") == "7667152" &&
+ uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+ (uni.getStorageSync("OrganizationID") == "100199" &&
+ uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+ ) {
+ await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+ }
+ return;
+ }
+ },
+ async GetCheckItemID() {
+ if (!this.hform.HMaterName && !this.hform.HProcName) {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Web/GetCheckItemID",
+ data: {
+ HName: this.hform.HMaterName,
+ HProName: this.hform.HProcName,
+ HSourceID: this.hform.HSourceID,
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].hmainid;
+
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${err}`,
+ });
+ }
+ }
+ },
+ //#region 涓�鑷�
+ async LoadingInformation_ProcExchange(HBarCode) {
+ // 宸ュ簭娴佽浆鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/CheckBill/get_ProcessExchangeBill_ByBillNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+ this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ this.hform.HProcExchInterID = data[0].HProcExchInterID;
+ this.hform.HProcExchEntryID = data[0].HProcExchEntryID || 0;
+ this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+ this.hform.HICMOInterID = data[0].HICMOInterID;
+ this.hform.HICMOQty = data[0].HICMOQty || 0;
+ this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+ this.hform.HSourceID = data[0].HSourceID || 0;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+ this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HMainSourceBillType = data[0].HBillType;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+ this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+ this.hform.HBatchNo = data[0].鎵瑰彿;
+
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ //#endregion
+
+ //#region 淇敼
+ async LoadingInformation_ICMO(HBarCode) {
+ // 鐢熶骇璁㈠崟
+ try {
+ let sWhere="and 鍗曟嵁鍙�='"+HBarCode+"'"
+ console.log(sWhere)
+ let res = await CommonUtils.doRequest2Async({
+ url: "/LEMS/MES_IF_ICMOBillList_Json",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${Message}`,
+ });
+ return;
+ }
+ //鐢熶骇鏀�
+ //this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ //this.hform.HProcExchInterID = data[0].HProcExchInterID;
+ //this.hform.HProcExchEntryID = data[0].HProcExchEntryID;
+ //this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ this.hform.HICMOBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HICMOInterID = data[0].hmainid;
+ this.hform.HICMOQty = data[0].鐢熶骇浠诲姟鍗曟暟閲�;
+ this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+ this.hform.HSourceID = data[0].HSourceID;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterNumber=data[0].浜у搧浠g爜
+ this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+ this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ this.hform.HMainSourceBillType = data[0].鍗曟嵁绫诲瀷;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+ this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${err}`,
+ });
+ }
+ },
+ //#endregion
+
+ //#region 涓�鑷�
+ async LoadingInformation_StationEntrustOutBill(HBarCode) {
+ // 宸ュ簭濮斿鎺ユ敹鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Cj_StationEntrustOutBill/list",
+ data: {
+ sWhere: ` and HBillNo = '${HBarCode}'`,
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+
+ HProcExchBillNo = data[0].娴佽浆鍗″彿;
+ HProcExchInterID = data[0].HProcExchInterID;
+ HProcExchEntryID = data[0].HProcExchEntryID;
+ HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+ HICMOBillNo = data[0].鐢熶骇璁㈠崟鍙�;
+ HICMOInterID = data[0].HICMOInterID;
+ HICMOQty = data[0].HICMOQty;
+ HSourceName = data[0].鐢熶骇璧勬簮;
+ HSourceID = data[0].HSourceID;
+ HMaterID = data[0].HMaterID;
+ HMaterName = data[0].浜у搧鍚嶇О;
+ HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+ HMainSourceBillType = data[0].HBillType;
+ HMainSourceInterID = data[0].hmainid;
+ HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ //#endregion
+
+ async LoadingInformation_ICMOReportBill(HBarCode) {
+ // 鐢熶骇姹囨姤鍗�
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_LastPieceCheckBill/get_ICMOReportBill_Tmp_getByBillNo",
+ data: {
+ HBillNo: HBarCode,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇姹囨姤鍗� 閿欒: ${Message}`,
+ });
+ return;
+ }
+ //change_inlife
+ this.hform.HMainSourceEntryID=data[0].HEntryID||1;
+ this.hform.HMaterNumber=data[0].HMaterNumber;
+ this.hform.HICMOBillNo = data[0].HICMOBillNo;
+ this.hform.HICMOInterID = data[0].HICMOInterID;
+ this.hform.HICMOQty = data[0].HICMOQty;
+ this.hform.HSourceName = data[0].HSourceName;
+ this.hform.HSourceID = data[0].HSourceID;
+ this.hform.HMaterID = data[0].HMaterID;
+ this.hform.HMaterName = data[0].HMaterName;
+ this.hform.HMainSourceBillNo = data[0].HBillNo;
+ this.hform.HMainSourceBillType = data[0].HBillType;
+ this.hform.HMainSourceInterID = data[0].HInterID;
+ this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+ this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+ this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+
+
+ for (let i = 0; i < data.length; i++) {
+ this.addCheckItem(data[i])
+ }
+
+ this.hasSourceBill = true
+ this.get_CheckItem();
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇姹囨姤鍗� 閿欒: ${err}`,
+ });
+ }
+ },
+ // 妫�楠屽憳鍒濆鍖�
+ async InitHEmp() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_Employee/list",
+ data: {
+ sWhere: ` and 缁勭粐鍚嶇О = '${uni.getStorageSync(
+ "Organization"
+ )}' and 绂佺敤鏍囪 = ''and 瀹℃牳浜� !='' order by 閮ㄩ棬浠g爜`,
+ user: getUserInfo()["Czymc"],
+ Organization: uni.getStorageSync("Organization"),
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ console.log("data: ", data);
+ this.GyFirstCheckEmpList = data;
+ this.GyFirstCheckEmpNameList = Array.from(data).map((e) => e["鑱屽憳鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栨楠屽憳澶辫触: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栨楠屽憳澶辫触: ${err}`,
+ });
+ }
+ },
+ async HFirstCheckEmpChange(e) {
+ console.log("閫変腑妫�楠屽憳: ", e);
+ let index = this.GyFirstCheckEmpList.findIndex((elem) => elem["鑱屽憳鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HFirstCheckEmp = 0;
+ this.hform.HFirstCheckEmpName = "";
+ return;
+ }
+
+ this.hform.HFirstCheckEmp = this.GyFirstCheckEmpList[index]["HItemID"];
+ this.hform.HFirstCheckEmpName = this.GyFirstCheckEmpList[index]["鑱屽憳鍚嶇О"];
+ },
+ // 鐢熶骇鐝鍒濆鍖�
+ async InitHWorkShift() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_ShiftsController/Get_Gy_WorkShiftList",
+ data: {
+ sWhere: ` and 绂佺敤鏍囪 = '' and ISNULL(瀹℃牳浜�,'') != '' and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync(
+ "Organization"
+ )}'`,
+ HMaker: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ console.log("data: ", data);
+ this.GyWorkShiftList = data;
+ this.GyWorkShiftNameList = Array.from(data).map((e) => e["鐝鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫彮娆″け璐�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫彮娆″け璐�: ${err}`,
+ });
+ }
+ },
+ async HWorkShiftChange(e) {
+ console.log("閫変腑鐝: ", e);
+ let index = this.GyWorkShiftList.findIndex((elem) => elem["鐝鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HWorkShiftID = 0;
+ this.hform.HWorkShiftName = "";
+ return;
+ }
+
+ this.hform.HWorkShiftID = this.GySourceList[index]["HInterID"];
+ this.hform.HWorkShiftName = this.GySourceList[index]["鐝鍚嶇О"];
+ },
+ // 鐢熶骇璧勬簮鏇存柊
+ // 鐢熶骇璧勬簮鍒濆鍖�
+ async InitHSource() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_Source/list",
+ data: {
+ sWhere: `and 绂佺敤鏍囪 != 'Y' and ISNULL(瀹℃牳浜�,'') != '' and HUSEORGID = '100038'`,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+
+ if (count == 1) {
+ this.GySourceList = data;
+ this.GySourceNameList = Array.from(data).map((e) => e["鐢熶骇璧勬簮鍚嶇О"]);
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${err}`,
+ });
+ }
+ },
+ // 鐢熶骇璧勬簮鏇存柊
+ async HSourceChange(e) {
+ console.log("閫変腑鐢熶骇璧勬簮: ", e);
+ let index = this.GySourceList.findIndex((elem) => elem["鐢熶骇璧勬簮鍚嶇О"] == e);
+ if (index == -1) {
+ this.hform.HSourceID = 0;
+ this.hform.HSourceName = "";
+ return;
+ }
+
+ this.hform.HSourceID = this.GySourceList[index]["HItemID"];
+ this.hform.HSourceName = this.GySourceList[index]["鐢熶骇璧勬簮鍚嶇О"];
+
+ this.get_ICMOBillStatusList();
+ this.get_QC_TakeSampleCheckBillList();
+ this.GetCheckItemID();
+ },
+ // 鏄剧ず寮圭獥
+ async showSelectorModule(item, index) {
+ this.currentChechItemIDCache = item.num || 0; // 0 琛ㄧず娌℃湁浠讳綍瀛愯〃琚�変腑
+ this.enablePopupModule = this.PopupModuleNameList[index];
+ console.log("this.$refs: ", this.$refs);
+ await this.$nextTick();
+ if (index == 7) {
+ // 妫�楠屾柟妗堥渶瑕侀澶栦紶閫掑伐搴忓拰鐗╂枡鍚嶇О涓や釜鍙傛暟
+ this.$refs.listPopup.setRequiredInfo(item.HMaterName, item.HProcName);
+ }
+
+ this.$refs.listPopup.showPopup();
+ },
+ getAnalysisMethodDisplay(val) {
+ console.log("AnalysisMethodVal: ", val);
+ if (val) {
+ return this.arrayAnalysisMethod.find((e) => e.value == val).name;
+ }
+ return "";
+ },
+ checkResultChange(event) {
+ console.log("event: ", event);
+ },
+ // 妫�楠岄」鐩柊澧炶
+ addCheckItem(resource) {
+ let ordinal = this.getObjLength(this.checkItems) + 1;
+ let checkItem = {
+ num: ordinal,
+ HInterID: this.hform.HInterID,
+ HQCCheckItemID: "",
+ HQCCheckItemNumber: "",
+ HQCCheckItemName: "",
+ HInspectInstruMentID: "0",
+ HInspectInstruMentNumber: "",
+ HInspectInstruMentName: "",
+ HQCStd: "",
+ HUnit: "",
+ HQCNote: "",
+ HAnalysisMethod: "",
+ HResult: 1,
+ HMax: "",
+ HMin: "",
+ HAvg: "",
+ HRemark: "",
+ HKeyInspect: false,
+ HStatus: 1,
+ HSampleSchemeID: "",
+ HUnitID: 0,
+ HInspectVal: "",
+ HTargetVal: "",
+ HUpLimit: "",
+ HDownLimit: "",
+ HUpOffSet: "",
+ HDownOffSet: "",
+ HSampleDamageQty: 0,
+ HSampleSchemeName: "",
+ HSampleQty: 0,
+ HAcceptQty: 0,
+ HInspectionLevel: "",
+ HRejectQty: 0,
+ HStrictness: "",
+ HSampleUnRightQty: 0,
+ HAQL: "",
+ HSamplingType: "",
+ HInspectResultToSee: "",
+ };
+ if (resource) {
+ // 閫氳繃涓昏〃妫�楠屾柟妗堝甫鍑虹殑妫�楠岄」鐩�
+ Object.assign(checkItem, resource);
+ }
+ this.$set(this.checkItems, ordinal, checkItem);
+ this.$nextTick(() => {
+ // 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+ this.setInspectValModule(this.checkItems[ordinal]);
+ });
+ },
+ // 妫�楠岄」鐩垹闄よ
+ removeCheckItem(item) {
+ uni.showModal({
+ title: "娓╅Θ鎻愮ず",
+ content: `纭瑕佸垹闄ょ${item.num}琛屽悧锛熷垹闄ゅ悗涓嶈兘鎭㈠`,
+ success: (res) => {
+ if (res.confirm) {
+ this.$delete(this.checkItems, item.num);
+ this.$delete(this.subTabs, `_${item.num}`);
+ this.$forceUpdate();
+ this.refreshCheckItemNum();
+ }
+ },
+ });
+ },
+ async refreshCheckItemNum() {
+ await this.$nextTick();
+ // 閲嶆帓搴忓彿
+ let num = 1;
+ let checkItemsCache = {};
+ for (let s in this.checkItems) {
+ checkItemsCache[num] = this.checkItems[s];
+ checkItemsCache[num].num = num;
+ num++;
+ }
+ this.checkItems = checkItemsCache;
+ },
+ getObjLength(obj) {
+ return Object.keys(obj).length;
+ },
+ // 缁撹淇敼
+ HResultChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HResult"] = e.detail.value ? 1 : 2;
+
+ this.HCheckLastResult();
+ },
+ // 姣忔妫�楠岄」鐩殑缁撹鏇存柊锛岄兘瑕佸垽鏂渶缁堢粨璁�
+ HCheckLastResult() {
+ let unPassNum = 0;
+ for (var key in this.checkItems) {
+ if (!(this.checkItems[key]["HResult"] == 1)) {
+ unPassNum++;
+ }
+ }
+
+ if (unPassNum > 0) {
+ this.hform.HLastResult = false;
+ return;
+ }
+ this.hform.HLastResult = true;
+ },
+ // 妫�楠屾柟妗堜慨鏀�
+ HAnalysisMethodChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HAnalysisMethod"] = this.arrayAnalysisMethod[e.detail.value][
+ "value"
+ ];
+
+ // 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+ this.setInspectValModule(this.checkItems[id]);
+ },
+ // 閲嶇偣妫�鏌ヤ慨鏀�
+ HKeyInspectChange(id, e) {
+ console.log("e: ", e);
+ this.checkItems[id]["HKeyInspect"] = e.detail.value;
+ },
+ // 妫�楠岄」鐩繑鍥�
+ async CheckItemComplete(e) {
+ console.log("CheckItemRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HQCCheckItemID: data["HItemID"],
+ HQCCheckItemNumber: data["浠g爜"],
+ HQCCheckItemName: data["鍚嶇О"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屾柟妗堣繑鍥�
+ async SampleSchemeComplete(e) {
+ console.log("SampleSchemeRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HSampleSchemeID: data["hmainid"],
+ HSampleSchemeNumber: data["鎶芥牱鏂规浠g爜"],
+ HSampleSchemeName: data["鎶芥牱鏂规鍚嶇О"],
+ HSampleQty: data["鏍锋湰閲�"] || 0,
+ HAcceptQty: data["鍏佽鏁�"] || 0,
+ HInspectionLevel: data["妫�楠屾按骞�"],
+ HRejectQty: data["鎷掔粷鏁�"] || 0,
+ HStrictness: data["涓ユ牸搴�"],
+ HSampleUnRightQty: data["鏍锋湰涓嶅悎鏍兼暟"] || 0,
+ HAQL: data["AQL"],
+ HSamplingType: data["鎶芥牱绫诲瀷"],
+ HInspectResultToSee: data["妫�楠岀粨鏋�"],
+ HUpLimit: data["涓婇檺鍊�"] || 0,
+ HDownLimit: data["涓嬮檺鍊�"] || 0,
+ HSampleDamageQty: data["鏍锋湰鐮村潖鏁�"] || 0,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ this.setInspectValModule(this.checkItems[key]);
+
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屼华鍣ㄨ繑鍥�
+ async InspectMentComplete(e) {
+ console.log("InspectInstruMentRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.checkItems[key], {
+ HInspectInstruMentID: data["HItemID"],
+ HInspectInstruMentNumber: data["妫�楠屼华鍣ㄤ唬鐮�"],
+ HInspectInstruMentName: data["妫�楠屼华鍣ㄥ悕绉�"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 浜у搧浠g爜杩斿洖
+ async MaterComplete(e) {
+ console.log("MaterRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HMaterNumber: data["鐗╂枡浠g爜"],
+ HMaterName: data["鐗╂枡鍚嶇О"],
+ HMaterID: data["HItemID"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ this.GetCheckItemID();
+ }
+ },
+ // 浠诲姟鍗曡繑鍥�
+ async ICMOBillComplete(e) {
+ console.log("ICMOBillRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HICMOInterID: data.hmainid,
+ HICMOEntryID: data.HEntryID || 1,
+ HICMOBillNo: data.鍗曟嵁鍙�,
+ HMaterNumber: data.浜у搧浠g爜,
+ HMaterName: data.浜у搧鍚嶇О,
+ HMaterID: data.HMaterID,
+ HICMOQty: data.鐢熶骇浠诲姟鍗曟暟閲�,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 娴佽浆鍗¤繑鍥�
+ async ProcExchBillComplete(e) {
+ console.log("ProcExchBillRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HProcExchInterID: data.hmainid,
+ HProcExchEntryID: data.hsubid,
+ HProcExchBillNo: data.鍗曟嵁鍙�,
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 妫�楠屾柟妗�(涓昏〃)杩斿洖
+ async HQCSchemeComplete(e) {
+ console.log("HQCSchemeRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HQCSchemeID: data.hmainid,
+ HQCSchemeName: data.妫�楠屾柟妗堝悕绉�,
+ });
+ await this.get_CheckItem();
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ }
+ },
+ // 宸ュ簭杩斿洖
+ async HProcComplete(e) {
+ console.log(" HProcRet: ", e);
+ for (var key in e["retVal"]) {
+ let data = e["retVal"][key];
+ Object.assign(this.hform, {
+ HProcName: data["宸ュ簭鍚嶇О"],
+ HProcID: data["HItemID"],
+ });
+ await this.$nextTick();
+ this.$refs.listPopup.exit();
+ // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+ await this.$nextTick();
+ this.enablePopupModule = this.PopupModuleNameList[0];
+ await this.GetCheckItemID();
+ await this.get_ICMOBillStatusList();
+ await this.get_QC_TakeSampleCheckBillList();
+ }
+ },
+
+ //
+ async get_QC_TakeSampleCheckBillList() {
+ // 鍙栨牱鍗曟煡璇�
+ let HProcID = this.hform.HProcID;
+ let HProcExchInterId = this.hform.HProcExchInterID;
+ let sWhere = "";
+
+ if (HProcID == "0" || HProcID == "") {
+ CommonUtils.showTips({
+ message: "璇烽�夋嫨宸ュ簭",
+ });
+ return;
+ }
+
+ sWhere = " and 宸ュ簭娴佽浆鍗′富鍐呯爜='" + HProcExchInterID + "' and HProcID=" + HProcID;
+
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "//QC_TakeSampleCheckBill/QC_TakeSampleCheckBillMainList",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${Message}`,
+ });
+ }
+
+ this.hform.HTakeSampleCheckBillID = data[0]["hmainid"];
+ this.hform.HTakeSampleCheckBillNo = data[0]["鍗曟嵁鍙�"];
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${err}`,
+ });
+ }
+ },
+ async get_ICMOBillStatusList() {
+ let sWhere = "";
+ let HProcID = this.hform.HProcID;
+ let HSourceID = this.hform.HSourceID;
+ let HProcExchInterId = this.hform.HProcExchInterID;
+
+ if (HProcID != "0") {
+ sWhere += " and HProcID=" + HProcID;
+ }
+ if (HSourceID != "0") {
+ sWhere += " and HSourceID=" + HSourceID;
+ }
+
+ sWhere += " and HSourceInterID=" + HProcExchInterID;
+
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/CheckBill/GetICMOBillStatusList",
+ data: {
+ sWhere: sWhere,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+ if (count != 1) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${Message}`,
+ });
+ }
+
+ this.hform.HProcID = data[0]["HProcID"];
+ this.hform.HProcName = data[0]["宸ュ簭"];
+ this.hform.HSourceID = data[0]["HSourceID"];
+ this.hform.HSourceName = data[0]["鐢熶骇璧勬簮"];
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${err}`,
+ });
+ }
+ },
+ setInspectValModule(checkItem) {
+ console.log("checkItem: ", checkItem);
+ if (!checkItem || !checkItem.HAnalysisMethod || !checkItem.HSampleSchemeID) {
+ return;
+ }
+ // 鍖哄垎妫�楠屽�奸〉绛惧拰闈欐�侀〉绛撅紝妫�楠屽�奸〉绛剧殑id浠寮�澶�
+ this.$set(this.InspectModules, `_${checkItem.num}`, {
+ id: `_${checkItem.num}`,
+ checkItemId: checkItem.num,
+ });
+ console.log(" this.arrayAnalysisMethod: ", checkItem.HAnalysisMethod);
+ let analysisMethodName = this.arrayAnalysisMethod.find(
+ (e) => e.value == checkItem.HAnalysisMethod
+ ).name;
+ this.$set(this.subTabs, `_${checkItem.num}`, {
+ id: `_${checkItem.num}`,
+ name: `${analysisMethodName}-${checkItem.HQCCheckItemName}`,
+ });
+ },
+ InspectValueUpdate(e) {
+ console.log("e: ", e);
+ let {
+ data,
+ list
+ } = e;
+ this.checkItems[data.num] = Object.assign(this.checkItems[data.num], data);
+ this.$set(this.InspectValues, `${data.num}`, list);
+ },
+ // 甯﹀嚭妫�楠岄」鐩�
+ async get_CheckItem() {
+ // 棣栧厛娓呯┖妫�楠岄」鐩� 鍜� 妫�楠屽��
+ this.checkItems = {}
+ for (let key in this.subTabs) {
+ if (key.substring(1) == "_") {
+ this.$delete(this.subTabs, key)
+ }
+ }
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Web/GetCheckItemByCheckProjectID",
+ data: {
+ CheckProjectID: this.hform.HQCSchemeID || 0,
+ HBatchQty: this.hform.HProcExchQty || 0,
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+
+ if (count == 1) {
+ for (var i = 0; i < data.length; i++) {
+ let checkItem = {
+ HQCCheckItemID: data[i]["HQCCheckItemID"],
+ HQCCheckItemNumber: data[i]["妫�楠岄」鐩唬鐮�"],
+ HQCCheckItemName: data[i]["妫�楠岄」鐩�"],
+ HInspectInstruMentID: data[i]["HInspectInstruMentID"],
+ HInspectInstruMentNumber: data[i]["妫�楠屼华鍣ㄤ唬鐮�"],
+ HInspectInstruMentName: data[i]["妫�楠屼华鍣�"],
+ HQCStd: data[i]["HQCStd"],
+ HUnit: data[i]["鍗曚綅鍚嶇О"],
+ HQCNote: "",
+ HAnalysisMethod: data[i]["鍒嗘瀽鏂规硶"],
+ HResult: data[i]["榛樿缁撹"],
+ HMax: "",
+ HMin: "",
+ HAvg: "",
+ HRemark: "",
+ HKeyInspect: data[i]["閲嶇偣妫�鏌�"] == 1 ? true : false,
+ HStatus: 0,
+ HSampleSchemeID: data[i]["HSampleSchemeID"],
+ HUnitID: data[i]["HUnitID"],
+ HInspectVal: "",
+ HTargetVal: "",
+ HUpLimit: data[i].涓婇檺鍊�,
+ HDownLimit: data[i].涓嬮檺鍊�,
+ HUpOffSet: "",
+ HDownOffSet: "",
+ HSampleDamageQty: "0",
+ HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[i].鏍锋湰閲�,
+ HAcceptQty: data[i].鍏佽鏁�,
+ HInspectionLevel: data[i].妫�楠屾按骞�,
+ HRejectQty: data[i].鎷掔粷鏁�,
+ HStrictness: data[i].涓ユ牸搴�,
+ HSampleUnRightQty: 0,
+ HAQL: data[i].AQL,
+ HSamplingType: data[i].鎶芥牱绫诲瀷,
+ HCompareSymbol: data[i].姣旇緝绗�,
+ HTargetVal: data[i].鐩爣鍊� || 0,
+ };
+
+ this.addCheckItem(checkItem);
+ }
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${Message} `,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${err} `,
+ });
+ }
+ },
+ async getMaxBillNo() {
+ try {
+ let res = await CommonUtils.doRequest2Sync({
+ url: "/Web/GetMAXNum",
+ data: {
+ HBillType: "7501",
+ },
+ });
+
+ if (!res) {
+ return;
+ }
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data;
+ if (count == 1) {
+ this.hform.HInterID = data[0].HInterID;
+ this.hform.HBillNo = data[0].HBillNo;
+ } else {
+ throw Message;
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: "鑾峰彇鍗曟嵁鍙峰紓甯�: " + err,
+ });
+ }
+ },
+ // 妫�楠屽�艰繑鍥炲��
+ InspectValueComplete(e) {
+ console.log("e: ", e);
+ let key = e.num;
+ e.HStatus = e.HStatus ? 1 : 0
+ if (e.HResult2 == '') {
+ e.HResult2 = this.checkItems[key].HResult
+ }
+ Object.assign(this.checkItems[key], e);
+ this.checkItems[key].HInspectResultToSee = this.checkItems[key].HResult2;
+ this.checkItems[key].HResult = this.checkItems[key].HResult2 == '鍚堟牸' ? 1 : 2;
+
+ this.HCheckLastResult();
+
+ },
+ checkSubmitValidate() {
+ // if (this.hform.HICMOQty == "" || this.hform.HICMOQty <= 0) {
+ // CommonUtils.showTips({
+ // message: "浠诲姟鍗曟暟閲忎笉鑳戒负绌轰笖涓嶈兘灏忎簬绛変簬0锛�",
+ // });
+ // return false;
+ // }
+
+ if (this.hform.HFirstCheckEmp == 0) {
+ CommonUtils.showTips({
+ message: "妫�楠屽憳鏈�夋嫨锛�",
+ });
+ return false;
+ }
+
+ for (let key in this.checkItems) {
+ if (!this.checkItems[key].HQCCheckItemID) {
+ CommonUtils.showTips({
+ message: `绗�${this.checkItems[key].num}琛屾楠岄」鐩笉鑳戒负绌�!`,
+ });
+ return false;
+ }
+
+ if (
+ this.checkItems[key].HSampleSchemeID == "" ||
+ this.checkItems[key].HSampleSchemeID == null
+ ) {
+ this.checkItems[key].HSampleSchemeID = 0;
+ }
+ if (
+ this.checkItems[key].HSampleQty == "" ||
+ this.checkItems[key].HSampleQty == null
+ ) {
+ this.checkItems[key].HSampleQty = 0;
+ }
+ if (
+ this.checkItems[key].HSampleDamageQty == "" ||
+ this.checkItems[key].HSampleDamageQty == null
+ ) {
+ this.checkItems[key].HSampleDamageQty = 0;
+ }
+ if (
+ this.checkItems[key].HAcceptQty == "" ||
+ this.checkItems[key].HAcceptQty == null
+ ) {
+ this.checkItems[key].HAcceptQty = 0;
+ }
+ if (
+ this.checkItems[key].HRejectQty == "" ||
+ this.checkItems[key].HRejectQty == null
+ ) {
+ this.checkItems[key].HRejectQty = 0;
+ }
+ if (
+ this.checkItems[key].HSampleUnRightQty == "" ||
+ this.checkItems[key].HSampleUnRightQty == 0
+ ) {
+ this.checkItems[key].HSampleUnRightQty = 0;
+ }
+ if (this.checkItems[key].HUnitID == "") {
+ this.checkItems[key].HUnitID = 0;
+ }
+ }
+
+ return true;
+ },
+ async submit() {
+ if (!this.checkSubmitValidate()) {
+ return;
+ }
+ try {
+ console.log('this.$refs: ', this.$refs);
+ // 妫�鏌ユ槸鍚︽湁鏈垏鎹㈢殑妫�楠屽�兼ā鍧�(鏄惁鍖呭惈set_SaveValue鏂规硶),濡傛灉鏈夛紝鍒欒繍琛屼竴娆′繚瀛樻楠屽�肩殑鏂规硶锛屾牴鎹楠屽�兼槸鍚︿繚瀛樻垚鍔熷啀鎵ц涓嬩竴姝�
+ if (typeof this.$refs.InspectValueModules != "undefined" && this.$refs.InspectValueModules.length >
+ 0) {
+ // 鍔犺浇鏈夋楠屽�兼ā鍧�
+ await this.$refs.InspectValueModules[0].set_SaveValue();
+ this.InspectValues[0] = this.$refs.InspectValueModules[0].InSpectValues;
+ await this.InspectValueComplete(this.$refs.InspectValueModules[0].checkData)
+ }
+ let InspectValuesTrans = [];
+ let HInterID = this.hform.HInterID;
+ for (let key in this.InspectValues) {
+ let HEntryID = key;
+
+ InspectValuesTrans.push(
+ `${JSON.stringify(this.InspectValues[key])}`
+ );
+ }
+ let checkItemsArray = [];
+ for (var key in this.checkItems) {
+ let checkItem = JSON.parse(JSON.stringify(this.checkItems[key]))
+ delete checkItem.data
+ checkItemsArray.push(checkItem);
+ }
+ console.log('checkItemsArray: ', checkItemsArray);
+ let sMainSub = `${JSON.stringify(this.hform)};${JSON.stringify(
+ checkItemsArray
+ )};${this.operationType};${getUserInfo()["Czymc"]};${InspectValuesTrans[0]}`;
+ console.log("this.checkItems: ", this.checkItems);
+
+ let res = await CommonUtils.doRequest2Sync({
+ url: "/QC_LastPieceCheckBill/set_SaveBill",
+ data: {
+ sMainSub: sMainSub,
+ },
+ method: "POST",
+ });
+
+ if (!res) {
+ return;
+ }
+
+ let {
+ count,
+ Message,
+ data
+ } = res.data;
+ if (count == 1) {
+ uni.showModal({
+ title: "鎻愮ず",
+ content: res.data.Message + "銆傛槸鍚︾户缁柊澧烇紵",
+ success: (res) => {
+ if (res.confirm) {
+ console.log("鐢ㄦ埛鐐瑰嚮纭畾");
+ uni.redirectTo({
+ url: "/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2?operationType=1",
+ });
+ } else if (res.cancel) {
+ console.log("鐢ㄦ埛鐐瑰嚮鍙栨秷");
+ // setTimeout(() => {
+ // uni.navigateBack();
+ // }, 50)
+ }
+ },
+ });
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${err}`,
+ });
+ }
+ },
+ addNew() {
+ uni.redirectTo({
+ url: "/pages/ZLGL/shoujianjianyan/firstCheckBillList?operationType=1",
+ });
+ },
+ goBack() {
+ uni.navigateBack();
+ },
+ async RoadBillMain() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/QC_FirstPieceCheckBill/QC_FirstPieceCheckBill_Edit",
+ data: {
+ sWhere: ` and hmainid=${this.hform.HInterID}`,
+ user: getUserInfo()["Czymc"],
+ },
+ });
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data;
+
+ if (count == 1) {
+ console.log("RoadBillMain: : ", data);
+ Object.assign(this.hform, {
+ HInterID: data[0].hmainid,
+ HBillNo: data[0].鍗曟嵁鍙�,
+ HDate: dayjs(data[0].鏃ユ湡).format("YYYY-MM-DD"),
+ HSourceID: data[0].HSourceID,
+ HSourceName: data[0].鐢熶骇璧勬簮鍚嶇О,
+ HICMOBillNo: data[0].浠诲姟鍗曞彿,
+ HICMOQty: data[0].浠诲姟鍗曟暟閲�,
+ HICMOInterID: data[0].HICMOInterID,
+ HICMOEntryID: data[0].HICMOEntryID || 1,
+ HMaterID: data[0].HMaterID,
+ HMaterName: data[0].鐗╂枡鍚嶇О,
+ HMaterNumber: data[0].鐗╂枡浠g爜,
+ HProcID: data[0].HProcID,
+ HProcName: data[0].HProcName,
+ HProcExchQty: data[0].HProcExchQty || 0,
+ HProcExchBillNo: data[0].HProcExchBillNo,
+ HProcExchInterID: data[0].HProcExchInterID,
+ HProcExchEntryID: data[0].HProcExchEntryID || 0,
+ HFirstCheckEmp: data[0].HFirstCheckEmp,
+ HFirstCheckEmpName: data[0].璐ㄦ鍛樺悕绉�,
+ HQCSchemeID: data[0].妫�楠屾柟妗圛D,
+ HQCSchemeName: data[0].妫�楠屾柟妗堝悕绉�,
+ HRemark: data[0].琛ㄥご澶囨敞,
+ HMaker: data[0].鍒跺崟浜�,
+ HMakeDate: data[0].鍒跺崟鏃ユ湡,
+ HChecker: data[0].瀹℃牳浜�,
+ HCheckDate: data[0].瀹℃牳鏃ユ湡,
+ HCloseMan: data[0].鍏抽棴浜�,
+ HCloseDate: data[0].鍏抽棴鏃ユ湡,
+ HUpDateDate: data[0].淇敼鏃ユ湡,
+ HDeleteDate: data[0].浣滃簾鏃ユ湡,
+ HSampleSchemeID: data[0].HSampleSchemeID,
+ HSampleSchemeName: data[0].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[0].鏍锋湰閲�,
+ HSampleQty2: data[0].鏍锋湰閲�,
+ HSampleDamageQty: data[0].鏍锋湰鐮村潖鏁�,
+ HSamplingType: data[0].鎶芥牱绫诲瀷,
+ HAcceptQty: data[0].鍏佽鏁�,
+ HInspectionLevel: data[0].妫�楠屾按骞�,
+ HRejectQty: data[0].鎷掔粷鏁�,
+ HStrictness: data[0].涓ユ牸搴�,
+ HSampleUnRightQty: data[0].鏍锋湰涓嶅悎鏍兼暟 || 0,
+ HSampleUnRightQty2: data[0].鏍锋湰涓嶅悎鏍兼暟,
+ HAQL: data[0].AQL,
+ HUnitID: data[0].HUnitID,
+ HUnit: data[0].鍗曚綅,
+ HInspectValB: data[0].妫�娴嬪�煎熀纭�璧勬枡,
+ HInspectVal: data[0].妫�娴嬪��,
+ HTargetValB: data[0].鐩爣鍊煎熀纭�璧勬枡,
+ HTargetVal: data[0].鐩爣鍊�,
+ HUpLimit: data[0].涓婇檺鍊�,
+ HDownLimit: data[0].涓嬮檺鍊�,
+ HUpOffSet: data[0].涓婂亸宸�,
+ HDownOffSet: data[0].涓嬪亸宸�,
+ HEntryID: data[0].hsubid,
+ HQCCheckItemName: data[0].妫�楠岄」鐩悕绉�,
+ HQCCheckItemID: data[0].HQCCheckItemID,
+ HShiftsID: data[0].HShiftsID,
+ HShiftsName: data[0].鐝鍚嶇О,
+ HErrTreatment: data[0].寮傚父涓存椂澶勭悊鏂规,
+ HBatchNo: data[0].鎵瑰彿,
+ HLastResult: data[0].鍒ゅ畾缁撹 == "鍚堟牸" ? true : false,
+ HTakeSampleCheckBillID: data[0].HTakeSampleCheckBillID,
+ HTakeSampleCheckBillNo: data[0].HTakeSampleCheckBillNo,
+ HAnalysisMethod: function() {
+ if (data[0].HAnalysisMethod == 1) {
+ return '瀹氭�ф楠�'
+ } else if (data[0].HAnalysisMethod == 2) {
+ return '瀹氶噺妫�楠�'
+ } else {
+ return '鍏朵粬妫�楠�'
+ }
+ }(),
+
+
+
+ });
+
+ for (let i = 0; i < data.length; i++) {
+ this.addCheckItem({
+ HQCCheckItemID: data[i].HQCCheckItemID,
+ HQCCheckItemNumber: data[i].妫�楠岄」鐩唬鐮�,
+ HQCCheckItemName: data[i].妫�楠岄」鐩悕绉�,
+ HInspectInstruMentID: data[i].HInspectInstruMentID,
+ HInspectInstruMentNumber: data[i].妫�楠屼华鍣ㄤ唬鐮�,
+ HInspectInstruMentName: data[i].妫�楠屼华鍣ㄥ悕绉�,
+ HQCStd: data[i].妫�楠屾爣鍑�,
+ HUnit: data[i].鍗曚綅鍚嶇О,
+ HQCNote: data[i].妫�楠岃褰�,
+ HResult: data[i].缁撹 == "鍚堟牸" ? 1 : 0,
+ HMax: data[i].鏈�澶у��,
+ HMin: data[i].鏈�灏忓��,
+ HAvg: data[i].骞冲潎鍊�,
+ HRemark: data[i].琛ㄤ綋澶囨敞,
+ HAnalysisMethod: data[i].鍒嗘瀽鏂规硶 == "瀹氭�у垎鏋�" ?
+ 1 : data[i].鍒嗘瀽鏂规硶 == "瀹氶噺鍒嗘瀽" ?
+ 2 : 3,
+ HKeyInspect: data[i].閲嶇偣妫�鏌� == "鍚�" ? false : true,
+ HSampleSchemeID: data[i].HSampleSchemeID,
+ HUnitID: data[i].HUnitID,
+ HInspectVal: data[i].妫�娴嬪��,
+ HTargetVal: data[i].鐩爣鍊�,
+ HUpLimit: data[i].涓婇檺鍊�,
+ HDownLimit: data[i].涓嬮檺鍊�,
+ HUpOffSet: data[i].涓婂亸宸�,
+ HDownOffSet: data[i].涓嬪亸宸�,
+ HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+ HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+ HSampleQty: data[i].鏍锋湰閲�,
+ HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+ HAcceptQty: data[i].鍏佽鏁�,
+ HInspectionLevel: 0,
+ HRejectQty: data[i].鎷掔粷鏁�,
+ HStrictness: 0,
+ HSampleUnRightQty: data[i].鏍锋湰涓嶅悎鏍兼暟,
+ HAQL: data[i].AQL,
+ HSamplingType: 0,
+ HSamplingType: data[i].鎶芥牱绫诲瀷,
+ HStrictness: data[i].涓ユ牸搴�,
+ HInspectResultToSee: data[i].妫�楠岀粨鏋�
+ });
+
+ }
+
+
+ this.hasSourceBill = true
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍔犺浇鍗曟嵁澶辫触: ${Message}`,
+ });
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鍔犺浇鍗曟嵁澶辫触: ${err}`,
+ });
+ }
+ },
+ },
+ async onLoad(e) {
+ this.operationType = e.operationType || 1;
+ this.hform.HInterID = e.linterid || 0;
+ if (this.operationType == 1) {
+ await this.getMaxBillNo();
+ } else if (this.operationType == 2) {
+
+ } else if (this.operationType == 3) {
+ await this.RoadBillMain();
+ }
+
+ await this.InitHSource();
+ await this.InitHWorkShift();
+ await this.InitHEmp();
+ },
+ };
+</script>
+
+<style lang="scss" scoped>
+ input {
+ width: inherit;
+ font-size: 26rpx;
+ }
+
+ .uni-input {
+ padding: 0;
+ }
+
+ .bill-main-tabs,
+ .bill-sub-tabs {
+ box-sizing: border-box;
+ width: 730rpx;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ gap: 20rpx;
+ flex-shrink: 0;
+ overflow-x: auto;
+ border-bottom: 1px solid #ddd;
+ padding: 20rpx 10rpx;
+ white-space: nowrap;
+
+ view {
+ width: auto;
+ font-size: 26rpx;
+ color: #555;
+ text-align: center;
+ padding: 16rpx 0;
+ }
+
+ .selected {
+ color: #3a78ff;
+ font-weight: bold;
+ border-bottom: 3px solid #3a78ff;
+ }
+ }
+
+ .bill-main-content,
+ .bill-sub-content {
+ box-sizing: border-box;
+ padding: 0 30rpx 0 30rpx;
+ display: flex;
+ flex-direction: column;
+
+ .form-item {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ font-size: 26rpx;
+ padding: 6rpx 0;
+
+ .left {
+ width: 208rpx;
+
+ text {
+ color: red;
+ font-weight: bold;
+ }
+ }
+
+ .right {
+ // width: 450rpx;
+ padding: 8rpx 20rpx;
+ font-size: 26rpx;
+ flex: 1;
+ border-radius: 22rpx;
+ border: 1px solid #acacac;
+
+ .uni-combox {
+ padding: 0;
+ height: auto;
+
+ .uni-input-placeholder,
+ .uni-input-input {
+ font-size: 26rpx;
+ }
+ }
+
+ .uni-combox::v-deep input {
+ height: inherit;
+ font-size: 26rpx;
+ }
+ }
+
+ .disabled {
+ border: 1px solid #e4e4e4;
+ background-color: #e4e4e4;
+ }
+
+ .none-border {
+ border: none;
+ }
+ }
+ }
+
+ .bottom-btn {
+ box-sizing: border-box;
+ width: 100%;
+ height: 120rpx;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ background-color: #fff;
+ box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+ padding: 30rpx 40rpx 40rpx 40rpx;
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 28rpx;
+ }
+
+ .btn-a {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #acacac;
+ color: #fff;
+ // position: absolute;
+ // right: 120rpx;
+ }
+
+ .btn-d {
+ background-color: #ff8901;
+ color: #fff;
+ }
+ }
+
+ .buttons {
+ box-sizing: border-box;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ padding: 10rpx 0;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 26rpx;
+ }
+
+ .btn-a {
+ background-color: #acacac;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+ }
+
+ .list {
+ width: 100%;
+
+ .card-detail {
+ width: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-items: center;
+ line-height: 120%;
+ gap: 10rpx 0;
+
+ input {
+ font-size: 26rpx;
+ }
+
+ .detail {
+ // width: 50%;
+ box-sizing: border-box;
+ font-size: 26rpx;
+ color: #555;
+ padding-right: 20rpx;
+
+ text {
+ color: #999;
+ font-size: 26rpx;
+ }
+ }
+
+ .editable {
+ width: 50%;
+ display: inline-flex;
+ flex-direction: row;
+ align-items: center;
+
+ text {
+ flex-shrink: 0;
+ }
+
+ .editable-input {
+ border: 1px solid #acacac;
+ border-radius: 5rpx;
+ padding: 0 12rpx;
+ }
+ }
+ }
+ }
+
+ .icon-wrapper {
+ background-color: #3a78ff;
+ border-radius: 100%;
+ width: 40rpx;
+ height: 40rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-shrink: 0;
+
+ .uni-icons {
+ color: #fff !important;
+ }
+ }
+
+ .icon-wrapper-big {
+ background-color: #3a78ff;
+ border-radius: 100%;
+ width: 50rpx;
+ height: 50rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-shrink: 0;
+ margin-left: 20rpx;
+
+ .uni-icons {
+ color: #fff !important;
+ }
+ }
+
+ .more {
+ color: #888;
+ font-size: 22rpx;
+ display: flex;
+ border-top: 1px solid #eee;
+ padding-top: 10rpx;
+
+ .part {
+ width: 100%;
+ text-align: center;
+ }
+ }
+
+ .pass-background {
+ background-color: #cee3f2;
+ border: none;
+ }
+
+ .unpass-background {
+ background-color: #f0d6e3;
+ border: none;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/shoujianjianyan/firstCheckBillList.vue b/pages/ZLGL/shoujianjianyan/firstCheckBillList.vue
index da76898..a1551d8 100644
--- a/pages/ZLGL/shoujianjianyan/firstCheckBillList.vue
+++ b/pages/ZLGL/shoujianjianyan/firstCheckBillList.vue
@@ -34,7 +34,7 @@
<button type="default" class="btn-c" size="mini" @tap="exit">閫�鍑�</button>
</view>
<view class="info-list-zone" id="scroll-content" :style="{height: scrollContentHeight + 'px'}">
- <view class="card-item" v-for="(item, index) in listDataShow">
+ <view class="card-item" v-for="(item, index) in listDataShow" :key="index">
<uni-card :title="item['鍗曟嵁鍙�']" :extra="'鏃ユ湡:' + item['鏃ユ湡'].split('T')[0]"
@tap="showDetail = showDetail==index?-1:index">
<view class="card-detail">
diff --git a/pages/ZLGL/xunjianjianyan/PatrolProcCheckBillList.vue b/pages/ZLGL/xunjianjianyan/PatrolProcCheckBillList.vue
index ec7a3ea..5df530d 100644
--- a/pages/ZLGL/xunjianjianyan/PatrolProcCheckBillList.vue
+++ b/pages/ZLGL/xunjianjianyan/PatrolProcCheckBillList.vue
@@ -34,7 +34,7 @@
<button type="default" class="btn-c" size="mini" @tap="exit">閫�鍑�</button>
</view>
<view class="info-list-zone" id="scroll-content" :style="{height: scrollContentHeight + 'px'}">
- <view class="card-item" v-for="(item, index) in listData">
+ <view class="card-item" v-for="(item, index) in listData" :key="index">
<uni-card :title="item['鍗曟嵁鍙�']" :extra="'鏃ユ湡:' + item['鏃ユ湡'].split('T')[0]"
@tap="showDetail = showDetail==index?-1:index">
<view class="card-detail">
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 9734bbf..a18b8f6 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -6,14 +6,14 @@
</view>
</view>
<view class="mains">
- <view v-if="!canEdit" :hidden="item.hidden" class="box" v-for="(item,index) in itemData" :key="index"
+ <view v-if="!canEdit" :hidden="item.hidden||!item.id" class="box" v-for="(item,index) in itemData" :key="index"
@tap="toUrl(item)">
<image :src="item.img" mode=""></image>
<view class="texts">
{{item.text}}
</view>
</view>
- <view :enable-hidden="item.hidden" v-if="canEdit" class="box edit" v-for="(item,index) in itemData"
+ <view :enable-hidden="item.hidden" :hidden="!item.id" v-if="canEdit" class="box edit" v-for="(item,index) in itemData"
:key="index" @tap="switchHidden(index)">
<uni-icons class="edit-mark" color="red" type="closeempty"></uni-icons>
<image :src="item.img" mode=""></image>
@@ -557,6 +557,7 @@
Array.from(data).forEach(e => {
this.itemData[e["HIndex"]].hidden = !CommonUtils.stringToBoolean(e["HShowMode"])
this.itemData[e["HIndex"]].HMaker = e["HMaker"]
+ this.itemData[e["HIndex"]].id = e["HEntryID"];//id涓�0寮哄埗闅愯棌
})
},
switchHidden(index) {
diff --git a/pages/index/tab1.vue b/pages/index/tab1.vue
index 59457da..0624cfa 100644
--- a/pages/index/tab1.vue
+++ b/pages/index/tab1.vue
@@ -6,14 +6,14 @@
</view>
</view>
<view class="mains">
- <view v-if="!canEdit" :hidden="item.hidden" class="box" v-for="(item,index) in itemData" :key="index"
+ <view v-if="!canEdit" :hidden="item.hidden||!item.id" class="box" v-for="(item,index) in itemData" :key="index"
@tap="toUrl(item)">
<image :src="item.img" mode=""></image>
<view class="texts">
{{item.text}}
</view>
</view>
- <view :enable-hidden="item.hidden" v-if="canEdit" class="box edit" v-for="(item,index) in itemData"
+ <view :enable-hidden="item.hidden" :hidden="!item.id" v-if="canEdit" class="box edit" v-for="(item,index) in itemData"
:key="index" @tap="switchHidden(index)">
<uni-icons class="edit-mark" color="red" type="closeempty"></uni-icons>
<image :src="item.img" mode=""></image>
@@ -247,7 +247,8 @@
menuName: this.menuListName
})
Array.from(data).forEach(e => {
- this.itemData[e["HIndex"]].hidden = !CommonUtils.stringToBoolean(e["HShowMode"])
+ this.itemData[e["HIndex"]].hidden = !CommonUtils.stringToBoolean(e["HShowMode"])
+ this.itemData[e["HIndex"]].id = e["HEntryID"];//id涓�0寮哄埗闅愯棌
})
},
switchHidden(index) {
diff --git a/pages/index/tab2.vue b/pages/index/tab2.vue
index 445c3b3..357a4ec 100644
--- a/pages/index/tab2.vue
+++ b/pages/index/tab2.vue
@@ -6,14 +6,14 @@
</view>
</view>
<view class="mains">
- <view v-if="!canEdit" :hidden="item.hidden" class="box" v-for="(item,index) in itemData" :key="index"
+ <view v-if="!canEdit" :hidden="item.hidden||!item.id" class="box" v-for="(item,index) in itemData" :key="index"
@tap="toUrl(item)">
<image :src="item.img" mode=""></image>
<view class="texts">
{{item.text}}
</view>
</view>
- <view :enable-hidden="item.hidden" v-if="canEdit" class="box edit" v-for="(item,index) in itemData"
+ <view :enable-hidden="item.hidden" :hidden="!item.id" v-if="canEdit" class="box edit" v-for="(item,index) in itemData"
:key="index" @tap="switchHidden(index)">
<uni-icons class="edit-mark" color="red" type="closeempty"></uni-icons>
<image :src="item.img" mode=""></image>
@@ -430,6 +430,34 @@
"url": "/pages/zhuangxiangdan/table",
"id": 52,
"hidden": false
+ },
+ {
+ "img": "../../static/icon/icon8.png",
+ "text": "鏉ユ枡妫�楠屽崟",
+ "url": "/pages/ZLGL/lailiaojianyan/POStockInCheckBill",
+ "id": 53,
+ "hidden": false
+ },
+ {
+ "img": "../../static/icon/icon8.png",
+ "text": "鏉ユ枡妫�楠屽垪琛�",
+ "url": "/pages/ZLGL/lailiaojianyan/POStockInCheckBillList",
+ "id": 54,
+ "hidden": false
+ },
+ {
+ "img": "../../static/icon/icon8.png",
+ "text": "鐢熶骇鏍¢獙鍗�",
+ "url": "/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2",
+ "id": 53,
+ "hidden": false
+ },
+ {
+ "img": "../../static/icon/icon8.png",
+ "text": "鍑哄巶鏍¢獙鍗�",
+ "url": "/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill",
+ "id": 54,
+ "hidden": false
}
]
@@ -448,11 +476,13 @@
})
Array.from(data).forEach(e => {
this.itemData[e["HIndex"]].hidden = !CommonUtils.stringToBoolean(e["HShowMode"])
+ this.itemData[e["HIndex"]].id = e["HEntryID"];//id涓�0寮哄埗闅愯棌
})
},
switchHidden(index) {
this.updateCount++;
this.itemData[index].hidden = !this.itemData[index].hidden
+
},
switchIconsModeHandler() {
this.canEdit = !this.canEdit
diff --git a/pages/shouliaotongzhi/table.vue b/pages/shouliaotongzhi/table.vue
index 88d092f..8571813 100644
--- a/pages/shouliaotongzhi/table.vue
+++ b/pages/shouliaotongzhi/table.vue
@@ -390,7 +390,7 @@
HMaterName,
HCoilNO,
HSupMaterNumber,
- HFurnaceNO,
+ HFurnaceNO,//娆惧彿
HMaterModel,
HQty,
HPcsName,
diff --git a/pages/zutuo_xiaowei/form_xiaowei.vue b/pages/zutuo_xiaowei/form_xiaowei.vue
index 08b7514..f38ed97 100644
--- a/pages/zutuo_xiaowei/form_xiaowei.vue
+++ b/pages/zutuo_xiaowei/form_xiaowei.vue
@@ -85,7 +85,20 @@
<button class="btn-d" size="mini" @tap="cmdDelete">鍒犻櫎</button>
<button class="btn-c" size="mini" @tap="cmdExit">閫�鍑�</button>
</view>
-
+ <!-- 鎵撳嵃妯″潡 -->
+ <labelPrinterComponentVue ref="labelPrinter" :printInfo="printInfo" :printMode="'cpcl'">
+ </labelPrinterComponentVue>
+
+ <!-- 鎵撳嵃鏈洪�夋嫨鍒楄〃 -->
+ <view v-if="maskShow" class="uni-mask" @tap="maskShow = false">
+ <scroll-view class="uni-scroll_box" scroll-y>
+ <view class="uni-list-box" v-for="(device, index) in discoveredDevices" :key="index"
+ @tap="connectBT(device)">
+ <view class="uni-list_name">鍚嶇О锛歿{ device.name }}</view>
+ <view class="uni-list_item">{{ connectedDeviceId === device.address?'宸茶繛鎺�':'鏈繛鎺�' }}</view>
+ </view>
+ </scroll-view>
+ </view>
<view v-if="showResultTable" class="result-modal">
<view class="modal-mask" @tap="closeResultTable"></view>
<view class="modal-content">
@@ -105,10 +118,12 @@
</view>
<view class="modal-footer">
<button class="btn-a" size="mini" @tap="toAddNew">鏂板</button>
+ <button class="btn-a" size="mini" @tap="search">鎵撳嵃</button>
<view style="flex: 1;"></view>
<button class="btn-c" size="mini" @tap="closeResultTable">鍏抽棴</button>
</view>
- </view>
+ </view>
+
</view>
</view>
</template>
@@ -124,9 +139,13 @@
import {
MpaasScan
} from "@/utils/mpaasScan.js"
+ import labelPrinterComponentVue from "@/components/labelPrinterComponent/labelPrinterComponent.vue"
import getdateTime from '../../utils/getdateTime';
export default {
- data() {
+ components: {
+ labelPrinterComponentVue
+ },
+ data() {
return {
// 璁$畻鍒楄〃楂樺害
bottomBtnTop: 0,
@@ -188,7 +207,10 @@
titleData: [], //涓嶉渶瑕佹樉绀虹殑瀛楁
OperationType: 1, //浠庣紦瀛樺垪琛ㄤ腑杩斿洖鏁版嵁绫诲瀷锛�1鏂板銆�2浠庣紦瀛樺垪琛ㄤ腑杩斿洖锛�
HBarCode_Pack_Temp: "", //浠庣紦瀛樺垪琛ㄤ腑杩斿洖绠辨潯鐮�
-
+ //钃濈墮鐩稿叧淇℃伅
+ printInfo: "",//鎵撳嵃鍐呭
+ maskShow: false,//钃濈墮鎵撳嵃鏈烘樉绀虹粦瀹�
+ printListData:[],//
//灞曠ず琛ㄥ崟
showResultTable: false, // 鎺у埗缁撴灉琛ㄦ牸鏄剧ず
resultTableData: [], // 缁撴灉琛ㄦ牸鏁版嵁
@@ -577,6 +599,7 @@
if (count == 1) {
console.log('鏉$爜鐢熸垚鎴愬姛:', res.data.data[0]['鏉$爜缂栧彿']);
this.HBarCode_Pack = res.data.data[0]['鏉$爜缂栧彿'];
+ this.printListData = res.data.data;//鏉$爜淇℃伅淇濆瓨鐢ㄤ簬鎵撳嵃
resolve(this.HBarCode_Pack); // 瑙f瀽Promise
} else {
uni.showToast({
@@ -670,6 +693,7 @@
toAddNew() {
// 閲嶇疆鏁版嵁锛屽噯澶囨柊澧�
this.showResultTable = false;
+ this.EnableSubmit=true;
this.resultTableData = [];
this.HBarCode_Pack = '';
this.HBarCode = '';
@@ -685,7 +709,173 @@
},
cmdExit() {
uni.navigateBack()
- }
+ },
+ //鎵撳嵃妯″潡鍑芥暟
+ /**
+ * 鎵撳嵃鍑芥暟
+ */
+ async search() {
+ // #ifndef APP-PLUS
+ uni.showModal({
+ content: "涓嶆敮鎸佽摑鐗欐墦鍗板姛鑳斤紝璇峰垏鎹㈢Щ鍔ㄨ澶�...",
+ })
+ return
+ // #endif
+ if (this.$printer.isConnected() === false) {
+ this.$refs.labelPrinter.openPopup()
+ } else {
+ let printContent = []
+ let printInfoBuffer = []
+ let count = 0
+ uni.showLoading()
+ console.log('this.listData: ', this.printListData);
+ for (let listOne of this.printListData) {
+ let Message = await this.getPrintTemplate(listOne.HInterID, listOne.HItemID)
+ printContent.push(Message)
+ count++;
+ if (count == 10) {
+ printInfoBuffer.push(printContent.join("\r\n"))
+ count = 0
+ printContent = []
+ }
+ }
+ uni.hideLoading()
+ printInfoBuffer.push(printContent.join("\r\n"))
+ this.printInfo = JSON.stringify(printInfoBuffer)
+ printInfoBuffer = []
+
+ await this.$nextTick(() => {
+ this.$refs.labelPrinter.execPrint()
+ })
+ }
+ },
+ /** 鑾峰彇鎵撳嵃妯℃澘
+ * @param {Object} HInterID
+ * @param {Object} HItemID
+ */
+ async getPrintTemplate(HInterID,HItemID) {
+ console.log('data: ', {
+ HOrginationName: uni.getStorageSync("Organization"),
+ HBillSubType: this.HBillType,
+ HInterID: HInterID,
+ HItemID: HItemID,
+ })
+ return new Promise((resolve, reject) => {
+ CommonUtils.doRequest2({
+ url: "/Sc_BarCode/Get_BarCodePrintCode_CPCL",
+ data: {
+ HOrginationName: uni.getStorageSync("Organization"),
+ HBillSubType: this.HBillType,
+ HInterID: HInterID,
+ HItemID: HItemID,
+ },
+ resFunction: (res) => {
+ let {
+ Message,
+ count
+ } = res.data
+ if (count == 1) {
+ console.log('Message: ',Message);
+ resolve(Message)
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ reject();
+ }
+ },
+ errFunction: (err) => {
+ reject();
+ },
+
+ })
+ })
+ },
+ /**
+ * 鏌ユ壘鎵撳嵃鏈�
+ */
+ async searchLabelPrinter() {
+ // 鏌ユ壘鎵撳嵃鏈�
+ var that = this
+ // 浣跨敤openBluetoothAdapter 鎺ュ彛锛屽厤鍘讳富鍔ㄧ敵璇锋潈闄愮殑楹荤儲
+ uni.openBluetoothAdapter({
+ success: async (res) => {
+ await this.checkPermission();
+ console.log('start discovery devices');
+ this.discoveredDevices = [];
+ console.log(res)
+ bluetoothTool.discoveryNewDevice();
+ this.maskShow = true
+ },
+ fail: async (e) => {
+ console.error(e)
+ switch (e.code) {
+ case "10009":
+ this.showToast("姝よ澶囦笉鏀寔璁惧鎼滅储鍔熻兘!");
+ break;
+ default:
+ console.error(e);
+ }
+ }
+ })
+
+ },
+ onDevice(device) {
+ console.log("鐩戝惉瀵绘壘鍒版柊璁惧鐨勪簨浠�---------------")
+ console.log(device)
+ if (typeof device === 'undefined') return;
+ if (typeof device.name === 'undefined') return;
+ console.log(device.name);
+ if (device.name === '') return;
+ if (device.name === null) return;
+ if (device.name.toUpperCase().endsWith('_BLE') ||
+ device.name.toUpperCase().endsWith('-LE') ||
+ device.name.toUpperCase().endsWith('-BLE')) return;
+ const isDuplicate = this.discoveredDevices.find(item => item.address === device.address);
+ if (isDuplicate) return;
+ this.discoveredDevices.push(device);
+ },
+ connectBT(device) {
+ const vm = this;
+ uni.showLoading({
+ title: '杩炴帴涓�'
+ });
+ bluetoothTool.connDevice(device.address, (result) => {
+ console.log(result)
+ uni.hideLoading()
+ if (result) {
+ // // console.log(result);
+ bluetoothTool.cancelDiscovery();
+ // console.log(vm.$printer)
+ vm.$printer.init(new FakeConnectedDevice());
+ vm.connectedDeviceId = device.address;
+ uni.showToast({
+ icon: 'none',
+ title: '杩炴帴鎴愬姛'
+ })
+ this.maskShow = false
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: '杩炴帴澶辫触'
+ })
+ }
+ });
+ },
+ stopSearchBT() {
+ console.log("鍋滄鎼滃闄勮繎鐨勮摑鐗欏鍥磋澶�---------------")
+ bluetoothTool.cancelDiscovery();
+ },
+ closeBluetooth() {
+ console.log("鍋滄钃濈墮杩炴帴")
+ const vm = this;
+ if (vm.connectedDeviceId != '') {
+ bluetoothTool.closeBtSocket();
+ vm.connectedDeviceId = "";
+ }
+ },
+
},
computed: {
listTableHeight: {
@@ -744,7 +934,19 @@
padding: 8rpx 20rpx;
font-size: 30rpx;
}
-
+ .uni-mask {
+ position: fixed;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ z-index: 3;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ background: rgba(0, 0, 0, 0.6);
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ }
.form {
display: flex;
flex-direction: column;
@@ -868,7 +1070,7 @@
left: 0;
width: 100%;
height: 100%;
- z-index: 9999;
+ z-index: 2;
.modal-mask {
position: absolute;
diff --git a/utils/menuListApp.js b/utils/menuListApp.js
index 14d15eb..e176ca5 100644
--- a/utils/menuListApp.js
+++ b/utils/menuListApp.js
@@ -51,16 +51,16 @@
let oMain = ""
let oMainSub = []
Array.from(payload).forEach((one, index) => {
- if (one.hidden == true) {
- oMainSub.push({
- HEntryID: one.id,
- HIndex: index,
- HName: one.text,
- HPicNum: one.img,
- HShowMode: !one.hidden,
- HMenuName: menuName,
- })
- }
+
+ oMainSub.push({
+ HEntryID: one.id,
+ HIndex: index,
+ HName: one.text,
+ HPicNum: one.img,
+ HShowMode: !one.hidden,
+ HMenuName: menuName,
+ })
+
})
oMain = JSON.stringify(oMainSub) + ";" + user + ";" + menuName + ";" +
deviceType
--
Gitblit v1.9.1