olp-table 7.1.3 → 7.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -278,7 +278,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */
278
278
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
279
279
 
280
280
  "use strict";
281
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue_codemirror__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-codemirror */ \"./node_modules/vue-codemirror/dist/vue-codemirror.esm.js\");\n/* harmony import */ var _codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/lang-javascript */ \"./node_modules/@codemirror/lang-javascript/dist/index.js\");\n/* harmony import */ var _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @codemirror/theme-one-dark */ \"./node_modules/@codemirror/theme-one-dark/dist/index.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"olCodemirrorTag\",\n components: {\n Codemirror: vue_codemirror__WEBPACK_IMPORTED_MODULE_0__.Codemirror\n },\n props: {\n modelValue: {},\n height: {},\n title: {\n default: ''\n },\n size: {}\n },\n data() {\n return {\n state: {\n show: false,\n extensions: [(0,_codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_1__.javascript)(), _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__.oneDark],\n values: null,\n err: false\n }\n };\n },\n computed: {\n sizes: {\n get() {\n if (!this.size) {\n return this.state.show ? 'default' : 'small';\n }\n return this.size;\n }\n },\n heights: {\n get() {\n return (this.height ? this.height : 500) + \"px\";\n }\n },\n values: {\n get() {\n return this.modelValue;\n },\n set(value) {\n this.$emit(\"update:modelValue\", value);\n }\n }\n },\n methods: {\n confirm() {\n this.state.show = false;\n this.$emit(\"confirm\", this.values);\n },\n onOpen() {\n this.$emit(\"open\");\n }\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/codemirror-tag.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
281
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue_codemirror__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-codemirror */ \"./node_modules/vue-codemirror/dist/vue-codemirror.esm.js\");\n/* harmony import */ var _codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/lang-javascript */ \"./node_modules/@codemirror/lang-javascript/dist/index.js\");\n/* harmony import */ var _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @codemirror/theme-one-dark */ \"./node_modules/@codemirror/theme-one-dark/dist/index.js\");\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @codemirror/state */ \"./node_modules/@codemirror/state/dist/index.js\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @codemirror/view */ \"./node_modules/@codemirror/view/dist/index.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"olCodemirrorTag\",\n components: {\n Codemirror: vue_codemirror__WEBPACK_IMPORTED_MODULE_0__.Codemirror\n },\n props: {\n modelValue: {},\n height: {},\n title: {\n default: ''\n },\n size: {},\n describe: {\n default: ''\n }\n },\n data() {\n return {\n state: {\n show: false,\n extensions: [(0,_codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_1__.javascript)(), _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_2__.oneDark, _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.EditorView.lineWrapping],\n readOnlyExtensions: [(0,_codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_1__.javascript)(), _codemirror_state__WEBPACK_IMPORTED_MODULE_4__.EditorState.readOnly.of(true), _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.EditorView.lineWrapping],\n values: null,\n err: false\n }\n };\n },\n computed: {\n desc: {\n get() {\n return this.describe;\n }\n },\n sizes: {\n get() {\n if (!this.size) {\n return this.state.show ? 'default' : 'small';\n }\n return this.size;\n }\n },\n heights: {\n get() {\n return (this.height ? this.height : 500) + \"px\";\n }\n },\n values: {\n get() {\n return this.modelValue;\n },\n set(value) {\n this.$emit(\"update:modelValue\", value);\n }\n }\n },\n methods: {\n confirm() {\n this.state.show = false;\n this.$emit(\"confirm\", this.values);\n },\n onOpen() {\n this.$emit(\"open\");\n }\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/codemirror-tag.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
282
282
 
283
283
  /***/ }),
284
284
 
@@ -311,7 +311,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
311
311
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
312
312
 
313
313
  "use strict";
314
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.filter.js */ \"./node_modules/core-js/modules/es.iterator.filter.js\");\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.iterator.map.js */ \"./node_modules/core-js/modules/es.iterator.map.js\");\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/ExcelUtil */ \"./src/utils/ExcelUtil.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n\n\n\n\n\n\n\n\n\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_8__.storeDict)();\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_5__.useMessage)(); // 消息弹窗\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'olDialogImport',\n inject: ['http'],\n props: {\n title: {\n default: '导入数据'\n },\n name: {\n default: '导入数据'\n },\n width: {\n default: 800\n },\n draggable: {\n default: true\n },\n center: {\n default: false\n },\n selectData: {\n default: '1'\n }\n },\n data() {\n return {\n form: {\n selectData: ''\n },\n tableConfigId: '',\n show: '',\n formData: {},\n gridOptions: {\n border: true,\n keepSource: true,\n showOverflow: true,\n loading: false,\n height: 330,\n align: 'left',\n scrollX: {\n enabled: true,\n gt: 15\n },\n scrollY: {\n enabled: true,\n gt: 0\n },\n columnConfig: {\n resizable: true\n },\n rowConfig: {\n useKey: true,\n keyField: 'id'\n },\n expandConfig: {\n labelField: 'seq'\n },\n editConfig: {\n trigger: 'click',\n mode: 'row',\n showStatus: true\n },\n checkboxConfig: {\n labelField: 'title',\n reserve: true,\n highlight: true,\n range: true,\n checkAll: false\n },\n columns: [],\n data: [],\n toolbarConfig: {},\n initColumns: [{\n type: 'checkbox',\n width: 50,\n fixed: 'left'\n }, {\n type: 'seq',\n title: '序号',\n width: 50,\n fixed: 'left'\n }],\n url: '/online/tableConfigColumn/queryByParentId'\n }\n };\n },\n methods: {\n submit() {\n if (!this.gridOptions.data || this.gridOptions.data.length == 0) return message.error('导入数据为空!');\n let params = this.getParams();\n this.gridOptions.loading = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_6__.request)(this.http, {\n url: '/online/crud/batchSave',\n method: 'post',\n data: params,\n timeout: 1000 * 90 * 90\n }, false, false).then(({\n msg\n }) => {\n message.success(msg);\n }).finally(() => {\n this.gridOptions.loading = false;\n this.show = false;\n this.$emit('emits', {\n m: 'query'\n });\n });\n },\n open({\n column\n }) {\n this.show = true;\n let columns = column.filter(o => o.columnAuth == 1);\n columns.push(...this.gridOptions.initColumns);\n console.log(columns);\n this.gridOptions.columns = columns;\n this.$refs.xGrid.loadColumn(this.gridOptions.columns);\n },\n handleChange(title) {\n let que = [];\n for (let j = 0; j < this.gridOptions.data.length; j++) {\n let data = this.gridOptions.data[j];\n if (j == 0) {\n que.push(data[title]);\n break;\n }\n let index = que.index0f(data[title]);\n if (index != -1) {\n return message.warn('第' + (j + 1) + '行-第' + (index + 1) + '行数据不唯-:' + data[title]);\n }\n que.push(data[title]);\n }\n message.success(title + '无重复数据!');\n },\n selectRowChange() {\n this.formData.disabled = this.$refs.xGrid.getCheckboxRecords(true).length == 0;\n this.formData.selected_but = this.formData.disabled ? 'unselected_but' : 'selected_but';\n },\n batchRemove() {\n let records = this.$refs.xGrid.getCheckboxRecords(true);\n if (!records || records.length == 0) return message.error('未选中数据!');\n this.$refs.xGrid.removeCheckboxRow();\n },\n getParams() {\n return {\n tableConfigId: this.tableConfigId,\n columnAndValueListMap: this.getDataByDict(this.gridOptions.data)\n };\n },\n onChange({\n data\n }) {\n data = this.getDataByTitle(data);\n this.gridOptions.data = data;\n },\n getDataByTitle(data) {\n if (data && data.length >= 1) {\n let rows = [];\n data.map(row => {\n let obj = {};\n for (let key in row) {\n this.gridOptions.columns.forEach(item => {\n if (item.title == key) {\n obj[item.field] = row[key];\n }\n });\n }\n rows.push(obj);\n });\n return rows;\n }\n },\n getDataByDict(data) {\n if (data && data.length >= 1) {\n let rows = [];\n data.map(row => {\n let obj = {};\n for (let key in row) {\n this.gridOptions.columns.forEach(item => {\n if (item.field == key) {\n obj[item.field] = this.getRowValue(item.dictCode, row[key]);\n }\n });\n }\n rows.push(obj);\n });\n return rows;\n }\n },\n download() {\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_7__.exportExcel)({\n data: [],\n name: '模板下载',\n columns: this.gridOptions.columns,\n option: {\n align: 'center'\n }\n });\n },\n init(id) {\n this.gridOptions.loading = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_6__.get)(this.http, this.gridOptions.url, {\n id: id\n }, true).then(res => {\n for (const data of res) {\n data.width = 100;\n }\n res.push(...this.gridOptions.initColumns);\n this.gridOptions.columns = res;\n this.gridOptions.loading = false;\n });\n },\n getRowValue(dictCode, val) {\n if (dictCode) {\n return this.getDictValueByCode(dictCode, val);\n }\n return val;\n },\n getDictValueByCode(dictCode, val) {\n for (const option of dict.val(dictCode)) {\n if (option.label == val) {\n return option;\n }\n }\n return val;\n },\n close() {\n this.show = false;\n }\n },\n created() {\n this.formData = {\n action: this.http.axios().defaults.baseURL + '/online/crud/upload',\n uniCode: '',\n headers: this.http.axios().defaults.headers,\n disabled: true,\n selected_but: 'unselected_but'\n };\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/ol-dialog-import.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
314
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.filter.js */ \"./node_modules/core-js/modules/es.iterator.filter.js\");\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.iterator.map.js */ \"./node_modules/core-js/modules/es.iterator.map.js\");\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/ExcelUtil */ \"./src/utils/ExcelUtil.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n\n\n\n\n\n\n\n\n\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_8__.storeDict)();\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_5__.useMessage)(); // 消息弹窗\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'olDialogImport',\n inject: ['http'],\n props: {\n title: {\n default: '导入数据'\n },\n name: {\n default: '导入数据'\n },\n width: {\n default: 800\n },\n draggable: {\n default: true\n },\n center: {\n default: false\n },\n selectData: {\n default: '1'\n }\n },\n data() {\n return {\n form: {\n selectData: ''\n },\n tableConfigId: '',\n show: '',\n formData: {},\n gridOptions: {\n border: true,\n keepSource: true,\n showOverflow: true,\n loading: false,\n height: 330,\n align: 'left',\n scrollX: {\n enabled: true,\n gt: 15\n },\n scrollY: {\n enabled: true,\n gt: 0\n },\n columnConfig: {\n resizable: true\n },\n rowConfig: {\n useKey: true,\n keyField: 'id'\n },\n expandConfig: {\n labelField: 'seq'\n },\n editConfig: {\n trigger: 'click',\n mode: 'row',\n showStatus: true\n },\n checkboxConfig: {\n labelField: 'title',\n reserve: true,\n highlight: true,\n range: true,\n checkAll: false\n },\n columns: [],\n data: [],\n toolbarConfig: {},\n initColumns: [{\n type: 'checkbox',\n width: 50,\n fixed: 'left'\n }, {\n type: 'seq',\n title: '序号',\n width: 50,\n fixed: 'left'\n }],\n url: '/online/tableConfigColumn/queryByParentId'\n }\n };\n },\n methods: {\n submit() {\n if (!this.gridOptions.data || this.gridOptions.data.length == 0) return message.error('导入数据为空!');\n let params = this.getParams();\n this.gridOptions.loading = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_6__.request)(this.http, {\n url: '/online/crud/batchSave',\n method: 'post',\n data: params,\n timeout: 1000 * 90 * 90\n }, false, false).then(({\n msg,\n code\n }) => {\n if (code == 200) {\n this.show = false;\n this.$emit('emits', {\n m: 'query'\n });\n message.success(msg);\n } else {\n message.error(msg);\n }\n }).finally(() => {\n this.gridOptions.loading = false;\n });\n },\n open({\n column,\n tableConfigId\n }) {\n this.tableConfigId = tableConfigId;\n this.show = true;\n let columns = column.filter(o => o.columnAuth == 1);\n columns.push(...this.gridOptions.initColumns);\n this.gridOptions.columns = columns;\n this.$refs.xGrid.loadColumn(this.gridOptions.columns);\n },\n handleChange(title) {\n let que = [];\n for (let j = 0; j < this.gridOptions.data.length; j++) {\n let data = this.gridOptions.data[j];\n if (j == 0) {\n que.push(data[title]);\n break;\n }\n let index = que.index0f(data[title]);\n if (index != -1) {\n return message.warn('第' + (j + 1) + '行-第' + (index + 1) + '行数据不唯-:' + data[title]);\n }\n que.push(data[title]);\n }\n message.success(title + '无重复数据!');\n },\n selectRowChange() {\n this.formData.disabled = this.$refs.xGrid.getCheckboxRecords(true).length == 0;\n this.formData.selected_but = this.formData.disabled ? 'unselected_but' : 'selected_but';\n },\n batchRemove() {\n let records = this.$refs.xGrid.getCheckboxRecords(true);\n if (!records || records.length == 0) return message.error('未选中数据!');\n this.$refs.xGrid.removeCheckboxRow();\n },\n getParams() {\n return {\n tableConfigId: this.tableConfigId,\n columnAndValueListMap: this.getDataByDict(this.gridOptions.data)\n };\n },\n onChange({\n data\n }) {\n data = this.getDataByTitle(data);\n this.gridOptions.data = data;\n },\n getDataByTitle(data) {\n if (data && data.length >= 1) {\n let rows = [];\n data.map(row => {\n let obj = {};\n for (let key in row) {\n this.gridOptions.columns.forEach(item => {\n if (item.title == key) {\n obj[item.field] = row[key];\n }\n });\n }\n rows.push(obj);\n });\n return rows;\n }\n },\n getDataByDict(data) {\n if (data && data.length >= 1) {\n let rows = [];\n data.map(row => {\n let obj = {};\n for (let key in row) {\n this.gridOptions.columns.forEach(item => {\n if (item.field == key) {\n obj[item.field] = this.getRowValue(item.dictCode, row[key]);\n }\n });\n }\n rows.push(obj);\n });\n return rows;\n }\n },\n download() {\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_7__.exportExcel)({\n data: [],\n name: '模板下载',\n columns: this.gridOptions.columns,\n option: {\n align: 'center'\n }\n });\n },\n init(id) {\n this.gridOptions.loading = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_6__.get)(this.http, this.gridOptions.url, {\n id: id\n }, true).then(res => {\n for (const data of res) {\n data.width = 100;\n }\n res.push(...this.gridOptions.initColumns);\n this.gridOptions.columns = res;\n this.gridOptions.loading = false;\n });\n },\n getRowValue(dictCode, val) {\n if (dictCode) {\n return this.getDictValueByCode(dictCode, val);\n }\n return val;\n },\n getDictValueByCode(dictCode, val) {\n for (const option of dict.val(dictCode)) {\n if (option.label == val) {\n return option;\n }\n }\n return val;\n },\n close() {\n this.show = false;\n }\n },\n created() {\n this.formData = {\n action: this.http.axios().defaults.baseURL + '/online/crud/upload',\n uniCode: '',\n headers: this.http.axios().defaults.headers,\n disabled: true,\n selected_but: 'unselected_but'\n };\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/ol-dialog-import.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
315
315
 
316
316
  /***/ }),
317
317
 
@@ -421,7 +421,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _sto
421
421
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
422
422
 
423
423
  "use strict";
424
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_table_model_ot_top_bottom_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/components/table/model/ot-top-bottom.vue */ \"./src/components/table/model/ot-top-bottom.vue\");\n/* harmony import */ var _components_table_model_ot_left_right_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/table/model/ot-left-right.vue */ \"./src/components/table/model/ot-left-right.vue\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _components_table_model_ot_top_1_bottom_2_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/table/model/ot-top-1-bottom-2.vue */ \"./src/components/table/model/ot-top-1-bottom-2.vue\");\n/* harmony import */ var _components_table_model_ot_top_2_bottom_1_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/table/model/ot-top-2-bottom-1.vue */ \"./src/components/table/model/ot-top-2-bottom-1.vue\");\n/* harmony import */ var _components_table_model_ot_top_2_bottom_2_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/table/model/ot-top-2-bottom-2.vue */ \"./src/components/table/model/ot-top-2-bottom-2.vue\");\n/* harmony import */ var _components_table_model_ot_left_tree_right_table_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/table/model/ot-left-tree-right-table.vue */ \"./src/components/table/model/ot-left-tree-right-table.vue\");\n/* harmony import */ var _components_auto_height_index_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/auto-height/index.vue */ \"./src/components/auto-height/index.vue\");\n/* harmony import */ var _utils_AESCRUDUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/AESCRUDUtils */ \"./src/utils/AESCRUDUtils.js\");\n/* harmony import */ var _components_table_ol_tab_table_index_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/table/ol-tab-table/index.vue */ \"./src/components/table/ol-tab-table/index.vue\");\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'modelIndex',\n components: {\n OlTabTable: _components_table_ol_tab_table_index_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n AutoHeight: _components_auto_height_index_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n OtTopBottom: _components_table_model_ot_top_bottom_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n OtLeftRight: _components_table_model_ot_left_right_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n OtTop1Bottom2: _components_table_model_ot_top_1_bottom_2_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n OtTop2Bottom1: _components_table_model_ot_top_2_bottom_1_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n OtTop2Bottom2: _components_table_model_ot_top_2_bottom_2_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n otLeftTreeRightTable: _components_table_model_ot_left_tree_right_table_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n props: {\n uuid: {\n required: true\n },\n http: {}\n },\n provide() {\n return {\n tableAll: this.table,\n http: this.http\n };\n },\n data() {\n return {\n cas: 0,\n table: {},\n theme: 0,\n searchRow: 0,\n treeUuid: '',\n loading: true,\n tabData: {}\n };\n },\n methods: {\n getTableRefs() {\n return this.$refs.tableModel;\n },\n initConfig() {\n this.loading = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_2__.get)(this.http, \"/onlineAes/initAll\", {\n uuid: this.uuid\n }).then(data => {\n data = JSON.parse((0,_utils_AESCRUDUtils__WEBPACK_IMPORTED_MODULE_8__.decryptWithDecompress)(data));\n this.theme = data.theme;\n this.searchRow = data.searchRow;\n this.treeUuid = data.treeUuid;\n if (data?.extendConfig) {\n for (const [key, value] of Object.entries(data.extendConfig.tableTabs)) {\n value.activeName = key;\n }\n }\n this.tabData = data;\n this.doSetDataSource(data);\n }).finally(() => {\n this.loading = false;\n });\n },\n getTabName(targetName) {\n const index = targetName.indexOf('_');\n return index !== -1 ? targetName.substring(0, index) : targetName;\n },\n doSetDataSource(data) {\n this.$nextTick(() => {\n if (this.$refs.tableModel) {\n if (data.theme == 1 || data.theme == 7) {\n this.$refs.tableModel.setDataSource(data['t1']);\n } else {\n this.$refs.tableModel.setDataSource(data);\n }\n } else {\n setTimeout(() => {\n this.cas++;\n if (this.cas <= 5) {\n console.log(\"自旋》\" + this.cas);\n this.doSetDataSource(data);\n }\n }, 500);\n }\n });\n }\n },\n created() {\n this.initConfig();\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/table/model/model-index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
424
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _components_table_model_ot_top_bottom_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/components/table/model/ot-top-bottom.vue */ \"./src/components/table/model/ot-top-bottom.vue\");\n/* harmony import */ var _components_table_model_ot_left_right_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/table/model/ot-left-right.vue */ \"./src/components/table/model/ot-left-right.vue\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _components_table_model_ot_top_1_bottom_2_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/table/model/ot-top-1-bottom-2.vue */ \"./src/components/table/model/ot-top-1-bottom-2.vue\");\n/* harmony import */ var _components_table_model_ot_top_2_bottom_1_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/table/model/ot-top-2-bottom-1.vue */ \"./src/components/table/model/ot-top-2-bottom-1.vue\");\n/* harmony import */ var _components_table_model_ot_top_2_bottom_2_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/table/model/ot-top-2-bottom-2.vue */ \"./src/components/table/model/ot-top-2-bottom-2.vue\");\n/* harmony import */ var _components_table_model_ot_left_tree_right_table_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/table/model/ot-left-tree-right-table.vue */ \"./src/components/table/model/ot-left-tree-right-table.vue\");\n/* harmony import */ var _components_auto_height_index_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/auto-height/index.vue */ \"./src/components/auto-height/index.vue\");\n/* harmony import */ var _utils_AESCRUDUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/AESCRUDUtils */ \"./src/utils/AESCRUDUtils.js\");\n/* harmony import */ var _components_table_ol_tab_table_index_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/table/ol-tab-table/index.vue */ \"./src/components/table/ol-tab-table/index.vue\");\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'modelIndex',\n components: {\n OlTabTable: _components_table_ol_tab_table_index_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n AutoHeight: _components_auto_height_index_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n OtTopBottom: _components_table_model_ot_top_bottom_vue__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n OtLeftRight: _components_table_model_ot_left_right_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n OtTop1Bottom2: _components_table_model_ot_top_1_bottom_2_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n OtTop2Bottom1: _components_table_model_ot_top_2_bottom_1_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n OtTop2Bottom2: _components_table_model_ot_top_2_bottom_2_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n otLeftTreeRightTable: _components_table_model_ot_left_tree_right_table_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"]\n },\n props: {\n uuid: {\n required: true\n },\n http: {}\n },\n provide() {\n return {\n tableAll: this.table,\n http: this.http\n };\n },\n data() {\n return {\n cas: 0,\n table: {},\n theme: 0,\n searchRow: 0,\n treeUuid: '',\n loading: true,\n tabData: {}\n };\n },\n methods: {\n getTableRefs() {\n return this.$refs.tableModel;\n },\n initConfig() {\n this.loading = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_2__.get)(this.http, \"/onlineAes/initAll\", {\n uuid: this.uuid\n }).then(data => {\n data = (0,_utils_AESCRUDUtils__WEBPACK_IMPORTED_MODULE_8__.decryptWithDecompress)(data);\n this.theme = data.theme;\n this.searchRow = data.searchRow;\n this.treeUuid = data.treeUuid;\n if (data?.extendConfig) {\n for (const [key, value] of Object.entries(data.extendConfig.tableTabs)) {\n value.activeName = key;\n }\n }\n this.tabData = data;\n this.doSetDataSource(data);\n }).finally(() => {\n this.loading = false;\n });\n },\n getTabName(targetName) {\n const index = targetName.indexOf('_');\n return index !== -1 ? targetName.substring(0, index) : targetName;\n },\n doSetDataSource(data) {\n this.$nextTick(() => {\n if (this.$refs.tableModel) {\n if (data.theme == 1 || data.theme == 7) {\n this.$refs.tableModel.setDataSource(data['t1']);\n } else {\n this.$refs.tableModel.setDataSource(data);\n }\n } else {\n setTimeout(() => {\n this.cas++;\n if (this.cas <= 5) {\n console.log(\"自旋》\" + this.cas);\n this.doSetDataSource(data);\n }\n }, 500);\n }\n });\n }\n },\n created() {\n this.initConfig();\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/table/model/model-index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
425
425
 
426
426
  /***/ }),
427
427
 
@@ -520,7 +520,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
520
520
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
521
521
 
522
522
  "use strict";
523
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/object */ \"./src/utils/object.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _api_dist__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/api/dist */ \"./src/api/dist.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/ol-table-select.vue */ \"./src/components/ol-table-select.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_9__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_10__.storeDictType)();\nfunction replaceDollarBraces(str) {\n return str.toString().replace(/\\$\\{?([^{}]+)\\}?/g, function (match, innerContent) {\n return innerContent ? `'${innerContent}'` : match;\n });\n}\nfunction parseJson(column) {\n let attrs = column.attrs;\n if (attrs) {\n try {\n attrs = JSON.parse(attrs);\n for (let key of Object.keys(attrs)) {\n column[key] = attrs[key];\n }\n } catch (e) {\n console.error(\"解析attrs异常\", attrs);\n }\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"olForm\",\n components: {\n OlTableSelect: _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n },\n inject: ['http'],\n data() {\n return {\n formData: {},\n optionData: {},\n form: {\n column: []\n },\n dynamicSlotsTable: [],\n dynamicSlotsField: {},\n dynamicSlotsOtherResult: {},\n show: true,\n state: {\n loading: false,\n fullscreen: false,\n dialogVisible: false,\n title: \"\",\n width: '60%',\n comCommit: true,\n maxHeight: '400px',\n type: '0',\n edit: false,\n saveUrl: '',\n requestType: 'post',\n updateKey: '',\n theme: 't1',\n tableConfigId: '',\n dbName: '',\n tableName: '',\n otherProp: {}\n }\n };\n },\n methods: {\n hideColumn(prop) {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_3__.setArrayObjectKeyValue)(this.form.column, 'display', false, prop);\n },\n showColumn(prop) {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_3__.setArrayObjectKeyValue)(this.form.column, 'display', true, prop);\n },\n getParams() {\n let params = {\n tableConfigId: this.state.tableConfigId,\n dbName: this.state.dbName,\n tableName: this.state.tableName,\n columnAndValueMap: {}\n };\n if (this.state.type != '0') {\n let formData = this.$refs.value.getFormData(false);\n for (let prop of Object.keys(formData)) {\n let value = formData[prop];\n if (value instanceof String) {\n value = value.trim();\n }\n params.columnAndValueMap[prop] = value;\n }\n } else {\n // for (let {prop} of this.form.column) {\n // let value = this.formData[prop];\n // if (value) {\n // if (value instanceof String) {\n // value = value.trim();\n // }\n // params.columnAndValueMap[prop] = value;\n // }\n // }\n params.columnAndValueMap = this.getTableUpdateValue(this.form.column, this.formData);\n }\n if (this.state.saveUrl) {\n return params.columnAndValueMap;\n }\n if (this.state.edit) {\n params.whereMap = {};\n if (this.state.updateKey) {\n let split = this.state.updateKey.split(',');\n for (let kv of split) {\n let kvs = kv.split(\"=\");\n if (kvs.length == 2) {\n params.whereMap[kvs[0]] = params.columnAndValueMap[kvs[1]];\n delete params.columnAndValueMap[kvs[0]];\n } else {\n let val = params.columnAndValueMap[kvs];\n params.whereMap[kvs] = val != undefined ? val : this.formData[kvs];\n delete params.columnAndValueMap[kvs];\n }\n }\n } else {\n // 编辑时默认更新条件为id\n params.whereMap['id'] = this.formData['id'];\n if (!params.whereMap['id']) {\n params.whereMap['id'] = this.formData['t1_id'];\n }\n delete params.columnAndValueMap['id'];\n }\n } else if (this.state.updateKey) {\n let split = this.state.updateKey.split(',');\n params['genIdMap'] = {};\n for (let kv of split) {\n let kvs = kv.split(\"=\");\n if (kvs.length == 2) {\n params['genIdMap'][kvs[0]] = kvs[1];\n } else {\n params['genIdMap'][kvs[0]] = 'uuid';\n }\n }\n }\n return params;\n },\n /**\r\n * 根据列配置获取数据库表更新数据\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n prop,\n tableField\n } of column) {\n if (tableField && tableField == '1') {\n continue;\n }\n let value = formData[prop];\n if (value != undefined) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[prop] = value;\n }\n }\n return columnAndValueMap;\n },\n async doSave() {\n let dom;\n let keys;\n if (this.state.type != '0') {\n await this.$refs.formRef.getNativeForm().validate((valid, msg) => {\n if (!valid) {\n keys = Object.keys(msg);\n dom = this.$refs.formRef.getWidgetRef(keys[0]);\n dom.$el.scrollIntoView({\n block: \"center\",\n behavior: \"smooth\"\n });\n (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)().error(\"您还有\" + keys.length + \"项信息未填写,请填写后再操作!\");\n } else {\n this.save();\n }\n });\n } else {\n await this.$refs.formRef.validate((valid, done, msg) => {\n if (!valid) {\n keys = Object.keys(msg);\n dom = this.$refs.formRef.getPropRef(keys[0]);\n dom.$el.scrollIntoView({\n block: \"center\",\n behavior: \"smooth\"\n });\n (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)().error(\"您还有\" + keys.length + \"项信息未填写,请填写后再操作!\");\n } else {\n this.save();\n }\n done();\n });\n }\n },\n saveOk(status) {\n this.state.loading = false;\n if (status) {\n this.state.dialogVisible = false;\n this.$emit('query');\n }\n if (this.state.otherProp && this.state.otherProp.afterSave) {\n try {\n eval(this.state.otherProp.afterSave);\n } catch (e) {\n console.log(e);\n }\n }\n },\n async save() {\n if (this.state.otherProp && this.state.otherProp.beforeSave) {\n try {\n let next = eval(\"()=>{\" + this.state.otherProp.beforeSave + \"}\");\n if (next() === false) {\n return;\n }\n } catch (e) {\n console.log(e);\n return;\n }\n }\n this.state.loading = true;\n try {\n let params = this.getParams();\n let url = this.state.saveUrl ? this.state.saveUrl : this.state.edit ? '/online/crudAes/modify' : '/online/crudAes/save';\n if (this.state.requestType.toLowerCase() == \"put\") {\n await (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.put)(this.http, url, params).then(status => {\n this.saveOk(status);\n });\n } else if (this.state.saveUrl) {\n await (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(this.http, url, params).then(status => {\n this.saveOk(status);\n });\n } else {\n await (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, url, params).then(status => {\n this.saveOk(status);\n });\n }\n } catch (e) {\n console.error(e);\n } finally {\n this.state.loading = false;\n }\n },\n init(data) {\n if (data.disabled) {\n this.show = false;\n }\n // 初始化动态插槽表格\n data.form.column.forEach(column => {\n if (data.disabled) {\n column.disabled = true;\n }\n if (column.selectDom === '22') {\n //表格选取\n let slotObj = {\n slotName: column.prop,\n config: JSON.parse(column.attrs).olTableSelect\n };\n this.dynamicSlotsField[column.prop] = column; //收集继续动态改变值的字段信息,以便动态改变值时更新表单数据\n this.dynamicSlotsTable.push(slotObj); //收集需要的动态插槽字段信息\n const otherResult = slotObj.config.otherResult; //返回额外参数字段配置\n if (otherResult !== null && otherResult !== undefined && otherResult !== '') {\n let otherResultArray = [];\n otherResult.split(\",\").forEach(m => {\n let k = m.split(\":\");\n otherResultArray.push({\n targetField: k[[k.length - 1]],\n sourceField: k[0]\n });\n });\n this.dynamicSlotsOtherResult[column.prop] = otherResultArray;\n }\n }\n });\n if (data.saveUrl) {\n this.state.saveUrl = data.saveUrl.trim();\n if (data.requestType) {\n this.state.requestType = data.requestType;\n }\n }\n this.state.edit = data['code'] == 'edit' == true;\n this.state.title = data.title ? data.title : this.state.edit ? '编辑' : '新增';\n //赋值弹窗宽度和高度\n if (data.form.diaLogWidth) {\n this.state.width = data.form.diaLogWidth;\n }\n if (data.form.diaLogHeight) {\n this.state.maxHeight = data.form.diaLogHeight + 'px';\n }\n if (data.form.title) {\n this.state.title = data.form.title;\n }\n this.state.dialogVisible = true;\n this.form = data.form;\n this.formData = data.formData;\n for (let key of Object.keys(this.state)) {\n if (data[key]) {\n this.state[key] = data[key];\n }\n }\n if (this.state.type == 0) {\n for (let column of this.form.column) {\n if (column.disabled == 1) {\n column.disabled = true;\n }\n this.initDict(column);\n parseJson(column);\n for (let event of ['change']) {\n if (column[event] && !(column[event] instanceof Function)) {\n try {\n column[event] = eval(\"(params)=>{this.$nextTick(()=>{\" + \"let formData = this.formData;\" + \"let {value} = params;\" + replaceDollarBraces(column[event]) + \"})\" + \"}\");\n } catch (e) {\n console.error(e);\n }\n }\n }\n }\n }\n if (this.state.otherProp) {\n try {\n this.state.otherProp = JSON.parse(this.state.otherProp);\n } catch (e) {\n console.log(e);\n }\n }\n },\n initDict(column) {\n if (column.dictCode) {\n column.dicData = dict.val(column.dictCode);\n if (column.selectDom == 1) {\n column.type = \"select\";\n }\n //”number”、”string”、”boolean”、”object”、”function” 和 “undefined”\n let dataType = typeof this.formData[column.prop];\n if ([\"number\", \"boolean\"].indexOf(dataType) != -1) {\n this.formData[column.prop] = String(this.formData[column.prop]);\n column.value = this.formData[column.prop];\n }\n if (this.state.edit) {\n return;\n }\n if (this.formData[column.prop] != undefined) {\n this.formData[column.prop] = String(this.formData[column.prop]);\n column.value = this.formData[column.prop];\n } else if (column.value != undefined) {\n this.formData[column.prop] = String(column.value);\n } else {\n // 数据字典与值类型不一致\n if (this.formData[column.prop] == undefined) {\n setTimeout(() => {\n if (column.dicData) {\n for (let dicDatum of column.dicData) {\n if (dicDatum.isDefault == 1) {\n this.formData[column.prop] = dicDatum.value;\n column.value = this.formData[column.prop];\n }\n }\n }\n }, 100);\n }\n }\n } else if (column.dictTable || column.dictUrl) {\n if (column.selectDom == 1) {\n column.type = \"select\";\n }\n column.filterable = true;\n column.dicData = [];\n setTimeout(() => {\n this.setDictTable(column, undefined);\n }, 10);\n if (column.type == 'tree') {\n column.filterable = column.filterable == undefined ? true : column.clearable;\n column.clearable = column.clearable == undefined ? true : column.clearable;\n } else {\n column.filterMethod = e => {\n this.$nextTick(() => {\n this.setDictTable(column, e);\n });\n };\n }\n }\n },\n setDictUrl(column, like) {\n let dictUrl = column.dictUrl.split(\",\");\n let url;\n let label = 'label';\n let value = 'value';\n let parentId = 'parentId';\n // get,url,label,value,parent_id\n let doGet = true;\n if (dictUrl.length > 1) {\n if (dictUrl[0].toString().toLowerCase() == 'post') {\n doGet = false;\n }\n url = dictUrl[1];\n label = dictUrl[2];\n value = dictUrl[3];\n parentId = dictUrl[4];\n } else {\n url = dictUrl[0];\n }\n if (doGet) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.get)(this.http, url + \"?label=\" + like).then(data => {\n column.dicData.length = 0;\n if (column.type == 'tree') {\n for (let da of data) {\n da['label'] = da[label];\n da['value'] = da[value];\n }\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_6__.handleTree)(data, value, parentId);\n } else {\n data.forEach(d => {\n column.dicData.push(d);\n });\n }\n });\n } else {\n let params = {};\n if (like) {\n params['label'] = like;\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(this.http, column.dictUrl, params, false).then(({\n data\n }) => {\n column.dicData.length = 0;\n if (column.type == 'tree') {\n for (let da of data) {\n da['label'] = da[label];\n da['value'] = da[value];\n }\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_6__.handleTree)(data, value, parentId);\n } else {\n data.forEach(da => {\n da['label'] = da[label];\n da['value'] = da[value];\n column.dicData.push(da);\n });\n }\n });\n }\n },\n setDictTable(column, like) {\n if (column.dictTable && column.dictTable.toString().trim() != '') {\n this.doSetDictTable(column, like);\n } else if (column.dictUrl) {\n this.setDictUrl(column, like);\n }\n },\n doSetDictTable(column, like) {\n let value = this.formData[column.prop];\n /*String tableName;\r\n String dataBase;\r\n String label;\r\n String value;\r\n Map<String, Object> where;*/\n // olp-vue-pro,system_users,nickname,id,parentId\n let params = {};\n let dictTable = JSON.parse(JSON.stringify(column.dictTable));\n if (dictTable instanceof Object) {\n params = dictTable;\n } else {\n dictTable = column.dictTable.split(\",\");\n params[\"dbName\"] = dictTable[0];\n params[\"tableName\"] = dictTable[1];\n params[\"label\"] = dictTable[2];\n params[\"value\"] = dictTable[3];\n if (dictTable[4]) {\n params[\"parentValue\"] = dictTable[4];\n }\n }\n if (like || value) {\n if (!params.where) {\n params.where = {};\n }\n }\n if (!params[\"parentValue\"]) {\n if (like) {\n params.where['_like_' + params[\"label\"]] = like;\n }\n if (value) {\n params.defaultValue = value;\n }\n }\n (0,_api_dist__WEBPACK_IMPORTED_MODULE_8__.initDictTable)(this.http, params).then(data => {\n column.dicData.length = 0;\n if (params[\"parentValue\"]) {\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_6__.handleTree)(data, 'dictValue', 'parentValue');\n } else {\n data.forEach(d => {\n column.dicData.push(d);\n });\n }\n });\n },\n /**\r\n * 表格选择器回调函数\r\n * @param data\r\n */\n olTableSelectChange(slotName, data) {\n // console.info('插槽名称', slotName, '表格回传的数据', data)\n // console.info('表格', this.form.column)\n this.formData[slotName] = data.value; //修改表单数据,以便后续提交\n if (typeof this.dynamicSlotsField[slotName].change === 'function') {\n this.dynamicSlotsField[slotName].change(data.value); //字段数据更新回调\n }\n //给其他字段赋值\n this.dynamicSlotsOtherResult[slotName]?.forEach(item => {\n this.formData[item.targetField] = data.data[item.sourceField];\n });\n }\n },\n mounted() {\n this.$nextTick(() => {\n (0,_store_dict__WEBPACK_IMPORTED_MODULE_9__.storeDict)().init(this.http);\n });\n },\n created() {}\n});\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-form/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
523
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/object */ \"./src/utils/object.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _api_dist__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/api/dist */ \"./src/api/dist.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/ol-table-select.vue */ \"./src/components/ol-table-select.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_9__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_10__.storeDictType)();\nfunction replaceDollarBraces(str) {\n return str.toString().replace(/\\$\\{?([^{}]+)\\}?/g, function (match, innerContent) {\n return innerContent ? `'${innerContent}'` : match;\n });\n}\nfunction parseJson(column) {\n let attrs = column.attrs;\n if (attrs) {\n try {\n attrs = JSON.parse(attrs);\n for (let key of Object.keys(attrs)) {\n column[key] = attrs[key];\n }\n } catch (e) {\n console.error(\"解析attrs异常\", attrs);\n }\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"olForm\",\n components: {\n OlTableSelect: _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n },\n inject: ['http'],\n props: {\n isDialog: {\n type: Boolean,\n default: true\n }\n },\n data() {\n return {\n formData: {},\n optionData: {},\n form: {\n column: []\n },\n dynamicSlotsTable: [],\n dynamicSlotsField: {},\n dynamicSlotsOtherResult: {},\n show: true,\n state: {\n isDialog: true,\n loading: false,\n fullscreen: false,\n dialogVisible: false,\n title: \"\",\n width: '60%',\n comCommit: true,\n maxHeight: '400px',\n type: '0',\n edit: false,\n saveUrl: '',\n requestType: 'post',\n updateKey: '',\n theme: 't1',\n tableConfigId: '',\n dbName: '',\n tableName: '',\n otherProp: {}\n }\n };\n },\n methods: {\n hideColumn(prop) {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_3__.setArrayObjectKeyValue)(this.form.column, 'display', false, prop);\n },\n showColumn(prop) {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_3__.setArrayObjectKeyValue)(this.form.column, 'display', true, prop);\n },\n getParams() {\n let params = {\n tableConfigId: this.state.tableConfigId,\n dbName: this.state.dbName,\n tableName: this.state.tableName,\n columnAndValueMap: {}\n };\n if (this.state.type != '0') {\n let formData = this.$refs.value.getFormData(false);\n for (let prop of Object.keys(formData)) {\n let value = formData[prop];\n if (value instanceof String) {\n value = value.trim();\n }\n params.columnAndValueMap[prop] = value;\n }\n } else {\n // for (let {prop} of this.form.column) {\n // let value = this.formData[prop];\n // if (value) {\n // if (value instanceof String) {\n // value = value.trim();\n // }\n // params.columnAndValueMap[prop] = value;\n // }\n // }\n params.columnAndValueMap = this.getTableUpdateValue(this.form.column, this.formData);\n }\n if (this.state.saveUrl) {\n return params.columnAndValueMap;\n }\n if (this.state.edit) {\n params.whereMap = {};\n if (this.state.updateKey) {\n let split = this.state.updateKey.split(',');\n for (let kv of split) {\n let kvs = kv.split(\"=\");\n if (kvs.length == 2) {\n params.whereMap[kvs[0]] = params.columnAndValueMap[kvs[1]];\n delete params.columnAndValueMap[kvs[0]];\n } else {\n let val = params.columnAndValueMap[kvs];\n params.whereMap[kvs] = val != undefined ? val : this.formData[kvs];\n delete params.columnAndValueMap[kvs];\n }\n }\n } else {\n // 编辑时默认更新条件为id\n params.whereMap['id'] = this.formData['id'];\n if (!params.whereMap['id']) {\n params.whereMap['id'] = this.formData['t1_id'];\n }\n delete params.columnAndValueMap['id'];\n }\n } else if (this.state.updateKey) {\n let split = this.state.updateKey.split(',');\n params['genIdMap'] = {};\n for (let kv of split) {\n let kvs = kv.split(\"=\");\n if (kvs.length == 2) {\n params['genIdMap'][kvs[0]] = kvs[1];\n } else {\n params['genIdMap'][kvs[0]] = 'uuid';\n }\n }\n }\n return params;\n },\n /**\r\n * 根据列配置获取数据库表更新数据\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n prop,\n tableField\n } of column) {\n if (tableField && tableField == '1') {\n continue;\n }\n let value = formData[prop];\n if (value != undefined) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[prop] = value;\n }\n }\n return columnAndValueMap;\n },\n async doSave() {\n let dom;\n let keys;\n if (this.state.type != '0') {\n await this.$refs.formRef.getNativeForm().validate((valid, msg) => {\n if (!valid) {\n keys = Object.keys(msg);\n dom = this.$refs.formRef.getWidgetRef(keys[0]);\n dom.$el.scrollIntoView({\n block: \"center\",\n behavior: \"smooth\"\n });\n (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)().error(\"您还有\" + keys.length + \"项信息未填写,请填写后再操作!\");\n } else {\n this.save();\n }\n });\n } else {\n await this.$refs.formRef.validate((valid, done, msg) => {\n if (!valid) {\n keys = Object.keys(msg);\n dom = this.$refs.formRef.getPropRef(keys[0]);\n dom.$el.scrollIntoView({\n block: \"center\",\n behavior: \"smooth\"\n });\n (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)().error(\"您还有\" + keys.length + \"项信息未填写,请填写后再操作!\");\n } else {\n this.save();\n }\n done();\n });\n }\n },\n saveOk(status) {\n this.state.loading = false;\n if (status) {\n this.state.dialogVisible = false;\n this.$emit('query');\n }\n if (this.state.otherProp && this.state.otherProp.afterSave) {\n try {\n eval(this.state.otherProp.afterSave);\n } catch (e) {\n console.log(e);\n }\n }\n },\n async save() {\n if (this.state.otherProp && this.state.otherProp.beforeSave) {\n try {\n let next = eval(\"()=>{\" + this.state.otherProp.beforeSave + \"}\");\n if (next() === false) {\n return;\n }\n } catch (e) {\n console.log(e);\n return;\n }\n }\n this.state.loading = true;\n try {\n let params = this.getParams();\n let url = this.state.saveUrl ? this.state.saveUrl : this.state.edit ? '/online/crudAes/modify' : '/online/crudAes/save';\n if (this.state.requestType.toLowerCase() == \"put\") {\n await (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.put)(this.http, url, params).then(status => {\n this.saveOk(status);\n });\n } else if (this.state.saveUrl) {\n await (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(this.http, url, params).then(status => {\n this.saveOk(status);\n });\n } else {\n await (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, url, params).then(status => {\n this.saveOk(status);\n });\n }\n } catch (e) {\n console.error(e);\n } finally {\n this.state.loading = false;\n }\n },\n init(data) {\n if (data.disabled) {\n this.show = false;\n }\n // 初始化动态插槽表格\n data.form.column.forEach(column => {\n if (data.disabled) {\n column.disabled = true;\n }\n if (column.selectDom === '22') {\n //表格选取\n let slotObj = {\n slotName: column.prop,\n config: JSON.parse(column.attrs).olTableSelect\n };\n this.dynamicSlotsField[column.prop] = column; //收集继续动态改变值的字段信息,以便动态改变值时更新表单数据\n this.dynamicSlotsTable.push(slotObj); //收集需要的动态插槽字段信息\n const otherResult = slotObj.config.otherResult; //返回额外参数字段配置\n if (otherResult !== null && otherResult !== undefined && otherResult !== '') {\n let otherResultArray = [];\n otherResult.split(\",\").forEach(m => {\n let k = m.split(\":\");\n otherResultArray.push({\n targetField: k[[k.length - 1]],\n sourceField: k[0]\n });\n });\n this.dynamicSlotsOtherResult[column.prop] = otherResultArray;\n }\n }\n });\n if (data.saveUrl) {\n this.state.saveUrl = data.saveUrl.trim();\n if (data.requestType) {\n this.state.requestType = data.requestType;\n }\n }\n this.state.edit = data['code'] == 'edit' == true;\n this.state.title = data.title ? data.title : this.state.edit ? '编辑' : '新增';\n //赋值弹窗宽度和高度\n if (data.form.diaLogWidth) {\n this.state.width = data.form.diaLogWidth;\n }\n if (data.form.diaLogHeight) {\n this.state.maxHeight = data.form.diaLogHeight + 'px';\n }\n if (data.form.title) {\n this.state.title = data.form.title;\n }\n this.state.dialogVisible = true;\n this.form = data.form;\n this.formData = data.formData;\n for (let key of Object.keys(this.state)) {\n if (data[key]) {\n this.state[key] = data[key];\n }\n }\n if (this.state.type == 0) {\n for (let column of this.form.column) {\n if (column.disabled == 1) {\n column.disabled = true;\n }\n this.initDict(column);\n parseJson(column);\n for (let event of ['change']) {\n if (column[event] && !(column[event] instanceof Function)) {\n try {\n column[event] = eval(\"(params)=>{this.$nextTick(()=>{\" + \"let formData = this.formData;\" + \"let {value} = params;\" + replaceDollarBraces(column[event]) + \"})\" + \"}\");\n } catch (e) {\n console.error(e);\n }\n }\n }\n }\n }\n if (this.state.otherProp) {\n try {\n this.state.otherProp = JSON.parse(this.state.otherProp);\n } catch (e) {\n console.log(e);\n }\n }\n },\n initDict(column) {\n if (column.dictCode) {\n column.dicData = dict.val(column.dictCode);\n if (column.selectDom == 1) {\n column.type = \"select\";\n }\n //”number”、”string”、”boolean”、”object”、”function” 和 “undefined”\n let dataType = typeof this.formData[column.prop];\n if ([\"number\", \"boolean\"].indexOf(dataType) != -1) {\n this.formData[column.prop] = String(this.formData[column.prop]);\n column.value = this.formData[column.prop];\n }\n if (this.state.edit) {\n return;\n }\n if (this.formData[column.prop] != undefined) {\n this.formData[column.prop] = String(this.formData[column.prop]);\n column.value = this.formData[column.prop];\n } else if (column.value != undefined) {\n this.formData[column.prop] = String(column.value);\n } else {\n // 数据字典与值类型不一致\n if (this.formData[column.prop] == undefined) {\n setTimeout(() => {\n if (column.dicData) {\n for (let dicDatum of column.dicData) {\n if (dicDatum.isDefault == 1) {\n this.formData[column.prop] = dicDatum.value;\n column.value = this.formData[column.prop];\n }\n }\n }\n }, 100);\n }\n }\n } else if (column.dictTable || column.dictUrl) {\n if (column.selectDom == 1) {\n column.type = \"select\";\n }\n column.filterable = true;\n column.dicData = [];\n setTimeout(() => {\n this.setDictTable(column, undefined);\n }, 10);\n if (column.type == 'tree') {\n column.filterable = column.filterable == undefined ? true : column.clearable;\n column.clearable = column.clearable == undefined ? true : column.clearable;\n } else {\n column.filterMethod = e => {\n this.$nextTick(() => {\n this.setDictTable(column, e);\n });\n };\n }\n }\n },\n setDictUrl(column, like) {\n let dictUrl = column.dictUrl.split(\",\");\n let url;\n let label = 'label';\n let value = 'value';\n let parentId = 'parentId';\n // get,url,label,value,parent_id\n let doGet = true;\n if (dictUrl.length > 1) {\n if (dictUrl[0].toString().toLowerCase() == 'post') {\n doGet = false;\n }\n url = dictUrl[1];\n label = dictUrl[2];\n value = dictUrl[3];\n parentId = dictUrl[4];\n } else {\n url = dictUrl[0];\n }\n if (doGet) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.get)(this.http, url + \"?label=\" + like).then(data => {\n column.dicData.length = 0;\n if (column.type == 'tree') {\n for (let da of data) {\n da['label'] = da[label];\n da['value'] = da[value];\n }\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_6__.handleTree)(data, value, parentId);\n } else {\n data.forEach(d => {\n column.dicData.push(d);\n });\n }\n });\n } else {\n let params = {};\n if (like) {\n params['label'] = like;\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(this.http, column.dictUrl, params, false).then(({\n data\n }) => {\n column.dicData.length = 0;\n if (column.type == 'tree') {\n for (let da of data) {\n da['label'] = da[label];\n da['value'] = da[value];\n }\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_6__.handleTree)(data, value, parentId);\n } else {\n data.forEach(da => {\n da['label'] = da[label];\n da['value'] = da[value];\n column.dicData.push(da);\n });\n }\n });\n }\n },\n setDictTable(column, like) {\n if (column.dictTable && column.dictTable.toString().trim() != '') {\n this.doSetDictTable(column, like);\n } else if (column.dictUrl) {\n this.setDictUrl(column, like);\n }\n },\n doSetDictTable(column, like) {\n let value = this.formData[column.prop];\n /*String tableName;\r\n String dataBase;\r\n String label;\r\n String value;\r\n Map<String, Object> where;*/\n // olp-vue-pro,system_users,nickname,id,parentId\n let params = {};\n let dictTable = JSON.parse(JSON.stringify(column.dictTable));\n if (dictTable instanceof Object) {\n params = dictTable;\n } else {\n dictTable = column.dictTable.split(\",\");\n params[\"dbName\"] = dictTable[0];\n params[\"tableName\"] = dictTable[1];\n params[\"label\"] = dictTable[2];\n params[\"value\"] = dictTable[3];\n if (dictTable[4]) {\n params[\"parentValue\"] = dictTable[4];\n }\n }\n if (like || value) {\n if (!params.where) {\n params.where = {};\n }\n }\n if (!params[\"parentValue\"]) {\n if (like) {\n params.where['_like_' + params[\"label\"]] = like;\n }\n if (value) {\n params.defaultValue = value;\n }\n }\n (0,_api_dist__WEBPACK_IMPORTED_MODULE_8__.initDictTable)(this.http, params).then(data => {\n column.dicData.length = 0;\n if (params[\"parentValue\"]) {\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_6__.handleTree)(data, 'dictValue', 'parentValue');\n } else {\n data.forEach(d => {\n column.dicData.push(d);\n });\n }\n });\n },\n /**\r\n * 表格选择器回调函数\r\n * @param data\r\n */\n olTableSelectChange(slotName, data) {\n // console.info('插槽名称', slotName, '表格回传的数据', data)\n // console.info('表格', this.form.column)\n this.formData[slotName] = data.value; //修改表单数据,以便后续提交\n if (typeof this.dynamicSlotsField[slotName].change === 'function') {\n this.dynamicSlotsField[slotName].change(data.value); //字段数据更新回调\n }\n //给其他字段赋值\n this.dynamicSlotsOtherResult[slotName]?.forEach(item => {\n this.formData[item.targetField] = data.data[item.sourceField];\n });\n }\n },\n mounted() {\n this.$nextTick(() => {\n (0,_store_dict__WEBPACK_IMPORTED_MODULE_9__.storeDict)().init(this.http);\n });\n },\n created() {}\n});\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-form/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
524
524
 
525
525
  /***/ }),
526
526
 
@@ -531,7 +531,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
531
531
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
532
532
 
533
533
  "use strict";
534
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/object */ \"./src/utils/object.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _api_dist__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/api/dist */ \"./src/api/dist.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _components_table_model_model_index_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/components/table/model/model-index.vue */ \"./src/components/table/model/model-index.vue\");\n/* harmony import */ var _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/ol-table-select.vue */ \"./src/components/ol-table-select.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_8__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_9__.storeDictType)();\nfunction replaceDollarBraces(str) {\n return str.toString().replace(/\\$\\{?([^{}]+)\\}?/g, function (match, innerContent) {\n return innerContent ? `'${innerContent}'` : match;\n });\n}\nfunction parseJson(column) {\n let attrs = column.attrs;\n if (attrs) {\n try {\n attrs = JSON.parse(attrs);\n for (let key of Object.keys(attrs)) {\n column[key] = attrs[key];\n }\n } catch (e) {\n console.error(\"解析attrs异常\", attrs);\n }\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"olMainFormSubTable\",\n components: {\n OlTableSelect: _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n ModelIndex: _components_table_model_model_index_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n },\n inject: ['http'],\n data() {\n return {\n url: {\n saveUrl: \"/online/crudAes/saveMainAndSubs\"\n },\n uuid: undefined,\n subForeignKey: '',\n formData: {},\n optionData: {},\n form: {\n column: []\n },\n dynamicSlotsTable: [],\n dynamicSlotsField: {},\n dynamicSlotsOtherResult: {},\n show: true,\n exBtnDisabled: undefined,\n state: {\n loading: false,\n fullscreen: false,\n dialogVisible: false,\n title: \"\",\n width: '60%',\n comCommit: true,\n maxHeight: '400px',\n type: '0',\n edit: false,\n saveUrl: '',\n requestType: 'post',\n updateKey: '',\n deleteId: '',\n theme: 't1',\n tableConfigId: '',\n dbName: '',\n tableName: ''\n }\n };\n },\n computed: {\n https() {\n return this.http;\n }\n },\n methods: {\n hideColumn(prop) {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_3__.setArrayObjectKeyValue)(this.form.column, 'display', false, prop);\n },\n showColumn(prop) {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_3__.setArrayObjectKeyValue)(this.form.column, 'display', true, prop);\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n getSubUpdateList(table) {\n let subColumnAndValueList = [];\n for (const row of table.data) {\n subColumnAndValueList.push(this.getSubUpdate(row, table.columns));\n }\n return subColumnAndValueList;\n },\n getSubUpdate(row, columns) {\n let subColumnAndValue = {};\n for (const column of columns) {\n if (!column.tableSaveToOtherProp || column.tableSaveToOtherProp != '1') {\n subColumnAndValue[column.tableField ? column.tableField : column.field] = row[column.field];\n }\n }\n return subColumnAndValue;\n },\n getParams() {\n // 子表信息\n let subTable = this.$refs.subTable.table.t1;\n let deleteId = this.getDeleteId(subTable.deleteParameter);\n let params = {\n tableConfigId: this.state.tableConfigId,\n dbName: this.state.dbName,\n tableName: this.state.tableName,\n // 主表的唯一字段\n mainTableKey: [this.state.deleteId],\n //主表的唯一字段\n // 子表要自动生成的唯一字段 如果没有 可以忽略\n mainGenIdMap: {\n [this.state.deleteId]: 'uuid'\n },\n mianColumnAndValueMap: {},\n // 子表名称\n subTableName: subTable.tableConfig.mainTable,\n // 子表要自动生成的唯一字段 如果没有 可以忽略\n subGenIdMap: {\n [deleteId]: 'uuid'\n },\n // 子表子主表的数据\n subColumnAndValueList: this.getSubUpdateList(subTable.table),\n // 子表的唯一字段\n subTableKey: [deleteId],\n // 表的关联key,这里框架自动复制 {主表字段,子表的字段}\n subForeignKey: {\n [this.state.deleteId]: this.subForeignKey\n }\n };\n if (this.state.type != '0') {\n let formData = this.$refs.value.getFormData(false);\n for (let prop of Object.keys(formData)) {\n let value = formData[prop];\n if (value instanceof String) {\n value = value.trim();\n }\n params.mianColumnAndValueMap[prop] = value;\n }\n } else {\n params.mianColumnAndValueMap = this.getTableUpdateValue(this.form.column, this.formData);\n }\n if (this.state.saveUrl) {\n return params.mianColumnAndValueMap;\n }\n if (this.state.edit) {\n params.whereMap = {};\n if (this.state.updateKey) {\n let split = this.state.updateKey.split(',');\n for (let kv of split) {\n let kvs = kv.split(\"=\");\n if (kvs.length == 2) {\n params.mianColumnAndValueMap[kvs[0]] = params.mianColumnAndValueMap[kvs[1]];\n } else {\n let val = params.mianColumnAndValueMap[kvs];\n params.mianColumnAndValueMap[kvs] = val != undefined ? val : this.formData[kvs];\n }\n }\n } else {\n // 编辑时默认更新条件为id\n params.mianColumnAndValueMap['id'] = this.formData['id'];\n if (!params.mianColumnAndValueMap['id']) {\n params.mianColumnAndValueMap['id'] = this.formData['t1_id'];\n }\n }\n }\n return params;\n },\n /**\r\n * 根据列配置获取数据库表更新数据\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n prop,\n tableField\n } of column) {\n if (tableField && tableField == '1') {\n continue;\n }\n let value = formData[prop];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[prop] = value;\n }\n }\n return columnAndValueMap;\n },\n async doValidate() {\n let dom = undefined;\n let keys = [];\n let status = true;\n if (this.state.type != '0') {\n await this.$refs.formRef.getNativeForm().validate((valid, msg) => {\n if (!valid) {\n keys = Object.keys(msg);\n dom = this.$refs.formRef.getWidgetRef(keys[0]);\n status = false;\n }\n });\n } else {\n await this.$refs.formRef.validate((valid, done, msg) => {\n if (!valid) {\n keys = Object.keys(msg);\n dom = this.$refs.formRef.getPropRef(keys[0]);\n status = false;\n }\n done();\n });\n }\n if (dom) {\n // 定位代码\n dom.$el.scrollIntoView({\n block: \"center\",\n behavior: \"smooth\"\n });\n (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)().error(\"您还有\" + keys.length + \"项信息未填写,请填写后再操作!\");\n status = false;\n }\n return status;\n },\n async doSave() {\n let dom;\n let keys;\n if (this.state.type != '0') {\n await this.$refs.formRef.getNativeForm().validate((valid, msg) => {\n if (!valid) {\n keys = Object.keys(msg);\n dom = this.$refs.formRef.getWidgetRef(keys[0]);\n dom.$el.scrollIntoView({\n block: \"center\",\n behavior: \"smooth\"\n });\n (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)().error(\"您还有\" + keys.length + \"项信息未填写,请填写后再操作!\");\n } else {\n this.save();\n }\n });\n } else {\n await this.$refs.formRef.validate((valid, done, msg) => {\n if (!valid) {\n keys = Object.keys(msg);\n dom = this.$refs.formRef.getPropRef(keys[0]);\n dom.$el.scrollIntoView({\n block: \"center\",\n behavior: \"smooth\"\n });\n (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)().error(\"您还有\" + keys.length + \"项信息未填写,请填写后再操作!\");\n } else {\n this.save();\n }\n done();\n });\n }\n },\n save() {\n this.state.loading = true;\n try {\n let params = this.getParams();\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, this.url.saveUrl, params).then(status => {\n this.state.loading = false;\n if (status) {\n this.state.dialogVisible = false;\n this.$emit('query');\n }\n });\n } catch (e) {\n console.error(e);\n } finally {\n this.state.loading = false;\n }\n },\n setUUID(data) {\n this.uuid = data.uuid;\n this.subForeignKey = data.foreignKey;\n },\n init(data) {\n this.show = data.disabled == false;\n this.exBtnDisabled = data.exBtnDisabled;\n // 初始化动态插槽表格\n data.form.column.forEach(column => {\n if (data.disabled) {\n column.disabled = true;\n }\n if (column.selectDom === '22') {\n //表格选取\n let slotObj = {\n slotName: column.prop,\n config: JSON.parse(column.attrs).olTableSelect\n };\n this.dynamicSlotsField[column.prop] = column; //收集继续动态改变值的字段信息,以便动态改变值时更新表单数据\n this.dynamicSlotsTable.push(slotObj); //收集需要的动态插槽字段信息\n const otherResult = slotObj.config.otherResult; //返回额外参数字段配置\n if (otherResult !== null && otherResult !== undefined && otherResult !== '') {\n let otherResultArray = [];\n otherResult.split(\",\").forEach(m => {\n let k = m.split(\":\");\n otherResultArray.push({\n targetField: k[[k.length - 1]],\n sourceField: k[0]\n });\n });\n this.dynamicSlotsOtherResult[column.prop] = otherResultArray;\n }\n }\n });\n if (data.saveUrl) {\n this.state.saveUrl = data.saveUrl.trim();\n if (data.requestType) {\n this.state.requestType = data.requestType;\n }\n }\n this.setUUID(data);\n this.state.edit = data['code'] == 'edit' == true;\n this.state.title = data.title ? data.title : this.state.edit ? '编辑' : '新增';\n //赋值弹窗宽度和高度\n if (data.form.diaLogWidth) {\n this.state.width = data.form.diaLogWidth;\n }\n if (data.form.diaLogHeight) {\n this.state.maxHeight = data.form.diaLogHeight + 'px';\n }\n if (data.form.title) {\n this.state.title = data.form.title;\n }\n this.state.dialogVisible = true;\n this.form = data.form;\n this.formData = data.formData;\n for (let key of Object.keys(this.state)) {\n if (data[key]) {\n this.state[key] = data[key];\n }\n }\n },\n ok(e) {\n if (!this.show) {\n this.$refs.subTable.getTableRefs().setAllBtnDisabled(this.exBtnDisabled);\n }\n for (let column of this.form.column) {\n if (column.disabled == 1) {\n column.disabled = true;\n }\n this.initDict(column);\n parseJson(column);\n for (let event of ['change']) {\n if (column[event] && !(column[event] instanceof Function)) {\n try {\n column[event] = eval(\"(params)=>{this.$nextTick(()=>{\" + \"let formData = this.formData;console.log(formData);\" + \"let {value} = params;\" + replaceDollarBraces(column[event]) + \"})\" + \"}\");\n } catch (e) {\n console.error(e);\n }\n }\n }\n }\n this.setParameter(e);\n if (this.state.edit) {\n e.query();\n }\n },\n setParameter(e) {\n let param = {\n [this.subForeignKey]: this.formData[this.state.deleteId]\n };\n e.parameter = {\n ...e.parameter,\n ...param\n };\n },\n initDict(column) {\n if (column.dictCode) {\n column.dicData = dict.val(column.dictCode);\n if (column.selectDom == 1) {\n column.type = \"select\";\n }\n if (this.state.edit) {\n return;\n }\n if (this.formData[column.prop] != undefined) {\n this.formData[column.prop] = String(this.formData[column.prop]);\n } else if (column.value != undefined) {\n this.formData[column.prop] = String(column.value);\n } else {\n //”number”、”string”、”boolean”、”object”、”function” 和 “undefined”\n let dataType = typeof this.formData[column.prop];\n // 数据字典与值类型不一致\n if (this.formData[column.prop] != undefined && this.formData[column.prop] != '' && [\"number\", \"boolean\"].indexOf(dataType) != -1) {\n this.formData[column.prop] = String(this.formData[column.prop]);\n column.value = this.formData[column.prop];\n } else if (this.formData[column.prop] == undefined) {\n setTimeout(() => {\n if (column.dicData) {\n for (let dicDatum of column.dicData) {\n if (dicDatum.isDefault == 1) {\n this.formData[column.prop] = dicDatum.value;\n column.value = this.formData[column.prop];\n }\n }\n }\n }, 100);\n }\n }\n } else if (column.dictTable || column.dictUrl) {\n if (column.selectDom == 1) {\n column.type = \"select\";\n }\n column.filterable = true;\n column.dicData = [];\n setTimeout(() => {\n this.setDictTable(column, undefined);\n }, 10);\n if (column.type == 'tree') {\n column.filterable = column.filterable == undefined ? true : column.clearable;\n column.clearable = column.clearable == undefined ? true : column.clearable;\n } else {\n column.filterMethod = e => {\n this.$nextTick(() => {\n this.setDictTable(column, e);\n });\n };\n }\n }\n },\n setDictUrl(column, like) {\n let dictUrl = column.dictUrl.split(\",\");\n let url;\n let label = 'label';\n let value = 'value';\n let parentId = 'parentId';\n // get,url,label,value,parent_id\n let doGet = true;\n if (dictUrl.length > 1) {\n if (dictUrl[0].toString().toLowerCase() == 'post') {\n doGet = false;\n }\n url = dictUrl[1];\n label = dictUrl[2];\n value = dictUrl[3];\n parentId = dictUrl[4];\n } else {\n url = dictUrl[0];\n }\n if (doGet) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.get)(this.http, url + \"?label=\" + like).then(data => {\n column.dicData.length = 0;\n if (column.type == 'tree') {\n for (let da of data) {\n da['label'] = da[label];\n da['value'] = da[value];\n }\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_6__.handleTree)(data, value, parentId);\n } else {\n data.forEach(d => {\n column.dicData.push(d);\n });\n }\n });\n } else {\n let params = {};\n if (like) {\n params['label'] = like;\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(this.http, column.dictUrl, params, false).then(({\n data\n }) => {\n column.dicData.length = 0;\n if (column.type == 'tree') {\n for (let da of data) {\n da['label'] = da[label];\n da['value'] = da[value];\n }\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_6__.handleTree)(data, value, parentId);\n } else {\n data.forEach(da => {\n da['label'] = da[label];\n da['value'] = da[value];\n column.dicData.push(da);\n });\n }\n });\n }\n },\n setDictTable(column, like) {\n if (column.dictTable && column.dictTable.toString().trim() != '') {\n this.doSetDictTable(column, like);\n } else if (column.dictUrl) {\n this.setDictUrl(column, like);\n }\n },\n doSetDictTable(column, like) {\n let value = this.formData[column.prop];\n /*String tableName;\r\n String dataBase;\r\n String label;\r\n String value;\r\n Map<String, Object> where;*/\n // olp-vue-pro,system_users,nickname,id,parentId\n let params = {};\n let dictTable = JSON.parse(JSON.stringify(column.dictTable));\n if (dictTable instanceof Object) {\n params = dictTable;\n } else {\n dictTable = column.dictTable.split(\",\");\n params[\"dbName\"] = dictTable[0];\n params[\"tableName\"] = dictTable[1];\n params[\"label\"] = dictTable[2];\n params[\"value\"] = dictTable[3];\n if (dictTable[4]) {\n params[\"parentValue\"] = dictTable[4];\n }\n }\n if (like || value) {\n if (!params.where) {\n params.where = {};\n }\n }\n if (!params[\"parentValue\"]) {\n if (like) {\n params.where['_like_' + params[\"label\"]] = like;\n }\n if (value) {\n params.defaultValue = value;\n }\n }\n (0,_api_dist__WEBPACK_IMPORTED_MODULE_7__.initDictTable)(this.http, params).then(data => {\n column.dicData.length = 0;\n if (params[\"parentValue\"]) {\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_6__.handleTree)(data, 'dictValue', 'parentValue');\n } else {\n data.forEach(d => {\n column.dicData.push(d);\n });\n }\n });\n },\n /**\r\n * 表格选择器回调函数\r\n * @param data\r\n */\n olTableSelectChange(slotName, data) {\n // console.info('插槽名称', slotName, '表格回传的数据', data)\n // console.info('表格', this.form.column)\n this.formData[slotName] = data.value; //修改表单数据,以便后续提交\n if (typeof this.dynamicSlotsField[slotName].change === 'function') {\n this.dynamicSlotsField[slotName].change(data.value); //字段数据更新回调\n }\n //给其他字段赋值\n this.dynamicSlotsOtherResult[slotName]?.forEach(item => {\n this.formData[item.targetField] = data.data[item.sourceField];\n });\n }\n },\n mounted() {\n this.$nextTick(() => {\n (0,_store_dict__WEBPACK_IMPORTED_MODULE_8__.storeDict)().init(this.http);\n });\n },\n created() {\n // console.info(\"我是主子表\")\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-main-form-sub-table/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
534
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/object */ \"./src/utils/object.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _api_dist__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/api/dist */ \"./src/api/dist.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _components_table_model_model_index_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/components/table/model/model-index.vue */ \"./src/components/table/model/model-index.vue\");\n/* harmony import */ var _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/ol-table-select.vue */ \"./src/components/ol-table-select.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_8__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_9__.storeDictType)();\nfunction replaceDollarBraces(str) {\n return str.toString().replace(/\\$\\{?([^{}]+)\\}?/g, function (match, innerContent) {\n return innerContent ? `'${innerContent}'` : match;\n });\n}\nfunction parseJson(column) {\n let attrs = column.attrs;\n if (attrs) {\n try {\n attrs = JSON.parse(attrs);\n for (let key of Object.keys(attrs)) {\n column[key] = attrs[key];\n }\n } catch (e) {\n console.error(\"解析attrs异常\", attrs);\n }\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"olMainFormSubTable\",\n components: {\n OlTableSelect: _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n ModelIndex: _components_table_model_model_index_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n },\n inject: ['http'],\n data() {\n return {\n url: {\n saveUrl: \"/online/crudAes/saveMainAndSubs\"\n },\n uuid: undefined,\n subForeignKey: '',\n formData: {},\n optionData: {},\n form: {\n column: []\n },\n dynamicSlotsTable: [],\n dynamicSlotsField: {},\n dynamicSlotsOtherResult: {},\n show: true,\n exBtnDisabled: undefined,\n state: {\n loading: false,\n fullscreen: false,\n dialogVisible: false,\n title: \"\",\n width: '60%',\n comCommit: true,\n maxHeight: '400px',\n type: '0',\n edit: false,\n saveUrl: '',\n requestType: 'post',\n updateKey: '',\n deleteId: '',\n theme: 't1',\n tableConfigId: '',\n dbName: '',\n tableName: '',\n otherProp: {}\n }\n };\n },\n computed: {\n https() {\n return this.http;\n }\n },\n methods: {\n hideColumn(prop) {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_3__.setArrayObjectKeyValue)(this.form.column, 'display', false, prop);\n },\n showColumn(prop) {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_3__.setArrayObjectKeyValue)(this.form.column, 'display', true, prop);\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n getSubUpdateList(table) {\n let subColumnAndValueList = [];\n for (const row of table.data) {\n subColumnAndValueList.push(this.getSubUpdate(row, table.columns));\n }\n return subColumnAndValueList;\n },\n getSubUpdate(row, columns) {\n let subColumnAndValue = {};\n for (const column of columns) {\n if (!column.tableSaveToOtherProp || column.tableSaveToOtherProp != '1') {\n subColumnAndValue[column.tableField ? column.tableField : column.field] = row[column.field];\n }\n }\n return subColumnAndValue;\n },\n getParams() {\n // 子表信息\n let subTable = this.$refs.subTable.table.t1;\n let deleteId = this.getDeleteId(subTable.deleteParameter);\n let params = {\n tableConfigId: this.state.tableConfigId,\n dbName: this.state.dbName,\n tableName: this.state.tableName,\n // 主表的唯一字段\n mainTableKey: [this.state.deleteId],\n //主表的唯一字段\n // 子表要自动生成的唯一字段 如果没有 可以忽略\n mainGenIdMap: {\n [this.state.deleteId]: 'uuid'\n },\n mianColumnAndValueMap: {},\n // 子表名称\n subTableName: subTable.tableConfig.mainTable,\n // 子表要自动生成的唯一字段 如果没有 可以忽略\n subGenIdMap: {\n [deleteId]: 'uuid'\n },\n // 子表子主表的数据\n subColumnAndValueList: this.getSubUpdateList(subTable.table),\n // 子表的唯一字段\n subTableKey: [deleteId],\n // 表的关联key,这里框架自动复制 {主表字段,子表的字段}\n subForeignKey: {\n [this.state.deleteId]: this.subForeignKey\n }\n };\n if (this.state.type != '0') {\n let formData = this.$refs.value.getFormData(false);\n for (let prop of Object.keys(formData)) {\n let value = formData[prop];\n if (value instanceof String) {\n value = value.trim();\n }\n params.mianColumnAndValueMap[prop] = value;\n }\n } else {\n params.mianColumnAndValueMap = this.getTableUpdateValue(this.form.column, this.formData);\n }\n if (this.state.saveUrl) {\n return params.mianColumnAndValueMap;\n }\n if (this.state.edit) {\n params.whereMap = {};\n if (this.state.updateKey) {\n let split = this.state.updateKey.split(',');\n for (let kv of split) {\n let kvs = kv.split(\"=\");\n if (kvs.length == 2) {\n params.mianColumnAndValueMap[kvs[0]] = params.mianColumnAndValueMap[kvs[1]];\n } else {\n let val = params.mianColumnAndValueMap[kvs];\n params.mianColumnAndValueMap[kvs] = val != undefined ? val : this.formData[kvs];\n }\n }\n } else {\n // 编辑时默认更新条件为id\n params.mianColumnAndValueMap['id'] = this.formData['id'];\n if (!params.mianColumnAndValueMap['id']) {\n params.mianColumnAndValueMap['id'] = this.formData['t1_id'];\n }\n }\n }\n return params;\n },\n /**\r\n * 根据列配置获取数据库表更新数据\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n prop,\n tableField\n } of column) {\n if (tableField && tableField == '1') {\n continue;\n }\n let value = formData[prop];\n if (value != undefined) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[prop] = value;\n }\n }\n return columnAndValueMap;\n },\n async doValidate() {\n let dom = undefined;\n let keys = [];\n let status = true;\n if (this.state.type != '0') {\n await this.$refs.formRef.getNativeForm().validate((valid, msg) => {\n if (!valid) {\n keys = Object.keys(msg);\n dom = this.$refs.formRef.getWidgetRef(keys[0]);\n status = false;\n }\n });\n } else {\n await this.$refs.formRef.validate((valid, done, msg) => {\n if (!valid) {\n keys = Object.keys(msg);\n dom = this.$refs.formRef.getPropRef(keys[0]);\n status = false;\n }\n done();\n });\n }\n if (dom) {\n // 定位代码\n dom.$el.scrollIntoView({\n block: \"center\",\n behavior: \"smooth\"\n });\n (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)().error(\"您还有\" + keys.length + \"项信息未填写,请填写后再操作!\");\n status = false;\n }\n return status;\n },\n async doSave() {\n let dom;\n let keys;\n if (this.state.type != '0') {\n await this.$refs.formRef.getNativeForm().validate((valid, msg) => {\n if (!valid) {\n keys = Object.keys(msg);\n dom = this.$refs.formRef.getWidgetRef(keys[0]);\n dom.$el.scrollIntoView({\n block: \"center\",\n behavior: \"smooth\"\n });\n (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)().error(\"您还有\" + keys.length + \"项信息未填写,请填写后再操作!\");\n } else {\n this.save();\n }\n });\n } else {\n await this.$refs.formRef.validate((valid, done, msg) => {\n if (!valid) {\n keys = Object.keys(msg);\n dom = this.$refs.formRef.getPropRef(keys[0]);\n dom.$el.scrollIntoView({\n block: \"center\",\n behavior: \"smooth\"\n });\n (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)().error(\"您还有\" + keys.length + \"项信息未填写,请填写后再操作!\");\n } else {\n this.save();\n }\n done();\n });\n }\n },\n saveOk(status) {\n this.state.loading = false;\n if (status) {\n this.state.dialogVisible = false;\n this.$emit('query');\n }\n if (this.state.otherProp && this.state.otherProp.afterSave) {\n try {\n eval(this.state.otherProp.afterSave);\n } catch (e) {\n console.log(e);\n }\n }\n },\n save() {\n this.state.loading = true;\n try {\n let params = this.getParams();\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, this.url.saveUrl, params).then(status => {\n this.saveOk(status);\n });\n } catch (e) {\n console.error(e);\n } finally {\n this.state.loading = false;\n }\n },\n setUUID(data) {\n this.uuid = data.uuid;\n this.subForeignKey = data.foreignKey;\n },\n init(data) {\n this.show = data.disabled == false;\n this.exBtnDisabled = data.exBtnDisabled;\n // 初始化动态插槽表格\n data.form.column.forEach(column => {\n if (data.disabled) {\n column.disabled = true;\n }\n if (column.selectDom === '22') {\n //表格选取\n let slotObj = {\n slotName: column.prop,\n config: JSON.parse(column.attrs).olTableSelect\n };\n this.dynamicSlotsField[column.prop] = column; //收集继续动态改变值的字段信息,以便动态改变值时更新表单数据\n this.dynamicSlotsTable.push(slotObj); //收集需要的动态插槽字段信息\n const otherResult = slotObj.config.otherResult; //返回额外参数字段配置\n if (otherResult !== null && otherResult !== undefined && otherResult !== '') {\n let otherResultArray = [];\n otherResult.split(\",\").forEach(m => {\n let k = m.split(\":\");\n otherResultArray.push({\n targetField: k[[k.length - 1]],\n sourceField: k[0]\n });\n });\n this.dynamicSlotsOtherResult[column.prop] = otherResultArray;\n }\n }\n });\n if (data.saveUrl) {\n this.state.saveUrl = data.saveUrl.trim();\n if (data.requestType) {\n this.state.requestType = data.requestType;\n }\n }\n this.setUUID(data);\n this.state.edit = data['code'] == 'edit' == true;\n this.state.title = data.title ? data.title : this.state.edit ? '编辑' : '新增';\n //赋值弹窗宽度和高度\n if (data.form.diaLogWidth) {\n this.state.width = data.form.diaLogWidth;\n }\n if (data.form.diaLogHeight) {\n this.state.maxHeight = data.form.diaLogHeight + 'px';\n }\n if (data.form.title) {\n this.state.title = data.form.title;\n }\n this.state.dialogVisible = true;\n this.form = data.form;\n this.formData = data.formData;\n for (let key of Object.keys(this.state)) {\n if (data[key]) {\n this.state[key] = data[key];\n }\n }\n if (this.state.otherProp) {\n try {\n this.state.otherProp = JSON.parse(this.state.otherProp);\n } catch (e) {\n console.log(e);\n }\n }\n },\n ok(e) {\n if (!this.show) {\n this.$refs.subTable.getTableRefs().setAllBtnDisabled(this.exBtnDisabled);\n }\n for (let column of this.form.column) {\n if (column.disabled == 1) {\n column.disabled = true;\n }\n this.initDict(column);\n parseJson(column);\n for (let event of ['change']) {\n if (column[event] && !(column[event] instanceof Function)) {\n try {\n column[event] = eval(\"(params)=>{this.$nextTick(()=>{\" + \"let formData = this.formData;console.log(formData);\" + \"let {value} = params;\" + replaceDollarBraces(column[event]) + \"})\" + \"}\");\n } catch (e) {\n console.error(e);\n }\n }\n }\n }\n this.setParameter(e);\n if (this.state.edit) {\n e.query();\n }\n },\n setParameter(e) {\n let param = {\n [this.subForeignKey]: this.formData[this.state.deleteId]\n };\n e.parameter = {\n ...e.parameter,\n ...param\n };\n },\n initDict(column) {\n if (column.dictCode) {\n column.dicData = dict.val(column.dictCode);\n if (column.selectDom == 1) {\n column.type = \"select\";\n }\n if (this.state.edit) {\n return;\n }\n if (this.formData[column.prop] != undefined) {\n this.formData[column.prop] = String(this.formData[column.prop]);\n } else if (column.value != undefined) {\n this.formData[column.prop] = String(column.value);\n } else {\n //”number”、”string”、”boolean”、”object”、”function” 和 “undefined”\n let dataType = typeof this.formData[column.prop];\n // 数据字典与值类型不一致\n if (this.formData[column.prop] != undefined && this.formData[column.prop] != '' && [\"number\", \"boolean\"].indexOf(dataType) != -1) {\n this.formData[column.prop] = String(this.formData[column.prop]);\n column.value = this.formData[column.prop];\n } else if (this.formData[column.prop] == undefined) {\n setTimeout(() => {\n if (column.dicData) {\n for (let dicDatum of column.dicData) {\n if (dicDatum.isDefault == 1) {\n this.formData[column.prop] = dicDatum.value;\n column.value = this.formData[column.prop];\n }\n }\n }\n }, 100);\n }\n }\n } else if (column.dictTable || column.dictUrl) {\n if (column.selectDom == 1) {\n column.type = \"select\";\n }\n column.filterable = true;\n column.dicData = [];\n setTimeout(() => {\n this.setDictTable(column, undefined);\n }, 10);\n if (column.type == 'tree') {\n column.filterable = column.filterable == undefined ? true : column.clearable;\n column.clearable = column.clearable == undefined ? true : column.clearable;\n } else {\n column.filterMethod = e => {\n this.$nextTick(() => {\n this.setDictTable(column, e);\n });\n };\n }\n }\n },\n setDictUrl(column, like) {\n let dictUrl = column.dictUrl.split(\",\");\n let url;\n let label = 'label';\n let value = 'value';\n let parentId = 'parentId';\n // get,url,label,value,parent_id\n let doGet = true;\n if (dictUrl.length > 1) {\n if (dictUrl[0].toString().toLowerCase() == 'post') {\n doGet = false;\n }\n url = dictUrl[1];\n label = dictUrl[2];\n value = dictUrl[3];\n parentId = dictUrl[4];\n } else {\n url = dictUrl[0];\n }\n if (doGet) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.get)(this.http, url + \"?label=\" + like).then(data => {\n column.dicData.length = 0;\n if (column.type == 'tree') {\n for (let da of data) {\n da['label'] = da[label];\n da['value'] = da[value];\n }\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_6__.handleTree)(data, value, parentId);\n } else {\n data.forEach(d => {\n column.dicData.push(d);\n });\n }\n });\n } else {\n let params = {};\n if (like) {\n params['label'] = like;\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(this.http, column.dictUrl, params, false).then(({\n data\n }) => {\n column.dicData.length = 0;\n if (column.type == 'tree') {\n for (let da of data) {\n da['label'] = da[label];\n da['value'] = da[value];\n }\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_6__.handleTree)(data, value, parentId);\n } else {\n data.forEach(da => {\n da['label'] = da[label];\n da['value'] = da[value];\n column.dicData.push(da);\n });\n }\n });\n }\n },\n setDictTable(column, like) {\n if (column.dictTable && column.dictTable.toString().trim() != '') {\n this.doSetDictTable(column, like);\n } else if (column.dictUrl) {\n this.setDictUrl(column, like);\n }\n },\n doSetDictTable(column, like) {\n let value = this.formData[column.prop];\n /*String tableName;\r\n String dataBase;\r\n String label;\r\n String value;\r\n Map<String, Object> where;*/\n // olp-vue-pro,system_users,nickname,id,parentId\n let params = {};\n let dictTable = JSON.parse(JSON.stringify(column.dictTable));\n if (dictTable instanceof Object) {\n params = dictTable;\n } else {\n dictTable = column.dictTable.split(\",\");\n params[\"dbName\"] = dictTable[0];\n params[\"tableName\"] = dictTable[1];\n params[\"label\"] = dictTable[2];\n params[\"value\"] = dictTable[3];\n if (dictTable[4]) {\n params[\"parentValue\"] = dictTable[4];\n }\n }\n if (like || value) {\n if (!params.where) {\n params.where = {};\n }\n }\n if (!params[\"parentValue\"]) {\n if (like) {\n params.where['_like_' + params[\"label\"]] = like;\n }\n if (value) {\n params.defaultValue = value;\n }\n }\n (0,_api_dist__WEBPACK_IMPORTED_MODULE_7__.initDictTable)(this.http, params).then(data => {\n column.dicData.length = 0;\n if (params[\"parentValue\"]) {\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_6__.handleTree)(data, 'dictValue', 'parentValue');\n } else {\n data.forEach(d => {\n column.dicData.push(d);\n });\n }\n });\n },\n /**\r\n * 表格选择器回调函数\r\n * @param data\r\n */\n olTableSelectChange(slotName, data) {\n // console.info('插槽名称', slotName, '表格回传的数据', data)\n // console.info('表格', this.form.column)\n this.formData[slotName] = data.value; //修改表单数据,以便后续提交\n if (typeof this.dynamicSlotsField[slotName].change === 'function') {\n this.dynamicSlotsField[slotName].change(data.value); //字段数据更新回调\n }\n //给其他字段赋值\n this.dynamicSlotsOtherResult[slotName]?.forEach(item => {\n this.formData[item.targetField] = data.data[item.sourceField];\n });\n }\n },\n mounted() {\n this.$nextTick(() => {\n (0,_store_dict__WEBPACK_IMPORTED_MODULE_8__.storeDict)().init(this.http);\n });\n },\n created() {\n // console.info(\"我是主子表\")\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-main-form-sub-table/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
535
535
 
536
536
  /***/ }),
537
537
 
@@ -707,7 +707,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
707
707
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
708
708
 
709
709
  "use strict";
710
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"optionConfig\",\n props: {\n dataSource: {\n type: Array,\n default: () => {\n return [];\n }\n },\n height: {},\n defaultData: {\n type: Object,\n default: () => {\n return {};\n }\n }\n },\n data() {\n return {\n activeName: 'page',\n search: {},\n data: [],\n option: {\n height: 300,\n index: true,\n indexLabelClassName: '序号',\n searchBtn: false,\n emptyBtn: false,\n menu: false,\n cellBtn: true,\n header: false,\n resizable: true,\n treeConfig: {\n transform: true,\n rowField: '$index',\n parentField: 'parentId'\n },\n columns: [{\n title: '参数',\n field: 't1',\n width: 200,\n search: true,\n treeNode: true\n }, {\n title: '说明',\n field: 't2',\n search: true,\n width: 200\n }, {\n title: '类型',\n field: 't3',\n width: 320\n }, {\n title: '默认值',\n field: 't5',\n width: 200\n }, {\n title: '当前值',\n field: 'value',\n cell: true,\n minWidth: 100,\n slots: {\n // 使用插槽模板渲染\n default: 'num1_default'\n }\n }]\n }\n };\n },\n watch: {\n search: {\n deep: true,\n handler() {\n let data = [];\n let keys = Object.keys(this.search);\n let i = 0;\n for (let key of keys) {\n if (this.search[key]) {\n i++;\n for (let obj of this.dataSource) {\n if (obj[key].indexOf(this.search[key]) != -1) {\n data.push(obj);\n }\n }\n }\n }\n if (i == 0) {\n this.data = this.dataSource;\n } else {\n this.data = data;\n }\n }\n },\n defaultData() {\n this.setDefaultData();\n }\n },\n methods: {\n setDefaultData() {\n if (this.data[0].$index == null || !this.data[0].parentId == null) {\n this.option.treeConfig = null;\n this.option.columns[0].treeNode = false;\n }\n this.data.forEach(item => {\n let obj = this.defaultData[item.t1];\n if (obj instanceof Array) {\n obj = JSON.stringify(obj);\n }\n if (obj != null) {\n if (!(obj instanceof Object)) {\n item.value = obj;\n } else if (obj.isFunction) {\n item.value = obj.code;\n } else if (item.children) {\n for (let child of item.children) {\n child.value = obj[child.t1];\n }\n }\n } else if (item.value == undefined && item.t3 != 'any' && item.t5 != undefined) {\n if (item.t3 != 'function') {\n item.value = item.t5;\n }\n }\n });\n },\n setData(config, type) {\n let params = {};\n for (let data of this.data) {\n if (data.value != undefined && data.value.toString().trim() != '') {\n params[data.t1] = data.value;\n }\n }\n if (Object.keys(params) == 0) {\n return;\n }\n config[type] = params;\n },\n onOpen(row) {\n if (!row.value || row.value == \"\") {\n if (!row.noParams) {\n row.value = 'const ' + row.t5 + ' = params;\\n';\n } else {\n row.value = row.t5 + '\\n';\n }\n }\n }\n },\n created() {\n this.data = this.dataSource;\n this.setDefaultData();\n if (this.height) {\n this.option.height = this.height;\n }\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/views/components/option-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
710
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"optionConfig\",\n props: {\n dataSource: {\n type: Array,\n default: () => {\n return [];\n }\n },\n height: {},\n defaultData: {\n type: Object,\n default: () => {\n return {};\n }\n }\n },\n data() {\n return {\n activeName: 'page',\n search: {},\n data: [],\n option: {\n height: 300,\n index: true,\n indexLabelClassName: '序号',\n searchBtn: false,\n emptyBtn: false,\n menu: false,\n cellBtn: true,\n header: false,\n resizable: true,\n treeConfig: {\n transform: true,\n rowField: '$index',\n parentField: 'parentId'\n },\n columns: [{\n title: '参数',\n field: 't1',\n width: 200,\n search: true,\n treeNode: true\n }, {\n title: '说明',\n field: 't2',\n search: true,\n width: 200\n }, {\n title: '类型',\n field: 't3',\n width: 320\n }, {\n title: '默认值',\n field: 't5',\n width: 200\n }, {\n title: '当前值',\n field: 'value',\n cell: true,\n minWidth: 100,\n slots: {\n // 使用插槽模板渲染\n default: 'num1_default'\n }\n }]\n }\n };\n },\n watch: {\n search: {\n deep: true,\n handler() {\n let data = [];\n let keys = Object.keys(this.search);\n let i = 0;\n for (let key of keys) {\n if (this.search[key]) {\n i++;\n for (let obj of this.dataSource) {\n if (obj[key].indexOf(this.search[key]) != -1) {\n data.push(obj);\n }\n }\n }\n }\n if (i == 0) {\n this.data = this.dataSource;\n } else {\n this.data = data;\n }\n }\n },\n defaultData() {\n this.setDefaultData();\n }\n },\n methods: {\n setDefaultData() {\n if (this.data[0].$index == null || !this.data[0].parentId == null) {\n this.option.treeConfig = null;\n this.option.columns[0].treeNode = false;\n }\n this.data.forEach(item => {\n let obj = this.defaultData[item.t1];\n if (obj instanceof Array) {\n obj = JSON.stringify(obj);\n }\n if (obj != null) {\n if (!(obj instanceof Object)) {\n item.value = obj;\n } else if (obj.isFunction) {\n item.value = obj.code;\n } else if (item.children) {\n for (let child of item.children) {\n child.value = obj[child.t1];\n }\n }\n }\n });\n },\n setData(config, type) {\n let params = {};\n for (let data of this.data) {\n if (data.value != undefined && data.value.toString().trim() != '') {\n params[data.t1] = data.value;\n }\n }\n if (Object.keys(params) == 0) {\n return;\n }\n config[type] = params;\n },\n onOpen(row) {\n console.log(row);\n }\n },\n created() {\n this.data = this.dataSource;\n this.setDefaultData();\n if (this.height) {\n this.option.height = this.height;\n }\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/views/components/option-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
711
711
 
712
712
  /***/ }),
713
713
 
@@ -828,7 +828,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
828
828
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
829
829
 
830
830
  "use strict";
831
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.find.js */ \"./node_modules/core-js/modules/es.iterator.find.js\");\n/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/object */ \"./src/utils/object.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var element_plus__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! element-plus */ \"element-plus\");\n/* harmony import */ var element_plus__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(element_plus__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var sql_formatter__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! sql-formatter */ \"./node_modules/sql-formatter/lib/sqlFormatter.js\");\n/* harmony import */ var sql_formatter__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(sql_formatter__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _views_table_add_or_edit_config_field_config_index_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/views/table/add-or-edit/config/field-config/index.vue */ \"./src/views/table/add-or-edit/config/field-config/index.vue\");\n/* harmony import */ var _components_lazy_load_select_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/components/lazy-load-select.vue */ \"./src/components/lazy-load-select.vue\");\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n __name: 'index',\n emits: [\"emits\", 'updateTab'],\n setup(__props, {\n expose: __expose,\n emit: __emit\n }) {\n const http = (0,vue__WEBPACK_IMPORTED_MODULE_3__.inject)('http');\n const addOrEditRootData = (0,vue__WEBPACK_IMPORTED_MODULE_3__.inject)('addOrEditRootData');\n const dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_6__.storeDict)();\n const dicData = (0,vue__WEBPACK_IMPORTED_MODULE_3__.reactive)({\n joinFiledDicData: [{\n label: '内连接',\n value: 'join'\n }, {\n label: '左连接',\n value: 'left join'\n }, {\n label: '右连接',\n value: 'right join'\n }],\n joinTableDicData: []\n });\n const form = (0,vue__WEBPACK_IMPORTED_MODULE_3__.reactive)({\n form: {\n table: [{\n index: \"t1\",\n type: \"主表\",\n joinTable: \"\",\n joinFiled: \"/\",\n deleteWhere: 'id=${id}'\n }],\n executeSql: '',\n executeWhere: '',\n orderBy: ''\n }\n });\n const option = (0,vue__WEBPACK_IMPORTED_MODULE_3__.reactive)({\n submitBtn: false,\n emptyBtn: false,\n column: [\n /* {\r\n label: '转换驼峰', prop: 'hump', border: true, type: 'radio', value: '0', span: 7, dicData: [{\r\n label: '不转换', value: '0'\r\n }, {\r\n label: '转换', value: '1'\r\n },{\r\n label: '请求转换', value: '2'\r\n }],\r\n dictCode: 'converting_hump'\r\n },*/\n {\n label: '数据源类型',\n type: 'radio',\n span: 7,\n prop: 'definitionSql',\n border: true,\n value: '0',\n onChange: ({\n value\n }) => {\n if (value == '0') {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue)(option.column, 'display', true, \"executeSql,where,table,orderBy\");\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue)(option.column, 'display', false, \"api,requestType\");\n } else if (value == '1') {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue)(option.column, 'display', true, \"executeSql,where,orderBy\");\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue)(option.column, 'display', false, \"api,table,requestType\");\n } else {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue)(option.column, 'display', true, \"api,requestType\");\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue)(option.column, 'display', false, \"executeSql,where,table,orderBy\");\n }\n },\n dicData: [{\n label: '自动SQL',\n value: '0'\n }, {\n label: '手动SQL',\n value: '1'\n }, {\n label: 'API',\n value: '2'\n }],\n dictCode: 'tree_data_type'\n }, {\n label: '查询表格',\n prop: 'table',\n type: 'dynamic',\n span: 24,\n children: {\n align: 'center',\n minHeight: 100,\n maxHeight: 170,\n size: \"small\",\n headerAlign: 'center',\n rowAdd: done => {\n let obj = {\n index: \"t\" + (form.form.table.length + 1),\n type: \"join\",\n joinTable: \"\",\n joinFiled: \"t\" + form.form.table.length + \".=t\" + (form.form.table.length + 1) + \".\"\n };\n done(obj);\n },\n rowDel: row => {\n if (row.$index != 0) {\n setSql(row.$index);\n } else {\n element_plus__WEBPACK_IMPORTED_MODULE_7__.ElMessage.error(\"主表不能删除!\");\n }\n },\n column: [{\n width: 60,\n prop: \"index\",\n label: '序号'\n }, {\n label: '类型',\n prop: \"type\",\n width: 120,\n disabled: true,\n type: 'select'\n }, {\n label: '数据表',\n prop: \"joinTable\",\n type: 'select',\n dicData: []\n }, {\n label: 'on',\n prop: \"joinFiled\",\n width: 200,\n type: 'input'\n }, {\n label: '删除条件',\n prop: \"deleteWhere\",\n type: 'input'\n }, {\n label: '操作',\n prop: \"fields\",\n type: 'button',\n width: 110\n }]\n }\n }, {\n label: '执行SQL',\n display: true,\n type: 'textarea',\n maxRows: 7,\n span: 24,\n prop: 'executeSql'\n }, {\n label: 'where条件',\n display: true,\n type: 'input',\n span: 24,\n prop: 'executeWhere'\n }, {\n label: '排序',\n display: true,\n type: 'input',\n span: 24,\n prop: 'orderBy'\n }, {\n label: '默认参数',\n type: 'input',\n span: 24,\n prop: 'parameterDefault'\n }, {\n label: 'API',\n display: true,\n type: 'input',\n span: 24,\n prop: 'api'\n }, {\n label: '请求类型',\n prop: 'requestType',\n border: true,\n type: 'radio',\n value: '0',\n span: 6,\n dicData: [],\n dictCode: 'request_type'\n }]\n });\n const configData = (0,vue__WEBPACK_IMPORTED_MODULE_3__.inject)('configData');\n function parseData(data) {\n if (form.form.definitionSql == '1') {\n data.mainTable = form.form.mainTable;\n } else {\n data.mainTable = form.form.table[0].joinTable;\n }\n data.definitionSql = form.form.definitionSql;\n data.executeSql = form.form.executeSql;\n data.orderBy = form.form.orderBy;\n data.groupBy = form.form.groupBy;\n data.executeWhere = form.form.executeWhere;\n data.parameterDefault = form.form.parameterDefault;\n data.hump = form.form.hump;\n data.api = form.form.api;\n data.requestType = form.form.requestType;\n if (form.form.definitionSql == 0) {\n if (form.form.table[0].deleteWhere) {\n data.deleteWhere = {\n wheres: form.form.table[0].deleteWhere.trim(),\n tableName: form.form.table[0].joinTable\n };\n } else {\n delete data.deleteWhere;\n }\n }\n }\n function setData(f) {\n form.form.definitionSql = f;\n form.form.hump = f.hump;\n form.form.mainTable = f.mainTable;\n form.form.executeSql = f.executeSql;\n form.form.orderBy = f.orderBy;\n form.form.api = f.api;\n form.form.requestType = f.requestType;\n form.form.executeWhere = f.executeWhere;\n form.form.parameterDefault = f.parameterDefault;\n form.form.definitionSql = f.definitionSql;\n if (form.form.definitionSql == 0) {\n sqlParseTable(f.deleteWhere);\n }\n }\n function setTable() {\n let promise = [];\n for (let i = 0; i < form.form.table.length; i++) {\n promise.push((0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.get)(http, \"/online/getDBTableColumnList/\" + addOrEditRootData.form.dbName, {\n tableName: form.form.table[i].joinTable\n }));\n }\n Promise.all(promise).then(result => {\n for (let i = 0; i < result.length; i++) {\n form.form.table[i]['columnList'] = result[i];\n }\n setSql();\n });\n }\n function setSql(index, seq) {\n if (seq != undefined && seq != 0) {\n let arr = form.form.table.find(item => {\n return item.index == seq;\n });\n if (!arr || !arr.joinTable) {\n return;\n }\n }\n if (index != undefined && index != 0) {\n form.form.table.splice(index, 1);\n }\n let sqlTableOn = form.form.table[0].joinTable + \" t1 \";\n let sqlFiled = \"\";\n let tableColumns = [];\n let sort = 0;\n for (let i = 0; i < form.form.table.length; i++) {\n if (i === index) {\n continue;\n }\n let obj = form.form.table[i];\n for (let j = 0; j < obj.columnList.length; j++) {\n let column = obj.columnList[j];\n if (column.checked == 0) {\n continue;\n }\n if (sqlFiled.length != 0) {\n sqlFiled += \",\";\n }\n sort++;\n sqlFiled += obj.index + \".\" + column.column_name + \" AS \" + column.column_name;\n let column_name = column.column_name;\n let column_comment = column.column_comment ? column.column_comment : column_name;\n tableColumns.push({\n sort: sort,\n tableField: column_name,\n field: column_name,\n title: column_comment,\n label: column_comment,\n visible: column.visible,\n display: 1,\n asName: column_name\n });\n }\n if (i != 0) {\n sqlTableOn += \" \" + obj.type + \" \" + obj.joinTable + \" \" + obj.index + \" on \" + obj.joinFiled;\n }\n }\n for (let tableColumn of tableColumns) {\n let add = true;\n for (let c of configData.tableColumn) {\n if (c.field == tableColumn.field) {\n add = false;\n }\n }\n if (add) {\n configData.tableColumn.push(tableColumn);\n }\n }\n for (let i = 0; i < configData.tableColumn.length; i++) {\n let remove = true;\n for (let tableColumn of tableColumns) {\n if (configData.tableColumn[i].field == tableColumn.field) {\n remove = false;\n }\n }\n if (remove) {\n configData.tableColumn.splice(i, 1);\n }\n }\n form.form.executeSql = \"select \" + sqlFiled + \" from \" + sqlTableOn;\n }\n const isSyncCurd = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)(false);\n const sync = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)(false);\n function syncTable() {\n emit('loading', true);\n configData.form.executeSql = form.form.executeSql;\n configData.form.executeWhere = form.form.where;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.post)(http, \"/online/getTableFiled\", {\n sql: form.form.executeSql,\n where: form.form.where,\n definitionSql: form.form.definitionSql,\n dbName: addOrEditRootData.form.dbName,\n uuid: configData.form.uuid\n }, undefined, false).then(data => {\n emit(\"updateTable\", data.data);\n isSyncCurd.value = form.form?.definitionSql == 0 && form.form?.table?.length == 1;\n if (isSyncCurd.value && sync.value) {\n emit(\"updateCurd\");\n }\n setFieldConfig();\n }).finally(() => {\n emit('loading', false);\n });\n }\n const filedConfig = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)();\n function setFieldConfig(filedConf) {\n if (form.form.definitionSql != 0) {\n return;\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.post)(http, \"/online/getTableSetFiled\", {\n sql: form.form.executeSql,\n where: form.form.where,\n dbName: addOrEditRootData.form.dbName,\n definitionSql: form.form.definitionSql,\n uuid: configData.form.uuid\n }, false, false).then(data => {\n setFormTable(data.data);\n if (filedConf) {\n filedConfig.value.init(form.form.table);\n }\n });\n }\n function getTableNamesByFormSql() {\n let formSql = form.form.executeSql.substring(form.form.executeSql.indexOf('from') + 4);\n let tableNames = [];\n for (const join of formSql.split('join')) {\n tableNames.push(join);\n }\n return tableNames;\n }\n function getTableComment(key) {\n for (const item of dicData.joinTableDicData) {\n if (item.value == key) return item.label;\n }\n }\n function setFormTable(data) {\n let tableNames = getTableNamesByFormSql();\n let tables = [];\n for (const key of Object.keys(data)) {\n let table = {\n index: 't1',\n type: '主表',\n joinTable: key,\n joinFiled: '/',\n deleteWhere: '',\n columnList: [],\n tableComment: getTableComment(key)\n };\n table.columnList = Object.values(data[key]);\n tables.push(table);\n }\n form.form.table = [];\n for (let i = 0; i < tableNames.length; i++) {\n const tableName = tableNames[i];\n for (const table of tables) {\n if (tableName.includes(table.joinTable)) {\n if (i == 0) {\n table.deleteWhere = 'id=${id}';\n table.mainTable = table.joinTable;\n }\n if (i != 0) {\n table.index = 't' + (i + 1);\n table.type = 'join';\n let joinFiled = tableName.substring(tableName.indexOf('on') + 2).replace(/[\\n\\t\\s]+/g, '');\n if (tableNames[i - 1].includes('left')) {\n table.type = 'left join';\n joinFiled = joinFiled.replace('left', '');\n }\n if (tableNames[i - 1].includes('right')) {\n table.type = 'right join';\n joinFiled = joinFiled.replace('right', '');\n }\n table.joinFiled = joinFiled;\n }\n form.form.table.push(table);\n break;\n }\n }\n }\n }\n function updateExecuteSql(v) {\n if (v === 0) {\n form.form.executeSql = sql_formatter__WEBPACK_IMPORTED_MODULE_8___default().format(form.form.executeSql, {\n language: 'sql',\n keywordCase: 'upper',\n indentStyle: 'tabularLeft'\n });\n } else {\n form.form.executeSql = form.form.executeSql.replace(/\\s+/g, \" \");\n }\n }\n function filedConfigClose(data) {\n if (!data) return;\n for (let j = 0; j < form.form.table.length; j++) {\n let obj = form.form.table[j];\n if (Object.keys(data).includes(obj.index)) {\n form.form.table[j].columnList = data[obj.index];\n }\n }\n setSql();\n }\n function setFieldEvent(row) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.post)(http, \"/online/getTableSetFiled\", {\n sql: form.form.executeSql,\n definitionSql: form.form.definitionSql,\n dbName: addOrEditRootData.form.dbName,\n where: form.form.where,\n uuid: configData.form.uuid\n }, undefined, false).then(data => {\n row.columnList = Object.values(data.data[row.joinTable]);\n filedConfig.value.init(row);\n });\n }\n\n /**\r\n * 一键同步CURD\r\n */\n const syncCurd = () => {\n sync.value = true;\n syncTable();\n };\n const parseTable = tables => {\n let tableData = [{\n index: \"t1\",\n type: \"主表\",\n joinTable: configData.form.mainTable,\n joinFiled: \"/\"\n }];\n form.form.table[0].joinTable = tables[0];\n for (let i = 2; i < tables.length; i++) {\n let str = tables[i];\n if (str == \"join\") {\n let type = tables[i - 1] == (\"left\" || 0) ? tables[i - 1] + \" join\" : \"join\";\n let joinTable = tables[++i];\n let index = tables[++i];\n i++;\n let joinFiled = tables[++i];\n tableData.push({\n index: index,\n type: type,\n joinTable: joinTable,\n joinFiled: joinFiled\n });\n }\n }\n return tableData;\n };\n const sqlParseTable = o => {\n if (configData.form.executeSql.indexOf(\" from \") == -1) {\n return;\n }\n let sql = configData.form.executeSql.split(\" from \");\n let tables = sql[1].split(\" \");\n let tableData = parseTable(tables);\n let promise = [];\n for (let i = 0; i < tableData.length; i++) {\n promise.push((0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.get)(http, \"/online/getDBTableColumnList/\" + addOrEditRootData.form.dbName, {\n tableName: tableData[i].joinTable\n }));\n }\n Promise.all(promise).then(result => {\n for (let i = 0; i < result.length; i++) {\n let cloumns = result[i];\n for (let cloumn of cloumns) {\n let checked = \"0\";\n let visible = \"0\";\n if (configData.tableColumn.length != 0) {\n for (let o of configData.tableColumn) {\n if (cloumn.column_name == o.tableField) {\n if (cloumn.table_name == tableData[i].joinTable) {\n checked = '1';\n visible = o.visible;\n }\n }\n }\n } else {\n checked = '1';\n visible = '1';\n }\n cloumn.checked = checked;\n cloumn.visible = visible;\n }\n tableData[i]['columnList'] = cloumns;\n }\n if (o) {\n tableData[0].deleteWhere = o.wheres;\n }\n form.form.table = tableData;\n /*dataConfig.value.setData(state.tableData)\r\n nextTick(() => {\r\n sqlData.value.refreshColumn();\r\n })*/\n });\n };\n function remoteMethod() {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.get)(http, \"/online/getDBTableList\", {\n dbName: addOrEditRootData.form.dbName\n }).then(data => {\n dicData.joinTableDicData = data;\n });\n }\n function initDict() {\n for (const column of option.column) {\n if (column.dictCode) {\n column.dicData = dict.val(column.dictCode);\n }\n }\n }\n const emit = __emit; //声明 emits\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.onMounted)(() => {\n remoteMethod();\n initDict();\n });\n __expose({\n setData,\n parseData,\n form\n });\n const __returned__ = {\n http,\n addOrEditRootData,\n dict,\n dicData,\n form,\n option,\n configData,\n parseData,\n setData,\n setTable,\n setSql,\n isSyncCurd,\n sync,\n syncTable,\n filedConfig,\n setFieldConfig,\n getTableNamesByFormSql,\n getTableComment,\n setFormTable,\n updateExecuteSql,\n filedConfigClose,\n setFieldEvent,\n syncCurd,\n parseTable,\n sqlParseTable,\n remoteMethod,\n initDict,\n emit,\n inject: vue__WEBPACK_IMPORTED_MODULE_3__.inject,\n reactive: vue__WEBPACK_IMPORTED_MODULE_3__.reactive,\n onMounted: vue__WEBPACK_IMPORTED_MODULE_3__.onMounted,\n ref: vue__WEBPACK_IMPORTED_MODULE_3__.ref,\n get get() {\n return _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.get;\n },\n get post() {\n return _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.post;\n },\n get setArrayObjectKeyValue() {\n return _utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue;\n },\n get storeDict() {\n return _store_dict__WEBPACK_IMPORTED_MODULE_6__.storeDict;\n },\n get ElMessage() {\n return element_plus__WEBPACK_IMPORTED_MODULE_7__.ElMessage;\n },\n get sqlFormatter() {\n return (sql_formatter__WEBPACK_IMPORTED_MODULE_8___default());\n },\n FieldConfig: _views_table_add_or_edit_config_field_config_index_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n LazyLoadSelect: _components_lazy_load_select_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/views/table/add-or-edit/config/base-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
831
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.find.js */ \"./node_modules/core-js/modules/es.iterator.find.js\");\n/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/object */ \"./src/utils/object.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var element_plus__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! element-plus */ \"element-plus\");\n/* harmony import */ var element_plus__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(element_plus__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var sql_formatter__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! sql-formatter */ \"./node_modules/sql-formatter/lib/sqlFormatter.js\");\n/* harmony import */ var sql_formatter__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(sql_formatter__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _views_table_add_or_edit_config_field_config_index_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/views/table/add-or-edit/config/field-config/index.vue */ \"./src/views/table/add-or-edit/config/field-config/index.vue\");\n/* harmony import */ var _components_lazy_load_select_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/components/lazy-load-select.vue */ \"./src/components/lazy-load-select.vue\");\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n __name: 'index',\n emits: [\"emits\", 'updateTab'],\n setup(__props, {\n expose: __expose,\n emit: __emit\n }) {\n const http = (0,vue__WEBPACK_IMPORTED_MODULE_3__.inject)('http');\n const addOrEditRootData = (0,vue__WEBPACK_IMPORTED_MODULE_3__.inject)('addOrEditRootData');\n const dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_6__.storeDict)();\n const dicData = (0,vue__WEBPACK_IMPORTED_MODULE_3__.reactive)({\n joinFiledDicData: [{\n label: '内连接',\n value: 'join'\n }, {\n label: '左连接',\n value: 'left join'\n }, {\n label: '右连接',\n value: 'right join'\n }],\n joinTableDicData: []\n });\n const form = (0,vue__WEBPACK_IMPORTED_MODULE_3__.reactive)({\n form: {\n table: [{\n index: \"t1\",\n type: \"主表\",\n joinTable: \"\",\n joinFiled: \"/\",\n deleteWhere: 'id=${id}'\n }],\n executeSql: '',\n executeWhere: '',\n orderBy: ''\n }\n });\n const option = (0,vue__WEBPACK_IMPORTED_MODULE_3__.reactive)({\n submitBtn: false,\n emptyBtn: false,\n column: [\n /* {\r\n label: '转换驼峰', prop: 'hump', border: true, type: 'radio', value: '0', span: 7, dicData: [{\r\n label: '不转换', value: '0'\r\n }, {\r\n label: '转换', value: '1'\r\n },{\r\n label: '请求转换', value: '2'\r\n }],\r\n dictCode: 'converting_hump'\r\n },*/\n {\n label: '数据源类型',\n type: 'radio',\n span: 7,\n prop: 'definitionSql',\n border: true,\n value: '0',\n onChange: ({\n value\n }) => {\n if (value == '0') {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue)(option.column, 'display', true, \"executeSql,where,table,orderBy\");\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue)(option.column, 'display', false, \"api,requestType\");\n } else if (value == '1') {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue)(option.column, 'display', true, \"executeSql,where,orderBy\");\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue)(option.column, 'display', false, \"api,table,requestType\");\n } else {\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue)(option.column, 'display', true, \"api,requestType\");\n (0,_utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue)(option.column, 'display', false, \"executeSql,where,table,orderBy\");\n }\n },\n dicData: [{\n label: '自动SQL',\n value: '0'\n }, {\n label: '手动SQL',\n value: '1'\n }, {\n label: 'API',\n value: '2'\n }],\n dictCode: 'tree_data_type'\n }, {\n label: '查询表格',\n prop: 'table',\n type: 'dynamic',\n span: 24,\n children: {\n align: 'center',\n minHeight: 100,\n maxHeight: 170,\n size: \"small\",\n headerAlign: 'center',\n rowAdd: done => {\n let obj = {\n index: \"t\" + (form.form.table.length + 1),\n type: \"join\",\n joinTable: \"\",\n joinFiled: \"t\" + form.form.table.length + \".=t\" + (form.form.table.length + 1) + \".\"\n };\n done(obj);\n },\n rowDel: row => {\n if (row.$index != 0) {\n setSql(row.$index);\n } else {\n element_plus__WEBPACK_IMPORTED_MODULE_7__.ElMessage.error(\"主表不能删除!\");\n }\n },\n column: [{\n width: 60,\n prop: \"index\",\n label: '序号'\n }, {\n label: '类型',\n prop: \"type\",\n width: 120,\n disabled: true,\n type: 'select'\n }, {\n label: '数据表',\n prop: \"joinTable\",\n type: 'select',\n dicData: []\n }, {\n label: 'on',\n prop: \"joinFiled\",\n type: 'input'\n }, {\n label: '删除条件',\n prop: \"deleteWhere\",\n width: 200,\n type: 'input'\n }]\n }\n }, {\n label: '执行SQL',\n display: true,\n type: 'textarea',\n maxRows: 7,\n span: 24,\n prop: 'executeSql'\n }, {\n label: 'where条件',\n display: true,\n type: 'input',\n span: 24,\n prop: 'executeWhere'\n }, {\n label: '排序',\n display: true,\n type: 'input',\n span: 24,\n prop: 'orderBy'\n }, {\n label: '默认参数',\n type: 'input',\n span: 24,\n prop: 'parameterDefault'\n }, {\n label: 'API',\n display: true,\n type: 'input',\n span: 24,\n prop: 'api'\n }, {\n label: '请求类型',\n prop: 'requestType',\n border: true,\n type: 'radio',\n value: '0',\n span: 6,\n dicData: [],\n dictCode: 'request_type'\n }]\n });\n const configData = (0,vue__WEBPACK_IMPORTED_MODULE_3__.inject)('configData');\n function parseData(data) {\n if (form.form.definitionSql == '1') {\n data.mainTable = form.form.mainTable;\n } else {\n data.mainTable = form.form.table[0].joinTable;\n }\n data.definitionSql = form.form.definitionSql;\n data.executeSql = form.form.executeSql;\n data.orderBy = form.form.orderBy;\n data.groupBy = form.form.groupBy;\n data.executeWhere = form.form.executeWhere;\n data.parameterDefault = form.form.parameterDefault;\n data.hump = form.form.hump;\n data.api = form.form.api;\n data.requestType = form.form.requestType;\n if (form.form.definitionSql == 0) {\n if (form.form.table[0].deleteWhere) {\n data.deleteWhere = {\n wheres: form.form.table[0].deleteWhere.trim(),\n tableName: form.form.table[0].joinTable\n };\n } else {\n delete data.deleteWhere;\n }\n }\n }\n function setData(f) {\n form.form.definitionSql = f;\n form.form.hump = f.hump;\n form.form.mainTable = f.mainTable;\n form.form.executeSql = f.executeSql;\n form.form.orderBy = f.orderBy;\n form.form.api = f.api;\n form.form.requestType = f.requestType;\n form.form.executeWhere = f.executeWhere;\n form.form.parameterDefault = f.parameterDefault;\n form.form.definitionSql = f.definitionSql;\n if (form.form.definitionSql == 0) {\n sqlParseTable(f.deleteWhere);\n }\n }\n function setTable() {\n let promise = [];\n for (let i = 0; i < form.form.table.length; i++) {\n promise.push((0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.get)(http, \"/online/getDBTableColumnList/\" + addOrEditRootData.form.dbName, {\n tableName: form.form.table[i].joinTable\n }));\n }\n Promise.all(promise).then(result => {\n for (let i = 0; i < result.length; i++) {\n form.form.table[i]['columnList'] = result[i];\n }\n setSql();\n });\n }\n function setSql(index, seq) {\n if (seq != undefined && seq != 0) {\n let arr = form.form.table.find(item => {\n return item.index == seq;\n });\n if (!arr || !arr.joinTable) {\n return;\n }\n }\n if (index != undefined && index != 0) {\n form.form.table.splice(index, 1);\n }\n let sqlTableOn = form.form.table[0].joinTable + \" t1 \";\n let sqlFiled = \"\";\n let tableColumns = [];\n let sort = 0;\n let mapFiled = {};\n for (let i = 0; i < form.form.table.length; i++) {\n if (i === index) {\n continue;\n }\n let obj = form.form.table[i];\n for (let j = 0; j < obj.columnList.length; j++) {\n let column = obj.columnList[j];\n if (column.checked == 0) {\n continue;\n }\n if (sqlFiled.length != 0) {\n sqlFiled += \",\";\n }\n if (mapFiled[column.column_name] !== undefined) {\n mapFiled[column.column_name]++;\n } else {\n mapFiled[column.column_name] = 0;\n }\n sort++;\n let asName = mapFiled[column.column_name] === 0 ? column.column_name : obj.index + \"_\" + column.column_name;\n sqlFiled += obj.index + \".\" + column.column_name + \" AS \" + asName;\n let column_name = column.column_name;\n let column_comment = column.column_comment ? column.column_comment : column_name;\n tableColumns.push({\n sort: sort,\n tableField: column_name,\n field: column_name,\n title: column_comment,\n label: column_comment,\n visible: column.visible,\n display: 1,\n asName: asName\n });\n }\n if (i != 0) {\n sqlTableOn += \" \" + obj.type + \" \" + obj.joinTable + \" \" + obj.index + \" on \" + obj.joinFiled;\n }\n }\n for (let tableColumn of tableColumns) {\n let add = true;\n for (let c of configData.tableColumn) {\n if (c.field == tableColumn.field) {\n add = false;\n }\n }\n if (add) {\n configData.tableColumn.push(tableColumn);\n }\n }\n for (let i = 0; i < configData.tableColumn.length; i++) {\n let remove = true;\n for (let tableColumn of tableColumns) {\n if (configData.tableColumn[i].field == tableColumn.field) {\n remove = false;\n }\n }\n if (remove) {\n configData.tableColumn.splice(i, 1);\n }\n }\n form.form.executeSql = \"select \" + sqlFiled + \" from \" + sqlTableOn;\n }\n const isSyncCurd = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)(false);\n const sync = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)(false);\n function syncTable() {\n emit('loading', true);\n configData.form.executeSql = form.form.executeSql;\n configData.form.executeWhere = form.form.where;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.post)(http, \"/online/getTableFiled\", {\n sql: form.form.executeSql,\n where: form.form.where,\n definitionSql: form.form.definitionSql,\n dbName: addOrEditRootData.form.dbName,\n uuid: configData.form.uuid\n }, undefined, false).then(data => {\n emit(\"updateTable\", data.data);\n isSyncCurd.value = form.form?.definitionSql == 0 && form.form?.table?.length == 1;\n if (isSyncCurd.value && sync.value) {\n emit(\"updateCurd\");\n }\n setFieldConfig();\n }).finally(() => {\n emit('loading', false);\n });\n }\n const filedConfig = (0,vue__WEBPACK_IMPORTED_MODULE_3__.ref)();\n function setFieldConfig(filedConf) {\n if (form.form.definitionSql != 0) {\n return;\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.post)(http, \"/online/getTableSetFiled\", {\n sql: form.form.executeSql,\n where: form.form.where,\n dbName: addOrEditRootData.form.dbName,\n definitionSql: form.form.definitionSql,\n uuid: configData.form.uuid\n }, false, false).then(({\n data\n }) => {\n setFormTable(data);\n if (filedConf) {\n filedConfig.value.init(form.form.table);\n }\n });\n }\n function getTableNamesByFormSql() {\n let formSql = form.form.executeSql.substring(form.form.executeSql.indexOf('from') + 4);\n let tableNames = [];\n for (const join of formSql.split('join')) {\n tableNames.push(join);\n }\n return tableNames;\n }\n function getTableComment(key) {\n for (const item of dicData.joinTableDicData) {\n if (item.value == key) return item.label;\n }\n }\n function setFormTable(data) {\n let tableNames = getTableNamesByFormSql();\n let tables = [];\n for (const key of Object.keys(data)) {\n let table = {\n index: 't1',\n type: '主表',\n joinTable: key,\n joinFiled: '/',\n deleteWhere: '',\n columnList: [],\n tableComment: getTableComment(key)\n };\n table.columnList = Object.values(data[key]);\n tables.push(table);\n }\n form.form.table = [];\n for (let i = 0; i < tableNames.length; i++) {\n const tableName = tableNames[i];\n for (const table of tables) {\n if (tableName.includes(table.joinTable)) {\n if (i == 0) {\n table.deleteWhere = 'id=${id}';\n table.mainTable = table.joinTable;\n }\n if (i != 0) {\n table.index = 't' + (i + 1);\n table.type = 'join';\n let joinFiled = tableName.substring(tableName.indexOf('on') + 2).replace(/[\\n\\t\\s]+/g, '');\n if (tableNames[i - 1].includes('left')) {\n table.type = 'left join';\n joinFiled = joinFiled.replace('left', '');\n }\n if (tableNames[i - 1].includes('right')) {\n table.type = 'right join';\n joinFiled = joinFiled.replace('right', '');\n }\n table.joinFiled = joinFiled;\n }\n form.form.table.push(table);\n break;\n }\n }\n }\n }\n function updateExecuteSql(v) {\n if (v === 0) {\n form.form.executeSql = sql_formatter__WEBPACK_IMPORTED_MODULE_8___default().format(form.form.executeSql, {\n language: 'sql',\n keywordCase: 'upper',\n indentStyle: 'tabularLeft'\n });\n } else {\n form.form.executeSql = form.form.executeSql.replace(/\\s+/g, \" \");\n }\n }\n function filedConfigClose(data) {\n if (!data) return;\n for (let j = 0; j < form.form.table.length; j++) {\n let obj = form.form.table[j];\n if (Object.keys(data).includes(obj.index)) {\n form.form.table[j].columnList = data[obj.index];\n }\n }\n setSql();\n }\n function setFieldEvent(row) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.post)(http, \"/online/getTableSetFiled\", {\n sql: form.form.executeSql,\n definitionSql: form.form.definitionSql,\n dbName: addOrEditRootData.form.dbName,\n where: form.form.where,\n uuid: configData.form.uuid\n }, undefined, false).then(data => {\n row.columnList = Object.values(data.data[row.joinTable]);\n filedConfig.value.init(row);\n });\n }\n\n /**\r\n * 一键同步CURD\r\n */\n const syncCurd = () => {\n sync.value = true;\n syncTable();\n };\n function parseSqlToTables(sql) {\n // 标准化SQL,去除多余空格和换行\n let normalizedSql = sql.replace(/[\\n\\r\\s]+/g, ' ').trim();\n\n // 分割FROM后面的部分\n let fromPart = normalizedSql.split(/from/i)[1];\n if (!fromPart) return [];\n let result = [];\n let currentIndex = 0;\n\n // 分割所有JOIN(包括LEFT JOIN, RIGHT JOIN等)\n let parts = fromPart.split(/\\s+(?:left\\s+)?(?:right\\s+)?(?:inner\\s+)?join\\s+/i);\n\n // 处理主表\n let mainTablePart = parts[0].trim();\n let mainTableName = mainTablePart.split(/\\s+/)[0];\n result.push({\n index: 't' + (currentIndex + 1),\n type: '主表',\n joinTable: mainTableName,\n joinFiled: '/'\n });\n\n // 处理关联表\n for (let i = 1; i < parts.length; i++) {\n currentIndex++;\n let joinPart = parts[i].trim();\n\n // 获取JOIN类型\n let joinType = 'left';\n if (normalizedSql.toLowerCase().includes('right join')) {\n joinType = 'right';\n } else if (normalizedSql.toLowerCase().includes('inner join')) {\n joinType = 'inner';\n }\n\n // 分割ON条件\n let onPart = joinPart.split(/\\s+on\\s+/i);\n let joinTableName = onPart[0].trim().split(/\\s+/)[0];\n let joinFields = onPart[1] ? onPart[1].trim() : '';\n result.push({\n index: 't' + (currentIndex + 1),\n type: joinType,\n joinTable: joinTableName,\n joinFiled: joinFields\n });\n }\n return result;\n }\n const sqlParseTable = o => {\n if (configData.form.executeSql && configData.form.executeSql.toLowerCase().indexOf(\"from\") === -1) {\n return;\n }\n let tableData = parseSqlToTables(configData.form.executeSql);\n if (o) {\n tableData[0].deleteWhere = o.wheres;\n }\n form.form.table = tableData;\n };\n function remoteMethod() {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.get)(http, \"/online/getDBTableList\", {\n dbName: addOrEditRootData.form.dbName\n }).then(data => {\n dicData.joinTableDicData = data;\n });\n }\n function initDict() {\n for (const column of option.column) {\n if (column.dictCode) {\n column.dicData = dict.val(column.dictCode);\n }\n }\n }\n const emit = __emit; //声明 emits\n (0,vue__WEBPACK_IMPORTED_MODULE_3__.onMounted)(() => {\n remoteMethod();\n initDict();\n });\n __expose({\n setData,\n parseData,\n form\n });\n const __returned__ = {\n http,\n addOrEditRootData,\n dict,\n dicData,\n form,\n option,\n configData,\n parseData,\n setData,\n setTable,\n setSql,\n isSyncCurd,\n sync,\n syncTable,\n filedConfig,\n setFieldConfig,\n getTableNamesByFormSql,\n getTableComment,\n setFormTable,\n updateExecuteSql,\n filedConfigClose,\n setFieldEvent,\n syncCurd,\n parseSqlToTables,\n sqlParseTable,\n remoteMethod,\n initDict,\n emit,\n inject: vue__WEBPACK_IMPORTED_MODULE_3__.inject,\n reactive: vue__WEBPACK_IMPORTED_MODULE_3__.reactive,\n onMounted: vue__WEBPACK_IMPORTED_MODULE_3__.onMounted,\n ref: vue__WEBPACK_IMPORTED_MODULE_3__.ref,\n get get() {\n return _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.get;\n },\n get post() {\n return _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_4__.post;\n },\n get setArrayObjectKeyValue() {\n return _utils_object__WEBPACK_IMPORTED_MODULE_5__.setArrayObjectKeyValue;\n },\n get storeDict() {\n return _store_dict__WEBPACK_IMPORTED_MODULE_6__.storeDict;\n },\n get ElMessage() {\n return element_plus__WEBPACK_IMPORTED_MODULE_7__.ElMessage;\n },\n get sqlFormatter() {\n return (sql_formatter__WEBPACK_IMPORTED_MODULE_8___default());\n },\n FieldConfig: _views_table_add_or_edit_config_field_config_index_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n LazyLoadSelect: _components_lazy_load_select_vue__WEBPACK_IMPORTED_MODULE_10__[\"default\"]\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/views/table/add-or-edit/config/base-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
832
832
 
833
833
  /***/ }),
834
834
 
@@ -894,7 +894,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
894
894
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
895
895
 
896
896
  "use strict";
897
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.filter.js */ \"./node_modules/core-js/modules/es.iterator.filter.js\");\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.iterator.map.js */ \"./node_modules/core-js/modules/es.iterator.map.js\");\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _components_table_ol_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/table/ol-form */ \"./src/components/table/ol-form/index.vue\");\n/* harmony import */ var _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @element-plus/icons-vue */ \"./node_modules/@element-plus/icons-vue/dist/index.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _components_v_component_index_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/v-component/index.vue */ \"./src/components/v-component/index.vue\");\n/* harmony import */ var vue_codemirror__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue-codemirror */ \"./node_modules/vue-codemirror/dist/vue-codemirror.esm.js\");\n/* harmony import */ var _codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @codemirror/lang-javascript */ \"./node_modules/@codemirror/lang-javascript/dist/index.js\");\n/* harmony import */ var _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @codemirror/theme-one-dark */ \"./node_modules/@codemirror/theme-one-dark/dist/index.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var sortablejs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _api_dist__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/api/dist */ \"./src/api/dist.js\");\n/* harmony import */ var _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/components/ol-table-select.vue */ \"./src/components/ol-table-select.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n __name: 'index',\n props: {\n type: {}\n },\n setup(__props, {\n expose: __expose\n }) {\n const msg = (0,_utils_message__WEBPACK_IMPORTED_MODULE_9__.useMessage)(); // 消息弹窗\n const http = (0,vue__WEBPACK_IMPORTED_MODULE_6__.inject)('http');\n const dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_12__.storeDictType)();\n const props = __props;\n const customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(undefined);\n const vexGridRef = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(null);\n const vFormViewer = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(null);\n const dialogTableVisible = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(false);\n function setShow() {\n updateSort();\n }\n function showViewForm() {\n dialogTableVisible.value = true;\n (0,vue__WEBPACK_IMPORTED_MODULE_6__.nextTick)(() => {\n let data = {\n type: formType.value,\n theme: 't1',\n otherProp: otherProp,\n formData: {}\n };\n data.form = data.type == 0 ? baseOption.value : formJson.value;\n vFormViewer.value.init(data);\n });\n }\n const otherProp = (0,vue__WEBPACK_IMPORTED_MODULE_6__.reactive)({\n beforeSave: '',\n afterSave: ''\n });\n // 基础表单\n const baseOption = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)({\n submitBtn: false,\n emptyBtn: false,\n labelWidth: 125,\n comCommit: false,\n //如果为true,只提交form\n column: []\n });\n //编码设计\n const codeForm = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)();\n const copeFiled = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)();\n const dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_13__.storeDict)();\n //表单类型\n const formType = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(0);\n //表单设计\n const formConfig = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(0);\n //快捷设计表单\n const designForm = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)({\n span: 2\n });\n //快捷设计表格\n const gridOptions = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)({\n border: true,\n resizable: true,\n showOverflow: true,\n size: 'mini',\n height: 450,\n editConfig: {\n trigger: 'click',\n mode: 'cell'\n },\n rowConfig: {\n useKey: true\n },\n align: 'center',\n columns: [{\n title: '操作',\n width: 70,\n slots: {\n default: 'operate'\n }\n }, {\n type: 'checkbox',\n width: 40\n }, {\n type: \"expand\",\n width: 61,\n title: \"序号\",\n className: 'colExpand',\n slots: {\n content: 'content',\n default: 'seq'\n }\n }, {\n field: 'prop',\n minWidth: 130,\n editRender: {\n props: {\n clearable: true\n },\n events: {\n change: refreshForm\n },\n name: 'input'\n },\n title: \"字段名\"\n }, {\n field: 'title',\n width: 120,\n title: \"标题\"\n }, {\n field: 'showName',\n width: 120,\n title: \"label\",\n editRender: {\n props: {\n clearable: true\n },\n events: {\n change: refreshForm\n },\n name: 'input'\n }\n }, {\n title: '必填',\n field: 'required',\n width: 70,\n params: {\n all: null\n },\n slots: {\n header: 'checkedBox_header',\n default: 'checkedBox_default'\n }\n }, {\n title: ' 不保存',\n field: 'tableField',\n width: 90,\n params: {\n all: null\n },\n slots: {\n header: 'checkedBox_header',\n default: 'checkedBox_default'\n }\n }, {\n title: '控件类型',\n field: 'selectDom',\n width: 100,\n editRender: {\n props: {\n clearable: true,\n filterable: true\n },\n name: '$select',\n events: {\n change: refreshForm\n },\n options: dict.val('select_dom')\n }\n }, {\n title: '数据字典',\n field: 'dictCode',\n allowCreate: true,\n width: 120,\n filterable: true,\n //数据字典属性的配置对象\n props: {\n label: 'dictLabel',\n value: 'dictValue'\n },\n editRender: {\n props: {\n clearable: true,\n filterable: true\n },\n name: '$select',\n events: {\n change: refreshForm\n },\n options: dictType.val()\n }\n }, {\n title: '更新回调',\n field: 'change',\n width: 100,\n slots: {\n default: 'change'\n }\n }],\n data: []\n });\n //展开行表单\n const expandForm = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)({\n submitBtn: false,\n emptyBtn: false,\n span: 8,\n column: [{\n label: '禁用',\n prop: 'disabled',\n type: 'switch',\n value: false,\n dicData: [{\n label: '否',\n value: false\n }, {\n label: '是',\n value: true\n }]\n }, {\n label: '隐藏',\n prop: 'display',\n type: 'switch',\n value: true,\n dicData: [{\n label: '否',\n value: true\n }, {\n label: '是',\n value: false\n }]\n }, {\n label: '标题宽度',\n prop: 'labelWidth'\n }, {\n label: '默认值',\n prop: 'value'\n }, {\n label: '输入框提示',\n prop: 'placeholder'\n }, {\n label: '数据字典表',\n prop: 'dictTable'\n }, {\n label: '字典dictUrl',\n prop: 'dictUrl'\n }, {\n label: '其他属性',\n prop: 'attrs',\n slots: {\n default: 'attrs'\n }\n }]\n });\n //自定义表单值\n const formJson = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)({});\n const formData = (0,vue__WEBPACK_IMPORTED_MODULE_6__.reactive)({});\n const formKey = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(0);\n const optionData = (0,vue__WEBPACK_IMPORTED_MODULE_6__.reactive)({});\n const vFormRef = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(null);\n const customForm = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(\"\");\n const copeFiledMethod = value => {\n let checkboxRecords = vexGridRef.value.getCheckboxRecords();\n if (checkboxRecords.length != 0) {\n let filed = \"\";\n for (let {\n prop\n } of checkboxRecords) {\n if (filed.length != 0) {\n filed += \",\";\n }\n filed += prop;\n }\n if (value == 1) {\n filed = \"hideColumn('\" + filed + \"');\";\n } else if (value == 2) {\n filed = \"showColumn('\" + filed + \"');\";\n }\n navigator.clipboard.writeText(filed).then(() => {\n msg.success(\"复制成功!\" + filed);\n }).catch(err => {\n msg.error(\"复制失败!\" + filed);\n });\n }\n };\n //表头全选框更新\n const headerClick = column => {\n gridOptions.value.data.forEach(item => {\n if (column.params.all) {\n item.rules = [{\n required: true,\n message: '请输入' + item.title,\n trigger: 'blur'\n }];\n item[column.field] = '1';\n } else {\n item[column.field] = '0';\n item.rules = null;\n }\n });\n refreshForm();\n };\n\n //获取数据\n const setData = data => {\n if (!data) {\n return;\n }\n formType.value = parseInt(data.formMain.designer);\n for (let key of Object.keys(form)) {\n form[key] = data.formMain[key];\n }\n if (form.otherProp && form.otherProp.toString().trim()) {\n try {\n let otherPropJson = JSON.parse(form.otherProp);\n for (let key of Object.keys(otherProp)) {\n otherProp[key] = otherPropJson[key];\n }\n } catch (e) {\n console.error(e);\n }\n }\n customForm.value = data.formMain.customForm;\n //基础表单\n //JSON字符串\n if (data.formJson.optionJson) {\n codeForm.value = data.formJson.optionJson;\n codeToData();\n }\n if (data.formJson.customJson) {\n //自定义表单\n formJson.value = JSON.parse(data.formJson.customJson);\n }\n };\n function getColumn(item) {\n let obj = {\n prop: item.field,\n title: item.title || item.label,\n sort: gridOptions.value.data ? gridOptions.value.data.length : 0,\n //为空默认文本框\n selectDom: item.selectDom ? item.selectDom : 1,\n dictCode: item.dictCode,\n form: {\n dictTable: item.dictTable\n }\n };\n return obj;\n }\n\n //列配置新增多选更新\n const updateData = (row, column) => {\n if (row[column.field] == '1') {\n for (const item of gridOptions.value.data) {\n if (item.prop == row.field) return;\n }\n let tableObj = getColumn(row);\n gridOptions.value.data.push(tableObj);\n } else {\n gridOptions.value.data = gridOptions.value.data.filter(item => item.prop != row.field);\n }\n reloadData();\n refreshForm();\n };\n function parseJson(column) {\n let attrs = column.attrs;\n if (attrs) {\n try {\n attrs = JSON.parse(attrs);\n for (let key of Object.keys(attrs)) {\n column[key] = attrs;\n }\n } catch (e) {\n console.error(\"解析attrs异常\", attrs);\n }\n }\n }\n function reloadData(data) {\n if (data) {\n gridOptions.value.data = data;\n }\n if (vexGridRef.value) {\n vexGridRef.value.reloadData(gridOptions.value.data);\n }\n }\n\n //列配置新增全选与全不选\n const setAll = ({\n list,\n isAll\n }) => {\n let data = [];\n if (isAll) {\n for (let item of list) {\n data.push(getColumn(item));\n }\n }\n reloadData(data);\n refreshForm();\n };\n\n //基础表单 > 快捷设计表单更新\n const designFormChange = () => {\n //行数转换为尺寸\n baseOption.value.span = parseInt(24 / designForm.value.span);\n //JSON格式化\n codeForm.value = jsonFormat(baseOption.value);\n updateSort();\n };\n\n //控件类型更新\n const dictChange = ({\n row\n }) => {\n console.info('控件类型发生改变了', row);\n if (row.selectDom === '22') {\n //如果是表格选择器,则展开行,因为一定要配置其他属性,所以需要展开行\n if (row.form.attrs == null || row.form.attrs === '') {\n row.form.attrs = '{\\n' + ' \"olTableSelect\":{\\n' + ' \"uuid\":\"1901841070608990208\",\\n' + ' \"key\":\"id\",//数据库要存的值,如:外键ID或某个编码\\n' + ' \"label\":\"name\",//选中数据后回显的数据\\n' + ' \"labelIsAppendCode\":false,//默认,可不填或不该\\n' + ' \"otherResult\":\"name:name,age:age,sex:sex\"//需要额外字段数据格式配置:\"源字段1:目标字段1,源字段2:目标字段2\"\\n' + ' }\\n' + '}';\n }\n vexGridRef.value.setRowExpand([row], true); //展开行\n }\n (0,vue__WEBPACK_IMPORTED_MODULE_6__.nextTick)(() => {\n baseOption.value.column.forEach(item => {\n if (item.prop == row.prop) {\n item.type = getFormType(row); //控件类型\n codeForm.value = jsonFormat(baseOption.value);\n return;\n }\n });\n });\n };\n let update = true;\n function refreshForm() {\n if (update != true) {\n setTimeout(() => {\n refreshForm();\n }, 200);\n }\n update = false;\n let data = JSON.parse(JSON.stringify(gridOptions.value.data));\n let columns = [];\n let index = 1;\n for (let d of data) {\n d.sort = index;\n let column = getCodeColumn(d);\n columns.push(column);\n index++;\n }\n columns.sort((a, b) => {\n return a.sort - b.sort;\n });\n setCodeForm(columns);\n setBaseOption(columns);\n update = true;\n }\n function setDictCode(column) {\n if (column.selectDom != 1 && (column.dictCode || column.dictTable || column.dictUrl)) {\n getDicData(column);\n }\n }\n function codeToData(alter) {\n try {\n getFormatter();\n let value = JSON.parse(codeForm.value);\n setSort(value);\n codeForm.value = jsonFormat(value);\n //更新快捷设计表格的数据\n setTableData(value);\n if (!value.labelWidth) value.labelWidth = 125;\n baseOption.value = value;\n setBaseOption(value.column);\n value.span = value.span ? value.span : 12;\n //计算表单每行个数\n designForm.value.span = parseInt(24 / value.span);\n (0,vue__WEBPACK_IMPORTED_MODULE_6__.nextTick)(() => {\n refreshForm();\n });\n if (alter) {\n msg.success(\"生成成功!\");\n }\n } catch (e) {\n console.error(e);\n msg.error('生成失败,请检查对象格式是否正确' + e);\n }\n }\n function setCodeForm(columns) {\n let option = JSON.parse(JSON.stringify(baseOption.value));\n option.column = JSON.parse(JSON.stringify(columns));\n codeForm.value = jsonFormat(option);\n }\n function setEvents(column) {\n for (let event of events) {\n if (column[event] != undefined && column[event] != '') {\n try {\n let e = replaceDollarBraces(column[event]);\n column[event] = eval(\"(params)=>{\" + e + \"}\");\n } catch (e) {\n console.error(e);\n }\n } else {\n delete column[event];\n }\n }\n }\n function replaceDollarBraces(str) {\n return str.replace(/\\$\\{?([^{}]+)\\}?/g, function (match, innerContent) {\n return innerContent ? `'${innerContent}'` : match;\n });\n }\n function setBaseOption(columns) {\n columns = JSON.parse(JSON.stringify(columns));\n for (let column of columns) {\n try {\n parseJson(column);\n setEvents(column);\n setDictCode(column);\n } catch (e) {\n console.error(e);\n }\n }\n baseOption.value.column = columns;\n }\n let events = ['change'];\n function getFormatter() {\n //正则表达式替换字符串的值\n let v = codeForm.value.replace(/,}/gi, \"}\").replace(/,]/gi, \"]\");\n codeForm.value = JSON.stringify(JSON.parse(v), null, 4);\n }\n function setSort(value) {\n value.column.sort((a, b) => {\n return a.sort - b.sort;\n });\n for (let i = 0; i < value.column.length; i++) {\n value.column.sort = i + 1;\n }\n }\n function getCodeColumn(row) {\n let columnObj = {};\n for (let column of gridOptions.value.columns) {\n if (column.field !== undefined && row[column.field] !== undefined && row[column.field] !== '' && row[column.field] !== null) {\n columnObj[column.field] = row[column.field];\n }\n }\n for (let column of expandForm.value.column) {\n if (column.prop !== undefined && row.form[column.prop] !== undefined && row.form[column.prop] !== '' && row.form[column.prop] !== null) {\n columnObj[column.prop] = row.form[column.prop];\n }\n }\n columnObj.label = columnObj.showName ? columnObj.showName : columnObj.title;\n if (columnObj.required == '1') {\n columnObj.rules = [{\n required: true,\n message: '请输入' + row.title,\n trigger: 'blur'\n }];\n }\n if (columnObj.required == '0') {\n delete columnObj.rules;\n delete columnObj.required;\n }\n if (columnObj != 1) {\n columnObj.type = getFormType(row);\n }\n return columnObj;\n }\n function getTableRow(data) {\n let obj = JSON.parse(JSON.stringify(data));\n obj.form = {};\n for (let column of gridOptions.value.columns) {\n if (column.field !== undefined && data[column.field] !== undefined && data[column.field].toString().trim() !== '') {\n obj[column.field] = data[column.field];\n }\n }\n for (let column of expandForm.value.column) {\n if (column.prop !== undefined && data[column.prop] !== undefined && data[column.prop].toString().trim() !== '') {\n obj.form[column.prop] = data[column.prop];\n }\n }\n for (let event of events) {\n if (obj[event] != undefined && !(obj[event] instanceof Function)) {\n obj[event] = obj[event].toString();\n }\n }\n if (data.label) {\n obj.showName = data.label;\n if (!obj.title) {\n obj.title = data.label;\n }\n }\n if (data.label) {\n obj.showName = data.label;\n obj.title = data.label;\n }\n delete obj.type;\n return obj;\n }\n\n //编码设计生成后更新快捷设计表格数据\n const setTableData = value => {\n let datas = [];\n for (let column of value.column) {\n let data = getTableRow(column);\n datas.push(data);\n }\n (0,vue__WEBPACK_IMPORTED_MODULE_6__.nextTick)(() => {\n gridOptions.value.data = datas;\n });\n };\n function setDicData(column) {\n baseOption.value.column.forEach(item => {\n if (item.prop == column.prop) {\n item.dicData = column.dicData;\n return;\n }\n });\n }\n const setDictUrl = column => {\n let dictUrl = column.dictUrl.split(\",\");\n let url;\n let label = 'label';\n let value = 'value';\n let parentId = 'parentId';\n // get,url,label,value,parent_id\n let doGet = true;\n if (dictUrl.length > 1) {\n if (dictUrl[0].toString().toLowerCase() == 'post') {\n doGet = false;\n }\n url = dictUrl[1];\n label = dictUrl[2];\n value = dictUrl[3];\n parentId = dictUrl[4];\n } else {\n url = dictUrl[0];\n }\n if (doGet) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.get)(http, url).then(data => {\n column.dicData.length = 0;\n if (column.type == 'tree') {\n for (let da of data) {\n da['label'] = da[label];\n da['value'] = da[value];\n }\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_15__.handleTree)(data, value, parentId);\n } else {\n data.forEach(d => {\n column.dicData.push(d);\n });\n }\n });\n } else {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.post)(http, column.dictUrl, false, false).then(({\n data\n }) => {\n column.dicData.length = 0;\n if (column.type == 'tree') {\n for (let da of data) {\n da['label'] = da[label];\n da['value'] = da[value];\n }\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_15__.handleTree)(data, value, parentId);\n } else {\n data.forEach(da => {\n da['label'] = da[label];\n da['value'] = da[value];\n column.dicData.push(da);\n });\n }\n });\n }\n };\n //获取字典\n const getDicData = column => {\n let code = column.dictCode;\n if (code == \"\" || !code) {\n delete column.dicData;\n } else if (column.dictTable) {\n getParameter(column);\n } else if (column.dictUrl) {\n setDictUrl(column);\n } else {\n const dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_13__.storeDict)();\n column.dicData = dict.val(column.dictCode);\n setDicData(column);\n }\n };\n function getParameter(column) {\n let params = {};\n let dictTable = JSON.parse(JSON.stringify(column.dictTable));\n if (dictTable instanceof Object) {\n params = dictTable;\n } else {\n dictTable = column.dictTable.split(\",\");\n params[\"dbName\"] = dictTable[0];\n params[\"tableName\"] = dictTable[1];\n params[\"label\"] = dictTable[2];\n params[\"value\"] = dictTable[3];\n if (dictTable[4]) {\n params[\"parentValue\"] = dictTable[4];\n }\n }\n (0,_api_dist__WEBPACK_IMPORTED_MODULE_16__.initDictTable)(http, params).then(data => {\n column.dicData.length = 0;\n for (let d of data) {\n d.label = d.dictLabel;\n d.value = d.dictValue;\n }\n if (params[\"parentValue\"]) {\n data = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_15__.handleTree)(data, 'value', 'parentValue');\n column.dicData.push(data);\n } else {\n for (let d of data) {\n d.label = d.dictLabel;\n d.value = d.dictValue;\n column.dicData.push(d);\n }\n }\n setDicData(column);\n });\n }\n\n //JSON格式化\n const jsonFormat = val => {\n return JSON.stringify(JSON.parse(JSON.stringify(val)), null, 4);\n };\n\n //控件类型转换\n const getFormType = row => {\n let val = row.selectDom;\n if (val != '' || val != undefined || val) {\n let type = \"\";\n let map = {\n input: '1',\n select: '2',\n datetime: '3',\n time: '30',\n radio: '4',\n checkbox: '5',\n date: '6',\n number: '7',\n tree: '15',\n textarea: '10'\n };\n if (isNaN(val)) {\n //不是数字,通过健找值\n type = map[val];\n } else {\n //是数字,通过值找健\n // 使用 Object.values() 获取对象的所有值\n const arr = Object.values(map);\n // 使用 Array.prototype.indexOf() 查找指定值在数组中的索引位置\n const index = arr.indexOf(val);\n // 使用 Object.keys()[index] 获取对应索引位置的键名\n type = Object.keys(map)[index];\n if (type == \"\") {\n type = 'input';\n } else if (['select', 'checkbox', 'radio', 'tree'].indexOf(type) != -1) {\n getDicData(row);\n }\n }\n return type;\n }\n };\n (0,vue__WEBPACK_IMPORTED_MODULE_6__.onMounted)(() => {\n updateSort();\n });\n function addColumn() {\n gridOptions.value.data.push({\n sort: gridOptions.value.data.length,\n prop: \"\",\n title: \"\",\n showName: \"\",\n selectDom: \"1\",\n label: \"\",\n type: \"input\",\n form: {}\n });\n refreshForm();\n }\n\n //表格拖动更新\n const updateSort = () => {\n (0,vue__WEBPACK_IMPORTED_MODULE_6__.nextTick)(() => {\n if (!vexGridRef.value) {\n return;\n }\n //el绑定元素需要找到vxe的DOM下的tbody元素\n sortablejs__WEBPACK_IMPORTED_MODULE_11__[\"default\"].create(vexGridRef.value.$el.querySelector('.body--wrapper>.vxe-table--body tbody'), {\n animation: 130,\n //拖拽动画过渡时间\n handle: '.vxe-icon-sort',\n // 结束拖拽\n onEnd: function (/**Event*/{\n oldIndex,\n newIndex\n }) {\n const list = JSON.parse(JSON.stringify(gridOptions.value.data)); //保存旧数据\n const targetRow = list.splice(oldIndex, 1)[0]; //保存移动的元素并删除原列表中移动的元素\n list.splice(newIndex, 0, targetRow); //插入到目标新索引中\n const newsArr = JSON.parse(JSON.stringify(list)); //重新赋值数组\n //将新表格数据重新排序\n for (let i = 0; i < newsArr.length; i++) {\n newsArr[i].sort = i;\n }\n gridOptions.value.data = newsArr;\n //把表单的排序号和表格的排序号保持一致\n newsArr.forEach(tableItem => {\n baseOption.value.column.forEach(formItem => {\n if (tableItem.prop == formItem.prop) {\n formItem.sort = tableItem.sort;\n }\n });\n });\n //将表单重新排序\n baseOption.value.column.sort((a, b) => {\n return a.sort - b.sort;\n });\n codeForm.value = jsonFormat(baseOption.value);\n }\n });\n });\n };\n const form = (0,vue__WEBPACK_IMPORTED_MODULE_6__.reactive)({\n updateKey: '',\n saveUrl: '',\n title: '',\n otherProp: {},\n requestType: 'post',\n formType: props.type\n });\n const state = (0,vue__WEBPACK_IMPORTED_MODULE_6__.reactive)({\n extensions: [(0,_codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_18__.javascript)(), _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_19__.oneDark],\n values: null,\n err: false,\n baseForm: {},\n baseFormRender: {}\n });\n const formMap = (0,vue__WEBPACK_IMPORTED_MODULE_6__.reactive)({});\n\n // 更换表单\n const onChangeForm = value => {\n if (value) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.get)(http, \"/online/formDesigner/queryById\", {\n id: value\n }).then(data => {\n formJson.value = JSON.parse(data.formJson);\n formKey.value++;\n });\n }\n };\n const getForm = () => {\n form.otherProp = JSON.stringify(otherProp);\n return (0,vue__WEBPACK_IMPORTED_MODULE_6__.markRaw)(form);\n };\n // 获取新增表单配置数据\n const getData = () => {\n if (formType.value == 0 && gridOptions.value.data.length == 0) {\n return undefined;\n }\n refreshForm();\n let obj = {\n vexTable: gridOptions.value,\n baseForm: baseOption.value,\n codeForm: codeForm.value,\n designer: formType.value,\n customJson: formJson.value,\n customForm: customForm.value\n };\n return obj;\n };\n /**\r\n * 右边字段配置删除行数据\r\n * @param row\r\n * @returns {Promise<void>}\r\n */\n const removeRowEvent = async row => {\n const type = await vxe_table__WEBPACK_IMPORTED_MODULE_14___default().modal.confirm('您确定要删除该数据?');\n const $grid = vexGridRef.value;\n if ($grid && type === 'confirm') {\n await $grid.remove(row);\n gridOptions.value.data = gridOptions.value.data.filter(item => item._X_ROW_KEY != row._X_ROW_KEY);\n removeColumnEvent(row);\n }\n };\n /**\r\n * 删除表单属性(快捷设计属性)\r\n * @param row\r\n */\n const removeColumnEvent = row => {\n baseOption.value.column = baseOption.value.column.filter(item => item.prop != row.prop);\n codeForm.value = jsonFormat(baseOption.value);\n };\n\n /**\r\n * 表格选择器回调函数\r\n * @param data\r\n */\n function olTableSelectChange(slotName, data) {\n console.info('插槽名称', slotName);\n console.info('表格回传的数据', data);\n }\n\n // 动态获取需要渲染的插槽名称列表\n const dynamicSlotsTable = (0,vue__WEBPACK_IMPORTED_MODULE_6__.computed)(() => {\n const result = baseOption.value.column.filter(item => item.selectDom === '22') // 筛选出需要动态插槽的字段(表单选择)\n .map(item => {\n let slotObj = {\n slotName: item.prop\n };\n slotObj.config = item.attrs != null ? JSON.parse(item.attrs).olTableSelect : {};\n return slotObj;\n }); // 获取字段名作为插槽名\n return result;\n });\n\n // 对外暴露\n __expose({\n setData,\n updateData,\n setAll,\n getData,\n setShow,\n getForm\n });\n const __returned__ = {\n msg,\n http,\n dictType,\n props,\n customUrl,\n vexGridRef,\n vFormViewer,\n dialogTableVisible,\n setShow,\n showViewForm,\n otherProp,\n baseOption,\n codeForm,\n copeFiled,\n dict,\n formType,\n formConfig,\n designForm,\n gridOptions,\n expandForm,\n formJson,\n formData,\n formKey,\n optionData,\n vFormRef,\n customForm,\n copeFiledMethod,\n headerClick,\n setData,\n getColumn,\n updateData,\n parseJson,\n reloadData,\n setAll,\n designFormChange,\n dictChange,\n get update() {\n return update;\n },\n set update(v) {\n update = v;\n },\n refreshForm,\n setDictCode,\n codeToData,\n setCodeForm,\n setEvents,\n replaceDollarBraces,\n setBaseOption,\n get events() {\n return events;\n },\n set events(v) {\n events = v;\n },\n getFormatter,\n setSort,\n getCodeColumn,\n getTableRow,\n setTableData,\n setDicData,\n setDictUrl,\n getDicData,\n getParameter,\n jsonFormat,\n getFormType,\n addColumn,\n updateSort,\n form,\n state,\n formMap,\n onChangeForm,\n getForm,\n getData,\n removeRowEvent,\n removeColumnEvent,\n olTableSelectChange,\n dynamicSlotsTable,\n get vForm() {\n return _components_table_ol_form__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n },\n get Delete() {\n return _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_20__.Delete;\n },\n get Search() {\n return _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_20__.Search;\n },\n reactive: vue__WEBPACK_IMPORTED_MODULE_6__.reactive,\n ref: vue__WEBPACK_IMPORTED_MODULE_6__.ref,\n nextTick: vue__WEBPACK_IMPORTED_MODULE_6__.nextTick,\n onMounted: vue__WEBPACK_IMPORTED_MODULE_6__.onMounted,\n inject: vue__WEBPACK_IMPORTED_MODULE_6__.inject,\n markRaw: vue__WEBPACK_IMPORTED_MODULE_6__.markRaw,\n computed: vue__WEBPACK_IMPORTED_MODULE_6__.computed,\n vComponent: _components_v_component_index_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n get Codemirror() {\n return vue_codemirror__WEBPACK_IMPORTED_MODULE_8__.Codemirror;\n },\n get javascript() {\n return _codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_18__.javascript;\n },\n get oneDark() {\n return _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_19__.oneDark;\n },\n get useMessage() {\n return _utils_message__WEBPACK_IMPORTED_MODULE_9__.useMessage;\n },\n get get() {\n return _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.get;\n },\n get post() {\n return _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.post;\n },\n get Sortable() {\n return sortablejs__WEBPACK_IMPORTED_MODULE_11__[\"default\"];\n },\n get storeDictType() {\n return _store_dictType__WEBPACK_IMPORTED_MODULE_12__.storeDictType;\n },\n get storeDict() {\n return _store_dict__WEBPACK_IMPORTED_MODULE_13__.storeDict;\n },\n get VXETable() {\n return (vxe_table__WEBPACK_IMPORTED_MODULE_14___default());\n },\n get handleTree() {\n return _utils_tree__WEBPACK_IMPORTED_MODULE_15__.handleTree;\n },\n get initDictTable() {\n return _api_dist__WEBPACK_IMPORTED_MODULE_16__.initDictTable;\n },\n OlTableSelect: _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_17__[\"default\"]\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/views/table/add-or-edit/config/form-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
897
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.filter.js */ \"./node_modules/core-js/modules/es.iterator.filter.js\");\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.iterator.map.js */ \"./node_modules/core-js/modules/es.iterator.map.js\");\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _components_table_ol_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/table/ol-form */ \"./src/components/table/ol-form/index.vue\");\n/* harmony import */ var _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @element-plus/icons-vue */ \"./node_modules/@element-plus/icons-vue/dist/index.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _components_v_component_index_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/v-component/index.vue */ \"./src/components/v-component/index.vue\");\n/* harmony import */ var vue_codemirror__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue-codemirror */ \"./node_modules/vue-codemirror/dist/vue-codemirror.esm.js\");\n/* harmony import */ var _codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @codemirror/lang-javascript */ \"./node_modules/@codemirror/lang-javascript/dist/index.js\");\n/* harmony import */ var _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @codemirror/theme-one-dark */ \"./node_modules/@codemirror/theme-one-dark/dist/index.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var sortablejs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _api_dist__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/api/dist */ \"./src/api/dist.js\");\n/* harmony import */ var _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/components/ol-table-select.vue */ \"./src/components/ol-table-select.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n __name: 'index',\n props: {\n type: {}\n },\n setup(__props, {\n expose: __expose\n }) {\n const msg = (0,_utils_message__WEBPACK_IMPORTED_MODULE_9__.useMessage)(); // 消息弹窗\n const http = (0,vue__WEBPACK_IMPORTED_MODULE_6__.inject)('http');\n const dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_12__.storeDictType)();\n const props = __props;\n const customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(undefined);\n const vexGridRef = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(null);\n const vFormViewer = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(null);\n const dialogTableVisible = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(false);\n function setShow() {\n updateSort();\n }\n function showViewForm() {\n dialogTableVisible.value = true;\n (0,vue__WEBPACK_IMPORTED_MODULE_6__.nextTick)(() => {\n let data = {\n type: formType.value,\n theme: 't1',\n otherProp: otherProp,\n formData: {}\n };\n data.form = data.type == 0 ? baseOption.value : formJson.value;\n vFormViewer.value.init(data);\n });\n }\n const otherProp = (0,vue__WEBPACK_IMPORTED_MODULE_6__.reactive)({\n beforeSave: '',\n afterSave: ''\n });\n // 基础表单\n const baseOption = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)({\n submitBtn: false,\n emptyBtn: false,\n labelWidth: 125,\n comCommit: false,\n //如果为true,只提交form\n column: []\n });\n //编码设计\n const codeForm = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)();\n const copeFiled = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)();\n const dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_13__.storeDict)();\n //表单类型\n const formType = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(0);\n //表单设计\n const formConfig = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(0);\n //快捷设计表单\n const designForm = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)({\n span: 2\n });\n //快捷设计表格\n const gridOptions = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)({\n border: true,\n resizable: true,\n showOverflow: true,\n size: 'mini',\n height: '420px',\n editConfig: {\n trigger: 'click',\n mode: 'cell'\n },\n rowConfig: {\n useKey: true\n },\n align: 'center',\n columns: [{\n title: '操作',\n width: 70,\n slots: {\n default: 'operate'\n }\n }, {\n type: 'checkbox',\n width: 40\n }, {\n type: \"expand\",\n width: 61,\n title: \"序号\",\n className: 'colExpand',\n slots: {\n content: 'content',\n default: 'seq'\n }\n }, {\n field: 'prop',\n minWidth: 130,\n editRender: {\n props: {\n clearable: true\n },\n events: {\n change: refreshForm\n },\n name: 'input'\n },\n title: \"字段名\"\n }, {\n field: 'title',\n width: 80,\n title: \"原标题\"\n }, {\n field: 'showName',\n width: 120,\n title: \"label\",\n editRender: {\n props: {\n clearable: true\n },\n events: {\n change: refreshForm\n },\n name: 'input'\n }\n }, {\n title: '必填',\n field: 'required',\n width: 60,\n params: {\n all: null\n },\n slots: {\n header: 'checkedBox_header',\n default: 'checkedBox_default'\n }\n }, {\n title: ' 不保存',\n field: 'tableField',\n width: 60,\n params: {\n all: null\n },\n slots: {\n header: 'checkedBox_header',\n default: 'checkedBox_default'\n }\n }, {\n title: '控件类型',\n field: 'selectDom',\n width: 100,\n editRender: {\n props: {\n clearable: true,\n filterable: true\n },\n name: '$select',\n events: {\n change: refreshForm\n },\n options: dict.val('select_dom')\n }\n }, {\n title: '数据字典',\n field: 'dictCode',\n allowCreate: true,\n width: 120,\n filterable: true,\n //数据字典属性的配置对象\n props: {\n label: 'dictLabel',\n value: 'dictValue'\n },\n editRender: {\n props: {\n clearable: true,\n filterable: true\n },\n name: '$select',\n events: {\n change: refreshForm\n },\n options: dictType.val()\n }\n }, {\n title: '更新回调',\n field: 'change',\n width: 100,\n slots: {\n default: 'change'\n }\n }],\n data: []\n });\n //展开行表单\n const expandForm = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)({\n submitBtn: false,\n emptyBtn: false,\n span: 8,\n column: [{\n label: '禁用',\n prop: 'disabled',\n type: 'switch',\n value: false,\n dicData: [{\n label: '否',\n value: false\n }, {\n label: '是',\n value: true\n }]\n }, {\n label: '隐藏',\n prop: 'display',\n type: 'switch',\n value: true,\n dicData: [{\n label: '否',\n value: true\n }, {\n label: '是',\n value: false\n }]\n }, {\n label: '标题宽度',\n prop: 'labelWidth'\n }, {\n label: '默认值',\n prop: 'value'\n }, {\n label: '输入框提示',\n prop: 'placeholder'\n }, {\n label: '数据字典表',\n prop: 'dictTable'\n }, {\n label: '字典dictUrl',\n prop: 'dictUrl'\n }, {\n label: '其他属性',\n prop: 'attrs',\n slots: {\n default: 'attrs'\n }\n }]\n });\n //自定义表单值\n const formJson = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)({});\n const formData = (0,vue__WEBPACK_IMPORTED_MODULE_6__.reactive)({});\n const formKey = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(0);\n const optionData = (0,vue__WEBPACK_IMPORTED_MODULE_6__.reactive)({});\n const vFormRef = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(null);\n const customForm = (0,vue__WEBPACK_IMPORTED_MODULE_6__.ref)(\"\");\n const copeFiledMethod = value => {\n let checkboxRecords = vexGridRef.value.getCheckboxRecords();\n if (checkboxRecords.length != 0) {\n let filed = \"\";\n for (let {\n prop\n } of checkboxRecords) {\n if (filed.length != 0) {\n filed += \",\";\n }\n filed += prop;\n }\n if (value == 1) {\n filed = \"hideColumn('\" + filed + \"');\";\n } else if (value == 2) {\n filed = \"showColumn('\" + filed + \"');\";\n }\n navigator.clipboard.writeText(filed).then(() => {\n msg.success(\"复制成功!\" + filed);\n }).catch(err => {\n msg.error(\"复制失败!\" + filed);\n });\n }\n };\n //表头全选框更新\n const headerClick = column => {\n gridOptions.value.data.forEach(item => {\n if (column.params.all) {\n item.rules = [{\n required: true,\n message: '请输入' + item.title,\n trigger: 'blur'\n }];\n item[column.field] = '1';\n } else {\n item[column.field] = '0';\n item.rules = null;\n }\n });\n refreshForm();\n };\n\n //获取数据\n const setData = data => {\n if (!data) {\n return;\n }\n formType.value = parseInt(data.formMain.designer);\n for (let key of Object.keys(form)) {\n form[key] = data.formMain[key];\n }\n if (form.otherProp && form.otherProp.toString().trim()) {\n try {\n let otherPropJson = JSON.parse(form.otherProp);\n for (let key of Object.keys(otherProp)) {\n otherProp[key] = otherPropJson[key];\n }\n } catch (e) {\n console.error(e);\n }\n }\n customForm.value = data.formMain.customForm;\n //基础表单\n //JSON字符串\n if (data.formJson.optionJson) {\n codeForm.value = data.formJson.optionJson;\n codeToData();\n }\n if (data.formJson.customJson) {\n //自定义表单\n formJson.value = JSON.parse(data.formJson.customJson);\n }\n };\n function getColumn(item) {\n let obj = {\n prop: item.field,\n title: item.title || item.label,\n sort: gridOptions.value.data ? gridOptions.value.data.length : 0,\n //为空默认文本框\n selectDom: item.selectDom ? item.selectDom : 1,\n dictCode: item.dictCode,\n form: {\n dictTable: item.dictTable\n }\n };\n return obj;\n }\n\n //列配置新增多选更新\n const updateData = (row, column) => {\n if (row[column.field] == '1') {\n for (const item of gridOptions.value.data) {\n if (item.prop == row.field) return;\n }\n let tableObj = getColumn(row);\n gridOptions.value.data.push(tableObj);\n } else {\n gridOptions.value.data = gridOptions.value.data.filter(item => item.prop != row.field);\n }\n reloadData();\n refreshForm();\n };\n function parseJson(column) {\n let attrs = column.attrs;\n if (attrs) {\n try {\n attrs = JSON.parse(attrs);\n for (let key of Object.keys(attrs)) {\n column[key] = attrs;\n }\n } catch (e) {\n console.error(\"解析attrs异常\", attrs);\n }\n }\n }\n function reloadData(data) {\n if (data) {\n gridOptions.value.data = data;\n }\n if (vexGridRef.value) {\n vexGridRef.value.reloadData(gridOptions.value.data);\n }\n }\n\n //列配置新增全选与全不选\n const setAll = ({\n list,\n isAll\n }) => {\n let data = [];\n if (isAll) {\n for (let item of list) {\n data.push(getColumn(item));\n }\n }\n reloadData(data);\n refreshForm();\n };\n\n //基础表单 > 快捷设计表单更新\n const designFormChange = () => {\n //行数转换为尺寸\n baseOption.value.span = parseInt(24 / designForm.value.span);\n //JSON格式化\n codeForm.value = jsonFormat(baseOption.value);\n updateSort();\n };\n\n //控件类型更新\n const dictChange = ({\n row\n }) => {\n if (row.selectDom === '22') {\n //如果是表格选择器,则展开行,因为一定要配置其他属性,所以需要展开行\n if (row.form.attrs == null || row.form.attrs === '') {\n row.form.attrs = '{\\n' + ' \"olTableSelect\":{\\n' + ' \"uuid\":\"1901841070608990208\",\\n' + ' \"key\":\"id\",//数据库要存的值,如:外键ID或某个编码\\n' + ' \"label\":\"name\",//选中数据后回显的数据\\n' + ' \"labelIsAppendCode\":false,//默认,可不填或不该\\n' + ' \"otherResult\":\"name:name,age:age,sex:sex\"//需要额外字段数据格式配置:\"源字段1:目标字段1,源字段2:目标字段2\"\\n' + ' }\\n' + '}';\n }\n vexGridRef.value.setRowExpand([row], true); //展开行\n }\n (0,vue__WEBPACK_IMPORTED_MODULE_6__.nextTick)(() => {\n baseOption.value.column.forEach(item => {\n if (item.prop == row.prop) {\n item.type = getFormType(row); //控件类型\n codeForm.value = jsonFormat(baseOption.value);\n return;\n }\n });\n });\n };\n let update = true;\n function refreshForm() {\n if (update != true) {\n setTimeout(() => {\n refreshForm();\n }, 200);\n }\n update = false;\n let data = JSON.parse(JSON.stringify(gridOptions.value.data));\n let columns = [];\n let index = 1;\n for (let d of data) {\n d.sort = index;\n let column = getCodeColumn(d);\n columns.push(column);\n index++;\n }\n columns.sort((a, b) => {\n return a.sort - b.sort;\n });\n setCodeForm(columns);\n setBaseOption(columns);\n update = true;\n }\n function setDictCode(column) {\n if (column.selectDom != 1 && (column.dictCode || column.dictTable || column.dictUrl)) {\n getDicData(column);\n }\n }\n function codeToData(alter) {\n try {\n getFormatter();\n let value = JSON.parse(codeForm.value);\n setSort(value);\n codeForm.value = jsonFormat(value);\n //更新快捷设计表格的数据\n setTableData(value);\n if (!value.labelWidth) value.labelWidth = 125;\n baseOption.value = value;\n setBaseOption(value.column);\n value.span = value.span ? value.span : 12;\n //计算表单每行个数\n designForm.value.span = parseInt(24 / value.span);\n (0,vue__WEBPACK_IMPORTED_MODULE_6__.nextTick)(() => {\n refreshForm();\n });\n if (alter) {\n msg.success(\"生成成功!\");\n }\n } catch (e) {\n console.error(e);\n msg.error('生成失败,请检查对象格式是否正确' + e);\n }\n }\n function setCodeForm(columns) {\n let option = JSON.parse(JSON.stringify(baseOption.value));\n option.column = JSON.parse(JSON.stringify(columns));\n codeForm.value = jsonFormat(option);\n }\n function setEvents(column) {\n for (let event of events) {\n if (column[event] != undefined && column[event] != '') {\n try {\n let e = replaceDollarBraces(column[event]);\n column[event] = eval(\"(params)=>{\" + e + \"}\");\n } catch (e) {\n console.error(e);\n }\n } else {\n delete column[event];\n }\n }\n }\n function replaceDollarBraces(str) {\n return str.replace(/\\$\\{?([^{}]+)\\}?/g, function (match, innerContent) {\n return innerContent ? `'${innerContent}'` : match;\n });\n }\n function setBaseOption(columns) {\n columns = JSON.parse(JSON.stringify(columns));\n for (let column of columns) {\n try {\n parseJson(column);\n setEvents(column);\n setDictCode(column);\n } catch (e) {\n console.error(e);\n }\n }\n baseOption.value.column = columns;\n }\n let events = ['change'];\n function getFormatter() {\n //正则表达式替换字符串的值\n let v = codeForm.value.replace(/,}/gi, \"}\").replace(/,]/gi, \"]\");\n codeForm.value = JSON.stringify(JSON.parse(v), null, 4);\n }\n function setSort(value) {\n value.column.sort((a, b) => {\n return a.sort - b.sort;\n });\n for (let i = 0; i < value.column.length; i++) {\n value.column.sort = i + 1;\n }\n }\n function getCodeColumn(row) {\n let columnObj = {};\n for (let column of gridOptions.value.columns) {\n if (column.field !== undefined && row[column.field] !== undefined && row[column.field] !== '' && row[column.field] !== null) {\n columnObj[column.field] = row[column.field];\n }\n }\n for (let column of expandForm.value.column) {\n if (column.prop !== undefined && row.form[column.prop] !== undefined && row.form[column.prop] !== '' && row.form[column.prop] !== null) {\n columnObj[column.prop] = row.form[column.prop];\n }\n }\n columnObj.label = columnObj.showName ? columnObj.showName : columnObj.title;\n if (columnObj.required == '1') {\n columnObj.rules = [{\n required: true,\n message: '请输入' + row.title,\n trigger: 'blur'\n }];\n }\n if (columnObj.required == '0') {\n delete columnObj.rules;\n delete columnObj.required;\n }\n if (columnObj != 1) {\n columnObj.type = getFormType(row);\n }\n return columnObj;\n }\n function getTableRow(data) {\n let obj = JSON.parse(JSON.stringify(data));\n obj.form = {};\n for (let column of gridOptions.value.columns) {\n if (column.field !== undefined && data[column.field] !== undefined && data[column.field].toString().trim() !== '') {\n obj[column.field] = data[column.field];\n }\n }\n for (let column of expandForm.value.column) {\n if (column.prop !== undefined && data[column.prop] !== undefined && data[column.prop].toString().trim() !== '') {\n obj.form[column.prop] = data[column.prop];\n }\n }\n for (let event of events) {\n if (obj[event] != undefined && !(obj[event] instanceof Function)) {\n obj[event] = obj[event].toString();\n }\n }\n if (data.label) {\n obj.showName = data.label;\n if (!obj.title) {\n obj.title = data.label;\n }\n }\n if (data.label) {\n obj.showName = data.label;\n obj.title = data.label;\n }\n delete obj.type;\n return obj;\n }\n\n //编码设计生成后更新快捷设计表格数据\n const setTableData = value => {\n let datas = [];\n for (let column of value.column) {\n let data = getTableRow(column);\n datas.push(data);\n }\n (0,vue__WEBPACK_IMPORTED_MODULE_6__.nextTick)(() => {\n gridOptions.value.data = datas;\n });\n };\n function setDicData(column) {\n baseOption.value.column.forEach(item => {\n if (item.prop == column.prop) {\n item.dicData = column.dicData;\n return;\n }\n });\n }\n const setDictUrl = column => {\n let dictUrl = column.dictUrl.split(\",\");\n let url;\n let label = 'label';\n let value = 'value';\n let parentId = 'parentId';\n // get,url,label,value,parent_id\n let doGet = true;\n if (dictUrl.length > 1) {\n if (dictUrl[0].toString().toLowerCase() == 'post') {\n doGet = false;\n }\n url = dictUrl[1];\n label = dictUrl[2];\n value = dictUrl[3];\n parentId = dictUrl[4];\n } else {\n url = dictUrl[0];\n }\n if (doGet) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.get)(http, url).then(data => {\n column.dicData.length = 0;\n if (column.type == 'tree') {\n for (let da of data) {\n da['label'] = da[label];\n da['value'] = da[value];\n }\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_15__.handleTree)(data, value, parentId);\n } else {\n data.forEach(d => {\n column.dicData.push(d);\n });\n }\n });\n } else {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.post)(http, column.dictUrl, false, false).then(({\n data\n }) => {\n column.dicData.length = 0;\n if (column.type == 'tree') {\n for (let da of data) {\n da['label'] = da[label];\n da['value'] = da[value];\n }\n column.dicData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_15__.handleTree)(data, value, parentId);\n } else {\n data.forEach(da => {\n da['label'] = da[label];\n da['value'] = da[value];\n column.dicData.push(da);\n });\n }\n });\n }\n };\n //获取字典\n const getDicData = column => {\n let code = column.dictCode;\n if (code == \"\" || !code) {\n delete column.dicData;\n } else if (column.dictTable) {\n getParameter(column);\n } else if (column.dictUrl) {\n setDictUrl(column);\n } else {\n const dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_13__.storeDict)();\n column.dicData = dict.val(column.dictCode);\n setDicData(column);\n }\n };\n function getParameter(column) {\n let params = {};\n let dictTable = JSON.parse(JSON.stringify(column.dictTable));\n if (dictTable instanceof Object) {\n params = dictTable;\n } else {\n dictTable = column.dictTable.split(\",\");\n params[\"dbName\"] = dictTable[0];\n params[\"tableName\"] = dictTable[1];\n params[\"label\"] = dictTable[2];\n params[\"value\"] = dictTable[3];\n if (dictTable[4]) {\n params[\"parentValue\"] = dictTable[4];\n }\n }\n (0,_api_dist__WEBPACK_IMPORTED_MODULE_16__.initDictTable)(http, params).then(data => {\n column.dicData.length = 0;\n for (let d of data) {\n d.label = d.dictLabel;\n d.value = d.dictValue;\n }\n if (params[\"parentValue\"]) {\n data = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_15__.handleTree)(data, 'value', 'parentValue');\n column.dicData.push(data);\n } else {\n for (let d of data) {\n d.label = d.dictLabel;\n d.value = d.dictValue;\n column.dicData.push(d);\n }\n }\n setDicData(column);\n });\n }\n\n //JSON格式化\n const jsonFormat = val => {\n return JSON.stringify(JSON.parse(JSON.stringify(val)), null, 4);\n };\n\n //控件类型转换\n const getFormType = row => {\n let val = row.selectDom;\n if (val != '' || val != undefined || val) {\n let type = \"\";\n let map = {\n input: '1',\n select: '2',\n datetime: '3',\n time: '30',\n radio: '4',\n checkbox: '5',\n date: '6',\n number: '7',\n tree: '15',\n textarea: '10'\n };\n if (isNaN(val)) {\n //不是数字,通过健找值\n type = map[val];\n } else {\n //是数字,通过值找健\n // 使用 Object.values() 获取对象的所有值\n const arr = Object.values(map);\n // 使用 Array.prototype.indexOf() 查找指定值在数组中的索引位置\n const index = arr.indexOf(val);\n // 使用 Object.keys()[index] 获取对应索引位置的键名\n type = Object.keys(map)[index];\n if (type == \"\") {\n type = 'input';\n } else if (['select', 'checkbox', 'radio', 'tree'].indexOf(type) != -1) {\n getDicData(row);\n }\n }\n return type;\n }\n };\n (0,vue__WEBPACK_IMPORTED_MODULE_6__.onMounted)(() => {\n updateSort();\n });\n function addColumn() {\n gridOptions.value.data.push({\n sort: gridOptions.value.data.length,\n prop: \"\",\n title: \"\",\n showName: \"\",\n selectDom: \"1\",\n label: \"\",\n type: \"input\",\n form: {}\n });\n refreshForm();\n }\n\n //表格拖动更新\n const updateSort = () => {\n (0,vue__WEBPACK_IMPORTED_MODULE_6__.nextTick)(() => {\n if (!vexGridRef.value) {\n return;\n }\n //el绑定元素需要找到vxe的DOM下的tbody元素\n sortablejs__WEBPACK_IMPORTED_MODULE_11__[\"default\"].create(vexGridRef.value.$el.querySelector('.body--wrapper>.vxe-table--body tbody'), {\n animation: 130,\n //拖拽动画过渡时间\n handle: '.vxe-icon-sort',\n // 结束拖拽\n onEnd: function (/**Event*/{\n oldIndex,\n newIndex\n }) {\n const list = JSON.parse(JSON.stringify(gridOptions.value.data)); //保存旧数据\n const targetRow = list.splice(oldIndex, 1)[0]; //保存移动的元素并删除原列表中移动的元素\n list.splice(newIndex, 0, targetRow); //插入到目标新索引中\n const newsArr = JSON.parse(JSON.stringify(list)); //重新赋值数组\n //将新表格数据重新排序\n for (let i = 0; i < newsArr.length; i++) {\n newsArr[i].sort = i;\n }\n gridOptions.value.data = newsArr;\n //把表单的排序号和表格的排序号保持一致\n newsArr.forEach(tableItem => {\n baseOption.value.column.forEach(formItem => {\n if (tableItem.prop == formItem.prop) {\n formItem.sort = tableItem.sort;\n }\n });\n });\n //将表单重新排序\n baseOption.value.column.sort((a, b) => {\n return a.sort - b.sort;\n });\n codeForm.value = jsonFormat(baseOption.value);\n }\n });\n });\n };\n const form = (0,vue__WEBPACK_IMPORTED_MODULE_6__.reactive)({\n updateKey: '',\n saveUrl: '',\n title: '',\n otherProp: {},\n requestType: 'post',\n formType: props.type\n });\n const state = (0,vue__WEBPACK_IMPORTED_MODULE_6__.reactive)({\n extensions: [(0,_codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_18__.javascript)(), _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_19__.oneDark],\n values: null,\n err: false,\n baseForm: {},\n baseFormRender: {}\n });\n const formMap = (0,vue__WEBPACK_IMPORTED_MODULE_6__.reactive)({});\n\n // 更换表单\n const onChangeForm = value => {\n if (value) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.get)(http, \"/online/formDesigner/queryById\", {\n id: value\n }).then(data => {\n formJson.value = JSON.parse(data.formJson);\n formKey.value++;\n });\n }\n };\n const getForm = () => {\n form.otherProp = JSON.stringify(otherProp);\n return (0,vue__WEBPACK_IMPORTED_MODULE_6__.markRaw)(form);\n };\n // 获取新增表单配置数据\n const getData = () => {\n if (formType.value == 0 && gridOptions.value.data.length == 0) {\n return undefined;\n }\n refreshForm();\n let obj = {\n vexTable: gridOptions.value,\n baseForm: baseOption.value,\n codeForm: codeForm.value,\n designer: formType.value,\n customJson: formJson.value,\n customForm: customForm.value\n };\n return obj;\n };\n /**\r\n * 右边字段配置删除行数据\r\n * @param row\r\n * @returns {Promise<void>}\r\n */\n const removeRowEvent = async row => {\n const type = await vxe_table__WEBPACK_IMPORTED_MODULE_14___default().modal.confirm('您确定要删除该数据?');\n const $grid = vexGridRef.value;\n if ($grid && type === 'confirm') {\n await $grid.remove(row);\n gridOptions.value.data = gridOptions.value.data.filter(item => item._X_ROW_KEY != row._X_ROW_KEY);\n removeColumnEvent(row);\n }\n };\n /**\r\n * 删除表单属性(快捷设计属性)\r\n * @param row\r\n */\n const removeColumnEvent = row => {\n baseOption.value.column = baseOption.value.column.filter(item => item.prop != row.prop);\n codeForm.value = jsonFormat(baseOption.value);\n };\n\n /**\r\n * 表格选择器回调函数\r\n * @param data\r\n */\n function olTableSelectChange(slotName, data) {\n console.info('插槽名称', slotName);\n console.info('表格回传的数据', data);\n }\n\n // 动态获取需要渲染的插槽名称列表\n const dynamicSlotsTable = (0,vue__WEBPACK_IMPORTED_MODULE_6__.computed)(() => {\n const result = baseOption.value.column.filter(item => item.selectDom === '22') // 筛选出需要动态插槽的字段(表单选择)\n .map(item => {\n let slotObj = {\n slotName: item.prop\n };\n slotObj.config = item.attrs != null ? JSON.parse(item.attrs).olTableSelect : {};\n return slotObj;\n }); // 获取字段名作为插槽名\n return result;\n });\n\n // 对外暴露\n __expose({\n setData,\n updateData,\n setAll,\n getData,\n setShow,\n getForm\n });\n const __returned__ = {\n msg,\n http,\n dictType,\n props,\n customUrl,\n vexGridRef,\n vFormViewer,\n dialogTableVisible,\n setShow,\n showViewForm,\n otherProp,\n baseOption,\n codeForm,\n copeFiled,\n dict,\n formType,\n formConfig,\n designForm,\n gridOptions,\n expandForm,\n formJson,\n formData,\n formKey,\n optionData,\n vFormRef,\n customForm,\n copeFiledMethod,\n headerClick,\n setData,\n getColumn,\n updateData,\n parseJson,\n reloadData,\n setAll,\n designFormChange,\n dictChange,\n get update() {\n return update;\n },\n set update(v) {\n update = v;\n },\n refreshForm,\n setDictCode,\n codeToData,\n setCodeForm,\n setEvents,\n replaceDollarBraces,\n setBaseOption,\n get events() {\n return events;\n },\n set events(v) {\n events = v;\n },\n getFormatter,\n setSort,\n getCodeColumn,\n getTableRow,\n setTableData,\n setDicData,\n setDictUrl,\n getDicData,\n getParameter,\n jsonFormat,\n getFormType,\n addColumn,\n updateSort,\n form,\n state,\n formMap,\n onChangeForm,\n getForm,\n getData,\n removeRowEvent,\n removeColumnEvent,\n olTableSelectChange,\n dynamicSlotsTable,\n get vForm() {\n return _components_table_ol_form__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n },\n get Delete() {\n return _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_20__.Delete;\n },\n get Search() {\n return _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_20__.Search;\n },\n reactive: vue__WEBPACK_IMPORTED_MODULE_6__.reactive,\n ref: vue__WEBPACK_IMPORTED_MODULE_6__.ref,\n nextTick: vue__WEBPACK_IMPORTED_MODULE_6__.nextTick,\n onMounted: vue__WEBPACK_IMPORTED_MODULE_6__.onMounted,\n inject: vue__WEBPACK_IMPORTED_MODULE_6__.inject,\n markRaw: vue__WEBPACK_IMPORTED_MODULE_6__.markRaw,\n computed: vue__WEBPACK_IMPORTED_MODULE_6__.computed,\n vComponent: _components_v_component_index_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n get Codemirror() {\n return vue_codemirror__WEBPACK_IMPORTED_MODULE_8__.Codemirror;\n },\n get javascript() {\n return _codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_18__.javascript;\n },\n get oneDark() {\n return _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_19__.oneDark;\n },\n get useMessage() {\n return _utils_message__WEBPACK_IMPORTED_MODULE_9__.useMessage;\n },\n get get() {\n return _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.get;\n },\n get post() {\n return _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.post;\n },\n get Sortable() {\n return sortablejs__WEBPACK_IMPORTED_MODULE_11__[\"default\"];\n },\n get storeDictType() {\n return _store_dictType__WEBPACK_IMPORTED_MODULE_12__.storeDictType;\n },\n get storeDict() {\n return _store_dict__WEBPACK_IMPORTED_MODULE_13__.storeDict;\n },\n get VXETable() {\n return (vxe_table__WEBPACK_IMPORTED_MODULE_14___default());\n },\n get handleTree() {\n return _utils_tree__WEBPACK_IMPORTED_MODULE_15__.handleTree;\n },\n get initDictTable() {\n return _api_dist__WEBPACK_IMPORTED_MODULE_16__.initDictTable;\n },\n OlTableSelect: _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_17__[\"default\"]\n };\n Object.defineProperty(__returned__, '__isScriptSetup', {\n enumerable: false,\n value: true\n });\n return __returned__;\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/views/table/add-or-edit/config/form-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
898
898
 
899
899
  /***/ }),
900
900
 
@@ -1323,7 +1323,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1323
1323
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1324
1324
 
1325
1325
  "use strict";
1326
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nconst _hoisted_1 = {\n class: \"dialog-footer\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_input = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-input\");\n const _component_codemirror = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"codemirror\");\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n const _component_el_dialog = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-dialog\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n size: $options.sizes,\n modelValue: $options.values,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $options.values = $event),\n onClick: _cache[1] || (_cache[1] = $event => $data.state.show = true)\n }, null, 8 /* PROPS */, [\"size\", \"modelValue\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_dialog, {\n modelValue: $data.state.show,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.state.show = $event),\n title: $props.title,\n class: \"codemirror-el-dialog\",\n style: {\n \"z-index\": \"99999 !important\"\n },\n \"close-on-press-escape\": false,\n \"close-on-click-modal\": false,\n \"destroy-on-close\": \"\",\n \"show-close\": false,\n onOpen: $options.onOpen\n }, {\n footer: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"toolbar-left\"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"primary\",\n onClick: $options.confirm\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[4] || (_cache[4] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"确 定\")])),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"onClick\"])])]),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"tip-header\"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n style: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeStyle)({\n height: $options.heights\n })\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_codemirror, {\n style: {\n \"z-index\": \"99999 !important\"\n },\n modelValue: $options.values,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $options.values = $event),\n autofocus: true,\n \"indent-with-tab\": true,\n tabSize: 2,\n extensions: $data.state.extensions\n }, null, 8 /* PROPS */, [\"modelValue\", \"extensions\"])], 4 /* STYLE */)]),\n _: 3 /* FORWARDED */\n }, 8 /* PROPS */, [\"modelValue\", \"title\", \"onOpen\"])]);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/codemirror-tag.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1326
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nconst _hoisted_1 = {\n key: 0,\n style: {\n \"height\": \"calc(100% - 20px)\",\n \"margin-right\": \"20px\",\n \"float\": \"left\",\n \"width\": \"300px\"\n }\n};\nconst _hoisted_2 = {\n style: {\n \"height\": \"calc(100% - 20px)\"\n }\n};\nconst _hoisted_3 = {\n class: \"dialog-footer\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_input = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-input\");\n const _component_el_tag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-tag\");\n const _component_codemirror = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"codemirror\");\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n const _component_el_dialog = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-dialog\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n size: $options.sizes,\n modelValue: $options.values,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $options.values = $event),\n onClick: _cache[1] || (_cache[1] = $event => $data.state.show = true)\n }, null, 8 /* PROPS */, [\"size\", \"modelValue\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_dialog, {\n modelValue: $data.state.show,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $data.state.show = $event),\n title: $props.title,\n class: \"codemirror-el-dialog\",\n \"close-on-press-escape\": false,\n \"close-on-click-modal\": false,\n \"destroy-on-close\": \"\",\n \"show-close\": false,\n onOpen: $options.onOpen\n }, {\n footer: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"toolbar-left\"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"primary\",\n onClick: $options.confirm\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[7] || (_cache[7] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"确 定\")])),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"onClick\"])])]),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$options.desc ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_tag, {\n type: \"primary\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[5] || (_cache[5] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"代码提示\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_codemirror, {\n modelValue: $options.desc,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $options.desc = $event),\n \"indent-with-tab\": true,\n tabSize: 2,\n extensions: $data.state.readOnlyExtensions\n }, null, 8 /* PROPS */, [\"modelValue\", \"extensions\"])])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_tag, {\n type: \"success\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"代码编辑\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_codemirror, {\n modelValue: $options.values,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $options.values = $event),\n autofocus: true,\n \"indent-with-tab\": true,\n tabSize: 2,\n extensions: $data.state.extensions\n }, null, 8 /* PROPS */, [\"modelValue\", \"extensions\"])])]),\n _: 3 /* FORWARDED */\n }, 8 /* PROPS */, [\"modelValue\", \"title\", \"onOpen\"])]);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/codemirror-tag.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1327
1327
 
1328
1328
  /***/ }),
1329
1329
 
@@ -1554,7 +1554,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1554
1554
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1555
1555
 
1556
1556
  "use strict";
1557
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ol_table_select = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ol-table-select\");\n const _component_avue_form = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"avue-form\");\n const _component_VFormRender = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"VFormRender\");\n const _component_el_scrollbar = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-scrollbar\");\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n const _component_el_dialog = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-dialog\");\n const _directive_loading = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)(\"loading\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_dialog, {\n modelValue: $data.state.dialogVisible,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $data.state.dialogVisible = $event),\n title: $data.state.title,\n \"align-center\": \"\",\n \"destroy-on-close\": \"\",\n width: $data.state.width,\n \"close-on-click-modal\": false\n }, {\n footer: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: _cache[1] || (_cache[1] = $event => {\n $data.state.dialogVisible = false;\n })\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[3] || (_cache[3] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"返 回\")])),\n _: 1 /* STABLE */\n }), $data.show ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_button, {\n key: 0,\n type: \"primary\",\n loading: $data.state.loading,\n onClick: $options.doSave\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[4] || (_cache[4] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"保 存\")])),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"loading\", \"onClick\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_scrollbar, {\n \"max-height\": $data.state.maxHeight,\n style: {\n \"padding-right\": \"10px\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$data.state.type == '0' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_avue_form, {\n key: $data.state.key,\n ref: \"formRef\",\n option: $data.form,\n modelValue: $data.formData,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $data.formData = $event)\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createSlots)({\n _: 2 /* DYNAMIC */\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.dynamicSlotsTable, slotRow => {\n return {\n name: slotRow.slotName,\n fn: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n disabled,\n size\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 根据配置动态渲染插槽内容 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_ol_table_select, {\n onOlTableSelectChange: $options.olTableSelectChange,\n slotName: slotRow.slotName,\n http: $options.http,\n defaultValue: $data.formData[slotRow.slotName],\n uuid: slotRow.config.uuid,\n disabled: disabled,\n size: size,\n config: slotRow.config\n }, null, 8 /* PROPS */, [\"onOlTableSelectChange\", \"slotName\", \"http\", \"defaultValue\", \"uuid\", \"disabled\", \"size\", \"config\"])])\n };\n })]), 1032 /* PROPS, DYNAMIC_SLOTS */, [\"option\", \"modelValue\"])) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_VFormRender, {\n key: 1,\n \"form-json\": $data.form,\n \"form-data\": $data.formData,\n \"option-data\": $data.optionData,\n ref: \"formRef\"\n }, null, 8 /* PROPS */, [\"form-json\", \"form-data\", \"option-data\"]))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"max-height\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"title\", \"width\"])), [[_directive_loading, $data.state.loading]]);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-form/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1557
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ol_table_select = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"ol-table-select\");\n const _component_avue_form = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"avue-form\");\n const _component_VFormRender = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"VFormRender\");\n const _component_el_scrollbar = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-scrollbar\");\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n const _component_el_dialog = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-dialog\");\n const _directive_loading = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDirective)(\"loading\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", null, [$props.isDialog === true && $data.state.isDialog === true ? (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_dialog, {\n key: 0,\n modelValue: $data.state.dialogVisible,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $data.state.dialogVisible = $event),\n title: $data.state.title,\n \"align-center\": \"\",\n \"destroy-on-close\": \"\",\n width: $data.state.width,\n \"close-on-click-modal\": false\n }, {\n footer: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: _cache[1] || (_cache[1] = $event => {\n $data.state.dialogVisible = false;\n })\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[5] || (_cache[5] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"返 回\")])),\n _: 1 /* STABLE */\n }), $data.show ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_button, {\n key: 0,\n type: \"primary\",\n loading: $data.state.loading,\n onClick: $options.doSave\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[6] || (_cache[6] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"保 存\")])),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"loading\", \"onClick\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_scrollbar, {\n \"max-height\": $data.state.maxHeight,\n style: {\n \"padding-right\": \"10px\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$data.state.type == '0' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_avue_form, {\n key: $data.state.key,\n ref: \"formRef\",\n option: $data.form,\n modelValue: $data.formData,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $data.formData = $event)\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createSlots)({\n _: 2 /* DYNAMIC */\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.dynamicSlotsTable, slotRow => {\n return {\n name: slotRow.slotName,\n fn: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n disabled,\n size\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 根据配置动态渲染插槽内容 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_ol_table_select, {\n onOlTableSelectChange: $options.olTableSelectChange,\n slotName: slotRow.slotName,\n http: $options.http,\n defaultValue: $data.formData[slotRow.slotName],\n uuid: slotRow.config.uuid,\n disabled: disabled,\n size: size,\n config: slotRow.config\n }, null, 8 /* PROPS */, [\"onOlTableSelectChange\", \"slotName\", \"http\", \"defaultValue\", \"uuid\", \"disabled\", \"size\", \"config\"])])\n };\n })]), 1032 /* PROPS, DYNAMIC_SLOTS */, [\"option\", \"modelValue\"])) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_VFormRender, {\n key: 1,\n \"form-json\": $data.form,\n \"form-data\": $data.formData,\n \"option-data\": $data.optionData,\n ref: \"formRef\"\n }, null, 8 /* PROPS */, [\"form-json\", \"form-data\", \"option-data\"]))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"max-height\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"title\", \"width\"])), [[_directive_loading, $data.state.loading]]) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_scrollbar, {\n key: 1,\n modelValue: $data.state.dialogVisible,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $data.state.dialogVisible = $event),\n \"max-height\": $data.state.maxHeight\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$data.state.type == '0' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_avue_form, {\n key: $data.state.key,\n ref: \"formRef\",\n option: $data.form,\n modelValue: $data.formData,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.formData = $event)\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createSlots)({\n _: 2 /* DYNAMIC */\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.dynamicSlotsTable, slotRow => {\n return {\n name: slotRow.slotName,\n fn: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n disabled,\n size\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 根据配置动态渲染插槽内容 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_ol_table_select, {\n onOlTableSelectChange: $options.olTableSelectChange,\n slotName: slotRow.slotName,\n http: $options.http,\n defaultValue: $data.formData[slotRow.slotName],\n uuid: slotRow.config.uuid,\n disabled: disabled,\n size: size,\n config: slotRow.config\n }, null, 8 /* PROPS */, [\"onOlTableSelectChange\", \"slotName\", \"http\", \"defaultValue\", \"uuid\", \"disabled\", \"size\", \"config\"])])\n };\n })]), 1032 /* PROPS, DYNAMIC_SLOTS */, [\"option\", \"modelValue\"])) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_VFormRender, {\n key: 1,\n \"form-json\": $data.form,\n \"form-data\": $data.formData,\n \"option-data\": $data.optionData,\n ref: \"formRef\"\n }, null, 8 /* PROPS */, [\"form-json\", \"form-data\", \"option-data\"]))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"max-height\"]))]);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-form/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1558
1558
 
1559
1559
  /***/ }),
1560
1560
 
@@ -1730,7 +1730,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1730
1730
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1731
1731
 
1732
1732
  "use strict";
1733
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n const _component_el_switch = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-switch\");\n const _component_olCodemirrorTag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"olCodemirrorTag\");\n const _component_Delete = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Delete\");\n const _component_el_icon = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-icon\");\n const _component_vxe_grid = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-grid\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_vxe_grid, (0,vue__WEBPACK_IMPORTED_MODULE_0__.mergeProps)($data.option, {\n ref: \"tableRef\",\n data: _ctx.$attrs.data\n }), {\n toolbar_buttons: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: $options.onAdd\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[0] || (_cache[0] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"新增\")])),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"onClick\"])]),\n switch_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row,\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_switch, {\n \"active-value\": \"1\",\n \"inactive-value\": \"0\",\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n codemirror: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row,\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n operation: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row,\n rowIndex\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: $event => $options.removeBtn(row, rowIndex),\n type: \"danger\",\n circle: \"\",\n plain: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_icon, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Delete)]),\n _: 1 /* STABLE */\n })]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onClick\"])]),\n _: 1 /* STABLE */\n }, 16 /* FULL_PROPS */, [\"data\"]);\n}\n\n//# sourceURL=webpack://olp-table/./src/views/components/btn-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1733
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n const _component_el_switch = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-switch\");\n const _component_olCodemirrorTag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"olCodemirrorTag\");\n const _component_Delete = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"Delete\");\n const _component_el_icon = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-icon\");\n const _component_vxe_grid = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-grid\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_vxe_grid, (0,vue__WEBPACK_IMPORTED_MODULE_0__.mergeProps)($data.option, {\n ref: \"tableRef\",\n data: _ctx.$attrs.data\n }), {\n toolbar_buttons: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: $options.onAdd\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[0] || (_cache[0] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"新增\")])),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"onClick\"])]),\n switch_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row,\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_switch, {\n \"active-value\": \"1\",\n \"inactive-value\": \"0\",\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n codemirror: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row,\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n describe: \"\\r\\nthis.http.get('xxxx/xxxx/xxxx')\\r\\nthis.http.post('xxxx/xxxx/xxxx')\\r\\n1、 打开项目文件\\r\\nsetComponent(url, method, props, multipleProps)\\r\\nUrl:文件路径@/view/\\r\\nMethod:调用方法\\r\\nProps:方法参数(可以是任意参数,如果接收方法含有多个参数,以数组[‘参数1’,’参数2’],传递,并且multipleProps=true)\\r\\nmultipleProps:是否多个参数(params1,parsmw2)\\r\\n列如我有一个文件@/view/xxx/muntDialog.vu\\r\\n这个文件有个方法open(type,id),参数1为类型,参数2为id\\r\\nMethods:{\\r\\nOpen(type,id){\\r\\nIf(type==’create’){\\r\\nThis.title = ‘新增’\\r\\n}else If(type==’update’){\\r\\nThis.title = ‘更新’\\r\\nGet(‘xxxx/xxx/’+id).then((res)=>{\\r\\n)\\r\\n}\\r\\n}\\r\\n}\\r\\n我要打开一个新增\\r\\nThis.setComponent(‘@/view/xxx/muntDialog.vue’,’open’,‘create’)\\r\\n列如我要打开一个编辑\\r\\nThis.setComponent(‘@/view/xxx/muntDialog.vue’,’open’,[‘update’,o.row.id],true)\\r\\n\"\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n operation: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row,\n rowIndex\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: $event => $options.removeBtn(row, rowIndex),\n type: \"danger\",\n circle: \"\",\n plain: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_icon, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_Delete)]),\n _: 1 /* STABLE */\n })]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onClick\"])]),\n _: 1 /* STABLE */\n }, 16 /* FULL_PROPS */, [\"data\"]);\n}\n\n//# sourceURL=webpack://olp-table/./src/views/components/btn-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1734
1734
 
1735
1735
  /***/ }),
1736
1736
 
@@ -1741,7 +1741,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1741
1741
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1742
1742
 
1743
1743
  "use strict";
1744
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nconst _hoisted_1 = {\n key: 3\n};\nconst _hoisted_2 = {\n style: {\n \"background\": \"#282C34\"\n }\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_switch = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-switch\");\n const _component_el_input_number = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-input-number\");\n const _component_el_radio = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-radio\");\n const _component_el_radio_group = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-radio-group\");\n const _component_el_alert = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-alert\");\n const _component_olCodemirrorTag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"olCodemirrorTag\");\n const _component_el_input = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-input\");\n const _component_vxe_grid = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-grid\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_vxe_grid, (0,vue__WEBPACK_IMPORTED_MODULE_0__.mergeProps)($data.option, {\n data: $data.data\n }), {\n num1_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row\n }) => [row.t3 == 'boolean' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_switch, {\n key: 0,\n modelValue: row.value,\n \"onUpdate:modelValue\": $event => row.value = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])) : row.t3 == 'number' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_input_number, {\n key: 1,\n style: {\n \"width\": \"100%\"\n },\n modelValue: row.value,\n \"onUpdate:modelValue\": $event => row.value = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])) : row.t3.indexOf('/') != -1 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_radio_group, {\n key: 2,\n modelValue: row.value,\n \"onUpdate:modelValue\": $event => row.value = $event\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(row.t3.toString().split('/'), item => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_radio, {\n key: item,\n label: item,\n value: item\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(item), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"label\", \"value\"]);\n }), 128 /* KEYED_FRAGMENT */))]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"modelValue\", \"onUpdate:modelValue\"])) : row.t3 == 'any' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"p\", _hoisted_1)) : row.t3 == 'function' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_olCodemirrorTag, {\n key: 4,\n onOpen: $event => $options.onOpen(row),\n modelValue: row.value,\n \"onUpdate:modelValue\": $event => row.value = $event\n }, {\n \"tip-header\": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_alert, {\n style: {\n \"background\": \"rgba(0,0,0,0)\",\n \"color\": \"white\"\n },\n type: \"info\",\n title: 11,\n \"show-icon\": \"\",\n class: \"alert-padding\",\n closable: false\n }, {\n title: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", null, [_cache[0] || (_cache[0] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", null, null, -1 /* HOISTED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", null, \"const \" + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(row.t5) + \" = params\", 1 /* TEXT */)])]),\n _: 2 /* DYNAMIC */\n }, 1024 /* DYNAMIC_SLOTS */)])]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onOpen\", \"modelValue\", \"onUpdate:modelValue\"])) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_input, {\n key: 5,\n style: {\n \"width\": \"100%\"\n },\n modelValue: row.value,\n \"onUpdate:modelValue\": $event => row.value = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"]))]),\n _: 1 /* STABLE */\n }, 16 /* FULL_PROPS */, [\"data\"])]);\n}\n\n//# sourceURL=webpack://olp-table/./src/views/components/option-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1744
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nconst _hoisted_1 = {\n key: 3\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_switch = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-switch\");\n const _component_el_input_number = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-input-number\");\n const _component_el_radio = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-radio\");\n const _component_el_radio_group = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-radio-group\");\n const _component_olCodemirrorTag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"olCodemirrorTag\");\n const _component_el_input = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-input\");\n const _component_vxe_grid = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-grid\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_vxe_grid, (0,vue__WEBPACK_IMPORTED_MODULE_0__.mergeProps)($data.option, {\n data: $data.data\n }), {\n num1_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row\n }) => [row.t3 == 'boolean' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_switch, {\n key: 0,\n modelValue: row.value,\n \"onUpdate:modelValue\": $event => row.value = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])) : row.t3 == 'number' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_input_number, {\n key: 1,\n style: {\n \"width\": \"100%\"\n },\n modelValue: row.value,\n \"onUpdate:modelValue\": $event => row.value = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])) : row.t3.indexOf('/') != -1 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_radio_group, {\n key: 2,\n modelValue: row.value,\n \"onUpdate:modelValue\": $event => row.value = $event\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(row.t3.toString().split('/'), item => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_radio, {\n key: item,\n label: item,\n value: item\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(item), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"label\", \"value\"]);\n }), 128 /* KEYED_FRAGMENT */))]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"modelValue\", \"onUpdate:modelValue\"])) : row.t3 == 'any' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"p\", _hoisted_1)) : row.t3 == 'function' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_olCodemirrorTag, {\n key: 4,\n describe: row.t5,\n onOpen: $event => $options.onOpen(row),\n modelValue: row.value,\n \"onUpdate:modelValue\": $event => row.value = $event\n }, null, 8 /* PROPS */, [\"describe\", \"onOpen\", \"modelValue\", \"onUpdate:modelValue\"])) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_input, {\n key: 5,\n style: {\n \"width\": \"100%\"\n },\n modelValue: row.value,\n \"onUpdate:modelValue\": $event => row.value = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"]))]),\n _: 1 /* STABLE */\n }, 16 /* FULL_PROPS */, [\"data\"])]);\n}\n\n//# sourceURL=webpack://olp-table/./src/views/components/option-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1745
1745
 
1746
1746
  /***/ }),
1747
1747
 
@@ -1895,7 +1895,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1895
1895
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1896
1896
 
1897
1897
  "use strict";
1898
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nconst _hoisted_1 = [\"onUpdate:modelValue\", \"onInput\", \"onKeyup\"];\nconst _hoisted_2 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_3 = {\n style: {\n \"margin-left\": \"5px\"\n }\n};\nconst _hoisted_4 = {\n key: 0,\n style: {\n \"text-align\": \"center\",\n \"padding\": \"10px\",\n \"background-color\": \"#282C34\",\n \"color\": \"#fff\"\n }\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n const _component_vxe_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-button\");\n const _component_el_checkbox = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-checkbox\");\n const _component_el_option = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-option\");\n const _component_el_select = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-select\");\n const _component_olCodemirrorTag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"olCodemirrorTag\");\n const _component_el_icon = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-icon\");\n const _component_vxe_grid = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-grid\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", null, [$setup.show ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_vxe_grid, (0,vue__WEBPACK_IMPORTED_MODULE_0__.mergeProps)({\n key: 0\n }, $setup.gridOptions, {\n ref: \"vexGridRef\",\n \"expand-config\": {\n labelField: 'seq'\n },\n resizable: \"\"\n }), {\n toolbar_buttons: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: $setup.onAdd\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[0] || (_cache[0] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"新增列\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: $setup.headerConfigShow\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[1] || (_cache[1] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"多级表头配置\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: $setup.setGroupByMin\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[2] || (_cache[2] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"批量设置分组为SUM\")])),\n _: 1 /* STABLE */\n })]),\n seq: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n rowIndex\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_vxe_button, {\n size: \"mini\",\n style: {\n \"padding\": \"0\"\n },\n type: \"text\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [_cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"vxe-icon-sort\"\n }, null, -1 /* HOISTED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(rowIndex + 1), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1024 /* DYNAMIC_SLOTS */)]),\n label_filter: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n $panel\n }) => [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(column.filters, (option, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"input\", {\n type: \"type\",\n key: index,\n \"onUpdate:modelValue\": $event => option.data = $event,\n onInput: $event => $panel.changeOption($event, !!option.data, option),\n onKeyup: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withKeys)($event => $setup.enterFilterEvent({\n column,\n $panel\n }), [\"enter\"])\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_1)), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelText, option.data]]);\n }), 128 /* KEYED_FRAGMENT */))]),\n checkedBox_header: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_checkbox, {\n modelValue: column.params.all,\n \"onUpdate:modelValue\": $event => column.params.all = $event,\n onChange: $event => $setup.headerClick(column)\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\", \"onChange\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(column.title), 1 /* TEXT */)])]),\n checkedBox_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_checkbox, {\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n \"true-value\": \"1\",\n \"false-value\": \"0\",\n onChange: $event => $setup.checkBoxClick(column, row)\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\", \"onChange\"])]),\n select_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_select, {\n filterable: \"\",\n clearable: \"\",\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n placeholder: \"可搜索\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($setup.dictType.val(), item => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_option, {\n key: item.value,\n label: item.label,\n value: item.value\n }, null, 8 /* PROPS */, [\"label\", \"value\"]);\n }), 128 /* KEYED_FRAGMENT */))]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n dialog_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n title: row.title + ' - console.log(cellValue, row, column) ',\n size: \"small\"\n }, {\n \"toolbar-left\": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"primary\",\n onClick: $event => row[column.prompt] = !row[column.prompt]\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[4] || (_cache[4] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"用法提示\")])),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onClick\"])]),\n \"tip-header\": (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [row[column.prompt] ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_4, _cache[5] || (_cache[5] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h3\", null, \"格式化显示的内容\", -1 /* HOISTED */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", null, \"格式化字符串,以下为实例,当前处于函数中,可直接return\", -1 /* HOISTED */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", null, \"参数:(({ cellValue, row, column }) => any) | any[] | string\", -1 /* HOISTED */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"p\", null, \"return cellValue && cellValue >= 18 ? cellValue + '成年人' : cellValue + '未成年'\", -1 /* HOISTED */)]))) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"modelValue\", \"onUpdate:modelValue\", \"title\"])]),\n operate: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: $event => $setup.removeRowEvent(row),\n type: \"danger\",\n size: \"small\",\n circle: \"\",\n plain: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_icon, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"Delete\"])]),\n _: 1 /* STABLE */\n })]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onClick\"])]),\n _: 1 /* STABLE */\n }, 16 /* FULL_PROPS */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"HeaderConfig\"], {\n ref: \"headerConfig\",\n onOk: $setup.setGroupColumnData\n }, null, 512 /* NEED_PATCH */)]);\n}\n\n//# sourceURL=webpack://olp-table/./src/views/table/add-or-edit/config/column-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1898
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nconst _hoisted_1 = [\"onUpdate:modelValue\", \"onInput\", \"onKeyup\"];\nconst _hoisted_2 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_3 = {\n style: {\n \"margin-left\": \"5px\"\n }\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n const _component_vxe_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-button\");\n const _component_el_checkbox = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-checkbox\");\n const _component_el_option = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-option\");\n const _component_el_select = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-select\");\n const _component_olCodemirrorTag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"olCodemirrorTag\");\n const _component_el_icon = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-icon\");\n const _component_vxe_grid = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-grid\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", null, [$setup.show ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_vxe_grid, (0,vue__WEBPACK_IMPORTED_MODULE_0__.mergeProps)({\n key: 0\n }, $setup.gridOptions, {\n ref: \"vexGridRef\",\n \"expand-config\": {\n labelField: 'seq'\n },\n resizable: \"\"\n }), {\n toolbar_buttons: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: $setup.onAdd\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[0] || (_cache[0] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"新增列\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: $setup.headerConfigShow\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[1] || (_cache[1] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"多级表头配置\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: $setup.setGroupByMin\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[2] || (_cache[2] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"批量设置分组为SUM\")])),\n _: 1 /* STABLE */\n })]),\n seq: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n rowIndex\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_vxe_button, {\n size: \"mini\",\n style: {\n \"padding\": \"0\"\n },\n type: \"text\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [_cache[3] || (_cache[3] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"vxe-icon-sort\"\n }, null, -1 /* HOISTED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(rowIndex + 1), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1024 /* DYNAMIC_SLOTS */)]),\n label_filter: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n $panel\n }) => [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(column.filters, (option, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"input\", {\n type: \"type\",\n key: index,\n \"onUpdate:modelValue\": $event => option.data = $event,\n onInput: $event => $panel.changeOption($event, !!option.data, option),\n onKeyup: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withKeys)($event => $setup.enterFilterEvent({\n column,\n $panel\n }), [\"enter\"])\n }, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_1)), [[vue__WEBPACK_IMPORTED_MODULE_0__.vModelText, option.data]]);\n }), 128 /* KEYED_FRAGMENT */))]),\n checkedBox_header: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_checkbox, {\n modelValue: column.params.all,\n \"onUpdate:modelValue\": $event => column.params.all = $event,\n onChange: $event => $setup.headerClick(column)\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\", \"onChange\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(column.title), 1 /* TEXT */)])]),\n checkedBox_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_checkbox, {\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n \"true-value\": \"1\",\n \"false-value\": \"0\",\n onChange: $event => $setup.checkBoxClick(column, row)\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\", \"onChange\"])]),\n select_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_select, {\n filterable: \"\",\n clearable: \"\",\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n placeholder: \"可搜索\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($setup.dictType.val(), item => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_option, {\n key: item.value,\n label: item.label,\n value: item.value\n }, null, 8 /* PROPS */, [\"label\", \"value\"]);\n }), 128 /* KEYED_FRAGMENT */))]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n dialog_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n title: row.title + ' - console.log(cellValue, row, column) ',\n describe: \"(({ cellValue, row, column }) => any) | any[] | string \\\\n return cellValue && cellValue >= 18 ? cellValue + '成年人' : cellValue + '未成年'\",\n size: \"small\"\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\", \"title\"])]),\n operate: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: $event => $setup.removeRowEvent(row),\n type: \"danger\",\n size: \"small\",\n circle: \"\",\n plain: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_icon, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"Delete\"])]),\n _: 1 /* STABLE */\n })]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onClick\"])]),\n _: 1 /* STABLE */\n }, 16 /* FULL_PROPS */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"HeaderConfig\"], {\n ref: \"headerConfig\",\n onOk: $setup.setGroupColumnData\n }, null, 512 /* NEED_PATCH */)]);\n}\n\n//# sourceURL=webpack://olp-table/./src/views/table/add-or-edit/config/column-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1899
1899
 
1900
1900
  /***/ }),
1901
1901
 
@@ -1928,7 +1928,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1928
1928
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1929
1929
 
1930
1930
  "use strict";
1931
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nconst _hoisted_1 = {\n class: \"header\"\n};\nconst _hoisted_2 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_3 = {\n style: {\n \"margin-left\": \"5px\"\n }\n};\nconst _hoisted_4 = {\n style: {\n \"padding\": \"30px 0 12px\",\n \"display\": \"flex\"\n }\n};\nconst _hoisted_5 = {\n style: {\n \"width\": \"100%\",\n \"height\": \"calc(100% - 40px)\",\n \"position\": \"relative\"\n }\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_radio = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-radio\");\n const _component_el_radio_group = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-radio-group\");\n const _component_el_form_item = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-form-item\");\n const _component_el_col = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-col\");\n const _component_olDictTag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"olDictTag\");\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n const _component_el_input = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-input\");\n const _component_el_row = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-row\");\n const _component_el_form = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-form\");\n const _component_avue_form = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"avue-form\");\n const _component_el_scrollbar = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-scrollbar\");\n const _component_el_card = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-card\");\n const _component_el_input_number = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-input-number\");\n const _component_olCodemirrorTag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"olCodemirrorTag\");\n const _component_el_checkbox = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-checkbox\");\n const _component_vxe_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-button\");\n const _component_vxe_grid = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-grid\");\n const _component_VFormRender = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"VFormRender\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 头部部分(操作按钮,总的配置信息) \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form, {\n \"label-width\": \"80\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_row, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"表单类型\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio_group, {\n modelValue: $setup.formType,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.formType = $event)\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 0,\n label: 0\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[23] || (_cache[23] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"基础表单\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 1,\n label: 1\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[24] || (_cache[24] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"设计器表单\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" <el-radio :label=\\\"2\\\" >编程文件表单</el-radio>\")]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), $setup.formType == 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 0,\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"表单设计\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 表单设计 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio_group, {\n modelValue: $setup.formConfig,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.formConfig = $event),\n style: {\n \"margin-left\": \"50px\"\n },\n onChange: $setup.refreshForm\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 0,\n label: 0\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[25] || (_cache[25] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"快捷设计\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 1,\n label: 1\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[26] || (_cache[26] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"编码设计\")])),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), $setup.formType == 1 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 1,\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"表单名称\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olDictTag, {\n modelValue: $setup.customForm,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.customForm = $event),\n onChange: $setup.onChangeForm,\n placeholder: \"请输入表单名称\",\n code: \"online,form_designer,description,id\",\n like: \"desc_code\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), $setup.formType == 2 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 2,\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"表单文件路径\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n style: {\n \"margin-left\": \"20px\",\n \"width\": \"500px\"\n },\n modelValue: $setup.customUrl,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.customUrl = $event),\n placeholder: \"请输入表单文件路径:views/xxx\"\n }, {\n append: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n icon: $setup.Search,\n onClick: _cache[3] || (_cache[3] = $event => _ctx.$refs.vComponent.setComponent($setup.customUrl, 'init'))\n }, null, 8 /* PROPS */, [\"icon\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"请求类型\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio_group, {\n modelValue: $setup.form.requestType,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => $setup.form.requestType = $event)\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: \"post\",\n label: \"POST\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[27] || (_cache[27] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"POST\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: \"put\",\n label: \"PUT\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[28] || (_cache[28] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"PUT\")])),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"primary\",\n style: {\n \"margin-left\": \"40px\"\n },\n onClick: $setup.showViewForm\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[29] || (_cache[29] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"表单弹框预览\")])),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_row, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"后端API\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n modelValue: $setup.form.saveUrl,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.form.saveUrl = $event),\n style: {\n \"margin-left\": \"20px\"\n }\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), $setup.props.type == 'edit' && $setup.formType == 0 && !$setup.form.saveUrl ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 0,\n span: 4\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [_cache[30] || (_cache[30] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n style: {\n \"margin-left\": \"5px\",\n \"color\": \"red\",\n \"float\": \"left\",\n \"position\": \"relative\",\n \"line-height\": \"30px\"\n }\n }, \"更新条件*\", -1 /* HOISTED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n \"label-width\": \"12\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n ref: \"updateKey\",\n modelValue: $setup.form.updateKey,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => $setup.form.updateKey = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : $setup.props.type != 'edit' && $setup.formType == 0 && !$setup.form.saveUrl ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 1,\n span: 4\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [_cache[31] || (_cache[31] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n style: {\n \"margin-left\": \"5px\",\n \"float\": \"left\",\n \"position\": \"relative\",\n \"line-height\": \"30px\"\n }\n }, \"uuid\", -1 /* HOISTED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n \"label-width\": \"12\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n ref: \"updateKey\",\n modelValue: $setup.form.updateKey,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => $setup.form.updateKey = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 4\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$setup.dialogTableVisible ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"vForm\"], {\n key: 0,\n ref: \"vFormViewer\"\n }, null, 512 /* NEED_PATCH */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_row, {\n style: {\n \"height\": \"565px\"\n },\n gutter: 24\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 基础表单 \"), $setup.formType == 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 0,\n span: 10\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_card, {\n class: \"box-card\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 编辑表单实时预览 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_scrollbar, {\n \"max-height\": \"500px\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 动态表单\"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_avue_form, {\n modelValue: $setup.state.baseForm,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => $setup.state.baseForm = $event),\n option: $setup.baseOption\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createSlots)({\n _: 2 /* DYNAMIC */\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($setup.dynamicSlotsTable, slotRow => {\n return {\n name: slotRow.slotName,\n fn: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n disabled,\n size\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 根据配置动态渲染插槽内容 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"OlTableSelect\"], {\n onOlTableSelectChange: $setup.olTableSelectChange,\n slotName: slotRow.slotName,\n http: $setup.http,\n uuid: slotRow.config.uuid,\n config: slotRow.config\n }, null, 8 /* PROPS */, [\"slotName\", \"http\", \"uuid\", \"config\"])])\n };\n })]), 1032 /* PROPS, DYNAMIC_SLOTS */, [\"modelValue\", \"option\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 表单设计 \"), $setup.formType == 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 1,\n span: 14\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 快捷设计 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_card, {\n class: \"box-card\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 表单 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form, {\n inline: true,\n model: $setup.baseOption,\n size: \"small\",\n class: \"demo-form-inline\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_row, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"每行个数\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input_number, {\n style: {\n \"width\": \"120px\"\n },\n modelValue: $setup.designForm.span,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => $setup.designForm.span = $event),\n placeholder: \"请输入每行的个数\",\n onChange: $setup.designFormChange,\n min: 1,\n max: 4\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 8\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"label宽度\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input_number, {\n style: {\n \"width\": \"150px\"\n },\n modelValue: $setup.baseOption.labelWidth,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => $setup.baseOption.labelWidth = $event),\n placeholder: \"label宽度\",\n onChange: $setup.designFormChange\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 9\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"复制选中字段\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio_group, {\n modelValue: $setup.copeFiled,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => $setup.copeFiled = $event)\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 0,\n label: 0,\n onClick: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($setup.copeFiledMethod, [\"stop\"])\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[32] || (_cache[32] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"字段\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 1,\n label: 1,\n onClick: _cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $setup.copeFiledMethod(1), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[33] || (_cache[33] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"隐藏\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 2,\n label: 2,\n onClick: _cache[13] || (_cache[13] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $setup.copeFiledMethod(2), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[34] || (_cache[34] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"显示\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" <el-radio :label=\\\"2\\\" >编程文件表单</el-radio>\")]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 8\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"弹框标题\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n modelValue: $setup.baseOption.title,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => $setup.baseOption.title = $event),\n style: {\n \"margin-left\": \"20px\"\n }\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 8\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"弹窗宽度\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input_number, {\n style: {\n \"width\": \"240px\"\n },\n modelValue: $setup.baseOption.diaLogWidth,\n \"onUpdate:modelValue\": _cache[16] || (_cache[16] = $event => $setup.baseOption.diaLogWidth = $event),\n placeholder: \"请输入弹窗宽度\",\n onChange: $setup.designFormChange,\n min: 100,\n max: 1920\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 8\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"弹窗高度\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input_number, {\n style: {\n \"width\": \"240px\"\n },\n modelValue: $setup.baseOption.diaLogHeight,\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = $event => $setup.baseOption.diaLogHeight = $event),\n placeholder: \"请输入弹窗高度\",\n onChange: $setup.designFormChange,\n min: 50,\n max: 1080\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_row, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$setup.formConfig == 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_button, {\n key: 0,\n type: \"primary\",\n size: \"small\",\n onClick: $setup.addColumn\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[35] || (_cache[35] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"新增列\")])),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"保存前调用方法\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n modelValue: $setup.otherProp.beforeSave,\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = $event => $setup.otherProp.beforeSave = $event),\n onConfirm: _ctx.saveOtherProp\n }, null, 8 /* PROPS */, [\"modelValue\", \"onConfirm\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"保存后调用方法\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n modelValue: $setup.otherProp.afterSave,\n \"onUpdate:modelValue\": _cache[19] || (_cache[19] = $event => $setup.otherProp.afterSave = $event),\n onConfirm: _ctx.saveOtherProp\n }, null, 8 /* PROPS */, [\"modelValue\", \"onConfirm\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 表格 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_vxe_grid, (0,vue__WEBPACK_IMPORTED_MODULE_0__.mergeProps)($setup.gridOptions, {\n ref: \"vexGridRef\",\n onEditClosed: $setup.dictChange,\n \"expand-config\": {\n labelField: 'seq'\n },\n resizable: \"\"\n }), {\n change: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n size: \"medium\",\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n onConfirm: $setup.refreshForm\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n input_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n onChange: $setup.refreshForm,\n size: \"small\"\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n checkedBox_header: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_checkbox, {\n modelValue: column.params.all,\n \"onUpdate:modelValue\": $event => column.params.all = $event,\n onChange: $event => $setup.headerClick(column)\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\", \"onChange\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(column.title), 1 /* TEXT */)])]),\n checkedBox_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_checkbox, {\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n \"true-value\": \"1\",\n \"false-value\": \"0\",\n onChange: $setup.refreshForm\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n select_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olDictTag, {\n code: \"select_dom\",\n size: 'small',\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n onChange: $event => $setup.dictChange(row)\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\", \"onChange\"])]),\n seq: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n rowIndex\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(rowIndex + 1), 1 /* TEXT */)]),\n content: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_avue_form, {\n ref: \"formRef\",\n option: $setup.expandForm,\n modelValue: row.form,\n \"onUpdate:modelValue\": $event => row.form = $event,\n onChange: _cache[20] || (_cache[20] = $event => $setup.refreshForm())\n }, {\n attrs: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n size: \"medium\",\n modelValue: row.form['attrs'],\n \"onUpdate:modelValue\": $event => row.form['attrs'] = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"option\", \"modelValue\", \"onUpdate:modelValue\"])])]),\n operate: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_vxe_button, {\n size: \"mini\",\n onClick: $event => $setup.removeRowEvent(row),\n style: {\n \"padding\": \"0\"\n },\n icon: \"vxe-icon-delete\",\n status: \"danger\",\n type: \"text\"\n }, null, 8 /* PROPS */, [\"onClick\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_vxe_button, {\n size: \"mini\",\n style: {\n \"padding\": \"0\"\n },\n type: \"text\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[36] || (_cache[36] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"vxe-icon-sort\"\n }, null, -1 /* HOISTED */)])),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 16 /* FULL_PROPS */)]),\n _: 1 /* STABLE */\n }, 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, $setup.formConfig == 0]]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 编码设计 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"Codemirror\"], {\n ref: \"mycode\",\n style: {\n \"height\": \"92%\",\n \"max-height\": \"510px\",\n \"text-align\": \"left\"\n },\n modelValue: $setup.codeForm,\n \"onUpdate:modelValue\": _cache[21] || (_cache[21] = $event => $setup.codeForm = $event),\n autofocus: true,\n lint: true,\n \"indent-with-tab\": true,\n lineWrapping: true,\n tabSize: 2,\n extensions: $setup.state.extensions\n }, null, 8 /* PROPS */, [\"modelValue\", \"extensions\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: _cache[22] || (_cache[22] = $event => $setup.codeToData(true)),\n type: \"primary\",\n style: {\n \"height\": \"40px\",\n \"width\": \"100%\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[37] || (_cache[37] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"生成\")])),\n _: 1 /* STABLE */\n })], 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, $setup.formConfig == 1]])]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 自定义表单 \"), $setup.formType == 1 || $setup.formType == 2 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 2,\n span: 24,\n style: {\n \"height\": \"100%\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_card, {\n class: \"box-card\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_scrollbar, {\n \"max-height\": \"500px\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$setup.formType == 1 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_VFormRender, {\n key: $setup.formKey,\n \"form-json\": $setup.formJson,\n \"form-data\": $setup.formData,\n \"option-data\": $setup.optionData,\n ref: \"vFormRef\"\n }, null, 8 /* PROPS */, [\"form-json\", \"form-data\", \"option-data\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), $setup.formType == 2 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"vComponent\"], {\n key: 1,\n ref: \"vComponent\"\n }, null, 512 /* NEED_PATCH */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\n _: 1 /* STABLE */\n })]);\n}\n\n//# sourceURL=webpack://olp-table/./src/views/table/add-or-edit/config/form-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1931
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nconst _hoisted_1 = {\n class: \"header\"\n};\nconst _hoisted_2 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_3 = {\n style: {\n \"margin-left\": \"5px\"\n }\n};\nconst _hoisted_4 = {\n style: {\n \"padding\": \"30px 0 12px\",\n \"display\": \"flex\"\n }\n};\nconst _hoisted_5 = {\n style: {\n \"width\": \"100%\",\n \"height\": \"calc(100% - 40px)\",\n \"position\": \"relative\"\n }\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_radio = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-radio\");\n const _component_el_radio_group = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-radio-group\");\n const _component_el_form_item = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-form-item\");\n const _component_el_col = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-col\");\n const _component_olDictTag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"olDictTag\");\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n const _component_el_input = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-input\");\n const _component_el_row = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-row\");\n const _component_el_form = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-form\");\n const _component_avue_form = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"avue-form\");\n const _component_el_scrollbar = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-scrollbar\");\n const _component_el_card = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-card\");\n const _component_el_input_number = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-input-number\");\n const _component_olCodemirrorTag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"olCodemirrorTag\");\n const _component_el_checkbox = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-checkbox\");\n const _component_vxe_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-button\");\n const _component_vxe_grid = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-grid\");\n const _component_VFormRender = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"VFormRender\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 头部部分(操作按钮,总的配置信息) \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form, {\n \"label-width\": \"80\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_row, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"表单类型\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio_group, {\n modelValue: $setup.formType,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.formType = $event)\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 0,\n label: 0\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[23] || (_cache[23] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"基础表单\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 1,\n label: 1\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[24] || (_cache[24] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"设计器表单\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" <el-radio :label=\\\"2\\\" >编程文件表单</el-radio>\")]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), $setup.formType == 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 0,\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"表单设计\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 表单设计 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio_group, {\n modelValue: $setup.formConfig,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.formConfig = $event),\n style: {\n \"margin-left\": \"50px\"\n },\n onChange: $setup.refreshForm\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 0,\n label: 0\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[25] || (_cache[25] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"快捷设计\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 1,\n label: 1\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[26] || (_cache[26] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"编码设计\")])),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), $setup.formType == 1 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 1,\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"表单名称\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olDictTag, {\n modelValue: $setup.customForm,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.customForm = $event),\n onChange: $setup.onChangeForm,\n placeholder: \"请输入表单名称\",\n code: \"online,form_designer,description,id\",\n like: \"desc_code\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), $setup.formType == 2 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 2,\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"表单文件路径\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n style: {\n \"margin-left\": \"20px\",\n \"width\": \"500px\"\n },\n modelValue: $setup.customUrl,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $setup.customUrl = $event),\n placeholder: \"请输入表单文件路径:views/xxx\"\n }, {\n append: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n icon: $setup.Search,\n onClick: _cache[3] || (_cache[3] = $event => _ctx.$refs.vComponent.setComponent($setup.customUrl, 'init'))\n }, null, 8 /* PROPS */, [\"icon\"])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"请求类型\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio_group, {\n modelValue: $setup.form.requestType,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => $setup.form.requestType = $event)\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: \"post\",\n label: \"POST\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[27] || (_cache[27] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"POST\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: \"put\",\n label: \"PUT\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[28] || (_cache[28] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"PUT\")])),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"primary\",\n style: {\n \"margin-left\": \"40px\"\n },\n onClick: $setup.showViewForm\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[29] || (_cache[29] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"表单弹框预览\")])),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_row, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"后端API\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n modelValue: $setup.form.saveUrl,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = $event => $setup.form.saveUrl = $event),\n style: {\n \"margin-left\": \"20px\"\n }\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), $setup.props.type == 'edit' && $setup.formType == 0 && !$setup.form.saveUrl ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 0,\n span: 4\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [_cache[30] || (_cache[30] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n style: {\n \"margin-left\": \"5px\",\n \"color\": \"red\",\n \"float\": \"left\",\n \"position\": \"relative\",\n \"line-height\": \"30px\"\n }\n }, \"更新条件*\", -1 /* HOISTED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n \"label-width\": \"12\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n ref: \"updateKey\",\n modelValue: $setup.form.updateKey,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => $setup.form.updateKey = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : $setup.props.type != 'edit' && $setup.formType == 0 && !$setup.form.saveUrl ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 1,\n span: 4\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [_cache[31] || (_cache[31] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n style: {\n \"margin-left\": \"5px\",\n \"float\": \"left\",\n \"position\": \"relative\",\n \"line-height\": \"30px\"\n }\n }, \"uuid\", -1 /* HOISTED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n \"label-width\": \"12\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n ref: \"updateKey\",\n modelValue: $setup.form.updateKey,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => $setup.form.updateKey = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 4\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$setup.dialogTableVisible ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"vForm\"], {\n key: 0,\n ref: \"vFormViewer\"\n }, null, 512 /* NEED_PATCH */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_row, {\n style: {\n \"height\": \"565px\"\n },\n gutter: 24\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 基础表单 \"), $setup.formType == 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 0,\n span: 10\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_card, {\n class: \"box-card\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 编辑表单实时预览 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_scrollbar, {\n \"max-height\": \"500px\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 动态表单\"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_avue_form, {\n modelValue: $setup.state.baseForm,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => $setup.state.baseForm = $event),\n option: $setup.baseOption\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createSlots)({\n _: 2 /* DYNAMIC */\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($setup.dynamicSlotsTable, slotRow => {\n return {\n name: slotRow.slotName,\n fn: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n disabled,\n size\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 根据配置动态渲染插槽内容 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"OlTableSelect\"], {\n onOlTableSelectChange: $setup.olTableSelectChange,\n slotName: slotRow.slotName,\n http: $setup.http,\n uuid: slotRow.config.uuid,\n config: slotRow.config\n }, null, 8 /* PROPS */, [\"slotName\", \"http\", \"uuid\", \"config\"])])\n };\n })]), 1032 /* PROPS, DYNAMIC_SLOTS */, [\"modelValue\", \"option\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 表单设计 \"), $setup.formType == 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 1,\n span: 14\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 快捷设计 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_card, {\n class: \"box-card\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 表单 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form, {\n inline: true,\n model: $setup.baseOption,\n size: \"small\",\n class: \"demo-form-inline\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_row, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"每行个数\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input_number, {\n style: {\n \"width\": \"120px\"\n },\n modelValue: $setup.designForm.span,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => $setup.designForm.span = $event),\n placeholder: \"请输入每行的个数\",\n onChange: $setup.designFormChange,\n min: 1,\n max: 4\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 8\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"label宽度\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input_number, {\n style: {\n \"width\": \"150px\"\n },\n modelValue: $setup.baseOption.labelWidth,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => $setup.baseOption.labelWidth = $event),\n placeholder: \"label宽度\",\n onChange: $setup.designFormChange\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 9\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"复制选中字段\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio_group, {\n modelValue: $setup.copeFiled,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => $setup.copeFiled = $event)\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 0,\n label: 0,\n onClick: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($setup.copeFiledMethod, [\"stop\"])\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[32] || (_cache[32] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"字段\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 1,\n label: 1,\n onClick: _cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $setup.copeFiledMethod(1), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[33] || (_cache[33] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"隐藏\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 2,\n label: 2,\n onClick: _cache[13] || (_cache[13] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $setup.copeFiledMethod(2), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[34] || (_cache[34] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"显示\")])),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" <el-radio :label=\\\"2\\\" >编程文件表单</el-radio>\")]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 8\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"弹框标题\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n modelValue: $setup.baseOption.title,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => $setup.baseOption.title = $event),\n style: {\n \"margin-left\": \"20px\"\n }\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 8\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"弹窗宽度\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input_number, {\n style: {\n \"width\": \"240px\"\n },\n modelValue: $setup.baseOption.diaLogWidth,\n \"onUpdate:modelValue\": _cache[16] || (_cache[16] = $event => $setup.baseOption.diaLogWidth = $event),\n placeholder: \"请输入弹窗宽度\",\n onChange: $setup.designFormChange,\n min: 100,\n max: 1920\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 8\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"弹窗高度\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input_number, {\n style: {\n \"width\": \"240px\"\n },\n modelValue: $setup.baseOption.diaLogHeight,\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = $event => $setup.baseOption.diaLogHeight = $event),\n placeholder: \"请输入弹窗高度\",\n onChange: $setup.designFormChange,\n min: 50,\n max: 1080\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_row, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$setup.formConfig == 0 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_button, {\n key: 0,\n type: \"primary\",\n size: \"small\",\n onClick: $setup.addColumn\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[35] || (_cache[35] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"新增列\")])),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"保存前调用方法\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n modelValue: $setup.otherProp.beforeSave,\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = $event => $setup.otherProp.beforeSave = $event),\n describe: \"// 表单保存前的验证\\r\\nif (this.formData.sex > 60) {\\r\\n this.$message.error('年龄不能大于60');\\r\\n return false;\\r\\n}\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 6\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"保存后调用方法\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n modelValue: $setup.otherProp.afterSave,\n \"onUpdate:modelValue\": _cache[19] || (_cache[19] = $event => $setup.otherProp.afterSave = $event),\n describe: \"// 表单保存后的回调\\r\\nif (this.formData.sex > 60) {\\r\\n this.$emit('xxx');\\r\\n // 可以在这里添加其他操作\\r\\n // 例如:刷新数据、显示提示等\\r\\n}\"\n }, null, 8 /* PROPS */, [\"modelValue\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 表格 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_vxe_grid, (0,vue__WEBPACK_IMPORTED_MODULE_0__.mergeProps)($setup.gridOptions, {\n ref: \"vexGridRef\",\n onEditClosed: $setup.dictChange,\n \"expand-config\": {\n labelField: 'seq'\n },\n resizable: \"\"\n }), {\n change: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n size: \"medium\",\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n describe: \"(value,formData,params,state)\\r\\n 自带参数(不可命名):value,formData(当前表单对象值),params:{column:{prop,label)},state\\r\\n 显示:showColumn(‘列名1’,’列名2’)\\r\\n 隐藏:hideColumn(‘列名1’,’列名2’)\\r\\n if(value == '1'){\\r\\n showColumn('path,status,visible,always_show');\\r\\n hideColumn('component,component_name,permission,keep_alive')\\r\\n }else if(value == '2'){\\r\\n showCoumn('path,component,component_name,permission,status,visible,keep_alive,always_show');\\r\\n }else if(value == '3'){\\r\\n showColumn('permission,status');\\r\\n hideColumn('path,component,component_name,keep_alive,visible,always_show');\\r\\n }\\r\\n this.formData.xxx = value+xxx;\",\n onConfirm: $setup.refreshForm\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n input_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n onChange: $setup.refreshForm,\n size: \"small\"\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n checkedBox_header: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_checkbox, {\n modelValue: column.params.all,\n \"onUpdate:modelValue\": $event => column.params.all = $event,\n onChange: $event => $setup.headerClick(column)\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\", \"onChange\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", _hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(column.title), 1 /* TEXT */)])]),\n checkedBox_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_checkbox, {\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n \"true-value\": \"1\",\n \"false-value\": \"0\",\n onChange: $setup.refreshForm\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n select_default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olDictTag, {\n code: \"select_dom\",\n size: 'small',\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n onChange: $event => $setup.dictChange(row)\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\", \"onChange\"])]),\n seq: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n rowIndex\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(rowIndex + 1), 1 /* TEXT */)]),\n content: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_avue_form, {\n ref: \"formRef\",\n option: $setup.expandForm,\n modelValue: row.form,\n \"onUpdate:modelValue\": $event => row.form = $event,\n onChange: _cache[20] || (_cache[20] = $event => $setup.refreshForm())\n }, {\n attrs: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n size: \"medium\",\n modelValue: row.form['attrs'],\n \"onUpdate:modelValue\": $event => row.form['attrs'] = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"option\", \"modelValue\", \"onUpdate:modelValue\"])])]),\n operate: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(({\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_vxe_button, {\n size: \"mini\",\n onClick: $event => $setup.removeRowEvent(row),\n style: {\n \"padding\": \"0\"\n },\n icon: \"vxe-icon-delete\",\n status: \"danger\",\n type: \"text\"\n }, null, 8 /* PROPS */, [\"onClick\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_vxe_button, {\n size: \"mini\",\n style: {\n \"padding\": \"0\"\n },\n type: \"text\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[36] || (_cache[36] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"vxe-icon-sort\"\n }, null, -1 /* HOISTED */)])),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 16 /* FULL_PROPS */)]),\n _: 1 /* STABLE */\n }, 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, $setup.formConfig == 0]]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 编码设计 \"), (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)($setup[\"Codemirror\"], {\n ref: \"mycode\",\n style: {\n \"height\": \"92%\",\n \"max-height\": \"510px\",\n \"text-align\": \"left\"\n },\n modelValue: $setup.codeForm,\n \"onUpdate:modelValue\": _cache[21] || (_cache[21] = $event => $setup.codeForm = $event),\n autofocus: true,\n lint: true,\n \"indent-with-tab\": true,\n lineWrapping: true,\n tabSize: 2,\n extensions: $setup.state.extensions\n }, null, 8 /* PROPS */, [\"modelValue\", \"extensions\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n onClick: _cache[22] || (_cache[22] = $event => $setup.codeToData(true)),\n type: \"primary\",\n style: {\n \"height\": \"40px\",\n \"width\": \"100%\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[37] || (_cache[37] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"生成\")])),\n _: 1 /* STABLE */\n })], 512 /* NEED_PATCH */), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, $setup.formConfig == 1]])]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" 自定义表单 \"), $setup.formType == 1 || $setup.formType == 2 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_col, {\n key: 2,\n span: 24,\n style: {\n \"height\": \"100%\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_card, {\n class: \"box-card\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_scrollbar, {\n \"max-height\": \"500px\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$setup.formType == 1 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_VFormRender, {\n key: $setup.formKey,\n \"form-json\": $setup.formJson,\n \"form-data\": $setup.formData,\n \"option-data\": $setup.optionData,\n ref: \"vFormRef\"\n }, null, 8 /* PROPS */, [\"form-json\", \"form-data\", \"option-data\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), $setup.formType == 2 ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"vComponent\"], {\n key: 1,\n ref: \"vComponent\"\n }, null, 512 /* NEED_PATCH */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\n _: 1 /* STABLE */\n })]);\n}\n\n//# sourceURL=webpack://olp-table/./src/views/table/add-or-edit/config/form-config/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1932
1932
 
1933
1933
  /***/ }),
1934
1934
 
@@ -4575,7 +4575,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
4575
4575
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4576
4576
 
4577
4577
  "use strict";
4578
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".codemirror-el-dialog {\\n text-align: left;\\n}\\n.codemirror-el-dialog .el-dialog__header_none {\\n display: none;\\n}\\n.codemirror-el-dialog > .el-dialog__body {\\n height: 100%;\\n padding: 0;\\n}\\n.codemirror-el-dialog .cm-editor {\\n height: 100%;\\n}\\n.codemirror-el-dialog .el-dialog__footer {\\n padding: 5px;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://olp-table/./src/components/codemirror-tag.vue?./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use%5B1%5D!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use%5B2%5D!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
4578
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".codemirror-el-dialog {\\n z-index: 99999 !important;\\n width: 80% !important;\\n height: calc(80% - 60px);\\n margin-top: 10vh !important;\\n text-align: left;\\n}\\n.codemirror-el-dialog > .el-dialog__body {\\n height: calc(100% - 60px);\\n padding: 0;\\n}\\n.codemirror-el-dialog .cm-editor {\\n height: 100%;\\n}\\n.codemirror-el-dialog .el-dialog__footer {\\n padding: 5px;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://olp-table/./src/components/codemirror-tag.vue?./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use%5B1%5D!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use%5B2%5D!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
4579
4579
 
4580
4580
  /***/ }),
4581
4581
 
@@ -10717,7 +10717,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _sty
10717
10717
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10718
10718
 
10719
10719
  "use strict";
10720
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DefaultMethods: function() { return /* binding */ DefaultMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.map.js */ \"./node_modules/core-js/modules/es.iterator.map.js\");\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/ExcelUtil */ \"./src/utils/ExcelUtil.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _utils_groupCompute__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/groupCompute */ \"./src/utils/groupCompute.js\");\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)(); // 消息弹窗\nconst DefaultMethods = {\n methods: {\n //删除主子表\n async doRemoveMainAndSub({\n obj,\n row\n }, subTableName, whereObj, subForeignKey, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n this.doPostAes(obj.code, '/online/crudAes/deleteMainAndSubs', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n subTableName: subTableName,\n whereMap: this.doGetWhereMap(row, whereObj),\n //更新条件\n subForeignKey: subForeignKey\n });\n },\n /**\r\n * 操作列保存:直接在操作按钮的自定义事件加入代码:this.doOneSave(o,'是否要保存数据')\r\n * @param obj 单击按钮的对象\r\n * @param row 单击当前行\r\n * @param content 提示内容\r\n * @returns {Promise<void>}\r\n */\n async doOneSave({\n obj,\n row\n }, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (!row) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"数据为空!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let dataSource = this.table.dataSource;\n if (!dataSource) {\n return;\n }\n let newRow = JSON.parse(JSON.stringify(row));\n try {\n newRow[this.formMainList.edit.formMain.updateKey] = '';\n } catch (e) {}\n let params = {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n genIdMap: {\n [this.formMainList.edit.formMain.updateKey]: 'uuid'\n },\n columnAndValueMap: this.getColumnTableUpdateValue(this.table.columns, newRow)\n };\n this.doPostAes(obj.code, '/online/crudAes/save', params);\n },\n /**\r\n * 操作列更新:直接在操作按钮的自定义事件加入代码:this.doOneModify(o,'数据库更新字段=数据值,数据库更新字段:列字段,数据库更新字段','数据库更新条件','提示内容')\r\n *\r\n * @param obj 单击按钮的对象\r\n * @param row 单击当前行\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @returns {Promise<void>}\r\n */\n async doOneModify({\n obj,\n row\n }, updateObj, whereObj, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n let newRow = JSON.parse(JSON.stringify(row));\n this.doPostAes(obj.code, '/online/crudAes/modify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n columnAndValueMap: this.doGetColumnAndValueMap(newRow, updateObj),\n //更新字段\n whereMap: this.doGetWhereMap(newRow, whereObj) //更新条件\n });\n },\n /**\r\n * 批量更新\r\n * @param code\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @param updateRecords 如果为空,获取全部选中数据\r\n * @returns {Promise<void>}\r\n */\n async doBatchModify(code, updateObj, whereObj, content, updateRecords) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n let rows = updateRecords;\n if (!updateRecords || updateRecords.length <= 0) {\n rows = this.getSelectRows();\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n for (const row of rows) {\n list.push({\n columnAndValueMap: this.doGetColumnAndValueMap(row, updateObj),\n //更新字段\n whereMap: this.doGetWhereMap(row, whereObj) //更新条件\n });\n }\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list\n });\n },\n /**\r\n * 直接发送post请求\r\n * @param code\r\n * @param url\r\n * @param params\r\n */\n doPostAes(code, url, params, noQuery) {\n if (code != undefined) {\n this.loading[code] = true;\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, url, params).then(r => {\n if (r != false && noQuery != false) {\n this.query();\n }\n }).finally(() => {\n if (code != undefined) {\n this.loading[code] = false;\n }\n });\n },\n /**\r\n * 根据列配置获取数据库表更新数据\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n prop,\n tableField\n } of column) {\n if (!tableField || tableField != '1') {\n continue;\n }\n let value = formData[prop];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[prop] = value;\n }\n }\n return columnAndValueMap;\n },\n /**\r\n * 获取表格更新列值\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getColumnTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n field,\n tableSaveToOtherProp\n } of column) {\n // 勾选,不属于数据库表字段\n if (tableSaveToOtherProp && tableSaveToOtherProp == '1') {\n continue;\n }\n let value = formData[field];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[field] = value;\n }\n }\n return columnAndValueMap;\n },\n /**\r\n * 获取row更新值\r\n * @param row\r\n * @param updateObj 更新对象,允许为:\"name='xx',name\" 如果name=xx,数据直接赋值,如果没有=,则使用row的值\r\n * @returns {{}}\r\n */\n doGetColumnAndValueMap(row, updateObj) {\n let columnAndValueMap = {};\n for (let key of updateObj.split(\",\")) {\n let k = key.split(\"=\");\n if (k.length == 2) {\n columnAndValueMap[k[0]] = k[1];\n } else {\n k = key.split(\":\");\n columnAndValueMap[k[k.length - 1]] = row[k[0]];\n }\n }\n return columnAndValueMap;\n },\n doGetColumnAndValueAny(rows, updateObj) {\n if (!updateObj) {\n return rows;\n }\n let list = [];\n let keys = [];\n let hasKey = '';\n for (const row of rows) {\n keys = keys.length >= 1 ? keys : Object.keys(row);\n if (!hasKey) {\n hasKey = this.hasUpdateKey(keys, updateObj);\n }\n if (hasKey) {\n Object.assign(row, this.doGetColumnAndValueMap(row, updateObj));\n }\n list.push(row);\n }\n return list;\n },\n hasUpdateKey(keys, updateObj) {\n for (const key of keys) {\n if (updateObj.indexOf(key) >= 0) {\n return '1';\n }\n }\n return '0';\n },\n doGetWhereMap(row, whereObj) {\n let whereMap = {};\n for (let key of whereObj.split(\",\")) {\n let k = key.split(\":\");\n //className:class_name row:{className:'xxx'} whereMap:{class_name}\n whereMap[k[k.length - 1]] = row[k[0]];\n }\n return whereMap;\n },\n /**\r\n * 内置批量删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n batchRemove() {\n this.confirm(\"您选中\" + this.getSelectRows().length + '条数据,删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n let list = [];\n for (let r of this.getSelectRows()) {\n let p = JSON.parse(JSON.stringify(this.deleteParameter));\n delete p['$parentId'];\n for (let key of Object.keys(p)) {\n p[key] = r[key];\n }\n list.push(p);\n }\n this.loading['batchDelete'] = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, '/online/crudAes/batchDelete', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list: list\n }).then(r => {\n if (r != false) {\n this.query();\n }\n }).finally(() => {\n this.loading['batchDelete'] = false;\n });\n }\n });\n },\n /**\r\n * 内置重置方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n resetQuery() {\n for (let k of Object.keys(this.table.formConfig.data)) {\n this.table.formConfig.data[k] = undefined;\n }\n for (let k of Object.keys(this.parameter)) {\n this.parameter[k] = undefined;\n }\n this.initDefaultValue();\n this.query();\n },\n /**\r\n * 内置根据参数查询\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n queryParams(parameter) {\n if (parameter) {\n Object.assign(this.parameter, parameter);\n }\n return this.query();\n },\n /**\r\n * 内置查询\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n query() {\n let axios = undefined;\n if (this.tableConfig.definitionSql == 2) {\n if (this.tableConfig.requestType == '1') {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(this.http, this.tableConfig.api, this.getParams(), false, false);\n } else {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.get)(this.http, this.tableConfig.api, this.getParams(), false);\n }\n } else {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, '/online/crudAes/query', this.getParams(), false, false);\n }\n this.doQuery(axios);\n },\n doQuery(axios) {\n if (this.loading['select']) {\n return;\n }\n this.table.loading = true;\n this.loading['select'] = true;\n axios.then(({\n data,\n code,\n msg\n }) => {\n if (code != 200 && code != 0) {\n message.error(msg);\n return;\n }\n let respData = data instanceof Array ? data : data.listData;\n if (this.table.treeConfig) {\n //id , parentId , children\n respData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_3__.handleTree)(respData, this.table.treeConfig.treeId, this.table.treeConfig.treeParentId);\n }\n this.table.data = respData;\n this.doGroupAndCompute(respData);\n this.pagination.total = data.count;\n }).finally(() => {\n this.table.loading = false;\n this.loading['select'] = false;\n });\n },\n /**\r\n * 内置删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n remove(o) {\n let {\n row\n } = o;\n this.confirm('数据删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n let params = {};\n for (let key of Object.keys(this.deleteParameter)) {\n if (key != '$parentId') {\n params[key] = row[key];\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, '/online/crudAes/delete', {\n where: params,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable\n }).then(r => {\n if (r != false) {\n this.query();\n }\n });\n }\n });\n },\n /**\r\n * 获取查询参数\r\n * @returns {{enablePage: OTMixinBodyMethods.methods.pagination.enabled, theme: OTMixinBodyMethods.methods.theme, id: OTMixinBodyMethods.methods.uuid}}\r\n */\n getParams() {\n if (this.tableConfig.definitionSql == 2) {\n let params = JSON.parse(JSON.stringify(this.table.formConfig.data));\n if (params.enablePage) {\n params.pageNumber = this.pagination.currentPage;\n params.pageSize = this.pagination.pageSize;\n }\n return {\n ...this.parameter,\n ...params\n };\n }\n let params = {\n id: this.uuid,\n theme: this.theme,\n enablePage: this.pagination.enabled\n };\n if (params.enablePage) {\n params.pageNumber = this.pagination.currentPage;\n params.pageSize = this.pagination.pageSize;\n }\n let paramsKey = [];\n for (let o of this.table.formConfig.items) {\n let value = this.table.formConfig.data[o.key];\n if (value == undefined || value == '' || o.itemRender && o.itemRender.name == '$buttons') {\n continue;\n }\n let key = o.key.replace(/\\$/g, '');\n //文本域\n if (o.itemRender && o.itemRender.name == \"textarea\" && o.type != \"9\") {\n let values = value instanceof Array ? value : value.split(\"\\n\");\n if (values.length != 0) {\n let queryParameterMapIn = [];\n for (let v of values) {\n if (v != undefined && v.toString().trim() != '') {\n queryParameterMapIn.push(v);\n }\n }\n if (queryParameterMapIn.length != 0) {\n if (!params['queryParameterMapIn']) {\n params['queryParameterMapIn'] = {};\n }\n params['queryParameterMapIn'][key] = queryParameterMapIn;\n paramsKey.push(key);\n } else if (params['queryParameterMapIn']) {\n delete params['queryParameterMapIn'][key];\n }\n }\n } else if (value.toString().trim() != '') {\n if (!params['queryParameterListAnd']) {\n params['queryParameterListAnd'] = [];\n }\n let values = value instanceof Array ? value : value.split(\",\");\n if (o.type == \"98\") {\n params['queryParameterListAnd'].push({\n value: values[0],\n key: key,\n type: 5,\n toDate: o.toDate\n });\n params['queryParameterListAnd'].push({\n value: values[1],\n key: key,\n type: 6,\n toDate: o.toDate\n });\n paramsKey.push(key);\n } else if (value.length == 1 && !(value instanceof Array)) {\n o.value = value;\n //type 查询类型 默认等于1--> 1:= 2:!= 3: > 4:< 5: >= 6: <= 7:like '%value' 8:like '%value%' 9:like 'value%'\n //replace(/\\$/g, '') 目的解决范围\n let obj = {\n value: value,\n key: key,\n type: o.type,\n toDate: o.toDate\n };\n params['queryParameterListAnd'].push(obj);\n paramsKey.push(key);\n } else {\n for (let v of values) {\n if (!v) {\n continue;\n }\n let obj = {\n value: v,\n key: key,\n type: o.type,\n toDate: o.toDate\n };\n params['queryParameterListAnd'].push(obj);\n paramsKey.push(key);\n }\n }\n }\n }\n for (let key of Object.keys(this.parameter)) {\n let v = this.parameter[key];\n if (paramsKey.indexOf(key) === -1 && v != undefined && v != '') {\n if (!params['queryParameterListAnd']) {\n params['queryParameterListAnd'] = [];\n }\n params['queryParameterListAnd'].push({\n key: key,\n value: v\n });\n }\n }\n if (this.orderByColumns.length != 0) {\n params['orderBy'] = this.orderByColumns;\n }\n if (this.events['queryBefore']) {\n this.events['queryBefore'](params);\n }\n return params;\n },\n /**\r\n * 导出数据\r\n * @param columns 自定义导出字段 t_id\r\n * @param selectData 选择数据: 当前页数据、勾选行数据、全部数据\r\n * @param name\r\n */\n exportData({\n exportParam,\n cancelEvent\n }) {\n let {\n columns,\n selectData,\n name\n } = exportParam;\n for (let column of this.table.columns) {\n for (let c of columns) {\n if (column.field === c.field && column.params) {\n c.params = column.params;\n }\n }\n }\n let data = [];\n switch (selectData) {\n case '1':\n // 当前页\n data = this.table?.data;\n break;\n case '2':\n // 勾选\n data = this.getSelectRows();\n if (!data || data.length == 0) return message.error('勾选行数据为空!');\n break;\n case '3':\n // 全部数据\n this.exportExcelAll(columns, name);\n break;\n default:\n data = this.table.data;\n break;\n }\n if (selectData != '3') {\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_6__.exportExcel)({\n data: data,\n name: name,\n columns: columns,\n option: {\n align: this.$table ? this.$table.align : 'center'\n }\n });\n }\n cancelEvent();\n },\n /**\r\n * 全部数据导出\r\n * @param fields 自定义导出字段\r\n * @param name 文件名\r\n */\n exportExcelAll(columns, name) {\n let params = this.getParams();\n params.enablePage = false;\n if (this.tableConfig.definitionSql == 2) {\n params.pageNumber = 1;\n params.pageSize = 50000;\n }\n let url = this.tableConfig.definitionSql == 2 ? this.tableConfig.api : '/online/crud/query';\n let method = this.tableConfig.definitionSql == 2 ? this.tableConfig.requestType == '1' ? 'post' : 'get' : 'post';\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.request)(this.http, {\n url: url,\n method: method,\n data: params,\n timeout: 1000 * 90 * 90\n }, false, false).then(({\n data\n }) => {\n let respData = data instanceof Array ? data : data.listData;\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_6__.exportExcel)({\n data: respData,\n name: name,\n columns: columns,\n option: {\n align: this.$table ? this.$table.align : 'center'\n }\n });\n });\n },\n /**\r\n * 内置确认框\r\n * @param content\r\n * @param title\r\n * @param status\r\n * @returns {Promise<\"model\"|\"mask\"|\"close\"|\"confirm\"|\"cancel\"|\"exit\"|\"exist\">}\r\n */\n async confirm(content, title, status) {\n return await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: title,\n status: status\n });\n },\n /**\r\n * 内置调用方法\r\n * @param m\r\n * @param v\r\n * @param d\r\n */\n emits({\n m,\n v,\n d,\n js\n }) {\n if (js) {\n eval(js);\n } else if (m && this[m]) {\n this[m](v);\n }\n if (d != false) {\n this.customUrl = undefined;\n }\n },\n /**\r\n * 设置禁用按钮\r\n * @param ex\r\n */\n setAllBtnDisabled(ex) {\n if (ex) {\n ex = ex.split(\",\");\n } else {\n ex = [];\n }\n for (let toolBtn of this.toolBtn) {\n let disabled = true;\n for (let code of ex) {\n if (toolBtn.code == code) {\n disabled = false;\n }\n }\n toolBtn.disabled = disabled;\n }\n for (let toolBtn of this.operationBtn) {\n let disabled = true;\n for (let code of ex) {\n if (toolBtn.code == code) {\n disabled = false;\n }\n }\n toolBtn.disabled = disabled;\n }\n },\n /**\r\n * 设置工具栏 but\r\n * @param code 编码\r\n * @param key 要设置的key\r\n * @param value 要设置的value\r\n */\n setToolBtn(code, key, value) {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n toolBtn[key] = value;\n }\n }\n },\n /**\r\n * 设置操作按钮 but\r\n * @param code 编码\r\n * @param key 要设置的key\r\n * @param value 要设置的value\r\n */\n setOperationBtn(code, key, value) {\n for (let toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n toolBtn[key] = value;\n }\n }\n },\n /**\r\n * 获取修改数据(包括未修改数据)\r\n */\n getUpdateRecords() {\n if (this.$table) {\n return this.$table.getUpdateRecords();\n }\n },\n /**\r\n * 批量保存\r\n */\n async batchSave(code, content, rows, foreignKey, foreignKeyValue) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n let updateList = [];\n let dataSource = this.table.dataSource;\n this.formMainList.edit.formMain.updateKey = this.formMainList.edit.formMain.updateKey.trim();\n const srcMap = new Map(dataSource.map(item => [item[this.formMainList.edit.formMain.updateKey], item]));\n for (const row of rows) {\n let rowId = row[this.formMainList.edit.formMain.updateKey];\n if (rowId) {\n updateList.push({\n columnAndValueMap: this.getDifferingProperties(row, srcMap.get(row[this.formMainList.edit.formMain.updateKey])),\n //更新字段\n whereMap: this.doGetWhereMap(row, this.formMainList.edit.formMain.updateKey) //更新条件\n });\n continue;\n }\n let columnTableUpdateValue = this.getColumnTableUpdateValue(this.table.columns, row);\n columnTableUpdateValue[foreignKey] = foreignKeyValue ? foreignKeyValue : this.mainId;\n list.push(columnTableUpdateValue);\n }\n if (updateList && updateList.length >= 1) {\n console.log('updateList:', updateList);\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n updateList\n });\n }\n if (list && list.length >= 1) {\n this.doPostAes(code, '/online/crudAes/batchSave', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n tableConfigId: this.tableConfig.tableConfigId,\n columnAndValueListMap: list,\n genIdMap: {\n [this.formMainList.edit.formMain.updateKey]: 'uuid'\n }\n });\n }\n },\n /**\r\n * 保存修改\r\n */\n async saveUpdate(code, content) {\n let dataSource = this.table.dataSource;\n const srcMap = new Map(dataSource.map(item => [item[this.formMainList.edit.formMain.updateKey], item]));\n let rows = [];\n for (const row of this.getUpdateRecords()) {\n let src = srcMap.get(row[this.formMainList.edit.formMain.updateKey]);\n rows.push(this.getDifferingProperties(row, src));\n }\n // console.log('saveUpdate:',rows)\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n for (const row of this.getUpdateRecords()) {\n list.push({\n columnAndValueMap: this.getDifferingProperties(row, srcMap.get(row[this.formMainList.edit.formMain.updateKey])),\n //更新字段\n whereMap: this.doGetWhereMap(row, this.formMainList.edit.formMain.updateKey) //更新条件\n });\n }\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list\n });\n // this.doBatchModify('batchModify', \"age\", this.formMainList.edit.formMain.updateKey, \"确认修改编辑数据吗?\", this.getUpdateRecords())\n },\n /**\r\n * 获取新增数据\r\n */\n getInsertEvent() {\n if (this.$table) {\n return this.$table.getInsertRecords();\n }\n },\n /**\r\n * 获取删除数据\r\n * @returns {*}\r\n */\n getRemoveEvent() {\n if (this.$table) {\n return this.$table.getRemoveRecords();\n }\n },\n /**\r\n * 获取选中\r\n * @returns {*|*[]|*[]}\r\n */\n getSelectRows() {\n if (this.selectBox == 1) {\n return this.$table.getRadioRecord() ? [this.$table.getRadioRecord()] : [];\n } else if (this.selectBox == 2) {\n return this.$table.getCheckboxRecords(true);\n }\n },\n updateColumn(rows) {\n this.table['show-footer'] = false;\n if (rows && rows instanceof Array) {\n for (let o of this.table.columns) {\n for (let row of rows) {\n if (row.id == o.id) {\n for (let key of Object.keys(row)) {\n o[key] = row[key];\n }\n }\n }\n this.setColumnHide(o);\n this.setFixed(o);\n this.setShowFooter(o);\n }\n }\n let data = this.table.columns.sort((a, b) => {\n return a.sort - b.sort;\n });\n this.doGroupAndCompute();\n this.$table.reloadColumn(data);\n },\n doGroupAndCompute(dataSource) {\n if (dataSource) {\n this.table.dataSource = JSON.parse(JSON.stringify(dataSource));\n }\n if (this.tableConfig.paging != 2) {\n if (dataSource != undefined) {\n this.table.data = dataSource;\n }\n return;\n }\n let groupKey = [];\n let comValue = [];\n for (let column of this.table.columns) {\n if (column.visible && column.groupToOtherProp == 1) {\n groupKey.push(column.field);\n }\n if (column.groupTotalToOtherProp) {\n comValue.push(column.field + \":\" + column.groupTotalToOtherProp);\n }\n }\n if (dataSource == undefined) {\n dataSource = this.table.dataSource;\n }\n if (groupKey.length != 0 & comValue.length != 0) {\n dataSource = (0,_utils_groupCompute__WEBPACK_IMPORTED_MODULE_8__.groupAndCompute)(groupKey, comValue, dataSource);\n }\n this.table.data = dataSource;\n this.$table.reloadData(this.table.data);\n },\n getDifferingProperties(tar, src) {\n const differingProperties = {};\n // 假设两个对象都有相同的属性\n for (const key in tar) {\n if (tar.hasOwnProperty(key) && src.hasOwnProperty(key)) {\n if (tar[key] !== src[key]) {\n differingProperties[key] = tar[key]; // 可以选择返回obj2的值,或创建一个数组存放两个值\n }\n }\n }\n return differingProperties;\n }\n }\n};\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/DefaultMethods.js?");
10720
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DefaultMethods: function() { return /* binding */ DefaultMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.map.js */ \"./node_modules/core-js/modules/es.iterator.map.js\");\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/ExcelUtil */ \"./src/utils/ExcelUtil.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _utils_groupCompute__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/groupCompute */ \"./src/utils/groupCompute.js\");\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)(); // 消息弹窗\nconst DefaultMethods = {\n methods: {\n //删除主子表\n async doRemoveMainAndSub({\n obj,\n row\n }, subTableName, whereObj, subForeignKey, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n this.doPostAes(obj.code, '/online/crudAes/deleteMainAndSubs', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n subTableName: subTableName,\n whereMap: this.doGetWhereMap(row, whereObj),\n //更新条件\n subForeignKey: subForeignKey\n });\n },\n /**\r\n * 操作列保存:直接在操作按钮的自定义事件加入代码:this.doOneSave(o,'是否要保存数据')\r\n * @param obj 单击按钮的对象\r\n * @param row 单击当前行\r\n * @param content 提示内容\r\n * @returns {Promise<void>}\r\n */\n async doOneSave({\n obj,\n row\n }, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (!row) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"数据为空!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let dataSource = this.table.dataSource;\n if (!dataSource) {\n return;\n }\n let newRow = JSON.parse(JSON.stringify(row));\n try {\n newRow[this.formMainList.edit.formMain.updateKey] = '';\n } catch (e) {}\n let params = {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n genIdMap: {\n [this.formMainList.edit.formMain.updateKey]: 'uuid'\n },\n columnAndValueMap: this.getColumnTableUpdateValue(this.table.columns, newRow)\n };\n this.doPostAes(obj.code, '/online/crudAes/save', params);\n },\n /**\r\n * 操作列更新:直接在操作按钮的自定义事件加入代码:this.doOneModify(o,'数据库更新字段=数据值,数据库更新字段:列字段,数据库更新字段','数据库更新条件','提示内容')\r\n *\r\n * @param obj 单击按钮的对象\r\n * @param row 单击当前行\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @returns {Promise<void>}\r\n */\n async doOneModify({\n obj,\n row\n }, updateObj, whereObj, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n let newRow = JSON.parse(JSON.stringify(row));\n this.doPostAes(obj.code, '/online/crudAes/modify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n columnAndValueMap: this.doGetColumnAndValueMap(newRow, updateObj),\n //更新字段\n whereMap: this.doGetWhereMap(newRow, whereObj) //更新条件\n });\n },\n /**\r\n * 批量更新\r\n * @param code\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @param updateRecords 如果为空,获取全部选中数据\r\n * @returns {Promise<void>}\r\n */\n async doBatchModify(code, updateObj, whereObj, content, updateRecords) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n let rows = updateRecords;\n if (!updateRecords || updateRecords.length <= 0) {\n rows = this.getSelectRows();\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n for (const row of rows) {\n list.push({\n columnAndValueMap: this.doGetColumnAndValueMap(row, updateObj),\n //更新字段\n whereMap: this.doGetWhereMap(row, whereObj) //更新条件\n });\n }\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list\n });\n },\n /**\r\n * 直接发送post请求\r\n * @param code\r\n * @param url\r\n * @param params\r\n */\n doPostAes(code, url, params, noQuery) {\n if (code != undefined) {\n this.loading[code] = true;\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, url, params).then(r => {\n if (r != false && noQuery != false) {\n this.query();\n }\n }).finally(() => {\n if (code != undefined) {\n this.loading[code] = false;\n }\n });\n },\n /**\r\n * 根据列配置获取数据库表更新数据\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n prop,\n tableField\n } of column) {\n if (!tableField || tableField != '1') {\n continue;\n }\n let value = formData[prop];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[prop] = value;\n }\n }\n return columnAndValueMap;\n },\n /**\r\n * 获取表格更新列值\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getColumnTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n field,\n tableSaveToOtherProp\n } of column) {\n // 勾选,不属于数据库表字段\n if (tableSaveToOtherProp && tableSaveToOtherProp == '1') {\n continue;\n }\n let value = formData[field];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[field] = value;\n }\n }\n return columnAndValueMap;\n },\n /**\r\n * 获取row更新值\r\n * @param row\r\n * @param updateObj 更新对象,允许为:\"name='xx',name\" 如果name=xx,数据直接赋值,如果没有=,则使用row的值\r\n * @returns {{}}\r\n */\n doGetColumnAndValueMap(row, updateObj) {\n let columnAndValueMap = {};\n for (let key of updateObj.split(\",\")) {\n let k = key.split(\"=\");\n if (k.length == 2) {\n columnAndValueMap[k[0]] = k[1];\n } else {\n k = key.split(\":\");\n columnAndValueMap[k[k.length - 1]] = row[k[0]];\n }\n }\n return columnAndValueMap;\n },\n doGetColumnAndValueAny(rows, updateObj) {\n if (!updateObj) {\n return rows;\n }\n let list = [];\n let keys = [];\n let hasKey = '';\n for (const row of rows) {\n keys = keys.length >= 1 ? keys : Object.keys(row);\n if (!hasKey) {\n hasKey = this.hasUpdateKey(keys, updateObj);\n }\n if (hasKey) {\n Object.assign(row, this.doGetColumnAndValueMap(row, updateObj));\n }\n list.push(row);\n }\n return list;\n },\n hasUpdateKey(keys, updateObj) {\n for (const key of keys) {\n if (updateObj.indexOf(key) >= 0) {\n return '1';\n }\n }\n return '0';\n },\n doGetWhereMap(row, whereObj) {\n let whereMap = {};\n for (let key of whereObj.split(\",\")) {\n let k = key.split(\":\");\n //className:class_name row:{className:'xxx'} whereMap:{class_name}\n whereMap[k[k.length - 1]] = row[k[0]];\n }\n return whereMap;\n },\n /**\r\n * 内置批量删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n batchRemove() {\n this.confirm(\"您选中\" + this.getSelectRows().length + '条数据,删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n let list = [];\n for (let r of this.getSelectRows()) {\n let p = JSON.parse(JSON.stringify(this.deleteParameter));\n delete p['$parentId'];\n for (let key of Object.keys(p)) {\n p[key] = r[key];\n }\n list.push(p);\n }\n this.loading['batchDelete'] = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, '/online/crudAes/batchDelete', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list: list\n }).then(r => {\n if (r != false) {\n this.query();\n }\n }).finally(() => {\n this.loading['batchDelete'] = false;\n });\n }\n });\n },\n /**\r\n * 内置重置方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n resetQuery() {\n for (let k of Object.keys(this.table.formConfig.data)) {\n this.table.formConfig.data[k] = undefined;\n }\n for (let k of Object.keys(this.parameter)) {\n this.parameter[k] = undefined;\n }\n this.initDefaultValue();\n this.query();\n },\n /**\r\n * 内置根据参数查询\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n queryParams(parameter) {\n if (parameter) {\n Object.assign(this.parameter, parameter);\n }\n return this.query();\n },\n /**\r\n * 内置查询\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n query() {\n let axios = undefined;\n if (this.tableConfig.definitionSql == 2) {\n if (this.tableConfig.requestType == '1') {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(this.http, this.tableConfig.api, this.getParams(), false, false);\n } else {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.get)(this.http, this.tableConfig.api, this.getParams(), false);\n }\n } else {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, '/online/crudAes/query', this.getParams(), false, false);\n }\n this.doQuery(axios);\n },\n doQuery(axios) {\n if (this.loading['select']) {\n return;\n }\n this.table.loading = true;\n this.loading['select'] = true;\n axios.then(({\n data,\n code,\n msg\n }) => {\n if (code != 200 && code != 0) {\n message.error(msg);\n return;\n }\n let respData = data instanceof Array ? data : data.listData;\n if (this.table.treeConfig) {\n //id , parentId , children\n respData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_3__.handleTree)(respData, this.table.treeConfig.treeId, this.table.treeConfig.treeParentId);\n }\n this.table.data = respData;\n this.doGroupAndCompute(respData);\n this.pagination.total = data.count;\n }).finally(() => {\n this.table.loading = false;\n this.loading['select'] = false;\n });\n },\n /**\r\n * 内置删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n remove(o) {\n let {\n row\n } = o;\n this.confirm('数据删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n let params = {};\n for (let key of Object.keys(this.deleteParameter)) {\n if (key != '$parentId') {\n params[key] = row[key];\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, '/online/crudAes/delete', {\n where: params,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable\n }).then(r => {\n if (r != false) {\n this.query();\n }\n });\n }\n });\n },\n /**\r\n * 获取查询参数\r\n * @returns {{enablePage: OTMixinBodyMethods.methods.pagination.enabled, theme: OTMixinBodyMethods.methods.theme, id: OTMixinBodyMethods.methods.uuid}}\r\n */\n getParams() {\n if (this.tableConfig.definitionSql == 2) {\n let params = JSON.parse(JSON.stringify(this.table.formConfig.data));\n if (params.enablePage) {\n params.pageNumber = this.pagination.currentPage;\n params.pageSize = this.pagination.pageSize;\n }\n return {\n ...this.parameter,\n ...params\n };\n }\n let params = {\n id: this.uuid,\n theme: this.theme,\n enablePage: this.pagination.enabled\n };\n if (params.enablePage) {\n params.pageNumber = this.pagination.currentPage;\n params.pageSize = this.pagination.pageSize;\n }\n let paramsKey = [];\n for (let o of this.table.formConfig.items) {\n let value = this.table.formConfig.data[o.key];\n if (value == undefined || value == '' || o.itemRender && o.itemRender.name == '$buttons') {\n continue;\n }\n let key = o.key.replace(/\\$/g, '');\n //文本域\n if (o.itemRender && o.itemRender.name == \"textarea\" && o.type != \"9\") {\n let values = value instanceof Array ? value : value.split(\"\\n\");\n if (values.length != 0) {\n let queryParameterMapIn = [];\n for (let v of values) {\n if (v != undefined && v.toString().trim() != '') {\n queryParameterMapIn.push(v);\n }\n }\n if (queryParameterMapIn.length != 0) {\n if (!params['queryParameterMapIn']) {\n params['queryParameterMapIn'] = {};\n }\n params['queryParameterMapIn'][key] = queryParameterMapIn;\n paramsKey.push(key);\n } else if (params['queryParameterMapIn']) {\n delete params['queryParameterMapIn'][key];\n }\n }\n } else if (value.toString().trim() != '') {\n if (!params['queryParameterListAnd']) {\n params['queryParameterListAnd'] = [];\n }\n let values = value instanceof Array ? value : value.split(\",\");\n if (o.type == \"98\") {\n params['queryParameterListAnd'].push({\n value: values[0],\n key: key,\n type: 5,\n toDate: o.toDate\n });\n params['queryParameterListAnd'].push({\n value: values[1],\n key: key,\n type: 6,\n toDate: o.toDate\n });\n paramsKey.push(key);\n } else if (value.length == 1 && !(value instanceof Array)) {\n o.value = value;\n //type 查询类型 默认等于1--> 1:= 2:!= 3: > 4:< 5: >= 6: <= 7:like '%value' 8:like '%value%' 9:like 'value%'\n //replace(/\\$/g, '') 目的解决范围\n let obj = {\n value: value,\n key: key,\n type: o.type,\n toDate: o.toDate\n };\n params['queryParameterListAnd'].push(obj);\n paramsKey.push(key);\n } else {\n for (let v of values) {\n if (!v) {\n continue;\n }\n let obj = {\n value: v,\n key: key,\n type: o.type,\n toDate: o.toDate\n };\n params['queryParameterListAnd'].push(obj);\n paramsKey.push(key);\n }\n }\n }\n }\n for (let key of Object.keys(this.parameter)) {\n let v = this.parameter[key];\n if (paramsKey.indexOf(key) === -1 && v != undefined && v != '') {\n if (!params['queryParameterListAnd']) {\n params['queryParameterListAnd'] = [];\n }\n params['queryParameterListAnd'].push({\n key: key,\n value: v\n });\n }\n }\n if (this.orderByColumns.length != 0) {\n params['orderBy'] = this.orderByColumns;\n }\n if (this.events['queryBefore']) {\n this.events['queryBefore'](params);\n }\n return params;\n },\n /**\r\n * 导出数据\r\n * @param columns 自定义导出字段 t_id\r\n * @param selectData 选择数据: 当前页数据、勾选行数据、全部数据\r\n * @param name\r\n */\n exportData({\n exportParam,\n cancelEvent\n }) {\n let {\n columns,\n selectData,\n name\n } = exportParam;\n for (let column of this.table.columns) {\n for (let c of columns) {\n if (column.field === c.field && column.params) {\n c.params = column.params;\n }\n }\n }\n let data = [];\n switch (selectData) {\n case '1':\n // 当前页\n data = this.table?.data;\n break;\n case '2':\n // 勾选\n data = this.getSelectRows();\n if (!data || data.length == 0) return message.error('勾选行数据为空!');\n break;\n case '3':\n // 全部数据\n this.exportExcelAll(columns, name);\n break;\n default:\n data = this.table.data;\n break;\n }\n if (selectData != '3') {\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_6__.exportExcel)({\n data: data,\n name: name,\n columns: columns,\n option: {\n align: this.$table ? this.$table.align : 'center'\n }\n });\n }\n cancelEvent();\n },\n /**\r\n * 全部数据导出\r\n * @param fields 自定义导出字段\r\n * @param name 文件名\r\n */\n exportExcelAll(columns, name) {\n let params = this.getParams();\n params.enablePage = false;\n if (this.tableConfig.definitionSql == 2) {\n params.pageNumber = 1;\n params.pageSize = 50000;\n }\n let url = this.tableConfig.definitionSql == 2 ? this.tableConfig.api : '/online/crud/query';\n let method = this.tableConfig.definitionSql == 2 ? this.tableConfig.requestType == '1' ? 'post' : 'get' : 'post';\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.request)(this.http, {\n url: url,\n method: method,\n data: params,\n timeout: 1000 * 90 * 90\n }, false, false).then(({\n data\n }) => {\n let respData = data instanceof Array ? data : data.listData;\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_6__.exportExcel)({\n data: respData,\n name: name,\n columns: columns,\n option: {\n align: this.$table ? this.$table.align : 'center'\n }\n });\n });\n },\n /**\r\n * 内置确认框\r\n * @param content\r\n * @param title\r\n * @param status\r\n * @returns {Promise<\"model\"|\"mask\"|\"close\"|\"confirm\"|\"cancel\"|\"exit\"|\"exist\">}\r\n */\n async confirm(content, title, status) {\n return await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: title,\n status: status\n });\n },\n /**\r\n * 内置调用方法\r\n * @param m\r\n * @param v\r\n * @param d\r\n */\n emits({\n m,\n v,\n d,\n js\n }) {\n if (js) {\n eval(js);\n } else if (m && this[m]) {\n this[m](v);\n }\n if (d != false) {\n this.customUrl = undefined;\n }\n },\n /**\r\n * 设置禁用按钮\r\n * @param ex\r\n */\n setAllBtnDisabled(ex) {\n if (ex) {\n ex = ex.split(\",\");\n } else {\n ex = [];\n }\n for (let toolBtn of this.toolBtn) {\n let disabled = true;\n for (let code of ex) {\n if (toolBtn.code == code) {\n disabled = false;\n }\n }\n toolBtn.disabled = disabled;\n }\n for (let toolBtn of this.operationBtn) {\n let disabled = true;\n for (let code of ex) {\n if (toolBtn.code == code) {\n disabled = false;\n }\n }\n toolBtn.disabled = disabled;\n }\n },\n /**\r\n * 设置工具栏 but\r\n * @param code 编码\r\n * @param key 要设置的key\r\n * @param value 要设置的value\r\n */\n setToolBtn(code, key, value) {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n toolBtn[key] = value;\n }\n }\n },\n /**\r\n * 设置操作按钮 but\r\n * @param code 编码\r\n * @param key 要设置的key\r\n * @param value 要设置的value\r\n */\n setOperationBtn(code, key, value) {\n for (let toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n toolBtn[key] = value;\n }\n }\n },\n /**\r\n * 获取修改数据(包括未修改数据)\r\n */\n getUpdateRecords() {\n if (this.$table) {\n return this.$table.getUpdateRecords();\n }\n },\n /**\r\n * 批量保存\r\n */\n async batchSave(code, content, rows, foreignKey, foreignKeyValue) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n let updateList = [];\n let dataSource = this.table.dataSource;\n this.formMainList.edit.formMain.updateKey = this.formMainList.edit.formMain.updateKey.trim();\n const srcMap = new Map(dataSource.map(item => [item[this.formMainList.edit.formMain.updateKey], item]));\n for (const row of rows) {\n let rowId = row[this.formMainList.edit.formMain.updateKey];\n if (rowId) {\n updateList.push({\n columnAndValueMap: this.getDifferingProperties(row, srcMap.get(row[this.formMainList.edit.formMain.updateKey])),\n //更新字段\n whereMap: this.doGetWhereMap(row, this.formMainList.edit.formMain.updateKey) //更新条件\n });\n continue;\n }\n let columnTableUpdateValue = this.getColumnTableUpdateValue(this.table.columns, row);\n columnTableUpdateValue[foreignKey] = foreignKeyValue ? foreignKeyValue : this.mainId;\n list.push(columnTableUpdateValue);\n }\n if (updateList && updateList.length >= 1) {\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n updateList\n });\n }\n if (list && list.length >= 1) {\n this.doPostAes(code, '/online/crudAes/batchSave', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n tableConfigId: this.tableConfig.tableConfigId,\n columnAndValueListMap: list,\n genIdMap: {\n [this.formMainList.edit.formMain.updateKey]: 'uuid'\n }\n });\n }\n },\n /**\r\n * 保存修改\r\n */\n async saveUpdate(code, content) {\n let dataSource = this.table.dataSource;\n const srcMap = new Map(dataSource.map(item => [item[this.formMainList.edit.formMain.updateKey], item]));\n let rows = [];\n for (const row of this.getUpdateRecords()) {\n let src = srcMap.get(row[this.formMainList.edit.formMain.updateKey]);\n rows.push(this.getDifferingProperties(row, src));\n }\n // console.log('saveUpdate:',rows)\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n for (const row of this.getUpdateRecords()) {\n list.push({\n columnAndValueMap: this.getDifferingProperties(row, srcMap.get(row[this.formMainList.edit.formMain.updateKey])),\n //更新字段\n whereMap: this.doGetWhereMap(row, this.formMainList.edit.formMain.updateKey) //更新条件\n });\n }\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list\n });\n // this.doBatchModify('batchModify', \"age\", this.formMainList.edit.formMain.updateKey, \"确认修改编辑数据吗?\", this.getUpdateRecords())\n },\n /**\r\n * 获取新增数据\r\n */\n getInsertEvent() {\n if (this.$table) {\n return this.$table.getInsertRecords();\n }\n },\n /**\r\n * 获取删除数据\r\n * @returns {*}\r\n */\n getRemoveEvent() {\n if (this.$table) {\n return this.$table.getRemoveRecords();\n }\n },\n /**\r\n * 获取选中\r\n * @returns {*|*[]|*[]}\r\n */\n getSelectRows() {\n if (this.selectBox == 1) {\n return this.$table.getRadioRecord() ? [this.$table.getRadioRecord()] : [];\n } else if (this.selectBox == 2) {\n return this.$table.getCheckboxRecords(true);\n }\n },\n updateColumn(rows) {\n this.table['show-footer'] = false;\n if (rows && rows instanceof Array) {\n for (let o of this.table.columns) {\n for (let row of rows) {\n if (row.id == o.id) {\n for (let key of Object.keys(row)) {\n o[key] = row[key];\n }\n }\n }\n this.setColumnHide(o);\n this.setFixed(o);\n this.setShowFooter(o);\n }\n }\n let data = this.table.columns.sort((a, b) => {\n return a.sort - b.sort;\n });\n this.doGroupAndCompute();\n this.$table.reloadColumn(data);\n },\n doGroupAndCompute(dataSource) {\n if (dataSource) {\n this.table.dataSource = JSON.parse(JSON.stringify(dataSource));\n }\n if (this.tableConfig.paging != 2) {\n if (dataSource != undefined) {\n this.table.data = dataSource;\n }\n return;\n }\n let groupKey = [];\n let comValue = [];\n for (let column of this.table.columns) {\n if (column.visible && column.groupToOtherProp == 1) {\n groupKey.push(column.field);\n }\n if (column.groupTotalToOtherProp) {\n comValue.push(column.field + \":\" + column.groupTotalToOtherProp);\n }\n }\n if (dataSource == undefined) {\n dataSource = this.table.dataSource;\n }\n if (groupKey.length != 0 & comValue.length != 0) {\n dataSource = (0,_utils_groupCompute__WEBPACK_IMPORTED_MODULE_8__.groupAndCompute)(groupKey, comValue, dataSource);\n }\n this.table.data = dataSource;\n this.$table.reloadData(this.table.data);\n },\n getDifferingProperties(tar, src) {\n const differingProperties = {};\n // 假设两个对象都有相同的属性\n for (const key in tar) {\n if (tar.hasOwnProperty(key) && src.hasOwnProperty(key)) {\n if (tar[key] !== src[key]) {\n differingProperties[key] = tar[key]; // 可以选择返回obj2的值,或创建一个数组存放两个值\n }\n }\n }\n return differingProperties;\n }\n }\n};\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/DefaultMethods.js?");
10721
10721
 
10722
10722
  /***/ }),
10723
10723
 
@@ -10750,7 +10750,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
10750
10750
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10751
10751
 
10752
10752
  "use strict";
10753
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_6__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_3__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_4__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n if (this.operationBtn.length != 0) {\n let okBut = [];\n for (let i = 0; i < this.operationBtn.length; i++) {\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + this.operationBtn[i].code]);\n // console.info(this.operationBtn[i].name+'--按钮'+this.operationBtn[i].code,flag)\n if (flag) {\n okBut.push(this.operationBtn[i]);\n }\n }\n this.operationBtn = okBut;\n }\n let length = this.operationBtn.length;\n if (length != 0) {\n let width = 35;\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource))\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n otherProp: form.formMain.otherProp,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
10753
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_6__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_3__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_4__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n if (this.operationBtn.length != 0) {\n let okBut = [];\n for (let i = 0; i < this.operationBtn.length; i++) {\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + this.operationBtn[i].code]);\n // console.info(this.operationBtn[i].name+'--按钮'+this.operationBtn[i].code,flag)\n if (flag) {\n okBut.push(this.operationBtn[i]);\n }\n }\n this.operationBtn = okBut;\n }\n let length = this.operationBtn.length;\n if (length != 0) {\n let width = 35;\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n tableConfigId: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n otherProp: form.formMain.otherProp,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
10754
10754
 
10755
10755
  /***/ }),
10756
10756
 
@@ -10772,7 +10772,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
10772
10772
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10773
10773
 
10774
10774
  "use strict";
10775
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinInitMethod: function() { return /* binding */ OTMixinInitMethod; }\n/* harmony export */ });\n/* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/object */ \"./src/utils/object.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_AESCRUDUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/AESCRUDUtils */ \"./src/utils/AESCRUDUtils.js\");\n\n\n\n\nconst OTMixinInitMethod = {\n created() {\n this.init();\n },\n methods: {\n initTable({\n selectBox,\n paging,\n optionJson,\n parameterDefault\n }) {\n if (optionJson) {\n let optionObj = JSON.parse(optionJson);\n this.setTableStyle(optionObj.table);\n this.copyParams(optionObj.table, this.table);\n if (this.table.border == \"false\") {\n this.table.border = false;\n }\n this.pagination.enabled = paging == \"1\";\n if (this.pagination.enabled) {\n this.copyParams(optionObj.pagination, this.pagination);\n }\n for (let event in optionObj.events) {\n this.events[event] = params => {\n eval(optionObj.events[event].code);\n };\n }\n }\n if (this.table['show-overflow'] == undefined && this.table['showOverflow'] == undefined) {\n this.table['show-overflow'] = true;\n }\n if (parameterDefault) {\n if (parameterDefault.indexOf(\"{\") == 0) {\n try {\n parameterDefault = (0,_utils_object__WEBPACK_IMPORTED_MODULE_0__.convertToStringifiedJson)(parameterDefault);\n } catch (e) {\n console.error(\"参数\", parameterDefault);\n (0,_utils_message__WEBPACK_IMPORTED_MODULE_1__.useMessage)().error(\"默认参数配置异常,请F12查看异常日志!\");\n throw new Error(e);\n }\n this.parameterDefault = parameterDefault;\n } else {\n for (let kv of parameterDefault.toString().split(\",\")) {\n let kvs = kv.split(\"=\");\n if (kvs.length == 2) {\n this.parameterDefault[kvs[0]] = kvs[1];\n }\n }\n }\n }\n this.selectBox = selectBox;\n },\n initDefaultValue() {\n for (let o of this.table.formConfig.items) {\n if (o.key && this.parameterDefault[o.key] != undefined) {\n this.table.formConfig.data[o.key] = this.parameterDefault[o.key];\n }\n }\n },\n init(initDataSource) {\n if (!this.uuid || !this.theme || !this.initDataSource && initDataSource == undefined) {\n return;\n }\n this.$nextTick(() => {\n if (this.tableAll) {\n this.tableAll[this.theme] = this;\n }\n });\n return new Promise(resolve => {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_2__.get)(this.http, '/onlineAes/init', {\n uuid: this.uuid,\n theme: this.theme\n }).then(res => {\n res = JSON.parse((0,_utils_AESCRUDUtils__WEBPACK_IMPORTED_MODULE_3__.decryptWithDecompress)(res));\n this.setDataSource(res, resolve);\n });\n });\n },\n setDataSource(res, resolve) {\n let {\n configColumns,\n toolBut,\n operationBut,\n tableConfig,\n formMainList,\n tableDelete\n } = res;\n this.tableConfig = tableConfig;\n this.initTable(tableConfig);\n this.initColumn(configColumns, tableConfig);\n this.initToolBtn(toolBut);\n this.initOperationBtn(operationBut);\n this.initFormMainList(formMainList);\n this.initTree(tableConfig);\n this.initDefaultValue();\n this.deleteParameter = tableDelete;\n if (resolve) {\n resolve(res);\n }\n this.tableInitOk(tableConfig);\n },\n tableInitOk(tableConfig) {\n this.$nextTick(() => {\n if (this.tableAll) {\n this.tableAll[tableConfig.theme] = this;\n }\n if (this.events['tableInitOk']) {\n this.events['tableInitOk']();\n }\n this.$emit('initOk', this);\n if (tableConfig.init != 0) {\n this.query();\n }\n });\n },\n copyParams(option, data) {\n for (let item in option) {\n let obj = option[item];\n let sub = data[item];\n if (obj instanceof Object && obj.isFunction && obj.flag == \"flag##function#\") {\n data[item] = params => {\n let fun = null;\n try {\n eval(\"fun = (params) => {\" + obj.code + \"}\");\n return fun(params);\n } catch (e) {\n console.error(\"执行cope异常:\" + item + \"\\n\" + obj.code + \"\\n\" + e);\n }\n };\n continue;\n }\n if (sub == null || sub == undefined) {\n data[item] = obj;\n continue;\n }\n if (obj instanceof Object && sub instanceof Object) {\n this.copyParams(obj, sub);\n } else {\n data[item] = obj;\n }\n }\n }\n }\n};\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinInitMethod.js?");
10775
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinInitMethod: function() { return /* binding */ OTMixinInitMethod; }\n/* harmony export */ });\n/* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/object */ \"./src/utils/object.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_AESCRUDUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/AESCRUDUtils */ \"./src/utils/AESCRUDUtils.js\");\n\n\n\n\nconst OTMixinInitMethod = {\n created() {\n this.init();\n },\n methods: {\n initTable({\n selectBox,\n paging,\n optionJson,\n parameterDefault\n }) {\n if (optionJson) {\n let optionObj = JSON.parse(optionJson);\n this.setTableStyle(optionObj.table);\n this.copyParams(optionObj.table, this.table);\n if (this.table.border == \"false\") {\n this.table.border = false;\n }\n this.pagination.enabled = paging == \"1\";\n if (this.pagination.enabled) {\n this.copyParams(optionObj.pagination, this.pagination);\n }\n for (let event in optionObj.events) {\n this.events[event] = params => {\n eval(optionObj.events[event].code);\n };\n }\n }\n if (this.table['show-overflow'] == undefined && this.table['showOverflow'] == undefined) {\n this.table['show-overflow'] = true;\n }\n if (parameterDefault) {\n if (parameterDefault.indexOf(\"{\") == 0) {\n try {\n parameterDefault = (0,_utils_object__WEBPACK_IMPORTED_MODULE_0__.convertToStringifiedJson)(parameterDefault);\n } catch (e) {\n console.error(\"参数\", parameterDefault);\n (0,_utils_message__WEBPACK_IMPORTED_MODULE_1__.useMessage)().error(\"默认参数配置异常,请F12查看异常日志!\");\n throw new Error(e);\n }\n this.parameterDefault = parameterDefault;\n } else {\n for (let kv of parameterDefault.toString().split(\",\")) {\n let kvs = kv.split(\"=\");\n if (kvs.length == 2) {\n this.parameterDefault[kvs[0]] = kvs[1];\n }\n }\n }\n }\n this.selectBox = selectBox;\n },\n initDefaultValue() {\n for (let o of this.table.formConfig.items) {\n if (o.key && this.parameterDefault[o.key] != undefined) {\n this.table.formConfig.data[o.key] = this.parameterDefault[o.key];\n }\n }\n },\n init(initDataSource) {\n if (!this.uuid || !this.theme || !this.initDataSource && initDataSource == undefined) {\n return;\n }\n this.$nextTick(() => {\n if (this.tableAll) {\n this.tableAll[this.theme] = this;\n }\n });\n return new Promise(resolve => {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_2__.get)(this.http, '/onlineAes/init', {\n uuid: this.uuid,\n theme: this.theme\n }).then(res => {\n this.setDataSource((0,_utils_AESCRUDUtils__WEBPACK_IMPORTED_MODULE_3__.decryptWithDecompress)(res), resolve);\n });\n });\n },\n setDataSource(res, resolve) {\n let {\n configColumns,\n toolBut,\n operationBut,\n tableConfig,\n formMainList,\n tableDelete\n } = res;\n this.tableConfig = tableConfig;\n this.initTable(tableConfig);\n this.initColumn(configColumns, tableConfig);\n this.initToolBtn(toolBut);\n this.initOperationBtn(operationBut);\n this.initFormMainList(formMainList);\n this.initTree(tableConfig);\n this.initDefaultValue();\n this.deleteParameter = tableDelete;\n if (resolve) {\n resolve(res);\n }\n this.tableInitOk(tableConfig);\n },\n tableInitOk(tableConfig) {\n this.$nextTick(() => {\n if (this.tableAll) {\n this.tableAll[tableConfig.theme] = this;\n }\n if (this.events['tableInitOk']) {\n this.events['tableInitOk']();\n }\n this.$emit('initOk', this);\n if (tableConfig.init != 0) {\n this.query();\n }\n });\n },\n copyParams(option, data) {\n for (let item in option) {\n let obj = option[item];\n let sub = data[item];\n if (obj instanceof Object && obj.isFunction && obj.flag == \"flag##function#\") {\n data[item] = params => {\n let fun = null;\n try {\n eval(\"fun = (params) => {\" + obj.code + \"}\");\n return fun(params);\n } catch (e) {\n console.error(\"执行cope异常:\" + item + \"\\n\" + obj.code + \"\\n\" + e);\n }\n };\n continue;\n }\n if (sub == null || sub == undefined) {\n data[item] = obj;\n continue;\n }\n if (obj instanceof Object && sub instanceof Object) {\n this.copyParams(obj, sub);\n } else {\n data[item] = obj;\n }\n }\n }\n }\n};\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinInitMethod.js?");
10776
10776
 
10777
10777
  /***/ }),
10778
10778
 
@@ -10901,7 +10901,7 @@ eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// lo
10901
10901
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10902
10902
 
10903
10903
  "use strict";
10904
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decryptWithDecompress: function() { return /* binding */ decryptWithDecompress; },\n/* harmony export */ encryptWithCompress: function() { return /* binding */ encryptWithCompress; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var crypto_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! crypto-js */ \"./node_modules/crypto-js/index.js\");\n/* harmony import */ var crypto_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(crypto_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! pako */ \"./node_modules/pako/dist/pako.esm.mjs\");\n/* harmony import */ var js_base64__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! js-base64 */ \"./node_modules/js-base64/base64.mjs\");\n\n\n\n\n\n\n// 配置参数\nconst SECRETKEY = \"liuzhououlaipu66\"; // 必须与Java保持一致\nconst IV_LENGTH = 16;\n\n// ================== 加密流程 ================== //\n/**\r\n * JS加密(与Java互操作)\r\n * @param {Object|string} data - 待加密数据\r\n * @returns {string} Base64加密字符串\r\n */\nfunction encryptWithCompress(data) {\n // Step1:JSON序列化\n const jsonStr = typeof data === 'string' ? data : JSON.stringify(data);\n\n // Step2:GZIP压缩\n const compressed = pako__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gzip(jsonStr, {\n level: 6\n });\n\n // Step3:生成随机IV\n const iv = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().lib.WordArray.random(IV_LENGTH);\n\n // Step4:AES加密\n const key = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc.Utf8.parse(SECRETKEY);\n const cipher = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().AES.encrypt(crypto_js__WEBPACK_IMPORTED_MODULE_2___default().lib.WordArray.create(compressed), key, {\n iv: iv,\n mode: (crypto_js__WEBPACK_IMPORTED_MODULE_2___default().mode).CBC,\n padding: (crypto_js__WEBPACK_IMPORTED_MODULE_2___default().pad).Pkcs7\n });\n\n // Step5:拼接IV+密文 → Base64\n const ivBytes = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc.Hex.parse(iv.toString((crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc).Hex));\n const combined = ivBytes.concat(cipher.ciphertext);\n return combined.toString((crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc).Base64);\n}\n\n// ================== 解密流程 ================== //\n/**\r\n * JS解密(兼容Java加密数据)\r\n * @param {string} encryptedBase64 - Java加密字符串\r\n * @returns {Object} 原始数据\r\n */\nfunction decryptWithDecompress(encryptedBase64) {\n // Step1:Base64解码(处理Apache格式)\n const rawData = js_base64__WEBPACK_IMPORTED_MODULE_4__.Base64.toUint8Array(encryptedBase64.replace(/\\n/g, ''));\n\n // Step2:提取IV和密文\n const ivBytes = rawData.slice(0, IV_LENGTH);\n const cipherBytes = rawData.slice(IV_LENGTH);\n\n // Step3:AES解密配置\n const key = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc.Utf8.parse(SECRETKEY);\n const iv = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().lib.WordArray.create(ivBytes);\n\n // Step4:执行解密\n const decrypted = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().AES.decrypt({\n ciphertext: crypto_js__WEBPACK_IMPORTED_MODULE_2___default().lib.WordArray.create(cipherBytes)\n }, key, {\n iv: iv,\n padding: (crypto_js__WEBPACK_IMPORTED_MODULE_2___default().pad).Pkcs7\n });\n\n // Step5:GZIP解压\n const uint8Array = new Uint8Array(decrypted.sigBytes);\n decrypted.words.forEach((word, i) => {\n uint8Array[i * 4] = word >> 24 & 0xff;\n uint8Array[i * 4 + 1] = word >> 16 & 0xff;\n uint8Array[i * 4 + 2] = word >> 8 & 0xff;\n uint8Array[i * 4 + 3] = word & 0xff;\n });\n try {\n const decompressed = pako__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ungzip(uint8Array);\n const str = new TextDecoder().decode(decompressed);\n return JSON.parse(str);\n } catch (e) {\n throw new Error(`解密失败:${e.message}`);\n }\n}\n\n\n//# sourceURL=webpack://olp-table/./src/utils/AESCRUDUtils.js?");
10904
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decryptWithDecompress: function() { return /* binding */ decryptWithDecompress; },\n/* harmony export */ encryptWithCompress: function() { return /* binding */ encryptWithCompress; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var crypto_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! crypto-js */ \"./node_modules/crypto-js/index.js\");\n/* harmony import */ var crypto_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(crypto_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! pako */ \"./node_modules/pako/dist/pako.esm.mjs\");\n/* harmony import */ var js_base64__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! js-base64 */ \"./node_modules/js-base64/base64.mjs\");\n\n\n\n\n\n\n// 配置参数\nconst SECRETKEY = \"liuzhououlaipu66\"; // 必须与Java保持一致\nconst IV_LENGTH = 16;\n\n// ================== 加密流程 ================== //\n/**\r\n * JS加密(与Java互操作)\r\n * @param {Object|string} data - 待加密数据\r\n * @returns {string} Base64加密字符串\r\n */\nfunction encryptWithCompress(data) {\n // Step1:JSON序列化,使用自定义replacer处理大数字\n const jsonStr = typeof data === 'string' ? data : JSON.stringify(data, (key, value) => {\n if (typeof value === 'bigint') {\n return value.toString();\n }\n if (typeof value === 'number' && !Number.isSafeInteger(value)) {\n return value.toString();\n }\n return value;\n });\n\n // Step2:GZIP压缩\n const compressed = pako__WEBPACK_IMPORTED_MODULE_3__[\"default\"].gzip(jsonStr, {\n level: 6\n });\n\n // Step3:生成随机IV\n const iv = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().lib.WordArray.random(IV_LENGTH);\n\n // Step4:AES加密\n const key = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc.Utf8.parse(SECRETKEY);\n const cipher = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().AES.encrypt(crypto_js__WEBPACK_IMPORTED_MODULE_2___default().lib.WordArray.create(compressed), key, {\n iv: iv,\n mode: (crypto_js__WEBPACK_IMPORTED_MODULE_2___default().mode).CBC,\n padding: (crypto_js__WEBPACK_IMPORTED_MODULE_2___default().pad).Pkcs7\n });\n\n // Step5:拼接IV+密文 → Base64\n const ivBytes = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc.Hex.parse(iv.toString((crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc).Hex));\n const combined = ivBytes.concat(cipher.ciphertext);\n return combined.toString((crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc).Base64);\n}\n\n// ================== 解密流程 ================== //\n/**\r\n * JS解密(兼容Java加密数据)\r\n * @param {string} encryptedBase64 - Java加密字符串\r\n * @returns {Object} 原始数据\r\n */\nfunction decryptWithDecompress(encryptedBase64) {\n // Step1:Base64解码(处理Apache格式)\n const rawData = js_base64__WEBPACK_IMPORTED_MODULE_4__.Base64.toUint8Array(encryptedBase64.replace(/\\n/g, ''));\n\n // Step2:提取IV和密文\n const ivBytes = rawData.slice(0, IV_LENGTH);\n const cipherBytes = rawData.slice(IV_LENGTH);\n\n // Step3:AES解密配置\n const key = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().enc.Utf8.parse(SECRETKEY);\n const iv = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().lib.WordArray.create(ivBytes);\n\n // Step4:执行解密\n const decrypted = crypto_js__WEBPACK_IMPORTED_MODULE_2___default().AES.decrypt({\n ciphertext: crypto_js__WEBPACK_IMPORTED_MODULE_2___default().lib.WordArray.create(cipherBytes)\n }, key, {\n iv: iv,\n padding: (crypto_js__WEBPACK_IMPORTED_MODULE_2___default().pad).Pkcs7\n });\n\n // Step5:GZIP解压\n const uint8Array = new Uint8Array(decrypted.sigBytes);\n decrypted.words.forEach((word, i) => {\n uint8Array[i * 4] = word >> 24 & 0xff;\n uint8Array[i * 4 + 1] = word >> 16 & 0xff;\n uint8Array[i * 4 + 2] = word >> 8 & 0xff;\n uint8Array[i * 4 + 3] = word & 0xff;\n });\n try {\n const decompressed = pako__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ungzip(uint8Array);\n const str = new TextDecoder().decode(decompressed);\n // 使用自定义的 reviver 函数来处理大数字\n const parse = JSON.parse(str);\n return jsonParse(parse);\n } catch (e) {\n throw new Error(`解密失败:${e.message}`);\n }\n}\nfunction jsonParse(str) {\n return JSON.parse(str.replace(/:\\s*([-+]?\\d+(\\.\\d+)?([eE][-+]?\\d+)?)/g, (match, p1) => {\n if (Math.abs(p1) > Number.MAX_SAFE_INTEGER) {\n return `:\"${p1}\"`;\n }\n return `:${p1}`;\n }));\n}\n\n\n//# sourceURL=webpack://olp-table/./src/utils/AESCRUDUtils.js?");
10905
10905
 
10906
10906
  /***/ }),
10907
10907