From 81f42ac21b3cd7e0f6a54fb8ef27f65501bbc94c Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期一, 10 十月 2022 16:50:52 +0800
Subject: [PATCH] 1.维修验证页面优化

---
 unpackage/cache/wgt/H5EDA0853/pages/sbgl/sbwx.html |  540 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 491 insertions(+), 49 deletions(-)

diff --git a/unpackage/cache/wgt/H5EDA0853/pages/sbgl/sbwx.html b/unpackage/cache/wgt/H5EDA0853/pages/sbgl/sbwx.html
index 1af327a..e5b0fae 100644
--- a/unpackage/cache/wgt/H5EDA0853/pages/sbgl/sbwx.html
+++ b/unpackage/cache/wgt/H5EDA0853/pages/sbgl/sbwx.html
@@ -6,8 +6,6 @@
 		<meta name="HandheldFriendly" content="true" />
 		<meta name="MobileOptimized" content="320" />
 		<title>鏂板嚡杩埗閫犱簯骞冲彴</title>
-		<!-- 寮曞叆鍍忕礌杞崲 px->rpx -->
-		<!-- <script src="../../js/rpx4html.js"></script> -->
 
 		<!-- 寮曞叆鏍峰紡鏂囦欢 -->
 		<link rel="stylesheet" href="../../css/vant.css" />
@@ -19,28 +17,284 @@
 		<script type="text/javascript" src="../../js/axios.min.js"></script>
 		<script type="text/javascript" src="../../js/http.js"></script>
 
+		<script type="text/javascript" src="../../js/common.js"></script>
 
-		<link rel="stylesheet" href="../css/global.css" type="text/css" charset="utf-8" />
+		<script type="text/javascript" src="../../js/global.js"></script>
 
+		<!-- <link rel="stylesheet" href="../../css/global.css" type="text/css" charset="utf-8" /> -->
+
+		<script type="text/javascript">
+			var topContent = [
+				// {
+				// 	docu_code: 'SB00990001',
+				// 	eqpcode: 'SB001',
+				// 	eqpname: '榻胯疆绠辩粍',
+				// 	wksp_code: "CJ002",
+				// 	wksp_name: '瑁呴厤杞﹂棿',
+				// 	eqpchkmain_code: "djbz002",
+				// 	request_person: '浣╃綏瑗�',
+				// 	request_date: '2022-09-20 15:20:30',
+				// 	source: '璁惧鐐规',
+				// 	failure_descript: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓嶄笉绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓�',
+				// },
+				// {
+				// 	docu_code: 'SB00990002',
+				// 	eqpcode: 'SB002',
+				// 	eqpname: '榻胯疆绠辩粍',
+				// 	wksp_code: "CJ002",
+				// 	wksp_name: '瑁呴厤杞﹂棿',
+				// 	eqpchkmain_code: "djbz002",
+				// 	request_person: '浣╃綏瑗�',
+				// 	request_date: '2022-09-20 15:20:30',
+				// 	source: '璁惧鐐规',
+				// 	failure_descript: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓�',
+				// },
+				// {
+				// 	docu_code: 'SB00990003',
+				// 	eqpcode: 'SB003',
+				// 	eqpname: '榻胯疆绠辩粍',
+				// 	wksp_code: "CJ002",
+				// 	wksp_name: '瑁呴厤杞﹂棿',
+				// 	eqpchkmain_code: "djbz002",
+				// 	request_person: '浣╃綏瑗�',
+				// 	request_date: '2022-09-20 15:20:30',
+				// 	source: '璁惧鐐规',
+				// 	failure_descript: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓�',
+				// },
+				// {
+				// 	docu_code: 'SB00990004',
+				// 	eqpcode: 'SB004',
+				// 	eqpname: '榻胯疆绠辩粍',
+				// 	wksp_code: "CJ002",
+				// 	wksp_name: '瑁呴厤杞﹂棿',
+				// 	eqpchkmain_code: "djbz002",
+				// 	request_person: '浣╃綏瑗�',
+				// 	request_date: '2022-09-20 15:20:30',
+				// 	source: '璁惧鐐规',
+				// 	failure_descript: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓�',
+				// },
+			];
+
+
+
+
+			let radioValue = '' //鍗曢�夋閫変腑鐨勯」
+
+			let falseArray = [] //鍋囨暟缁�   鍋氭壂鐮佸洖鏉ヨ鍥炬洿鏂扮敤
+
+			// 鎵弿缁翠慨宸ヤ綅杩斿洖鏃舵墽琛屾柟娉�
+			function scaned(r) {
+				radioValue = r
+
+
+				let temp = {}
+				let flag = false
+				topContent.forEach((item, index) => {
+					if (item.docu_code === radioValue) {
+						temp = item
+						topContent.splice(index, 1)
+						flag = true
+					}
+				})
+				if (flag) {
+					topContent.unshift(temp)
+				} else {
+					vant.Notify({
+						type: 'danger',
+						message: '鎵�鎵簩缁寸爜鍥村湪鍒楄〃涓紒'
+					})
+					if (topContent.length > 0) {
+						radioValue = topContent[0].docu_code
+					}
+				}
+
+
+
+				falseArray.push({
+					id: '1'
+				})
+			}
+		</script>
 	</head>
+	<!-- <body onload="loadNodes()"> -->
 	<body>
 		<div id="app">
 
 			<div class="body">
 
-				<van-nav-bar title="璁惧缁翠慨" @click-right="onClickRight" left-arrow @click-left="onClickleft">
-					<template #right>
-						<van-popover style="" placement="bottom-end" :offset="[13,8]" v-model="showPopover" 
-							trigger="click" :actions="actions" @select="onSelect">
-							<template #reference>
-								<van-icon name="bars" size='20' color='#fff' />
-							</template>
-						</van-popover>
-					</template>
-				</van-nav-bar>
+				<van-sticky>
+					<van-nav-bar title="璁惧缁翠慨" @click-right="onClickRight" left-arrow @click-left="onClickleft">
+						<template #right>
+							<van-popover style="" placement="bottom-end" :offset="[13,8]" v-model="showPopover"
+								trigger="click" :actions="actions" @select="onSelect">
+								<template #reference>
+									<van-icon name="bars" size='20' color='#fff' />
+								</template>
+							</van-popover>
+						</template>
+					</van-nav-bar>
+				</van-sticky>
+
+
+				<div v-if="topContent.length===0">
+					<div class="sacnBody">
+						<div class="box">
+							<div class="boxImg"></div>
+						</div>
+						<div class="scanText">鏆傛棤璁惧鍙淮淇�</div>
+					</div>
+				</div>
+
+				<div v-else>
+					<div class="head" style="height: 240px; overflow: scroll;">
+						<div class="head_block">
+							<div class="head_left">
+								<div class="head_bar"></div>
+								<div class="head_title">
+									鎵弿缁翠慨宸ヤ綅
+								</div>
+							</div>
+
+							<div style="margin-right: 10px;">
+								<van-icon name="scan" color='red' size='24' @click='topScanClick()' />
+							</div>
+
+						</div>
+
+						<van-radio-group v-model="radioValue">
+							<van-cell-group>
+								<div style="margin: 10px 0;" v-for="(item,index) in topContent" :key="item.eqpcode"
+									@click="topContentClcik(item.docu_code)">
+									<div class="cellDiv">缁翠慨鐢宠鍗曪細{{item.docu_code}}</div>
+									<div class="cellDiv">宸ヤ綅缂栫爜锛歿{item.eqpcode}}</div>
+									<div class="cellDiv">宸ヤ綅鍚嶇О锛歿{item.eqpname}}</div>
+									<div class="cellDiv">鐢熶骇杞﹂棿锛歿{item.wksp_name}}</div>
+									<van-cell :title="'鐢宠浜哄憳锛�'+item.request_person">
+										<template #right-icon>
+											<van-radio style="margin-right: 10px;" checked-color='red'
+												:name="item.docu_code" />
+										</template>
+									</van-cell>
+									<div class="cellDiv">鐢宠鏃堕棿锛歿{item.request_date}}</div>
+									<div class="cellDiv">鏁呴殰鏉ユ簮锛歿{item.source}}</div>
+									<div class="cellDiv">鏁呴殰鎻忚堪锛歿{item.failure_descript}}</div>
+
+								</div>
+							</van-cell-group>
+						</van-radio-group>
+
+					</div>
+
+					<div style="height: 340px;overflow: scroll;">
+
+						<div class="head" style="margin-bottom: 10px;padding-bottom: 10px;">
+							<div class="head_block" style="margin-bottom:10px;">
+								<div class="head_left">
+									<div class="head_bar"></div>
+									<div class="head_title">
+										鏁呴殰鎻忚堪
+									</div>
+								</div>
+							</div>
+
+
+
+							<div style="display:flex;flex-direction: column;width: 96%;margin: auto;">
+								<van-field class="vanFieldInputArea" v-model="messageDescr" rows="3" autosize
+									type="textarea" placeholder="璇疯緭鍏�" />
+							</div>
+							<div style="width: 96%;margin: auto;margin-top: 10px;">
+								<van-uploader :before-read="beforeRead" :before-delete="beforeDelete" v-model="fileList"
+									:after-read="afterRead" multiple :max-count="3" />
+							</div>
+
+						</div>
+
+						<div class="head" style="margin-bottom: 10px;padding-bottom: 10px;">
+							<div class="head_block">
+								<div class="head_left">
+									<div class="head_bar"></div>
+									<div class="head_title">
+										鍋滄満缁翠慨
+									</div>
+								</div>
+
+								<div style="margin-right: 10px;">
+									<div class="flex_center"
+										style="width: 100%;display: flex;justify-content: space-around;">
+										<van-button class="buttonSmall" size="small" :plain="isStop!=='Y'"
+											style="margin-right: 10px;" @click="isStopClick('Y')" type="primary">
+											鏄�</van-button>
+										<van-button class="buttonSmall" size="small" :plain="isStop!=='N'"
+											@click="isStopClick('N')" type="danger">鍚�</van-button>
+									</div>
+								</div>
+							</div>
+						</div>
+
+						<div class="head" v-if="isStop==='N'" style="margin-bottom: 10px;padding-bottom: 10px;">
+							<div class="head_block" style="margin-bottom:10px;">
+								<div class="head_left">
+									<div class="head_bar"></div>
+									<div class="head_title">
+										缁翠慨鍐呭
+									</div>
+								</div>
+							</div>
+
+							<div style="display:flex;flex-direction: column;width: 96%;margin: auto;">
+								<van-field class="vanFieldInputArea" v-model="messageDescr2" rows="3" autosize
+									type="textarea" :before-delete="beforeDelete2" placeholder="璇疯緭鍏�" />
+							</div>
+						</div>
+
+						<div class="head" v-if="isStop==='N'" style="margin-bottom: 10px;padding-bottom: 10px;">
+							<div class="head_block" style="margin-bottom:10px;">
+								<div class="head_left">
+									<div class="head_bar"></div>
+									<div class="head_title">
+										鏇存崲澶囦欢
+									</div>
+								</div>
+							</div>
+
+
+
+							<div style="display:flex;flex-direction: column;width: 96%;margin: auto;">
+								<van-field class="vanFieldInputArea" v-model="messageDescr3" rows="3" autosize
+									type="textarea" placeholder="璇疯緭鍏�" />
+							</div>
+							<div style="width: 96%;margin: auto;margin-top: 10px;">
+								<van-uploader :before-read="beforeRead2" v-model="fileList2" :after-read="afterRead2"
+									multiple :max-count="3" />
+							</div>
+
+						</div>
+
+						<div class="footer" style="min-height:50px;">
+							<div
+								style="position:fixed;bottom: 0;width: 96%;display: flex;justify-content: center;flex-direction: column;align-items: center">
+
+								<van-button v-show="isStop==='Y'" :disabled="messageDescr.trim().toString().length===0"
+									class="vanButtonInfo" @click="submit" :loading="submitIsDisabled"
+									loading-text='姝e湪鎻愪氦,璇风◢绛�...' type="info">
+									纭鎻愪氦</van-button>
+
+								<van-button v-show="isStop==='N'"
+									:disabled="messageDescr.trim().toString().length===0||messageDescr2.trim().toString().length===0"
+									class="vanButtonInfo" @click="submit" type="info" :loading="submitIsDisabled"
+									loading-text='姝e湪鎻愪氦,璇风◢绛�...'>
+									纭鎻愪氦</van-button>
+
+							</div>
+						</div>
+
+					</div>
+
+
+				</div>
 
 			</div>
-
 
 			<van-overlay :show="overlayShow" @click="overlayShow=false" />
 
@@ -52,6 +306,7 @@
 			el: '#app',
 			data: function() {
 				return {
+					submitIsDisabled: false,
 					overlayShow: false,
 					showPopover: false,
 					actions: [{
@@ -64,60 +319,247 @@
 						icon: 'revoke',
 						text: '閫�鍑虹櫥褰�'
 					}],
-
+					topContent2: topContent,
+					messageDescr: '', //鏁呴殰鎻忚堪  蹇呭~
+					fileList: [ //鏁呴殰鎻忚堪鍥剧墖
+						// {
+						// 	url: 'https://img01.yzcdn.cn/vant/leaf.jpg'
+						// },
+						// Uploader 鏍规嵁鏂囦欢鍚庣紑鏉ュ垽鏂槸鍚︿负鍥剧墖鏂囦欢
+						// 濡傛灉鍥剧墖 URL 涓笉鍖呭惈绫诲瀷淇℃伅锛屽彲浠ユ坊鍔� isImage 鏍囪鏉ュ0鏄�
+						// {
+						// 	url: 'https://img01.yzcdn.cn/vant/leaf.jpg'
+						// },
+					],
+					isStop: 'Y',
+					messageDescr2: '', //缁翠慨鍐呭  褰撶淮淇仠鏈洪�変簡鍚�   姝ゅ瓧娈靛繀濉�
+					messageDescr3: '', //鏇存崲澶囦欢
+					fileList2: [], //鏇存崲澶囦欢鍥剧墖
+					falseArray2: falseArray,
 				}
 			},
-			created() {
+			watch: {
+				'topContent2.length': {
+					handler(newValue, oldValue) {
+						if (newValue !== oldValue) {
+							// this.topContent2 = topContent
+							// this.$forceUpdate()
+							if (topContent[0] && topContent[0].eqpcode) {
+								this.$forceUpdate()
+								this.topContentClcik(topContent[0].eqpcode)
+							}
 
+						}
+					},
+					deep: true,
+					immediate: true,
+				},
+				'falseArray2.length': {
+					handler(newValue, oldValue) {
+						this.$forceUpdate()
+					},
+					deep: true,
+					immediate: true,
+				},
 			},
+			created() {},
 			mounted() {
-			
+				this.getList()
 			},
 			methods: {
-				onClickleft(){
+				getList() {
+					get('AppDeviceManage/RepairScanDeviceQrCodeDataList').then(res => {
+						if (res.code === '200') {
+							topContent = res.data
+							if (topContent.length > 0) {
+								radioValue = topContent[0].docu_code
+							}
+							this.$forceUpdate()
+						}
+					})
+				},
+				submit() {
+					const result = topContent.find(item => item.docu_code === radioValue)
+
+					const formData = new FormData()
+					formData.append("username", localStorage.getItem('username'))
+					formData.append("docu_code", result.docu_code)
+					formData.append("eqpcode", result.eqpcode)
+					formData.append("wkshpcode", result.wksp_code)
+					formData.append("faultdescr", this.messageDescr)
+					formData.append("is_stoprepair", this.isStop)
+					formData.append("repaircontent", this.messageDescr2)
+					formData.append("replaceparts", this.messageDescr3)
+
+					this.fileList.forEach(item => {
+						formData.append('files1', item.file)
+					})
+					this.fileList2.forEach(item => {
+						formData.append('files2', item.file)
+					})
+
+					for (let [a, b] of formData.entries()) {
+						console.log(a, ':', b);
+					}
+
+					this.submitIsDisabled = true
+					post('AppDeviceManage/RepairScanDeviceSave', formData).then(res => {
+						if (res.code === '200') {
+							topContent.forEach((item, index) => {
+								if (item.docu_code === radioValue) {
+									topContent.splice(index, 1)
+								}
+							})
+							this.messageDescr = '' //鏁呴殰鎻忚堪
+							this.messageDescr2 = '' //缁翠慨鍐呭
+							this.messageDescr3 = '' //璺熸崲澶囦欢
+							this.isStop = 'Y'
+							this.fileList = []
+							this.submitIsDisabled = false
+							if (topContent.length > 0) {
+								radioValue = topContent[0].docu_code
+							}
+							this.$forceUpdate()
+						} else {
+							this.submitIsDisabled = false
+						}
+					})
+
+
+				},
+
+				isStopClick(val) {
+					this.isStop = val
+					if (val === 'Y') {
+						this.messageDescr2 = ''
+						this.messageDescr3 = ''
+						this.fileList2 = []
+					}
+					this.$forceUpdate()
+				},
+				beforeDelete() {
+					this.fileList.forEach((item, index) => {
+						if (file.file.lastModified === item.file.lastModified) {
+							this.fileList.splice(index, 1)
+						}
+					})
+				},
+				beforeDelete2() {
+					this.fileList2.forEach((item, index) => {
+						if (file.file.lastModified === item.file.lastModified) {
+							this.fileList2.splice(index, 1)
+						}
+					})
+				},
+				//鏍¢獙鍥剧墖鐨勬牸寮�
+				beforeRead(file) {
+					if (!/(jpg|jpeg|png|JPG|PNG)/i.test(file.type)) {
+						this.$toast("璇蜂笂浼犳纭牸寮忕殑鍥剧墖");
+						return false;
+					}
+					if (file.size > 100 * 1024 * 1024) {
+						this.$toast('鍥剧墖澶у皬涓嶈兘瓒呰繃 100MB');
+						return false;
+					}
+
+					let flag = true
+					this.fileList.forEach(item => {
+						if (file.lastModified === item.file.lastModified) {
+							vant.Notify({
+								type: 'danger',
+								message: '涓婁紶澶辫触锛屾鍥剧墖宸蹭笂浼狅紒'
+							});
+							flag = false
+						}
+					})
+					if (!flag) {
+						return false
+					}
+
+					return true;
+				},
+				beforeRead2(file) {
+					if (!/(jpg|jpeg|png|JPG|PNG)/i.test(file.type)) {
+						this.$toast("璇蜂笂浼犳纭牸寮忕殑鍥剧墖");
+						return false;
+					}
+					if (file.size > 100 * 1024 * 1024) {
+						this.$toast('鍥剧墖澶у皬涓嶈兘瓒呰繃 100MB');
+						return false;
+					}
+
+					let flag = true
+					this.fileList2.forEach(item => {
+						if (file.lastModified === item.file.lastModified) {
+							vant.Notify({
+								type: 'danger',
+								message: '涓婁紶澶辫触锛屾鍥剧墖宸蹭笂浼狅紒'
+							});
+							flag = false
+						}
+					})
+					if (!flag) {
+						return false
+					}
+
+					return true;
+				},
+
+				afterRead(file) {
+
+				},
+				afterRead2(file) {
+
+				},
+				topScanClick() {
+					createWithoutTitle('../../components/barcode_scan.html', {
+						titleNView: {
+							type: 'float',
+							backgroundColor: 'rgba(215,75,40,0.3)',
+							titleText: '鎵竴鎵�',
+							titleColor: '#FFFFFF',
+							autoBackButton: true,
+							buttons: [{
+								fontSrc: '_www/helloh5.ttf',
+								text: '\ue302',
+								fontSize: '18px',
+								onclick: 'javascript:scanPicture()'
+							}]
+						}
+					});
+				},
+				// 杈撳叆妗嗗け鐒﹁Е鍙戜簨浠�
+				vanFieldBlur() {
+					this.$forceUpdate()
+				},
+				topContentClcik(docu_code) {
+					radioValue = docu_code
+					this.$forceUpdate()
+				},
+				onClickleft() {
 					history.back()
 				},
 				onClickRight() {
 					this.overlayShow = true
 				},
 				onSelect(action) {
-					vant.Toast(action.text);
+					if (action.text === '鎿嶄綔鎸囧') {
+						topPopoverClick('鎿嶄綔鎸囧')
+					} else if (action.text === '鎴愬搧杩芥函') {
+						topPopoverClick('鎴愬搧杩芥函')
+					} else if (action.text === '閫�鍑虹櫥褰�') {
+						topPopoverClick('閫�鍑虹櫥褰�')
+					}
 					this.overlayShow = false
 				},
 			}
 		})
 	</script>
 	<style type="text/css">
-		body {
-			background-color: #fff;
-		}
+		@import url('../../css/global.css');
 
-		.body {
-			/* width: 96%; */
-			height: 600px;
-			background-color: grey;
-			margin-top: 0px;
-			/* margin-left: 2%; */
-			background-color: #fff;
-			position: relative;
-			/* 		display: flex;
-			justify-content: center;
-			align-items: flex-start; */
-			
-		}
-
-		.van-nav-bar__content {
-			background-color: #2651d8;
-			/* background-color: #25a4ff; */
-			height: 44px;
-		}
-
-		.van-nav-bar__title {
-			color: #fff;
-			letter-spacing: 2px;
-		}
-		.van-nav-bar__arrow{
-			color: #fff !important;
+		.van-hairline--top-bottom {
+			position: static;
 		}
 	</style>
-</html>
\ No newline at end of file
+</html>

--
Gitblit v1.9.3