|
@@ -0,0 +1,980 @@
|
|
|
+<template>
|
|
|
+ <div class="container">
|
|
|
+ <fullscreen :fullscreen.sync="fullscreen" class="container-box">
|
|
|
+
|
|
|
+ <div class="main-box">
|
|
|
+ <div class="inner-left" style="overflow: hidden">
|
|
|
+ <div class="button-list">
|
|
|
+ <el-button size="mini" type="" @click="addRootMenu" :disabled="authData != '2'" >
|
|
|
+ 添加根目录</el-button
|
|
|
+ >
|
|
|
+ <el-button size="mini" type="" @click="addMenu">
|
|
|
+ 添加子目录</el-button
|
|
|
+ >
|
|
|
+ <el-button size="medium" type="" @click="delMenu"> 删除 </el-button>
|
|
|
+ <el-dropdown
|
|
|
+ @command="treeAction"
|
|
|
+ trigger="click"
|
|
|
+ style="margin-left: 10px"
|
|
|
+ >
|
|
|
+ <el-button type="" plain size="medium"> 操作 </el-button>
|
|
|
+ <el-dropdown-menu slot="dropdown">
|
|
|
+ <el-dropdown-item :command="1">全部展开</el-dropdown-item>
|
|
|
+ <el-dropdown-item :command="2">全部关闭</el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
+ </div>
|
|
|
+ <el-alert type="warning" :closable="false">
|
|
|
+ <template slot="title">
|
|
|
+ {{
|
|
|
+ actionName
|
|
|
+ ? "当前选择节点名称:" + actionName
|
|
|
+ : "当前无选择节点"
|
|
|
+ }}
|
|
|
+ <span v-show="actionName" class="clearStyle" @click="clearClick"
|
|
|
+ >取消选择</span
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-alert>
|
|
|
+
|
|
|
+ <div style="margin: 10px 0">
|
|
|
+ <el-input
|
|
|
+ size="medium"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ v-model="filterText"
|
|
|
+ class="input-with-select"
|
|
|
+ clearable
|
|
|
+ @change="
|
|
|
+ () => {
|
|
|
+ if (!filterText) {
|
|
|
+ searchMenu();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ slot="append"
|
|
|
+ @click="searchMenu"
|
|
|
+ icon="el-icon-search"
|
|
|
+ ></el-button>
|
|
|
+ </el-input>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ height: calc(100% - 160px);
|
|
|
+ overflow-y: auto;
|
|
|
+ margin-top: 20px;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <el-tree
|
|
|
+ ref="catalogTree"
|
|
|
+ :expand-on-click-node="true"
|
|
|
+ :auto-expand-parent="true"
|
|
|
+ :default-expand-all="true"
|
|
|
+ :props="defaultProps"
|
|
|
+ :data="menuList"
|
|
|
+ @node-click="nodeClick"
|
|
|
+ :filter-node-method="filterNode"
|
|
|
+ node-key="id"
|
|
|
+ >
|
|
|
+ <span class="custom-tree-node" slot-scope="{ node }">
|
|
|
+ <span>
|
|
|
+ <span style="color: #009cff" class=""></span>
|
|
|
+ <span
|
|
|
+ :style="
|
|
|
+ node.data.hasOwnProperty('parent')
|
|
|
+ ? 'font-size:14px;padding-left:5px'
|
|
|
+ : 'font-size:12px;padding-left:5px'
|
|
|
+ "
|
|
|
+ >{{ node.data.title }}</span
|
|
|
+ >
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </el-tree>
|
|
|
+ </div>
|
|
|
+ <div class="tree-action"></div>
|
|
|
+ </div>
|
|
|
+ <div class="inner-right" v-show="addOnlineWordFlag">
|
|
|
+ <simple-sheet type="edit" />
|
|
|
+ </div>
|
|
|
+<!-- <simple-dialog-->
|
|
|
+<!-- fullscreen-->
|
|
|
+<!-- title="新增模板"-->
|
|
|
+<!-- width="1200px"-->
|
|
|
+<!-- @confirm="handleVisible('add')"-->
|
|
|
+<!-- @cancel="handleVisible('add')"-->
|
|
|
+<!-- v-show="addOnlineWordFlag"-->
|
|
|
+<!-- >-->
|
|
|
+<!--<!– <el-form inline :model="form" label-width="100px"> </el-form>–>-->
|
|
|
+<!-- <simple-sheet type="add" />-->
|
|
|
+<!--<!– <template v-slot:footer><div></div></template>–>-->
|
|
|
+<!-- </simple-dialog>-->
|
|
|
+
|
|
|
+ <div class="inner-right" v-show="workListFlag">
|
|
|
+<!-- <div class="titbox">-->
|
|
|
+<!-- <div>-->
|
|
|
+<!-- <i class="el-icon-refresh" @click="iconCli(1)"></i>-->
|
|
|
+<!-- <i class="el-icon-full-screen" @click="iconCli(2)"></i>-->
|
|
|
+<!-- <!– <i class="el-icon-folder-opened"></i>–>-->
|
|
|
+<!-- <!– <i class="el-icon-view"></i>–>-->
|
|
|
+<!-- <!– <i class="el-icon-more"></i>–>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </div>-->
|
|
|
+ <div class="search">
|
|
|
+ <span>部门工作清单</span>
|
|
|
+ </div>
|
|
|
+ <div style="margin-bottom: 10px;margin-top: 10px;">
|
|
|
+ <el-button
|
|
|
+ v-show="true"
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ @click="addFile"
|
|
|
+ style="width: 80px"
|
|
|
+ >
|
|
|
+ 新建
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <div class="tabbox">
|
|
|
+ <el-table
|
|
|
+ height="calc(100% )"
|
|
|
+ class="com-table"
|
|
|
+ ref="multipleTable"
|
|
|
+ :data="tableData"
|
|
|
+ tooltip-effect="dark"
|
|
|
+ border
|
|
|
+ size="small"
|
|
|
+ style="width: 100%"
|
|
|
+ v-loading="loading"
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ prop="name"
|
|
|
+ width="150"
|
|
|
+ show-overflow-tooltip
|
|
|
+ label="名称"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="createTime"
|
|
|
+ show-overflow-tooltip
|
|
|
+ label="创建时间"
|
|
|
+ width="150"
|
|
|
+ align="center"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ prop="createCity"
|
|
|
+ show-overflow-tooltip
|
|
|
+ label="创建科室"
|
|
|
+ width="150"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="createBy"
|
|
|
+ show-overflow-tooltip
|
|
|
+ label="创建人"
|
|
|
+ width="150"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="state"
|
|
|
+ show-overflow-tooltip
|
|
|
+ label="状态"
|
|
|
+ width="150"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ :disabled="scope.row.editFlag=='1'?false:true"
|
|
|
+ class="font-btn"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ plain
|
|
|
+ @click="deleteOne(scope.row)"
|
|
|
+ >编辑
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ class="font-btn"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ plain
|
|
|
+ @click="deleteOne(scope.row)"
|
|
|
+ >查看
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ v-show="scope.row.delFlag=='1'?true:false"
|
|
|
+ class="font-btn"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ plain
|
|
|
+ @click="deleteOne(scope.row)"
|
|
|
+ >删除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-pagination
|
|
|
+ class="pageBox"
|
|
|
+ @current-change="currchange"
|
|
|
+ layout="prev, pager, next"
|
|
|
+ background
|
|
|
+ :total="total"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </fullscreen>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import mySearch from "../../../components/search.vue";
|
|
|
+import toolList from "../../../components/toolList";
|
|
|
+import myUpload from "../../../components/upload";
|
|
|
+import simpleSheet from "./sheet1.vue";
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ mySearch,
|
|
|
+ toolList,
|
|
|
+ myUpload,
|
|
|
+ simpleSheet
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ workListFlag:true,
|
|
|
+ addOnlineWordFlag:false,
|
|
|
+ addButton: false,
|
|
|
+ loadinged: false,
|
|
|
+ addDialogStatus: false,
|
|
|
+ searchList: [
|
|
|
+ {
|
|
|
+ type: 'input',
|
|
|
+ tit: '材料名称',
|
|
|
+ value: '',
|
|
|
+ width: '98%',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ tooltit: "文件共享管理",
|
|
|
+ loading: false,
|
|
|
+ defaultExpand: true,
|
|
|
+ functionCode: "",
|
|
|
+ filterText: "", // tree搜索value
|
|
|
+ actionName: "", // 当前选择节点名称
|
|
|
+ menuList: [], // tree数据源
|
|
|
+ checkedMenu: [], // 选中节点的functionCode
|
|
|
+ checkedNodes: [], // 选中节点的node值
|
|
|
+ roleData: "", // 某一条数据
|
|
|
+ tableData: [
|
|
|
+ {
|
|
|
+ name:"测试",
|
|
|
+ createTime:"2022-6-12",
|
|
|
+ createCity:"规划开发室",
|
|
|
+ createBy:"范岩",
|
|
|
+ state:"开",
|
|
|
+ delFlag:"1",//1:代表创建人有删除权限 0:不显示
|
|
|
+ editFlag:"0"//1:不置灰(状态state字段为开时);0:置灰(状态state字段为关时且不是创建人时)
|
|
|
+ }
|
|
|
+ ], // 表格数据源
|
|
|
+ authData: "", //权限数据
|
|
|
+ fullscreen: false,
|
|
|
+ infolist: {
|
|
|
+ isFile: "1",
|
|
|
+ title: "", // 材料名称
|
|
|
+ meeting: "", // 会议名称
|
|
|
+ titleBg: "", // 材料背景
|
|
|
+ auth: "1", // 查看权限
|
|
|
+ mkFileShareAttachList: [], // 附件数据
|
|
|
+ parentId: "",
|
|
|
+ }, // 提交表单数据源
|
|
|
+ formData: {
|
|
|
+ id: "",
|
|
|
+ title: "",
|
|
|
+ createName: JSON.parse(sessionStorage.userInfo).loginName,
|
|
|
+ createId: JSON.parse(sessionStorage.userInfo).loginNo,
|
|
|
+ orgName: JSON.parse(sessionStorage.userInfo).groupName,
|
|
|
+ orgId: JSON.parse(sessionStorage.userInfo).groupId,
|
|
|
+ parentId: "",
|
|
|
+ parentName: "",
|
|
|
+ isFile: "0",
|
|
|
+ auth: "1",
|
|
|
+ },
|
|
|
+ defaultProps: {
|
|
|
+ children: "childDept",
|
|
|
+ label: "title",
|
|
|
+ },
|
|
|
+ filerules: {
|
|
|
+ title: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请输入材料名称",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ meeting: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请输入会议名称",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ titleBg: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请输入材料背景",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ title: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请输入标题",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ parentId: [
|
|
|
+ {
|
|
|
+ required: false,
|
|
|
+ message: "请选择父级编码",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ subType: "",
|
|
|
+ total: 0,
|
|
|
+ pageSize: 1,
|
|
|
+ params: {
|
|
|
+ isFile: "1",
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ paramsSearch: {
|
|
|
+ isFile: "1",
|
|
|
+ id: "",
|
|
|
+ },
|
|
|
+ fileInfo: {
|
|
|
+ type: "bt1n",
|
|
|
+ typename: "上传文件",
|
|
|
+ limit: 5,
|
|
|
+ url: "/market/cmkFileShareNet/upload",
|
|
|
+ fileList: [],
|
|
|
+ },
|
|
|
+ titname: "新增",
|
|
|
+ dialogStatus: false,
|
|
|
+ attList: [],
|
|
|
+ idList: [],
|
|
|
+ };
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ addButtonShow(){
|
|
|
+ //
|
|
|
+ this.addButton=true;
|
|
|
+ },
|
|
|
+ clearClick() {
|
|
|
+ this.actionName = "";
|
|
|
+ this.params.id = "";
|
|
|
+ this.getList(this.params, this.pageSize);
|
|
|
+ },
|
|
|
+
|
|
|
+ handleSelectionChange(val) {
|
|
|
+ this.idList = val;
|
|
|
+ },
|
|
|
+ //搜索数据
|
|
|
+ searchInfo(v) {
|
|
|
+ this.paramsSearch = {};
|
|
|
+ v[0] ? this.paramsSearch.title = v[0] : '';
|
|
|
+ this.paramsSearch.isFile = "1";
|
|
|
+ // this.paramsSearch.parentId = this.infolist.parentId;
|
|
|
+ this.pageSize = 1;//重置分页
|
|
|
+ this.getList(this.paramsSearch, this.pageSize);
|
|
|
+ },
|
|
|
+ // 新增在线文档
|
|
|
+ addFile() {
|
|
|
+ // this.titname = "新增";
|
|
|
+ this.workListFlag = false;
|
|
|
+ this.addOnlineWordFlag = true;
|
|
|
+ },
|
|
|
+ // 上传回调
|
|
|
+ uploadBack(v) {
|
|
|
+ this.attList = v;
|
|
|
+ },
|
|
|
+ // 关闭弹窗
|
|
|
+ closedia() {
|
|
|
+ this.infolist = {};
|
|
|
+ this.dialogStatus = false;
|
|
|
+ this.fileInfo.fileList = [];
|
|
|
+ this.getList(this.params, this.pageSize);
|
|
|
+ },
|
|
|
+ //添加 修改
|
|
|
+ dialogCli(v) {
|
|
|
+ this.fileInfo.fileList = [];
|
|
|
+ if (v === 2) {
|
|
|
+ this.dialogStatus = false;
|
|
|
+ this.getList(this.params, this.pageSize);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.$refs.infolist.validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ let attList = [];
|
|
|
+ for (let i = 0; i < this.attList.length; i++) {
|
|
|
+ attList.push({
|
|
|
+ id: this.attList[i].id,
|
|
|
+ fileName: this.attList[i].fileName,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ this.infolist.mkFileShareAttachList = attList;
|
|
|
+ this.infolist.isFile = "1";
|
|
|
+ this.loadinged = true;
|
|
|
+ this.$http({
|
|
|
+ url: "/market/cmkFileShareNet/add",
|
|
|
+ method: "post",
|
|
|
+ headers: {
|
|
|
+ "Content-Type": "application/json",
|
|
|
+ },
|
|
|
+ data: this.infolist,
|
|
|
+ }).then((res) => {
|
|
|
+ this.loadinged = false;
|
|
|
+ if (res.data.result === 1) {
|
|
|
+ this.$message({
|
|
|
+ message: res.data.desc,
|
|
|
+ type: "error",
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: "成功",
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.fileInfo.fileList = [];
|
|
|
+ // this.infolist = {};
|
|
|
+ this.dialogStatus = false;
|
|
|
+ this.getList(this.params, this.pageSize);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 新增目录-表单提交
|
|
|
+ async submitForm(formName) {
|
|
|
+ let valid = await this.$refs[formName].validate().catch((err) => err);
|
|
|
+ if (valid) {
|
|
|
+ this.$http({
|
|
|
+ url:
|
|
|
+ this.subType == "保存"
|
|
|
+ ? "/market/cmkFileShareNet/add"
|
|
|
+ : "/satisfy/qacatalog/update",
|
|
|
+ method: "post",
|
|
|
+ headers: {
|
|
|
+ "Content-Type": "application/json",
|
|
|
+ },
|
|
|
+ data: this.formData,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.data.result == 0) {
|
|
|
+ this.$message({
|
|
|
+ type: "success",
|
|
|
+ message: res.data.desc,
|
|
|
+ });
|
|
|
+ this.actionName = "";
|
|
|
+ this.getData();
|
|
|
+ this.addDialogStatus = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ type: "error",
|
|
|
+ message: "新增失败",
|
|
|
+ });
|
|
|
+ this.addDialogStatus = false;
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 取消新增目录
|
|
|
+ resetForm(formName) {
|
|
|
+ this.actionName = "";
|
|
|
+ this.$refs[formName].resetFields();
|
|
|
+ this.addDialogStatus = false;
|
|
|
+ },
|
|
|
+ // 新增目录
|
|
|
+ addMenu() {
|
|
|
+ if (!this.actionName) {
|
|
|
+ this.$message("请先点击选中要增加菜单的位置");
|
|
|
+ } else {
|
|
|
+ this.addDialogStatus = true;
|
|
|
+ this.subType = "保存";
|
|
|
+ this.formData.parentId = this.formData.id;
|
|
|
+ this.formData.parentName = this.formData.title;
|
|
|
+ this.formData.title = "";
|
|
|
+ this.formData.id = "";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 新增根目录
|
|
|
+ addRootMenu() {
|
|
|
+ this.addDialogStatus = true;
|
|
|
+ this.subType = "保存";
|
|
|
+ this.formData.parentId = 0;
|
|
|
+ this.formData.parentName = this.formData.title;
|
|
|
+ this.formData.title = "";
|
|
|
+ this.formData.id = "";
|
|
|
+ },
|
|
|
+ // 树展开\折叠
|
|
|
+ treeAction(val) {
|
|
|
+ val == 1 ? (this.defaultExpand = true) : (this.defaultExpand = false);
|
|
|
+ for (
|
|
|
+ let i = 0;
|
|
|
+ i < this.$refs.catalogTree.store._getAllNodes().length;
|
|
|
+ i++
|
|
|
+ ) {
|
|
|
+ this.$refs.catalogTree.store._getAllNodes()[i].expanded =
|
|
|
+ this.defaultExpand;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ deleteOne(val) {
|
|
|
+ this.$confirm("即将删除此条数据, 是否删除?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.pageSize = 1;
|
|
|
+ this.$http({
|
|
|
+ url: "/market/cmkFileShareNet/del",
|
|
|
+ method: "post",
|
|
|
+ headers: {
|
|
|
+ "Content-Type": "application/json",
|
|
|
+ },
|
|
|
+ data: {
|
|
|
+ id: val.id,
|
|
|
+ isFile: "1",
|
|
|
+ createId: val.createId,
|
|
|
+ createName: val.createName,
|
|
|
+ },
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.data.result == 0) {
|
|
|
+ this.$notify({
|
|
|
+ title: "成功",
|
|
|
+ message: res.data.desc,
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.getList(this.params, this.pageSize);
|
|
|
+ }else if(res.data.result == 1) {
|
|
|
+ this.$notify({
|
|
|
+ title: "失败",
|
|
|
+ message: res.data.desc,
|
|
|
+ type: "error",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ },
|
|
|
+ // 删除目录
|
|
|
+ delMenu() {
|
|
|
+ if (!this.formData.id) {
|
|
|
+ this.$message("请先点击选中要删除的菜单");
|
|
|
+ } else {
|
|
|
+ this.$confirm("即将删除此条数据, 是否删除?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.$http({
|
|
|
+ url: "/market/cmkFileShareNet/del",
|
|
|
+ method: "post",
|
|
|
+ headers: {
|
|
|
+ "Content-Type": "application/json",
|
|
|
+ },
|
|
|
+ data: {
|
|
|
+ id: this.formData.id,
|
|
|
+ isFile: "0",
|
|
|
+ createId: this.formData.createId,
|
|
|
+ createName: this.formData.createName,
|
|
|
+ },
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.data.result == 0) {
|
|
|
+ this.$notify({
|
|
|
+ title: "成功",
|
|
|
+ message: res.data.desc,
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.actionName = "";
|
|
|
+ this.getData();
|
|
|
+ }else if(res.data.result == 1) {
|
|
|
+ this.$notify({
|
|
|
+ title: "失败",
|
|
|
+ message: res.data.desc,
|
|
|
+ type: "error",
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 搜索按钮事件
|
|
|
+ searchMenu() {
|
|
|
+ this.$refs.catalogTree.filter(this.filterText);
|
|
|
+ },
|
|
|
+ // tree过滤方法
|
|
|
+ filterNode(value, data) {
|
|
|
+ if (!value) return true;
|
|
|
+ return data.title.indexOf(value) !== -1;
|
|
|
+ },
|
|
|
+ // 点击树节点事件
|
|
|
+ nodeClick(a, b) {
|
|
|
+ let nodeData = JSON.parse(JSON.stringify(b.data));
|
|
|
+ this.formData.title = nodeData.title;
|
|
|
+ this.formData.parentId = nodeData.parentId;
|
|
|
+ this.formData.parentName = nodeData.parentName;
|
|
|
+ this.formData.id = nodeData.id;
|
|
|
+ delete Object["children"];
|
|
|
+ this.actionName = nodeData.title;
|
|
|
+ this.subType = "修改";
|
|
|
+ this.params.type = "";
|
|
|
+ this.params.title = "";
|
|
|
+ this.params.collection = "";
|
|
|
+ this.params.catalogId = nodeData.id;
|
|
|
+ this.params.id = nodeData.id;
|
|
|
+ this.infolist.parentId = nodeData.id;
|
|
|
+ this.pageSize = 1;//切换树重置分页
|
|
|
+ this.getList(this.params, this.pageSize);
|
|
|
+ },
|
|
|
+ // 获取目录
|
|
|
+ getData() {
|
|
|
+ this.$http({
|
|
|
+ url: "/market/cmkFileShareNet/queryList",
|
|
|
+ method: "post",
|
|
|
+ headers: {
|
|
|
+ "Content-Type": "application/json",
|
|
|
+ },
|
|
|
+ data: { isFile: "0" },
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.data && res.data.length > 0) {
|
|
|
+ this.menuList = res.data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 获取权限
|
|
|
+ getAuthData() {
|
|
|
+ this.$http({
|
|
|
+ url: "/market/cmkFileShareNet/queryAuth",
|
|
|
+ method: "post",
|
|
|
+ headers: {
|
|
|
+ "Content-Type": "application/json",
|
|
|
+ },
|
|
|
+ data: {},
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.data) {
|
|
|
+ this.authData = res.data.auth;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ toTreeData(data) {
|
|
|
+ var pos = {};
|
|
|
+ var tree = [];
|
|
|
+ var i = 0;
|
|
|
+ while (data.length != 0) {
|
|
|
+ if (data[i].parentId == 0) {
|
|
|
+ tree.push({
|
|
|
+ id: data[i].id,
|
|
|
+ title: data[i].title,
|
|
|
+ children: [],
|
|
|
+ });
|
|
|
+ pos[data[i].id] = [tree.length - 1];
|
|
|
+ data.splice(i, 1);
|
|
|
+ i--;
|
|
|
+ } else {
|
|
|
+ var posArr = pos[data[i].parentId];
|
|
|
+ if (posArr != undefined) {
|
|
|
+ var obj = tree[posArr[0]];
|
|
|
+ for (var j = 1; j < posArr.length; j++) {
|
|
|
+ obj = obj.children[posArr[j]];
|
|
|
+ }
|
|
|
+ obj.children.push({
|
|
|
+ id: data[i].id,
|
|
|
+ title: data[i].title,
|
|
|
+ children: [],
|
|
|
+ });
|
|
|
+ pos[data[i].id] = posArr.concat([obj.children.length - 1]);
|
|
|
+ data.splice(i, 1);
|
|
|
+ i--;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ i++;
|
|
|
+ if (i > data.length - 1) {
|
|
|
+ i = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return tree;
|
|
|
+ },
|
|
|
+ //功能栏
|
|
|
+ iconCli(v) {
|
|
|
+ if (v === 1) {
|
|
|
+ this.getList(this.params, this.pageSize);
|
|
|
+ }
|
|
|
+ if (v === 2) {
|
|
|
+ this.fullscreen = !this.fullscreen;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 分页
|
|
|
+ currchange(v) {
|
|
|
+ this.pageSize = v;
|
|
|
+ this.getList(this.params, this.pageSize);
|
|
|
+ },
|
|
|
+ //获取列表
|
|
|
+ getList(v, n) {
|
|
|
+ this.pageSize = n;
|
|
|
+ this.loading = true;
|
|
|
+ this.tableData = [];
|
|
|
+ this.$http({
|
|
|
+ url: "/market/cmkFileShareNet/queryPage",
|
|
|
+ method: "post",
|
|
|
+ headers: {
|
|
|
+ "Content-Type": "application/json",
|
|
|
+ page: '{"pageNo":"' + n + '","pageSize":"10"}',
|
|
|
+ },
|
|
|
+ data: v,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.data.data && res.data.data.length > 0) {
|
|
|
+ let arr = res.data.data;
|
|
|
+ arr.forEach((item) => {
|
|
|
+ Object.keys(item).forEach((val) => {
|
|
|
+ if (item[val] == null) {
|
|
|
+ item[val] = "- -";
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ this.tableData = arr;
|
|
|
+ } else {
|
|
|
+ this.tableData = res.data.data;
|
|
|
+ }
|
|
|
+ this.total = res.data.totalRecord;
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.getData();
|
|
|
+ // this.getList(this.params, this.pageSize);
|
|
|
+ this.getAuthData();
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style scoped lang="scss">
|
|
|
+.radviv div {
|
|
|
+ width: 80% !important;
|
|
|
+}
|
|
|
+.pageBox {
|
|
|
+ text-align: right;
|
|
|
+ margin-top: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.info-line {
|
|
|
+ width: 100%;
|
|
|
+ display: block;
|
|
|
+ // padding-left: 20px;
|
|
|
+
|
|
|
+ div {
|
|
|
+ width: 50%;
|
|
|
+ display: inline-block;
|
|
|
+ }
|
|
|
+
|
|
|
+ span {
|
|
|
+ width: 100px;
|
|
|
+ display: inline-block;
|
|
|
+ text-align: right;
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 14px;
|
|
|
+ padding-right: 15px;
|
|
|
+
|
|
|
+ i {
|
|
|
+ color: red;
|
|
|
+ display: inline-block;
|
|
|
+ padding-right: 5px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-select,
|
|
|
+ .el-input {
|
|
|
+ width: calc(100% - 100px);
|
|
|
+ }
|
|
|
+
|
|
|
+ .tree {
|
|
|
+ width: calc(100% - 100px);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.online {
|
|
|
+ width: 100%;
|
|
|
+
|
|
|
+ .el-select {
|
|
|
+ width: calc(100% - 100px);
|
|
|
+ }
|
|
|
+
|
|
|
+ span {
|
|
|
+ vertical-align: top;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-textarea {
|
|
|
+ width: calc(100% - 100px);
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.titbox {
|
|
|
+ div {
|
|
|
+ float: right;
|
|
|
+
|
|
|
+ i {
|
|
|
+ font-size: 22px;
|
|
|
+ margin-left: 20px;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.container {
|
|
|
+ background-color: #f0f2f5;
|
|
|
+ .clearStyle {
|
|
|
+ cursor: pointer;
|
|
|
+ color: #0b82ff;
|
|
|
+ }
|
|
|
+ .el-col {
|
|
|
+ background-color: white;
|
|
|
+ padding: 0 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .container-box {
|
|
|
+ padding: 0;
|
|
|
+ margin-top: 0;
|
|
|
+ height: 100%;
|
|
|
+ background-color: white;
|
|
|
+ padding: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .main-box {
|
|
|
+ overflow: hidden;
|
|
|
+ display: flex;
|
|
|
+ background-color: white;
|
|
|
+ padding: 20px 0;
|
|
|
+
|
|
|
+ > div {
|
|
|
+ background-color: white;
|
|
|
+ }
|
|
|
+
|
|
|
+ .inner-left {
|
|
|
+ width: 30%;
|
|
|
+ padding: 0 20px;
|
|
|
+ border: 1px solid #ddd;
|
|
|
+ border-radius: 5px;
|
|
|
+ height: calc(100vh - 220px);
|
|
|
+
|
|
|
+ .canel-style {
|
|
|
+ color: #1890ff;
|
|
|
+ cursor: pointer;
|
|
|
+ padding-left: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .inner-right {
|
|
|
+ width: 68%;
|
|
|
+ margin-left: 2%;
|
|
|
+ overflow-y: auto;
|
|
|
+ // border-left: 1px solid #ddd;
|
|
|
+ height: calc(100vh - 220px);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.button-list {
|
|
|
+ padding: 30px 0 10px 0;
|
|
|
+ display: flex;
|
|
|
+ // justify-content: space-between;
|
|
|
+}
|
|
|
+
|
|
|
+.choice-style {
|
|
|
+ background: rgb(255, 255, 255);
|
|
|
+}
|
|
|
+
|
|
|
+.tree-action {
|
|
|
+ bottom: 0;
|
|
|
+ width: 100%;
|
|
|
+ // border-top: 1px solid #e8e8e8;
|
|
|
+ padding: 10px 16px;
|
|
|
+ text-align: left;
|
|
|
+ left: 0;
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 0 0 2px 2px;
|
|
|
+}
|
|
|
+
|
|
|
+.tree-line {
|
|
|
+ // .el-tree-node__content {
|
|
|
+ // padding-left: 0 !important;
|
|
|
+ // }
|
|
|
+
|
|
|
+ .el-tree-node__expand-icon.is-leaf {
|
|
|
+ display: none !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-tree-node {
|
|
|
+ position: relative;
|
|
|
+ padding-left: 16px; // 缩进量
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-tree-node__children {
|
|
|
+ padding-left: 16px; // 缩进量
|
|
|
+ }
|
|
|
+
|
|
|
+ // 竖线
|
|
|
+ .el-tree-node::before {
|
|
|
+ content: "";
|
|
|
+ height: 100%;
|
|
|
+ width: 1px;
|
|
|
+ position: absolute;
|
|
|
+ left: -3px;
|
|
|
+ top: -17px;
|
|
|
+ border-width: 1px;
|
|
|
+ border-left: 1px dashed #52627c;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 当前层最后一个节点的竖线高度固定
|
|
|
+ .el-tree-node:last-child::before {
|
|
|
+ height: 38px; // 可以自己调节到合适数值
|
|
|
+ }
|
|
|
+
|
|
|
+ // 横线
|
|
|
+ .el-tree-node::after {
|
|
|
+ content: "";
|
|
|
+ width: 24px;
|
|
|
+ height: 20px;
|
|
|
+ position: absolute;
|
|
|
+ left: -3px;
|
|
|
+ top: 20px;
|
|
|
+ border-width: 1px;
|
|
|
+ border-top: 1px dashed #52627c;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 去掉最顶层的虚线,放最下面样式才不会被上面的覆盖了
|
|
|
+ & > .el-tree-node::after {
|
|
|
+ border-top: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ & > .el-tree-node::before {
|
|
|
+ border-left: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 展开关闭的icon
|
|
|
+ .el-tree-node__expand-icon {
|
|
|
+ font-size: 16px;
|
|
|
+
|
|
|
+ // 叶子节点(无子节点)
|
|
|
+ &.is-leaf {
|
|
|
+ color: transparent;
|
|
|
+ // display: none; // 也可以去掉
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|