| | |
| | | <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"; |
| | | |
| | |
| | | }, |
| | | 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), |
| | |
| | | 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 => { |
| | |
| | | }, |
| | | 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 = []; |