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