{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\common\\HtColumn.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\common\\HtColumn.vue","mtime":1675071991631},{"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\r\nimport req from \"@/request.js\";\r\nimport portal from \"@/api/portal.js\";\r\nimport flow from \"@/api/flow.js\";\r\nimport VRuntimeTemplate from \"v-runtime-template\";\r\nconst eipChart = () => import(\"@/components/form/chart/EipChart.vue\");\r\nconst chart = () => import(\"@/components/form/chart/Chart.vue\");\r\nimport CustomDialogShowDetail from \"@/views/form/customDialog/CustomDialogShowDetail.vue\";\r\nimport HtChart from \"./HtChart\"\r\n\r\nlet Base64 = require(\"js-base64\").Base64;\r\nimport {mapState} from \"vuex\";\r\nimport hotentUiUtils from \"@/hotent-ui-util.js\";\r\n\r\nexport default {\r\n name: \"ht-column\",\r\n components: { VRuntimeTemplate, eipChart, chart ,CustomDialogShowDetail,HtChart},\r\n props: {\r\n columnAlias: {\r\n type: String,\r\n required: true\r\n },\r\n // 是否来自于预览页面\r\n fromPreview:{\r\n type:Boolean,\r\n default:false\r\n },\r\n //是否存在tab标签中\r\n isTab:{\r\n type:Boolean,\r\n default:false\r\n },\r\n },\r\n data() {\r\n return {\r\n isCommon: false,\r\n isChart: false,\r\n isReport: false,\r\n isCustomDialog:false,\r\n chartId: \"\",\r\n reportOption: {},\r\n loading: true,\r\n html: \"本栏目无模板\",\r\n data: {},\r\n column: {},\r\n customDialog:{alias:\"\"},\r\n pageBean: { page: 1, pageSize: 10, total: 0, showTotal: true },\r\n canDisplay:true\r\n };\r\n },\r\n watch: {\r\n \"column.colHeight\": function(val) {\r\n if (val && val > 0) {\r\n this.$refs.colBody.style.height = val + \"px\";\r\n }\r\n },\r\n \"pageBean.page\": function(val) {\r\n if (val && val > 0 && this.column.needPage == 1) {\r\n this.load();\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.load();\r\n },\r\n computed: {\r\n ...mapState({\r\n token: state => state.login.currentUser.token\r\n })\r\n },\r\n methods: {\r\n goToFront(path){\r\n let url = window.context.front+path+\"?token=\"+this.token;\r\n window.open(url, \"_blank\");\r\n },\r\n openMore(url) {\r\n this.$router.push({ path: url });\r\n },\r\n refresh() {\r\n this.load();\r\n },\r\n close() {\r\n this.$refs.col.remove();\r\n },\r\n load() {\r\n this.loading = true;\r\n let this_ = this;\r\n portal.getColumnByAlias(this.columnAlias).then(data => {\r\n this_.column = data;\r\n //计算该栏目是否展示\r\n if(this_.fromPreview){\r\n this_.canDisplay=true;\r\n }else{\r\n this_.canDisplay=this_.column.displayRights;\r\n }\r\n //如果无展示权限,则不进行栏目数据渲染了,并隐藏整个组件\r\n if(!this_.canDisplay){\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n if (this_.column.colType && (this_.column.colType == 1 || this_.column.colType == 4)) {\r\n let dataParam = JSON.parse(this_.column.dataParam);\r\n if (dataParam.chartType == 2) {\r\n this_.chartId = dataParam.id;\r\n this_.isChart = true;\r\n this_.loading = false;\r\n } else {\r\n this_.isReport = true;\r\n this_.getChartsData(dataParam);\r\n }\r\n } else {\r\n //自定义对话框\r\n if(this_.column.dataMode === 1){\r\n this_.getCustomDialogData();\r\n }\r\n //restful查询\r\n else if(this_.column.dataMode === 3){\r\n this_.isCommon = true;\r\n this_.getDataToParse();\r\n }else{\r\n this.isCommon = true;\r\n this.dencodeHtml();\r\n this.loading = false;\r\n }\r\n }\r\n });\r\n },\r\n //图标\r\n getChartsData(dataParam) {\r\n flow.getEchartsData(dataParam.id).then(\r\n response => {\r\n if (response && response.value) {\r\n let opt = response.value;\r\n if (opt.constructor == Array) {\r\n opt = opt[0];\r\n }\r\n this.reportOption = { ...opt };\r\n }\r\n this.loading = false;\r\n },\r\n err => {\r\n this.loading = false;\r\n this.html = `${err}`;\r\n }\r\n );\r\n },\r\n getDataToParse() {\r\n let column = this.column;\r\n if (!column.dataFrom) {\r\n this.dencodeHtml();\r\n this.loading = false;\r\n return;\r\n }\r\n //post请求参数\r\n let queryParams = {};\r\n //如果需要分页\r\n if (column.needPage === 1) {\r\n queryParams.pageBean = this.pageBean;\r\n }\r\n //get请求参数\r\n let urlParam = \"\";\r\n if (column.dataParam) {\r\n let ctx = {};\r\n const curUserDetail= this.$store.state.user.currentUserDetail;\r\n if (curUserDetail.user) {\r\n ctx.curUserAccount = curUserDetail.user.account;\r\n ctx.curUserId = curUserDetail.user.id;\r\n }\r\n column.dataParam = hotentUiUtils.parseExp(column.dataParam, ctx);\r\n }\r\n let dataParam = JSON.parse(column.dataParam || \"[]\");\r\n if (dataParam) {\r\n for (var i = 0; i < dataParam.length; i++) {\r\n var value = dataParam[i][\"value\"];\r\n var name = dataParam[i][\"name\"];\r\n if (column.requestType == \"POST\") {\r\n try {\r\n value = JSON.parse(value);\r\n } catch (e) {}\r\n queryParams[name] = value;\r\n //如果参数中也设置了分页\r\n if (name === \"pageBean\") {\r\n this.pageBean = value;\r\n }\r\n } else {\r\n urlParam =\r\n i > 0\r\n ? urlParam + \"&\" + name + \"=\" + value\r\n : \"?\" + name + \"=\" + value;\r\n }\r\n }\r\n }\r\n //请求获取数据\r\n if (column.requestType && column.requestType == \"POST\") {\r\n req.post(column.dataFrom, queryParams).then(\r\n response => {\r\n this.data = response.data;\r\n this.loading = false;\r\n if (this.column.needPage === 1) {\r\n this.pageBean.page = this.data.page || 1;\r\n this.pageBean.pageSize = this.data.pageSize || 10;\r\n this.pageBean.total = this.data.total || 0;\r\n }\r\n this.dencodeHtml();\r\n },\r\n err => {\r\n this.loading = false;\r\n this.html = `${err}`;\r\n }\r\n );\r\n } else {\r\n req.get(column.dataFrom + urlParam).then(\r\n response => {\r\n this.data = response.data;\r\n this.loading = false;\r\n this.dencodeHtml();\r\n },\r\n err => {\r\n this.loading = false;\r\n this.html = `${err}`;\r\n }\r\n );\r\n }\r\n },\r\n getCustomDialogData(){\r\n let this_ = this;\r\n let dataFrom = JSON.parse(this.column.dataFrom||\"{}\");\r\n if(!dataFrom.alias){\r\n this_.loading = false;\r\n this_.isCommon = true;\r\n this.dencodeHtml();\r\n return;\r\n }\r\n let url = \"${form}/form/customDialog/v1/getByAlias?alias=\"+dataFrom.alias;\r\n req.get(url).then(function(customDialog) {\r\n customDialog = customDialog.data;\r\n //格式化对话框的显示字段、返回字段、条件字段、排序字段\r\n customDialog.displayfield = JSON.parse(customDialog.displayfield);\r\n for (let i = 0; i < customDialog.displayfield.length; i++) {\r\n customDialog.displayfield[i].field = customDialog.displayfield[\r\n i\r\n ].field.toUpperCase();\r\n }\r\n customDialog.resultfield = JSON.parse(customDialog.resultfield);\r\n customDialog.sortfield = JSON.parse(customDialog.sortfield);\r\n customDialog.conditionfield = JSON.parse(customDialog.conditionfield);\r\n //列表\r\n if (customDialog.style == 0) {\r\n this_.customDialog = customDialog;\r\n this_.isCustomDialog=true;\r\n this_.loading = false;\r\n setTimeout(() => {\r\n this_.$refs.customDialogShowDetail.initData(); //显示自定义对话框列表预览弹框\r\n });\r\n }\r\n });\r\n },\r\n dencodeHtml() {\r\n if (this.column.templateHtml) {\r\n this.column.html = Base64.decode(this.column.templateHtml);\r\n }\r\n }\r\n }\r\n};\r\n",null]}