From 9660ff90d9a58fb675c821d9ed31b627a59d4b76 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期日, 28 一月 2024 15:18:37 +0800
Subject: [PATCH] 近义词管理,界面和接口完善

---
 Source/UBCS-WEB/src/views/code/codeSynonym.vue |  161 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 137 insertions(+), 24 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/code/codeSynonym.vue b/Source/UBCS-WEB/src/views/code/codeSynonym.vue
index e991719..fe54a36 100644
--- a/Source/UBCS-WEB/src/views/code/codeSynonym.vue
+++ b/Source/UBCS-WEB/src/views/code/codeSynonym.vue
@@ -1,38 +1,85 @@
 <template>
   <basic-container>
     <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
+      :table-loading="loading"
+      :data="data"
+      :page.sync="page"
+      :permission="permissionList"
+      :before-open="beforeOpen"
+      v-model="form"
+      ref="crud"
+      @row-update="rowUpdate"
+      @row-save="rowSave"
+      @row-del="rowDel"
+      @row-click="rowClick"
+      @search-change="searchChange"
+      @search-reset="searchReset"
+      @selection-change="selectionChange"
+      @current-change="currentChange"
+      @size-change="sizeChange"
+      @refresh-change="refreshChange"
+      @on-load="onLoad">
       <template slot="menuLeft">
         <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.codeSynonym_delete"
-                   @click="handleDelete">鍒� 闄�
+          size="small"
+          icon="el-icon-delete"
+          plain
+          v-if="permissionList.delBtn"
+          @click="handleDelete">鍒� 闄�
+        </el-button>
+        <el-button type="primary"
+          size="small"
+          icon="el-icon-zoom-in"
+          plain
+          @click="viewUseRange">
+          鏌ョ湅浣跨敤鑼冨洿
+        </el-button>
+      </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button v-if="(scope.row.lcStatus == 'Disabled' ? true : false)"
+          icon="el-icon-position"
+          plain
+          size="small"
+          type="text"
+          @click="enableOrDeactivatse(scope.row.oid, 'Released')"
+          >鍚� 鐢�
+        </el-button>
+        <el-button v-if="(scope.row.lcStatus == 'Released' ? true : false)"
+          icon="el-icon-video-pause"
+          plain
+          size="small"
+          type="text"
+          @click="enableOrDeactivatse(scope.row.oid, 'Disabled')"
+        > 鍋� 鐢�
         </el-button>
       </template>
     </avue-crud>
+
+    <!-- 浣跨敤鑼冨洿瀵硅瘽妗� -->
+    <el-dialog
+      :visible.sync="isUseRangeVisible"
+      append-to-body
+      class="avue-dialog avue-dialog--top"
+      style="height: 100vh"
+      top="-3%"
+      width="800px"
+      title="杩戜箟璇嶈鍒欎娇鐢ㄨ寖鍥�"
+    >
+      <avue-crud :option="useRangeOption"
+        :table-loading="useRangeloading"
+        :data="useRangeData"
+        style="margin-top: -40px"
+        ref="useRangeCrud">
+      </avue-crud>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="isUseRangeVisible = false">鍏� 闂�</el-button>
+      </span>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/code/codeSynonym";
+  import { getList, getDetail, add, update, remove, listUseRange, updateStatus } from "@/api/code/codeSynonym";
   import option from "@/const/code/codeSynonym";
   import {mapGetters} from "vuex";
 
@@ -49,12 +96,48 @@
         },
         selectionList: [],
         option: option,
-        data: []
+        data: [],
+
+        isUseRangeVisible: false,
+        useRangeloading: true,
+        useRangeData: [],
+        useRangeOption: {
+          height: "auto",
+          calcHeight: 150,
+          tip: false,
+          searchShow: false,
+          searchMenuSpan: 6,
+          border: true,
+          index: true,
+          disablePage: false,
+          refreshBtn: false,
+          columnBtn: false,
+          viewBtn: false,
+          addBtn: false,
+          menu: false,
+          selection: false,
+          dialogClickModal: false,
+          align: "center",
+          dialogWidth: 400,
+          column: [
+            {
+              label: "妯℃澘鍚嶇О",
+              prop: "classifyTemplateOidName",
+              span: 24,
+            },
+            {
+              label: "灞炴�у悕绉�",
+              prop: "name",
+              span: 24,
+            },
+          ],
+        },
       };
     },
     computed: {
       ...mapGetters(["permission"]),
       permissionList() {
+        // console.log(this.permission.codeSynonym);
         return {
           addBtn: this.vaildData(this.permission.codeSynonym.codeSynonym_add, false),
           viewBtn: this.vaildData(this.permission.codeSynonym.codeSynonym_view, false),
@@ -136,6 +219,30 @@
             this.$refs.crud.toggleSelection();
           });
       },
+      /** 鏌ョ湅浣跨敤鑼冨洿 */
+      viewUseRange(){
+        if (this.selectionList.length === 0) {
+          this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+          return;
+        }
+        this.isUseRangeVisible = true;
+        this.useRangeloading = true;
+        listUseRange({"oid":this.selectionList[0].oid}).then(res=>{
+          // console.log(res);
+          this.useRangeData = res.data.data;
+          this.useRangeloading = false;
+        })
+      },
+      /** 鍋滅敤鍚敤杩戜箟璇嶆煡璇㈣鍒� */
+      async enableOrDeactivatse(oid, update) {
+        updateStatus({oid:oid,lcStatus:update}).then(res=>{
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "鎿嶄綔鎴愬姛!",
+          });
+        });
+      },
       beforeOpen(done, type) {
         if (["edit", "view"].includes(type)) {
           getDetail(this.form.oid).then(res => {
@@ -156,6 +263,12 @@
       },
       selectionChange(list) {
         this.selectionList = list;
+        this.$refs.crud.setCurrentRow(this.selectionList[list.length - 1]);
+      },
+      /** 鍗曞嚮琛屽疄鐜拌閫夋嫨*/
+      rowClick(row) {
+        this.$refs.crud.toggleSelection();
+        this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
       },
       selectionClear() {
         this.selectionList = [];

--
Gitblit v1.9.3