From df007d0b7f677240d9ab9b01e6bebdbad0762a0f Mon Sep 17 00:00:00 2001 From: lxl <lixuliang_hd@126.com> Date: 星期一, 07 十一月 2022 16:22:12 +0800 Subject: [PATCH] 菜单 --- src/views/datamanage/domainManage.vue | 601 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 601 insertions(+), 0 deletions(-) diff --git a/src/views/datamanage/domainManage.vue b/src/views/datamanage/domainManage.vue new file mode 100644 index 0000000..47c68ed --- /dev/null +++ b/src/views/datamanage/domainManage.vue @@ -0,0 +1,601 @@ +<template> + <div class="authorityManagement_box"> + <My-bread :list="[`${$t('dataManage.dataManage')}`, `鍊煎煙绠$悊`]"></My-bread> + <el-divider /> + <div class="contentBox"> + <div class="leftTree"> + <el-tree + :data="domainData" + :props="defaultProps" + :default-expand-all="true" + @node-click="toggleTabs" + ></el-tree> + </div> + <div class="right"> + <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.name" + :placeholder="$t('common.pleaseInput')" + /> + </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-button + v-if="btnStatus.insert" + @click="showAddDialog" + icon="el-icon-plus" + size="small" + >{{ $t("common.append") }}</el-button + > + <el-button + v-if="btnStatus.delete" + type="danger" + size="small" + @click="handleDelete" + icon="el-icon-delete" + >{{ $t("common.delete") }}</el-button + > + </el-form-item> + </el-form> + </div> + <div class="table_box"> + <el-table :data="tableData" stripe style="width: 100%" height="99%"> + <el-table-column type="selection" width="50" /> + <el-table-column + align="center" + type="index" + :label="$t('dataManage.domainManage.index')" + width="70px" + /> + <el-table-column + align="center" + prop="domName" + :label="$t('dataManage.domainManage.domName')" + /> + <el-table-column + align="center" + prop="domDesc" + :label="$t('dataManage.domainManage.domDesc')" + /> + <el-table-column + align="center" + prop="domCode" + :label="$t('dataManage.domainManage.domCode')" + /> + <el-table-column + align="center" + prop="codeDesc" + :label="$t('dataManage.domainManage.codeDesc')" + /> + <el-table-column + align="center" + prop="bsm" + :label="$t('dataManage.domainManage.bsm')" + /> + <el-table-column + align="center" + prop="level" + :label="$t('dataManage.domainManage.level')" + /> + <el-table-column + align="center" + prop="orderid" + :label="$t('dataManage.domainManage.orderid')" + /> + <el-table-column + align="center" + prop="bak" + :label="$t('dataManage.domainManage.bak')" + /> + + <el-table-column min-width="150" :label="$t('common.operate')"> + <template slot-scope="scope"> + <el-button + v-if="btnStatus.update" + @click="handleEdit(scope.$index, scope.row)" + type="warning" + size="small" + >{{ $t("common.update") }}</el-button + > + <el-button + v-if="btnStatus.delete" + @click="handleDelete(scope.$index, scope.row)" + type="danger" + size="small" + >{{ $t("common.delete") }}</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> + </div> + </div> + <div class="infoBox" v-show="showinfoBox"> + <el-card class="box-card"> + <div slot="header" class="clearfix"> + <span>璇︾粏淇℃伅</span> + <div style="float: right; cursor: pointer"> + <i class="el-icon-close"></i> + </div> + </div> + <div class="contentBox"> + <p>鏁版嵁鍚嶇О锛歿{ itemdetail.domName }}</p> + <el-divider></el-divider> + <p>鎵�灞炵洰褰曪細{{ itemdetail.path }}</p> + <el-divider></el-divider> + <p>鍒涘缓鏃堕棿锛歿{ itemdetail.create_time }}</p> + <el-divider></el-divider> + <p>鍒涘缓浜哄憳锛歿{ itemdetail.create_user }}</p> + <el-divider></el-divider> + <p>涓婁紶鍗曚綅锛歿{ itemdetail.up_unit }}</p> + <el-divider></el-divider> + <p>鏁版嵁鐘舵�侊細{{ itemdetail.status }}</p> + <el-divider></el-divider> + <p>鏁版嵁鐗堟湰锛歿{ itemdetail.version }}</p> + </div> + </el-card> + </div> + <el-dialog + width="510px" + top="5vh" + :title="behavior" + :visible.sync="dialogFormVisible" + :before-close="handleClose" + > + <el-form :model="editForm" ref="editForm"> + <el-form-item + :label="$t('dataManage.domainManage.domName')" + :label-width="formLabelWidth" + > + <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-form-item> + <el-form-item + :label="$t('dataManage.domainManage.domCode')" + :label-width="formLabelWidth" + > + <el-input v-model="editForm.domCode" autocomplete="off"></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-form-item> + <el-form-item + :label="$t('dataManage.domainManage.bsm')" + :label-width="formLabelWidth" + > + <el-input v-model="editForm.bsm" autocomplete="off"></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-form-item> + <el-form-item + :label="$t('dataManage.domainManage.orderid')" + :label-width="formLabelWidth" + > + <el-input v-model="editForm.orderid" autocomplete="off"></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-form-item> + </el-form> + <div v-if="behavior == '淇敼淇℃伅'" slot="footer" class="dialog-footer"> + <el-button @click="cancelEdit()">閲嶇疆</el-button> + <el-button + size="medium" + type="primary" + @click="sendEdit()" + 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 + size="medium" + type="primary" + @click="sendAdd('editForm')" + v-loading.fullscreen.lock="fullscreenLoading" + >{{ $t("common.confirm") }}</el-button + > + </div> + </el-dialog> + </div> +</template> + +<script> +import { + getDomainTabs, + getSingleTab, + insertDomain, + // deleteDomain, + // updateDomain, +} from "../../api/api"; +import MyBread from "../../components/MyBread.vue"; +export default { + name: "domainManage", + components: { MyBread }, + data() { + return { + multipleSelection: [], + behavior: "", + formLabelWidth: "100px", + dialogFormVisible: false, + showinfoBox: false, + fullscreenLoading: false, + itemdetail: {}, + editForm: {}, + queryForm: {}, + insertform: {}, + initialForm: "", + + tableData: [], + count: 0, + rowFlag: null, + listData: { + ns: "", + tab: "", + pageIndex: 1, + pageSize: 10, + }, + btnStatus: { + select: false, + delete: false, + upload: false, + download: false, + insert: false, + update: false, + }, + domainData: [ + { + tabDesc: "鍩虹鏁版嵁", + children: [], + }, + { + tabDesc: "涓氬姟鏁版嵁", + children: [], + }, + ], + defaultProps: { + children: "children", + label: "tabDesc", + }, + }; + }, + created() { + this.getAllTabelData(); + this.showPermsBtn(); + }, + computed: { + pathId() { + return this.$store.state.cataNode.id; + }, + }, + methods: { + toggleTabs(data) { + this.fullscreenLoading = true; + this.listData.ns = data.ns; + this.listData.tab = data.tab; + getSingleTab(this.listData).then((res) => { + setTimeout(() => { + this.tableData = res.result; + this.count = res.count; + this.fullscreenLoading = false; + }, 500); + }); + }, + showPermsBtn() { + let currentPerms = this.$store.state.currentPerms; + let permsEntity = this.$store.state.permsEntity; + permsEntity + .filter((item) => item.perms == currentPerms) + .map((item) => (this.btnStatus[item.tag.substr(1)] = true)); + }, + getAllTabelData() { + getDomainTabs().then((res) => { + let bdres = res.result.filter((item) => item.ns == "bd"); + let bsres = res.result.filter((item) => item.ns == "bs"); + this.domainData[0].children = bdres; + this.domainData[1].children = bsres; + }); + }, + + queryInfo() { + alert("缂哄皯鏌ヨ鏉′欢鎺ュ彛"); + return; + // let searchData = { + // name: this.queryForm.name.trim(), + // pageIndex: this.pageIndex, + // pageSize: this.pageSize, + // }; + XXX(searchData).then((res) => { + if (res.code == 200) { + this.tableData = res.result; + this.count = res.count; + } else { + console.log("鏌ヨ鎺ュ彛鎶ラ敊"); + this.$notify.error({ + title: res.code, + message: res.result, + }); + } + }); + }, + resetInfo() { + this.queryForm = {}; + this.$store.state.verCateNode = {}; + this.$bus.$emit("clearTressLabel", true); + this.getAllTabelData(); + }, + showAddDialog() { + this.behavior = "鏂板鐢ㄦ埛"; + this.editForm = {}; + this.dialogFormVisible = true; + }, + cancelAdd(formName) { + this.editForm = {}; + this.$refs[formName].resetFields(); + }, + sendAdd() { + this.$refs[formName].validate((valid) => { + if (valid) { + return; + console.log(this.editForm); + this.fullscreenLoading = true; + insertDomain(this.editForm) + .then((res) => { + setTimeout(() => { + this.fullscreenLoading = false; + if (res.code == 200) { + this.getMetaData({ pageIndex: 1, pageSize: 10 }); + this.$message({ + message: "娣诲姞鎴愬姛", + type: "success", + }); + this.editForm = {}; + this.dialogFormVisible = false; + } + }, 500); + }) + .catch((res) => { + alert("淇敼澶辫触锛岃閲嶈瘯锛�"); + this.fullscreenLoading = false; + }); + } else { + console.log("error submit!!"); + return false; + } + }); + }, + handleClose(done) { + this.$confirm("鍏抽棴鍚庢棤娉曚繚瀛橈紝鏄惁鍏抽棴锛�") + .then((_) => { + this.editForm = {}; + done(); + }) + .catch((_) => {}); + }, + handleEdit(index, row) { + this.dialogFormVisible = true; + this.editForm = row; + this.behavior = "灞炴�т慨鏀�"; + }, + editFromDataClose() { + this.dialogFormVisible = false; + this.editForm = {}; + }, + editFromData() { + // this.editForm = {}; + console.log(this.editForm); + }, + handleDelete(index, row) {}, + handleSizeChange(val) { + this.listData.pageSize = val; + // console.log(this.listData); + getSingleTab(this.listData).then((res) => { + setTimeout(() => { + this.tableData = res.result; + this.count = res.count; + this.fullscreenLoading = false; + }, 500); + }); + }, + handleCurrentChange(val) { + this.listData.pageIndex = val; + getSingleTab(this.listData).then((res) => { + setTimeout(() => { + this.tableData = res.result; + this.count = res.count; + this.fullscreenLoading = false; + }, 500); + }); + }, + }, + watch: { + pathId: { + immediate: true, + handler(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; + } + .contentBox { + display: flex; + justify-content: space-between; + .leftTree { + width: 15%; + height: 90vh; + border-radius: 10px; + overflow: auto; + } + .right { + width: 84%; + height: 92vh; + // background-color: #bfa; + .inquire { + margin-bottom: 10px; + background: #fff; + border-radius: 5px; + border: 1px solid rgb(202, 201, 204); + .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; + 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> -- Gitblit v1.9.3