瀏覽代碼

场景管理bugfix

zhudie 2 年之前
父節點
當前提交
508af0de39

+ 1 - 0
src/components/Table/src/Table.vue

@@ -87,6 +87,7 @@
         v-bind="getBindValues"
         v-loading="tableLoading"
         @sort-change="sortChange"
+        :expand-row-keys="$props.expendRow"
       >
         <template v-for="item in getTableColumns" :key="item.key">
           <el-table-column

+ 5 - 0
src/components/Table/src/props.ts

@@ -36,6 +36,11 @@ export const basicProps = {
     default: () => [],
     required: true,
   },
+  expendRow: {
+    type: [Array],
+    default: () => [],
+    // required: true,
+  },
   request: {
     type: Function as PropType<(...arg: any[]) => Promise<any>>,
     default: null,

+ 12 - 10
src/views/system-config/scene-manage/CompanyDrawer.vue

@@ -201,17 +201,19 @@
 
   //删除场景&模板
   const deleScene = (index) => {
-    ElMessageBox.confirm('请确认是否关闭该场景?', '状态关闭', {
-      confirmButtonText: '确认',
-      cancelButtonText: '取消',
-      type: 'warning',
-    })
-      .then(() => {
-        ruleForm.selectItems!.splice(index, 1);
+    if (ruleForm.selectItems!.length > 1) {
+      ElMessageBox.confirm('请确认是否关闭该场景?', '状态关闭', {
+        confirmButtonText: '确认',
+        cancelButtonText: '取消',
+        type: 'warning',
       })
-      .catch(() => {
-        console.log('取消删除物件');
-      });
+        .then(() => {
+          ruleForm.selectItems!.splice(index, 1);
+        })
+        .catch(() => {
+          console.log('取消删除物件');
+        });
+    }
   };
   //添加新公司的提交
   const newCompanyAdd = (formEl: FormInstance | undefined) => {

+ 6 - 1
src/views/system-config/scene-manage/SceneManage.vue

@@ -6,6 +6,7 @@
         :data-source="tableData"
         :row-key="(row) => row.name"
         :action-column="actionColumn"
+        :expend-row="expendRowKeys"
         :tableSetting="{
           width: 200,
           size: false,
@@ -110,6 +111,7 @@
   const { tableData, getSceneDetail } = useSceneList;
   const useSceneTempleteDetail = useSceneTemplete();
   const { sceneList, templateList, workshopTemplateList } = useSceneTempleteDetail;
+  const expendRowKeys = ref(['']);
 
   const showDrawer = ref<DrawerType | null>(null);
 
@@ -218,7 +220,10 @@
     editedItem.value = { ...row }; // 将当前行的内容拷贝到 editedItem 中,以便编辑
     //得出当前的数据的层级
     level.value = findItemLevel(tableData.value, row.id, row.name);
-
+    if ((expendRowKeys.value[0] = row.name)) {
+      expendRowKeys.value[0] = '';
+    }
+    expendRowKeys.value[0] = row.name;
     if (level.value === DATA_LEVEL.company) {
       showDrawer.value = DrawerType.workshop;
       detail.value = {

+ 11 - 24
src/views/system-config/scene-manage/actionColomns.vue

@@ -12,30 +12,10 @@
       <div @click="changeAdd" class="wordStyle" style="margin-right: 7px">添加下一级</div></div
     >
     <div style="width: 1px; height: 14px; color: #e9e9e9; margin-right: 14px">|</div>
-    <img
-      src="../../../assets/icons/edit.png"
-      @click="changeEdit"
-      style="margin-right: 10px; cursor: pointer"
-      alt=""
-    />
-    <img
-      src="../../../assets/icons/delete.png"
-      @click="changeDelete"
-      style="margin-right: 10px; cursor: pointer"
-      alt=""
-    />
-    <img
-      src="../../../assets/icons/up.png"
-      @click="changeUp"
-      style="margin-right: 10px; cursor: pointer"
-      alt=""
-    />
-    <img
-      src="../../../assets/icons/down.png"
-      @click="changeDown"
-      style="margin-right: 10px; cursor: pointer"
-      alt=""
-    />
+    <img src="../../../assets/icons/edit.png" @click="changeEdit" class="action-img" alt="" />
+    <img src="../../../assets/icons/delete.png" @click="changeDelete" class="action-img" alt="" />
+    <img src="../../../assets/icons/up.png" @click="changeUp" class="action-img" alt="" />
+    <img src="../../../assets/icons/down.png" @click="changeDown" class="action-img" alt="" />
   </div>
 </template>
 
@@ -107,4 +87,11 @@
     --el-button-hover-bg-color: #f68888;
     --el-button-active-bg-color: #c35353;
   }
+
+  .action-img {
+    margin-right: 10px;
+    cursor: pointer;
+    height: 16px;
+    margin-top: 5px;
+  }
 </style>