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