From e1947c8638faedf07e2298a57a850f711196845f Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期六, 27 四月 2024 21:41:39 +0800
Subject: [PATCH] 机器组

---
 src/utils/request.js                 |   70 +++++++++++-----------
 src/views/tpm/machine-management.vue |   13 ---
 src/views/tpm/MachineGroup.vue       |   80 +++++++++++++++++++++-----
 3 files changed, 101 insertions(+), 62 deletions(-)

diff --git a/src/utils/request.js b/src/utils/request.js
index 262d2f1..ec1904e 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -13,10 +13,10 @@
 	(config) => {
 		let token = tool.cookie.get("TOKEN");
 		config.headers['Authorization'] = 'Basic c2FiZXI6c2FiZXJfc2VjcmV0'
-		if(token){
+		if (token) {
 			config.headers[sysConfig.TOKEN_NAME] = sysConfig.TOKEN_PREFIX + token
 		}
-		if(!sysConfig.REQUEST_CACHE && config.method == 'get'){
+		if (!sysConfig.REQUEST_CACHE && config.method == 'get') {
 			config.params = config.params || {};
 			// config.params['_'] = new Date().getTime();
 		}
@@ -49,7 +49,7 @@
 					message: error.response.data.message || "Status:500锛屾湇鍔″櫒鍙戠敓閿欒锛�"
 				});
 			} else if (error.response.status == 401) {
-				if(!MessageBox_401_show){
+				if (!MessageBox_401_show) {
 					MessageBox_401_show = true
 					ElMessageBox.confirm('褰撳墠鐢ㄦ埛宸茶鐧诲嚭鎴栨棤鏉冮檺璁块棶褰撳墠璧勬簮锛岃灏濊瘯閲嶆柊鐧诲綍鍚庡啀鎿嶄綔銆�', '鏃犳潈闄愯闂�', {
 						type: 'error',
@@ -61,8 +61,8 @@
 							done()
 						}
 					}).then(() => {
-						router.replace({path: '/login'});
-					}).catch(() => {})
+						router.replace({ path: '/login' });
+					}).catch(() => { })
 				}
 			} else {
 				ElNotification.error({
@@ -81,16 +81,16 @@
 	}
 );
 function qsStringify(obj) {
-  return Object.keys(obj)
-    .map(key => {
-      if (Array.isArray(obj[key])) {
-        return obj[key]
-          .map(arrayValue => `${encodeURIComponent(key)}=${encodeURIComponent(arrayValue)}`)
-          .join('&');
-      }
-      return `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`;
-    })
-    .join('&');
+	return Object.keys(obj)
+		.map(key => {
+			if (Array.isArray(obj[key])) {
+				return obj[key]
+					.map(arrayValue => `${encodeURIComponent(key)}=${encodeURIComponent(arrayValue)}`)
+					.join('&');
+			}
+			return `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`;
+		})
+		.join('&');
 }
 
 var http = {
@@ -100,7 +100,7 @@
 	 * @param  {object} params 璇锋眰鍙傛暟
 	 * @param  {object} config 鍙傛暟
 	 */
-	get: function(url, params={}, config={}) {
+	get: function (url, params = {}, config = {}) {
 		return new Promise((resolve, reject) => {
 			axios({
 				method: 'get',
@@ -120,7 +120,7 @@
 	 * @param  {object} data 璇锋眰鍙傛暟
 	 * @param  {object} config 鍙傛暟
 	 */
-	post: function(url, data={}, config={}) {
+	post: function (url, data = {}, config = {}) {
 		return new Promise((resolve, reject) => {
 			axios({
 				method: 'post',
@@ -130,12 +130,12 @@
 			}).then((response) => {
 				resolve(response.data);
 			}).catch((error) => {
-				if(error.status == 400) {
+				if (error.status == 400) {
 					ElMessage({
-					    message: error.data.msg,
-					    type: 'warning',
-					 })
-				}else {
+						message: error.data.msg,
+						type: 'warning',
+					})
+				} else {
 					reject(error);
 				}
 			})
@@ -146,13 +146,13 @@
 	 * @param  {object} data 璇锋眰鍙傛暟
 	 * @param  {object} config 鍙傛暟
 	 */
-	 postJ: function(url, data={}, config={}) {
+	postJ: function (url, data = {}, config = {}) {
 		return new Promise((resolve, reject) => {
 			console.log(qsStringify(data))
 			axios({
 				method: 'post',
 				url: url,
-				headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},
+				headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' },
 				data: qsStringify(data),
 				...config
 			}).then((response) => {
@@ -167,7 +167,7 @@
 	 * @param  {object} data 璇锋眰鍙傛暟
 	 * @param  {object} config 鍙傛暟
 	 */
-	put: function(url, data={}, config={}) {
+	put: function (url, data = {}, config = {}) {
 		return new Promise((resolve, reject) => {
 			axios({
 				method: 'put',
@@ -187,7 +187,7 @@
 	 * @param  {object} data 璇锋眰鍙傛暟
 	 * @param  {object} config 鍙傛暟
 	 */
-	patch: function(url, data={}, config={}) {
+	patch: function (url, data = {}, config = {}) {
 		return new Promise((resolve, reject) => {
 			axios({
 				method: 'patch',
@@ -207,7 +207,7 @@
 	 * @param  {object} data 璇锋眰鍙傛暟
 	 * @param  {object} config 鍙傛暟
 	 */
-	delete: function(url, data={}, config={}) {
+	delete: function (url, data = {}, config = {}) {
 		return new Promise((resolve, reject) => {
 			axios({
 				method: 'delete',
@@ -217,12 +217,12 @@
 			}).then((response) => {
 				resolve(response.data);
 			}).catch((error) => {
-				if(error.status == 400) {
+				if (error.status == 400) {
 					ElMessage({
-					    message: error.data.msg,
-					    type: 'warning',
-					 })
-				}else {
+						message: error.data.msg,
+						type: 'warning',
+					})
+				} else {
 					reject(error);
 				}
 			})
@@ -233,19 +233,19 @@
 	 * @param  {string} url 鎺ュ彛鍦板潃
 	 * @param  {string} name JSONP鍥炶皟鍑芥暟鍚嶇О
 	 */
-	jsonp: function(url, name='jsonp'){
+	jsonp: function (url, name = 'jsonp') {
 		return new Promise((resolve) => {
 			var script = document.createElement('script')
 			var _id = `jsonp${Math.ceil(Math.random() * 1000000)}`
 			script.id = _id
 			script.type = 'text/javascript'
 			script.src = url
-			window[name] =(response) => {
+			window[name] = (response) => {
 				resolve(response)
 				document.getElementsByTagName('head')[0].removeChild(script)
 				try {
 					delete window[name];
-				}catch(e){
+				} catch (e) {
 					window[name] = undefined;
 				}
 			}
diff --git a/src/views/tpm/MachineGroup.vue b/src/views/tpm/MachineGroup.vue
index 918ea95..e77729e 100644
--- a/src/views/tpm/MachineGroup.vue
+++ b/src/views/tpm/MachineGroup.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2024-04-27 20:02:44
  * @LastEditors: Sneed
- * @LastEditTime: 2024-04-27 20:49:52
+ * @LastEditTime: 2024-04-27 21:40:33
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/tpm/MachineGroup.vue
 -->
 <template>
@@ -9,8 +9,9 @@
         <el-aside width="200px" v-loading="showGrouploading">
             <el-container>
                 <el-main class="nopadding">
-                    <el-tree ref="group" node-key="id" :data="group" :current-node-key="treeCheckKey"
-                        :highlight-current="true" default-expand-all @node-click="groupClick"></el-tree>
+                    <el-tree ref="group" node-key="id" :data="group" :current-node-key="form.id"
+                        :highlight-current="true" :expand-on-click-node="false" default-expand-all
+                        @node-click="groupClick"></el-tree>
                 </el-main>
             </el-container>
         </el-aside>
@@ -24,13 +25,15 @@
             <el-main class="">
                 <el-form :model="form" :rules="rules" ref="dialogForm" label-width="200px" label-position="left">
                     <el-form-item label="涓婄骇鐩綍" prop="parentName">
-                        <el-input style="width: 240px" v-model="form.parentName"></el-input>
+                        <el-input disabled style="width: 240px" v-model="form.parentName"></el-input>
                     </el-form-item>
                     <el-form-item label="鏈哄櫒缁勫悕绉�" prop="name">
-                        <el-input style="width: 240px" v-model="form.name" clearable></el-input>
+                        <el-input :disabled="(form.id === '102' || form.id === '2')" style="width: 240px"
+                            v-model="form.name" clearable></el-input>
                     </el-form-item>
                 </el-form>
-                <el-button @click="save" style="width: 100px" type="primary" plain>淇濆瓨</el-button>
+                <el-button @click="save" v-show="!(form.id === '102' || form.id === '2')" style="width: 100px"
+                    type="primary" plain>淇濆瓨</el-button>
             </el-main>
         </el-container>
     </el-container>
@@ -41,16 +44,16 @@
     data() {
         return {
             group: [],
-            treeCheckKey: '',
             form: {
+                code: '',
                 name: '',
+                id: '',
+                groupType: '',
+                groupCategory: '',
                 parentName: '',
                 parentId: '',
-                id: '',
-                groupType: 'group_machine',
-                groupCategory: '1',
-                code: ''
             },
+            disabled: false,
         }
     },
     created() {
@@ -61,17 +64,62 @@
             this.$HTTP.get('/api/blade-cps/group/tree?groupCategory=1&groupType=group_machine').then(res => {
                 if (res.code === 200) {
                     this.group = res.data
-                    this.treeCheckKey = res.data[0].id
+                    this.groupClick(res.data[0])
                 }
             })
         },
-        groupClick() {
+        groupClick(node, node1) {
+            console.log(node, node1?.parent?.data?.name)
+            this.disabled = false
+            Object.keys(this.form).forEach(item => {
+                this.form[item] = node[item]
+            })
+            if (node1?.parent?.data?.name) {
+                this.form.parentName = node1?.parent?.data?.name
+            }
+            if (node.id === '102' || node.id === '2') {
+                this.form.parentName = node.name
+                this.disabled = true
+            }
+        },
+        addChild() {
+            let { name, id, groupType, groupCategory } = this.form
+            this.form.id = ''
+            this.form.name = ''
+            this.form.code = ''
+            this.form.groupType = groupType
+            this.form.groupCategory = groupCategory
+            this.form.parentName = name
+            this.form.parentId = id
+        },
+        del() {
+            this.$confirm(
+                '纭鍒犻櫎璇ユ満鍣ㄧ粍锛�',
+                {
+                    distinguishCancelAndClose: true,
+                    confirmButtonText: '鍒犻櫎',
+                    cancelButtonText: '鍙栨秷',
+                }
+            )
+                .then(() => {
+                    this.$HTTP.delete('/api/blade-cps/group/deleteGroup', {}, { params: { groupId: this.form.id } }).then(res => {
+                        if (res.code === 200) {
+                            this.$message.success("鎿嶄綔鎴愬姛");
+                            this.getTreeData()
+                        }
+                    })
+                }).catch(() => {
+                    this.$message.success("鍙栨秷鎿嶄綔");
+                })
 
         },
-        addChild() { },
-        del() { },
         save() {
-
+            this.group = []
+            this.$HTTP.post('/api/blade-cps/group', this.form).then(res => {
+                if (res.code === 200) {
+                    this.getTreeData()
+                }
+            })
         }
     }
 }
diff --git a/src/views/tpm/machine-management.vue b/src/views/tpm/machine-management.vue
index a86a4e0..d5ba3ad 100644
--- a/src/views/tpm/machine-management.vue
+++ b/src/views/tpm/machine-management.vue
@@ -51,19 +51,10 @@
             },
             immediate: true
         },
-        treeCheckedNode: {
-            handler(val) {
-                this.addGroupShow = false
-                Object.keys(this.form).forEach(key => {
-                    this.form[key] = val?.[key]
-                })
-            },
-            deep: true
-        }
     },
     created() {
-        this.init()
-        this.queryList()
+        // this.init()
+        // this.queryList()
     },
     methods: {
 

--
Gitblit v1.9.3