{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!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\\BusinessObjExternalDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\form\\BusinessObjExternalDialog.vue","mtime":1675071992881},{"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":["import \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.object.keys\";\nimport _toConsumableArray from \"D:/jenkins/workspace/xq-web-bpm/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"D:/jenkins/workspace/xq-web-bpm/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport \"core-js/modules/es7.array.includes\";\nimport \"core-js/modules/es6.string.includes\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.array.find\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport form from \"@/api/form.js\";\nimport util from \"@/hotent-ui-util.js\";\nexport default {\n  data: function data() {\n    return {\n      dialogVisible: false,\n      // 对话框是否可以见\n      editSubOrSun: false,\n      addFk: false,\n      tableList: [],\n      // 当前数据源的物理表集合\n      entExtsTable: [],\n      // 所选物理表的字段集合\n      entExtConfirm: false,\n      entsCount: 0,\n      // 当前业务对象的模型数量\n      editing: false,\n      // 是否编辑\n      hideAttr: [],\n      // 需要隐藏起来的字段集合\n      entExts: {\n        // 外部表的form数据\n        comment: \"\",\n        desc: \"\",\n        dsName: \"\",\n        index: 0,\n        isExternal: \"1\",\n        name: \"\",\n        packageId: \"\",\n        pk: \"\",\n        fk: \"\",\n        pkType: \"\",\n        relation: \"\",\n        show: \"\",\n        status: \"\",\n        tableName: \"\",\n        attributeList: [],\n        type: \"\"\n      },\n      dataSource: [],\n      // 当前数据源集合\n      currentDataSource: null,\n      // 当前所选择的数据源\n      searchTableName: \"\",\n      // 要搜索的表名\n      extsTableType: [{\n        key: \"subTable\",\n        value: \"子表\"\n      }, {\n        key: \"sunTable\",\n        value: \"孙表\"\n      }],\n      querying: false,\n      // 是否正在查询：查询数据源、查询数据库表、查询表字段\n      externalTables: []\n    };\n  },\n  watch: {\n    \"entExts.dsName\": {\n      handler: function handler(newVal) {\n        if (newVal && this.dataSource && this.dataSource.length > 0) {\n          this.currentDataSource = this.dataSource.find(function (d) {\n            return d.alias == newVal;\n          });\n        }\n      },\n      immediate: true\n    }\n  },\n  methods: {\n    // 打开选择外部表的对话框\n    open: function open(currentEnt, currentEntType, entsCount, externalTables) {\n      var _this = this;\n\n      this.dialogVisible = true;\n      this.entsCount = entsCount;\n      this.entExts.type = currentEntType;\n      this.externalTables = externalTables;\n      this.editing = currentEntType ? true : false;\n      this.editSubOrSun = currentEntType == \"subTable\" || currentEntType == \"sunTable\";\n      this.querying = true;\n      form.getDataSource().then(function (resp) {\n        _this.dataSource = resp.data;\n\n        if (!_this.entExts.dsName) {\n          _this.entExts.dsName = \"LOCAL\";\n\n          _this.changeSource();\n        }\n      }).finally(function () {\n        _this.querying = false;\n      });\n      var searchTable = null;\n\n      if (currentEnt) {\n        searchTable = currentEnt.tableName;\n      }\n\n      if (searchTable) {\n        this.entExts.comment = currentEnt.comment;\n        this.entExts.name = currentEnt.name;\n        this.entExts.dsName = currentEnt.dsName;\n        this.entExts.tableName = currentEnt.tableName;\n        this.entExts.fk = currentEnt.fk;\n        this.addFk = true;\n        this.getTableList().then(function () {\n          _this.changeTableName();\n        }).catch(function (err) {\n          _this.$message.error(err);\n        });\n      }\n    },\n    handleClose: function handleClose() {\n      this.dialogVisible = false;\n      this.querying = false;\n      this.addFk = false;\n      this.tableList = [];\n      this.entExts = {\n        desc: \"\",\n        dsName: \"\",\n        index: 0,\n        isExternal: \"1\",\n        name: \"\",\n        packageId: \"\",\n        pk: \"\",\n        fk: \"\",\n        pkType: \"\",\n        relation: \"\",\n        show: \"\",\n        status: \"\",\n        tableName: \"\",\n        attributeList: [],\n        type: \"\"\n      };\n      this.entExtsTable = [];\n    },\n    changeSource: function changeSource() {\n      this.entExts.tableName = \"\";\n      this.searchTableName = \"\";\n      this.entExtsTable = [];\n      this.getTableList(\"select\");\n    },\n    //外部表数据\n    getTableList: function getTableList(type) {\n      var this_ = this;\n      this.entExtConfirm = true;\n      return new Promise(function (resolve, reject) {\n        if (type) {\n          this_.showMessage = true;\n        }\n\n        if (!this_.entExts.dsName) {\n          reject(\"当前未选择数据源\");\n        }\n\n        var param = {\n          dsalias: this_.entExts.dsName,\n          isTable: \"1\",\n          objName: this_.searchTableName\n        };\n        this_.querying = true;\n        this_.tableList = [];\n        form.getTableList(param).then(function (resp) {\n          if (resp.data) {\n            resp.data.forEach(function (v) {\n              v.comment = v.name + \"(\" + v.comment + \")\";\n            });\n\n            if (this_.showMessage) {\n              this_.$message({\n                message: \"查询成功，请选择外部表\",\n                type: \"success\"\n              });\n            }\n\n            this_.tableList = resp.data;\n          }\n        }).finally(function () {\n          this_.entExtConfirm = false;\n          this_.showMessage = false;\n          this_.querying = false;\n          resolve();\n        });\n      });\n    },\n    //外部表选择\n    changeTableName: function changeTableName() {\n      var _this2 = this;\n\n      this.entExtConfirm = true;\n      var param = {\n        dsalias: this.entExts.dsName,\n        isTable: \"1\",\n        objName: this.entExts.tableName\n      };\n      this.querying = true;\n      form.getHideAttr(param.objName).then(function (resp) {\n        if (resp) {\n          _this2.hideAttr = resp;\n        }\n      }).then(function () {\n        _this2.querying = true;\n        form.changeTableName(param, false).then(function (resp) {\n          _this2.entExtsTable = JSON.parse(JSON.stringify(resp.data.table.columnList).replace(/charLen/g, \"attrLength\").replace(/fieldName/g, \"name\").replace(/columnType/g, \"dataType\").replace(/fdataType/g, \"fcolumnType\"));\n\n          _this2.entExtsTable.forEach(function (item) {\n            item.fieldName = item.name;\n          });\n\n          if (_this2.hideAttr.length > 0) {\n            var attr = \"\";\n\n            _this2.hideAttr.forEach(function (v) {\n              attr += v.fieldName + \",\";\n            });\n\n            _this2.entExtsTable = _this2.entExtsTable.filter(function (value) {\n              return !attr.includes(value.fieldName);\n            });\n          }\n\n          resp.data.table.primayKey.forEach(function (data) {\n            _this2.entExts.pk = data.fieldName;\n            _this2.entExts.pkType = data.columnType;\n          });\n          _this2.hideAttr = [];\n        }).finally(function () {\n          _this2.entExtConfirm = false;\n          _this2.querying = false;\n        });\n      }).finally(function () {\n        _this2.querying = false;\n      });\n    },\n    validatorEntExts: function validatorEntExts() {\n      var _this3 = this;\n\n      util.validateForm(this, \"externalForm\").then(function () {\n        _this3.buildExternalEnt();\n      }).catch(function (reason) {\n        var rule = reason.map(function (v) {\n          return v.rule;\n        });\n\n        if (rule.includes(\"required\")) {\n          _this3.$message.warning(\"请将信息填写完整\");\n        } else if (rule.includes(\"alpha_dash\")) {\n          _this3.$message.warning(\"请按正确的格式输入\");\n        }\n      });\n    },\n    buildExternalEnt: function buildExternalEnt() {\n      this.entExts.index = this.entsCount;\n\n      if (!this.editSubOrSun && this.entExts.index > 0) {\n        if (!this.entExts.type) {\n          this.$message.warning(\"请选择外部表类型。\");\n          return;\n        }\n\n        if (!this.entExts.fk) {\n          this.$message.warning(\"请指定外键字段。\");\n          return;\n        }\n\n        if (this.externalTables.includes(this.entExts.tableName)) {\n          this.$message.warning(\"该外部表已存在，不允许重复添加。\");\n          return;\n        }\n      }\n\n      console.log(this.externalTables);\n      this.entExts.relation = this.entExts.relation || \"onetomany\";\n      this.entExts.show = this.entExts.show || \"子实体-外\";\n\n      if (this.entExtsTable && this.entExtsTable.length > 0) {\n        // 若数据源为Oracle的 则要判断数据类型为date 还是 datetime 不同类型赋值类型不同\n        if (this.currentDataSource && this.currentDataSource.dbType == \"oracle\") {\n          this.entExtsTable.forEach(function (item) {\n            if (!item.format && item.dataType == \"date\") {\n              item.format = \"yyyy-MM-dd\";\n            } else if (!item.format && item.dataType == \"datatime\") {\n              item.format = \"yyyy-MM-dd HH:mm:ss\";\n            }\n          });\n        } else {\n          this.entExtsTable.forEach(function (item) {\n            if (!item.format && item.dataType == \"date\") {\n              if (item.fcolumnType == \"datetime\") {\n                item.format = \"yyyy-MM-dd HH:mm:ss\";\n              } else {\n                item.format = \"yyyy-MM-dd\";\n              }\n            }\n          });\n        }\n      }\n\n      var entExts = _objectSpread({}, this.entExts),\n          entExtsTable = _toConsumableArray(this.entExtsTable);\n\n      var externalEnt = {\n        entExts: entExts,\n        entExtsTable: entExtsTable,\n        addFk: this.addFk\n      };\n      this.$emit(\"selectExternal\", externalEnt);\n      this.$emit(\"addExternalTable\", entExts.tableName);\n      this.handleClose();\n    }\n  }\n};",null]}