From 4c810c1feb3f78c458084d73e89adc6c4f2256f1 Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期四, 06 六月 2024 18:22:55 +0800
Subject: [PATCH] 1

---
 src/views/console/tooling/Tray.vue |   80 ++++++++++++++++++++++++++++++++++------
 1 files changed, 68 insertions(+), 12 deletions(-)

diff --git a/src/views/console/tooling/Tray.vue b/src/views/console/tooling/Tray.vue
index 8d1ae38..659d4d5 100644
--- a/src/views/console/tooling/Tray.vue
+++ b/src/views/console/tooling/Tray.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2024-05-12 20:02:31
  * @LastEditors: Sneed
- * @LastEditTime: 2024-05-15 21:53:13
+ * @LastEditTime: 2024-05-19 13:57:46
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/console/tooling/Tray.vue
 -->
 <template>
@@ -41,7 +41,8 @@
         <el-container v-if="selectNode.id">
             <el-header>
                 <el-button @click="table_add" type="primary" icon="el-icon-plus"></el-button>
-                <import-table style="margin:0 8px" :exportUrl="exportUrl" :uploadUrl="uploadUrl"></import-table>
+                <import-table style="margin:0 8px" exportUrl="/api/blade-cps/tray/excel/template"
+                    uploadUrl="/api/blade-cps/tray/import-tray"></import-table>
                 <el-button type="danger" plain icon="el-icon-delete" @click="batchDel"></el-button>
                 <el-input v-model="params.keyword" style="width: 240px;margin-left: auto;" placeholder="璇疯緭鍏ユ绱㈠唴瀹�"
                     clearable></el-input>
@@ -176,19 +177,48 @@
         <el-drawer v-model="dialog" title="鎵樼洏淇℃伅" class="demo-drawer">
             <el-container>
                 <el-main>
-                    <el-form :model="trayForm">
-                        <el-form-item label="鎵樼洏缁�" prop="name">
+                    <el-form :model="trayForm" :rules="rulesTray" ref="trayForm" label-width="120px">
+                        <el-form-item label="鎵樼洏缁�" prop="groupId">
                             <el-tree-select v-model="trayForm.groupId" @node-click="groupIdClick" node-key="id"
                                 :data="treeData" filterable style="width: 240px" :props="{
                                     label: 'name',
                                 }" />
                         </el-form-item>
-                        <el-form-item label="Area" prop="name">
-                            <el-select style="width: 240px" v-model="trayForm.region"
-                                placeholder="Please select activity area">
-                                <el-option label="Area1" value="shanghai" />
-                                <el-option label="Area2" value="beijing" />
+                        <el-form-item v-if="trayForm.code" label="鎵樼洏缂栧彿" prop="code">
+                            <el-input style="width: 240px" v-model="trayForm.code" />
+                        </el-form-item>
+                        <el-form-item label="鎵樼洏鍚嶇О" prop="name">
+                            <el-input style="width: 240px" v-model="trayForm.name" />
+                        </el-form-item>
+                        <el-form-item label="鍙敤鐘舵��" prop="availability">
+                            <el-select style="width: 240px" v-model="trayForm.availability" placeholder="">
+                                <el-option label="婵�娲�" :value="1" />
+                                <el-option label="鍐荤粨" :value="0" />
                             </el-select>
+                        </el-form-item>
+                        <el-form-item label="鎵樼洏鎻忚堪" prop="description">
+                            <el-input style="width: 240px" type="textarea" v-model="trayForm.description" />
+                        </el-form-item>
+                        <el-form-item label="鎵樼洏绫诲埆" prop="category">
+                            <el-select style="width: 240px" v-model="trayForm.category" placeholder="">
+                                <el-option v-for="item in tray_category" :key="item.value" :label="item.label"
+                                    :value="item.value" />
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="鎵樼洏瑙勬牸" prop="standardModel">
+                            <el-input style="width: 240px" v-model="trayForm.standardModel" />
+                        </el-form-item>
+                        <el-form-item label="鎵樼洏鐘舵��" prop="trayStatus">
+                            <el-select style="width: 240px" v-model="trayForm.trayStatus" placeholder="">
+                                <el-option label="绌鸿浇" :value="1" />
+                                <el-option label="璐熻浇" :value="0" />
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="澶囨敞" prop="remark">
+                            <el-input style="width: 240px" type="textarea" v-model="trayForm.remark" />
+                        </el-form-item>
+                        <el-form-item label="鍥剧墖" prop="picture">
+                            <scUpload v-model="form.picture" title=""></scUpload>
                         </el-form-item>
                     </el-form>
                 </el-main>
@@ -250,7 +280,16 @@
                 ],
             },
             dialog: false,
-            trayForm: {}
+            trayForm: {},
+            rulesTray: {
+                groupId: [
+                    { required: true, message: '蹇呭~' }
+                ],
+                availability: [
+                    { required: true, message: '蹇呭~' }
+                ],
+            },
+            tray_category: []
         }
     },
     watch: {
@@ -266,6 +305,12 @@
     },
     created() {
         this.init()
+        this.$HTTP.get(`/api/blade-system/dict/dictionary?code=tray_category`).then(res => {
+            this.tray_category = res.data.map(v => ({
+                label: v.dictValue,
+                value: v.dictKey
+            }))
+        })
     },
     methods: {
         addTrayGroup() {
@@ -313,7 +358,15 @@
         },
         table_add() {
             this.trayForm = {
-                groupId: this.selectNode.id
+                groupId: this.selectNode.id,
+                availability: 1,
+                trayStatus: 1,
+            }
+            this.dialog = true
+        },
+        table_edit(row) {
+            this.trayForm = {
+                ...row
             }
             this.dialog = true
         },
@@ -322,7 +375,10 @@
         },
         confirm() {
             this.$HTTP.post(`/api/blade-cps/tray/save`, {
-
+                ...this.trayForm
+            }).then(res => {
+                this.dialog = false
+                this.queryInfo()
             })
         },
         init() {

--
Gitblit v1.9.3