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