Преглед изворни кода

feat: 勾选多项数据时,判断所选数据的【加急】【隐藏】状态是否全部为已加急、隐藏,如是 (标记加急)(全部隐藏)变化为(取消加急)(取消隐藏)

bxy пре 1 година
родитељ
комит
5b92c18a29
1 измењених фајлова са 59 додато и 2 уклоњено
  1. 59 2
      src/views/datamanager/alertformdata/components/default/Default.vue

+ 59 - 2
src/views/datamanager/alertformdata/components/default/Default.vue

@@ -7,9 +7,15 @@
     <div class="table-list">
       <div v-if="showActionBar" class="action-bar">
         <span class="num-text">已选{{ chooseNum }}项</span>
-        <el-button :class="isActiveHide ? 'btn-active' : 'btn-normal'" @click="handleHideAll">全部隐藏</el-button>
+        <el-button v-if="!cancelHideFlag" :class="isActiveHide ? 'btn-active' : 'btn-normal'"
+          @click="handleHideAll">全部隐藏</el-button>
+        <el-button v-if="cancelHideFlag" :class="isActiveCancelHide ? 'btn-active' : 'btn-normal'"
+          @click="handleCancelHideAll">取消隐藏</el-button>
         <el-button :class="isActiveDelete ? 'btn-active' : 'btn-normal'" @click="handleDeleteAll">删除</el-button>
-        <el-button :class="isActiveUrgent ? 'btn-active' : 'btn-normal'" @click="handleUrgentAll">标记加急</el-button>
+        <el-button v-if="!cancelUrgentFlag" :class="isActiveUrgent ? 'btn-active' : 'btn-normal'"
+          @click="handleUrgentAll">标记加急</el-button>
+        <el-button v-if="cancelUrgentFlag" :class="isActiveCancelUrgent ? 'btn-active' : 'btn-normal'"
+          @click="handleCancelUrgentAll">取消加急</el-button>
         <el-button v-if="hasPermisson()" :class="isActiveCopy ? 'btn-active' : 'btn-normal'"
           @click="handleCopyToShow">复制到展示数据</el-button>
         <span class="close-btn" @click="handleSelectNone"></span>
@@ -53,9 +59,13 @@ const tableData = ref([]);
 const showActionBar = ref(false);
 const chooseNum = ref(0);
 const chooseId = ref<number[]>([]);
+const cancelHideFlag = ref(true);   // true取消隐藏 / false全部隐藏
+const cancelUrgentFlag = ref(true); // true取消加急 / false全部加急
 const isActiveHide = ref(false);
+const isActiveCancelHide = ref(false);
 const isActiveDelete = ref(false);
 const isActiveUrgent = ref(false);
+const isActiveCancelUrgent = ref(false);
 const isActiveCopy = ref(false);
 // 详情
 const isDetailDialogShow = ref(false);
@@ -81,9 +91,16 @@ const handleReset = (queryForm) => {
 
 // 多选
 const handlePop = (selection) => {
+  chooseId.value = [];
+  cancelHideFlag.value = true;
+  cancelUrgentFlag.value = true;
   selection.forEach((item) => {
     if (chooseId.value.indexOf(item.id) === -1)
       chooseId.value.push(item.id);
+    // 只要有一个item.isHide === false 说明多选的这些选项不是全都隐藏,不用变成“取消隐藏”
+    if (item.isHide === false) cancelHideFlag.value = false;
+    // 只要有一个item.priority === 0 说明不是全都加急状态,不用变成“取消加急”
+    if (item.priority === 0) cancelUrgentFlag.value = false;
   });
   chooseNum.value = selection.length;
   showActionBar.value = chooseNum.value > 0 ? true : false;
@@ -116,6 +133,26 @@ const handleHideAll = () => {
   });
 };
 
+// 取消隐藏
+const handleCancelHideAll = () => {
+  if (showActionBar.value) isActiveCancelHide.value = !isActiveCancelHide.value;
+  const updateList = {
+    id: chooseId.value,
+    isHide: false,
+  };
+  updateDefaultTableData(updateList).then(() => {
+    handleSelectNone();
+    getTableData();
+    ElMessage({
+      message: '取消隐藏成功',
+      type: 'success',
+    });
+    setTimeout(function () {
+      isActiveCancelHide.value = !isActiveCancelHide.value;
+    }, 1000);
+  });
+}
+
 // 批量删除
 const handleDeleteAll = () => {
   if (showActionBar.value) isActiveDelete.value = !isActiveDelete.value;
@@ -170,6 +207,26 @@ const handleUrgentAll = () => {
   });
 };
 
+// 取消加急
+const handleCancelUrgentAll = () => {
+  if (showActionBar.value) isActiveCancelUrgent.value = !isActiveCancelUrgent.value;
+  const updateList = {
+    id: chooseId.value,
+    priority: 0,
+  };
+  updateDefaultTableData(updateList).then(() => {
+    handleSelectNone();
+    getTableData();
+    ElMessage({
+      message: '已取消加急',
+      type: 'success',
+    });
+    setTimeout(function () {
+      isActiveCancelUrgent.value = !isActiveCancelUrgent.value;
+    }, 1000);
+  });
+};
+
 // 复制到展示数据
 const handleCopyToShow = () => {
   if (showActionBar.value) isActiveCopy.value = !isActiveCopy.value;