From 05aec1e9986fbe3e907259bb1a1396f129bd0fa1 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 06 二月 2026 14:14:48 +0800
Subject: [PATCH] 优化

---
 admin/src/views/business/categoryLevel.vue |   82 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 76 insertions(+), 6 deletions(-)

diff --git a/admin/src/views/business/categoryLevel.vue b/admin/src/views/business/categoryLevel.vue
index e080855..33b49d7 100644
--- a/admin/src/views/business/categoryLevel.vue
+++ b/admin/src/views/business/categoryLevel.vue
@@ -2,8 +2,15 @@
   <TableLayout :permissions="['business:category:query']">
     <!-- 鎼滅储琛ㄥ崟 -->
     <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-      <el-form-item label="鍚嶇О" prop="name">
-        <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ悕绉�" @keypress.enter.native="search"></el-input>
+      <el-form-item label="鑰佸笀绛夌骇" prop="name">
+        <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ヨ�佸笀绛夌骇" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="鐘舵��" prop="status">
+        <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨鐘舵��" @change="search">
+          <el-option label="鍏ㄩ儴" value=""></el-option>
+          <el-option label="鍚敤" value="0"></el-option>
+          <el-option label="绂佺敤" value="1"></el-option>
+        </el-select>
       </el-form-item>
       <section>
         <el-button type="primary" @click="search">鎼滅储</el-button>
@@ -14,7 +21,7 @@
     <template v-slot:table-wrap>
       <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']">
         <li><el-button type="primary" @click="$refs.operaCategoryWindow.open('鏂板缓鑰佸笀绛夌骇',null,searchForm.type)" icon="el-icon-plus" v-permissions="['business:category:create']">鏂板缓</el-button></li>
-        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:category:delete']">鍒犻櫎</el-button></li>
+        <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:category:delete']">鍒犻櫎</el-button></li>
       </ul>
       <el-table
           :height="tableHeightNew"
@@ -24,7 +31,7 @@
         @selection-change="handleSelectionChange"
       >
         <el-table-column type="selection" :selectable="isChangeSelected" width="55"></el-table-column>
-        <el-table-column prop="name" label="鍚嶇О" min-width="100px"></el-table-column>
+        <el-table-column prop="name" label="鑰佸笀绛夌骇" min-width="100px"></el-table-column>
         <el-table-column  prop="icon" label="鍥炬爣" min-width="100px">
           <template slot-scope="{row}">
             <el-image v-if="row.iconFull" style="width: 50px; height: 50px; margin-right: 10px" :src="row.iconFull"
@@ -41,7 +48,7 @@
           </template>
         </el-table-column>
         <el-table-column prop="remark" label="鎻忚堪" min-width="100px"></el-table-column>
-        <el-table-column prop="sortnum" label="鎺掑簭鐮�" min-width="100px"></el-table-column>
+        <el-table-column prop="sortnum" label="绛夌骇椤哄簭" min-width="100px"></el-table-column>
         <el-table-column prop="updateUserName" label="鎿嶄綔浜�" min-width="100px"></el-table-column>
         <el-table-column prop="updateTime" label="鏈�杩戞搷浣滄椂闂�" min-width="150px"></el-table-column>
         <el-table-column
@@ -52,7 +59,7 @@
         >
           <template slot-scope="{row}">
             <el-button type="text"   @click="$refs.operaCategoryWindow.open('缂栬緫鑰佸笀绛夌骇', row,searchForm.type)" icon="el-icon-edit" v-permissions="['business:category:update']">缂栬緫</el-button>
-            <el-button type="text"   @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:category:delete']">鍒犻櫎</el-button>
+            <el-button type="text" style="color: red" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:category:delete']">鍒犻櫎</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -82,6 +89,7 @@
       // 鎼滅储
       searchForm: {
         name: '',
+        status: '',
         type: 3
       }
     }
@@ -96,6 +104,68 @@
     this.search()
   },
   methods: {
+    deleteById (row, childConfirm = true, call) {
+      this.__checkApi()
+      let message = `纭鍒犻櫎鑰佸笀绛夌骇鏁版嵁鍚�?`
+      if (childConfirm && row.children != null && row.children.length > 0) {
+        message = `纭鍒犻櫎鑰佸笀绛夌骇鏁版嵁鍚�?`
+      }
+      this.$dialog.deleteConfirm(message)
+              .then(() => {
+                this.isWorking.delete = true
+                this.api.deleteById(row[this.configData['field.id']])
+                        .then(() => {
+                          this.__afterDelete()
+                          if (call) {
+                            call()
+                          }
+                        })
+                        .catch(e => {
+                          this.$tip.apiFailed(e)
+                        })
+                        .finally(() => {
+                          this.isWorking.delete = false
+                        })
+              })
+              .catch(() => {})
+    },
+    deleteByIdInBatch (childConfirm = true, call) {
+      this.__checkApi()
+      if (this.tableData.selectedRows.length === 0) {
+        this.$tip.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�')
+        return
+      }
+      let message = `纭鍒犻櫎鑰佸笀绛夌骇鏁版嵁鍚�?`
+      if (childConfirm) {
+        const containChildrenRows = []
+        for (const row of this.tableData.selectedRows) {
+          if (row.children != null && row.children.length > 0) {
+            containChildrenRows.push(row[this.configData['field.main']])
+          }
+        }
+        if (containChildrenRows.length > 0) {
+          message = `纭鍒犻櫎鑰佸笀绛夌骇鏁版嵁鍚�?`
+        }
+      }
+      this.$dialog.deleteConfirm(message)
+              .then(() => {
+                this.isWorking.delete = true
+                this.api.deleteByIdInBatch(this.tableData.selectedRows.map(row => row[this.configData['field.id']]).join(','))
+                        .then(() => {
+                          this.__afterDelete(this.tableData.selectedRows.length)
+                          if (call) {
+                            call()
+                          }
+                        })
+                        .catch(e => {
+                          this.$tip.apiFailed(e)
+                        })
+                        .finally(() => {
+                          this.isWorking.delete = false
+                        })
+              })
+              .catch(() => {})
+    },
     isChangeSelected(row,index){
       // if(row.isFixed ==1) {
       //   return false

--
Gitblit v1.9.3