olp-table 7.1.9 → 7.1.11

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.
@@ -1598,7 +1598,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1598
1598
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1599
1599
 
1600
1600
  "use strict";
1601
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"left\", {}, undefined, true), _ctx.$attrs.value !== undefined ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n key: 0\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(_ctx.$attrs.value, obj => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_button, {\n class: \"table-right-operation-but\",\n link: \"\",\n status: obj['status'],\n type: obj['status'],\n loading: $setup.bindLoading(obj, $setup.props.row),\n disabled: obj['disabled'] || $setup.getCallBack('disabledCallBack', obj, $setup.props.row, false),\n onClick: $event => _ctx.$emit('handleOperationClick', {\n row: $setup.props.row,\n obj: obj,\n setLoading: $setup.setLoading\n })\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"i\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(obj['icon'])\n }, null, 2 /* CLASS */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(obj['name']), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"status\", \"type\", \"loading\", \"disabled\", \"onClick\"])), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, $setup.getCallBack('showCallBack', obj, $setup.props.row, true)]]);\n }), 256 /* UNKEYED_FRAGMENT */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"right\", {}, undefined, true)], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-table-operate/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1601
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.filter.js */ \"./node_modules/core-js/modules/es.iterator.filter.js\");\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"el-button\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, \"left\", {}, undefined, true), _ctx.$attrs.value !== undefined ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n key: 0\n }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(_ctx.$attrs.value.filter(o => o.permission !== false), obj => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_el_button, {\n class: \"table-right-operation-but\",\n link: \"\",\n status: obj['status'],\n type: obj['status'],\n loading: $setup.bindLoading(obj, $setup.props.row),\n disabled: obj['disabled'] || $setup.getCallBack('disabledCallBack', obj, $setup.props.row, false),\n onClick: $event => _ctx.$emit('handleOperationClick', {\n row: $setup.props.row,\n obj: obj,\n setLoading: $setup.setLoading\n })\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"i\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)(obj['icon'])\n }, null, 2 /* CLASS */), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(obj['name']), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"status\", \"type\", \"loading\", \"disabled\", \"onClick\"])), [[vue__WEBPACK_IMPORTED_MODULE_2__.vShow, $setup.getCallBack('showCallBack', obj, $setup.props.row, true)]]);\n }), 256 /* UNKEYED_FRAGMENT */)) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, \"right\", {}, undefined, true)], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-table-operate/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1602
1602
 
1603
1603
  /***/ }),
1604
1604
 
@@ -10684,7 +10684,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
10684
10684
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10685
10685
 
10686
10686
  "use strict";
10687
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ doPermission: function() { return /* binding */ doPermission; },\n/* harmony export */ hasPermi: function() { return /* binding */ hasPermi; }\n/* harmony export */ });\n/* harmony import */ var _store_permi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/store/permi */ \"./src/store/permi.js\");\n\nconst store = (0,_store_permi__WEBPACK_IMPORTED_MODULE_0__.storePermi)();\nstore.init();\nfunction hasPermi(app) {\n app.directive('hasPermi', (el, binding) => {\n const {\n value\n } = binding;\n if (value && Array.isArray(value) && value.length > 0) {\n doPermission(el, value);\n } else if (value && typeof value === 'string' && value.length > 2 && value.indexOf('[') === 0) {\n doPermission(el, eval(value));\n } else {\n throw new Error('permission.hasPermission'); // 修改为普通字符串,去掉 `t()` 的国际化调用\n }\n });\n}\nfunction doPermission(el, value) {\n // const all_permission = '*:*:*'\n // console.info('doPermission当前按钮权限:', value[0])\n const storedUser = localStorage.getItem('user');\n // console.info('缓存中的用户信息:', storedUser)\n let allButpermissions = store.val; // 所有按钮权限列表\n let permissionFlag = value[0]; //v-hasPermi指令的值\n if (allButpermissions.length === 0) {\n return true;\n }\n let hasPermissions = allButpermissions.includes(permissionFlag);\n if (!hasPermissions) {\n //菜单里没配有这个按钮权限,就直接显示这个按钮,无需隐藏\n // console.info(value[0]+'按钮无需权限,直接显示按钮')\n return true;\n }\n if (hasPermissions) {\n //菜单中配有这个按钮权限,那看看用户是否有这个按钮权限\n if (storedUser === null || storedUser === undefined) {\n // console.info(value[0]+'按钮 缓存中没有用户信息,直接显示按钮')\n return true;\n }\n //用户权限列表\n const user = JSON.parse(JSON.parse(storedUser).v);\n\n //角色\n if (user.roles?.includes('super_admin')) {\n // console.info(value[0]+'按钮 管理员角色,直接显示按钮')\n return true;\n }\n\n //权限\n let userPermissions = user.permissions;\n hasPermissions = userPermissions.includes(permissionFlag);\n }\n if (!hasPermissions) {\n // console.info(value[0]+'按钮 无权限!!!!!!')\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n }\n }\n console.info(value[0] + '按钮 有权限显示按钮');\n return hasPermissions;\n}\n\n//# sourceURL=webpack://olp-table/./src/directives/permission/hasPermi.js?");
10687
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ doPermission: function() { return /* binding */ doPermission; },\n/* harmony export */ hasPermi: function() { return /* binding */ hasPermi; }\n/* harmony export */ });\n/* harmony import */ var _store_permi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/store/permi */ \"./src/store/permi.js\");\n\nconst store = (0,_store_permi__WEBPACK_IMPORTED_MODULE_0__.storePermi)();\nstore.init();\nfunction hasPermi(app) {\n app.directive('hasPermi', (el, binding) => {\n const {\n value\n } = binding;\n if (value && Array.isArray(value) && value.length > 0) {\n doPermission(el, value);\n } else if (value && typeof value === 'string' && value.length > 2 && value.indexOf('[') === 0) {\n doPermission(el, eval(value));\n } else {\n throw new Error('permission.hasPermission'); // 修改为普通字符串,去掉 `t()` 的国际化调用\n }\n });\n}\nfunction doPermission(el, value) {\n // const all_permission = '*:*:*'\n // console.info('doPermission当前按钮权限:', value[0])\n const storedUser = localStorage.getItem('user');\n // console.info('缓存中的用户信息:', storedUser)\n let allButpermissions = store.val; // 所有按钮权限列表\n let permissionFlag = value[0]; //v-hasPermi指令的值\n if (allButpermissions.length === 0) {\n return true;\n }\n let hasPermissions = allButpermissions.includes(permissionFlag);\n if (!hasPermissions) {\n //菜单里没配有这个按钮权限,就直接显示这个按钮,无需隐藏\n // console.info(value[0]+'按钮无需权限,直接显示按钮')\n return true;\n }\n if (hasPermissions) {\n //菜单中配有这个按钮权限,那看看用户是否有这个按钮权限\n if (storedUser === null || storedUser === undefined) {\n // console.info(value[0]+'按钮 缓存中没有用户信息,直接显示按钮')\n return true;\n }\n //用户权限列表\n const user = JSON.parse(JSON.parse(storedUser).v);\n\n //角色\n if (user.roles?.includes('super_admin')) {\n // console.info(value[0]+'按钮 管理员角色,直接显示按钮')\n return true;\n }\n\n //权限\n let userPermissions = user.permissions;\n hasPermissions = userPermissions.includes(permissionFlag);\n }\n if (!hasPermissions) {\n // console.info(value[0]+'按钮 无权限!!!!!!')\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n }\n }\n return hasPermissions;\n}\n\n//# sourceURL=webpack://olp-table/./src/directives/permission/hasPermi.js?");
10688
10688
 
10689
10689
  /***/ }),
10690
10690
 
@@ -10750,7 +10750,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
10750
10750
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10751
10751
 
10752
10752
  "use strict";
10753
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_6__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_3__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_4__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n if (this.operationBtn.length != 0) {\n let okBut = [];\n for (let i = 0; i < this.operationBtn.length; i++) {\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + this.operationBtn[i].code]);\n // console.info(this.operationBtn[i].name+'--按钮'+this.operationBtn[i].code,flag)\n if (flag) {\n okBut.push(this.operationBtn[i]);\n }\n }\n this.operationBtn = okBut;\n }\n let length = this.operationBtn.length;\n if (length != 0) {\n let width = 35;\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n tableConfigId: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n otherProp: form.formMain.otherProp,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
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 let permissEx = 0;\n let width = 35;\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_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + operationBtnElement.code]);\n if (!flag) {\n operationBtnElement.permission = false;\n permissEx++;\n } else {\n width += operationBtnElement.name.length * (35 - length) + (operationBtnElement.icon !== undefined ? 5 : 0);\n }\n }\n let length = this.operationBtn.length - permissEx;\n if (length != 0) {\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n tableConfigId: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n otherProp: form.formMain.otherProp,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
10754
10754
 
10755
10755
  /***/ }),
10756
10756
 
package/olp-table.umd.js CHANGED
@@ -1598,7 +1598,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1598
1598
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1599
1599
 
1600
1600
  "use strict";
1601
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"left\", {}, undefined, true), _ctx.$attrs.value !== undefined ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n key: 0\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(_ctx.$attrs.value, obj => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_button, {\n class: \"table-right-operation-but\",\n link: \"\",\n status: obj['status'],\n type: obj['status'],\n loading: $setup.bindLoading(obj, $setup.props.row),\n disabled: obj['disabled'] || $setup.getCallBack('disabledCallBack', obj, $setup.props.row, false),\n onClick: $event => _ctx.$emit('handleOperationClick', {\n row: $setup.props.row,\n obj: obj,\n setLoading: $setup.setLoading\n })\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"i\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(obj['icon'])\n }, null, 2 /* CLASS */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(obj['name']), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"status\", \"type\", \"loading\", \"disabled\", \"onClick\"])), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, $setup.getCallBack('showCallBack', obj, $setup.props.row, true)]]);\n }), 256 /* UNKEYED_FRAGMENT */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"right\", {}, undefined, true)], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-table-operate/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1601
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.filter.js */ \"./node_modules/core-js/modules/es.iterator.filter.js\");\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"el-button\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, \"left\", {}, undefined, true), _ctx.$attrs.value !== undefined ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n key: 0\n }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(_ctx.$attrs.value.filter(o => o.permission !== false), obj => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_el_button, {\n class: \"table-right-operation-but\",\n link: \"\",\n status: obj['status'],\n type: obj['status'],\n loading: $setup.bindLoading(obj, $setup.props.row),\n disabled: obj['disabled'] || $setup.getCallBack('disabledCallBack', obj, $setup.props.row, false),\n onClick: $event => _ctx.$emit('handleOperationClick', {\n row: $setup.props.row,\n obj: obj,\n setLoading: $setup.setLoading\n })\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"i\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)(obj['icon'])\n }, null, 2 /* CLASS */), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(obj['name']), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"status\", \"type\", \"loading\", \"disabled\", \"onClick\"])), [[vue__WEBPACK_IMPORTED_MODULE_2__.vShow, $setup.getCallBack('showCallBack', obj, $setup.props.row, true)]]);\n }), 256 /* UNKEYED_FRAGMENT */)) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, \"right\", {}, undefined, true)], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-table-operate/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1602
1602
 
1603
1603
  /***/ }),
1604
1604
 
@@ -10684,7 +10684,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
10684
10684
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10685
10685
 
10686
10686
  "use strict";
10687
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ doPermission: function() { return /* binding */ doPermission; },\n/* harmony export */ hasPermi: function() { return /* binding */ hasPermi; }\n/* harmony export */ });\n/* harmony import */ var _store_permi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/store/permi */ \"./src/store/permi.js\");\n\nconst store = (0,_store_permi__WEBPACK_IMPORTED_MODULE_0__.storePermi)();\nstore.init();\nfunction hasPermi(app) {\n app.directive('hasPermi', (el, binding) => {\n const {\n value\n } = binding;\n if (value && Array.isArray(value) && value.length > 0) {\n doPermission(el, value);\n } else if (value && typeof value === 'string' && value.length > 2 && value.indexOf('[') === 0) {\n doPermission(el, eval(value));\n } else {\n throw new Error('permission.hasPermission'); // 修改为普通字符串,去掉 `t()` 的国际化调用\n }\n });\n}\nfunction doPermission(el, value) {\n // const all_permission = '*:*:*'\n // console.info('doPermission当前按钮权限:', value[0])\n const storedUser = localStorage.getItem('user');\n // console.info('缓存中的用户信息:', storedUser)\n let allButpermissions = store.val; // 所有按钮权限列表\n let permissionFlag = value[0]; //v-hasPermi指令的值\n if (allButpermissions.length === 0) {\n return true;\n }\n let hasPermissions = allButpermissions.includes(permissionFlag);\n if (!hasPermissions) {\n //菜单里没配有这个按钮权限,就直接显示这个按钮,无需隐藏\n // console.info(value[0]+'按钮无需权限,直接显示按钮')\n return true;\n }\n if (hasPermissions) {\n //菜单中配有这个按钮权限,那看看用户是否有这个按钮权限\n if (storedUser === null || storedUser === undefined) {\n // console.info(value[0]+'按钮 缓存中没有用户信息,直接显示按钮')\n return true;\n }\n //用户权限列表\n const user = JSON.parse(JSON.parse(storedUser).v);\n\n //角色\n if (user.roles?.includes('super_admin')) {\n // console.info(value[0]+'按钮 管理员角色,直接显示按钮')\n return true;\n }\n\n //权限\n let userPermissions = user.permissions;\n hasPermissions = userPermissions.includes(permissionFlag);\n }\n if (!hasPermissions) {\n // console.info(value[0]+'按钮 无权限!!!!!!')\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n }\n }\n console.info(value[0] + '按钮 有权限显示按钮');\n return hasPermissions;\n}\n\n//# sourceURL=webpack://olp-table/./src/directives/permission/hasPermi.js?");
10687
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ doPermission: function() { return /* binding */ doPermission; },\n/* harmony export */ hasPermi: function() { return /* binding */ hasPermi; }\n/* harmony export */ });\n/* harmony import */ var _store_permi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/store/permi */ \"./src/store/permi.js\");\n\nconst store = (0,_store_permi__WEBPACK_IMPORTED_MODULE_0__.storePermi)();\nstore.init();\nfunction hasPermi(app) {\n app.directive('hasPermi', (el, binding) => {\n const {\n value\n } = binding;\n if (value && Array.isArray(value) && value.length > 0) {\n doPermission(el, value);\n } else if (value && typeof value === 'string' && value.length > 2 && value.indexOf('[') === 0) {\n doPermission(el, eval(value));\n } else {\n throw new Error('permission.hasPermission'); // 修改为普通字符串,去掉 `t()` 的国际化调用\n }\n });\n}\nfunction doPermission(el, value) {\n // const all_permission = '*:*:*'\n // console.info('doPermission当前按钮权限:', value[0])\n const storedUser = localStorage.getItem('user');\n // console.info('缓存中的用户信息:', storedUser)\n let allButpermissions = store.val; // 所有按钮权限列表\n let permissionFlag = value[0]; //v-hasPermi指令的值\n if (allButpermissions.length === 0) {\n return true;\n }\n let hasPermissions = allButpermissions.includes(permissionFlag);\n if (!hasPermissions) {\n //菜单里没配有这个按钮权限,就直接显示这个按钮,无需隐藏\n // console.info(value[0]+'按钮无需权限,直接显示按钮')\n return true;\n }\n if (hasPermissions) {\n //菜单中配有这个按钮权限,那看看用户是否有这个按钮权限\n if (storedUser === null || storedUser === undefined) {\n // console.info(value[0]+'按钮 缓存中没有用户信息,直接显示按钮')\n return true;\n }\n //用户权限列表\n const user = JSON.parse(JSON.parse(storedUser).v);\n\n //角色\n if (user.roles?.includes('super_admin')) {\n // console.info(value[0]+'按钮 管理员角色,直接显示按钮')\n return true;\n }\n\n //权限\n let userPermissions = user.permissions;\n hasPermissions = userPermissions.includes(permissionFlag);\n }\n if (!hasPermissions) {\n // console.info(value[0]+'按钮 无权限!!!!!!')\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n }\n }\n return hasPermissions;\n}\n\n//# sourceURL=webpack://olp-table/./src/directives/permission/hasPermi.js?");
10688
10688
 
10689
10689
  /***/ }),
10690
10690
 
@@ -10750,7 +10750,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
10750
10750
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10751
10751
 
10752
10752
  "use strict";
10753
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_6__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_3__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_4__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n if (this.operationBtn.length != 0) {\n let okBut = [];\n for (let i = 0; i < this.operationBtn.length; i++) {\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + this.operationBtn[i].code]);\n // console.info(this.operationBtn[i].name+'--按钮'+this.operationBtn[i].code,flag)\n if (flag) {\n okBut.push(this.operationBtn[i]);\n }\n }\n this.operationBtn = okBut;\n }\n let length = this.operationBtn.length;\n if (length != 0) {\n let width = 35;\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n tableConfigId: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n otherProp: form.formMain.otherProp,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
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 let permissEx = 0;\n let width = 35;\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_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + operationBtnElement.code]);\n if (!flag) {\n operationBtnElement.permission = false;\n permissEx++;\n } else {\n width += operationBtnElement.name.length * (35 - length) + (operationBtnElement.icon !== undefined ? 5 : 0);\n }\n }\n let length = this.operationBtn.length - permissEx;\n if (length != 0) {\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n tableConfigId: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n otherProp: form.formMain.otherProp,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
10754
10754
 
10755
10755
  /***/ }),
10756
10756
 
@@ -1598,7 +1598,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1598
1598
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1599
1599
 
1600
1600
  "use strict";
1601
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)(\"el-button\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"left\", {}, undefined, true), _ctx.$attrs.value !== undefined ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n key: 0\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(_ctx.$attrs.value, obj => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_el_button, {\n class: \"table-right-operation-but\",\n link: \"\",\n status: obj['status'],\n type: obj['status'],\n loading: $setup.bindLoading(obj, $setup.props.row),\n disabled: obj['disabled'] || $setup.getCallBack('disabledCallBack', obj, $setup.props.row, false),\n onClick: $event => _ctx.$emit('handleOperationClick', {\n row: $setup.props.row,\n obj: obj,\n setLoading: $setup.setLoading\n })\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"i\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(obj['icon'])\n }, null, 2 /* CLASS */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(obj['name']), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"status\", \"type\", \"loading\", \"disabled\", \"onClick\"])), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, $setup.getCallBack('showCallBack', obj, $setup.props.row, true)]]);\n }), 256 /* UNKEYED_FRAGMENT */)) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"right\", {}, undefined, true)], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-table-operate/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1601
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.filter.js */ \"./node_modules/core-js/modules/es.iterator.filter.js\");\n/* harmony import */ var core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_button = (0,vue__WEBPACK_IMPORTED_MODULE_2__.resolveComponent)(\"el-button\");\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, null, [(0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, \"left\", {}, undefined, true), _ctx.$attrs.value !== undefined ? ((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n key: 0\n }, (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderList)(_ctx.$attrs.value.filter(o => o.permission !== false), obj => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_2__.withDirectives)(((0,vue__WEBPACK_IMPORTED_MODULE_2__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createBlock)(_component_el_button, {\n class: \"table-right-operation-but\",\n link: \"\",\n status: obj['status'],\n type: obj['status'],\n loading: $setup.bindLoading(obj, $setup.props.row),\n disabled: obj['disabled'] || $setup.getCallBack('disabledCallBack', obj, $setup.props.row, false),\n onClick: $event => _ctx.$emit('handleOperationClick', {\n row: $setup.props.row,\n obj: obj,\n setLoading: $setup.setLoading\n })\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_2__.withCtx)(() => [(0,vue__WEBPACK_IMPORTED_MODULE_2__.createElementVNode)(\"i\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_2__.normalizeClass)(obj['icon'])\n }, null, 2 /* CLASS */), (0,vue__WEBPACK_IMPORTED_MODULE_2__.createTextVNode)((0,vue__WEBPACK_IMPORTED_MODULE_2__.toDisplayString)(obj['name']), 1 /* TEXT */)]),\n _: 2 /* DYNAMIC */\n }, 1032 /* PROPS, DYNAMIC_SLOTS */, [\"status\", \"type\", \"loading\", \"disabled\", \"onClick\"])), [[vue__WEBPACK_IMPORTED_MODULE_2__.vShow, $setup.getCallBack('showCallBack', obj, $setup.props.row, true)]]);\n }), 256 /* UNKEYED_FRAGMENT */)) : (0,vue__WEBPACK_IMPORTED_MODULE_2__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_2__.renderSlot)(_ctx.$slots, \"right\", {}, undefined, true)], 64 /* STABLE_FRAGMENT */);\n}\n\n//# sourceURL=webpack://olp-table/./src/components/table/ol-table-operate/index.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-124.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D");
1602
1602
 
1603
1603
  /***/ }),
1604
1604
 
@@ -10684,7 +10684,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
10684
10684
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10685
10685
 
10686
10686
  "use strict";
10687
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ doPermission: function() { return /* binding */ doPermission; },\n/* harmony export */ hasPermi: function() { return /* binding */ hasPermi; }\n/* harmony export */ });\n/* harmony import */ var _store_permi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/store/permi */ \"./src/store/permi.js\");\n\nconst store = (0,_store_permi__WEBPACK_IMPORTED_MODULE_0__.storePermi)();\nstore.init();\nfunction hasPermi(app) {\n app.directive('hasPermi', (el, binding) => {\n const {\n value\n } = binding;\n if (value && Array.isArray(value) && value.length > 0) {\n doPermission(el, value);\n } else if (value && typeof value === 'string' && value.length > 2 && value.indexOf('[') === 0) {\n doPermission(el, eval(value));\n } else {\n throw new Error('permission.hasPermission'); // 修改为普通字符串,去掉 `t()` 的国际化调用\n }\n });\n}\nfunction doPermission(el, value) {\n // const all_permission = '*:*:*'\n // console.info('doPermission当前按钮权限:', value[0])\n const storedUser = localStorage.getItem('user');\n // console.info('缓存中的用户信息:', storedUser)\n let allButpermissions = store.val; // 所有按钮权限列表\n let permissionFlag = value[0]; //v-hasPermi指令的值\n if (allButpermissions.length === 0) {\n return true;\n }\n let hasPermissions = allButpermissions.includes(permissionFlag);\n if (!hasPermissions) {\n //菜单里没配有这个按钮权限,就直接显示这个按钮,无需隐藏\n // console.info(value[0]+'按钮无需权限,直接显示按钮')\n return true;\n }\n if (hasPermissions) {\n //菜单中配有这个按钮权限,那看看用户是否有这个按钮权限\n if (storedUser === null || storedUser === undefined) {\n // console.info(value[0]+'按钮 缓存中没有用户信息,直接显示按钮')\n return true;\n }\n //用户权限列表\n const user = JSON.parse(JSON.parse(storedUser).v);\n\n //角色\n if (user.roles?.includes('super_admin')) {\n // console.info(value[0]+'按钮 管理员角色,直接显示按钮')\n return true;\n }\n\n //权限\n let userPermissions = user.permissions;\n hasPermissions = userPermissions.includes(permissionFlag);\n }\n if (!hasPermissions) {\n // console.info(value[0]+'按钮 无权限!!!!!!')\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n }\n }\n console.info(value[0] + '按钮 有权限显示按钮');\n return hasPermissions;\n}\n\n//# sourceURL=webpack://olp-table/./src/directives/permission/hasPermi.js?");
10687
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ doPermission: function() { return /* binding */ doPermission; },\n/* harmony export */ hasPermi: function() { return /* binding */ hasPermi; }\n/* harmony export */ });\n/* harmony import */ var _store_permi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/store/permi */ \"./src/store/permi.js\");\n\nconst store = (0,_store_permi__WEBPACK_IMPORTED_MODULE_0__.storePermi)();\nstore.init();\nfunction hasPermi(app) {\n app.directive('hasPermi', (el, binding) => {\n const {\n value\n } = binding;\n if (value && Array.isArray(value) && value.length > 0) {\n doPermission(el, value);\n } else if (value && typeof value === 'string' && value.length > 2 && value.indexOf('[') === 0) {\n doPermission(el, eval(value));\n } else {\n throw new Error('permission.hasPermission'); // 修改为普通字符串,去掉 `t()` 的国际化调用\n }\n });\n}\nfunction doPermission(el, value) {\n // const all_permission = '*:*:*'\n // console.info('doPermission当前按钮权限:', value[0])\n const storedUser = localStorage.getItem('user');\n // console.info('缓存中的用户信息:', storedUser)\n let allButpermissions = store.val; // 所有按钮权限列表\n let permissionFlag = value[0]; //v-hasPermi指令的值\n if (allButpermissions.length === 0) {\n return true;\n }\n let hasPermissions = allButpermissions.includes(permissionFlag);\n if (!hasPermissions) {\n //菜单里没配有这个按钮权限,就直接显示这个按钮,无需隐藏\n // console.info(value[0]+'按钮无需权限,直接显示按钮')\n return true;\n }\n if (hasPermissions) {\n //菜单中配有这个按钮权限,那看看用户是否有这个按钮权限\n if (storedUser === null || storedUser === undefined) {\n // console.info(value[0]+'按钮 缓存中没有用户信息,直接显示按钮')\n return true;\n }\n //用户权限列表\n const user = JSON.parse(JSON.parse(storedUser).v);\n\n //角色\n if (user.roles?.includes('super_admin')) {\n // console.info(value[0]+'按钮 管理员角色,直接显示按钮')\n return true;\n }\n\n //权限\n let userPermissions = user.permissions;\n hasPermissions = userPermissions.includes(permissionFlag);\n }\n if (!hasPermissions) {\n // console.info(value[0]+'按钮 无权限!!!!!!')\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n }\n }\n return hasPermissions;\n}\n\n//# sourceURL=webpack://olp-table/./src/directives/permission/hasPermi.js?");
10688
10688
 
10689
10689
  /***/ }),
10690
10690
 
@@ -10750,7 +10750,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
10750
10750
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10751
10751
 
10752
10752
  "use strict";
10753
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OTMixinBodyMethods: function() { return /* binding */ OTMixinBodyMethods; }\n/* harmony export */ });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/core-js/modules/es.iterator.constructor.js\");\n/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.iterator.some.js */ \"./node_modules/core-js/modules/es.iterator.some.js\");\n/* harmony import */ var core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_some_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _store_dict__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/store/dict */ \"./src/store/dict.js\");\n/* harmony import */ var _store_dictType__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/store/dictType */ \"./src/store/dictType.js\");\n/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/utils/util */ \"./src/utils/util.js\");\n/* harmony import */ var _utils_message__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/utils/message */ \"./src/utils/message.js\");\n/* harmony import */ var _utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/utils/http/httpUtils */ \"./src/utils/http/httpUtils.js\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! vue */ \"vue\");\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/utils/TableSortUtil */ \"./src/utils/TableSortUtil.js\");\n/* harmony import */ var _mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/mixins/VTMixin/DefaultMethods */ \"./src/mixins/VTMixin/DefaultMethods.js\");\n/* harmony import */ var _directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/directives/permission/hasPermi */ \"./src/directives/permission/hasPermi.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst message = (0,_utils_message__WEBPACK_IMPORTED_MODULE_6__.useMessage)(); // 消息弹窗\nconst dict = (0,_store_dict__WEBPACK_IMPORTED_MODULE_3__.storeDict)();\nconst dictType = (0,_store_dictType__WEBPACK_IMPORTED_MODULE_4__.storeDictType)();\nconst OTMixinBodyMethods = {\n mixins: [_mixins_VTMixin_DefaultMethods__WEBPACK_IMPORTED_MODULE_10__.DefaultMethods],\n emits: ['handleOperationClick', 'toolbarBtnClick', 'initComponents', 'selectRowChange'],\n methods: {\n /**\r\n * 自定义表单方法\r\n * @returns {*}\r\n */\n customerForm(show) {\n this.toggleFormDisplay();\n this.table.formConfig.show = show == true;\n return this.table.formConfig;\n },\n /**\r\n * 搜索隐藏/显示\r\n */\n toggleFormDisplay() {\n // 获取组件的根 DOM 元素\n const rootEl = this.$refs[this.table.ref].$el;\n\n // 查询第一个子标签是否为 vxe-grid--form-wrapper\n const formWrapperEl = rootEl.querySelector('.vxe-grid--form-wrapper');\n if (formWrapperEl) {\n // 查询 formWrapperEl 下的第一个 form 标签\n const formEl = formWrapperEl.querySelector('form');\n if (formEl) {\n // 获取 form 标签的当前 display 样式\n const currentDisplay = window.getComputedStyle(formEl).display;\n\n // 根据当前 display 样式设置新的样式\n if (currentDisplay === 'none') {\n // 如果当前是 none,则移除 display 样式(设置为空字符串)\n formEl.style.display = '';\n } else {\n // 否则设置为 none\n formEl.style.display = 'none';\n }\n }\n }\n },\n /**\r\n * 选中回调\r\n */\n selectRowChange() {\n let rows = this.getSelectRows();\n if (!rows) {\n return;\n }\n this.pagination.selectionRowsLength = rows.length;\n this.setToolBtn('batchDelete', 'disabled', rows.length == 0);\n rows = this.selectBox == 1 ? rows[0] : rows;\n if (this.events['selectRowChange']) {\n this.events['selectRowChange'](rows);\n }\n this.$emit(\"selectRowChange\", rows);\n },\n /**\r\n * 切换表格最大化/还原\r\n */\n zoomEvent() {\n if (this.$table) {\n this.$table.zoom();\n this.isMaximized = this.$table.isMaximized();\n }\n },\n initToolBtn(toolBut) {\n let obj = undefined;\n for (let i = 0; i < toolBut.length; i++) {\n let toolButElement = toolBut[i];\n toolButElement.disabled = toolButElement.defaultDisabled == 1;\n toolButElement.show = toolButElement.defaultShow == 1;\n if (toolButElement.code == 'sortable') {\n toolButElement.values = false;\n obj = JSON.parse(JSON.stringify(toolButElement));\n obj.id = obj.id + \"_sortable\";\n obj.name = \"调整完成\";\n obj.code = \"sortableOk\";\n obj.icon = \"vxe-icon-check\";\n obj.show = false;\n obj.disabled = true;\n obj.index = i + 1;\n }\n }\n if (obj) {\n toolBut.splice(obj.index, 0, obj);\n }\n this.toolBtn = toolBut;\n },\n initOperationBtn(operationBtn) {\n this.operationBtn = operationBtn;\n if (this.operationBtn.length != 0) {\n let okBut = [];\n for (let i = 0; i < this.operationBtn.length; i++) {\n let flag = (0,_directives_permission_hasPermi__WEBPACK_IMPORTED_MODULE_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + this.operationBtn[i].code]);\n // console.info(this.operationBtn[i].name+'--按钮'+this.operationBtn[i].code,flag)\n if (flag) {\n okBut.push(this.operationBtn[i]);\n }\n }\n this.operationBtn = okBut;\n }\n let length = this.operationBtn.length;\n if (length != 0) {\n let width = 35;\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n } else {\n for (let o of this.operationBtn) {\n width += o.name.length * (35 - length) + (o.icon !== undefined ? 5 : 0);\n }\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n tableConfigId: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n otherProp: form.formMain.otherProp,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
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 let permissEx = 0;\n let width = 35;\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_11__.doPermission)({\n parentNode: false\n }, [this.uuid + ':' + this.theme + ':' + operationBtnElement.code]);\n if (!flag) {\n operationBtnElement.permission = false;\n permissEx++;\n } else {\n width += operationBtnElement.name.length * (35 - length) + (operationBtnElement.icon !== undefined ? 5 : 0);\n }\n }\n let length = this.operationBtn.length - permissEx;\n if (length != 0) {\n if (this.table.operationWidth) {\n width = this.table.operationWidth;\n }\n const hasOperateColumn = this.table.columns.some(col => ['操作'].includes(col.title));\n if (!hasOperateColumn) {\n this.table.columns.push({\n title: '操作',\n width: width,\n fixed: \"right\",\n slots: {\n default: 'operate'\n }\n });\n }\n }\n },\n initTree({\n tree,\n treeId,\n treeParentId\n }) {\n if (tree == 1) {\n this.table.treeConfig = {\n show: true,\n transform: false,\n indent: 15,\n reserve: tree,\n rowField: treeId,\n parentField: treeParentId,\n treeId: treeId,\n treeParentId: treeParentId,\n iconClose: \"vxe-icon-arrow-right\",\n iconOpen: \"vxe-icon-arrow-down\"\n };\n this.table.rowConfig.keyField = treeId;\n }\n },\n initFormMainList(formMainList) {\n this.formMainList = formMainList;\n },\n async doSetComponents(customUrl, method, props, multipleProps) {\n this.customUrl = (0,vue__WEBPACK_IMPORTED_MODULE_8__.markRaw)(customUrl);\n await this.$nextTick(async () => {\n if (multipleProps == '1' || multipleProps == true) {\n doCallback(this.$refs.components[method], props);\n } else if (multipleProps == '2') {\n doCallback2(this.$refs.components[method], props);\n } else {\n this.$refs.components[method](props);\n }\n });\n },\n setComponent(url, method, props, multipleProps) {\n if (url.indexOf(\"@\") == 0) {\n this.$emit('initComponents', {\n url: url,\n method: method,\n props: props,\n multipleProps: multipleProps,\n doSetComponents: this.doSetComponents\n });\n } else {\n this.doSetComponents(__webpack_require__(\"./src sync recursive ^\\\\.\\\\/.*$\")(`./${url}`).default, method, props, multipleProps);\n }\n },\n async toolbarBtnClick(code) {\n if (code == \"batchDelete\") {\n this.batchRemove();\n this.$emit('toolbarBtnClick', code);\n return;\n } else if (code == 'download') {\n this.setComponent(\"components/ol-dialog-excel\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n selectData: this.pagination.selectionRowsLength >= 1 ? '2' : '1'\n });\n return;\n } else if (code == 'upload') {\n this.setComponent(\"components/ol-dialog-import\", \"open\", {\n column: JSON.parse(JSON.stringify(this.table.columnSource)),\n tableConfigId: this.tableConfig.id\n });\n return;\n } else if (code == 'sortable') {\n this.sortableClick();\n return;\n } else if (code == 'sortableOk') {\n this.loading['sortableOk'] = true;\n this.sortableOkClick();\n return;\n }\n let customFunction = undefined;\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code && toolBtn.customFunction) {\n customFunction = toolBtn.customFunction;\n break;\n }\n }\n if (customFunction != undefined) {\n eval(customFunction);\n } else if (code == 'add') {\n this.showForm(code);\n }\n this.$emit('toolbarBtnClick', code);\n },\n getBtnJson(code) {\n for (const toolBtn of this.operationBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n for (const toolBtn of this.toolBtn) {\n if (toolBtn.code == code) {\n return this.getSubParam(toolBtn.json);\n }\n }\n },\n getDeleteId(param) {\n for (let key of Object.keys(param)) {\n if (key != '$parentId') {\n return key;\n }\n }\n },\n sortableClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n toolBtn.values = !toolBtn.values;\n this.loading['sortableOk'] = false;\n this.setToolBtn('sortableOk', 'show', toolBtn.values);\n toolBtn.start = 999999;\n toolBtn.end = -1;\n if (toolBtn.values) {\n if (toolBtn.beforeFunction == undefined || toolBtn.beforeFunction == '' || toolBtn.beforeFunction.split(\",\") < 2) {\n message.error(\"排序字段未配置,请在做工具栏按钮配置中配置参数1(sort,id)\");\n return;\n }\n toolBtn.updateData = {};\n toolBtn.$elm = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.updateSortRowCall)(this.$table, (oldIndex, newIndex) => {\n let start = Math.min(oldIndex, newIndex);\n let end = Math.max(oldIndex, newIndex);\n toolBtn.start = Math.min(start, toolBtn.start);\n toolBtn.end = Math.max(end, toolBtn.end);\n this.setToolBtn('sortableOk', 'disabled', false);\n this.table.data = (0,_utils_TableSortUtil__WEBPACK_IMPORTED_MODULE_9__.getNewArrDataToolBtn)(oldIndex, newIndex, this.table.data, toolBtn);\n });\n } else if (toolBtn.$elm) {\n this.setToolBtn('sortableOk', 'disabled', true);\n toolBtn.$elm.destroy();\n toolBtn.$elm = undefined;\n this.query();\n }\n return;\n }\n }\n },\n sortableOkClick() {\n for (let toolBtn of this.toolBtn) {\n if (toolBtn.code == 'sortable') {\n let url;\n this.loading['sortableOk'] = true;\n this.table.loading = true;\n let params = {\n updateList: []\n };\n //sort,id 排序字段,更新主键\n let kw = toolBtn.beforeFunction.split(\",\");\n if (toolBtn.alterFunction) {\n url = toolBtn.alterFunction;\n } else {\n url = '/online/crud/batchModify';\n params.tableConfigId = this.tableConfig.id;\n }\n //这里肯定只有一个值\n for (let key of Object.keys(toolBtn.updateData)) {\n if (toolBtn.alterFunction) {\n let kv = {};\n kv[kw[1]] = key;\n kv[kw[0]] = toolBtn.updateData[key];\n params.updateList.push(kv);\n } else {\n let columnAndValueMap = {};\n let whereMap = {};\n whereMap[kw[1]] = key;\n columnAndValueMap[kw[0]] = toolBtn.updateData[key];\n params.updateList.push({\n columnAndValueMap,\n whereMap\n });\n }\n }\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.post)(this.http, url, params).then(status => {\n if (status) {\n this.query();\n this.setToolBtn('sortableOk', 'disabled', true);\n }\n }).finally(() => {\n this.loading['sortableOk'] = false;\n this.table.loading = false;\n });\n }\n }\n },\n showRender(descCode, url, title) {\n (0,_utils_http_httpUtils__WEBPACK_IMPORTED_MODULE_7__.get)(this.http, '/online/formDesigner/getOne', {\n descCode: descCode\n }, undefined, true).then(d => {\n let data = {\n type: 1,\n saveUrl: url,\n title: title,\n form: JSON.parse(d.formJson),\n tableConfigId: this.tableConfig.id\n };\n this.$refs[\"form\"].init(data, false);\n });\n },\n showForm(code, formData) {\n if (!formData) {\n formData = {};\n }\n let disabled = false;\n let btnJson = this.getBtnJson(code);\n //详情\n if (code == 'details') {\n disabled = true;\n code = 'edit';\n let btnJson2 = this.getBtnJson(code);\n if (btnJson2) {\n btnJson = {\n ...btnJson,\n ...btnJson2\n };\n } else {\n btnJson = btnJson2;\n }\n if (!btnJson.title) {\n btnJson.title = '详情';\n }\n }\n let form = this.formMainList[code];\n if (!form) {\n return;\n }\n let formJsonStr = form.formJson[form.formMain.designer == 0 ? 'optionJson' : 'customJson'];\n let data = {\n type: form.formMain.designer,\n saveUrl: form.formMain.saveUrl,\n requestType: form.formMain.requestType,\n updateKey: form.formMain.updateKey,\n otherProp: form.formMain.otherProp,\n formData,\n theme: this.theme,\n form: JSON.parse(formJsonStr),\n tableConfigId: this.tableConfig.id,\n dbName: this.tableConfig.dbName,\n tableName: this.tableConfig.mainTable,\n code,\n disabled\n };\n if (btnJson && btnJson.type == 1) {\n data.uuid = btnJson.subUuid;\n data.title = btnJson.title;\n data.deleteId = btnJson.deleteId;\n data.foreignKey = btnJson.subForeignKey;\n data.exBtnDisabled = btnJson.exBtnDisabled;\n this.$refs[\"subForm\"].init(data);\n } else {\n this.$refs[\"form\"].init(data);\n }\n },\n async handleOperationClick(o) {\n let {\n obj,\n row\n } = o;\n if (obj.customFunction) {\n eval(obj.customFunction);\n } else if (obj.code == \"delete\") {\n this.remove(o);\n } else if (obj.code == 'edit' || obj.code == 'details') {\n this.showForm(obj.code, row);\n }\n this.$emit(\"handleOperationClick\", o);\n },\n getSubParam(json) {\n let obj = {\n deleteId: this.getDeleteId(this.deleteParameter)\n }; // 初始化为空对象\n if (json) {\n return {\n ...obj,\n ...JSON.parse(json)\n };\n }\n }\n },\n created() {\n dict.init(this.http);\n dictType.init(this.http);\n }\n};\nfunction rowCamelCase(o) {\n let obj = {};\n for (let key of Object.keys(o)) {\n if (key == 'XROWKEY') {\n continue;\n }\n let k = key;\n if (re(key)) {\n k = key.substring(3);\n }\n obj[(0,_utils_util__WEBPACK_IMPORTED_MODULE_5__.toCamelCase)(k)] = o[key];\n }\n return obj;\n}\nfunction re(k) {\n let reg = /^t\\d_/;\n return reg.test(k);\n}\nfunction doCallback(fn, args) {\n for (let arg of args) {\n fn.apply(this, arg);\n }\n}\nfunction doCallback2(fn, args) {\n fn.apply(this, args);\n}\n\n//# sourceURL=webpack://olp-table/./src/mixins/VTMixin/OTMixinBodyMethods.js?");
10754
10754
 
10755
10755
  /***/ }),
10756
10756
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "olp-table",
3
- "version": "7.1.9",
3
+ "version": "7.1.11",
4
4
  "main": "olp-table.common.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"