el-crud-page 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +160 -969
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +162 -972
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +162 -972
- package/dist/index.umd.js.map +1 -1
- package/package.json +7 -9
- package/src/index.js +1 -2
- package/src/index.vue +1 -1
- package/src/table.vue +1 -1
- package/src/form.vue +0 -659
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/utils/kind-of.js","../src/utils/shallow-clone.js","../src/utils/is-plain-object.js","../src/utils/clone-deep.js","../src/utils/scroll-to.js","../src/utils/index.js","../src/utils/vnode.jsx","../src/tableColumn.js","../src/table.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../node_modules/vue-runtime-helpers/dist/inject-style/browser.mjs","../src/rightToolbar.vue","../src/queryForm.vue","../src/pagination.vue","../src/index.vue","../node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js","../src/utils/value-hook.js","../src/form.vue"],"sourcesContent":["var toString = Object.prototype.toString;\n\nexport default function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n\n switch (ctorName(val)) {\n case 'Symbol': return 'symbol';\n case 'Promise': return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap': return 'weakmap';\n case 'WeakSet': return 'weakset';\n case 'Map': return 'map';\n case 'Set': return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array': return 'int8array';\n case 'Uint8Array': return 'uint8array';\n case 'Uint8ClampedArray': return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array': return 'int16array';\n case 'Uint16Array': return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array': return 'int32array';\n case 'Uint32Array': return 'uint32array';\n case 'Float32Array': return 'float32array';\n case 'Float64Array': return 'float64array';\n }\n\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]': return 'object';\n // iterators\n case '[object Map Iterator]': return 'mapiterator';\n case '[object Set Iterator]': return 'setiterator';\n case '[object String Iterator]': return 'stringiterator';\n case '[object Array Iterator]': return 'arrayiterator';\n }\n\n // other\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n};\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\n}\n\nfunction isError(val) {\n return val instanceof Error || (typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number');\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function'\n && typeof val.getDate === 'function'\n && typeof val.setDate === 'function';\n}\n\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string'\n && typeof val.ignoreCase === 'boolean'\n && typeof val.multiline === 'boolean'\n && typeof val.global === 'boolean';\n}\n\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\n\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function'\n && typeof val.return === 'function'\n && typeof val.next === 'function';\n}\n\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}","/*!\n * shallow-clone <https://github.com/jonschlinkert/shallow-clone>\n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nimport typeOf from \"./kind-of\";\n\nconst valueOf = Symbol.prototype.valueOf;\n\nexport default function clone(val, deep) {\n switch (typeOf(val)) {\n case 'array':\n return val.slice();\n case 'object':\n return Object.assign({}, val);\n case 'date':\n return new val.constructor(Number(val));\n case 'map':\n return new Map(val);\n case 'set':\n return new Set(val);\n case 'buffer':\n return cloneBuffer(val);\n case 'symbol':\n return cloneSymbol(val);\n case 'arraybuffer':\n return cloneArrayBuffer(val);\n case 'float32array':\n case 'float64array':\n case 'int16array':\n case 'int32array':\n case 'int8array':\n case 'uint16array':\n case 'uint32array':\n case 'uint8clampedarray':\n case 'uint8array':\n return cloneTypedArray(val);\n case 'regexp':\n return cloneRegExp(val);\n case 'error':\n return Object.create(val);\n default: {\n return val;\n }\n }\n}\n\nfunction cloneRegExp(val) {\n const flags = val.flags !== void 0 ? val.flags : (/\\w+$/.exec(val) || void 0);\n const re = new val.constructor(val.source, flags);\n re.lastIndex = val.lastIndex;\n return re;\n}\n\nfunction cloneArrayBuffer(val) {\n const res = new val.constructor(val.byteLength);\n new Uint8Array(res).set(new Uint8Array(val));\n return res;\n}\n\nfunction cloneTypedArray(val, deep) {\n return new val.constructor(val.buffer, val.byteOffset, val.length);\n}\n\nfunction cloneBuffer(val) {\n const len = val.length;\n const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);\n val.copy(buf);\n return buf;\n}\n\nfunction cloneSymbol(val) {\n return valueOf ? Object(valueOf.call(val)) : {};\n}\n ","/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nexport function isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};","'use strict';\n \nimport clone from './shallow-clone';\nimport typeOf from './kind-of';\nimport {isPlainObject} from './is-plain-object';\n\nfunction cloneDeep(val, instanceClone) {\n switch (typeOf(val)) {\n case 'object':\n return cloneObjectDeep(val, instanceClone);\n case 'array':\n return cloneArrayDeep(val, instanceClone);\n default: {\n return clone(val);\n }\n }\n}\n\nfunction cloneObjectDeep(val, instanceClone) {\n if (typeof instanceClone === 'function') {\n return instanceClone(val);\n }\n if (instanceClone || isPlainObject(val)) {\n const res = (val.constructor !== undefined) ? new val.constructor() : Object.create(null);\n for (let key in val) {\n res[key] = cloneDeep(val[key], instanceClone);\n }\n return res;\n }\n return val;\n}\n\nfunction cloneArrayDeep(val, instanceClone) {\n const res = new val.constructor(val.length);\n for (let i = 0; i < val.length; i++) {\n res[i] = cloneDeep(val[i], instanceClone);\n }\n return res;\n}\n\n\nexport default cloneDeep;","Math.easeInOutQuad = function(t, b, c, d) {\n t /= d / 2\n if (t < 1) {\n return c / 2 * t * t + b\n }\n t--\n return -c / 2 * (t * (t - 2) - 1) + b\n}\n\n// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts\nvar requestAnimFrame = (function() {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) }\n})()\n\n/**\n * Because it's so fucking difficult to detect the scrolling element, just move them all\n * @param {number} amount\n */\nfunction move(amount) {\n document.documentElement.scrollTop = amount\n document.body.parentNode.scrollTop = amount\n document.body.scrollTop = amount\n}\n\nfunction position() {\n return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop\n}\n\n/**\n * @param {number} to\n * @param {number} duration\n * @param {Function} callback\n */\nexport function scrollTo(to, duration, callback) {\n const start = position()\n const change = to - start\n const increment = 20\n let currentTime = 0\n duration = (typeof (duration) === 'undefined') ? 500 : duration\n var animateScroll = function() {\n // increment the time\n currentTime += increment\n // find the value with the quadratic in-out easing function\n var val = Math.easeInOutQuad(currentTime, start, change, duration)\n // move the document.body\n move(val)\n // do the animation unless its over\n if (currentTime < duration) {\n requestAnimFrame(animateScroll)\n } else {\n if (callback && typeof (callback) === 'function') {\n // the animation is done so lets callback\n callback()\n }\n }\n }\n animateScroll()\n}\n","import cloneDeep from './clone-deep';\nimport { scrollTo } from './scroll-to';\n\n\nexport function isArray(value) {\n\tif (typeof Array.isArray === \"function\") {\n\t\treturn Array.isArray(value);\n\t} else {\n\t\treturn Object.prototype.toString.call(value) === \"[object Array]\";\n\t}\n}\n\nexport function isObject(value) {\n\treturn Object.prototype.toString.call(value) === \"[object Object]\";\n}\n\nexport function isNumber(value) {\n\treturn !isNaN(Number(value));\n}\n\nexport function isFunction(value) {\n\treturn typeof value === \"function\";\n}\n\nexport function isString(value) {\n\treturn typeof value === \"string\";\n}\n\nexport function isNull(value) {\n\treturn !value && value !== 0;\n}\n\nexport function isBoolean(value) {\n\treturn typeof value === \"boolean\";\n}\nexport function isPromise(value) {\n\treturn value && typeof value === 'object' && typeof value.then === 'function' && typeof value.catch === 'function';\n}\n\nexport function isEmpty(value) {\n\tif (isArray(value)) {\n\t\treturn value.length === 0;\n\t}\n\n\tif (isObject(value)) {\n\t\treturn Object.keys(value).length === 0;\n\t}\n\n\treturn value === \"\" || value === undefined || value === null;\n}\n\nexport function clone(obj) {\n\treturn Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));\n}\n\nexport function getParent(name) {\n\tlet parent = this.$parent;\n\n\twhile (parent) {\n\t\tif (parent.$options.componentName !== name) {\n\t\t\tparent = parent.$parent;\n\t\t} else {\n\t\t\treturn parent;\n\t\t}\n\t}\n\n\treturn null;\n}\n\n\n\nexport function deepMerge(a, b) {\n\tlet k;\n\tfor (k in b) {\n\t\ta[k] =\n\t\t\ta[k] && a[k].toString() === \"[object Object]\" ? deepMerge(a[k], b[k]) : (a[k] = b[k]);\n\t}\n\treturn a;\n}\n\nexport function contains(parent, node) {\n\tif (document.documentElement.contains) {\n\t\treturn parent !== node && parent.contains(node);\n\t} else {\n\t\twhile (node && (node = node.parentNode)) if (node === parent) return true;\n\t\treturn false;\n\t}\n}\n\n/**\n * @param {Function} func\n * @param {number} wait\n * @param {boolean} immediate\n * @return {*}\n */\nexport function debounce(func, wait, immediate) {\n let timeout, args, context, timestamp, result\n\n const later = function() {\n // 据上一次触发时间间隔\n const last = +new Date() - timestamp\n\n // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait\n if (last < wait && last > 0) {\n timeout = setTimeout(later, wait - last)\n } else {\n timeout = null\n // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用\n if (!immediate) {\n result = func.apply(context, args)\n if (!timeout) context = args = null\n }\n }\n }\n\n return function(...args) {\n context = this\n timestamp = +new Date()\n const callNow = immediate && !timeout\n // 如果延时不存在,重新设定延时\n if (!timeout) timeout = setTimeout(later, wait)\n if (callNow) {\n result = func.apply(context, args)\n context = args = null\n }\n\n return result\n }\n}\n\nexport function toLine(name) {\n return name.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n}\n\nexport { cloneDeep,scrollTo };","import { isFunction, isString, cloneDeep, isObject } from \"./index\";\nimport Vue from \"vue\";\n\n// ...删除固定创建的 __inst ...\nconst __vue = Vue // Vue\n\n/**\n * Parse JSX, filter params\n * options 增加 inst 参数,代表外部传入的 Vue 实例\n * @param {*} vnode\n * @param {{inst, scope, prop, children, $scopedSlots}} options\n */\nconst parse_jsx = (vnode, options = {}) => {\n\tconst { inst, scope, prop, $scopedSlots, children = [] } = options;\n\tconst h = inst.$createElement;\n\n\tif (vnode.name.indexOf(\"slot-\") == 0) {\n\t\tlet rn = $scopedSlots[vnode.name];\n\n\t\tif (rn) {\n\t\t\treturn rn({ scope });\n\t\t} else {\n\t\t\treturn \"错误\";\n\t\t}\n\t}\n\n\tif (vnode.render) {\n\t\tif (!inst.$root.$options.components[vnode.name]) {\n\t\t\t__vue.component(vnode.name, cloneDeep(vnode));\n\t\t}\n\n\t\t// Avoid props prompts { type:null }\n\t\tdelete vnode.props;\n\t}\n\n\tconst keys = [\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"props\",\n\t\t\"attrs\",\n\t\t\"domProps\",\n\t\t\"on\",\n\t\t\"nativeOn\",\n\t\t\"directives\",\n\t\t\"scopedSlots\",\n\t\t\"slot\",\n\t\t\"key\",\n\t\t\"ref\",\n\t\t\"refInFor\"\n\t];\n\n\t// Avoid loop update\n\tlet data = cloneDeep(vnode);\n\n\tfor (let i in data) {\n\t\tif (!keys.includes(i)) {\n\t\t\tdelete data[i];\n\t\t}\n\t}\n\n\tif (scope) {\n\t\tif (!data.attrs) {\n\t\t\tdata.attrs = {};\n\t\t}\n\n\t\tif (!data.on) {\n\t\t\tdata.on = {};\n\t\t}\n\n\t\tif (!data.props) {\n\t\t\tdata.props = {};\n\t\t}\n\n\t\t// 添加作用域\n\t\tdata.props.scope = scope\n\n\t\t// 输入事件\n\t\tconst onInput = data.on.input\n\n\t\t// 设置默认值\n\t\tdata.attrs.value = scope[prop];\n\n\t\t// 监听输入事件\n\t\tdata.on.input = (val) => {\n\t\t\tinst.$set(scope, prop, val);\n\t\t\tif (onInput) {\n\t\t\t\tonInput(val)\n\t\t\t}\n\t\t};\n\t} \n\treturn h(vnode.name, cloneDeep(data), children);\n};\n\n/**\n * Render vNode\n * options 允许 inst 为空,通过调用者的 this 获取 Vue 实例\n * @param {*} vnode\n * @param {{inst?, prop, scope, $scopedSlots}} options\n */\nexport function renderNode(vnode, options) {\n\t// 如果 options.inst 为空,则尝试用调用者上下文的 this\n\tconst { prop, scope, $scopedSlots } = options;\n\tconst inst = options.inst || this;\n\tconst h = inst.$createElement;\n\t \n\tif (!vnode) {\n\t\treturn null;\n\t}\n\n\t// When slot or tagName\n\tif (isString(vnode)) {\n\t\treturn parse_jsx({ name: vnode }, { inst,prop, scope, $scopedSlots });\n\t}\n\n\t// When customeize render function\n\tif (isFunction(vnode)) {\n\t\treturn vnode({ scope, h });\n\t}\n\t// When jsx\n\tif (isObject(vnode)) {\n\t\tif( isObject( vnode.name ) ){\n\t\t\tlet component = vnode.name\n\t\t\tlet curComponent = Object.values(inst.$options.components).find(item=>item == vnode)\n\t\t\tif( curComponent ){\n\t\t\t\tvnode.name = curComponent.name ;\n\t\t\t}else{\n\t\t\t\tconst componentName = component.name || \"component_\" + Math.random().toString(36).substr(2, 9);\n\t\t\t\tinst.$options.components[ componentName ] = component;\n\t\t\t\tvnode.name = componentName;\n\t\t\t\tconsole.log( componentName )\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (vnode.context) {\n\t\t\treturn vnode;\n\t\t}\n\n\t\tif (vnode.name) {\n\t\t\t// Handle general component\n\t\t\tconst keys = [\"el-select\", \"el-radio-group\", \"el-checkbox-group\"];\n\t\t\tif (keys.includes(vnode.name)) {\n\t\t\t\tlet options = vnode.options;\n\t\t\t\tif( isFunction( options ) ){\n\t\t\t\t\toptions = options( scope );\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Append component children\n\t\t\t\tconst children = (options || []).map((e, i) => {\n\t\t\t\t\tif (vnode.name === \"el-select\") {\n\t\t\t\t\t\tlet label, value;\n\n\t\t\t\t\t\tif (isString(e)) {\n\t\t\t\t\t\t\tlabel = value = e;\n\t\t\t\t\t\t} else if (isObject(e)) {\n\t\t\t\t\t\t\tlabel = e.label;\n\t\t\t\t\t\t\tvalue = e.value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn \"错误\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<el-option\n\t\t\t\t\t\t\t\t{...{\n\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\tkey: i,\n\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t\t...e.props\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (vnode.name === \"el-radio-group\") {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<el-radio\n\t\t\t\t\t\t\t\t{...{\n\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\tkey: i,\n\t\t\t\t\t\t\t\t\t\tlabel: e.value,\n\t\t\t\t\t\t\t\t\t\t...e.props\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{e.label}\n\t\t\t\t\t\t\t</el-radio>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (vnode.name === \"el-checkbox-group\") {\n\t\t\t\t\t\tif( typeof scope[prop]==='undefined' ){ \n\t\t\t\t\t\t\tinst.$set(scope, prop, [])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<el-checkbox\n\t\t\t\t\t\t\t\t{...{\n\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\tkey: i,\n\t\t\t\t\t\t\t\t\t\tlabel: e.value,\n\t\t\t\t\t\t\t\t\t\t...e.props\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{e.label}\n\t\t\t\t\t\t\t</el-checkbox>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn parse_jsx(vnode, { inst, prop, scope, children });\n\t\t\t} else {\n\t\t\t\treturn parse_jsx(vnode, { inst, prop, scope, $scopedSlots });\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"错误\";\n\t\t}\n\t}\n}","// 组件说明:TableColumn 用于在 CRUD 表格中动态渲染列,支持嵌套子列,处理字典与格式化展示。\nimport { renderNode } from \"./utils/vnode.jsx\";\nimport { isFunction, isString, isArray, cloneDeep, isObject,isPromise } from \"./utils\";\n\n\nconst TableColumn = {\n // 组件名称\n name: \"TableColumn\",\n data() {\n return {\n // emit:{},\n actionMap: {\n info: {\n label: \"详情\",\n type: \"text\",\n action: \"info\",\n icon: \"el-icon-document\"\n },\n update: {\n label: \"编辑\",\n type: \"text\",\n action: \"update\",\n icon: \"el-icon-edit\"\n },\n delete: {\n label: \"删除\",\n type: \"text\",\n action: \"delete\",\n icon: \"el-icon-delete\"\n },\n \n }\n }\n },\n props: {\n // 列配置对象,包含列属性、子列、格式化函数等\n column: {\n type: Object,\n required: true\n },\n // 行索引生成方法,用于动态生成行号\n indexMethod: {\n type: Function,\n required: false\n },\n },\n computed: {\n // 判断当前列是否包含子列\n hasChildren() {\n return this.column.children && this.column.children.length > 0;\n },\n // 生成并返回列的属性集合,默认居中对齐\n columnProps() {\n return Object.assign({}, this.column, {\n align: this.column.align || \"center\"\n });\n },\n // 生成唯一的列 key,用于 Vue 渲染优化\n columnKey() {\n return \"crud-table-column-\" + (this.column.prop || Math.random());\n },\n \n },\n mounted() {\n },\n methods: {\n // 根据传入值查找并返回字典中对应的对象\n getDict(value) {\n if( isPromise(this.column.dict)){\n this.column.dict.then((dict)=>{\n this.column.dict = dict;\n });\n return null\n }\n // this.column.dict 如果 this.column.dict 是个 function\n // 则调用 this.column.dict(value) 返回字典对象\n if (typeof this.column.dict === \"function\") {\n return this.column.dict(value).find(d => d.value == value);\n }\n\n if (this.column.dict) {\n return this.column.dict?.find(d => d.value == value);\n }\n return null;\n },\n // 检查传入的值是否严格为 null\n isNull(val) {\n return val === null;\n },\n renderNode(vnode, options) {\n return renderNode.call(this, vnode, options);\n },\n renderSelection(h) {\n return h(\n \"el-table-column\",\n {\n key: this.columnKey,\n props: Object.assign({}, this.columnProps, { index: this.indexMethod })\n },\n []\n );\n\n },\n // 渲染操作列\n renderActions(h) {\n return h(\n \"el-table-column\",\n {\n key: this.columnKey,\n props: Object.assign({}, this.columnProps, { index: this.indexMethod }),\n scopedSlots: {\n default: scope => {\n let actions = this.column.actions;\n if (isFunction(this.column.actions)) {\n actions = this.column.actions({ scope, h });\n }\n\n return actions?.map(action => {\n\n // 自定义渲染函数\n if (isFunction(action)) {\n return action({ scope, h });\n }\n // 预设的操作映射\n if (isString(action)) {\n action = this.actionMap[action];\n if( !action){\n return null;\n }\n }\n // action 如果是数组 创建 更多 按钮列表\n if (isArray(action)) {\n return h(\n \"el-dropdown\",\n {\n props: {\n trigger: \"hover\",\n // size: \"mini\"\n },\n on: {\n command: (e) => {\n this.$emit(\"action\", e, scope);\n }\n },\n style: {\n right: \"auto\",\n \"margin-left\":\"10px\"\n }\n },\n [\n h(\n \"span\",\n {\n class: \"el-dropdown-link\",\n style: \"margin-left: 0\",\n },\n [\n \"更多\",\n h(\"i\", {\n class: \"el-icon-arrow-down el-icon--right\"\n })\n ]\n ),\n h(\n \"el-dropdown-menu\",\n {\n slot: \"dropdown\"\n },\n action.map(item => {\n let _item = item \n // 预设的操作映射\n if (isString(_item)) {\n _item = this.actionMap[_item];\n if( !_item){\n return null;\n }\n }\n return h(\n \"el-dropdown-item\",\n {\n props: {\n command: _item.action,\n icon: _item.icon,\n disabled: _item.disabled,\n },\n },\n _item.label\n );\n })\n )\n ]\n );\n }\n\n\n\n // 渲染 action 按钮\n return h(\n \"el-button\",\n {\n props: {\n type: action.type || \"text\",\n size: action.size || \"mini\",\n icon: action.icon || \"\",\n disabled: action.disabled || false\n },\n on: {\n click:(e)=> {\n this.$emit(\"action\", action.action, scope); \n }\n }\n },\n action.label\n );\n }).filter(item=>item);\n }\n }\n },\n []\n );\n },\n \n },\n // 动态渲染函数,根据列配置渲染 el-table-column\n render(h) {\n if ( this.column.hidden ){\n if( typeof this.column.hidden === \"function\" ){\n // 如果 hidden 是函数,则调用函数判断是否隐藏\n if (this.column.hidden(this.column)) {\n return null;\n }\n }\n }\n\n if (this.column.visible === false) {\n return null;\n }\n if (this.column.type === \"selection\" || this.column.type === \"index\") {\n // 对于 selection 类型,直接传递 props 让 Element 内部处理选中状态\n return this.renderSelection(h);\n } else if (this.column.type === \"action\") {\n // 对于 action 类型,渲染操作列\n return this.renderActions(h);\n }\n return h(\n \"el-table-column\",\n {\n key: this.columnKey,\n props: Object.assign({}, this.columnProps, { index: this.indexMethod }),\n scopedSlots: {\n // 自定义表头渲染:支持 slot 覆盖默认表头\n header: scope => {\n return this.$scopedSlots[\"header-\" + this.column.prop]\n ? this.$scopedSlots[\"header-\" + this.column.prop](scope)\n : scope.column.label;\n },\n // 自定义单元格渲染:支持 slot、组件、格式化函数或字典\n default: (scope) => {\n let content;\n // 检查是否有自定义 slot 渲染\n if (this.$scopedSlots[\"column-\" + this.column.prop]) {\n content = this.$scopedSlots[\"column-\" + this.column.prop]({\n scope: scope,\n column: this.column\n });\n } else if (this.column.component) {\n // 通过 renderNode 调用渲染组件,确保 this 指向当前实例\n content = this.renderNode(this.column.component, { prop: this.column.prop, scope: scope });\n } else if (this.column.formatter) {\n content = this.column.formatter(\n scope.row,\n scope.column,\n scope.row[this.column.prop],\n scope.$index\n );\n } else if (this.column.dict) {\n const dictItem = this.getDict(scope.row[this.column.prop]);\n if (dictItem?.label) {\n content = h(\n \"el-tag\",\n {\n props: {\n size: \"mini\",\n disableTransitions: true,\n type: dictItem.type \n // effect: \"dark\"\n }\n },\n dictItem.label\n );\n } else {\n content = scope.row[this.column.prop];\n }\n } else if (this.isNull(scope.row[this.column.prop])) {\n content = scope.emptyText;\n } else {\n content = scope.row[this.column.prop];\n }\n return content;\n }\n }\n },\n // 若有子列则递归渲染\n this.hasChildren\n ? this.column.children.map((child, idx) =>\n h(TableColumn, {\n key: idx,\n props: { \n column: child, \n indexMethod: this.indexMethod,\n\n },\n on: this.$listeners,\n\n \n\n })\n )\n : []\n );\n },\n\n};\n\n// 支持自身递归调用(递归组件)\nTableColumn.components = {\n TableColumn\n};\n\nexport default TableColumn;","<!-- crud table 组件 -->\n<template>\n <el-table :data=\"data\" class=\"crud-table\" ref=\"table\" v-bind=\"combinedProps\" v-on=\"combinedEvents\">\n <crud-table-column v-for=\"column in columns\" :indexMethod=\"(index)=>( baseIndex + 1 + index )\"\n v-if=\"!column[`v-hasPermi`] || !column[`v-hasPermi`].length || $auth.hasPermiOr(column[`v-hasPermi`] || [])\"\n :column=\"column\" @action=\"onRowAction\">\n </crud-table-column>\n </el-table>\n</template>\n<script>\n\n\n/**\n * CRUD table组件\n */\n\nimport CrudTableColumn from \"./tableColumn.js\";\n\nexport default {\n name: \"CrudTable\",\n components: {\n CrudTableColumn\n },\n inject: [\"crud\"],\n props: {\n columns: {\n type: Array,\n default: () => []\n },\n on: {\n type: Object,\n default: () => {\n return {};\n }\n },\n data: {\n type: Array,\n default: () => {\n return [];\n }\n }\n },\n data() {\n return {\n emit: {},\n defaultProps: {\n stripe: true,\n size: \"mini\",\n }\n };\n },\n computed: {\n // 将外部传入的 props 与 crud 内部样式合并\n combinedProps() {\n return Object.assign({}, this.defaultProps, this.$attrs);\n },\n // 将各事件处理函数合并,包括 emit 与 on 上的回调\n combinedEvents() {\n return Object.assign(\n {},\n {\n \"selection-change\": this.onSelectionChange,\n \"sort-change\": this.onSortChange,\n \"row-contextmenu\": this.onRowContextMenu\n },\n this.emit,\n this.on\n );\n },\n baseIndex(){\n if( this.crud?.pagination ){\n return (this.crud?.pagination?.pageNum-1) * this.crud?.pagination?.pageSize;\n }else{\n return 0;\n }\n }\n },\n mounted() {\n this.bindEmits();\n this.bindMethods();\n },\n methods: {\n // 绑定 el-table 回调\n bindEmits() {\n const emits = [\n \"select\",\n \"select-all\",\n \"cell-mouse-enter\",\n \"cell-mouse-leave\",\n \"cell-click\",\n \"cell-dblclick\",\n \"row-click\",\n \"row-contextmenu\",\n \"row-dblclick\",\n \"header-click\",\n \"header-contextmenu\",\n \"filter-change\",\n \"current-change\",\n \"header-dragend\",\n \"expand-change\"\n ];\n\n emits.forEach((name) => {\n this.emit[name] = (...args) => {\n this.$emit(name, ...args);\n };\n });\n },\n\n // 绑定 el-table 事件\n bindMethods() {\n const methods = [\n \"clearSelection\",\n \"toggleRowSelection\",\n \"toggleAllSelection\",\n \"toggleRowExpansion\",\n \"setCurrentRow\",\n \"clearSort\",\n \"clearFilter\",\n \"doLayout\",\n \"sort\"\n ];\n\n methods.forEach((n) => {\n this[n] = this.$refs[\"table\"][n];\n });\n },\n onSelectionChange(selection) {\n this.$emit(\"selection-change\", selection);\n },\n onSortChange({ prop, order }) {\n this.$emit(\"sort-change\", { prop, order });\n },\n onRowContextMenu(row, column, event) {\n this.$emit(\"row-contextmenu\", row, column, event);\n },\n onRowAction(action, scope) {\n this.$emit(\"row-action\", action, scope);\n this.$emit(`row-${action}`, scope);\n }\n }\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n.crud-table {\n &::v-deep {\n .el-table__body-wrapper {\n .el-table__cell {\n .cell:empty::after {\n content: '/';\n color: #c0c4cc;\n }\n }\n }\n }\n}\n</style>\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","const isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\r\nfunction createInjector(context) {\r\n return (id, style) => addStyle(id, style);\r\n}\r\nlet HEAD;\r\nconst styles = {};\r\nfunction addStyle(id, css) {\r\n const group = isOldIE ? css.media || 'default' : id;\r\n const style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });\r\n if (!style.ids.has(id)) {\r\n style.ids.add(id);\r\n let code = css.source;\r\n if (css.map) {\r\n // https://developer.chrome.com/devtools/docs/javascript-debugging\r\n // this makes source maps inside style tags work properly in Chrome\r\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */';\r\n // http://stackoverflow.com/a/26603875\r\n code +=\r\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\r\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\r\n ' */';\r\n }\r\n if (!style.element) {\r\n style.element = document.createElement('style');\r\n style.element.type = 'text/css';\r\n if (css.media)\r\n style.element.setAttribute('media', css.media);\r\n if (HEAD === undefined) {\r\n HEAD = document.head || document.getElementsByTagName('head')[0];\r\n }\r\n HEAD.appendChild(style.element);\r\n }\r\n if ('styleSheet' in style.element) {\r\n style.styles.push(code);\r\n style.element.styleSheet.cssText = style.styles\r\n .filter(Boolean)\r\n .join('\\n');\r\n }\r\n else {\r\n const index = style.ids.size - 1;\r\n const textNode = document.createTextNode(code);\r\n const nodes = style.element.childNodes;\r\n if (nodes[index])\r\n style.element.removeChild(nodes[index]);\r\n if (nodes.length)\r\n style.element.insertBefore(textNode, nodes[index]);\r\n else\r\n style.element.appendChild(textNode);\r\n }\r\n }\r\n}\n\nexport default createInjector;\n//# sourceMappingURL=browser.mjs.map\n","<template>\n <div class=\"top-right-btn\" :style=\"style\">\n <div class=\"flex flex-row items-center\">\n <el-tooltip class=\"item\" effect=\"dark\" :content=\"showSearch ? '隐藏搜索' : '显示搜索'\" placement=\"top\" v-if=\"search\">\n <el-button size=\"mini\" circle icon=\"el-icon-search\" @click=\"toggleSearch()\" />\n </el-tooltip>\n <el-tooltip class=\"item\" effect=\"dark\" content=\"刷新\" placement=\"top\">\n <el-button size=\"mini\" circle icon=\"el-icon-refresh\" @click=\"refresh()\" />\n </el-tooltip>\n <el-tooltip class=\"item\" effect=\"dark\" content=\"显隐列\" placement=\"top\" v-if=\"columns\">\n <el-button size=\"mini\" circle icon=\"el-icon-menu\" @click=\"showColumn()\" v-if=\"showColumnsType == 'transfer'\"/>\n <el-dropdown trigger=\"click\" :hide-on-click=\"false\" style=\"padding-left: 12px\" v-if=\"showColumnsType == 'checkbox'\">\n <el-button size=\"mini\" circle icon=\"el-icon-menu\" />\n <el-dropdown-menu slot=\"dropdown\">\n <template >\n <el-dropdown-item v-for=\"item in columns\" :key=\"item.key\" v-if=\"item.type!=`index` && item.type!=`selection` && (typeof item.visible) !== `undefined` \">\n <el-checkbox :checked=\"item.visible\" @change=\"checkboxChange($event, item)\" :label=\"item.label\" />\n </el-dropdown-item>\n </template>\n </el-dropdown-menu>\n </el-dropdown>\n </el-tooltip>\n </div>\n <el-dialog :title=\"title\" :visible.sync=\"open\" append-to-body>\n <el-transfer\n :titles=\"['显示', '隐藏']\"\n v-model=\"value\"\n :data=\"columns\"\n @change=\"dataChange\"\n ></el-transfer>\n </el-dialog>\n </div>\n </template>\n <script>\n export default {\n name: \"RightToolbar\",\n inject: [\"crud\"],\n data() {\n return {\n // 显隐数据\n value: [],\n // 弹出层标题\n title: \"显示/隐藏\",\n // 是否显示弹出层\n open: false,\n // 本地列数据副本(用于拖拽)\n localColumns: [],\n };\n },\n props: {\n /* 是否显示检索条件 */\n showSearch: {\n type: Boolean,\n default: true,\n },\n /* 显隐列信息 */\n columns: {\n type: Array,\n },\n /* 是否显示检索图标 */\n search: {\n type: Boolean,\n default: true,\n },\n /* 显隐列类型(transfer穿梭框、checkbox复选框) */\n showColumnsType: {\n type: String,\n default: \"checkbox\",\n },\n /* 右外边距 */\n gutter: {\n type: Number,\n default: 10,\n },\n },\n computed: {\n style() {\n const ret = {};\n if (this.gutter) {\n ret.marginRight = `${this.gutter / 2}px`;\n }\n return ret;\n }\n },\n watch: {\n columns: {\n handler(newVal) {\n // 当 columns prop 变化时,更新本地副本\n this.localColumns = newVal ? [...newVal] : [];\n },\n immediate: true,\n deep: true\n }\n },\n created() {\n if (this.showColumnsType == 'transfer') {\n // 显隐列初始默认隐藏列\n for (let item in this.columns) {\n if (this.columns[item].visible === false) {\n this.value.push(parseInt(item));\n }\n }\n }\n },\n methods: {\n // 搜索\n toggleSearch() {\n this.$emit(\"update:showSearch\", !this.showSearch);\n },\n // 刷新\n refresh() {\n this.$emit(\"queryTable\");\n },\n // 右侧列表元素变化\n dataChange(data) {\n for (let item in this.columns) {\n const key = this.columns[item].key;\n this.columns[item].visible = !data.includes(key);\n }\n },\n // 打开显隐列dialog\n showColumn() {\n this.open = true;\n },\n // 勾选\n checkboxChange(event, item) {\n item.visible = event;\n // 通知父组件更新\n this.$emit('update:columns', this.localColumns);\n },\n // 拖拽结束\n onDragEnd(event) {\n // 拖拽结束后,通知父组件列顺序已改变\n this.$emit('update:columns', this.localColumns);\n this.$emit('columns-order-changed', this.localColumns);\n }\n },\n };\n </script>\n <style lang=\"scss\" scoped>\n ::v-deep .el-transfer__button {\n border-radius: 50%;\n padding: 12px;\n display: block;\n margin-left: 0px;\n }\n ::v-deep .el-transfer__button:first-child {\n margin-bottom: 10px;\n }\n \n .drag-item {\n padding: 8px;\n cursor: move;\n border-bottom: 1px solid #ebeef5;\n display: flex;\n align-items: center;\n \n &:hover {\n background-color: #f5f7fa;\n }\n }\n \n .drag-handle {\n color: #909399;\n \n &:hover {\n color: #409eff;\n }\n }\n \n </style>\n ","<template>\n <!-- \n \n queryItems: [\n // input string\n {\n label: \"项目名称\",\n prop: \"name\",\n type: \"input\",\n placeholder: \"请输入项目名称\",\n },\n // select\n {\n label: \"申办单位\",\n prop: \"sponsorId\",\n type: \"select\",\n placeholder: \"请选择申办单位\",\n options: [],\n },\n // date日期\n {\n label: \"创建日期\",\n prop: [\"createDateStart\", \"createDateEnd\"],\n type: \"date\",\n range: true,\n placeholder: \"请选择创建日期\",\n },\n // datetime 时间\n {\n label: \"更新时间\",\n prop: \"updateTime\",\n type: \"datetime\",\n placeholder: \"请选择更新时间\",\n },\n ],\n \n -->\n <div class=\"container-main el-crud-query\" v-if=\"queryItems.length\">\n <el-form :model=\"queryParams\" :size=\"size\" :style=\"{ maxHeight: expand ? '' : (formMaxHeight + 'px') }\"\n ref=\"queryForm\" :inline=\"inline\" :label-width=\"labelWidthStr\" class=\"el-crud-query-form\" @submit.native.prevent>\n <el-form-item v-for=\"item in queryFormItems\" v-show=\"expand || !item.hidden\" :label=\"item.label\"\n :prop=\"item.prop\" :key=\"item.prop\">\n <el-input v-if=\"item.type === 'input'\" v-model=\"queryParams[item.prop]\" :placeholder=\"item.placeholder\"\n clearable @keyup.enter.native=\"handleQuery\" :style=\"inputStyle\"></el-input>\n <el-select v-else-if=\"item.type === 'select'\" v-model=\"queryParams[item.prop]\"\n :placeholder=\"item.placeholder\" clearable filterable\n @visible-change=\"($event) => item.visibleChange && item.visibleChange($event, queryParams)\"\n :style=\"inputStyle\">\n \n <template v-if=\"typeof item.options === 'function'\">\n <el-option v-for=\"option in item.options()\" :key=\"option.value\" :label=\"option.label\" :value=\"option.value\"></el-option>\n </template>\n <template v-else>\n <el-option v-for=\"option in item.options\" :key=\"option.value\" :label=\"option.label\" :value=\"option.value\"></el-option>\n </template>\n\n </el-select>\n\n <el-date-picker v-else-if=\"item.type === 'date'\" :type=\"item.range ? 'daterange' : 'date'\"\n v-model=\"queryParams[item.prop]\" :placeholder=\"item.placeholder\" clearable\n :start-placeholder=\"item['startPlaceholder'] || '开始日期'\"\n :end-placeholder=\"item['endPlaceholder'] || '结束日期'\" :range-separator=\"item['rangeSeparator']\"\n :value-format=\"item['valueFormat'] || 'yyyy-MM-dd'\"\n :style=\"item.range ? dateRangeStyle : inputStyle\"></el-date-picker>\n <el-date-picker v-else-if=\"item.type === 'datetime'\" :type=\"item.range ? 'datetimerange' : 'datetime'\"\n v-model=\"queryParams[item.prop]\" :placeholder=\"item.placeholder\" clearable\n :start-placeholder=\"item['startPlaceholder'] || '开始时间'\"\n :end-placeholder=\"item['endPlaceholder'] || '结束时间'\" :range-separator=\"item['rangeSeparator']\"\n :value-format=\"item['valueFormat'] || 'yyyy-MM-dd HH:mm:ss'\"\n :style=\"item.range ? dateRangeStyle : inputStyle\"></el-date-picker>\n </el-form-item>\n <el-form-item label=\" \" ref=\"queryFormBtn\">\n <el-button type=\"primary\" icon=\"el-icon-search\" @click=\"handleQuery\">搜索</el-button>\n <el-button icon=\"el-icon-refresh\" @click=\"resetQuery\">重置</el-button>\n <el-button type=\"text\" @click=\"handelExpand\" v-if=\"needExpand\">\n <span>更多</span>\n <i :class=\"expand ? 'el-icon-arrow-up' : 'el-icon-arrow-down'\"></i>\n </el-button>\n </el-form-item>\n </el-form>\n </div>\n\n</template>\n\n<script>\n\nimport { debounce } from './utils'\nexport default {\n props: {\n\n // queryParams: {\n // type: Object,\n // required: true\n // },\n queryItems: {\n type: Array,\n required: true\n },\n size: {\n type: String,\n default: 'mini'\n },\n labelWidth: {\n type: Number,\n default: 80\n },\n inputWidth: {\n type: Number,\n default: 200\n },\n lineClamp: {\n type: Number,\n default: 1\n },\n inline: {\n type: Boolean,\n default: true\n }\n\n },\n watch: {\n queryItems: {\n handler(val) {\n this.reset()\n },\n deep: true,\n immediate: true\n }\n },\n created() {\n \n },\n data() {\n return {\n queryParams: {},\n queryFormItems: [],\n formMaxHeight: 0,\n expand: false,\n needExpand: false,\n // 用于展示窗口大小变化绑定\n $_sidebarElm: null,\n $_resizeHandler: null\n }\n },\n computed: {\n labelWidthStr() {\n if (typeof this.labelWidth === 'number') {\n return this.labelWidth + 'px';\n }\n return this.labelWidth + 'px';\n },\n inputStyle() {\n return {\n width: this.inputWidth + 'px'\n };\n },\n dateRangeStyle() {\n return {\n width: (this.inputWidth * 2 + this.labelWidth + 10) + 'px'\n };\n }\n },\n mounted() {\n this.$nextTick(() => {\n this.formMaxHeight = this.measureHeight() * this.lineClamp; \n // this.handleNeedExpand()\n this.redraw();\n this.bindResize();\n setTimeout(() => {\n this.$_resizeHandler && this.$_resizeHandler();\n }, 100);\n \n });\n\n },\n activated() {\n if (!this.$_resizeHandler) {\n this.bindResize();\n }\n },\n beforeDestroy() {\n this.unbindResize();\n },\n deactivated() {\n this.unbindResize();\n },\n methods: {\n $_sidebarResizeHandler(e) {\n if (e.propertyName === 'width') {\n this.$_resizeHandler()\n }\n },\n // 展示窗口大小变化绑定\n bindResize() {\n this.$_resizeHandler = debounce(() => {\n this.drawTime = 0;\n this.queryFormItems.forEach(item => {\n item.hidden = false;\n });\n this.$nextTick(() => {\n this.handleNeedExpand()\n this.redraw();\n })\n\n }, 100)\n\n window.addEventListener('resize', this.$_resizeHandler);\n this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]\n this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)\n\n\n },\n // unbindResize \n unbindResize() {\n window.removeEventListener('resize', this.$_resizeHandler)\n this.$_resizeHandler = null\n this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)\n },\n handelExpand() {\n this.drawTime = 0;\n this.expand = !this.expand;\n this.$_resizeHandler();\n\n },\n handleNeedExpand() {\n const $queryForm = this.$refs?.queryForm?.$el;\n let scrollHeight = $queryForm.scrollHeight;\n if ( this.formMaxHeight < scrollHeight) {\n this.needExpand = true;\n } else {\n this.needExpand = false;\n }\n\n },\n // \n redraw() {\n if (typeof this.drawTime == 'undefined') {\n this.drawTime = 0;\n }\n if (this.drawTime > 60) {\n return;\n }\n // 确保DOM完全渲染后再执行某些操作\n const $queryForm = this.$refs?.queryForm?.$el;\n if ($queryForm) {\n $queryForm.style.overflow = \"hidden\";\n }\n this.$nextTick(() => {\n let scrollHeight = $queryForm.scrollHeight;\n let clientHeight = $queryForm.clientHeight;\n if (scrollHeight > clientHeight) {\n this.drawTime++;\n let noHiddenItems = this.queryFormItems.filter(item => !item.hidden);\n let lastItem = noHiddenItems.find((item, index) => (noHiddenItems.length - 1 == index))\n if (lastItem) {\n this.$set(lastItem, 'hidden', true);\n this.redraw();\n }\n\n }\n // 判断是否有滚动条\n\n });\n\n\n },\n\n //测量单行高度 + margin-top + margin-bottom\n measureHeight() {\n let queryFormBtn = this.$refs.queryFormBtn;\n if(queryFormBtn){\n let queryFormBtnHeight = queryFormBtn.$el.clientHeight || 29;\n let queryFormItemsMarginTop = parseInt(window.getComputedStyle(queryFormBtn.$el).marginTop);\n let queryFormItemsMarginBottom = parseInt(window.getComputedStyle(queryFormBtn.$el).marginBottom);\n return queryFormBtnHeight + queryFormItemsMarginTop + queryFormItemsMarginBottom\n }\n \n },\n\n reset() {\n this.queryItems.forEach(item => {\n this.$set(this.queryParams, item.prop, null);\n });\n this.queryFormItems = this.queryItems.map(item => {\n let placeholder = item.placeholder;\n if( !placeholder){\n\n switch (item.type) {\n case 'input':\n placeholder = '请输入' + item.label;\n break;\n default:\n placeholder = '请选择' + item.label;\n }\n\n }\n\n\n return {\n ...item,\n placeholder,\n hidden: false\n }\n }); \n },\n resetQuery() {\n\n this.$refs.queryForm?.resetFields();\n this.handleQuery();\n },\n handleQuery() {\n this.$emit('queryTable', this.queryParams);\n }\n\n }\n}\n\n</script>\n\n<style scoped lang=\"scss\">\n.container-main{\n background-color: #fff;\n}\n.el-crud-query{\n overflow: hidden;\n padding: 10px;\n .el-crud-query-form {\n margin-bottom: -10px;\n\n &::v-deep {\n .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item{\n margin-bottom: 10px;\n }\n }\n }\n}\n\n\n</style>\n","<template>\n <div :class=\"{'hidden':hidden}\" class=\"pagination-container\">\n <el-pagination\n :background=\"background\"\n :current-page.sync=\"currentPage\"\n :page-size.sync=\"pageSize\"\n :layout=\"layout\"\n :page-sizes=\"pageSizes\"\n :pager-count=\"pagerCount\"\n :total=\"total\"\n v-bind=\"$attrs\"\n @size-change=\"handleSizeChange\"\n @current-change=\"handleCurrentChange\"\n />\n </div>\n</template>\n\n<script>\nimport { scrollTo } from './utils/scroll-to'\n\nexport default {\n name: 'Pagination',\n props: {\n total: {\n required: true,\n type: Number\n },\n page: {\n type: Number,\n default: 1\n },\n limit: {\n type: Number,\n default: 20\n },\n pageSizes: {\n type: Array,\n default() {\n return [10, 20, 30, 50]\n }\n },\n // 移动端页码按钮的数量端默认值5\n pagerCount: {\n type: Number,\n default: document.body.clientWidth < 992 ? 5 : 7\n },\n layout: {\n type: String,\n default: 'total, sizes, prev, pager, next, jumper'\n },\n background: {\n type: Boolean,\n default: true\n },\n autoScroll: {\n type: Boolean,\n default: true\n },\n hidden: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n };\n },\n computed: {\n currentPage: {\n get() {\n return this.page\n },\n set(val) {\n this.$emit('update:page', val)\n }\n },\n pageSize: {\n get() {\n return this.limit\n },\n set(val) {\n this.$emit('update:limit', val)\n }\n }\n },\n methods: {\n handleSizeChange(val) {\n if (this.currentPage * val > this.total) {\n this.currentPage = 1\n }\n this.$emit('pagination', { page: this.currentPage, limit: val })\n if (this.autoScroll) {\n scrollTo(0, 800)\n }\n },\n handleCurrentChange(val) {\n this.$emit('pagination', { page: val, limit: this.pageSize })\n if (this.autoScroll) {\n scrollTo(0, 800)\n }\n }\n }\n}\n</script>\n\n<style scoped>\n.pagination-container {\n background: #fff;\n padding: 32px 16px;\n}\n.pagination-container.hidden {\n display: none;\n}\n</style>\n","<!-- crud组件 主要用于子组件的上下文传递 -->\n<!-- \n 搜索组件配置 queryItems 可配置\n 搜索及重置事件 queryTable \n \n 切换组件配置 tabPanes 可配置\n 切换参数 tabQuery \n \n 按钮组件配置 buttons 可配置\n 右侧工具条\n 表格列配置 columns 可配置\n 表格数据\n 分页数据\n -->\n<template>\n\n <div class=\"el-crud\">\n <!-- 搜索过滤插槽 -->\n <slot name=\"query\" :queryItems=\"queryItems\" :lineClamp=\"queryLineClamp\" :labelWidth=\"queryLabelWidth\"\n :inputWidth=\"queryInputWidth\" :inline=\"queryInline\">\n <query-form v-show=\"showSearch\" v-if=\"queryItems && queryItems.length\" :queryItems=\"queryItems\"\n :lineClamp=\"queryLineClamp\" :label-width=\"queryLabelWidth\" :input-width=\"queryInputWidth\" :inline=\"queryInline\"\n @queryTable=\"handleQuery\" />\n </slot>\n <div class=\"container-main\" :class=\"{ pt5: tabPanes.length > 0 }\">\n <slot name=\"tabQuery\">\n <el-tabs class=\"top-tab-query\" v-if=\"tabPanes.length > 0\" :value=\"tabQuery.tabKey\"\n @tab-click=\"handleTabClick\">\n <el-tab-pane :label=\"item.label\" :name=\"item.name\" v-for=\"item in tabPanes\"\n :key=\"item.name\"></el-tab-pane>\n </el-tabs>\n </slot>\n <!-- 工具条插槽 -->\n <div class=\"flex justify-between el-crud-toolbar\">\n <slot name=\"buttons\" :selections=\"selections\">\n <div>\n <el-button :size=\"item.size\" @click=\"handleButtonClick(item)\" v-for=\"item in actionButtons\"\n :plain=\"item.plain\" :disabled=\"item.disabled\" :type=\"item.type\" :icon=\"item.icon\">{{\n item.text\n }}</el-button>\n </div>\n </slot>\n <slot name=\"toolbar\" :columns=\"columns\" :showSearch=\"showSearch\">\n <right-toolbar :showSearch.sync=\"showSearch\" @queryTable=\"refresh\" :columns=\"columns\"\n :search=\"!!(queryItems && queryItems.length)\"></right-toolbar>\n </slot>\n </div>\n <!-- 默认插槽 并传 data -->\n <slot :data=\"data\">\n <crud-table v-loading=\"listLoading\" size=\"mini\" @selection-change=\"handleSelectionChange\"\n :highlightCol=\"highlightCol\" :resizable=\"resizable\" :border=\"border\" :columns=\"columns\" :data=\"data\"\n @row-action=\"handleRowAction\" @sort-change=\"handleSortChange\"\n :default-sort=\"defaultSort\"></crud-table>\n </slot>\n <!-- 分页插槽 并传 total queryParams -->\n <slot name=\"pagination\" :total=\"total\" :pagination=\"pagination\">\n <pagination v-show=\"total > 0\" :total=\"total\" :page.sync=\"pagination.pageNum\"\n :limit.sync=\"pagination.pageSize\" @pagination=\"refresh\" />\n </slot>\n </div>\n\n </div>\n\n</template>\n\n\n<script>\nimport CrudTable from \"./table.vue\";\nimport RightToolbar from \"./rightToolbar.vue\";\nimport QueryForm from \"./queryForm.vue\";\nimport Pagination from \"./pagination.vue\"\nimport { toLine } from \"./utils\";\n\nexport default {\n components: {\n CrudTable, RightToolbar, QueryForm, Pagination\n },\n name: 'Crud',\n provide() {\n return {\n crud: this\n };\n },\n props: {\n queryParamsMethod: {\n type: Function\n },\n columns: {\n type: Array,\n default: () => []\n },\n queryItems: {\n type: Array,\n default: () => []\n },\n queryLineClamp: {\n type: Number,\n default: 1\n },\n queryLabelWidth: {\n type: Number,\n default: 80\n },\n queryInputWidth: {\n type: Number,\n default: 210\n },\n queryInline: {\n type: Boolean,\n default: true\n },\n buttons: {\n type: Array | Function,\n default: () => []\n },\n tabPanes: {\n type: Array,\n default: () => []\n },\n defaultSort: {\n type: Object,\n default: () => {\n return {\n prop: undefined,\n order: undefined\n }\n }\n },\n highlightCol: {\n type: Boolean,\n default: false\n },\n resizable: {\n type: Boolean,\n default: false\n },\n border: {\n type: Boolean,\n default: false\n }\n },\n watch: {\n tabPanes: {\n handler(val) {\n if (val.length) {\n\n this.tabQuery.tabKey = val[0].name\n }\n },\n deep: true,\n immediate: true\n },\n \"tabQuery.tabKey\": {\n handler(val) {\n this.$emit(\"tabChange\", val);\n },\n\n }\n },\n computed: {\n actionButtons() {\n let buts = this.buttons;\n if (typeof buts === 'function') {\n return buts(this.selections);\n } else if (buts?.length) {\n return buts\n }\n return []\n }\n },\n data() {\n return {\n listLoading: false,\n showSearch: true,\n selections: [],\n data: [],\n service: { // 增删改查导出\n add: null,\n update: null,\n delete: null,\n page: null,\n info: null,\n list: null,\n export: null,\n }, // 服务\n queryParams: {\n // pageNum: 1,\n // pageSize: 10\n }, // 查询参数\n\n tabQuery: {\n tabKey: undefined\n }, // 参数\n filterParams: {}, // 过滤参数\n pagination: {\n pageNum: 1,\n pageSize: 10\n },\n orderParams: {\n orderByRowName: undefined,\n orderByRule: undefined\n },\n total: 0,\n\n }\n },\n created() {\n },\n methods: {\n handleTabClick(tab) {\n this.tabQuery.tabKey = tab.name\n this.refresh()\n },\n handleSelectionChange(e) {\n this.selections = e\n },\n handleQuery(query) {\n this.queryParams = query;\n this.refresh()\n },\n handleButtonClick(item) {\n this.$emit(\"action\", item.action, this.selections);\n },\n handleRowAction(action, scope) {\n this.$emit(\"row-action\", action, scope);\n if (action === 'delete' && this.service.delete) {\n this.delete(scope)\n }\n },\n handleSortChange(column) {\n this.orderParams.orderByRowName = toLine(column.prop);\n if (column.order == \"descending\") {\n this.orderParams.orderByRule = \"desc\";\n } else if (column.order == \"ascending\") {\n this.orderParams.orderByRule = \"asc\";\n } else {\n this.orderParams.orderByRule = undefined;\n this.orderParams.orderByRowName = undefined;\n }\n this.refresh();\n },\n // 服务\n setService(service) {\n this.service = Object.assign(this.service, service);\n },\n // 设置列\n setColumns(columns) {\n this.columns = columns;\n },\n // 设置数据\n setData(data) {\n // this.crud.data = data;\n },\n // 获得查询参数\n async getParams() {\n const defaultSort = this.defaultSort;\n let orderParams = this.orderParams;\n\n if (!orderParams?.orderByRowName && defaultSort?.prop) {\n const orderByRowName = toLine(defaultSort.prop);\n let orderByRule = defaultSort.order;\n\n if (defaultSort.order == \"descending\") {\n orderByRule = \"desc\";\n } else if (defaultSort.order == \"ascending\") {\n orderByRule = \"asc\";\n }\n\n orderParams = {\n orderByRowName,\n orderByRule\n }\n }\n\n let params = { ...this.queryParams, ...this.pagination, ...this.tabQuery, ...orderParams }\n\n\n\n if (this.queryParamsMethod) {\n return await this.queryParamsMethod(params);\n }\n return params;\n },\n // 刷新列表数据\n async refresh() {\n this.listLoading = true;\n try {\n const queryParams = await this.getParams();\n const { code, rows, total } = await this.service.page(queryParams);\n if (code === 200) {\n this.data = rows;\n this.total = total;\n }\n\n } catch (error) {\n console.log(error);\n }\n this.listLoading = false;\n },\n // 删除\n async delete({ row }) {\n try {\n let id = row?.id;\n await this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n })\n const { code } = await this.service.delete(id);\n if (code === 200) {\n this.refresh();\n this.$message({\n type: 'success',\n message: '操作成功!'\n });\n }\n } catch (error) {\n console.log(error);\n\n }\n\n\n }\n\n }\n\n}\n\n</script>\n\n<style scoped lang=\"scss\">\n.top-tab-query {\n margin-bottom: 10px;\n\n &::v-deep {\n .el-tabs__header {\n margin: 0;\n }\n }\n}\n</style>","\"use strict\";function _extends(){return _extends=Object.assign?Object.assign.bind():function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}var normalMerge=[\"attrs\",\"props\",\"domProps\"],toArrayMerge=[\"class\",\"style\",\"directives\"],functionalMerge=[\"on\",\"nativeOn\"],mergeJsxProps=function(a){return a.reduce(function(c,a){for(var b in a)if(!c[b])c[b]=a[b];else if(-1!==normalMerge.indexOf(b))c[b]=_extends({},c[b],a[b]);else if(-1!==toArrayMerge.indexOf(b)){var d=c[b]instanceof Array?c[b]:[c[b]],e=a[b]instanceof Array?a[b]:[a[b]];c[b]=[].concat(d,e)}else if(-1!==functionalMerge.indexOf(b)){for(var f in a[b])if(c[b][f]){var g=c[b][f]instanceof Array?c[b][f]:[c[b][f]],h=a[b][f]instanceof Array?a[b][f]:[a[b][f]];c[b][f]=[].concat(g,h)}else c[b][f]=a[b][f];}else if(\"hook\"===b)for(var i in a[b])c[b][i]=c[b][i]?mergeFn(c[b][i],a[b][i]):a[b][i];else c[b]=a[b];return c},{})},mergeFn=function(a,b){return function(){a&&a.apply(this,arguments),b&&b.apply(this,arguments)}};module.exports=mergeJsxProps;\n","import { isArray, isFunction, isObject, isString } from \"./index\";\n\nexport const format = {\n\tnumber(value) {\n let result \n if( isArray(value) ){\n result = value.map(Number).map(item => isNaN(item) ? undefined : item)\n }else{\n result = Number(value) \n if(isNaN(result)){\n result = undefined\n }\n }\n return result\n\t\t\n\t},\n\tstring(value) {\n\t\treturn isArray(value) ? value.map(String) : String(value);\n\t},\n\tsplit(value) {\n\t\treturn isString(value) ? value.split(\",\").filter(Boolean) : value;\n\t},\n\tjoin(value) {\n\t\treturn isArray(value) ? value.join(\",\") : value;\n\t},\n\tboolean(value) {\n\t\treturn Boolean(value);\n\t},\n\tbooleanNumber(value) {\n\t\treturn Boolean(value) ? 1 : 0;\n\t},\n\tdatetimerange(value, form, method) {\n\t\tif (method == \"bind\") {\n\t\t\treturn [form.startTime, form.endTime];\n\t\t} else {\n\t\t\tconst [startTime, endTime] = value || [];\n\t\t\tform.startTime = startTime;\n\t\t\tform.endTime = endTime;\n\t\t\treturn undefined;\n\t\t}\n\t},\n\tsplitJoin(value, _, method) {\n\t\tif (method == \"bind\") {\n\t\t\treturn isString(value) ? value.split(\",\").filter(Boolean) : value;\n\t\t} else {\n\t\t\treturn isArray(value) ? value.join(\",\") : value;\n\t\t}\n\t}\n};\n\nfunction parse(method, { value, pipe, form }) {\n\tif (!pipe) {\n\t\treturn value;\n\t}\n\n\tlet pipes = [];\n\n\tif (isString(pipe)) {\n\t\tif (format[pipe]) {\n\t\t\tpipes = [pipe];\n\t\t} else {\n\t\t\tconsole.error(`${pipe} is not found.`);\n\t\t\treturn value;\n\t\t}\n\t} else if (isArray(pipe)) {\n\t\tpipes = pipe;\n\t} else if (isObject(pipe)) {\n\t\tpipes = isArray(pipe[method]) ? pipe[method] : [pipe[method]];\n\t} else if (isFunction(pipe)) {\n\t\tpipes = [pipe];\n\t} else {\n\t\tconsole.error(`Hook data error!`);\n\t\treturn value;\n\t}\n\n\tlet d = value;\n\n\tpipes.forEach((e) => {\n\t\tif (isString(e)) {\n\t\t\td = format[e](d, form, method);\n\t\t} else if (isFunction(e)) {\n\t\t\td = e(d, form);\n\t\t}\n\t});\n\n\treturn d;\n}\n\nexport default {\n\tbind(value, pipe, form) {\n\t\treturn parse(\"bind\", { value, pipe, form });\n\t},\n\n\tsubmit(value, pipe, form) {\n\t\treturn parse(\"submit\", { value, pipe, form });\n\t}\n};","<script lang=\"jsx\">\nimport { renderNode } from \"./utils/vnode\"\nimport { isObject, isString ,isFunction} from \"./utils/index\"\nimport valueHook from \"./utils/value-hook\"\n\n// type FormItems = { // 表单项配置\n// label: string; // 标签\n// prop: string; // 字段名\n\n// options?: { value: string; label: string; disabled?: boolean }[] || ()=>[]; // 字典数据\n// rules?: any[]; // 验证规则\n\n// children?: FormItems[];\n// hidden?: boolean; // 是否隐藏\n// help?: string; // 帮助信息\n\n// span?: number; // 栅格占据的列数\n// labelWidth?: string; // formitem 标签宽度 \n\n// component?: VNode;\n// };\n// type VNodeFunction = ({ scope,h }) => VNode | ({ scope,h }) =><div>{ scope }</div> | <div />;\n\n// type VNodeObject = { \n// name?: string | Component; // 组件名 | 组件引用\n// options?: any[]; // 选项\n// attrs?: any; // 属性\n// on?: any; // 事件\n// props?: any; // 属性\n// [key: string]: any;\n// };\n// type VNode = string | VNodeFunction | VNodeObject;\n\n\nexport default {\n props: {\n // 表单配置项,可以从外部传入\n formItems: {\n type: Array,\n default: () => []\n },\n // 初始表单数据\n initialFormData: {\n type: Object,\n default: () => ({})\n },\n // 按钮配置\n buttons: {\n type: Object,\n default: () => ({\n submit: {\n show: true,\n text: '提交',\n type: 'primary',\n loading: false\n },\n cancel: {\n show: true,\n text: '取消',\n type: 'default'\n }\n })\n },\n // 按钮位置\n buttonPosition: {\n type: String,\n default: 'right', // center, left, right\n validator: value => ['center', 'left', 'right'].includes(value)\n },\n // 是否显示按钮区域\n showButtons: {\n type: Boolean,\n default: true\n },\n readonly: {\n type: Boolean\n },\n labelWidth: {\n type: String,\n default: '80px'\n },\n column: {\n type: Number,\n default: 2\n },\n gutter: {\n type: Number,\n default: 10\n },\n size: {\n type: String,\n default: 'small'\n },\n // value: {\n // type: Object,\n // default: () => ({})\n // },\n\n\n },\n\n data() {\n return {\n form: {},\n // 如果没有传入formItems,则使用默认配置\n items: [],\n activeName: 'first',\n submitLoading: false\n\n }\n },\n\n computed: {\n // 从items中提取所有字段的规则\n formRules() {\n const rules = {};\n\n // 递归提取规则函数\n const extractRules = (nodes) => {\n if (!nodes || !nodes.length) return;\n\n nodes.forEach(node => {\n // 如果节点有children,递归处理\n if (node.children && node.children.length) {\n extractRules(node.children);\n }\n\n // 如果是表单字段且有规则,添加到规则对象\n if (node.prop && node.rules) {\n rules[node.prop] = node.rules;\n }\n });\n };\n\n // 对所有配置项提取规则\n extractRules(this.items);\n\n return rules;\n },\n // 按钮区域样式\n buttonAreaStyle() {\n return {\n textAlign: this.buttonPosition,\n marginTop: '20px'\n };\n },\n // label宽度\n labelStyle() {\n return {\n width: this.labelWidth,\n textAlign: 'center'\n };\n },\n\n\n },\n\n watch: {\n // 监听外部传入的表单数据变化\n initialFormData: {\n handler(val) {\n this.form = JSON.parse(JSON.stringify(val));\n },\n immediate: true,\n deep: true\n },\n // 监听外部传入的表单配置变化\n formItems: {\n handler(val) {\n if (val && val.length) {\n this.items = val;\n }\n },\n immediate: true,\n deep: true\n },\n // 监听外部传入的value变化\n // value: {\n // handler(val) {\n // this.form = JSON.parse(JSON.stringify(val)) || {};\n // },\n // immediate: true,\n // deep: true\n // },\n // v-model绑定的值变化时,更新表单数据\n form: {\n handler(val) {\n this.$emit('input', val);\n },\n deep: true\n }\n },\n\n methods: {\n // 处理表单输入事件\n handleInput(prop, value) {\n this.$set(this.form, prop, value);\n // 触发change事件,将变更通知给父组件\n this.$emit('field-change', { prop, value, form: this.form });\n },\n\n // 递归渲染函数 - 根据节点类型渲染不同内容\n renderNode(node, index) {\n // 如果是只读模式,使用只读渲染函数\n if (this.readonly) {\n return this.renderReadOnlyNode(node, index);\n }\n\n // 如果是输入字段(没有type或没有children,则视为字段)\n if (!node.type || (!node.children && node.prop)) {\n return this.renderField(node, index);\n }\n\n // 根据节点类型渲染\n switch (node.type) {\n case 'tab':\n return this.renderTab(node, index);\n case 'group':\n return this.renderGroup(node, index);\n default:\n // 默认当作字段渲染\n return this.renderField(node, index);\n }\n },\n\n // 只读模式 - 递归渲染函数\n renderReadOnlyNode(node, index) {\n if (!node.type || (!node.children && node.prop)) {\n return this.renderReadOnlyField(node, index);\n }\n switch (node.type) {\n case 'tab':\n return this.renderReadOnlyTab(node, index);\n case 'group':\n return this.renderReadOnlyGroup(node, index);\n default:\n return this.renderReadOnlyField(node, index);\n }\n },\n\n // 只读模式 - 渲染标签页\n renderReadOnlyTab(tab, index) {\n return (\n <el-tab-pane\n key={tab.name || index}\n label={tab.label}\n name={tab.name || index}\n {...tab.props}\n >\n {this.renderReadOnlyChildren(tab.children)}\n </el-tab-pane>\n );\n },\n\n // 只读模式 - 渲染分组\n renderReadOnlyGroup(group, index) {\n return (\n <div class={['el-form-group', group.className]} key={index} {...group.props}>\n <el-descriptions\n title={group.title}\n border\n column={this.column}\n size={this.size}\n labelStyle={this.labelStyle}\n >\n {this.renderReadOnlyDescriptionItems(group.children)}\n </el-descriptions>\n </div>\n );\n },\n\n // 只读模式 - 渲染字段\n renderReadOnlyField(field, index) {\n // 如果字段被配置为隐藏,则不渲染\n if (field.hidden) {\n return null;\n }\n\n // 获取字段值\n const value = this.form[field.prop];\n\n // 处理显示值\n let displayValue = value;\n\n // 处理不同类型的字段显示值\n if (field.options && Array.isArray(field.options)) {\n const option = field.options.find(opt => opt.value === value);\n if (option) {\n displayValue = option.label;\n }\n }\n\n // 如果处于顶层(不在group内),则需要包装在el-descriptions中\n if (!field._inGroup) {\n return (\n <el-col span={24 / this.column || field.span || 12} key={field.prop || index}>\n <el-descriptions labelStyle={this.labelStyle} border column={this.column} size={this.size}>\n <el-descriptions-item label={field.label || ''}>\n {displayValue || '-'}\n </el-descriptions-item>\n </el-descriptions>\n </el-col>\n );\n }\n // 在group内部的字段直接返回\n return (\n <el-descriptions-item label={field.label || ''}>\n {displayValue || '-'}\n </el-descriptions-item>\n );\n },\n\n // 只读模式 - 渲染描述项\n renderReadOnlyDescriptionItems(children) {\n if (!children || !children.length) {\n return null;\n }\n\n return children.map(child => {\n // 标记字段在group内部\n child._inGroup = true;\n return this.renderReadOnlyField(child);\n });\n },\n\n // 只读模式 - 渲染子节点\n renderReadOnlyChildren(children) {\n // 如果没有子节点,返回空\n if (!children || !children.length) {\n return null;\n }\n\n // 检查第一个子节点类型,判断是否需要包装\n const firstChild = children[0];\n\n // 如果第一个子节点是group,不需要额外包装\n if (firstChild.type === 'group') {\n return children.map((child, index) => this.renderReadOnlyNode(child, index));\n }\n\n // 如果子节点不是输入字段,也不是分组,则直接渲染\n if (firstChild.type && firstChild.type !== 'group' && !firstChild.prop) {\n return children.map((child, index) => this.renderReadOnlyNode(child, index));\n }\n\n // 如果是普通字段(非group),则包装在el-descriptions中\n return (\n <el-descriptions border column={this.column} size={this.size} labelStyle={this.labelStyle}>\n {children.map((child, index) => {\n child._inGroup = true;\n return this.renderReadOnlyNode(child, index);\n })}\n </el-descriptions>\n );\n },\n\n // 渲染标签页\n renderTab(tab, index) {\n return (\n <el-tab-pane\n key={tab.name || index}\n label={tab.label}\n name={tab.name || index}\n {...tab.props}\n >\n {this.renderChildren(tab.children)}\n </el-tab-pane>\n );\n },\n\n // 渲染分组\n renderGroup(group, index) {\n return (\n <div class={['el-form-group', group.className]} key={index} {...group.props}>\n {group.title && <div class=\"el-form-group__title\">{group.title}</div>}\n <div>\n {this.renderChildren(group.children)}\n </div>\n </div>\n );\n },\n\n // 渲染各种表单控件\n renderFormControl(field) {\n let component = field.component;\n if (isString(field.component)) {\n component = {\n name: field.component,\n attrs: {\n placeholder: field.placeholder || `请输入${field.label}`,\n clearable: typeof field.clearable !== 'undefined' ? field.clearable : true,\n }\n }\n }\n if ( !isFunction(field.component)) {\n if (field.component === 'el-select') {\n component.attrs = {\n ...component.attrs,\n placeholder: field.placeholder || `请选择${field.label}`,\n filterable: true,\n\n }\n } \n }\n\n if( field.hook?.bind?.length ){\n let value = valueHook.bind(this.form[ field.prop ], field.hook?.bind , this.form)\n this.$set(this.form, field.prop, value)\n }\n // component 渲染 { prop: this.column.prop, scope: scope }\n return renderNode.call(this, component, {\n prop: field.prop,\n scope: this.form\n });\n\n },\n\n // 渲染字段\n renderField(field, index) {\n // 如果字段被配置为隐藏,则不渲染\n if (field.hidden) {\n return null;\n }\n return (\n <el-col span={24 / this.column || field.span || 12} key={field.prop || index}>\n <el-form-item\n label={field.label}\n prop={field.prop}\n rules={field.rules} // 直接使用字段自身的规则\n labelWidth={field.labelWidth || this.labelWidth}\n {...field.formItemProps}\n >\n {this.renderFormControl(field)}\n {field.help && <div class=\"form-item-help\">{field.help}</div>}\n </el-form-item>\n </el-col>\n );\n },\n\n // 渲染子节点\n renderChildren(children) {\n // 如果没有子节点,返回空\n if (!children || !children.length) {\n return null;\n }\n\n // 检查第一个子节点类型,判断是否需要包装\n const firstChild = children[0];\n\n // 如果第一个子节点是group,不需要额外包装\n if (firstChild.type === 'group') {\n return children.map(this.renderNode);\n }\n\n // 如果子节点不是输入字段,也不是分组,则直接渲染\n if (firstChild.type && firstChild.type !== 'group' && !firstChild.prop) {\n return children.map(this.renderNode);\n }\n\n // 其他情况(子节点是输入字段)包装在row中\n return <el-row gutter={this.gutter}>{children.map(this.renderNode)}</el-row>;\n },\n\n // 判断是否有标签页\n hasTabs() {\n return this.items && this.items.some(item => item.type === 'tab');\n },\n\n // 渲染按钮区域\n renderButtons() {\n if (!this.showButtons || this.readonly) return null;\n\n return (\n <div class=\"form-button-area\" style={this.buttonAreaStyle}>\n {this.buttons.cancel && this.buttons.cancel.show && (\n <el-button\n onClick={this.handleCancel}\n type={this.buttons.cancel.type}\n {...this.buttons.cancel.props}\n >\n {this.buttons.cancel.text}\n </el-button>\n )}\n {this.buttons.submit && this.buttons.submit.show && (\n <el-button\n onClick={this.handleSubmit}\n type={this.buttons.submit.type}\n loading={this.submitLoading || (this.buttons.submit.loading)}\n {...this.buttons.submit.props}\n >\n {this.buttons.submit.text}\n </el-button>\n )}\n </div>\n );\n },\n\n // 处理提交\n async handleSubmit() {\n try {\n this.submitLoading = true;\n // 表单验证\n const formData = await this.validate();\n // 发出提交事件\n this.$emit('submit', formData);\n\n // return formData;\n } catch (error) {\n this.$emit('submit-error', error);\n return Promise.reject(error);\n }\n this.submitLoading = false;\n },\n\n // 处理取消\n handleCancel() {\n this.$emit('cancel');\n },\n\n // 表单验证方法\n validate() {\n return new Promise((resolve, reject) => {\n this.$refs.form.validate(valid => {\n if (valid) {\n resolve(this.form);\n } else {\n reject(new Error('表单验证失败'));\n }\n });\n });\n },\n\n // 重置表单\n resetForm() {\n this.form = JSON.parse(JSON.stringify(this.initialFormData)) || {};\n this.$refs.form.resetFields();\n this.$emit('form-reset', this.form);\n },\n\n // 获取表单数据\n getFormData() {\n return this.form;\n }\n },\n\n render() {\n\n if (this.readonly) {\n // 只读模式渲染\n return (\n <div class=\"dynamic-form-container readonly\">\n {this.hasTabs() ? (\n // 渲染标签页结构\n <el-tabs v-on={this.$listeners} v-model={this.activeName}>\n {this.items.map((item, index) => this.renderReadOnlyNode(item, index))}\n </el-tabs>\n ) : (\n // 非标签页结构,直接渲染\n this.renderReadOnlyChildren(this.items)\n )}\n </div>\n );\n }\n\n const formProps = {\n model: this.form,\n rules: this.formRules,\n ...this.$attrs\n };\n // 如果没有配置项,渲染空表单\n if (!this.items || !this.items.length) {\n return <div class=\"dynamic-form-container\"><el-form ref=\"form\" {...{ props: formProps }}></el-form></div>;\n }\n\n return (\n <div class=\"dynamic-form-container\">\n <el-form ref=\"form\" {...{ props: formProps }}>\n {this.hasTabs() ? (\n // 渲染标签页结构\n <el-tabs v-on={this.$listeners} v-model={this.activeName}>\n {this.items.map(this.renderNode)}\n </el-tabs>\n ) : (\n // 非标签页结构,直接渲染\n this.renderChildren(this.items)\n )}\n\n {/* 渲染按钮区域 */}\n {this.renderButtons()}\n </el-form>\n </div>\n );\n }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.dynamic-form-container {\n padding: 20px;\n\n .el-form{\n \n\n .el-form-item {\n \n &::v-deep{\n .el-input,\n .el-select{\n width: 100%;\n }\n .el-input__inner {\n width: 100%;\n }\n }\n\n }\n\n \n\n }\n}\n\n.el-form-group {\n margin-bottom: 20px;\n /* padding: 15px; */\n border-bottom: 1px solid #ebeef5;\n}\n\n.el-form-group__title {\n font-weight: bold;\n margin-bottom: 15px;\n font-size: 14px;\n color: #606266;\n}\n\n.form-button-area {\n padding-top: 10px;\n border-top: 1px solid #ebeef5;\n}\n\n.form-button-area .el-button+.el-button {\n margin-left: 10px;\n}\n\n/* 只读模式样式 */\n.dynamic-form-container.readonly {\n .el-descriptions__body {\n background-color: #fafafa;\n }\n\n .el-descriptions-item__label {\n font-weight: bold;\n }\n\n .el-descriptions-item__content {\n word-break: break-all;\n }\n}\n</style>\n"],"names":["toString","Object","prototype","kindOf","val","type","_typeof","isGeneratorFn","isArray","isBuffer","isArguments","isDate","isError","isRegexp","ctorName","isGeneratorObj","call","slice","toLowerCase","replace","constructor","name","Array","Error","message","stackTraceLimit","Date","toDateString","getDate","setDate","RegExp","flags","ignoreCase","multiline","global","next","length","callee","err","indexOf","valueOf","Symbol","clone","deep","typeOf","assign","Number","Map","Set","cloneBuffer","cloneSymbol","cloneArrayBuffer","cloneTypedArray","cloneRegExp","create","exec","re","source","lastIndex","res","byteLength","Uint8Array","set","buffer","byteOffset","len","buf","Buffer","allocUnsafe","from","copy","isObject","o","isPlainObject","ctor","prot","undefined","hasOwnProperty","cloneDeep","instanceClone","cloneObjectDeep","cloneArrayDeep","key","i","Math","easeInOutQuad","t","b","c","d","requestAnimFrame","window","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","callback","setTimeout","move","amount","document","documentElement","scrollTop","body","parentNode","position","scrollTo","to","duration","start","change","increment","currentTime","animateScroll","value","isFunction","isString","isPromise","then","debounce","func","wait","immediate","timeout","args","context","timestamp","result","later","last","apply","_len","arguments","_key","callNow","toLine","__vue","Vue","parse_jsx","vnode","options","inst","scope","prop","$scopedSlots","_options$children","children","h","$createElement","rn","render","$root","$options","components","component","props","keys","data","includes","attrs","on","onInput","input","$set","renderNode","curComponent","values","find","item","componentName","random","substr","console","log","map","e","label","_objectSpread","TableColumn","actionMap","info","action","icon","update","column","required","indexMethod","Function","computed","hasChildren","columnProps","align","columnKey","mounted","methods","getDict","_this","dict","_this$column$dict","isNull","renderSelection","index","renderActions","_this2","scopedSlots","default","_actions","actions","trigger","command","$emit","style","right","slot","_item","disabled","size","click","filter","_this3","hidden","visible","header","content","formatter","row","$index","dictItem","disableTransitions","emptyText","child","idx","$listeners","CrudTableColumn","inject","columns","emit","defaultProps","stripe","combinedProps","$attrs","combinedEvents","onSelectionChange","onSortChange","onRowContextMenu","baseIndex","_this$crud","crud","pagination","_this$crud2","_this$crud3","pageNum","pageSize","bindEmits","bindMethods","emits","forEach","concat","n","$refs","selection","_ref","order","event","onRowAction","__vue_script__","script","title","open","localColumns","showSearch","Boolean","search","showColumnsType","String","gutter","ret","marginRight","watch","handler","newVal","_toConsumableArray","created","push","parseInt","toggleSearch","refresh","dataChange","showColumn","checkboxChange","onDragEnd","queryItems","labelWidth","inputWidth","lineClamp","inline","reset","queryParams","queryFormItems","formMaxHeight","expand","needExpand","$_sidebarElm","$_resizeHandler","labelWidthStr","inputStyle","width","dateRangeStyle","$nextTick","measureHeight","redraw","bindResize","activated","beforeDestroy","unbindResize","deactivated","$_sidebarResizeHandler","propertyName","drawTime","handleNeedExpand","addEventListener","getElementsByClassName","removeEventListener","handelExpand","_this$$refs","$queryForm","queryForm","$el","scrollHeight","_this$$refs2","overflow","clientHeight","noHiddenItems","lastItem","queryFormBtn","queryFormBtnHeight","queryFormItemsMarginTop","getComputedStyle","marginTop","queryFormItemsMarginBottom","marginBottom","_this4","placeholder","resetQuery","_this$$refs$queryForm","resetFields","handleQuery","total","page","limit","pageSizes","pagerCount","clientWidth","layout","background","autoScroll","currentPage","get","handleSizeChange","handleCurrentChange","CrudTable","RightToolbar","QueryForm","Pagination","provide","queryParamsMethod","queryLineClamp","queryLabelWidth","queryInputWidth","queryInline","buttons","tabPanes","defaultSort","highlightCol","resizable","border","tabQuery","tabKey","actionButtons","buts","selections","listLoading","service","add","list","filterParams","orderParams","orderByRowName","orderByRule","handleTabClick","tab","handleSelectionChange","query","handleButtonClick","handleRowAction","handleSortChange","setService","setColumns","setData","getParams","_asyncToGenerator","_regenerator","m","_callee","_orderParams","params","w","_context","a","v","_callee2","_yield$_this2$service","code","rows","_t","_context2","p","delete","_callee3","id","_yield$_this3$service","_t2","_context3","$confirm","confirmButtonText","cancelButtonText","$message","format","number","isNaN","string","split","join","boolean","booleanNumber","datetimerange","form","method","startTime","endTime","_ref2","_slicedToArray","splitJoin","_","parse","_ref3","pipe","pipes","error","bind","submit","formItems","initialFormData","show","text","loading","cancel","buttonPosition","validator","showButtons","readonly","items","activeName","submitLoading","formRules","rules","extractRules","nodes","node","buttonAreaStyle","textAlign","labelStyle","JSON","stringify","handleInput","renderReadOnlyNode","renderField","renderTab","renderGroup","renderReadOnlyField","renderReadOnlyTab","renderReadOnlyGroup","_mergeJSXProps","renderReadOnlyChildren","group","_mergeJSXProps2","className","renderReadOnlyDescriptionItems","field","displayValue","option","opt","_inGroup","span","firstChild","_mergeJSXProps3","renderChildren","_mergeJSXProps4","renderFormControl","_field$hook","clearable","filterable","hook","_field$hook2","valueHook","_mergeJSXProps5","formItemProps","help","hasTabs","some","renderButtons","_mergeJSXProps6","handleCancel","_mergeJSXProps7","handleSubmit","formData","validate","Promise","reject","resolve","valid","resetForm","getFormData","_this5","$$v","formProps","model"],"mappings":"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","x_google_ignoreList":[9,10,15]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/utils/kind-of.js","../src/utils/shallow-clone.js","../src/utils/is-plain-object.js","../src/utils/clone-deep.js","../src/utils/scroll-to.js","../src/utils/index.js","../src/utils/vnode.jsx","../src/tableColumn.js","../src/table.vue","../node_modules/vue-runtime-helpers/dist/normalize-component.mjs","../node_modules/vue-runtime-helpers/dist/inject-style/browser.mjs","../src/rightToolbar.vue","../src/queryForm.vue","../src/pagination.vue","../src/index.vue"],"sourcesContent":["var toString = Object.prototype.toString;\n\nexport default function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n\n switch (ctorName(val)) {\n case 'Symbol': return 'symbol';\n case 'Promise': return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap': return 'weakmap';\n case 'WeakSet': return 'weakset';\n case 'Map': return 'map';\n case 'Set': return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array': return 'int8array';\n case 'Uint8Array': return 'uint8array';\n case 'Uint8ClampedArray': return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array': return 'int16array';\n case 'Uint16Array': return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array': return 'int32array';\n case 'Uint32Array': return 'uint32array';\n case 'Float32Array': return 'float32array';\n case 'Float64Array': return 'float64array';\n }\n\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]': return 'object';\n // iterators\n case '[object Map Iterator]': return 'mapiterator';\n case '[object Set Iterator]': return 'setiterator';\n case '[object String Iterator]': return 'stringiterator';\n case '[object Array Iterator]': return 'arrayiterator';\n }\n\n // other\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n};\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\n}\n\nfunction isError(val) {\n return val instanceof Error || (typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number');\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function'\n && typeof val.getDate === 'function'\n && typeof val.setDate === 'function';\n}\n\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string'\n && typeof val.ignoreCase === 'boolean'\n && typeof val.multiline === 'boolean'\n && typeof val.global === 'boolean';\n}\n\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\n\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function'\n && typeof val.return === 'function'\n && typeof val.next === 'function';\n}\n\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}","/*!\n * shallow-clone <https://github.com/jonschlinkert/shallow-clone>\n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nimport typeOf from \"./kind-of\";\n\nconst valueOf = Symbol.prototype.valueOf;\n\nexport default function clone(val, deep) {\n switch (typeOf(val)) {\n case 'array':\n return val.slice();\n case 'object':\n return Object.assign({}, val);\n case 'date':\n return new val.constructor(Number(val));\n case 'map':\n return new Map(val);\n case 'set':\n return new Set(val);\n case 'buffer':\n return cloneBuffer(val);\n case 'symbol':\n return cloneSymbol(val);\n case 'arraybuffer':\n return cloneArrayBuffer(val);\n case 'float32array':\n case 'float64array':\n case 'int16array':\n case 'int32array':\n case 'int8array':\n case 'uint16array':\n case 'uint32array':\n case 'uint8clampedarray':\n case 'uint8array':\n return cloneTypedArray(val);\n case 'regexp':\n return cloneRegExp(val);\n case 'error':\n return Object.create(val);\n default: {\n return val;\n }\n }\n}\n\nfunction cloneRegExp(val) {\n const flags = val.flags !== void 0 ? val.flags : (/\\w+$/.exec(val) || void 0);\n const re = new val.constructor(val.source, flags);\n re.lastIndex = val.lastIndex;\n return re;\n}\n\nfunction cloneArrayBuffer(val) {\n const res = new val.constructor(val.byteLength);\n new Uint8Array(res).set(new Uint8Array(val));\n return res;\n}\n\nfunction cloneTypedArray(val, deep) {\n return new val.constructor(val.buffer, val.byteOffset, val.length);\n}\n\nfunction cloneBuffer(val) {\n const len = val.length;\n const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);\n val.copy(buf);\n return buf;\n}\n\nfunction cloneSymbol(val) {\n return valueOf ? Object(valueOf.call(val)) : {};\n}\n ","/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nexport function isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};","'use strict';\n \nimport clone from './shallow-clone';\nimport typeOf from './kind-of';\nimport {isPlainObject} from './is-plain-object';\n\nfunction cloneDeep(val, instanceClone) {\n switch (typeOf(val)) {\n case 'object':\n return cloneObjectDeep(val, instanceClone);\n case 'array':\n return cloneArrayDeep(val, instanceClone);\n default: {\n return clone(val);\n }\n }\n}\n\nfunction cloneObjectDeep(val, instanceClone) {\n if (typeof instanceClone === 'function') {\n return instanceClone(val);\n }\n if (instanceClone || isPlainObject(val)) {\n const res = (val.constructor !== undefined) ? new val.constructor() : Object.create(null);\n for (let key in val) {\n res[key] = cloneDeep(val[key], instanceClone);\n }\n return res;\n }\n return val;\n}\n\nfunction cloneArrayDeep(val, instanceClone) {\n const res = new val.constructor(val.length);\n for (let i = 0; i < val.length; i++) {\n res[i] = cloneDeep(val[i], instanceClone);\n }\n return res;\n}\n\n\nexport default cloneDeep;","Math.easeInOutQuad = function(t, b, c, d) {\n t /= d / 2\n if (t < 1) {\n return c / 2 * t * t + b\n }\n t--\n return -c / 2 * (t * (t - 2) - 1) + b\n}\n\n// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts\nvar requestAnimFrame = (function() {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) }\n})()\n\n/**\n * Because it's so fucking difficult to detect the scrolling element, just move them all\n * @param {number} amount\n */\nfunction move(amount) {\n document.documentElement.scrollTop = amount\n document.body.parentNode.scrollTop = amount\n document.body.scrollTop = amount\n}\n\nfunction position() {\n return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop\n}\n\n/**\n * @param {number} to\n * @param {number} duration\n * @param {Function} callback\n */\nexport function scrollTo(to, duration, callback) {\n const start = position()\n const change = to - start\n const increment = 20\n let currentTime = 0\n duration = (typeof (duration) === 'undefined') ? 500 : duration\n var animateScroll = function() {\n // increment the time\n currentTime += increment\n // find the value with the quadratic in-out easing function\n var val = Math.easeInOutQuad(currentTime, start, change, duration)\n // move the document.body\n move(val)\n // do the animation unless its over\n if (currentTime < duration) {\n requestAnimFrame(animateScroll)\n } else {\n if (callback && typeof (callback) === 'function') {\n // the animation is done so lets callback\n callback()\n }\n }\n }\n animateScroll()\n}\n","import cloneDeep from './clone-deep';\nimport { scrollTo } from './scroll-to';\n\n\nexport function isArray(value) {\n\tif (typeof Array.isArray === \"function\") {\n\t\treturn Array.isArray(value);\n\t} else {\n\t\treturn Object.prototype.toString.call(value) === \"[object Array]\";\n\t}\n}\n\nexport function isObject(value) {\n\treturn Object.prototype.toString.call(value) === \"[object Object]\";\n}\n\nexport function isNumber(value) {\n\treturn !isNaN(Number(value));\n}\n\nexport function isFunction(value) {\n\treturn typeof value === \"function\";\n}\n\nexport function isString(value) {\n\treturn typeof value === \"string\";\n}\n\nexport function isNull(value) {\n\treturn !value && value !== 0;\n}\n\nexport function isBoolean(value) {\n\treturn typeof value === \"boolean\";\n}\nexport function isPromise(value) {\n\treturn value && typeof value === 'object' && typeof value.then === 'function' && typeof value.catch === 'function';\n}\n\nexport function isEmpty(value) {\n\tif (isArray(value)) {\n\t\treturn value.length === 0;\n\t}\n\n\tif (isObject(value)) {\n\t\treturn Object.keys(value).length === 0;\n\t}\n\n\treturn value === \"\" || value === undefined || value === null;\n}\n\nexport function clone(obj) {\n\treturn Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));\n}\n\nexport function getParent(name) {\n\tlet parent = this.$parent;\n\n\twhile (parent) {\n\t\tif (parent.$options.componentName !== name) {\n\t\t\tparent = parent.$parent;\n\t\t} else {\n\t\t\treturn parent;\n\t\t}\n\t}\n\n\treturn null;\n}\n\n\n\nexport function deepMerge(a, b) {\n\tlet k;\n\tfor (k in b) {\n\t\ta[k] =\n\t\t\ta[k] && a[k].toString() === \"[object Object]\" ? deepMerge(a[k], b[k]) : (a[k] = b[k]);\n\t}\n\treturn a;\n}\n\nexport function contains(parent, node) {\n\tif (document.documentElement.contains) {\n\t\treturn parent !== node && parent.contains(node);\n\t} else {\n\t\twhile (node && (node = node.parentNode)) if (node === parent) return true;\n\t\treturn false;\n\t}\n}\n\n/**\n * @param {Function} func\n * @param {number} wait\n * @param {boolean} immediate\n * @return {*}\n */\nexport function debounce(func, wait, immediate) {\n let timeout, args, context, timestamp, result\n\n const later = function() {\n // 据上一次触发时间间隔\n const last = +new Date() - timestamp\n\n // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait\n if (last < wait && last > 0) {\n timeout = setTimeout(later, wait - last)\n } else {\n timeout = null\n // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用\n if (!immediate) {\n result = func.apply(context, args)\n if (!timeout) context = args = null\n }\n }\n }\n\n return function(...args) {\n context = this\n timestamp = +new Date()\n const callNow = immediate && !timeout\n // 如果延时不存在,重新设定延时\n if (!timeout) timeout = setTimeout(later, wait)\n if (callNow) {\n result = func.apply(context, args)\n context = args = null\n }\n\n return result\n }\n}\n\nexport function toLine(name) {\n return name.replace(/([A-Z])/g, \"_$1\").toLowerCase();\n}\n\nexport { cloneDeep,scrollTo };","import { isFunction, isString, cloneDeep, isObject } from \"./index\";\nimport Vue from \"vue\";\n\n// ...删除固定创建的 __inst ...\nconst __vue = Vue // Vue\n\n/**\n * Parse JSX, filter params\n * options 增加 inst 参数,代表外部传入的 Vue 实例\n * @param {*} vnode\n * @param {{inst, scope, prop, children, $scopedSlots}} options\n */\nconst parse_jsx = (vnode, options = {}) => {\n\tconst { inst, scope, prop, $scopedSlots, children = [] } = options;\n\tconst h = inst.$createElement;\n\n\tif (vnode.name.indexOf(\"slot-\") == 0) {\n\t\tlet rn = $scopedSlots[vnode.name];\n\n\t\tif (rn) {\n\t\t\treturn rn({ scope });\n\t\t} else {\n\t\t\treturn \"错误\";\n\t\t}\n\t}\n\n\tif (vnode.render) {\n\t\tif (!inst.$root.$options.components[vnode.name]) {\n\t\t\t__vue.component(vnode.name, cloneDeep(vnode));\n\t\t}\n\n\t\t// Avoid props prompts { type:null }\n\t\tdelete vnode.props;\n\t}\n\n\tconst keys = [\n\t\t\"class\",\n\t\t\"style\",\n\t\t\"props\",\n\t\t\"attrs\",\n\t\t\"domProps\",\n\t\t\"on\",\n\t\t\"nativeOn\",\n\t\t\"directives\",\n\t\t\"scopedSlots\",\n\t\t\"slot\",\n\t\t\"key\",\n\t\t\"ref\",\n\t\t\"refInFor\"\n\t];\n\n\t// Avoid loop update\n\tlet data = cloneDeep(vnode);\n\n\tfor (let i in data) {\n\t\tif (!keys.includes(i)) {\n\t\t\tdelete data[i];\n\t\t}\n\t}\n\n\tif (scope) {\n\t\tif (!data.attrs) {\n\t\t\tdata.attrs = {};\n\t\t}\n\n\t\tif (!data.on) {\n\t\t\tdata.on = {};\n\t\t}\n\n\t\tif (!data.props) {\n\t\t\tdata.props = {};\n\t\t}\n\n\t\t// 添加作用域\n\t\tdata.props.scope = scope\n\n\t\t// 输入事件\n\t\tconst onInput = data.on.input\n\n\t\t// 设置默认值\n\t\tdata.attrs.value = scope[prop];\n\n\t\t// 监听输入事件\n\t\tdata.on.input = (val) => {\n\t\t\tinst.$set(scope, prop, val);\n\t\t\tif (onInput) {\n\t\t\t\tonInput(val)\n\t\t\t}\n\t\t};\n\t} \n\treturn h(vnode.name, cloneDeep(data), children);\n};\n\n/**\n * Render vNode\n * options 允许 inst 为空,通过调用者的 this 获取 Vue 实例\n * @param {*} vnode\n * @param {{inst?, prop, scope, $scopedSlots}} options\n */\nexport function renderNode(vnode, options) {\n\t// 如果 options.inst 为空,则尝试用调用者上下文的 this\n\tconst { prop, scope, $scopedSlots } = options;\n\tconst inst = options.inst || this;\n\tconst h = inst.$createElement;\n\t \n\tif (!vnode) {\n\t\treturn null;\n\t}\n\n\t// When slot or tagName\n\tif (isString(vnode)) {\n\t\treturn parse_jsx({ name: vnode }, { inst,prop, scope, $scopedSlots });\n\t}\n\n\t// When customeize render function\n\tif (isFunction(vnode)) {\n\t\treturn vnode({ scope, h });\n\t}\n\t// When jsx\n\tif (isObject(vnode)) {\n\t\tif( isObject( vnode.name ) ){\n\t\t\tlet component = vnode.name\n\t\t\tlet curComponent = Object.values(inst.$options.components).find(item=>item == vnode)\n\t\t\tif( curComponent ){\n\t\t\t\tvnode.name = curComponent.name ;\n\t\t\t}else{\n\t\t\t\tconst componentName = component.name || \"component_\" + Math.random().toString(36).substr(2, 9);\n\t\t\t\tinst.$options.components[ componentName ] = component;\n\t\t\t\tvnode.name = componentName;\n\t\t\t\tconsole.log( componentName )\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (vnode.context) {\n\t\t\treturn vnode;\n\t\t}\n\n\t\tif (vnode.name) {\n\t\t\t// Handle general component\n\t\t\tconst keys = [\"el-select\", \"el-radio-group\", \"el-checkbox-group\"];\n\t\t\tif (keys.includes(vnode.name)) {\n\t\t\t\tlet options = vnode.options;\n\t\t\t\tif( isFunction( options ) ){\n\t\t\t\t\toptions = options( scope );\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Append component children\n\t\t\t\tconst children = (options || []).map((e, i) => {\n\t\t\t\t\tif (vnode.name === \"el-select\") {\n\t\t\t\t\t\tlet label, value;\n\n\t\t\t\t\t\tif (isString(e)) {\n\t\t\t\t\t\t\tlabel = value = e;\n\t\t\t\t\t\t} else if (isObject(e)) {\n\t\t\t\t\t\t\tlabel = e.label;\n\t\t\t\t\t\t\tvalue = e.value;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn \"错误\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<el-option\n\t\t\t\t\t\t\t\t{...{\n\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\tkey: i,\n\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t\t...e.props\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (vnode.name === \"el-radio-group\") {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<el-radio\n\t\t\t\t\t\t\t\t{...{\n\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\tkey: i,\n\t\t\t\t\t\t\t\t\t\tlabel: e.value,\n\t\t\t\t\t\t\t\t\t\t...e.props\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{e.label}\n\t\t\t\t\t\t\t</el-radio>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (vnode.name === \"el-checkbox-group\") {\n\t\t\t\t\t\tif( typeof scope[prop]==='undefined' ){ \n\t\t\t\t\t\t\tinst.$set(scope, prop, [])\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<el-checkbox\n\t\t\t\t\t\t\t\t{...{\n\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\tkey: i,\n\t\t\t\t\t\t\t\t\t\tlabel: e.value,\n\t\t\t\t\t\t\t\t\t\t...e.props\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t{e.label}\n\t\t\t\t\t\t\t</el-checkbox>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn parse_jsx(vnode, { inst, prop, scope, children });\n\t\t\t} else {\n\t\t\t\treturn parse_jsx(vnode, { inst, prop, scope, $scopedSlots });\n\t\t\t}\n\t\t} else {\n\t\t\treturn \"错误\";\n\t\t}\n\t}\n}","// 组件说明:TableColumn 用于在 CRUD 表格中动态渲染列,支持嵌套子列,处理字典与格式化展示。\nimport { renderNode } from \"./utils/vnode.jsx\";\nimport { isFunction, isString, isArray, cloneDeep, isObject,isPromise } from \"./utils\";\n\n\nconst TableColumn = {\n // 组件名称\n name: \"TableColumn\",\n data() {\n return {\n // emit:{},\n actionMap: {\n info: {\n label: \"详情\",\n type: \"text\",\n action: \"info\",\n icon: \"el-icon-document\"\n },\n update: {\n label: \"编辑\",\n type: \"text\",\n action: \"update\",\n icon: \"el-icon-edit\"\n },\n delete: {\n label: \"删除\",\n type: \"text\",\n action: \"delete\",\n icon: \"el-icon-delete\"\n },\n \n }\n }\n },\n props: {\n // 列配置对象,包含列属性、子列、格式化函数等\n column: {\n type: Object,\n required: true\n },\n // 行索引生成方法,用于动态生成行号\n indexMethod: {\n type: Function,\n required: false\n },\n },\n computed: {\n // 判断当前列是否包含子列\n hasChildren() {\n return this.column.children && this.column.children.length > 0;\n },\n // 生成并返回列的属性集合,默认居中对齐\n columnProps() {\n return Object.assign({}, this.column, {\n align: this.column.align || \"center\"\n });\n },\n // 生成唯一的列 key,用于 Vue 渲染优化\n columnKey() {\n return \"crud-table-column-\" + (this.column.prop || Math.random());\n },\n \n },\n mounted() {\n },\n methods: {\n // 根据传入值查找并返回字典中对应的对象\n getDict(value) {\n if( isPromise(this.column.dict)){\n this.column.dict.then((dict)=>{\n this.column.dict = dict;\n });\n return null\n }\n // this.column.dict 如果 this.column.dict 是个 function\n // 则调用 this.column.dict(value) 返回字典对象\n if (typeof this.column.dict === \"function\") {\n return this.column.dict(value).find(d => d.value == value);\n }\n\n if (this.column.dict) {\n return this.column.dict?.find(d => d.value == value);\n }\n return null;\n },\n // 检查传入的值是否严格为 null\n isNull(val) {\n return val === null;\n },\n renderNode(vnode, options) {\n return renderNode.call(this, vnode, options);\n },\n renderSelection(h) {\n return h(\n \"el-table-column\",\n {\n key: this.columnKey,\n props: Object.assign({}, this.columnProps, { index: this.indexMethod })\n },\n []\n );\n\n },\n // 渲染操作列\n renderActions(h) {\n return h(\n \"el-table-column\",\n {\n key: this.columnKey,\n props: Object.assign({}, this.columnProps, { index: this.indexMethod }),\n scopedSlots: {\n default: scope => {\n let actions = this.column.actions;\n if (isFunction(this.column.actions)) {\n actions = this.column.actions({ scope, h });\n }\n\n return actions?.map(action => {\n\n // 自定义渲染函数\n if (isFunction(action)) {\n return action({ scope, h });\n }\n // 预设的操作映射\n if (isString(action)) {\n action = this.actionMap[action];\n if( !action){\n return null;\n }\n }\n // action 如果是数组 创建 更多 按钮列表\n if (isArray(action)) {\n return h(\n \"el-dropdown\",\n {\n props: {\n trigger: \"hover\",\n // size: \"mini\"\n },\n on: {\n command: (e) => {\n this.$emit(\"action\", e, scope);\n }\n },\n style: {\n right: \"auto\",\n \"margin-left\":\"10px\"\n }\n },\n [\n h(\n \"span\",\n {\n class: \"el-dropdown-link\",\n style: \"margin-left: 0\",\n },\n [\n \"更多\",\n h(\"i\", {\n class: \"el-icon-arrow-down el-icon--right\"\n })\n ]\n ),\n h(\n \"el-dropdown-menu\",\n {\n slot: \"dropdown\"\n },\n action.map(item => {\n let _item = item \n // 预设的操作映射\n if (isString(_item)) {\n _item = this.actionMap[_item];\n if( !_item){\n return null;\n }\n }\n return h(\n \"el-dropdown-item\",\n {\n props: {\n command: _item.action,\n icon: _item.icon,\n disabled: _item.disabled,\n },\n },\n _item.label\n );\n })\n )\n ]\n );\n }\n\n\n\n // 渲染 action 按钮\n return h(\n \"el-button\",\n {\n props: {\n type: action.type || \"text\",\n size: action.size || \"mini\",\n icon: action.icon || \"\",\n disabled: action.disabled || false\n },\n on: {\n click:(e)=> {\n this.$emit(\"action\", action.action, scope); \n }\n }\n },\n action.label\n );\n }).filter(item=>item);\n }\n }\n },\n []\n );\n },\n \n },\n // 动态渲染函数,根据列配置渲染 el-table-column\n render(h) {\n if ( this.column.hidden ){\n if( typeof this.column.hidden === \"function\" ){\n // 如果 hidden 是函数,则调用函数判断是否隐藏\n if (this.column.hidden(this.column)) {\n return null;\n }\n }\n }\n\n if (this.column.visible === false) {\n return null;\n }\n if (this.column.type === \"selection\" || this.column.type === \"index\") {\n // 对于 selection 类型,直接传递 props 让 Element 内部处理选中状态\n return this.renderSelection(h);\n } else if (this.column.type === \"action\") {\n // 对于 action 类型,渲染操作列\n return this.renderActions(h);\n }\n return h(\n \"el-table-column\",\n {\n key: this.columnKey,\n props: Object.assign({}, this.columnProps, { index: this.indexMethod }),\n scopedSlots: {\n // 自定义表头渲染:支持 slot 覆盖默认表头\n header: scope => {\n return this.$scopedSlots[\"header-\" + this.column.prop]\n ? this.$scopedSlots[\"header-\" + this.column.prop](scope)\n : scope.column.label;\n },\n // 自定义单元格渲染:支持 slot、组件、格式化函数或字典\n default: (scope) => {\n let content;\n // 检查是否有自定义 slot 渲染\n if (this.$scopedSlots[\"column-\" + this.column.prop]) {\n content = this.$scopedSlots[\"column-\" + this.column.prop]({\n scope: scope,\n column: this.column\n });\n } else if (this.column.component) {\n // 通过 renderNode 调用渲染组件,确保 this 指向当前实例\n content = this.renderNode(this.column.component, { prop: this.column.prop, scope: scope });\n } else if (this.column.formatter) {\n content = this.column.formatter(\n scope.row,\n scope.column,\n scope.row[this.column.prop],\n scope.$index\n );\n } else if (this.column.dict) {\n const dictItem = this.getDict(scope.row[this.column.prop]);\n if (dictItem?.label) {\n content = h(\n \"el-tag\",\n {\n props: {\n size: \"mini\",\n disableTransitions: true,\n type: dictItem.type \n // effect: \"dark\"\n }\n },\n dictItem.label\n );\n } else {\n content = scope.row[this.column.prop];\n }\n } else if (this.isNull(scope.row[this.column.prop])) {\n content = scope.emptyText;\n } else {\n content = scope.row[this.column.prop];\n }\n return content;\n }\n }\n },\n // 若有子列则递归渲染\n this.hasChildren\n ? this.column.children.map((child, idx) =>\n h(TableColumn, {\n key: idx,\n props: { \n column: child, \n indexMethod: this.indexMethod,\n\n },\n on: this.$listeners,\n\n \n\n })\n )\n : []\n );\n },\n\n};\n\n// 支持自身递归调用(递归组件)\nTableColumn.components = {\n TableColumn\n};\n\nexport default TableColumn;","<!-- crud table 组件 -->\n<template>\n <el-table :data=\"data\" class=\"crud-table\" ref=\"table\" v-bind=\"combinedProps\" v-on=\"combinedEvents\">\n <crud-table-column v-for=\"(column,index) in columns\" :key=\"`${ column.key || ('column_'+index) }`\" :indexMethod=\"(index)=>( baseIndex + 1 + index )\"\n v-if=\"!column[`v-hasPermi`] || !column[`v-hasPermi`].length || $auth.hasPermiOr(column[`v-hasPermi`] || [])\"\n :column=\"column\" @action=\"onRowAction\">\n </crud-table-column>\n </el-table>\n</template>\n<script>\n\n\n/**\n * CRUD table组件\n */\n\nimport CrudTableColumn from \"./tableColumn.js\";\n\nexport default {\n name: \"CrudTable\",\n components: {\n CrudTableColumn\n },\n inject: [\"crud\"],\n props: {\n columns: {\n type: Array,\n default: () => []\n },\n on: {\n type: Object,\n default: () => {\n return {};\n }\n },\n data: {\n type: Array,\n default: () => {\n return [];\n }\n }\n },\n data() {\n return {\n emit: {},\n defaultProps: {\n stripe: true,\n size: \"mini\",\n }\n };\n },\n computed: {\n // 将外部传入的 props 与 crud 内部样式合并\n combinedProps() {\n return Object.assign({}, this.defaultProps, this.$attrs);\n },\n // 将各事件处理函数合并,包括 emit 与 on 上的回调\n combinedEvents() {\n return Object.assign(\n {},\n {\n \"selection-change\": this.onSelectionChange,\n \"sort-change\": this.onSortChange,\n \"row-contextmenu\": this.onRowContextMenu\n },\n this.emit,\n this.on\n );\n },\n baseIndex(){\n if( this.crud?.pagination ){\n return (this.crud?.pagination?.pageNum-1) * this.crud?.pagination?.pageSize;\n }else{\n return 0;\n }\n }\n },\n mounted() {\n this.bindEmits();\n this.bindMethods();\n },\n methods: {\n // 绑定 el-table 回调\n bindEmits() {\n const emits = [\n \"select\",\n \"select-all\",\n \"cell-mouse-enter\",\n \"cell-mouse-leave\",\n \"cell-click\",\n \"cell-dblclick\",\n \"row-click\",\n \"row-contextmenu\",\n \"row-dblclick\",\n \"header-click\",\n \"header-contextmenu\",\n \"filter-change\",\n \"current-change\",\n \"header-dragend\",\n \"expand-change\"\n ];\n\n emits.forEach((name) => {\n this.emit[name] = (...args) => {\n this.$emit(name, ...args);\n };\n });\n },\n\n // 绑定 el-table 事件\n bindMethods() {\n const methods = [\n \"clearSelection\",\n \"toggleRowSelection\",\n \"toggleAllSelection\",\n \"toggleRowExpansion\",\n \"setCurrentRow\",\n \"clearSort\",\n \"clearFilter\",\n \"doLayout\",\n \"sort\"\n ];\n\n methods.forEach((n) => {\n this[n] = this.$refs[\"table\"][n];\n });\n },\n onSelectionChange(selection) {\n this.$emit(\"selection-change\", selection);\n },\n onSortChange({ prop, order }) {\n this.$emit(\"sort-change\", { prop, order });\n },\n onRowContextMenu(row, column, event) {\n this.$emit(\"row-contextmenu\", row, column, event);\n },\n onRowAction(action, scope) {\n this.$emit(\"row-action\", action, scope);\n this.$emit(`row-${action}`, scope);\n }\n }\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n.crud-table {\n &::v-deep {\n .el-table__body-wrapper {\n .el-table__cell {\n .cell:empty::after {\n content: '/';\n color: #c0c4cc;\n }\n }\n }\n }\n}\n</style>\n","function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nexport default normalizeComponent;\n//# sourceMappingURL=normalize-component.mjs.map\n","const isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\r\nfunction createInjector(context) {\r\n return (id, style) => addStyle(id, style);\r\n}\r\nlet HEAD;\r\nconst styles = {};\r\nfunction addStyle(id, css) {\r\n const group = isOldIE ? css.media || 'default' : id;\r\n const style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });\r\n if (!style.ids.has(id)) {\r\n style.ids.add(id);\r\n let code = css.source;\r\n if (css.map) {\r\n // https://developer.chrome.com/devtools/docs/javascript-debugging\r\n // this makes source maps inside style tags work properly in Chrome\r\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */';\r\n // http://stackoverflow.com/a/26603875\r\n code +=\r\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\r\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\r\n ' */';\r\n }\r\n if (!style.element) {\r\n style.element = document.createElement('style');\r\n style.element.type = 'text/css';\r\n if (css.media)\r\n style.element.setAttribute('media', css.media);\r\n if (HEAD === undefined) {\r\n HEAD = document.head || document.getElementsByTagName('head')[0];\r\n }\r\n HEAD.appendChild(style.element);\r\n }\r\n if ('styleSheet' in style.element) {\r\n style.styles.push(code);\r\n style.element.styleSheet.cssText = style.styles\r\n .filter(Boolean)\r\n .join('\\n');\r\n }\r\n else {\r\n const index = style.ids.size - 1;\r\n const textNode = document.createTextNode(code);\r\n const nodes = style.element.childNodes;\r\n if (nodes[index])\r\n style.element.removeChild(nodes[index]);\r\n if (nodes.length)\r\n style.element.insertBefore(textNode, nodes[index]);\r\n else\r\n style.element.appendChild(textNode);\r\n }\r\n }\r\n}\n\nexport default createInjector;\n//# sourceMappingURL=browser.mjs.map\n","<template>\n <div class=\"top-right-btn\" :style=\"style\">\n <div class=\"flex flex-row items-center\">\n <el-tooltip class=\"item\" effect=\"dark\" :content=\"showSearch ? '隐藏搜索' : '显示搜索'\" placement=\"top\" v-if=\"search\">\n <el-button size=\"mini\" circle icon=\"el-icon-search\" @click=\"toggleSearch()\" />\n </el-tooltip>\n <el-tooltip class=\"item\" effect=\"dark\" content=\"刷新\" placement=\"top\">\n <el-button size=\"mini\" circle icon=\"el-icon-refresh\" @click=\"refresh()\" />\n </el-tooltip>\n <el-tooltip class=\"item\" effect=\"dark\" content=\"显隐列\" placement=\"top\" v-if=\"columns\">\n <el-button size=\"mini\" circle icon=\"el-icon-menu\" @click=\"showColumn()\" v-if=\"showColumnsType == 'transfer'\"/>\n <el-dropdown trigger=\"click\" :hide-on-click=\"false\" style=\"padding-left: 12px\" v-if=\"showColumnsType == 'checkbox'\">\n <el-button size=\"mini\" circle icon=\"el-icon-menu\" />\n <el-dropdown-menu slot=\"dropdown\">\n <template >\n <el-dropdown-item v-for=\"item in columns\" :key=\"item.key\" v-if=\"item.type!=`index` && item.type!=`selection` && (typeof item.visible) !== `undefined` \">\n <el-checkbox :checked=\"item.visible\" @change=\"checkboxChange($event, item)\" :label=\"item.label\" />\n </el-dropdown-item>\n </template>\n </el-dropdown-menu>\n </el-dropdown>\n </el-tooltip>\n </div>\n <el-dialog :title=\"title\" :visible.sync=\"open\" append-to-body>\n <el-transfer\n :titles=\"['显示', '隐藏']\"\n v-model=\"value\"\n :data=\"columns\"\n @change=\"dataChange\"\n ></el-transfer>\n </el-dialog>\n </div>\n </template>\n <script>\n export default {\n name: \"RightToolbar\",\n inject: [\"crud\"],\n data() {\n return {\n // 显隐数据\n value: [],\n // 弹出层标题\n title: \"显示/隐藏\",\n // 是否显示弹出层\n open: false,\n // 本地列数据副本(用于拖拽)\n localColumns: [],\n };\n },\n props: {\n /* 是否显示检索条件 */\n showSearch: {\n type: Boolean,\n default: true,\n },\n /* 显隐列信息 */\n columns: {\n type: Array,\n },\n /* 是否显示检索图标 */\n search: {\n type: Boolean,\n default: true,\n },\n /* 显隐列类型(transfer穿梭框、checkbox复选框) */\n showColumnsType: {\n type: String,\n default: \"checkbox\",\n },\n /* 右外边距 */\n gutter: {\n type: Number,\n default: 10,\n },\n },\n computed: {\n style() {\n const ret = {};\n if (this.gutter) {\n ret.marginRight = `${this.gutter / 2}px`;\n }\n return ret;\n }\n },\n watch: {\n columns: {\n handler(newVal) {\n // 当 columns prop 变化时,更新本地副本\n this.localColumns = newVal ? [...newVal] : [];\n },\n immediate: true,\n deep: true\n }\n },\n created() {\n if (this.showColumnsType == 'transfer') {\n // 显隐列初始默认隐藏列\n for (let item in this.columns) {\n if (this.columns[item].visible === false) {\n this.value.push(parseInt(item));\n }\n }\n }\n },\n methods: {\n // 搜索\n toggleSearch() {\n this.$emit(\"update:showSearch\", !this.showSearch);\n },\n // 刷新\n refresh() {\n this.$emit(\"queryTable\");\n },\n // 右侧列表元素变化\n dataChange(data) {\n for (let item in this.columns) {\n const key = this.columns[item].key;\n this.columns[item].visible = !data.includes(key);\n }\n },\n // 打开显隐列dialog\n showColumn() {\n this.open = true;\n },\n // 勾选\n checkboxChange(event, item) {\n item.visible = event;\n // 通知父组件更新\n this.$emit('update:columns', this.localColumns);\n },\n // 拖拽结束\n onDragEnd(event) {\n // 拖拽结束后,通知父组件列顺序已改变\n this.$emit('update:columns', this.localColumns);\n this.$emit('columns-order-changed', this.localColumns);\n }\n },\n };\n </script>\n <style lang=\"scss\" scoped>\n ::v-deep .el-transfer__button {\n border-radius: 50%;\n padding: 12px;\n display: block;\n margin-left: 0px;\n }\n ::v-deep .el-transfer__button:first-child {\n margin-bottom: 10px;\n }\n \n .drag-item {\n padding: 8px;\n cursor: move;\n border-bottom: 1px solid #ebeef5;\n display: flex;\n align-items: center;\n \n &:hover {\n background-color: #f5f7fa;\n }\n }\n \n .drag-handle {\n color: #909399;\n \n &:hover {\n color: #409eff;\n }\n }\n \n </style>\n ","<template>\n <!-- \n \n queryItems: [\n // input string\n {\n label: \"项目名称\",\n prop: \"name\",\n type: \"input\",\n placeholder: \"请输入项目名称\",\n },\n // select\n {\n label: \"申办单位\",\n prop: \"sponsorId\",\n type: \"select\",\n placeholder: \"请选择申办单位\",\n options: [],\n },\n // date日期\n {\n label: \"创建日期\",\n prop: [\"createDateStart\", \"createDateEnd\"],\n type: \"date\",\n range: true,\n placeholder: \"请选择创建日期\",\n },\n // datetime 时间\n {\n label: \"更新时间\",\n prop: \"updateTime\",\n type: \"datetime\",\n placeholder: \"请选择更新时间\",\n },\n ],\n \n -->\n <div class=\"container-main el-crud-query\" v-if=\"queryItems.length\">\n <el-form :model=\"queryParams\" :size=\"size\" :style=\"{ maxHeight: expand ? '' : (formMaxHeight + 'px') }\"\n ref=\"queryForm\" :inline=\"inline\" :label-width=\"labelWidthStr\" class=\"el-crud-query-form\" @submit.native.prevent>\n <el-form-item v-for=\"item in queryFormItems\" v-show=\"expand || !item.hidden\" :label=\"item.label\"\n :prop=\"item.prop\" :key=\"item.prop\">\n <el-input v-if=\"item.type === 'input'\" v-model=\"queryParams[item.prop]\" :placeholder=\"item.placeholder\"\n clearable @keyup.enter.native=\"handleQuery\" :style=\"inputStyle\"></el-input>\n <el-select v-else-if=\"item.type === 'select'\" v-model=\"queryParams[item.prop]\"\n :placeholder=\"item.placeholder\" clearable filterable\n @visible-change=\"($event) => item.visibleChange && item.visibleChange($event, queryParams)\"\n :style=\"inputStyle\">\n \n <template v-if=\"typeof item.options === 'function'\">\n <el-option v-for=\"option in item.options()\" :key=\"option.value\" :label=\"option.label\" :value=\"option.value\"></el-option>\n </template>\n <template v-else>\n <el-option v-for=\"option in item.options\" :key=\"option.value\" :label=\"option.label\" :value=\"option.value\"></el-option>\n </template>\n\n </el-select>\n\n <el-date-picker v-else-if=\"item.type === 'date'\" :type=\"item.range ? 'daterange' : 'date'\"\n v-model=\"queryParams[item.prop]\" :placeholder=\"item.placeholder\" clearable\n :start-placeholder=\"item['startPlaceholder'] || '开始日期'\"\n :end-placeholder=\"item['endPlaceholder'] || '结束日期'\" :range-separator=\"item['rangeSeparator']\"\n :value-format=\"item['valueFormat'] || 'yyyy-MM-dd'\"\n :style=\"item.range ? dateRangeStyle : inputStyle\"></el-date-picker>\n <el-date-picker v-else-if=\"item.type === 'datetime'\" :type=\"item.range ? 'datetimerange' : 'datetime'\"\n v-model=\"queryParams[item.prop]\" :placeholder=\"item.placeholder\" clearable\n :start-placeholder=\"item['startPlaceholder'] || '开始时间'\"\n :end-placeholder=\"item['endPlaceholder'] || '结束时间'\" :range-separator=\"item['rangeSeparator']\"\n :value-format=\"item['valueFormat'] || 'yyyy-MM-dd HH:mm:ss'\"\n :style=\"item.range ? dateRangeStyle : inputStyle\"></el-date-picker>\n </el-form-item>\n <el-form-item label=\" \" ref=\"queryFormBtn\">\n <el-button type=\"primary\" icon=\"el-icon-search\" @click=\"handleQuery\">搜索</el-button>\n <el-button icon=\"el-icon-refresh\" @click=\"resetQuery\">重置</el-button>\n <el-button type=\"text\" @click=\"handelExpand\" v-if=\"needExpand\">\n <span>更多</span>\n <i :class=\"expand ? 'el-icon-arrow-up' : 'el-icon-arrow-down'\"></i>\n </el-button>\n </el-form-item>\n </el-form>\n </div>\n\n</template>\n\n<script>\n\nimport { debounce } from './utils'\nexport default {\n props: {\n\n // queryParams: {\n // type: Object,\n // required: true\n // },\n queryItems: {\n type: Array,\n required: true\n },\n size: {\n type: String,\n default: 'mini'\n },\n labelWidth: {\n type: Number,\n default: 80\n },\n inputWidth: {\n type: Number,\n default: 200\n },\n lineClamp: {\n type: Number,\n default: 1\n },\n inline: {\n type: Boolean,\n default: true\n }\n\n },\n watch: {\n queryItems: {\n handler(val) {\n this.reset()\n },\n deep: true,\n immediate: true\n }\n },\n created() {\n \n },\n data() {\n return {\n queryParams: {},\n queryFormItems: [],\n formMaxHeight: 0,\n expand: false,\n needExpand: false,\n // 用于展示窗口大小变化绑定\n $_sidebarElm: null,\n $_resizeHandler: null\n }\n },\n computed: {\n labelWidthStr() {\n if (typeof this.labelWidth === 'number') {\n return this.labelWidth + 'px';\n }\n return this.labelWidth + 'px';\n },\n inputStyle() {\n return {\n width: this.inputWidth + 'px'\n };\n },\n dateRangeStyle() {\n return {\n width: (this.inputWidth * 2 + this.labelWidth + 10) + 'px'\n };\n }\n },\n mounted() {\n this.$nextTick(() => {\n this.formMaxHeight = this.measureHeight() * this.lineClamp; \n // this.handleNeedExpand()\n this.redraw();\n this.bindResize();\n setTimeout(() => {\n this.$_resizeHandler && this.$_resizeHandler();\n }, 100);\n \n });\n\n },\n activated() {\n if (!this.$_resizeHandler) {\n this.bindResize();\n }\n },\n beforeDestroy() {\n this.unbindResize();\n },\n deactivated() {\n this.unbindResize();\n },\n methods: {\n $_sidebarResizeHandler(e) {\n if (e.propertyName === 'width') {\n this.$_resizeHandler()\n }\n },\n // 展示窗口大小变化绑定\n bindResize() {\n this.$_resizeHandler = debounce(() => {\n this.drawTime = 0;\n this.queryFormItems.forEach(item => {\n item.hidden = false;\n });\n this.$nextTick(() => {\n this.handleNeedExpand()\n this.redraw();\n })\n\n }, 100)\n\n window.addEventListener('resize', this.$_resizeHandler);\n this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]\n this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)\n\n\n },\n // unbindResize \n unbindResize() {\n window.removeEventListener('resize', this.$_resizeHandler)\n this.$_resizeHandler = null\n this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)\n },\n handelExpand() {\n this.drawTime = 0;\n this.expand = !this.expand;\n this.$_resizeHandler();\n\n },\n handleNeedExpand() {\n const $queryForm = this.$refs?.queryForm?.$el;\n let scrollHeight = $queryForm.scrollHeight;\n if ( this.formMaxHeight < scrollHeight) {\n this.needExpand = true;\n } else {\n this.needExpand = false;\n }\n\n },\n // \n redraw() {\n if (typeof this.drawTime == 'undefined') {\n this.drawTime = 0;\n }\n if (this.drawTime > 60) {\n return;\n }\n // 确保DOM完全渲染后再执行某些操作\n const $queryForm = this.$refs?.queryForm?.$el;\n if ($queryForm) {\n $queryForm.style.overflow = \"hidden\";\n }\n this.$nextTick(() => {\n let scrollHeight = $queryForm.scrollHeight;\n let clientHeight = $queryForm.clientHeight;\n if (scrollHeight > clientHeight) {\n this.drawTime++;\n let noHiddenItems = this.queryFormItems.filter(item => !item.hidden);\n let lastItem = noHiddenItems.find((item, index) => (noHiddenItems.length - 1 == index))\n if (lastItem) {\n this.$set(lastItem, 'hidden', true);\n this.redraw();\n }\n\n }\n // 判断是否有滚动条\n\n });\n\n\n },\n\n //测量单行高度 + margin-top + margin-bottom\n measureHeight() {\n let queryFormBtn = this.$refs.queryFormBtn;\n if(queryFormBtn){\n let queryFormBtnHeight = queryFormBtn.$el.clientHeight || 29;\n let queryFormItemsMarginTop = parseInt(window.getComputedStyle(queryFormBtn.$el).marginTop);\n let queryFormItemsMarginBottom = parseInt(window.getComputedStyle(queryFormBtn.$el).marginBottom);\n return queryFormBtnHeight + queryFormItemsMarginTop + queryFormItemsMarginBottom\n }\n \n },\n\n reset() {\n this.queryItems.forEach(item => {\n this.$set(this.queryParams, item.prop, null);\n });\n this.queryFormItems = this.queryItems.map(item => {\n let placeholder = item.placeholder;\n if( !placeholder){\n\n switch (item.type) {\n case 'input':\n placeholder = '请输入' + item.label;\n break;\n default:\n placeholder = '请选择' + item.label;\n }\n\n }\n\n\n return {\n ...item,\n placeholder,\n hidden: false\n }\n }); \n },\n resetQuery() {\n\n this.$refs.queryForm?.resetFields();\n this.handleQuery();\n },\n handleQuery() {\n this.$emit('queryTable', this.queryParams);\n }\n\n }\n}\n\n</script>\n\n<style scoped lang=\"scss\">\n.container-main{\n background-color: #fff;\n}\n.el-crud-query{\n overflow: hidden;\n padding: 10px;\n .el-crud-query-form {\n margin-bottom: -10px;\n\n &::v-deep {\n .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item{\n margin-bottom: 10px;\n }\n }\n }\n}\n\n\n</style>\n","<template>\n <div :class=\"{'hidden':hidden}\" class=\"pagination-container\">\n <el-pagination\n :background=\"background\"\n :current-page.sync=\"currentPage\"\n :page-size.sync=\"pageSize\"\n :layout=\"layout\"\n :page-sizes=\"pageSizes\"\n :pager-count=\"pagerCount\"\n :total=\"total\"\n v-bind=\"$attrs\"\n @size-change=\"handleSizeChange\"\n @current-change=\"handleCurrentChange\"\n />\n </div>\n</template>\n\n<script>\nimport { scrollTo } from './utils/scroll-to'\n\nexport default {\n name: 'Pagination',\n props: {\n total: {\n required: true,\n type: Number\n },\n page: {\n type: Number,\n default: 1\n },\n limit: {\n type: Number,\n default: 20\n },\n pageSizes: {\n type: Array,\n default() {\n return [10, 20, 30, 50]\n }\n },\n // 移动端页码按钮的数量端默认值5\n pagerCount: {\n type: Number,\n default: document.body.clientWidth < 992 ? 5 : 7\n },\n layout: {\n type: String,\n default: 'total, sizes, prev, pager, next, jumper'\n },\n background: {\n type: Boolean,\n default: true\n },\n autoScroll: {\n type: Boolean,\n default: true\n },\n hidden: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n };\n },\n computed: {\n currentPage: {\n get() {\n return this.page\n },\n set(val) {\n this.$emit('update:page', val)\n }\n },\n pageSize: {\n get() {\n return this.limit\n },\n set(val) {\n this.$emit('update:limit', val)\n }\n }\n },\n methods: {\n handleSizeChange(val) {\n if (this.currentPage * val > this.total) {\n this.currentPage = 1\n }\n this.$emit('pagination', { page: this.currentPage, limit: val })\n if (this.autoScroll) {\n scrollTo(0, 800)\n }\n },\n handleCurrentChange(val) {\n this.$emit('pagination', { page: val, limit: this.pageSize })\n if (this.autoScroll) {\n scrollTo(0, 800)\n }\n }\n }\n}\n</script>\n\n<style scoped>\n.pagination-container {\n background: #fff;\n padding: 32px 16px;\n}\n.pagination-container.hidden {\n display: none;\n}\n</style>\n","<!-- crud组件 主要用于子组件的上下文传递 -->\n<!-- \n 搜索组件配置 queryItems 可配置\n 搜索及重置事件 queryTable \n \n 切换组件配置 tabPanes 可配置\n 切换参数 tabQuery \n \n 按钮组件配置 buttons 可配置\n 右侧工具条\n 表格列配置 columns 可配置\n 表格数据\n 分页数据\n -->\n<template>\n\n <div class=\"el-crud\">\n <!-- 搜索过滤插槽 -->\n <slot name=\"query\" :queryItems=\"queryItems\" :lineClamp=\"queryLineClamp\" :labelWidth=\"queryLabelWidth\"\n :inputWidth=\"queryInputWidth\" :inline=\"queryInline\">\n <query-form v-show=\"showSearch\" v-if=\"queryItems && queryItems.length\" :queryItems=\"queryItems\"\n :lineClamp=\"queryLineClamp\" :label-width=\"queryLabelWidth\" :input-width=\"queryInputWidth\" :inline=\"queryInline\"\n @queryTable=\"handleQuery\" />\n </slot>\n <div class=\"container-main\" :class=\"{ pt5: tabPanes.length > 0 }\">\n <slot name=\"tabQuery\">\n <el-tabs class=\"top-tab-query\" v-if=\"tabPanes.length > 0\" :value=\"tabQuery.tabKey\"\n @tab-click=\"handleTabClick\">\n <el-tab-pane :label=\"item.label\" :name=\"item.name\" v-for=\"item in tabPanes\"\n :key=\"item.name\"></el-tab-pane>\n </el-tabs>\n </slot>\n <!-- 工具条插槽 -->\n <div class=\"flex justify-between el-crud-toolbar\">\n <slot name=\"buttons\" :selections=\"selections\">\n <div>\n <el-button :size=\"item.size\" @click=\"handleButtonClick(item)\" v-for=\"(item,index) in actionButtons\" :key=\"`${item.key || ('action-btn-'+index)}`\"\n :plain=\"item.plain\" :disabled=\"item.disabled\" :type=\"item.type\" :icon=\"item.icon\">{{\n item.text\n }}</el-button>\n </div>\n </slot>\n <slot name=\"toolbar\" :columns=\"columns\" :showSearch=\"showSearch\">\n <right-toolbar :showSearch.sync=\"showSearch\" @queryTable=\"refresh\" :columns=\"columns\"\n :search=\"!!(queryItems && queryItems.length)\"></right-toolbar>\n </slot>\n </div>\n <!-- 默认插槽 并传 data -->\n <slot :data=\"data\">\n <crud-table v-loading=\"listLoading\" size=\"mini\" @selection-change=\"handleSelectionChange\"\n :highlightCol=\"highlightCol\" :resizable=\"resizable\" :border=\"border\" :columns=\"columns\" :data=\"data\"\n @row-action=\"handleRowAction\" @sort-change=\"handleSortChange\"\n :default-sort=\"defaultSort\"></crud-table>\n </slot>\n <!-- 分页插槽 并传 total queryParams -->\n <slot name=\"pagination\" :total=\"total\" :pagination=\"pagination\">\n <pagination v-show=\"total > 0\" :total=\"total\" :page.sync=\"pagination.pageNum\"\n :limit.sync=\"pagination.pageSize\" @pagination=\"refresh\" />\n </slot>\n </div>\n\n </div>\n\n</template>\n\n\n<script>\nimport CrudTable from \"./table.vue\";\nimport RightToolbar from \"./rightToolbar.vue\";\nimport QueryForm from \"./queryForm.vue\";\nimport Pagination from \"./pagination.vue\"\nimport { toLine } from \"./utils\";\n\nexport default {\n components: {\n CrudTable, RightToolbar, QueryForm, Pagination\n },\n name: 'Crud',\n provide() {\n return {\n crud: this\n };\n },\n props: {\n queryParamsMethod: {\n type: Function\n },\n columns: {\n type: Array,\n default: () => []\n },\n queryItems: {\n type: Array,\n default: () => []\n },\n queryLineClamp: {\n type: Number,\n default: 1\n },\n queryLabelWidth: {\n type: Number,\n default: 80\n },\n queryInputWidth: {\n type: Number,\n default: 210\n },\n queryInline: {\n type: Boolean,\n default: true\n },\n buttons: {\n type: Array | Function,\n default: () => []\n },\n tabPanes: {\n type: Array,\n default: () => []\n },\n defaultSort: {\n type: Object,\n default: () => {\n return {\n prop: undefined,\n order: undefined\n }\n }\n },\n highlightCol: {\n type: Boolean,\n default: false\n },\n resizable: {\n type: Boolean,\n default: false\n },\n border: {\n type: Boolean,\n default: false\n }\n },\n watch: {\n tabPanes: {\n handler(val) {\n if (val.length) {\n\n this.tabQuery.tabKey = val[0].name\n }\n },\n deep: true,\n immediate: true\n },\n \"tabQuery.tabKey\": {\n handler(val) {\n this.$emit(\"tabChange\", val);\n },\n\n }\n },\n computed: {\n actionButtons() {\n let buts = this.buttons;\n if (typeof buts === 'function') {\n return buts(this.selections);\n } else if (buts?.length) {\n return buts\n }\n return []\n }\n },\n data() {\n return {\n listLoading: false,\n showSearch: true,\n selections: [],\n data: [],\n service: { // 增删改查导出\n add: null,\n update: null,\n delete: null,\n page: null,\n info: null,\n list: null,\n export: null,\n }, // 服务\n queryParams: {\n // pageNum: 1,\n // pageSize: 10\n }, // 查询参数\n\n tabQuery: {\n tabKey: undefined\n }, // 参数\n filterParams: {}, // 过滤参数\n pagination: {\n pageNum: 1,\n pageSize: 10\n },\n orderParams: {\n orderByRowName: undefined,\n orderByRule: undefined\n },\n total: 0,\n\n }\n },\n created() {\n },\n methods: {\n handleTabClick(tab) {\n this.tabQuery.tabKey = tab.name\n this.refresh()\n },\n handleSelectionChange(e) {\n this.selections = e\n },\n handleQuery(query) {\n this.queryParams = query;\n this.refresh()\n },\n handleButtonClick(item) {\n this.$emit(\"action\", item.action, this.selections);\n },\n handleRowAction(action, scope) {\n this.$emit(\"row-action\", action, scope);\n if (action === 'delete' && this.service.delete) {\n this.delete(scope)\n }\n },\n handleSortChange(column) {\n this.orderParams.orderByRowName = toLine(column.prop);\n if (column.order == \"descending\") {\n this.orderParams.orderByRule = \"desc\";\n } else if (column.order == \"ascending\") {\n this.orderParams.orderByRule = \"asc\";\n } else {\n this.orderParams.orderByRule = undefined;\n this.orderParams.orderByRowName = undefined;\n }\n this.refresh();\n },\n // 服务\n setService(service) {\n this.service = Object.assign(this.service, service);\n },\n // 设置列\n setColumns(columns) {\n this.columns = columns;\n },\n // 设置数据\n setData(data) {\n // this.crud.data = data;\n },\n // 获得查询参数\n async getParams() {\n const defaultSort = this.defaultSort;\n let orderParams = this.orderParams;\n\n if (!orderParams?.orderByRowName && defaultSort?.prop) {\n const orderByRowName = toLine(defaultSort.prop);\n let orderByRule = defaultSort.order;\n\n if (defaultSort.order == \"descending\") {\n orderByRule = \"desc\";\n } else if (defaultSort.order == \"ascending\") {\n orderByRule = \"asc\";\n }\n\n orderParams = {\n orderByRowName,\n orderByRule\n }\n }\n\n let params = { ...this.queryParams, ...this.pagination, ...this.tabQuery, ...orderParams }\n\n\n\n if (this.queryParamsMethod) {\n return await this.queryParamsMethod(params);\n }\n return params;\n },\n // 刷新列表数据\n async refresh() {\n this.listLoading = true;\n try {\n const queryParams = await this.getParams();\n const { code, rows, total } = await this.service.page(queryParams);\n if (code === 200) {\n this.data = rows;\n this.total = total;\n }\n\n } catch (error) {\n console.log(error);\n }\n this.listLoading = false;\n },\n // 删除\n async delete({ row }) {\n try {\n let id = row?.id;\n await this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning'\n })\n const { code } = await this.service.delete(id);\n if (code === 200) {\n this.refresh();\n this.$message({\n type: 'success',\n message: '操作成功!'\n });\n }\n } catch (error) {\n console.log(error);\n\n }\n\n\n }\n\n }\n\n}\n\n</script>\n\n<style scoped lang=\"scss\">\n.top-tab-query {\n margin-bottom: 10px;\n\n &::v-deep {\n .el-tabs__header {\n margin: 0;\n }\n }\n}\n</style>"],"names":["toString","Object","prototype","kindOf","val","type","_typeof","isGeneratorFn","isArray","isBuffer","isArguments","isDate","isError","isRegexp","ctorName","isGeneratorObj","call","slice","toLowerCase","replace","constructor","name","Array","Error","message","stackTraceLimit","Date","toDateString","getDate","setDate","RegExp","flags","ignoreCase","multiline","global","next","length","callee","err","indexOf","valueOf","Symbol","clone","deep","typeOf","assign","Number","Map","Set","cloneBuffer","cloneSymbol","cloneArrayBuffer","cloneTypedArray","cloneRegExp","create","exec","re","source","lastIndex","res","byteLength","Uint8Array","set","buffer","byteOffset","len","buf","Buffer","allocUnsafe","from","copy","isObject","o","isPlainObject","ctor","prot","undefined","hasOwnProperty","cloneDeep","instanceClone","cloneObjectDeep","cloneArrayDeep","key","i","Math","easeInOutQuad","t","b","c","d","requestAnimFrame","window","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","callback","setTimeout","move","amount","document","documentElement","scrollTop","body","parentNode","position","scrollTo","to","duration","start","change","increment","currentTime","animateScroll","value","isFunction","isString","isPromise","then","debounce","func","wait","immediate","timeout","args","context","timestamp","result","later","last","apply","_len","arguments","_key","callNow","toLine","__vue","Vue","parse_jsx","vnode","options","inst","scope","prop","$scopedSlots","_options$children","children","h","$createElement","rn","render","$root","$options","components","component","props","keys","data","includes","attrs","on","onInput","input","$set","renderNode","curComponent","values","find","item","componentName","random","substr","console","log","map","e","label","_objectSpread","TableColumn","actionMap","info","action","icon","update","column","required","indexMethod","Function","computed","hasChildren","columnProps","align","columnKey","mounted","methods","getDict","_this","dict","_this$column$dict","isNull","renderSelection","index","renderActions","_this2","scopedSlots","default","_actions","actions","trigger","command","$emit","style","right","slot","_item","disabled","size","click","filter","_this3","hidden","visible","header","content","formatter","row","$index","dictItem","disableTransitions","emptyText","child","idx","$listeners","CrudTableColumn","inject","columns","emit","defaultProps","stripe","combinedProps","$attrs","combinedEvents","onSelectionChange","onSortChange","onRowContextMenu","baseIndex","_this$crud","crud","pagination","_this$crud2","_this$crud3","pageNum","pageSize","bindEmits","bindMethods","emits","forEach","concat","n","$refs","selection","_ref","order","event","onRowAction","__vue_script__","script","title","open","localColumns","showSearch","Boolean","search","showColumnsType","String","gutter","ret","marginRight","watch","handler","newVal","_toConsumableArray","created","push","parseInt","toggleSearch","refresh","dataChange","showColumn","checkboxChange","onDragEnd","queryItems","labelWidth","inputWidth","lineClamp","inline","reset","queryParams","queryFormItems","formMaxHeight","expand","needExpand","$_sidebarElm","$_resizeHandler","labelWidthStr","inputStyle","width","dateRangeStyle","$nextTick","measureHeight","redraw","bindResize","activated","beforeDestroy","unbindResize","deactivated","$_sidebarResizeHandler","propertyName","drawTime","handleNeedExpand","addEventListener","getElementsByClassName","removeEventListener","handelExpand","_this$$refs","$queryForm","queryForm","$el","scrollHeight","_this$$refs2","overflow","clientHeight","noHiddenItems","lastItem","queryFormBtn","queryFormBtnHeight","queryFormItemsMarginTop","getComputedStyle","marginTop","queryFormItemsMarginBottom","marginBottom","_this4","placeholder","resetQuery","_this$$refs$queryForm","resetFields","handleQuery","total","page","limit","pageSizes","pagerCount","clientWidth","layout","background","autoScroll","currentPage","get","handleSizeChange","handleCurrentChange","CrudTable","RightToolbar","QueryForm","Pagination","provide","queryParamsMethod","queryLineClamp","queryLabelWidth","queryInputWidth","queryInline","buttons","tabPanes","defaultSort","highlightCol","resizable","border","tabQuery","tabKey","actionButtons","buts","selections","listLoading","service","add","list","filterParams","orderParams","orderByRowName","orderByRule","handleTabClick","tab","handleSelectionChange","query","handleButtonClick","handleRowAction","handleSortChange","setService","setColumns","setData","getParams","_asyncToGenerator","_regenerator","m","_callee","_orderParams","params","w","_context","a","v","_callee2","_yield$_this2$service","code","rows","_t","_context2","p","delete","_callee3","id","_yield$_this3$service","_t2","_context3","$confirm","confirmButtonText","cancelButtonText","$message"],"mappings":"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","x_google_ignoreList":[9,10]}
|