From ed6d3a8385b2efe1d1562e1e1fe19e45991559cd Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 17 四月 2024 10:32:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS-WEB/src/views/code/codeSynonym.vue | 169 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 141 insertions(+), 28 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/code/codeSynonym.vue b/Source/UBCS-WEB/src/views/code/codeSynonym.vue
index cf13773..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,17 +96,53 @@
},
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_add, false),
- viewBtn: this.vaildData(this.permission.codeSynonym_view, false),
- delBtn: this.vaildData(this.permission.codeSynonym_delete, false),
- editBtn: this.vaildData(this.permission.codeSynonym_edit, false)
+ addBtn: this.vaildData(this.permission.codeSynonym.codeSynonym_add, false),
+ viewBtn: this.vaildData(this.permission.codeSynonym.codeSynonym_view, false),
+ delBtn: this.vaildData(this.permission.codeSynonym.codeSynonym_delete, false),
+ editBtn: this.vaildData(this.permission.codeSynonym.codeSynonym_edit, false)
};
},
ids() {
@@ -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