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/wxyz.html |  566 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 523 insertions(+), 43 deletions(-)

diff --git a/unpackage/cache/wgt/H5EDA0853/pages/sbgl/wxyz.html b/unpackage/cache/wgt/H5EDA0853/pages/sbgl/wxyz.html
index f207692..ff65c09 100644
--- a/unpackage/cache/wgt/H5EDA0853/pages/sbgl/wxyz.html
+++ b/unpackage/cache/wgt/H5EDA0853/pages/sbgl/wxyz.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,347 @@
 		<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>
 
+		<script type="text/javascript">
+			var topContent = [
+				// {
+				// 	repair_code: 'SB00990001',
+				// 	eqpcode: 'SB001',
+				// 	eqpname: '榻胯疆绠辩粍',
+				// 	wksp_code: "CJ002",
+				// 	wksp_name: '瑁呴厤杞﹂棿',
+				// 	eqpchkmain_code: "djbz002",
+				// 	repair_person: '浣╃綏瑗�',
+				// 	repair_date: '2022-09-20 15:20:30',
+				// 	is_shutdown: 'Y',
+				// 	failure_descript: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓嶇簿宸ヨ溅闂存敞濉戞満涓�鍙峰紑涓�',
+				// 	arrowType: true, //绠ご绫诲埆
+				// 	messageDescr: '123',
+				// 	fileList: [],
+				// },
+				// {
+				// 	repair_code: 'SB00990002',
+				// 	eqpcode: 'SB002',
+				// 	eqpname: '榻胯疆绠辩粍',
+				// 	wksp_code: "CJ002",
+				// 	wksp_name: '瑁呴厤杞﹂棿',
+				// 	eqpchkmain_code: "djbz002",
+				// 	repair_person: '浣╃綏瑗�',
+				// 	repair_date: '2022-09-20 15:20:30',
+				// 	is_shutdown: 'N',
+				// 	failure_descript: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓�',
+				// 	arrowType: true, //绠ご绫诲埆
+				// 	messageDescr: '123',
+				// 	fileList: [],
+				// },
+				// {
+				// 	repair_code: 'SB00990003',
+				// 	eqpcode: 'SB003',
+				// 	eqpname: '榻胯疆绠辩粍',
+				// 	wksp_code: "CJ002",
+				// 	wksp_name: '瑁呴厤杞﹂棿',
+				// 	eqpchkmain_code: "djbz002",
+				// 	repair_person: '浣╃綏瑗�',
+				// 	repair_date: '2022-09-20 15:20:30',
+				// 	is_shutdown: 'Y',
+				// 	failure_descript: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓嶄簡',
+				// 	arrowType: true, //绠ご绫诲埆
+				// 	messageDescr: '123',
+				// 	fileList: [],
+				// },
+				// {
+				// 	repair_code: 'SB00990004',
+				// 	eqpcode: 'SB004',
+				// 	eqpname: '榻胯疆绠辩粍',
+				// 	wksp_code: "CJ002",
+				// 	wksp_name: '瑁呴厤杞﹂棿',
+				// 	eqpchkmain_code: "djbz002",
+				// 	repair_person: '浣╃綏瑗�',
+				// 	repair_date: '2022-09-20 15:20:30',
+				// 	is_shutdown: 'N',
+				// 	failure_descript: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓嶄簡',
+				// 	arrowType: true, //绠ご绫诲埆
+				// 	messageDescr: '123',
+				// 	fileList: [],
+				// },
+			];
+
+
+
+
+			let radioValue = '' //鍗曢�夋閫変腑鐨勯」
+
+			let falseArray = [] //鍋囨暟缁�   鍋氭壂鐮佸洖鏉ヨ鍥炬洿鏂扮敤
+
+			// 鎵弿缁翠慨宸ヤ綅杩斿洖鏃舵墽琛屾柟娉�
+			function scaned(r) {
+				radioValue = r
+
+
+				let temp = {}
+				let flag = false
+				topContent.forEach((item, index) => {
+					if (item.repair_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].repair_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>
+
+					<van-sticky :offset-top="44">
+						<div style="display: flex;
+									background-color: #eff0f1;
+									height: 40px;align-items:center;
+									justify-content: space-between;width: 98%;margin: auto;">
+
+							<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-sticky>
+
+					<van-radio-group v-model="radioValue">
+						<van-cell-group>
+							<div class="head" style="width: 96%;float: left;margin-right: 0;"
+								v-for="(item,index) in topContent"
+								@click="topContentClcik(item.repair_code,item.eqpcode,item.wksp_code)"
+								:key="item.repair_code">
+								<div class="cellDiv">璁惧缁翠慨鍗曪細{{item.repair_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.repair_person">
+									<template #right-icon>
+										<van-radio style="margin-right: 10px;" checked-color='red'
+											:name="item.repair_code" />
+									</template>
+								</van-cell>
+								<div class="cellDiv">缁翠慨鏃堕棿锛歿{item.repair_date}}</div>
+								<div class="cellDiv">鍋滄満缁翠慨锛歿{item.is_shutdown==='Y'?'鏄�':'鍚�'}}</div>
+								<div class="cellDiv">鏁呴殰鎻忚堪锛歿{item.failure_descript}}</div>
+
+								<div v-show="item.arrowType" style="height: 30px;margin: auto;margin-top: 10px;"
+									:style="{marginBottom:(topContent.length-1===index)?'70px':'0px'}">
+									<div style="border-radius: 5px;width: 60px;height: 30px;background-color: aliceblue;"
+										@click="arrowTypeChangeDown(item.repair_code,item.eqpcode,item.wksp_code)"
+										class="flex_center_center">
+										<van-icon :name="item.arrowType?'arrow-down':'arrow-up'" />
+									</div>
+								</div>
+
+								<!-- <div v-if="topContent.length-1===index" style="z-index: 100;height: 10px;background-color: red;margin-top: -10px;"></div> -->
+
+								<div v-show="!item.arrowType" class="flex_column">
+									<div class="flex_center_center"
+										style="margin-top: 10px;background-color: #eff0f1;height: 40px;font-size: 20px;">
+										缁翠慨璇︽儏</div>
+
+
+									<div class="head" style="padding-bottom: 0;">
+										<div class="head_block">
+											<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;padding: 10px;">
+											{{messageDescr}}
+										</div>
+										<div v-show="fileList.length!==0" style="width: 96%;margin: auto;">
+											<van-uploader  multiple :deletable='false' v-model="fileList" multiple :max-count="fileList.length" />
+										</div>
+
+									</div>
+
+
+									<div style="background-color: #eff0f1;height: 10px;"></div>
+
+									<div class="head" style="padding-bottom: 5px;margin-top: 0;">
+										<div class="head_block" style="">
+											<div class="head_left">
+												<div class="head_bar"></div>
+												<div class="head_title">
+													鍋滄満缁翠慨
+												</div>
+											</div>
+
+											<van-button class="buttonSmall" size="small" type="primary">
+												{{isStop==='Y'?'鏄�':'鍚�'}}
+											</van-button>
+
+										</div>
+
+									</div>
+
+									<div style="background-color: #eff0f1;height: 10px;"></div>
+
+									<div class="head" style="padding-bottom: 0;" v-show="messageDescr2!==''">
+										<div class="head_block">
+											<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;padding: 10px;">
+											{{messageDescr2}}
+										</div>
+
+									</div>
+
+									<div style="background-color: #eff0f1;height: 10px;"></div>
+
+
+									<div class="head" style="padding-bottom: 0;" v-show="messageDescr3!==''">
+										<div class="head_block">
+											<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;padding: 10px;">
+											{{messageDescr3}}
+										</div>
+										<div v-show="fileList2.length!==0" style="width: 96%;margin: auto;">
+											<van-uploader :deletable='false' multiple v-model="fileList2" multiple :max-count="fileList2.length" />
+										</div>
+
+									</div>
+
+									<div style="background-color: #eff0f1;height: 10px;"></div>
+
+									<div class="head" style="padding-bottom: 5px;margin-top: 0;">
+										<div class="head_block" style="">
+											<div class="head_left">
+												<div class="head_bar"></div>
+												<div class="head_title">
+													楠岃瘉缁撴灉
+												</div>
+											</div>
+
+											<div class="flex_center"
+												style="width: 30%;display: flex;justify-content: space-around;">
+												<van-button class="buttonSmall" size="small"
+													:plain="item.resultValue!=='OK'"
+													@click="resultValueClick(item.repair_code,'OK')" type="primary">
+													姝e父</van-button>
+												<van-button class="buttonSmall" size="small"
+													:plain="item.resultValue!=='NG'"
+													@click="resultValueClick(item.repair_code,'NG')" type="danger">
+													寮傚父
+												</van-button>
+											</div>
+
+										</div>
+
+									</div>
+
+
+									<div v-show="!item.arrowType" style="height: 30px;margin: auto;margin-top: 10px;"
+										:style="{marginBottom:(topContent.length-1===index)?'70px':'0px'}">
+										<div style="border-radius: 5px;width: 60px;height: 30px;background-color: aliceblue;"
+											@click="arrowTypeChangeUp(item.repair_code)" class="flex_center_center">
+											<van-icon :name="item.arrowType?'arrow-down':'arrow-up'" />
+										</div>
+									</div>
+
+
+								</div>
+
+							</div>
+						</van-cell-group>
+					</van-radio-group>
+
+
+					<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 :loading="submitIsDisabled"
+								:disabled="topContent.find(item=>item.repair_code===radioValue).resultValue===''"
+								loading-text='姝e湪鎻愪氦,璇风◢绛�...' class="vanButtonInfo" @click="submit" type="info">
+								纭鎻愪氦</van-button>
+
+						</div>
+					</div>
+
+				</div>
 
 			</div>
-
 
 			<van-overlay :show="overlayShow" @click="overlayShow=false" />
 
@@ -52,6 +369,7 @@
 			el: '#app',
 			data: function() {
 				return {
+					submitIsDisabled: false,
 					overlayShow: false,
 					showPopover: false,
 					actions: [{
@@ -65,52 +383,214 @@
 						text: '閫�鍑虹櫥褰�'
 					}],
 
+					topContent2: topContent,
+					messageDescr: '', //鏁呴殰鎻忚堪
+					fileList: [],
+					fileList2: [],
+					isStop: 'Y',
+					messageDescr2: '', //缁翠慨鍐呭
+					messageDescr3: '', //鏇存崲澶囦欢
+					falseArray2: falseArray,
+					baseUrl: 'http://121.196.36.24:8001', //ip鍩虹鍦板潃
 				}
 			},
-			created() {
+			watch: {
+				'topContent2.length': {
+					handler(newValue, oldValue) {
+						if (newValue !== oldValue) {
+							if (topContent[0] && topContent[0].repair_code) {
+								this.$forceUpdate()
+								this.topContentClcik(topContent[0].repair_code, topContent[0].eqpcode, topContent[0]
+									.wksp_code)
+							}
 
+						}
+					},
+					deep: true,
+					immediate: true,
+				},
+				'falseArray2.length': {
+					handler(newValue, oldValue) {
+						this.$forceUpdate()
+					},
+					deep: true,
+					immediate: true,
+				},
 			},
+			created() {},
 			mounted() {
-			
+				this.getList()
 			},
 			methods: {
-				onClickleft(){
+				getList() {
+					get('AppDeviceManage/RepairVerificationScanDeviceData').then(res => {
+						if (res.code === '200') {
+							topContent = res.data
+							radioValue = topContent[0].repair_code
+
+							topContent.forEach(item => {
+								item.arrowType = true
+								item.resultValue = ''
+							})
+							this.getDetail(topContent[0].repair_code, topContent[0].eqpcode, topContent[0]
+								.wksp_code)
+							this.$forceUpdate()
+						}
+					})
+				},
+				getDetail(repair_code, eqpcode, wkshpcode) {
+					const data = {
+						repair_code,
+						eqpcode,
+						wkshpcode
+					}
+
+					get('AppDeviceManage/RepairVerificationScanDeviceDataSub' + formatParams(data)).then(res => {
+						if (res.code === '200') {
+							console.log(res.data)
+							this.messageDescr = res.data.failure_descript
+
+							this.fileList = res.data.failure_descriptimg ? res.data.failure_descriptimg
+								.filter(item => item.img1url !== '') : []
+
+							this.fileList.forEach(item => {
+								item.url = this.baseUrl + item.img1url
+							})
+
+							this.isStop = res.data.repair_content ? 'N' : 'Y'
+
+							this.messageDescr2 = res.data.repair_content ? res.data.repair_content : ''
+							this.messageDescr3 = res.data.repair_part ? res.data.repair_part : ''
+
+							this.fileList2 = res.data.repair_partimage ? res.data.repair_partimage.filter(
+								item => item.img2url !== '') : []
+							this.fileList2.forEach(item => {
+								item.url = this.baseUrl + item.img2url
+							})
+							this.$forceUpdate()
+						}
+					})
+				},
+				arrowTypeChangeUp(repair_code) {
+					topContent.forEach(item => {
+						item.arrowType = true
+						// if (item.repair_code === repair_code) {
+						// 	// item.resultValue=
+						// 	item.arrowType = true
+						// }
+					})
+					this.$forceUpdate()
+				},
+
+				arrowTypeChangeDown(repair_code, eqpcode, wksp_code) {
+					radioValue = repair_code
+					topContent.forEach(item => {
+						item.arrowType = true
+						if (item.repair_code === repair_code) {
+							item.arrowType = false
+							item.resultValue = item.resultValue?item.resultValue:''
+							this.messageDescr = ''
+							this.messageDescr2 = ''
+							this.messageDescr3 = ''
+							this.fileList = []
+							this.fileList2 = []
+							this.getDetail(item.repair_code, item.eqpcode, item.wksp_code)
+						}
+					})
+					this.$forceUpdate()
+				},
+				submit() {
+					const result = topContent.find(item => item.repair_code === radioValue)
+
+					const formData = new FormData()
+					formData.append("username", localStorage.getItem('username'))
+					formData.append("eqpcode", result.eqpcode)
+					formData.append("wkshpcode", result.wksp_code)
+					formData.append("repairwo", result.repair_code)
+					formData.append("result", result.resultValue)
+
+					for (let [a, b] of formData.entries()) {
+						console.log(a, ', ', b);
+					}
+
+					post('AppDeviceManage/RepairVerificationScanDeviceSave', formData).then(res => {
+						if (res.code === '200') {
+							topContent.forEach((item, index) => {
+								if (item.repair_code === radioValue) {
+									topContent.splice(index, 1)
+								}
+							})
+							if (topContent.length > 0) {
+								radioValue = topContent[0].repair_code
+								this.getDetail(topContent[0].repair_code, topContent[0].eqpcode, topContent[0]
+									.wksp_code)
+							}
+							// this.resultValue=''
+							this.$forceUpdate()
+						}
+					})
+				},
+				resultValueClick(repair_code, val) {
+					topContent.forEach(item => {
+						if (item.repair_code === repair_code) {
+							item.resultValue = val
+						}
+					})
+					this.$forceUpdate()
+				},
+				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(repair_code, eqpcode, wksp_code) {
+					radioValue = repair_code
+					// this.resultValue = ''
+					topContent.forEach(item => {
+						if (item.repair_code !== repair_code) {
+							item.resultValue=''
+					// 		this.getDetail(item.repair_code, item.eqpcode, item.wksp_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;
-		}
-
-		.body {
-			height: 600px;
-			background-color: grey;
-			margin-top: 0px;
-			background-color: #fff;
-			position: relative;		
-		}
-
-		.van-nav-bar__content {
-			background-color: #2651d8;
-			height: 44px;
-		}
-
-		.van-nav-bar__title {
-			color: #fff;
-			letter-spacing: 2px;
-		}
-		.van-nav-bar__arrow{
-			color: #fff !important;
-		}
+		@import url('../../css/global.css');
 	</style>
-</html>
\ No newline at end of file
+</html>

--
Gitblit v1.9.3