From 40711118c33369ccad7ceda0fdd729bd9f117f65 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期六, 22 十月 2022 14:03:11 +0800
Subject: [PATCH] 1.安灯响应静态实现

---
 pages/adgl/adxy.html |  346 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 332 insertions(+), 14 deletions(-)

diff --git a/pages/adgl/adxy.html b/pages/adgl/adxy.html
index c8f900d..3deb81d 100644
--- a/pages/adgl/adxy.html
+++ b/pages/adgl/adxy.html
@@ -17,30 +17,253 @@
 		<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>
+		<script type="text/javascript" src="../../js/global.js"></script>
 
-		<link rel="stylesheet" href="../css/global.css" type="text/css" charset="utf-8" />
+
+		<!-- <script src="http://121.196.36.24:8001/Scripts/jquery-3.4.1.min.js"></script> -->
+		<!-- <script src="http://121.196.36.24:8001/Scripts/jquery.signalR-2.2.2.min.js"></script> -->
+		<!-- <script src="http://121.196.36.24:8001/SignalR/Hubs"></script> -->
+
+		<script src="../../js/jquery-3.4.1.min.js"></script>
+		<script src="../../js/jquery.signalR-2.2.2.min.js"></script>
+		<script src="../../js/Hubs.js"></script>
+
+
+		<script type="text/javascript">
+			let topContent = [
+				// {
+				// 	code: 'SB001',
+				// 	name: '鐢垫睜缁勪竴绾�',
+				// 	wksp_code: "CJ002",
+				// 	wksp_name: '鐢垫睜杞﹂棿',
+				// 	"eqpchkmain_code": "djbz002"
+				// },
+				// {
+				// 	code: 'SB003',
+				// 	name: '榻胯疆绠辩粍涓�绾�',
+				// 	wksp_code: "CJ001",
+				// 	"wksp_name": "瑁呴厤杞﹂棿",
+				// 	"eqpchkmain_code": "djbz002"
+				// },
+				// {
+				// 	code: 'SB004',
+				// 	name: '榻胯疆绠辩粍涓�绾�',
+				// 	wksp_code: "CJ001",
+				// 	"wksp_name": "瑁呴厤杞﹂棿",
+				// 	"eqpchkmain_code": "djbz002"
+				// },
+				// {
+				// 	code: 'SB005',
+				// 	name: '榻胯疆绠辩粍涓�绾�',
+				// 	wksp_code: "CJ001",
+				// 	"wksp_name": "瑁呴厤杞﹂棿",
+				// 	"eqpchkmain_code": "djbz002"
+				// },
+			];
+
+			var submitIsDisabled = false; //鎻愪氦鎸夐挳鏄惁disabled
+
+			let radioValue = '' //鍗曢�夋閫変腑鐨勯」
+
+			let centerContent = [] //涓棿閮ㄥ垎鍐呭
+
+			let falseArray = [] // 鍋囨暟缁�   鍋氭壂鐮佸洖鏉ヨ鍥炬洿鏂扮敤
+
+
+
+
+			// 鎵弿宸ヤ綅杩斿洖鏃舵墽琛屾柟娉�
+			function scaned(r) {
+
+				radioValue = r
+
+				var temp = {}
+				var flag = 0
+
+				if (topContent.find(i => i.eqp_code === r)) {
+					topContent.forEach((item, index) => {
+						if (item.eqp_code === r) {
+							temp = item
+							topContent.splice(index, 1)
+							flag = 1
+						}
+					})
+				}
+
+				if (flag === 1) { //瀵瑰凡鍦ㄥ垪琛ㄧ殑鏁版嵁   鎺掑簭鍒扮涓�涓幓
+					topContent.unshift(temp)
+					falseArray.push({
+						id: '1'
+					})
+				} else { //鏈湪鍒楄〃鐨勬暟鎹�  杩涜鏂板鎿嶄綔
+					topSpanClick(r)
+					falseArray.push({
+						id: '1'
+					})
+				}
+
+			}
+
+
+			function topSpanClick(code) {
+				post('AppDeviceManage/AppDeviceAnDengLampResponseScanSearch?eqpcode=' + code).then(res => {
+					if (res.code === '200') {
+						let children = []
+						res.data.forEach(i => {
+							children.push({
+								typecode: i.typecode,
+								typename: i.typename,
+								isTrue: false
+							})
+						})
+
+
+						topContent.unshift({
+							eqp_code: res.data[0].eqp_code,
+							eqp_name: res.data[0].eqp_name,
+							org_name: res.data[0].org_name,
+							children
+						})
+
+						// centerContent = res.data.map(r => {
+						// 	return {
+						// 		typecode: r.typecode,
+						// 		typename: r.typename
+						// 	}
+						// })
+
+						console.log(JSON.stringify(topContent), 1)
+
+						falseArray.push({
+							id: '1'
+						})
+					} else {
+						radioValue = topContent[0].eqp_code
+						falseArray.push({
+							id: '1'
+						})
+					}
+
+				})
+			}
+		</script>
 
 	</head>
-	<body>
+	<body onload="scaned('SB001')">
+		<!-- <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="scanImg" @click="topScanClick()"></div>
+						<div class="scanText">鎵弿宸ヤ綅</div>
+					</div>
+				</div>
+
+
+
+				<div v-else>
+					<div class="head" style="min-height: 100px;max-height: 260px; 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.eqp_code"
+									@click="topContentClick(item.eqp_code)">
+									<div class="cellDiv">宸ヤ綅缂栫爜锛歿{item.eqp_code}}</div>
+									<van-cell :title="'宸ヤ綅鍚嶇О锛�'+item.eqp_name">
+										<template #right-icon>
+											<van-radio style="margin-right: 10px;" checked-color='red'
+												:name="item.eqp_code" />
+										</template>
+									</van-cell>
+									<div class="cellDiv">鐢熶骇杞﹂棿锛歿{item.org_name}}</div>
+
+								</div>
+							</van-cell-group>
+						</van-radio-group>
+					</div>
+
+
+					<div class="head" style="min-height: 100px; ">
+						<div class="head_block">
+							<div class="head_left">
+								<div class="head_bar"></div>
+								<div class="head_title">
+									閫夋嫨鍝嶅簲绫诲瀷
+								</div>
+							</div>
+
+
+
+						</div>
+
+
+
+						<div style="padding: 10px;display: flex;flex-direction: column"
+							v-for="(item,index) in topContent[topContent.map(i => i.eqp_code).indexOf(radioValue)].children">
+							<!-- v-for="(item,index) in centerContent"> -->
+
+							<div style="display: flex;justify-content: space-between;align-items: center;">
+								<div style="margin-left: 10px;">{{item.typename}}</div>
+								<div style="margin-right: 10px;">
+									<van-switch size="24" v-model="item.isTrue" @change='val=>switchChange(val,item)'
+										active-color="#ee0a24" inactive-color="#dcdee0" />
+								</div>
+							</div>
+						</div>
+
+					</div>
+
+
+					<div
+						style="position:fixed;bottom: 0;width: 96%;margin-left:2%; flex;justify-content: center;flex-direction: column;align-items: center">
+						<van-button id="submit" :loading='submitIsDisabled' loading-text="姝e湪鎻愪氦,璇风◢绛�..."
+							class="vanButtonInfo" @click='submit' type="info">
+							纭鎻愪氦</van-button>
+					</div>
+
+				</div>
+
+
 
 			</div>
 
 
-			<van-overlay :show="overlayShow" @click="overlayShow=false" />
+
+		</div>
+
+
+		<van-overlay :show="overlayShow" @click="overlayShow=false" />
 
 
 		</div>
@@ -50,6 +273,7 @@
 			el: '#app',
 			data: function() {
 				return {
+
 					overlayShow: false,
 					showPopover: false,
 					actions: [{
@@ -62,8 +286,28 @@
 						icon: 'revoke',
 						text: '閫�鍑虹櫥褰�'
 					}],
-
+					centerContent2: centerContent,
+					topContent2: topContent,
+					falseArray2: falseArray, //鍋囨暟缁�
 				}
+			},
+			watch: {
+				'topContent2.length': {
+					handler(newValue, oldValue) {
+						if (newValue !== oldValue) {
+							this.$forceUpdate()
+						}
+					},
+					deep: true,
+					immediate: true,
+				},
+				'falseArray2.length': {
+					handler(newValue, oldValue) {
+						this.$forceUpdate()
+					},
+					deep: true,
+					immediate: true,
+				},
 			},
 			created() {
 
@@ -72,6 +316,76 @@
 
 			},
 			methods: {
+				switchChange(val, item) {
+					this.$forceUpdate()
+				},
+				submit() {
+					const data = {
+						username: localStorage.getItem('username'),
+						eqpcode: topContent.find(i => i.eqp_code === radioValue).eqp_code,
+						// wkshpcode: topContent.find(i => i.code === radioValue).wksp_code
+					}
+
+
+					const DATA = topContent.find(i => i.eqp_code === radioValue).children.map(r => {
+						if (r.isTrue) {
+							return {
+								code: r.typecode,
+								name: r.typename
+							}
+						}
+					})
+					console.log(data, DATA)
+					console.log(data, DATA.filter(i=>i!==undefined))
+
+					submitIsDisabled = true
+					this.$forceUpdate()
+					post('AppDeviceManage/AppDeviceAnDengLampResponseSave' + formatParams(data), DATA.filter(i=>i!==undefined)).then(
+						res => {
+							if (res.code === '200') {
+								vant.Notify({
+									type: 'primary',
+									message: '鎻愪氦鎴愬姛锛�'
+								})
+								topContent.forEach((r, i) => {
+									if (r.eqp_code === radioValue) {
+										topContent.splice(i, 1)
+									}
+								})
+								if (topContent.length >= 1) {
+									radioValue = topContent[0].eqp_code
+								}
+								submitIsDisabled = false
+								this.$forceUpdate()
+							}
+						})
+						
+				},
+				topContentClick(code) {
+					radioValue = code
+					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()'
+							}]
+						}
+					});
+				},
+
+
 				onClickleft() {
 					history.back()
 				},
@@ -93,5 +407,9 @@
 	</script>
 	<style type="text/css">
 		@import url('../../css/global.css');
+
+		.van-hairline--top-bottom {
+			position: static;
+		}
 	</style>
 </html>

--
Gitblit v1.9.3