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 ++++++++++++++++++++--------------- pages/wareHouse/nuclearScale/saveForm.vue | 6 pages/wareHouse/nuclearScale/index.vue | 796 ++++++++++++-------- pages/sys/home/index.vue | 10 pages/wareHouse/nuclearScale/index.scss | 24 common/http.api.js | 3 6 files changed, 1,255 insertions(+), 917 deletions(-) diff --git a/common/http.api.js b/common/http.api.js index b1c614b..44fb092 100644 --- a/common/http.api.js +++ b/common/http.api.js @@ -554,6 +554,9 @@ createMain: (params = {}) => vm.$u.post('/mes/weighingVerification/createMain', params), // 鏍哥鍗曞彿 getWeighingOrder: (params = {}) => vm.$u.get('/mes/weighingVerification/pageVerificationMain', params), + // 鏍哥璇︽儏 + createDetail: (params = {}) => vm.$u.post('/mes/weighingVerification/createDetail', params), + }, // 鍙栨秷棰嗘枡 cancelMaterialRequisition: { diff --git a/pages/sys/home/index.vue b/pages/sys/home/index.vue index 92e1cfe..d6bae12 100644 --- a/pages/sys/home/index.vue +++ b/pages/sys/home/index.vue @@ -67,11 +67,11 @@ // url: '/pages/wareHouse/inventory/index', // icon: 'seven' // }, - // { - // name: '鏍哥褰曞叆', - // url: '/pages/wareHouse/nuclearScale/index', - // icon: 'eight' - // }, + { + name: '鏍哥褰曞叆', + url: '/pages/wareHouse/nuclearScale/index', + icon: 'eight' + }, // { // name: '搴撳瓨浠剁洏鐐�', // url: '/pages/wareHouse/InventoryCountStockItems/index', 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 diff --git a/pages/wareHouse/nuclearScale/index.scss b/pages/wareHouse/nuclearScale/index.scss index 15d9a6d..65102a3 100644 --- a/pages/wareHouse/nuclearScale/index.scss +++ b/pages/wareHouse/nuclearScale/index.scss @@ -130,7 +130,7 @@ ._label-name { margin-left: 11rpx; - font-size: 26rpx; + font-size: small; font-weight: 500; color: #666666; } @@ -140,7 +140,7 @@ flex: 1.5; text-align: right; color: #909399; - font-size: 24rpx; + font-size: small; } .row-list .s1 { @@ -185,7 +185,7 @@ .packing-registration-param-item-left { .item-one { - font-size: 30rpx; + font-size: small; color: #666666; } } @@ -195,19 +195,19 @@ justify-content: space-between; .item-one { - font-size: 15rpx; + font-size: small; color: #060505; margin-right: 6rpx; } .item-two { - font-size: 15rpx; - color: #a6b4cc; + font-size: small; + color: #171718; margin-right: 6rpx; } .item-three { - font-size: 30rpx; + font-size: small; color: #214ded; margin-right: 6rpx; } @@ -271,7 +271,7 @@ .packing-registration-param-item-left { .item-one { - font-size: 30rpx; + font-size: small; color: #666666; } } @@ -281,19 +281,19 @@ justify-content: space-between; .item-one { - font-size: 30rpx; + font-size: small; color: #060505; margin-right: 6rpx; } .item-two { - font-size: 30rpx; - color: #a6b4cc; + font-size: small; + color: #0f1010; margin-right: 6rpx; } .item-three { - font-size: 30rpx; + font-size: small; color: #214ded; margin-right: 6rpx; } diff --git a/pages/wareHouse/nuclearScale/index.vue b/pages/wareHouse/nuclearScale/index.vue index 95d8801..cedb44e 100644 --- a/pages/wareHouse/nuclearScale/index.vue +++ b/pages/wareHouse/nuclearScale/index.vue @@ -1,325 +1,487 @@ <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="200" :rules="rules" :error-type="['toast']" class="uForm"> - <u-form-item label="鏍哥鍗曞彿" :border-bottom="false" prop="verificationNo"> - <u-input v-model="form.verificationNo" type="select" placeholder="璇烽�夋嫨鏍哥鍗曞彿" @click="openList" /> - </u-form-item> - <u-form-item label="浜у搧绫诲瀷" :border-bottom="false" prop="productType"> - <u-input v-model="productTypeMap[form.productType] || form.productType" placeholder="" disabled /> - </u-form-item> - <u-form-item label="杞︾墝鍙�" :border-bottom="false" prop="licensePlate"> - <u-input v-model="form.licensePlate" placeholder="" disabled /> - </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="瀹㈡埛鍚嶇О1" :border-bottom="false" prop="customerName1"> - <u-input v-model="form.customerName1" placeholder="" disabled /> - </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="瀹㈡埛鍚嶇О2" :border-bottom="false" prop="customerName2"> - <u-input v-model="form.customerName2" placeholder="" disabled /> - </u-form-item> - <u-form-item label="鍙哥鍛�" :border-bottom="false" prop="weighingOperator"> - <u-input v-model="form.weighingOperator" placeholder="" disabled /> - </u-form-item> - <u-form-item label="鍙夎溅鍙告満" :border-bottom="false" prop="forkliftOperator"> - <u-input v-model="form.forkliftOperator" placeholder="" disabled /> - </u-form-item> - <u-form-item label="鏍哥璁板綍" :border-bottom="false" prop="value8"> - <u-input type="select" placeholder="" @click="openNuclearScaleRecord" /> - </u-form-item> - <u-form-item :label="`鎵爜璁板綍(${ScanCodeRecord.length}鏉�)锛歚" :border-bottom="false" prop="shippingNoticeNo1" - :label-width="260"> - </u-form-item> - </u-form> - <view class="wrap"> - <scroll-view class="packing-registration-scroll-list" scroll-y="true"> - <u-cell-group class="packing-registration-scroll-list-group" :border="false"> - <view class="content" v-for="(item, index) in ScanCodeRecord" :key="index" :index="index" - @click="cancelReport(item)"> - <view class="content-header"> - <view class="content-header-title">{{ index + 1 }}</view> - </view> - <view class="content-body"> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">鎵瑰彿锛�</view> - </view> - <view class="_content"> - {{ item.outBatchNo }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">闆朵欢鎻忚堪锛�</view> - </view> - <view class="_content"> - {{ item.netWeight }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">闆朵欢鍙凤細</view> - </view> - <view class="_content"> - {{ item.partNo }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">姣涢噸锛�</view> - </view> - <view class="_content"> - {{ item.grossWeight }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">鐩橀噸锛�</view> - </view> - <view class="_content"> - {{ item.trayWeight }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">鍑�閲嶏細</view> - </view> - <view class="_content"> - {{ item.netWeight }} - </view> - </view> - </view> - </view> - </u-cell-group> - </scroll-view> - </view> - <!-- 瀵间綋 --> - <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" - @confirm="confirmDt" @cancel="cancelDt"> - <view class="popup-content"> - <view class="packing-registration-param"> - <view class="packing-registration-param-view"> - <view class="packing-registration-param-item param-extra"> - <view class="packing-registration-param-item-left"> - <text class="item-one">鏍哥閲嶉噺锛�</text> - </view> - <view class="packing-registration-param-item-right"> - <u-input class="item-one item-two" v-model="modalList.suppliedQuantity" /> - </view> - </view> - <view class="packing-registration-param-item param-extra"> - <view class="packing-registration-param-item-left"> - <text class="item-one">鍙夎溅鐩橀噸锛�</text> - </view> - <view class="packing-registration-param-item-right"> - <u-input class="item-one item-two" v-model="modalList.suppliedQuantity" /> - </view> - </view> - </view> - </view> - </view> - </u-modal> - <u-button type="primary" class="bottom-button" @click="submit">鎻愪氦</u-button> - <u-modal v-model="show" @confirm="confirm" content="鏄惁纭鎻愪氦" show-cancel-button></u-modal> - <saveForm ref="saveForm" :operationTaskList="this.form" @update="handleUpdate" /> - <scan></scan> - </div> + <!-- 鏍哥褰曞叆 --> + <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="200" + :rules="rules" + :error-type="['toast']" + class="uForm" + > + <u-form-item + label="鏍哥鍗曞彿" + :border-bottom="false" + prop="verificationNo" + style="font-size: small" + > + <u-input + v-model="form.verificationNo" + type="select" + placeholder="璇烽�夋嫨鏍哥鍗曞彿" + @click="openList" + /> + </u-form-item> + <u-form-item + label="浜у搧绫诲瀷" + :border-bottom="false" + prop="productType" + style="font-size: small" + > + <u-input + v-model="productTypeMap[form.productType] || form.productType" + placeholder="" + disabled + /> + </u-form-item> + <u-form-item + label="杞︾墝鍙�" + :border-bottom="false" + prop="licensePlate" + style="font-size: small" + > + <u-input v-model="form.licensePlate" placeholder="" disabled /> + </u-form-item> + <u-form-item + label="鍙戣揣閫氱煡鍗�1" + :border-bottom="false" + prop="shippingNoticeNo1" + style="font-size: small" + > + <u-input v-model="form.shippingNoticeNo1" placeholder="" disabled /> + </u-form-item> + <u-form-item + label="瀹㈡埛鍚嶇О1" + :border-bottom="false" + prop="customerName1" + style="font-size: small" + > + <u-input v-model="form.customerName1" placeholder="" disabled /> + </u-form-item> + <u-form-item + label="鍙戣揣閫氱煡鍗�2" + :border-bottom="false" + prop="shippingNoticeNo2" + style="font-size: small" + > + <u-input v-model="form.shippingNoticeNo2" placeholder="" disabled /> + </u-form-item> + <u-form-item + label="瀹㈡埛鍚嶇О2" + :border-bottom="false" + prop="customerName2" + style="font-size: small" + > + <u-input v-model="form.customerName2" placeholder="" disabled /> + </u-form-item> + <u-form-item + label="鍙哥鍛�" + :border-bottom="false" + prop="weighingOperator" + style="font-size: small" + > + <u-input v-model="form.weighingOperator" placeholder="" disabled /> + </u-form-item> + <u-form-item + label="鍙夎溅鍙告満" + :border-bottom="false" + prop="forkliftOperator" + style="font-size: small" + > + <u-input v-model="form.forkliftOperator" placeholder="" disabled /> + </u-form-item> + <u-form-item + label="鏍哥璁板綍" + :border-bottom="false" + prop="value8" + style="font-size: small" + > + <u-input type="select" placeholder="" @click="openNuclearScaleRecord" /> + </u-form-item> + <u-form-item + :label="`鎵爜璁板綍(${ScanCodeRecord.length}鏉�)锛歚" + :border-bottom="false" + prop="shippingNoticeNo1" + :label-width="260" + style="font-size: small" + > + </u-form-item> + </u-form> + <view class="wrap"> + <scroll-view class="packing-registration-scroll-list" scroll-y="true"> + <u-cell-group + class="packing-registration-scroll-list-group" + :border="false" + > + <view + class="content" + v-for="(item, index) in ScanCodeRecord" + :key="index" + :index="index" + @click="cancelReport(item)" + > + <view class="content-header"> + <view class="content-header-title">{{ index + 1 }}</view> + </view> + <view class="content-body"> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">鎵瑰彿锛�</view> + </view> + <view class="_content"> + {{ item.outBatchNo }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">闆朵欢鎻忚堪锛�</view> + </view> + <view class="_content"> + {{ item.partName }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">闆朵欢鍙凤細</view> + </view> + <view class="_content"> + {{ item.partNo }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">姣涢噸锛�</view> + </view> + <view class="_content"> + {{ item.grossWeight }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">鐩橀噸锛�</view> + </view> + <view class="_content"> + {{ item.trayWeight }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">鍑�閲嶏細</view> + </view> + <view class="_content"> + {{ item.netWeight }} + </view> + </view> + </view> + </view> + </u-cell-group> + </scroll-view> + </view> + <!-- 瀵间綋 --> + <u-modal + v-model="showModal" + title="" + :show-cancel-button="true" + :show-confirm-button="true" + @confirm="confirmDt" + @cancel="cancelDt" + > + <view class="popup-content"> + <view class="packing-registration-param"> + <view class="packing-registration-param-view"> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">鏍哥閲嶉噺锛�</text> + </view> + <view class="packing-registration-param-item-right"> + <u-input + class="item-one item-two" + v-model="modalList.verificationWeight" + /> + </view> + </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">鍙夎溅鐩橀噸锛�</text> + </view> + <view class="packing-registration-param-item-right"> + <u-input + class="item-one item-two" + v-model="modalList.suppliedQuantity" + /> + </view> + </view> + </view> + </view> + </view> + </u-modal> + <u-button type="primary" class="bottom-button" @click="submit" + >鎻愪氦</u-button + > + <u-modal + v-model="show" + @confirm="confirm" + content="鏄惁纭鎻愪氦" + show-cancel-button + ></u-modal> + <saveForm + ref="saveForm" + :operationTaskList="this.form" + @update="handleUpdate" + /> + <scan></scan> + </div> </template> <script> - import scan from "@/components/scan/scan.vue"; - import content_bg from "@/static/custom/packing/backBg.png"; - import saveForm from "./saveForm.vue"; - export default { - components: { - scan, - saveForm, - }, - data() { - return { - modalList: {}, - showModal: false, - productTypeMap: { - 1: "瀵间綋", - 2: "閾滄潌", - 3: "瀵间綋2.6", - }, - ScanCodeRecord: [], - background: { - backgroundImage: `url(${content_bg})`, - backgroundAttachment: "fixed", - backgroundSize: "100% auto", - backgroundRepeat: "no-repeat", - }, - show: false, - form: { - value0: "", - verificationNo: "", - productType: "", - licensePlate: "", - shippingNoticeNo1: "", - customerName1: "", - weighingOperator: "", - forkliftOperator: "", - value8: "", - shippingNoticeNo2: "", - customerName2: "", - }, - rules: { - verificationNo: [{ - required: true, - message: "璇烽�夋嫨鏍哥鍗曞彿", - trigger: ["change", "blur"], - }, ], - }, - }; - }, - onReady() { - this.$refs.uForm.setRules(this.rules); - }, - onShow() { - let that = this; - uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 - uni.$on("scan", function(data) { - console.log("onscan"); - if (that.form.verificationNo == "") { - uni.showToast({ - icon: "none", - title: "璇峰厛閫夋嫨鏍哥鍗曞彿锛�", - duration: 2 * 1000, - }); - return; - } - //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� - console.log("椤甸潰鎵爜缁撴灉锛�", data.code); - if (data.code) { - try { - let codeInfo = JSON.parse(data.code); - } catch (e) { - uni.showToast({ - icon: "none", - title: "鎵爜鏁版嵁瑙f瀽澶辫触锛岃閲嶈瘯锛�", - duration: 2 * 1000, - }); - return; - } - if (codeInfo.CN != that.form.customerName1) { - // 鎵弿鎶ュ伐鍗曚簩缁寸爜 - uni.showModal({ - title: "鎻愮ず", - content: "瀹㈡埛涓嶄竴鑷达細" + - codeInfo.CN + - "||" + - that.form.customerName1, - showCancel: true, - success: function() { - if (that.form.productType == "2") { - that.$refs.saveForm.open(codeInfo); - } else { - that.ScanCodeRecord.push(codeInfo); - } - }, - }); - } else { - if (that.form.productType == "2") { - that.$refs.saveForm.open(codeInfo); - } else { - that.ScanCodeRecord.push(codeInfo); - } - } - } - }); - }, - methods: { - // 鍙栨秷鎵爜璁板綍 - cancelReport(item) { - this.ScanCodeRecord = this.ScanCodeRecord.filter(a => a.outBatchNo !== item.outBatchNo); - }, - // 瀵间綋鎻愪氦 - confirmDt() { - const magnetic = - Number(this.form.h) - Number(this.form.children) - Number(this.form.m); - console.log("淇濆瓨", this.form.verificationNo); - switch (this.form.productType) { - case "瀵间綋": - if (magnetic > 0 && magnetic < 3) { - this.ScanCodeRecord.push(this.form); - } else { - this.$u.toast("鐢熶骇鏍告煡"); - } - break; - case "瀵间綋2.6": - if (magnetic > -0.5 && magnetic < 0.5) { - this.ScanCodeRecord.push(this.form); - } else { - this.$u.toast("鐢熶骇鏍告煡"); - } - break; - } - }, - // 鍙栨秷 - cancelDt() { - this.showModal = false; - }, - handleUpdate(Obj) { - this.ScanCodeRecord.push(Obj); - }, - // 鎻愪氦鎸夐挳 - submit() { - this.showModal = true; - }, - // 寮规淇濆瓨 - confirm() { - console.log("淇濆瓨", this.form.verificationNo); - // 璇锋眰鎺ュ彛锛屾牴鎹伐鍗曞彿鏌ヨ鍏朵粬淇℃伅骞惰祴鍊� - }, - // 閫夋嫨璁㈠崟鍙� - openList() { - uni.navigateTo({ - url: "/pages/wareHouse/nuclearScale/nuclearScaleList", - }); - }, - //鏍哥璁板綍 - openNuclearScaleRecord() { - if (this.form.verificationNo == "") { - uni.showToast({ - icon: "none", - title: "璇峰厛閫夋嫨鏍哥鍗曞彿锛�", - duration: 2 * 1000, - }); - return; - } - uni.navigateTo({ - url: "/pages/wareHouse/nuclearScale/nuclearscalerecord", - }); - }, - // 瀛樿鍗曞彿 - setNo(val) { - this.form = val; - }, - // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗� - // saveForm(val) { - // let { - // WorkNo, - // ProcessName, - // ORDER_NO - // } = val; - // this.form.verificationNo = WorkNo; - // this.form.productType = ProcessName; - // this.form.licensePlate = ORDER_NO; - // }, - }, - }; +import scan from "@/components/scan/scan.vue"; +import content_bg from "@/static/custom/packing/backBg.png"; +import saveForm from "./saveForm.vue"; +export default { + components: { + scan, + saveForm, + }, + data() { + return { + commitList: [], + modalList: {}, + showModal: false, + productTypeMap: { + 1: "瀵间綋", + 2: "閾滄潌", + 3: "瀵间綋2.6", + }, + ScanCodeRecord: [], + background: { + backgroundImage: `url(${content_bg})`, + backgroundAttachment: "fixed", + backgroundSize: "100% auto", + backgroundRepeat: "no-repeat", + }, + show: false, + form: { + value0: "", + verificationNo: "", + productType: "", + licensePlate: "", + shippingNoticeNo1: "", + customerName1: "", + weighingOperator: "", + forkliftOperator: "", + value8: "", + shippingNoticeNo2: "", + customerName2: "", + }, + rules: { + verificationNo: [ + { + required: true, + message: "璇烽�夋嫨鏍哥鍗曞彿", + trigger: ["change", "blur"], + }, + ], + }, + }; + }, + onReady() { + this.$refs.uForm.setRules(this.rules); + }, + onShow() { + let that = this; + uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 + uni.$on("scan", function (data) { + console.log("onscan"); + if (that.form.verificationNo == "") { + uni.showToast({ + icon: "none", + title: "璇峰厛閫夋嫨鏍哥鍗曞彿锛�", + duration: 2 * 1000, + }); + return; + } + //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� + console.log("椤甸潰鎵爜缁撴灉锛�", data.code); + if (data.code) { + let codeInfo = JSON.parse(data.code); + // try { + // } catch (e) { + // uni.showToast({ + // icon: "none", + // title: "鎵爜鏁版嵁瑙f瀽澶辫触锛岃閲嶈瘯锛�", + // duration: 2 * 1000, + // }); + // return; + // } + let ScanCodeRecordList = { + outBatchNo: codeInfo.BN, + netWeight: codeInfo.NW, + tareWeight: codeInfo.TR, // 鐨噸 + partNo: codeInfo.PN, + grossWeight: codeInfo.TW, + partNo: codeInfo.partNo, + partName: codeInfo.ST, + originalLength: codeInfo.LN, // 闀垮害 + palletNo: codeInfo.PNO, // 鐩樺彿 + waivDevRejNo: codeInfo.WDR ? codeInfo.WDR : "*", // wdr鍙� + }; + if (codeInfo.CN != that.form.customerName1) { + // 鎵弿鎶ュ伐鍗曚簩缁寸爜 + uni.showModal({ + title: "鎻愮ず", + content: + "瀹㈡埛涓嶄竴鑷达細" + codeInfo.CN + "||" + that.form.customerName1, + showCancel: true, + success: function () { + if (that.form.productType == "TG01") { + that.$refs.saveForm.open(ScanCodeRecordList); + } else { + that.ScanCodeRecord.push(ScanCodeRecordList); + } + }, + }); + } else { + if (that.form.productType == "TG01") { + that.$refs.saveForm.open(ScanCodeRecordList); + } else { + that.ScanCodeRecord.push(ScanCodeRecordList); + } + } + } + }); + }, + methods: { + // 鍙栨秷鎵爜璁板綍 + cancelReport(item) { + let that = this; + uni.showModal({ + title: "鎻愮ず", + content: "鏄惁纭鍙栨秷閫変腑椤�", + success: function (res) { + if (res.confirm) { + that.ScanCodeRecord = that.ScanCodeRecord.filter( + (a) => a.outBatchNo !== item.outBatchNo + ); + } else if (res.cancel) { + return; + } + }, + }); + }, + // 瀵间綋鎻愪氦 + confirmDt() { + const magnetic = + Number(this.form.verificationWeight) - + Number(this.form.voltage) - + Number(this.form.reelWeight); + console.log("淇濆瓨", this.form.verificationNo); + switch (this.form.productType) { + case "瀵间綋": + if (magnetic > 0 && magnetic < 3) { + this.allSubmit(); + // this.ScanCodeRecord.push(this.form); + } else { + this.$u.toast("鐢熶骇鏍告煡"); + } + break; + case "瀵间綋2.6": + if (magnetic > -0.5 && magnetic < 0.5) { + // this.ScanCodeRecord.push(this.form); + this.allSubmit(); + } else { + this.$u.toast("鐢熶骇鏍告煡"); + } + break; + } + }, + allSubmit() { + this.form = { + ...this.form, + weighingVerificationList: this.ScanCodeRecord, + }; + // 澶勭悊鎻愪氦閫昏緫 + this.$u.api.NuclearScaleEntry.createDetail(this.form) + .then((res) => { + if (res.success) { + this.$u.toast("鎻愪氦鎴愬姛"); + } else { + this.$u.toast(res.message || "鎻愪氦澶辫触"); + } + }) + .catch(() => { + uni.hideLoading(); + this.$u.toast("缃戠粶寮傚父锛岃閲嶈瘯"); + }); + }, + + // 鍙栨秷 + cancelDt() { + this.showModal = false; + }, + handleUpdate(Obj) { + this.ScanCodeRecord.push(Obj); + }, + // 鎻愪氦鎸夐挳 + submit() { + if (that.form.productType != "TG01") { + this.showModal = true; + } else { + this.allSubmit(); + } + }, + // 寮规淇濆瓨 + confirm() { + console.log("淇濆瓨", this.form.verificationNo); + // 璇锋眰鎺ュ彛锛屾牴鎹伐鍗曞彿鏌ヨ鍏朵粬淇℃伅骞惰祴鍊� + }, + // 閫夋嫨璁㈠崟鍙� + openList() { + uni.navigateTo({ + url: "/pages/wareHouse/nuclearScale/nuclearScaleList", + }); + }, + //鏍哥璁板綍 + openNuclearScaleRecord() { + if (this.form.verificationNo == "") { + uni.showToast({ + icon: "none", + title: "璇峰厛閫夋嫨鏍哥鍗曞彿锛�", + duration: 2 * 1000, + }); + return; + } + uni.navigateTo({ + url: "/pages/wareHouse/nuclearScale/nuclearscalerecord", + }); + }, + // 瀛樿鍗曞彿 + setNo(val) { + this.form = val; + }, + // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗� + // saveForm(val) { + // let { + // WorkNo, + // ProcessName, + // ORDER_NO + // } = val; + // this.form.verificationNo = WorkNo; + // this.form.productType = ProcessName; + // this.form.licensePlate = ORDER_NO; + // }, + }, +}; </script> <style lang="scss"> - @import "index.scss"; +@import "index.scss"; </style> \ No newline at end of file diff --git a/pages/wareHouse/nuclearScale/saveForm.vue b/pages/wareHouse/nuclearScale/saveForm.vue index 6709109..2984361 100644 --- a/pages/wareHouse/nuclearScale/saveForm.vue +++ b/pages/wareHouse/nuclearScale/saveForm.vue @@ -88,7 +88,7 @@ <text class="item-one">鏍哥閲嶉噺</text> </view> <view class="packing-registration-param-item-right"> - <u-input class="item-one item-two" v-model="form.name" /> + <u-input class="item-one item-two" v-model="form.verificationWeight" /> </view> </view> <view class="packing-registration-param-item param-extra"> @@ -138,7 +138,7 @@ }, methods: { confirm() { - if (!this.form.outerDiameter) { + if (!this.form.verificationWeight) { this.$u.toast("璇疯緭鍏ユ牳纾呴噸閲�"); this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� return; @@ -170,7 +170,7 @@ //纾呭樊璁$畻锛氭牳姒�-鍙夎溅鐩�-姣涢噸 Number(this.form.h); const magnetic = - Number(this.form.h) - Number(this.form.children) - Number(this.form.m); + Number(this.form.verificationWeight) - Number(this.form.voltage) - Number(this.form.reelWeight); uni.showModal({ title: "鎻愮ず", content: "纾呭樊涓猴細" + magnetic, -- Gitblit v1.9.3