From 037af3bed10918cf24629f9a7f7e207af059ee96 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期日, 14 四月 2024 17:06:32 +0800
Subject: [PATCH] update

---
 src/views/console/workstation/index.vue  |   45 ++--
 src/api/model/workstation.js             |   21 +
 src/views/console/workstation/Dialog.vue |  315 +++++++++++++++++++++++-----------
 src/views/mdc/configuration.vue          |   92 +++++++++
 src/components/scUpload/index.vue        |   17 +
 5 files changed, 353 insertions(+), 137 deletions(-)

diff --git a/src/api/model/workstation.js b/src/api/model/workstation.js
index 1c03096..d70c9d2 100644
--- a/src/api/model/workstation.js
+++ b/src/api/model/workstation.js
@@ -1,8 +1,8 @@
 /*
  * @Date: 2024-03-24 11:37:47
- * @LastEditors: gaoshp
- * @LastEditTime: 2024-03-31 21:34:40
- * @FilePath: /cps-web/src/api/model/workstation.js
+ * @LastEditors: Sneed
+ * @LastEditTime: 2024-04-14 15:02:51
+ * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/api/model/workstation.js
  */
 import config from "@/config"
 import http from "@/utils/request"
@@ -55,7 +55,20 @@
 		delete: async function(params){
 			return await http.delete(this.url, params);
 		}
-		// /blade-cps/workstation?type=1&workstationIds=1689546460820299778
+	},
+	add: {
+		url: `${config.API_URL}/blade-cps/workstation/submit`,
+		name: "娣诲姞宸ヤ綅",
+		post: async function(params){
+			return await http.post(this.url, params);
+		},
+	},
+	getlistnoband: {
+		url: `${config.API_URL}/blade-cps/machine/list-no-band`,
+		name: "鑾峰彇鏈粦瀹氬伐浣�",
+		get: async function(params){
+			return await http.get(this.url, params);
+		}
 	}
 	
 }
\ No newline at end of file
diff --git a/src/components/scUpload/index.vue b/src/components/scUpload/index.vue
index 1a0a0b9..15744dc 100644
--- a/src/components/scUpload/index.vue
+++ b/src/components/scUpload/index.vue
@@ -95,7 +95,8 @@
 					height: this.height + "px"
 				},
 				cropperDialogVisible: false,
-				cropperFile: null
+				cropperFile: null,
+				hostNew: ''
 			}
 		},
 		watch:{
@@ -108,15 +109,23 @@
 			}
 		},
 		mounted() {
-			this.value = this.modelValue
-			this.newFile(this.modelValue)
+			this.getHost().then(res => {
+				this.value = this.modelValue
+				this.newFile(this.modelValue)
+			})
 		},
 		methods: {
+			getHost () {
+				if (this.host) return this.hostNew = this.host
+				return this.$API.setting.component.getImgHost.get().then(res => {
+					this.hostNew = res.data + '/visual/'
+				})
+			},
 			newFile(url){
 				if(url){
 					this.file = {
 						status: "success",
-						url: `${this.host}${url}`
+						url: `${this.hostNew}${url}`
 					}
 				}else{
 					this.file = null
diff --git a/src/views/console/workstation/Dialog.vue b/src/views/console/workstation/Dialog.vue
index effd650..470b881 100644
--- a/src/views/console/workstation/Dialog.vue
+++ b/src/views/console/workstation/Dialog.vue
@@ -7,123 +7,136 @@
                     鍩虹淇℃伅
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="宸ヤ綅缂栧彿" prop="userName">
-                        <el-input style="width: 240px" v-model="form.userName" placeholder="宸ヤ綅缂栧彿" clearable></el-input>
+                    <el-form-item label="宸ヤ綅缂栧彿" prop="code">
+                        <el-input style="width: 240px" :disabled="form.id" v-model="form.code" placeholder="宸ヤ綅缂栧彿" clearable></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="宸ヤ綅鍚嶇О" prop="userName">
-                        <el-input style="width: 240px" v-model="form.userName" placeholder="宸ヤ綅鍚嶇О" clearable></el-input>
+                    <el-form-item label="宸ヤ綅鍚嶇О" prop="name">
+                        <el-input style="width: 240px" v-model="form.name" placeholder="宸ヤ綅鍚嶇О" clearable></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="宸ヤ綅绫诲瀷" prop="userName">
-                        <el-select v-model="type" style="width: 240px">
+                    <el-form-item label="宸ヤ綅绫诲瀷" prop="type">
+                        <el-select v-model="form.type" style="width: 240px" :disabled="form.id">
                             <el-option v-for="item in options.types" :key="item.value" :label="item.label"
                                 :value="item.value" />
                         </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="鎵�灞炲伐浣嶇粍" prop="userName">
-                        <el-tree-select v-model="form.userName" :data="options.group" :render-after-expand="false"
+                    <el-form-item label="鎵�灞炲伐浣嶇粍" prop="groupName">
+                        <el-tree-select @node-click="nodeClick" v-model="form.groupName" :data="options.group"  :check-on-click-node="true"
                             style="width: 240px" />
-                        <!-- <el-select v-model="type" style="width: 240px">
-                            <el-option v-for="item in options" :key="item.value" :label="item.label"
-                                :value="item.value" />
-                        </el-select> -->
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="鐘舵��" prop="userName">
-                        <el-select v-model="type" style="width: 240px">
-                            <el-option v-for="item in options.status" :key="item.value" :label="item.label"
-                                :value="item.value" />
-                        </el-select>
+                    <el-form-item label="鐘舵��" prop="status">
+                        <el-switch v-model="form.status" :active-value="1" :inactive-value="0"/>
                     </el-form-item>
                 </el-col>
                 <el-col :span="24">
                     <el-form-item label="宸ヤ綅鍥剧墖" prop="avatar">
-                        <sc-upload v-model="form.avatar" title="宸ヤ綅鍥剧墖"></sc-upload>
+                        <scUpload v-model="form.avatar" title="宸ヤ綅鍥剧墖"></scUpload>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="鐢熶骇鏃ュ巻" prop="userName">
-                        <el-select v-model="type" style="width: 240px">
+                    <el-form-item label="鐢熶骇鏃ュ巻" prop="calendarCode">
+                        <el-select v-model="form.calendarCode" style="width: 240px">
                             <el-option v-for="item in options.calendarList" :key="item.id" :label="item.name"
                                 :value="item.id" />
                         </el-select>
                     </el-form-item>
                 </el-col>
-                <el-col :span="24" style="padding:12px 0;">
+                <el-col :span="24" style="padding:12px 0;" v-if="form.type == 0">
                     鏈哄櫒淇℃伅
                 </el-col>
-
-                <el-col :span="12">
-                    <el-form-item label="閫夋嫨鏈哄櫒" prop="userName">
-                        <!-- <el-select v-model="type" style="width: 240px">
-                            <el-option v-for="item in options.linkWays" :key="item.value" :label="item.label"
-                                :value="item.value" />
-                        </el-select> -->
-                        <el-radio-group v-model="form.userName">
-                            <el-radio v-for="item in options.linkWays" :key="item.value" :value="item.value">{{item.label}}</el-radio>
+                <el-col :span="12" v-if="form.type == 0 && !form.id">
+                    <el-form-item label="閫夋嫨鏈哄櫒" prop="linkWay" >
+                        <el-radio-group v-model="form.linkWay">
+                            <el-radio v-for="item in options.linkWays" :key="item.value" :label="item.value">{{item.label}}</el-radio>
                         </el-radio-group>
                     </el-form-item>
                 </el-col>
-                <el-col :span="12">
-                    <el-form-item label="鏈哄櫒缂栧彿" prop="userName">
-                        <el-input style="width: 240px" v-model="form.userName" placeholder="鏈哄櫒缂栧彿" clearable></el-input>
+                <el-col :span="12" v-if="(form.type == 0 && form.linkWay == 0) || form.id">
+                    <!-- machineCode -->
+                    <el-form-item label="鏈哄櫒缂栧彿" prop="machineId">
+                        <!-- <el-input style="width: 240px" v-model="form.machineId" placeholder="鏈哄櫒缂栧彿" clearable></el-input> -->
+                        <el-select v-if="!form.id" v-model="form.machineId" style="width: 240px" @change="change" clear filterable>
+                            <el-option v-for="item in options.listnoband" :key="item.id" :label="item.machineName" :value="item.id"
+                               >
+                            {{ `${item?.machineCode}-${item?.machineName}-${item?.brand}`  }}</el-option>
+                        </el-select>
+                        <el-input v-if="form.id" :disabled="form.id" v-model="form.machineName"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="24" style="padding:12px 0;">
                     鎵╁睍淇℃伅
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="宸ョ" prop="userName">
-                        <el-select v-model="type" style="width: 240px">
+                    <el-form-item label="宸ョ" prop="deviceType">
+                        <el-select v-model="form.deviceType" style="width: 240px">
                             <el-option v-for="item in options.work_type" :key="item.dictKey" :label="item.dictValue"
-                                :value="item.dictKey" />
+                                :value="item.dictKey - 0" />
                         </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="鍔犲伐灞炴��" prop="userName">
-                        <el-select v-model="type" style="width: 240px">
+                    <el-form-item label="鍔犲伐灞炴��" prop="properties">
+                        <el-select v-model="form.properties" style="width: 240px">
                             <el-option v-for="item in options.machining_type" :key="item.dictKey" :label="item.dictValue"
                                 :value="item.dictKey" />
                         </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="绋嬪簭浼犺緭鏂瑰紡" prop="userName">
-                        <el-select v-model="type" style="width: 240px">
-                            <el-option   label="FTP"  value="1" />
-                            <el-option   label="涓插彛"  value="" />
+                    <el-form-item label="绋嬪簭浼犺緭鏂瑰紡" prop="transmissionMethod">
+                        <el-select v-model="form.transmissionMethod" style="width: 240px">
+                            <el-option   label="FTP"  :value="1" />
+                            <el-option   label="涓插彛"  :value="2" />
                         </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                    <el-form-item label="FTP鐩綍" prop="userName">
-                        <el-select v-model="type" style="width: 240px">
-                            <el-option v-for="item in options" :key="item.value" :label="item.label"
+                    <el-form-item label="FTP鐩綍" prop="ftpDirectoryType">
+                        <el-select v-model="form.ftpDirectoryType" style="width: 240px">
+                            <el-option v-for="item in options.ftpDirectoryType" :key="item.value" :label="item.label"
                                 :value="item.value" />
                         </el-select>
                     </el-form-item>
                 </el-col>
-                <el-col :span="12">
-                    <el-form-item label="宸ヤ綔鍙�" prop="userName">
-                        <el-select v-model="type" style="width: 240px">
-                            <el-option v-for="item in options" :key="item.value" :label="item.label"
-                                :value="item.value" />
+                <el-col :span="12" v-if="form.ftpDirectoryType == 1">
+                    <el-form-item label="鍏宠仈鐩綍" prop="directoryId">
+                        <el-select v-model="form.directoryId" style="width: 240px">
+                            <el-option v-for="item in options.directorys" :key="item.id" :label="item.name"
+                                :value="item.id" />
                         </el-select>
                     </el-form-item>
                 </el-col>
+                <el-col :span="4">
+                    <!-- <el-form-item label="宸ヤ綔鍙�" prop="workbenchVOList"> -->
+                        
+                    <!-- </el-form-item> -->
+                    <span>宸ヤ綔鍙�</span>
+                    
+                </el-col>
+                <el-col style="margin-bottom: 14px;">
+                    <ul class="workbranch">
+                        <li v-for="item in form.workbenchVOList">
+                            <span>{{ item.sort}}</span>
+                            <el-input v-model="item.name" style="width: 200px"></el-input>
+                        </li>
+                    </ul>
+                    <el-button style="margin-left: 50px;margin-top: 8px" @click="addWork">娣诲姞宸ヤ綔鍙�</el-button>
+                </el-col>
                 <el-col :span="12">
-                    <el-form-item label="鏁版嵁鏉冮檺" prop="userName">
-                        <el-select v-model="type" style="width: 240px">
-                            <el-option v-for="item in options" :key="item.value" :label="item.label"
-                                :value="item.value" />
-                        </el-select>
+                    <el-form-item label="鏁版嵁鏉冮檺" prop="createDept">
+                        <el-tree-select clearable @node-click="nodeClickTree" v-model="form.createDept" :data="tree"  :check-on-click-node="true" 
+                            style="width: 240px">
+                            <template #default="{ data: { title } }">
+      {{ title }}</template
+    >
+                        </el-tree-select>
                     </el-form-item>
                 </el-col>
             </el-row>
@@ -155,7 +168,10 @@
                 calendarList: this.calendarList,
                 linkWays: this.linkWays,
                 work_type: this.work_type,
-                machining_type: this.machining_type
+                machining_type: this.machining_type,
+                listnoband: this.listnoband,
+                directorys: this.directorys,
+                ftpDirectoryType: this.ftpDirectoryType
             }
         }
     },
@@ -172,67 +188,82 @@
             isSaveing: false,
             //琛ㄥ崟鏁版嵁
             form: {
-                id: "",
-                userName: "",
-                avatar: "",
-                name: "",
-                dept: "",
-                group: []
+                id: '',
+                code: '',
+                name: '',
+                type: '',
+                groupName: '',
+                status: '',
+                avatar: '',
+                calendarCode: '',
+                linkWay: '',
+                machineId: '',
+                machineCode: '',
+                machineName: '',
+                deviceType: '',
+                properties: '',
+                transmissionMethod: '',
+                ftpDirectoryType: '',
+                workbenchVOList: [],
+                createDept: '',
             },
             //楠岃瘉瑙勫垯
             rules: {
-                avatar: [
-                    { required: true, message: '璇蜂笂浼犲ご鍍�' }
-                ],
-                userName: [
-                    { required: true, message: '璇疯緭鍏ョ櫥褰曡处鍙�' }
+                code: [
+                    { required: true, message: '蹇呭~' }
                 ],
                 name: [
-                    { required: true, message: '璇疯緭鍏ョ湡瀹炲鍚�' }
+                    { required: true, message: '蹇呭~' }
                 ],
-                password: [
-                    { required: true, message: '璇疯緭鍏ョ櫥褰曞瘑鐮�' },
-                    {
-                        validator: (rule, value, callback) => {
-                            if (this.form.password2 !== '') {
-                                this.$refs.dialogForm.validateField('password2');
-                            }
-                            callback();
-                        }
-                    }
+                type: [
+                    { required: true, message: '蹇呭~' }
                 ],
-                password2: [
-                    { required: true, message: '璇峰啀娆¤緭鍏ュ瘑鐮�' },
-                    {
-                        validator: (rule, value, callback) => {
-                            if (value !== this.form.password) {
-                                callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
-                            } else {
-                                callback();
-                            }
-                        }
-                    }
+                groupName: [
+                    { required: true, message: '蹇呭~' }
                 ],
-                dept: [
-                    { required: true, message: '璇烽�夋嫨鎵�灞為儴闂�' }
+                status: [
+                    { required: true, message: '蹇呭~' }
                 ],
-                group: [
-                    { required: true, message: '璇烽�夋嫨鎵�灞炶鑹�', trigger: 'change' }
-                ]
+                linkWay:[
+                    { required: true, message: '蹇呭~' }
+                ],
+                machineId:[
+                    { required: true, message: '蹇呭~' }
+                ],
+                directoryId:[
+                    { required: true, message: '蹇呭~' }
+                ],
             },
             //鎵�闇�鏁版嵁閫夐」
             calendarList: [],
             work_type: [],
             machining_type: [],
+            listnoband: [],
+            directorys: [],
+            ftpDirectoryType: [
+                {
+                    label: '涓嶅叧鑱旂洰褰�',
+                    value: 0
+                },
+                {
+                    label: '鍏宠仈鐩綍',
+                    value: 1
+                },
+                {
+                    label: '鍒涘缓鍚屽悕鐩綍',
+                    value: 2
+                },
+            ],
             linkWays: [
                 {
                     label: '鍏宠仈鏈哄櫒',
-                    value: '0'
+                    value: 0
                 }, {
                     label: '鍒涘缓鍚屽悕鏈哄櫒',
-                    value: '1'
+                    value: 1
                 }
-            ]
+            ],
+            tree: []
         }
     },
     created() {
@@ -245,13 +276,40 @@
         this.$API.system.dic.getDic.get({ code: 'machining_type' }).then(res => {
             this.machining_type = res.data
         })
+        this.$API.workstation.getlistnoband.get().then(res => {
+            this.listnoband = res.data
+        })
+        this.$HTTP.get(`/api/blade-system/data-scope-manager/tree`).then(res => {
+            this.tree = res.data.map(item => {
+                return {
+                    ...item,
+                    label: item.title
+                }
+            })
+        })
     },
     methods: {
         //鏄剧ず
         open(mode = 'add', params) {
             this.mode = mode;
             this.visible = true;
-            this.params = params
+            
+            if (params) {
+                Object.keys(this.form).forEach(key => {
+                    this.form[key] = params[key]
+                })
+                this.$HTTP.get(`/api/blade-cps/workstation/get?workstationId=${params.id}`).then(res => {
+                    this.form =res?.data
+                    this.$HTTP.get(`/api/blade-cps/workstation-workbench/listWorkbench?workstationId=${params.id}`).then(res => {
+                        this.form.workbenchVOList =res?.data?.workstationList || []
+                    })
+                })
+            }else {
+                this.form.id = ''
+                Object.keys(this.form).forEach(key => {
+                    this.form[key] = ''
+                })
+            }
             return this
         },
         //琛ㄥ崟鎻愪氦鏂规硶
@@ -259,7 +317,7 @@
             this.$refs.dialogForm.validate(async (valid) => {
                 if (valid) {
                     this.isSaveing = true;
-                    var res = await this.$API.demo.post.post(this.form);
+                    var res = await this.$API.workstation.add.post(this.form);
                     this.isSaveing = false;
                     if (res.code == 200) {
                         this.$emit('success', this.form, this.mode)
@@ -279,14 +337,69 @@
             this.form.userName = data.userName
             this.form.avatar = data.avatar
             this.form.name = data.name
-            this.form.group = data.group
             this.form.dept = data.dept
 
             //鍙互鍜屼笂闈竴鏍峰崟涓敞鍏ワ紝涔熷彲浠ュ儚涓嬮潰涓�鏍风洿鎺ュ悎骞惰繘鍘�
             //Object.assign(this.form, data)
+        },
+        change (id) {
+            let row = this.options.listnoband.find(v=>v.id ==id)
+            if (!row)  {
+                this.form.machineCode = ''
+                this.form.machineId = ''
+                this.form.machineName = ''
+
+            }else {
+                this.form.machineCode = row.machineCode
+                this.form.machineId = row.id
+                this.form.machineName = row.machineName
+            }
+            this.$HTTP.get(`/api/blade-dnc/ftp-director/get-machine-of-workstation-ftp?id=${this.form.machineId}`).then(res => {
+                this.directorys = res.data
+            })
+            console.log(row)
+        },
+        nodeClick (node) {
+            console.log(node)
+            if (node.parentId == 0) return
+            this.$nextTick(() => {
+                this.form.groupId = node.id
+                this.form.groupName = node.name
+            })
+        },
+        nodeClickTree (node) {
+            this.$nextTick(() => {
+                this.form.createDept = node.id
+            })
+        },
+        addWork () {
+            this.form.workbenchVOList.push({
+                sort: this.form.workbenchVOList.length + 1,
+                name: ''
+            })
         }
     }
 }
 </script>
 
-<style></style>
+<style lang="scss" scoped>
+.workbranch {
+    list-style: none;
+    padding-left: 50px;
+    li {
+        margin-top: 8px;
+        span {
+            display: inline-block;
+            width: 25px;
+        height: 25px;
+        line-height: 25px;
+        text-align: center;
+        border-radius: 50%;
+        background: #ccc;
+        margin-right: 8px;
+        }
+       
+        
+    }
+}
+</style>
diff --git a/src/views/console/workstation/index.vue b/src/views/console/workstation/index.vue
index 8dfffa3..54b0281 100644
--- a/src/views/console/workstation/index.vue
+++ b/src/views/console/workstation/index.vue
@@ -19,7 +19,7 @@
 							<el-header>
 								<div class="left-panel">
 									<el-button @click="table_add" type="primary" icon="el-icon-plus"></el-button>
-									<el-button type="danger" plain icon="el-icon-delete"></el-button>
+									<el-button type="danger" plain icon="el-icon-delete" @click="batchDel"></el-button>
 									<!-- <el-button type="primary" plain>瀵煎叆</el-button>
 									<el-button type="primary" plain>鎵归噺鎿嶄綔</el-button> -->
 								</div>
@@ -64,12 +64,12 @@
 														<el-button text type="primary" size="small">鍒犻櫎</el-button>
 													</template>
 												</el-popconfirm>
-												<el-popconfirm title="纭畾鍋滅敤鍚楋紵"
+												<!-- <el-popconfirm title="纭畾鍋滅敤鍚楋紵"
 													@confirm="table_del(scope.row, scope.$index,'1')">
 													<template #reference>
 														<el-button text type="primary" size="small">鍋滅敤</el-button>
 													</template>
-												</el-popconfirm>
+												</el-popconfirm> -->
 											</el-button-group>
 										</template>
 									</el-table-column>
@@ -85,9 +85,9 @@
 												<li>宸ヤ綅缂栧彿 {{previewData.code}}</li>
 												<li>宸ヤ綅缁� {{previewData.groupName}}</li>
 												<li>宸ヤ綅鍚嶇О {{previewData.name}}</li>
-												<li>宸ヤ綅绫诲瀷 {{previewData.type}}</li>
+												<li>宸ヤ綅绫诲瀷 {{types.find(v => v.value == previewData.type)?.label}}</li>
 												<li>宸ヤ綅鏃ュ巻 {{previewData.calendarName}}</li>
-												<li>鐘舵�� {{previewData.status}}</li>
+												<li>鐘舵�� {{previewData.status ? '鍚敤' : '绂佺敤'}}</li>
 											</ul>
 										</div>
 										<el-tabs tab-position="top" class="custom-tabs" v-model="normal">
@@ -237,7 +237,7 @@
 
 			</el-tabs>
 		</el-card>
-		<Dialog ref="dialog" :option="{types,status,group}"></Dialog>
+		<Dialog ref="dialog" @success="success" :option="{types,status,group}"></Dialog>
 	</el-main>
 </template>
 
@@ -263,29 +263,25 @@
 			params: {},
 			keyWord: '',
 			type: '',
-			statu: '1',
+			statu: 1,
 			types: [
 				{
-					label: '鎵�鏈�',
-					value: ''
-				},
-				{
 					label: '鏈哄櫒',
-					value: '0'
+					value: 0
 				},
 				{
 					label: '浜哄伐',
-					value: '1'
+					value: 1
 				},
 			],
 			status: [
 				{
 					label: '鍚敤',
-					value: '1'
+					value: 1
 				},
 				{
 					label: '鍋滅敤',
-					value: '0'
+					value: 0
 				}
 			],
 			previewData: {},
@@ -305,7 +301,8 @@
 			treeCheckKey: [],
 			beltline_type: [],
 			group_tag: [],
-			addGroupShow: false
+			addGroupShow: false,
+			selection: []
 		}
 	},
 	watch: {
@@ -360,6 +357,9 @@
 				this.group_tag = res.data
 			})
 
+		},
+		success () {
+			this.search()
 		},
 		async queryList(flag) {
 			this.showGrouploading = true
@@ -483,13 +483,18 @@
 			this.$refs.dialog.open('edit',row)
 		},
 		table_del(row, index,type) {
-			this.$API.workstation.deleteWork.delete({
-				type,
-				workstationIds:row.id
-			}).then(() => {
+			this.$HTTP.delete(`/api/blade-cps/workstation?type=0&workstationIds=${row.id}`).then(res => {
 				this.search()
 			})
 		},
+		selectionChange (selection) {
+			this.selection = selection
+		},
+		batchDel () {
+			this.$HTTP.delete(`/api/blade-cps/workstation?type=0&workstationIds=${this.selection.map(item => item.id).join(',')}`).then(res => {
+				this.search()
+			})
+		}
 	}
 }
 </script>
diff --git a/src/views/mdc/configuration.vue b/src/views/mdc/configuration.vue
index b45fff0..e70cb85 100644
--- a/src/views/mdc/configuration.vue
+++ b/src/views/mdc/configuration.vue
@@ -1,24 +1,100 @@
 <!--
  * @Date: 2024-04-09 22:11:21
  * @LastEditors: Sneed
- * @LastEditTime: 2024-04-13 22:15:00
+ * @LastEditTime: 2024-04-14 10:31:10
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/configuration.vue
  * 搴旂敤璁剧疆
 -->
 <template>
     <el-main>
         <el-card shadow="never">
-            搴旂敤璁剧疆
+            <el-tabs :tab-position="'left'" class="demo-tabs">
+                <el-tab-pane label="瀹炴椂鐪嬫澘鏌ヨ缁勮缃�">
+                    <el-row>
+                        <el-col :span="4">
+                            椤甸潰鎺掑垪鏂瑰紡
+                        </el-col>
+                        <el-col :span="20">
+                            <el-radio-group v-model="radio">
+                                <el-radio :value="1">鍏呮弧灞忓箷</el-radio>
+                                <el-radio :value="2">璁剧疆琛屽垪</el-radio>
+                            </el-radio-group>
+                        </el-col>
+                        <el-col :span="4">
+                            璁剧疆琛屾暟
+                        </el-col>
+                        <el-col :span="20">
+                            <el-input-number v-model="num" :min="1" :max="10" @change="handleChange" />
+                        </el-col>
+                        <el-col :span="4">
+                            璁剧疆鍒楁暟
+                        </el-col>
+                        <el-col :span="20">
+                            <el-input-number v-model="num" :min="1" :max="10" @change="handleChange" />
+                        </el-col>
+                        <el-col>
+                            涓嬮潰闄堝垪鎷ユ湁鏍囩鐨勬墍鏈夊伐浣嶇粍锛岃閫夋嫨闇�瑕佸湪瀹炴椂鐪嬫澘椤甸潰鏌ヨ鐨勭粍锛屽苟璁惧畾涓�涓粯璁ょ粍
+                            濡傛灉鏈厤缃煡璇㈢粍锛屽疄鏃跺伐鍐甸〉闈㈤粯璁ゆ煡璇㈡墍鏈夊伐浣�
+                        </el-col>
+                        <el-col>
+                            鏌旀�т骇绾�
+                        </el-col>
+                        <el-col>
+                            <el-card style="max-width: 480px">
+                                <template #header>
+                                <div class="card-header">
+                                    <span>鍗冩枃绉戞妧</span>
+                                </div>
+                                </template>
+                                <p>鎵�鏈夌殑> 鍗冩枃绉戞妧</p>
+                            </el-card>
+                        </el-col>
+
+                        <el-col>
+                            杞﹂棿
+                        </el-col>
+                        <el-col>
+                            <el-card style="max-width: 480px">
+                                <template #header>
+                                <div class="card-header">
+                                    <span>鍗冩枃绉戞妧</span>
+                                </div>
+                                </template>
+                                <p>鎵�鏈夌殑> 鍗冩枃绉戞妧</p>
+                            </el-card>
+                            <el-card style="max-width: 480px">
+                                <template #header>
+                                <div class="card-header">
+                                    <span>鍗冩枃绉戞妧</span>
+                                </div>
+                                </template>
+                                <p>鎵�鏈夌殑> 鍗冩枃绉戞妧</p>
+                            </el-card>
+                        </el-col>
+                    </el-row>
+                </el-tab-pane>
+                <el-tab-pane label="鐘舵�佸拰缁╂晥鏃堕棿璁剧疆">
+
+                </el-tab-pane>
+                <el-tab-pane label="鏁堢巼缁熻璁剧疆">
+
+                </el-tab-pane>
+                <el-tab-pane label="閲囬泦鏁版嵁鏍囩璁剧疆">
+
+                </el-tab-pane>
+            </el-tabs>
         </el-card>
     </el-main>
 </template>
 
 <script>
-    export default {
-        
-    }
+export default {
+    data() {
+        return {
+            
+        }
+    },
+}
 </script>
 
-<style lang="scss" scoped>
-
-</style>
\ No newline at end of file
+<style lang="scss" scoped></style>
\ No newline at end of file

--
Gitblit v1.9.3