From d33f290654ef65f537240ff4774cfd0eb66f0b4c Mon Sep 17 00:00:00 2001 From: yyb <995253665@qq.com> Date: 星期三, 04 六月 2025 17:21:14 +0800 Subject: [PATCH] 接收铜杆/核磅录入开发 --- pages/wareHouse/nuclearScale/createwriteoffform.vue | 259 +++++++++++++++++++++++--------- pages/wareHouse/nuclearScale/index.vue | 2 pages/product/cancelReport/index.vue | 2 pages/sys/home/index.vue | 2 pages/product/receive/index.vue | 173 +++++++++++++++++++++ 5 files changed, 363 insertions(+), 75 deletions(-) diff --git a/pages/product/cancelReport/index.vue b/pages/product/cancelReport/index.vue index ea33bb9..7a4e429 100644 --- a/pages/product/cancelReport/index.vue +++ b/pages/product/cancelReport/index.vue @@ -2,7 +2,7 @@ <!-- 鍙栨秷鎶ュ伐 --> <view class="page"> <view class="packing-registration-bg" /> - <u-navbar title="鏍哥褰曞叆" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" + <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="280" :rules="rules" :error-type="['toast']" class="uForm"> <u-form-item label="璁㈠崟鍙�" :border-bottom="false" prop="value3"> diff --git a/pages/product/receive/index.vue b/pages/product/receive/index.vue new file mode 100644 index 0000000..fdfc4a4 --- /dev/null +++ b/pages/product/receive/index.vue @@ -0,0 +1,173 @@ +<template> + <!-- 鎺ユ敹锛堥摐鏉嗭級 --> + <view 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="280" :rules="rules" :error-type="['toast']" class="uForm"> + <u-form-item label="璁㈠崟鍙�" :border-bottom="false" prop="value1"> + <u-input v-model="form.value1" type="select" placeholder="鐐瑰嚮閫夋嫨" @click="openList" /> + </u-form-item> + <u-form-item label="闆朵欢鍙�" :border-bottom="false" prop="value2"> + <u-input v-model="form.value2" placeholder="" disabled /> + </u-form-item> + <u-form-item label="闆朵欢鎻忚堪" :border-bottom="false" prop="value3"> + <u-input v-model="form.value3" placeholder="" disabled /> + </u-form-item> + <u-form-item label="鎵归噺澶у皬" :border-bottom="false" prop="value4"> + <u-input v-model="form.value4" placeholder="" disabled /> + </u-form-item> + <u-form-item label="鍓╀綑鏁伴噺" :border-bottom="false" prop="value5"> + <u-input v-model="form.value5" placeholder="" disabled /> + </u-form-item> + <u-form-item label="搴撲綅" :border-bottom="false" prop="value6"> + <u-input v-model="form.value6" placeholder="" disabled /> + </u-form-item> + <u-form-item label="鐗╂枡鍜屽伐搴�" prop="value7"> + <u-checkbox-group> + <u-checkbox :name="item.name" v-for="(item, index) in checkboxList" :key="index" v-model="item.value" + @change="changeCheckbox"> + {{ item.name }} + </u-checkbox> + </u-checkbox-group> + </u-form-item> + <u-form-item label="搴撳瓨鎺ユ敹" :border-bottom="false" prop="value12"></u-form-item> + </u-form> + <scan></scan> + </view> +</template> + +<script> +import content_bg from '@/static/custom/packing/backBg.png' +import scan from "@/components/scan/scan.vue"; + +export default { + components: {scan }, + data() { + return { + background: { + backgroundImage: `url(${content_bg})`, + backgroundAttachment: 'fixed', + backgroundSize: '100% auto', + backgroundRepeat: 'no-repeat', + }, + form: { + value1: '', + value2: '', + value3: '', + value4: '', + value5: '', + value6: '', + + }, + rules: {}, + checkboxList: [ + { + name: '鍊掑啿', + value: false + }, + { + name: '宸ュ簭鐨勮嚜鍔ㄦ姤鍛�', + value: false + }, + { + name: '绠�鍖栫墿鏂欐鏌�', + value: false + } + ], + }; + }, + onReady() { + this.$refs.uForm.setRules(this.rules); + }, + onShow() { + let that = this + uni.$off('scan') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 + uni.$on('scan', function (data) { + console.log('onscan'); + //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� + console.log('椤甸潰鎵爜缁撴灉锛�', data.code); + if (data.code) { + let codeInfo = JSON.parse(data.code) + if (codeInfo.WorkNo) { + // 鎵弿鎶ュ伐鍗曚簩缁寸爜 + that.saveForm(codeInfo); + } + } + }) + }, + methods: { + // 閫夋嫨璁㈠崟鍙� + openList() { + // if (this.form.value1 === '') { + // uni.showToast({ + // title: '璇峰厛鎵弿鎴栬緭鍏ユ姤宸ュ崟鍙�', + // icon: 'none' + // }) + // return + // } + uni.navigateTo({ + url: '/pages/product/report/orderList' + }) + }, + // 瀛樿鍗曞彿 + setNo(val) { + this.form.value3 = val + }, + // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗� + saveForm(val) { + let { WorkNo, ProcessName, ORDER_NO } = val + this.form.value1 = WorkNo + this.form.value2 = ProcessName + this.form.value3 = ORDER_NO + }, + setNo(val) { + this.form.value3 = val + }, + // 澶氶�夊鐞� + changeCheckbox(val) { + if (val.name === '鍊掑啿') { + this.checkboxList[2].value = false + } + if (val.name === '绠�鍖栫墿鏂欐鏌�') { + this.checkboxList[0].value = false + } + }, + } +} +</script> + +<style lang="scss" scoped> +.page { + box-sizing: border-box; +} + +.packing-registration-bg { + background-color: #f6f9ff; + background-image: url("~@/static/custom/packing/backBg.png"); + padding: 0 20rpx; + background-attachment: fixed; + background-size: 100% auto; + background-repeat: no-repeat; + position: fixed; + top: 0; + bottom: 0; + width: 100%; + z-index: -1; +} + +.uForm { + background: #fff; + margin: 40rpx 30rpx; + padding: 20rpx 30rpx; + border-radius: 16rpx; +} + +::v-deep .u-input__input { + text-align: right !important; +} + +.u-form-item { + padding: 0; +} +</style> \ No newline at end of file diff --git a/pages/sys/home/index.vue b/pages/sys/home/index.vue index 710a1e9..30a1a3b 100644 --- a/pages/sys/home/index.vue +++ b/pages/sys/home/index.vue @@ -39,7 +39,7 @@ }, { name: '鎺ユ敹锛堥摐鏉嗭級', - url: '/', + url: '/pages/product/receive/index', icon: 'three' }, { diff --git a/pages/wareHouse/nuclearScale/createwriteoffform.vue b/pages/wareHouse/nuclearScale/createwriteoffform.vue index a35a595..f3f6976 100644 --- a/pages/wareHouse/nuclearScale/createwriteoffform.vue +++ b/pages/wareHouse/nuclearScale/createwriteoffform.vue @@ -13,7 +13,7 @@ </u-radio-group> </u-form-item> <u-form-item label="鏇挎崲浜岀淮鐮�" :border-bottom="false" prop="value1"> - <u-radio-group v-model="form.value0"> + <u-radio-group v-model="form.value1"> <u-radio name="1">鏄�</u-radio> <u-radio name="0">鍚�</u-radio> </u-radio-group> @@ -22,11 +22,13 @@ <u-input v-model="form.value2" type="select" placeholder="璇疯緭鍏ヨ溅鐗屽彿" @click="lpn" /> </u-form-item> <u-form-item label="瀹㈡埛鍚嶇О" :border-bottom="false" prop="value3"> - <picker class="item-one" style="width: 100%;text-align: right;" + <picker class="item-one" style="width: 100%; text-align: right" @change="locNoNumBindChange($event, locNoList)" :value="locNoNumIndex" :range="locNoList" range-key="label"> <view> - <text>{{locNoNumIndex==null ? "璇烽�夋嫨":locNoList[locNoNumIndex].label}}</text> + <text>{{ + locNoNumIndex == null ? "璇烽�夋嫨" : locNoList[locNoNumIndex].label + }}</text> </view> </picker> <u-icon v-if="locNoNumIndex == null" name="arrow-right" color="#687792" size="28"></u-icon> @@ -35,21 +37,25 @@ <u-input v-model="form.value4" placeholder="" disabled /> </u-form-item> <u-form-item label="鐢熶骇杞﹂棿" :border-bottom="false" prop="value5"> - <picker class="item-one" style="width: 100%;text-align: right;" + <picker class="item-one" style="width: 100%; text-align: right" @change="locNoNumBindChange($event, locNoList)" :value="locNoNumIndex" :range="locNoList" range-key="label"> <view> - <text>{{locNoNumIndex==null ? "璇烽�夋嫨":locNoList[locNoNumIndex].label}}</text> + <text>{{ + locNoNumIndex == null ? "璇烽�夋嫨" : locNoList[locNoNumIndex].label + }}</text> </view> </picker> <u-icon v-if="locNoNumIndex == null" name="arrow-right" color="#687792" size="28"></u-icon> </u-form-item> <u-form-item label="鍙哥鍛�" :border-bottom="false" prop="value6"> - <picker class="item-one" style="width: 100%;text-align: right;" + <picker class="item-one" style="width: 100%; text-align: right" @change="locNoNumBindChange($event, locNoList)" :value="locNoNumIndex" :range="locNoList" range-key="label"> <view> - <text>{{locNoNumIndex==null ? "璇烽�夋嫨":locNoList[locNoNumIndex].label}}</text> + <text>{{ + locNoNumIndex == null ? "璇烽�夋嫨" : locNoList[locNoNumIndex].label + }}</text> </view> </picker> <u-icon v-if="locNoNumIndex == null" name="arrow-right" color="#687792" size="28"></u-icon> @@ -58,21 +64,26 @@ <u-input v-model="form.value7" type="select" placeholder="璇烽�夋嫨" @click="openForkliftDriverList" /> </u-form-item> </u-form> - <u-button type="primary" class="bottom-button" @click="submit">鎻愪氦</u-button> + <u-button type="primary" class="bottom-button" @click="submit">鍒涘缓</u-button> <!--杞︾墝鍙� --> <modalBg ref="modalBg" :confirm="confirm"> <u-field v-model="form.value2" label="杞︾墝鍙凤細" placeholder="璇疯緭鍏�" :border-bottom="false"> </u-field> </modalBg> - <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" @confirm="confirm" - @cancel="cancel"> - <!-- <u-checkbox-group> --> - <!-- <u-checkbox :name="item.name" v-for="(item, index) in checkboxList" :key="index" v-model="item.value" - @change="changeCheckbox"> - {{ item.name }} - </u-checkbox> --> - <!-- </u-checkbox-group> --> + <!-- 鍙夎溅宸� --> + <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 options" :key="index"> + <checkbox :value="item.value" :checked="item.checked" /> + <text class="label">{{ item.label }}</text> + </label> + </checkbox-group> + </view> + </view> </u-modal> </div> </template> @@ -82,31 +93,31 @@ import content_bg from "@/static/custom/packing/backBg.png"; export default { components: { - modalBg + modalBg, }, data() { return { - // checkboxList: [{ - // name: '宸ヤ汉1', - // value: '1' - // }, - // { - // name: '宸ヤ汉2', - // value: '2' - // }, - // { - // name: '宸ヤ汉3', - // value: '3' - // }, - // { - // name: '宸ヤ汉4', - // value: '4' - // }, - // { - // name: '宸ヤ汉5', - // value: '5' - // }, - // ], + checkboxList: [{ + name: "宸ヤ汉1", + value: "1", + }, + { + name: "宸ヤ汉2", + value: "2", + }, + { + name: "宸ヤ汉3", + value: "3", + }, + { + name: "宸ヤ汉4", + value: "4", + }, + { + name: "宸ヤ汉5", + value: "5", + }, + ], background: { backgroundImage: `url(${content_bg})`, backgroundAttachment: "fixed", @@ -120,7 +131,7 @@ value1: "", value2: "", value3: "", - value4: "", + value4: "111", value5: "", value6: "", value7: "", @@ -129,86 +140,138 @@ rules: { value0: [{ required: true, - message: "璇烽�夋嫨杞﹂棿", + message: "璇烽�夋嫨浜у搧绫诲瀷", trigger: ["change"], }, ], value1: [{ required: true, - message: "璇烽�夋嫨鎶ュ伐鍗曞彿", + message: "璇烽�夋嫨鏄惁鏇挎崲浜岀淮鐮�", trigger: ["change", "blur"], }, ], value2: [{ required: true, - message: "璇烽�夋嫨宸ュ簭", + message: "璇疯緭鍏ヨ溅鐗屽彿", trigger: ["change", "blur"], }, ], - value3: [{ + // value3: [ + // { + // required: true, + // message: "璇烽�夋嫨瀹㈡埛鍚嶇О", + // trigger: ["change", "blur"], + // }, + // ], + value4: [{ required: true, - message: "璇烽�夋嫨璁㈠崟鍙�", - trigger: ["change", "blur"], - }, ], - value9: [{ - required: true, - message: "璇烽�夋嫨鎶ュ伐绫诲瀷", + message: "璇疯緭鍏ュ彂璐ч�氱煡鍗曞彿", trigger: ["change"], }, ], - value10: [{ + value5: [{ required: true, - message: "璇烽�夋嫨鎺ユ敹闆朵欢绫诲瀷", + message: "璇烽�夋嫨鐢熶骇杞﹂棿", trigger: ["change"], }, ], - value11: [{ + value6: [{ + required: true, + message: "璇烽�夋嫨鍙哥鍛�", + trigger: ["change"], + }, ], + value7: [{ type: "array", required: true, - message: "璇疯嚦灏戦�夋嫨涓�涓墿鏂欏拰宸ュ簭閫夐」", + message: "璇疯嚦灏戦�夋嫨涓�涓弶杞﹀伐", trigger: ["change"], }, ], }, locNoList: [{ value: "0", - label: "鍏徃1" + label: "鍏徃1", }, { value: "1", - label: "鍏徃2" + label: "鍏徃2", }, { value: "2", - label: "鍏徃3" + label: "鍏徃3", }, { value: "3", - label: "鍏徃4" + label: "鍏徃4", }, { value: "4", - label: "鍏徃5" + label: "鍏徃5", }, { value: "5", - label: "鍏徃6" + label: "鍏徃6", }, ], - locNoNumIndex: 0, - showModal:false + locNoNumIndex: null, + showModal: false, + options: [{ + label: "绡悆", + value: "basketball", + checked: false + }, + { + label: "娓告吵", + value: "swimming", + checked: false + }, + { + label: "闃呰", + value: "reading", + checked: false + }, + { + label: "鏃呰", + value: "travel", + checked: false + }, + { + label: "闊充箰", + value: "music", + checked: false + }, + + ], + selectedItems: [], }; }, onReady() { this.$refs.uForm.setRules(this.rules); }, onShow() {}, - methods: { - openForkliftDriverList() { - this.showModal = true - }, + methods: { + + // 澶嶉�夋鍙樺寲浜嬩欢 + checkboxChange(e) { + const values = e.detail.value; + this.options = this.options.map((item) => { + return { + ...item, + checked: values.includes(item.value) + }; + }); + }, + + // 纭閫夋嫨 + confirmSelection() { + this.form.value7 = this.options + .filter((item) => item.checked) + .map((item) => item.label); + }, + openForkliftDriverList() { + this.showModal = true; + }, locNoNumBindChange(e, storage) { if (storage.length <= 0) { - this.locNoNumIndex = null - return + this.locNoNumIndex = null; + return; } - this.locNoNumIndex = e.target.value - this.registerInfo.locNo = storage[this.locNoNumIndex].label - console.log('locNoNumIndex', this.registerInfo.locNo) + this.locNoNumIndex = e.target.value; + this.form.value3 = storage[this.locNoNumIndex].label; }, // 鎵撳紑寮规--鍚庨潰杩橀渶瑕佺洃鍚壂鐮佹灙鎵爜缁撴灉锛岃祴鍊肩粰鎶ュ伐鍗曞彿瀛楁锛岀劧鍚庢墦寮�寮规閫夋嫨璁㈠崟鍙风瓑鎿嶄綔 lpn() { @@ -221,12 +284,64 @@ }, // 鎻愪氦鎸夐挳 submit() { - this.show = true; + if (!this.$refs.uForm.validate()) { + console.log("1111"); + return; + } + if (this.form.value3 === "") { + uni.showToast({ + title: "璇峰厛閫夋嫨瀹㈡埛鍚嶇О", + icon: "none", + }); + return; + } }, }, }; </script> -<style lang="scss"> +<style lang="scss" scoped> @import "index.scss"; + + /* 寮圭獥鏍峰紡 */ + .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; + } + + .title { + font-size: 32rpx; + font-weight: bold; + } + + .confirm-btn { + color: #007AFF; + font-size: 28rpx; + } + + /* 澶嶉�夋鏍峰紡 */ + .checkbox-item { + display: flex; + align-items: center; + padding: 20rpx 0; + border-bottom: 1rpx solid #f5f5f5; + } + + .checkbox-item:last-child { + border-bottom: none; + } + + .checkbox-item .label { + margin-left: 20rpx; + } </style> \ No newline at end of file diff --git a/pages/wareHouse/nuclearScale/index.vue b/pages/wareHouse/nuclearScale/index.vue index 203add9..51c0d95 100644 --- a/pages/wareHouse/nuclearScale/index.vue +++ b/pages/wareHouse/nuclearScale/index.vue @@ -33,7 +33,7 @@ <!-- <u-input v-model="form.value4" placeholder="" disabled /> --> </u-form-item> </u-form> - <u-button type="primary" class="bottom-button" @click="submit">鍒涘缓</u-button> + <u-button type="primary" class="bottom-button" @click="submit">鎻愪氦</u-button> <u-modal v-model="show" @confirm="confirm" content="鏄惁纭鎻愪氦" show-cancel-button></u-modal> <scan></scan> </div> -- Gitblit v1.9.3