From 4a0e13df7532a226cd1f951b3ace001969d2ee88 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 31 十月 2023 14:08:34 +0800
Subject: [PATCH] 1.模具出库、模具入库 100%

---
 config/api.js       |    7 
 pages/mjgl/mjck.vue |  253 ++++++++++++++++++++++
 pages/mjgl/mjrk.vue |  392 +++++++++++++++++++++++++++++++++++
 3 files changed, 649 insertions(+), 3 deletions(-)

diff --git a/config/api.js b/config/api.js
index 22a95d9..3c3fb56 100644
--- a/config/api.js
+++ b/config/api.js
@@ -139,4 +139,9 @@
 // 璁惧涓嬫媺
 export const EqpPermissions = (data) => http.get('/MouldManager/MouldEqpPermissions', {
 	params: data
-})
\ No newline at end of file
+})
+
+// 浠撳簱搴撲綅鍩虹璧勬枡
+export const WareHouseLocation = (data) => http.get('/GeneralBasicData/WareHouseLocation',
+	data)
+ 
\ No newline at end of file
diff --git a/pages/mjgl/mjck.vue b/pages/mjgl/mjck.vue
index 02409e3..bd34da6 100644
--- a/pages/mjgl/mjck.vue
+++ b/pages/mjgl/mjck.vue
@@ -1,8 +1,259 @@
 <template>
+	<view>
+		<page-nav title="妯″叿鍑哄簱"></page-nav>
+
+
+		<view v-show="topContent.length===0">
+			<div class="sacnBody">
+				<div class="scanImg" @click="topScanClick"></div>
+				<div class="scanText">鎵弿妯″叿缂栫爜</div>
+			</div>
+		</view>
+
+
+		<view v-show="topContent.length!==0">
+			<view class="mainContent">
+				<view>
+					<u-gap height="10" bgColor="#eff0f1"></u-gap>
+					<view class="head" style="max-height: 480rpx;overflow:scroll;">
+						<view class="head_block">
+							<view class="head_left">
+								<view class="head_bar"></view>
+								<view class="head_title">
+									妯″叿淇℃伅
+								</view>
+							</view>
+
+							<view class="marginRight20">
+								<u-icon name="scan" @click="topScanClick" color="red" size="24"></u-icon>
+							</view>
+
+						</view>
+
+						<view class="marginTop20 marginLeft20 marginRight20 flex_column">
+							<view class="marginBottom20 flex_between" v-for="item in topContent" :key="item.code">
+								<view style="display: flex;">
+									<view class="flex_column titleFont">
+										<view>妯″叿缂栫爜锛�</view>
+										<view>妯″叿鍚嶇О锛�</view>
+										<view>瑙勬牸鍨嬪彿锛�</view>
+										<view>棰勮瀵垮懡锛�</view>
+										<view>鍓╀綑瀵垮懡锛�</view>
+										<view>鍑哄簱浠撳簱锛�</view>
+										<view>鍑哄簱搴撲綅锛�</view>
+
+									</view>
+									<view class="flex_column contentFont">
+										<view>{{item.mould_code}}</view>
+										<view>{{item.mould_name}}</view>
+										<view>{{item.mould_spec?item.mould_spec:'/'}}</view>
+										<view>{{item.surp_life}}</view>
+										<view>{{item.resi_life}}</view>
+										<view>{{item.warehousename}}</view>
+										<view>{{item.location_name}}</view>
+
+									</view>
+								</view>
+							</view>
+
+						</view>
+
+					</view>
+					<u-gap height="10" bgColor="#eff0f1"></u-gap>
+
+
+
+					<view class="head" style="padding-bottom: 10rpx;">
+						<view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
+							<view class="head_left">
+								<view class="head_bar"></view>
+								<view class="head_title">
+									鍑哄簱鎻忚堪
+								</view>
+							</view>
+						</view>
+						<view class='inputClass  contentFont' style="margin: 0 20rpx; width: 95%;">
+							<u--textarea placeholder="璇疯緭鍏�" confirm-type="send" border="surround" height='80'
+								v-model="descMessage">
+							</u--textarea>
+						</view>
+
+
+
+
+					</view>
+
+				</view>
+			</view>
+
+
+			<view class="footer">
+				<u-button size="large" :loading="isDisabledSubmitButton" loadingText="姝e湪鎻愪氦,璇风◢绛�..." type="primary"
+					@click="submit" text="纭鎻愪氦">
+				</u-button>
+			</view>
+
+		</view>
+
+
+
+		<u-action-sheet :actions="eqpArr" @select="selectClick" round='20' :closeOnClickOverlay='true'
+			@close="show=false" :closeOnClickAction="true" :safeAreaInsetBottom='true' :show="show"></u-action-sheet>
+
+
+
+
+	</view>
 </template>
 
 <script>
+	import {
+		MouldOutWareHouseQrCodeData,
+
+		MouldOutWareHouseSave
+	} from '../../config/api.js'
+	export default {
+		onLoad(option) {
+			//   const _this = this
+			// uni.$off('scancodedate') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
+			// uni.$on('scancodedate', function(content) {
+			// 	console.log("鎵弿鍒扮殑鍐呭涓�:", content)
+			// 	_this.getMouldOutWareHouseQrCodeData(content)
+			// })
+		},
+		onPullDownRefresh() {
+			setTimeout(() => {
+				this.init(() => {
+					uni.stopPullDownRefresh();
+				})
+			}, 1000);
+		},
+		data() {
+			return {
+				topRightMessageCount: 0,
+
+				isDisabledSubmitButton: false,
+
+				topContent: [],
+
+				scanContent: '',
+
+
+				selectValue: '',
+
+				descMessage: '',
+
+				show: false,
+				eqpArr: []
+			}
+		},
+		created() {
+			// this.getMouldOutWareHouseQrCodeData('001')
+
+		},
+		mounted() {
+			this.init()
+
+
+		},
+		methods: {
+
+			init() {
+				uni.stopPullDownRefresh();
+			},
+
+
+			selectClick(val) {
+				console.log(val)
+				this.selectValue = val.name
+			},
+			// 鎵爜宸ヤ綅  鐨勬壂鐮佹鐐瑰嚮
+			topScanClick() {
+				// if (this.topContent.length > 0) {
+				// 	return uni.$u.toast('璇峰厛鎻愪氦姝ょ淮淇敵璇凤紒')
+				// }
+
+				let that = this;
+				uni.scanCode({
+					onlyFromCamera: true,
+					// scanType: ['barCode', 'qrCode'],
+					scanType: ['qrCode'],
+					success: function(res) {
+						console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+						console.log('鏉$爜鍐呭锛�' + res.result);
+						that.scanContent = res.result;
+						let flag = false
+						that.topContent.forEach(item => {
+							if (item.code === res.result) {
+								flag = true
+							}
+						})
+						if (flag) {
+							that.$u.toast('姝ゆ潯鐮佸凡鎵弿锛屽凡鍦ㄥ垪琛ㄤ腑锛�')
+						} else {
+							//澶勭悊鎵爜浜嬩欢
+							that.getMouldOutWareHouseQrCodeData(that.scanContent);
+						}
+					},
+					complete: function(res) {
+
+					},
+					fail: function(res) {
+						console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+						console.log('鏉$爜鍐呭锛�' + res.result);
+					}
+
+				});
+			},
+
+			// 鑾峰彇缁翠慨宸ヤ綅    
+			async getMouldOutWareHouseQrCodeData(val) {
+				const data = {
+					mouldcode: val
+				}
+
+				const res = await MouldOutWareHouseQrCodeData(data)
+				if (res.code === '200') {
+					this.topContent = []
+					this.topContent.unshift(res.data[0])
+				}
+			},
+
+			// 纭鎻愪氦鎸夐挳
+			async submit() {
+
+				// if (parseFloat(this.topContent[0].resi_life) < parseFloat(this.selectValue)) {
+				// 	uni.$u.toast('鏈浣跨敤娆℃暟涓嶈兘澶т簬鍓╀綑瀵垮懡娆℃暟锛�')
+				// }
+
+				const data = {
+					mouldcode: this.topContent[0].mould_code,
+					warehousecode: this.topContent[0].warehousecode,
+					locationcode: this.topContent[0].location_code,
+					description: this.descMessage
+				}
+
+				// console.log(JSON.stringify(data))
+
+				this.isDisabledSubmitButton = true
+				const res = await MouldOutWareHouseSave(data)
+				if (res.code === '200') {
+					uni.$u.toast('鎻愪氦鎴愬姛锛�')
+					this.isDisabledSubmitButton = false
+					this.topContent = []
+					this.selectValue = ''
+					this.descMessage = ''
+				}
+
+			},
+		}
+	}
 </script>
 
-<style>
+<style lang="scss" scoped>
+	@import url('@/style/global.css');
+
+	::v-deep .uicon-arrow-left>span {
+		display: block;
+	}
 </style>
\ No newline at end of file
diff --git a/pages/mjgl/mjrk.vue b/pages/mjgl/mjrk.vue
index 02409e3..f16910d 100644
--- a/pages/mjgl/mjrk.vue
+++ b/pages/mjgl/mjrk.vue
@@ -1,8 +1,398 @@
 <template>
+	<view>
+		<page-nav title="妯″叿鍏ュ簱"></page-nav>
+
+
+		<view v-show="topContent.length===0">
+			<div class="sacnBody">
+				<div class="scanImg" @click="topScanClick"></div>
+				<div class="scanText">鎵弿妯″叿缂栫爜</div>
+			</div>
+		</view>
+
+
+		<view v-show="topContent.length!==0">
+			<view class="mainContent">
+				<view>
+					<u-gap height="10" bgColor="#eff0f1"></u-gap>
+					<view class="head" style="max-height: 410rpx;overflow:scroll;">
+						<view class="head_block">
+							<view class="head_left">
+								<view class="head_bar"></view>
+								<view class="head_title">
+									妯″叿淇℃伅
+								</view>
+							</view>
+
+							<view class="marginRight20">
+								<u-icon name="scan" @click="topScanClick" color="red" size="24"></u-icon>
+							</view>
+
+						</view>
+
+						<view class="marginTop20 marginLeft20 marginRight20 flex_column">
+							<view class="marginBottom20 flex_between" v-for="item in topContent" :key="item.code">
+								<view style="display: flex;">
+									<view class="flex_column titleFont">
+										<view>妯″叿缂栫爜锛�</view>
+										<view>妯″叿鍚嶇О锛�</view>
+										<view>瑙勬牸鍨嬪彿锛�</view>
+										<view>棰勮瀵垮懡锛�</view>
+										<view>鍓╀綑瀵垮懡锛�</view>
+									</view>
+									<view class="flex_column contentFont">
+										<view>{{item.code}}</view>
+										<view>{{item.name}}</view>
+										<view>{{item.spec?item.spec:'/'}}</view>
+										<view>{{item.surp_life}}</view>
+										<view>{{item.resi_life}}</view>
+									</view>
+								</view>
+							</view>
+
+						</view>
+
+					</view>
+					<u-gap height="10" bgColor="#eff0f1"></u-gap>
+
+					<view class="head" style="padding-bottom: 10rpx;">
+						<view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
+							<view class="head_left" style="align-items: center;">
+								<view class="head_bar" style="margin-top: 0rpx;"></view>
+								<view class="head_title">
+									搴撲綅淇℃伅
+								</view>
+
+
+
+								<view style="margin-left: 20rpx;">
+									{{selectValue.name}}
+								</view>
+
+							</view>
+
+
+
+							<view class="marginRight20" style="display: flex;">
+								<u-button @click="show = true" type='primary' size="small" plain class="marginRight20"
+									shape='circle'>璇烽�夋嫨</u-button>
+								<u-icon name="scan" @click="centerScanClick" color="red" size="24"></u-icon>
+							</view>
+
+
+							<!-- 	<view class="marginRight20 marginBottom10">
+								<u-button @click="show = true" type='primary' size="small" plain
+									shape='circle'>璇烽�夋嫨</u-button>
+							</view> -->
+
+							<!-- <view class="marginRight20 marginBottom10" v-if='ckkwArr.length===0'>
+								鏆傛棤绌轰綑璁惧锛岃鍏堜笅鏈�
+							</view> -->
+
+
+						</view>
+
+
+
+						<view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
+							<view class="head_left" style="align-items: center;">
+								<view class="head_bar" style="margin-top: 0rpx;"></view>
+								<view class="head_title">
+									鎵�灞炰粨搴�
+								</view>
+
+								<view style="margin-left: 20rpx;">
+									{{belongCk.text}}
+								</view>
+
+							</view>
+						</view>
+
+
+
+					</view>
+					<u-gap height="10" bgColor="#eff0f1"></u-gap>
+
+					<view class="head" style="padding-bottom: 10rpx;">
+						<view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
+							<view class="head_left">
+								<view class="head_bar"></view>
+								<view class="head_title">
+									鍏ュ簱鎻忚堪
+								</view>
+							</view>
+						</view>
+						<view class='inputClass  contentFont' style="margin: 0 20rpx; width: 95%;">
+							<u--textarea placeholder="璇疯緭鍏�" confirm-type="send" border="surround" height='80'
+								v-model="descMessage">
+							</u--textarea>
+						</view>
+
+
+
+
+
+
+
+
+					</view>
+
+				</view>
+			</view>
+
+
+			<view class="footer">
+				<u-button size="large" :loading="isDisabledSubmitButton" loadingText="姝e湪鎻愪氦,璇风◢绛�..." type="primary"
+					:disabled="isDisabled" @click="submit" text="纭鎻愪氦">
+				</u-button>
+			</view>
+
+		</view>
+
+
+
+		<u-action-sheet :actions="kwArr" @select="selectClick" round='20' :closeOnClickOverlay='true'
+			@close="show=false" :closeOnClickAction="true" :safeAreaInsetBottom='true' :show="show"></u-action-sheet>
+
+
+
+
+	</view>
 </template>
 
 <script>
+	import {
+		MouldInWareHouseQrCodeData,
+		WareHouseLocation,
+		MouldInWareHouseSave
+	} from '../../config/api.js'
+	export default {
+		onLoad(option) {
+			//   const _this = this
+			// uni.$off('scancodedate') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
+			// uni.$on('scancodedate', function(content) {
+			// 	console.log("鎵弿鍒扮殑鍐呭涓�:", content)
+			// 	_this.getMouldInWareHouseQrCodeData(content)
+			// })
+		},
+		onPullDownRefresh() {
+			setTimeout(() => {
+				this.init(() => {
+					uni.stopPullDownRefresh();
+				})
+			}, 1000);
+		},
+		data() {
+			return {
+				topRightMessageCount: 0,
+
+				isDisabledSubmitButton: false,
+
+				topContent: [],
+
+				scanContent: '',
+
+
+				selectValue: '',
+
+				descMessage: '',
+
+				show: false,
+				ckkwArr: [],
+
+				kwArr: [],
+
+				belongCk: '',
+
+				isDisabled: true
+
+
+			}
+		},
+		created() {
+			// this.getMouldInWareHouseQrCodeData('001')
+
+		},
+		mounted() {
+			this.init()
+
+			this.getWareHouseLocation()
+		},
+		methods: {
+
+			init() {
+				uni.stopPullDownRefresh();
+			},
+
+			async getWareHouseLocation() {
+				const {
+					data: res
+				} = await WareHouseLocation()
+				this.ckkwArr = res
+
+				this.kwArr = []
+				this.ckkwArr.forEach(i => {
+					if (i.children && i.children.length > 0) {
+						i.children.forEach(j => {
+							this.kwArr.push({
+								code: j.value,
+								name: j.text
+							})
+						})
+					}
+				})
+			},
+
+
+
+
+			selectClick(val) {
+				this.selectValue = val
+
+				this.belongCk = ''
+				this.ckkwArr.forEach(i => {
+					if (i.children && i.children.length > 0) {
+						i.children.forEach(j => {
+							if (j.value === val.code) {
+								this.belongCk = i
+								this.isDisabled = false
+							}
+						})
+					}
+				})
+
+				// console.log(this.belongCk, 123)
+			},
+			// 鎵爜宸ヤ綅  鐨勬壂鐮佹鐐瑰嚮
+			topScanClick() {
+				// if (this.topContent.length > 0) {
+				// 	return uni.$u.toast('璇峰厛鎻愪氦姝ょ淮淇敵璇凤紒')
+				// }
+
+				let that = this;
+				uni.scanCode({
+					onlyFromCamera: true,
+					// scanType: ['barCode', 'qrCode'],
+					scanType: ['qrCode'],
+					success: function(res) {
+						console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+						console.log('鏉$爜鍐呭锛�' + res.result);
+						that.scanContent = res.result;
+						let flag = false
+						that.topContent.forEach(item => {
+							if (item.code === res.result) {
+								flag = true
+							}
+						})
+						if (flag) {
+							that.$u.toast('姝ゆ潯鐮佸凡鎵弿锛屽凡鍦ㄥ垪琛ㄤ腑锛�')
+						} else {
+							//澶勭悊鎵爜浜嬩欢
+							that.getMouldInWareHouseQrCodeData(that.scanContent);
+						}
+					},
+					complete: function(res) {
+
+					},
+					fail: function(res) {
+						console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+						console.log('鏉$爜鍐呭锛�' + res.result);
+					}
+
+				});
+			},
+
+			centerScanClick() {
+				let that = this;
+				uni.scanCode({
+					onlyFromCamera: true,
+					// scanType: ['barCode', 'qrCode'],
+					scanType: ['qrCode'],
+					success: function(res) {
+						console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+						console.log('鏉$爜鍐呭锛�' + res.result);
+
+						that.ckkwArr.forEach(i => {
+							if (i.children && i.children.length > 0) {
+								i.children.forEach(j => {
+									if (j.value === res.result) {
+										that.belongCk = i
+										console.log(j);
+										that.selectValue = {
+											code: j.value,
+											name: j.text
+										}
+
+										that.isDisabled = false
+
+									}
+								})
+							}
+						})
+
+					},
+					complete: function(res) {
+
+					},
+					fail: function(res) {
+						console.log('鏉$爜绫诲瀷锛�' + res.scanType);
+						console.log('鏉$爜鍐呭锛�' + res.result);
+					}
+
+				});
+			},
+
+			// 鑾峰彇妯″叿淇℃伅   
+			async getMouldInWareHouseQrCodeData(val) {
+				const data = {
+					mouldcode: val
+				}
+
+				const res = await MouldInWareHouseQrCodeData(data)
+				if (res.code === '200') {
+					this.topContent = []
+					this.topContent.unshift(res.data[0])
+				}
+			},
+
+			// 纭鎻愪氦鎸夐挳
+			async submit() {
+				const data = {
+					mouldcode: this.topContent[0].code,
+					warehousecode: this.belongCk.value,
+					locationcode: this.selectValue.code,
+					description: this.descMessage
+				}
+
+				console.log(JSON.stringify(data))
+
+				this.isDisabledSubmitButton = true
+				const res = await MouldInWareHouseSave(data)
+				if (res.code === '200') {
+					uni.$u.toast('鎻愪氦鎴愬姛锛�')
+					this.isDisabledSubmitButton = false
+					this.topContent = []
+					this.selectValue = ''
+					this.belongCk = ''
+					this.descMessage = ''
+				}
+
+			},
+		}
+	}
 </script>
 
-<style>
+<style lang="scss" scoped>
+	@import url('@/style/global.css');
+
+	::v-deep .uicon-arrow-left>span {
+		display: block;
+	}
+</style>
+
+<style scoped>
+	/deep/.u-action-sheet__item-wrap {
+		overflow: auto;
+		max-height: 50vh;
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3