{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\portal\\IndexColumn.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\portal\\IndexColumn.vue","mtime":1675071993022},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 {mapState} from 'vuex'\r\nimport portal from '@/api/portal.js'\r\nimport sysType from '@/api/sysType.js'\r\nimport utils from '@/hotent-ui-util.js'\r\nimport IndexColumnSetparam from '@/components/portal/IndexColumnSetparam.vue'\r\nimport EipChartSelector from '@/components/selector/EipChartSelector.vue'\r\nimport EipSysTypeSelector from '@/components/selector/EipSysTypeSelector.vue'\r\nimport HtColumn from '@/components/common/HtColumn.vue'\r\nconst eipAuthDialog = () => import('@/components/dialog/EipAuthDialog.vue')\r\nimport CustomDialogDialog from '@/components/dialog/CustomDialogDialog.vue'\r\nconst eipFlowDialog = () => import('@/components/dialog/EipFlowDialog.vue')\r\nlet Base64 = require('js-base64').Base64\r\nconst EipDataTemplateDialog = () =>\r\n  import('@/components/dialog/EipDataTemplateDialog.vue')\r\nimport {codemirror} from 'vue-codemirror'\r\nimport 'codemirror/theme/ambiance.css'\r\nrequire('codemirror/mode/javascript/javascript')\r\nexport default {\r\n  components: {\r\n    IndexColumnSetparam,\r\n    EipChartSelector,\r\n    EipSysTypeSelector,\r\n    HtColumn,\r\n    codemirror,\r\n    eipAuthDialog,\r\n    CustomDialogDialog,\r\n    eipFlowDialog,\r\n    EipDataTemplateDialog\r\n  },\r\n  data() {\r\n    return {\r\n      isScreenFull: false,\r\n      sidebarTitle: '',\r\n      dialogVisible: false,\r\n      previewShow: false,\r\n      column: {},\r\n      styleType: 0,\r\n      blankObj: {\r\n        name: '',\r\n        alias: '',\r\n        memo: '',\r\n        catalog: '',\r\n        catalogName: '',\r\n        colType: '',\r\n        dataMode: '',\r\n        dataFrom: '',\r\n        dataParam: '',\r\n        dsAlias: '',\r\n        colHeight: '',\r\n        colUrl: '',\r\n        templateHtml: '',\r\n        isPublic: 0,\r\n        supportRefesh: '',\r\n        refeshTime: '',\r\n        showEffect: '',\r\n        requestType: '',\r\n        needPage: 0,\r\n        templateHtml2: '',\r\n      },\r\n      isSubmit: true,\r\n      data: [],\r\n      pageResult: {\r\n        page: 1,\r\n        pageSize: 50,\r\n        total: 0\r\n      },\r\n      loadDataUrl: '',\r\n      previewAlias: '',\r\n      cmOptions: {\r\n        value: '',\r\n        mode: 'vue',\r\n        readOnly: false,\r\n        smartIndent: true,\r\n        tabSize: 2,\r\n        theme: 'base16-light',\r\n        lineNumbers: true,\r\n        line: true,\r\n        lineWrapping: true\r\n      },\r\n      curAuthColumnId: '',\r\n      tempSaveObj: {},\r\n      uploadDialogVisible:false,\r\n      fileList:[],\r\n      uploadUrl:`${window.context.portal}/portal/sysIndexColumn/sysIndexColumn/v1/uplaodColumn`, \r\n    }\r\n  },\r\n  mounted() {\r\n    this.$validator = this.$root.$validator\r\n  },\r\n  computed: {\r\n    deleteUrl: function() {\r\n      return (\r\n        window.context.portal +\r\n        '/portal/sysIndexColumn/sysIndexColumn/v1/remove'\r\n      )\r\n    },\r\n    saveUrl: function() {\r\n      return (\r\n        window.context.portal + '/portal/sysIndexColumn/sysIndexColumn/v1/save'\r\n      )\r\n    },\r\n    codemirror() {\r\n      return this.$refs.mycode.codemirror\r\n    },\r\n    ...mapState({\r\n      currentUser: state => state.login.currentUser\r\n    })\r\n  },\r\n  methods: {\r\n    openScreenFull() {},\r\n    //切换栏目类型\r\n    colTypeChange() {\r\n      if (this.column.colType != '1') {\r\n        this.column.chartType = ''\r\n      }\r\n    },\r\n    rowClick(row, column, event) {\r\n      this.$refs.columnTable.$refs.htTable.toggleRowSelection(row)\r\n    },\r\n    preview(alias) {\r\n      this.previewAlias = alias\r\n      this.previewShow = true\r\n    },\r\n    handleClose() {\r\n      this.dialogVisible = false\r\n      this.loadDataUrl = ''\r\n    },\r\n    afterLoadData(data) {\r\n      if (this.dialogVisible) {\r\n        if (data.colType == 1) {\r\n          data.chartType = 1\r\n        } else if (data.colType == 4) {\r\n          data.colType = 1\r\n          data.chartType = 2\r\n        }\r\n        this.column = {...this.blankObj, ...data}\r\n        this.column.templateHtml2 = Base64.decode(this.column.templateHtml)\r\n        this.column.isPublic = '' + this.column.isPublic\r\n        this.column.needPage = '' + this.column.needPage\r\n        this.tempSaveObj = this.column\r\n        setTimeout(() => this.$validator.validateAll('editForm'))\r\n      }\r\n    },\r\n    showDialog(row) {\r\n      this.dialogVisible = true\r\n      if (row != undefined && row.id != '') {\r\n        this.tempSaveObj = row\r\n        this.loadDataUrl = `/portal/sysIndexColumn/sysIndexColumn/v1/getJson?id=${row.id}`\r\n      } else {\r\n        this.tempSaveObj = this.column\r\n      }\r\n    },\r\n    loadData(param, cb) {\r\n      portal\r\n        .getIndexColumnPage(param)\r\n        .then(response => {\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        .finally(() => cb && cb())\r\n    },\r\n    handleCommand(params) {\r\n      switch (params.command) {\r\n        case 'edit':\r\n          this.sidebarTitle = '编辑栏目'\r\n          this.showDialog(params.row)\r\n          break\r\n        case 'add':\r\n          this.column = JSON.parse(JSON.stringify(this.blankObj))\r\n          this.sidebarTitle = '添加栏目'\r\n          this.showDialog()\r\n          break\r\n        case 'preview':\r\n          //手机前台12  管理端：0\r\n          if (params.row.isPublic !== 0) {\r\n            let routeUrl = this.$router.resolve({\r\n              path: '/column/preview/' + params.row.alias\r\n            });\r\n            window.open(routeUrl.href, '_blank')\r\n            // window.open(\r\n            //   window.context.front +\r\n            //     '/column/preview/' +\r\n            //     params.row.alias +\r\n            //     '?token=' +\r\n            //     this.currentUser.token,\r\n            //   // Base64.encode(this.currentUser.account),\r\n            //   '_blank'\r\n            // )\r\n          // } else if (params.row.isPublic == 1) {\r\n          //   window.open(\r\n          //     window.context.mobile +\r\n          //       '/htColumn/' +\r\n          //       params.row.alias +\r\n          //       '?token=' +\r\n          //       this.currentUser.token,\r\n          //     // Base64.encode(this.currentUser.account),\r\n          //     '_blank'\r\n          //   )\r\n          } else {\r\n            this.previewAlias = params.row.alias\r\n            this.previewShow = true\r\n          }\r\n          break\r\n        case 'auth':\r\n          this.columnAuth(params.row)\r\n          break\r\n      }\r\n    },\r\n    async beforeSaveData() {\r\n      let check = new RegExp('[\\u4e00-\\u9fa5]')\r\n      let pattern = new RegExp(\r\n        \"[%--`~!@#$^&*()=|{}':;',\\\\[\\\\].<>/?~！@#￥……&*（）——| {}【】‘；：”“'。，、？]\"\r\n      )\r\n      if (check.test(this.column.alias) || pattern.test(this.column.alias)) {\r\n        this.$message({message: '请勿输入中文或特殊字符', type: 'warning'})\r\n        document.getElementsByName('columnAlias')[0].style.border =\r\n          '1px red solid'\r\n        document.getElementsByName('columnAlias')[0].focus()\r\n        this.isSubmit = false\r\n      } else if (\r\n        this.column.colType === 0 &&\r\n        (this.column.dataMode === 2 || this.column.dataMode === 3) &&\r\n        !this.column.templateHtml2\r\n      ) {\r\n        this.$message({message: '请填写栏目模板', type: 'warning'})\r\n        this.isSubmit = false\r\n      } else {\r\n        this.column.templateHtml = Base64.encode(this.column.templateHtml2)\r\n        this.tempSaveObj = this.column\r\n        if (this.tempSaveObj.chartType == 2) {\r\n          this.tempSaveObj.colType = 4\r\n        }\r\n        this.isSubmit = true\r\n      }\r\n    },\r\n    afterSaveData() {\r\n      this.dialogVisible = false\r\n      this.$refs.columnTable.load()\r\n    },\r\n    showSetParamDialog() {\r\n      this.$refs.indexColumnSetparam.showDialog()\r\n    },\r\n    handledataParamSave(val) {\r\n      this.column.dataParam = val\r\n    },\r\n    columnAuth(row) {\r\n      let this_ = this\r\n      this.curAuthColumnId = row.id\r\n      this.$http\r\n        .get(\r\n          '${portal}/sys/authUser/v1/getRightsAndDefaultRightType?id=' +\r\n            row.id +\r\n            '&objType=indexColumn'\r\n        )\r\n        .then(function(resp) {\r\n          if (resp.data) {\r\n            let conf = {\r\n              right: resp.data.right,\r\n              permissionList: resp.data.type,\r\n              autoClose: false\r\n            }\r\n            this_.$refs.columnAuth.showDialog(conf)\r\n          }\r\n        })\r\n    },\r\n    columnAuthConfirm(data) {\r\n      let param = {\r\n        id: this.curAuthColumnId,\r\n        objType: 'indexColumn',\r\n        ownerNameJson: JSON.stringify(data)\r\n      }\r\n      let this_ = this\r\n      this.$http\r\n        .post('${portal}/sys/authUser/v1/saveRights', param)\r\n        .then(function(resp) {\r\n          if (resp.data) {\r\n            if (resp.data.state) {\r\n              this_.$message.success('授权成功')\r\n              this_.$refs.columnAuth.closeDialog()\r\n            } else {\r\n              this_.$message.error(resp.data.message)\r\n            }\r\n          }\r\n        })\r\n    },\r\n    selectQuery(op) {\r\n      if (op == 1) {\r\n        this.$refs.customDialogDialog.showDialog()\r\n      } else if (op == 4) {\r\n        this.$refs.dataTemplateDialog.showDialog()\r\n      }\r\n    },\r\n    selectedCustomDialog(rsl) {\r\n      this.column.dataFrom = JSON.stringify(rsl[0])\r\n    },\r\n    removeStyle() {\r\n      document.getElementsByName('columnAlias')[0].style.border = ''\r\n    },\r\n    showFlowDialog() {\r\n      this.$refs.eipFlowDialog.showDialog()\r\n    },\r\n    dialogOnConfirm(data, name) {\r\n      if (name == 'eipFlowDialog') {\r\n        let defKey = ''\r\n        data.forEach(element => {\r\n          defKey = element.defKey\r\n          this.$set(this.column, 'flowKey', element.defKey)\r\n          this.$set(this.column, 'flowName', element.name)\r\n        })\r\n        if (!defKey) {\r\n          return\r\n        }\r\n        this.$confirm('是否加载流程展示栏目的默认配置？', '确认信息', {\r\n          distinguishCancelAndClose: true,\r\n          confirmButtonText: '确定',\r\n          cancelButtonText: '取消'\r\n        }).then(() => {\r\n          this.$set(\r\n            this.column,\r\n            'dataFrom',\r\n            '${bpmRunTime}/runtime/instance/v1/query'\r\n          )\r\n          this.$set(this.column, 'dataMode', 3)\r\n          let pam =\r\n            '[{\"name\":\"querys\",\"type\":\"string\",\"mode\":\"0\",\"value\":\"[\\\\n {\\\\n \\\\\"group\\\\\": \\\\\"advance\\\\\",\\\\n \\\\\"operation\\\\\": \\\\\"EQUAL\\\\\",\\\\n \\\\\"property\\\\\": \\\\\"proc_def_key_\\\\\",\\\\n \\\\\"relation\\\\\": \\\\\"AND\\\\\",\\\\n \\\\\"value\\\\\": \\\\\"' +\r\n            defKey +\r\n            '\\\\\"\\\\n },\\\\n\\\\t\\\\t{\\\\n \\\\\"group\\\\\": \\\\\"advance\\\\\",\\\\n \\\\\"operation\\\\\": \\\\\"EQUAL\\\\\",\\\\n \\\\\"property\\\\\": \\\\\"status_\\\\\",\\\\n \\\\\"relation\\\\\": \\\\\"AND\\\\\",\\\\n \\\\\"value\\\\\": \\\\\"end\\\\\"\\\\n }\\\\n ]\"},{\"name\":\"sorter\",\"type\":\"string\",\"mode\":\"0\",\"value\":\"[\\\\n {\\\\n \\\\\"direction\\\\\": \\\\\"DESC\\\\\",\\\\n \\\\\"property\\\\\": \\\\\"create_time_\\\\\"\\\\n }\\\\n ]\"},{\"name\":\"pageBean\",\"type\":\"string\",\"mode\":\"0\",\"value\":\"{\\\\n \\\\\"page\\\\\": 1,\\\\n \\\\\"pageSize\\\\\": 10,\\\\n \\\\\"total\\\\\": 0\\\\n}\"}]'\r\n          this.$set(this.column, 'dataParam', pam)\r\n          this.$set(this.column, 'requestType', 'POST')\r\n          this.$set(this.column, 'isPublic', '2')\r\n          this.$set(this.column, 'templateHtml2', '<homeInst :data=\"data\"/>')\r\n          this.$set(this.column, 'needPage', 1)\r\n          //设置更多路径\r\n          this.$set(this.column, 'colUrl', '/completeView/' + defKey)\r\n        })\r\n      }\r\n    },\r\n    onDataTemplate(res) {\r\n      if (res.length == 1) {\r\n        let obj = {name: res[0].name, alias: res[0].alias}\r\n        this.$set(this.column, 'dataFrom', JSON.stringify(obj))\r\n      }\r\n    },\r\n    exportColumn(){\r\n      let selection = this.$refs.columnTable.$refs.htTable.selection;\r\n      if(!selection || selection.length == 0){\r\n        this.$message.warning(\"请至少选择一条记录\");\r\n        return ;\r\n      }\r\n      let ids = [];\r\n      selection.forEach(column=>{\r\n        ids.push(column.id);\r\n      })\r\n      this.$http.request({\r\n        url:`${window.context.portal}/portal/sysIndexColumn/sysIndexColumn/v1/exportColumn`,\r\n        data:ids,\r\n        method:'post',\r\n        responseType:\"arraybuffer\"\r\n      });\r\n\r\n    },\r\n    beforeClose(){\r\n      this.uploadDialogVisible = false;\r\n      this.fileList.splice(0);\r\n    },\r\n    uploadSubmit(){\r\n      if(this.$refs.elUpload.uploadFiles.length == 0){\r\n        this.$message.warning(\"请上传文件\");\r\n        return ;\r\n      }\r\n      this.$refs.elUpload.submit();\r\n    },\r\n    importColumn(){\r\n      this.uploadDialogVisible = true;\r\n    },\r\n    handleImport(param){\r\n      let formData = new FormData();\r\n      formData.append(\"file\",param.file);\r\n      portal.importColumn(formData).then(resp=>{\r\n        if(resp.state){\r\n          this.$message.success(resp.message);\r\n          this.fileList.splice(0);\r\n          this.uploadDialogVisible = false;\r\n          this.$refs.columnTable.load();\r\n        }else{\r\n          this.beforeClose();\r\n        }\r\n      })\r\n    }\r\n  }\r\n}\r\n",null]}