olp-table 5.5.7 → 7.1.2
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/olp-table.common.js +1 -1
- package/olp-table.umd.js +1 -1
- package/olp-table.umd.min.js +1 -1
- package/package.json +1 -1
package/olp-table.common.js
CHANGED
|
@@ -10750,7 +10750,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
10750
10750
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
10751
10751
|
|
|
10752
10752
|
"use strict";
|
|
10753
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_6__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_3__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_4__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n if (this.operationBtn.length != 0) {\n let okBut = [];\n for (let i = 0; i < this.operationBtn.length; i++) {\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + this.operationBtn[i].code]);\n // console.info(this.operationBtn[i].name+'--按钮'+this.operationBtn[i].code,flag)\n if (flag) {\n okBut.push(this.operationBtn[i]);\n }\n }\n this.operationBtn = okBut;\n }\n let length = this.operationBtn.length;\n if (length != 0) {\n let width = 35;\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps\n });\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 id: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
|
|
10753
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_6__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_3__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_4__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n if (this.operationBtn.length != 0) {\n let okBut = [];\n for (let i = 0; i < this.operationBtn.length; i++) {\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + this.operationBtn[i].code]);\n // console.info(this.operationBtn[i].name+'--按钮'+this.operationBtn[i].code,flag)\n if (flag) {\n okBut.push(this.operationBtn[i]);\n }\n }\n this.operationBtn = okBut;\n }\n let length = this.operationBtn.length;\n if (length != 0) {\n let width = 35;\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n id: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
|
|
10754
10754
|
|
|
10755
10755
|
/***/ }),
|
|
10756
10756
|
|
package/olp-table.umd.js
CHANGED
|
@@ -10750,7 +10750,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
10750
10750
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
10751
10751
|
|
|
10752
10752
|
"use strict";
|
|
10753
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_6__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_3__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_4__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n if (this.operationBtn.length != 0) {\n let okBut = [];\n for (let i = 0; i < this.operationBtn.length; i++) {\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + this.operationBtn[i].code]);\n // console.info(this.operationBtn[i].name+'--按钮'+this.operationBtn[i].code,flag)\n if (flag) {\n okBut.push(this.operationBtn[i]);\n }\n }\n this.operationBtn = okBut;\n }\n let length = this.operationBtn.length;\n if (length != 0) {\n let width = 35;\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps\n });\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 id: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
|
|
10753
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_6__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_3__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_4__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n if (this.operationBtn.length != 0) {\n let okBut = [];\n for (let i = 0; i < this.operationBtn.length; i++) {\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + this.operationBtn[i].code]);\n // console.info(this.operationBtn[i].name+'--按钮'+this.operationBtn[i].code,flag)\n if (flag) {\n okBut.push(this.operationBtn[i]);\n }\n }\n this.operationBtn = okBut;\n }\n let length = this.operationBtn.length;\n if (length != 0) {\n let width = 35;\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n id: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
|
|
10754
10754
|
|
|
10755
10755
|
/***/ }),
|
|
10756
10756
|
|
package/olp-table.umd.min.js
CHANGED
|
@@ -10750,7 +10750,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
10750
10750
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
10751
10751
|
|
|
10752
10752
|
"use strict";
|
|
10753
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_6__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_3__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_4__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n if (this.operationBtn.length != 0) {\n let okBut = [];\n for (let i = 0; i < this.operationBtn.length; i++) {\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + this.operationBtn[i].code]);\n // console.info(this.operationBtn[i].name+'--按钮'+this.operationBtn[i].code,flag)\n if (flag) {\n okBut.push(this.operationBtn[i]);\n }\n }\n this.operationBtn = okBut;\n }\n let length = this.operationBtn.length;\n if (length != 0) {\n let width = 35;\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps\n });\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 id: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
|
|
10753
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_6__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_3__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_4__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n if (this.operationBtn.length != 0) {\n let okBut = [];\n for (let i = 0; i < this.operationBtn.length; i++) {\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + this.operationBtn[i].code]);\n // console.info(this.operationBtn[i].name+'--按钮'+this.operationBtn[i].code,flag)\n if (flag) {\n okBut.push(this.operationBtn[i]);\n }\n }\n this.operationBtn = okBut;\n }\n let length = this.operationBtn.length;\n if (length != 0) {\n let width = 35;\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n id: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
|
|
10754
10754
|
|
|
10755
10755
|
/***/ }),
|
|
10756
10756
|
|