| | |
| | | <template> |
| | | <div class="authorityManagement_box"> |
| | | <My-bread :list="[`${$t('dataManage.dataManage')}`, `值域管理`]"></My-bread> |
| | | <div class="domainBox"> |
| | | <My-bread |
| | | :list="[ |
| | | `${$t('dataManage.dataManage')}`, |
| | | `${$t('dataManage.rangeManage')}`, |
| | | ]" |
| | | ></My-bread> |
| | | <el-divider /> |
| | | <div class="mainBox"> |
| | | <div class="leftTree"> |
| | | <el-tree |
| | | :data="domainData" |
| | | :props="defaultProps" |
| | | :default-expand-all="true" |
| | | @node-click="toggleTabs" |
| | | ></el-tree> |
| | | <div class="leftTree subpage_Div" style="border: 1px solid #dcdfe6;"> |
| | | <el-input v-model="filterInput" style="width: 200px" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" suffix-icon="el-icon-search"></el-input> |
| | | <div style="width: 450px"> |
| | | <el-tree |
| | | :data="domainData" |
| | | :props="defaultProps" |
| | | :default-expand-all="true" |
| | | @node-click="toggleTabs" |
| | | :filter-node-method="filterNode" |
| | | ref="tree" |
| | | ></el-tree> |
| | | </div> |
| | | </div> |
| | | <div class="right"> |
| | | <div class="right subpage_Div"> |
| | | <div class="inquire"> |
| | | <el-form ref="queryForm" :model="queryForm" :inline="true"> |
| | | <el-form-item :label="$t('dataManage.vmobj.keyword')" prop="name"> |
| | | <el-input |
| | | v-model="queryForm.code" |
| | | :placeholder="$t('common.pleaseInput')" |
| | | suffix-icon="el-icon-edit" |
| | | style="width: 200px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | @click="queryInfo('queryForm')" |
| | | icon="el-icon-search" |
| | | size="small" |
| | | >{{ $t("common.iquery") }}</el-button |
| | | > |
| | | <el-button |
| | | @click="resetInfo('queryForm')" |
| | | icon="el-icon-delete" |
| | | size="small" |
| | | >{{ $t("common.empty") }}</el-button |
| | | > |
| | | <el-form-item style="float: right"> |
| | | <el-button |
| | | v-if="btnStatus.insert" |
| | | @click="showAddDialog" |
| | | icon="el-icon-plus" |
| | | size="small" |
| | | type="success" |
| | | >{{ $t("common.append") }}</el-button |
| | | > |
| | | <el-button |
| | |
| | | icon="el-icon-delete" |
| | | >{{ $t("common.delete") }}</el-button |
| | | > |
| | | <el-button |
| | | @click="queryInfo('queryForm')" |
| | | icon="el-icon-search" |
| | | size="small" |
| | | class="primary" |
| | | >{{ $t("common.iquery") }}</el-button |
| | | > |
| | | <el-button |
| | | @click="resetInfo('queryForm')" |
| | | icon="el-icon-delete" |
| | | size="small" |
| | | type="info" |
| | | >{{ $t("common.empty") }}</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="table_box"> |
| | | <div class="dividing-line"></div> |
| | | <div class="table_box" style="height: calc(100% - 60px)"> |
| | | <el-table |
| | | :data="tableData" |
| | | border |
| | | style="width: 100%" |
| | | fit |
| | | @selection-change="handleSelectionChange" |
| | | height="99%" |
| | | height="calc(100% - 57px)" |
| | | > |
| | | <el-table-column type="selection" width="50" /> |
| | | <el-table-column |
| | |
| | | prop="codeDesc" |
| | | :label="$t('dataManage.domainManage.codeDesc')" |
| | | /> |
| | | <el-table-column |
| | | <!-- <el-table-column |
| | | align="center" |
| | | prop="bsm" |
| | | :label="$t('dataManage.domainManage.bsm')" |
| | | /> |
| | | /> --> |
| | | <el-table-column |
| | | align="center" |
| | | prop="level" |
| | |
| | | /> |
| | | |
| | | <el-table-column min-width="150" :label="$t('common.operate')"> |
| | | <template slot-scope="scope" |
| | | ><el-button @click="showDetail(scope.row)" size="small" |
| | | >查看</el-button |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | @click="showDetail(scope.row)" |
| | | type="primary" |
| | | size="small" |
| | | plain |
| | | >{{ $t("common.details") }}</el-button |
| | | > |
| | | <el-button |
| | | v-if="btnStatus.update" |
| | | type="warning" |
| | | @click="handleEdit(scope.$index, scope.row)" |
| | | size="small" |
| | | plain |
| | | >{{ $t("common.update") }}</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div |
| | | class="pagination_box" |
| | | style="margin-top: 20px; margin-left: 200px" |
| | | > |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="listData.pageIndex" |
| | | :page-sizes="[10, 20, 30, 40]" |
| | | :page-size="listData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="count" |
| | | > |
| | | </el-pagination> |
| | | <div class="pagination_box" style="margin-top: 15px"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="listData.pageIndex" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="listData.pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="count" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="infoBox" v-show="showinfoBox"> |
| | | <el-card class="box-card"> |
| | | <div class="infoBox_box" v-show="showinfoBox"> |
| | | <div class="infoBox subpage_Div box_div"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>详细信息</span> |
| | | <span>{{ $t("common.details") }}</span> |
| | | <div style="float: right; cursor: pointer" @click="closeDetial"> |
| | | <i class="el-icon-close"></i> |
| | | </div> |
| | | </div> |
| | | <el-divider></el-divider> |
| | | <div class="contentBox"> |
| | | <p>数据名称:{{ itemdetail.domName }}</p> |
| | | <p> |
| | | {{ $t("dataManage.domainManage.domName") }}:{{ |
| | | itemdetail.domName |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p>所属目录:{{ itemdetail.path }}</p> |
| | | <p> |
| | | {{ $t("dataManage.domainManage.domDesc") }}:{{ |
| | | itemdetail.domDesc |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p>创建时间:{{ itemdetail.create_time }}</p> |
| | | <p> |
| | | {{ $t("dataManage.domainManage.domCode") }}:{{ |
| | | itemdetail.domCode |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p>创建人员:{{ itemdetail.create_user }}</p> |
| | | <p> |
| | | {{ $t("dataManage.domainManage.codeDesc") }}:{{ |
| | | itemdetail.codeDesc |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p>上传单位:{{ itemdetail.up_unit }}</p> |
| | | <p>{{ $t("dataManage.domainManage.bsm") }}:{{ itemdetail.bsm }}</p> |
| | | <el-divider></el-divider> |
| | | <p>数据状态:{{ itemdetail.status }}</p> |
| | | <p> |
| | | {{ $t("dataManage.domainManage.level") }}:{{ itemdetail.level }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p>数据版本:{{ itemdetail.version }}</p> |
| | | <p> |
| | | {{ $t("dataManage.domainManage.orderid") }}:{{ |
| | | itemdetail.orderid |
| | | }} |
| | | </p> |
| | | <el-divider></el-divider> |
| | | <p>{{ $t("dataManage.domainManage.bak") }}:{{ itemdetail.bak }}</p> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </div> |
| | | <el-dialog |
| | | width="510px" |
| | | top="5vh" |
| | | :title="behavior" |
| | | top="2vh" |
| | | :title=" |
| | | behavior == '新增用户' |
| | | ? `${$t('common.append')}` |
| | | : `${$t('common.update')}` |
| | | " |
| | | :visible.sync="dialogFormVisible" |
| | | :before-close="handleClose" |
| | | > |
| | | <el-form :model="editForm" ref="editForm"> |
| | | <div style="height: 500px; overflow: auto"> |
| | | <el-form :model="editForm" ref="editForm" label-position="top"> |
| | | <el-form-item |
| | | :label="$t('dataManage.domainManage.domName')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.domName" autocomplete="off"></el-input> |
| | | <el-select |
| | | :popper-append-to-body="false" |
| | | style="width:85%" |
| | | v-model="editForm.domName" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in domainOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <!-- <el-input v-model="editForm.domName" autocomplete="off"></el-input> --> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.domainManage.domDesc')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.domDesc" autocomplete="off"></el-input> |
| | | <el-input v-model="editForm.domDesc" autocomplete="off" style="width:85%"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item |
| | | :label="$t('dataManage.domainManage.domCode')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.domCode" autocomplete="off"></el-input> |
| | | <el-input v-model="editForm.domCode" autocomplete="off" style="width:85%"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.domainManage.codeDesc')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.codeDesc" autocomplete="off"></el-input> |
| | | <el-input v-model="editForm.codeDesc" autocomplete="off" style="width:85%"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.domainManage.bsm')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.bsm" autocomplete="off"></el-input> |
| | | <el-input v-model="editForm.bsm" autocomplete="off" style="width:85%"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.domainManage.level')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.level" autocomplete="off"></el-input> |
| | | <el-input v-model="editForm.level" autocomplete="off" style="width:85%"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.domainManage.orderid')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.orderid" autocomplete="off"></el-input> |
| | | <el-input v-model="editForm.orderid" autocomplete="off" style="width:85%"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | :label="$t('dataManage.domainManage.bak')" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-input v-model="editForm.bak" autocomplete="off"></el-input> |
| | | <el-input v-model="editForm.bak" autocomplete="off" style="width:85%"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div v-if="behavior == '修改信息'" slot="footer" class="dialog-footer"> |
| | | <el-button @click="cancelEdit()">重置</el-button> |
| | | <el-button size="small" @click="cancelEdit()">{{ |
| | | $t("common.reset") |
| | | }}</el-button> |
| | | <el-button |
| | | size="medium" |
| | | type="primary" |
| | | size="small" |
| | | class="primary" |
| | | type="info" |
| | | @click="sendEdit('editForm')" |
| | | v-loading.fullscreen.lock="fullscreenLoading" |
| | | >{{ $t("common.confirm") }}</el-button |
| | | > |
| | | </div> |
| | | <div v-else slot="footer" class="dialog-footer"> |
| | | <el-button @click="cancelAdd('editForm')">重置</el-button> |
| | | <el-button type="info" size="small" @click="cancelAdd('editForm')">{{ |
| | | $t("common.reset") |
| | | }}</el-button> |
| | | <el-button |
| | | size="medium" |
| | | type="primary" |
| | | size="small" |
| | | class="primary" |
| | | @click="sendAdd('editForm')" |
| | | v-loading.fullscreen.lock="fullscreenLoading" |
| | | >{{ $t("common.confirm") }}</el-button |
| | |
| | | insertDomain, |
| | | deleteDomain, |
| | | updateDomain, |
| | | domain_selectDomainNames, |
| | | } from "../../api/api"; |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | export default { |
| | |
| | | components: { MyBread }, |
| | | data() { |
| | | return { |
| | | filterInput: "", |
| | | domainOptions: [], |
| | | multipleSelection: [], |
| | | behavior: "", |
| | | formLabelWidth: "100px", |
| | |
| | | showinfoBox: false, |
| | | fullscreenLoading: false, |
| | | itemdetail: {}, |
| | | editForm: {}, |
| | | editForm: { |
| | | domName: "", |
| | | }, |
| | | queryForm: { |
| | | code: "", |
| | | }, |
| | |
| | | }, |
| | | domainData: [ |
| | | { |
| | | tabDesc: "基础数据", |
| | | val: "基础数据", |
| | | children: [], |
| | | }, |
| | | { |
| | | tabDesc: "业务数据", |
| | | val: "业务数据", |
| | | children: [], |
| | | }, |
| | | { |
| | | val: "元数据", |
| | | children: [], |
| | | }, |
| | | ], |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "tabDesc", |
| | | label: "val", |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | return this.$store.state.cataNode.id; |
| | | }, |
| | | }, |
| | | |
| | | methods: { |
| | | toggleTabs(data) { |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | |
| | | return data.val.indexOf(value) !== -1; |
| | | }, |
| | | async toggleTabs(data) { |
| | | this.fullscreenLoading = true; |
| | | this.listData.ns = data.ns; |
| | | this.listData.tab = data.tab; |
| | | this.listData.pageIndex = 1; |
| | | this.listData.pageSize = 10; |
| | | const res = await domain_selectDomainNames(data); |
| | | if (res.code != 200) { |
| | | this.$message.error("domain调用失败"); |
| | | } |
| | | var std = []; |
| | | for (var i = 0; i < res.result.length; i++) { |
| | | std.push({ |
| | | value: res.result[i], |
| | | label: res.result[i], |
| | | }); |
| | | } |
| | | this.domainOptions = std; |
| | | this.editForm.domName = res.result[0]; |
| | | |
| | | getSingleTab(this.listData).then((res) => { |
| | | setTimeout(() => { |
| | | this.tableData = res.result; |
| | | this.count = res.count; |
| | | this.fullscreenLoading = false; |
| | | if (res.code == 200) { |
| | | this.tableData = res.result; |
| | | this.count = res.count; |
| | | this.fullscreenLoading = false; |
| | | } else { |
| | | this.tableData = []; |
| | | this.count = 0; |
| | | this.fullscreenLoading = false; |
| | | } |
| | | }, 500); |
| | | }); |
| | | }, |
| | |
| | | getDomainTabs().then((res) => { |
| | | let bdres = res.result.filter((item) => item.ns == "bd"); |
| | | let bsres = res.result.filter((item) => item.ns == "bs"); |
| | | let mdres = res.result.filter((item) => item.ns == "md"); |
| | | for (var i in bdres) { |
| | | // bdres[i].val = bdres[i].tabDesc + '(' + bdres[i].tab + ')'; |
| | | bdres[i].val = bdres[i].tabDesc; |
| | | } |
| | | for (var i in bsres) { |
| | | // bsres[i].val = bsres[i].tabDesc + '(' + bsres[i].tab + ')'; |
| | | bsres[i].val = bsres[i].tabDesc; |
| | | } |
| | | for (var i in mdres) { |
| | | // bsres[i].val = bsres[i].tabDesc + '(' + bsres[i].tab + ')'; |
| | | mdres[i].val = mdres[i].tabDesc; |
| | | } |
| | | this.domainData[0].children = bdres; |
| | | this.domainData[1].children = bsres; |
| | | this.domainData[2].children = mdres; |
| | | }); |
| | | }, |
| | | handleSelectionChange(val) { |
| | |
| | | |
| | | queryInfo() { |
| | | let searchData = { |
| | | code: this.queryForm.code, |
| | | name: this.queryForm.code, |
| | | ns: this.listData.ns, |
| | | tab: this.listData.tab, |
| | | pageIndex: this.listData.pageIndex, |
| | |
| | | this.tableData = res.result; |
| | | this.count = res.count; |
| | | } else { |
| | | console.log("查询接口报错"); |
| | | this.$notify.error({ |
| | | title: res.code, |
| | | message: res.result, |
| | |
| | | this.queryForm = {}; |
| | | this.$store.state.verCateNode = {}; |
| | | this.$bus.$emit("clearTressLabel", true); |
| | | this.getAllTabelData(); |
| | | this.listData.pageIndex = 1; |
| | | this.listData.pageSize = 10; |
| | | this.queryInfo(); |
| | | }, |
| | | // 删除多条 |
| | | deleteInfo() { |
| | |
| | | sendAdd(formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | // console.log(this.editForm); |
| | | this.fullscreenLoading = true; |
| | | |
| | | insertDomain(this.editForm) |
| | | .then((res) => { |
| | | setTimeout(() => { |
| | |
| | | }, 500); |
| | | }) |
| | | .catch((res) => { |
| | | alert("修改失败,请重试!"); |
| | | alert("添加失败,请重试!"); |
| | | this.fullscreenLoading = false; |
| | | }); |
| | | } else { |
| | |
| | | immediate: true, |
| | | handler(val) {}, |
| | | }, |
| | | filterInput(val) { |
| | | this.$refs.tree.filter(val); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="less" scoped> |
| | | //@import url(); 引入公共css类 |
| | | .authorityManagement_box { |
| | | background: rgb(240, 242, 245); |
| | | border-radius: 10px; |
| | | height: 100%; |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | .el-input { |
| | | width: 300px !important; |
| | | } |
| | | // @import url(); 引入公共css类 |
| | | .domainBox { |
| | | height: 98%; |
| | | width: 98%; |
| | | padding: 0.5%; |
| | | .mainBox { |
| | | padding-top: 10px; |
| | | width: 100%; |
| | | height: calc(100% - 75px); |
| | | display: flex; |
| | | justify-content: space-between; |
| | | justify-content: space-around; |
| | | .leftTree { |
| | | width: 15%; |
| | | height: 90vh; |
| | | border-radius: 10px; |
| | | overflow: auto; |
| | | width: calc(23% - 0px); |
| | | height: 100%; |
| | | |
| | | border-radius: 5px; |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | overflow-y: auto; |
| | | } |
| | | .right { |
| | | width: 84%; |
| | | height: 92vh; |
| | | // background-color: #bfa; |
| | | width: 75%; |
| | | height: 100%; |
| | | border-radius: 5px; |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | border: 1px solid #dcdfe6; |
| | | .inquire { |
| | | margin-bottom: 10px; |
| | | background: #fff; |
| | | padding: 8px; |
| | | // margin-top: 10px; |
| | | border-radius: 5px; |
| | | border: 1px solid rgb(202, 201, 204); |
| | | //border: 1px solid #dcdfe6; |
| | | //margin-bottom: 20px; |
| | | .el-form-item { |
| | | margin: 5px; |
| | | } |
| | | } |
| | | .table_box { |
| | | width: 100%; |
| | | height: 90%; |
| | | margin: 0 auto; |
| | | overflow: auto; |
| | | background: #fff; |
| | | // .el-table { |
| | | // height: 100%; |
| | | // } |
| | | .el-table /deep/ th.el-table__cell > .cell { |
| | | padding: 15px !important; |
| | | } |
| | | // .el-table /deep/ .el-table__header-wrapper tr th { |
| | | // background-color: rgb(255, 255, 255) !important; |
| | | // color: rgb(0, 0, 0); |
| | | // } |
| | | // // 修改每行样式: |
| | | // .el-table /deep/ .el-table__row { |
| | | // background-color: rgba(255, 255, 255) !important; |
| | | // color: rgb(0, 0, 0); |
| | | // } |
| | | // .el-table /deep/ .el-table__body tr.current-row > td { |
| | | // background-color: rgb(211, 211, 211) !important; |
| | | // } |
| | | // .el-table /deep/ .el-table__body tr:hover > td { |
| | | // background-color: rgb(211, 211, 211) !important; |
| | | // } |
| | | // // 修改表格每行边框的样式: |
| | | // .el-table /deep/ td, |
| | | // .el-table /deep/ th.is-leaf { |
| | | // border-bottom: 1px solid #eee; |
| | | // border-right: 1px solid #eee; |
| | | // } |
| | | // .el-table /deep/ .el-table__cell { |
| | | // padding: 0; |
| | | // } |
| | | // 设置表格每行的高度: |
| | | // .el-table /deep/ .el-table__header tr, |
| | | // .el-table /deep/ .el-table__header th { |
| | | // height: 40px; |
| | | // } |
| | | // .el-table__body tr, |
| | | // .el-table__body td { |
| | | // height: 40px; |
| | | // padding: 0; |
| | | // } |
| | | // 设置表格边框颜色: |
| | | |
| | | .el-table--border::after, |
| | | .el-table--group::after { |
| | | width: 0; |
| | | } |
| | | .el-table::before { |
| | | height: 0; |
| | | } |
| | | // a { |
| | | // color: #000; |
| | | // } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .infoBox { |
| | | width: 500px; |
| | | border: 1px solid #eee; |
| | | position: absolute; |
| | | z-index: 100; |
| | | top: 15%; |
| | | right: 25%; |
| | | background-color: #fff; |
| | | .el-card { |
| | | background-color: transparent; |
| | | span { |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | } |
| | | } |
| | | .contentBox { |
| | | margin: 0 aotu 10px; |
| | | height: 600px; |
| | | overflow: auto; |
| | | p { |
| | | // background-color: #bfa; |
| | | // margin-bottom: 10px; |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | } |
| | | /deep/ .el-dialog { |
| | | width: 620px !important; |
| | | margin-top: 10vh !important; |
| | | } |
| | | |
| | | /deep/.el-dialog .el-input__inner { |
| | | width: 300px; |
| | | } |
| | | /deep/ .el-dialog__body { |
| | | padding: 0px 30px; |
| | | } |
| | | /deep/ .el-dialog__footer { |
| | | padding-top: 0 !important; |
| | | width: 600px; |
| | | display: flex; |
| | | margin: 0 auto; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | </style> |