From 66a4579ac674f0f3958f2f365718c34e3bac49da Mon Sep 17 00:00:00 2001 From: yyb <995253665@qq.com> Date: 星期二, 12 八月 2025 08:32:52 +0800 Subject: [PATCH] 核磅录入 --- pages/wareHouse/nuclearScale/createwriteoffform.vue | 1333 ++++++++++++++++++++++++++++++++------------------------- 1 files changed, 753 insertions(+), 580 deletions(-) diff --git a/pages/wareHouse/nuclearScale/createwriteoffform.vue b/pages/wareHouse/nuclearScale/createwriteoffform.vue index dfaa5e2..29fcb08 100644 --- a/pages/wareHouse/nuclearScale/createwriteoffform.vue +++ b/pages/wareHouse/nuclearScale/createwriteoffform.vue @@ -1,632 +1,805 @@ <template> - <!-- 鏍哥褰曞叆 --> - <div class="page"> - <view class="packing-registration-bg" /> - <u-navbar title="鏍哥褰曞叆" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" - back-icon-color="#000" /> - <u-form :model="form" ref="uForm" :label-width="210" labelAlign="left" :rules="rules" :error-type="['toast']" - class="uForm"> - <u-form-item label="浜у搧绫诲瀷锛�" :border-bottom="false" prop="productType"> - <u-radio-group v-model="form.productType" @change="handleProductTypeChange"> - <u-radio name="1">瀵间綋</u-radio> - <u-radio name="2">閾滄潌</u-radio> - <u-radio name="3">瀵间綋2.6</u-radio> - </u-radio-group> - </u-form-item> - <u-form-item label="鏇挎崲浜岀淮鐮侊細" :border-bottom="false" prop="replace"> - <u-radio-group v-model="form.replace"> - <u-radio name="1">鏄�</u-radio> - <u-radio name="0">鍚�</u-radio> - </u-radio-group> - </u-form-item> - <u-form-item label="杞︾墝鍙凤細" :border-bottom="false" prop="licensePlate"> - <u-input v-model="form.licensePlate" type="select" placeholder="璇疯緭鍏ヨ溅鐗屽彿" @click="lpn" /> - </u-form-item> - <u-form-item label="瀹㈡埛鍚嶇О1锛�" :border-bottom="false" prop="customerName1"> - <picker class="item-one item-two" style="width: 100%; text-align: right" - @change="selClientChange($event, selClientList, 'customerName1')" :value="selClientIndex1" - :range="selClientList" range-key="label"> - <view> - <text :style="{ + <!-- 鏍哥褰曞叆 --> + <div class="page"> + <view class="packing-registration-bg" /> + <u-navbar + title="鏍哥褰曞叆" + :background="background" + :border-bottom="false" + :title-bold="true" + title-color="#000" + back-icon-color="#000" + /> + <u-form + :model="form" + ref="uForm" + :label-width="235" + labelAlign="left" + :rules="rules" + :error-type="['toast']" + class="uForm" + > + <u-form-item + label="浜у搧绫诲瀷锛�" + :border-bottom="false" + prop="productType" + style="font-size: small" + > + <u-radio-group + v-model="form.productType" + @change="handleProductTypeChange" + style="font-size: small" + > + <u-radio name="DT01">瀵间綋</u-radio> + <u-radio name="TG01">閾滄潌</u-radio> + <u-radio name="DT02">瀵间綋2.6</u-radio> + </u-radio-group> + </u-form-item> + <u-form-item + label="鏇挎崲浜岀淮鐮侊細" + :border-bottom="false" + prop="replace" + style="font-size: small" + > + <u-radio-group v-model="form.replace" style="font-size: small"> + <u-radio name="1">鏄�</u-radio> + <u-radio name="0">鍚�</u-radio> + </u-radio-group> + </u-form-item> + <u-form-item + label="杞︾墝鍙凤細" + :border-bottom="false" + prop="licensePlate" + style="font-size: small" + > + <u-input + v-model="form.licensePlate" + type="select" + placeholder="璇疯緭鍏ヨ溅鐗屽彿" + @click="lpn" + /> + </u-form-item> + <u-form-item + label="瀹㈡埛鍚嶇О1锛�" + :border-bottom="false" + prop="customerName1" + style="font-size: small" + > + <picker + class="item-one item-two" + style="width: 100%; text-align: right" + @change="selClientChange($event, selClientList, 'customerName1')" + :value="selClientIndex1" + :range="selClientList" + range-key="label" + > + <view> + <text + :style="{ color: selClientIndex1 == null ? '#a5abb4' : '#0c0c0c', - }">{{ + }" + >{{ selClientIndex1 == null ? "璇烽�夋嫨" : selClientList[selClientIndex1].label - }}</text> - </view> - </picker> - <u-icon v-if="selClientIndex1 == null" name="arrow-right" color="#687792" size="28"></u-icon> - </u-form-item> - <u-form-item label="鍙戣揣閫氱煡鍗曞彿1锛�" :border-bottom="false" prop="shippingNoticeNo1"> - <u-input v-model="form.shippingNoticeNo1" placeholder="" disabled /> - </u-form-item> - <u-form-item label="瀹㈡埛鍚嶇О2锛�" :border-bottom="false" prop="customerName2"> - <picker class="item-one item-two" style="width: 100%; text-align: right" - @change="selClientChange($event, selClientList, 'customerName2')" :value="selClientIndex2" - :range="selClientList" range-key="label"> - <view> - <text :style="{ + }}</text + > + </view> + </picker> + <u-icon + v-if="selClientIndex1 == null" + name="arrow-right" + color="#687792" + size="28" + ></u-icon> + </u-form-item> + <u-form-item + label="鍙戣揣閫氱煡鍗曞彿1锛�" + :border-bottom="false" + prop="shippingNoticeNo1" + style="font-size: small" + :label-width="245" + > + <u-input v-model="form.shippingNoticeNo1" placeholder="" disabled /> + </u-form-item> + <u-form-item + label="瀹㈡埛鍚嶇О2锛�" + :border-bottom="false" + prop="customerName2" + style="font-size: small" + > + <picker + class="item-one item-two" + style="width: 100%; text-align: right" + @change="selClientChange($event, selClientList, 'customerName2')" + :value="selClientIndex2" + :range="selClientList" + range-key="label" + > + <view> + <text + :style="{ color: selClientIndex2 == null ? '#a5abb4' : '#0c0c0c', - }">{{ + }" + >{{ selClientIndex2 == null ? "璇烽�夋嫨" : selClientList[selClientIndex2].label - }}</text> - </view> - </picker> - <u-icon v-if="selClientIndex2 == null" name="arrow-right" color="#687792" size="28"></u-icon> - </u-form-item> - <u-form-item label="鍙戣揣閫氱煡鍗曞彿2锛�" :border-bottom="false" prop="shippingNoticeNo2"> - <u-input v-model="form.shippingNoticeNo2" placeholder="" disabled /> - </u-form-item> - <u-form-item label="鐢熶骇杞﹂棿锛�" :border-bottom="false" prop="workshop"> - <picker class="item-one item-two" style="width: 100%; text-align: right" - @change="workshopChange($event, workshopList)" :value="workshopIndex" :range="workshopList" - range-key="label" :disabled="!form.productType"> - <view> - <text :style="{ color: workshopIndex == null ? '#a5abb4' : '#0c0c0c' }">{{ + }}</text + > + </view> + </picker> + <u-icon + v-if="selClientIndex2 == null" + name="arrow-right" + color="#687792" + size="28" + ></u-icon> + </u-form-item> + <u-form-item + label="鍙戣揣閫氱煡鍗曞彿2锛�" + :border-bottom="false" + prop="shippingNoticeNo2" + style="font-size: small" + :label-width="245" + > + <u-input v-model="form.shippingNoticeNo2" placeholder="" disabled /> + </u-form-item> + <u-form-item + label="鐢熶骇杞﹂棿锛�" + :border-bottom="false" + prop="workshop" + style="font-size: small" + > + <picker + class="item-one item-two" + style="width: 100%; text-align: right" + @change="workshopChange($event, workshopList)" + :value="workshopIndex" + :range="workshopList" + range-key="label" + :disabled="!form.productType" + > + <view> + <text + :style="{ color: workshopIndex == null ? '#a5abb4' : '#0c0c0c' }" + >{{ workshopIndex == null ? "璇烽�夋嫨" : workshopList[workshopIndex].label - }}</text> - </view> - </picker> - <u-icon v-if="workshopIndex == null" name="arrow-right" color="#687792" size="28"></u-icon> - </u-form-item> - <u-form-item label="鍙哥鍛橈細" :border-bottom="false" prop="weighingOperator"> - <picker class="item-one item-two" style="width: 100%; text-align: right" - @change="weighmanChange($event, weighmanList)" :value="weighmanIndex" :range="weighmanList" - range-key="label"> - <view> - <text :style="{ color: weighmanIndex == null ? '#a5abb4' : '#0c0c0c' }">{{ + }}</text + > + </view> + </picker> + <u-icon + v-if="workshopIndex == null" + name="arrow-right" + color="#687792" + size="28" + ></u-icon> + </u-form-item> + <u-form-item + label="鍙哥鍛橈細" + :border-bottom="false" + prop="weighingOperator" + style="font-size: small" + > + <picker + class="item-one item-two" + style="width: 100%; text-align: right" + @change="weighmanChange($event, weighmanList)" + :value="weighmanIndex" + :range="weighmanList" + range-key="label" + > + <view> + <text + :style="{ color: weighmanIndex == null ? '#a5abb4' : '#0c0c0c' }" + >{{ weighmanIndex == null ? "璇烽�夋嫨" : weighmanList[weighmanIndex].label - }}</text> - </view> - </picker> - <u-icon v-if="weighmanIndex == null" name="arrow-right" color="#687792" size="28"></u-icon> - </u-form-item> - <u-form-item label="鍙夎溅宸ワ細" :border-bottom="false" prop="forkliftOperator"> - <u-input v-model="form.forkliftOperator" type="select" placeholder="璇烽�夋嫨" - @click="openForkliftDriverList" /> - </u-form-item> - </u-form> - <u-button type="primary" class="bottom-button1" @click="submit">鍒涘缓</u-button> + }}</text + > + </view> + </picker> + <u-icon + v-if="weighmanIndex == null" + name="arrow-right" + color="#687792" + size="28" + ></u-icon> + </u-form-item> + <u-form-item + label="鍙夎溅宸ワ細" + :border-bottom="false" + prop="forkliftOperator" + style="font-size: small" + > + <u-input + v-model="form.forkliftOperator" + type="select" + placeholder="璇烽�夋嫨" + @click="openForkliftDriverList" + /> + </u-form-item> + </u-form> + <u-button type="primary" class="bottom-button1" @click="submit" + >鍒涘缓</u-button + > - <!--杞︾墝鍙� --> - <modalBg ref="modalBg" :confirm="confirm"> - <u-field v-model="form.licensePlate" label="杞︾墝鍙凤細" placeholder="璇疯緭鍏�" :border-bottom="false"> - </u-field> - </modalBg> - <!-- 鍙夎溅宸� --> - <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" - @confirm="confirmSelection" @cancel="cancel"> - <view class="popup-content"> - <view class="popup-header"> - <checkbox-group @change="checkboxChange"> - <label class="checkbox-item" v-for="(item, index) in checkboxList" :key="index"> - <checkbox :value="item.value" :checked="item.checked" /> - <text class="label">{{ item.label }}</text> - </label> - </checkbox-group> - </view> - </view> - </u-modal> - </div> + <!--杞︾墝鍙� --> + <modalBg ref="modalBg" :confirm="confirm"> + <u-field + v-model="form.licensePlate" + label="杞︾墝鍙凤細" + placeholder="璇疯緭鍏�" + :border-bottom="false" + > + </u-field> + </modalBg> + <!-- 鍙夎溅宸� --> + <u-modal + v-model="showModal" + title="" + :show-cancel-button="true" + :show-confirm-button="true" + @confirm="confirmSelection" + @cancel="cancel" + > + <scroll-view scroll-y="true" style="height: 100%; transform: translateZ(0); -webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;"></scroll-view> + <view class="popup-content"> + <view class="popup-header"> + <checkbox-group @change="checkboxChange"> + <label + class="checkbox-item" + v-for="(item, index) in checkboxList" + :key="index" + > + <checkbox :value="item.value" :checked="item.checked" /> + <text class="label">{{ item.label }}</text> + </label> + </checkbox-group> + </view> + </view> + <scroll-view/> + </u-modal> + </div> </template> <script> - import modalBg from "@/components/modal/modal-bg.vue"; - import content_bg from "@/static/custom/packing/backBg.png"; - export default { - components: { - modalBg, - }, - data() { - return { - checkboxList: [], - background: { - backgroundImage: `url(${content_bg})`, - backgroundAttachment: "fixed", - backgroundSize: "100% auto", - backgroundRepeat: "no-repeat", - }, - show: false, - num: 1, - form: { - replace: '0', - productType: '', - licensePlate: '', - customerName1: '', - shippingNoticeNo1: '', - customerName2: '', - shippingNoticeNo2: '', - workshop: '', - weighingOperator: '', - forkliftOperator: '', - }, - rules: { - productType: [{ - required: true, - message: "璇烽�夋嫨浜у搧绫诲瀷", - trigger: ["change"], - }, ], - replace: [{ - required: true, - message: "璇烽�夋嫨鏄惁鏇挎崲浜岀淮鐮�", - trigger: ["change", "blur"], - }, ], - licensePlate: [{ - required: true, - message: "璇疯緭鍏ヨ溅鐗屽彿", - trigger: ["change", "blur"], - }, ], - workshop: [{ - required: true, - message: "璇烽�夋嫨鐢熶骇杞﹂棿", - trigger: ["change"], - }, ], - weighingOperator: [{ - required: true, - message: "璇烽�夋嫨鍙哥鍛�", - trigger: ["change"], - }, ], - forkliftOperator: [{ - type: "string", - required: true, - message: "璇疯嚦灏戦�夋嫨涓�涓弶杞﹀伐", - trigger: ["change"], - }, ], - }, - // 瀹㈡埛鍚嶇О - selClientList: [], - selClientIndex1: null, - selClientIndex2: null, - // 鐢熶骇杞﹂棿 - workshopList: [], - workshopIndex: null, - // 鍙哥鍛� - weighmanList: [], - weighmanIndex: null, - showModal: false, - selectedItems: [], - id1: '', - id2: '', - isSubmitting: false - }; - }, - onReady() { - this.$refs.uForm.setRules(this.rules); - // 浠呭湪缁勪欢鍒濇鍔犺浇鏃惰幏鍙栨暟鎹� - if (this.selClientList.length === 0) { - this.fetchClients(); - } - if (this.workshopList.length === 0) { - this.fetchWorkshops(); - } - if (this.checkboxList.length === 0) { - this.fetchForkliftOperators(); - } - if (this.weighmanList.length === 0) { - this.fetchWeighmen(); - } - }, - onShow() { - // 閲嶇疆琛ㄥ崟鏁版嵁 - this.form = { - replace: '0', - productType: '', - licensePlate: '', - customerName1: '', - shippingNoticeNo1: '', - customerName2: '', - shippingNoticeNo2: '', - workshop: '', - weighingOperator: '', - forkliftOperator: '', - }; - this.selClientIndex1 = null; - this.selClientIndex2 = null; - this.workshopIndex = null; - this.weighmanIndex = null; - this.checkboxList = this.checkboxList.map(item => ({ - ...item, - checked: false - })); - this.$refs.uForm && this.$refs.uForm.resetValidation(); - }, - methods: { - /** - * 鑾峰彇瀹㈡埛鍒楄〃 - */ - fetchClients() { - this.$u.api.NuclearScaleEntry.selClient().then((res) => { - console.log('瀹㈡埛鍚嶇О', res) - if (res.code === 0) { - res.data.forEach((i) => { - const obj = Object.assign({ - label: i.customerName, - value: i.customerName, - shippingNoticeNo: i.shippingNoticeNo, - id: i.id - }); - this.selClientList.push(obj); - }); - } else { - uni.showToast({ - title: res.msg || '鑾峰彇瀹㈡埛鍚嶇О澶辫触', - icon: 'none' - }); - } - }).catch(err => { - uni.showToast({ - title: '缃戠粶閿欒锛岃幏鍙栧鎴峰悕绉板け璐�', - icon: 'none' - }); - console.error('鑾峰彇瀹㈡埛鍚嶇О閿欒:', err); - }); - }, +import modalBg from "@/components/modal/modal-bg.vue"; +import content_bg from "@/static/custom/packing/backBg.png"; +export default { + components: { + modalBg, + }, + data() { + return { + checkboxList: [], + background: { + backgroundImage: `url(${content_bg})`, + backgroundAttachment: "fixed", + backgroundSize: "100% auto", + backgroundRepeat: "no-repeat", + }, + show: false, + num: 1, + form: { + replace: "0", + productType: "", + licensePlate: "", + customerName1: "", + shippingNoticeNo1: "", + customerName2: "", + shippingNoticeNo2: "", + workshop: "", + weighingOperator: "", + forkliftOperator: "", + }, + rules: { + productType: [ + { + required: true, + message: "璇烽�夋嫨浜у搧绫诲瀷", + trigger: ["change"], + }, + ], + replace: [ + { + required: true, + message: "璇烽�夋嫨鏄惁鏇挎崲浜岀淮鐮�", + trigger: ["change", "blur"], + }, + ], + licensePlate: [ + { + required: true, + message: "璇疯緭鍏ヨ溅鐗屽彿", + trigger: ["change", "blur"], + }, + ], + workshop: [ + { + required: true, + message: "璇烽�夋嫨鐢熶骇杞﹂棿", + trigger: ["change"], + }, + ], + weighingOperator: [ + { + required: true, + message: "璇烽�夋嫨鍙哥鍛�", + trigger: ["change"], + }, + ], + forkliftOperator: [ + { + type: "string", + required: true, + message: "璇疯嚦灏戦�夋嫨涓�涓弶杞﹀伐", + trigger: ["change"], + }, + ], + }, + // 瀹㈡埛鍚嶇О + selClientList: [], + selClientIndex1: null, + selClientIndex2: null, + // 鐢熶骇杞﹂棿 + workshopList: [], + workshopIndex: null, + // 鍙哥鍛� + weighmanList: [], + weighmanIndex: null, + showModal: false, + selectedItems: [], + id1: "", + id2: "", + isSubmitting: false, + }; + }, + onReady() { + this.$refs.uForm.setRules(this.rules); + // 浠呭湪缁勪欢鍒濇鍔犺浇鏃惰幏鍙栨暟鎹� + if (this.selClientList.length === 0) { + this.fetchClients(); + } + if (this.workshopList.length === 0) { + this.fetchWorkshops(); + } + if (this.checkboxList.length === 0) { + this.fetchForkliftOperators(); + } + if (this.weighmanList.length === 0) { + this.fetchWeighmen(); + } + }, + onShow() { + // 閲嶇疆琛ㄥ崟鏁版嵁 + this.form = { + replace: "0", + productType: "", + licensePlate: "", + customerName1: "", + shippingNoticeNo1: "", + customerName2: "", + shippingNoticeNo2: "", + workshop: "", + weighingOperator: "", + forkliftOperator: "", + }; + this.selClientIndex1 = null; + this.selClientIndex2 = null; + this.workshopIndex = null; + this.weighmanIndex = null; + this.checkboxList = this.checkboxList.map((item) => ({ + ...item, + checked: false, + })); + this.$refs.uForm && this.$refs.uForm.resetValidation(); + }, + methods: { + /** + * 鑾峰彇瀹㈡埛鍒楄〃 + */ + fetchClients() { + this.$u.api.NuclearScaleEntry.selClient() + .then((res) => { + console.log("瀹㈡埛鍚嶇О", res); + if (res.code === 0) { + res.data.forEach((i) => { + const obj = Object.assign({ + label: i.customerName, + value: i.customerName, + shippingNoticeNo: i.shippingNoticeNo, + id: i.id, + }); + this.selClientList.push(obj); + }); + } else { + uni.showToast({ + title: res.msg || "鑾峰彇瀹㈡埛鍚嶇О澶辫触", + icon: "none", + }); + } + }) + .catch((err) => { + uni.showToast({ + title: "缃戠粶閿欒锛岃幏鍙栧鎴峰悕绉板け璐�", + icon: "none", + }); + console.error("鑾峰彇瀹㈡埛鍚嶇О閿欒:", err); + }); + }, - /** - * 鑾峰彇杞﹂棿鍒楄〃 - */ - fetchWorkshops() { - this.$u.api.dictData({ - dictType: 'workshop' - }).then(res => { - if (res.code === 0 && res.data.length > 0) { - res.data.forEach(i => { - const obj = Object.assign({ - label: i.label, - value: i.value, - }) - this.workshopList.push(obj) - }) - } else { - uni.showToast({ - title: res.msg || '鑾峰彇杞﹂棿鍒楄〃澶辫触', - icon: 'none' - }); - } - }).catch(err => { - uni.showToast({ - title: '缃戠粶閿欒锛岃幏鍙栬溅闂村垪琛ㄥけ璐�', - icon: 'none' - }); - console.error('鑾峰彇杞﹂棿鍒楄〃閿欒:', err); - }); - }, + /** + * 鑾峰彇杞﹂棿鍒楄〃 + */ + fetchWorkshops() { + this.$u.api + .dictData({ + dictType: "workshop", + }) + .then((res) => { + if (res.code === 0 && res.data.length > 0) { + res.data.forEach((i) => { + const obj = Object.assign({ + label: i.label, + value: i.value, + }); + this.workshopList.push(obj); + }); + } else { + uni.showToast({ + title: res.msg || "鑾峰彇杞﹂棿鍒楄〃澶辫触", + icon: "none", + }); + } + }) + .catch((err) => { + uni.showToast({ + title: "缃戠粶閿欒锛岃幏鍙栬溅闂村垪琛ㄥけ璐�", + icon: "none", + }); + console.error("鑾峰彇杞﹂棿鍒楄〃閿欒:", err); + }); + }, - /** - * 鑾峰彇鍙夎溅宸ュ垪琛� - */ - fetchForkliftOperators() { - this.$u.api.dictData({ - dictType: 'forklift' - }).then(res => { - if (res.code === 0 && res.data.length > 0) { - res.data.forEach(i => { - const obj = Object.assign({ - label: i.label, - value: i.label, - }) - this.checkboxList.push(obj) - }) - } else { - uni.showToast({ - title: res.msg || '鑾峰彇鍙夎溅宸ュ垪琛ㄥけ璐�', - icon: 'none' - }); - } - }).catch(err => { - uni.showToast({ - title: '缃戠粶閿欒锛岃幏鍙栧弶杞﹀伐鍒楄〃澶辫触', - icon: 'none' - }); - console.error('鑾峰彇鍙夎溅宸ュ垪琛ㄩ敊璇�:', err); - }); - }, + /** + * 鑾峰彇鍙夎溅宸ュ垪琛� + */ + fetchForkliftOperators() { + this.$u.api + .dictData({ + dictType: "forklift", + }) + .then((res) => { + if (res.code === 0 && res.data.length > 0) { + res.data.forEach((i) => { + const obj = Object.assign({ + label: i.label, + value: i.label, + }); + this.checkboxList.push(obj); + }); + } else { + uni.showToast({ + title: res.msg || "鑾峰彇鍙夎溅宸ュ垪琛ㄥけ璐�", + icon: "none", + }); + } + }) + .catch((err) => { + uni.showToast({ + title: "缃戠粶閿欒锛岃幏鍙栧弶杞﹀伐鍒楄〃澶辫触", + icon: "none", + }); + console.error("鑾峰彇鍙夎溅宸ュ垪琛ㄩ敊璇�:", err); + }); + }, - /** - * 鑾峰彇鍙哥鍛樺垪琛� - */ - fetchWeighmen() { - this.$u.api.dictData({ - dictType: 'weighing' - }).then(res => { - if (res.code === 0 && res.data.length > 0) { - res.data.forEach(i => { - const obj = Object.assign({ - label: i.label, - value: i.label, - }) - this.weighmanList.push(obj) - }) - } else { - uni.showToast({ - title: res.msg || '鑾峰彇鍙哥鍛樺垪琛ㄥけ璐�', - icon: 'none' - }); - } - }).catch(err => { - uni.showToast({ - title: '缃戠粶閿欒锛岃幏鍙栧徃纾呭憳鍒楄〃澶辫触', - icon: 'none' - }); - console.error('鑾峰彇鍙哥鍛樺垪琛ㄩ敊璇�:', err); - }); - }, - // 澶嶉�夋鍙樺寲浜嬩欢 - checkboxChange(e) { - const values = e.detail.value; - this.checkboxList = this.checkboxList.map((item) => { - return { - ...item, - checked: values.includes(item.value), - }; - }); - }, + /** + * 鑾峰彇鍙哥鍛樺垪琛� + */ + fetchWeighmen() { + this.$u.api + .dictData({ + dictType: "weighing", + }) + .then((res) => { + if (res.code === 0 && res.data.length > 0) { + res.data.forEach((i) => { + const obj = Object.assign({ + label: i.label, + value: i.label, + }); + this.weighmanList.push(obj); + }); + } else { + uni.showToast({ + title: res.msg || "鑾峰彇鍙哥鍛樺垪琛ㄥけ璐�", + icon: "none", + }); + } + }) + .catch((err) => { + uni.showToast({ + title: "缃戠粶閿欒锛岃幏鍙栧徃纾呭憳鍒楄〃澶辫触", + icon: "none", + }); + console.error("鑾峰彇鍙哥鍛樺垪琛ㄩ敊璇�:", err); + }); + }, + // 澶嶉�夋鍙樺寲浜嬩欢 + checkboxChange(e) { + const values = e.detail.value; + this.checkboxList = this.checkboxList.map((item) => { + return { + ...item, + checked: values.includes(item.value), + }; + }); + }, - // 纭閫夋嫨 - confirmSelection() { - // 灏嗛�変腑鐨勫弶杞﹀伐鏍囩鏁扮粍杞负浠ラ�楀彿鍒嗛殧鐨勫瓧绗︿覆 - this.form.forkliftOperator = this.checkboxList - .filter((item) => item.checked) - .map((item) => item.label) - .join(','); - }, - cancel() {}, - openForkliftDriverList() { - this.showModal = true; - }, - // 瀹㈡埛鍚嶇О - selClientChange(e, storage, code) { - if (storage.length <= 0) { - this.selClientIndex1 = null; - this.selClientIndex2 = null; - return; - } - const selectedIndex = e.target.value; - const selectedCustomer = storage[selectedIndex]; + // 纭閫夋嫨 + confirmSelection() { + // 灏嗛�変腑鐨勫弶杞﹀伐鏍囩鏁扮粍杞负浠ラ�楀彿鍒嗛殧鐨勫瓧绗︿覆 + this.form.forkliftOperator = this.checkboxList + .filter((item) => item.checked) + .map((item) => item.label) + .join(","); + }, + cancel() {}, + openForkliftDriverList() { + this.showModal = true; + }, + // 瀹㈡埛鍚嶇О + selClientChange(e, storage, code) { + if (storage.length <= 0) { + this.selClientIndex1 = null; + this.selClientIndex2 = null; + return; + } + const selectedIndex = e.target.value; + const selectedCustomer = storage[selectedIndex]; - // 妫�鏌ユ槸鍚﹂�夋嫨浜嗙浉鍚岀殑瀹㈡埛 - if (code === "customerName1" && this.selClientIndex2 === selectedIndex) { - uni.showToast({ - title: '涓嶈兘閫夋嫨鐩稿悓鐨勫鎴�', - icon: 'none' - }); - return; - } - if (code === "customerName2" && this.selClientIndex1 === selectedIndex) { - uni.showToast({ - title: '涓嶈兘閫夋嫨鐩稿悓鐨勫鎴�', - icon: 'none' - }); - return; - } + // 妫�鏌ユ槸鍚﹂�夋嫨浜嗙浉鍚岀殑瀹㈡埛 + if (code === "customerName1" && this.selClientIndex2 === selectedIndex) { + uni.showToast({ + title: "涓嶈兘閫夋嫨鐩稿悓鐨勫鎴�", + icon: "none", + }); + return; + } + if (code === "customerName2" && this.selClientIndex1 === selectedIndex) { + uni.showToast({ + title: "涓嶈兘閫夋嫨鐩稿悓鐨勫鎴�", + icon: "none", + }); + return; + } - if (code === "customerName2") { - this.selClientIndex2 = selectedIndex; - this.form.customerName2 = selectedCustomer.label; - this.form.shippingNoticeNo2 = selectedCustomer.shippingNoticeNo; - this.id2 = selectedCustomer.id; - } - if (code === "customerName1") { - this.selClientIndex1 = selectedIndex; - this.form.customerName1 = selectedCustomer.label; - this.form.shippingNoticeNo1 = selectedCustomer.shippingNoticeNo; - this.id1 = selectedCustomer.id - } - }, - // 鐢熶骇杞﹂棿 - workshopChange(e, storage) { - if (storage.length <= 0) { - this.workshopIndex = null; - return; - } + if (code === "customerName2") { + this.selClientIndex2 = selectedIndex; + this.form.customerName2 = selectedCustomer.label; + this.form.shippingNoticeNo2 = selectedCustomer.shippingNoticeNo; + this.id2 = selectedCustomer.id; + } + if (code === "customerName1") { + this.selClientIndex1 = selectedIndex; + this.form.customerName1 = selectedCustomer.label; + this.form.shippingNoticeNo1 = selectedCustomer.shippingNoticeNo; + this.id1 = selectedCustomer.id; + } + }, + // 鐢熶骇杞﹂棿 + workshopChange(e, storage) { + if (storage.length <= 0) { + this.workshopIndex = null; + return; + } - const productType = this.form.productType; - const selectedWorkshop = storage[e.target.value]; + const productType = this.form.productType; + const selectedWorkshop = storage[e.target.value]; - // 妫�鏌ヤ骇鍝佺被鍨嬫槸鍚︿负閾滄潌(鍊间负2) - if (productType === '2') { - // 閾滄潌鍙兘閫夋嫨閾滄潌鐩稿叧杞﹂棿 - if (!selectedWorkshop.label.includes('閾滄潌')) { - uni.showModal({ - title: "鎻愮ず", - content: "閾滄潌浜у搧鍙兘閫夋嫨閾滄潌鐩稿叧杞﹂棿", - showCancel: false - }); - return; - } - } else { - // 瀵间綋浜у搧涓嶈兘閫夋嫨閾滄潌杞﹂棿 - if (selectedWorkshop.label.includes('閾滄潌')) { - uni.showModal({ - title: "鎻愮ず", - content: "瀵间綋浜у搧涓嶈兘閫夋嫨閾滄潌杞﹂棿", - showCancel: false - }); - return; - } - } + // 妫�鏌ヤ骇鍝佺被鍨嬫槸鍚︿负閾滄潌(鍊间负TG01) + if (productType === "TG01") { + // 閾滄潌鍙兘閫夋嫨閾滄潌鐩稿叧杞﹂棿 + if (!selectedWorkshop.label.includes("閾滄潌")) { + uni.showModal({ + title: "鎻愮ず", + content: "閾滄潌浜у搧鍙兘閫夋嫨閾滄潌鐩稿叧杞﹂棿", + showCancel: false, + }); + return; + } + } else { + // 瀵间綋浜у搧涓嶈兘閫夋嫨閾滄潌杞﹂棿 + if (selectedWorkshop.label.includes("閾滄潌")) { + uni.showModal({ + title: "鎻愮ず", + content: "瀵间綋浜у搧涓嶈兘閫夋嫨閾滄潌杞﹂棿", + showCancel: false, + }); + return; + } + } - this.workshopIndex = e.target.value; - this.form.workshop = selectedWorkshop.label; - }, - // 鍙哥鍛� - weighmanChange(e, storage) { - if (storage.length <= 0) { - this.weighmanIndex = null; - return; - } - this.weighmanIndex = e.target.value; - this.form.weighingOperator = storage[this.weighmanIndex].label; - }, - lpn() { - this.$refs.modalBg.open(); - }, - // 寮规淇濆瓨 - confirm() {}, + this.workshopIndex = e.target.value; + this.form.workshop = selectedWorkshop.label; + }, + // 鍙哥鍛� + weighmanChange(e, storage) { + if (storage.length <= 0) { + this.weighmanIndex = null; + return; + } + this.weighmanIndex = e.target.value; + this.form.weighingOperator = storage[this.weighmanIndex].label; + }, + lpn() { + this.$refs.modalBg.open(); + }, + // 寮规淇濆瓨 + confirm() {}, - /** - * 浜у搧绫诲瀷鍙樺寲鏃舵竻绌鸿溅闂撮�夋嫨 - */ - handleProductTypeChange() { - this.workshopIndex = null; - this.form.workshop = ''; - }, - // 鎻愪氦鎸夐挳 - async submit() { - if (this.isSubmitting) return; + /** + * 浜у搧绫诲瀷鍙樺寲鏃舵竻绌鸿溅闂撮�夋嫨 + */ + handleProductTypeChange() { + this.workshopIndex = null; + this.form.workshop = ""; + }, + // 鎻愪氦鎸夐挳 + async submit() { + if (this.isSubmitting) return; - try { - // 缁熶竴琛ㄥ崟楠岃瘉 - if (!await this.validateForm()) return; + try { + // 缁熶竴琛ㄥ崟楠岃瘉 + if (!(await this.validateForm())) return; - // 鏋勫缓鎻愪氦鏁版嵁 - const submitData = this.buildSubmitData().customerList; - console.log('鎻愪氦鐨勬暟鎹�',submitData) - this.isSubmitting = true; - const res = await this.$u.api.NuclearScaleEntry.createMain(submitData); + // 鏋勫缓鎻愪氦鏁版嵁 + const submitData = this.buildSubmitData().customerList; + console.log("鎻愪氦鐨勬暟鎹�", submitData); + this.isSubmitting = true; + const res = await this.$u.api.NuclearScaleEntry.createMain(submitData); - if (res.code === 0) { - this.$u.toast("鎻愪氦鎴愬姛"); - uni.navigateBack(); - } else { - uni.showToast({ - title: res.msg || '鎻愪氦澶辫触锛氫笟鍔″鐞嗛敊璇�', - icon: 'none' - }); - console.error('涓氬姟閿欒:', res); - } - } catch (err) { - if (err.type === 'validation') { - uni.showToast({ - title: err.message, - icon: 'none' - }); - } else if (err.message.includes('Network Error')) { - uni.showToast({ - title: '缃戠粶杩炴帴閿欒锛岃妫�鏌ョ綉缁滃悗閲嶈瘯', - icon: 'none' - }); - } else { - uni.showToast({ - title: '绯荤粺閿欒锛岃绋嶅悗閲嶈瘯', - icon: 'none' - }); - } - console.error('鎻愪氦琛ㄥ崟閿欒:', err); - } finally { - this.isSubmitting = false; - } - }, + if (res.code === 0) { + this.$u.toast("鎻愪氦鎴愬姛"); + uni.navigateBack(); + } else { + uni.showToast({ + title: res.msg || "鎻愪氦澶辫触锛氫笟鍔″鐞嗛敊璇�", + icon: "none", + }); + console.error("涓氬姟閿欒:", res); + } + } catch (err) { + if (err.type === "validation") { + uni.showToast({ + title: err.message, + icon: "none", + }); + } else if (err.message.includes("Network Error")) { + uni.showToast({ + title: "缃戠粶杩炴帴閿欒锛岃妫�鏌ョ綉缁滃悗閲嶈瘯", + icon: "none", + }); + } else { + uni.showToast({ + title: "绯荤粺閿欒锛岃绋嶅悗閲嶈瘯", + icon: "none", + }); + } + console.error("鎻愪氦琛ㄥ崟閿欒:", err); + } finally { + this.isSubmitting = false; + } + }, - // 缁熶竴琛ㄥ崟楠岃瘉 - async validateForm() { - // 浣跨敤uView琛ㄥ崟楠岃瘉 - if (!await this.$refs.uForm.validate()) { - return false; - } + // 缁熶竴琛ㄥ崟楠岃瘉 + async validateForm() { + // 浣跨敤uView琛ㄥ崟楠岃瘉 + if (!(await this.$refs.uForm.validate())) { + return false; + } - // 瀹㈡埛鍚嶇О楠岃瘉 - if (!this.form.customerName1 || !this.form.customerName2) { - throw { type: 'validation', message: '璇峰厛閫夋嫨瀹㈡埛鍚嶇О' }; - } + // 瀹㈡埛鍚嶇О楠岃瘉 + if (!this.form.customerName1 || !this.form.customerName2) { + throw { type: "validation", message: "璇峰厛閫夋嫨瀹㈡埛鍚嶇О" }; + } - return true; - }, + return true; + }, - // 鏋勫缓鎻愪氦鏁版嵁 - buildSubmitData() { - // 鍒涘缓瀹㈡埛鏁版嵁鐨勮緟鍔╁嚱鏁� - const createCustomerItem = (customerIndex) => ({ - customerName: this.form[`customerName${customerIndex}`], - shippingNoticeNo: this.form[`shippingNoticeNo${customerIndex}`], - shippingNoticeId: this[`id${customerIndex}`], - replace: this.form.replace, - productType: this.form.productType, - licensePlate: this.form.licensePlate, - workshop: this.form.workshop, - weighingOperator: this.form.weighingOperator, - forkliftOperator: this.form.forkliftOperator, - }); + // 鏋勫缓鎻愪氦鏁版嵁 + buildSubmitData() { + // 鍒涘缓瀹㈡埛鏁版嵁鐨勮緟鍔╁嚱鏁� + const createCustomerItem = (customerIndex) => ({ + customerName: this.form[`customerName${customerIndex}`], + shippingNoticeNo: this.form[`shippingNoticeNo${customerIndex}`], + shippingNoticeId: this[`id${customerIndex}`], + replace: this.form.replace, + productType: this.form.productType, + licensePlate: this.form.licensePlate, + workshop: this.form.workshop, + weighingOperator: this.form.weighingOperator, + forkliftOperator: this.form.forkliftOperator, + }); - // 鏋勫缓瀹㈡埛鍒楄〃 - const customerList = [1, 2].map(createCustomerItem); + // 鏋勫缓瀹㈡埛鍒楄〃 + const customerList = [1, 2].map(createCustomerItem); - return { - customerList - }; - }, - }, - }; + return { + customerList, + }; + }, + }, +}; </script> <style lang="scss" scoped> - @import "index.scss"; +@import "index.scss"; - /* 寮圭獥鏍峰紡 */ - .popup-content { - padding: 30rpx; - max-height: 70vh; - overflow-y: auto; - } +/* 寮圭獥鏍峰紡 */ +.popup-content { + padding: 30rpx; + max-height: 70vh; + overflow-y: auto; +} - .popup-header { - display: flex; - justify-content: space-between; - align-items: center; - padding-bottom: 20rpx; - border-bottom: 1rpx solid #eee; - margin-bottom: 20rpx; - } +.popup-header { + display: flex; + justify-content: space-between; + align-items: center; + padding-bottom: 20rpx; + border-bottom: 1rpx solid #eee; + margin-bottom: 20rpx; +} - .title { - font-size: 32rpx; - font-weight: bold; - } +.title { + font-size: 32rpx; + font-weight: bold; +} - .confirm-btn { - color: #007aff; - font-size: 28rpx; - } +.confirm-btn { + color: #007aff; + font-size: small; +} - /* 澶嶉�夋鏍峰紡 */ - .checkbox-item { - width: 230px; - display: flex; - align-items: center; - padding: 20rpx 0; - border-bottom: 1rpx solid #f5f5f5; - background-color: #f8f9fa; +/* 澶嶉�夋鏍峰紡 */ +.checkbox-item { + width: 230px; + display: flex; + align-items: center; + padding: 20rpx 0; + border-bottom: 1rpx solid #f5f5f5; + background-color: #f8f9fa; - .label { - position: relative; - left: 130px; - } - } + .label { + position: relative; + left: 130px; + } +} - .checkbox-item:last-child { - border-bottom: none; - } +.checkbox-item:last-child { + border-bottom: none; +} - .checkbox-item .label { - margin-left: 20rpx; - } +.checkbox-item .label { + margin-left: 20rpx; +} - .item-one { - font-size: 30rpx; - color: #0c0c0c; - margin-right: 6rpx; - } +.item-one { + font-size: small; + color: #0c0c0c; + margin-right: 6rpx; +} - .item-two { - font-size: 30rpx; - color: #a5abb4; - margin-right: 6rpx; - } +.item-two { + font-size: small; + color: #a5abb4; + margin-right: 6rpx; +} </style> \ No newline at end of file -- Gitblit v1.9.3