From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期三, 28 五月 2025 16:48:52 +0800 Subject: [PATCH] 初始化项目 --- pages/wareHouse/moveWareHouse/index.vue | 525 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 525 insertions(+), 0 deletions(-) diff --git a/pages/wareHouse/moveWareHouse/index.vue b/pages/wareHouse/moveWareHouse/index.vue new file mode 100644 index 0000000..e1d9638 --- /dev/null +++ b/pages/wareHouse/moveWareHouse/index.vue @@ -0,0 +1,525 @@ +<template> + <view class="page"> + <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> + <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> + </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> + <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> + </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> + <view class="row-list"> + <view class="_label"> + 浠庡簱浣嶅彿锛� + </view> + <view class="_content"> + {{ item.locationNo }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + 鑷冲簱浣嶅彿锛� + </view> + <view class="_content"> + {{ item.arriveLocationNo }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + 鍙敤搴撳瓨锛� + </view> + <view class="_content"> + <text class="_content-text">{{ item.availableStockQuantity }}</text> + ({{ item.unit }}) + </view> + </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> + </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> + </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', + }, + 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' + }) + }, + 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 ; + } + .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; + .content-header{ + .header-item{ + height: 50rpx; + display: flex; + align-items:center; + .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; + } + .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; + } + .content-header-title{ + margin-left: 11rpx; + font-size: 26rpx; + font-weight: bold; + color: #333333; + } + } + .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; + } + } + } + + .content-body{ + height:300rpx; + background: #F5F9FF; + border-radius: 10rpx; + padding: 25rpx 23rpx; + .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 { + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid #4FA0FF; + height: 56rpx; + .edit_icon{ + background-image: url('~@/static/custom/finishProductIn/icon_edit.png'); + background-size: 100% auto; + background-repeat: no-repeat; + height:26rpx; + width:26rpx; + } + ::v-deep .uni-input-input{ + color:#D35651; + } + } + } + } + } + + .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> -- Gitblit v1.9.3