{"remainingRequest":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xypm-web\\src\\views\\FileLibrary.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web\\src\\views\\FileLibrary.vue","mtime":1675214577964},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport req from '@/request.js'\r\nexport default {\r\n  name: 'FileLibrary',\r\n  data() {\r\n    return {\r\n      title: '',\r\n      treeForm: {},\r\n      dialogVisible2: false, //添加树型节点\r\n      typeKey: '',\r\n      filterText: '', //树型搜索内容\r\n      isIeExplorer: false, //\r\n      isExpand: false,\r\n      loading: false,\r\n      props: {\r\n        label: 'name',\r\n        code: 'code',\r\n        id: 'id',\r\n        children: 'children',\r\n        pcode: 'pcode',\r\n        isLeaf: 'leaf' // 指定节点是否为叶子节点，仅在指定了 lazy 属性的情况下生效\r\n      },\r\n      treeData: [{name: '文件库管理', code: 'root', id: '1', children: []}],\r\n      defaultCheckedKeys: [], //默认选中节点\r\n      defaultExpandedKeys: ['1'], //默认展开节点\r\n      node: '',\r\n      resolve: '',\r\n      //表单验证\r\n      treeRules: {\r\n        pName: {\r\n          required: true,\r\n          message: '请输入',\r\n          trigger: 'blur'\r\n        },\r\n        name: {\r\n          required: true,\r\n          message: '请输入',\r\n          trigger: 'blur'\r\n        },\r\n        code: {\r\n          required: true,\r\n          message: '请输入',\r\n          trigger: 'blur'\r\n        }\r\n      },\r\n      //  importData: {\r\n      //   title: '文件导入',\r\n      //   templateName: '文件模板.xls',\r\n      //   downloadUrl: './../static/excel/AnnualPlan.xlsx',\r\n      //   importUrl:\r\n      //     window.context.cqxy +\r\n      //     '/biz/projectApproval/decisionBasis/decisionAnnualPlan/v1/importExcelData',\r\n      //   projectId: '',\r\n      // },\r\n      projectObj: [], //获取的所有项目数组\r\n      searchForm: {\r\n        documentNumber: '',\r\n        establishmentName: '',\r\n        typeId: ''\r\n      }, //顶部搜索参数\r\n      data: [],\r\n      pageResult: {\r\n        page: 1,\r\n        pageSize: 20,\r\n        total: 0\r\n      },\r\n      form: {\r\n        documentNumber: '',\r\n        establishmentName: '',\r\n        establishmentDate: '',\r\n        describe: '',\r\n        accessoryInfo: [],\r\n        typeInfo: {}\r\n      },\r\n      dialogVisible: false, //表格\r\n      dialogTitle: '添加',\r\n      //表单验证\r\n      rules: {\r\n        // documentNumber: {\r\n        //   required: true,\r\n        //   message: '请输入',\r\n        //   trigger: 'blur'\r\n        // },\r\n        establishmentName: {\r\n          required: true,\r\n          message: '请输入',\r\n          trigger: 'blur'\r\n        }\r\n        // establishmentDate: {\r\n        //   required: true,\r\n        //   message: '请输入',\r\n        //   trigger: 'blur'\r\n        // }\r\n      },\r\n      typeId: '',\r\n      isShowAside: true //左侧菜单默认显示\r\n    }\r\n  },\r\n  computed: {\r\n    deleteUrl: function() {\r\n      return window.context.cqxy + '/biz/fileLibrary/v1/delete'\r\n    }\r\n  },\r\n\r\n  mounted() {\r\n    this.getTreeData()\r\n  },\r\n  watch: {\r\n    filterText(val) {\r\n      this.$refs.tree.filter(val)\r\n    }\r\n  },\r\n  methods: {\r\n    handleReset() {\r\n      this.searchForm.documentNumber = ''\r\n      this.searchForm.establishmentName = ''\r\n      this.$refs['searchForm'].resetFields()\r\n      this.pageResult = {\r\n        page: 1,\r\n        pageSize: 20,\r\n        total: 0\r\n      }\r\n      this.$nextTick(() => {\r\n        this.$refs.AtTable.load()\r\n      })\r\n    },\r\n    //导入后重新加载数据\r\n    load() {\r\n      this.$refs.AtTable.load()\r\n    },\r\n    //获取附件信息\r\n    accessoryInfo(info) {\r\n      let newInfo = []\r\n      info.forEach(item => {\r\n        item.projectId = 'fileLibrary'\r\n        item.group = 'fileLibrary'\r\n        newInfo.push(item)\r\n      })\r\n      this.form.accessoryInfo = newInfo\r\n    },\r\n    //查询\r\n    handleSearch() {\r\n      this.pageResult = {\r\n        page: 1,\r\n        pageSize: 20,\r\n        total: 0\r\n      }\r\n      this.$nextTick(() => {\r\n        this.$refs.AtTable.load()\r\n      })\r\n    },\r\n    afterSaveData() {\r\n      setTimeout(() => {\r\n        this.dialogVisible = false\r\n        this.$refs.AtTable.load()\r\n        this.form.documentNumber = ''\r\n        this.form.establishmentName = ''\r\n        this.form.establishmentDate = ''\r\n        this.form.describe = ''\r\n        this.form.accessoryInfo = []\r\n      }, 500)\r\n    },\r\n    handleAdd() {\r\n      let obj = {\r\n        documentNumber: '',\r\n        establishmentName: '',\r\n        establishmentDate: '',\r\n        describe: '',\r\n        accessoryInfo: []\r\n      }\r\n      this.form = {...this.form, ...obj}\r\n      // this.form.documentNumber = ''\r\n      // this.form.establishmentName = ''\r\n      // this.form.establishmentDate = ''\r\n      // this.form.describe = ''\r\n      // this.form.accessoryInfo = []\r\n      if (this.form.typeInfo && this.form.typeInfo.id) {\r\n        this.dialogTitle = '添加'\r\n        this.dialogVisible = true\r\n      } else {\r\n        this.$message('请选择一条子节点')\r\n      }\r\n    },\r\n    handleRowDBClick(data) {\r\n      // if (this.getMethodauth('file_update')) {\r\n        this.dialogTitle = '修改'\r\n        this.dialogVisible = true\r\n        this.form = data\r\n      // }\r\n    },\r\n\r\n    handleSelect(selection) {},\r\n    //取消\r\n    handleDialogCancel() {\r\n      this.dialogVisible = false\r\n      // this.form.documentNumber = ''\r\n      // this.form.establishmentName = ''\r\n      // this.form.establishmentDate = ''\r\n      // this.form.describe = ''\r\n      // this.form.accessoryInfo = []\r\n    },\r\n    //关闭窗口\r\n    handleDialogClose(val) {\r\n      this.dialogVisible = false\r\n      this.form.documentNumber = ''\r\n      this.form.establishmentName = ''\r\n      this.form.establishmentDate = ''\r\n      this.form.describe = ''\r\n      this.form.accessoryInfo = []\r\n    },\r\n    //提交保存\r\n    handleDialogSubmit(formName) {\r\n      this.$refs[formName].validate(valid => {\r\n        if (valid && this.form.accessoryInfo.length !== 0) {\r\n          this.loading = true\r\n          this.form.accessoryInfo.forEach(item => {\r\n            if (item.id) {\r\n              delete item.id\r\n            }\r\n          })\r\n          this.$http\r\n            .post('${cqxy}/biz/fileLibrary/v1/save', this.form)\r\n            .then(res => {\r\n              if (res.status == 200) {\r\n                setTimeout(() => {\r\n                  this.$message.success(res.data.message)\r\n                  this.afterSaveData()\r\n                }, 500)\r\n              } else {\r\n                this.$message.error(res.data.message)\r\n              }\r\n              this.loading = false\r\n            })\r\n        } else if (this.form.accessoryInfo.length === 0) {\r\n          this.$message.error('至少上传一个附件')\r\n        } else {\r\n          this.$message({\r\n            message: '*号必填项,不能为空!',\r\n            type: 'warning'\r\n          })\r\n          return false\r\n        }\r\n      })\r\n    },\r\n\r\n    loadData(param, cb) {\r\n      let query = []\r\n      let search = {\r\n        type_id_: this.searchForm.typeId,\r\n        document_number_: this.searchForm.documentNumber,\r\n        establishment_name_: this.searchForm.establishmentName\r\n      }\r\n      if (this.dialogVisible) {\r\n        search.type_id_ = this.form.typeId\r\n      }\r\n      for (let i in search) {\r\n        if (search[i]) {\r\n          query.push({\r\n            group: 'advance',\r\n            operation: 'LIKE',\r\n            property: i,\r\n            relation: 'AND',\r\n            value: search[i]\r\n          })\r\n        }\r\n      }\r\n      if (param.querys && param.querys.length) {\r\n        param.querys.push(...query)\r\n      } else {\r\n        param.querys = query\r\n      }\r\n\r\n      this.$http\r\n        .post('${cqxy}/biz/fileLibrary/v1/page', param)\r\n        .then(\r\n          resp => {\r\n            let response = resp.data.value\r\n            this.data = response.rows\r\n            this.pageResult = {\r\n              page: response.page,\r\n              pageSize: response.pageSize,\r\n              total: response.total\r\n            }\r\n          },\r\n          error => {\r\n            reject(error)\r\n          }\r\n        )\r\n        .finally(() => {\r\n          if (cb) {\r\n            cb()\r\n          }\r\n        })\r\n    },\r\n    handleClose() {\r\n      this.dialogVisible2 = false\r\n    },\r\n    //初始节点\r\n    getTreeData() {\r\n      let pcode = 'root'\r\n      let formData = new FormData()\r\n      formData.append('pCode', pcode)\r\n      this.$http\r\n        .post('${cqxy}/biz/fileLibrary/type/v1/getByParentId', formData)\r\n        .then(res => {\r\n          let resp = res.data.value\r\n          this.treeData[0].children = resp\r\n        })\r\n    },\r\n    //点击节点\r\n    handleNodeClick(data) {\r\n      this.searchForm = {}\r\n      this.form = {}\r\n      //根组件查询全部节点数据\r\n      if (data.code && data.code == 'root') {\r\n        this.$refs.AtTable.load()\r\n      } else {\r\n        if (data.children && data.children.length == 0) {\r\n          this.searchForm.typeId = data.id\r\n          this.form.typeId = data.id\r\n          this.form.typeInfo = {...data}\r\n          this.$refs.AtTable.load()\r\n        }\r\n      }\r\n    },\r\n    filterNode(value, data) {\r\n      if (!value) return true\r\n      return data[this.props.label].indexOf(value) !== -1\r\n    },\r\n    loadNode(node, resolve) {},\r\n    // 树状菜单的全部展开和收起\r\n    handleExpandCollapse() {\r\n      let elTree = this.$refs.tree\r\n      for (var i = 0; i < elTree.store._getAllNodes().length; i++) {\r\n        elTree.store._getAllNodes()[i].expanded = this.isExpand\r\n      }\r\n      this.isExpand = !this.isExpand\r\n    },\r\n    //树状刷新\r\n    refresh() {\r\n      this.loading = true\r\n      this.$emit('refresh', () => {\r\n        this.loading = false\r\n        this.filterText = ''\r\n        this.getTreeData()\r\n      })\r\n      setTimeout(() => {\r\n        this.loading = false\r\n        this.filterText = ''\r\n      }, 2000)\r\n    },\r\n    closeBefore() {\r\n      setTimeout(() => {\r\n        this.dialogVisible2 = false\r\n        this.getTreeData()\r\n      }, 500)\r\n    },\r\n    //确定添加节点\r\n    handleConfirm() {\r\n      this.$http\r\n        .post('${cqxy}/biz/fileLibrary/type/v1/batchSave', this.treeForm)\r\n        .then(res => {\r\n          if (res.data.state) {\r\n            this.$message.success(res.data.message)\r\n            this.closeBefore()\r\n          } else {\r\n            this.$message.error(res.data.message)\r\n            this.dialogVisible2 = false\r\n          }\r\n        })\r\n    },\r\n    //树状更多下拉操作\r\n    handleCommand(command) {\r\n      let node = command.node\r\n      let data = command.data\r\n      let action = command.action\r\n      switch (action) {\r\n        case 'add':\r\n          this.dialogVisible2 = true\r\n          this.title = '添加'\r\n          this.treeForm = {\r\n            pName: data.name,\r\n            pcode: data.code,\r\n            code: '',\r\n            name: '',\r\n            hasChildren: 0,\r\n            children: []\r\n          }\r\n          break\r\n        case 'edit':\r\n          this.dialogVisible2 = true\r\n          this.title = '编辑'\r\n          if (data.pcode == 'root') {\r\n            this.treeForm = {pName: '文件库管理', ...data}\r\n          } else {\r\n            this.treeForm = {pName: data.name, ...data}\r\n          }\r\n          break\r\n        case 'delete':\r\n          this.del(data)\r\n          break\r\n        default:\r\n          break\r\n      }\r\n    },\r\n    del(data) {\r\n      this.$confirm('是否继续删除?', '提示', {\r\n        confirmButtonText: '确定',\r\n        cancelButtonText: '取消',\r\n        type: 'warning'\r\n      })\r\n        .then(() => {\r\n          let formData = new FormData()\r\n          formData.append('ids', data.id)\r\n          this.$http\r\n            .post('${cqxy}/biz/fileLibrary/type/v1/delete', formData)\r\n            .then(res => {\r\n              if (res.data.state) {\r\n                this.$message.success(res.data.message)\r\n                this.closeBefore()\r\n              } else {\r\n                this.$message.error(res.data.message)\r\n                this.dialogVisible2 = false\r\n              }\r\n            })\r\n        })\r\n        .catch(() => {\r\n          this.$message({\r\n            type: 'info',\r\n            message: '已取消删除'\r\n          })\r\n        })\r\n    },\r\n    //隐藏目录\r\n    handleHideMenu() {\r\n      this.isShowAside = !this.isShowAside\r\n    },\r\n    //返回一个boolean类型，是否显示列表按钮\r\n    getMethodauth(elAuth) {\r\n      let allMethod = window.sessionStorage.allMethod\r\n      let methodAuth = window.sessionStorage.methodAuth\r\n      let allMethodArray = allMethod && allMethod.split(',')\r\n      let methodAuthArray = methodAuth && methodAuth.split(',')\r\n      // 无权限则隐藏按钮\r\n      if (\r\n        methodAuthArray &&\r\n        methodAuthArray.includes(elAuth) &&\r\n        allMethodArray &&\r\n        allMethodArray.includes(elAuth)\r\n      ) {\r\n        return true\r\n      } else {\r\n        return false\r\n      }\r\n    }\r\n  }\r\n}\r\n",null]}