From 7305bf92ab9951c1f42cb8e863ae1fb0d5d05d01 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 19 十月 2022 17:56:25 +0800
Subject: [PATCH] 1.安灯呼叫接入消息推送

---
 pages/adgl/adhj.html |  542 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 530 insertions(+), 12 deletions(-)

diff --git a/pages/adgl/adhj.html b/pages/adgl/adhj.html
index c0fdffe..07f5ad0 100644
--- a/pages/adgl/adhj.html
+++ b/pages/adgl/adhj.html
@@ -17,8 +17,323 @@
 		<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 type="text/javascript">
+			var pushServer = "http://demo.dcloud.net.cn/push/?";
+			var message = null;
+			var message2 = null;
+
+			// 鐩戝惉plusready浜嬩欢  
+			document.addEventListener("plusready", function() {
+				message = document.getElementById("message");
+				// 鐩戝惉鐐瑰嚮娑堟伅浜嬩欢
+				plus.push.addEventListener("click", function(msg) {
+					// 鍒ゆ柇鏄粠鏈湴鍒涘缓杩樻槸绂荤嚎鎺ㄩ�佺殑娑堟伅
+					switch (msg.payload) {
+						case "LocalMSG":
+							outSet("鐐瑰嚮鏈湴鍒涘缓娑堟伅鍚姩锛�");
+							break;
+						default:
+							outSet("鐐瑰嚮绂荤嚎鎺ㄩ�佹秷鎭惎鍔細");
+							break;
+					}
+					// 鎻愮ず鐐瑰嚮鐨勫唴瀹�
+					plus.nativeUI.alert(msg.content);
+					// 澶勭悊鍏跺畠鏁版嵁
+					logoutPushMsg(msg);
+				}, false);
+				// 鐩戝惉鍦ㄧ嚎娑堟伅浜嬩欢
+				plus.push.addEventListener("receive", function(msg) {
+					if (msg.aps) { // Apple APNS message
+						outSet("鎺ユ敹鍒板湪绾緼PNS娑堟伅锛�");
+					} else {
+						outSet("鎺ユ敹鍒板湪绾块�忎紶娑堟伅锛�");
+					}
+					logoutPushMsg(msg);
+				}, false);
+			}, false);
+
+			/**
+			 * 鏃ュ織杈撳叆鎺ㄩ�佹秷鎭唴瀹�
+			 */
+			function logoutPushMsg(msg) {
+				outLine("title: " + msg.title);
+				outLine("content: " + msg.content);
+				if (msg.payload) {
+					if (typeof(msg.payload) == "string") {
+						outLine("payload(String): " + msg.payload);
+					} else {
+						outLine("payload(JSON): " + JSON.stringify(msg.payload));
+					}
+				} else {
+					outLine("payload: undefined");
+				}
+				if (msg.aps) {
+					outLine("aps: " + JSON.stringify(msg.aps));
+				}
+			}
+
+			/**
+			 * 鑾峰彇鏈湴鎺ㄩ�佹爣璇嗕俊鎭�
+			 */
+			function getPushInfo() {
+				outSet("鑾峰彇瀹㈡埛绔帹閫佹爣璇嗕俊鎭細");
+				plus.push.getClientInfoAsync(function(info) {
+					outLine('Success');
+					outLine(JSON.stringify(info));
+				}, function(e) {
+					outLine('Failed');
+					outLine(JSON.stringify(e));
+				});
+			}
+			/**
+			 * 鏈湴鍒涘缓涓�鏉℃帹鍔ㄦ秷鎭�
+			 */
+			function createLocalPushMsg(msg) {
+				var cont = $('#cont').val();
+				var options = {
+					cover: false
+				};
+				plus.push.createMessage(msg, "LocalMSG", options);
+				outSet("鍒涘缓鏈湴娑堟伅鎴愬姛锛�");
+				outLine("璇峰埌绯荤粺娑堟伅涓績鏌ョ湅锛�");
+				if (plus.os.name == "iOS") {
+					outLine('*濡傛灉鏃犳硶鍒涘缓娑堟伅锛岃鍒�"璁剧疆"->"閫氱煡"涓厤缃簲鐢ㄥ湪閫氱煡涓績鏄剧ず!');
+				}
+			}
+			/**
+			 * 璇诲彇鎵�鏈夋帹閫佹秷鎭�
+			 */
+			function listAllPush() {
+				var msgs = null;
+				switch (plus.os.name) {
+					case "Android":
+						msgs = plus.push.getAllMessage();
+						break;
+					default:
+						break;
+				}
+				if (!msgs) {
+					outSet("姝ゅ钩鍙颁笉鏀寔鏋氫妇鎺ㄩ�佹秷鎭垪琛紒");
+					return;
+				}
+				outSet("鏋氫妇娑堟伅鍒楄〃锛�" + msgs.length + "锛夛細");
+				for (var i in msgs) {
+					var msg = msgs[i];
+					outLine(i + ": " + msg.title + " - " + msg.content);
+				}
+			}
+			/**
+			 * 娓呯┖鎵�鏈夋帹鍔ㄦ秷鎭�
+			 */
+			function clearAllPush() {
+				plus.push.clear();
+				outSet("娓呯┖鎵�鏈夋帹閫佹秷鎭垚鍔燂紒");
+			}
+
+			$(function() {
+				//鍓嶇Hub鐨勪娇鐢紝娉ㄦ剰鐨勬槸锛孒ub鐨勫悕瀛楁槸ChatHub锛岃繖閲屼娇鐢ㄦ椂棣栧瓧姣嶅皬鍐�
+				var work = $.connection.chatHub;
+
+				//瀵瑰簲鍚庣鐨凷endMessage鍑芥暟锛屾秷鎭帴鏀跺嚱鏁�
+				work.client.sendMessage = function(msg) {
+					console.log(msg)
+					// createLocalPushMsg(msg)
+				};
+
+				//鍚庣SendLogin璋冪敤鍚庯紝浜х敓鐨刲oginUser鍥炶皟
+				work.client.loginUser = function(userlist) {
+					console.log(userlist, 9)
+					// reloadUser(userlist);
+				};
+
+				$.connection.hub.url = 'http://121.196.36.24:8001/signalr'
+				//hub杩炴帴寮�鍚�
+				$.connection.hub.start().done(function() {
+
+					var username = localStorage.getItem('username');
+
+					//鍙戦�佷笂绾夸俊鎭�
+					work.server.sendLogin(username);
+
+
+
+					// const data = [{
+					// 	"code": "Q",
+					// 	"name": "鍛煎彨璐ㄩ噺",
+					// 	"children": [{
+					// 		"usercode": "999",
+					// 		"username": "妤煎厛鐢�"
+					// 	}]
+					// }]
+
+					// work.server.sendByGroupList('妤煎厛鐢�', 'CJ002', 'SB001', data)
+
+					$('#submit').click(function() {
+
+						// const data = [{
+						// 	"code": "Q",
+						// 	"name": "鍛煎彨璐ㄩ噺",
+						// 	"children": [{
+						// 		"usercode": "999",
+						// 		"username": "妤煎厛鐢�"
+						// 	}]
+						// }]
+
+
+
+
+						// console.log(1)
+						const data = {
+							username: localStorage.getItem('username'),
+							eqpcode: topContent.find(i => i.code === radioValue).code,
+							wkshpcode: topContent.find(i => i.code === radioValue).wksp_code
+						}
+						const DATA = []
+						centerContent.forEach(i => {
+							if (i.isTrue) {
+								i.flag = i.isTrue ? 'Y' : 'N'
+								DATA.push(i)
+							}
+						})
+
+						// console.log(data, DATA)
+
+						work.server.sendByGroupList(localStorage.getItem('username'), topContent.find(i => i.code === radioValue).wksp_code,  topContent.find(i => i.code === radioValue).code, DATA)
+
+						post('AppDeviceManage/AppDeviceAnDengCallSave' + formatParams(data), DATA).then(res => {
+							if (res.code === '200') {
+								vant.Notify.primary('鎻愪氦鎴愬姛锛�')
+								topContent.forEach((r, i) => {
+									if (r.code === radioValue) {
+										topContent.splice(i, 1)
+									}
+								})
+								if (topContent.length >= 1) {
+									radioValue = topContent[0].code
+									this.topContentClcik(radioValue)
+								}
+
+								this.submitIsDisabled = false
+								this.$forceUpdate()
+							}
+						})
+					})
+				});
+			});
+
+			//閲嶆柊鍔犺浇鐢ㄦ埛鍒楄〃
+			// var reloadUser = function() {
+			// 	$("#username").empty();
+			// 	for (i = 0; i < 5; i++) {
+			// 		$("#username").append("<option value=" + i + ">" + i + "</option>");
+			// 	}
+			// }
+		</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"
+				// },
+			];
+
+			let radioValue = 'SB001' //鍗曢�夋閫変腑鐨勯」
+
+			let centerContent = [] //涓棿閮ㄥ垎鍐呭
+
+			let falseArray = [] // 鍋囨暟缁�   鍋氭壂鐮佸洖鏉ヨ鍥炬洿鏂扮敤
+
+			// 鎵弿淇濆吇宸ヤ綅杩斿洖鏃舵墽琛屾柟娉�
+			function scaned(r) {
+				radioValue = r
+
+				let temp = {}
+				let flag = false
+
+				if (topContent.find(i => i.code === radioValue)) {
+					topContent.forEach((item, index) => {
+						if (item.code === radioValue) {
+							temp = item
+							topContent.splice(index, 1)
+							flag = true
+						}
+					})
+				}
+
+				if (flag) { //瀵瑰凡鍦ㄥ垪琛ㄧ殑鏁版嵁   鎺掑簭鍒扮涓�涓幓
+					topContent.unshift(temp)
+					topScanClick(radioValue)
+					centerContentClick(radioValue, topContent.find(i => i.code === radioValue).wksp_code)
+				} else { //鏈湪鍒楄〃鐨勬暟鎹�  杩涜鏂板鎿嶄綔
+					topScanClick(radioValue)
+					centerContentClick(radioValue, topContent.find(i => i.code === radioValue).wksp_code)
+				}
+
+				falseArray.push({
+					id: '1'
+				})
+			}
+
+
+			function topScanClick(code) {
+				post('AppDeviceManage/AppDeviceAnDengCallScanSearch?eqpcode=' + code).then(res => {
+					if (res.code === '200') {
+						topContent.unshift(res.data[0])
+						falseArray.push({
+							id: '1'
+						})
+					}
+
+				})
+			}
+
+			function centerContentClick(code, wksp_code) {
+				const data = {
+					eqpcode: code,
+					wkshpcode: wksp_code
+				}
+				post('AppDeviceManage/AppDeviceAnDengCallItemSearch' + formatParams(data)).then(res => {
+					if (res.code === '200') {
+						centerContent = res.data
+						falseArray.push({
+							id: '1'
+						})
+					}
+				})
+			}
+		</script>
 
 	</head>
 	<body>
@@ -26,21 +341,111 @@
 
 			<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.eqpcode"
+									@click="topContentClcik(item.code,item.wksp_code)">
+									<div class="cellDiv">宸ヤ綅缂栫爜锛歿{item.code}}</div>
+									<van-cell :title="'宸ヤ綅鍚嶇О锛�'+item.name">
+										<template #right-icon>
+											<van-radio style="margin-right: 10px;" checked-color='red'
+												:name="item.code" />
+										</template>
+									</van-cell>
+									<div class="cellDiv">鐢熶骇杞﹂棿锛歿{item.wksp_name}}</div>
+
+								</div>
+							</van-cell-group>
+						</van-radio-group>
+					</div>
+
+
+					<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>
+
+						<div style="padding: 10px;display: flex;flex-direction: column"
+							v-for="(item,index) in centerContent">
+							<div style="display: flex;justify-content: space-between;align-items: center;">
+								<div style="margin-left: 10px;">{{item.name}}</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' :load='submitIsDisabled' load-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 +455,7 @@
 			el: '#app',
 			data: function() {
 				return {
+					submitIsDisabled: false,
 					overlayShow: false,
 					showPopover: false,
 					actions: [{
@@ -63,15 +469,123 @@
 						text: '閫�鍑虹櫥褰�'
 					}],
 
+					falseArray2: falseArray, //鍋囨暟缁�
+
 				}
+			},
+			watch: {
+				'falseArray2.length': {
+					handler(newValue, oldValue) {
+						this.$forceUpdate()
+					},
+					deep: true,
+					immediate: true,
+				},
 			},
 			created() {
 
 			},
 			mounted() {
+				const data = {
+					eqpcode: 'SB001',
+					wkshpcode: 'CJ002'
+				}
+				post('AppDeviceManage/AppDeviceAnDengCallItemSearch' + formatParams(data)).then(res => {
+					if (res.code === '200') {
+						centerContent = res.data
 
+						centerContent.forEach(i => {
+							i.isTrue = i.flag === 'Y'
+						})
+						falseArray.push({
+							id: '1'
+						})
+
+
+					}
+				})
 			},
 			methods: {
+				submit() {
+					// const data = {
+					// 	username: localStorage.getItem('username'),
+					// 	eqpcode: topContent.find(i => i.code === radioValue).code,
+					// 	wkshpcode: topContent.find(i => i.code === radioValue).wksp_code
+					// }
+					// const DATA = []
+					// centerContent.forEach(i => {
+					// 	if (i.isTrue) {
+					// 		i.flag = i.isTrue ? 'Y' : 'N'
+					// 		DATA.push(i)
+					// 	}
+					// })
+
+					// console.log(data, DATA)
+
+					// post('AppDeviceManage/AppDeviceAnDengCallSave' + formatParams(data), DATA).then(res => {
+					// 	if (res.code === '200') {
+					// 		vant.Notify.primary('鎻愪氦鎴愬姛锛�')
+					// 		topContent.forEach((r, i) => {
+					// 			if (r.code === radioValue) {
+					// 				topContent.splice(i, 1)
+					// 			}
+					// 		})
+					// 		if (topContent.length >= 1) {
+					// 			radioValue = topContent[0].code
+					// 			this.topContentClcik(radioValue)
+					// 		}
+
+					// 		this.submitIsDisabled = false
+					// 		this.$forceUpdate()
+					// 	}
+					// })
+
+				},
+				switchChange(val, item) {
+					console.log(val, item)
+					this.$forceUpdate()
+
+				},
+
+				topContentClcik(code, wksp_code) {
+					radioValue = code
+					this.$forceUpdate()
+
+					const data = {
+						eqpcode: code,
+						wkshpcode: wksp_code
+					}
+					post('AppDeviceManage/AppDeviceAnDengCallItemSearch' + formatParams(data)).then(res => {
+						if (res.code === '200') {
+							centerContent = res.data
+							falseArray.push({
+								id: '1'
+							})
+						}
+					})
+
+				},
+
+
+				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 +607,9 @@
 	</script>
 	<style type="text/css">
 		@import url('../../css/global.css');
+
+		.van-hairline--top-bottom {
+			position: static;
+		}
 	</style>
 </html>

--
Gitblit v1.9.3