管道基础大数据平台系统开发-【前端】-新系統界面
liupengpeng
2023-02-13 a670b7361a32c8b40af9afbf49770d47f4c240e9
src/views/userManage/resourceManage.vue
@@ -30,7 +30,7 @@
          >{{ $t('common.empty') }}</el-button>
          <el-button
            v-if="menuStatus.insert"
            @click="InsertFormdialog = true"
            @click="setInsertFormdialog"
            icon="el-icon-edit"
            type="success"
            size="small"
@@ -133,7 +133,7 @@
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="listData.pageIndex"
        :page-sizes="[10, 20, 30, 40]"
        :page-sizes="[10, 20, 50, 100]"
        :page-size="listData.pageSize"
        layout="total, sizes, prev, pager, next, jumper"
        :total="count"
@@ -144,93 +144,92 @@
      class="infoBox box_div "
      v-show="showinfoBox"
    >
      <el-card class="box-card">
      <div
        slot="header"
        class="clearfix"
      >
        <span>{{ $t('dataManage.styleObj.deInformation') }}</span>
        <div
          slot="header"
          class="clearfix"
          style="float: right; cursor: pointer"
          @click="closeDetial"
        >
          <span>{{ $t('dataManage.styleObj.deInformation') }}</span>
          <div
            style="float: right; cursor: pointer"
            @click="closeDetial"
          >
            <i class="el-icon-close"></i>
          </div>
          <i class="el-icon-close"></i>
        </div>
      </div>
      <el-divider></el-divider>
      <div class="contentBox">
        <p>
          <label> {{ $t('userManage.resManageObj.name') }}:</label>
          <label class="boxlabel">{{ itemdetail.name }}</label>
        </p>
        <el-divider></el-divider>
        <div class="contentBox">
          <p>
            <label> {{ $t('userManage.resManageObj.name') }}:</label>
            <label class="boxlabel">{{ itemdetail.name }}</label>
          </p>
          <el-divider></el-divider>
          <p>
          <p>
            <label> {{ $t('userManage.resManageObj.server') }}:</label>
            <label class="boxlabel">{{ itemdetail.server }}</label>
          </p>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.resManageObj.source') }}:</label>
            <label class="boxlabel">{{ itemdetail.source }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.resManageObj.depid') }}:</label>
            <label class="boxlabel">{{ itemdetail.depName }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.resManageObj.dirid') }}:</label>
            <label class="boxlabel">{{ itemdetail.dirName }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.resManageObj.descr') }}:</label>
            <label class="boxlabel">{{ itemdetail.descr }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.resManageObj.img') }}:</label>
            <label class="boxlabel">
              <div style="width:440px;height:200px;">
                <img
                  style="width:100%; height:100%"
                  :src="itemdetail.imageFile"
                  alt=""
                />
              </div>
            </label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.resManageObj.createUser') }}:</label>
            <label class="boxlabel">{{ itemdetail.createUser }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.resManageObj.createTime') }}:</label>
            <label class="boxlabel">{{ itemdetail.createTime }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.resManageObj.updateUser') }}:</label>
            <label class="boxlabel">{{ itemdetail.updateUser }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.resManageObj.updateTime') }}:</label>
            <label class="boxlabel">{{ itemdetail.updateTime }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.resManageObj.bak') }}:</label>
            <label class="boxlabel">{{ itemdetail.bak }}</label>
          </p>
          <el-divider></el-divider>
        </div>
      </el-card>
        <p>
        <p>
          <label> {{ $t('userManage.resManageObj.server') }}:</label>
          <label class="boxlabel">{{ itemdetail.server }}</label>
        </p>
        </p>
        <el-divider></el-divider>
        <p>
          <label> {{ $t('userManage.resManageObj.source') }}:</label>
          <label class="boxlabel">{{ itemdetail.source }}</label>
        </p>
        <el-divider></el-divider>
        <p>
          <label> {{ $t('userManage.resManageObj.depid') }}:</label>
          <label class="boxlabel">{{ itemdetail.depName }}</label>
        </p>
        <el-divider></el-divider>
        <p>
          <label> {{ $t('userManage.resManageObj.dirid') }}:</label>
          <label class="boxlabel">{{ itemdetail.dirName }}</label>
        </p>
        <el-divider></el-divider>
        <p>
          <label> {{ $t('userManage.resManageObj.descr') }}:</label>
          <label class="boxlabel">{{ itemdetail.descr }}</label>
        </p>
        <el-divider></el-divider>
        <p>
          <label> {{ $t('userManage.resManageObj.img') }}:</label>
          <label class="boxlabel">
            <div style="width:440px;height:200px;">
              <img
                style="width:100%; height:100%"
                :src="itemdetail.imageFile"
                alt=""
              />
            </div>
          </label>
        </p>
        <el-divider></el-divider>
        <p>
          <label> {{ $t('userManage.resManageObj.createUser') }}:</label>
          <label class="boxlabel">{{ itemdetail.createUser }}</label>
        </p>
        <el-divider></el-divider>
        <p>
          <label> {{ $t('userManage.resManageObj.createTime') }}:</label>
          <label class="boxlabel">{{ itemdetail.createTime }}</label>
        </p>
        <el-divider></el-divider>
        <p>
          <label> {{ $t('userManage.resManageObj.updateUser') }}:</label>
          <label class="boxlabel">{{ itemdetail.updateUser }}</label>
        </p>
        <el-divider></el-divider>
        <p>
          <label> {{ $t('userManage.resManageObj.updateTime') }}:</label>
          <label class="boxlabel">{{ itemdetail.updateTime }}</label>
        </p>
        <el-divider></el-divider>
        <p>
          <label> {{ $t('userManage.resManageObj.bak') }}:</label>
          <label class="boxlabel">{{ itemdetail.bak }}</label>
        </p>
        <el-divider></el-divider>
      </div>
    </div>
    <el-dialog
      :title="dialogTitle"
@@ -296,7 +295,27 @@
          :label="$t('userManage.resManageObj.depid')"
          :label-width="formLabelWidth"
        >
          <el-input
          <el-select
            :popper-append-to-body="false"
            v-model="insertform.depValue"
            placeholder="请选择"
            style="width:92.5%"
          >
            <el-option
              :value="insertform.depid"
              :label="insertform.depValue"
              style=" height:auto"
            >
              <el-tree
                ref="tree"
                :data="depList"
                node-key="id"
                :props="props"
                @node-click="handleDepList"
              />
            </el-option>
          </el-select>
          <!-- <el-input
            v-model="insertform.depValue"
            disabled
            autocomplete="off"
@@ -305,22 +324,33 @@
            :underline="false"
            @click="showDepTree(0)"
            style="margin-left: 10px"
          ><i class="el-icon-plus"></i></el-link>
          ><i class="el-icon-plus"></i></el-link> -->
        </el-form-item>
        <el-form-item
          :label="$t('userManage.resManageObj.dirid')"
          :label-width="formLabelWidth"
        >
          <el-input
          <el-select
            :popper-append-to-body="false"
            v-model="insertform.dirValue"
            disabled
            autocomplete="off"
          ></el-input>
          <el-link
            :underline="false"
            @click="showDirTree(0)"
            style="margin-left: 10px"
          ><i class="el-icon-plus"></i></el-link>
            placeholder="请选择"
            style="width:92.5%"
          >
            <el-option
              :value="insertform.dirid"
              :label="insertform.dirValue"
              style=" height:auto"
            >
              <el-tree
                ref="tree"
                :data="dirList"
                node-key="id"
                :props="props"
                @node-click="handleDirList"
              />
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item
          :label="$t('userManage.resManageObj.descr')"
@@ -430,7 +460,27 @@
          :label="$t('userManage.resManageObj.depid')"
          :label-width="formLabelWidth"
        >
          <el-input
          <el-select
            :popper-append-to-body="false"
            v-model="upform.depValue"
            placeholder="请选择"
            style="width:92.5%"
          >
            <el-option
              :value="upform.depid"
              :label="upform.depValue"
              style=" height:auto"
            >
              <el-tree
                ref="tree1"
                :data="dirList"
                node-key="id"
                :props="props"
                @node-click="handleEditDepList"
              />
            </el-option>
          </el-select>
          <!-- <el-input
            v-model="upform.depValue"
            disabled
            autocomplete="off"
@@ -439,13 +489,34 @@
            :underline="false"
            @click="showDepTree(1)"
            style="margin-left: 10px"
          ><i class="el-icon-plus"></i></el-link>
          ><i class="el-icon-plus"></i></el-link> -->
        </el-form-item>
        <el-form-item
          :label="$t('userManage.resManageObj.dirid')"
          :label-width="formLabelWidth"
        >
          <el-input
          <el-select
            :popper-append-to-body="false"
            v-model="upform.dirValue"
            placeholder="请选择"
            style="width:92.5%"
          >
            <el-option
              :value="upform.dirid"
              :label="upform.dirValue"
              style=" height:auto"
            >
              <el-tree
                ref="tree1"
                :data="dirList"
                node-key="id"
                :props="props"
                :default-expand-all="defaultExpand"
                @node-click="handleEditDirList"
              />
            </el-option>
          </el-select>
          <!-- <el-input
            v-model="upform.dirValue"
            disabled
            autocomplete="off"
@@ -454,7 +525,7 @@
            :underline="false"
            @click="showDirTree(1)"
            style="margin-left: 10px"
          ><i class="el-icon-plus"></i></el-link>
          ><i class="el-icon-plus"></i></el-link> -->
        </el-form-item>
        <el-form-item
          :label="$t('userManage.resManageObj.descr')"
@@ -587,6 +658,8 @@
  updateRes,
  deleteRess,
  upload_res,
  selectdirTab,
  selectdepTab,
} from '../../api/api.js';
import styleDirTree from '../datamanage/styleDirTree.vue';
import styleDepTree from '../datamanage/styleDepTree.vue';
@@ -594,6 +667,15 @@
  components: { MyBread, styleDirTree, styleDepTree },
  data() {
    return {
      props: {
        label: 'name',
        value: 'id',
        children: 'children',
        checkStrictly: true,
        emitPath: false,
      },
      depList: [],
      dirList: [],
      menuStatus: {
        delete: false,
        insert: false,
@@ -616,6 +698,8 @@
      uploadFile: null,
      insertform: {
        img: '',
        depValue: '',
        dirValue: ''
      },
      tableData: [],
      itemdetail: {},
@@ -645,6 +729,53 @@
    this.getRoleTabelData();
  },
  methods: {
    handleEditDepList(data, node, nodeData) {
      this.upform.depid = data.id
      this.upform.depValue = data.name;
    },
    handleEditDirList(data, node, nodeData) {
      this.upform.dirid = data.id
      this.upform.dirValue = data.name;
    },
    handleDepList(data, node, nodeData) {
      this.insertform.depid = data.id
      this.insertform.depValue = data.name;
    },
    handleDirList(data, node, nodeData) {
      this.insertform.dirid = data.id
      this.insertform.dirValue = data.name;
    },
    treeData(source) {
      let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆
      return cloneData.filter((father) => {
        // 循环所有项
        let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据
        branchArr.length > 0 ? (father.children = branchArr) : ''; // 给父级添加一个children属性,并赋值
        // 属于同一对象问题,例如:令 a=b、c=1 ,然后再令 b.c=c , 那么 a.c=b.c=c=1 ;同理,后续令 c.d=2 ,那么 a.c.d 也是=2;
        // 由此循环多次后,就能形成相应的树形数据结构
        return father.pid == 0; // 返回一级菜单
      });
    },
    async getDepList() {
      const data = await selectdepTab();
      if (data.code != 200) {
        return this.$message.error('单位列表调用失败');
      }
      this.depList = this.treeData(data.result)
    },
    async getDirList() {
      const data = await selectdirTab();
      if (data.code != 200) {
        return this.$message.error('目录列表调用失败');
      }
      this.dirList = this.treeData(data.result)
    },
    setInsertFormdialog() {
      this.getDepList();
      this.getDirList();
      this.InsertFormdialog = true;
    },
    showPermsMenu(res) {
      switch (res.tag) {
        case '/delete':
@@ -808,6 +939,8 @@
      console.log(this.itemdetail.imageFile)
    },
    handleEdit(index, row) {
      this.getDepList();
      this.getDirList();
      this.EditFormdialog = true;
      this.upform = row;
      this.upform.depValue = row.depName;
@@ -894,16 +1027,16 @@
  height: 98%;
  width: 98%;
  padding: 1%;
  .el-input {
    width: 730px;
  }
  .power_quire {
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 10px;
    .el-form-item {
      margin: 5px;
@@ -912,8 +1045,7 @@
      width: 467px;
    }
  }
  .leftTree {
    position: absolute;
    z-index: 10;
@@ -922,11 +1054,10 @@
    left: 800px;
    width: 400px;
    height: 600px;
    .treeBox {
      height: 550px;
      overflow: auto;
    }
    .btnBox {
      width: 160px;
@@ -934,8 +1065,6 @@
      // background-color: red;
    }
  }
}
</style>