olp-table 7.2.55 → 7.2.57
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.
- package/bundle-report.html +3 -3
- package/olp-table.common.js +10 -10
- package/olp-table.umd.js +10 -10
- package/olp-table.umd.min.js +10 -10
- package/package.json +1 -1
package/olp-table.umd.min.js
CHANGED
|
@@ -278,7 +278,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
278
278
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
279
279
|
|
|
280
280
|
"use strict";
|
|
281
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var element_plus_dist_index_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! element-plus/dist/index.css */ \"./node_modules/element-plus/dist/index.css\");\n/* harmony import */ var element_plus_dist_index_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_plus_dist_index_css__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _smallwei_avue_lib_index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smallwei/avue/lib/index.css */ \"./node_modules/@smallwei/avue/lib/index.css\");\n/* harmony import */ var _smallwei_avue_lib_index_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_smallwei_avue_lib_index_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vxe_table_lib_style_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vxe-table/lib/style.css */ \"./node_modules/vxe-table/lib/style.css\");\n/* harmony import */ var vxe_table_lib_style_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vxe_table_lib_style_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _components_auto_height_index_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/auto-height/index.vue */ \"./src/components/auto-height/index.vue\");\n/* harmony import */ var _components_tree_index_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/tree/index.vue */ \"./src/components/tree/index.vue\");\n/* harmony import */ var _utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/http/httpUtil */ \"./src/utils/http/httpUtil.js\");\n/* harmony import */ var _components_table_model_model_index_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/table/model/model-index.vue */ \"./src/components/table/model/model-index.vue\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _components_ol_dialog_upload_file_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/ol-dialog-upload-file.vue */ \"./src/components/ol-dialog-upload-file.vue\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _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_7__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_8__.storeDictType)();\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'olTable',\n components: {\n OlTableSelect: _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n OlDialogUploadFile: _components_ol_dialog_upload_file_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n ModelIndex: _components_table_model_model_index_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n OlTree: _components_tree_index_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n AutoHeight: _components_auto_height_index_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n provide() {\n return {\n http: _utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n tableAll: this.table\n };\n },\n data() {\n return {\n uuid: '
|
|
281
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var element_plus_dist_index_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! element-plus/dist/index.css */ \"./node_modules/element-plus/dist/index.css\");\n/* harmony import */ var element_plus_dist_index_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(element_plus_dist_index_css__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _smallwei_avue_lib_index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @smallwei/avue/lib/index.css */ \"./node_modules/@smallwei/avue/lib/index.css\");\n/* harmony import */ var _smallwei_avue_lib_index_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_smallwei_avue_lib_index_css__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vxe_table_lib_style_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vxe-table/lib/style.css */ \"./node_modules/vxe-table/lib/style.css\");\n/* harmony import */ var vxe_table_lib_style_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vxe_table_lib_style_css__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _components_auto_height_index_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/auto-height/index.vue */ \"./src/components/auto-height/index.vue\");\n/* harmony import */ var _components_tree_index_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/tree/index.vue */ \"./src/components/tree/index.vue\");\n/* harmony import */ var _utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/http/httpUtil */ \"./src/utils/http/httpUtil.js\");\n/* harmony import */ var _components_table_model_model_index_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/table/model/model-index.vue */ \"./src/components/table/model/model-index.vue\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _components_ol_dialog_upload_file_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/ol-dialog-upload-file.vue */ \"./src/components/ol-dialog-upload-file.vue\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _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_7__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_8__.storeDictType)();\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'olTable',\n components: {\n OlTableSelect: _components_ol_table_select_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n OlDialogUploadFile: _components_ol_dialog_upload_file_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n ModelIndex: _components_table_model_model_index_vue__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n OlTree: _components_tree_index_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n AutoHeight: _components_auto_height_index_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n provide() {\n return {\n http: _utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n tableAll: this.table\n };\n },\n data() {\n return {\n uuid: '2011748778528022528',\n treeUuid: '1815551679408418816',\n table: {},\n http: _utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n formConfig: undefined\n };\n },\n methods: {\n nodeClick(e) {\n console.log(e);\n this.uuid = undefined;\n this.$nextTick(() => {\n this.uuid = e.uuid;\n });\n },\n initOk({\n theme,\n table,\n customerForm\n }) {\n if (theme == 't1') {\n this.formConfig = table.formConfig; //给原有的自定义搜索\n //customerForm();//执行自定义表单,这个方法会隐藏table的表单,隐藏搜索按钮\n }\n console.log(this.formConfig);\n },\n //主子表更新或者保存\n testSave() {\n let params = {\n dbName: 'online',\n //数据库名称\n tableName: 'sys_dict_type',\n //主表名称\n mianColumnAndValueMap: {\n id: '1231564546',\n name: '韦邦杠',\n sex: ''\n },\n //保存主表的数据{表字段:value}\n //mainGenIdMap:{id: 'uuid'} //主表要自动生成的唯一字段 如果没有 可以忽略\n mainTableKey: ['code'],\n //主表的唯一字段\n subTables: [{\n subTableName: 'sys_dict_data',\n //子表名称\n subColumnAndValueList: [{\n dict_code: 'test_code_2',\n dict_value: '1',\n dict_label: 'label'\n }],\n //子表子主表的数据\n subGenIdMap: {\n id: 'uuid'\n },\n //子表要自动生成的唯一字段 如果没有 可以忽略\n subTableKey: ['id'],\n //子表的唯一字段\n subForeignKey: {\n 'code': 'dict_type'\n },\n //表的关联key,这里框架自动复制 {主表字段,子表的字段}\n subDeleteMapWhere: {}\n }]\n };\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.postAes)(this.http, \"/online/crudAes/saveMainAndSubs\", params);\n },\n //主子表删除\n testDelete() {\n let params = {\n dbName: 'online',\n //数据库名称\n tableName: 'sys_dict_type',\n //主表名称\n subTableName: 'sys_dict_data',\n //子表名称\n whereMap: {\n id: 'test_code'\n },\n //主表删除条件\n subForeignKey: {\n 'id': 'parent_id'\n } ////表的关联key,{主表字段,子表的字段}\n };\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.postAes)(this.http, \"/online/crudAes/deleteMainAndSubs\", params);\n },\n //单表更新\n updateOne() {\n let params = {\n dbName: 'online',\n //数据库名称\n tableName: 'sys_dict_type',\n //主表名称\n columnAndValueMap: {\n code: 'test_code',\n sex: 'xxx'\n },\n //更新字段\n whereMap: {\n code: 'test_code'\n } //更新条件\n };\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.postAes)(this.http, \"/online/crudAes/modify\", params);\n },\n //单表批量更新\n updateBatch() {\n let params = {\n dbName: 'online',\n //数据库名称\n tableName: 'sys_dict_type',\n //主表名称\n list: [{\n columnAndValueMap: {\n code: 'test_code'\n },\n //更新字段\n whereMap: {\n code: 'test_code'\n }\n } //更新条件}\n ]\n };\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_10__.postAes)(this.http, \"/online/crudAes/batchModify\", params);\n }\n },\n created() {\n dict.refresh();\n dictType.refresh();\n window.$onlineHttps = _utils_http_httpUtil__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n //this.testDelete();\n //this.nodeClick({uuid:'1787452516924563456'})\n //window.olpTableAxiosBaseURL = \"http://localhost:48090/\"\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/App.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
|
|
282
282
|
|
|
283
283
|
/***/ }),
|
|
284
284
|
|
|
@@ -487,7 +487,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
|
|
|
487
487
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
488
488
|
|
|
489
489
|
"use strict";
|
|
490
|
-
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 _components_table_model_model_index_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/table/model/model-index.vue */ \"./src/components/table/model/model-index.vue\");\n/* harmony import */ var _components_ol_dialog_table_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ol-dialog-table.vue */ \"./src/components/ol-dialog-table.vue\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'olTableSelect',\n components: {\n OlDialogTable: _components_ol_dialog_table_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ModelIndex: _components_table_model_model_index_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n props: {\n defaultValue: {\n required: false,\n default: ''\n },\n slotName: {\n required: false\n },\n uuid: {\n required: true\n },\n http: {},\n config: {},\n disabled: {\n default: false\n }\n },\n provide() {\n return {\n tableAll: this.table,\n http: this.http\n };\n },\n data() {\n return {\n selectDataList: [],\n dialogVisible: false,\n selectValue: {\n value: this.defaultValue,\n label: '',\n data: []\n },\n dialogKey: 1\n };\n },\n watch: {\n defaultValue() {\n this.selectValue.value = this.defaultValue;\n }\n },\n computed: {\n selectionMode() {\n return this.config.rowSelect ? 'none' : '';\n },\n tableInitConfig() {\n return {\n uuid: this.uuid,\n title: '选择数据',\n mode: this.selectionMode\n };\n }\n },\n methods: {\n //打开表格选择组件\n openTable() {\n if (this.disabled) {\n return;\n }\n this.dialogKey++; //每次打开对话框时,key值加1,防止对话框重复渲染\n this.dialogVisible = true; //打开对话框\n this.$refs.table.init(this.tableInitConfig);\n },\n //选中数据按钮回调\n getSelectRowChangeButClick({\n v\n }) {\n if (!v) {\n return;\n }\n let rows = v;\n if (rows.length === 0) {\n this.clearedSelectValue(); //清空下拉框的值\n this.dialogVisible = false; //关闭对话框\n return;\n }\n for (const row of rows) {\n let label = this.config.labelIsAppendCode ? `[${row[this.config.key]}]${row[this.config.label]}` : row[this.config.label];\n this.selectDataList.push({\n label: label,\n value: row[this.config.key]\n });\n }\n\n //选中第一行数据,目前暂时支持单选\n this.selectValue = {\n value: rows[0][this.config.key],\n label: rows[0][this.config.label],\n data: rows[0]\n };\n this.updateValue(); //更新下拉框的值\n this.dialogVisible = false; //关闭对话框\n this.$refs.table.cancelEvent();\n },\n //关闭选择数据按钮回调\n getSelectRowCloseButClick() {\n this.dialogVisible = false;\n },\n //更新父组件的值\n updateValue() {\n this.$emit('olTableSelectChange', this.slotName, this.selectValue);\n },\n clearedSelectValue() {\n this.selectValue = {\n value: '',\n label: '',\n data: []\n };\n this.updateValue(); //更新下拉框的值\n this.$refs.table.cancelEvent();\n },\n initDefaultValue() {\n console.log('this.config:', this.config);\n if (!this.defaultValue?.toString().trim()) {\n return;\n }\n let params = {\n id: this.uuid,\n theme: \"t1\",\n enablePage: false,\n queryParameterListAnd: [{\n key: this.config.key,\n value: this.defaultValue\n }]\n };\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_3__.postAes)(this.http, '/online/crudAes/query', params, false, false).then(({\n data\n }) => {\n this.getSelectRowChangeButClick({\n v: data.listData\n });\n });\n }\n },\n created() {\n this.initDefaultValue();\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/ol-table-select.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
|
|
490
|
+
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 _components_table_model_model_index_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/table/model/model-index.vue */ \"./src/components/table/model/model-index.vue\");\n/* harmony import */ var _components_ol_dialog_table_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ol-dialog-table.vue */ \"./src/components/ol-dialog-table.vue\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'olTableSelect',\n components: {\n OlDialogTable: _components_ol_dialog_table_vue__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ModelIndex: _components_table_model_model_index_vue__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n },\n props: {\n defaultValue: {\n required: false,\n default: ''\n },\n slotName: {\n required: false\n },\n uuid: {\n required: true\n },\n http: {},\n config: {},\n disabled: {\n default: false\n }\n },\n provide() {\n return {\n tableAll: this.table,\n http: this.http\n };\n },\n data() {\n return {\n selectDataList: [],\n dialogVisible: false,\n selectValue: {\n value: this.defaultValue,\n label: '',\n data: []\n },\n dialogKey: 1\n };\n },\n watch: {\n defaultValue() {\n this.selectValue.value = this.defaultValue;\n }\n },\n computed: {\n selectionMode() {\n return this.config.rowSelect ? 'none' : '';\n },\n tableInitConfig() {\n return {\n uuid: this.uuid,\n title: '选择数据',\n mode: this.selectionMode\n };\n }\n },\n methods: {\n //打开表格选择组件\n openTable() {\n if (this.disabled) {\n return;\n }\n this.dialogKey++; //每次打开对话框时,key值加1,防止对话框重复渲染\n this.dialogVisible = true; //打开对话框\n this.$refs.table.init(this.tableInitConfig);\n },\n //选中数据按钮回调\n getSelectRowChangeButClick({\n v\n }) {\n if (!v) {\n return;\n }\n let rows = v;\n if (rows.length === 0) {\n this.clearedSelectValue(); //清空下拉框的值\n this.dialogVisible = false; //关闭对话框\n return;\n }\n for (const row of rows) {\n let label = this.config.labelIsAppendCode ? `[${row[this.config.key]}]${row[this.config.label]}` : row[this.config.label];\n this.selectDataList.push({\n label: label,\n value: row[this.config.key]\n });\n }\n\n //选中第一行数据,目前暂时支持单选\n this.selectValue = {\n value: rows[0][this.config.key],\n label: rows[0][this.config.label],\n data: rows[0]\n };\n this.updateValue(); //更新下拉框的值\n this.dialogVisible = false; //关闭对话框\n this.$refs.table.cancelEvent();\n },\n //关闭选择数据按钮回调\n getSelectRowCloseButClick() {\n this.dialogVisible = false;\n },\n //更新父组件的值\n updateValue() {\n this.$emit('olTableSelectChange', this.slotName, this.selectValue);\n },\n clearedSelectValue() {\n this.selectValue = {\n value: '',\n label: '',\n data: []\n };\n this.updateValue(); //更新下拉框的值\n this.$refs.table.cancelEvent();\n },\n initDefaultValue() {\n console.log('this.config:', this.config);\n if (!this.defaultValue?.toString().trim()) {\n return;\n }\n let params = {\n id: this.uuid,\n theme: \"t1\",\n enablePage: false,\n queryParameterListAnd: [{\n key: this.config.key,\n value: this.defaultValue\n }]\n };\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_3__.postAes)(this.http, '/online/crudAes/query', params, false, false).then(({\n data\n }) => {\n this.getSelectRowChangeButClick({\n v: data.listData\n });\n });\n }\n },\n created() {\n console.clear();\n console.log('表格选取组件 props:', JSON.stringify(this.$props, null, 2));\n this.initDefaultValue();\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/ol-table-select.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
|
|
491
491
|
|
|
492
492
|
/***/ }),
|
|
493
493
|
|
|
@@ -718,7 +718,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
|
|
|
718
718
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
719
719
|
|
|
720
720
|
"use strict";
|
|
721
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mixins_VTMixin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/mixins/VTMixin */ \"./src/mixins/VTMixin/index.js\");\n/* harmony import */ var _components_table_ol_table_operate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/table/ol-table-operate */ \"./src/components/table/ol-table-operate/index.vue\");\n/* harmony import */ var _components_table_ol_pager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/table/ol-pager */ \"./src/components/table/ol-pager/index.vue\");\n/* harmony import */ var _components_table_ol_form__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/table/ol-form */ \"./src/components/table/ol-form/index.vue\");\n/* harmony import */ var _components_table_ol_table_components_ol_table_column_config_index_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/table/ol-table/components/ol-table-column-config/index.vue */ \"./src/components/table/ol-table/components/ol-table-column-config/index.vue\");\n/* harmony import */ var _components_table_ol_table_tool_btn_index_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/table/ol-table-tool-btn/index.vue */ \"./src/components/table/ol-table-tool-btn/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 _components_table_ol_table_components_ol_table_column_dict_color_index_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/table/ol-table/components/ol-table-column-dict-color/index.vue */ \"./src/components/table/ol-table/components/ol-table-column-dict-color/index.vue\");\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 _utils_columnProp__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/utils/columnProp */ \"./src/utils/columnProp.js\");\n/* harmony import */ var _components_table_ol_main_form_sub_table_index_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/table/ol-main-form-sub-table/index.vue */ \"./src/components/table/ol-main-form-sub-table/index.vue\");\n/* harmony import */ var _store_permi__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/store/permi */ \"./src/store/permi.js\");\n/* harmony import */ var _utils_filterUtil__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/utils/filterUtil */ \"./src/utils/filterUtil.js\");\n/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/components/Icon */ \"./src/components/Icon/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// 注册筛选器\n(0,_utils_filterUtil__WEBPACK_IMPORTED_MODULE_13__.registerFilterRenderer)();\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_8__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_9__.storeDictType)();\nconst permi = (0,_store_permi__WEBPACK_IMPORTED_MODULE_12__.storePermi)();\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'olTable',\n props: {\n theme: {\n type: String\n },\n initDataSource: {\n default: true\n }\n },\n mixins: [_mixins_VTMixin__WEBPACK_IMPORTED_MODULE_0__.OTMixin],\n components: {\n OlMainFormSubTable: _components_table_ol_main_form_sub_table_index_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n OlTableColumnDictColor: _components_table_ol_table_components_ol_table_column_dict_color_index_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n Delete: _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_6__.Delete,\n OlTableToolBtn: _components_table_ol_table_tool_btn_index_vue__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n OlTableColumnConfig: _components_table_ol_table_components_ol_table_column_config_index_vue__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n olTableOperate: _components_table_ol_table_operate__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n olPager: _components_table_ol_pager__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n olForm: _components_table_ol_form__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n Icon: _components_Icon__WEBPACK_IMPORTED_MODULE_14__.Icon\n },\n data() {\n return {\n uuid: this.$attrs.uuid,\n videoDialogVisible: false,\n currentVideoSrc: ''\n };\n },\n methods: {\n showToolName(code) {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return true;\n }\n }\n return false;\n },\n getFiledName: _utils_columnProp__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n getSelectTableValue(column, row) {\n let cellValue = row[column['property']];\n let v = this.getPKArrays(cellValue);\n let labels = '';\n for (let k of v) {\n let d = column.params.tableDataObj[k];\n if (d != undefined) {\n if (labels.length > 0) {\n labels += \",\";\n }\n labels += column.params.tableDataObj[k];\n }\n }\n return labels || \"请选择\";\n },\n handleClose() {\n this.selectRowChange();\n },\n getSlotName(name) {\n return name + \"_\" + this.theme;\n },\n openVideoDialog(src) {\n this.currentVideoSrc = src;\n this.videoDialogVisible = true;\n },\n preventOriginalPlay(player) {\n player.pause();\n },\n filterFields() {},\n initFilterValues() {},\n handleFilter() {},\n handleReset() {}\n },\n mounted() {\n setTimeout(() => {\n this.updateSort();\n }, 500);\n },\n created() {\n dict.init();\n dictType.init();\n permi.init();\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-table/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
|
|
721
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.find.js */ \"./node_modules/core-js/modules/es.iterator.find.js\");\n/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var 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 _mixins_VTMixin__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/mixins/VTMixin */ \"./src/mixins/VTMixin/index.js\");\n/* harmony import */ var _components_table_ol_table_operate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/table/ol-table-operate */ \"./src/components/table/ol-table-operate/index.vue\");\n/* harmony import */ var _components_table_ol_pager__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/table/ol-pager */ \"./src/components/table/ol-pager/index.vue\");\n/* harmony import */ var _components_table_ol_form__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/table/ol-form */ \"./src/components/table/ol-form/index.vue\");\n/* harmony import */ var _components_table_ol_table_components_ol_table_column_config_index_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/table/ol-table/components/ol-table-column-config/index.vue */ \"./src/components/table/ol-table/components/ol-table-column-config/index.vue\");\n/* harmony import */ var _components_table_ol_table_tool_btn_index_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/table/ol-table-tool-btn/index.vue */ \"./src/components/table/ol-table-tool-btn/index.vue\");\n/* harmony import */ var _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @element-plus/icons-vue */ \"@element-plus/icons-vue\");\n/* harmony import */ var _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _components_table_ol_table_components_ol_table_column_dict_color_index_vue__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/table/ol-table/components/ol-table-column-dict-color/index.vue */ \"./src/components/table/ol-table/components/ol-table-column-dict-color/index.vue\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_columnProp__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/utils/columnProp */ \"./src/utils/columnProp.js\");\n/* harmony import */ var _components_table_ol_main_form_sub_table_index_vue__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/components/table/ol-main-form-sub-table/index.vue */ \"./src/components/table/ol-main-form-sub-table/index.vue\");\n/* harmony import */ var _store_permi__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/store/permi */ \"./src/store/permi.js\");\n/* harmony import */ var _utils_filterUtil__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/utils/filterUtil */ \"./src/utils/filterUtil.js\");\n/* harmony import */ var _components_Icon__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/components/Icon */ \"./src/components/Icon/index.js\");\n/* harmony import */ var _components_ol_dialog_table_vue__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/components/ol-dialog-table.vue */ \"./src/components/ol-dialog-table.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// 注册筛选器\n(0,_utils_filterUtil__WEBPACK_IMPORTED_MODULE_17__.registerFilterRenderer)();\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_12__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_13__.storeDictType)();\nconst permi = (0,_store_permi__WEBPACK_IMPORTED_MODULE_16__.storePermi)();\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'olTable',\n props: {\n theme: {\n type: String\n },\n initDataSource: {\n default: true\n }\n },\n mixins: [_mixins_VTMixin__WEBPACK_IMPORTED_MODULE_4__.OTMixin],\n components: {\n OlDialogTable: _components_ol_dialog_table_vue__WEBPACK_IMPORTED_MODULE_19__[\"default\"],\n OlMainFormSubTable: _components_table_ol_main_form_sub_table_index_vue__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n OlTableColumnDictColor: _components_table_ol_table_components_ol_table_column_dict_color_index_vue__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n Delete: _element_plus_icons_vue__WEBPACK_IMPORTED_MODULE_10__.Delete,\n OlTableToolBtn: _components_table_ol_table_tool_btn_index_vue__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n OlTableColumnConfig: _components_table_ol_table_components_ol_table_column_config_index_vue__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n olTableOperate: _components_table_ol_table_operate__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n olPager: _components_table_ol_pager__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n olForm: _components_table_ol_form__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n Icon: _components_Icon__WEBPACK_IMPORTED_MODULE_18__.Icon\n },\n data() {\n return {\n uuid: this.$attrs.uuid,\n videoDialogVisible: false,\n currentVideoSrc: '',\n selectTable: {\n config: {\n uuid: ''\n }\n }\n };\n },\n methods: {\n showToolName(code) {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return true;\n }\n }\n return false;\n },\n isOpenSelectTable(column) {\n const columnSource = this.table.columnSource.find(o => o.field === column.field);\n if (!(columnSource.editDisplay === '1' || columnSource.addDisplay === '1')) {\n return false; //如果不是可编辑字段,那么返回\n }\n if (!columnSource.tableSelectConfToOtherProp) {\n return false;\n }\n if (!JSON.parse(columnSource.tableSelectConfToOtherProp)?.olTableSelect) {\n return false;\n }\n return true;\n },\n openSelectTable(column, row) {\n this.selectTable.config = {\n uuid: ''\n };\n\n // console.group('表格选取')\n // console.info('column', column)\n // console.info('columnSource', this.table.columnSource)\n // console.info('原始column', this.table.columnSource.find(o=>o.field === column.field))\n // console.info('row', row)\n // console.info('column.params', column.params)\n this.selectTable.column = column;\n this.selectTable.rowData = row;\n this.selectTable.config = JSON.parse(column.params.tableSelectConfToOtherProp).olTableSelect;\n /** 打开表格选取窗口 **/\n this.$refs.selectTableDialogRef.init({\n uuid: this.selectTable.config.uuid,\n title: '选择数据'\n });\n },\n getSelectRowChangeButClick(p) {\n const {\n js,\n v\n } = p; //v是选中的数据对象\n if (!v) {\n return;\n }\n const sourceRowData = v[0];\n\n /*赋值逻辑*/\n //字典回显\n this.selectTable.column.params.tableDataObj[sourceRowData[this.selectTable.config.key]] = sourceRowData[this.selectTable.config.label];\n const otherResult = this.selectTable.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[0],\n sourceField: k[[k.length - 1]]\n });\n });\n console.info('otherResultArray', otherResultArray);\n //给其他字段赋值\n otherResultArray.forEach(item => {\n this.selectTable.rowData[item.targetField] = sourceRowData[item.sourceField];\n });\n }\n this.$refs.selectTableDialogRef.cancelEvent(); //关闭表格选取弹窗\n },\n getFiledName: _utils_columnProp__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n getSelectTableValue(column, row, isClick) {\n let cellValue = row[(0,_utils_columnProp__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(column)];\n let v = this.getPKArrays(cellValue);\n let labels = '';\n for (let k of v) {\n let d = column.params.tableDataObj[k];\n if (d != undefined) {\n if (labels.length > 0) {\n labels += \",\";\n }\n labels += column.params.tableDataObj[k];\n }\n }\n if (!isClick) {\n return labels || \"\";\n }\n return labels || \"请选择\";\n },\n handleClose() {\n this.selectRowChange();\n },\n getSlotName(name) {\n return name + \"_\" + this.theme;\n },\n openVideoDialog(src) {\n this.currentVideoSrc = src;\n this.videoDialogVisible = true;\n },\n preventOriginalPlay(player) {\n player.pause();\n },\n filterFields() {},\n initFilterValues() {},\n handleFilter() {},\n handleReset() {}\n },\n mounted() {\n setTimeout(() => {\n this.updateSort();\n }, 500);\n },\n created() {\n dict.init();\n dictType.init();\n permi.init();\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-table/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
|
|
722
722
|
|
|
723
723
|
/***/ }),
|
|
724
724
|
|
|
@@ -729,7 +729,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mix
|
|
|
729
729
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
730
730
|
|
|
731
731
|
"use strict";
|
|
732
|
-
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 _components_table_ol_table_operate_index_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/table/ol-table-operate/index.vue */ \"./src/components/table/ol-table-operate/index.vue\");\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/object */ \"./src/utils/object.js\");\n/* harmony import */ var _components_table_ol_form_index_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/table/ol-form/index.vue */ \"./src/components/table/ol-form/index.vue\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\n\n\n\n\n\n\nconst {\n error\n} = (0,_utils_message__WEBPACK_IMPORTED_MODULE_5__.useMessage)(); // 消息弹窗\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"oTree\",\n components: {\n olForm: _components_table_ol_form_index_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n olTableOperate: _components_table_ol_table_operate_index_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n props: {\n treeConfig: {},\n deleteParameter: {},\n toolButOptions: {},\n formMainList: {}\n },\n inject: ['tableAll', 'http'],\n computed: {\n props() {\n return {\n key: this.treeConfig.value,\n label: this.treeConfig.label,\n children: this.treeConfig.children\n };\n }\n },\n data() {\n return {\n data: [],\n search: '关键字搜索',\n filterText: \"\",\n loading: false,\n value: '',\n clickBtn: false\n };\n },\n methods: {\n nodeClick(params) {\n if (this.clickBtn) {\n return;\n }\n if (this.treeConfig.optionJson.eventsValue && this.treeConfig.optionJson.eventsValue['node-click']) {\n eval(this.treeConfig.optionJson.eventsValue['node-click']);\n } else if (this.treeConfig.tableQueryParams) {\n this.doRightTable(params);\n }\n },\n doGetParams(param, v, getParams) {\n let kv = param.split(\":\");\n if (kv.length == 1) {\n this.doSet(getParams, kv[0], v[kv[0]]);\n } else {\n if (param.indexOf(\"$\") != -1) {\n this.doSet(getParams, kv[0], (0,_utils_object__WEBPACK_IMPORTED_MODULE_6__.fillTemplate)(kv[1], v));\n } else {\n this.doSet(getParams, kv[0], v[kv[1]]);\n }\n }\n if (this.treeConfig.selectChildren === \"1\") {\n this.doChildren(param, v, getParams);\n }\n },\n doSet(obj, k, v) {\n if (obj[k]) {\n if (obj[k] instanceof Array) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n } else {\n obj[k] = v;\n }\n },\n doChildren(param, v, getParams) {\n if (v && v.children) {\n for (let child of v.children) {\n this.doGetParams(param, child, getParams);\n }\n }\n },\n doRightTable(v) {\n let getParams = {};\n let paramsStr = this.treeConfig.tableQueryParams.trim();\n if (paramsStr.indexOf(\",\") != -1) {\n let params = paramsStr.split(\",\");\n for (let param of params) {\n this.doGetParams(param, v, getParams);\n }\n } else {\n this.doGetParams(paramsStr, v, getParams);\n }\n this.tableAll.t1['dbName'] = v.dict_value;\n this.tableAll.t1.queryParams(getParams, true);\n },\n async handleOperationClick(e) {\n this.clickBtn = true;\n setTimeout(() => {\n this.clickBtn = false;\n }, 100);\n let {\n obj,\n row\n } = e;\n if (obj.customFunction && obj.customFunction.toString().trim().length != 0) {\n eval(obj.customFunction);\n } else if (obj.code == \"refresh\") {\n this.doQuery();\n } else if (obj.code == \"delete\") {\n await this.remove(e);\n } else if (obj.code == 'edit' || obj.code == 'add') {\n let form = {};\n if (obj.code == 'edit') {\n form = this.formMainList.edit;\n } else if (obj.code == 'add') {\n form = this.formMainList.add;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n otherProp: form.formMain.otherProp,\n formData: row,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.treeConfig.id,\n dbName: this.treeConfig.dbName,\n tableName: this.treeConfig.mainTable,\n code: obj.code,\n disabled: false\n };\n data.form = JSON.parse(form.formJson[data.type == 0 ? 'optionJson' : 'customJson']);\n if (obj.code == 'edit') {\n data.updateKey = form.formMain.updateKey;\n this.$refs[\"form\"].init(data, true);\n }\n if (obj.code == 'add') {\n data.formData = {};\n if (row) {\n data.formData[this.treeConfig.treeParentId] = row[this.treeConfig.treeId];\n }\n this.$refs[\"form\"].init(data);\n }\n }\n this.$emit(\"handleOperationClick\", e);\n },\n /**\r\n * 内置确认框\r\n * @param content\r\n * @param title\r\n * @param status\r\n * @returns {Promise<\"model\"|\"mask\"|\"close\"|\"confirm\"|\"cancel\"|\"exit\"|\"exist\">}\r\n */\n async confirm(content, title, status) {\n return await vxe_table__WEBPACK_IMPORTED_MODULE_9___default().modal.confirm({\n content: content,\n title: title,\n status: status\n });\n },\n /**\r\n * 内置删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n async remove(o) {\n let {\n row\n } = o;\n this.confirm('数据删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n if (row && row.children) {\n return error('存在包含子数据的记录,禁止删除!');\n }\n let params = {};\n for (let key of Object.keys(this.deleteParameter)) {\n if (key != '$parentId') {\n params[key] = row[key];\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__.postAes)(this.http, '/online/crudAes/delete', {\n where: params,\n dbName: this.treeConfig.dbName,\n tableName: this.treeConfig.mainTable\n }).then(r => {\n if (r != false) {\n this.doQuery();\n }\n });\n }\n });\n },\n load(node, resolve) {\n if (node.level === 0) {\n return;\n } else {\n this.value = node.data[this.treeConfig.value];\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__.postAes)(this.http, '/online/crudAes/query', this.getParams(), false, false).then(({\n data,\n code,\n msg\n }) => {\n if (code != 200) {\n error(msg);\n return;\n }\n resolve(data.listData);\n });\n },\n getParams(params) {\n if (!params) {\n params = {\n id: this.treeConfig.uuid,\n queryType: 1,\n enablePage: false\n };\n }\n if (this.value) {\n let lazyValue = this.value.trim();\n if (lazyValue.indexOf(\"=\") != -1) {\n params.executeWhere = lazyValue;\n } else {\n params.executeWhere = this.treeConfig.treeParentId.trim() + \"='\" + lazyValue + \"'\";\n }\n }\n return params;\n },\n doQuery(params) {\n this.loading = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__.postAes)(this.http, '/online/crudAes/query', this.getParams(params), false, false).then(({\n data,\n code,\n msg\n }) => {\n if (code != 200) {\n error(msg);\n return;\n }\n if (this.treeConfig.convertTree == 1) {\n this.data = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_4__.handleTree)(data.listData, this.treeConfig.treeId, this.treeConfig.treeParentId);\n } else {\n this.data = data.listData;\n }\n }).finally(() => {\n this.loading = false;\n });\n },\n filterNode(value, data) {\n if (!this.treeShow) {\n this.treeShow = value;\n }\n if (!value) return true;\n return data[this.treeConfig.label].indexOf(value) !== -1;\n }\n },\n watch: {\n filterText(val) {\n this.$refs.treeBox.filter(val);\n }\n },\n created() {\n this.$nextTick(() => {\n if (this.treeConfig.autoInit == 1) {\n if (this.treeConfig.lazy == 1 && this.treeConfig.firstLazyValue != '' && this.treeConfig.firstLazyValue != undefined) {\n this.value = this.treeConfig.firstLazyValue.toString().trim();\n }\n this.doQuery();\n }\n this.$emit(\"initOk\");\n });\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/tree/components/o-tree.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
|
|
732
|
+
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 _components_table_ol_table_operate_index_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/table/ol-table-operate/index.vue */ \"./src/components/table/ol-table-operate/index.vue\");\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/object */ \"./src/utils/object.js\");\n/* harmony import */ var _components_table_ol_form_index_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/table/ol-form/index.vue */ \"./src/components/table/ol-form/index.vue\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\n\n\n\n\n\n\nconst {\n error\n} = (0,_utils_message__WEBPACK_IMPORTED_MODULE_5__.useMessage)(); // 消息弹窗\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: \"oTree\",\n components: {\n olForm: _components_table_ol_form_index_vue__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n olTableOperate: _components_table_ol_table_operate_index_vue__WEBPACK_IMPORTED_MODULE_3__[\"default\"]\n },\n props: {\n treeConfig: {},\n deleteParameter: {},\n toolButOptions: {},\n formMainList: {}\n },\n inject: ['tableAll', 'http'],\n computed: {\n props() {\n return {\n key: this.treeConfig.value,\n label: this.treeConfig.label,\n children: this.treeConfig.children\n };\n }\n },\n data() {\n return {\n data: [],\n search: '关键字搜索',\n filterText: \"\",\n loading: false,\n value: '',\n clickBtn: false\n };\n },\n methods: {\n nodeClick(params) {\n if (this.clickBtn) {\n return;\n }\n if (this.treeConfig.optionJson.eventsValue && this.treeConfig.optionJson.eventsValue['node-click']) {\n eval(this.treeConfig.optionJson.eventsValue['node-click']);\n } else if (this.treeConfig.tableQueryParams) {\n this.doRightTable(params);\n }\n },\n doGetParams(param, v, getParams) {\n let kv = param.split(\":\");\n if (kv.length == 1) {\n this.doSet(getParams, kv[0], v[kv[0]]);\n } else {\n if (param.indexOf(\"$\") != -1) {\n this.doSet(getParams, kv[0], (0,_utils_object__WEBPACK_IMPORTED_MODULE_6__.fillTemplate)(kv[1], v));\n } else {\n this.doSet(getParams, kv[0], v[kv[1]]);\n }\n }\n if (this.treeConfig.selectChildren === \"1\") {\n this.doChildren(param, v, getParams);\n }\n },\n doSet(obj, k, v) {\n if (obj[k]) {\n if (obj[k] instanceof Array) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n } else {\n obj[k] = v;\n }\n },\n doChildren(param, v, getParams) {\n if (v && v.children) {\n for (let child of v.children) {\n this.doGetParams(param, child, getParams);\n }\n }\n },\n doRightTable(v) {\n let getParams = {};\n let paramsStr = this.treeConfig.tableQueryParams.trim();\n if (paramsStr.indexOf(\",\") != -1) {\n let params = paramsStr.split(\",\");\n for (let param of params) {\n this.doGetParams(param, v, getParams);\n }\n } else {\n this.doGetParams(paramsStr, v, getParams);\n }\n this.tableAll.t1['dbName'] = v.dict_value;\n this.tableAll.t1.queryParams(getParams, true);\n },\n async handleOperationClick(e) {\n this.clickBtn = true;\n setTimeout(() => {\n this.clickBtn = false;\n }, 100);\n let {\n obj,\n row\n } = e;\n if (obj.customFunction && obj.customFunction.toString().trim().length != 0) {\n eval(obj.customFunction);\n } else if (obj.code == \"refresh\") {\n this.doQuery();\n } else if (obj.code == \"delete\") {\n await this.remove(e);\n } else if (obj.code == 'edit' || obj.code == 'add') {\n let form = {};\n if (obj.code == 'edit') {\n form = this.formMainList.edit;\n } else if (obj.code == 'add') {\n form = this.formMainList.add;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n otherProp: form.formMain.otherProp,\n formData: row,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.treeConfig.id,\n dbName: this.treeConfig.dbName,\n tableName: this.treeConfig.mainTable,\n code: obj.code,\n disabled: false\n };\n data.form = JSON.parse(form.formJson[data.type == 0 ? 'optionJson' : 'customJson']);\n if (obj.code == 'edit') {\n data.updateKey = form.formMain.updateKey;\n this.$refs[\"form\"].init(data, true);\n }\n if (obj.code == 'add') {\n data.formData = {};\n if (row) {\n data.formData[this.treeConfig.treeParentId] = row[this.treeConfig.treeId];\n }\n this.$refs[\"form\"].init(data);\n }\n }\n this.$emit(\"handleOperationClick\", e);\n },\n /**\r\n * 内置确认框\r\n * @param content\r\n * @param title\r\n * @param status\r\n * @returns {Promise<\"model\"|\"mask\"|\"close\"|\"confirm\"|\"cancel\"|\"exit\"|\"exist\">}\r\n */\n async confirm(content, title, status) {\n return await vxe_table__WEBPACK_IMPORTED_MODULE_9___default().modal.confirm({\n content: content,\n title: title,\n status: status\n });\n },\n /**\r\n * 内置删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n async remove(o) {\n let {\n row\n } = o;\n this.confirm('数据删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n if (row && row.children) {\n return error('存在包含子数据的记录,禁止删除!');\n }\n // 判断是否存在有效ID(兼容字符串和数字类型ID)\n const hasValidId = this.hasValidId(row);\n if (!hasValidId) {\n return this.removeFromTableByReference(row);\n }\n let params = {};\n for (let key of Object.keys(this.deleteParameter)) {\n if (key != '$parentId') {\n params[key] = row[key];\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__.postAes)(this.http, '/online/crudAes/delete', {\n where: params,\n dbName: this.treeConfig.dbName,\n tableName: this.treeConfig.mainTable\n }).then(r => {\n if (r != false) {\n this.doQuery();\n }\n });\n }\n });\n },\n load(node, resolve) {\n if (node.level === 0) {\n return;\n } else {\n this.value = node.data[this.treeConfig.value];\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__.postAes)(this.http, '/online/crudAes/query', this.getParams(), false, false).then(({\n data,\n code,\n msg\n }) => {\n if (code != 200) {\n error(msg);\n return;\n }\n resolve(data.listData);\n });\n },\n getParams(params) {\n if (!params) {\n params = {\n id: this.treeConfig.uuid,\n queryType: 1,\n enablePage: false\n };\n }\n if (this.value) {\n let lazyValue = this.value.trim();\n if (lazyValue.indexOf(\"=\") != -1) {\n params.executeWhere = lazyValue;\n } else {\n params.executeWhere = this.treeConfig.treeParentId.trim() + \"='\" + lazyValue + \"'\";\n }\n }\n return params;\n },\n doQuery(params) {\n this.loading = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__.postAes)(this.http, '/online/crudAes/query', this.getParams(params), false, false).then(({\n data,\n code,\n msg\n }) => {\n if (code != 200) {\n error(msg);\n return;\n }\n if (this.treeConfig.convertTree == 1) {\n this.data = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_4__.handleTree)(data.listData, this.treeConfig.treeId, this.treeConfig.treeParentId);\n } else {\n this.data = data.listData;\n }\n }).finally(() => {\n this.loading = false;\n });\n },\n filterNode(value, data) {\n if (!this.treeShow) {\n this.treeShow = value;\n }\n if (!value) return true;\n return data[this.treeConfig.label].indexOf(value) !== -1;\n }\n },\n watch: {\n filterText(val) {\n this.$refs.treeBox.filter(val);\n }\n },\n created() {\n this.$nextTick(() => {\n if (this.treeConfig.autoInit == 1) {\n if (this.treeConfig.lazy == 1 && this.treeConfig.firstLazyValue != '' && this.treeConfig.firstLazyValue != undefined) {\n this.value = this.treeConfig.firstLazyValue.toString().trim();\n }\n this.doQuery();\n }\n this.$emit(\"initOk\");\n });\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/tree/components/o-tree.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
|
|
733
733
|
|
|
734
734
|
/***/ }),
|
|
735
735
|
|
|
@@ -1543,7 +1543,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1543
1543
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
1544
1544
|
|
|
1545
1545
|
"use strict";
|
|
1546
|
-
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: \"json-configurator\"\n};\nconst _hoisted_2 = {\n class: \"field-mappings\"\n};\nconst _hoisted_3 = {\n class: \"json-output\"\n};\nconst _hoisted_4 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"flex-end\"\n }\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_input = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-input\");\n const _component_el_form_item = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-form-item\");\n const _component_el_switch = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-switch\");\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n const _component_el_form = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-form\");\n const _component_el_dialog = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-dialog\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n size: _ctx.sizes,\n modelValue: $options.values,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $options.values = $event),\n onClick: $options.handleClick\n }, null, 8 /* PROPS */, [\"size\", \"modelValue\", \"onClick\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_dialog, {\n modelValue: $data.state.show,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => $data.state.show = $event),\n title: $props.title,\n class: \"select-el-dialog\",\n width: \"50%\",\n top: \"20px\",\n \"close-on-press-escape\": false,\n \"close-on-click-modal\": false,\n \"append-to-body\": \"true\",\n onOpen: $options.onOpen\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form, {\n model: $data.formData,\n \"label-width\": \"180px\"\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 modelValue: $data.formData.olTableSelect.uuid,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $data.formData.olTableSelect.uuid = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"]), _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"form-item-description\"\n }, \"从该表格读取数据用于选取\", -1 /* CACHED */))]),\n _: 1 /* STABLE */,\n __: [6]\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"Key\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n modelValue: $data.formData.olTableSelect.key,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $data.formData.olTableSelect.key = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"]), _cache[7] || (_cache[7] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"form-item-description\"\n }, \"该字段将作为主表的外键使用(一般使用被选取表的主键)\", -1 /* CACHED */))]),\n _: 1 /* STABLE */,\n __: [7]\n }), (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, {\n modelValue: $data.formData.olTableSelect.label,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.formData.olTableSelect.label = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"]), _cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"form-item-description\"\n }, \"将该字段作为下拉框回显的值\", -1 /* CACHED */))]),\n _: 1 /* STABLE */,\n __: [8]\n }), (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_switch, {\n modelValue: $data.formData.olTableSelect.labelIsAppendCode,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $data.formData.olTableSelect.labelIsAppendCode = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"]), _cache[9] || (_cache[9] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"form-item-description\"\n }, \" 开启后会在显示值后追加编码信息如:[1]男\", -1 /* CACHED */))]),\n _: 1 /* STABLE */,\n __: [9]\n }), (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__.createElementVNode)(\"div\", _hoisted_2, [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.fieldMappings, (mapping, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n key: index,\n class: \"mapping-item\"\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 目标字段\" + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(index + 1) + \" \", 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n modelValue: mapping.target,\n \"onUpdate:modelValue\": $event => mapping.target = $event,\n placeholder: \"目标字段名\",\n style: {\n \"width\": \"200px\"\n }\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"]), _cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"separator\"\n }, \"→\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 源字段\" + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(index + 1) + \" \", 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n modelValue: mapping.source,\n \"onUpdate:modelValue\": $event => mapping.source = $event,\n placeholder: \"源字段名\",\n style: {\n \"width\": \"200px\"\n }\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"danger\",\n icon: \"el-icon-delete\",\n circle: \"\",\n onClick: $event => $options.removeMapping(index),\n style: {\n \"margin-left\": \"10px\"\n }\n }, null, 8 /* PROPS */, [\"onClick\"])]);\n }), 128 /* KEYED_FRAGMENT */)), _cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"form-item-description\"\n }, \"格式:目标字段 → 源原字段 (如果目标字段与源字段命名一致,可以只填写左边目标字段栏即可)\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"primary\",\n icon: \"el-icon-plus\",\n onClick: $options.addMapping,\n style: {\n \"margin-top\": \"10px\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[11] || (_cache[11] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 新增映射 \")])),\n _: 1 /* STABLE */,\n __: [11]\n }, 8 /* PROPS */, [\"onClick\"])])]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"primary\",\n onClick: $options.generateJson\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[13] || (_cache[13] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"生成JSON\")])),\n _: 1 /* STABLE */,\n __: [13]\n }, 8 /* PROPS */, [\"onClick\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"success\",\n onClick: $options.confirm,\n style: {\n \"width\": \"100px\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[14] || (_cache[14] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"确 定\")])),\n _: 1 /* STABLE */,\n __: [14]\n }, 8 /* PROPS */, [\"onClick\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [_cache[15] || (_cache[15] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h3\", null, \"生成的JSON:\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"pre\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($options.formattedJson), 1 /* TEXT */)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"success\",\n onClick: $options.confirm,\n style: {\n \"width\": \"100px\",\n \"margin-top\": \"15px\",\n \"margin-right\": \"15px\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[16] || (_cache[16] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"确 定\")])),\n _: 1 /* STABLE */,\n __: [16]\n }, 8 /* PROPS */, [\"onClick\"])])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"title\", \"onOpen\"])])]);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/ol-table-select-config.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.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");
|
|
1546
|
+
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: \"json-configurator\"\n};\nconst _hoisted_2 = {\n class: \"field-mappings\"\n};\nconst _hoisted_3 = {\n class: \"json-output\"\n};\nconst _hoisted_4 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"flex-end\"\n }\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_input = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-input\");\n const _component_el_form_item = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-form-item\");\n const _component_el_switch = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-switch\");\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n const _component_el_form = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-form\");\n const _component_el_dialog = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-dialog\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n clearable: \"\",\n size: _ctx.sizes,\n modelValue: $options.values,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $options.values = $event),\n onClick: $options.handleClick\n }, null, 8 /* PROPS */, [\"size\", \"modelValue\", \"onClick\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_dialog, {\n modelValue: $data.state.show,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => $data.state.show = $event),\n title: $props.title,\n class: \"select-el-dialog\",\n width: \"50%\",\n top: \"20px\",\n \"close-on-press-escape\": false,\n \"close-on-click-modal\": false,\n \"append-to-body\": \"true\",\n onOpen: $options.onOpen\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form, {\n model: $data.formData,\n \"label-width\": \"180px\"\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 modelValue: $data.formData.olTableSelect.uuid,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $data.formData.olTableSelect.uuid = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"]), _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"form-item-description\"\n }, \"从该表格读取数据用于选取\", -1 /* CACHED */))]),\n _: 1 /* STABLE */,\n __: [6]\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, {\n label: \"Key\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n modelValue: $data.formData.olTableSelect.key,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $data.formData.olTableSelect.key = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"]), _cache[7] || (_cache[7] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"form-item-description\"\n }, \"该字段将作为主表的外键使用(一般使用被选取表的主键)\", -1 /* CACHED */))]),\n _: 1 /* STABLE */,\n __: [7]\n }), (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, {\n modelValue: $data.formData.olTableSelect.label,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => $data.formData.olTableSelect.label = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"]), _cache[8] || (_cache[8] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"form-item-description\"\n }, \"将该字段作为下拉框回显的值\", -1 /* CACHED */))]),\n _: 1 /* STABLE */,\n __: [8]\n }), (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_switch, {\n modelValue: $data.formData.olTableSelect.labelIsAppendCode,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => $data.formData.olTableSelect.labelIsAppendCode = $event)\n }, null, 8 /* PROPS */, [\"modelValue\"]), _cache[9] || (_cache[9] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"form-item-description\"\n }, \" 开启后会在显示值后追加编码信息如:[1]男\", -1 /* CACHED */))]),\n _: 1 /* STABLE */,\n __: [9]\n }), (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__.createElementVNode)(\"div\", _hoisted_2, [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.fieldMappings, (mapping, index) => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n key: index,\n class: \"mapping-item\"\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 目标字段\" + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(index + 1) + \" \", 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n modelValue: mapping.target,\n \"onUpdate:modelValue\": $event => mapping.target = $event,\n placeholder: \"目标字段名\",\n style: {\n \"width\": \"200px\"\n }\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"]), _cache[10] || (_cache[10] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"separator\"\n }, \"→\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 源字段\" + (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(index + 1) + \" \", 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_input, {\n modelValue: mapping.source,\n \"onUpdate:modelValue\": $event => mapping.source = $event,\n placeholder: \"源字段名\",\n style: {\n \"width\": \"200px\"\n }\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"danger\",\n icon: \"el-icon-delete\",\n circle: \"\",\n onClick: $event => $options.removeMapping(index),\n style: {\n \"margin-left\": \"10px\"\n }\n }, null, 8 /* PROPS */, [\"onClick\"])]);\n }), 128 /* KEYED_FRAGMENT */)), _cache[12] || (_cache[12] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: \"form-item-description\"\n }, \"格式:目标字段 → 源原字段 (如果目标字段与源字段命名一致,可以只填写左边目标字段栏即可)\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"primary\",\n icon: \"el-icon-plus\",\n onClick: $options.addMapping,\n style: {\n \"margin-top\": \"10px\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[11] || (_cache[11] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" 新增映射 \")])),\n _: 1 /* STABLE */,\n __: [11]\n }, 8 /* PROPS */, [\"onClick\"])])]),\n _: 1 /* STABLE */\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_form_item, null, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"primary\",\n onClick: $options.generateJson\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[13] || (_cache[13] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"生成JSON\")])),\n _: 1 /* STABLE */,\n __: [13]\n }, 8 /* PROPS */, [\"onClick\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"success\",\n onClick: $options.confirm,\n style: {\n \"width\": \"100px\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[14] || (_cache[14] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"确 定\")])),\n _: 1 /* STABLE */,\n __: [14]\n }, 8 /* PROPS */, [\"onClick\"])]),\n _: 1 /* STABLE */\n })]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"model\"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_3, [_cache[15] || (_cache[15] = (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"h3\", null, \"生成的JSON:\", -1 /* CACHED */)), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"pre\", null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($options.formattedJson), 1 /* TEXT */)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_el_button, {\n type: \"success\",\n onClick: $options.confirm,\n style: {\n \"width\": \"100px\",\n \"margin-top\": \"15px\",\n \"margin-right\": \"15px\"\n }\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => _cache[16] || (_cache[16] = [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\"确 定\")])),\n _: 1 /* STABLE */,\n __: [16]\n }, 8 /* PROPS */, [\"onClick\"])])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\", \"title\", \"onOpen\"])])]);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/ol-table-select-config.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.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");
|
|
1547
1547
|
|
|
1548
1548
|
/***/ }),
|
|
1549
1549
|
|
|
@@ -1774,7 +1774,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1774
1774
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
1775
1775
|
|
|
1776
1776
|
"use strict";
|
|
1777
|
-
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 core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __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_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst _hoisted_1 = [\"onClick\"];\nconst _hoisted_2 = {\n class: \"video-preview\"\n};\nconst _hoisted_3 = [\"src\", \"height\"];\nconst _hoisted_4 = {\n key: 0,\n class: \"title\"\n};\nconst _hoisted_5 = {\n key: 1,\n style: {\n \"margin\": \"0px 15px -30px 0px\"\n }\n};\nconst _hoisted_6 = {\n key: 0,\n class: \"vxe-icon-fullscreen\",\n title: \"全屏\"\n};\nconst _hoisted_7 = {\n key: 1,\n class: \"vxe-icon-minimize\",\n title: \"取消全屏\"\n};\nconst _hoisted_8 = {\n class: \"video-dialog-container\"\n};\nconst _hoisted_9 = [\"src\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_olSelectDom = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"olSelectDom\");\n const _component_el_image = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"el-image\");\n const _component_vxe_checkbox = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"vxe-checkbox\");\n const _component_Icon = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"Icon\");\n const _component_el_link = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"el-link\");\n const _component_ol_table_tool_btn = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"ol-table-tool-btn\");\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"el-button\");\n const _component_olTableOperate = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"olTableOperate\");\n const _component_ol_table_column_dict_color = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"ol-table-column-dict-color\");\n const _component_olPager = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"olPager\");\n const _component_vxe_grid = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"vxe-grid\");\n const _component_ol_table_column_config = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"ol-table-column-config\");\n const _component_olForm = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"olForm\");\n const _component_OlMainFormSubTable = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"OlMainFormSubTable\");\n const _component_el_dialog = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"el-dialog\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, [_ctx.table.formConfig.show ? (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('search'), {\n key: 0\n }, undefined, true) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_vxe_grid, (0,vue__WEBPACK_IMPORTED_MODULE_2__.mergeProps)(_ctx.table, {\n class: \"ol-table\",\n \"footer-method\": _ctx.footerMethod,\n onCheckboxChange: _ctx.selectRowChange,\n onRadioChange: _ctx.selectRowChange\n }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toHandlers)(_ctx.events), {\n onCheckboxAll: _ctx.selectRowChange\n }), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createSlots)({\n img_default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(({\n row,\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_el_image, {\n style: {\n \"height\": \"60px\",\n \"width\": \"60px\"\n },\n src: row[$options.getFiledName(column)],\n \"preview-src-list\": [row[$options.getFiledName(column)]],\n \"list-type\": \"picture-card\",\n class: \"w-full h-auto rounded-md\"\n }, null, 8 /* PROPS */, [\"src\", \"preview-src-list\"])]),\n checkbox_default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_vxe_checkbox, {\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n checkedValue: 1,\n uncheckedValue: 0\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\" <el-checkbox v-model=\\\"row[column.field]\\\"\"), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\" true-value=\\\"1\\\"\"), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\" false-value=\\\"0\\\">{{ row[column.field] }}\"), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\" </el-checkbox>\")]),\n video_default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(({\n row,\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", {\n onClick: $event => $options.openVideoDialog(row[$options.getFiledName(column)]),\n style: {\n \"cursor\": \"pointer\"\n },\n class: \"video-thumbnail-container\"\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"video\", {\n ref: \"videoPreview\",\n src: row[$options.getFiledName(column)],\n preload: \"metadata\",\n width: \"100%\",\n height: (this.table.rowConfig?.height ?? 180) - 20,\n muted: \"\",\n class: \"video-preview-element\"\n }, null, 8 /* PROPS */, _hoisted_3), _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", {\n class: \"video-overlay\"\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"i\", {\n class: \"el-icon-video-play\"\n })], -1 /* CACHED */))])], 8 /* PROPS */, _hoisted_1)]),\n icon_default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(({\n row,\n column\n }) => [row[$options.getFiledName(column)]?.includes(':') ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_Icon, {\n key: 0,\n icon: row[$options.getFiledName(column)]\n }, null, 8 /* PROPS */, [\"icon\"])) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"i\", {\n key: 1,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)(row[$options.getFiledName(column)])\n }, null, 2 /* CLASS */)), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(row[column[$options.getFiledName(column)]]), 1 /* TEXT */)]),\n selectTable_default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(({\n row,\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_el_link, {\n type: \"primary\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)($options.getSelectTableValue(column, row)), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1024 /* DYNAMIC_SLOTS */)]),\n header_left: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [_ctx.table['table-title'] ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"span\", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.table['table-title']), 1 /* TEXT */)) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"span\", _hoisted_5)), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('headerLeftLeft'), {}, undefined, true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_ol_table_tool_btn, {\n size: _ctx.elSize,\n loading: _ctx.loading,\n value: _ctx.toolBtn.filter(o => o.alignMode == 'left'),\n currentPermi: $data.uuid + ':' + $props.theme + ':',\n onToolbarBtnClick: _cache[0] || (_cache[0] = $event => _ctx.toolbarBtnClick($event))\n }, null, 8 /* PROPS */, [\"size\", \"loading\", \"value\", \"currentPermi\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('headerLeftRight'), {}, undefined, true)]),\n header_right: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('headerRightLeft'), {}, undefined, true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_ol_table_tool_btn, {\n size: _ctx.elSize,\n loading: _ctx.loading,\n value: _ctx.toolBtn.filter(o => o.alignMode == 'right' && ['olp_fullscreen', 'olp_refresh', 'olp_setting', 'olp_search'].indexOf(o.code) == -1),\n currentPermi: $data.uuid + ':' + $props.theme + ':',\n onToolbarBtnClick: _cache[2] || (_cache[2] = $event => _ctx.toolbarBtnClick($event))\n }, {\n right: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [$options.showToolName('olp_fullscreen') ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_el_button, {\n key: 0,\n size: _ctx.elSize,\n onClick: _ctx.zoomEvent,\n circle: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [!_ctx.isMaximized ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"i\", _hoisted_6)) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"i\", _hoisted_7))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"size\", \"onClick\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), $options.showToolName('olp_refresh') ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_el_button, {\n key: 1,\n size: _ctx.elSize,\n onClick: _ctx.query,\n title: \"刷新\",\n circle: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => _cache[7] || (_cache[7] = [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"i\", {\n class: \"vxe-icon-refresh\"\n }, null, -1 /* CACHED */)])),\n _: 1 /* STABLE */,\n __: [7]\n }, 8 /* PROPS */, [\"size\", \"onClick\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), $options.showToolName('olp_setting') ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_el_button, {\n key: 2,\n size: _ctx.elSize,\n title: \"设置\",\n onClick: _cache[1] || (_cache[1] = $event => _ctx.$refs.olTableColumnConfig.open(_ctx.tableConfig, _ctx.tableConfig.uuid, _ctx.table.columns)),\n circle: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => _cache[8] || (_cache[8] = [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"i\", {\n class: \"vxe-icon-setting-fill\"\n }, null, -1 /* CACHED */)])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"size\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), $options.showToolName('olp_search') ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_el_button, {\n key: 3,\n size: _ctx.elSize,\n title: \"搜索\",\n onClick: _ctx.toggleFormDisplay,\n circle: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => _cache[9] || (_cache[9] = [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"i\", {\n class: \"vxe-icon-search\"\n }, null, -1 /* CACHED */)])),\n _: 1 /* STABLE */,\n __: [9]\n }, 8 /* PROPS */, [\"size\", \"onClick\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"size\", \"loading\", \"value\", \"currentPermi\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('headerRightRight'), {}, undefined, true)]),\n operate: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(({\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('operateLeft'), {}, undefined, true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_olTableOperate, {\n size: _ctx.elSize,\n row: row,\n value: _ctx.operationBtn,\n onHandleOperationClick: _cache[3] || (_cache[3] = $event => _ctx.handleOperationClick($event))\n }, null, 8 /* PROPS */, [\"size\", \"row\", \"value\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('operateRight'), {}, undefined, true)]),\n _: 2 /* DYNAMIC */\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(_ctx.table.formConfig.items.filter(item => item.slotsName != undefined), item => {\n return {\n name: item.slotsName,\n fn: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_olSelectDom, {\n item: item,\n modelValue: _ctx.table.formConfig.data[item.key],\n \"onUpdate:modelValue\": $event => _ctx.table.formConfig.data[item.key] = $event,\n size: _ctx.elSize\n }, null, 8 /* PROPS */, [\"item\", \"modelValue\", \"onUpdate:modelValue\", \"size\"])])\n };\n }), _ctx.pagination.enabled && _ctx.table.columns.length != 0 ? {\n name: \"pager\",\n fn: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_olPager, (0,vue__WEBPACK_IMPORTED_MODULE_2__.mergeProps)(_ctx.pagination, {\n onPageChange: _ctx.handlePageChange,\n onClearSelected: _ctx.clearSelected\n }), {\n left: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_ol_table_column_dict_color, {\n columns: _ctx.table.columns\n }, null, 8 /* PROPS */, [\"columns\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('pageLeft'), {}, undefined, true)]),\n right: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('pageRight'), {}, undefined, true)]),\n _: 3 /* FORWARDED */\n }, 16 /* FULL_PROPS */, [\"onPageChange\", \"onClearSelected\"])]),\n key: \"0\"\n } : undefined]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, [\"footer-method\", \"onCheckboxChange\", \"onRadioChange\", \"onCheckboxAll\"]), _ctx.customUrl != undefined ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveDynamicComponent)(_ctx.customUrl), {\n key: 1,\n ref: \"components\",\n onEmits: _ctx.emits\n }, null, 40 /* PROPS, NEED_HYDRATION */, [\"onEmits\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_ol_table_column_config, {\n ref: \"olTableColumnConfig\",\n onUpdate: _ctx.updateColumn,\n onOk: _cache[4] || (_cache[4] = $event => _ctx.init(true))\n }, null, 8 /* PROPS */, [\"onUpdate\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_olForm, {\n ref: \"form\",\n onQuery: _ctx.query\n }, null, 8 /* PROPS */, [\"onQuery\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_OlMainFormSubTable, {\n ref: \"subForm\",\n onQuery: _ctx.query\n }, null, 8 /* PROPS */, [\"onQuery\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\" 视频播放弹框 \"), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_el_dialog, {\n modelValue: $data.videoDialogVisible,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => $data.videoDialogVisible = $event),\n width: \"800px\",\n \"destroy-on-close\": true,\n center: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_8, [$data.videoDialogVisible ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"video\", {\n key: 0,\n ref: \"dialogVideoPlayer\",\n src: $data.currentVideoSrc,\n class: \"dialog-video-player\",\n controls: \"\",\n autoplay: \"\",\n controlsList: \"nodownload\",\n width: \"100%\"\n }, null, 8 /* PROPS */, _hoisted_9)) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-table/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.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");
|
|
1777
|
+
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 core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __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_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nconst _hoisted_1 = [\"onClick\"];\nconst _hoisted_2 = {\n class: \"video-preview\"\n};\nconst _hoisted_3 = [\"src\", \"height\"];\nconst _hoisted_4 = {\n key: 1\n};\nconst _hoisted_5 = {\n key: 0,\n class: \"title\"\n};\nconst _hoisted_6 = {\n key: 1,\n style: {\n \"margin\": \"0px 15px -30px 0px\"\n }\n};\nconst _hoisted_7 = {\n key: 0,\n class: \"vxe-icon-fullscreen\",\n title: \"全屏\"\n};\nconst _hoisted_8 = {\n key: 1,\n class: \"vxe-icon-minimize\",\n title: \"取消全屏\"\n};\nconst _hoisted_9 = {\n class: \"video-dialog-container\"\n};\nconst _hoisted_10 = [\"src\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_olSelectDom = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"olSelectDom\");\n const _component_el_image = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"el-image\");\n const _component_vxe_checkbox = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"vxe-checkbox\");\n const _component_Icon = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"Icon\");\n const _component_el_link = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"el-link\");\n const _component_ol_table_tool_btn = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"ol-table-tool-btn\");\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"el-button\");\n const _component_olTableOperate = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"olTableOperate\");\n const _component_ol_table_column_dict_color = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"ol-table-column-dict-color\");\n const _component_olPager = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"olPager\");\n const _component_vxe_grid = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"vxe-grid\");\n const _component_ol_table_column_config = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"ol-table-column-config\");\n const _component_olForm = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"olForm\");\n const _component_OlMainFormSubTable = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"OlMainFormSubTable\");\n const _component_el_dialog = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"el-dialog\");\n const _component_ol_dialog_table = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"ol-dialog-table\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, [_ctx.table.formConfig.show ? (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('search'), {\n key: 0\n }, undefined, true) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_vxe_grid, (0,vue__WEBPACK_IMPORTED_MODULE_2__.mergeProps)(_ctx.table, {\n class: \"ol-table\",\n \"footer-method\": _ctx.footerMethod,\n onCheckboxChange: _ctx.selectRowChange,\n onRadioChange: _ctx.selectRowChange\n }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toHandlers)(_ctx.events), {\n onCheckboxAll: _ctx.selectRowChange\n }), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createSlots)({\n img_default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(({\n row,\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_el_image, {\n style: {\n \"height\": \"60px\",\n \"width\": \"60px\"\n },\n src: row[$options.getFiledName(column)],\n \"preview-src-list\": [row[$options.getFiledName(column)]],\n \"list-type\": \"picture-card\",\n class: \"w-full h-auto rounded-md\"\n }, null, 8 /* PROPS */, [\"src\", \"preview-src-list\"])]),\n checkbox_default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(({\n column,\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_vxe_checkbox, {\n modelValue: row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n checkedValue: 1,\n uncheckedValue: 0\n }, null, 8 /* PROPS */, [\"modelValue\", \"onUpdate:modelValue\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\" <el-checkbox v-model=\\\"row[column.field]\\\"\"), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\" true-value=\\\"1\\\"\"), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\" false-value=\\\"0\\\">{{ row[column.field] }}\"), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\" </el-checkbox>\")]),\n video_default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(({\n row,\n column\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", {\n onClick: $event => $options.openVideoDialog(row[$options.getFiledName(column)]),\n style: {\n \"cursor\": \"pointer\"\n },\n class: \"video-thumbnail-container\"\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"video\", {\n ref: \"videoPreview\",\n src: row[$options.getFiledName(column)],\n preload: \"metadata\",\n width: \"100%\",\n height: (this.table.rowConfig?.height ?? 180) - 20,\n muted: \"\",\n class: \"video-preview-element\"\n }, null, 8 /* PROPS */, _hoisted_3), _cache[6] || (_cache[6] = (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", {\n class: \"video-overlay\"\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"i\", {\n class: \"el-icon-video-play\"\n })], -1 /* CACHED */))])], 8 /* PROPS */, _hoisted_1)]),\n icon_default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(({\n row,\n column\n }) => [row[$options.getFiledName(column)]?.includes(':') ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_Icon, {\n key: 0,\n icon: row[$options.getFiledName(column)]\n }, null, 8 /* PROPS */, [\"icon\"])) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"i\", {\n key: 1,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)(row[$options.getFiledName(column)])\n }, null, 2 /* CLASS */)), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(row[column[$options.getFiledName(column)]]), 1 /* TEXT */)]),\n selectTable_default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(({\n row,\n column\n }) => [$options.isOpenSelectTable(column) ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_el_link, {\n key: 0,\n type: \"primary\",\n onClick: $event => $options.openSelectTable(column, row)\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)($options.getSelectTableValue(column, row, true)), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"onClick\"])) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"span\", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)($options.getSelectTableValue(column, row, false)), 1 /* TEXT */))]),\n header_left: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [_ctx.table['table-title'] ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"span\", _hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(_ctx.table['table-title']), 1 /* TEXT */)) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"span\", _hoisted_6)), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('headerLeftLeft'), {}, undefined, true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_ol_table_tool_btn, {\n size: _ctx.elSize,\n loading: _ctx.loading,\n value: _ctx.toolBtn.filter(o => o.alignMode == 'left'),\n currentPermi: $data.uuid + ':' + $props.theme + ':',\n onToolbarBtnClick: _cache[0] || (_cache[0] = $event => _ctx.toolbarBtnClick($event))\n }, null, 8 /* PROPS */, [\"size\", \"loading\", \"value\", \"currentPermi\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('headerLeftRight'), {}, undefined, true)]),\n header_right: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('headerRightLeft'), {}, undefined, true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_ol_table_tool_btn, {\n size: _ctx.elSize,\n loading: _ctx.loading,\n value: _ctx.toolBtn.filter(o => o.alignMode == 'right' && ['olp_fullscreen', 'olp_refresh', 'olp_setting', 'olp_search'].indexOf(o.code) == -1),\n currentPermi: $data.uuid + ':' + $props.theme + ':',\n onToolbarBtnClick: _cache[2] || (_cache[2] = $event => _ctx.toolbarBtnClick($event))\n }, {\n right: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [$options.showToolName('olp_fullscreen') ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_el_button, {\n key: 0,\n size: _ctx.elSize,\n onClick: _ctx.zoomEvent,\n circle: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [!_ctx.isMaximized ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"i\", _hoisted_7)) : ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"i\", _hoisted_8))]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"size\", \"onClick\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), $options.showToolName('olp_refresh') ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_el_button, {\n key: 1,\n size: _ctx.elSize,\n onClick: _ctx.query,\n title: \"刷新\",\n circle: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => _cache[7] || (_cache[7] = [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"i\", {\n class: \"vxe-icon-refresh\"\n }, null, -1 /* CACHED */)])),\n _: 1 /* STABLE */,\n __: [7]\n }, 8 /* PROPS */, [\"size\", \"onClick\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), $options.showToolName('olp_setting') ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_el_button, {\n key: 2,\n size: _ctx.elSize,\n title: \"设置\",\n onClick: _cache[1] || (_cache[1] = $event => _ctx.$refs.olTableColumnConfig.open(_ctx.tableConfig, _ctx.tableConfig.uuid, _ctx.table.columns)),\n circle: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => _cache[8] || (_cache[8] = [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"i\", {\n class: \"vxe-icon-setting-fill\"\n }, null, -1 /* CACHED */)])),\n _: 1 /* STABLE */,\n __: [8]\n }, 8 /* PROPS */, [\"size\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), $options.showToolName('olp_search') ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_el_button, {\n key: 3,\n size: _ctx.elSize,\n title: \"搜索\",\n onClick: _ctx.toggleFormDisplay,\n circle: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => _cache[9] || (_cache[9] = [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"i\", {\n class: \"vxe-icon-search\"\n }, null, -1 /* CACHED */)])),\n _: 1 /* STABLE */,\n __: [9]\n }, 8 /* PROPS */, [\"size\", \"onClick\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"size\", \"loading\", \"value\", \"currentPermi\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('headerRightRight'), {}, undefined, true)]),\n operate: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(({\n row\n }) => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('operateLeft'), {}, undefined, true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_olTableOperate, {\n size: _ctx.elSize,\n row: row,\n value: _ctx.operationBtn,\n onHandleOperationClick: _cache[3] || (_cache[3] = $event => _ctx.handleOperationClick($event))\n }, null, 8 /* PROPS */, [\"size\", \"row\", \"value\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('operateRight'), {}, undefined, true)]),\n _: 2 /* DYNAMIC */\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(_ctx.table.formConfig.items.filter(item => item.slotsName != undefined), item => {\n return {\n name: item.slotsName,\n fn: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_olSelectDom, {\n item: item,\n modelValue: _ctx.table.formConfig.data[item.key],\n \"onUpdate:modelValue\": $event => _ctx.table.formConfig.data[item.key] = $event,\n size: _ctx.elSize\n }, null, 8 /* PROPS */, [\"item\", \"modelValue\", \"onUpdate:modelValue\", \"size\"])])\n };\n }), _ctx.pagination.enabled && _ctx.table.columns.length != 0 ? {\n name: \"pager\",\n fn: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_olPager, (0,vue__WEBPACK_IMPORTED_MODULE_2__.mergeProps)(_ctx.pagination, {\n onPageChange: _ctx.handlePageChange,\n onClearSelected: _ctx.clearSelected\n }), {\n left: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_ol_table_column_dict_color, {\n columns: _ctx.table.columns\n }, null, 8 /* PROPS */, [\"columns\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('pageLeft'), {}, undefined, true)]),\n right: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, $options.getSlotName('pageRight'), {}, undefined, true)]),\n _: 3 /* FORWARDED */\n }, 16 /* FULL_PROPS */, [\"onPageChange\", \"onClearSelected\"])]),\n key: \"0\"\n } : undefined]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, [\"footer-method\", \"onCheckboxChange\", \"onRadioChange\", \"onCheckboxAll\"]), _ctx.customUrl != undefined ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveDynamicComponent)(_ctx.customUrl), {\n key: 1,\n ref: \"components\",\n onEmits: _ctx.emits\n }, null, 40 /* PROPS, NEED_HYDRATION */, [\"onEmits\"])) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_ol_table_column_config, {\n ref: \"olTableColumnConfig\",\n onUpdate: _ctx.updateColumn,\n onOk: _cache[4] || (_cache[4] = $event => _ctx.init(true))\n }, null, 8 /* PROPS */, [\"onUpdate\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_olForm, {\n ref: \"form\",\n onQuery: _ctx.query\n }, null, 8 /* PROPS */, [\"onQuery\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_OlMainFormSubTable, {\n ref: \"subForm\",\n onQuery: _ctx.query\n }, null, 8 /* PROPS */, [\"onQuery\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\" 视频播放弹框 \"), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_el_dialog, {\n modelValue: $data.videoDialogVisible,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => $data.videoDialogVisible = $event),\n width: \"800px\",\n \"destroy-on-close\": true,\n center: \"\"\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"div\", _hoisted_9, [$data.videoDialogVisible ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(\"video\", {\n key: 0,\n ref: \"dialogVideoPlayer\",\n src: $data.currentVideoSrc,\n class: \"dialog-video-player\",\n controls: \"\",\n autoplay: \"\",\n controlsList: \"nodownload\",\n width: \"100%\"\n }, null, 8 /* PROPS */, _hoisted_10)) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true)])]),\n _: 1 /* STABLE */\n }, 8 /* PROPS */, [\"modelValue\"]), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\" 表格选取弹框 \"), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createVNode)(_component_ol_dialog_table, {\n ref: \"selectTableDialogRef\",\n onEmits: $options.getSelectRowChangeButClick\n }, null, 8 /* PROPS */, [\"onEmits\"])], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-table/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.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");
|
|
1778
1778
|
|
|
1779
1779
|
/***/ }),
|
|
1780
1780
|
|
|
@@ -12677,7 +12677,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _sty
|
|
|
12677
12677
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
12678
12678
|
|
|
12679
12679
|
"use strict";
|
|
12680
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DefaultMethods: function() { return /* binding */ DefaultMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_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 core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __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_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.set.difference.v2.js */ \"./node_modules/core-js/modules/es.set.difference.v2.js\");\n/* harmony import */ var core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.set.intersection.v2.js */ \"./node_modules/core-js/modules/es.set.intersection.v2.js\");\n/* harmony import */ var core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.set.is-disjoint-from.v2.js */ \"./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js\");\n/* harmony import */ var core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.set.is-subset-of.v2.js */ \"./node_modules/core-js/modules/es.set.is-subset-of.v2.js\");\n/* harmony import */ var core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.set.is-superset-of.v2.js */ \"./node_modules/core-js/modules/es.set.is-superset-of.v2.js\");\n/* harmony import */ var core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.set.symmetric-difference.v2.js */ \"./node_modules/core-js/modules/es.set.symmetric-difference.v2.js\");\n/* harmony import */ var core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.set.union.v2.js */ \"./node_modules/core-js/modules/es.set.union.v2.js\");\n/* harmony import */ var core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/utils/ExcelUtil */ \"./src/utils/ExcelUtil.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var _utils_groupCompute__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/utils/groupCompute */ \"./src/utils/groupCompute.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_13__.useMessage)(); // 消息弹窗\nconst DefaultMethods = {\n methods: {\n //删除主子表\n async doRemoveMainAndSub({\n obj,\n row\n }, subTableName, whereObj, subForeignKey, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n this.doPostAes(obj.code, '/online/crudAes/deleteMainAndSubs', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n subTableName: subTableName,\n whereMap: this.doGetWhereMap(row, whereObj),\n //更新条件\n subForeignKey: subForeignKey\n });\n },\n /**\r\n * 操作列保存:直接在操作按钮的自定义事件加入代码:this.doOneSave(o,'是否要保存数据')\r\n * @param obj 单击按钮的对象\r\n * @param row 单击当前行\r\n * @param content 提示内容\r\n * @returns {Promise<void>}\r\n */\n async doOneSave({\n obj,\n row\n }, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (!row) {\n vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.message({\n content: \"数据为空!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let dataSource = this.table.dataSource;\n if (!dataSource) {\n return;\n }\n let newRow = JSON.parse(JSON.stringify(row));\n try {\n newRow[this.formMainList.edit.formMain.updateKey] = '';\n } catch (e) {}\n let params = {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n genIdMap: {\n [this.formMainList.edit.formMain.updateKey]: 'uuid'\n },\n columnAndValueMap: this.getColumnTableUpdateValue(this.table.columns, newRow)\n };\n this.doPostAes(obj.code, '/online/crudAes/save', params);\n },\n /**\r\n * 操作列更新:直接在操作按钮的自定义事件加入代码:this.doOneModify(o,'数据库更新字段=数据值,数据库更新字段:列字段,数据库更新字段','数据库更新条件','提示内容')\r\n *\r\n * @param obj 单击按钮的对象\r\n * @param row 单击当前行\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @returns {Promise<void>}\r\n */\n async doOneModify({\n obj,\n row\n }, updateObj, whereObj, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n let newRow = JSON.parse(JSON.stringify(row));\n this.doPostAes(obj.code, '/online/crudAes/modify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n columnAndValueMap: this.doGetColumnAndValueMap(newRow, updateObj),\n //更新字段\n whereMap: this.doGetWhereMap(newRow, whereObj) //更新条件\n });\n },\n /**\r\n * 批量保存数据(包含更新)\r\n * @param code\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @param updateRecords 如果为空,获取全部选中数据\r\n * @returns {Promise<void>}\r\n */\n async doBatchSave(code, content, rows, tableKey, genIdMap) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows == undefined) {\n rows = this.getUpdateRecordsRow();\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.message({\n content: \"无需保存数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n if (tableKey == undefined) {\n tableKey = this.tableConfig.cardKey;\n }\n if (genIdMap == undefined) {\n genIdMap = {};\n for (let tableKeyElement of tableKey.split(\",\")) {\n genIdMap[tableKeyElement.toString()] = 'uuid';\n }\n }\n this.doPostAes(code, '/online/crudAes/batchSave', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n tableConfigId: this.tableConfig.tableConfigId,\n columnAndValueListMap: rows,\n tableKey: tableKey,\n genIdMap: genIdMap\n });\n },\n /**\r\n * 批量更新\r\n * @param code\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @param updateRecords 如果为空,获取全部选中数据\r\n * @returns {Promise<void>}\r\n */\n async doBatchModify(code, updateObj, whereObj, content, updateRecords) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n let rows = updateRecords;\n if (!updateRecords || updateRecords.length <= 0) {\n rows = this.getSelectRows();\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n for (const row of rows) {\n list.push({\n columnAndValueMap: this.doGetColumnAndValueMap(row, updateObj),\n //更新字段\n whereMap: this.doGetWhereMap(row, whereObj) //更新条件\n });\n }\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list\n });\n },\n /**\r\n * 直接发送post请求\r\n * @param code\r\n * @param url\r\n * @param params\r\n */\n doPostAes(code, url, params, noQuery) {\n if (code != undefined) {\n this.loading[code] = true;\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.postAes)(this.http, url, params).then(r => {\n if (r != false && noQuery != false) {\n this.query();\n }\n }).finally(() => {\n if (code != undefined) {\n this.loading[code] = false;\n }\n });\n },\n /**\r\n * 根据列配置获取数据库表更新数据\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n prop,\n tableField\n } of column) {\n if (!tableField || tableField != '1') {\n continue;\n }\n let value = formData[prop];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[prop] = value;\n }\n }\n return columnAndValueMap;\n },\n /**\r\n * 获取表格更新列值\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getColumnTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n field,\n tableSaveToOtherProp\n } of column) {\n // 勾选,不属于数据库表字段\n if (tableSaveToOtherProp && tableSaveToOtherProp == '1') {\n continue;\n }\n let value = formData[field];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[field] = value;\n }\n }\n return columnAndValueMap;\n },\n /**\r\n * 获取row更新值\r\n * @param row\r\n * @param updateObj 更新对象,允许为:\"name='xx',name\" 如果name=xx,数据直接赋值,如果没有=,则使用row的值\r\n * @returns {{}}\r\n */\n doGetColumnAndValueMap(row, updateObj) {\n let columnAndValueMap = {};\n for (let key of updateObj.split(\",\")) {\n let k = key.split(\"=\");\n if (k.length == 2) {\n columnAndValueMap[k[0]] = k[1];\n } else {\n k = key.split(\":\");\n columnAndValueMap[k[k.length - 1]] = row[k[0]];\n }\n }\n return columnAndValueMap;\n },\n doGetColumnAndValueAny(rows, updateObj) {\n if (!updateObj) {\n return rows;\n }\n let list = [];\n let keys = [];\n let hasKey = '';\n for (const row of rows) {\n keys = keys.length >= 1 ? keys : Object.keys(row);\n if (!hasKey) {\n hasKey = this.hasUpdateKey(keys, updateObj);\n }\n if (hasKey) {\n Object.assign(row, this.doGetColumnAndValueMap(row, updateObj));\n }\n list.push(row);\n }\n return list;\n },\n hasUpdateKey(keys, updateObj) {\n for (const key of keys) {\n if (updateObj.indexOf(key) >= 0) {\n return '1';\n }\n }\n return '0';\n },\n doGetWhereMap(row, whereObj) {\n let whereMap = {};\n for (let key of whereObj.split(\",\")) {\n let k = key.split(\":\");\n //className:class_name row:{className:'xxx'} whereMap:{class_name}\n whereMap[k[k.length - 1]] = row[k[0]];\n }\n return whereMap;\n },\n /**\r\n * 内置批量删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n batchRemove() {\n this.confirm(\"您选中\" + this.getSelectRows().length + '条数据,删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n // 1. 子数据存在性校验\n const hasChildData = this.getSelectRows().some(row => row?.children);\n if (hasChildData) {\n return message.error('存在包含子数据的记录,禁止删除!');\n }\n let list = [];\n for (let r of this.getSelectRows()) {\n let p = JSON.parse(JSON.stringify(this.deleteParameter));\n delete p['$parentId'];\n for (let key of Object.keys(p)) {\n p[key] = r[key];\n }\n list.push(p);\n }\n this.loading['batchDelete'] = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.postAes)(this.http, '/online/crudAes/batchDelete', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list: list\n }).then(r => {\n if (r != false) {\n this.query();\n }\n }).finally(() => {\n this.loading['batchDelete'] = false;\n });\n }\n });\n },\n /**\r\n * 内置重置方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n resetQuery() {\n for (let k of Object.keys(this.table.formConfig.data)) {\n this.table.formConfig.data[k] = undefined;\n }\n for (let k of Object.keys(this.parameter)) {\n this.parameter[k] = undefined;\n }\n this.initDefaultValue();\n this.query();\n },\n /**\r\n * 内置根据参数查询\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n queryParams(parameter) {\n if (parameter) {\n Object.assign(this.parameter, parameter);\n }\n return this.query();\n },\n /**\r\n * 内置查询\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n query() {\n let axios = undefined;\n if (this.tableConfig.definitionSql == 2) {\n if (this.tableConfig.requestType == '1') {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.post)(this.http, this.tableConfig.api, this.getParams(), false, false);\n } else {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.get)(this.http, this.tableConfig.api, this.getParams(), false);\n }\n } else if (this.tableConfig.aes == 1) {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.postAes)(this.http, '/online/crudAes/query', this.getParams(), false, false);\n } else {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.post)(this.http, '/online/crud/query', this.getParams(), false, false);\n }\n this.doQuery(axios);\n },\n async doSetData(data) {\n let respData = data instanceof Array ? data : data.listData;\n const dictRequests = [];\n for (let column of this.table.columns) {\n if (column.visible == 1 && column.params && column.params.tableSelect) {\n dictRequests.push(this.fetchAndMapDictData(respData, column));\n }\n }\n await Promise.all(dictRequests);\n console.log(\"qingqwanc\");\n if (this.table.treeConfig) {\n respData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_12__.handleTree)(respData, this.table.treeConfig.treeId, this.table.treeConfig.treeParentId);\n }\n this.table.data = respData;\n this.doGroupAndCompute(respData);\n this.pagination.total = data.count;\n this.doEvent(\"queryAfter\");\n },\n async doQuery(axios) {\n if (this.loading['select']) {\n return;\n }\n this.table.loading = true;\n this.loading['select'] = true;\n await axios.then(async ({\n data,\n code,\n msg\n }) => {\n if (code != 200 && code != 0) {\n message.error(msg);\n return;\n }\n this.doSetData(data);\n }).finally(() => {\n this.table.loading = false;\n this.loading['select'] = false;\n });\n },\n getPKArrays(value) {\n let uniqueIds = new Set();\n //字段值不为空\n if (value != undefined && value.toString().trim().length > 0) {\n try {\n // 尝试解析 JSON 字符串(如 \"[1,2]\" → [1, 2])\n let parsed = JSON.parse(value);\n if (Array.isArray(parsed)) {\n for (let parsedElement of parsed) {\n uniqueIds.add(parsedElement.toString().trim());\n }\n } else {\n uniqueIds.add(parsed);\n }\n } catch {\n if (value.includes(',')) {\n for (let v of value.trim().split(',')) {\n uniqueIds.add(v.trim());\n }\n } else {\n uniqueIds.add(value.trim());\n }\n }\n }\n return uniqueIds;\n },\n /**\r\n * 根据动态配置获取并映射字典数据\r\n * @param {Array} typeField - 动态列配置(如 departmentColumnsConfig)\r\n */\n async fetchAndMapDictData(data, column) {\n let uniqueIds = new Set();\n for (let item of data) {\n let value = item[column.field];\n uniqueIds.add(...this.getPKArrays(value));\n }\n if (!column.params) {\n column.params = {\n tableDataObj: {}\n };\n } else if (column.params.tableDataObj) {\n for (let key of Object.keys(column.params.tableDataObj)) {\n uniqueIds.delete(key);\n }\n } else {\n column.params.tableDataObj = {};\n }\n if (uniqueIds.size != 0) {\n // 构造请求参数\n const params = {\n id: column.params.uuid,\n theme: \"t1\",\n enablePage: false,\n queryParameterMapIn: {}\n };\n params.queryParameterMapIn[column.params.key] = Array.from(uniqueIds);\n try {\n return (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.postAes)(this.http, '/online/crudAes/query', params, false, false).then(({\n data\n }) => {\n // 处理API返回数据\n if (data?.listData?.length > 0) {\n data.listData.forEach(item => {\n column.params.tableDataObj[item[column.params.key]] = item[column.params.label];\n });\n }\n });\n } catch (error) {\n console.error('数据请求失败:', params, error);\n return true;\n }\n } else {\n return true;\n }\n },\n /**\r\n * 内置删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n remove(o) {\n let {\n row\n } = o;\n this.confirm('数据删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n // 校验是否存在子数据\n if (row && row.children) {\n return message.error('存在包含子数据的记录,禁止删除!');\n }\n let params = {};\n for (let key of Object.keys(this.deleteParameter)) {\n if (key != '$parentId') {\n params[key] = row[key];\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.postAes)(this.http, '/online/crudAes/delete', {\n where: params,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable\n }).then(r => {\n if (r != false) {\n this.query();\n }\n });\n }\n });\n },\n /**\r\n * 获取查询参数\r\n * @returns {{enablePage: OTMixinBodyMethods.methods.pagination.enabled, theme: OTMixinBodyMethods.methods.theme, id: OTMixinBodyMethods.methods.uuid}}\r\n */\n getParams() {\n if (this.tableConfig.definitionSql == 2) {\n let params = JSON.parse(JSON.stringify(this.table.formConfig.data));\n if (params.enablePage) {\n params.pageNumber = this.pagination.currentPage;\n params.pageSize = this.pagination.pageSize;\n }\n return {\n ...this.parameter,\n ...params\n };\n }\n let params = {\n id: this.uuid,\n theme: this.theme,\n enablePage: this.pagination.enabled\n };\n if (params.enablePage) {\n params.pageNumber = this.pagination.currentPage;\n params.pageSize = this.pagination.pageSize;\n }\n let paramsKey = [];\n for (let o of this.table.formConfig.items) {\n let value = this.table.formConfig.data[o.key];\n if (value == undefined || value == '' || o.itemRender && o.itemRender.name == '$buttons') {\n continue;\n }\n let key = o.key.replace(/\\$/g, '');\n //文本域\n if (o.itemRender && o.itemRender.name == \"textarea\" && o.type != \"9\") {\n let values = value instanceof Array ? value : value.split(\"\\n\");\n if (values.length != 0) {\n let queryParameterMapIn = [];\n for (let v of values) {\n if (v != undefined && v.toString().trim() != '') {\n queryParameterMapIn.push(v);\n }\n }\n if (queryParameterMapIn.length != 0) {\n if (!params['queryParameterMapIn']) {\n params['queryParameterMapIn'] = {};\n }\n params['queryParameterMapIn'][key] = queryParameterMapIn;\n paramsKey.push(key);\n } else if (params['queryParameterMapIn']) {\n delete params['queryParameterMapIn'][key];\n }\n }\n } else if (value.toString().trim() != '') {\n if (!params['queryParameterListAnd']) {\n params['queryParameterListAnd'] = [];\n }\n let values = value instanceof Array ? value : value.split(\",\");\n if (o.type == \"98\") {\n params['queryParameterListAnd'].push({\n value: values[0],\n key: key,\n type: 5,\n toDate: o.toDate\n });\n params['queryParameterListAnd'].push({\n value: values[1],\n key: key,\n type: 6,\n toDate: o.toDate\n });\n paramsKey.push(key);\n } else if (!(values instanceof Array)) {\n let isNumber = o.selectDom == 7;\n o.value = value;\n //type 查询类型 默认等于1--> 1:= 2:!= 3: > 4:< 5: >= 6: <= 7:like '%value' 8:like '%value%' 9:like 'value%'\n //replace(/\\$/g, '') 目的解决范围\n let obj = {\n value: isNumber ? Number(value) : value,\n key: key,\n type: o.type,\n toDate: o.toDate\n };\n params['queryParameterListAnd'].push(obj);\n paramsKey.push(key);\n } else {\n let isNumber = o.selectDom == 7;\n for (let v of values) {\n if (!v) {\n continue;\n }\n let obj = {\n value: isNumber ? Number(v) : v,\n key: key,\n type: o.type,\n toDate: o.toDate\n };\n params['queryParameterListAnd'].push(obj);\n paramsKey.push(key);\n }\n }\n }\n }\n for (let key of Object.keys(this.parameter)) {\n let v = this.parameter[key];\n if (paramsKey.indexOf(key) === -1 && v != undefined && v != '') {\n if (v instanceof Array) {\n if (!params['queryParameterMapIn']) {\n params['queryParameterMapIn'] = {};\n }\n params['queryParameterMapIn'][key] = v;\n } else {\n if (!params['queryParameterListAnd']) {\n params['queryParameterListAnd'] = [];\n }\n params['queryParameterListAnd'].push({\n key: key,\n value: v\n });\n }\n }\n }\n if (this.orderByColumns.length != 0) {\n params['orderBy'] = this.orderByColumns;\n }\n params.authVo = {\n \"tableAliasFiled\": this.tableConfig.tableAliasFiled,\n \"departmentFiled\": this.tableConfig.userFiled,\n \"userFiled\": this.tableConfig.userFiled\n };\n this.doEvent(\"queryBefore\", params);\n return params;\n },\n doEvent(name, params) {\n if (this.events[name]) {\n setTimeout(() => {\n this.$nextTick(() => {\n this.events[name](params);\n });\n }, 100);\n }\n },\n /**\r\n * 导出数据\r\n * @param columns 自定义导出字段 t_id\r\n * @param selectData 选择数据: 当前页数据、勾选行数据、全部数据\r\n * @param name\r\n */\n exportData({\n exportParam,\n cancelEvent\n }) {\n let {\n columns,\n selectData,\n name\n } = exportParam;\n for (let column of this.table.columns) {\n for (let c of columns) {\n if (column.field === c.field && column.params) {\n c.params = column.params;\n }\n }\n }\n let data = [];\n switch (selectData) {\n case '1':\n // 当前页\n data = this.table?.data;\n break;\n case '2':\n // 勾选\n data = this.getSelectRows();\n if (!data || data.length == 0) return message.error('勾选行数据为空!');\n break;\n case '3':\n // 全部数据\n this.exportExcelAll(columns, name);\n break;\n default:\n data = this.table.data;\n break;\n }\n if (selectData != '3') {\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_15__.exportExcel)({\n data: data,\n name: name,\n columns: columns,\n option: {\n align: this.$table ? this.$table.align : 'center'\n }\n });\n }\n cancelEvent();\n },\n /**\r\n * 全部数据导出\r\n * @param fields 自定义导出字段\r\n * @param name 文件名\r\n */\n exportExcelAll(columns, name) {\n let params = this.getParams();\n params.enablePage = false;\n if (this.tableConfig.definitionSql == 2) {\n params.pageNumber = 1;\n params.pageSize = 50000;\n }\n let url = this.tableConfig.definitionSql == 2 ? this.tableConfig.api : '/online/crud/query';\n let method = this.tableConfig.definitionSql == 2 ? this.tableConfig.requestType == '1' ? 'post' : 'get' : 'post';\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.request)(this.http, {\n url: url,\n method: method,\n data: params,\n timeout: 1000 * 90 * 90\n }, false, false).then(({\n data\n }) => {\n let respData = data instanceof Array ? data : data.listData;\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_15__.exportExcel)({\n data: respData,\n name: name,\n columns: columns,\n option: {\n align: this.$table ? this.$table.align : 'center'\n }\n });\n });\n },\n /**\r\n * 内置确认框\r\n * @param content\r\n * @param title\r\n * @param status\r\n * @returns {Promise<\"model\"|\"mask\"|\"close\"|\"confirm\"|\"cancel\"|\"exit\"|\"exist\">}\r\n */\n async confirm(content, title, status) {\n return await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: title,\n status: status\n });\n },\n /**\r\n * 内置调用方法\r\n * @param m\r\n * @param v\r\n * @param d\r\n */\n emits({\n m,\n v,\n d,\n js\n }) {\n if (typeof js === 'string') {\n eval(js);\n } else if (m && this[m]) {\n this[m](v);\n }\n if (d != false) {\n this.customUrl = undefined;\n }\n if (js && typeof js === 'object' && typeof js.callback === 'function') {\n this.executeFunction(js.callback, v);\n } else if (typeof js === 'function') {\n this.executeFunction(js, v);\n }\n },\n /**\r\n * 执行函数\r\n * @param func\r\n * @param v\r\n */\n executeFunction(func, v) {\n if (typeof func !== 'function') return;\n try {\n func.call(this, v);\n } catch (error) {\n console.error('函数执行错误:', error);\n }\n },\n /**\r\n * 设置禁用按钮\r\n * @param ex\r\n */\n setAllBtnDisabled(ex) {\n if (ex) {\n ex = ex.split(\",\");\n } else {\n ex = [];\n }\n for (let toolBtn of this.toolBtn) {\n let disabled = true;\n for (let code of ex) {\n if (toolBtn.code == code) {\n disabled = false;\n }\n }\n toolBtn.disabled = disabled;\n }\n for (let toolBtn of this.operationBtn) {\n let disabled = true;\n for (let code of ex) {\n if (toolBtn.code == code) {\n disabled = false;\n }\n }\n toolBtn.disabled = disabled;\n }\n },\n /**\r\n * 设置工具栏 but\r\n * @param code 编码\r\n * @param key 要设置的key\r\n * @param value 要设置的value\r\n */\n setToolBtn(code, key, value) {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n toolBtn[key] = value;\n }\n }\n },\n /**\r\n * 获取工具栏 but\r\n * @param code 编码\r\n * @param key 要设置的key\r\n * @param value 要设置的value\r\n */\n getToolBtn(code) {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return toolBtn;\n }\n }\n },\n /**\r\n * 设置操作按钮 but\r\n * @param code 编码\r\n * @param key 要设置的key\r\n * @param value 要设置的value\r\n */\n setOperationBtn(code, key, value) {\n for (let toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n toolBtn[key] = value;\n }\n }\n },\n /**\r\n * 获取修改数据(包括未修改数据)\r\n */\n getUpdateRecords() {\n if (this.$table) {\n return [...this.$table.getInsertRecords(), ...this.$table.getUpdateRecords()];\n }\n },\n /**\r\n * 获取修改数据(包括未修改数据)\r\n */\n getUpdateRecordsRow() {\n let rows = [];\n for (let newRow of this.table.data) {\n rows.push(this.getColumnTableUpdateValue(this.table.columns, newRow));\n }\n return rows;\n },\n /**\r\n * 批量保存\r\n */\n async batchSave(code, content, rows, foreignKey, foreignKeyValue) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n let updateList = [];\n let dataSource = this.table.dataSource;\n this.formMainList.edit.formMain.updateKey = this.formMainList.edit.formMain.updateKey.trim();\n const srcMap = new Map(dataSource.map(item => [item[this.formMainList.edit.formMain.updateKey], item]));\n for (const row of rows) {\n delete row._X_ROW_KEY; //删除_X_ROW_KEY属性\n let rowId = row[this.formMainList.edit.formMain.updateKey];\n if (rowId) {\n updateList.push({\n columnAndValueMap: this.getDifferingProperties(row, srcMap.get(row[this.formMainList.edit.formMain.updateKey])),\n //更新字段\n whereMap: this.doGetWhereMap(row, this.formMainList.edit.formMain.updateKey) //更新条件\n });\n continue;\n }\n let columnTableUpdateValue = this.getColumnTableUpdateValue(this.table.columns, row);\n if (foreignKey) {\n columnTableUpdateValue[foreignKey] = foreignKeyValue ? foreignKeyValue : this.mainId;\n }\n list.push(columnTableUpdateValue);\n }\n if (updateList && updateList.length >= 1) {\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list: updateList\n });\n }\n if (list && list.length >= 1) {\n this.doPostAes(code, '/online/crudAes/batchSave', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n tableConfigId: this.tableConfig.tableConfigId,\n columnAndValueListMap: list,\n genIdMap: {\n [this.formMainList.edit.formMain.updateKey]: 'uuid'\n }\n });\n }\n },\n /**\r\n * 保存修改\r\n */\n async saveUpdate(code, content) {\n let dataSource = this.table.dataSource;\n const srcMap = new Map(dataSource.map(item => [item[this.formMainList.edit.formMain.updateKey], item]));\n let rows = [];\n for (const row of this.getUpdateRecords()) {\n let src = srcMap.get(row[this.formMainList.edit.formMain.updateKey]);\n rows.push(this.getDifferingProperties(row, src));\n }\n // console.log('saveUpdate:',rows)\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n for (const row of this.getUpdateRecords()) {\n list.push({\n columnAndValueMap: this.getDifferingProperties(row, srcMap.get(row[this.formMainList.edit.formMain.updateKey])),\n //更新字段\n whereMap: this.doGetWhereMap(row, this.formMainList.edit.formMain.updateKey) //更新条件\n });\n }\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list\n });\n // this.doBatchModify('batchModify', \"age\", this.formMainList.edit.formMain.updateKey, \"确认修改编辑数据吗?\", this.getUpdateRecords())\n },\n /**\r\n * 获取新增数据\r\n */\n getInsertEvent() {\n if (this.$table) {\n return this.$table.getInsertRecords();\n }\n },\n /**\r\n * 获取删除数据\r\n * @returns {*}\r\n */\n getRemoveEvent() {\n if (this.$table) {\n return this.$table.getRemoveRecords();\n }\n },\n /**\r\n * 获取选中\r\n * @returns {*|*[]|*[]}\r\n */\n getSelectRows() {\n if (this.selectBox == 1) {\n return this.$table.getRadioRecord() ? [this.$table.getRadioRecord()] : [];\n } else if (this.selectBox == 2) {\n return this.$table.getCheckboxRecords(true);\n }\n },\n updateColumn(rows) {\n this.table['show-footer'] = false;\n if (rows && rows instanceof Array) {\n for (let o of this.table.columns) {\n for (let row of rows) {\n if (row.id == o.id) {\n for (let key of Object.keys(row)) {\n o[key] = row[key];\n }\n }\n }\n this.setColumnHide(o);\n this.setFixed(o);\n this.setShowFooter(o);\n }\n }\n let data = this.table.columns.sort((a, b) => {\n return a.sort - b.sort;\n });\n this.doGroupAndCompute();\n this.$table.reloadColumn(data);\n },\n doGroupAndCompute(dataSource) {\n if (dataSource) {\n this.table.dataSource = JSON.parse(JSON.stringify(dataSource));\n }\n if (this.tableConfig.paging != 2) {\n if (dataSource != undefined) {\n this.table.data = dataSource;\n }\n return;\n }\n let groupKey = [];\n let comValue = [];\n for (let column of this.table.columns) {\n if (column.visible && column.groupToOtherProp == 1) {\n groupKey.push(column.field);\n }\n if (column.groupTotalToOtherProp) {\n comValue.push(column.field + \":\" + column.groupTotalToOtherProp);\n }\n }\n if (dataSource == undefined) {\n dataSource = this.table.dataSource;\n }\n if (groupKey.length != 0 & comValue.length != 0) {\n dataSource = (0,_utils_groupCompute__WEBPACK_IMPORTED_MODULE_17__.groupAndCompute)(groupKey, comValue, dataSource);\n }\n this.table.data = dataSource;\n this.$table.reloadData(this.table.data);\n },\n getDifferingProperties1(tar, src) {\n const differingProperties = {};\n // 假设两个对象都有相同的属性\n for (const key in tar) {\n if (Object.hasOwn(tar, key) && Object.hasOwn(src, key)) {\n if (tar[key] !== src[key]) {\n differingProperties[key] = tar[key]; // 可以选择返回obj2的值,或创建一个数组存放两个值\n }\n }\n }\n return differingProperties;\n },\n getDifferingProperties(tar, src) {\n // 1. 边界处理:非法输入转为空对象\n if (src == null || typeof src !== 'object') src = {};\n if (tar == null || typeof tar !== 'object') tar = {};\n const differingProperties = {};\n\n // 2. 遍历 tar 的自有属性\n for (const key in tar) {\n if (!Object.hasOwn(tar, key)) continue;\n\n // 3. 检查 src 是否有同名自有属性\n if (Object.hasOwn(src, key)) {\n // 4. 深度比较值差异\n if (!this.isEqual(tar[key], src[key])) {\n // 5. 记录差异(存储双方值)\n differingProperties[key] = tar[key];\n }\n }\n // 可选:将 tar 存在而 src 不存在的属性视为差异?\n else {\n differingProperties[key] = tar[key];\n }\n }\n return differingProperties;\n },\n isEqual(a, b) {\n if (a === b) return true;\n if (Number.isNaN(a) && Number.isNaN(b)) return true; // 处理 NaN\n if (typeof a === 'object' && typeof b === 'object') {\n // 简化版深层比较(实际项目建议使用 lodash.isEqual )\n return JSON.stringify(a) === JSON.stringify(b);\n }\n return false;\n }\n }\n};\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/DefaultMethods.js?");
|
|
12680
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DefaultMethods: function() { return /* binding */ DefaultMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_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 core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__ = __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_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.set.difference.v2.js */ \"./node_modules/core-js/modules/es.set.difference.v2.js\");\n/* harmony import */ var core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.set.intersection.v2.js */ \"./node_modules/core-js/modules/es.set.intersection.v2.js\");\n/* harmony import */ var core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.set.is-disjoint-from.v2.js */ \"./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js\");\n/* harmony import */ var core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.set.is-subset-of.v2.js */ \"./node_modules/core-js/modules/es.set.is-subset-of.v2.js\");\n/* harmony import */ var core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.set.is-superset-of.v2.js */ \"./node_modules/core-js/modules/es.set.is-superset-of.v2.js\");\n/* harmony import */ var core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.set.symmetric-difference.v2.js */ \"./node_modules/core-js/modules/es.set.symmetric-difference.v2.js\");\n/* harmony import */ var core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.set.union.v2.js */ \"./node_modules/core-js/modules/es.set.union.v2.js\");\n/* harmony import */ var core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_set_union_v2_js__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/utils/ExcelUtil */ \"./src/utils/ExcelUtil.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var _utils_groupCompute__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/utils/groupCompute */ \"./src/utils/groupCompute.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_13__.useMessage)(); // 消息弹窗\nconst DefaultMethods = {\n methods: {\n //删除主子表\n async doRemoveMainAndSub({\n obj,\n row\n }, subTableName, whereObj, subForeignKey, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n this.doPostAes(obj.code, '/online/crudAes/deleteMainAndSubs', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n subTableName: subTableName,\n whereMap: this.doGetWhereMap(row, whereObj),\n //更新条件\n subForeignKey: subForeignKey\n });\n },\n /**\r\n * 操作列保存:直接在操作按钮的自定义事件加入代码:this.doOneSave(o,'是否要保存数据')\r\n * @param obj 单击按钮的对象\r\n * @param row 单击当前行\r\n * @param content 提示内容\r\n * @returns {Promise<void>}\r\n */\n async doOneSave({\n obj,\n row\n }, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (!row) {\n vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.message({\n content: \"数据为空!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let dataSource = this.table.dataSource;\n if (!dataSource) {\n return;\n }\n let newRow = JSON.parse(JSON.stringify(row));\n try {\n newRow[this.formMainList.edit.formMain.updateKey] = '';\n } catch (e) {}\n let params = {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n genIdMap: {\n [this.formMainList.edit.formMain.updateKey]: 'uuid'\n },\n columnAndValueMap: this.getColumnTableUpdateValue(this.table.columns, newRow)\n };\n this.doPostAes(obj.code, '/online/crudAes/save', params);\n },\n /**\r\n * 操作列更新:直接在操作按钮的自定义事件加入代码:this.doOneModify(o,'数据库更新字段=数据值,数据库更新字段:列字段,数据库更新字段','数据库更新条件','提示内容')\r\n *\r\n * @param obj 单击按钮的对象\r\n * @param row 单击当前行\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @returns {Promise<void>}\r\n */\n async doOneModify({\n obj,\n row\n }, updateObj, whereObj, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n let newRow = JSON.parse(JSON.stringify(row));\n this.doPostAes(obj.code, '/online/crudAes/modify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n columnAndValueMap: this.doGetColumnAndValueMap(newRow, updateObj),\n //更新字段\n whereMap: this.doGetWhereMap(newRow, whereObj) //更新条件\n });\n },\n /**\r\n * 批量保存数据(包含更新)\r\n * @param code\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @param updateRecords 如果为空,获取全部选中数据\r\n * @returns {Promise<void>}\r\n */\n async doBatchSave(code, content, rows, tableKey, genIdMap) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows == undefined) {\n rows = this.getUpdateRecordsRow();\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.message({\n content: \"无需保存数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n if (tableKey == undefined) {\n tableKey = this.tableConfig.cardKey;\n }\n if (genIdMap == undefined) {\n genIdMap = {};\n for (let tableKeyElement of tableKey.split(\",\")) {\n genIdMap[tableKeyElement.toString()] = 'uuid';\n }\n }\n this.doPostAes(code, '/online/crudAes/batchSave', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n tableConfigId: this.tableConfig.tableConfigId,\n columnAndValueListMap: rows,\n tableKey: tableKey,\n genIdMap: genIdMap\n });\n },\n /**\r\n * 批量更新\r\n * @param code\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @param updateRecords 如果为空,获取全部选中数据\r\n * @returns {Promise<void>}\r\n */\n async doBatchModify(code, updateObj, whereObj, content, updateRecords) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n let rows = updateRecords;\n if (!updateRecords || updateRecords.length <= 0) {\n rows = this.getSelectRows();\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n for (const row of rows) {\n list.push({\n columnAndValueMap: this.doGetColumnAndValueMap(row, updateObj),\n //更新字段\n whereMap: this.doGetWhereMap(row, whereObj) //更新条件\n });\n }\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list\n });\n },\n /**\r\n * 直接发送post请求\r\n * @param code\r\n * @param url\r\n * @param params\r\n */\n doPostAes(code, url, params, noQuery) {\n if (code != undefined) {\n this.loading[code] = true;\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.postAes)(this.http, url, params).then(r => {\n if (r != false && noQuery != false) {\n this.query();\n }\n }).finally(() => {\n if (code != undefined) {\n this.loading[code] = false;\n }\n });\n },\n /**\r\n * 根据列配置获取数据库表更新数据\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n prop,\n tableField\n } of column) {\n if (!tableField || tableField != '1') {\n continue;\n }\n let value = formData[prop];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[prop] = value;\n }\n }\n return columnAndValueMap;\n },\n /**\r\n * 获取表格更新列值\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getColumnTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n field,\n tableSaveToOtherProp\n } of column) {\n // 勾选,不属于数据库表字段\n if (tableSaveToOtherProp && tableSaveToOtherProp == '1') {\n continue;\n }\n let value = formData[field];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[field] = value;\n }\n }\n return columnAndValueMap;\n },\n /**\r\n * 获取row更新值\r\n * @param row\r\n * @param updateObj 更新对象,允许为:\"name='xx',name\" 如果name=xx,数据直接赋值,如果没有=,则使用row的值\r\n * @returns {{}}\r\n */\n doGetColumnAndValueMap(row, updateObj) {\n let columnAndValueMap = {};\n for (let key of updateObj.split(\",\")) {\n let k = key.split(\"=\");\n if (k.length == 2) {\n columnAndValueMap[k[0]] = k[1];\n } else {\n k = key.split(\":\");\n columnAndValueMap[k[k.length - 1]] = row[k[0]];\n }\n }\n return columnAndValueMap;\n },\n doGetColumnAndValueAny(rows, updateObj) {\n if (!updateObj) {\n return rows;\n }\n let list = [];\n let keys = [];\n let hasKey = '';\n for (const row of rows) {\n keys = keys.length >= 1 ? keys : Object.keys(row);\n if (!hasKey) {\n hasKey = this.hasUpdateKey(keys, updateObj);\n }\n if (hasKey) {\n Object.assign(row, this.doGetColumnAndValueMap(row, updateObj));\n }\n list.push(row);\n }\n return list;\n },\n hasUpdateKey(keys, updateObj) {\n for (const key of keys) {\n if (updateObj.indexOf(key) >= 0) {\n return '1';\n }\n }\n return '0';\n },\n doGetWhereMap(row, whereObj) {\n let whereMap = {};\n for (let key of whereObj.split(\",\")) {\n let k = key.split(\":\");\n //className:class_name row:{className:'xxx'} whereMap:{class_name}\n whereMap[k[k.length - 1]] = row[k[0]];\n }\n return whereMap;\n },\n /**\r\n * 内置批量删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n batchRemove() {\n this.confirm(\"您选中\" + this.getSelectRows().length + '条数据,删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n // 1. 子数据存在性校验\n const hasChildData = this.getSelectRows().some(row => row?.children);\n if (hasChildData) {\n return message.error('存在包含子数据的记录,禁止删除!');\n }\n // 2. 分离有ID和无ID数据\n const rowsWithId = [];\n const rowsWithoutId = [];\n this.getSelectRows().forEach(row => {\n this.hasValidId(row) ? rowsWithId.push(row) : rowsWithoutId.push(row);\n });\n\n // 3. 处理无ID数据(前端直接移除)\n if (rowsWithoutId.length > 0) {\n rowsWithoutId.forEach(row => this.removeFromTableByReference(row));\n }\n // 修改点:如果没有有ID的数据,直接返回\n if (rowsWithId.length === 0) return;\n let list = [];\n for (let r of this.getSelectRows()) {\n let p = JSON.parse(JSON.stringify(this.deleteParameter));\n delete p['$parentId'];\n for (let key of Object.keys(p)) {\n p[key] = r[key];\n }\n list.push(p);\n }\n this.loading['batchDelete'] = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.postAes)(this.http, '/online/crudAes/batchDelete', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list: list\n }).then(r => {\n if (r != false) {\n this.query();\n }\n }).finally(() => {\n this.loading['batchDelete'] = false;\n });\n }\n });\n },\n /**\r\n * 内置重置方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n resetQuery() {\n for (let k of Object.keys(this.table.formConfig.data)) {\n this.table.formConfig.data[k] = undefined;\n }\n for (let k of Object.keys(this.parameter)) {\n this.parameter[k] = undefined;\n }\n this.initDefaultValue();\n this.query();\n },\n /**\r\n * 内置根据参数查询\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n queryParams(parameter) {\n if (parameter) {\n Object.assign(this.parameter, parameter);\n }\n return this.query();\n },\n /**\r\n * 内置查询\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n query() {\n let axios = undefined;\n if (this.tableConfig.definitionSql == 2) {\n if (this.tableConfig.requestType == '1') {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.post)(this.http, this.tableConfig.api, this.getParams(), false, false);\n } else {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.get)(this.http, this.tableConfig.api, this.getParams(), false);\n }\n } else if (this.tableConfig.aes == 1) {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.postAes)(this.http, '/online/crudAes/query', this.getParams(), false, false);\n } else {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.post)(this.http, '/online/crud/query', this.getParams(), false, false);\n }\n this.doQuery(axios);\n },\n async doSetData(data) {\n let respData = data instanceof Array ? data : data.listData;\n const dictRequests = [];\n for (let column of this.table.columns) {\n if (column.visible == 1 && column.params && column.params.tableSelect) {\n dictRequests.push(this.fetchAndMapDictData(respData, column));\n }\n }\n await Promise.all(dictRequests);\n if (this.table.treeConfig) {\n respData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_12__.handleTree)(respData, this.table.treeConfig.treeId, this.table.treeConfig.treeParentId);\n }\n this.table.data = respData;\n this.doGroupAndCompute(respData);\n this.pagination.total = data.count;\n this.doEvent(\"queryAfter\");\n },\n async doQuery(axios) {\n if (this.loading['select']) {\n return;\n }\n this.table.loading = true;\n this.loading['select'] = true;\n await axios.then(async ({\n data,\n code,\n msg\n }) => {\n if (code != 200 && code != 0) {\n message.error(msg);\n return;\n }\n this.doSetData(data);\n }).finally(() => {\n this.table.loading = false;\n this.loading['select'] = false;\n });\n },\n getPKArrays(value) {\n let uniqueIds = new Set();\n //字段值不为空\n if (value != undefined && value.toString().trim().length > 0) {\n try {\n // 尝试解析 JSON 字符串(如 \"[1,2]\" → [1, 2])\n let parsed = JSON.parse(value);\n if (Array.isArray(parsed)) {\n for (let parsedElement of parsed) {\n uniqueIds.add(parsedElement.toString().trim());\n }\n } else {\n uniqueIds.add(String(value).trim());\n }\n } catch {\n if (value.includes(',')) {\n for (let v of value.trim().split(',')) {\n uniqueIds.add(String(v).trim());\n }\n } else {\n uniqueIds.add(String(value).trim());\n }\n }\n }\n return uniqueIds;\n },\n /**\r\n * 根据动态配置获取并映射字典数据\r\n * @param {Array} typeField - 动态列配置(如 departmentColumnsConfig)\r\n */\n async fetchAndMapDictData(data, column) {\n let uniqueIds = new Set();\n for (let item of data) {\n let value = item[column.field];\n uniqueIds.add(...this.getPKArrays(value));\n }\n if (!column.params) {\n column.params = {\n tableDataObj: {}\n };\n } else if (column.params.tableDataObj) {\n for (let key of Object.keys(column.params.tableDataObj)) {\n uniqueIds.delete(key);\n }\n } else {\n column.params.tableDataObj = {};\n }\n if (uniqueIds.size != 0) {\n // 构造请求参数\n const params = {\n id: column.params.uuid,\n theme: \"t1\",\n enablePage: false,\n queryParameterMapIn: {}\n };\n params.queryParameterMapIn[column.params.key] = Array.from(uniqueIds);\n console.log(params);\n try {\n return (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.postAes)(this.http, '/online/crudAes/query', params, false, false).then(({\n data\n }) => {\n // 处理API返回数据\n if (data?.listData?.length > 0) {\n data.listData.forEach(item => {\n column.params.tableDataObj[item[column.params.key]] = item[column.params.label];\n });\n }\n });\n } catch (error) {\n console.error('数据请求失败:', params, error);\n return true;\n }\n } else {\n return true;\n }\n },\n /**\r\n * 内置删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n remove(o) {\n let {\n row\n } = o;\n this.confirm('数据删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n // 校验是否存在子数据\n if (row && row.children) {\n return message.error('存在包含子数据的记录,禁止删除!');\n }\n // 判断是否存在有效ID(兼容字符串和数字类型ID)\n const hasValidId = this.hasValidId(row);\n if (!hasValidId) {\n // 通过对象引用删除(无ID时使用)\n return this.removeFromTableByReference(row);\n }\n let params = {};\n for (let key of Object.keys(this.deleteParameter)) {\n if (key != '$parentId') {\n params[key] = row[key];\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.postAes)(this.http, '/online/crudAes/delete', {\n where: params,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable\n }).then(r => {\n if (r != false) {\n this.query();\n }\n });\n }\n });\n },\n /**\r\n * 有有效id\r\n * @param row\r\n * @returns {boolean}\r\n */\n hasValidId(row) {\n const idKey = this.getDeleteId(this.deleteParameter);\n const idValue = row[idKey];\n console.log('hasValidId', idKey, idValue);\n return idValue !== undefined && idValue !== null && idValue !== '';\n },\n /**\r\n * 通过对象引用删除(无ID时使用)\r\n * @param o\r\n */\n removeFromTableByReference(o) {\n const index = this.table.data.indexOf(o);\n if (index !== -1) {\n this.table.data.splice(index, 1);\n } else {\n console.error(\"未找到要删除的数据项\");\n }\n },\n /**\r\n * 获取查询参数\r\n * @returns {{enablePage: OTMixinBodyMethods.methods.pagination.enabled, theme: OTMixinBodyMethods.methods.theme, id: OTMixinBodyMethods.methods.uuid}}\r\n */\n getParams() {\n if (this.tableConfig.definitionSql == 2) {\n let params = JSON.parse(JSON.stringify(this.table.formConfig.data));\n if (params.enablePage) {\n params.pageNumber = this.pagination.currentPage;\n params.pageSize = this.pagination.pageSize;\n }\n return {\n ...this.parameter,\n ...params\n };\n }\n let params = {\n id: this.uuid,\n theme: this.theme,\n enablePage: this.pagination.enabled\n };\n if (params.enablePage) {\n params.pageNumber = this.pagination.currentPage;\n params.pageSize = this.pagination.pageSize;\n }\n let paramsKey = [];\n for (let o of this.table.formConfig.items) {\n let value = this.table.formConfig.data[o.key];\n if (value == undefined || value == '' || o.itemRender && o.itemRender.name == '$buttons') {\n continue;\n }\n let key = o.key.replace(/\\$/g, '');\n //文本域\n if (o.itemRender && o.itemRender.name == \"textarea\" && o.type != \"9\") {\n let values = value instanceof Array ? value : value.split(\"\\n\");\n if (values.length != 0) {\n let queryParameterMapIn = [];\n for (let v of values) {\n if (v != undefined && v.toString().trim() != '') {\n queryParameterMapIn.push(v);\n }\n }\n if (queryParameterMapIn.length != 0) {\n if (!params['queryParameterMapIn']) {\n params['queryParameterMapIn'] = {};\n }\n params['queryParameterMapIn'][key] = queryParameterMapIn;\n paramsKey.push(key);\n } else if (params['queryParameterMapIn']) {\n delete params['queryParameterMapIn'][key];\n }\n }\n } else if (value.toString().trim() != '') {\n if (!params['queryParameterListAnd']) {\n params['queryParameterListAnd'] = [];\n }\n let values = value instanceof Array ? value : value.split(\",\");\n if (o.type == \"98\") {\n params['queryParameterListAnd'].push({\n value: values[0],\n key: key,\n type: 5,\n toDate: o.toDate\n });\n params['queryParameterListAnd'].push({\n value: values[1],\n key: key,\n type: 6,\n toDate: o.toDate\n });\n paramsKey.push(key);\n } else if (!(values instanceof Array)) {\n let isNumber = o.selectDom == 7;\n o.value = value;\n //type 查询类型 默认等于1--> 1:= 2:!= 3: > 4:< 5: >= 6: <= 7:like '%value' 8:like '%value%' 9:like 'value%'\n //replace(/\\$/g, '') 目的解决范围\n let obj = {\n value: isNumber ? Number(value) : value,\n key: key,\n type: o.type,\n toDate: o.toDate\n };\n params['queryParameterListAnd'].push(obj);\n paramsKey.push(key);\n } else {\n let isNumber = o.selectDom == 7;\n for (let v of values) {\n if (!v) {\n continue;\n }\n let obj = {\n value: isNumber ? Number(v) : v,\n key: key,\n type: o.type,\n toDate: o.toDate\n };\n params['queryParameterListAnd'].push(obj);\n paramsKey.push(key);\n }\n }\n }\n }\n for (let key of Object.keys(this.parameter)) {\n let v = this.parameter[key];\n if (paramsKey.indexOf(key) === -1 && v != undefined && v != '') {\n if (v instanceof Array) {\n if (!params['queryParameterMapIn']) {\n params['queryParameterMapIn'] = {};\n }\n params['queryParameterMapIn'][key] = v;\n } else {\n if (!params['queryParameterListAnd']) {\n params['queryParameterListAnd'] = [];\n }\n params['queryParameterListAnd'].push({\n key: key,\n value: v\n });\n }\n }\n }\n if (this.orderByColumns.length != 0) {\n params['orderBy'] = this.orderByColumns;\n }\n params.authVo = {\n \"tableAliasFiled\": this.tableConfig.tableAliasFiled,\n \"departmentFiled\": this.tableConfig.userFiled,\n \"userFiled\": this.tableConfig.userFiled\n };\n this.doEvent(\"queryBefore\", params);\n return params;\n },\n doEvent(name, params) {\n if (this.events[name]) {\n setTimeout(() => {\n this.$nextTick(() => {\n this.events[name](params);\n });\n }, 100);\n }\n },\n /**\r\n * 导出数据\r\n * @param columns 自定义导出字段 t_id\r\n * @param selectData 选择数据: 当前页数据、勾选行数据、全部数据\r\n * @param name\r\n */\n exportData({\n exportParam,\n cancelEvent\n }) {\n let {\n columns,\n selectData,\n name\n } = exportParam;\n for (let column of this.table.columns) {\n for (let c of columns) {\n if (column.field === c.field && column.params) {\n c.params = column.params;\n }\n }\n }\n let data = [];\n switch (selectData) {\n case '1':\n // 当前页\n data = this.table?.data;\n break;\n case '2':\n // 勾选\n data = this.getSelectRows();\n if (!data || data.length == 0) return message.error('勾选行数据为空!');\n break;\n case '3':\n // 全部数据\n this.exportExcelAll(columns, name);\n break;\n default:\n data = this.table.data;\n break;\n }\n if (selectData != '3') {\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_15__.exportExcel)({\n data: data,\n name: name,\n columns: columns,\n option: {\n align: this.$table ? this.$table.align : 'center'\n }\n });\n }\n cancelEvent();\n },\n /**\r\n * 全部数据导出\r\n * @param fields 自定义导出字段\r\n * @param name 文件名\r\n */\n exportExcelAll(columns, name) {\n let params = this.getParams();\n params.enablePage = false;\n if (this.tableConfig.definitionSql == 2) {\n params.pageNumber = 1;\n params.pageSize = 50000;\n }\n let url = this.tableConfig.definitionSql == 2 ? this.tableConfig.api : '/online/crud/query';\n let method = this.tableConfig.definitionSql == 2 ? this.tableConfig.requestType == '1' ? 'post' : 'get' : 'post';\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_14__.request)(this.http, {\n url: url,\n method: method,\n data: params,\n timeout: 1000 * 90 * 90\n }, false, false).then(({\n data\n }) => {\n let respData = data instanceof Array ? data : data.listData;\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_15__.exportExcel)({\n data: respData,\n name: name,\n columns: columns,\n option: {\n align: this.$table ? this.$table.align : 'center'\n }\n });\n });\n },\n /**\r\n * 内置确认框\r\n * @param content\r\n * @param title\r\n * @param status\r\n * @returns {Promise<\"model\"|\"mask\"|\"close\"|\"confirm\"|\"cancel\"|\"exit\"|\"exist\">}\r\n */\n async confirm(content, title, status) {\n return await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: title,\n status: status\n });\n },\n /**\r\n * 内置调用方法\r\n * @param m\r\n * @param v\r\n * @param d\r\n */\n emits({\n m,\n v,\n d,\n js\n }) {\n if (typeof js === 'string') {\n eval(js);\n } else if (m && this[m]) {\n this[m](v);\n }\n if (d != false) {\n this.customUrl = undefined;\n }\n if (js && typeof js === 'object' && typeof js.callback === 'function') {\n this.executeFunction(js.callback, v);\n } else if (typeof js === 'function') {\n this.executeFunction(js, v);\n }\n },\n /**\r\n * 执行函数\r\n * @param func\r\n * @param v\r\n */\n executeFunction(func, v) {\n if (typeof func !== 'function') return;\n try {\n func.call(this, v);\n } catch (error) {\n console.error('函数执行错误:', error);\n }\n },\n /**\r\n * 设置禁用按钮\r\n * @param ex\r\n */\n setAllBtnDisabled(ex) {\n if (ex) {\n ex = ex.split(\",\");\n } else {\n ex = [];\n }\n for (let toolBtn of this.toolBtn) {\n let disabled = true;\n for (let code of ex) {\n if (toolBtn.code == code) {\n disabled = false;\n }\n }\n toolBtn.disabled = disabled;\n }\n for (let toolBtn of this.operationBtn) {\n let disabled = true;\n for (let code of ex) {\n if (toolBtn.code == code) {\n disabled = false;\n }\n }\n toolBtn.disabled = disabled;\n }\n },\n /**\r\n * 设置工具栏 but\r\n * @param code 编码\r\n * @param key 要设置的key\r\n * @param value 要设置的value\r\n */\n setToolBtn(code, key, value) {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n toolBtn[key] = value;\n }\n }\n },\n /**\r\n * 获取工具栏 but\r\n * @param code 编码\r\n * @param key 要设置的key\r\n * @param value 要设置的value\r\n */\n getToolBtn(code) {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return toolBtn;\n }\n }\n },\n /**\r\n * 设置操作按钮 but\r\n * @param code 编码\r\n * @param key 要设置的key\r\n * @param value 要设置的value\r\n */\n setOperationBtn(code, key, value) {\n for (let toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n toolBtn[key] = value;\n }\n }\n },\n /**\r\n * 获取修改数据(包括未修改数据)\r\n */\n getUpdateRecords() {\n if (this.$table) {\n return [...this.$table.getInsertRecords(), ...this.$table.getUpdateRecords()];\n }\n },\n /**\r\n * 获取修改数据(包括未修改数据)\r\n */\n getUpdateRecordsRow() {\n let rows = [];\n for (let newRow of this.table.data) {\n rows.push(this.getColumnTableUpdateValue(this.table.columns, newRow));\n }\n return rows;\n },\n /**\r\n * 批量保存\r\n */\n async batchSave(code, content, rows, foreignKey, foreignKeyValue) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n let updateList = [];\n let dataSource = this.table.dataSource;\n this.formMainList.edit.formMain.updateKey = this.formMainList.edit.formMain.updateKey.trim();\n const srcMap = new Map(dataSource.map(item => [item[this.formMainList.edit.formMain.updateKey], item]));\n for (const row of rows) {\n delete row._X_ROW_KEY; //删除_X_ROW_KEY属性\n let rowId = row[this.formMainList.edit.formMain.updateKey];\n if (rowId) {\n updateList.push({\n columnAndValueMap: this.getDifferingProperties(row, srcMap.get(row[this.formMainList.edit.formMain.updateKey])),\n //更新字段\n whereMap: this.doGetWhereMap(row, this.formMainList.edit.formMain.updateKey) //更新条件\n });\n continue;\n }\n let columnTableUpdateValue = this.getColumnTableUpdateValue(this.table.columns, row);\n if (foreignKey) {\n columnTableUpdateValue[foreignKey] = foreignKeyValue ? foreignKeyValue : this.mainId;\n }\n list.push(columnTableUpdateValue);\n }\n if (updateList && updateList.length >= 1) {\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list: updateList\n });\n }\n if (list && list.length >= 1) {\n this.doPostAes(code, '/online/crudAes/batchSave', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n tableConfigId: this.tableConfig.tableConfigId,\n columnAndValueListMap: list,\n genIdMap: {\n [this.formMainList.edit.formMain.updateKey]: 'uuid'\n }\n });\n }\n },\n /**\r\n * 保存修改\r\n */\n async saveUpdate(code, content) {\n let dataSource = this.table.dataSource;\n const srcMap = new Map(dataSource.map(item => [item[this.formMainList.edit.formMain.updateKey], item]));\n let rows = [];\n for (const row of this.getUpdateRecords()) {\n let src = srcMap.get(row[this.formMainList.edit.formMain.updateKey]);\n rows.push(this.getDifferingProperties(row, src));\n }\n // console.log('saveUpdate:',rows)\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_16___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n for (const row of this.getUpdateRecords()) {\n list.push({\n columnAndValueMap: this.getDifferingProperties(row, srcMap.get(row[this.formMainList.edit.formMain.updateKey])),\n //更新字段\n whereMap: this.doGetWhereMap(row, this.formMainList.edit.formMain.updateKey) //更新条件\n });\n }\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list\n });\n // this.doBatchModify('batchModify', \"age\", this.formMainList.edit.formMain.updateKey, \"确认修改编辑数据吗?\", this.getUpdateRecords())\n },\n /**\r\n * 获取新增数据\r\n */\n getInsertEvent() {\n if (this.$table) {\n return this.$table.getInsertRecords();\n }\n },\n /**\r\n * 获取删除数据\r\n * @returns {*}\r\n */\n getRemoveEvent() {\n if (this.$table) {\n return this.$table.getRemoveRecords();\n }\n },\n /**\r\n * 获取选中\r\n * @returns {*|*[]|*[]}\r\n */\n getSelectRows() {\n if (this.selectBox == 1) {\n return this.$table.getRadioRecord() ? [this.$table.getRadioRecord()] : [];\n } else if (this.selectBox == 2) {\n return this.$table.getCheckboxRecords(true);\n }\n },\n updateColumn(rows) {\n this.table['show-footer'] = false;\n if (rows && rows instanceof Array) {\n for (let o of this.table.columns) {\n for (let row of rows) {\n if (row.id == o.id) {\n for (let key of Object.keys(row)) {\n o[key] = row[key];\n }\n }\n }\n this.setColumnHide(o);\n this.setFixed(o);\n this.setShowFooter(o);\n }\n }\n let data = this.table.columns.sort((a, b) => {\n return a.sort - b.sort;\n });\n this.doGroupAndCompute();\n this.$table.reloadColumn(data);\n },\n doGroupAndCompute(dataSource) {\n if (dataSource) {\n this.table.dataSource = JSON.parse(JSON.stringify(dataSource));\n }\n if (this.tableConfig.paging != 2) {\n if (dataSource != undefined) {\n this.table.data = dataSource;\n }\n return;\n }\n let groupKey = [];\n let comValue = [];\n for (let column of this.table.columns) {\n if (column.visible && column.groupToOtherProp == 1) {\n groupKey.push(column.field);\n }\n if (column.groupTotalToOtherProp) {\n comValue.push(column.field + \":\" + column.groupTotalToOtherProp);\n }\n }\n if (dataSource == undefined) {\n dataSource = this.table.dataSource;\n }\n if (groupKey.length != 0 & comValue.length != 0) {\n dataSource = (0,_utils_groupCompute__WEBPACK_IMPORTED_MODULE_17__.groupAndCompute)(groupKey, comValue, dataSource);\n }\n this.table.data = dataSource;\n this.$table.reloadData(this.table.data);\n },\n getDifferingProperties1(tar, src) {\n const differingProperties = {};\n // 假设两个对象都有相同的属性\n for (const key in tar) {\n if (Object.hasOwn(tar, key) && Object.hasOwn(src, key)) {\n if (tar[key] !== src[key]) {\n differingProperties[key] = tar[key]; // 可以选择返回obj2的值,或创建一个数组存放两个值\n }\n }\n }\n return differingProperties;\n },\n getDifferingProperties(tar, src) {\n // 1. 边界处理:非法输入转为空对象\n if (src == null || typeof src !== 'object') src = {};\n if (tar == null || typeof tar !== 'object') tar = {};\n const differingProperties = {};\n\n // 2. 遍历 tar 的自有属性\n for (const key in tar) {\n if (!Object.hasOwn(tar, key)) continue;\n\n // 3. 检查 src 是否有同名自有属性\n if (Object.hasOwn(src, key)) {\n // 4. 深度比较值差异\n if (!this.isEqual(tar[key], src[key])) {\n // 5. 记录差异(存储双方值)\n differingProperties[key] = tar[key];\n }\n }\n // 可选:将 tar 存在而 src 不存在的属性视为差异?\n else {\n differingProperties[key] = tar[key];\n }\n }\n return differingProperties;\n },\n isEqual(a, b) {\n if (a === b) return true;\n if (Number.isNaN(a) && Number.isNaN(b)) return true; // 处理 NaN\n if (typeof a === 'object' && typeof b === 'object') {\n // 简化版深层比较(实际项目建议使用 lodash.isEqual )\n return JSON.stringify(a) === JSON.stringify(b);\n }\n return false;\n }\n }\n};\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/DefaultMethods.js?");
|
|
12681
12681
|
|
|
12682
12682
|
/***/ }),
|
|
12683
12683
|
|
|
@@ -12721,7 +12721,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
12721
12721
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
12722
12722
|
|
|
12723
12723
|
"use strict";
|
|
12724
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_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_some_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_7__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_4__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_5__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_11__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n let permissEx = 0;\n for (let i = 0; i < this.operationBtn.length; i++) {\n let operationBtnElement = this.operationBtn[i];\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_12__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + operationBtnElement.code]);\n if (!flag) {\n operationBtnElement.permission = false;\n permissEx++;\n }\n }\n let length = this.operationBtn.length - permissEx;\n let width = 35;\n if (length != 0) {\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn.filter(o => o.permission !== false)) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_9__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n let toolBtn = this.getToolBtn(code);\n let {\n json,\n beforeFunction\n } = toolBtn;\n if (json) {\n json = json.replace(/([{,]\\s*)([a-zA-Z0-9_]+)(\\s*:)/g, '$1\"$2\"$3').replace(/:(\\s*)'([^']+)'(\\s*[,}])/g, ':$1\"$2\"$3'); // 修正字符串值\n json = JSON.parse(json);\n }\n let defaultValue = {};\n if (beforeFunction) {\n // 第一次分割:按逗号分割成键值对\n //\"department_id=#{department_id},sex=1\"\n let pairs = beforeFunction.split(',');\n for (const pair of pairs) {\n // 第二次分割:按等号分割键和值\n let [key, value] = pair.split('=');\n if (value != undefined) {\n let value2 = value.toString().trim();\n if (value2.trim().startsWith('#{') && value2.endsWith('}')) {\n // 处理 #{department_id} 格式的值\n let key2 = value.slice(2, -1).trim(); // 去掉 #{ 和 }\n this.setParamsValue(defaultValue, key2);\n } else {\n defaultValue[key] = value;\n }\n } else {\n this.setParamsValue(defaultValue, key);\n }\n }\n }\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n tableConfigId: this.tableConfig.id,\n json: json,\n defaultValue: defaultValue,\n saveParams: {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n tableConfigId: this.tableConfig.id\n }\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = this.getToolBtn(code).customFunction;\n if (customFunction != undefined && customFunction.toString().trim().length > 0) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n setParamsValue(params, key) {\n key = key.trim();\n let v = this.table.formConfig.data[key];\n if (v == undefined) {\n v = this.parameter[key];\n }\n if (v != undefined) {\n params[key] = v;\n }\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_10__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_10__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else if (btnJson2 !== undefined) {\n btnJson = btnJson2;\n }\n if (!btnJson || !btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n otherProp: form.formMain.otherProp,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$nextTick(() => {\n data.title = btnJson.title;\n this.$refs[\"form\"].init(data);\n });\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details' || obj.isForm == 1) {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n return {\n ...obj\n };\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_6__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
|
|
12724
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_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_some_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_7__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_4__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_5__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_11__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n let permissEx = 0;\n for (let i = 0; i < this.operationBtn.length; i++) {\n let operationBtnElement = this.operationBtn[i];\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_12__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + operationBtnElement.code]);\n if (!flag) {\n operationBtnElement.permission = false;\n permissEx++;\n }\n }\n let length = this.operationBtn.length - permissEx;\n let width = 35;\n if (length != 0) {\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn.filter(o => o.permission !== false)) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_9__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n let toolBtn = this.getToolBtn(code);\n let {\n json,\n beforeFunction\n } = toolBtn;\n if (json) {\n json = json.replace(/([{,]\\s*)([a-zA-Z0-9_]+)(\\s*:)/g, '$1\"$2\"$3').replace(/:(\\s*)'([^']+)'(\\s*[,}])/g, ':$1\"$2\"$3'); // 修正字符串值\n json = JSON.parse(json);\n }\n let defaultValue = {};\n if (beforeFunction) {\n // 第一次分割:按逗号分割成键值对\n //\"department_id=#{department_id},sex=1\"\n let pairs = beforeFunction.split(',');\n for (const pair of pairs) {\n // 第二次分割:按等号分割键和值\n let [key, value] = pair.split('=');\n if (value != undefined) {\n let value2 = value.toString().trim();\n if (value2.trim().startsWith('#{') && value2.endsWith('}')) {\n // 处理 #{department_id} 格式的值\n let key2 = value.slice(2, -1).trim(); // 去掉 #{ 和 }\n this.setParamsValue(defaultValue, key2);\n } else {\n defaultValue[key] = value;\n }\n } else {\n this.setParamsValue(defaultValue, key);\n }\n }\n }\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n tableConfigId: this.tableConfig.id,\n json: json,\n defaultValue: defaultValue,\n saveParams: {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n tableConfigId: this.tableConfig.id\n }\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = this.getToolBtn(code).customFunction;\n if (customFunction != undefined && customFunction.toString().trim().length > 0) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n setParamsValue(params, key) {\n key = key.trim();\n let v = this.table.formConfig.data[key];\n if (v == undefined) {\n v = this.parameter[key];\n }\n if (v != undefined) {\n params[key] = v;\n }\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_10__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_10__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n list: [],\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.list.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.list.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_8__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else if (btnJson2 !== undefined) {\n btnJson = btnJson2;\n }\n if (!btnJson || !btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n otherProp: form.formMain.otherProp,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$nextTick(() => {\n data.title = btnJson.title;\n this.$refs[\"form\"].init(data);\n });\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details' || obj.isForm == 1) {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n return {\n ...obj\n };\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_6__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
|
|
12725
12725
|
|
|
12726
12726
|
/***/ }),
|
|
12727
12727
|
|
|
@@ -12732,7 +12732,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
12732
12732
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
12733
12733
|
|
|
12734
12734
|
"use strict";
|
|
12735
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinColumnMethod: function() { return /* binding */ OTMixinColumnMethod; }\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/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __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_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __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_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __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_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.iterator.find.js */ \"./node_modules/core-js/modules/es.iterator.find.js\");\n/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __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_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__ = __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_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _utils_columnProp__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/columnProp */ \"./src/utils/columnProp.js\");\n/* harmony import */ var _utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/FilterType.js */ \"./src/utils/FilterType.js\");\n/* harmony import */ var _utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\n\n\n\n\n\n\n\nfunction setColumnParams(column, key, value) {\n if (value === undefined) {\n return;\n }\n if (!column['params']) {\n column['params'] = {};\n }\n column['params'][key] = value;\n}\nconst OTMixinColumnMethod = {\n methods: {\n setColumnCssClass(o) {\n if (o.dictCode) {\n let vals = this.dictVal(o.dictCode);\n let cssClass = {};\n if (vals) {\n let dictValueLabel = {};\n for (let obj of vals) {\n dictValueLabel[obj.dictValue] = obj.dictLabel;\n if (obj.cssClass) {\n let css = obj.cssClass.trim();\n try {\n css = css.replace(/([a-zA-Z_]\\w*):/g, '\"$1\":').replace(/'/g, '\"');\n css = JSON.parse(css);\n if (Array.isArray(css)) {\n let data = {};\n if (css[0]) {\n data['backgroundColor'] = css[0];\n }\n if (css[1]) {\n data['color'] = css[1];\n }\n cssClass[obj.dictValue] = data;\n } else {\n cssClass[obj.dictValue] = css;\n }\n } catch (e) {\n console.error(\"列名:\", o.title, \"数据字典:\", obj.dictLabel, \"样式异常:\", css);\n }\n }\n }\n setColumnParams(o, 'dictValueLabel', dictValueLabel);\n }\n if (Object.keys(cssClass).length != 0) {\n setColumnParams(o, 'cssClass', cssClass);\n }\n }\n },\n initColumn(columns, tableConfig) {\n this.table.mergeFields = [];\n let items = [];\n columns = columns.sort(({\n sort: a\n }, {\n sort: b\n }) => a - b);\n for (let column of columns) {\n this.toParseOtherProp(column);\n }\n this.table.columnSource = JSON.parse(JSON.stringify(columns));\n let {\n optionJson,\n seq\n } = tableConfig;\n if (optionJson) {\n optionJson = JSON.parse(optionJson);\n }\n let enableFilter = optionJson?.table?.enableFilter;\n let hasEditConfig = this.hasEditConfig();\n let uuidTableSelectConf = {\n '24': '2011044563705458688',\n '25': '1904380469886234624',\n '26': '2009164807696859136',\n '27': '2011373314888716288'\n };\n for (let o of columns) {\n //部门选择器的Formatter\n if (uuidTableSelectConf[o.selectDom]) {\n o.params = {\n uuid: uuidTableSelectConf[o.selectDom],\n key: 'id',\n label: 'name',\n uniqueId: o.id,\n tableSelect: true\n };\n } else if (o.tableSelectConfToOtherProp) {\n try {\n o.params = JSON.parse(o.tableSelectConfToOtherProp).olTableSelect;\n o.params.uniqueId = o.id;\n o.params.tableSelect = true;\n } catch (e) {}\n }\n this.setColumnCssClass(o);\n this.initFormatter(o);\n this.initSlots(o);\n this.setTreeOpenColumn(o, tableConfig);\n this.setMergeField(o);\n this.setColumnShowOverFlow(o, optionJson);\n this.setProp(o);\n this.setColumnHide(o);\n this.setFixed(o);\n this.setShowFooter(o);\n this.getVNode(o, items);\n if (enableFilter) {\n this.setFilters(o);\n }\n // 可编辑配置\n if (hasEditConfig) {\n this.setEditConfig(o);\n }\n }\n items.sort(({\n searchSort: a\n }, {\n searchSort: b\n }) => a - b);\n this.setSearchArea(items);\n columns = this.initBodyLeftColumn(columns, seq);\n if (this.table['show-footer']) {\n if (!columns[0].width || columns[0].width < 55) {\n columns[0].width = 55;\n }\n }\n this.table.columns = columns;\n //暂时不合并,启用虚拟滚动\n this.initMergeCells();\n },\n /**\r\n * 动态设置列的 formatter(将值映射为字典标签)\r\n * @param {Object} context - Vue 组件实例(this)\r\n * @param {String} selectDomValue - 匹配的 selectDom 值(如 '24')\r\n * @param {String} typeField - 动态列配置属性名(如 'department')\r\n */\n setColumnFormatter(context, selectDomValue, typeField) {\n const configListProp = typeField + 'ColumnsConfig';\n const dictPropName = typeField + 'Dict';\n\n // 1. 过滤出目标列配置\n const configList = context.table.columnSource.filter(item => item.selectDom === selectDomValue);\n context.table.other[configListProp] = configList;\n\n // console.info(`动态列配置(${configListProp}):`, configList);\n\n // 2. 如果存在目标列,设置 formatter\n if (configList.length > 0) {\n configList.forEach(columnConfig => {\n const targetColumn = context.table.columns.find(col => col.field === columnConfig.field);\n if (targetColumn) {\n targetColumn.formatter = ({\n cellValue\n }) => {\n // 检查是否是类似'[1,2]'的数组字符串\n // if (typeof cellValue === 'string' && cellValue.startsWith('[') && cellValue.endsWith(']')) {\n if (typeof cellValue === 'string') {\n try {\n // 尝试解析为数组\n let values = [];\n if (cellValue.startsWith('[') && cellValue.endsWith(']')) {\n values = JSON.parse(cellValue);\n } else {\n values = cellValue.split(\",\");\n }\n if (Array.isArray(values)) {\n // 查找所有匹配的字典项并拼接标签\n const labels = values.map(value => {\n const dictItem = context.table.other[dictPropName]?.find(item => item.value == value // 使用宽松相等比较\n );\n return dictItem ? dictItem.label : value;\n });\n return labels.join(','); // 用逗号连接标签\n }\n } catch (e) {\n // 解析失败,按原样处理\n }\n }\n const dictItem = context.table.other[dictPropName]?.find(item => item.value == cellValue);\n return dictItem ? dictItem.label : cellValue; // 显示标签或原值\n };\n }\n });\n }\n },\n hasEditConfig() {\n return this.table.editConfig && (this.table.editConfig.enabled === true || typeof this.table.editConfig.enabled === 'string' && this.table.editConfig.enabled.toLowerCase() === 'true');\n },\n setEditConfig(o) {\n if (o.tableSaveToOtherProp && o.tableSaveToOtherProp == '1') {\n return;\n }\n if (o.selectDom == '1') {\n o.editRender = {\n name: '$input',\n props: {\n placeholder: '请输入' + o.title,\n clearable: o.clearableSEARCHToOtherProp == '1' ? false : true\n }\n };\n }\n // 文本域\n if (o.selectDom == '10') {\n o.editRender = {\n name: 'textarea',\n props: {\n type: 'textarea',\n // 指定为多行文本框\n placeholder: '请输入' + o.title,\n rows: 3,\n // 默认显示行数\n autosize: {\n minRows: 2,\n maxRows: 6\n },\n // 自动调整高度\n clearable: o.clearableSEARCHToOtherProp == '1' ? false : true\n }\n };\n }\n // 数字\n if (o.selectDom == '7') {\n o.editRender = {\n name: '$input',\n props: {\n type: this.getType(o.selectDom),\n placeholder: '请输入' + o.title,\n clearable: o.clearableSEARCHToOtherProp == '1' ? false : true\n }\n };\n }\n // 时间\n if (o.selectDom == '3' || o.selectDom == '6') {\n o.editRender = {\n name: 'VxeInput',\n props: {\n type: this.getType(o.selectDom),\n valueFormat: 'yyyy-MM-dd HH:mm:ss'\n }\n };\n }\n // 下拉框\n if (o.selectDom == '2' || o.selectDom == '8') {\n o.editRender = {\n name: 'VxeSelect',\n options: this.dictVal(o.dictCode),\n props: {\n placeholder: '请选择' + o.title\n }\n };\n }\n if (o.selectDom == '5') {\n console.log('复选框:', o);\n // o.slotsName = 'checkbox_default';\n // o.slots = {\n // default: 'checkbox_default'\n // }\n o.slots = {\n default: ({\n row,\n column\n }) => (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-checkbox\"), {\n \"modelValue\": row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n \"checkedValue\": 1,\n \"uncheckedValue\": 0\n }, null)\n };\n }\n },\n getType(selectDom) {\n if (selectDom == '3') {\n return 'datetime';\n }\n if (selectDom == '6') {\n return 'date';\n }\n if (selectDom == '7') {\n return 'number';\n }\n },\n /**\r\n * 初始化列左边\r\n * @param columns\r\n * @param type\r\n * @returns {*}\r\n */\n initBodyLeftColumn(columns, type) {\n const hasSeqColumn = columns.some(col => ['seq', 'sequence', '序号'].includes(col.field || col.prop || col.type));\n if (type == 1 && !hasSeqColumn) {\n columns.unshift({\n type: 'seq',\n width: 55,\n title: '序号',\n fixed: 'left'\n });\n }\n const hasCheckboxColumn = columns.some(col => ['checkbox'].includes(col.type));\n const hasRadioColumn = columns.some(col => ['radio'].includes(col.type));\n if (this.selectBox == 2 && !hasCheckboxColumn) {\n columns.unshift({\n type: 'checkbox',\n width: 45,\n showOverflow: false,\n fixed: 'left'\n });\n } else if (this.selectBox == 1 && !hasRadioColumn) {\n columns.unshift({\n type: 'radio',\n width: 45,\n showOverflow: false,\n fixed: 'left'\n });\n }\n return columns;\n },\n setTreeOpenColumn(o, tableConfig) {\n if (tableConfig.tree == 1 && o.field == tableConfig.openColumn) {\n o.treeNode = true;\n if (!o.align) {\n o.align = 'left';\n }\n }\n },\n setMergeField(column) {\n if (column.mergeFlag == '1') {\n this.table.mergeFields.push(column.field);\n }\n },\n setColumnHide(o) {\n //隐藏\n if (o.visible == \"0\") {\n o.visible = false;\n }\n },\n initFormatter(o) {\n try {\n if (o.formatter) {\n o.formatter = eval(\"({cellValue, row, column})=>{\" + o.formatter + \"}\");\n } else if (o.dictCode) {\n o.formatter = eval(\"\" + \"({cellValue, row, column})=>{if(column.params && column.params.dictValueLabel){ let dictValueLabelElement = column.params.dictValueLabel[cellValue];if(dictValueLabelElement){return dictValueLabelElement;} }return cellValue}\");\n }\n } catch (e) {\n console.log(o.title, \"formatter异常:\", o.formatter);\n this.$message.error(o.title + \"formatter异常!\");\n }\n },\n initSlots(o) {\n if (o.selectDom == 20) {\n o.slotsName = 'img_default';\n o.slots = {\n default: 'img_default'\n };\n } else if (o.selectDom == '21') {\n o.slotsName = 'icon_default';\n o.slots = {\n default: 'icon_default'\n };\n } else if (o.selectDom == '23') {\n o.slotsName = 'video_default';\n o.slots = {\n default: 'video_default'\n };\n } else if (o.params && o.params.tableSelect) {\n o.slotsName = 'selectTable_default';\n o.slots = {\n default: 'selectTable_default'\n };\n }\n },\n /**\r\n * 播放器初始化\r\n * @param player\r\n */\n handleReady(player) {\n console.log(' 播放器已初始化', player);\n this.player = player;\n },\n /**\r\n * 视频播放\r\n */\n handlePlay() {\n console.log(' 视频开始播放');\n },\n changeToChinese() {\n console.log(\"this.playerOptions.value.player\", this.player);\n },\n handlePlay1() {\n console.log(' 视频开始播放');\n this.$refs.playerRef.player.play(); // 通过ref调用播放器方法\n this.showCustomModal.value = false;\n },\n setFixed(item) {\n //修改固定字段的值\n if (item.fixed === '1') {\n item.fixed = 'left';\n } else if (item.fixed === '2') {\n item.fixed = 'right';\n }\n if (item.align === '1') {\n item.align = 'left';\n } else if (item.align === '2') {\n item.align = 'right';\n } else if (item.align === '0') {\n item.align = 'center';\n }\n },\n setProp(item) {\n item.resizable = undefined;\n if (item.sortable != undefined && item.sortable != \"\") {\n let order = item.field + (item.sortable == 0 ? \" ASC \" : \" DESC \");\n this.orderByColumns.push(order);\n }\n ////时间类型\n if (!item.width && (item.selectDom == 3 || item.selectDom == 6)) {\n item.minWidth = 150;\n } else if (!item.width && item.title) {\n item.minWidth = item.title.length * 30;\n }\n },\n setShowFooter(item) {\n if (item['totalToOtherProp']) {\n this.table['show-footer'] = true;\n }\n },\n toParseOtherProp(item) {\n //其他属性赋值\n try {\n let otherProp = JSON.parse(item?.otherProp || {});\n item.otherProp = otherProp;\n for (let key of Object.keys(otherProp)) {\n item[key] = otherProp[key];\n }\n } catch (e) {\n if (item.otherProp) {\n console.error(item.field + \"其他属性无法解析:\" + item.otherProp);\n }\n item.otherProp = {};\n }\n if (item['totalToOtherProp'] === undefined) {\n item['totalToOtherProp'] = '';\n }\n },\n /**\r\n * 设置搜索\r\n * @param items\r\n */\n setSearchArea(items) {\n if (items.length != 0) {\n items.push({\n itemRender: {\n name: '$buttons',\n children: [{\n props: {\n type: 'submit',\n content: '查询',\n status: 'primary'\n },\n events: {\n click: this.query\n }\n }, {\n props: {\n type: 'button',\n content: '重置'\n },\n events: {\n click: this.resetQuery\n }\n }]\n }\n });\n this.table.formConfig.size = this.table.size;\n }\n this.table.formConfig.items = items;\n },\n setFilters(o) {\n if (o.dictCode) {\n o.filters = this.dictVal(o.dictCode);\n o.filterMultiple = true;\n o.filterMethod = ({\n option,\n row,\n column\n }) => {};\n } else {\n // o.slots={\n // header:'OlTableFilterRender'\n // }\n o.filters = [{\n data: ''\n }];\n o.filterMultiple = false;\n o.filterRender = {\n name: 'FilterExtend'\n };\n o.cellType = this.getType(o.selectDom);\n }\n o.filterMethod = this.filterMethod;\n },\n filterMethod({\n option,\n row,\n column\n }) {\n const {\n type,\n value,\n min,\n max\n } = option?.data || {};\n const cellValue = String(row[column.field]);\n switch (type) {\n case (_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default().EQUAL):\n return this.isEqual(cellValue, value);\n case (_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default().NOT_EQUAL):\n return this.isNotEqual(cellValue, value);\n case (_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default().STARTS_WITH):\n return this.startsWith(cellValue, value);\n case (_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default().ENDS_WITH):\n return this.endsWith(cellValue, value);\n case (_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default().CONTAINS):\n return this.contains(cellValue, value);\n case (_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default().BETWEEN):\n if (column.cellType === 'date' || column.cellType === 'datetime') {\n return this.dateTimeFilterMethod({\n cellValue,\n min,\n max\n });\n }\n return this.isInRange(cellValue, min, max);\n default:\n if (option.value) {\n return cellValue === option.value;\n }\n return true;\n }\n },\n /**\r\n * 数值范围筛选方法\r\n * @param cellValue\r\n * @param min\r\n * @param max\r\n * @returns {boolean}\r\n */\n isInRange(cellValue, min, max) {\n const numValue = Number(cellValue) || 0;\n const numMin = Number(min) || -Infinity;\n const numMax = Number(max) || Infinity;\n return numValue >= numMin && numValue <= numMax;\n },\n /**\r\n * 判断是否包含开头\r\n * @param cellValue\r\n * @param value\r\n * @returns {*}\r\n */\n endsWith(cellValue, value) {\n if (Array.isArray(value)) {\n return value.some(item => cellValue.endsWith(item));\n }\n return cellValue.endsWith(value);\n },\n /**\r\n * 判断是否包含开头\r\n * @param cellValue\r\n * @param value\r\n * @returns {*}\r\n */\n startsWith(cellValue, value) {\n if (Array.isArray(value)) {\n return value.some(item => cellValue.startsWith(item));\n }\n return cellValue.startsWith(value);\n },\n /**\r\n * 判断是否包含\r\n * @param cellValue\r\n * @param value\r\n * @returns {*}\r\n */\n contains(cellValue, value) {\n if (Array.isArray(value)) {\n return value.some(item => cellValue.includes(item));\n }\n return cellValue.includes(value);\n },\n /**\r\n * 判断字符串与值是否不相等(支持值可能是数组的情况)\r\n * @param {string} cellValue - 要比较的字符串\r\n * @param {string|Array} value - 要比较的值(可以是字符串或数组)\r\n * @returns {boolean} 是否不相等\r\n */\n isNotEqual(cellValue, value) {\n // 如果value是数组,循环判断是否包含cellValue\n if (Array.isArray(value)) {\n return !value.some(item => item === cellValue);\n }\n\n // 如果value不是数组,直接比较字符串\n return cellValue !== value;\n },\n /**\r\n * 比较字符串与值是否相等(支持值可能是数组的情况)\r\n * @param {string} cellValue - 要比较的字符串\r\n * @param {string|Array} value - 要比较的值(可以是字符串或数组)\r\n * @returns {boolean} 是否相等\r\n */\n isEqual(cellValue, value) {\n // 如果value是数组,循环判断是否包含cellValue\n if (Array.isArray(value)) {\n return value.some(item => item === cellValue);\n }\n\n // 如果value不是数组,直接比较字符串\n return cellValue === value;\n },\n /**\r\n * 日期时间范围筛选方法\r\n * @param cellValue 表格数据值\r\n * @param min 最小值\r\n * @param max 最大值\r\n * @returns {boolean}\r\n */\n dateTimeFilterMethod({\n cellValue,\n min,\n max\n }) {\n if (!min && !max) {\n return true;\n }\n const rowValue = cellValue ? new Date(cellValue) : null;\n const startDate = min ? new Date(min) : null;\n const endDate = max ? new Date(max) : null;\n if (startDate && endDate) {\n return rowValue >= startDate && rowValue <= endDate;\n } else if (startDate) {\n return rowValue >= startDate;\n } else if (endDate) {\n return rowValue <= endDate;\n }\n return true;\n },\n getVNode(o, items) {\n if (o.selectType == undefined) {\n return;\n }\n //99是范围查询\n if (o.selectType == 99) {\n let itemStart = this.initFormConfig(o, 5);\n let itemEnd = this.initFormConfig(o, 6);\n //时间范围查询\n if (o.selectDom == 3 || o.selectDom == 6) {\n let placeholder = o.selectDom == 3 ? '时间' : '';\n itemStart.placeholder = '请选择开始日期' + placeholder;\n delete itemStart.itemRender;\n itemEnd.placeholder = '请选择结束日期' + placeholder;\n }\n items.push(itemStart);\n items.push(itemEnd);\n } else {\n items.push(this.initFormConfig(o));\n }\n },\n initFormConfig(o, type) {\n let key = o.fieldNameSEARCHToOtherProp != undefined && o.fieldNameSEARCHToOtherProp != '' ? o.fieldNameSEARCHToOtherProp : o.tableField;\n if (o.tableNameSEARCHToOtherProp != undefined && o.tableNameSEARCHToOtherProp != '') {\n key = o.tableNameSEARCHToOtherProp + '.' + key;\n }\n let item = {\n align: 'left',\n field: key,\n span: 6,\n searchSort: o.searchSort,\n title: o.titleSEARCHToOtherProp != undefined ? o.titleSEARCHToOtherProp : o.title,\n key: key,\n type: o.selectType,\n selectDom: o.selectDom,\n tableName: o.tableNameSEARCHToOtherProp,\n clearable: o.clearableSEARCHToOtherProp == '1' ? false : true,\n toDate: o.toDateSEARCHToOtherProp,\n itemRender: {\n name: '$input',\n props: {\n placeholder: '请输入' + o.title,\n clearable: o.clearableSEARCHToOtherProp == '1' ? false : true\n }\n }\n };\n try {\n this.table.formConfig.data[item.key] = eval(o.valueSEARCHToOtherProp);\n } catch (e) {}\n if (type == 5) {\n item.title = o.title + \"开始\";\n item.type = 5;\n item.field = \"$\" + o.tableField;\n item.key = \"$\" + o.tableField;\n } else if (type == 6) {\n item.field = o.tableField + \"$\";\n item.type = 6;\n item.key = o.tableField + \"$\";\n item.title = o.title + \"结束\";\n }\n if ((item.type == 6 || item.type == 5) && o.selectDom == undefined) {\n o.selectDom = 7;\n }\n this.getItemRender(o, item, type);\n if (item.title && item.title.length > 6) {\n item.titleWidth = 20 * (item.title.length - 2);\n } else if (item.title.toString().trim().length == 0) {\n item.titleWidth = 0;\n }\n if (o.spanSEARCHToOtherProp != undefined) {\n item.span = 6;\n }\n return item;\n },\n getItemRender(o, item, type) {\n if (o.dictCode) {\n delete item.itemRender;\n item.slots = {\n default: o.selectDom + item.field\n };\n item.slotsName = o.selectDom + item.field;\n item.options = this.dictVal(o.dictCode);\n item.placeholder = '请选择' + o.title;\n item.clearable = o.clearableSEARCHToOtherProp != '1';\n item.multiple = o.selectDom == '8';\n item.filterable = true;\n } else if (o.selectDom == 7) {\n item.itemRender.props.type = 'number';\n } else if (o.selectDom == 10) {\n item.itemRender.name = 'textarea';\n } else if (o.selectDom == 3 || o.selectDom == 6) {\n delete item.itemRender;\n item.domDate = true;\n item.selectType = o.selectType;\n //这里跟element plus不一样\n item.domFormat = vue__WEBPACK_IMPORTED_MODULE_0__.version.split('.')[0] == 2 ? 'yyyy-MM-dd' : 'YYYY-MM-DD';\n if (item.selectDom == 3) {\n item.domFormat = item.domFormat + ' HH:mm:ss';\n item.domType = o.selectType == 98 ? \"datetimerange\" : 'datetime';\n } else {\n item.domType = o.selectType == 98 ? \"daterange\" : 'date';\n }\n item.slots = {\n default: o.selectDom + item.field + \"_time\"\n };\n item.slotsName = o.selectDom + item.field + \"_time\";\n item.placeholder = '请选择';\n if (type == 5) {\n item.placeholder += \"开始\";\n } else if (type == 6) {\n item.placeholder += \"结束\";\n }\n if (o.selectDom == 3) {\n item.placeholder += \"时间\";\n }\n }\n },\n setColumnShowOverFlow(column, optionObj) {\n if (optionObj) {\n if (optionObj.table && optionObj.table.columnConfig && optionObj.table.columnConfig.showOverflow) {\n if (column.type != 'seq' || column.type != 'checkbox') {\n column.showOverflow = optionObj.table.columnConfig.showOverflow;\n }\n }\n }\n },\n initMergeCells() {\n if (this.table.mergeCells) {\n this.table.mergeCells = JSON.parse(this.table.mergeCells);\n return;\n }\n if (this.table.mergeFields && this.table.mergeFields.length != 0) {\n this.table.spanMethod = this.mergeRowMethod;\n }\n },\n // 通用行合并函数(将相同多列数据合并为一行)\n mergeRowMethod({\n row,\n _rowIndex,\n column,\n visibleData\n }) {\n const cellValue = row[column.field];\n if (cellValue && this.table.mergeFields.includes(column.field)) {\n const prevRow = visibleData[_rowIndex - 1];\n let nextRow = visibleData[_rowIndex + 1];\n if (prevRow && prevRow[column.field] === cellValue) {\n return {\n rowspan: 0,\n colspan: 0\n };\n } else {\n let countRowspan = 1;\n while (nextRow && nextRow[column.field] === cellValue) {\n nextRow = visibleData[++countRowspan + _rowIndex];\n }\n if (countRowspan > 1) {\n return {\n rowspan: countRowspan,\n colspan: 1\n };\n }\n }\n }\n },\n setDictCellStyle({\n row,\n rowIndex,\n $rowIndex,\n column,\n columnIndex,\n $columnIndex\n }) {\n if (column.params && column.params.cssClass) {\n return column.params.cssClass[row[column[(0,_utils_columnProp__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(column)]]];\n }\n },\n setTableStyle(option) {\n if (option['cell-style'] === undefined) {\n option['cell-style'] = {\n flag: \"flag##function#\",\n isFunction: true\n };\n }\n option['cell-style']['code'] = \"let OTMixinColumnMethod_setDictCellStyle = this.setDictCellStyle(params); if(OTMixinColumnMethod_setDictCellStyle){ return OTMixinColumnMethod_setDictCellStyle;}\\n\" + option['cell-style']['code'];\n }\n }\n};\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinColumnMethod.js?");
|
|
12735
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinColumnMethod: function() { return /* binding */ OTMixinColumnMethod; }\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/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __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_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __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_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __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_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.iterator.find.js */ \"./node_modules/core-js/modules/es.iterator.find.js\");\n/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __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_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__ = __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_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _utils_columnProp__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/columnProp */ \"./src/utils/columnProp.js\");\n/* harmony import */ var _utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/FilterType.js */ \"./src/utils/FilterType.js\");\n/* harmony import */ var _utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\n\n\n\n\n\n\n\nfunction setColumnParams(column, key, value) {\n if (value === undefined) {\n return;\n }\n if (!column['params']) {\n column['params'] = {};\n }\n column['params'][key] = value;\n}\nconst OTMixinColumnMethod = {\n methods: {\n setColumnCssClass(o) {\n if (o.dictCode) {\n let vals = this.dictVal(o.dictCode);\n let cssClass = {};\n if (vals) {\n let dictValueLabel = {};\n for (let obj of vals) {\n dictValueLabel[obj.dictValue] = obj.dictLabel;\n if (obj.cssClass) {\n let css = obj.cssClass.trim();\n try {\n css = css.replace(/([a-zA-Z_]\\w*):/g, '\"$1\":').replace(/'/g, '\"');\n css = JSON.parse(css);\n if (Array.isArray(css)) {\n let data = {};\n if (css[0]) {\n data['backgroundColor'] = css[0];\n }\n if (css[1]) {\n data['color'] = css[1];\n }\n cssClass[obj.dictValue] = data;\n } else {\n cssClass[obj.dictValue] = css;\n }\n } catch (e) {\n console.error(\"列名:\", o.title, \"数据字典:\", obj.dictLabel, \"样式异常:\", css);\n }\n }\n }\n setColumnParams(o, 'dictValueLabel', dictValueLabel);\n }\n if (Object.keys(cssClass).length != 0) {\n setColumnParams(o, 'cssClass', cssClass);\n }\n }\n },\n initColumn(columns, tableConfig) {\n this.table.mergeFields = [];\n let items = [];\n columns = columns.sort(({\n sort: a\n }, {\n sort: b\n }) => a - b);\n for (let column of columns) {\n this.toParseOtherProp(column);\n }\n this.table.columnSource = JSON.parse(JSON.stringify(columns));\n let {\n optionJson,\n seq\n } = tableConfig;\n if (optionJson) {\n optionJson = JSON.parse(optionJson);\n }\n let enableFilter = optionJson?.table?.enableFilter;\n let hasEditConfig = this.hasEditConfig();\n let uuidTableSelectConf = {\n '24': '2011044563705458688',\n '25': '1904380469886234624',\n '26': '2009164807696859136',\n '27': '2011373314888716288'\n };\n for (let o of columns) {\n //部门选择器的Formatter\n if (uuidTableSelectConf[o.selectDom]) {\n o.params = {\n uuid: uuidTableSelectConf[o.selectDom],\n key: 'id',\n label: 'name',\n uniqueId: o.id,\n tableSelect: true\n };\n } else if (o.tableSelectConfToOtherProp) {\n try {\n o.params = JSON.parse(o.tableSelectConfToOtherProp).olTableSelect;\n o.params.uniqueId = o.id;\n o.params.tableSelect = true;\n } catch (e) {}\n }\n this.setColumnCssClass(o);\n this.initFormatter(o);\n this.initSlots(o);\n this.setTreeOpenColumn(o, tableConfig);\n this.setMergeField(o);\n this.setColumnShowOverFlow(o, optionJson);\n this.setProp(o);\n this.setColumnHide(o);\n this.setFixed(o);\n this.setShowFooter(o);\n this.getVNode(o, items);\n if (enableFilter) {\n this.setFilters(o);\n }\n // 可编辑配置\n if (hasEditConfig) {\n this.setEditConfig(o);\n }\n if (o.tableSelectConfToOtherProp) {\n //表格选取的配置\n o.params.tableSelectConfToOtherProp = o.tableSelectConfToOtherProp;\n }\n }\n items.sort(({\n searchSort: a\n }, {\n searchSort: b\n }) => a - b);\n this.setSearchArea(items);\n columns = this.initBodyLeftColumn(columns, seq);\n if (this.table['show-footer']) {\n if (!columns[0].width || columns[0].width < 55) {\n columns[0].width = 55;\n }\n }\n this.table.columns = columns;\n //暂时不合并,启用虚拟滚动\n this.initMergeCells();\n },\n /**\r\n * 动态设置列的 formatter(将值映射为字典标签)\r\n * @param {Object} context - Vue 组件实例(this)\r\n * @param {String} selectDomValue - 匹配的 selectDom 值(如 '24')\r\n * @param {String} typeField - 动态列配置属性名(如 'department')\r\n */\n setColumnFormatter(context, selectDomValue, typeField) {\n const configListProp = typeField + 'ColumnsConfig';\n const dictPropName = typeField + 'Dict';\n\n // 1. 过滤出目标列配置\n const configList = context.table.columnSource.filter(item => item.selectDom === selectDomValue);\n context.table.other[configListProp] = configList;\n\n // console.info(`动态列配置(${configListProp}):`, configList);\n\n // 2. 如果存在目标列,设置 formatter\n if (configList.length > 0) {\n configList.forEach(columnConfig => {\n const targetColumn = context.table.columns.find(col => col.field === columnConfig.field);\n if (targetColumn) {\n targetColumn.formatter = ({\n cellValue\n }) => {\n // 检查是否是类似'[1,2]'的数组字符串\n // if (typeof cellValue === 'string' && cellValue.startsWith('[') && cellValue.endsWith(']')) {\n if (typeof cellValue === 'string') {\n try {\n // 尝试解析为数组\n let values = [];\n if (cellValue.startsWith('[') && cellValue.endsWith(']')) {\n values = JSON.parse(cellValue);\n } else {\n values = cellValue.split(\",\");\n }\n if (Array.isArray(values)) {\n // 查找所有匹配的字典项并拼接标签\n const labels = values.map(value => {\n const dictItem = context.table.other[dictPropName]?.find(item => item.value == value // 使用宽松相等比较\n );\n return dictItem ? dictItem.label : value;\n });\n return labels.join(','); // 用逗号连接标签\n }\n } catch (e) {\n // 解析失败,按原样处理\n }\n }\n const dictItem = context.table.other[dictPropName]?.find(item => item.value == cellValue);\n return dictItem ? dictItem.label : cellValue; // 显示标签或原值\n };\n }\n });\n }\n },\n hasEditConfig() {\n return this.table.editConfig && (this.table.editConfig.enabled === true || typeof this.table.editConfig.enabled === 'string' && this.table.editConfig.enabled.toLowerCase() === 'true');\n },\n setEditConfig(o) {\n if (o.tableSaveToOtherProp && o.tableSaveToOtherProp == '1') {\n return;\n }\n if (o.selectDom == '1') {\n o.editRender = {\n name: '$input',\n props: {\n placeholder: '请输入' + o.title,\n clearable: o.clearableSEARCHToOtherProp == '1' ? false : true\n }\n };\n }\n // 文本域\n if (o.selectDom == '10') {\n o.editRender = {\n name: 'textarea',\n props: {\n type: 'textarea',\n // 指定为多行文本框\n placeholder: '请输入' + o.title,\n rows: 3,\n // 默认显示行数\n autosize: {\n minRows: 2,\n maxRows: 6\n },\n // 自动调整高度\n clearable: o.clearableSEARCHToOtherProp == '1' ? false : true\n }\n };\n }\n // 数字\n if (o.selectDom == '7') {\n o.editRender = {\n name: '$input',\n props: {\n type: this.getType(o.selectDom),\n placeholder: '请输入' + o.title,\n clearable: o.clearableSEARCHToOtherProp == '1' ? false : true\n }\n };\n }\n // 时间\n if (o.selectDom == '3' || o.selectDom == '6') {\n o.editRender = {\n name: 'VxeInput',\n props: {\n type: this.getType(o.selectDom),\n valueFormat: 'yyyy-MM-dd HH:mm:ss'\n }\n };\n }\n // 下拉框\n if (o.selectDom == '2' || o.selectDom == '8') {\n o.editRender = {\n name: 'VxeSelect',\n options: this.dictVal(o.dictCode),\n props: {\n placeholder: '请选择' + o.title\n }\n };\n }\n if (o.selectDom == '5') {\n console.log('复选框:', o);\n // o.slotsName = 'checkbox_default';\n // o.slots = {\n // default: 'checkbox_default'\n // }\n o.slots = {\n default: ({\n row,\n column\n }) => (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"vxe-checkbox\"), {\n \"modelValue\": row[column.field],\n \"onUpdate:modelValue\": $event => row[column.field] = $event,\n \"checkedValue\": 1,\n \"uncheckedValue\": 0\n }, null)\n };\n }\n },\n getType(selectDom) {\n if (selectDom == '3') {\n return 'datetime';\n }\n if (selectDom == '6') {\n return 'date';\n }\n if (selectDom == '7') {\n return 'number';\n }\n },\n /**\r\n * 初始化列左边\r\n * @param columns\r\n * @param type\r\n * @returns {*}\r\n */\n initBodyLeftColumn(columns, type) {\n const hasSeqColumn = columns.some(col => ['seq', 'sequence', '序号'].includes(col.field || col.prop || col.type));\n if (type == 1 && !hasSeqColumn) {\n columns.unshift({\n type: 'seq',\n width: 55,\n title: '序号',\n fixed: 'left'\n });\n }\n const hasCheckboxColumn = columns.some(col => ['checkbox'].includes(col.type));\n const hasRadioColumn = columns.some(col => ['radio'].includes(col.type));\n if (this.selectBox == 2 && !hasCheckboxColumn) {\n columns.unshift({\n type: 'checkbox',\n width: 45,\n showOverflow: false,\n fixed: 'left'\n });\n } else if (this.selectBox == 1 && !hasRadioColumn) {\n columns.unshift({\n type: 'radio',\n width: 45,\n showOverflow: false,\n fixed: 'left'\n });\n }\n return columns;\n },\n setTreeOpenColumn(o, tableConfig) {\n if (tableConfig.tree == 1 && o.field == tableConfig.openColumn) {\n o.treeNode = true;\n if (!o.align) {\n o.align = 'left';\n }\n }\n },\n setMergeField(column) {\n if (column.mergeFlag == '1') {\n this.table.mergeFields.push(column.field);\n }\n },\n setColumnHide(o) {\n //隐藏\n if (o.visible == \"0\") {\n o.visible = false;\n }\n },\n initFormatter(o) {\n try {\n if (o.formatter) {\n o.formatter = eval(\"({cellValue, row, column})=>{\" + o.formatter + \"}\");\n } else if (o.dictCode) {\n o.formatter = eval(\"\" + \"({cellValue, row, column})=>{if(column.params && column.params.dictValueLabel){ let dictValueLabelElement = column.params.dictValueLabel[cellValue];if(dictValueLabelElement){return dictValueLabelElement;} }return cellValue}\");\n }\n } catch (e) {\n console.log(o.title, \"formatter异常:\", o.formatter);\n this.$message.error(o.title + \"formatter异常!\");\n }\n },\n initSlots(o) {\n if (o.selectDom == 20) {\n o.slotsName = 'img_default';\n o.slots = {\n default: 'img_default'\n };\n } else if (o.selectDom == '21') {\n o.slotsName = 'icon_default';\n o.slots = {\n default: 'icon_default'\n };\n } else if (o.selectDom == '23') {\n o.slotsName = 'video_default';\n o.slots = {\n default: 'video_default'\n };\n } else if (o.params && o.params.tableSelect) {\n o.slotsName = 'selectTable_default';\n o.slots = {\n default: 'selectTable_default'\n };\n }\n },\n /**\r\n * 播放器初始化\r\n * @param player\r\n */\n handleReady(player) {\n console.log(' 播放器已初始化', player);\n this.player = player;\n },\n /**\r\n * 视频播放\r\n */\n handlePlay() {\n console.log(' 视频开始播放');\n },\n changeToChinese() {\n console.log(\"this.playerOptions.value.player\", this.player);\n },\n handlePlay1() {\n console.log(' 视频开始播放');\n this.$refs.playerRef.player.play(); // 通过ref调用播放器方法\n this.showCustomModal.value = false;\n },\n setFixed(item) {\n //修改固定字段的值\n if (item.fixed === '1') {\n item.fixed = 'left';\n } else if (item.fixed === '2') {\n item.fixed = 'right';\n }\n if (item.align === '1') {\n item.align = 'left';\n } else if (item.align === '2') {\n item.align = 'right';\n } else if (item.align === '0') {\n item.align = 'center';\n }\n },\n setProp(item) {\n item.resizable = undefined;\n if (item.sortable != undefined && item.sortable != \"\") {\n let order = item.field + (item.sortable == 0 ? \" ASC \" : \" DESC \");\n this.orderByColumns.push(order);\n }\n ////时间类型\n if (!item.width && (item.selectDom == 3 || item.selectDom == 6)) {\n item.minWidth = 150;\n } else if (!item.width && item.title) {\n item.minWidth = item.title.length * 30;\n }\n },\n setShowFooter(item) {\n if (item['totalToOtherProp']) {\n this.table['show-footer'] = true;\n }\n },\n toParseOtherProp(item) {\n //其他属性赋值\n try {\n let otherProp = JSON.parse(item?.otherProp || {});\n item.otherProp = otherProp;\n for (let key of Object.keys(otherProp)) {\n item[key] = otherProp[key];\n }\n } catch (e) {\n if (item.otherProp) {\n console.error(item.field + \"其他属性无法解析:\" + item.otherProp);\n }\n item.otherProp = {};\n }\n if (item['totalToOtherProp'] === undefined) {\n item['totalToOtherProp'] = '';\n }\n },\n /**\r\n * 设置搜索\r\n * @param items\r\n */\n setSearchArea(items) {\n if (items.length != 0) {\n items.push({\n itemRender: {\n name: '$buttons',\n children: [{\n props: {\n type: 'submit',\n content: '查询',\n status: 'primary'\n },\n events: {\n click: this.query\n }\n }, {\n props: {\n type: 'button',\n content: '重置'\n },\n events: {\n click: this.resetQuery\n }\n }]\n }\n });\n this.table.formConfig.size = this.table.size;\n }\n this.table.formConfig.items = items;\n },\n setFilters(o) {\n if (o.dictCode) {\n o.filters = this.dictVal(o.dictCode);\n o.filterMultiple = true;\n o.filterMethod = ({\n option,\n row,\n column\n }) => {};\n } else {\n // o.slots={\n // header:'OlTableFilterRender'\n // }\n o.filters = [{\n data: ''\n }];\n o.filterMultiple = false;\n o.filterRender = {\n name: 'FilterExtend'\n };\n o.cellType = this.getType(o.selectDom);\n }\n o.filterMethod = this.filterMethod;\n },\n filterMethod({\n option,\n row,\n column\n }) {\n const {\n type,\n value,\n min,\n max\n } = option?.data || {};\n const cellValue = String(row[column.field]);\n switch (type) {\n case (_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default().EQUAL):\n return this.isEqual(cellValue, value);\n case (_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default().NOT_EQUAL):\n return this.isNotEqual(cellValue, value);\n case (_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default().STARTS_WITH):\n return this.startsWith(cellValue, value);\n case (_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default().ENDS_WITH):\n return this.endsWith(cellValue, value);\n case (_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default().CONTAINS):\n return this.contains(cellValue, value);\n case (_utils_FilterType_js__WEBPACK_IMPORTED_MODULE_9___default().BETWEEN):\n if (column.cellType === 'date' || column.cellType === 'datetime') {\n return this.dateTimeFilterMethod({\n cellValue,\n min,\n max\n });\n }\n return this.isInRange(cellValue, min, max);\n default:\n if (option.value) {\n return cellValue === option.value;\n }\n return true;\n }\n },\n /**\r\n * 数值范围筛选方法\r\n * @param cellValue\r\n * @param min\r\n * @param max\r\n * @returns {boolean}\r\n */\n isInRange(cellValue, min, max) {\n const numValue = Number(cellValue) || 0;\n const numMin = Number(min) || -Infinity;\n const numMax = Number(max) || Infinity;\n return numValue >= numMin && numValue <= numMax;\n },\n /**\r\n * 判断是否包含开头\r\n * @param cellValue\r\n * @param value\r\n * @returns {*}\r\n */\n endsWith(cellValue, value) {\n if (Array.isArray(value)) {\n return value.some(item => cellValue.endsWith(item));\n }\n return cellValue.endsWith(value);\n },\n /**\r\n * 判断是否包含开头\r\n * @param cellValue\r\n * @param value\r\n * @returns {*}\r\n */\n startsWith(cellValue, value) {\n if (Array.isArray(value)) {\n return value.some(item => cellValue.startsWith(item));\n }\n return cellValue.startsWith(value);\n },\n /**\r\n * 判断是否包含\r\n * @param cellValue\r\n * @param value\r\n * @returns {*}\r\n */\n contains(cellValue, value) {\n if (Array.isArray(value)) {\n return value.some(item => cellValue.includes(item));\n }\n return cellValue.includes(value);\n },\n /**\r\n * 判断字符串与值是否不相等(支持值可能是数组的情况)\r\n * @param {string} cellValue - 要比较的字符串\r\n * @param {string|Array} value - 要比较的值(可以是字符串或数组)\r\n * @returns {boolean} 是否不相等\r\n */\n isNotEqual(cellValue, value) {\n // 如果value是数组,循环判断是否包含cellValue\n if (Array.isArray(value)) {\n return !value.some(item => item === cellValue);\n }\n\n // 如果value不是数组,直接比较字符串\n return cellValue !== value;\n },\n /**\r\n * 比较字符串与值是否相等(支持值可能是数组的情况)\r\n * @param {string} cellValue - 要比较的字符串\r\n * @param {string|Array} value - 要比较的值(可以是字符串或数组)\r\n * @returns {boolean} 是否相等\r\n */\n isEqual(cellValue, value) {\n // 如果value是数组,循环判断是否包含cellValue\n if (Array.isArray(value)) {\n return value.some(item => item === cellValue);\n }\n\n // 如果value不是数组,直接比较字符串\n return cellValue === value;\n },\n /**\r\n * 日期时间范围筛选方法\r\n * @param cellValue 表格数据值\r\n * @param min 最小值\r\n * @param max 最大值\r\n * @returns {boolean}\r\n */\n dateTimeFilterMethod({\n cellValue,\n min,\n max\n }) {\n if (!min && !max) {\n return true;\n }\n const rowValue = cellValue ? new Date(cellValue) : null;\n const startDate = min ? new Date(min) : null;\n const endDate = max ? new Date(max) : null;\n if (startDate && endDate) {\n return rowValue >= startDate && rowValue <= endDate;\n } else if (startDate) {\n return rowValue >= startDate;\n } else if (endDate) {\n return rowValue <= endDate;\n }\n return true;\n },\n getVNode(o, items) {\n if (o.selectType == undefined) {\n return;\n }\n //99是范围查询\n if (o.selectType == 99) {\n let itemStart = this.initFormConfig(o, 5);\n let itemEnd = this.initFormConfig(o, 6);\n //时间范围查询\n if (o.selectDom == 3 || o.selectDom == 6) {\n let placeholder = o.selectDom == 3 ? '时间' : '';\n itemStart.placeholder = '请选择开始日期' + placeholder;\n delete itemStart.itemRender;\n itemEnd.placeholder = '请选择结束日期' + placeholder;\n }\n items.push(itemStart);\n items.push(itemEnd);\n } else {\n items.push(this.initFormConfig(o));\n }\n },\n initFormConfig(o, type) {\n let key = o.fieldNameSEARCHToOtherProp != undefined && o.fieldNameSEARCHToOtherProp != '' ? o.fieldNameSEARCHToOtherProp : o.tableField;\n if (o.tableNameSEARCHToOtherProp != undefined && o.tableNameSEARCHToOtherProp != '') {\n key = o.tableNameSEARCHToOtherProp + '.' + key;\n }\n let item = {\n align: 'left',\n field: key,\n span: 6,\n searchSort: o.searchSort,\n title: o.titleSEARCHToOtherProp != undefined ? o.titleSEARCHToOtherProp : o.title,\n key: key,\n type: o.selectType,\n selectDom: o.selectDom,\n tableName: o.tableNameSEARCHToOtherProp,\n clearable: o.clearableSEARCHToOtherProp == '1' ? false : true,\n toDate: o.toDateSEARCHToOtherProp,\n itemRender: {\n name: '$input',\n props: {\n placeholder: '请输入' + o.title,\n clearable: o.clearableSEARCHToOtherProp == '1' ? false : true\n }\n }\n };\n try {\n this.table.formConfig.data[item.key] = eval(o.valueSEARCHToOtherProp);\n } catch (e) {}\n if (type == 5) {\n item.title = o.title + \"开始\";\n item.type = 5;\n item.field = \"$\" + o.tableField;\n item.key = \"$\" + o.tableField;\n } else if (type == 6) {\n item.field = o.tableField + \"$\";\n item.type = 6;\n item.key = o.tableField + \"$\";\n item.title = o.title + \"结束\";\n }\n if ((item.type == 6 || item.type == 5) && o.selectDom == undefined) {\n o.selectDom = 7;\n }\n this.getItemRender(o, item, type);\n if (item.title && item.title.length > 6) {\n item.titleWidth = 20 * (item.title.length - 2);\n } else if (item.title.toString().trim().length == 0) {\n item.titleWidth = 0;\n }\n if (o.spanSEARCHToOtherProp != undefined) {\n item.span = 6;\n }\n return item;\n },\n getItemRender(o, item, type) {\n if (o.dictCode) {\n delete item.itemRender;\n item.slots = {\n default: o.selectDom + item.field\n };\n item.slotsName = o.selectDom + item.field;\n item.options = this.dictVal(o.dictCode);\n item.placeholder = '请选择' + o.title;\n item.clearable = o.clearableSEARCHToOtherProp != '1';\n item.multiple = o.selectDom == '8';\n item.filterable = true;\n } else if (o.selectDom == 7) {\n item.itemRender.props.type = 'number';\n } else if (o.selectDom == 10) {\n item.itemRender.name = 'textarea';\n } else if (o.selectDom == 3 || o.selectDom == 6) {\n delete item.itemRender;\n item.domDate = true;\n item.selectType = o.selectType;\n //这里跟element plus不一样\n item.domFormat = vue__WEBPACK_IMPORTED_MODULE_0__.version.split('.')[0] == 2 ? 'yyyy-MM-dd' : 'YYYY-MM-DD';\n if (item.selectDom == 3) {\n item.domFormat = item.domFormat + ' HH:mm:ss';\n item.domType = o.selectType == 98 ? \"datetimerange\" : 'datetime';\n } else {\n item.domType = o.selectType == 98 ? \"daterange\" : 'date';\n }\n item.slots = {\n default: o.selectDom + item.field + \"_time\"\n };\n item.slotsName = o.selectDom + item.field + \"_time\";\n item.placeholder = '请选择';\n if (type == 5) {\n item.placeholder += \"开始\";\n } else if (type == 6) {\n item.placeholder += \"结束\";\n }\n if (o.selectDom == 3) {\n item.placeholder += \"时间\";\n }\n }\n },\n setColumnShowOverFlow(column, optionObj) {\n if (optionObj) {\n if (optionObj.table && optionObj.table.columnConfig && optionObj.table.columnConfig.showOverflow) {\n if (column.type != 'seq' || column.type != 'checkbox') {\n column.showOverflow = optionObj.table.columnConfig.showOverflow;\n }\n }\n }\n },\n initMergeCells() {\n if (this.table.mergeCells) {\n this.table.mergeCells = JSON.parse(this.table.mergeCells);\n return;\n }\n if (this.table.mergeFields && this.table.mergeFields.length != 0) {\n this.table.spanMethod = this.mergeRowMethod;\n }\n },\n // 通用行合并函数(将相同多列数据合并为一行)\n mergeRowMethod({\n row,\n _rowIndex,\n column,\n visibleData\n }) {\n const cellValue = row[column.field];\n if (cellValue && this.table.mergeFields.includes(column.field)) {\n const prevRow = visibleData[_rowIndex - 1];\n let nextRow = visibleData[_rowIndex + 1];\n if (prevRow && prevRow[column.field] === cellValue) {\n return {\n rowspan: 0,\n colspan: 0\n };\n } else {\n let countRowspan = 1;\n while (nextRow && nextRow[column.field] === cellValue) {\n nextRow = visibleData[++countRowspan + _rowIndex];\n }\n if (countRowspan > 1) {\n return {\n rowspan: countRowspan,\n colspan: 1\n };\n }\n }\n }\n },\n setDictCellStyle({\n row,\n rowIndex,\n $rowIndex,\n column,\n columnIndex,\n $columnIndex\n }) {\n if (column.params && column.params.cssClass) {\n return column.params.cssClass[row[column[(0,_utils_columnProp__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(column)]]];\n }\n },\n setTableStyle(option) {\n if (option['cell-style'] === undefined) {\n option['cell-style'] = {\n flag: \"flag##function#\",\n isFunction: true\n };\n }\n option['cell-style']['code'] = \"let OTMixinColumnMethod_setDictCellStyle = this.setDictCellStyle(params); if(OTMixinColumnMethod_setDictCellStyle){ return OTMixinColumnMethod_setDictCellStyle;}\\n\" + option['cell-style']['code'];\n }\n }\n};\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinColumnMethod.js?");
|
|
12736
12736
|
|
|
12737
12737
|
/***/ }),
|
|
12738
12738
|
|
|
@@ -12754,7 +12754,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
12754
12754
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
12755
12755
|
|
|
12756
12756
|
"use strict";
|
|
12757
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinPager: function() { return /* binding */ OTMixinPager; }\n/* harmony export */ });\nconst OTMixinPager = {\n name: 'OTMixinPager',\n data() {\n return {\n pagination: {\n enabled: true,\n size: \"mini\",\n currentPage: 1,\n //当前页\n pageSizes: [],\n //每页大小选项列表\n pageSize: 50,\n //每页大小\n layouts: ['PrevJump', 'PrevPage', 'Number', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total'],\n //每页大小选项列表\n total: 0,\n //总条数\n pagerCount: 5,\n //显示页码按钮的数量\n selectRowShow: false,\n //是否显示已选择项\n htmlValue: undefined,\n //显示内容\n rowSelection: true,\n showDetails: true,\n selectionRowsLength: 0\n }\n };\n },\n methods: {\n handlePageChange({\n currentPage,\n pageSize\n }) {\n this.pagination.currentPage = currentPage;\n this.pagination.pageSize = pageSize;\n this.query();\n },\n clearSelected(o) {\n if (this.selectBox == 1) {\n this.$table.clearRadioRow();\n } else if (this.selectBox == 2) {\n this.$table.clearCheckboxRow();\n }\n this.pagination.selectionRowsLength = 0;\n this.setToolBtn('batchDelete', 'disabled', true);\n this.$emit('clearSelected', o);\n }\n }\n};\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinPager.js?");
|
|
12757
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinPager: function() { return /* binding */ OTMixinPager; }\n/* harmony export */ });\nconst OTMixinPager = {\n name: 'OTMixinPager',\n data() {\n return {\n pagination: {\n enabled: true,\n size: \"mini\",\n currentPage: 1,\n //当前页\n pageSizes: [],\n //每页大小选项列表\n pageSize: 50,\n //每页大小\n layouts: ['PrevJump', 'PrevPage', 'Number', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total'],\n //每页大小选项列表\n total: 0,\n //总条数\n pagerCount: 5,\n //显示页码按钮的数量\n selectRowShow: false,\n //是否显示已选择项\n htmlValue: undefined,\n //显示内容\n rowSelection: true,\n showDetails: true,\n selectionRowsLength: 0\n }\n };\n },\n methods: {\n handlePageChange({\n currentPage,\n pageSize\n }) {\n this.pagination.currentPage = currentPage;\n this.pagination.pageSize = pageSize;\n this.query();\n },\n clearSelected(o) {\n if (this.selectBox == 1) {\n this.$table.clearRadioRow();\n } else if (this.selectBox == 2) {\n this.$table.clearCheckboxRow();\n }\n this.$table.clearCurrentRow();\n this.pagination.selectionRowsLength = 0;\n this.setToolBtn('batchDelete', 'disabled', true);\n this.$emit('clearSelected', o);\n }\n }\n};\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinPager.js?");
|
|
12758
12758
|
|
|
12759
12759
|
/***/ }),
|
|
12760
12760
|
|