{"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\\form\\TableDesign\\CreateView.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\form\\TableDesign\\CreateView.vue","mtime":1675071992913},{"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\r\nimport form from '@/api/form.js'\r\nimport req from '@/request'\r\nimport {mapState} from 'vuex'\r\n\r\nexport default {\r\n data() {\r\n return {\r\n data: [],\r\n pageResult: {\r\n page: 0,\r\n pageSize: 50,\r\n total: 0,\r\n },\r\n selectedId: '',\r\n deleteUrl: window.context.form + '/form/viewManage/v1/remove',\r\n dialogVisible: false,\r\n loadDataUrl: '',\r\n model: {},\r\n dataSources: [],\r\n isChecked: false,\r\n content:\r\n '请输入符合生成视图的SQL,如联表查询时存在重复字段将会导致验证通过但最后保存并生成视图时出错!',\r\n checkState: false,\r\n importDialogVisible: false,\r\n uploadUrl: window.context.form + '/form/viewManage/v1/import',\r\n fullscreenLoading: false,\r\n viewNameValidate: {\r\n required: true,\r\n alpha_dash: true,\r\n regex: {\r\n exp: '^[a-zA-Z][a-zA-Z0-9_]*$',\r\n message: '只能输入字母、数字、下划线,且以字母开头',\r\n },\r\n },\r\n }\r\n },\r\n computed: mapState({\r\n uploadHeaders: function (mapState) {\r\n return {Authorization: 'Bearer ' + mapState.login.currentUser.token}\r\n },\r\n }),\r\n mounted() {\r\n form.getDataSource().then((resp) => {\r\n this.dataSources = resp.data\r\n })\r\n },\r\n methods: {\r\n rowClick(row, column, event) {\r\n this.$refs.htTable.$refs.htTable.toggleRowSelection(row)\r\n },\r\n checkSql() {\r\n if (!this.model.sql) {\r\n this.$message({type: 'warning', message: '请输入sql语句'})\r\n return\r\n }\r\n if (!this.model.dsAlias) {\r\n this.$message({type: 'warning', message: '请选择数据源'})\r\n return\r\n }\r\n if (this.model.sql.endsWith(';')) {\r\n this.$message({type: 'warning', message: '请不要以;结尾'})\r\n return\r\n }\r\n let param = {sql: this.model.sql, dsName: this.model.dsAlias}\r\n form.checkSql(param).then((response) => {\r\n if (response.state) {\r\n this.$message({type: 'success', message: response.message})\r\n this.checkState = response.state\r\n }\r\n })\r\n },\r\n loadData(param, cb) {\r\n form\r\n .getViewManageList(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(() => {\r\n cb()\r\n })\r\n },\r\n edit(id) {\r\n this.dialogVisible = true\r\n if (id) {\r\n this.loadDataUrl = `/form/viewManage/v1/getJson?id=${id}`\r\n } else {\r\n this.model = {}\r\n this.loadDataUrl = ''\r\n }\r\n },\r\n afterLoadData(data) {\r\n this.model = data\r\n },\r\n beforeSaveData() {\r\n if (!this.checkState) {\r\n this.$message({type: 'warning', message: '请先验证SQL!'})\r\n }\r\n },\r\n afterSaveData() {\r\n this.dialogVisible = false\r\n this.checkState = false\r\n this.$refs.htTable.load()\r\n },\r\n handleClose() {\r\n this.dialogVisible = false\r\n },\r\n createPhysicalView(id) {\r\n form.createPhysicalViewByViewMngId(id).then((response) => {\r\n if (response.state) {\r\n this.$message({type: 'success', message: response.message})\r\n this.$refs.htTable.load()\r\n }\r\n })\r\n },\r\n handleExport() {\r\n let selection = this.$refs.htTable.$refs.htTable.selection\r\n if (selection && selection.length === 0) {\r\n this.$message.warning('请选择至少一项记录')\r\n return\r\n }\r\n let ids = selection.map((item) => item.id)\r\n let url = `${window.context.form}/form/viewManage/v1/exportXml?ids=${ids}`\r\n req.download(url)\r\n },\r\n handleUploadResult(data) {\r\n if (data.state) {\r\n if (data.message.includes('已存在故跳过')) {\r\n this.$message({\r\n type: 'warning',\r\n message: data.message,\r\n showClose: true,\r\n duration: 5000,\r\n dangerouslyUseHTMLString: true,\r\n })\r\n } else {\r\n this.$message({type: 'success', message: '导入成功'})\r\n }\r\n } else {\r\n this.$message({type: 'error', message: data.message})\r\n }\r\n this.$refs.htTable.querys = []\r\n this.$refs.htTable.load()\r\n this.importDialogVisible = false\r\n this.fullscreenLoading = false\r\n },\r\n beforeUpload(file) {\r\n if (!file.name.endsWith('.zip')) {\r\n this.$message.warning('只能导入zip文件!')\r\n return false\r\n }\r\n this.fullscreenLoading = true\r\n },\r\n onExceed(file) {\r\n this.$message.warning('只能选择一个zip文件!')\r\n },\r\n uploadSubmit() {\r\n if (\r\n !this.$refs.upload.uploadFiles ||\r\n this.$refs.upload.uploadFiles.length === 0\r\n ) {\r\n this.$message.warning('请选择要导入的视图!')\r\n return false\r\n }\r\n this.$refs.upload.submit()\r\n },\r\n dsChange(dsAlias, dataSource) {\r\n if (\r\n !dsAlias ||\r\n (dataSource.dbType !== 'oracle' &&\r\n dataSource.dbType !== 'dm' &&\r\n dataSource.dbType !== 'dm8')\r\n ) {\r\n this.viewNameValidate = {\r\n required: true,\r\n alpha_dash: true,\r\n regex: {\r\n exp: '^[a-zA-Z][a-zA-Z0-9_]*$',\r\n message: '只能输入字母、数字、下划线,且以字母开头',\r\n },\r\n }\r\n } else {\r\n this.viewNameValidate = {\r\n required: true,\r\n alpha_dash: true,\r\n regex: {\r\n exp: '^[A-Z][A-Z0-9_]*$',\r\n message: '只能输入大写字母、数字、下划线,且以大写字母开头',\r\n },\r\n }\r\n }\r\n },\r\n handleSqlChange() {\r\n this.checkState = false\r\n },\r\n },\r\n}\r\n",null]}