From 0924fcc06ead4d10ea5d0d579c8224850a0f37a4 Mon Sep 17 00:00:00 2001
From: fuchengshen <men883234@gmail.com>
Date: 星期五, 24 六月 2022 09:15:09 +0800
Subject: [PATCH] 更改设备分组页面样式

---
 vite.config.ts                                          |    4 
 src/cool/modules/hntask/views/immediate_task.vue        |   31 ++++
 src/cool/modules/base/views/user.vue                    |  174 +++++++++++-------------
 src/cool/modules/base/components/role/select_device.vue |   66 +++++++++
 src/cool/modules/hntask/views/periodic_task.vue         |   57 +++++++
 src/cool/modules/basedevice/views/basedevice_group.vue  |   54 ++++++-
 6 files changed, 280 insertions(+), 106 deletions(-)

diff --git a/src/cool/modules/base/components/role/select_device.vue b/src/cool/modules/base/components/role/select_device.vue
new file mode 100644
index 0000000..6223fe1
--- /dev/null
+++ b/src/cool/modules/base/components/role/select_device.vue
@@ -0,0 +1,66 @@
+<template>
+  <el-select v-model="value"
+             v-bind="props"
+             multiple
+             @change="onChange">
+    <el-option v-for="(item, index) in list"
+               :key="index"
+               :value="item.logic_id"
+               :label="item.logic_id" />
+  </el-select>
+</template>
+
+<script lang="ts">
+import { defineComponent, onMounted, ref, watch } from "vue";
+import { useCool } from "/@/cool";
+import { isArray } from "/@/cool/utils";
+
+export default defineComponent({
+	name: "cl-device-select",
+
+	props: {
+		modelValue: [String, Number, Array],
+		props: Object
+	},
+
+	emits: ["update:modelValue"],
+
+	setup(props, { emit }) {
+		// 璇锋眰鏈嶅姟
+		const { service } = useCool();
+
+		// 鏁版嵁鍒楄〃
+		const list = ref<any[]>([]);
+
+		// 缁戝畾鍊�
+		const value = ref<any>();
+
+		// 缁戝畾鍊煎洖璋�
+		function onChange(val: any) {
+			emit("update:modelValue", val);
+		}
+
+		// 瑙f瀽鍊�
+		watch(
+			() => props.modelValue,
+			(val: any) => {
+				value.value = (isArray(val) ? val : [val]).filter(Boolean);
+			},
+			{
+				immediate: true
+			}
+		);
+
+		onMounted(async () => {
+			console.log(list, "list");
+			list.value = await service.business.basedeviceinfo.list();
+		});
+
+		return {
+			list,
+			value,
+			onChange
+		};
+	}
+});
+</script>
diff --git a/src/cool/modules/base/views/user.vue b/src/cool/modules/base/views/user.vue
index 843550d..5fc4114 100644
--- a/src/cool/modules/base/views/user.vue
+++ b/src/cool/modules/base/views/user.vue
@@ -1,104 +1,94 @@
 <template>
-	<div class="system-user">
-		<div class="pane">
-			<!-- 缁勭粐鏋舵瀯 -->
-			<div class="dept" :class="[isExpand ? '_expand' : '_collapse']">
-				<cl-dept-tree
-					@row-click="onDeptRowClick"
-					@user-add="onDeptUserAdd"
-					@list-change="onDeptListChange"
-				/>
-			</div>
+  <div class="system-user">
+    <div class="pane">
+      <!-- 缁勭粐鏋舵瀯 -->
+      <div class="dept"
+           :class="[isExpand ? '_expand' : '_collapse']">
+        <cl-dept-tree @row-click="onDeptRowClick"
+                      @user-add="onDeptUserAdd"
+                      @list-change="onDeptListChange" />
+      </div>
 
-			<!-- 鎴愬憳鍒楄〃 -->
-			<div class="user">
-				<div class="header">
-					<div class="icon" @click="deptExpand">
-						<i class="el-icon-arrow-left" v-if="isExpand"></i>
-						<i class="el-icon-arrow-right" v-else></i>
-					</div>
+      <!-- 鎴愬憳鍒楄〃 -->
+      <div class="user">
+        <div class="header">
+          <div class="icon"
+               @click="deptExpand">
+            <i class="el-icon-arrow-left"
+               v-if="isExpand"></i>
+            <i class="el-icon-arrow-right"
+               v-else></i>
+          </div>
 
-					<span>鎴愬憳鍒楄〃</span>
-				</div>
+          <span>鎴愬憳鍒楄〃</span>
+        </div>
 
-				<div class="container">
-					<cl-crud :ref="setRefs('crud')" :on-refresh="onRefresh" @load="onLoad">
-						<el-row type="flex">
-							<cl-refresh-btn />
-							<cl-add-btn />
-							<cl-multi-delete-btn />
-							<el-button
-								v-permission="service.base.sys.user.permission.move"
-								size="mini"
-								type="success"
-								:disabled="selects.ids.length == 0"
-								@click="toMove()"
-								>杞Щ</el-button
-							>
-							<cl-flex1 />
-							<cl-search-key />
-						</el-row>
+        <div class="container">
+          <cl-crud :ref="setRefs('crud')"
+                   :on-refresh="onRefresh"
+                   @load="onLoad">
+            <el-row type="flex">
+              <cl-refresh-btn />
+              <cl-add-btn />
+              <cl-multi-delete-btn />
+              <el-button v-permission="service.base.sys.user.permission.move"
+                         size="mini"
+                         type="success"
+                         :disabled="selects.ids.length == 0"
+                         @click="toMove()">杞Щ</el-button>
+              <cl-flex1 />
+              <cl-search-key />
+            </el-row>
 
-						<el-row>
-							<cl-table
-								:ref="setRefs('table')"
-								v-bind="table"
-								@selection-change="onSelectionChange"
-							>
-								<!-- 澶村儚 -->
-								<template #column-headImg="{ scope }">
-									<cl-avatar
-										shape="square"
-										size="medium"
-										:src="scope.row.headImg"
-										:style="{ margin: 'auto' }"
-									/>
-								</template>
+            <el-row>
+              <cl-table :ref="setRefs('table')"
+                        v-bind="table"
+                        @selection-change="onSelectionChange">
+                <!-- 澶村儚 -->
+                <template #column-headImg="{ scope }">
+                  <cl-avatar shape="square"
+                             size="medium"
+                             :src="scope.row.headImg"
+                             :style="{ margin: 'auto' }" />
+                </template>
 
-								<!-- 鏉冮檺 -->
-								<template #column-roleName="{ scope }">
-									<el-tag
-										v-for="(item, index) in scope.row.roleNameList"
-										:key="index"
-										disable-transitions
-										size="small"
-										effect="dark"
-										style="margin: 2px"
-										>{{ item }}</el-tag
-									>
-								</template>
+                <!-- 鏉冮檺 -->
+                <template #column-roleName="{ scope }">
+                  <el-tag v-for="(item, index) in scope.row.roleNameList"
+                          :key="index"
+                          disable-transitions
+                          size="small"
+                          effect="dark"
+                          style="margin: 2px">{{ item }}</el-tag>
+                </template>
 
-								<!-- 鍗曚釜杞Щ -->
-								<template #slot-move-btn="{ scope }">
-									<el-button
-										v-permission="service.base.sys.user.permission.move"
-										type="text"
-										size="mini"
-										@click="toMove(scope.row)"
-										>杞Щ</el-button
-									>
-								</template>
-							</cl-table>
-						</el-row>
+                <!-- 鍗曚釜杞Щ -->
+                <template #slot-move-btn="{ scope }">
+                  <el-button v-permission="service.base.sys.user.permission.move"
+                             type="text"
+                             size="mini"
+                             @click="toMove(scope.row)">杞Щ</el-button>
+                </template>
+              </cl-table>
+            </el-row>
 
-						<el-row type="flex">
-							<cl-flex1 />
-							<cl-pagination />
-						</el-row>
+            <el-row type="flex">
+              <cl-flex1 />
+              <cl-pagination />
+            </el-row>
 
-						<cl-upsert
-							:ref="setRefs('upsert')"
-							v-bind="upsert"
-							:on-submit="onUpsertSubmit"
-						/>
-					</cl-crud>
-				</div>
-			</div>
-		</div>
+            <cl-upsert :ref="setRefs('upsert')"
+                       v-bind="upsert"
+                       :on-submit="onUpsertSubmit" />
+          </cl-crud>
+        </div>
+      </div>
+    </div>
 
-		<!-- 閮ㄩ棬绉诲姩 -->
-		<cl-dept-move :ref="setRefs('dept-move')" @success="refresh({ page: 1 })" />
-	</div>
+    <!-- 閮ㄩ棬绉诲姩 -->
+    <cl-dept-move :ref="setRefs('dept-move')"
+                  @success="refresh({ page: 1 })" />
+  </div>
 </template>
 
 <script lang="ts">
@@ -395,9 +385,11 @@
 		// 鍒锋柊鐩戝惉
 		async function onRefresh(params: any, { next, render }: any) {
 			const { list } = await next(params);
+			console.log(list, "list");
 
 			render(
 				list.map((e: any) => {
+					console.log(e, "鍒锋柊鎵撳嵃e");
 					if (e.roleName) {
 						e.roleNameList = e.roleName.split(",");
 					}
diff --git a/src/cool/modules/basedevice/views/basedevice_group.vue b/src/cool/modules/basedevice/views/basedevice_group.vue
index 21d5575..2eda7d6 100644
--- a/src/cool/modules/basedevice/views/basedevice_group.vue
+++ b/src/cool/modules/basedevice/views/basedevice_group.vue
@@ -48,11 +48,19 @@
 				{
 					label: "閫昏緫ID",
 					prop: "logic_id",
+					value: [],
 					component: {
-						name: "el-input"
+						name: "cl-device-select",
+						props: {
+							props: {
+								"multiple-limit": 3
+							}
+						}
 					},
-					//鏄惁涓哄繀濉」,娉細鎺ュ彛閰嶇疆瀛楁鏃舵病鏈夎缃粯璁ゅ�兼椂锛岄兘闇�瑕侀�夋嫨蹇呭~
-					required: true
+					rules: {
+						required: true,
+						message: "瑙掕壊涓嶈兘涓虹┖"
+					}
 				},
 				{
 					label: "鎿嶄綔浜�",
@@ -73,7 +81,17 @@
 					label: "鐘舵��",
 					prop: "status",
 					component: {
-						name: "el-input"
+						name: "el-radio-group",
+						options: [
+							{
+								label: "鏈惎鐢�",
+								value: 0
+							},
+							{
+								label: "鍚敤",
+								value: 1
+							}
+						]
 					}
 				}
 			]
@@ -105,7 +123,28 @@
 				},
 				{
 					label: "鐘舵��",
-					prop: "status"
+					prop: "status",
+					dict: [
+						{
+							label: "鍋滅敤",
+							value: 0,
+							type: "info" //success  warning  danger  info鍙��
+						},
+						{
+							label: "鍚敤",
+							value: 1
+						}
+					],
+					filters: [
+						{
+							text: "鍋滅敤",
+							value: 0
+						},
+						{
+							text: "鍚敤",
+							value: 1
+						}
+					]
 				},
 				{
 					label: "鎿嶄綔",
@@ -121,11 +160,6 @@
 		}
 
 		async function onRefresh(params: any, { next, done, render }: any) {
-			// params 鏄瘡娆¤姹傜殑鍙傛暟
-			// next(params) 鏄户缁線涓嬫墽琛� page 鐨勮姹�
-			// done() 瀹屾垚璇锋眰锛屽叧闂璴oading
-			// render(list, pagination) 娓叉煋鍒楄〃鍙婂垎椤典俊鎭�
-
 			let { list, pagination } = await next({});
 
 			list.map((_e: any) => {});
diff --git a/src/cool/modules/hntask/views/immediate_task.vue b/src/cool/modules/hntask/views/immediate_task.vue
index 11f2d52..27b91f1 100644
--- a/src/cool/modules/hntask/views/immediate_task.vue
+++ b/src/cool/modules/hntask/views/immediate_task.vue
@@ -204,7 +204,36 @@
 				},
 				{
 					label: "鐘舵��",
-					prop: "status"
+					prop: "status",
+					dict: [
+						{
+							label: "鏈墽琛�",
+							value: 0,
+							type: "info" //success  warning  danger  info鍙��
+						},
+						{
+							label: "鎵ц涓�",
+							value: 1
+						},
+						{
+							label: "鏈墽琛�",
+							value: 2
+						}
+					],
+					filters: [
+						{
+							text: "鏈墽琛�",
+							value: 0
+						},
+						{
+							text: "鎵ц涓�",
+							value: 1
+						},
+						{
+							text: "宸叉墽琛�",
+							value: 2
+						}
+					]
 				},
 				{
 					label: "鎿嶄綔",
diff --git a/src/cool/modules/hntask/views/periodic_task.vue b/src/cool/modules/hntask/views/periodic_task.vue
index fd80db3..ad44778 100644
--- a/src/cool/modules/hntask/views/periodic_task.vue
+++ b/src/cool/modules/hntask/views/periodic_task.vue
@@ -54,6 +54,20 @@
 					required: true
 				},
 				{
+					label: "浠诲姟鎸囦护",
+					prop: "task_command",
+					component: {
+						name: "el-input"
+					}
+				},
+				{
+					label: "浠诲姟鍐呭鎻忚堪",
+					prop: "task_content",
+					component: {
+						name: "el-input"
+					}
+				},
+				{
 					prop: "task_type",
 					value: 1,
 					label: "浠诲姟绫诲瀷",
@@ -104,7 +118,17 @@
 					label: "鐘舵��",
 					prop: "status",
 					component: {
-						name: "el-input"
+						name: "el-radio-group",
+						options: [
+							{
+								label: "鏈惎鐢�",
+								value: 0
+							},
+							{
+								label: "鍚敤",
+								value: 1
+							}
+						]
 					}
 				}
 			]
@@ -161,6 +185,14 @@
 					width: 100
 				},
 				{
+					label: "浠诲姟鎸囦护",
+					prop: "task_command"
+				},
+				{
+					label: "浠诲姟鍐呭鎻忚堪",
+					prop: "task_content"
+				},
+				{
 					label: "璁惧鍒嗙粍ID",
 					prop: "group_id"
 				},
@@ -174,7 +206,28 @@
 				},
 				{
 					label: "鐘舵��",
-					prop: "status"
+					prop: "status",
+					dict: [
+						{
+							label: "鍋滅敤",
+							value: 0,
+							type: "info" //success  warning  danger  info鍙��
+						},
+						{
+							label: "鍚敤",
+							value: 1
+						}
+					],
+					filters: [
+						{
+							text: "鍋滅敤",
+							value: 0
+						},
+						{
+							text: "鍚敤",
+							value: 1
+						}
+					]
 				},
 				{
 					label: "鎿嶄綔",
diff --git a/vite.config.ts b/vite.config.ts
index fda841e..16657bf 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -18,8 +18,8 @@
   const proxy = {
     "/dev": {
       // target: "http://192.168.1.16:8001",
-      target: "http://47.92.33.19:8001",
-      // target: "http://127.0.0.1:8001",
+      // target: "http://47.92.33.19:8001",
+      target: "http://127.0.0.1:8001",
       changeOrigin: true,
       rewrite: (path: string) => path.replace(/^\/dev/, "")
     },

--
Gitblit v1.9.1