From 76486524892abdfd3039eedc28d83cbbfb56d042 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期三, 18 六月 2025 16:17:05 +0800
Subject: [PATCH] 取消报工/车间订单下发/车间订单取消下发/功能点逻辑编写

---
 pages/product/WorkshopOrderIssued/index.vue |  746 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 397 insertions(+), 349 deletions(-)

diff --git a/pages/product/WorkshopOrderIssued/index.vue b/pages/product/WorkshopOrderIssued/index.vue
index 583912a..5f57b50 100644
--- a/pages/product/WorkshopOrderIssued/index.vue
+++ b/pages/product/WorkshopOrderIssued/index.vue
@@ -1,384 +1,432 @@
 // 杞﹂棿璁㈠崟涓嬪彂
 <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" />
-		<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">
-						<text class="item-one item-two" @click="seachPersonnelNo()">{{
+  <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"
+    />
+    <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">
+            <text class="item-one item-two" @click="seachPersonnelNo()">{{
               registerInfo.moNo == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.moNo
             }}</text>
-						<u-icon name="arrow-right" color="#687792" size="28" @click="seachPersonnelNo()"
-							v-show="registerInfo.moNo == ''"></u-icon>
-					</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">
-						<text class="item-one item-two" @click="seachComp()">{{
+            <u-icon
+              name="arrow-right"
+              color="#687792"
+              size="28"
+              @click="seachPersonnelNo()"
+              v-show="registerInfo.moNo == ''"
+            ></u-icon>
+          </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">
+            <text class="item-one item-two" @click="seachComp()">{{
               registerInfo.value2 == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.value2
             }}</text>
-						<u-icon name="arrow-right" color="#687792" size="28" @click="seachComp()"
-							v-show="registerInfo.value2 == ''"></u-icon>
-					</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">
-						<text class="item-one item-two">{{ registerInfo.value3 }}</text>
-					</view>
-				</view>
-				<view class="packing-registration-param-item param-extra">
-					<view class="packing-registration-param-item-left">
-						<text class="item-one">涓嬪彂璁板綍锛�</text>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="wrap">
-			<scroll-view class="packing-registration-scroll-list" scroll-y="true">
-				<u-cell-group class="packing-registration-scroll-list-group" :border="false">
-					<!-- <div class="tip" style="text-align: center;" v-if="hasScanSnList.length==0">-璇锋壂鐮�-</div> -->
-					<view class="content" v-for="(item, index) in hasScanSnList" :key="index" :index="index">
-						<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.value0 }}
-								</view>
-							</view>
-							<view class="row-list">
-								<view class="_label">
-									<view class="_label-name">涓嬪彂鏁伴噺锛�</view>
-								</view>
-								<view class="_content">
-									{{ item.value1 }}
-								</view>
-							</view>
-						</view>
-					</view>
-				</u-cell-group>
-			</scroll-view>
-			<scan></scan>
-		</view>
-		<u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" @confirm="confirm"
-			@cancel="cancel">
-			<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">
-								<text class="item-one item-two">{{ modalList.value }}</text>
-							</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.value1" />
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</u-modal>
-	</view>
+            <u-icon
+              name="arrow-right"
+              color="#687792"
+              size="28"
+              @click="seachComp()"
+              v-show="registerInfo.value2 == ''"
+            ></u-icon>
+          </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">
+            <text class="item-one item-two">{{ registerInfo.value3 }}</text>
+          </view>
+        </view>
+        <view class="packing-registration-param-item param-extra">
+          <view class="packing-registration-param-item-left">
+            <text class="item-one">涓嬪彂璁板綍锛�</text>
+          </view>
+        </view>
+      </view>
+    </view>
+    <view class="wrap">
+      <scroll-view class="packing-registration-scroll-list" scroll-y="true">
+        <u-cell-group
+          class="packing-registration-scroll-list-group"
+          :border="false"
+        >
+          <!-- <div class="tip" style="text-align: center;" v-if="hasScanSnList.length==0">-璇锋壂鐮�-</div> -->
+          <view
+            class="content"
+            v-for="(item, index) in hasScanSnList"
+            :key="index"
+            :index="index"
+          >
+            <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.value0 }}
+                </view>
+              </view>
+              <view class="row-list">
+                <view class="_label">
+                  <view class="_label-name">涓嬪彂鏁伴噺锛�</view>
+                </view>
+                <view class="_content">
+                  {{ item.value1 }}
+                </view>
+              </view>
+            </view>
+          </view>
+        </u-cell-group>
+      </scroll-view>
+      <scan></scan>
+    </view>
+    <u-modal
+      v-model="showModal"
+      title=""
+      :show-cancel-button="true"
+      :show-confirm-button="true"
+      @confirm="confirm"
+      @cancel="cancel"
+    >
+      <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">
+                <text class="item-one item-two">{{ modalList.moNO }}</text>
+              </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.value1" />
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+    </u-modal>
+  </view>
 </template>
 <script>
-	import scan from "@/components/scan/scan.vue";
-	import content_bg from "@/static/custom/packing/backBg.png";
-	export default {
-		components: {
-			scan,
-		},
+import scan from "@/components/scan/scan.vue";
+import content_bg from "@/static/custom/packing/backBg.png";
+export default {
+  components: {
+    scan,
+  },
 
-		data() {
-			return {
-				background: {
-					backgroundImage: `url(${content_bg})`,
-					backgroundAttachment: "fixed",
-					backgroundSize: "100% auto",
-					backgroundRepeat: "no-repeat",
-				},
-				labelStyle: {
-					fontSize: "32rpx",
-					whiteSpace: "nowrap",
-				},
-				// 寮圭獥鍒楄〃
-				modalList: {
-					value: "",
-					value1: "",
-				},
-				//   涓婚〉闈㈠垪琛�
-				registerInfo: {
-					moNo: "",
-					value2: "",
-					value3: "",
-				},
-				//   涓嬪彂璁板綍鍒楄〃
-				hasScanSnList: [],
-			};
-		},
-		onShow() {
-			let that = this;
-			uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
-			if ((registerInfo.moNO = null)) {
-				uni.showToast({
-					icon: "none",
-					title: "璇峰厛閫夋嫨瀛愪欢锛�",
-					duration: 2 * 1000,
-				});
-				return;
-			}
-			uni.$on("scan", function(data) {
-				console.log("onscan");
-				//鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
-				console.log("鎵爜缁撴灉锛�", data.code);
-				that.scanHandle(data.code);
-				that.$forceUpdate();
-			});
-		},
-		methods: {
-			// 鐐瑰嚮纭鍚庤幏鍙栦笅鍙戣褰�
-			confirm() {
-				// 澶勭悊纭閫昏緫
-				this.showModal = false;
-				this.$u.api.workReporting
-				._({}).then((res) => {
-					console.log("res", res);
-					this.hasScanSnList = res.data.records;
-				});
-			},
-			// 妯℃�佹鍙栨秷
-			cancel() {
-				this.showModal = false; // 鍏抽棴寮圭獥
-			},
-			// 瀛愪欢鍥炴樉
-			compNo(val) {
-				this.registerInfo.value2 = val.value2;
-				this.registerInfo.value3 = val.value2;
-			},
-			// 璁㈠崟鍙峰洖鏄�
-			setNo(val) {
-				console.log("11111", val);
-				this.registerInfo.moNo = val.moNo;
-				this.registerInfo.value2 = val.value2;
-			},
-			//璁㈠崟鍙�
-			seachPersonnelNo() {
-				console.log("杞﹂棿璁㈠崟鍙�");
-				uni.navigateTo({
-					url: "/pages/product/report/orderList",
-				});
-			},
-			//瀛愪欢
-			seachComp() {
-				if (this.registerInfo.value1 == null || this.registerInfo.value1 == "") {
-					this.$u.toast("璇烽�夋嫨璁㈠崟鍙�");
-					return;
-				}
-				console.log("瀛愪欢");
-				uni.navigateTo({
-					url: "/pages/product/WorkshopOrderIssued/comp",
-				});
-			},
-			// 鎵爜鍚庢暟鎹洖鏄�
-			scanHandle(scanresult) {
-				this.$u.api.workReporting
-				._({}).then((res) => {
-					this.modalList = res.data.records;
-					this.showModal = true;
-				});
-			},
-		},
-	};
+  data() {
+    return {
+      background: {
+        backgroundImage: `url(${content_bg})`,
+        backgroundAttachment: "fixed",
+        backgroundSize: "100% auto",
+        backgroundRepeat: "no-repeat",
+      },
+      labelStyle: {
+        fontSize: "32rpx",
+        whiteSpace: "nowrap",
+      },
+      // 寮圭獥鍒楄〃
+      modalList: {
+        partNo: "",
+        moNo: "",
+      },
+      //   涓婚〉闈㈠垪琛�
+      registerInfo: {
+        moNo: "",
+        value2: "",
+        value3: "",
+      },
+      //   涓嬪彂璁板綍鍒楄〃
+      hasScanSnList: [],
+      codeInfoId: "",
+    };
+  },
+  onShow() {
+    let that = this;
+    uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
+    if (registerInfo.moNO == null) {
+      uni.showToast({
+        icon: "none",
+        title: "璇峰厛閫夋嫨瀛愪欢锛�",
+        duration: 2 * 1000,
+      });
+      return;
+    }
+    uni.$on("scan", function (data) {
+      console.log("onscan");
+      if (data.code) {
+        let codeInfo = JSON.parse(data.code);
+        this.codeInfoId = codeInfo.id;
+        if (codeInfo.moOn) {
+          // 鎵弿鎶ュ伐鍗曚簩缁寸爜
+          that.scanHandle(data.code);
+          that.$forceUpdate();
+          that.getHandelList();
+        }
+      }
+      //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
+      console.log("鎵爜缁撴灉锛�", data.code);
+    });
+  },
+  methods: {
+    getHandelList() {
+      this.$u.api.workReporting
+        .getProductMainV1({
+          current: 1,
+          size: -1,
+          id: this.codeInfoId,
+        })
+        .then((res) => {
+          this.hasScanSnList = res.data.productOutputList;
+        });
+    },
+    // 鐐瑰嚮纭鍚庤幏鍙栦笅鍙戣褰�
+    confirm() {
+      // 澶勭悊纭閫昏緫
+      this.$u.api.workReporting._(this.modalList).then((res) => {
+		  console.log("res", res);
+      this.showModal = false;
+	
+             this.getHandelList();
+      });
+    },
+    // 妯℃�佹鍙栨秷
+    cancel() {
+      this.showModal = false; // 鍏抽棴寮圭獥
+    },
+    // 瀛愪欢鍥炴樉
+    compNo(val) {
+      this.registerInfo.value2 = val.value2;
+      this.registerInfo.value3 = val.value2;
+    },
+    // 璁㈠崟鍙峰洖鏄�
+    setNo(val) {
+      console.log("11111", val);
+      this.registerInfo.moNo = val.moNo;
+      this.registerInfo.value2 = val.value2;
+    },
+    //璁㈠崟鍙�
+    seachPersonnelNo() {
+      console.log("杞﹂棿璁㈠崟鍙�");
+      uni.navigateTo({
+        url: "/pages/product/report/orderList",
+      });
+    },
+    //瀛愪欢
+    seachComp() {
+      if (this.registerInfo.moNO == null) {
+        this.$u.toast("璇烽�夋嫨璁㈠崟鍙�");
+        return;
+      }
+      console.log("瀛愪欢");
+      uni.navigateTo({
+        url: "/pages/product/WorkshopOrderIssued/comp",
+      });
+    },
+    // 鎵爜鍚庢暟鎹洖鏄�
+    scanHandle(val) {
+      let { moNo } = val;
+      this.modalList.moNo = moNo;
+      this.showModal = true;
+    },
+  },
+};
 </script>
 <style lang="scss" scoped>
-	.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;
-	}
+.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;
+}
 
-	.packing-registration-param {
-		padding: 40rpx 30rpx 10rpx 30rpx;
+.packing-registration-param {
+  padding: 40rpx 30rpx 10rpx 30rpx;
 
-		.packing-registration-param-title {
-			display: flex;
-			flex-direction: row;
-			align-items: center;
-			margin-bottom: 30rpx;
+  .packing-registration-param-title {
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    margin-bottom: 30rpx;
 
-			.title-label {
-				margin-left: 14rpx;
-				font-size: 34rpx;
-				font-weight: bold;
-				color: #283e65;
-			}
-		}
+    .title-label {
+      margin-left: 14rpx;
+      font-size: 34rpx;
+      font-weight: bold;
+      color: #283e65;
+    }
+  }
 
-		.packing-registration-param-view {
-			height: 345rpx;
-			background-color: #fff;
-			border-radius: 10rpx;
-			padding: 0rpx 23rpx;
-			margin-bottom: 30rpx;
+  .packing-registration-param-view {
+    height: 345rpx;
+    background-color: #fff;
+    border-radius: 10rpx;
+    padding: 0rpx 23rpx;
+    margin-bottom: 30rpx;
 
-			.packing-registration-param-item {
-				height: 90rpx;
-				border: 1px solid #adc8e4;
-				line-height: 90rpx;
-				display: flex;
-				justify-content: space-between;
-				border: none;
+    .packing-registration-param-item {
+      height: 90rpx;
+      border: 1px solid #adc8e4;
+      line-height: 90rpx;
+      display: flex;
+      justify-content: space-between;
+      border: none;
 
-				.packing-registration-param-item-left {
-					.item-one {
-						font-size: 30rpx;
-						color: #666666;
-					}
-				}
+      .packing-registration-param-item-left {
+        .item-one {
+          font-size: 30rpx;
+          color: #666666;
+        }
+      }
 
-				.packing-registration-param-item-right {
-					display: flex;
-					justify-content: space-between;
+      .packing-registration-param-item-right {
+        display: flex;
+        justify-content: space-between;
 
-					.item-one {
-						font-size: 30rpx;
-						color: #333333;
-						margin-right: 6rpx;
-					}
+        .item-one {
+          font-size: 30rpx;
+          color: #333333;
+          margin-right: 6rpx;
+        }
 
-					.item-two {
-						font-size: 30rpx;
-						color: #a6b4cc;
-						margin-right: 6rpx;
-					}
+        .item-two {
+          font-size: 30rpx;
+          color: #a6b4cc;
+          margin-right: 6rpx;
+        }
 
-					.item-three {
-						font-size: 30rpx;
-						color: #214ded;
-						margin-right: 6rpx;
-					}
-				}
-			}
+        .item-three {
+          font-size: 30rpx;
+          color: #214ded;
+          margin-right: 6rpx;
+        }
+      }
+    }
 
-			.param-extra {
-				border-bottom: 1px solid #ededed;
-			}
-		}
-	}
+    .param-extra {
+      border-bottom: 1px solid #ededed;
+    }
+  }
+}
 
-	.wrap .packing-registration-scroll-list {
-		height: calc(100vh - var(--window-top) - var(--window-bottom) - 550rpx);
-		width: 100%;
-	}
+.wrap .packing-registration-scroll-list {
+  height: calc(100vh - var(--window-top) - var(--window-bottom) - 550rpx);
+  width: 100%;
+}
 
-	.packing-registration-scroll-list-group {
-		::v-deep .u-cell-item-box {
-			background-color: rgba(250, 252, 255, 0.36) !important;
-			padding: 0rpx 30rpx;
-		}
+.packing-registration-scroll-list-group {
+  ::v-deep .u-cell-item-box {
+    background-color: rgba(250, 252, 255, 0.36) !important;
+    padding: 0rpx 30rpx;
+  }
 
-		.content {
-			font-size: 12px;
-			background-color: #ffffff;
-			box-sizing: border-box;
-			border-radius: 10rpx;
-			margin: 0rpx 0rpx 16rpx;
-			padding: 20rpx 8rpx;
-			box-shadow: none;
-			display: flex;
-			align-items: center;
+  .content {
+    font-size: 12px;
+    background-color: #ffffff;
+    box-sizing: border-box;
+    border-radius: 10rpx;
+    margin: 0rpx 0rpx 16rpx;
+    padding: 20rpx 8rpx;
+    box-shadow: none;
+    display: flex;
+    align-items: center;
 
-			.content-header {
-				width: 40rpx;
-				height: 90rpx;
-				display: flex;
-				align-items: center;
+    .content-header {
+      width: 40rpx;
+      height: 90rpx;
+      display: flex;
+      align-items: center;
 
-				.content-header-icon {
-					background-image: url("~@/static/custom/moveWareHouse/header_icon.png");
-					background-size: 100% auto;
-					background-repeat: no-repeat;
-					height: 28rpx;
-					width: 28rpx;
-				}
+      .content-header-icon {
+        background-image: url("~@/static/custom/moveWareHouse/header_icon.png");
+        background-size: 100% auto;
+        background-repeat: no-repeat;
+        height: 28rpx;
+        width: 28rpx;
+      }
 
-				.content-header-title {
-					margin-left: 11rpx;
-					font-size: 26rpx;
-					font-weight: bold;
-					color: #626369;
-				}
-			}
+      .content-header-title {
+        margin-left: 11rpx;
+        font-size: 26rpx;
+        font-weight: bold;
+        color: #626369;
+      }
+    }
 
-			.content-body {
-				flex: 1;
-				background-color: #ffffff;
-				border-radius: 10rpx;
-				padding: 0rpx 23rpx;
+    .content-body {
+      flex: 1;
+      background-color: #ffffff;
+      border-radius: 10rpx;
+      padding: 0rpx 23rpx;
 
-				.row-list {
-					height: 60rpx;
-					display: flex;
-					flex-direction: row;
-					padding: 0px;
-					align-items: center;
-				}
+      .row-list {
+        height: 60rpx;
+        display: flex;
+        flex-direction: row;
+        padding: 0px;
+        align-items: center;
+      }
 
-				.row-list ._label {
-					display: flex;
-					flex: 0.8;
-					color: #909399;
-					align-items: center;
+      .row-list ._label {
+        display: flex;
+        flex: 0.8;
+        color: #909399;
+        align-items: center;
 
-					._label-name {
-						margin-left: 11rpx;
-						font-size: 26rpx;
-						font-weight: 500;
-						color: #666666;
-					}
-				}
+        ._label-name {
+          margin-left: 11rpx;
+          font-size: 26rpx;
+          font-weight: 500;
+          color: #666666;
+        }
+      }
 
-				.row-list ._content {
-					flex: 1.5;
-					text-align: right;
-					color: #909399;
-					font-size: 24rpx;
-				}
+      .row-list ._content {
+        flex: 1.5;
+        text-align: right;
+        color: #909399;
+        font-size: 24rpx;
+      }
 
-				.row-list .s1 {
-					color: #d35651;
-				}
-			}
-		}
-	}
+      .row-list .s1 {
+        color: #d35651;
+      }
+    }
+  }
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3