olp-table 7.2.11 → 7.2.12

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.
@@ -531,7 +531,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var spli
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 _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 initOk: false,\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.formRef.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 params.columnAndValueMap = this.getTableUpdateValue(this.form.column, this.formData);\n }\n if (this.state.saveUrl && this.state.saveUrl.indexOf(\"/online/crudAes/\") == -1) {\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 let params = this.getParams();\n if (this.state.otherProp && this.state.otherProp.beforeSave) {\n try {\n let next = eval(\"(params)=>{\" + this.state.otherProp.beforeSave + \"}\");\n if (next(params) === false) {\n return;\n }\n } catch (e) {\n console.log(e);\n return;\n }\n }\n this.state.loading = true;\n try {\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 || this.state.saveUrl.indexOf(\"/online/crudAes/\") != -1) {\n await (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, url, params).then(status => {\n this.saveOk(status);\n });\n } else {\n await (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(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 initFormColumn(data) {\n for (let column of this.form.column) {\n if (data.disabled || column.disabled == 1) {\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 } else {\n this.initDict(column);\n }\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 doInit(data) {\n if (data.disabled) {\n this.show = false;\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 if (data.form.title) {\n this.state.title = data.form.title;\n }\n this.state.dialogVisible = true;\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 this.form = data.form;\n if (this.state.type == 0) {\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 this.initFormColumn(data);\n } else {\n let {\n width,\n height\n } = this.form.formConfig;\n //赋值弹窗宽度和高度\n this.state.width = width;\n this.state.maxHeight = height + 'px';\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 init(data) {\n try {\n this.beforeInit();\n this.doInit(data);\n setTimeout(() => {\n this.afterInit();\n }, 350);\n } catch (e) {\n console.error(e);\n }\n },\n /**\r\n * 初始化后回调\r\n */\n afterInit() {\n if (this.state.otherProp && this.state.otherProp.afterInit) {\n try {\n eval(this.state.otherProp.afterInit);\n } catch (e) {\n console.log(e);\n }\n }\n },\n /**\r\n * 初始化前回调\r\n */\n beforeInit() {\n if (this.state.otherProp && this.state.otherProp.beforeInit) {\n try {\n eval(this.state.otherProp.beforeInit);\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");
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 _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 initOk: false,\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.formRef.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 params.columnAndValueMap = this.getTableUpdateValue(this.form.column, this.formData);\n }\n if (this.state.saveUrl && this.state.saveUrl.indexOf(\"/online/crudAes/\") == -1) {\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 if (this.state.otherProp) {\n if (this.state.otherProp.createBy && this.state.otherProp.createBy.trim()) {\n params.createBy = this.state.otherProp.createBy.trim();\n }\n if (this.state.otherProp.updateBy && this.state.otherProp.updateBy.trim()) {\n params.updateBy = this.state.otherProp.updateBy.trim();\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 let params = this.getParams();\n if (this.state.otherProp && this.state.otherProp.beforeSave) {\n try {\n let next = eval(\"(params)=>{\" + this.state.otherProp.beforeSave + \"}\");\n if (next(params) === false) {\n return;\n }\n } catch (e) {\n console.log(e);\n return;\n }\n }\n this.state.loading = true;\n try {\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 || this.state.saveUrl.indexOf(\"/online/crudAes/\") != -1) {\n await (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, url, params).then(status => {\n this.saveOk(status);\n });\n } else {\n await (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(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 initFormColumn(data) {\n for (let column of this.form.column) {\n if (data.disabled || column.disabled == 1) {\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 } else {\n this.initDict(column);\n }\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 doInit(data) {\n if (data.disabled) {\n this.show = false;\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 if (data.form.title) {\n this.state.title = data.form.title;\n }\n this.state.dialogVisible = true;\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 this.form = data.form;\n if (this.state.type == 0) {\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 this.initFormColumn(data);\n } else {\n let {\n width,\n height\n } = this.form.formConfig;\n //赋值弹窗宽度和高度\n this.state.width = width;\n this.state.maxHeight = height + 'px';\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 init(data) {\n try {\n this.beforeInit();\n this.doInit(data);\n setTimeout(() => {\n this.afterInit();\n }, 350);\n } catch (e) {\n console.error(e);\n }\n },\n /**\r\n * 初始化后回调\r\n */\n afterInit() {\n if (this.state.otherProp && this.state.otherProp.afterInit) {\n try {\n eval(this.state.otherProp.afterInit);\n } catch (e) {\n console.log(e);\n }\n }\n },\n /**\r\n * 初始化前回调\r\n */\n beforeInit() {\n if (this.state.otherProp && this.state.otherProp.beforeInit) {\n try {\n eval(this.state.otherProp.beforeInit);\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");
535
535
 
536
536
  /***/ }),
537
537
 
@@ -542,7 +542,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
542
542
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
543
543
 
544
544
  "use strict";
545
- 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 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 (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 /**\r\n * 初始化后回调\r\n */\n afterInit() {\n if (this.state.otherProp && this.state.otherProp.afterInit) {\n try {\n eval(this.state.otherProp.afterInit);\n } catch (e) {\n console.log(e);\n }\n }\n },\n /**\r\n * 初始化前回调\r\n */\n beforeInit() {\n if (this.state.otherProp && this.state.otherProp.beforeInit) {\n try {\n eval(this.state.otherProp.beforeInit);\n } catch (e) {\n console.log(e);\n }\n }\n },\n init(data) {\n this.beforeInit();\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 this.afterInit();\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");
545
+ 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 if (this.state.otherProp) {\n if (this.state.otherProp.createBy && this.state.otherProp.createBy.trim()) {\n params.createBy = this.state.otherProp.createBy.trim();\n }\n if (this.state.otherProp.updateBy && this.state.otherProp.updateBy.trim()) {\n params.updateBy = this.state.otherProp.updateBy.trim();\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 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 (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 /**\r\n * 初始化后回调\r\n */\n afterInit() {\n if (this.state.otherProp && this.state.otherProp.afterInit) {\n try {\n eval(this.state.otherProp.afterInit);\n } catch (e) {\n console.log(e);\n }\n }\n },\n /**\r\n * 初始化前回调\r\n */\n beforeInit() {\n if (this.state.otherProp && this.state.otherProp.beforeInit) {\n try {\n eval(this.state.otherProp.beforeInit);\n } catch (e) {\n console.log(e);\n }\n }\n },\n init(data) {\n this.beforeInit();\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 this.afterInit();\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");
546
546
 
547
547
  /***/ }),
548
548
 
@@ -850,7 +850,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
850
850
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
851
851
 
852
852
  "use strict";
853
- 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_6__ = __webpack_require__(/*! @element-plus/icons-vue */ \"@element-plus/icons-vue\");\n/* harmony import */ var _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _components_v_component_index_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/v-component/index.vue */ \"./src/components/v-component/index.vue\");\n/* harmony import */ var vue_codemirror__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vue-codemirror */ \"./node_modules/vue-codemirror/dist/vue-codemirror.esm.js\");\n/* harmony import */ var _codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @codemirror/lang-javascript */ \"./node_modules/@codemirror/lang-javascript/dist/index.js\");\n/* harmony import */ var _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @codemirror/theme-one-dark */ \"./node_modules/@codemirror/theme-one-dark/dist/index.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var sortablejs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _api_dist__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/api/dist */ \"./src/api/dist.js\");\n/* harmony import */ var _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/components/ol-table-select.vue */ \"./src/components/ol-table-select.vue\");\n/* harmony import */ var _components_ol_table_select_config_vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/components/ol-table-select-config.vue */ \"./src/components/ol-table-select-config.vue\");\n\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_10__.useMessage)(); // 消息弹窗\n const http = (0,vue__WEBPACK_IMPORTED_MODULE_7__.inject)('http');\n const dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_13__.storeDictType)();\n const props = __props;\n const customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(undefined);\n const vexGridRef = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(null);\n const vFormViewer = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(null);\n const dialogTableVisible = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(false);\n function setShow() {\n updateSort();\n }\n function showViewForm() {\n dialogTableVisible.value = true;\n (0,vue__WEBPACK_IMPORTED_MODULE_7__.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_7__.reactive)({\n beforeSave: '',\n afterSave: '',\n afterInit: '',\n beforeInit: ''\n });\n // 基础表单\n const baseOption = (0,vue__WEBPACK_IMPORTED_MODULE_7__.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_7__.ref)();\n const copeFiled = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)();\n const dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_14__.storeDict)();\n //表单类型\n const formType = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(0);\n //表单设计\n const formConfig = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(0);\n //快捷设计表单\n const designForm = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)({\n span: 2\n });\n //快捷设计表格\n const gridOptions = (0,vue__WEBPACK_IMPORTED_MODULE_7__.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_7__.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_7__.ref)({});\n const formData = (0,vue__WEBPACK_IMPORTED_MODULE_7__.reactive)({});\n const formKey = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(0);\n const optionData = (0,vue__WEBPACK_IMPORTED_MODULE_7__.reactive)({});\n const vFormRef = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(null);\n const customForm = (0,vue__WEBPACK_IMPORTED_MODULE_7__.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\",\\n' +\n //数据库要存的值,如:外键ID或某个编码\n ' \"label\":\"name\",\\n' +\n //选中数据后回显的数据\n ' \"labelIsAppendCode\":false,\\n' +\n //默认,可不填或不该\n ' \"otherResult\":\"目标字段1:源字段1,目标字段2:源字段2,目标字段3:源字段3\"\\n' +\n //需要额外字段数据格式配置:\"目标字段1:源字段1,目标字段2:源字段2\n ' }\\n' + '}';\n }\n vexGridRef.value.setRowExpand([row], true); //展开行\n }\n (0,vue__WEBPACK_IMPORTED_MODULE_7__.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_7__.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_7__.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_11__.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_16__.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_11__.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_16__.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_14__.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_17__.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_16__.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_7__.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_7__.nextTick)(() => {\n if (!vexGridRef.value) {\n return;\n }\n //el绑定元素需要找到vxe的DOM下的tbody元素\n sortablejs__WEBPACK_IMPORTED_MODULE_12__[\"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_7__.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_7__.reactive)({\n extensions: [(0,_codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_20__.javascript)(), _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_21__.oneDark],\n values: null,\n err: false,\n baseForm: {},\n baseFormRender: {}\n });\n const formMap = (0,vue__WEBPACK_IMPORTED_MODULE_7__.reactive)({});\n\n // 更换表单\n const onChangeForm = value => {\n if (value) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_11__.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_7__.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_15___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_7__.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_6__.Delete;\n },\n get Search() {\n return _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_6__.Search;\n },\n reactive: vue__WEBPACK_IMPORTED_MODULE_7__.reactive,\n ref: vue__WEBPACK_IMPORTED_MODULE_7__.ref,\n nextTick: vue__WEBPACK_IMPORTED_MODULE_7__.nextTick,\n onMounted: vue__WEBPACK_IMPORTED_MODULE_7__.onMounted,\n inject: vue__WEBPACK_IMPORTED_MODULE_7__.inject,\n markRaw: vue__WEBPACK_IMPORTED_MODULE_7__.markRaw,\n computed: vue__WEBPACK_IMPORTED_MODULE_7__.computed,\n vComponent: _components_v_component_index_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n get Codemirror() {\n return vue_codemirror__WEBPACK_IMPORTED_MODULE_9__.Codemirror;\n },\n get javascript() {\n return _codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_20__.javascript;\n },\n get oneDark() {\n return _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_21__.oneDark;\n },\n get useMessage() {\n return _utils_message__WEBPACK_IMPORTED_MODULE_10__.useMessage;\n },\n get get() {\n return _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_11__.get;\n },\n get post() {\n return _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_11__.post;\n },\n get Sortable() {\n return sortablejs__WEBPACK_IMPORTED_MODULE_12__[\"default\"];\n },\n get storeDictType() {\n return _store_dictType__WEBPACK_IMPORTED_MODULE_13__.storeDictType;\n },\n get storeDict() {\n return _store_dict__WEBPACK_IMPORTED_MODULE_14__.storeDict;\n },\n get VXETable() {\n return (vxe_table__WEBPACK_IMPORTED_MODULE_15___default());\n },\n get handleTree() {\n return _utils_tree__WEBPACK_IMPORTED_MODULE_16__.handleTree;\n },\n get initDictTable() {\n return _api_dist__WEBPACK_IMPORTED_MODULE_17__.initDictTable;\n },\n OlTableSelect: _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_18__[\"default\"],\n OlTableSelectConfig: _components_ol_table_select_config_vue__WEBPACK_IMPORTED_MODULE_19__[\"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");
853
+ 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_6__ = __webpack_require__(/*! @element-plus/icons-vue */ \"@element-plus/icons-vue\");\n/* harmony import */ var _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _components_v_component_index_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/v-component/index.vue */ \"./src/components/v-component/index.vue\");\n/* harmony import */ var vue_codemirror__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vue-codemirror */ \"./node_modules/vue-codemirror/dist/vue-codemirror.esm.js\");\n/* harmony import */ var _codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @codemirror/lang-javascript */ \"./node_modules/@codemirror/lang-javascript/dist/index.js\");\n/* harmony import */ var _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @codemirror/theme-one-dark */ \"./node_modules/@codemirror/theme-one-dark/dist/index.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var sortablejs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _api_dist__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/api/dist */ \"./src/api/dist.js\");\n/* harmony import */ var _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/components/ol-table-select.vue */ \"./src/components/ol-table-select.vue\");\n/* harmony import */ var _components_ol_table_select_config_vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/components/ol-table-select-config.vue */ \"./src/components/ol-table-select-config.vue\");\n\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_10__.useMessage)(); // 消息弹窗\n const http = (0,vue__WEBPACK_IMPORTED_MODULE_7__.inject)('http');\n const dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_13__.storeDictType)();\n const props = __props;\n const customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(undefined);\n const vexGridRef = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(null);\n const vFormViewer = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(null);\n const dialogTableVisible = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(false);\n function setShow() {\n updateSort();\n }\n function showViewForm() {\n dialogTableVisible.value = true;\n (0,vue__WEBPACK_IMPORTED_MODULE_7__.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_7__.reactive)({\n beforeSave: '',\n afterSave: '',\n afterInit: '',\n beforeInit: '',\n createBy: '',\n updateBy: ''\n });\n // 基础表单\n const baseOption = (0,vue__WEBPACK_IMPORTED_MODULE_7__.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_7__.ref)();\n const copeFiled = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)();\n const dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_14__.storeDict)();\n //表单类型\n const formType = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(0);\n //表单设计\n const formConfig = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(0);\n //快捷设计表单\n const designForm = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)({\n span: 2\n });\n //快捷设计表格\n const gridOptions = (0,vue__WEBPACK_IMPORTED_MODULE_7__.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_7__.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_7__.ref)({});\n const formData = (0,vue__WEBPACK_IMPORTED_MODULE_7__.reactive)({});\n const formKey = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(0);\n const optionData = (0,vue__WEBPACK_IMPORTED_MODULE_7__.reactive)({});\n const vFormRef = (0,vue__WEBPACK_IMPORTED_MODULE_7__.ref)(null);\n const customForm = (0,vue__WEBPACK_IMPORTED_MODULE_7__.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\",\\n' +\n //数据库要存的值,如:外键ID或某个编码\n ' \"label\":\"name\",\\n' +\n //选中数据后回显的数据\n ' \"labelIsAppendCode\":false,\\n' +\n //默认,可不填或不该\n ' \"otherResult\":\"目标字段1:源字段1,目标字段2:源字段2,目标字段3:源字段3\"\\n' +\n //需要额外字段数据格式配置:\"目标字段1:源字段1,目标字段2:源字段2\n ' }\\n' + '}';\n }\n vexGridRef.value.setRowExpand([row], true); //展开行\n }\n (0,vue__WEBPACK_IMPORTED_MODULE_7__.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_7__.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_7__.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_11__.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_16__.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_11__.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_16__.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_14__.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_17__.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_16__.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_7__.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_7__.nextTick)(() => {\n if (!vexGridRef.value) {\n return;\n }\n //el绑定元素需要找到vxe的DOM下的tbody元素\n sortablejs__WEBPACK_IMPORTED_MODULE_12__[\"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_7__.reactive)({\n updateKey: '',\n createBy: '',\n updateBy: '',\n saveUrl: '',\n title: '',\n otherProp: {},\n requestType: 'post',\n formType: props.type\n });\n const state = (0,vue__WEBPACK_IMPORTED_MODULE_7__.reactive)({\n extensions: [(0,_codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_20__.javascript)(), _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_21__.oneDark],\n values: null,\n err: false,\n baseForm: {},\n baseFormRender: {}\n });\n const formMap = (0,vue__WEBPACK_IMPORTED_MODULE_7__.reactive)({});\n\n // 更换表单\n const onChangeForm = value => {\n if (value) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_11__.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_7__.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_15___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_7__.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_6__.Delete;\n },\n get Search() {\n return _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_6__.Search;\n },\n reactive: vue__WEBPACK_IMPORTED_MODULE_7__.reactive,\n ref: vue__WEBPACK_IMPORTED_MODULE_7__.ref,\n nextTick: vue__WEBPACK_IMPORTED_MODULE_7__.nextTick,\n onMounted: vue__WEBPACK_IMPORTED_MODULE_7__.onMounted,\n inject: vue__WEBPACK_IMPORTED_MODULE_7__.inject,\n markRaw: vue__WEBPACK_IMPORTED_MODULE_7__.markRaw,\n computed: vue__WEBPACK_IMPORTED_MODULE_7__.computed,\n vComponent: _components_v_component_index_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n get Codemirror() {\n return vue_codemirror__WEBPACK_IMPORTED_MODULE_9__.Codemirror;\n },\n get javascript() {\n return _codemirror_lang_javascript__WEBPACK_IMPORTED_MODULE_20__.javascript;\n },\n get oneDark() {\n return _codemirror_theme_one_dark__WEBPACK_IMPORTED_MODULE_21__.oneDark;\n },\n get useMessage() {\n return _utils_message__WEBPACK_IMPORTED_MODULE_10__.useMessage;\n },\n get get() {\n return _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_11__.get;\n },\n get post() {\n return _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_11__.post;\n },\n get Sortable() {\n return sortablejs__WEBPACK_IMPORTED_MODULE_12__[\"default\"];\n },\n get storeDictType() {\n return _store_dictType__WEBPACK_IMPORTED_MODULE_13__.storeDictType;\n },\n get storeDict() {\n return _store_dict__WEBPACK_IMPORTED_MODULE_14__.storeDict;\n },\n get VXETable() {\n return (vxe_table__WEBPACK_IMPORTED_MODULE_15___default());\n },\n get handleTree() {\n return _utils_tree__WEBPACK_IMPORTED_MODULE_16__.handleTree;\n },\n get initDictTable() {\n return _api_dist__WEBPACK_IMPORTED_MODULE_17__.initDictTable;\n },\n OlTableSelect: _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_18__[\"default\"],\n OlTableSelectConfig: _components_ol_table_select_config_vue__WEBPACK_IMPORTED_MODULE_19__[\"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");
854
854
 
855
855
  /***/ }),
856
856
 
@@ -894,7 +894,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vue_
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 _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @element-plus/icons-vue */ \"@element-plus/icons-vue\");\n/* harmony import */ var _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n __name: 'btn-config',\n props: {\n type: {\n required: true,\n type: String\n },\n alignMode: {\n required: true,\n type: String\n }\n },\n setup(__props, {\n expose: __expose\n }) {\n const configData = (0,vue__WEBPACK_IMPORTED_MODULE_4__.inject)(\"configData\");\n const updateBtnData = (0,vue__WEBPACK_IMPORTED_MODULE_4__.inject)('updateBtnData', Function, true);\n const props = __props;\n const tableRef = (0,vue__WEBPACK_IMPORTED_MODULE_4__.ref)();\n const show = (0,vue__WEBPACK_IMPORTED_MODULE_4__.ref)(true);\n const option = (0,vue__WEBPACK_IMPORTED_MODULE_4__.reactive)({\n expandConfig: {\n trigger: \"cell\"\n },\n rowConfig: {\n isCurrent: true\n },\n align: 'center',\n editConfig: {\n trigger: 'click',\n mode: 'cell',\n showStatus: true,\n beforeEditMethod: ({\n column,\n row\n }) => {\n const field = column.field;\n if ((row.code == 'add' || row.code == 'edit') && field == \"code\") {\n return false;\n }\n return true;\n }\n },\n pagerConfig: {\n enabled: false\n },\n toolbarConfig: {\n slots: {\n buttons: 'toolbar_buttons'\n }\n },\n scrollX: {\n enabled: true,\n gt: 1\n },\n scrollY: {\n enabled: true,\n gt: 1\n },\n height: 350,\n index: true,\n searchBtn: false,\n emptyBtn: false,\n menu: false,\n header: false,\n columns: [\n /* {\r\n title: '序号',\r\n field: 'sort',\r\n width: 80,\r\n },*/\n {\n type: \"seq\",\n className: 'move',\n width: 60,\n title: \"序号\"\n }, {\n title: '按钮名称',\n field: 'name',\n editRender: {\n name: 'input'\n }\n }, {\n title: '定义编码',\n field: 'code',\n editRender: {\n name: 'input',\n events: {\n change: ({\n row\n }) => {\n setTimeout(() => {\n if (row.code != '') {\n row.clickCallBackMethod = row.code + \"ButClick\";\n } else {\n row.clickCallBackMethod = '';\n }\n }, 100);\n }\n }\n }\n }, {\n title: '图标',\n field: 'icon',\n editRender: {\n name: 'input'\n }\n }, {\n title: '主题',\n field: 'status',\n editRender: {\n name: 'input'\n }\n }, {\n title: '是否启用表单',\n field: 'isForm',\n slots: {\n // 使用插槽模板渲染\n default: 'checkedBox_default'\n }\n }, {\n title: '单击回调方法',\n visible: props.type == 'toolButOptions',\n field: 'clickCallBackMethod'\n }, {\n title: '自定义函数',\n field: 'customFunction',\n slots: {\n // 使用插槽模板渲染\n default: 'codemirror'\n }\n }, {\n title: '参数1',\n field: 'beforeFunction',\n slots: {\n // 使用插槽模板渲染\n default: 'codemirror'\n }\n }, {\n title: '参数2',\n field: 'afterFunction',\n slots: {\n // 使用插槽模板渲染\n default: 'codemirror'\n }\n }, {\n title: 'json',\n field: 'json',\n slots: {\n // 使用插槽模板渲染\n default: 'codemirror'\n }\n }, {\n title: '默认',\n children: [{\n title: '禁用',\n field: 'defaultDisabled',\n visible: props.type == 'toolButOptions',\n width: 80,\n slots: {\n // 使用插槽模板渲染\n default: 'switch_default'\n }\n }, {\n title: '显示',\n field: 'defaultShow',\n visible: props.type == 'toolButOptions',\n width: 80,\n slots: {\n // 使用插槽模板渲染\n default: 'switch_default'\n }\n }]\n }, {\n title: '回调方法',\n children: [{\n title: '单击(click)',\n field: 'clickCallBackMethod',\n visible: props.type != 'toolButOptions'\n }, {\n title: '显示(show)',\n field: 'showCallBack',\n visible: props.type != 'toolButOptions',\n slots: {\n // 使用插槽模板渲染\n default: 'codemirror'\n }\n }, {\n title: '禁用(disabled)',\n field: 'disabledCallBack',\n visible: props.type != 'toolButOptions',\n slots: {\n // 使用插槽模板渲染\n default: 'codemirror'\n }\n }]\n }, {\n title: '操作',\n field: 'operation',\n width: 80,\n slots: {\n // 使用插槽模板渲染\n default: 'operation'\n }\n }]\n });\n const checkbox = params => {\n console.log(params);\n };\n const onAdd = () => {\n let newBtn = {\n name: '',\n code: '',\n defaultShow: '1',\n deleted: 0,\n isForm: 0,\n seq: getDataSource().length + 1,\n sort: getDataSource().length + 1\n };\n if (props.alignMode) {\n newBtn.alignMode = props.alignMode;\n }\n configData.form[props.type].push(newBtn);\n loadData();\n setTimeout(() => {\n tableRef.value.setEditRow(tableRef.value.getData(newBtn.sort), 'name');\n }, 500);\n };\n const removeBtn = (row, rowIndex) => {\n configData.form[props.type].splice(rowIndex, 1);\n let index = 0;\n for (var obj of configData.form[props.type.replaceAll(\"Options\", \"\")]) {\n if (obj == row.code) {\n configData.form[props.type.replaceAll(\"Options\", \"\")].splice(index, 1);\n return;\n }\n index++;\n }\n };\n const editClosedEvent = ({\n row,\n column\n }) => {\n const $table = tableRef.value;\n if ($table) {\n const field = column.field;\n const cellValue = row[field];\n // 判断单元格值是否被修改\n if ($table.isUpdateByRow(row, field)) {\n setTimeout(() => {\n vxe_table__WEBPACK_IMPORTED_MODULE_6___default().modal.message({\n content: `局部保存成功! ${field}=${cellValue}`,\n status: 'success'\n });\n // 局部更新单元格为已保存状态\n $table.reloadRow(row, null, field);\n }, 300);\n }\n }\n updateBtnData(configData.form[props.type], props.type);\n };\n function getDataSource() {\n if (props.alignMode) {\n return configData.form[props.type].filter(o => o.alignMode == props.alignMode);\n }\n return configData.form[props.type];\n }\n function loadData() {\n tableRef.value.reloadData(getDataSource());\n }\n function updateSort(oldIndex, newIndex) {\n let newsArr = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_5__.getNewArrData)(oldIndex, newIndex, getDataSource());\n let index = 0;\n for (const obj of newsArr) {\n obj.sort = ++index;\n }\n show.value = false;\n let reverseArr = configData.form[props.type].filter(o => o.alignMode != props.alignMode);\n for (let reverseArrElement of reverseArr) {\n newsArr.push(reverseArrElement);\n }\n configData.form[props.type] = newsArr;\n (0,vue__WEBPACK_IMPORTED_MODULE_4__.nextTick)(() => {\n show.value = true;\n (0,vue__WEBPACK_IMPORTED_MODULE_4__.nextTick)(() => {\n (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_5__.updateSortCall)(tableRef, updateSort);\n });\n });\n }\n (0,vue__WEBPACK_IMPORTED_MODULE_4__.onMounted)(() => {\n (0,vue__WEBPACK_IMPORTED_MODULE_4__.nextTick)(() => {\n (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_5__.updateSortCall)(tableRef, updateSort);\n });\n });\n __expose({\n loadData\n });\n const __returned__ = {\n configData,\n updateBtnData,\n props,\n tableRef,\n show,\n option,\n checkbox,\n onAdd,\n removeBtn,\n editClosedEvent,\n getDataSource,\n loadData,\n updateSort,\n get Delete() {\n return _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_3__.Delete;\n },\n inject: vue__WEBPACK_IMPORTED_MODULE_4__.inject,\n nextTick: vue__WEBPACK_IMPORTED_MODULE_4__.nextTick,\n onMounted: vue__WEBPACK_IMPORTED_MODULE_4__.onMounted,\n reactive: vue__WEBPACK_IMPORTED_MODULE_4__.reactive,\n ref: vue__WEBPACK_IMPORTED_MODULE_4__.ref,\n get getNewArrData() {\n return _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_5__.getNewArrData;\n },\n get updateSortCall() {\n return _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_5__.updateSortCall;\n },\n get VXETable() {\n return (vxe_table__WEBPACK_IMPORTED_MODULE_6___default());\n }\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/table-config/btn-config.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 _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @element-plus/icons-vue */ \"@element-plus/icons-vue\");\n/* harmony import */ var _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n __name: 'btn-config',\n props: {\n type: {\n required: true,\n type: String\n },\n alignMode: {\n required: true,\n type: String\n }\n },\n setup(__props, {\n expose: __expose\n }) {\n const configData = (0,vue__WEBPACK_IMPORTED_MODULE_4__.inject)(\"configData\");\n const updateBtnData = (0,vue__WEBPACK_IMPORTED_MODULE_4__.inject)('updateBtnData', Function, true);\n const props = __props;\n const tableRef = (0,vue__WEBPACK_IMPORTED_MODULE_4__.ref)();\n const show = (0,vue__WEBPACK_IMPORTED_MODULE_4__.ref)(true);\n const option = (0,vue__WEBPACK_IMPORTED_MODULE_4__.reactive)({\n expandConfig: {\n trigger: \"cell\"\n },\n rowConfig: {\n isCurrent: true\n },\n align: 'center',\n editConfig: {\n trigger: 'click',\n mode: 'cell',\n showStatus: true,\n beforeEditMethod: ({\n column,\n row\n }) => {\n const field = column.field;\n if ((row.code == 'add' || row.code == 'edit') && field == \"code\") {\n return false;\n }\n return true;\n }\n },\n pagerConfig: {\n enabled: false\n },\n toolbarConfig: {\n slots: {\n buttons: 'toolbar_buttons'\n }\n },\n scrollX: {\n enabled: true,\n gt: 1\n },\n scrollY: {\n enabled: true,\n gt: 1\n },\n height: 300,\n index: true,\n searchBtn: false,\n emptyBtn: false,\n menu: false,\n header: false,\n columns: [\n /* {\r\n title: '序号',\r\n field: 'sort',\r\n width: 80,\r\n },*/\n {\n type: \"seq\",\n className: 'move',\n width: 60,\n title: \"序号\"\n }, {\n title: '按钮名称',\n field: 'name',\n editRender: {\n name: 'input'\n }\n }, {\n title: '定义编码',\n field: 'code',\n editRender: {\n name: 'input',\n events: {\n change: ({\n row\n }) => {\n setTimeout(() => {\n if (row.code != '') {\n row.clickCallBackMethod = row.code + \"ButClick\";\n } else {\n row.clickCallBackMethod = '';\n }\n }, 100);\n }\n }\n }\n }, {\n title: '图标',\n field: 'icon',\n editRender: {\n name: 'input'\n }\n }, {\n title: '主题',\n field: 'status',\n editRender: {\n name: 'input'\n }\n }, {\n title: '是否启用表单',\n field: 'isForm',\n slots: {\n // 使用插槽模板渲染\n default: 'checkedBox_default'\n }\n }, {\n title: '单击回调方法',\n visible: props.type == 'toolButOptions',\n field: 'clickCallBackMethod'\n }, {\n title: '自定义函数',\n field: 'customFunction',\n slots: {\n // 使用插槽模板渲染\n default: 'codemirror'\n }\n }, {\n title: '参数1',\n field: 'beforeFunction',\n slots: {\n // 使用插槽模板渲染\n default: 'codemirror'\n }\n }, {\n title: '参数2',\n field: 'afterFunction',\n slots: {\n // 使用插槽模板渲染\n default: 'codemirror'\n }\n }, {\n title: 'json',\n field: 'json',\n slots: {\n // 使用插槽模板渲染\n default: 'codemirror'\n }\n }, {\n title: '默认',\n children: [{\n title: '禁用',\n field: 'defaultDisabled',\n visible: props.type == 'toolButOptions',\n width: 80,\n slots: {\n // 使用插槽模板渲染\n default: 'switch_default'\n }\n }, {\n title: '显示',\n field: 'defaultShow',\n visible: props.type == 'toolButOptions',\n width: 80,\n slots: {\n // 使用插槽模板渲染\n default: 'switch_default'\n }\n }]\n }, {\n title: '回调方法',\n children: [{\n title: '单击(click)',\n field: 'clickCallBackMethod',\n visible: props.type != 'toolButOptions'\n }, {\n title: '显示(show)',\n field: 'showCallBack',\n visible: props.type != 'toolButOptions',\n slots: {\n // 使用插槽模板渲染\n default: 'codemirror'\n }\n }, {\n title: '禁用(disabled)',\n field: 'disabledCallBack',\n visible: props.type != 'toolButOptions',\n slots: {\n // 使用插槽模板渲染\n default: 'codemirror'\n }\n }]\n }, {\n title: '操作',\n field: 'operation',\n width: 80,\n slots: {\n // 使用插槽模板渲染\n default: 'operation'\n }\n }]\n });\n const checkbox = params => {\n console.log(params);\n };\n const onAdd = () => {\n let newBtn = {\n name: '',\n code: '',\n defaultShow: '1',\n deleted: 0,\n isForm: 0,\n seq: getDataSource().length + 1,\n sort: getDataSource().length + 1\n };\n if (props.alignMode) {\n newBtn.alignMode = props.alignMode;\n }\n configData.form[props.type].push(newBtn);\n loadData();\n setTimeout(() => {\n tableRef.value.setEditRow(tableRef.value.getData(newBtn.sort), 'name');\n }, 500);\n };\n const removeBtn = (row, rowIndex) => {\n configData.form[props.type].splice(rowIndex, 1);\n let index = 0;\n for (var obj of configData.form[props.type.replaceAll(\"Options\", \"\")]) {\n if (obj == row.code) {\n configData.form[props.type.replaceAll(\"Options\", \"\")].splice(index, 1);\n return;\n }\n index++;\n }\n };\n const editClosedEvent = ({\n row,\n column\n }) => {\n const $table = tableRef.value;\n if ($table) {\n const field = column.field;\n const cellValue = row[field];\n // 判断单元格值是否被修改\n if ($table.isUpdateByRow(row, field)) {\n setTimeout(() => {\n vxe_table__WEBPACK_IMPORTED_MODULE_6___default().modal.message({\n content: `局部保存成功! ${field}=${cellValue}`,\n status: 'success'\n });\n // 局部更新单元格为已保存状态\n $table.reloadRow(row, null, field);\n }, 300);\n }\n }\n updateBtnData(configData.form[props.type], props.type);\n };\n function getDataSource() {\n if (props.alignMode) {\n return configData.form[props.type].filter(o => o.alignMode == props.alignMode);\n }\n return configData.form[props.type];\n }\n function loadData() {\n tableRef.value.reloadData(getDataSource());\n }\n function updateSort(oldIndex, newIndex) {\n let newsArr = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_5__.getNewArrData)(oldIndex, newIndex, getDataSource());\n let index = 0;\n for (const obj of newsArr) {\n obj.sort = ++index;\n }\n show.value = false;\n let reverseArr = configData.form[props.type].filter(o => o.alignMode != props.alignMode);\n for (let reverseArrElement of reverseArr) {\n newsArr.push(reverseArrElement);\n }\n configData.form[props.type] = newsArr;\n (0,vue__WEBPACK_IMPORTED_MODULE_4__.nextTick)(() => {\n show.value = true;\n (0,vue__WEBPACK_IMPORTED_MODULE_4__.nextTick)(() => {\n (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_5__.updateSortCall)(tableRef, updateSort);\n });\n });\n }\n (0,vue__WEBPACK_IMPORTED_MODULE_4__.onMounted)(() => {\n (0,vue__WEBPACK_IMPORTED_MODULE_4__.nextTick)(() => {\n (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_5__.updateSortCall)(tableRef, updateSort);\n });\n });\n __expose({\n loadData\n });\n const __returned__ = {\n configData,\n updateBtnData,\n props,\n tableRef,\n show,\n option,\n checkbox,\n onAdd,\n removeBtn,\n editClosedEvent,\n getDataSource,\n loadData,\n updateSort,\n get Delete() {\n return _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_3__.Delete;\n },\n inject: vue__WEBPACK_IMPORTED_MODULE_4__.inject,\n nextTick: vue__WEBPACK_IMPORTED_MODULE_4__.nextTick,\n onMounted: vue__WEBPACK_IMPORTED_MODULE_4__.onMounted,\n reactive: vue__WEBPACK_IMPORTED_MODULE_4__.reactive,\n ref: vue__WEBPACK_IMPORTED_MODULE_4__.ref,\n get getNewArrData() {\n return _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_5__.getNewArrData;\n },\n get updateSortCall() {\n return _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_5__.updateSortCall;\n },\n get VXETable() {\n return (vxe_table__WEBPACK_IMPORTED_MODULE_6___default());\n }\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/table-config/btn-config.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
 
@@ -1840,7 +1840,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1840
1840
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1841
1841
 
1842
1842
  "use strict";
1843
- 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_olCodemirrorTag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"olCodemirrorTag\");\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_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[25] || (_cache[25] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"基础表单\")])),\n _: 1 /* STABLE */,\n __: [25]\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 __: [26]\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[27] || (_cache[27] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"快捷设计\")])),\n _: 1 /* STABLE */,\n __: [27]\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[28] || (_cache[28] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"编码设计\")])),\n _: 1 /* STABLE */,\n __: [28]\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[29] || (_cache[29] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"POST\")])),\n _: 1 /* STABLE */,\n __: [29]\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[30] || (_cache[30] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"PUT\")])),\n _: 1 /* STABLE */,\n __: [30]\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[31] || (_cache[31] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"表单弹框预览\")])),\n _: 1 /* STABLE */,\n __: [31]\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[32] || (_cache[32] = (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 /* CACHED */)), (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 __: [32]\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[33] || (_cache[33] = (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 /* CACHED */)), (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 __: [33]\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 \"label-width\": \"110px\"\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[9] || (_cache[9] = $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 \"label-width\": \"110px\"\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[10] || (_cache[10] = $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 }), (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 \"label-width\": \"110px\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n modelValue: $setup.otherProp.beforeInit,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => $setup.otherProp.beforeInit = $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 \"label-width\": \"110px\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n modelValue: $setup.otherProp.afterInit,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => $setup.otherProp.afterInit = $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 }), (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\": \"517px\"\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[13] || (_cache[13] = $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[14] || (_cache[14] = $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[15] || (_cache[15] = $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[18] || (_cache[18] = $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[34] || (_cache[34] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"字段\")])),\n _: 1 /* STABLE */,\n __: [34]\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 1,\n label: 1,\n onClick: _cache[16] || (_cache[16] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $setup.copeFiledMethod(1), [\"stop\"]))\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 __: [35]\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 2,\n label: 2,\n onClick: _cache[17] || (_cache[17] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $setup.copeFiledMethod(2), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[36] || (_cache[36] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"显示\")])),\n _: 1 /* STABLE */,\n __: [36]\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[19] || (_cache[19] = $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[20] || (_cache[20] = $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[21] || (_cache[21] = $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[37] || (_cache[37] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"新增列\")])),\n _: 1 /* STABLE */,\n __: [37]\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\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[22] || (_cache[22] = $event => $setup.refreshForm())\n }, {\n attrs: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [row.selectDom !== '22' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_olCodemirrorTag, {\n key: 0,\n size: \"medium\",\n modelValue: row.form['attrs'],\n \"onUpdate:modelValue\": $event => row.form['attrs'] = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), row.selectDom === '22' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"OlTableSelectConfig\"], {\n key: 1,\n size: \"medium\",\n modelValue: row.form['attrs'],\n \"onUpdate:modelValue\": $event => row.form['attrs'] = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\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[38] || (_cache[38] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"vxe-icon-sort\"\n }, null, -1 /* CACHED */)])),\n _: 1 /* STABLE */,\n __: [38]\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[23] || (_cache[23] = $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[24] || (_cache[24] = $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[39] || (_cache[39] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"生成\")])),\n _: 1 /* STABLE */,\n __: [39]\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");
1843
+ 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_olCodemirrorTag = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"olCodemirrorTag\");\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_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 size: \"small\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_row, {\n gutter: 20\n }, {\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[27] || (_cache[27] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"基础表单\")])),\n _: 1 /* STABLE */,\n __: [27]\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[28] || (_cache[28] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"设计器表单\")])),\n _: 1 /* STABLE */,\n __: [28]\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[29] || (_cache[29] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"快捷设计\")])),\n _: 1 /* STABLE */,\n __: [29]\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[30] || (_cache[30] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"编码设计\")])),\n _: 1 /* STABLE */,\n __: [30]\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[31] || (_cache[31] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"POST\")])),\n _: 1 /* STABLE */,\n __: [31]\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[32] || (_cache[32] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"PUT\")])),\n _: 1 /* STABLE */,\n __: [32]\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[33] || (_cache[33] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"表单弹框预览\")])),\n _: 1 /* STABLE */,\n __: [33]\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)(() => [(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 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)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"uuid\"\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)(() => [(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.otherProp.createBy,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => $setup.otherProp.createBy = $event)\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: 4\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.otherProp.updateBy,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => $setup.otherProp.updateBy = $event)\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: 4\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"保存前调用方法\",\n \"label-width\": \"110px\"\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[11] || (_cache[11] = $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: 4\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"保存后调用方法\",\n \"label-width\": \"110px\"\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[12] || (_cache[12] = $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 }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_col, {\n span: 4\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"初始化前调用方法\",\n \"label-width\": \"110px\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n modelValue: $setup.otherProp.beforeInit,\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => $setup.otherProp.beforeInit = $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: 4\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"初始化后调用方法\",\n \"label-width\": \"110px\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_olCodemirrorTag, {\n modelValue: $setup.otherProp.afterInit,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => $setup.otherProp.afterInit = $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 }), (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\": \"517px\"\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[15] || (_cache[15] = $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[16] || (_cache[16] = $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[17] || (_cache[17] = $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[20] || (_cache[20] = $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[34] || (_cache[34] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"字段\")])),\n _: 1 /* STABLE */,\n __: [34]\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 1,\n label: 1,\n onClick: _cache[18] || (_cache[18] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $setup.copeFiledMethod(1), [\"stop\"]))\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 __: [35]\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_radio, {\n value: 2,\n label: 2,\n onClick: _cache[19] || (_cache[19] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($event => $setup.copeFiledMethod(2), [\"stop\"]))\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[36] || (_cache[36] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"显示\")])),\n _: 1 /* STABLE */,\n __: [36]\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[21] || (_cache[21] = $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[22] || (_cache[22] = $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[23] || (_cache[23] = $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[37] || (_cache[37] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"新增列\")])),\n _: 1 /* STABLE */,\n __: [37]\n })) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\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[24] || (_cache[24] = $event => $setup.refreshForm())\n }, {\n attrs: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [row.selectDom !== '22' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_olCodemirrorTag, {\n key: 0,\n size: \"medium\",\n modelValue: row.form['attrs'],\n \"onUpdate:modelValue\": $event => row.form['attrs'] = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), row.selectDom === '22' ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)($setup[\"OlTableSelectConfig\"], {\n key: 1,\n size: \"medium\",\n modelValue: row.form['attrs'],\n \"onUpdate:modelValue\": $event => row.form['attrs'] = $event\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\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[38] || (_cache[38] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"vxe-icon-sort\"\n }, null, -1 /* CACHED */)])),\n _: 1 /* STABLE */,\n __: [38]\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[25] || (_cache[25] = $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[26] || (_cache[26] = $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[39] || (_cache[39] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"生成\")])),\n _: 1 /* STABLE */,\n __: [39]\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");
1844
1844
 
1845
1845
  /***/ }),
1846
1846
 
@@ -10956,7 +10956,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _com
10956
10956
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10957
10957
 
10958
10958
  "use strict";
10959
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ storeDict: function() { return /* binding */ storeDict; }\n/* harmony export */ });\n/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pinia */ \"pinia\");\n/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pinia__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/http/httpUtil */ \"./src/utils/http/httpUtil.js\");\n\nconst DIST = \"ONLINE-DEVELOPMENT-TABLE-DIST\";\n\nif (!(0,pinia__WEBPACK_IMPORTED_MODULE_0__.getActivePinia)()) {\n (0,pinia__WEBPACK_IMPORTED_MODULE_0__.setActivePinia)((0,pinia__WEBPACK_IMPORTED_MODULE_0__.createPinia)());\n}\nconst storeDict = (0,pinia__WEBPACK_IMPORTED_MODULE_0__.defineStore)(DIST, {\n state: () => {\n return {\n value: {},\n //{type:[]} 数组形式\n object: {},\n //对象形式\n isInit: true\n };\n },\n getters: {\n val: state => {\n return code => {\n return state.value[code];\n };\n },\n obj: state => {\n return code => state.object[code];\n },\n default: state => {\n return async code => {\n if (state.value[code]) {\n for (let o of state.value[code]) {\n if (o.isDefault == 1) {\n return String(o.value);\n }\n }\n }\n };\n }\n },\n actions: {\n async init() {\n if (this.isInit) {\n await this.initValue();\n }\n },\n async initValue() {\n let dictItems = localStorage.getItem(DIST);\n if (dictItems) {\n let value = JSON.parse(dictItems);\n this.value = value;\n let obj = {};\n for (let key of Object.keys(value)) {\n for (let o of value[key]) {\n o.label = o.dictLabel;\n o.value = String(o.dictValue);\n obj[o.dictCode] = o;\n }\n }\n this.object = obj;\n this.isInit = false;\n } else {\n console.log(\"数据字典未初始化:\" + DIST);\n //await this.refresh()\n }\n },\n async refresh() {\n localStorage.removeItem(DIST);\n await (0,_utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_1__.get)('/online/sysDictData/initDist').then(value => {\n //await get( '/online/sysDictData/listOnline').then((value) => {\n let obj = {};\n for (let key of Object.keys(value)) {\n for (let o of value[key]) {\n o.label = o.dictLabel;\n o.value = String(o.dictValue);\n obj[o.dictCode] = o;\n }\n }\n this.value = value;\n this.object = obj;\n localStorage.setItem(DIST, JSON.stringify(value));\n });\n }\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/store/dict.js?");
10959
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ storeDict: function() { return /* binding */ storeDict; }\n/* harmony export */ });\n/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pinia */ \"pinia\");\n/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pinia__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/http/httpUtil */ \"./src/utils/http/httpUtil.js\");\n\nconst DIST = \"ONLINE-DEVELOPMENT-TABLE-DIST\";\n\nif (!(0,pinia__WEBPACK_IMPORTED_MODULE_0__.getActivePinia)()) {\n (0,pinia__WEBPACK_IMPORTED_MODULE_0__.setActivePinia)((0,pinia__WEBPACK_IMPORTED_MODULE_0__.createPinia)());\n}\nconst storeDict = (0,pinia__WEBPACK_IMPORTED_MODULE_0__.defineStore)(DIST, {\n state: () => {\n return {\n value: {},\n //{type:[]} 数组形式\n object: {},\n //对象形式\n isInit: true\n };\n },\n getters: {\n val: state => {\n return code => {\n return state.value[code];\n };\n },\n obj: state => {\n return code => state.object[code];\n },\n default: state => {\n return async code => {\n if (state.value[code]) {\n for (let o of state.value[code]) {\n if (o.isDefault == 1) {\n return String(o.value);\n }\n }\n }\n };\n }\n },\n actions: {\n async init() {\n if (this.isInit) {\n await this.initValue();\n }\n },\n async initValue() {\n let dictItems = localStorage.getItem(DIST);\n if (dictItems) {\n let value = JSON.parse(dictItems);\n this.value = value;\n let obj = {};\n for (let key of Object.keys(value)) {\n for (let o of value[key]) {\n o.label = o.dictLabel;\n o.value = String(o.dictValue);\n obj[o.dictCode] = o;\n }\n }\n this.object = obj;\n this.isInit = false;\n } else {\n console.log(\"数据字典未初始化:\" + DIST);\n //await this.refresh()\n }\n },\n async refresh() {\n localStorage.removeItem(DIST);\n await (0,_utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_1__.get)('/online/sysDictData/initDist').then(value => {\n // await get( '/online/sysDictData/listOnline').then((value) => {\n let obj = {};\n for (let key of Object.keys(value)) {\n for (let o of value[key]) {\n o.label = o.dictLabel;\n o.value = String(o.dictValue);\n obj[o.dictCode] = o;\n }\n }\n this.value = value;\n this.object = obj;\n localStorage.setItem(DIST, JSON.stringify(value));\n });\n }\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/store/dict.js?");
10960
10960
 
10961
10961
  /***/ }),
10962
10962
 
@@ -10967,7 +10967,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
10967
10967
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10968
10968
 
10969
10969
  "use strict";
10970
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ storeDictType: function() { return /* binding */ storeDictType; }\n/* harmony export */ });\n/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pinia */ \"pinia\");\n/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pinia__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/http/httpUtil */ \"./src/utils/http/httpUtil.js\");\n\n\nconst DIST_TYPE = \"ONLINE-DEVELOPMENT-TABLE-DIST-TYPE\";\nif (!(0,pinia__WEBPACK_IMPORTED_MODULE_0__.getActivePinia)()) {\n (0,pinia__WEBPACK_IMPORTED_MODULE_0__.setActivePinia)((0,pinia__WEBPACK_IMPORTED_MODULE_0__.createPinia)());\n}\nconst storeDictType = (0,pinia__WEBPACK_IMPORTED_MODULE_0__.defineStore)(DIST_TYPE, {\n state: () => {\n return {\n value: [],\n isInit: true,\n http: undefined\n };\n },\n getters: {\n val: state => {\n return () => state.value;\n }\n },\n actions: {\n async init() {\n if (this.isInit) {\n await this.initValue();\n }\n },\n async initValue() {\n let dictItems = localStorage.getItem(DIST_TYPE);\n //let dictItems = undefined;\n if (dictItems) {\n let value = JSON.parse(dictItems);\n this.value = value;\n this.isInit = false;\n } else {\n console.log(\"数据字典未初始化:\" + DIST_TYPE);\n //await this.refresh()\n }\n },\n async refresh() {\n localStorage.removeItem(DIST_TYPE);\n //await get('/online/sysDictType/listOnline').then((v) => {\n await (0,_utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_1__.get)('/online/sysDictType/listDict').then(v => {\n for (let o of v) {\n o.dictLabel = o.name;\n o.dictValue = String(o.code);\n o.label = o.name;\n o.value = String(o.code);\n }\n localStorage.setItem(DIST_TYPE, JSON.stringify(v));\n this.value = v;\n });\n }\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/store/dictType.js?");
10970
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ storeDictType: function() { return /* binding */ storeDictType; }\n/* harmony export */ });\n/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pinia */ \"pinia\");\n/* harmony import */ var pinia__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pinia__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/http/httpUtil */ \"./src/utils/http/httpUtil.js\");\n\n\nconst DIST_TYPE = \"ONLINE-DEVELOPMENT-TABLE-DIST-TYPE\";\nif (!(0,pinia__WEBPACK_IMPORTED_MODULE_0__.getActivePinia)()) {\n (0,pinia__WEBPACK_IMPORTED_MODULE_0__.setActivePinia)((0,pinia__WEBPACK_IMPORTED_MODULE_0__.createPinia)());\n}\nconst storeDictType = (0,pinia__WEBPACK_IMPORTED_MODULE_0__.defineStore)(DIST_TYPE, {\n state: () => {\n return {\n value: [],\n isInit: true,\n http: undefined\n };\n },\n getters: {\n val: state => {\n return () => state.value;\n }\n },\n actions: {\n async init() {\n if (this.isInit) {\n await this.initValue();\n }\n },\n async initValue() {\n let dictItems = localStorage.getItem(DIST_TYPE);\n //let dictItems = undefined;\n if (dictItems) {\n let value = JSON.parse(dictItems);\n this.value = value;\n this.isInit = false;\n } else {\n console.log(\"数据字典未初始化:\" + DIST_TYPE);\n //await this.refresh()\n }\n },\n async refresh() {\n localStorage.removeItem(DIST_TYPE);\n // await get('/online/sysDictType/listOnline').then((v) => {\n await (0,_utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_1__.get)('/online/sysDictType/listDict').then(v => {\n for (let o of v) {\n o.dictLabel = o.name;\n o.dictValue = String(o.code);\n o.label = o.name;\n o.value = String(o.code);\n }\n localStorage.setItem(DIST_TYPE, JSON.stringify(v));\n this.value = v;\n });\n }\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/store/dictType.js?");
10971
10971
 
10972
10972
  /***/ }),
10973
10973