From d9e59ed2e947aff29b7c21a9b0e8b6e12d741692 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期五, 30 八月 2024 14:54:18 +0800
Subject: [PATCH] 解决冲突

---
 Web/src/views/device/deviceInfo/index.vue |  548 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 312 insertions(+), 236 deletions(-)

diff --git a/Web/src/views/device/deviceInfo/index.vue b/Web/src/views/device/deviceInfo/index.vue
index 6dfdee2..48c52f5 100644
--- a/Web/src/views/device/deviceInfo/index.vue
+++ b/Web/src/views/device/deviceInfo/index.vue
@@ -1,60 +1,73 @@
 <template>
 	<div class="sys-user-container">
-	  <splitpanes>
-		<pane size="10">
-		  <el-collapse v-model="activeName">
-			<el-collapse-item title="璁惧鎺у埗" name="1">
-			  <el-card
-				class="box-card"
-				shadow="hover">
-				<el-switch v-model="value1" active-text="" inactive-text="绋嬪簭鏈嶅姟"></el-switch>
-			  </el-card>
-			  <el-card
-				class="box-card"
-				shadow="hover"
-				style="margin-top: 3px;">
-				<el-switch v-model="value2" active-text="" inactive-text="鑴辨満妯″紡"></el-switch>
-			  </el-card>
-			  <el-card
-				class="box-card"
-				shadow="hover"
-				style="margin-top: 3px;">
-				<el-switch v-model="value3" active-text="" inactive-text="鑷埛鏂�"></el-switch>
-			  </el-card>
-			</el-collapse-item>
-  
-			<el-collapse-item title="鍫嗗灈鏈�" name="2">
-			  <div style="overflow-x: auto;white-space: nowrap;height: 380px;">
-				<el-card
-				  v-for="(stacker, index) in stackers"
-				  :key="index"
-				  class="box-card"
-				  shadow="hover"
-				  style="margin-top: 3px;">
-				  <el-switch v-model="stacker.value" :inactive-text="`${index + 1}鍙峰爢鍨涙満`"></el-switch>
-				</el-card>
-			  </div>
-			</el-collapse-item>
-  
-			<el-collapse-item title="杈撻�佺嚎" name="3">
-			  <el-card
-				v-for="(conveyor, index) in conveyors"
-				:key="index"
-				class="box-card"
-				shadow="hover"
-				style="margin-top: 3px;">
-				<el-switch v-model="conveyor.value" :inactive-text="`${index + 1}妤艰緭閫佺嚎`"></el-switch>
-			  </el-card>
-			</el-collapse-item>
-		  </el-collapse>
-		</pane>
-		<pane size="90" style="position: relative;background-color: #fff;">
-			<el-card shadow="hover" :body-style="{ paddingBottom: '0', padding: '10px' }">
+		<el-row>
+			<el-col :span="3">
+				<el-collapse v-model="activeName">
+					<el-collapse-item title="璁惧鎺у埗" name="1">
+						<el-card class="box-card" shadow="hover">
+							<el-switch v-model="state.boRunningState" active-text="" inactive-text="绋嬪簭鏈嶅姟"></el-switch>
+						</el-card>
+						<el-card class="box-card" shadow="hover" style="margin-top: 3px;">
+							<el-switch v-model="state.boOffline" active-text="" inactive-text="鑴辨満妯″紡"></el-switch>
+						</el-card>
+						<el-card class="box-card" shadow="hover" style="margin-top: 3px;">
+							<el-switch v-model="state.boRefresh" active-text="" inactive-text="鑷埛鏂�"></el-switch>
+						</el-card>
+					</el-collapse-item>
+
+					<el-collapse-item title="鍫嗗灈鏈�" name="2">
+						<div style="overflow-x: auto;white-space: nowrap;">
+							<el-card v-for="(stacker, index) in stackers" :key="index" class="box-card" shadow="hover">
+								<el-switch disabled  v-model="stacker.isConn" :inactive-text="`${stacker.text}`"></el-switch>
+							</el-card>
+						</div>
+					</el-collapse-item>
+
+					<el-collapse-item title="杈撻�佺嚎" name="3">
+						<el-card v-for="(conveyor, index) in conveyors" :key="index" class="box-card" shadow="hover">
+							<el-switch disabled  v-model="conveyor.isConn" :inactive-text="`${conveyor.text}`"></el-switch>
+						</el-card>
+					</el-collapse-item>
+				</el-collapse>
+			</el-col>
+			<el-col :span="21">
 				<div class="card-page">
 					<el-button type="primary" :plain="isPlain1" @click="floorTogglePlain(1)">涓�灞傚钩闈�</el-button>
 					<el-button type="primary" :plain="isPlain2" @click="floorTogglePlain(2)">浜屽眰骞抽潰</el-button>
 					<el-button type="primary" :plain="isPlain3" @click="floorTogglePlain(3)">涓夊眰骞抽潰</el-button>
 				</div>
+				<div style="margin: 40px; height: 50%;">
+					<div class="grid-container-line">
+						<div v-for="cell in cellsDataLine" :key="cell.Id">
+							<div v-if="cell.IsShow === 0" class="grid-item-line">
+								<div class="grid-item-line-end">
+									{{ cell.EndLocat }}
+								</div>
+								<div class="grid-item-line-box" :style="{ marginTop: cell.BoxHeight + 'px' }">
+									{{ cell.LineCode }}
+								</div>
+								<div class="grid-item-line-child"></div>
+							</div>
+						</div>
+					</div>
+					<div class="grid-container">
+						<div v-for="cell in cellsData" :key="cell.Id">
+							<div v-if="cell.IsShow === 0"
+								:class="['grid-item', { 'active': cell.IsUse === 1 }, { 'active2': cell.IsUse === 2 }]">
+								<div>{{ cell.Code }}</div>
+							</div>
+						</div>
+					</div>
+				</div>
+			</el-col>
+		</el-row>
+	</div>
+</template>
+
+<script lang="ts" setup>
+import { ref, reactive, onMounted } from 'vue';
+import { listStatus } from '/@/api/wcs/wcsPlc';
+import { signalR } from './signalR';
 			</el-card>
 			<el-card shadow="hover" :body-style="{ paddingBottom: '0', padding: '10px' }" class="card-line">
 				<div class="grid-container-line">
@@ -101,87 +114,103 @@
   import { Vue2 } from 'vue-demi';
 
 
-  const activeName = ['1', '2', '3'];
-  const value1 = ref(false);
-  const value2 = ref(false);
-  const value3 = ref(false);
-  const stackers = reactive([
-	{ value: false },
-	{ value: false },
-	{ value: false },
-	{ value: false },
-	{ value: false },
-	{ value: false },
-	{ value: false },
-	{ value: false },
-	{ value: false },
-	{ value: false },
-  ]);
-  const conveyors = reactive([
-	{ value: false },
-	{ value: false },
-	{ value: false },
-  ]);
+const state = ref<any>({});
+const stackers = ref<any>({});
+const conveyors = ref<any>({});
+// 鏌ヨ鐘舵��
+const handleQuery = async () => {
+	var res = await listStatus();
+	state.value = res.data.result.modService;
+	stackers.value = res.data.result.listPlc.filter(s => s.type == 0);
+	conveyors.value = res.data.result.listPlc.filter(s => s.type == 1 || s.type == 4);
+};
+handleQuery();
 
+//杩炴帴signalR 鐩戝惉鍙樻洿
+onMounted(async () => {
+	signalR.off('PublicPlcConn');
+	signalR.on('PublicPlcConn', (data: any) => {
+		console.log(data)
+		if (data.type === 0) {
+			// 鏇挎崲 stackers 涓殑鐩稿簲椤�
+			const index = stackers.value.findIndex(item => item.id === data.id);
+			if (index !== -1) {
+				stackers.value[index] = data;
+			}
+		} else if (data.type === 1 || data.type === 4) {
+			// 鏇挎崲 conveyors 涓殑鐩稿簲椤�
+			const index = conveyors.value.findIndex(item => item.id === data.id);
+			if (index !== -1) {
+				conveyors.value[index] = data;
+			}
+		}
+		console.log(stackers.value[0].isConn)
+	});
+});
 
-  //鍫嗗灈鏈烘暟鎹�
-  const cellsDataLine=[
-  	{ Id: 1, Code: '001', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 2, Code: '002', LineCode:'01',EndLocat:'01010101',IsShow: 0, IsUse: 0,BoxHeight:190 },
-	{ Id: 3, Code: '003', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 4, Code: '004', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 5, Code: '005', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 6, Code: '006', LineCode:'02',EndLocat:'',IsShow: 0, IsUse: 0,BoxHeight:50 },
-	{ Id: 7, Code: '007', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 8, Code: '008', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 9, Code: '009', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 10, Code: '010', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 11, Code: '011', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 12, Code: '012', LineCode:'03',EndLocat:'',IsShow: 0, IsUse: 0,BoxHeight:10 },
-	{ Id: 13, Code: '013', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 14, Code: '014', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 15, Code: '015', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 16, Code: '016', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 17, Code: '017', LineCode:'04',EndLocat:'',IsShow: 0, IsUse: 0,BoxHeight:10 },
-	{ Id: 18, Code: '018', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 19, Code: '019', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 20, Code: '020', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 21, Code: '021', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 22, Code: '022', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 23, Code: '023', LineCode:'05',EndLocat:'',IsShow: 0, IsUse: 0,BoxHeight:300 },
-	{ Id: 24, Code: '024', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10},
-	{ Id: 25, Code: '025', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 26, Code: '026', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 27, Code: '027', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 28, Code: '028', LineCode:'06',EndLocat:'',IsShow: 0, IsUse: 0,BoxHeight:0 },
-	{ Id: 29, Code: '029', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 30, Code: '030', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 31, Code: '031', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 32, Code: '032', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 33, Code: '033', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 34, Code: '034', LineCode:'07',EndLocat:'',IsShow: 0, IsUse: 0,BoxHeight:10 },
-	{ Id: 35, Code: '035', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 36, Code: '036', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 37, Code: '037', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 38, Code: '038', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 39, Code: '039', LineCode:'08',EndLocat:'',IsShow: 0, IsUse: 0,BoxHeight:10 },
-	{ Id: 40, Code: '040', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 41, Code: '041', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 42, Code: '042', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 43, Code: '043', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 44, Code: '044', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 45, Code: '045', LineCode:'09',EndLocat:'',IsShow: 0, IsUse: 0,BoxHeight:10 },
-	{ Id: 46, Code: '046', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 47, Code: '047', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 48, Code: '048', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 49, Code: '049', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-	{ Id: 50, Code: '050', LineCode:'10',EndLocat:'',IsShow: 0, IsUse: 0,BoxHeight:10 },
-	{ Id: 51, Code: '051', LineCode:'',EndLocat:'',IsShow: 1, IsUse: 0,BoxHeight:10 },
-  ];
+const activeName = ['1', '2', '3'];
+const value1 = ref(false);
+const value2 = ref(false);
+const value3 = ref(false);
 
-  //涓�灞傝緭閫佺嚎鏁版嵁
-  const cellsDataOne = [
-  	{ Id: 1, Code: '001', IsShow: 0, IsUse: 0 },
+//鍫嗗灈鏈烘暟鎹�
+const cellsDataLine = [
+	{ Id: 1, Code: '001', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 2, Code: '002', LineCode: '01', EndLocat: '01010101', IsShow: 0, IsUse: 0, BoxHeight: 10 },
+	{ Id: 3, Code: '003', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 4, Code: '004', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 5, Code: '005', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 6, Code: '006', LineCode: '02', EndLocat: '', IsShow: 0, IsUse: 0, BoxHeight: 50 },
+	{ Id: 7, Code: '007', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 8, Code: '008', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 9, Code: '009', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 10, Code: '010', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 11, Code: '011', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 12, Code: '012', LineCode: '03', EndLocat: '', IsShow: 0, IsUse: 0, BoxHeight: 10 },
+	{ Id: 13, Code: '013', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 14, Code: '014', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 15, Code: '015', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 16, Code: '016', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 17, Code: '017', LineCode: '04', EndLocat: '', IsShow: 0, IsUse: 0, BoxHeight: 10 },
+	{ Id: 18, Code: '018', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 19, Code: '019', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 20, Code: '020', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 21, Code: '021', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 22, Code: '022', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 23, Code: '023', LineCode: '05', EndLocat: '', IsShow: 0, IsUse: 0, BoxHeight: 200 },
+	{ Id: 24, Code: '024', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 25, Code: '025', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 26, Code: '026', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 27, Code: '027', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 28, Code: '028', LineCode: '06', EndLocat: '', IsShow: 0, IsUse: 0, BoxHeight: 0 },
+	{ Id: 29, Code: '029', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 30, Code: '030', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 31, Code: '031', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 32, Code: '032', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 33, Code: '033', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 34, Code: '034', LineCode: '07', EndLocat: '', IsShow: 0, IsUse: 0, BoxHeight: 10 },
+	{ Id: 35, Code: '035', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 36, Code: '036', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 37, Code: '037', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 38, Code: '038', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 39, Code: '039', LineCode: '08', EndLocat: '', IsShow: 0, IsUse: 0, BoxHeight: 10 },
+	{ Id: 40, Code: '040', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 41, Code: '041', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 42, Code: '042', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 43, Code: '043', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 44, Code: '044', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 45, Code: '045', LineCode: '09', EndLocat: '', IsShow: 0, IsUse: 0, BoxHeight: 10 },
+	{ Id: 46, Code: '046', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 47, Code: '047', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 48, Code: '048', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 49, Code: '049', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+	{ Id: 50, Code: '050', LineCode: '10', EndLocat: '', IsShow: 0, IsUse: 0, BoxHeight: 10 },
+	{ Id: 51, Code: '051', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
+];
+
+//涓�灞傝緭閫佺嚎鏁版嵁
+const cellsDataOne = [
+	{ Id: 1, Code: '001', IsShow: 0, IsUse: 0 },
 	{ Id: 2, Code: '002', IsShow: 1, IsUse: 0 },
 	{ Id: 3, Code: '003', IsShow: 0, IsUse: 0 },
 	{ Id: 4, Code: '004', IsShow: 1, IsUse: 0 },
@@ -1927,124 +1956,147 @@
   //杈撻�佺嚎鏁版嵁
   let cellsData= ref(cellsDataOne);
 
-  const isPlain1 = ref(false);//涓�灞�
-  const isPlain2 = ref(true);//浜屽眰
-  const isPlain3 = ref(true);//涓夊眰
-  //鍒囨崲灞傚钩闈�
-  function floorTogglePlain(buttonNumber) {
+const isPlain1 = ref(false);//涓�灞�
+const isPlain2 = ref(true);//浜屽眰
+const isPlain3 = ref(true);//涓夊眰
+//鍒囨崲灞傚钩闈�
+function floorTogglePlain(buttonNumber) {
 	if (buttonNumber === 1) {
 		isPlain1.value = !isPlain1.value;
-		isPlain2.value =true;
-		isPlain3.value =true;
+		isPlain2.value = true;
+		isPlain3.value = true;
 
-        cellsData.value=cellsDataOne;
+		cellsData.value = cellsDataOne;
 	} else if (buttonNumber === 2) {
 		isPlain2.value = !isPlain2.value;
-		isPlain1.value =true;
-		isPlain3.value =true;
+		isPlain1.value = true;
+		isPlain3.value = true;
 
-        cellsData.value=cellsDataTwo;
+		cellsData.value = cellsDataTwo;
 	} else if (buttonNumber === 3) {
 		isPlain3.value = !isPlain3.value;
-		isPlain1.value =true;
-		isPlain2.value =true;
+		isPlain1.value = true;
+		isPlain2.value = true;
 
-        cellsData.value=cellsDataThree;
+		cellsData.value = cellsDataThree;
 	}
-  }
-  </script>
-  
-  <style scoped>
-	.box-card{
-		height:30px;
-		padding: 0;
-		display: flex;
-		align-items: center;
-	}
-	.card-page{
-		width: 100%;
-		height: 30px;
-		display: flex;
-		text-align: center;
-		justify-content: center;
-		align-items: center;
-    	text-align: center;
-	}
-	.card-page>button{
-		width: 150px;
-		height: 30px;
-	}
-	.card-line{
-		border: none;
-		background-color: transparent;
-		position:absolute;
-		z-index: 99;
-	}
-	.grid-container-line{
-		display: grid;
-		grid-template-columns: repeat(51, 30px); /* 姣忓垪瀹藉害 */
-		grid-template-rows: repeat(1, 310px);  /* 姣忚楂樺害 */
-		gap: 0px; /* Gap between cells */
-		margin-top: 25px;
-	}
-	.grid-item-line{
-		text-align: center;
-		line-height: 50px; /* Vertical center the content */
-		font-size: 12px; /* Adjust font size */
-		width: 30px;
-		height: 100%;
-		color: #fff;
-		font-size: 14px;
-		
-		display: flex;
-		justify-content: center;
-	}
-	.grid-item-line-end{
-		width:80px;
-		height: 25px;
-		border: 2px solid #797777;
-		background-color: rgb(182, 180, 180);
-		position: absolute;
-		margin-top: -25px;
-		display: flex;
-		text-align: center;
-		justify-content: center;
-		align-items: center;
-    	text-align: center;
-    	color: #fff;
-	}
-	.grid-item-line-box{
-		width: 20px;
-		height: 20px;
-		background-color:rgb(97, 250, 145);
-		position: absolute;
-		display: flex;
-		text-align: center;
-		justify-content: center;
-		align-items: center; /* Added to vertically center the text */
-    	text-align: center;
-    	color: black;
-	}
-	.grid-item-line-child{
-		height: 100%;
-		width: 3px;
-		background-color: #9c9c9c;
-	}
+}
+</script>
 
-	.card{
-		width: 100%;
-		position:absolute;
-		border-top: none;
-		z-index: 90;
-		margin-top: 310px;
-	}
-  	.grid-container {
-		width: 100%;
-		display: grid;
-		grid-template-columns: repeat(51, 30px); /* 姣忓垪瀹藉害 */
-		grid-template-rows: repeat(12, 35px);  /* 姣忚楂樺害 */
-		gap: 0px; /* Gap between cells */
-	}
+<style scoped>
+.box-card {
+	height: 30px;
+	padding: 0;
+	display: flex;
+	align-items: center;
+	margin-top: 3px;
+}
+
+.card-page {
+	width: 100%;
+	height: 30px;
+	display: flex;
+	text-align: center;
+	justify-content: center;
+	align-items: center;
+	text-align: center;
+}
+
+.card-page>button {
+	width: 150px;
+	height: 30px;
+}
+
+.card-line {
+	border: none;
+	background-color: transparent;
+	position: absolute;
+	z-index: 99;
+}
+
+.grid-container-line {
+	display: grid;
+	grid-template-columns: repeat(51, 1fr);
+	/* 鑷�傚簲鍒楀 */
+	grid-template-rows: 1fr;
+	/* 鑷�傚簲琛岄珮 */
+	gap: 0;
+	margin-top: 25px;
+	width: 100%;
+	/* 瀹藉害鑷�傚簲 */
+	height: 1fr;
+	/* 楂樺害鑷�傚簲 */
+}
+
+.grid-item-line {
+	text-align: center;
+	line-height: 50px;
+	/* Vertical center the content */
+	font-size: 12px;
+	/* Adjust font size */
+	width: 30px;
+	height: 100%;
+	color: #fff;
+	font-size: 14px;
+
+	display: flex;
+	justify-content: center;
+}
+
+.grid-item-line-end {
+	width: 80px;
+	height: 25px;
+	border: 2px solid #797777;
+	background-color: rgb(182, 180, 180);
+	position: absolute;
+	margin-top: -25px;
+	display: flex;
+	text-align: center;
+	justify-content: center;
+	align-items: center;
+	text-align: center;
+	color: #fff;
+}
+
+.grid-item-line-box {
+	width: 20px;
+	height: 20px;
+	background-color: rgb(97, 250, 145);
+	position: absolute;
+	display: flex;
+	text-align: center;
+	justify-content: center;
+	align-items: center;
+	/* Added to vertically center the text */
+	text-align: center;
+	color: black;
+}
+
+.grid-item-line-child {
+	height: 220px;
+	width: 3px;
+	background-color: #000000;
+}
+
+.card {
+	width: 100%;
+	position: absolute;
+	border-top: none;
+	z-index: 90;
+	margin-top: 310px;
+}
+
+.grid-container {
+	margin-top: 10px;
+	width: 100%;
+	display: grid;
+	grid-template-columns: repeat(51, 1fr);
+	/* 姣忓垪瀹藉害 */
+	grid-template-rows: repeat(12, 1fr);
+	/* 姣忚楂樺害 */
+	gap: 0px;
+	/* Gap between cells */
+}
 
 	.grid-item {
 		background-color: #9c9c9c;
@@ -2073,4 +2125,28 @@
 	}
 	
   </style>
-  
\ No newline at end of file
+  
+.grid-item {
+	background-color: #9c9c9c;
+	border: 1px solid #797777;
+	text-align: center;
+	line-height: 1.4vw;
+	/* 琛岄珮 */
+	width: 100%;
+	/* 鑷�傚簲瀹藉害 */
+	height: 100%;
+	/* 鑷�傚簲楂樺害 */
+	color: #fff;
+	font-size: 0.7vw;
+}
+
+.active {
+	background-color: rgb(57, 141, 251);
+	/* IsUse 涓�1鏃惰儗鏅鑹蹭负钃濊壊 */
+	color: #f5f5f5;
+}
+
+.active2>div {
+	display: none;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.8.0