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 | 788 +++++++++++++++++++++++++++----------------------------
1 files changed, 390 insertions(+), 398 deletions(-)
diff --git a/pages/product/WorkshopOrderIssued/index.vue b/pages/product/WorkshopOrderIssued/index.vue
index 81349d1..5f57b50 100644
--- a/pages/product/WorkshopOrderIssued/index.vue
+++ b/pages/product/WorkshopOrderIssued/index.vue
@@ -1,440 +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()">{{ registerInfo.value1 == '' ?
- "鐐瑰嚮閫夋嫨" : registerInfo.value1 }}</text>
- <u-icon name="arrow-right" color="#687792" size="28" @click="seachPersonnelNo()"
- v-show="registerInfo.value1 == ''"></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.value2 }}</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 class="row-list">
- <view class="_label">
- <view class="_label-name">闆朵欢鎻忚堪锛�</view>
- </view>
- <view class="_content">
- {{ item.value0 }}
- </view>
- </view>
- </view>
- </view>
- </u-cell-group>
- </scroll-view>
- <scan></scan>
- </view>
- </view>
+ <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()">{{
+ 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.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'
+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'
- },
- registerInfo: {
- value1: '',
- value2: '',
- },
- hasScanSnList: [{
- value0: '11111111111111111111111',
- value1: '111',
- value2: '111',
- value3: '111',
- },
- {
- value0: '111',
- value1: '111',
- value2: '111',
- value3: '111',
- },
- {
- value0: '111',
- value1: '111',
- value2: '111',
- value3: '111',
- },
- {
- value0: '111',
- value1: '111',
- value2: '111',
- value3: '111',
- },
- ],
- delContent: null,
- staffList: [],
- };
- },
- onLoad(option) { },
- onShow() {
+ components: {
+ scan,
+ },
- let that = this
-
- uni.$off('scan') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
- uni.$on('scan', function (data) {
- console.log('onscan');
- //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
- console.log('鎵爜缁撴灉锛�', data.code);
- that.scanHandle(data.code)
- that.$forceUpdate();
-
- })
- },
- onNavigationBarButtonTap() {
- this.goScan()
- },
- onReady() { },
- methods: {
- setNo(val) {
- console.log('11111', val)
- this.registerInfo.value1 = val.value1
- 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'
- })
- },
- goScan() {
- uni.scanCode({
- scanType: ['qrCode'],
- success: res => {
- try {
- console.log('鎵爜缁撴灉锛�', res);
- this.scanHandle(res.result)
- } catch (e) { }
- }
- });
- },
- scanHandle(scanresult) {
- scanresult = scanresult.replace(/[\r\n]/g, "")
- if (scanresult.indexOf('{') > -1) {
- //浜岀淮鐮�
- const result = JSON.parse(scanresult)
- //澧炲姞SN鏍¢獙
- if (result.sn_no && result.sn_no != null && result.sn_no != '') {
- if (this.hasScanSnList.length > 0) {
- let hasScanSnIndex = this.hasScanSnList.indexOf(result.sn_no)
- if (hasScanSnIndex < 0) {
- this.hasScanSnList.push(result.sn_no)
- } else {
- this.$u.toast('璇峰嬁閲嶅鎵弿')
- }
- } else {
- this.hasScanSnList.push(result.sn_no)
- }
- }
-
- } else {
- //澧炲姞SN鏍¢獙
- if (this.hasScanSnList.length > 0) {
- let hasScanSnIndex = this.hasScanSnList.indexOf(scanresult)
- if (hasScanSnIndex < 0) {
- this.hasScanSnList.push(scanresult)
- } else {
- this.$u.toast('璇峰嬁閲嶅鎵弿')
- }
- } else {
- this.hasScanSnList.push(scanresult)
- }
- }
- },
- goSubmit() {
- // if (this.registerInfo.shiftId == null || this.registerInfo.shiftId == '') {
- // this.$u.toast('璇烽�夋嫨鐝')
- // return
- // }
- // if (this.registerInfo.value3 == null || this.registerInfo.value3 == '') {
- // this.$u.toast('璇烽�夋嫨鏃ユ湡')
- // return
- // }
- // if (this.registerInfo.locNo == null || this.registerInfo.locNo == '') {
- // this.$u.toast('璇烽�夋嫨鍖呰搴撲綅')
- // return
- // }
- // if (this.hasScanSnList.length == 0) {
- // this.$u.toast('鏃犲緟鎻愪氦鐨凷N鍙锋槑缁�')
- // return
- // }
- // let registrList = []
- // this.staffList = []
- // this.staffNameList.forEach((item) => {
- // this.staffList.push({
- // staffId: item.id
- // })
- // })
- // this.hasScanSnList.forEach((item) => {
- // registrList.push({
- // shiftId: this.registerInfo.shiftId,
- // value3: this.registerInfo.value3,
- // locNo: this.registerInfo.locNo,
- // partBatchNo: item,
- // staffList: this.staffList
- // })
- // })
- // this.$u.api.pigxPacking.addPackageRegister(registrList).then(res => {
- // let resData = res.data
- // this.hasScanSnList = []
- // this.$u.toast('鎻愪氦鎴愬姛')
- // }).catch((e) => {
- // })
-
- },
- }
+ 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;
+ 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;
+ 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%;
+ 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;
- }
+ ::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