olp-table 7.2.12 → 7.2.13
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 +2 -2
- package/olp-table.common.js +4 -4
- package/olp-table.umd.js +4 -4
- package/olp-table.umd.min.js +4 -4
- package/package.json +1 -1
package/olp-table.common.js
CHANGED
|
@@ -311,7 +311,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core
|
|
|
311
311
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
312
312
|
|
|
313
313
|
"use strict";
|
|
314
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.filter.js */ \"./node_modules/core-js/modules/es.iterator.filter.js\");\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.iterator.map.js */ \"./node_modules/core-js/modules/es.iterator.map.js\");\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/ExcelUtil */ \"./src/utils/ExcelUtil.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n\n\n\n\n\n\n\n\n\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_8__.storeDict)();\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_5__.useMessage)(); // 消息弹窗\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'olDialogImport',\n inject: ['http'],\n props: {\n title: {\n default: '导入数据'\n },\n name: {\n default: '导入数据'\n },\n width: {\n default: 800\n },\n draggable: {\n default: true\n },\n center: {\n default: false\n },\n selectData: {\n default: '1'\n }\n },\n data() {\n return {\n form: {\n selectData: ''\n },\n tableConfigId: '',\n show: '',\n formData: {},\n gridOptions: {\n border: true,\n keepSource: true,\n showOverflow: true,\n loading: false,\n height: 330,\n align: 'left',\n scrollX: {\n enabled: true,\n gt: 15\n },\n scrollY: {\n enabled: true,\n gt: 0\n },\n columnConfig: {\n resizable: true\n },\n rowConfig: {\n useKey: true,\n keyField: 'id'\n },\n expandConfig: {\n labelField: 'seq'\n },\n editConfig: {\n trigger: 'click',\n mode: 'row',\n showStatus: true\n },\n checkboxConfig: {\n labelField: 'title',\n reserve: true,\n highlight: true,\n range: true,\n checkAll: false\n },\n columns: [],\n data: [],\n toolbarConfig: {},\n initColumns: [{\n type: 'checkbox',\n width: 50,\n fixed: 'left'\n }, {\n type: 'seq',\n title: '序号',\n width: 50,\n fixed: 'left'\n }],\n
|
|
314
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.filter.js */ \"./node_modules/core-js/modules/es.iterator.filter.js\");\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/core-js/modules/es.iterator.for-each.js\");\n/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.iterator.map.js */ \"./node_modules/core-js/modules/es.iterator.map.js\");\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/ExcelUtil */ \"./src/utils/ExcelUtil.js\");\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n\n\n\n\n\n\n\n\n\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_8__.storeDict)();\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_5__.useMessage)(); // 消息弹窗\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'olDialogImport',\n inject: ['http'],\n props: {\n title: {\n default: '导入数据'\n },\n name: {\n default: '导入数据'\n },\n width: {\n default: 800\n },\n draggable: {\n default: true\n },\n center: {\n default: false\n },\n selectData: {\n default: '1'\n }\n },\n data() {\n return {\n form: {\n selectData: ''\n },\n tableConfigId: '',\n show: '',\n formData: {},\n gridOptions: {\n border: true,\n keepSource: true,\n showOverflow: true,\n loading: false,\n height: 330,\n align: 'left',\n scrollX: {\n enabled: true,\n gt: 15\n },\n scrollY: {\n enabled: true,\n gt: 0\n },\n columnConfig: {\n resizable: true\n },\n rowConfig: {\n useKey: true,\n keyField: 'id'\n },\n expandConfig: {\n labelField: 'seq'\n },\n editConfig: {\n trigger: 'click',\n mode: 'row',\n showStatus: true\n },\n checkboxConfig: {\n labelField: 'title',\n reserve: true,\n highlight: true,\n range: true,\n checkAll: false\n },\n columns: [],\n data: [],\n toolbarConfig: {},\n initColumns: [{\n type: 'checkbox',\n width: 50,\n fixed: 'left'\n }, {\n type: 'seq',\n title: '序号',\n width: 50,\n fixed: 'left'\n }]\n },\n genIdMap: undefined,\n url: '/online/crud/batchSave'\n };\n },\n methods: {\n submit() {\n if (!this.gridOptions.data || this.gridOptions.data.length == 0) return message.error('导入数据为空!');\n let params = this.getParams();\n this.gridOptions.loading = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_6__.request)(this.http, {\n url: '/online/crud/batchSave',\n method: 'post',\n data: params,\n timeout: 1000 * 90 * 90\n }, false, false).then(({\n msg,\n code\n }) => {\n if (code == 200) {\n this.show = false;\n this.$emit('emits', {\n m: 'query'\n });\n message.success(msg);\n } else {\n message.error(msg);\n }\n }).finally(() => {\n this.gridOptions.loading = false;\n });\n },\n open({\n column,\n tableConfigId,\n json\n }) {\n if (json) {\n if (json.genIdMap) {\n this.genIdMap = json.genIdMap;\n }\n if (json.url) {\n this.url = json.url;\n }\n }\n this.tableConfigId = tableConfigId;\n this.show = true;\n let columns = column.filter(o => o.columnAuth == 1);\n columns.push(...this.gridOptions.initColumns);\n this.gridOptions.columns = columns;\n this.$refs.xGrid.loadColumn(this.gridOptions.columns);\n },\n handleChange(title) {\n let que = [];\n for (let j = 0; j < this.gridOptions.data.length; j++) {\n let data = this.gridOptions.data[j];\n if (j == 0) {\n que.push(data[title]);\n break;\n }\n let index = que.index0f(data[title]);\n if (index != -1) {\n return message.warn('第' + (j + 1) + '行-第' + (index + 1) + '行数据不唯-:' + data[title]);\n }\n que.push(data[title]);\n }\n message.success(title + '无重复数据!');\n },\n selectRowChange() {\n this.formData.disabled = this.$refs.xGrid.getCheckboxRecords(true).length == 0;\n this.formData.selected_but = this.formData.disabled ? 'unselected_but' : 'selected_but';\n },\n batchRemove() {\n let records = this.$refs.xGrid.getCheckboxRecords(true);\n if (!records || records.length == 0) return message.error('未选中数据!');\n this.$refs.xGrid.removeCheckboxRow();\n },\n getParams() {\n return {\n tableConfigId: this.tableConfigId,\n genIdMap: this.genIdMap,\n columnAndValueListMap: this.getDataByDict(this.gridOptions.data)\n };\n },\n onChange({\n data\n }) {\n data = this.getDataByTitle(data);\n this.gridOptions.data = data;\n },\n getDataByTitle(data) {\n if (data && data.length >= 1) {\n let rows = [];\n data.map(row => {\n let obj = {};\n for (let key in row) {\n this.gridOptions.columns.forEach(item => {\n if (item.title == key) {\n obj[item.field] = row[key];\n }\n });\n }\n rows.push(obj);\n });\n return rows;\n }\n },\n getDataByDict(data) {\n if (data && data.length >= 1) {\n let rows = [];\n data.map(row => {\n let obj = {};\n for (let key in row) {\n this.gridOptions.columns.forEach(item => {\n if (item.field == key) {\n obj[item.field] = this.getRowValue(item.dictCode, row[key]);\n }\n });\n }\n rows.push(obj);\n });\n return rows;\n }\n },\n download() {\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_7__.exportExcel)({\n data: [],\n name: '模板下载',\n columns: this.gridOptions.columns.filter(o => o.field),\n option: {\n align: 'center'\n }\n });\n },\n init(id) {\n this.gridOptions.loading = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_6__.get)(this.http, this.gridOptions.url, {\n id: id\n }, true).then(res => {\n for (const data of res) {\n data.width = 100;\n }\n res.push(...this.gridOptions.initColumns);\n this.gridOptions.columns = res;\n this.gridOptions.loading = false;\n });\n },\n getRowValue(dictCode, val) {\n if (dictCode) {\n return this.getDictValueByCode(dictCode, val);\n }\n return val;\n },\n getDictValueByCode(dictCode, val) {\n for (const option of dict.val(dictCode)) {\n if (option.label == val) {\n return option;\n }\n }\n return val;\n },\n close() {\n this.show = false;\n }\n },\n created() {\n this.formData = {\n action: this.http.axios().defaults.baseURL + '/online/crud/upload',\n uniCode: '',\n headers: this.http.axios().defaults.headers,\n disabled: true,\n selected_but: 'unselected_but'\n };\n }\n});\n\n//# sourceURL=webpack://olp-table/./src/components/ol-dialog-import.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
|
|
315
315
|
|
|
316
316
|
/***/ }),
|
|
317
317
|
|
|
@@ -4674,7 +4674,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
|
|
|
4674
4674
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
4675
4675
|
|
|
4676
4676
|
"use strict";
|
|
4677
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".search[data-v-4ffae198] {\\n height: 38px;\\n}\\n.search div[data-v-4ffae198]:first-child {\\n width: 100%;\\n}\\n.tree[data-v-4ffae198] {\\n position: relative;\\n background-color: white;\\n height: 100%;\\n}\\n.tree .title[data-v-4ffae198] {\\n
|
|
4677
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"./node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".search[data-v-4ffae198] {\\n height: 38px;\\n}\\n.search div[data-v-4ffae198]:first-child {\\n width: 100%;\\n}\\n.tree[data-v-4ffae198] {\\n position: relative;\\n background-color: white;\\n height: 100%;\\n}\\n.tree .title[data-v-4ffae198] {\\n padding: 6px;\\n border-bottom: 1px solid rgba(220, 223, 230, 0.5215686275);\\n position: relative;\\n}\\n.tree .title b[data-v-4ffae198] {\\n position: relative;\\n font-size: 14px;\\n}\\n.tree .title div[data-v-4ffae198] {\\n font-size: 8px;\\n}\", \"\"]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://olp-table/./src/components/tree/components/o-tree.vue?./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use%5B1%5D!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use%5B2%5D!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
|
|
4678
4678
|
|
|
4679
4679
|
/***/ }),
|
|
4680
4680
|
|
|
@@ -10846,7 +10846,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _sty
|
|
|
10846
10846
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
10847
10847
|
|
|
10848
10848
|
"use strict";
|
|
10849
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DefaultMethods: function() { return /* binding */ DefaultMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.map.js */ \"./node_modules/core-js/modules/es.iterator.map.js\");\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/ExcelUtil */ \"./src/utils/ExcelUtil.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _utils_groupCompute__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/groupCompute */ \"./src/utils/groupCompute.js\");\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)(); // 消息弹窗\nconst DefaultMethods = {\n methods: {\n //删除主子表\n async doRemoveMainAndSub({\n obj,\n row\n }, subTableName, whereObj, subForeignKey, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n this.doPostAes(obj.code, '/online/crudAes/deleteMainAndSubs', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n subTableName: subTableName,\n whereMap: this.doGetWhereMap(row, whereObj),\n //更新条件\n subForeignKey: subForeignKey\n });\n },\n /**\r\n * 操作列保存:直接在操作按钮的自定义事件加入代码:this.doOneSave(o,'是否要保存数据')\r\n * @param obj 单击按钮的对象\r\n * @param row 单击当前行\r\n * @param content 提示内容\r\n * @returns {Promise<void>}\r\n */\n async doOneSave({\n obj,\n row\n }, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (!row) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"数据为空!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let dataSource = this.table.dataSource;\n if (!dataSource) {\n return;\n }\n let newRow = JSON.parse(JSON.stringify(row));\n try {\n newRow[this.formMainList.edit.formMain.updateKey] = '';\n } catch (e) {}\n let params = {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n genIdMap: {\n [this.formMainList.edit.formMain.updateKey]: 'uuid'\n },\n columnAndValueMap: this.getColumnTableUpdateValue(this.table.columns, newRow)\n };\n this.doPostAes(obj.code, '/online/crudAes/save', params);\n },\n /**\r\n * 操作列更新:直接在操作按钮的自定义事件加入代码:this.doOneModify(o,'数据库更新字段=数据值,数据库更新字段:列字段,数据库更新字段','数据库更新条件','提示内容')\r\n *\r\n * @param obj 单击按钮的对象\r\n * @param row 单击当前行\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @returns {Promise<void>}\r\n */\n async doOneModify({\n obj,\n row\n }, updateObj, whereObj, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n let newRow = JSON.parse(JSON.stringify(row));\n this.doPostAes(obj.code, '/online/crudAes/modify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n columnAndValueMap: this.doGetColumnAndValueMap(newRow, updateObj),\n //更新字段\n whereMap: this.doGetWhereMap(newRow, whereObj) //更新条件\n });\n },\n /**\r\n * 批量更新\r\n * @param code\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @param updateRecords 如果为空,获取全部选中数据\r\n * @returns {Promise<void>}\r\n */\n async doBatchModify(code, updateObj, whereObj, content, updateRecords) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n let rows = updateRecords;\n if (!updateRecords || updateRecords.length <= 0) {\n rows = this.getSelectRows();\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n for (const row of rows) {\n list.push({\n columnAndValueMap: this.doGetColumnAndValueMap(row, updateObj),\n //更新字段\n whereMap: this.doGetWhereMap(row, whereObj) //更新条件\n });\n }\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list\n });\n },\n /**\r\n * 直接发送post请求\r\n * @param code\r\n * @param url\r\n * @param params\r\n */\n doPostAes(code, url, params, noQuery) {\n if (code != undefined) {\n this.loading[code] = true;\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, url, params).then(r => {\n if (r != false && noQuery != false) {\n this.query();\n }\n }).finally(() => {\n if (code != undefined) {\n this.loading[code] = false;\n }\n });\n },\n /**\r\n * 根据列配置获取数据库表更新数据\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n prop,\n tableField\n } of column) {\n if (!tableField || tableField != '1') {\n continue;\n }\n let value = formData[prop];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[prop] = value;\n }\n }\n return columnAndValueMap;\n },\n /**\r\n * 获取表格更新列值\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getColumnTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n field,\n tableSaveToOtherProp\n } of column) {\n // 勾选,不属于数据库表字段\n if (tableSaveToOtherProp && tableSaveToOtherProp == '1') {\n continue;\n }\n let value = formData[field];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[field] = value;\n }\n }\n return columnAndValueMap;\n },\n /**\r\n * 获取row更新值\r\n * @param row\r\n * @param updateObj 更新对象,允许为:\"name='xx',name\" 如果name=xx,数据直接赋值,如果没有=,则使用row的值\r\n * @returns {{}}\r\n */\n doGetColumnAndValueMap(row, updateObj) {\n let columnAndValueMap = {};\n for (let key of updateObj.split(\",\")) {\n let k = key.split(\"=\");\n if (k.length == 2) {\n columnAndValueMap[k[0]] = k[1];\n } else {\n k = key.split(\":\");\n columnAndValueMap[k[k.length - 1]] = row[k[0]];\n }\n }\n return columnAndValueMap;\n },\n doGetColumnAndValueAny(rows, updateObj) {\n if (!updateObj) {\n return rows;\n }\n let list = [];\n let keys = [];\n let hasKey = '';\n for (const row of rows) {\n keys = keys.length >= 1 ? keys : Object.keys(row);\n if (!hasKey) {\n hasKey = this.hasUpdateKey(keys, updateObj);\n }\n if (hasKey) {\n Object.assign(row, this.doGetColumnAndValueMap(row, updateObj));\n }\n list.push(row);\n }\n return list;\n },\n hasUpdateKey(keys, updateObj) {\n for (const key of keys) {\n if (updateObj.indexOf(key) >= 0) {\n return '1';\n }\n }\n return '0';\n },\n doGetWhereMap(row, whereObj) {\n let whereMap = {};\n for (let key of whereObj.split(\",\")) {\n let k = key.split(\":\");\n //className:class_name row:{className:'xxx'} whereMap:{class_name}\n whereMap[k[k.length - 1]] = row[k[0]];\n }\n return whereMap;\n },\n /**\r\n * 内置批量删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n batchRemove() {\n this.confirm(\"您选中\" + this.getSelectRows().length + '条数据,删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n let list = [];\n for (let r of this.getSelectRows()) {\n let p = JSON.parse(JSON.stringify(this.deleteParameter));\n delete p['$parentId'];\n for (let key of Object.keys(p)) {\n p[key] = r[key];\n }\n list.push(p);\n }\n this.loading['batchDelete'] = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, '/online/crudAes/batchDelete', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list: list\n }).then(r => {\n if (r != false) {\n this.query();\n }\n }).finally(() => {\n this.loading['batchDelete'] = false;\n });\n }\n });\n },\n /**\r\n * 内置重置方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n resetQuery() {\n for (let k of Object.keys(this.table.formConfig.data)) {\n this.table.formConfig.data[k] = undefined;\n }\n for (let k of Object.keys(this.parameter)) {\n this.parameter[k] = undefined;\n }\n this.initDefaultValue();\n this.query();\n },\n /**\r\n * 内置根据参数查询\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n queryParams(parameter) {\n if (parameter) {\n Object.assign(this.parameter, parameter);\n }\n return this.query();\n },\n /**\r\n * 内置查询\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n query() {\n let axios = undefined;\n if (this.tableConfig.definitionSql == 2) {\n if (this.tableConfig.requestType == '1') {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(this.http, this.tableConfig.api, this.getParams(), false, false);\n } else {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.get)(this.http, this.tableConfig.api, this.getParams(), false);\n }\n } else if (this.tableConfig.aes == 1) {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, '/online/crudAes/query', this.getParams(), false, false);\n } else {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(this.http, '/online/crud/query', this.getParams(), false, false);\n }\n this.doQuery(axios);\n },\n doQuery(axios) {\n if (this.loading['select']) {\n return;\n }\n this.table.loading = true;\n this.loading['select'] = true;\n axios.then(({\n data,\n code,\n msg\n }) => {\n if (code != 200 && code != 0) {\n message.error(msg);\n return;\n }\n let respData = data instanceof Array ? data : data.listData;\n if (this.table.treeConfig) {\n //id , parentId , children\n respData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_3__.handleTree)(respData, this.table.treeConfig.treeId, this.table.treeConfig.treeParentId);\n }\n this.table.data = respData;\n this.doGroupAndCompute(respData);\n this.pagination.total = data.count;\n }).finally(() => {\n this.table.loading = false;\n this.loading['select'] = false;\n });\n },\n /**\r\n * 内置删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n remove(o) {\n let {\n row\n } = o;\n this.confirm('数据删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n let params = {};\n for (let key of Object.keys(this.deleteParameter)) {\n if (key != '$parentId') {\n params[key] = row[key];\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, '/online/crudAes/delete', {\n where: params,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable\n }).then(r => {\n if (r != false) {\n this.query();\n }\n });\n }\n });\n },\n /**\r\n * 获取查询参数\r\n * @returns {{enablePage: OTMixinBodyMethods.methods.pagination.enabled, theme: OTMixinBodyMethods.methods.theme, id: OTMixinBodyMethods.methods.uuid}}\r\n */\n getParams() {\n if (this.tableConfig.definitionSql == 2) {\n let params = JSON.parse(JSON.stringify(this.table.formConfig.data));\n if (params.enablePage) {\n params.pageNumber = this.pagination.currentPage;\n params.pageSize = this.pagination.pageSize;\n }\n return {\n ...this.parameter,\n ...params\n };\n }\n let params = {\n id: this.uuid,\n theme: this.theme,\n enablePage: this.pagination.enabled\n };\n if (params.enablePage) {\n params.pageNumber = this.pagination.currentPage;\n params.pageSize = this.pagination.pageSize;\n }\n let paramsKey = [];\n for (let o of this.table.formConfig.items) {\n let value = this.table.formConfig.data[o.key];\n if (value == undefined || value == '' || o.itemRender && o.itemRender.name == '$buttons') {\n continue;\n }\n let key = o.key.replace(/\\$/g, '');\n //文本域\n if (o.itemRender && o.itemRender.name == \"textarea\" && o.type != \"9\") {\n let values = value instanceof Array ? value : value.split(\"\\n\");\n if (values.length != 0) {\n let queryParameterMapIn = [];\n for (let v of values) {\n if (v != undefined && v.toString().trim() != '') {\n queryParameterMapIn.push(v);\n }\n }\n if (queryParameterMapIn.length != 0) {\n if (!params['queryParameterMapIn']) {\n params['queryParameterMapIn'] = {};\n }\n params['queryParameterMapIn'][key] = queryParameterMapIn;\n paramsKey.push(key);\n } else if (params['queryParameterMapIn']) {\n delete params['queryParameterMapIn'][key];\n }\n }\n } else if (value.toString().trim() != '') {\n if (!params['queryParameterListAnd']) {\n params['queryParameterListAnd'] = [];\n }\n let values = value instanceof Array ? value : value.split(\",\");\n if (o.type == \"98\") {\n params['queryParameterListAnd'].push({\n value: values[0],\n key: key,\n type: 5,\n toDate: o.toDate\n });\n params['queryParameterListAnd'].push({\n value: values[1],\n key: key,\n type: 6,\n toDate: o.toDate\n });\n paramsKey.push(key);\n } else if (value.length == 1 && !(value instanceof Array)) {\n o.value = value;\n //type 查询类型 默认等于1--> 1:= 2:!= 3: > 4:< 5: >= 6: <= 7:like '%value' 8:like '%value%' 9:like 'value%'\n //replace(/\\$/g, '') 目的解决范围\n let obj = {\n value: value,\n key: key,\n type: o.type,\n toDate: o.toDate\n };\n params['queryParameterListAnd'].push(obj);\n paramsKey.push(key);\n } else {\n for (let v of values) {\n if (!v) {\n continue;\n }\n let obj = {\n value: v,\n key: key,\n type: o.type,\n toDate: o.toDate\n };\n params['queryParameterListAnd'].push(obj);\n paramsKey.push(key);\n }\n }\n }\n }\n for (let key of Object.keys(this.parameter)) {\n let v = this.parameter[key];\n if (paramsKey.indexOf(key) === -1 && v != undefined && v != '') {\n if (!params['queryParameterListAnd']) {\n params['queryParameterListAnd'] = [];\n }\n params['queryParameterListAnd'].push({\n key: key,\n value: v\n });\n }\n }\n if (this.orderByColumns.length != 0) {\n params['orderBy'] = this.orderByColumns;\n }\n params.authVo = {\n \"tableAliasFiled\": this.tableConfig.tableAliasFiled,\n \"departmentFiled\": this.tableConfig.userFiled,\n \"userFiled\": this.tableConfig.userFiled\n };\n if (this.events['queryBefore']) {\n this.events['queryBefore'](params);\n }\n return params;\n },\n /**\r\n * 导出数据\r\n * @param columns 自定义导出字段 t_id\r\n * @param selectData 选择数据: 当前页数据、勾选行数据、全部数据\r\n * @param name\r\n */\n exportData({\n exportParam,\n cancelEvent\n }) {\n let {\n columns,\n selectData,\n name\n } = exportParam;\n for (let column of this.table.columns) {\n for (let c of columns) {\n if (column.field === c.field && column.params) {\n c.params = column.params;\n }\n }\n }\n let data = [];\n switch (selectData) {\n case '1':\n // 当前页\n data = this.table?.data;\n break;\n case '2':\n // 勾选\n data = this.getSelectRows();\n if (!data || data.length == 0) return message.error('勾选行数据为空!');\n break;\n case '3':\n // 全部数据\n this.exportExcelAll(columns, name);\n break;\n default:\n data = this.table.data;\n break;\n }\n if (selectData != '3') {\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_6__.exportExcel)({\n data: data,\n name: name,\n columns: columns,\n option: {\n align: this.$table ? this.$table.align : 'center'\n }\n });\n }\n cancelEvent();\n },\n /**\r\n * 全部数据导出\r\n * @param fields 自定义导出字段\r\n * @param name 文件名\r\n */\n exportExcelAll(columns, name) {\n let params = this.getParams();\n params.enablePage = false;\n if (this.tableConfig.definitionSql == 2) {\n params.pageNumber = 1;\n params.pageSize = 50000;\n }\n let url = this.tableConfig.definitionSql == 2 ? this.tableConfig.api : '/online/crud/query';\n let method = this.tableConfig.definitionSql == 2 ? this.tableConfig.requestType == '1' ? 'post' : 'get' : 'post';\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.request)(this.http, {\n url: url,\n method: method,\n data: params,\n timeout: 1000 * 90 * 90\n }, false, false).then(({\n data\n }) => {\n let respData = data instanceof Array ? data : data.listData;\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_6__.exportExcel)({\n data: respData,\n name: name,\n columns: columns,\n option: {\n align: this.$table ? this.$table.align : 'center'\n }\n });\n });\n },\n /**\r\n * 内置确认框\r\n * @param content\r\n * @param title\r\n * @param status\r\n * @returns {Promise<\"model\"|\"mask\"|\"close\"|\"confirm\"|\"cancel\"|\"exit\"|\"exist\">}\r\n */\n async confirm(content, title, status) {\n return await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: title,\n status: status\n });\n },\n /**\r\n * 内置调用方法\r\n * @param m\r\n * @param v\r\n * @param d\r\n */\n emits({\n m,\n v,\n d,\n js\n }) {\n if (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 },\n /**\r\n * 设置禁用按钮\r\n * @param ex\r\n */\n setAllBtnDisabled(ex) {\n if (ex) {\n ex = ex.split(\",\");\n } else {\n ex = [];\n }\n for (let toolBtn of this.toolBtn) {\n let disabled = true;\n for (let code of ex) {\n if (toolBtn.code == code) {\n disabled = false;\n }\n }\n toolBtn.disabled = disabled;\n }\n for (let toolBtn of this.operationBtn) {\n let disabled = true;\n for (let code of ex) {\n if (toolBtn.code == code) {\n disabled = false;\n }\n }\n toolBtn.disabled = disabled;\n }\n },\n /**\r\n * 设置工具栏 but\r\n * @param code 编码\r\n * @param key 要设置的key\r\n * @param value 要设置的value\r\n */\n setToolBtn(code, key, value) {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n toolBtn[key] = value;\n }\n }\n },\n /**\r\n * 设置操作按钮 but\r\n * @param code 编码\r\n * @param key 要设置的key\r\n * @param value 要设置的value\r\n */\n setOperationBtn(code, key, value) {\n for (let toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n toolBtn[key] = value;\n }\n }\n },\n /**\r\n * 获取修改数据(包括未修改数据)\r\n */\n getUpdateRecords() {\n if (this.$table) {\n return this.$table.getUpdateRecords();\n }\n },\n /**\r\n * 批量保存\r\n */\n async batchSave(code, content, rows, foreignKey, foreignKeyValue) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n let updateList = [];\n let dataSource = this.table.dataSource;\n this.formMainList.edit.formMain.updateKey = this.formMainList.edit.formMain.updateKey.trim();\n const srcMap = new Map(dataSource.map(item => [item[this.formMainList.edit.formMain.updateKey], item]));\n for (const row of rows) {\n let rowId = row[this.formMainList.edit.formMain.updateKey];\n if (rowId) {\n updateList.push({\n columnAndValueMap: this.getDifferingProperties(row, srcMap.get(row[this.formMainList.edit.formMain.updateKey])),\n //更新字段\n whereMap: this.doGetWhereMap(row, this.formMainList.edit.formMain.updateKey) //更新条件\n });\n continue;\n }\n let columnTableUpdateValue = this.getColumnTableUpdateValue(this.table.columns, row);\n columnTableUpdateValue[foreignKey] = foreignKeyValue ? foreignKeyValue : this.mainId;\n list.push(columnTableUpdateValue);\n }\n if (updateList && updateList.length >= 1) {\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n updateList\n });\n }\n if (list && list.length >= 1) {\n this.doPostAes(code, '/online/crudAes/batchSave', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n tableConfigId: this.tableConfig.tableConfigId,\n columnAndValueListMap: list,\n genIdMap: {\n [this.formMainList.edit.formMain.updateKey]: 'uuid'\n }\n });\n }\n },\n /**\r\n * 保存修改\r\n */\n async saveUpdate(code, content) {\n let dataSource = this.table.dataSource;\n const srcMap = new Map(dataSource.map(item => [item[this.formMainList.edit.formMain.updateKey], item]));\n let rows = [];\n for (const row of this.getUpdateRecords()) {\n let src = srcMap.get(row[this.formMainList.edit.formMain.updateKey]);\n rows.push(this.getDifferingProperties(row, src));\n }\n // console.log('saveUpdate:',rows)\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n for (const row of this.getUpdateRecords()) {\n list.push({\n columnAndValueMap: this.getDifferingProperties(row, srcMap.get(row[this.formMainList.edit.formMain.updateKey])),\n //更新字段\n whereMap: this.doGetWhereMap(row, this.formMainList.edit.formMain.updateKey) //更新条件\n });\n }\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list\n });\n // this.doBatchModify('batchModify', \"age\", this.formMainList.edit.formMain.updateKey, \"确认修改编辑数据吗?\", this.getUpdateRecords())\n },\n /**\r\n * 获取新增数据\r\n */\n getInsertEvent() {\n if (this.$table) {\n return this.$table.getInsertRecords();\n }\n },\n /**\r\n * 获取删除数据\r\n * @returns {*}\r\n */\n getRemoveEvent() {\n if (this.$table) {\n return this.$table.getRemoveRecords();\n }\n },\n /**\r\n * 获取选中\r\n * @returns {*|*[]|*[]}\r\n */\n getSelectRows() {\n if (this.selectBox == 1) {\n return this.$table.getRadioRecord() ? [this.$table.getRadioRecord()] : [];\n } else if (this.selectBox == 2) {\n return this.$table.getCheckboxRecords(true);\n }\n },\n updateColumn(rows) {\n this.table['show-footer'] = false;\n if (rows && rows instanceof Array) {\n for (let o of this.table.columns) {\n for (let row of rows) {\n if (row.id == o.id) {\n for (let key of Object.keys(row)) {\n o[key] = row[key];\n }\n }\n }\n this.setColumnHide(o);\n this.setFixed(o);\n this.setShowFooter(o);\n }\n }\n let data = this.table.columns.sort((a, b) => {\n return a.sort - b.sort;\n });\n this.doGroupAndCompute();\n this.$table.reloadColumn(data);\n },\n doGroupAndCompute(dataSource) {\n if (dataSource) {\n this.table.dataSource = JSON.parse(JSON.stringify(dataSource));\n }\n if (this.tableConfig.paging != 2) {\n if (dataSource != undefined) {\n this.table.data = dataSource;\n }\n return;\n }\n let groupKey = [];\n let comValue = [];\n for (let column of this.table.columns) {\n if (column.visible && column.groupToOtherProp == 1) {\n groupKey.push(column.field);\n }\n if (column.groupTotalToOtherProp) {\n comValue.push(column.field + \":\" + column.groupTotalToOtherProp);\n }\n }\n if (dataSource == undefined) {\n dataSource = this.table.dataSource;\n }\n if (groupKey.length != 0 & comValue.length != 0) {\n dataSource = (0,_utils_groupCompute__WEBPACK_IMPORTED_MODULE_8__.groupAndCompute)(groupKey, comValue, dataSource);\n }\n this.table.data = dataSource;\n this.$table.reloadData(this.table.data);\n },\n getDifferingProperties(tar, src) {\n const differingProperties = {};\n // 假设两个对象都有相同的属性\n for (const key in tar) {\n if (tar.hasOwnProperty(key) && src.hasOwnProperty(key)) {\n if (tar[key] !== src[key]) {\n differingProperties[key] = tar[key]; // 可以选择返回obj2的值,或创建一个数组存放两个值\n }\n }\n }\n return differingProperties;\n }\n }\n};\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/DefaultMethods.js?");
|
|
10849
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DefaultMethods: function() { return /* binding */ DefaultMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.map.js */ \"./node_modules/core-js/modules/es.iterator.map.js\");\n/* harmony import */ var core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils_tree__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/utils/tree */ \"./src/utils/tree.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var _utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/ExcelUtil */ \"./src/utils/ExcelUtil.js\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vxe-table */ \"vxe-table\");\n/* harmony import */ var vxe_table__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(vxe_table__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _utils_groupCompute__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/groupCompute */ \"./src/utils/groupCompute.js\");\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_4__.useMessage)(); // 消息弹窗\nconst DefaultMethods = {\n methods: {\n //删除主子表\n async doRemoveMainAndSub({\n obj,\n row\n }, subTableName, whereObj, subForeignKey, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n this.doPostAes(obj.code, '/online/crudAes/deleteMainAndSubs', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n subTableName: subTableName,\n whereMap: this.doGetWhereMap(row, whereObj),\n //更新条件\n subForeignKey: subForeignKey\n });\n },\n /**\r\n * 操作列保存:直接在操作按钮的自定义事件加入代码:this.doOneSave(o,'是否要保存数据')\r\n * @param obj 单击按钮的对象\r\n * @param row 单击当前行\r\n * @param content 提示内容\r\n * @returns {Promise<void>}\r\n */\n async doOneSave({\n obj,\n row\n }, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (!row) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"数据为空!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let dataSource = this.table.dataSource;\n if (!dataSource) {\n return;\n }\n let newRow = JSON.parse(JSON.stringify(row));\n try {\n newRow[this.formMainList.edit.formMain.updateKey] = '';\n } catch (e) {}\n let params = {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n genIdMap: {\n [this.formMainList.edit.formMain.updateKey]: 'uuid'\n },\n columnAndValueMap: this.getColumnTableUpdateValue(this.table.columns, newRow)\n };\n this.doPostAes(obj.code, '/online/crudAes/save', params);\n },\n /**\r\n * 操作列更新:直接在操作按钮的自定义事件加入代码:this.doOneModify(o,'数据库更新字段=数据值,数据库更新字段:列字段,数据库更新字段','数据库更新条件','提示内容')\r\n *\r\n * @param obj 单击按钮的对象\r\n * @param row 单击当前行\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @returns {Promise<void>}\r\n */\n async doOneModify({\n obj,\n row\n }, updateObj, whereObj, content) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n let newRow = JSON.parse(JSON.stringify(row));\n this.doPostAes(obj.code, '/online/crudAes/modify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n columnAndValueMap: this.doGetColumnAndValueMap(newRow, updateObj),\n //更新字段\n whereMap: this.doGetWhereMap(newRow, whereObj) //更新条件\n });\n },\n /**\r\n * 批量更新\r\n * @param code\r\n * @param updateObj\r\n * @param whereObj\r\n * @param content\r\n * @param updateRecords 如果为空,获取全部选中数据\r\n * @returns {Promise<void>}\r\n */\n async doBatchModify(code, updateObj, whereObj, content, updateRecords) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n let rows = updateRecords;\n if (!updateRecords || updateRecords.length <= 0) {\n rows = this.getSelectRows();\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n for (const row of rows) {\n list.push({\n columnAndValueMap: this.doGetColumnAndValueMap(row, updateObj),\n //更新字段\n whereMap: this.doGetWhereMap(row, whereObj) //更新条件\n });\n }\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list\n });\n },\n /**\r\n * 直接发送post请求\r\n * @param code\r\n * @param url\r\n * @param params\r\n */\n doPostAes(code, url, params, noQuery) {\n if (code != undefined) {\n this.loading[code] = true;\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, url, params).then(r => {\n if (r != false && noQuery != false) {\n this.query();\n }\n }).finally(() => {\n if (code != undefined) {\n this.loading[code] = false;\n }\n });\n },\n /**\r\n * 根据列配置获取数据库表更新数据\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n prop,\n tableField\n } of column) {\n if (!tableField || tableField != '1') {\n continue;\n }\n let value = formData[prop];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[prop] = value;\n }\n }\n return columnAndValueMap;\n },\n /**\r\n * 获取表格更新列值\r\n * @param column\r\n * @param formData\r\n * @returns {{}}\r\n */\n getColumnTableUpdateValue(column, formData) {\n let columnAndValueMap = {};\n for (let {\n field,\n tableSaveToOtherProp\n } of column) {\n // 勾选,不属于数据库表字段\n if (tableSaveToOtherProp && tableSaveToOtherProp == '1') {\n continue;\n }\n let value = formData[field];\n if (value) {\n if (value instanceof String) {\n value = value.trim();\n }\n columnAndValueMap[field] = value;\n }\n }\n return columnAndValueMap;\n },\n /**\r\n * 获取row更新值\r\n * @param row\r\n * @param updateObj 更新对象,允许为:\"name='xx',name\" 如果name=xx,数据直接赋值,如果没有=,则使用row的值\r\n * @returns {{}}\r\n */\n doGetColumnAndValueMap(row, updateObj) {\n let columnAndValueMap = {};\n for (let key of updateObj.split(\",\")) {\n let k = key.split(\"=\");\n if (k.length == 2) {\n columnAndValueMap[k[0]] = k[1];\n } else {\n k = key.split(\":\");\n columnAndValueMap[k[k.length - 1]] = row[k[0]];\n }\n }\n return columnAndValueMap;\n },\n doGetColumnAndValueAny(rows, updateObj) {\n if (!updateObj) {\n return rows;\n }\n let list = [];\n let keys = [];\n let hasKey = '';\n for (const row of rows) {\n keys = keys.length >= 1 ? keys : Object.keys(row);\n if (!hasKey) {\n hasKey = this.hasUpdateKey(keys, updateObj);\n }\n if (hasKey) {\n Object.assign(row, this.doGetColumnAndValueMap(row, updateObj));\n }\n list.push(row);\n }\n return list;\n },\n hasUpdateKey(keys, updateObj) {\n for (const key of keys) {\n if (updateObj.indexOf(key) >= 0) {\n return '1';\n }\n }\n return '0';\n },\n doGetWhereMap(row, whereObj) {\n let whereMap = {};\n for (let key of whereObj.split(\",\")) {\n let k = key.split(\":\");\n //className:class_name row:{className:'xxx'} whereMap:{class_name}\n whereMap[k[k.length - 1]] = row[k[0]];\n }\n return whereMap;\n },\n /**\r\n * 内置批量删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n batchRemove() {\n this.confirm(\"您选中\" + this.getSelectRows().length + '条数据,删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n let list = [];\n for (let r of this.getSelectRows()) {\n let p = JSON.parse(JSON.stringify(this.deleteParameter));\n delete p['$parentId'];\n for (let key of Object.keys(p)) {\n p[key] = r[key];\n }\n list.push(p);\n }\n this.loading['batchDelete'] = true;\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, '/online/crudAes/batchDelete', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list: list\n }).then(r => {\n if (r != false) {\n this.query();\n }\n }).finally(() => {\n this.loading['batchDelete'] = false;\n });\n }\n });\n },\n /**\r\n * 内置重置方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n resetQuery() {\n for (let k of Object.keys(this.table.formConfig.data)) {\n this.table.formConfig.data[k] = undefined;\n }\n for (let k of Object.keys(this.parameter)) {\n this.parameter[k] = undefined;\n }\n this.initDefaultValue();\n this.query();\n },\n /**\r\n * 内置根据参数查询\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n queryParams(parameter) {\n if (parameter) {\n Object.assign(this.parameter, parameter);\n }\n return this.query();\n },\n /**\r\n * 内置查询\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n query() {\n let axios = undefined;\n if (this.tableConfig.definitionSql == 2) {\n if (this.tableConfig.requestType == '1') {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(this.http, this.tableConfig.api, this.getParams(), false, false);\n } else {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.get)(this.http, this.tableConfig.api, this.getParams(), false);\n }\n } else if (this.tableConfig.aes == 1) {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, '/online/crudAes/query', this.getParams(), false, false);\n } else {\n axios = (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.post)(this.http, '/online/crud/query', this.getParams(), false, false);\n }\n this.doQuery(axios);\n },\n doQuery(axios) {\n if (this.loading['select']) {\n return;\n }\n this.table.loading = true;\n this.loading['select'] = true;\n axios.then(({\n data,\n code,\n msg\n }) => {\n if (code != 200 && code != 0) {\n message.error(msg);\n return;\n }\n let respData = data instanceof Array ? data : data.listData;\n if (this.table.treeConfig) {\n //id , parentId , children\n respData = (0,_utils_tree__WEBPACK_IMPORTED_MODULE_3__.handleTree)(respData, this.table.treeConfig.treeId, this.table.treeConfig.treeParentId);\n }\n this.table.data = respData;\n this.doGroupAndCompute(respData);\n this.pagination.total = data.count;\n }).finally(() => {\n this.table.loading = false;\n this.loading['select'] = false;\n });\n },\n /**\r\n * 内置删除方法\r\n * @param o\r\n * @returns {Promise<void>}\r\n */\n remove(o) {\n let {\n row\n } = o;\n this.confirm('数据删除后不可恢复,您确定要删除吗?', '删除提示', 'error').then(type => {\n if (type != \"cancel\") {\n let params = {};\n for (let key of Object.keys(this.deleteParameter)) {\n if (key != '$parentId') {\n params[key] = row[key];\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.postAes)(this.http, '/online/crudAes/delete', {\n where: params,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable\n }).then(r => {\n if (r != false) {\n this.query();\n }\n });\n }\n });\n },\n /**\r\n * 获取查询参数\r\n * @returns {{enablePage: OTMixinBodyMethods.methods.pagination.enabled, theme: OTMixinBodyMethods.methods.theme, id: OTMixinBodyMethods.methods.uuid}}\r\n */\n getParams() {\n if (this.tableConfig.definitionSql == 2) {\n let params = JSON.parse(JSON.stringify(this.table.formConfig.data));\n if (params.enablePage) {\n params.pageNumber = this.pagination.currentPage;\n params.pageSize = this.pagination.pageSize;\n }\n return {\n ...this.parameter,\n ...params\n };\n }\n let params = {\n id: this.uuid,\n theme: this.theme,\n enablePage: this.pagination.enabled\n };\n if (params.enablePage) {\n params.pageNumber = this.pagination.currentPage;\n params.pageSize = this.pagination.pageSize;\n }\n let paramsKey = [];\n for (let o of this.table.formConfig.items) {\n let value = this.table.formConfig.data[o.key];\n if (value == undefined || value == '' || o.itemRender && o.itemRender.name == '$buttons') {\n continue;\n }\n let key = o.key.replace(/\\$/g, '');\n //文本域\n if (o.itemRender && o.itemRender.name == \"textarea\" && o.type != \"9\") {\n let values = value instanceof Array ? value : value.split(\"\\n\");\n if (values.length != 0) {\n let queryParameterMapIn = [];\n for (let v of values) {\n if (v != undefined && v.toString().trim() != '') {\n queryParameterMapIn.push(v);\n }\n }\n if (queryParameterMapIn.length != 0) {\n if (!params['queryParameterMapIn']) {\n params['queryParameterMapIn'] = {};\n }\n params['queryParameterMapIn'][key] = queryParameterMapIn;\n paramsKey.push(key);\n } else if (params['queryParameterMapIn']) {\n delete params['queryParameterMapIn'][key];\n }\n }\n } else if (value.toString().trim() != '') {\n if (!params['queryParameterListAnd']) {\n params['queryParameterListAnd'] = [];\n }\n let values = value instanceof Array ? value : value.split(\",\");\n if (o.type == \"98\") {\n params['queryParameterListAnd'].push({\n value: values[0],\n key: key,\n type: 5,\n toDate: o.toDate\n });\n params['queryParameterListAnd'].push({\n value: values[1],\n key: key,\n type: 6,\n toDate: o.toDate\n });\n paramsKey.push(key);\n } else if (value.length == 1 && !(value instanceof Array)) {\n o.value = value;\n //type 查询类型 默认等于1--> 1:= 2:!= 3: > 4:< 5: >= 6: <= 7:like '%value' 8:like '%value%' 9:like 'value%'\n //replace(/\\$/g, '') 目的解决范围\n let obj = {\n value: value,\n key: key,\n type: o.type,\n toDate: o.toDate\n };\n params['queryParameterListAnd'].push(obj);\n paramsKey.push(key);\n } else {\n for (let v of values) {\n if (!v) {\n continue;\n }\n let obj = {\n value: v,\n key: key,\n type: o.type,\n toDate: o.toDate\n };\n params['queryParameterListAnd'].push(obj);\n paramsKey.push(key);\n }\n }\n }\n }\n for (let key of Object.keys(this.parameter)) {\n let v = this.parameter[key];\n if (paramsKey.indexOf(key) === -1 && v != undefined && v != '') {\n if (!params['queryParameterListAnd']) {\n params['queryParameterListAnd'] = [];\n }\n params['queryParameterListAnd'].push({\n key: key,\n value: v\n });\n }\n }\n if (this.orderByColumns.length != 0) {\n params['orderBy'] = this.orderByColumns;\n }\n params.authVo = {\n \"tableAliasFiled\": this.tableConfig.tableAliasFiled,\n \"departmentFiled\": this.tableConfig.userFiled,\n \"userFiled\": this.tableConfig.userFiled\n };\n if (this.events['queryBefore']) {\n this.events['queryBefore'](params);\n }\n return params;\n },\n /**\r\n * 导出数据\r\n * @param columns 自定义导出字段 t_id\r\n * @param selectData 选择数据: 当前页数据、勾选行数据、全部数据\r\n * @param name\r\n */\n exportData({\n exportParam,\n cancelEvent\n }) {\n let {\n columns,\n selectData,\n name\n } = exportParam;\n for (let column of this.table.columns) {\n for (let c of columns) {\n if (column.field === c.field && column.params) {\n c.params = column.params;\n }\n }\n }\n let data = [];\n switch (selectData) {\n case '1':\n // 当前页\n data = this.table?.data;\n break;\n case '2':\n // 勾选\n data = this.getSelectRows();\n if (!data || data.length == 0) return message.error('勾选行数据为空!');\n break;\n case '3':\n // 全部数据\n this.exportExcelAll(columns, name);\n break;\n default:\n data = this.table.data;\n break;\n }\n if (selectData != '3') {\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_6__.exportExcel)({\n data: data,\n name: name,\n columns: columns,\n option: {\n align: this.$table ? this.$table.align : 'center'\n }\n });\n }\n cancelEvent();\n },\n /**\r\n * 全部数据导出\r\n * @param fields 自定义导出字段\r\n * @param name 文件名\r\n */\n exportExcelAll(columns, name) {\n let params = this.getParams();\n params.enablePage = false;\n if (this.tableConfig.definitionSql == 2) {\n params.pageNumber = 1;\n params.pageSize = 50000;\n }\n let url = this.tableConfig.definitionSql == 2 ? this.tableConfig.api : '/online/crud/query';\n let method = this.tableConfig.definitionSql == 2 ? this.tableConfig.requestType == '1' ? 'post' : 'get' : 'post';\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_5__.request)(this.http, {\n url: url,\n method: method,\n data: params,\n timeout: 1000 * 90 * 90\n }, false, false).then(({\n data\n }) => {\n let respData = data instanceof Array ? data : data.listData;\n (0,_utils_ExcelUtil__WEBPACK_IMPORTED_MODULE_6__.exportExcel)({\n data: respData,\n name: name,\n columns: columns,\n option: {\n align: this.$table ? this.$table.align : 'center'\n }\n });\n });\n },\n /**\r\n * 内置确认框\r\n * @param content\r\n * @param title\r\n * @param status\r\n * @returns {Promise<\"model\"|\"mask\"|\"close\"|\"confirm\"|\"cancel\"|\"exit\"|\"exist\">}\r\n */\n async confirm(content, title, status) {\n return await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: title,\n status: status\n });\n },\n /**\r\n * 内置调用方法\r\n * @param m\r\n * @param v\r\n * @param d\r\n */\n emits({\n m,\n v,\n d,\n js\n }) {\n if (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 },\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.getUpdateRecords();\n }\n },\n /**\r\n * 批量保存\r\n */\n async batchSave(code, content, rows, foreignKey, foreignKeyValue) {\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n let updateList = [];\n let dataSource = this.table.dataSource;\n this.formMainList.edit.formMain.updateKey = this.formMainList.edit.formMain.updateKey.trim();\n const srcMap = new Map(dataSource.map(item => [item[this.formMainList.edit.formMain.updateKey], item]));\n for (const row of rows) {\n let rowId = row[this.formMainList.edit.formMain.updateKey];\n if (rowId) {\n updateList.push({\n columnAndValueMap: this.getDifferingProperties(row, srcMap.get(row[this.formMainList.edit.formMain.updateKey])),\n //更新字段\n whereMap: this.doGetWhereMap(row, this.formMainList.edit.formMain.updateKey) //更新条件\n });\n continue;\n }\n let columnTableUpdateValue = this.getColumnTableUpdateValue(this.table.columns, row);\n columnTableUpdateValue[foreignKey] = foreignKeyValue ? foreignKeyValue : this.mainId;\n list.push(columnTableUpdateValue);\n }\n if (updateList && updateList.length >= 1) {\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n updateList\n });\n }\n if (list && list.length >= 1) {\n this.doPostAes(code, '/online/crudAes/batchSave', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n tableConfigId: this.tableConfig.tableConfigId,\n columnAndValueListMap: list,\n genIdMap: {\n [this.formMainList.edit.formMain.updateKey]: 'uuid'\n }\n });\n }\n },\n /**\r\n * 保存修改\r\n */\n async saveUpdate(code, content) {\n let dataSource = this.table.dataSource;\n const srcMap = new Map(dataSource.map(item => [item[this.formMainList.edit.formMain.updateKey], item]));\n let rows = [];\n for (const row of this.getUpdateRecords()) {\n let src = srcMap.get(row[this.formMainList.edit.formMain.updateKey]);\n rows.push(this.getDifferingProperties(row, src));\n }\n // console.log('saveUpdate:',rows)\n if (content) {\n let type = await vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.confirm({\n content: content,\n title: '提示',\n status: 'warning'\n });\n if (type == \"cancel\") {\n return;\n }\n }\n if (rows.length == 0) {\n vxe_table__WEBPACK_IMPORTED_MODULE_7___default().modal.message({\n content: \"请选数据!\",\n title: '提示',\n status: 'error'\n });\n return;\n }\n let list = [];\n for (const row of this.getUpdateRecords()) {\n list.push({\n columnAndValueMap: this.getDifferingProperties(row, srcMap.get(row[this.formMainList.edit.formMain.updateKey])),\n //更新字段\n whereMap: this.doGetWhereMap(row, this.formMainList.edit.formMain.updateKey) //更新条件\n });\n }\n this.doPostAes(code, '/online/crudAes/batchModify', {\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n list\n });\n // this.doBatchModify('batchModify', \"age\", this.formMainList.edit.formMain.updateKey, \"确认修改编辑数据吗?\", this.getUpdateRecords())\n },\n /**\r\n * 获取新增数据\r\n */\n getInsertEvent() {\n if (this.$table) {\n return this.$table.getInsertRecords();\n }\n },\n /**\r\n * 获取删除数据\r\n * @returns {*}\r\n */\n getRemoveEvent() {\n if (this.$table) {\n return this.$table.getRemoveRecords();\n }\n },\n /**\r\n * 获取选中\r\n * @returns {*|*[]|*[]}\r\n */\n getSelectRows() {\n if (this.selectBox == 1) {\n return this.$table.getRadioRecord() ? [this.$table.getRadioRecord()] : [];\n } else if (this.selectBox == 2) {\n return this.$table.getCheckboxRecords(true);\n }\n },\n updateColumn(rows) {\n this.table['show-footer'] = false;\n if (rows && rows instanceof Array) {\n for (let o of this.table.columns) {\n for (let row of rows) {\n if (row.id == o.id) {\n for (let key of Object.keys(row)) {\n o[key] = row[key];\n }\n }\n }\n this.setColumnHide(o);\n this.setFixed(o);\n this.setShowFooter(o);\n }\n }\n let data = this.table.columns.sort((a, b) => {\n return a.sort - b.sort;\n });\n this.doGroupAndCompute();\n this.$table.reloadColumn(data);\n },\n doGroupAndCompute(dataSource) {\n if (dataSource) {\n this.table.dataSource = JSON.parse(JSON.stringify(dataSource));\n }\n if (this.tableConfig.paging != 2) {\n if (dataSource != undefined) {\n this.table.data = dataSource;\n }\n return;\n }\n let groupKey = [];\n let comValue = [];\n for (let column of this.table.columns) {\n if (column.visible && column.groupToOtherProp == 1) {\n groupKey.push(column.field);\n }\n if (column.groupTotalToOtherProp) {\n comValue.push(column.field + \":\" + column.groupTotalToOtherProp);\n }\n }\n if (dataSource == undefined) {\n dataSource = this.table.dataSource;\n }\n if (groupKey.length != 0 & comValue.length != 0) {\n dataSource = (0,_utils_groupCompute__WEBPACK_IMPORTED_MODULE_8__.groupAndCompute)(groupKey, comValue, dataSource);\n }\n this.table.data = dataSource;\n this.$table.reloadData(this.table.data);\n },\n getDifferingProperties(tar, src) {\n const differingProperties = {};\n // 假设两个对象都有相同的属性\n for (const key in tar) {\n if (tar.hasOwnProperty(key) && src.hasOwnProperty(key)) {\n if (tar[key] !== src[key]) {\n differingProperties[key] = tar[key]; // 可以选择返回obj2的值,或创建一个数组存放两个值\n }\n }\n }\n return differingProperties;\n }\n }\n};\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/DefaultMethods.js?");
|
|
10850
10850
|
|
|
10851
10851
|
/***/ }),
|
|
10852
10852
|
|
|
@@ -10879,7 +10879,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
10879
10879
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
10880
10880
|
|
|
10881
10881
|
"use strict";
|
|
10882
|
-
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 this.setComponent(\"components/ol-dialog-import\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n tableConfigId: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_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 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 }\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?");
|
|
10882
|
+
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 {\n json\n } = this.getToolBtn(code);\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 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 });\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) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_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 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 }\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?");
|
|
10883
10883
|
|
|
10884
10884
|
/***/ }),
|
|
10885
10885
|
|