From 5359fd3a4cd761bfec6ea9f92a459a8b88b815f1 Mon Sep 17 00:00:00 2001 From: yyb <995253665@qq.com> Date: 星期五, 30 五月 2025 13:53:40 +0800 Subject: [PATCH] 移库页面绘制 --- pages/wareHouse/moveWareHouse/index.vue | 693 ++++++++++++++++----------------------------------------- 1 files changed, 194 insertions(+), 499 deletions(-) diff --git a/pages/wareHouse/moveWareHouse/index.vue b/pages/wareHouse/moveWareHouse/index.vue index 14bb537..fe2c551 100644 --- a/pages/wareHouse/moveWareHouse/index.vue +++ b/pages/wareHouse/moveWareHouse/index.vue @@ -3,546 +3,241 @@ <view class="movewarehouse-index-bg" /> <u-navbar title="绉诲簱" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" back-icon-color="#000" /> - <view class="movewarehouse-index-search"> - <!--<u-search v-model="keywords" shape="square" bg-color="rgba(250,252,255,0.36)" :show-action="false" placeholder="璇疯緭鍏ュ簱浣嶅彿" @clear="search" @custom="search" @search="search"> - </u-search>--> - <view class="movewarehouse-index-search-view"> - <view class="movewarehouse-index-search-view-item"> - <text class="item-one">鑷冲簱浣嶅彿</text> - <text class="item-one-content">{{ tolocationNo }}</text> + <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">{{registerInfo.storageLocation}}</text> + </view> </view> - <view class="movewarehouse-index-search-view-item" @click="seachLocationNo()"> - <text class="item-two">璇烽�夋嫨</text> - <u-icon name="arrow-right" color="#2979ff" size="28"></u-icon> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">{{`绉诲簱璁板綍(${registerInfo.num}鏉�)锛歚}}</text> + </view> </view> </view> </view> - <view class="wrap"> - <scroll-view class="movewarehouse-index-scroll-list" scroll-y="true"> - <u-cell-group class="movewarehouse-index-scroll-list-group" :border="false"> - <view class="content" v-for="(item, index) in list" :key="item.id" :index="index"> - <view class="content-header"> - <view class="header-item"> - <view class="content-header-icon-one"></view> - <view class="content-header-title">{{ item.partNo }}</view> + <view class="popup-container" v-if="show"> + <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="header-item"> - <view class="content-header-icon-two"></view> - <view class="content-header-title">{{ item.partBatchNo }}</view> - </view> - <view class="header-item-toolbar" @click="deleteHandle(item)"> - <view class="header-item-toolbar-del-icon"> - - </view> - <view class="header-item-toolbar-del-text"> - 鍒犻櫎 - </view> + <view class="packing-registration-param-item-right"> + <text class="item-one item-two">{{ 111 }}</text> </view> </view> - <!--<view class="row-img" @click="deleteHandle(item)"> - <u-image width="18px" height="18px" src="@/static/custom/delete.png"></u-image> - </view>--> - <view class="content-body"> - <view class="row-list"> - <view class="_label"> - 闆朵欢鍚嶇О锛� - </view> - <view class="_content"> - {{ item.partName }} - </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">闆朵欢鎻忚堪</text> </view> - <view class="row-list"> - <view class="_label"> - 浠庡簱浣嶅彿锛� - </view> - <view class="_content"> - {{ item.locationNo }} - </view> + <view class="packing-registration-param-item-right"> + <text class="item-one item-two">{{ 111 }}</text> </view> - <view class="row-list"> - <view class="_label"> - 鑷冲簱浣嶅彿锛� - </view> - <view class="_content"> - {{ item.arriveLocationNo }} - </view> + </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">WDR</text> </view> - <view class="row-list"> - <view class="_label"> - 鍙敤搴撳瓨锛� - </view> - <view class="_content"> - <text class="_content-text">{{ item.availableStockQuantity }}</text> - ({{ item.unit }}) - </view> + <view class="packing-registration-param-item-right"> + <text class="item-one item-two">{{ 111 }}</text> </view> - <view class="row-list"> - <view class="_label"> - 绉诲簱搴撳瓨锛� - </view> - <view class="_content _input"> - <u-input placeholder="璇疯緭鍏ョЩ搴撴暟閲�" v-model="item.moveQty" type="digit"></u-input> - <view class="edit_icon"></view> - </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">{{ 111 }}</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"> + <text class="item-one item-two">{{ 111 }}</text> </view> </view> </view> - </u-cell-group> - </scroll-view> - <scan></scan> - <view class="new-form-footer" v-if="list.length > 0"> - <u-button class="btn" type="primary" @click="submit">鎻愪氦</u-button> + <view class="person-btn-view"> + <u-button type="primary" shape="square" text="鍙栨秷" style="height: 80rpx; line-height: 80rpx" + size="medium" @click="closePopup()">鍙栨秷</u-button> + <u-button type="primary" shape="square" text="纭畾" style="height: 80rpx; line-height: 80rpx" + size="medium" @click="confirmPopup()">纭畾</u-button> + </view> + </view> </view> </view> </view> </template> <script> -import scan from "@/components/scan/scan.vue"; -import content_bg from '@/static/custom/moveWareHouse/locNoBg.png' -export default { - components: { - scan - }, - data() { - return { - background: { - backgroundImage: `url(${content_bg})`, - backgroundAttachment: 'fixed', - backgroundSize: '100% auto', - backgroundRepeat: 'no-repeat', + import scan from "@/components/scan/scan.vue"; + import content_bg from "@/static/custom/moveWareHouse/locNoBg.png"; + export default { + components: { + scan, + }, + + data() { + return { + background: { + backgroundImage: `url(${content_bg})`, + backgroundAttachment: "fixed", + backgroundSize: "100% auto", + backgroundRepeat: "no-repeat", + }, + registerInfo: { + storageLocation: "LG001", + num: 0, + }, + show: true, // 鎺у埗寮圭獥鏄剧ず闅愯棌鐨勫彉閲� + }; + }, + onLoad() {}, + onShow() { + let that = this; + + uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 + uni.$on("scan", function(data) { + console.log("onscan"); + //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� + console.log("鎵爜缁撴灉锛�", data.code); + }); + }, + onNavigationBarButtonTap(e) { + uni.scanCode({ + success: (res) => { + try { + const result = JSON.parse(res.result); + } catch (e) {} + }, + }); + }, + methods: { + confirmPopup() { + // 澶勭悊纭閫昏緫 + this.show = false; }, - list: [], - tolocationNo: "", - keywords: '' - }; - }, - onLoad() { - // this.loadList("221206000739N"); - // let data = '{"part_no":"88.118.1/A0047954","lot_batch_no":"221112000082N","qty_arrived":0.5,"wdr":"221112000082N"}' - // let data = '221206000739N' - // let sn = '' - // if (data.indexOf('{') >= 0) { - // //澶ф爣绛句簩浣嶇爜 - // sn = JSON.parse(data).lot_batch_no - // } else { - // //灏忔爣绛炬潯鐮� - // sn = data - // } - // console.log(sn); - }, - onShow() { - - let that = this - - uni.$off('scan') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 - uni.$on('scan', function (data) { - console.log('onscan'); - //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� - console.log('鎵爜缁撴灉锛�', data.code); - - if (data.code != "" && (that.tolocationNo == "")) { - uni.showToast({ - title: '璇烽�夋嫨鑷冲簱浣嶅彿', - icon: 'none' - }) - return - } - - let sn = '' - if (data.code.indexOf('{') >= 0) { - //澶ф爣绛句簩浣嶇爜 - let snNoIndex = data.code.indexOf('sn_no') - if (snNoIndex > -1) { - sn = JSON.parse(data.code).sn_no - } else { - sn = JSON.parse(data.code).lot_batch_no - } - } else { - //灏忔爣绛炬潯鐮� - sn = data.code - } - - //鍒ゆ柇鏁扮粍涓槸鍚﹀瓨鍦� SN 鏄惁宸茬粡瀛樺湪 - let initList = that.list.filter(item => item - .partBatchNo == sn) - if (initList.length > 0) { - uni.showToast({ - title: "SN:" + sn + ",宸插瓨鍦�,璇烽�夋嫨鍙︿竴涓猄N鍙�", - icon: "none" - }); - return - } - - that.loadList(sn); - }) - }, - onNavigationBarButtonTap(e) { - uni.scanCode({ - success: res => { - try { - const result = JSON.parse(res.result) - - } catch (e) { } - } - }); - }, - methods: { - //鑷冲簱浣� - seachLocationNo() { - uni.navigateTo({ - url: '/pages/wareHouse/moveWareHouse/locNoList' - }) + closePopup() { + this.show = false; // 鍏抽棴寮圭獥 + }, }, - loadList(sanCode) { - uni.showLoading({ - mask: true, - title: "鍔犺浇涓�", - }); - let that = this - - if (sanCode != "") { - let data = { - sn: sanCode - } - - //鍒ゆ柇鏁扮粍涓槸鍚﹀瓨鍦� 鑷冲簱浣嶅彿 SN - let initList = that.list.filter(item => item.arriveLocationNo == that.tolocationNo).filter(item => item - .partBatchNo == sanCode) - if (initList.length > 0) { - uni.showToast({ - title: "搴撲綅鍙�:" + that.tolocationNo + ",SN:" + sanCode + ",宸茬粡鎵繃鐮�", - icon: "none" - }); - return - } - - // 鏌ヨ绉诲簱淇℃伅 - that.$u.api.pigxWareHouse.list(data).then(res => { - let reList = [] - reList = res.data - - if (reList.length == 0) { - uni.showToast({ - title: "搴撲綅鍙�:" + that.tolocationNo + ",SN:" + sanCode + ",鏈壂鍒扮Щ搴撲俊鎭�", - icon: "none" - }); - } else { - for (let i = 0; i < reList.length; i++) { - if (reList[i].locationNo !== that.tolocationNo) { - let item = { - id: reList[i].id, - partNo: reList[i].partNo, - partName: reList[i].partName, - partBatchNo: reList[i].partBatchNo, - ifsBatchNo: reList[i].ifsBatchNo, - unit: reList[i].unit, - locationNo: reList[i].locationNo, - availableStockQuantity: reList[i].availableStockQuantity, - arriveLocationNo: that.tolocationNo, - moveQty: 0 - } - that.list.push(item) - } - } - } - - uni.hideLoading(); - }) - } - }, - //鑷冲簱浣嶅彿璁剧疆 - setNo(no) { - this.tolocationNo = no - }, - deleteHandle(obj) { - let that = this - uni.showModal({ - title: '鎻愮ず', - content: '姝ゆ搷浣滃皢鍒犻櫎璇ョЩ搴撲俊鎭�, 鏄惁缁х画?', - success: function (res) { - if (res.confirm) { - that.list.map((item, index) => { - if (obj.id == item.id) { - that.list.splice(index, 1) - } - }); - } - } - }); - }, - submit() { - let that = this - - that.list.map((item) => { - - - if (item.moveQty <= 0) { - uni.showToast({ - title: '璇风Щ搴撴暟閲忓繀椤诲ぇ浜�0', - icon: "none" - }); - return - } - - if (item.moveQty > item.availableStockQuantity) { - uni.showToast({ - title: '绉诲簱鏁伴噺涓嶈兘澶т簬鍙敤搴撳瓨鏁伴噺', - icon: "none" - }); - return - } - }); - - - let subList = [] - that.list.map((item) => { - - let sub = { - stockId: item.id, - arriveLocationNo: item.arriveLocationNo, - moveQty: item.moveQty - } - - subList.push(sub) - - }); - - that.$u.api.pigxWareHouse.addList(subList).then(res => { - - if (res.code == 0) { - uni.showModal({ - title: '鎻愮ず', - content: '鎻愪氦鎴愬姛', - showCancel: false, - success: function () { - that.list = [] - that.tolocationNo = "" - } - }) - } else { - uni.showModal({ - title: '鎻愮ず', - content: '鎻愪氦澶辫触', - showCancel: false, - success: function () { - - } - }) - } - - }) - - - }, - } -}; + }; </script> <style lang="scss" scoped> -.movewarehouse-index-bg { - background-color: #F6F9FF; - background-image: url('~@/static/custom/moveWareHouse/locNoBg.png'); - // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0)); - 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; -} - -.movewarehouse-index-search { - padding: 40rpx 30rpx 20rpx 30rpx; -} - -.movewarehouse-index-search-view { - height: 66rpx; - border: 1px solid #ADC8E4; - border-radius: 8rpx; - background: rgba(250, 252, 255, 0.36); - line-height: 66rpx; - padding-left: 33rpx; - padding-right: 10rpx; - display: flex; - justify-content: space-between; - - .movewarehouse-index-search-view-item { - .item-one { - font-size: 30rpx; - color: #283E65; - } - - .item-one-content { - margin-left: 10rpx; - color: #909399; - font-size: 26rpx; - } - - .item-two { - font-size: 30rpx; - color: #A6B4CC; - } - } -} - -.wrap .movewarehouse-index-scroll-list { - height: calc(100vh - var(--window-top) - var(--window-bottom) - 378rpx); - width: 100%; -} - -.movewarehouse-index-scroll-list-group { - ::v-deep .u-cell-item-box { - background-color: rgba(250, 252, 255, 0.36) !important; - padding: 0rpx 30rpx; + .person-btn-view { + display: flex; + justify-content: space-between; + margin-top: 300rpx; } - .content { - font-size: 12px; - background-color: #FFFFFF; - box-sizing: border-box; - border-radius: 10rpx; - margin: 0rpx 0rpx 16rpx; - height: 432rpx; - padding: 10rpx 20rpx; - box-shadow: 0rpx 6rpx 12rpx 2rpx rgba(127, 127, 127, 0.1) !important; - position: relative; + .popup-container { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + justify-content: center; + align-items: center; + } - .content-header { - .header-item { - height: 50rpx; - display: flex; - align-items: center; + .popup-content { + width: 600rpx; + height: 600rpx; + background-color: #fff; + border-radius: 8px; + z-index: 10; + /* 纭繚鍐呭鍦ㄨ挋鐗堜箣涓� */ + } - .content-header-icon-one { - background-image: url('~@/static/custom/moveWareHouse/label-icon-1.png'); - background-size: 100% auto; - background-repeat: no-repeat; - height: 28rpx; - width: 28rpx; - } + .movewarehouse-index-bg { + background-color: #f6f9ff; + background-image: url("~@/static/custom/moveWareHouse/locNoBg.png"); + // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0)); + 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; + } - .content-header-icon-two { - background-image: url('~@/static/custom/moveWareHouse/header_icon.png'); - background-size: 100% auto; - background-repeat: no-repeat; - height: 28rpx; - width: 28rpx; - } + .packing-registration-param { + padding: 40rpx 30rpx 10rpx 30rpx; - .content-header-title { - margin-left: 11rpx; - font-size: 26rpx; - font-weight: bold; - color: #333333; - } - } + .packing-registration-param-title { + display: flex; + flex-direction: row; + align-items: center; + margin-bottom: 30rpx; - .header-item-toolbar { - position: absolute; - background-image: url('~@/static/custom/moveWareHouse/del-icon.png'); - background-size: 100% auto; - background-repeat: no-repeat; - height: 60rpx; - width: 140rpx; - right: 0; - top: 0; - display: flex; - justify-content: flex-end; - padding-top: 10rpx; - padding-right: 18rpx; - - .header-item-toolbar-del-icon { - background-image: url('~@/static/custom/moveWareHouse/icon_dele.png'); - background-size: 100% auto; - background-repeat: no-repeat; - height: 25rpx; - width: 22rpx; - margin-top: 5rpx; - } - - .header-item-toolbar-del-text { - margin-left: 7rpx; - height: 23rpx; - font-size: 24rpx; - color: #FFFFFF; - } + .title-label { + margin-left: 14rpx; + font-size: 34rpx; + font-weight: bold; + color: #283e65; } } - .content-body { - height: 300rpx; - background: #F5F9FF; + .packing-registration-param-view { + height: 177rpx; + background-color: #fff; border-radius: 10rpx; - padding: 25rpx 23rpx; + padding: 0rpx 23rpx; + margin-bottom: 30rpx; - .row-list { - height: 50rpx; - display: flex; - flex-direction: row; - padding: 0px; - align-items: center; - justify-content: space-between; - } - - .row-list ._label { - display: flex; - color: #666666; - font-size: 26rpx; - align-items: center; - width: 170rpx; - } - - .row-list ._content { - text-align: right; - color: #909399; - font-size: 24rpx; - - ._content-text { - color: #214ded; - } - } - - .row-list ._input { + .packing-registration-param-item { + height: 90rpx; + border: 1px solid #adc8e4; + line-height: 90rpx; display: flex; justify-content: space-between; - align-items: center; - border-bottom: 1px solid #4FA0FF; - height: 56rpx; + border: none; - .edit_icon { - background-image: url('~@/static/custom/finishProductIn/icon_edit.png'); - background-size: 100% auto; - background-repeat: no-repeat; - height: 26rpx; - width: 26rpx; + .packing-registration-param-item-left { + .item-one { + font-size: 30rpx; + color: #666666; + } } - ::v-deep .uni-input-input { - color: #D35651; + .packing-registration-param-item-right { + display: flex; + justify-content: space-between; + + .item-one { + font-size: 30rpx; + color: #333333; + margin-right: 6rpx; + } + + .item-two { + font-size: 30rpx; + color: #a6b4cc; + margin-right: 6rpx; + } + + .item-three { + font-size: 30rpx; + color: #214ded; + margin-right: 6rpx; + } } + } + + .param-extra { + border-bottom: 1px solid #ededed; } } } -} - -.new-form-footer { - display: flex; - margin-top: 10rpx; - margin-bottom: 10rpx; - margin-left: 20rpx; - margin-right: 20rpx; - padding-bottom: 14rpx; - - .btn { - flex: 1; - margin: 10rpx; - background: #214DED; - box-shadow: 0rpx 6rpx 8rpx 0rpx rgba(4, 49, 212, 0.3); - font-weight: bold; - color: #FEFEFE; - font-family: PingFang SC; - } -} -</style> +</style> \ No newline at end of file -- Gitblit v1.9.3