From 1c6c22d91c98e8f8077abc15558c1f5590173057 Mon Sep 17 00:00:00 2001
From: wzp <2880584989@qq.com>
Date: 星期五, 11 二月 2022 18:22:21 +0800
Subject: [PATCH] 最新版

---
 assetMgtH5/pages/assets/borrow.vue |  309 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 197 insertions(+), 112 deletions(-)

diff --git a/assetMgtH5/pages/assets/borrow.vue b/assetMgtH5/pages/assets/borrow.vue
index 4f1bb25..21667bf 100644
--- a/assetMgtH5/pages/assets/borrow.vue
+++ b/assetMgtH5/pages/assets/borrow.vue
@@ -13,143 +13,91 @@
 					<text class="cuIcon-title text-orange"></text> 鍙�熺敤璧勪骇鍒楄〃
 				</view>
 			</view>
-			<view class="cu-list menu-avatar">
-				<view class="cu-item">
-					<view class="cu-avatar radius lg"
-						style="background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big81007.jpg);">
-					</view>
-					<view class="content">
-						<view>
-							<view class="text-cut text-bold text-xl">璇炬</view>
-							<view class="cu-tag radius bg-orange sm">鍙�熺敤锛�100</view>
-							<view class="numbox">
-								<u-number-box v-model="value" :min="0" :showMinus="value > 0">
-									<view slot="minus" class="minus">
-										<u-icon name="minus" size="12"></u-icon>
-									</view>
-									<input slot="input" style="width: 38px;text-align: center; "
-										class="input" :value="value"></input>
-									<view slot="plus" class="plus">
-										<u-icon name="plus" color="#FFFFFF" size="12"></u-icon>
-									</view>
-								</u-number-box>
-							</view>
-						</view>
-						<view class="text-gray text-sm flex">
-							<view class="text-cut">瑙勬牸锛�120*120 鐧借壊 缂栫爜锛�1234533333</view>
-						</view>
-					</view>
-					<view class="action">
-						<!-- <view class="text-grey text-xs">22:20</view> -->
-						<view class="cu-tag round bg-red sm">鍒犻櫎</view>
-					</view>
-				</view>
 
-				<view class="cu-item">
-					<view class="cu-avatar radius lg"
-						style="background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big81007.jpg);">
-					</view>
-					<view class="content">
-						<view>
-							<view class="text-cut text-bold text-xl">鍦嗚</view>
-							<view class="cu-tag radius bg-orange sm">鍙�熺敤锛�100</view>
-							<view class="numbox">
-								<u-number-box v-model="value" :min="0" :showMinus="value > 0">
-									<view slot="minus" class="minus">
-										<u-icon name="minus" size="12"></u-icon>
-									</view>
-									<input slot="input" style="width: 38px;text-align: center; "
-										class="input" :value="value"></input>
-									<view slot="plus" class="plus">
-										<u-icon name="plus" color="#FFFFFF" size="12"></u-icon>
-									</view>
-								</u-number-box>
-							</view>
-						</view>
-						<view class="text-gray text-sm flex">
-							<view class="text-cut">瑙勬牸锛�120*120 鐧借壊 缂栫爜锛�12345</view>
-						</view>
-					</view>
-					<view class="action">
-						<!-- <view class="text-grey text-xs">22:20</view> -->
-						<view class="cu-tag round bg-red sm">鍒犻櫎</view>
-					</view>
-				</view>
-
-				<view class="cu-item">
-					<view class="cu-avatar radius lg"
-						style="background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big81007.jpg);">
-					</view>
-					<view class="content">
-						<view>
-							<view class="text-cut text-bold text-xl">妞呭瓙</view>
-							<view class="cu-tag radius bg-orange sm">鍙�熺敤锛�100</view>
-							<view class="numbox">
-								<u-number-box v-model="value" :min="0" :showMinus="value > 0">
-									<view slot="minus" class="minus">
-										<u-icon name="minus" size="12"></u-icon>
-									</view>
-									<input slot="input" style="width: 38px;text-align: center; "
-										class="input" :value="value"></input>
-									<view slot="plus" class="plus">
-										<u-icon name="plus" color="#FFFFFF" size="12"></u-icon>
-									</view>
-								</u-number-box>
-							</view>
-						</view>
-						<view class="text-gray text-sm flex">
-							<view class="text-cut">瑙勬牸锛�120*120 鐧借壊 缂栫爜锛�12345</view>
-						</view>
-					</view>
-					<view class="action">
-						<!-- <view class="text-grey text-xs">22:20</view> -->
-						<view class="cu-tag round bg-red sm">鍒犻櫎</view>
-					</view>
-				</view>
+			<view class="" v-if="listFlag">
+				<u-empty mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png">
+				</u-empty>
 			</view>
-			
+
+			<view class="cu-list menu-avatar">
+				<view class="cu-item" v-for="(item,index) in assetsList" :key="index">
+					<view class="cu-avatar radius lg bg-white" style="background-image:url(../../static/device.png)">
+					</view>
+					<view class="content">
+						<view>
+							<view class="text-cut text-bold text-xl">{{item.name}}</view>
+							<view class="cu-tag radius bg-orange sm">鍙�熺敤锛歿{item.quantity}}</view>
+							<view class="numbox">
+								<u-number-box v-model="valueList[index]" :min="0" :max="item.quantity"
+									:showMinus="valueList[index] > 0">
+									<view slot="minus" class="minus">
+										<u-icon name="minus" size="12"></u-icon>
+									</view>
+									<input slot="input" style="width: 38px;text-align: center; " class="input"
+										:value="valueList[index]?valueList[index]:0"></input>
+									<view slot="plus" class="plus">
+										<u-icon name="plus" color="#FFFFFF" size="12"></u-icon>
+									</view>
+								</u-number-box>
+							</view>
+						</view>
+						<view class="text-gray text-sm flex">
+							<view class="text-cut">瑙勬牸锛歿{item.model?item.model:'鏃�'}} 缂栫爜锛歿{item.serialNumber}}</view>
+						</view>
+					</view>
+					<!-- <view class="action"> -->
+					<!-- <view class="text-grey text-xs">22:20</view> -->
+					<!-- <view class="cu-tag round bg-red sm">鍒犻櫎</view> -->
+					<!-- </view> -->
+				</view>
+
+			</view>
+
+
+			<!-- 鐢宠鐞嗙敱 -->
 			<view class="margin-top">
 				<view class="margin-left border-title">
-						 鐢宠鐞嗙敱
+					鐢宠鐞嗙敱
 				</view>
 				<view class="flex justify-center align-center" style="margin-top: 10rpx;">
 					<view class="" style="width: 95%; ">
-						<u--textarea  v-model="reason" placeholder="璇疯緭鍏ュ唴瀹�" placeholderStyle="font-size: 15rpx;" ></u--textarea>
+						<u--textarea v-model="reason" placeholder="璇疯緭鍏ュ唴瀹�" placeholderStyle="font-size: 15rpx;">
+						</u--textarea>
 					</view>
-					
+
 				</view>
 			</view>
-			
+
 			<view class="padding-left padding-top  border-title " style="padding-bottom: 10rpx;">
 				<view class="action">
-					 鐢宠浜轰俊鎭�
+					鐢宠浜轰俊鎭�
 				</view>
 			</view>
 			<view class="flex justify-center">
 				<view class="u-border radius" style="width: 95%; padding:20rpx 0 20rpx 20rpx;">
 					<view class="">
-						鐢宠浜�: 鏉庤�佸笀
+						鐢宠浜�: {{applicant}}
 					</view>
 					<view class="" style="margin-top: 5rpx;">
-						鑱屽姟: 鐝富浠�
+						鑱屽姟: {{jobTitle}}
 					</view>
 					<view class="" style="margin-top: 5rpx;">
-						鐢宠鍗曚綅: 鍒濅竴1鐝�
+						鐢宠鍗曚綅: {{applicationUnit}}
 					</view>
 					<view class="" style="margin-top: 5rpx;">
-						鐢宠鏃堕棿: 2022骞�2鏈�8鏃� 23:00
+						鐢宠鏃堕棿: {{applicationTime}}
 					</view>
 				</view>
 			</view>
-			
+
 		</view>
 
-		
+
 		<view class="margin-top">
-			<u-button style="width: 40%;" type="primary" text="鎻愪氦鐢宠"></u-button>
+			<u-button style="width: 40%;" type="primary" text="鎻愪氦鐢宠" @click="submit" :disabled="isDisabled"></u-button>
 		</view>
 
-
+		<u-toast ref="uToast"></u-toast>
 	</view>
 </template>
 
@@ -157,26 +105,163 @@
 	export default {
 		data() {
 			return {
-				value: 10,
-				reason:''
+				value: 0,
+				reason: '',
+				assetsList: [],
+				listFlag: false,
+				valueList: [],
+				applicant: "", //鐢宠浜�
+				jobTitle: "", //鑱屽姟
+				applicationUnit: '', //鐢宠鍗曚綅
+				applicationTime: '', //鐢宠鏃堕棿
+				templateId: '', //妯℃澘ID
+				isDisabled: false
 			}
+		},
+		onShow() {
+			console.log(this.$dayjs().format("YYYY-MM-DD"));
+			this.initUseListData();
+			this.initTemplateData();
 		},
 		methods: {
 			valChange(e) {
 				console.log('褰撳墠鍊间负: ' + e.value)
+			},
+			//鑾峰彇鍙鐢ㄨ澶�
+			initUseListData() {
+				this.$http.get('/assets/approval/search', {
+						params: {
+							pageNum: "1",
+							pageSize: "3",
+							keyStr: '',
+							state: "2"
+						}
+					})
+
+					.then(res => {
+						// debugger;
+						if (res.data.code === 0) {
+							let data = res.data.rows;
+							this.assetsList = data;
+							// console.log(JSON.stringify(data.data))
+							// let tt = data.data;
+							console.log(data.length)
+						} else {
+							this.listFlag = true;
+						}
+
+
+					}).catch(err => {
+						this.listFlag = true;
+						console.log(err.data)
+					})
+			},
+
+			//鑾峰彇棰嗙敤鐨勬ā鏉�
+			initTemplateData() {
+				this.$http.get('/assets/approval/getTemplate')
+					.then(res => {
+						// debugger;
+
+						if (res.data.code === 0) {
+							let data = res.data.data;
+
+							console.log(data.length)
+
+							//鑾峰彇鍊熺敤鐨勬ā鏉縄D
+							for (let i = 0; i < data.length; i++) {
+								if (data[i].type === 2) {
+									this.templateId = data[i].templateId;
+									break;
+								}
+							}
+						}
+
+
+
+					}).catch(err => {
+
+						console.log(err.data)
+					})
+			},
+
+			submit() {
+				this.isDisabled = true;
+				if (this.reason.length <= 0) {
+					this.isDisabled = false;
+					this.$refs.uToast.show({
+						type: 'error',
+						message: "璇峰~鍐欑敵璇风悊鐢�"
+					});
+					return;
+				}
+				if (this.valueList.length <= 0) {
+					this.isDisabled = false;
+					this.$refs.uToast.show({
+						type: 'error',
+						message: "璇烽�夋嫨涓�涓垨澶氫釜鍊熺敤璧勪骇锛�"
+					});
+
+					return;
+				}
+
+				this.submitApply();
+			},
+
+			submitApply() {
+				let assets = [];
+				for (let i = 0; i < this.valueList.length; i++) {
+					if (this.valueList[i] > 0) {
+						let item = this.assetsList[i];
+						assets.push({
+							"id": item.id,
+							"name": item.name,
+							"serialNumber": item.serialNumber,
+							"quantity": this.valueList[i]
+						})
+					}
+				}
+
+				console.log(assets);
+				let data = {
+					"assets": assets,
+					"templateId": this.templateId,
+					"reason": this.reason
+				}
+
+				this.$http.post('/assets/approval/submit', data)
+					.then(res => {
+						debugger;
+						if (res.data.code === 0) {
+							console.log("鎴愬姛浜�")
+							this.$refs.uToast.show({
+								type: 'success',
+								message: "鎻愪氦鎴愬姛"
+							});
+						} else {
+							this.$refs.uToast.show({
+								type: 'error',
+								message: res.data.msg
+							});
+						}
+						this.isDisabled = false;
+
+					}).catch(err => {
+						this.isDisabled = false;
+						console.log(err.data)
+					})
 			}
 		}
 	}
 </script>
 
 <style lang="scss">
-	
-	.numbox{
+	.numbox {
 		margin-left: 20rpx;
 	}
-	
+
 	.minus {
-		
+
 		width: 15px;
 		height: 15px;
 		border-width: 1px;

--
Gitblit v1.9.1