From e8d4cc42b3ce74a818705aab13c2131d81a5ed6b Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期三, 21 一月 2026 20:26:17 +0800
Subject: [PATCH] 模具出入库和维修验收优化

---
 pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill.vue | 1275 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 679 insertions(+), 596 deletions(-)

diff --git a/pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill.vue b/pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill.vue
index b62b164..4d08dea 100644
--- a/pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill.vue
+++ b/pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill.vue
@@ -1,635 +1,718 @@
 <template>
-    <view>
-        <view class="tabs" id="tabs">
-            <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">鍩烘湰淇℃伅</view>
-            <!-- <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">鏄庣粏淇℃伅</view> -->
-            <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">鍏朵粬淇℃伅</view>
-            <!-- <view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">闄勪欢淇℃伅</view> -->
-        </view>
-        <!-- 鍩烘湰淇℃伅 -->
-        <template v-if="tabs == 0">
-            <view class="form" :style="{
+	<view>
+		<view class="tabs" id="tabs">
+			<view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">鍩烘湰淇℃伅</view>
+			<view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">鍏朵粬淇℃伅</view>
+		</view>
+		<!-- 鍩烘湰淇℃伅 -->
+		<template v-if="tabs == 0">
+			<view class="form" :style="{
                 height: containerHeight + 'px',
                 overflow: 'auto'
             }">
-                <view class="form-item">
-                    <view class="title">妯″叿鏉$爜:</view>
-                    <view :class="enableEdit?'right':'righton'">
-                        <input v-model="hform.HBarCode" :disabled="!enableEdit"
-                            @confirm="GetMessageByBarCode(hform.HBarCode)" placeholder="璇疯緭鍏�(鎴栨壂鎻�)妯″叿鏉$爜" />
-                    </view>
-                    <view class="icon-wrapper">
-                        <uni-icons type="scan" size="20" @click="toScanCode"></uni-icons>
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">鏈�缁堢粨璁�:</view>
-                    <view class="right none-border">
-                        <radio-group @change="radioChange" class="radio_Container">
-                            <label>
-                                <view>
-                                    <radio value="OK" :checked="hform.HCheckResult == 'OK'" />
-                                    <text>OK</text>
-                                </view>
-                            </label>
-                            </label>
-                            <view>
-                                <radio value="NG" :checked="hform.HCheckResult == 'NG'" />
-                                <text>NG</text>
-                            </view>
-                            </label>
-                        </radio-group>
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">楠屾敹鍐呭:</view>
-                    <view class="right">
-                        <textarea v-model="hform.HRepairCheckMainContent" placeholder="璇疯緭鍏ラ獙鏀跺唴瀹�" />
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">婧愬崟绫诲瀷:</view>
-                    <zxz-uni-data-select class="right" :localdata="[
-                        {key: '鎵嬪伐褰曞叆', value: '-1'},
-                        {key: '妯″叿鏁呴殰鐧昏鍗�', value: '3815'}
-                        ]" dataKey="key" dataValue="value" v-model="hform.HMainSourceBillType">
+				<view class="form-item">
+					<view class="title">妯″叿鏉$爜:</view>
+					<view :class="enableEdit?'right':'righton'">
+						<input v-model="hform.HBarCode" :disabled="!enableEdit"
+							@confirm="GetMessageByBarCode(hform.HBarCode)" placeholder="璇疯緭鍏�(鎴栨壂鎻�)妯″叿鏉$爜" />
+					</view>
+					<view class="icon-wrapper">
+						<uni-icons type="scan" size="20" @click="toScanCode"></uni-icons>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鏈�缁堢粨璁�:</view>
+					<view class="right none-border">
+						<radio-group @change="radioChange" class="radio_Container">
+							<label>
+								<view>
+									<radio value="OK" :checked="hform.HCheckResult == 'OK'" />
+									<text>OK</text>
+								</view>
+							</label>
+							</label>
+							<view>
+								<radio value="NG" :checked="hform.HCheckResult == 'NG'" />
+								<text>NG</text>
+							</view>
+							</label>
+						</radio-group>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">楠屾敹鍐呭:</view>
+					<view class="right">
+						<textarea v-model="hform.HRepairCheckMainContent" placeholder="璇疯緭鍏ラ獙鏀跺唴瀹�" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">婧愬崟绫诲瀷</view>
+					<view class="right" v-show="showHMainSourceBillType">
+						<picker :range="arrayHMainSourceBillType" @change="HMainSourceBillTypeChange">
 
-                    </zxz-uni-data-select>
-                    <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
-                </view>
-                <view class="form-item">
-                    <view class="title">婧愬崟鍙�:</view>
-                    <view class="right">
-                        <input v-model="hform.HMainSourceBillNo" />
-                    </view>
-                    <view class="icon-wrapper">
-                        <uni-icons type="search" size="20" @click="toCheckFile"></uni-icons>
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">鍗曟嵁鍙�:</view>
-                    <view class="righton">
-                        <input disabled v-model="hform.HBillNo" />
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">鍗曟嵁鏃ユ湡:</view>
-                    <view class="righton">
-                        <input disabled v-model="hform.HDate" />
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title required">閮ㄩ棬:</view>
-                    <zxz-uni-data-select required class="right" :localdata="HDeptList" dataKey="閮ㄩ棬鍚嶇О"
-                        dataValue="HItemID" v-model="hform.HDeptID">
+							<input disabled name="HMainSourceBillType" v-model="HMainSourceBillType"
+								placeholder="璇烽�夋嫨婧愬崟绫诲瀷" />
+							<view class="picker-overlay"></view>
+						</picker>
+					</view>
+					<view class="righton" v-show="!showHMainSourceBillType">
+						<input name="HMainSourceBillType" disabled v-model="HMainSourceBillType"
+							placeholder="璇烽�夋嫨婧愬崟绫诲瀷" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title required">鏁呴殰鐧昏鍗�</view>
+					<view class="right" v-show="hform.HMainSourceBillType != 1">
+						<input type="text" name="HBarCode" v-model="hform.HMainSourceBillNo" />
+					</view>
+					<view class="icon-wrapper" v-show="hform.HMainSourceBillType != 1"
+						:disabled="hform.HMainSourceBillType == -1">
+						<uni-icons type="search" size="20" @click="showBillList"></uni-icons>
+					</view>
+					<view class="righton" v-show="hform.HMainSourceBillType == 1">
+						<input type="text" disabled name="HBarCode" v-model="hform.HMainSourceBillNo" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鍗曟嵁鍙�:</view>
+					<view class="righton">
+						<input disabled v-model="hform.HBillNo" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鍗曟嵁鏃ユ湡:</view>
+					<view class="righton">
+						<input disabled v-model="hform.HDate" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title required">閮ㄩ棬:</view>
+					<zxz-uni-data-select required class="right" :localdata="HDeptList" dataKey="閮ㄩ棬鍚嶇О"
+						dataValue="HItemID" v-model="hform.HDeptID">
 
-                    </zxz-uni-data-select>
-                    <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
-                </view>
-                <view class="form-item">
-                    <view class="title required">楠屾敹浜�:</view>
-                    <zxz-uni-data-select required class="right" :localdata="HEmpList" dataKey="HName"
-                        dataValue="HItemID" v-model="hform.HEmpID">
-
-                    </zxz-uni-data-select>
-                    <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
-                </view>
-                <view class="form-item">
-                    <view class="title required">楠屾敹椤圭洰:</view>
-                    <zxz-uni-data-select required class="right" :localdata="HRepairCheckList" dataKey="缁翠慨楠屾敹椤圭洰"
-                        dataValue="hitemid" v-model="hform.HRepairCheckMainID">
-
-                    </zxz-uni-data-select>
-                    <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
-                </view>
-                <view class="form-item">
-                    <view class="title required">璐熻矗浜�:</view>
-                    <zxz-uni-data-select required class="right" :localdata="HEmpList" dataKey="HName"
-                        dataValue="HItemID" v-model="hform.HManagerID">
-
-                    </zxz-uni-data-select>
-                    <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
-                </view>
-                <!-- 鎵爜甯﹀嚭缁翠慨璁板綍 -->
-                <view class="form-item">
-                    <view class="title required">缁翠慨璁板綍:</view>
-                    <view class="right">
-                        <input type="text" value="" />
-                    </view>
-                    <view class="icon-wrapper">
-                        <uni-icons type="search" size="20" @click="toCheckFile"></uni-icons>
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">妯″叿鍚嶇О:</view>
-                    <view class="righton">
-                        <input v-model="hform.HMouldName" disabled />
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">妯″叿瑙勬牸:</view>
-                    <view class="righton">
-                        <input v-model="hform.HMouldSpec" disabled />
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">妯″叿鍨嬪彿:</view>
-                    <view class="righton">
-                        <input v-model="hform.HMouldModel" disabled />
-                    </view>
-                </view>
-            </view>
-        </template>
-        <!-- 鍏朵粬淇℃伅 -->
-        <template v-if="tabs == 2">
-            <view class="form" :style="{
+					</zxz-uni-data-select>
+				</view>
+				<view class="form-item">
+					<view class="title required">楠屾敹浜�:</view>
+					<zxz-uni-data-select required class="right" :localdata="HEmpList" dataKey="HName"
+						dataValue="HItemID" v-model="hform.HEmpID">
+					</zxz-uni-data-select>
+				</view>
+				<view class="form-item">
+					<view class="title required">楠屾敹椤圭洰:</view>
+					<zxz-uni-data-select required class="right" :localdata="HRepairCheckList" dataKey="缁翠慨楠屾敹椤圭洰"
+						dataValue="hitemid" v-model="hform.HRepairCheckMainID">
+					</zxz-uni-data-select>
+				</view>
+				<view class="form-item">
+					<view class="title required">璐熻矗浜�:</view>
+					<zxz-uni-data-select required class="right" :localdata="HEmpList" dataKey="HName"
+						dataValue="HItemID" v-model="hform.HManagerID">
+					</zxz-uni-data-select>
+				</view>
+				<!-- 鎵爜甯﹀嚭缁翠慨璁板綍 -->
+				<view class="form-item">
+					<view class="title required">缁翠慨璁板綍:</view>
+					<view class="right" v-show="hform.HMainSourceBillType != 1">
+						<input type="text" v-model="hform.HMouldRepairWorkName"
+							:disabled="hform.HMainSourceBillType == -1" placeholder="璇烽�夋嫨缁翠慨璁板綍" />
+					</view>
+					<view class="icon-wrapper" v-show="hform.HMainSourceBillType != 1"
+						:disabled="hform.HMainSourceBillType == -1">
+						<uni-icons type="search" size="20" @click="showRepairRecordList"></uni-icons>
+					</view>
+					<view class="righton" v-show="hform.HMainSourceBillType == 1">
+						<input type="text" disabled v-model="hform.HMouldRepairWorkName" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">妯″叿鍚嶇О:</view>
+					<view class="righton">
+						<input v-model="hform.HMouldName" disabled />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">妯″叿瑙勬牸:</view>
+					<view class="righton">
+						<input v-model="hform.HMouldSpec" disabled />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">妯″叿鍨嬪彿:</view>
+					<view class="righton">
+						<input v-model="hform.HMouldModel" disabled />
+					</view>
+				</view>
+			</view>
+		</template>
+		<!-- 鍏朵粬淇℃伅 -->
+		<template v-if="tabs == 2">
+			<view class="form" :style="{
                 height: containerHeight + 'px',
                 overflow: 'auto'
             }">
-                <view class="form-item">
-                    <view class="title">鍒涘缓浜�:</view>
-                    <view class="righton">
-                        <input v-model="hform.HMaker" />
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">鍒涘缓鏃ユ湡:</view>
-                    <view class="righton">
-                        <input v-model="hform.HMakeDate" />
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">淇敼浜�:</view>
-                    <view class="righton">
-                        <input v-model="hform.HUpDater" />
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">淇敼鏃ユ湡:</view>
-                    <view class="righton">
-                        <input v-model="hform.HUpDateDate" />
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">瀹℃牳浜�:</view>
-                    <view class="righton">
-                        <input v-model="hform.HChecker" />
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">瀹℃牳鏃堕棿:</view>
-                    <view class="righton">
-                        <input v-model="hform.HCheckDate" />
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">浣滃簾浜�:</view>
-                    <view class="righton">
-                        <input v-model="hform.HDeleteMan" />
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="title">浣滃簾鏃ユ湡:</view>
-                    <view class="righton">
-                        <input v-model="hform.HDeleteDate" />
-                    </view>
-                </view>
-            </view>
+				<view class="form-item">
+					<view class="title">鍒涘缓浜�:</view>
+					<view class="righton">
+						<input v-model="hform.HMaker" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鍒涘缓鏃ユ湡:</view>
+					<view class="righton">
+						<input v-model="hform.HMakeDate" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">淇敼浜�:</view>
+					<view class="righton">
+						<input v-model="hform.HUpDater" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">淇敼鏃ユ湡:</view>
+					<view class="righton">
+						<input v-model="hform.HUpDateDate" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">瀹℃牳浜�:</view>
+					<view class="righton">
+						<input v-model="hform.HChecker" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">瀹℃牳鏃堕棿:</view>
+					<view class="righton">
+						<input v-model="hform.HCheckDate" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">浣滃簾浜�:</view>
+					<view class="righton">
+						<input v-model="hform.HDeleteMan" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">浣滃簾鏃ユ湡:</view>
+					<view class="righton">
+						<input v-model="hform.HDeleteDate" />
+					</view>
+				</view>
+			</view>
 
-        </template>
-        <!-- 鎿嶄綔鎸夐挳 -->
-        <view class="buttons" id="buttons">
-            <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>
-        <xe-upload ref="XeUpload" :options="uploadOptions" @callback="handleUploadCallback"></xe-upload>
-    </view>
+		</template>
+		<!-- 鎿嶄綔鎸夐挳 -->
+		<view class="buttons" id="buttons">
+			<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>
+		<!-- 寮瑰嚭妯″叿鏁呴殰鐧昏鍗曠殑閫夋嫨鍒楄〃 -->
+		<BillListPopupMouldConkBookBillVue ref="billList" :HBillType="hform.HBillType"
+			:HSourceBillType="hform.HMainSourceBillType" :HStockOrgID="hform.HStockOrgID">
+		</BillListPopupMouldConkBookBillVue>
+		<!-- 寮瑰嚭妯″叿缁翠慨璁板綍鍗曠殑閫夋嫨鍒楄〃 -->
+		<RepairRecordPopup ref="repairRecordList" :HBillType="hform.HBillType" :HStockOrgID="hform.HStockOrgID">
+		</RepairRecordPopup>
+	</view>
 </template>
 
 <script>
-    import dayjs from "dayjs";
-    import {
-        CommonUtils
-    } from "@/utils/common";
-    import {
-        MpaasScan
-    } from "@/utils/mpaasScan.js"
-    import {
-        getUserInfo
-    } from "../../../utils/auth";
-    export default {
-        name: 'Sc_MouldRepairCheckBill',
-        data() {
-            return {
-                tabs: 0,
-                HMainSourceBillType: "",
-                btnTop: 0,
-                tabsBottom: 0,
-                HModName: "Sc_MouldRepairCheckBill",
-                HBillType: '3817',
-                operationType: 1,
-                uploadOptions: {},
-                enableEdit: true,
+	import dayjs from "dayjs";
+	import {
+		CommonUtils
+	} from "@/utils/common";
+	import {
+		MpaasScan
+	} from "@/utils/mpaasScan.js"
+	import {
+		getUserInfo
+	} from "../../../utils/auth";
+	import BillListPopupMouldConkBookBillVue from '../../../components/BillListPopup/BillListPopupMouldConkBookBill.vue';
+	import RepairRecordPopup from '../../../components/BillListPopup/BillListPopuMouldRepairRecordPopup.vue';
 
-                HDeptList: [],
-                HRepairCheckList: [],
-                HEmpList: [],
+	export default {
+		components: {
+			BillListPopupMouldConkBookBillVue,
+			RepairRecordPopup
+		},
+		name: 'Sc_MouldRepairCheckBill',
+		data() {
+			return {
+				tabs: 0,
+				btnTop: 0,
+				tabsBottom: 0,
+				HModName: "Sc_MouldRepairCheckBill",
+				HBillType: '3817',
+				operationType: 1,
+				enableEdit: true,
 
-                hform: {
-                    "HBarCode": "",
-                    "HBillNo": "",
-                    "HInterID": 0,
-                    "HDate": dayjs(new Date()).format("YYYY-MM-DD"),
-                    "HInnerBillNo": "",
-                    "HMouldName": "",
-                    "HMouldSpec": "",
-                    "HMouldModel": "",
-                    "HMouldID": 0,
-                    "HMainSourceBillType": "-1",
-                    "HMainSourceInterID": 0,
-                    "HMainSourceEntryID": 0,
-                    "HCheckResult": "OK",
-                    "HEmpName": getUserInfo().HEmpName,
-                    "HEmpID": getUserInfo().HEmpID,
-                    "HCheckBeginDate": dayjs(new Date()).format("YYYY-MM-DD"),
-                    "HDeptName": getUserInfo().HDeptName,
-                    "HDeptID": getUserInfo().HDeptID,
-                    "HMainSourceBillNo": "",
-                    "HManagerName": getUserInfo().HManagerName,
-                    "HManagerID": getUserInfo().HManagerID,
-                    "HMouldRepairWorkName": "",
-                    "HMouldRepairWorkID": 0,
-                    "HExplanation": "",
-                    "HRemark": "",
-                    "HOrgID": uni.getStorageSync("OrganizationID"),
-                    "HMaker": getUserInfo()["Czymc"],
-                    "HChecker": "",
-                    "HCloseMan": "",
-                    "HUpDater": "",
-                    "HMakeDate": dayjs(new Date()).format("YYYY-MM-DD"),
-                    "HCheckDate": "",
-                    "HCloseDate": "",
-                    "HUpDateDate": "",
-                    "HDeleteMan": "",
-                    "HDeleteDate": "",
-                    "HRepairCheckMainID": 0,
-                    "HRepairCheckMainContent": "",
-                },
-                HBillSub: [{ // 鍚庣鎺ュ彛闇�瑕併�傚惁鍒欐暟鎹笉浼氭樉绀哄湪缂撳瓨涓�
-                    "HRepairCheckID": 0,
-                    "HRepairCheckCode": "",
-                    "HRepairCheckName": "",
-                    "HRepairCheckContent": "",
-                    "HManagerID": 0,
-                    "HManagerCode": "",
-                    "HManagerName": "",
-                    "HRemark": "",
-                    "LAY_TABLE_INDEX": 0
-                }]
-            };
-        },
-        computed: {
-            containerHeight: {
-                get() {
-                    return this.btnTop - this.tabsBottom - 5
-                }
-            },
-        },
-        methods: {
-            // 鎻愪氦鏁版嵁鏈夋晥鎬ф牎楠�
-            ValidCheck() {
-                if (this.hform.HEquipID == 0) {
-                    return {
-                        Message: "鏈綍鍏ユā鍏蜂俊鎭紝璇峰厛褰曞叆妯″叿淇℃伅!",
-                        state: false
-                    }
-                }
-                if (this.hform.HDeptID == 0) {
-                    return {
-                        Message: "閮ㄩ棬涓嶅緱涓虹┖!",
-                        state: false
-                    }
-                }
-                if (this.hform.HEmpID == 0) {
-                    return {
-                        Message: "楠屾敹浜轰笉寰椾负绌�!",
-                        state: false
-                    }
-                }
-                if (this.hform.HRepairCheckMainID == 0) {
-                    return {
-                        Message: "楠岃瘉椤圭洰涓嶅緱涓虹┖!",
-                        state: false
-                    }
-                }
-                if (this.hform.HManagerID == 0) {
-                    return {
-                        Message: "璐熻矗浜轰笉寰椾负绌�!",
-                        state: false
-                    }
-                }
+				// 鎺у埗婧愬崟绫诲瀷鏄惁鍙紪杈�
+				showHMainSourceBillType: true,
+				HMainSourceBillType: '妯″叿鏁呴殰鐧昏鍗�',
+				arrayHMainSourceBillType: ['妯″叿鏁呴殰鐧昏鍗�'],
+				arrayHMainSourceBillTypeID: ['3815'],
 
-                return {
-                    Message: "",
-                    state: true
-                }
-            },
-            addNew() {
-                uni.redirectTo({
-                    url: './Sc_MouldRepairCheckBill?operationType=1'
-                })
-            },
-            goBack() {
-                uni.navigateBack()
-            },
-            checkBoxChangeHandler(index, e) {
-                let cr = e.detail.value
-                if (cr.length == 0) {
-                    this.HCheckFileList[index]["HDotCheckResult"] = false
-                } else {
-                    this.HCheckFileList[index]["HDotCheckResult"] = true
-                }
-            },
-            //鑾峰彇浣跨敤閮ㄩ棬鏁版嵁
-            async getHDeptList() {
-                try {
-                    let res = await CommonUtils.doRequest2Async({
-                        url: '/Gy_Department/list',
-                        data: {
-                            sWhere: ` and HUSEORGID = ${uni.getStorageSync('OrganizationID')}`,
-                            user: uni.getStorageSync('HUserName'),
-                            Organization: uni.getStorageSync('Organization')
-                        }
-                    })
+				HDeptList: [],
+				HRepairCheckList: [],
+				HEmpList: [],
 
-                    let {
-                        data,
-                        count,
-                        Message
-                    } = res.data
-                    if (count == 1) {
-                        this.HDeptList = data
-                    } else {
-                        CommonUtils.showTips({
-                            title: '娓╅Θ鎻愮ず',
-                            message: Message
-                        })
-                    }
-                } catch (err) {
-                    CommonUtils.showTips({
-                        title: '娓╅Θ鎻愮ず',
-                        message: err
-                    })
-                }
-            },
-            // 鑾峰彇鑱屽憳鏁版嵁
-            async getEmpList() {
-                try {
-                    let res = await CommonUtils.doRequest2Async({
-                        url: '/PublicPageMethod/UserList',
-                        data: {
-                            sWhere: " where 1=1",
-                        }
-                    })
+				hform: {
+					"HBillType": 3817,
+					"HBarCode": "",
+					"HBillNo": "",
+					"HInterID": 0,
+					"HDate": dayjs(new Date()).format("YYYY-MM-DD"),
+					"HInnerBillNo": "",
+					"HMouldName": "",
+					"HMouldSpec": "",
+					"HMouldModel": "",
+					"HMouldID": 0,
+					"HMainSourceBillType": "3815",
+					"HMainSourceInterID": 0,
+					"HMainSourceEntryID": 0,
+					"HCheckResult": "OK",
+					"HEmpName": getUserInfo().HEmpName,
+					"HEmpID": getUserInfo().HEmpID,
+					"HCheckBeginDate": dayjs(new Date()).format("YYYY-MM-DD"),
+					"HDeptName": getUserInfo().HDeptName,
+					"HDeptID": getUserInfo().HDeptID,
+					"HMainSourceBillNo": "",
+					"HManagerName": getUserInfo().HManagerName,
+					"HManagerID": getUserInfo().HManagerID,
+					"HMouldRepairWorkName": "",
+					"HMouldRepairWorkID": 0,
+					"HExplanation": "",
+					"HRemark": "",
+					"HOrgID": uni.getStorageSync("OrganizationID"),
+					"HStockOrgID": uni.getStorageSync("OrganizationID"),
+					"HMaker": getUserInfo()["Czymc"],
+					"HChecker": "",
+					"HCloseMan": "",
+					"HUpDater": "",
+					"HMakeDate": dayjs(new Date()).format("YYYY-MM-DD"),
+					"HCheckDate": "",
+					"HCloseDate": "",
+					"HUpDateDate": "",
+					"HDeleteMan": "",
+					"HDeleteDate": "",
+					"HRepairCheckMainID": 0,
+					"HRepairCheckMainContent": "",
+				},
+				HBillSub: [{ // 鍚庣鎺ュ彛闇�瑕併�傚惁鍒欐暟鎹笉浼氭樉绀哄湪缂撳瓨涓�
+					"HRepairCheckID": 0,
+					"HRepairCheckCode": "",
+					"HRepairCheckName": "",
+					"HRepairCheckContent": "",
+					"HManagerID": 0,
+					"HManagerCode": "",
+					"HManagerName": "",
+					"HRemark": "",
+					"LAY_TABLE_INDEX": 0
+				}]
+			};
+		},
+		computed: {
+			containerHeight: {
+				get() {
+					return this.btnTop - this.tabsBottom - 5
+				}
+			},
+		},
+		methods: {
+			// 鎻愪氦鏁版嵁鏈夋晥鎬ф牎楠�
+			ValidCheck() {
+				if (this.hform.HEquipID == 0) {
+					return {
+						Message: "鏈綍鍏ユā鍏蜂俊鎭紝璇峰厛褰曞叆妯″叿淇℃伅!",
+						state: false
+					}
+				}
+				if (this.hform.HDeptID == 0) {
+					return {
+						Message: "閮ㄩ棬涓嶅緱涓虹┖!",
+						state: false
+					}
+				}
+				if (this.hform.HEmpID == 0) {
+					return {
+						Message: "楠屾敹浜轰笉寰椾负绌�!",
+						state: false
+					}
+				}
+				if (this.hform.HRepairCheckMainID == 0) {
+					return {
+						Message: "楠岃瘉椤圭洰涓嶅緱涓虹┖!",
+						state: false
+					}
+				}
+				if (this.hform.HManagerID == 0) {
+					return {
+						Message: "璐熻矗浜轰笉寰椾负绌�!",
+						state: false
+					}
+				}
 
-                    let {
-                        data,
-                        count,
-                        Message
-                    } = res.data
-                    if (count == 1) {
-                        this.HEmpList = data
-                    } else {
-                        CommonUtils.showTips({
-                            title: '娓╅Θ鎻愮ず',
-                            message: Message
-                        })
-                    }
-                } catch (err) {
-                    CommonUtils.showTips({
-                        title: '娓╅Θ鎻愮ず',
-                        message: err
-                    })
-                }
-            },
-            // 鑾峰彇楠岃瘉椤圭洰鏁版嵁
-            async getCheckProjList() {
-                try {
-                    let res = await CommonUtils.doRequest2Async({
-                        url: '/Gy_RepairCheck/GetRepairCheckList',
-                        data: {
-                            sWhere: "",
-                            user: uni.getStorageSync('HUserName'),
-                        }
-                    })
+				return {
+					Message: "",
+					state: true
+				}
+			},
+			addNew() {
+				uni.redirectTo({
+					url: './Sc_MouldRepairCheckBill?operationType=1'
+				})
+			},
+			goBack() {
+				uni.navigateBack()
+			},
+			showBillList() {
+				this.$refs.billList.showPopup()
+			},
+			showRepairRecordList() {
+				if (this.hform.HMouldID === 0) {
+					CommonUtils.showTips({
+						title: '鎻愮ず',
+						message: '璇峰厛閫夋嫨妯″叿'
+					});
+					return;
+				}
+				this.$refs.repairRecordList.showPopup(this.hform.HMouldID);
+			},
+			//閫夋嫨婧愬崟绫诲瀷
+			HMainSourceBillTypeChange(e) {
+				if (e.detail.value == -1 || e.detail.value == NaN) {
+					this.HMainSourceBillType = '鎵嬪伐褰曞叆'
+					this.hform.HMainSourceBillType = -1
+					return
+				}
+				console.log(e.detail.value)
+				console.log(e)
+				this.HMainSourceBillType = this.arrayHMainSourceBillType[e.detail.value]
+				this.hform.HMainSourceBillType = this.arrayHMainSourceBillTypeID[e.detail.value]
+				const pages = getCurrentPages()
+				// 鑾峰彇椤甸潰鏍堜腑鐨勬渶鍚庝竴涓厓绱狅紝涔熷氨鏄綋鍓嶆樉绀虹殑椤甸潰
+				const currentPage = pages[pages.length - 1]
+				// 閫夋嫨婧愬崟绫诲瀷鍚� 缂撳瓨褰撳墠椤甸潰閫夋嫨
+				uni.setStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`, {
+					HSourceBillTypeName: this.HMainSourceBillType,
+					HSourceBillType: this.hform.HMainSourceBillType
+				})
+			},
+			checkBoxChangeHandler(index, e) {
+				let cr = e.detail.value
+				if (cr.length == 0) {
+					this.HCheckFileList[index]["HDotCheckResult"] = false
+				} else {
+					this.HCheckFileList[index]["HDotCheckResult"] = true
+				}
+			},
+			//鑾峰彇浣跨敤閮ㄩ棬鏁版嵁
+			async getHDeptList() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: '/Gy_Department/list',
+						data: {
+							sWhere: ` and HUSEORGID = ${uni.getStorageSync('OrganizationID')}`,
+							user: uni.getStorageSync('HUserName'),
+							Organization: uni.getStorageSync('Organization')
+						}
+					})
 
-                    let {
-                        data,
-                        count,
-                        Message
-                    } = res.data
-                    if (count == 1) {
-                        this.HRepairCheckList = data
-                    } else {
-                        CommonUtils.showTips({
-                            title: '娓╅Θ鎻愮ず',
-                            message: Message
-                        })
-                    }
-                } catch (err) {
-                    CommonUtils.showTips({
-                        title: '娓╅Θ鎻愮ず',
-                        message: err
-                    })
-                }
-            },
-            toScanCode() {
-                MpaasScan.scanCode(cb => {
-                    this.hfrom.HBarCode = cb
-                    this.GetMessageByBarCode(cb)
-                })
-            },
-            async GetMessageByBarCode(HBarCode) {
-                try {
-                    let res = await CommonUtils.doRequest2Sync({
-                        url: "/Sc_PDA_MouldRepairCheckBill/txtHBarCode_KeyDown_List",
-                        data: {
-                            HBarCode: HBarCode,
-                        },
-                    })
+					let {
+						data,
+						count,
+						Message
+					} = res.data
+					if (count == 1) {
+						this.HDeptList = data
+					} else {
+						CommonUtils.showTips({
+							title: '娓╅Θ鎻愮ず',
+							message: Message
+						})
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: '娓╅Θ鎻愮ず',
+						message: err
+					})
+				}
+			},
+			// 鑾峰彇鑱屽憳鏁版嵁
+			async getEmpList() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: '/PublicPageMethod/UserList',
+						data: {
+							sWhere: " where 1=1",
+						}
+					})
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data
+					if (count == 1) {
+						this.HEmpList = data
+					} else {
+						CommonUtils.showTips({
+							title: '娓╅Θ鎻愮ず',
+							message: Message
+						})
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: '娓╅Θ鎻愮ず',
+						message: err
+					})
+				}
+			},
+			// 鑾峰彇楠岃瘉椤圭洰鏁版嵁
+			async getCheckProjList() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: '/Gy_RepairCheck/GetRepairCheckList',
+						data: {
+							sWhere: "",
+							user: uni.getStorageSync('HUserName'),
+						}
+					})
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data
+					if (count == 1) {
+						this.HRepairCheckList = data
+					} else {
+						CommonUtils.showTips({
+							title: '娓╅Θ鎻愮ず',
+							message: Message
+						})
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: '娓╅Θ鎻愮ず',
+						message: err
+					})
+				}
+			},
+			toScanCode() {
+				MpaasScan.scanCode(cb => {
+					this.hfrom.HBarCode = cb
+					this.GetMessageByBarCode(cb)
+				})
+			},
+			async GetMessageByBarCode(HBarCode) {
+				try {
+					let res = await CommonUtils.doRequest2Sync({
+						url: "/Sc_PDA_MouldRepairCheckBill/txtHBarCode_KeyDown_List",
+						data: {
+							HBarCode: HBarCode,
+						},
+					})
 
 
-                    if (!res) {
-                        return
-                    }
+					if (!res) {
+						return
+					}
 
-                    let {
-                        data,
-                        count,
-                        Message
-                    } = res.data
+					let {
+						data,
+						count,
+						Message
+					} = res.data
 
-                    if (count == 1) {
-                        console.log('data: ', data);
-                        this.hform.HMouldID = data[0].hmainid
-                        this.hform.HMouldName = data[0].妯″叿鍚嶇О
-                        this.hform.HMouldSpec = data[0].妯″叿鍝佺被
-                        this.hform.HMouldModel = data[0].妯″叿鍨嬪彿
-                        this.hform.HQty = 1
+					if (count == 1) {
+						console.log('data: ', data);
+						this.hform.HMouldID = data[0].hmainid
+						this.hform.HMouldName = data[0].妯″叿鍚嶇О
+						this.hform.HMouldSpec = data[0].妯″叿鍝佺被
+						this.hform.HMouldModel = data[0].妯″叿鍨嬪彿
+						this.hform.HQty = 1
 
-                        this.enableEdit = false
-                    } else {
-                        CommonUtils.showTips({
-                            title: "娓╅Θ鎻愮ず",
-                            message: Message
-                        })
-                    }
+						this.enableEdit = false
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: Message
+						})
+					}
 
-                } catch (err) {
-                    CommonUtils.showTips({
-                        title: "娓╅Θ鎻愮ず",
-                        message: err
-                    })
-                }
-            },         
-            radioChange({
-                detail: {
-                    value
-                }
-            }) {
-                this.hform.HCheckResult = value
-            },
-            async getMaxNum() {
-                try {
-                    let res = await CommonUtils.doRequest2Async({
-                        url: "/Web/GetMAXNum",
-                        data: {
-                            "HBillType": this.HBillType
-                        }
-                    })
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: err
+					})
+				}
+			},
+			radioChange({
+				detail: {
+					value
+				}
+			}) {
+				this.hform.HCheckResult = value
+			},
+			async getMaxNum() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Web/GetMAXNum",
+						data: {
+							"HBillType": this.HBillType
+						}
+					})
 
-                    let {
-                        count,
-                        data,
-                        Message
-                    } = res.data
-                    console.log('data: ', data);
-                    this.hform.HInterID = 0
-                    this.hform.HBillNo = data[0]["HBillNo"]
-                } catch (err) {
-                    CommonUtils.showTips({
-                        title: "娓╅Θ鎻愮ず",
-                        message: "鑾峰彇鍗曟嵁淇℃伅寮傚父: " + err
-                    })
-                }
-            },
-            async submit() {
-                let valid = this.ValidCheck()
-                if (!valid.state) {
-                    CommonUtils.showTips({
-                        message: valid.Message
-                    })
-                    return
-                }
+					let {
+						count,
+						data,
+						Message
+					} = res.data
+					console.log('data: ', data);
+					this.hform.HInterID = 0
+					this.hform.HBillNo = data[0]["HBillNo"]
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: "鑾峰彇鍗曟嵁淇℃伅寮傚父: " + err
+					})
+				}
+			},
+			async submit() {
+				let valid = this.ValidCheck()
+				if (!valid.state) {
+					CommonUtils.showTips({
+						message: valid.Message
+					})
+					return
+				}
 
-                try {
-                    let oMain = JSON.stringify(this.hform);
-                    this.HBillSub[0].HRepairCheckID = this.hform.HRepairCheckMainID
-                    this.HBillSub[0].HManagerID = this.hform.HManagerID
-                    this.HBillSub[0].HRepairCheckContent = this.hform.HRepairCheckMainContent
-                    let sSubStr = JSON.stringify(this.HBillSub);
-                    let sMainSub = oMain + ';' + sSubStr + ';' + getUserInfo()['Czymc'];
-                    let res = await CommonUtils.doRequest2Sync({
-                        url: "/Sc_MouldRepairCheckBill/SaveGetMouldRepairCheckBillList",
-                        data: {
-                            "msg": sMainSub
-                        },
-                        method: "POST"
-                    })
+				try {
+					let oMain = JSON.stringify(this.hform);
+					this.HBillSub[0].HRepairCheckID = this.hform.HRepairCheckMainID
+					this.HBillSub[0].HManagerID = this.hform.HManagerID
+					this.HBillSub[0].HRepairCheckContent = this.hform.HRepairCheckMainContent
+					let sSubStr = JSON.stringify(this.HBillSub);
+					let sMainSub = oMain + ';' + sSubStr + ';' + getUserInfo()['Czymc'];
+					let res = await CommonUtils.doRequest2Sync({
+						url: "/Sc_MouldRepairCheckBill/SaveGetMouldRepairCheckBillList",
+						data: {
+							"msg": sMainSub
+						},
+						method: "POST"
+					})
 
-                    if (!res) {
-                        return
-                    }
+					if (!res) {
+						return
+					}
 
-                    let {
-                        count,
-                        Message
-                    } = res.data
-                    if (count == 1) {
-                        uni.showModal({
-                            title: '鎻愮ず',
-                            content: res.data.Message + '銆傛槸鍚︾户缁柊澧烇紵(鐐瑰嚮鍙栨秷杩斿洖涓婄骇椤甸潰)',
-                            success: (res) => {
-                                if (res.confirm) {
-                                    console.log('鐢ㄦ埛鐐瑰嚮纭畾');
-                                    uni.redirectTo({
-                                        url: '/pages/MJGL/Sb_EquipRepairCheck/Sb_EquipRepairCheckBill?operationType=1'
-                                    })
-                                } else if (res.cancel) {
-                                    console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
-                                    setTimeout(() => {
-                                        uni.navigateBack();
-                                    }, 50)
-                                }
-                            }
-                        });
-                    } else {
-                        CommonUtils.showTips({
-                            title: "娓╅Θ鎻愮ず",
-                            message: "鎻愪氦鍗曟嵁澶辫触: " + Message
-                        })
-                    }
+					let {
+						count,
+						Message
+					} = res.data
+					if (count == 1) {
+						uni.showModal({
+							title: '鎻愮ず',
+							content: res.data.Message + '銆傛槸鍚︾户缁柊澧烇紵(鐐瑰嚮鍙栨秷杩斿洖涓婄骇椤甸潰)',
+							success: (res) => {
+								if (res.confirm) {
+									console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+									uni.redirectTo({
+										url: '/pages/MJGL/Sb_EquipRepairCheck/Sb_EquipRepairCheckBill?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
-                    })
-                }
-            }
-        },
-        onLoad(e) {
-            console.log('e: ', e);
-            if (!e.operationType) {
-                this.operationType = 1
-            } else {
-                this.operationType = e.operationType
-            }
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: "鎻愪氦鍗曟嵁澶辫触: " + err
+					})
+				}
+			}
+		},
+		onLoad(e) {
+			console.log('e: ', e);
+			if (!e.operationType) {
+				this.operationType = 1
+			} else {
+				this.operationType = e.operationType
+			}
 
-            if (this.operationType == 1) {
-                // 鏂板
-                this.getMaxNum()
-            } else if (this.operationType == 2) {
-                // 澶嶅埗
-            } else if (this.operationType == 3) {
-                // 缂栬緫
+			if (this.operationType == 1) {
+				// 鏂板
+				this.getMaxNum()
+			} else if (this.operationType == 2) {
+				// 澶嶅埗
+			} else if (this.operationType == 3) {
+				// 缂栬緫
 
-            } else if (this.operationType == 4) {
-                // 娴忚
+			} else if (this.operationType == 4) {
+				// 娴忚
 
-            }
+			}
 
-            this.getHDeptList()
-            this.getEmpList()
-            this.getCheckProjList()
-        },
-        onReady() {
-            const query = uni.createSelectorQuery().in(this)
-            query.select("#buttons")
-                .boundingClientRect()
-                .select("#tabs")
-                .boundingClientRect()
-                .exec(res => {
-                    this.btnTop = Math.floor(res[0].top)
-                    this.tabsBottom = Math.ceil(res[1].bottom)
-                })
-        }
-    }
+			this.getHDeptList()
+			this.getEmpList()
+			this.getCheckProjList()
+			// 鐩戝惉鏁呴殰鐧昏鍗曢�夋嫨瀹屾垚浜嬩欢
+			uni.$on('BillSelectComplete', (e) => {
+				console.log("鎺ユ敹鍒扮殑娑堟伅: ", e)
+				this.hform.HMainSourceInterID = e.HInterID
+				this.hform.HMainSourceBillNo = e.HBillNo
+				this.hform.HMainSourceEntryID = e.HEntryID
+				this.hform.HMouldID = e.HMouldID
+				this.hform.HMouldName = e.HMouldName
+				this.hform.HMouldSpec = e.HMouldSpec
+				this.hform.HMouldModel = e.HMouldModel
+				this.$refs.billList.exit()
+			})
+			// 鐩戝惉缁翠慨璁板綍閫夋嫨瀹屾垚浜嬩欢
+			uni.$on('RepairRecordSelectComplete', (e) => {
+				console.log("鎺ユ敹鍒扮淮淇褰曢�夋嫨: ", e);
+				if (e.HInterID) {
+					this.hform.HMouldRepairWorkName = e.HBillNo;
+					this.hform.HMouldRepairWorkID = e.HInterID;
+					// 鍙互鏍规嵁闇�瑕佽缃叾浠栧瓧娈�
+				}
+				this.$refs.repairRecordList.exit();
+			});
+		},
+		onUnload() {
+			uni.$off('BillSelectComplete');
+			uni.$off('RepairRecordSelectComplete');
+		},
+		onReady() {
+			const query = uni.createSelectorQuery().in(this)
+			query.select("#buttons")
+				.boundingClientRect()
+				.select("#tabs")
+				.boundingClientRect()
+				.exec(res => {
+					this.btnTop = Math.floor(res[0].top)
+					this.tabsBottom = Math.ceil(res[1].bottom)
+				})
+		}
+	}
 </script>
 
 <style lang="scss" scoped>
-    @import "@/pages/MJGL/style/MJBillStyle.scss"
+	@import "@/pages/MJGL/style/MJBillStyle.scss"
 </style>
\ No newline at end of file

--
Gitblit v1.9.1