@vipl520/dk-ui 1.0.21 → 1.0.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.js +18 -2
  3. package/dist/index.min.js +2 -2
  4. package/dist/index.min.js.map +1 -1
  5. package/dist/index.min.mjs +2 -2
  6. package/dist/index.min.mjs.map +1 -1
  7. package/dist/index.mjs +18 -2
  8. package/dist/web-types.json +1 -1
  9. package/es/page-diy/src/components/DragBox.vue.mjs +1 -1
  10. package/es/page-diy/src/components/DragBox.vue.mjs.map +1 -1
  11. package/es/page-diy/style/dk-page-diy.css +1 -1
  12. package/es/page-diy/style/dk-page-diy.scss +3 -0
  13. package/es/page-diy/style/index.css +1 -1
  14. package/es/page-diy/style/index.scss +2 -3
  15. package/es/table/index.d.ts +30 -0
  16. package/es/table/src/props.d.ts +8 -0
  17. package/es/table/src/props.mjs +12 -0
  18. package/es/table/src/props.mjs.map +1 -1
  19. package/es/table/src/table.vue.d.ts +18 -0
  20. package/es/table/src/table.vue2.mjs +1 -1
  21. package/es/table/src/table.vue2.mjs.map +1 -1
  22. package/es/table/utils/dkTable.d.ts +1 -1
  23. package/es/table/utils/dkTable.mjs +4 -0
  24. package/es/table/utils/dkTable.mjs.map +1 -1
  25. package/lib/page-diy/src/components/DragBox.vue.js +1 -1
  26. package/lib/page-diy/src/components/DragBox.vue.js.map +1 -1
  27. package/lib/page-diy/style/dk-page-diy.css +1 -1
  28. package/lib/page-diy/style/dk-page-diy.scss +3 -0
  29. package/lib/page-diy/style/index.css +1 -1
  30. package/lib/page-diy/style/index.scss +2 -3
  31. package/lib/table/index.d.ts +30 -0
  32. package/lib/table/src/props.d.ts +8 -0
  33. package/lib/table/src/props.js +12 -0
  34. package/lib/table/src/props.js.map +1 -1
  35. package/lib/table/src/table.vue.d.ts +18 -0
  36. package/lib/table/src/table.vue2.js +1 -1
  37. package/lib/table/src/table.vue2.js.map +1 -1
  38. package/lib/table/utils/dkTable.d.ts +1 -1
  39. package/lib/table/utils/dkTable.js +4 -0
  40. package/lib/table/utils/dkTable.js.map +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dkTable.mjs","sources":["../../../src/table/utils/dkTable.ts"],"sourcesContent":["import { findIndexRow, getArrayKey, storage } from '@vipl520/utils'\nimport { reactive } from 'vue'\nimport Sortable from 'sortablejs'\nimport { ElNotification } from 'element-plus'\nimport type { TableColumnCtx } from 'element-plus'\nimport { dkTableApi } from './dkTableApi'\n// import { DkTable } from '../../../types/table'\nexport default class dkTable {\n public url\n\n public api: dkTableApi\n\n public buttonCallback: (event: string, data: any) => void\n\n public table: DkTable = reactive({\n ref: undefined,\n pk: 'id',\n data: [],\n remark: null,\n loading: true,\n columnLoading: true,\n selection: [],\n column: [],\n total: 0,\n filter: {},\n dragSortLimitField: 'pid',\n acceptQuery: true,\n showComSearch: false,\n dblClickNotEditColumn: [undefined],\n expandAll: false,\n extend: {},\n })\n\n // BaTable前置处理函数列表(前置埋点)\n public before: BaTableBefore\n\n // BaTable后置处理函数列表(后置埋点)\n public after: BaTableAfter\n\n public form: DkForm = reactive({\n ref: undefined,\n operateIds: [], // 被编辑的IDs\n edit_id: 0,\n })\n\n public recycleTable: RecycleTable = reactive({\n ref: undefined,\n pk: 'id',\n data: [],\n loading: true,\n columnLoading: true,\n selection: [],\n column: [],\n total: 0,\n filter: {},\n showDialog: false,\n showDialogLoading: false,\n dragSortLimitField: 'pid',\n acceptQuery: true,\n showComSearch: false,\n dblClickNotEditColumn: [undefined],\n expandAll: false,\n extend: {},\n })\n\n // 通用搜索数据\n public comSearch: ComSearch = reactive({\n form: {},\n fieldData: new Map(),\n })\n\n constructor(url: string, before: BaTableBefore = {}, after: BaTableAfter = {}) {\n this.url = url\n // eslint-disable-next-line new-cap\n this.api = new dkTableApi(url)\n this.before = before\n this.after = after\n this.buttonCallback = (event, data) => {\n console.warn('请调用onClickButton((event,data)=>{})', event, data)\n }\n }\n\n /**\n * 表格内部鉴权方法\n * 此方法在表头或表行组件内部自动调用,传递权限节点名,如:add、edit\n * 若需自定义表格内部鉴权,重写此方法即可\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n auth(node: string) {\n // return auth(node)\n // TODO\n return true\n }\n\n /**\n * 运行前置函数\n * @param funName 函数名\n * @param args 参数\n */\n runBefore(funName: string, args: any = {}) {\n if (this.before && this.before[funName] && typeof this.before[funName] === 'function') {\n return this.before[funName]!({ ...args }) !== false\n }\n return true\n }\n\n /**\n * 运行后置函数\n * @param funName 函数名\n * @param args 参数\n */\n runAfter(funName: string, args: any = {}) {\n if (this.after && this.after[funName] && typeof this.after[funName] === 'function') {\n return this.after[funName]!({ ...args }) !== false\n }\n return true\n }\n\n getIndex = () => {\n if (!this.runBefore('getIndex')) return\n this.table.loading = true\n return this.api\n .index(this.table.filter)\n .then((res) => {\n this.table.data = res.data.list\n this.table.total = res.data.total\n this.runAfter('getIndex', { res })\n })\n .finally(() => {\n this.table.loading = false\n })\n }\n\n getTable = (cache = false) => {\n if (!this.runBefore('getTable')) return\n\n this.table.columnLoading = true\n\n // 如果允许使用缓存\n if (cache) {\n // 尝试从 localStorage 获取缓存数据\n const cachedData = storage.get(this.url + '_table')\n\n // 如果缓存存在且有效,使用缓存数据\n if (cachedData) {\n const cachedTableData = JSON.parse(cachedData)\n this.table.column = cachedTableData.column\n this.table.columnLoading = false // 加载完成\n this.runAfter('getTable', { res: cachedTableData }) // 使用缓存数据作为响应\n return Promise.resolve(cachedTableData) // 返回一个已解决的 Promise\n }\n } else {\n // 缓存不存在或不使用缓存时,调用 API\n return this.api\n .table()\n .then((res) => {\n this.table.column = res.data.column\n if (res.data.pk) {\n this.table.pk = res.data.pk\n }\n // 如果允许缓存,将数据存储到 localStorage\n // if (cache) {\n storage.set(this.url + '_table', JSON.stringify(res.data))\n // }\n this.runAfter('getTable', { res })\n })\n .finally(() => {\n this.table.columnLoading = false\n })\n }\n }\n\n /**\n * 显示回收站\n */\n async showRecycle() {\n this.recycleTable.showDialogLoading = true\n if (this.recycleTable.column.length <= 0) {\n await this.getRecycleTable()\n }\n await this.getRecycleIndex()\n this.recycleTable.showDialog = true\n this.recycleTable.showDialogLoading = false\n }\n\n /**\n * 获取回收站列表\n */\n getRecycleIndex = () => {\n this.recycleTable.loading = true\n return this.api\n .recycle(this.recycleTable.filter)\n .then((res) => {\n this.recycleTable.data = res.data.list\n this.recycleTable.total = res.data.total\n })\n .finally(() => {\n this.recycleTable.loading = false\n })\n }\n\n /**\n * 获取回收站表格\n * @param cache\n */\n getRecycleTable = (cache = false) => {\n if (!this.runBefore('getTable')) return\n\n this.recycleTable.columnLoading = true\n\n // 如果允许使用缓存\n if (cache) {\n // 尝试从 localStorage 获取缓存数据\n const cachedData = storage.get(this.url + '_recycleTable')\n\n // 如果缓存存在且有效,使用缓存数据\n if (cachedData) {\n const cachedTableData = JSON.parse(cachedData)\n this.recycleTable.column = cachedTableData.column\n this.recycleTable.columnLoading = false // 加载完成\n return Promise.resolve(cachedTableData) // 返回一个已解决的 Promise\n }\n } else {\n // 缓存不存在或不使用缓存时,调用 API\n return this.api\n .recycleTable()\n .then((res) => {\n this.recycleTable.column = res.data.column\n // 如果允许缓存,将数据存储到 localStorage\n // if (cache) {\n storage.set(this.url + '_recycleTable', JSON.stringify(res.data))\n // }\n })\n .finally(() => {\n this.recycleTable.columnLoading = false\n })\n }\n }\n\n /**\n * 获取表格选择项的id数组\n */\n getSelectionIds(): number[] {\n const ids: number[] = []\n this.table.selection?.forEach((item) => {\n ids.push(item[this.table.pk!])\n })\n return ids\n }\n\n onClickButton(callback: (event: string, data: any) => void) {\n this.buttonCallback = callback\n }\n\n /**\n * 表格内的事件统一响应\n * @param event 事件:selection-change=选中项改变,page-size-change=每页数量改变,current-page-change=翻页,sort-change=排序,edit=编辑,delete=删除,field-change=单元格值改变,com-search=公共搜索\n * @param data 携带数据\n */\n onTableAction = (event: string, data: anyObj) => {\n if (!this.runBefore('onTableAction', { event, data })) return\n const actionFun = new Map([\n [\n 'selection-change',\n () => {\n this.table.selection = data as TableRow[]\n },\n ],\n [\n 'selection-recycle-change',\n () => {\n this.recycleTable.selection = data as TableRow[]\n },\n ],\n [\n 'page-size-change',\n () => {\n this.table.filter!.limit = data.size\n this.onTableHeaderAction('refresh', {\n event: 'page-size-change',\n ...data,\n })\n },\n ],\n [\n 'current-page-change',\n () => {\n this.table.filter!.page = data.page\n this.onTableHeaderAction('refresh', {\n event: 'current-page-change',\n ...data,\n })\n },\n ],\n [\n 'sort-change',\n () => {\n let newOrder: string | undefined\n if (data.prop && data.order) {\n newOrder = data.prop + ',' + data.order\n }\n if (newOrder != this.table.filter!.order) {\n this.table.filter!.order = newOrder\n this.onTableHeaderAction('refresh', {\n event: 'sort-change',\n ...data,\n })\n }\n },\n ],\n [\n 'edit',\n () => {\n this.toggleForm('Edit', [data.row[this.table.pk!]])\n },\n ],\n [\n 'delete',\n () => {\n this.postDel([data.row[this.table.pk!]])\n },\n ],\n [\n 'field-change',\n () => {\n if (data.field.render == 'switch') {\n if (!data.row || !data.field.prop) return\n if (Object.keys(data.row).length === 0) {\n // return\n }\n data.row.loading = true\n this.api\n .postData('edit', {\n [this.table.pk!]: data.row[this.table.pk!],\n [data.field.prop]: data.value,\n })\n .then(() => {\n data.row.loading = false\n data.row[data.field.prop] = data.value\n })\n .catch(() => {\n data.row.loading = false\n })\n }\n },\n ],\n [\n 'com-search',\n () => {\n this.table.filter!.search = data as comSearchData[]\n this.onTableHeaderAction('refresh', {\n event: 'com-search',\n data,\n })\n },\n ],\n [\n 'default',\n () => {\n this.buttonCallback(event, data)\n },\n ],\n ])\n\n const action = actionFun.get(event) || actionFun.get('default')\n action!.call(this)\n return this.runAfter('onTableAction', { event, data })\n }\n\n // 删除\n postDel = (ids: number[]) => {\n if (!this.runBefore('postDel', { ids })) return\n this.api.del(ids).then((res) => {\n this.onTableHeaderAction('refresh', {})\n this.runAfter('postDel', { res })\n })\n }\n\n /**\n * 双击表格\n * @param row 行数据\n * @param column 列上下文数据\n */\n onTableDblclick = (row: TableRow, column: TableColumnCtx<TableRow>) => {\n if (\n !this.table.dblClickNotEditColumn!.includes('all') &&\n !this.table.dblClickNotEditColumn!.includes(column.property)\n ) {\n if (!this.runBefore('onTableDblclick', { row, column })) return\n this.toggleForm('Edit', [row[this.table.pk!]])\n this.runAfter('onTableDblclick', { row, column })\n }\n }\n\n /**\n * 打开表单\n * @param operate 操作:Add=添加,Edit=编辑\n * @param operateIds 被操作项的数组:Add=[],Edit=[1,2,...]\n */\n toggleForm = (operate = '', operateIds: number[] = []) => {\n if (operate === 'Edit') {\n this.form.edit_id = operateIds[0]\n operateIds.splice(0, 1)\n this.form.operateIds = operateIds\n } else {\n this.form.edit_id = 0\n }\n this.api\n .form(this.form.edit_id)\n .then((res) => {\n this.form.ref.setFormData(res.data)\n this.form.ref.show()\n })\n .catch((res) => {\n console.log('catch', res)\n })\n }\n\n onSubmit = () => {\n if (this.form.operateIds!.length > 0) {\n this.toggleForm('Edit', this.form.operateIds)\n }\n this.getIndex()\n }\n\n /**\n * 排序\n */\n dragSort = () => {\n const buttonsKey = getArrayKey(this.table.column, 'render', 'buttons')\n if (buttonsKey === false) return\n const moveButton = getArrayKey(this.table.column[buttonsKey]?.buttons, 'render', 'moveButton')\n if (moveButton === false) return\n\n if (!this.table.ref) {\n console.warn(\n 'Failed to initialize drag sort because table ref is not defined. Please assign table ref when onMounted'\n )\n return\n }\n const el = this.table.ref.$el.querySelector('.el-table__body-wrapper .el-table__body tbody')\n const disabledTip = this.table.column[buttonsKey].buttons![moveButton].disabledTip\n Sortable.create(el, {\n animation: 200,\n handle: '.table-row-weigh-sort',\n ghostClass: 'ba-table-row',\n onStart: () => {\n this.table.column[buttonsKey].buttons![moveButton].disabledTip = true\n },\n onEnd: (evt: Sortable.SortableEvent) => {\n this.table.column[buttonsKey].buttons![moveButton].disabledTip = disabledTip\n // 找到对应行id\n const moveRow = findIndexRow(this.table.data!, evt.oldIndex!) as TableRow\n const replaceRow = findIndexRow(this.table.data!, evt.newIndex!) as TableRow\n if (\n this.table.dragSortLimitField &&\n moveRow[this.table.dragSortLimitField] != replaceRow[this.table.dragSortLimitField]\n ) {\n this.onTableHeaderAction('refresh', {})\n ElNotification({\n type: 'error',\n message: 'utils.The moving position is beyond the movable range!',\n })\n return\n }\n\n this.api.sortableApi(moveRow[this.table.pk!], replaceRow[this.table.pk!]).finally(() => {\n this.onTableHeaderAction('refresh', {})\n })\n },\n })\n }\n\n /**\n * 表格顶栏按钮事件统一响应\n * @param event 事件:refresh=刷新,edit=编辑,delete=删除,quick-search=快速查询,unfold=折叠/展开,change-show-column=调整列显示状态\n * @param data 携带数据\n */\n onTableHeaderAction = (event: string, data?: anyObj) => {\n if (!this.runBefore('onTableHeaderAction', { event, data })) return\n const actionFun = new Map([\n [\n 'refresh',\n () => {\n // 刷新表格在大多数情况下无需置空 data,但任需防范表格列组件的 :key 不会被更新的问题,比如关联表的数据列\n this.table.data = []\n this.getIndex()\n },\n ],\n [\n 'add',\n () => {\n this.toggleForm('Add')\n },\n ],\n [\n 'edit',\n () => {\n this.toggleForm('Edit', this.getSelectionIds())\n },\n ],\n [\n 'delete',\n () => {\n this.postDel(this.getSelectionIds())\n },\n ],\n [\n 'unfold',\n () => {\n if (!this.table.ref) {\n console.warn(\n 'Collapse/expand failed because table ref is not defined. Please assign table ref when onMounted'\n )\n return\n }\n this.table.expandAll = data!.unfold\n this.table.ref.unFoldAll(data!.unfold)\n },\n ],\n [\n 'quick-search',\n () => {\n this.onTableHeaderAction('refresh', {\n event: 'quick-search',\n ...data,\n })\n },\n ],\n [\n 'change-show-column',\n () => {\n const columnKey = getArrayKey(this.table.column, 'prop', data!.field)\n this.table.column[columnKey].show = data!.value\n if (this.url) {\n const key = this.url + 'show_column'\n const cachedData = storage.get(key) || '{}'\n const cachedTableData = JSON.parse(cachedData)\n cachedTableData[data!.field] = data!.value\n storage.set(key, JSON.stringify(cachedTableData))\n }\n },\n ],\n [\n 'default',\n () => {\n console.warn('No action defined')\n },\n ],\n [\n 'recycle',\n () => {\n this.showRecycle()\n },\n ],\n [\n 'quick-recycle-search',\n () => {\n this.onTableHeaderAction('refreshRecycle', {\n event: 'refreshRecycle',\n ...data,\n })\n },\n ],\n [\n 'refreshRecycle',\n () => {\n // 刷新表格在大多数情况下无需置空 data,但任需防范表格列组件的 :key 不会被更新的问题,比如关联表的数据列\n this.recycleTable.data = []\n this.getRecycleIndex()\n },\n ],\n ])\n\n const action = actionFun.get(event) || actionFun.get('default')\n action!.call(this)\n return this.runAfter('onTableHeaderAction', { event, data })\n }\n\n /**\n * 通用搜索初始化\n * @param query 要搜索的数据\n */\n initComSearch = (query: anyObj = {}) => {\n const form: anyObj = {}\n const field = this.table.column\n\n if (field.length <= 0) {\n return\n }\n\n for (const key in field) {\n if (field[key].operator === false) {\n continue\n }\n const prop = field[key].prop\n if (typeof field[key].operator === 'undefined') {\n field[key].operator = 'eq'\n }\n if (prop) {\n if (field[key].operator == 'RANGE' || field[key].operator == 'NOT RANGE') {\n form[prop] = ''\n form[prop + '-start'] = ''\n form[prop + '-end'] = ''\n } else if (field[key].operator == 'NULL' || field[key].operator == 'NOT NULL') {\n form[prop] = false\n } else {\n form[prop] = ''\n }\n\n // 初始化来自query中的默认值\n if (this.table.acceptQuery && typeof query[prop] !== 'undefined') {\n const queryProp = (query[prop] as string) ?? ''\n if (field[key].operator == 'RANGE' || field[key].operator == 'NOT RANGE') {\n const range = queryProp.split(',')\n if (field[key].render == 'datetime') {\n if (range && range.length >= 2) {\n form[prop + '-default'] = [new Date(range[0]), new Date(range[1])]\n }\n } else {\n form[prop + '-start'] = range[0] ?? ''\n form[prop + '-end'] = range[1] ?? ''\n }\n } else if (field[key].operator == 'NULL' || field[key].operator == 'NOT NULL') {\n form[prop] = !!queryProp\n } else if (field[key].render == 'datetime') {\n form[prop + '-default'] = new Date(queryProp)\n } else {\n form[prop] = queryProp\n }\n }\n\n this.comSearch.fieldData.set(prop, {\n operator: field[key].operator,\n render: field[key].render,\n comSearchRender: field[key].comSearchRender,\n })\n }\n }\n\n // 接受query再搜索\n if (this.table.acceptQuery) {\n const comSearchData: comSearchData[] = []\n for (const key in query) {\n const fieldDataTemp = this.comSearch.fieldData.get(key)\n if (fieldDataTemp) {\n comSearchData.push({\n field: key,\n val: query[key] as string,\n operator: fieldDataTemp.operator,\n render: fieldDataTemp.render,\n })\n }\n }\n this.table.filter!.search = comSearchData\n }\n\n this.comSearch.form = Object.assign(this.comSearch.form, form)\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dkTable.mjs","sources":["../../../src/table/utils/dkTable.ts"],"sourcesContent":["import { findIndexRow, getArrayKey, storage } from '@vipl520/utils'\nimport { reactive } from 'vue'\nimport Sortable from 'sortablejs'\nimport { ElNotification } from 'element-plus'\nimport type { TableColumnCtx } from 'element-plus'\nimport { dkTableApi } from './dkTableApi'\n// import { DkTable } from '../../../types/table'\nexport default class dkTable {\n public url\n\n public api: dkTableApi\n\n public buttonCallback: (event: string, data: any) => void\n\n public table: DkTable = reactive({\n ref: undefined,\n pk: 'id',\n data: [],\n remark: null,\n loading: true,\n columnLoading: true,\n selection: [],\n column: [],\n total: 0,\n filter: {},\n dragSortLimitField: 'pid',\n acceptQuery: true,\n showComSearch: false,\n dblClickNotEditColumn: [undefined],\n expandAll: false,\n extend: {},\n })\n\n // BaTable前置处理函数列表(前置埋点)\n public before: BaTableBefore\n\n // BaTable后置处理函数列表(后置埋点)\n public after: BaTableAfter\n\n public form: DkForm = reactive({\n ref: undefined,\n operateIds: [], // 被编辑的IDs\n edit_id: 0,\n })\n\n public recycleTable: RecycleTable = reactive({\n ref: undefined,\n pk: 'id',\n data: [],\n loading: true,\n columnLoading: true,\n selection: [],\n column: [],\n total: 0,\n filter: {},\n showDialog: false,\n showDialogLoading: false,\n dragSortLimitField: 'pid',\n acceptQuery: true,\n showComSearch: false,\n dblClickNotEditColumn: [undefined],\n expandAll: false,\n extend: {},\n })\n\n // 通用搜索数据\n public comSearch: ComSearch = reactive({\n form: {},\n fieldData: new Map(),\n })\n\n constructor(url: string, before: BaTableBefore = {}, after: BaTableAfter = {}) {\n this.url = url\n // eslint-disable-next-line new-cap\n this.api = new dkTableApi(url)\n this.before = before\n this.after = after\n this.buttonCallback = (event, data) => {\n console.warn('请调用onClickButton((event,data)=>{})', event, data)\n }\n }\n\n /**\n * 表格内部鉴权方法\n * 此方法在表头或表行组件内部自动调用,传递权限节点名,如:add、edit\n * 若需自定义表格内部鉴权,重写此方法即可\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n auth(node: string) {\n // return auth(node)\n // TODO\n return true\n }\n\n /**\n * 运行前置函数\n * @param funName 函数名\n * @param args 参数\n */\n runBefore(funName: string, args: any = {}) {\n if (this.before && this.before[funName] && typeof this.before[funName] === 'function') {\n return this.before[funName]!({ ...args }) !== false\n }\n return true\n }\n\n /**\n * 运行后置函数\n * @param funName 函数名\n * @param args 参数\n */\n runAfter(funName: string, args: any = {}) {\n if (this.after && this.after[funName] && typeof this.after[funName] === 'function') {\n return this.after[funName]!({ ...args }) !== false\n }\n return true\n }\n\n getIndex = () => {\n if (!this.runBefore('getIndex')) return\n this.table.loading = true\n return this.api\n .index(this.table.filter)\n .then((res) => {\n this.table.data = res.data.list\n this.table.total = res.data.total\n this.runAfter('getIndex', { res })\n })\n .finally(() => {\n this.table.loading = false\n })\n }\n\n getTable = (cache = false) => {\n if (!this.runBefore('getTable')) return\n\n this.table.columnLoading = true\n\n // 如果允许使用缓存\n if (cache) {\n // 尝试从 localStorage 获取缓存数据\n const cachedData = storage.get(this.url + '_table')\n\n // 如果缓存存在且有效,使用缓存数据\n if (cachedData) {\n const cachedTableData = JSON.parse(cachedData)\n this.table.column = cachedTableData.column\n this.table.columnLoading = false // 加载完成\n this.runAfter('getTable', { res: cachedTableData }) // 使用缓存数据作为响应\n return Promise.resolve(cachedTableData) // 返回一个已解决的 Promise\n }\n } else {\n // 缓存不存在或不使用缓存时,调用 API\n return this.api\n .table()\n .then((res) => {\n this.table.column = res.data.column\n if (res.data.pk) {\n this.table.pk = res.data.pk\n }\n // 如果允许缓存,将数据存储到 localStorage\n // if (cache) {\n storage.set(this.url + '_table', JSON.stringify(res.data))\n // }\n this.runAfter('getTable', { res })\n })\n .finally(() => {\n this.table.columnLoading = false\n })\n }\n }\n\n /**\n * 显示回收站\n */\n async showRecycle() {\n if (!this.runBefore('getRecycleTable')) return\n this.recycleTable.showDialogLoading = true\n if (this.recycleTable.column.length <= 0) {\n await this.getRecycleTable()\n }\n await this.getRecycleIndex()\n this.recycleTable.showDialog = true\n this.recycleTable.showDialogLoading = false\n }\n\n /**\n * 获取回收站列表\n */\n getRecycleIndex = () => {\n if (!this.runBefore('getRecycleIndex')) return\n this.recycleTable.loading = true\n return this.api\n .recycle(this.recycleTable.filter)\n .then((res) => {\n this.recycleTable.data = res.data.list\n this.recycleTable.total = res.data.total\n })\n .finally(() => {\n this.recycleTable.loading = false\n })\n }\n\n /**\n * 获取回收站表格\n * @param cache\n */\n getRecycleTable = (cache = false) => {\n if (!this.runBefore('getTable')) return\n\n this.recycleTable.columnLoading = true\n\n // 如果允许使用缓存\n if (cache) {\n // 尝试从 localStorage 获取缓存数据\n const cachedData = storage.get(this.url + '_recycleTable')\n\n // 如果缓存存在且有效,使用缓存数据\n if (cachedData) {\n const cachedTableData = JSON.parse(cachedData)\n this.recycleTable.column = cachedTableData.column\n this.recycleTable.columnLoading = false // 加载完成\n return Promise.resolve(cachedTableData) // 返回一个已解决的 Promise\n }\n } else {\n // 缓存不存在或不使用缓存时,调用 API\n return this.api\n .recycleTable()\n .then((res) => {\n this.recycleTable.column = res.data.column\n // 如果允许缓存,将数据存储到 localStorage\n // if (cache) {\n storage.set(this.url + '_recycleTable', JSON.stringify(res.data))\n // }\n })\n .finally(() => {\n this.recycleTable.columnLoading = false\n })\n }\n }\n\n /**\n * 获取表格选择项的id数组\n */\n getSelectionIds(): number[] {\n const ids: number[] = []\n this.table.selection?.forEach((item) => {\n ids.push(item[this.table.pk!])\n })\n return ids\n }\n\n onClickButton(callback: (event: string, data: any) => void) {\n this.buttonCallback = callback\n }\n\n /**\n * 表格内的事件统一响应\n * @param event 事件:selection-change=选中项改变,page-size-change=每页数量改变,current-page-change=翻页,sort-change=排序,edit=编辑,delete=删除,field-change=单元格值改变,com-search=公共搜索\n * @param data 携带数据\n */\n onTableAction = (event: string, data: anyObj) => {\n if (!this.runBefore('onTableAction', { event, data })) return\n const actionFun = new Map([\n [\n 'selection-change',\n () => {\n this.table.selection = data as TableRow[]\n },\n ],\n [\n 'selection-recycle-change',\n () => {\n this.recycleTable.selection = data as TableRow[]\n },\n ],\n [\n 'page-size-change',\n () => {\n this.table.filter!.limit = data.size\n this.onTableHeaderAction('refresh', {\n event: 'page-size-change',\n ...data,\n })\n },\n ],\n [\n 'current-page-change',\n () => {\n this.table.filter!.page = data.page\n this.onTableHeaderAction('refresh', {\n event: 'current-page-change',\n ...data,\n })\n },\n ],\n [\n 'sort-change',\n () => {\n let newOrder: string | undefined\n if (data.prop && data.order) {\n newOrder = data.prop + ',' + data.order\n }\n if (newOrder != this.table.filter!.order) {\n this.table.filter!.order = newOrder\n this.onTableHeaderAction('refresh', {\n event: 'sort-change',\n ...data,\n })\n }\n },\n ],\n [\n 'edit',\n () => {\n this.toggleForm('Edit', [data.row[this.table.pk!]])\n },\n ],\n [\n 'delete',\n () => {\n this.postDel([data.row[this.table.pk!]])\n },\n ],\n [\n 'field-change',\n () => {\n if (data.field.render == 'switch') {\n if (!data.row || !data.field.prop) return\n if (Object.keys(data.row).length === 0) {\n // return\n }\n data.row.loading = true\n this.api\n .postData('edit', {\n [this.table.pk!]: data.row[this.table.pk!],\n [data.field.prop]: data.value,\n })\n .then(() => {\n data.row.loading = false\n data.row[data.field.prop] = data.value\n })\n .catch(() => {\n data.row.loading = false\n })\n }\n },\n ],\n [\n 'com-search',\n () => {\n this.table.filter!.search = data as comSearchData[]\n this.onTableHeaderAction('refresh', {\n event: 'com-search',\n data,\n })\n },\n ],\n [\n 'default',\n () => {\n this.buttonCallback(event, data)\n },\n ],\n ])\n\n const action = actionFun.get(event) || actionFun.get('default')\n action!.call(this)\n return this.runAfter('onTableAction', { event, data })\n }\n\n // 删除\n postDel = (ids: number[]) => {\n if (!this.runBefore('postDel', { ids })) return\n this.api.del(ids).then((res) => {\n this.onTableHeaderAction('refresh', {})\n this.runAfter('postDel', { res })\n })\n }\n\n /**\n * 双击表格\n * @param row 行数据\n * @param column 列上下文数据\n */\n onTableDblclick = (row: TableRow, column: TableColumnCtx<TableRow>) => {\n if (\n !this.table.dblClickNotEditColumn!.includes('all') &&\n !this.table.dblClickNotEditColumn!.includes(column.property)\n ) {\n if (!this.runBefore('onTableDblclick', { row, column })) return\n this.toggleForm('Edit', [row[this.table.pk!]])\n this.runAfter('onTableDblclick', { row, column })\n }\n }\n\n /**\n * 打开表单\n * @param operate 操作:Add=添加,Edit=编辑\n * @param operateIds 被操作项的数组:Add=[],Edit=[1,2,...]\n */\n toggleForm = (operate = '', operateIds: number[] = []) => {\n if (operate === 'Edit') {\n this.form.edit_id = operateIds[0]\n operateIds.splice(0, 1)\n this.form.operateIds = operateIds\n } else {\n this.form.edit_id = 0\n }\n this.api\n .form(this.form.edit_id)\n .then((res) => {\n this.form.ref.setFormData(res.data)\n this.form.ref.show()\n })\n .catch((res) => {\n console.log('catch', res)\n })\n }\n\n onSubmit = () => {\n if (this.form.operateIds!.length > 0) {\n this.toggleForm('Edit', this.form.operateIds)\n }\n this.getIndex()\n }\n\n /**\n * 排序\n */\n dragSort = () => {\n const buttonsKey = getArrayKey(this.table.column, 'render', 'buttons')\n if (buttonsKey === false) return\n const moveButton = getArrayKey(this.table.column[buttonsKey]?.buttons, 'render', 'moveButton')\n if (moveButton === false) return\n\n if (!this.table.ref) {\n console.warn(\n 'Failed to initialize drag sort because table ref is not defined. Please assign table ref when onMounted'\n )\n return\n }\n const el = this.table.ref.$el.querySelector('.el-table__body-wrapper .el-table__body tbody')\n const disabledTip = this.table.column[buttonsKey].buttons![moveButton].disabledTip\n Sortable.create(el, {\n animation: 200,\n handle: '.table-row-weigh-sort',\n ghostClass: 'ba-table-row',\n onStart: () => {\n this.table.column[buttonsKey].buttons![moveButton].disabledTip = true\n },\n onEnd: (evt: Sortable.SortableEvent) => {\n this.table.column[buttonsKey].buttons![moveButton].disabledTip = disabledTip\n // 找到对应行id\n const moveRow = findIndexRow(this.table.data!, evt.oldIndex!) as TableRow\n const replaceRow = findIndexRow(this.table.data!, evt.newIndex!) as TableRow\n if (\n this.table.dragSortLimitField &&\n moveRow[this.table.dragSortLimitField] != replaceRow[this.table.dragSortLimitField]\n ) {\n this.onTableHeaderAction('refresh', {})\n ElNotification({\n type: 'error',\n message: 'utils.The moving position is beyond the movable range!',\n })\n return\n }\n\n this.api.sortableApi(moveRow[this.table.pk!], replaceRow[this.table.pk!]).finally(() => {\n this.onTableHeaderAction('refresh', {})\n })\n },\n })\n }\n\n /**\n * 表格顶栏按钮事件统一响应\n * @param event 事件:refresh=刷新,edit=编辑,delete=删除,quick-search=快速查询,unfold=折叠/展开,change-show-column=调整列显示状态\n * @param data 携带数据\n */\n onTableHeaderAction = (event: string, data?: anyObj) => {\n if (!this.runBefore('onTableHeaderAction', { event, data })) return\n const actionFun = new Map([\n [\n 'refresh',\n () => {\n // 刷新表格在大多数情况下无需置空 data,但任需防范表格列组件的 :key 不会被更新的问题,比如关联表的数据列\n this.table.data = []\n this.getIndex()\n },\n ],\n [\n 'add',\n () => {\n this.toggleForm('Add')\n },\n ],\n [\n 'edit',\n () => {\n this.toggleForm('Edit', this.getSelectionIds())\n },\n ],\n [\n 'delete',\n () => {\n this.postDel(this.getSelectionIds())\n },\n ],\n [\n 'unfold',\n () => {\n if (!this.table.ref) {\n console.warn(\n 'Collapse/expand failed because table ref is not defined. Please assign table ref when onMounted'\n )\n return\n }\n this.table.expandAll = data!.unfold\n this.table.ref.unFoldAll(data!.unfold)\n },\n ],\n [\n 'quick-search',\n () => {\n this.onTableHeaderAction('refresh', {\n event: 'quick-search',\n ...data,\n })\n },\n ],\n [\n 'change-show-column',\n () => {\n const columnKey = getArrayKey(this.table.column, 'prop', data!.field)\n this.table.column[columnKey].show = data!.value\n if (this.url) {\n const key = this.url + 'show_column'\n const cachedData = storage.get(key) || '{}'\n const cachedTableData = JSON.parse(cachedData)\n cachedTableData[data!.field] = data!.value\n storage.set(key, JSON.stringify(cachedTableData))\n }\n },\n ],\n [\n 'default',\n () => {\n console.warn('No action defined')\n },\n ],\n [\n 'recycle',\n () => {\n this.showRecycle()\n },\n ],\n [\n 'quick-recycle-search',\n () => {\n this.onTableHeaderAction('refreshRecycle', {\n event: 'refreshRecycle',\n ...data,\n })\n },\n ],\n [\n 'refreshRecycle',\n () => {\n // 刷新表格在大多数情况下无需置空 data,但任需防范表格列组件的 :key 不会被更新的问题,比如关联表的数据列\n this.recycleTable.data = []\n this.getRecycleIndex()\n },\n ],\n ])\n\n const action = actionFun.get(event) || actionFun.get('default')\n action!.call(this)\n return this.runAfter('onTableHeaderAction', { event, data })\n }\n\n /**\n * 通用搜索初始化\n * @param query 要搜索的数据\n */\n initComSearch = (query: anyObj = {}) => {\n const form: anyObj = {}\n const field = this.table.column\n\n if (field.length <= 0) {\n return\n }\n\n for (const key in field) {\n if (field[key].operator === false) {\n continue\n }\n const prop = field[key].prop\n if (typeof field[key].operator === 'undefined') {\n field[key].operator = 'eq'\n }\n if (prop) {\n if (field[key].operator == 'RANGE' || field[key].operator == 'NOT RANGE') {\n form[prop] = ''\n form[prop + '-start'] = ''\n form[prop + '-end'] = ''\n } else if (field[key].operator == 'NULL' || field[key].operator == 'NOT NULL') {\n form[prop] = false\n } else {\n form[prop] = ''\n }\n\n // 初始化来自query中的默认值\n if (this.table.acceptQuery && typeof query[prop] !== 'undefined') {\n const queryProp = (query[prop] as string) ?? ''\n if (field[key].operator == 'RANGE' || field[key].operator == 'NOT RANGE') {\n const range = queryProp.split(',')\n if (field[key].render == 'datetime') {\n if (range && range.length >= 2) {\n form[prop + '-default'] = [new Date(range[0]), new Date(range[1])]\n }\n } else {\n form[prop + '-start'] = range[0] ?? ''\n form[prop + '-end'] = range[1] ?? ''\n }\n } else if (field[key].operator == 'NULL' || field[key].operator == 'NOT NULL') {\n form[prop] = !!queryProp\n } else if (field[key].render == 'datetime') {\n form[prop + '-default'] = new Date(queryProp)\n } else {\n form[prop] = queryProp\n }\n }\n\n this.comSearch.fieldData.set(prop, {\n operator: field[key].operator,\n render: field[key].render,\n comSearchRender: field[key].comSearchRender,\n })\n }\n }\n\n // 接受query再搜索\n if (this.table.acceptQuery) {\n const comSearchData: comSearchData[] = []\n for (const key in query) {\n const fieldDataTemp = this.comSearch.fieldData.get(key)\n if (fieldDataTemp) {\n comSearchData.push({\n field: key,\n val: query[key] as string,\n operator: fieldDataTemp.operator,\n render: fieldDataTemp.render,\n })\n }\n }\n this.table.filter!.search = comSearchData\n }\n\n this.comSearch.form = Object.assign(this.comSearch.form, form)\n }\n}\n"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ const _sfc_main = vue.defineComponent({
31
31
 
32
32
  return vue.h(draggable, subRule, {
33
33
  item: ({ element }) => {
34
- return vue.h('div', {}, keys[element.__fc__.key + 'fc'])
34
+ return vue.h('div', { class: 'drag-box-item' }, keys[element.__fc__.key + 'fc'])
35
35
  },
36
36
  })
37
37
  },
@@ -1 +1 @@
1
- {"version":3,"file":"DragBox.vue.js","sources":["../../../../src/page-diy/src/components/DragBox.vue"],"sourcesContent":["<script>\nimport { h, defineComponent } from 'vue'\nimport draggable from 'vuedraggable/src/vuedraggable'\n\nexport default defineComponent({\n name: 'DragBox',\n props: ['rule', 'tag', 'formCreateInject'],\n render(ctx) {\n const subRule = { ...ctx.$props.rule.props, ...ctx.$attrs }\n let _class = ctx.tag + '-drag drag-box'\n if (!Object.keys(ctx.$slots).length) {\n _class += ' ' + ctx.tag + '-holder'\n }\n subRule.class = _class\n subRule.modelValue = [...this.$props.formCreateInject.children]\n\n const keys = {}\n if (ctx.$slots.default) {\n // 这里报错 Unhandled error during execution of render function\n const children = ctx.$slots.default()\n children.forEach((v) => {\n if (v.key) {\n keys[v.key] = v\n }\n })\n }\n\n return h(draggable, subRule, {\n item: ({ element }) => {\n return h('div', {}, keys[element.__fc__.key + 'fc'])\n },\n })\n },\n})\n</script>\n"],"names":["defineComponent","h"],"mappings":";;;;;;;;AAIA,MAAK,SAAU,GAAGA,mBAAa,CAAA;AAC7B,EAAA,IAAI,EAAE,SAAS;AACf,EAAA,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,CAAC;EAC1C,MAAM,CAAC,GAAG,EAAE;IACV,MAAM,OAAM,GAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAO,GAAA;AAC1D,IAAA,IAAI,MAAK,GAAI,GAAG,CAAC,GAAI,GAAE,iBAAe;AACtC,IAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;MACnC,MAAK,IAAK,GAAI,GAAE,GAAG,CAAC,GAAE,GAAI,UAAQ;AACpC,KAAA;AACA,IAAA,OAAO,CAAC,KAAM,GAAE,OAAK;IACrB,OAAO,CAAC,UAAS,GAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAA;;IAE9D,MAAM,IAAK,GAAE,GAAC;IACd,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;;AAEtB,MAAA,MAAM,QAAO,GAAI,GAAG,CAAC,MAAM,CAAC,OAAO,GAAC;MACpC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AACtB,QAAA,IAAI,CAAC,CAAC,GAAG,EAAE;UACT,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA,GAAI,EAAA;AAChB,SAAA;OACD,EAAA;AACH,KAAA;;IAEA,OAAOC,KAAC,CAAC,SAAS,EAAE,OAAO,EAAE;AAC3B,MAAA,IAAI,EAAE,CAAC,EAAE,OAAM,EAAG,KAAK;QACrB,OAAOA,KAAC,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAI,GAAE,IAAI,CAAC,CAAA;OACpD;KACF,CAAA;GACF;AACH,CAAC,EAAA;;;;;"}
1
+ {"version":3,"file":"DragBox.vue.js","sources":["../../../../src/page-diy/src/components/DragBox.vue"],"sourcesContent":["<script>\nimport { h, defineComponent } from 'vue'\nimport draggable from 'vuedraggable/src/vuedraggable'\n\nexport default defineComponent({\n name: 'DragBox',\n props: ['rule', 'tag', 'formCreateInject'],\n render(ctx) {\n const subRule = { ...ctx.$props.rule.props, ...ctx.$attrs }\n let _class = ctx.tag + '-drag drag-box'\n if (!Object.keys(ctx.$slots).length) {\n _class += ' ' + ctx.tag + '-holder'\n }\n subRule.class = _class\n subRule.modelValue = [...this.$props.formCreateInject.children]\n\n const keys = {}\n if (ctx.$slots.default) {\n // 这里报错 Unhandled error during execution of render function\n const children = ctx.$slots.default()\n children.forEach((v) => {\n if (v.key) {\n keys[v.key] = v\n }\n })\n }\n\n return h(draggable, subRule, {\n item: ({ element }) => {\n return h('div', { class: 'drag-box-item' }, keys[element.__fc__.key + 'fc'])\n },\n })\n },\n})\n</script>\n"],"names":["defineComponent","h"],"mappings":";;;;;;;;AAIA,MAAK,SAAU,GAAGA,mBAAa,CAAA;AAC7B,EAAA,IAAI,EAAE,SAAS;AACf,EAAA,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,CAAC;EAC1C,MAAM,CAAC,GAAG,EAAE;IACV,MAAM,OAAM,GAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,MAAO,GAAA;AAC1D,IAAA,IAAI,MAAK,GAAI,GAAG,CAAC,GAAI,GAAE,iBAAe;AACtC,IAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;MACnC,MAAK,IAAK,GAAI,GAAE,GAAG,CAAC,GAAE,GAAI,UAAQ;AACpC,KAAA;AACA,IAAA,OAAO,CAAC,KAAM,GAAE,OAAK;IACrB,OAAO,CAAC,UAAS,GAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAA;;IAE9D,MAAM,IAAK,GAAE,GAAC;IACd,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;;AAEtB,MAAA,MAAM,QAAO,GAAI,GAAG,CAAC,MAAM,CAAC,OAAO,GAAC;MACpC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AACtB,QAAA,IAAI,CAAC,CAAC,GAAG,EAAE;UACT,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA,GAAI,EAAA;AAChB,SAAA;OACD,EAAA;AACH,KAAA;;IAEA,OAAOC,KAAC,CAAC,SAAS,EAAE,OAAO,EAAE;AAC3B,MAAA,IAAI,EAAE,CAAC,EAAE,OAAM,EAAG,KAAK;AACrB,QAAA,OAAOA,KAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,eAAgB,EAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAE,GAAI,IAAI,CAAC,CAAA;OAC5E;KACF,CAAA;GACF;AACH,CAAC,EAAA;;;;;"}
@@ -1 +1 @@
1
- @charset "UTF-8";._fc-l,._fc-m,._fc-r{background:#fff;box-sizing:border-box;height:calc(100vh - 180px);position:relative}._fc-l::-webkit-scrollbar,._fc-m::-webkit-scrollbar,._fc-r::-webkit-scrollbar{display:none}._fc-l{overflow:inherit!important;display:flex;flex:0 0 auto;flex-direction:column;top:0}._fc-l ._fc-l-group{padding:0 12px}._fc-l ._fc-l-title{font-weight:600;font-size:14px;margin:18px 0 5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}._fc-l ._fc-l-item{display:inline-block;background:#fff;color:#000;min-width:70px;width:80px;height:70px;line-height:1;text-align:center;transition:all .2s ease;cursor:pointer;border-radius:6px;position:relative}._fc-l ._fc-l-item.not-drag{cursor:not-allowed;background:#f6f6f6!important;color:#000!important}._fc-l ._fc-l-item ._fc-l-name{font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}._fc-l ._fc-l-item ._fc-l-count{background-color:#409eff;border-radius:10px;color:#fff;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #fff;position:absolute;top:5px;right:20px;z-index:1;transform:translateY(-50%) translateX(100%)}._fc-l ._fc-l-item ._fc-l-icon{padding:10px 5px 12px}._fc-l ._fc-l-item:hover{background:#409eff;color:#fff}._fc-l.item-box ._fc-l-groups{height:calc(100vh - 220px);overflow:auto;flex:1 1 0%}._fc-l.item-box ._fc-l-groups::-webkit-scrollbar{display:none}._fc-l.item-box ._fc-l-groups ._fc-l-items ._fc-l-item{margin:5px;width:76px;box-shadow:1px 1px 4px rgba(0,0,0,.1019607843)}._fc-l:hover .aside-toggle{display:block}._fc-l .children-list{width:100%;position:relative;background:#fff;bottom:0;overflow:auto;z-index:2}._fc-l .children-list .child-title{cursor:pointer;text-align:center;font-size:14px;padding:4px;position:-webkit-sticky;position:sticky;z-index:2;top:0;background:#fff;border-top:1px solid #eaecef;border-right:0}._fc-l .children-list .child-title .dk-icon{position:absolute;right:10px}._fc-l .children-list .child-title .dk-icon:hover{color:#409eff!important}._fc-l .children-list .el-tree-node .close-rule{position:absolute;right:0;display:none;padding:0 10px}._fc-l .children-list .el-tree-node .close-rule:hover{color:#409eff!important}._fc-l .children-list .el-tree-node:hover .close-rule{display:inline-flex}._fc-l .children-list .aside-resizer{width:100%;height:4px;margin:-2px 0;cursor:n-resize;z-index:3}._fc-l .children-list::-webkit-scrollbar{display:none}._fc-m{background:#ebeced;width:100%}._fc-m ._fc-m-tools{background:#fff;height:40px;align-items:center;display:flex;justify-content:flex-end;border:1px solid #ececec;border-top:0 none}._fc-m ._fc-m-drag{overflow:auto;box-sizing:border-box}._fc-m .form-create ._fc-l-item{background:#409eff;width:100%;height:30px;overflow:hidden;transition:all .3s ease;display:flex;justify-content:center;align-items:center;color:#fff}._fc-m .form-create ._fc-l-item.sortable-chosen ._fc-l-count,._fc-m .form-create ._fc-l-item.sortable-chosen ._fc-l-icon,._fc-m .form-create ._fc-l-item.sortable-chosen ._fc-l-name{display:none}._fc-m .form-create ._fc-l-item.sortable-chosen:after{content:"放在这里";color:#fff;font-size:14px}._fc-m .form-create ._fc-l-item ._fc-l-icon{margin:0 10px}._fc-r{width:calc(100% - 800px);overflow:inherit!important}._fc-r .el-tabs__nav-wrap{padding:0 20px}._fc-r .el-tabs__nav{width:100%}._fc-r .el-tabs__item{width:33%;text-align:center}._fc-r .el-tabs__content{padding:0 20px;height:calc(100vh - 235px);overflow:auto}._fc-r .el-tabs__content::-webkit-scrollbar{width:5px}._fc-r .el-tabs__nav-wrap::after{height:1px;background-color:#ececec}._fc-r ._fc-r-tabs{display:flex;cursor:pointer;padding:0;border-bottom:1px solid #ececec}._fc-r ._fc-r-tab{height:40px;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:600;color:#303133;position:relative;flex:1;text-align:center}._fc-r ._fc-r-tab.active{color:#409eff;border-bottom:2px solid #409eff}._fc-r:hover .aside-toggle{display:block}._fc-r .el-form-item__content{display:block}._fc-r .el-form-item__content .form-help{line-height:1.5;margin-top:4px;color:#888;font-size:12px}._fc-m-drag,.draggable-drag{min-height:630px;height:100%;position:relative}._fc-m-drag .chosen,.draggable-drag .chosen{opacity:1!important}.aside-resizer{cursor:ew-resize;height:100%;margin:0 -2px;position:absolute;top:0;width:4px;z-index:1;right:0}.aside-resizer:hover{background:rgba(204,204,204,.5)}.aside-toggle{background:inherit;cursor:pointer;padding:20px 5px;position:absolute;top:50%;transform:translateY(-50%);z-index:1;display:none}
1
+ @charset "UTF-8";._fc-l,._fc-m,._fc-r{background:#fff;box-sizing:border-box;height:calc(100vh - 180px);position:relative}._fc-l::-webkit-scrollbar,._fc-m::-webkit-scrollbar,._fc-r::-webkit-scrollbar{display:none}._fc-l{overflow:inherit!important;display:flex;flex:0 0 auto;flex-direction:column;top:0}._fc-l ._fc-l-group{padding:0 12px}._fc-l ._fc-l-title{font-weight:600;font-size:14px;margin:18px 0 5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}._fc-l ._fc-l-item{display:inline-block;background:#fff;color:#000;min-width:70px;width:80px;height:70px;line-height:1;text-align:center;transition:all .2s ease;cursor:pointer;border-radius:6px;position:relative}._fc-l ._fc-l-item.not-drag{cursor:not-allowed;background:#f6f6f6!important;color:#000!important}._fc-l ._fc-l-item ._fc-l-name{font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}._fc-l ._fc-l-item ._fc-l-count{background-color:#409eff;border-radius:10px;color:#fff;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #fff;position:absolute;top:5px;right:20px;z-index:1;transform:translateY(-50%) translateX(100%)}._fc-l ._fc-l-item ._fc-l-icon{padding:10px 5px 12px}._fc-l ._fc-l-item:hover{background:#409eff;color:#fff}._fc-l.item-box ._fc-l-groups{height:calc(100vh - 220px);overflow:auto;flex:1 1 0%}._fc-l.item-box ._fc-l-groups::-webkit-scrollbar{display:none}._fc-l.item-box ._fc-l-groups ._fc-l-items ._fc-l-item{margin:5px;width:76px;box-shadow:1px 1px 4px rgba(0,0,0,.1019607843)}._fc-l:hover .aside-toggle{display:block}._fc-l .children-list{width:100%;position:relative;background:#fff;bottom:0;overflow:auto;z-index:2}._fc-l .children-list .child-title{cursor:pointer;text-align:center;font-size:14px;padding:4px;position:-webkit-sticky;position:sticky;z-index:2;top:0;background:#fff;border-top:1px solid #eaecef;border-right:0}._fc-l .children-list .child-title .dk-icon{position:absolute;right:10px}._fc-l .children-list .child-title .dk-icon:hover{color:#409eff!important}._fc-l .children-list .el-tree-node .close-rule{position:absolute;right:0;display:none;padding:0 10px}._fc-l .children-list .el-tree-node .close-rule:hover{color:#409eff!important}._fc-l .children-list .el-tree-node:hover .close-rule{display:inline-flex}._fc-l .children-list .aside-resizer{width:100%;height:4px;margin:-2px 0;cursor:n-resize;z-index:3}._fc-l .children-list::-webkit-scrollbar{display:none}._fc-m{background:#ebeced;width:100%}._fc-m ._fc-m-tools{background:#fff;height:40px;align-items:center;display:flex;justify-content:flex-end;border:1px solid #ececec;border-top:0 none}._fc-m ._fc-m-drag{overflow:auto;box-sizing:border-box}._fc-m .form-create ._fc-l-item{background:#409eff;width:100%;height:30px;overflow:hidden;transition:all .3s ease;display:flex;justify-content:center;align-items:center;color:#fff}._fc-m .form-create ._fc-l-item.sortable-chosen ._fc-l-count,._fc-m .form-create ._fc-l-item.sortable-chosen ._fc-l-icon,._fc-m .form-create ._fc-l-item.sortable-chosen ._fc-l-name{display:none}._fc-m .form-create ._fc-l-item.sortable-chosen:after{content:"放在这里";color:#fff;font-size:14px}._fc-m .form-create ._fc-l-item ._fc-l-icon{margin:0 10px}._fc-r{width:calc(100% - 800px);overflow:inherit!important}._fc-r .el-tabs__nav-wrap{padding:0 20px}._fc-r .el-tabs__nav{width:100%}._fc-r .el-tabs__item{width:33%;text-align:center}._fc-r .el-tabs__content{padding:0 20px;height:calc(100vh - 235px);overflow:auto}._fc-r .el-tabs__content::-webkit-scrollbar{width:5px}._fc-r .el-tabs__nav-wrap::after{height:1px;background-color:#ececec}._fc-r ._fc-r-tabs{display:flex;cursor:pointer;padding:0;border-bottom:1px solid #ececec}._fc-r ._fc-r-tab{height:40px;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:600;color:#303133;position:relative;flex:1;text-align:center}._fc-r ._fc-r-tab.active{color:#409eff;border-bottom:2px solid #409eff}._fc-r:hover .aside-toggle{display:block}._fc-r .el-form-item__content{display:block}._fc-r .el-form-item__content .form-help{line-height:1.5;margin-top:4px;color:#888;font-size:12px}._fc-m-drag,.draggable-drag{min-height:630px;height:100%;position:relative}._fc-m-drag .drag-box-item,.draggable-drag .drag-box-item{overflow:auto}._fc-m-drag .chosen,.draggable-drag .chosen{opacity:1!important}.aside-resizer{cursor:ew-resize;height:100%;margin:0 -2px;position:absolute;top:0;width:4px;z-index:1;right:0}.aside-resizer:hover{background:rgba(204,204,204,.5)}.aside-toggle{background:inherit;cursor:pointer;padding:20px 5px;position:absolute;top:50%;transform:translateY(-50%);z-index:1;display:none}
@@ -306,6 +306,9 @@
306
306
  height: 100%;
307
307
  position: relative;
308
308
 
309
+ .drag-box-item {
310
+ overflow: auto;
311
+ }
309
312
  .chosen {
310
313
  opacity: 1 !important;
311
314
  }
@@ -1 +1 @@
1
- @charset "UTF-8";.dk-page-diy{min-width:1000px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dk-page-diy .drag-box{min-height:50px}.dk-page-diy ._fc-l,.dk-page-diy ._fc-m,.dk-page-diy ._fc-r{background:#fff;box-sizing:border-box;height:calc(100vh - 180px);position:relative}.dk-page-diy ._fc-l::-webkit-scrollbar,.dk-page-diy ._fc-m::-webkit-scrollbar,.dk-page-diy ._fc-r::-webkit-scrollbar{display:none}.dk-page-diy ._fc-l{overflow:inherit!important;display:flex;flex:0 0 auto;flex-direction:column;top:0}.dk-page-diy ._fc-l ._fc-l-group{padding:0 12px}.dk-page-diy ._fc-l ._fc-l-title{font-weight:600;font-size:14px;margin:18px 0 5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dk-page-diy ._fc-l ._fc-l-item{display:inline-block;background:#fff;color:#000;min-width:70px;width:80px;height:70px;line-height:1;text-align:center;transition:all .2s ease;cursor:pointer;border-radius:6px;position:relative}.dk-page-diy ._fc-l ._fc-l-item.not-drag{cursor:not-allowed;background:#f6f6f6!important;color:#000!important}.dk-page-diy ._fc-l ._fc-l-item ._fc-l-name{font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dk-page-diy ._fc-l ._fc-l-item ._fc-l-count{background-color:#409eff;border-radius:10px;color:#fff;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #fff;position:absolute;top:5px;right:20px;z-index:1;transform:translateY(-50%) translateX(100%)}.dk-page-diy ._fc-l ._fc-l-item ._fc-l-icon{padding:10px 5px 12px}.dk-page-diy ._fc-l ._fc-l-item:hover{background:#409eff;color:#fff}.dk-page-diy ._fc-l.item-box ._fc-l-groups{height:calc(100vh - 220px);overflow:auto;flex:1 1 0%}.dk-page-diy ._fc-l.item-box ._fc-l-groups::-webkit-scrollbar{display:none}.dk-page-diy ._fc-l.item-box ._fc-l-groups ._fc-l-items ._fc-l-item{margin:5px;width:76px;box-shadow:1px 1px 4px rgba(0,0,0,.1019607843)}.dk-page-diy ._fc-l:hover .aside-toggle{display:block}.dk-page-diy ._fc-l .children-list{width:100%;position:relative;background:#fff;bottom:0;overflow:auto;z-index:2}.dk-page-diy ._fc-l .children-list .child-title{cursor:pointer;text-align:center;font-size:14px;padding:4px;position:-webkit-sticky;position:sticky;z-index:2;top:0;background:#fff;border-top:1px solid #eaecef;border-right:0}.dk-page-diy ._fc-l .children-list .child-title .dk-icon{position:absolute;right:10px}.dk-page-diy ._fc-l .children-list .child-title .dk-icon:hover{color:#409eff!important}.dk-page-diy ._fc-l .children-list .el-tree-node .close-rule{position:absolute;right:0;display:none;padding:0 10px}.dk-page-diy ._fc-l .children-list .el-tree-node .close-rule:hover{color:#409eff!important}.dk-page-diy ._fc-l .children-list .el-tree-node:hover .close-rule{display:inline-flex}.dk-page-diy ._fc-l .children-list .aside-resizer{width:100%;height:4px;margin:-2px 0;cursor:n-resize;z-index:3}.dk-page-diy ._fc-l .children-list::-webkit-scrollbar{display:none}.dk-page-diy ._fc-m{background:#ebeced;width:100%}.dk-page-diy ._fc-m ._fc-m-tools{background:#fff;height:40px;align-items:center;display:flex;justify-content:flex-end;border:1px solid #ececec;border-top:0 none}.dk-page-diy ._fc-m ._fc-m-drag{overflow:auto;box-sizing:border-box}.dk-page-diy ._fc-m .form-create ._fc-l-item{background:#409eff;width:100%;height:30px;overflow:hidden;transition:all .3s ease;display:flex;justify-content:center;align-items:center;color:#fff}.dk-page-diy ._fc-m .form-create ._fc-l-item.sortable-chosen ._fc-l-count,.dk-page-diy ._fc-m .form-create ._fc-l-item.sortable-chosen ._fc-l-icon,.dk-page-diy ._fc-m .form-create ._fc-l-item.sortable-chosen ._fc-l-name{display:none}.dk-page-diy ._fc-m .form-create ._fc-l-item.sortable-chosen:after{content:"放在这里";color:#fff;font-size:14px}.dk-page-diy ._fc-m .form-create ._fc-l-item ._fc-l-icon{margin:0 10px}.dk-page-diy ._fc-r{width:calc(100% - 800px);overflow:inherit!important}.dk-page-diy ._fc-r .el-tabs__nav-wrap{padding:0 20px}.dk-page-diy ._fc-r .el-tabs__nav{width:100%}.dk-page-diy ._fc-r .el-tabs__item{width:33%;text-align:center}.dk-page-diy ._fc-r .el-tabs__content{padding:0 20px;height:calc(100vh - 235px);overflow:auto}.dk-page-diy ._fc-r .el-tabs__content::-webkit-scrollbar{width:5px}.dk-page-diy ._fc-r .el-tabs__nav-wrap::after{height:1px;background-color:#ececec}.dk-page-diy ._fc-r ._fc-r-tabs{display:flex;cursor:pointer;padding:0;border-bottom:1px solid #ececec}.dk-page-diy ._fc-r ._fc-r-tab{height:40px;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:600;color:#303133;position:relative;flex:1;text-align:center}.dk-page-diy ._fc-r ._fc-r-tab.active{color:#409eff;border-bottom:2px solid #409eff}.dk-page-diy ._fc-r:hover .aside-toggle{display:block}.dk-page-diy ._fc-r .el-form-item__content{display:block}.dk-page-diy ._fc-r .el-form-item__content .form-help{line-height:1.5;margin-top:4px;color:#888;font-size:12px}.dk-page-diy ._fc-m-drag,.dk-page-diy .draggable-drag{min-height:630px;height:100%;position:relative}.dk-page-diy ._fc-m-drag .chosen,.dk-page-diy .draggable-drag .chosen{opacity:1!important}.dk-page-diy .aside-resizer{cursor:ew-resize;height:100%;margin:0 -2px;position:absolute;top:0;width:4px;z-index:1;right:0}.dk-page-diy .aside-resizer:hover{background:rgba(204,204,204,.5)}.dk-page-diy .aside-toggle{background:inherit;cursor:pointer;padding:20px 5px;position:absolute;top:50%;transform:translateY(-50%);z-index:1;display:none}.dk-page-diy .drag-tool{padding:var(--padding);position:relative;min-height:var(--minHeight);box-sizing:border-box;word-wrap:break-word;word-break:break-all;margin:var(--margin);outline:var(--showDashed) dashed #a2d1ff;overflow:var(--overflow)}.dk-page-diy .drag-tool:hover{outline:2px dashed #a2d1ff}.dk-page-diy .drag-tool .drag-tool{margin:5px}.dk-page-diy .drag-tool+.drag-tool{margin-top:5px}.dk-page-diy .drag-tool .drag-content{overflow:hidden}.dk-page-diy .drag-tool .drag-content .drag-tool .del{right:0;top:0}.dk-page-diy .drag-tool .drag-r{display:block}.dk-page-diy .drag-tool .drag-r{position:absolute;right:2px;bottom:2px;z-index:1200}.dk-page-diy .drag-tool .drag-l{position:absolute;top:0;left:0;z-index:1904}.dk-page-diy .drag-tool .drag-btn{height:18px;width:18px;color:#fff;background-color:#666;text-align:center;line-height:20px;padding-bottom:1px;float:left;cursor:pointer;justify-content:center;display:none;opacity:.5}.dk-page-diy .drag-tool .drag-btn+.drag-btn{margin-left:2px}.dk-page-diy .drag-tool .drag-btn:hover{background-color:var(--el-color-primary);opacity:1}.dk-page-diy .drag-tool .drag-btn-danger{background-color:var(--el-color-danger)!important}.dk-page-diy .drag-tool .drag-btn i{font-size:13px}.dk-page-diy .drag-tool .drag-mask{z-index:1199;position:absolute;top:0;left:0;right:0;bottom:0}.dk-page-diy .drag-tool.active{outline:2px solid #409eff}.dk-page-diy .drag-tool.active>.drag-r .drag-btn{display:block}.dk-page-diy .drag-tool.active>.drag-l .drag-btn{display:block}.dk-page-diy .drag-tool.active>.del{display:block}.dk-page-diy .drag-tool.active>.op{display:block}.dk-page-diy .preview-phone{overflow:auto;box-shadow:inset 0 2px 5px 1px rgba(62,62,62,.0901960784);height:100%}.dk-page-diy .preview-phone::-webkit-scrollbar{width:8px}.dk-page-diy .preview-phone .phone{background:#fff;width:375px;margin:20px auto;box-shadow:0 5px 10px rgba(0,0,0,.2);min-height:700px}.dk-page-diy .preview-phone .phone .phone-header{height:75px;margin-bottom:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dk-page-diy .preview-phone .phone .phone-header img{width:100%}.dk-page-diy .preview-phone .phone .phone-header .phone-header-top{display:flex;align-items:flex-start;justify-content:space-between;height:30px;font-size:12px}.dk-page-diy .preview-phone .phone .phone-header .phone-header-top .phone-time{margin:10px}.dk-page-diy .preview-phone .phone .phone-header .phone-header-top .phone-time span{margin-right:5px}.dk-page-diy .preview-phone .phone .phone-header .phone-header-top .phone-bangs{background:#000;width:200px;height:30px;border-bottom-right-radius:20px;border-bottom-left-radius:20px}.dk-page-diy .preview-phone .phone .phone-header .phone-header-top .phone-battery{margin:10px;display:flex;align-items:center;height:18px}.dk-page-diy .preview-phone .phone .phone-header .phone-header-top .phone-battery img{margin-left:5px}.dk-page-diy .preview-phone .phone .phone-header .phone-title{display:flex;justify-content:space-between;align-items:center;height:40px}.dk-page-diy .preview-phone .phone .phone-header .phone-title .phone-title-icon{margin:5px}.dk-page-diy .preview-phone .phone .phone-header-min{background-image:url(https://demo-saas.site.niucloud.com/admin/assets/diy_preview_head-8c072698.png);background-repeat:no-repeat;background-position:center;background-size:cover;position:relative}.dk-page-diy .preview-phone .phone .phone-header-min .close-button{position:absolute;top:34px;right:27px}.dk-page-diy .preview-phone .phone .phone-header-min .close-button:hover .close-button-mask{background:rgba(0,0,0,.0666666667)}.dk-page-diy .preview-phone .phone .phone-header-min .close-button .close-button-mask{width:20px;height:20px;border-radius:100%;cursor:pointer}.dk-page-diy .preview-phone .phone .phone-header-min .more-button-mask{position:absolute;top:34px;right:70px;width:25px;cursor:pointer;border-radius:40px;height:20px}.dk-page-diy .preview-phone .phone .phone-header-min .more-button-mask:hover{background:rgba(0,0,0,.0666666667)}.dk-page-diy .preview-phone .phone .phone-body{background:#f5f5f5;background-size:100% auto!important;overflow:visible;background-repeat:no-repeat;background-origin:initial;background-clip:initial}.dk-page-diy .preview-phone .phone .phone-body .ghost{box-shadow:var(--el-box-shadow)}.dk-page-diy .dk-view-bullet-chat{height:30px;line-height:30px;color:#fff;background:rgba(0,0,0,.6);border-radius:100px}.dk-page-diy .dk-view-bullet-chat .bullet-content{display:flex;align-items:center;height:20px;margin:5px;font-size:12px}.dk-page-diy .dk-view-bullet-chat .bullet-content img{width:20px;height:20px;border-radius:100%}.dk-page-diy .dk-view-bullet-chat .bullet-content span{padding:0 5px}.dk-page-diy .dk-view-common-btn .btn{display:flex;align-items:center;justify-content:center}.dk-page-diy .dk-view-common-btn .btn .van-icon{font-size:1.2em}.dk-page-diy .dk-view-common-btn .f-btn{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly}.dk-page-diy .dk-view-common-btn .f-btn .image-content{display:inherit}.dk-page-diy .dk-view-common-btn .f-btn .f-btn-content{display:flex;align-items:center;justify-content:center;border-radius:100%}.dk-page-diy .dk-view-common-btn .f-img{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly}.dk-page-diy .dk-view-image.dk-mobile-image-default{display:flex;flex-direction:column}.dk-page-diy .dk-view-image.dk-mobile-image-default .van-image{display:block}.dk-page-diy .dk-view-image.dk-mobile-image-default .dk-mobile-image-content{display:block}.dk-page-diy .dk-view-image.dk-mobile-image-slide{width:100%;overflow-x:scroll;white-space:nowrap}.dk-page-diy .dk-view-image.dk-mobile-image-slide .dk-mobile-image-content{position:relative;display:inline-block;margin-right:10px;vertical-align:top}.dk-page-diy .dk-view-image .dk-mobile-image-content{position:relative;overflow:hidden}.dk-page-diy .dk-view-image .dk-mobile-image-content:last-child{margin:0!important}.dk-page-diy .dk-view-image .dk-mobile-image-content .text-type-footer{text-align:center;height:48px;line-height:48px}.dk-page-diy .dk-view-image .dk-mobile-image-content .text-type-default{color:#fff;text-align:center;position:absolute;background:linear-gradient(180deg,transparent,rgba(0,0,0,.75));bottom:0;height:48px;line-height:48px;width:100%}.dk-page-diy .dk-view-dialog .preview{display:flex;align-items:center;justify-content:center;height:40px;text-align:center;background:#fff}.dk-page-diy .dk-view-music{width:100%;display:flex;align-items:center;justify-content:center}.dk-page-diy .dk-view-music .dk-music-icon{background:#fff;border-radius:100%;border:2px solid #fff;font-weight:800;box-sizing:content-box;color:#f56c6c}.dk-page-diy .dk-view-music .dk-music-img{border-radius:100%}.dk-page-diy .dk-view-music .changeRight{-webkit-animation-name:changeRight;animation-name:changeRight}.dk-page-diy .dk-view-music .changeLeft{-webkit-animation-name:changeLeft;animation-name:changeLeft}@-webkit-keyframes changeRight{0%{-webkit-transform:rotate(0)}50%{-webkit-transform:rotate(180deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes changeRight{0%{-webkit-transform:rotate(0)}50%{-webkit-transform:rotate(180deg)}100%{-webkit-transform:rotate(360deg)}}@-webkit-keyframes changeLeft{0%{-webkit-transform:rotate(0)}50%{-webkit-transform:rotate(-180deg)}100%{-webkit-transform:rotate(-360deg)}}@keyframes changeLeft{0%{-webkit-transform:rotate(0)}50%{-webkit-transform:rotate(-180deg)}100%{-webkit-transform:rotate(-360deg)}}.dk-page-diy .dk-view-swipe .image{width:100%}.dk-page-diy .dk-view-tabbar .van-tabbar,.dk-page-diy .dk-view-tabbar .van-tabbar-item--active{background:0 0}.dk-page-diy .dk-view-title{display:flex;align-items:center;justify-content:space-between}.dk-page-diy .dk-view-title .title-left{display:flex;align-items:center}.dk-page-diy .dk-view-video{display:flex;align-items:center;justify-content:center;width:100%;min-height:240px;color:#eee;background:#222}.dk-page-diy .dk-view-video .dk-video-content{width:100%;height:100%;text-align:center}.dk-page-diy .dk-view-video .dk-video-content p{font-size:12px;color:#999}.dk-page-diy .dk-view-video .dk-video-content .poster{width:100%;height:100%}.dk-page-diy .dk-view-video .el-icon-video-play{font-size:50px}.dk-page-diy .dk-view-video .video-preview{position:absolute;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:#000;opacity:.8}.dk-page-diy .dk-min-swipe .image{width:100%}.dk-page-diy .dk-min-swipe .swipe-title{position:absolute;bottom:0;background:rgba(0,0,0,.3333333333);width:100%;color:#fff;padding:5px}.dk-page-diy .dk-min-area{position:relative}.dk-page-diy .hot-item{display:flex;align-items:center;justify-content:center;color:#fff}.diy-cloud .diy-header{display:flex;justify-content:space-between}.diy-cloud .diy-header .diy-search{width:500px;display:flex;align-items:center}.diy-cloud .diy-content{padding:20px 0}.diy-cloud .diy-content ul{height:520px}.diy-cloud .diy-content ul li{float:left;width:calc(16.6% - 10px);text-align:center;margin:5px;position:relative;transition:all .3s ease 0s;cursor:pointer;border-radius:10px;overflow:hidden;border:1px solid #ccc}.diy-cloud .diy-content ul li .cover{width:180px;height:240px;transition:all .3s ease 0s}.diy-cloud .diy-content ul li .title{position:absolute;bottom:0;padding:4px 10px;background:#fff;color:#000;text-align:center;width:100%}.diy-cloud .diy-content ul li .type{position:absolute;bottom:40px;padding:4px 10px;color:#000;text-align:center;width:100%}.diy-cloud .diy-content ul li .tag-list{position:absolute;bottom:30px;padding:4px 10px;color:#000;text-align:right;width:100%}.diy-cloud .diy-content ul li .tag-list .tag{font-size:12px;margin-top:17px;text-align:right;padding:2px 6px;top:180px;right:6px;background-color:rgba(0,0,0,.6);color:#fff;border-radius:4px;margin-left:5px}.diy-cloud .diy-content ul li .mask{position:absolute;height:240px;width:180px;top:0;background:rgba(0,0,0,.3019607843)}.diy-cloud .diy-content ul li:hover{box-shadow:0 4px 12px 0 rgba(0,13,71,.2)}.diy-cloud .diy-content ul li.choose{transition:all .1s ease 0s;border:1px solid #1989fa}.diy-cloud .diy-footer{text-align:center;padding:10px}
1
+ @charset "UTF-8";.dk-page-diy{min-width:1000px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dk-page-diy ._fc-l,.dk-page-diy ._fc-m,.dk-page-diy ._fc-r{background:#fff;box-sizing:border-box;height:calc(100vh - 180px);position:relative}.dk-page-diy ._fc-l::-webkit-scrollbar,.dk-page-diy ._fc-m::-webkit-scrollbar,.dk-page-diy ._fc-r::-webkit-scrollbar{display:none}.dk-page-diy ._fc-l{overflow:inherit!important;display:flex;flex:0 0 auto;flex-direction:column;top:0}.dk-page-diy ._fc-l ._fc-l-group{padding:0 12px}.dk-page-diy ._fc-l ._fc-l-title{font-weight:600;font-size:14px;margin:18px 0 5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dk-page-diy ._fc-l ._fc-l-item{display:inline-block;background:#fff;color:#000;min-width:70px;width:80px;height:70px;line-height:1;text-align:center;transition:all .2s ease;cursor:pointer;border-radius:6px;position:relative}.dk-page-diy ._fc-l ._fc-l-item.not-drag{cursor:not-allowed;background:#f6f6f6!important;color:#000!important}.dk-page-diy ._fc-l ._fc-l-item ._fc-l-name{font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dk-page-diy ._fc-l ._fc-l-item ._fc-l-count{background-color:#409eff;border-radius:10px;color:#fff;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #fff;position:absolute;top:5px;right:20px;z-index:1;transform:translateY(-50%) translateX(100%)}.dk-page-diy ._fc-l ._fc-l-item ._fc-l-icon{padding:10px 5px 12px}.dk-page-diy ._fc-l ._fc-l-item:hover{background:#409eff;color:#fff}.dk-page-diy ._fc-l.item-box ._fc-l-groups{height:calc(100vh - 220px);overflow:auto;flex:1 1 0%}.dk-page-diy ._fc-l.item-box ._fc-l-groups::-webkit-scrollbar{display:none}.dk-page-diy ._fc-l.item-box ._fc-l-groups ._fc-l-items ._fc-l-item{margin:5px;width:76px;box-shadow:1px 1px 4px rgba(0,0,0,.1019607843)}.dk-page-diy ._fc-l:hover .aside-toggle{display:block}.dk-page-diy ._fc-l .children-list{width:100%;position:relative;background:#fff;bottom:0;overflow:auto;z-index:2}.dk-page-diy ._fc-l .children-list .child-title{cursor:pointer;text-align:center;font-size:14px;padding:4px;position:-webkit-sticky;position:sticky;z-index:2;top:0;background:#fff;border-top:1px solid #eaecef;border-right:0}.dk-page-diy ._fc-l .children-list .child-title .dk-icon{position:absolute;right:10px}.dk-page-diy ._fc-l .children-list .child-title .dk-icon:hover{color:#409eff!important}.dk-page-diy ._fc-l .children-list .el-tree-node .close-rule{position:absolute;right:0;display:none;padding:0 10px}.dk-page-diy ._fc-l .children-list .el-tree-node .close-rule:hover{color:#409eff!important}.dk-page-diy ._fc-l .children-list .el-tree-node:hover .close-rule{display:inline-flex}.dk-page-diy ._fc-l .children-list .aside-resizer{width:100%;height:4px;margin:-2px 0;cursor:n-resize;z-index:3}.dk-page-diy ._fc-l .children-list::-webkit-scrollbar{display:none}.dk-page-diy ._fc-m{background:#ebeced;width:100%}.dk-page-diy ._fc-m ._fc-m-tools{background:#fff;height:40px;align-items:center;display:flex;justify-content:flex-end;border:1px solid #ececec;border-top:0 none}.dk-page-diy ._fc-m ._fc-m-drag{overflow:auto;box-sizing:border-box}.dk-page-diy ._fc-m .form-create ._fc-l-item{background:#409eff;width:100%;height:30px;overflow:hidden;transition:all .3s ease;display:flex;justify-content:center;align-items:center;color:#fff}.dk-page-diy ._fc-m .form-create ._fc-l-item.sortable-chosen ._fc-l-count,.dk-page-diy ._fc-m .form-create ._fc-l-item.sortable-chosen ._fc-l-icon,.dk-page-diy ._fc-m .form-create ._fc-l-item.sortable-chosen ._fc-l-name{display:none}.dk-page-diy ._fc-m .form-create ._fc-l-item.sortable-chosen:after{content:"放在这里";color:#fff;font-size:14px}.dk-page-diy ._fc-m .form-create ._fc-l-item ._fc-l-icon{margin:0 10px}.dk-page-diy ._fc-r{width:calc(100% - 800px);overflow:inherit!important}.dk-page-diy ._fc-r .el-tabs__nav-wrap{padding:0 20px}.dk-page-diy ._fc-r .el-tabs__nav{width:100%}.dk-page-diy ._fc-r .el-tabs__item{width:33%;text-align:center}.dk-page-diy ._fc-r .el-tabs__content{padding:0 20px;height:calc(100vh - 235px);overflow:auto}.dk-page-diy ._fc-r .el-tabs__content::-webkit-scrollbar{width:5px}.dk-page-diy ._fc-r .el-tabs__nav-wrap::after{height:1px;background-color:#ececec}.dk-page-diy ._fc-r ._fc-r-tabs{display:flex;cursor:pointer;padding:0;border-bottom:1px solid #ececec}.dk-page-diy ._fc-r ._fc-r-tab{height:40px;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:600;color:#303133;position:relative;flex:1;text-align:center}.dk-page-diy ._fc-r ._fc-r-tab.active{color:#409eff;border-bottom:2px solid #409eff}.dk-page-diy ._fc-r:hover .aside-toggle{display:block}.dk-page-diy ._fc-r .el-form-item__content{display:block}.dk-page-diy ._fc-r .el-form-item__content .form-help{line-height:1.5;margin-top:4px;color:#888;font-size:12px}.dk-page-diy ._fc-m-drag,.dk-page-diy .draggable-drag{min-height:630px;height:100%;position:relative}.dk-page-diy ._fc-m-drag .drag-box-item,.dk-page-diy .draggable-drag .drag-box-item{overflow:auto}.dk-page-diy ._fc-m-drag .chosen,.dk-page-diy .draggable-drag .chosen{opacity:1!important}.dk-page-diy .aside-resizer{cursor:ew-resize;height:100%;margin:0 -2px;position:absolute;top:0;width:4px;z-index:1;right:0}.dk-page-diy .aside-resizer:hover{background:rgba(204,204,204,.5)}.dk-page-diy .aside-toggle{background:inherit;cursor:pointer;padding:20px 5px;position:absolute;top:50%;transform:translateY(-50%);z-index:1;display:none}.dk-page-diy .drag-tool{padding:var(--padding);position:relative;min-height:var(--minHeight);box-sizing:border-box;word-wrap:break-word;word-break:break-all;margin:var(--margin);outline:var(--showDashed) dashed #a2d1ff;overflow:var(--overflow)}.dk-page-diy .drag-tool:hover{outline:2px dashed #a2d1ff}.dk-page-diy .drag-tool .drag-tool{margin:5px}.dk-page-diy .drag-tool+.drag-tool{margin-top:5px}.dk-page-diy .drag-tool .drag-content{overflow:hidden}.dk-page-diy .drag-tool .drag-content .drag-tool .del{right:0;top:0}.dk-page-diy .drag-tool .drag-r{display:block}.dk-page-diy .drag-tool .drag-r{position:absolute;right:2px;bottom:2px;z-index:1200}.dk-page-diy .drag-tool .drag-l{position:absolute;top:0;left:0;z-index:1904}.dk-page-diy .drag-tool .drag-btn{height:18px;width:18px;color:#fff;background-color:#666;text-align:center;line-height:20px;padding-bottom:1px;float:left;cursor:pointer;justify-content:center;display:none;opacity:.5}.dk-page-diy .drag-tool .drag-btn+.drag-btn{margin-left:2px}.dk-page-diy .drag-tool .drag-btn:hover{background-color:var(--el-color-primary);opacity:1}.dk-page-diy .drag-tool .drag-btn-danger{background-color:var(--el-color-danger)!important}.dk-page-diy .drag-tool .drag-btn i{font-size:13px}.dk-page-diy .drag-tool .drag-mask{z-index:1199;position:absolute;top:0;left:0;right:0;bottom:0}.dk-page-diy .drag-tool.active{outline:2px solid #409eff}.dk-page-diy .drag-tool.active>.drag-r .drag-btn{display:block}.dk-page-diy .drag-tool.active>.drag-l .drag-btn{display:block}.dk-page-diy .drag-tool.active>.del{display:block}.dk-page-diy .drag-tool.active>.op{display:block}.dk-page-diy .preview-phone{overflow:auto;box-shadow:inset 0 2px 5px 1px rgba(62,62,62,.0901960784);height:100%}.dk-page-diy .preview-phone::-webkit-scrollbar{width:8px}.dk-page-diy .preview-phone .phone{background:#fff;width:375px;margin:20px auto;box-shadow:0 5px 10px rgba(0,0,0,.2);min-height:700px}.dk-page-diy .preview-phone .phone .phone-header{height:75px;margin-bottom:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dk-page-diy .preview-phone .phone .phone-header img{width:100%}.dk-page-diy .preview-phone .phone .phone-header .phone-header-top{display:flex;align-items:flex-start;justify-content:space-between;height:30px;font-size:12px}.dk-page-diy .preview-phone .phone .phone-header .phone-header-top .phone-time{margin:10px}.dk-page-diy .preview-phone .phone .phone-header .phone-header-top .phone-time span{margin-right:5px}.dk-page-diy .preview-phone .phone .phone-header .phone-header-top .phone-bangs{background:#000;width:200px;height:30px;border-bottom-right-radius:20px;border-bottom-left-radius:20px}.dk-page-diy .preview-phone .phone .phone-header .phone-header-top .phone-battery{margin:10px;display:flex;align-items:center;height:18px}.dk-page-diy .preview-phone .phone .phone-header .phone-header-top .phone-battery img{margin-left:5px}.dk-page-diy .preview-phone .phone .phone-header .phone-title{display:flex;justify-content:space-between;align-items:center;height:40px}.dk-page-diy .preview-phone .phone .phone-header .phone-title .phone-title-icon{margin:5px}.dk-page-diy .preview-phone .phone .phone-header-min{background-image:url(https://demo-saas.site.niucloud.com/admin/assets/diy_preview_head-8c072698.png);background-repeat:no-repeat;background-position:center;background-size:cover;position:relative}.dk-page-diy .preview-phone .phone .phone-header-min .close-button{position:absolute;top:34px;right:27px}.dk-page-diy .preview-phone .phone .phone-header-min .close-button:hover .close-button-mask{background:rgba(0,0,0,.0666666667)}.dk-page-diy .preview-phone .phone .phone-header-min .close-button .close-button-mask{width:20px;height:20px;border-radius:100%;cursor:pointer}.dk-page-diy .preview-phone .phone .phone-header-min .more-button-mask{position:absolute;top:34px;right:70px;width:25px;cursor:pointer;border-radius:40px;height:20px}.dk-page-diy .preview-phone .phone .phone-header-min .more-button-mask:hover{background:rgba(0,0,0,.0666666667)}.dk-page-diy .preview-phone .phone .phone-body{background:#f5f5f5;background-size:100% auto!important;overflow:visible;background-repeat:no-repeat;background-origin:initial;background-clip:initial}.dk-page-diy .preview-phone .phone .phone-body .ghost{box-shadow:var(--el-box-shadow)}.dk-page-diy .dk-view-bullet-chat{height:30px;line-height:30px;color:#fff;background:rgba(0,0,0,.6);border-radius:100px}.dk-page-diy .dk-view-bullet-chat .bullet-content{display:flex;align-items:center;height:20px;margin:5px;font-size:12px}.dk-page-diy .dk-view-bullet-chat .bullet-content img{width:20px;height:20px;border-radius:100%}.dk-page-diy .dk-view-bullet-chat .bullet-content span{padding:0 5px}.dk-page-diy .dk-view-common-btn .btn{display:flex;align-items:center;justify-content:center}.dk-page-diy .dk-view-common-btn .btn .van-icon{font-size:1.2em}.dk-page-diy .dk-view-common-btn .f-btn{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly}.dk-page-diy .dk-view-common-btn .f-btn .image-content{display:inherit}.dk-page-diy .dk-view-common-btn .f-btn .f-btn-content{display:flex;align-items:center;justify-content:center;border-radius:100%}.dk-page-diy .dk-view-common-btn .f-img{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly}.dk-page-diy .dk-view-image.dk-mobile-image-default{display:flex;flex-direction:column}.dk-page-diy .dk-view-image.dk-mobile-image-default .van-image{display:block}.dk-page-diy .dk-view-image.dk-mobile-image-default .dk-mobile-image-content{display:block}.dk-page-diy .dk-view-image.dk-mobile-image-slide{width:100%;overflow-x:scroll;white-space:nowrap}.dk-page-diy .dk-view-image.dk-mobile-image-slide .dk-mobile-image-content{position:relative;display:inline-block;margin-right:10px;vertical-align:top}.dk-page-diy .dk-view-image .dk-mobile-image-content{position:relative;overflow:hidden}.dk-page-diy .dk-view-image .dk-mobile-image-content:last-child{margin:0!important}.dk-page-diy .dk-view-image .dk-mobile-image-content .text-type-footer{text-align:center;height:48px;line-height:48px}.dk-page-diy .dk-view-image .dk-mobile-image-content .text-type-default{color:#fff;text-align:center;position:absolute;background:linear-gradient(180deg,transparent,rgba(0,0,0,.75));bottom:0;height:48px;line-height:48px;width:100%}.dk-page-diy .dk-view-dialog .preview{display:flex;align-items:center;justify-content:center;height:40px;text-align:center;background:#fff}.dk-page-diy .dk-view-music{width:100%;display:flex;align-items:center;justify-content:center}.dk-page-diy .dk-view-music .dk-music-icon{background:#fff;border-radius:100%;border:2px solid #fff;font-weight:800;box-sizing:content-box;color:#f56c6c}.dk-page-diy .dk-view-music .dk-music-img{border-radius:100%}.dk-page-diy .dk-view-music .changeRight{-webkit-animation-name:changeRight;animation-name:changeRight}.dk-page-diy .dk-view-music .changeLeft{-webkit-animation-name:changeLeft;animation-name:changeLeft}@-webkit-keyframes changeRight{0%{-webkit-transform:rotate(0)}50%{-webkit-transform:rotate(180deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes changeRight{0%{-webkit-transform:rotate(0)}50%{-webkit-transform:rotate(180deg)}100%{-webkit-transform:rotate(360deg)}}@-webkit-keyframes changeLeft{0%{-webkit-transform:rotate(0)}50%{-webkit-transform:rotate(-180deg)}100%{-webkit-transform:rotate(-360deg)}}@keyframes changeLeft{0%{-webkit-transform:rotate(0)}50%{-webkit-transform:rotate(-180deg)}100%{-webkit-transform:rotate(-360deg)}}.dk-page-diy .dk-view-swipe .image{width:100%}.dk-page-diy .dk-view-tabbar .van-tabbar,.dk-page-diy .dk-view-tabbar .van-tabbar-item--active{background:0 0}.dk-page-diy .dk-view-title{display:flex;align-items:center;justify-content:space-between}.dk-page-diy .dk-view-title .title-left{display:flex;align-items:center}.dk-page-diy .dk-view-video{display:flex;align-items:center;justify-content:center;width:100%;min-height:240px;color:#eee;background:#222}.dk-page-diy .dk-view-video .dk-video-content{width:100%;height:100%;text-align:center}.dk-page-diy .dk-view-video .dk-video-content p{font-size:12px;color:#999}.dk-page-diy .dk-view-video .dk-video-content .poster{width:100%;height:100%}.dk-page-diy .dk-view-video .el-icon-video-play{font-size:50px}.dk-page-diy .dk-view-video .video-preview{position:absolute;top:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:#000;opacity:.8}.dk-page-diy .dk-min-swipe .image{width:100%}.dk-page-diy .dk-min-swipe .swipe-title{position:absolute;bottom:0;background:rgba(0,0,0,.3333333333);width:100%;color:#fff;padding:5px}.dk-page-diy .dk-min-area{position:relative}.dk-page-diy .hot-item{display:flex;align-items:center;justify-content:center;color:#fff}.diy-cloud .diy-header{display:flex;justify-content:space-between}.diy-cloud .diy-header .diy-search{width:500px;display:flex;align-items:center}.diy-cloud .diy-content{padding:20px 0}.diy-cloud .diy-content ul{height:520px}.diy-cloud .diy-content ul li{float:left;width:calc(16.6% - 10px);text-align:center;margin:5px;position:relative;transition:all .3s ease 0s;cursor:pointer;border-radius:10px;overflow:hidden;border:1px solid #ccc}.diy-cloud .diy-content ul li .cover{width:180px;height:240px;transition:all .3s ease 0s}.diy-cloud .diy-content ul li .title{position:absolute;bottom:0;padding:4px 10px;background:#fff;color:#000;text-align:center;width:100%}.diy-cloud .diy-content ul li .type{position:absolute;bottom:40px;padding:4px 10px;color:#000;text-align:center;width:100%}.diy-cloud .diy-content ul li .tag-list{position:absolute;bottom:30px;padding:4px 10px;color:#000;text-align:right;width:100%}.diy-cloud .diy-content ul li .tag-list .tag{font-size:12px;margin-top:17px;text-align:right;padding:2px 6px;top:180px;right:6px;background-color:rgba(0,0,0,.6);color:#fff;border-radius:4px;margin-left:5px}.diy-cloud .diy-content ul li .mask{position:absolute;height:240px;width:180px;top:0;background:rgba(0,0,0,.3019607843)}.diy-cloud .diy-content ul li:hover{box-shadow:0 4px 12px 0 rgba(0,13,71,.2)}.diy-cloud .diy-content ul li.choose{transition:all .1s ease 0s;border:1px solid #1989fa}.diy-cloud .diy-footer{text-align:center;padding:10px}
@@ -2,14 +2,13 @@
2
2
  .dk-page-diy {
3
3
  min-width: 1000px;
4
4
  user-select: none;
5
- .drag-box {
6
- min-height: 50px;
7
- }
5
+
8
6
  @import './dk-page-diy';
9
7
  @import './drag-tool';
10
8
  @import './preview-phone';
11
9
  @import './views';
12
10
  @import './minViews';
13
11
  }
12
+
14
13
  @import './cloud';
15
14
  /* stylelint-enable */
@@ -5,6 +5,8 @@ export declare const Table: import("@vipl520/utils").WithInstall<{
5
5
  $props: {
6
6
  tableApi?: string | undefined;
7
7
  cacheTable?: boolean | undefined;
8
+ tableBefore?: Record<string, any> | undefined;
9
+ tableAfter?: Record<string, any> | undefined;
8
10
  style?: unknown;
9
11
  key?: string | number | symbol | undefined;
10
12
  ref?: import("vue").VNodeRef | undefined;
@@ -72,6 +74,14 @@ export declare const Table: import("@vipl520/utils").WithInstall<{
72
74
  default: boolean;
73
75
  type: BooleanConstructor;
74
76
  };
77
+ tableBefore: {
78
+ default: () => {};
79
+ type: ObjectConstructor;
80
+ };
81
+ tableAfter: {
82
+ default: () => {};
83
+ type: ObjectConstructor;
84
+ };
75
85
  }>>, {
76
86
  DkTable: import("./utils/dkTable").default;
77
87
  TableRef: import("vue").Ref<any>;
@@ -79,6 +89,8 @@ export declare const Table: import("@vipl520/utils").WithInstall<{
79
89
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
80
90
  tableApi: string;
81
91
  cacheTable: boolean;
92
+ tableBefore: Record<string, any>;
93
+ tableAfter: Record<string, any>;
82
94
  }, {}, string, {}> & {
83
95
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
84
96
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -108,6 +120,14 @@ export declare const Table: import("@vipl520/utils").WithInstall<{
108
120
  default: boolean;
109
121
  type: BooleanConstructor;
110
122
  };
123
+ tableBefore: {
124
+ default: () => {};
125
+ type: ObjectConstructor;
126
+ };
127
+ tableAfter: {
128
+ default: () => {};
129
+ type: ObjectConstructor;
130
+ };
111
131
  }>> & import("vue").ShallowUnwrapRef<{
112
132
  DkTable: import("./utils/dkTable").default;
113
133
  TableRef: import("vue").Ref<any>;
@@ -125,6 +145,14 @@ export declare const Table: import("@vipl520/utils").WithInstall<{
125
145
  default: boolean;
126
146
  type: BooleanConstructor;
127
147
  };
148
+ tableBefore: {
149
+ default: () => {};
150
+ type: ObjectConstructor;
151
+ };
152
+ tableAfter: {
153
+ default: () => {};
154
+ type: ObjectConstructor;
155
+ };
128
156
  }>>, {
129
157
  DkTable: import("./utils/dkTable").default;
130
158
  TableRef: import("vue").Ref<any>;
@@ -132,6 +160,8 @@ export declare const Table: import("@vipl520/utils").WithInstall<{
132
160
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
133
161
  tableApi: string;
134
162
  cacheTable: boolean;
163
+ tableBefore: Record<string, any>;
164
+ tableAfter: Record<string, any>;
135
165
  }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
136
166
  $slots: Partial<Record<NonNullable<string | number>, (_: {}) => any>> & Partial<Record<string, (_: any) => any>> & {
137
167
  columnPrepend?(_: {}): any;
@@ -8,5 +8,13 @@ export declare const tableProps: {
8
8
  default: boolean;
9
9
  type: BooleanConstructor;
10
10
  };
11
+ tableBefore: {
12
+ default: () => {};
13
+ type: ObjectConstructor;
14
+ };
15
+ tableAfter: {
16
+ default: () => {};
17
+ type: ObjectConstructor;
18
+ };
11
19
  };
12
20
  export type TableProps = ExtractPropTypes<typeof tableProps>;
@@ -8,6 +8,18 @@ const tableProps = {
8
8
  cacheTable: {
9
9
  default: true,
10
10
  type: Boolean
11
+ },
12
+ tableBefore: {
13
+ default: () => {
14
+ return {};
15
+ },
16
+ type: Object
17
+ },
18
+ tableAfter: {
19
+ default: () => {
20
+ return {};
21
+ },
22
+ type: Object
11
23
  }
12
24
  // ...ElTableNext.props,
13
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sources":["../../../src/table/src/props.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n// import ElTableNext from 'el-table-next'\n\nexport const tableProps = {\n tableApi: {\n default: '',\n type: String,\n },\n cacheTable: {\n default: true,\n type: Boolean,\n },\n // ...ElTableNext.props,\n}\n\nexport type TableProps = ExtractPropTypes<typeof tableProps>\n"],"names":[],"mappings":";;AAGO,MAAM,UAAa,GAAA;AAAA,EACxB,QAAU,EAAA;AAAA,IACR,OAAS,EAAA,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,UAAY,EAAA;AAAA,IACV,OAAS,EAAA,IAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,GACR;AAAA;AAEF;;;;"}
1
+ {"version":3,"file":"props.js","sources":["../../../src/table/src/props.ts"],"sourcesContent":["import type { ExtractPropTypes } from 'vue'\n// import ElTableNext from 'el-table-next'\n\nexport const tableProps = {\n tableApi: {\n default: '',\n type: String,\n },\n cacheTable: {\n default: true,\n type: Boolean,\n },\n tableBefore: {\n default: () => {\n return {}\n },\n type: Object,\n },\n tableAfter: {\n default: () => {\n return {}\n },\n type: Object,\n },\n // ...ElTableNext.props,\n}\n\nexport type TableProps = ExtractPropTypes<typeof tableProps>\n"],"names":[],"mappings":";;AAGO,MAAM,UAAa,GAAA;AAAA,EACxB,QAAU,EAAA;AAAA,IACR,OAAS,EAAA,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,UAAY,EAAA;AAAA,IACV,OAAS,EAAA,IAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,WAAa,EAAA;AAAA,IACX,SAAS,MAAM;AACb,MAAA,OAAO,EAAC,CAAA;AAAA,KACV;AAAA,IACA,IAAM,EAAA,MAAA;AAAA,GACR;AAAA,EACA,UAAY,EAAA;AAAA,IACV,SAAS,MAAM;AACb,MAAA,OAAO,EAAC,CAAA;AAAA,KACV;AAAA,IACA,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAEF;;;;"}
@@ -8,6 +8,14 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
8
8
  default: boolean;
9
9
  type: BooleanConstructor;
10
10
  };
11
+ tableBefore: {
12
+ default: () => {};
13
+ type: ObjectConstructor;
14
+ };
15
+ tableAfter: {
16
+ default: () => {};
17
+ type: ObjectConstructor;
18
+ };
11
19
  }, {
12
20
  DkTable: DkTableClass;
13
21
  TableRef: import("vue").Ref<any>;
@@ -21,9 +29,19 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
21
29
  default: boolean;
22
30
  type: BooleanConstructor;
23
31
  };
32
+ tableBefore: {
33
+ default: () => {};
34
+ type: ObjectConstructor;
35
+ };
36
+ tableAfter: {
37
+ default: () => {};
38
+ type: ObjectConstructor;
39
+ };
24
40
  }>>, {
25
41
  tableApi: string;
26
42
  cacheTable: boolean;
43
+ tableBefore: Record<string, any>;
44
+ tableAfter: Record<string, any>;
27
45
  }, {}>, Partial<Record<NonNullable<string | number>, (_: {}) => any>> & Partial<Record<string, (_: any) => any>> & {
28
46
  columnPrepend?(_: {}): any;
29
47
  columnAppend?(_: {}): any;
@@ -21,7 +21,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
21
  const props = __props;
22
22
  const FormRef = vue.ref();
23
23
  const TableRef = vue.ref();
24
- const DkTable = new dkTable.default(props.tableApi);
24
+ const DkTable = new dkTable.default(props.tableApi, props.tableBefore, props.tableAfter);
25
25
  vue.provide("DkTable", DkTable);
26
26
  vue.onMounted(() => {
27
27
  DkTable.getTable(props.cacheTable)?.then(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"table.vue2.js","sources":["../../../src/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkTable',\n});\n</script>\n<template>\n <div class=\"dk-table\">\n <!--顶部菜单-->\n <DkTableHeader size=\"default\">\n <template v-for=\"(slot, idx) in $slots\" :key=\"idx\" #[idx]>\n <slot :name=\"idx\"></slot>\n </template>\n </DkTableHeader>\n <!--表格-->\n <el-table\n ref=\"TableRef\"\n v-loading=\"DkTable.table.loading\"\n class=\"dk-data-table w100\"\n header-cell-class-name=\"table-header-cell\"\n :default-expand-all=\"DkTable.table.expandAll\"\n :data=\"DkTable.table.data\"\n :row-key=\"DkTable.table.pk\"\n stripe\n v-bind=\"$attrs\"\n @select-all=\"onSelectAll\"\n @select=\"onSelect\"\n @selection-change=\"onSelectionChange\"\n @sort-change=\"onSortChange\"\n @cell-dblclick=\"ondblclick\"\n >\n <slot name=\"columnPrepend\"></slot>\n <template v-for=\"(item, key) in DkTable.table.column\">\n <template v-if=\"item.show !== false\">\n <!-- 渲染为 slot -->\n <el-table-column v-if=\"item.slotName\" :key=\"key\" v-bind=\"{ ...item }\">\n <template #default=\"scope\">\n <slot :name=\"item.slotName\" v-bind=\"scope\">\n <dk-field-render\n :key=\"\n key +\n '-' +\n scope.$index +\n '-' +\n item.render +\n '-' +\n (item.prop ? '-' + item.prop + '-' + scope.row[item.prop] : '')\n \"\n :field=\"item\"\n :row=\"scope.row\"\n :column=\"scope.column\"\n :index=\"scope.$index\"\n />\n </slot>\n </template>\n </el-table-column>\n <el-table-column v-else :key=\"key + 'default'\" v-bind=\"{ ...item }\"></el-table-column>\n </template>\n </template>\n <slot name=\"columnAppend\"></slot>\n </el-table>\n\n <div class=\"table-pagination\">\n <el-pagination\n :current-page=\"DkTable.table.filter!.page\"\n :page-size=\"DkTable.table.filter!.limit\"\n :page-sizes=\"pageSizes\"\n background\n :layout=\"'sizes,total, ->, prev, pager, next, jumper'\"\n :total=\"DkTable.table.total\"\n @size-change=\"onTableSizeChange\"\n @current-change=\"onTableCurrentChange\"\n ></el-pagination>\n </div>\n </div>\n <dk-form ref=\"FormRef\" :is-dialog=\"true\" @submit=\"DkTable.onSubmit\">\n <template #buttons>\n <el-button type=\"primary\" :loading=\"DkTable.form.ref.buttonLoading\" @click=\"DkTable.form.ref.checkForm\">\n {{ DkTable.form.operateIds!.length > 0 ? '保存并编辑下一项' : '提交' }}\n </el-button>\n </template>\n </dk-form>\n <RecycleDialog></RecycleDialog>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, onMounted, nextTick, provide, computed } from 'vue'\nimport { tableProps } from './props'\nimport DkTableClass from '../utils/dkTable'\nimport DkTableHeader from './components/header.vue'\nimport DkFieldRender from './components/FieldRender.vue'\nimport RecycleDialog from './components/RecycleDialog.vue'\n\n\n\nconst props = defineProps(tableProps)\nconst FormRef = ref()\n// 表格的Ref\nconst TableRef = ref()\n// 表格的对象\nconst DkTable = new DkTableClass(props.tableApi)\n\nprovide('DkTable', DkTable)\n// 获取表格信息\nonMounted(() => {\n DkTable.getTable(props.cacheTable)?.then(() => {\n DkTable.getIndex()?.then(() => {\n nextTick(() => {\n DkTable.dragSort()\n })\n })\n DkTable.initComSearch()\n })\n DkTable.table.ref = TableRef.value\n DkTable.form.ref = FormRef.value\n})\n\nconst onTableSizeChange = (val: number) => {\n DkTable.onTableAction('page-size-change', { size: val })\n}\n\nconst onTableCurrentChange = (val: number) => {\n DkTable.onTableAction('current-page-change', { page: val })\n}\n\n// 双击\nconst ondblclick = (row: any) => {\n DkTable.toggleForm('Edit', [row[DkTable.table.pk!]])\n}\n\nconst onSortChange = ({ order, prop }: { order: string; prop: string }) => {\n DkTable.onTableAction('sort-change', {\n prop,\n order: order ? (order == 'ascending' ? 'asc' : 'desc') : '',\n })\n}\n\nconst pageSizes = computed(() => {\n const defaultSizes = [10, 20, 50, 100]\n if (DkTable.table.filter!.limit) {\n if (!defaultSizes.includes(DkTable.table.filter!.limit)) {\n defaultSizes.push(DkTable.table.filter!.limit)\n }\n }\n return defaultSizes\n})\n\n/*\n * 手动选择时,同时选择子级\n */\nconst onSelect = (selection: TableRow[], row: TableRow) => {\n if (\n selection.some((item: TableRow) => {\n return row[DkTable.table.pk!] === item[DkTable.table.pk!]\n })\n ) {\n if (row.children) {\n selectChildren(row.children, true)\n }\n } else {\n if (row.children) {\n selectChildren(row.children, false)\n }\n }\n}\n\n/**\n /*\n * 全选和取消全选\n * 实现子级同时选择和取消选中\n */\nconst onSelectAll = (selection: TableRow[]) => {\n if (isSelectAll(selection.map((row: TableRow) => row[DkTable.table.pk!].toString()))) {\n // eslint-disable-next-line array-callback-return\n selection.map((row: TableRow) => {\n if (row.children) {\n selectChildren(row.children, true)\n }\n })\n } else {\n TableRef.value?.clearSelection()\n }\n}\n\n/*\n * 是否是全选操作\n * 只检查第一个元素是否被选择\n * 全选时:selectIds为所有元素的id\n * 取消全选时:selectIds为所有子元素的id\n */\nconst isSelectAll = (selectIds: string[]) => {\n const data = DkTable.table.data as TableRow[]\n // eslint-disable-next-line no-unreachable-loop\n for (const key in data) {\n return selectIds.includes(data[key][DkTable.table.pk!].toString())\n }\n return false\n}\n\n/*\n * 选择子项-递归\n */\nconst selectChildren = (children: TableRow[], type: boolean) => {\n // eslint-disable-next-line array-callback-return\n children.map((j: TableRow) => {\n toggleSelection(j, type)\n if (j.children) {\n selectChildren(j.children, type)\n }\n })\n}\n\n/*\n * 执行选择操作\n */\nconst toggleSelection = (row: TableRow, type: boolean) => {\n if (row) {\n nextTick(() => {\n TableRef.value?.toggleRowSelection(row, type)\n })\n }\n}\n\n/*\n * 记录选择的项\n */\nconst onSelectionChange = (selection: TableRow[]) => {\n DkTable.onTableAction('selection-change', selection)\n}\n\n/*\n * 设置折叠所有-递归\n */\nconst setUnFoldAll = (children: TableRow[], unfold: boolean) => {\n for (const key in children) {\n TableRef.value?.toggleRowExpansion(children[key], unfold)\n if (children[key].children) {\n setUnFoldAll(children[key].children!, unfold)\n }\n }\n}\n\n/*\n * 折叠所有\n */\nconst unFoldAll = (unfold: boolean) => {\n setUnFoldAll(DkTable.table.data!, unfold)\n}\n\nconst slotNames = computed(() => {\n const column = DkTable.table.column\n const slotNames = []\n for (let i = 0; i < column.length; i++) {\n if (column[i].slotName) {\n slotNames.push(column[i].slotName)\n }\n }\n return slotNames\n})\n\nonMounted(() => {\n // injectTablePrimaryMethods()\n})\n\ndefineExpose({\n DkTable,\n TableRef,\n FormRef,\n})\n</script>\n<style lang=\"scss\"></style>\n"],"names":["__MACROS_defineComponent","ref","DkTableClass","provide","onMounted","nextTick","computed","slotNames"],"mappings":"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"}
1
+ {"version":3,"file":"table.vue2.js","sources":["../../../src/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkTable',\n});\n</script>\n<template>\n <div class=\"dk-table\">\n <!--顶部菜单-->\n <DkTableHeader size=\"default\">\n <template v-for=\"(slot, idx) in $slots\" :key=\"idx\" #[idx]>\n <slot :name=\"idx\"></slot>\n </template>\n </DkTableHeader>\n <!--表格-->\n <el-table\n ref=\"TableRef\"\n v-loading=\"DkTable.table.loading\"\n class=\"dk-data-table w100\"\n header-cell-class-name=\"table-header-cell\"\n :default-expand-all=\"DkTable.table.expandAll\"\n :data=\"DkTable.table.data\"\n :row-key=\"DkTable.table.pk\"\n stripe\n v-bind=\"$attrs\"\n @select-all=\"onSelectAll\"\n @select=\"onSelect\"\n @selection-change=\"onSelectionChange\"\n @sort-change=\"onSortChange\"\n @cell-dblclick=\"ondblclick\"\n >\n <slot name=\"columnPrepend\"></slot>\n <template v-for=\"(item, key) in DkTable.table.column\">\n <template v-if=\"item.show !== false\">\n <!-- 渲染为 slot -->\n <el-table-column v-if=\"item.slotName\" :key=\"key\" v-bind=\"{ ...item }\">\n <template #default=\"scope\">\n <slot :name=\"item.slotName\" v-bind=\"scope\">\n <dk-field-render\n :key=\"\n key +\n '-' +\n scope.$index +\n '-' +\n item.render +\n '-' +\n (item.prop ? '-' + item.prop + '-' + scope.row[item.prop] : '')\n \"\n :field=\"item\"\n :row=\"scope.row\"\n :column=\"scope.column\"\n :index=\"scope.$index\"\n />\n </slot>\n </template>\n </el-table-column>\n <el-table-column v-else :key=\"key + 'default'\" v-bind=\"{ ...item }\"></el-table-column>\n </template>\n </template>\n <slot name=\"columnAppend\"></slot>\n </el-table>\n\n <div class=\"table-pagination\">\n <el-pagination\n :current-page=\"DkTable.table.filter!.page\"\n :page-size=\"DkTable.table.filter!.limit\"\n :page-sizes=\"pageSizes\"\n background\n :layout=\"'sizes,total, ->, prev, pager, next, jumper'\"\n :total=\"DkTable.table.total\"\n @size-change=\"onTableSizeChange\"\n @current-change=\"onTableCurrentChange\"\n ></el-pagination>\n </div>\n </div>\n <dk-form ref=\"FormRef\" :is-dialog=\"true\" @submit=\"DkTable.onSubmit\">\n <template #buttons>\n <el-button type=\"primary\" :loading=\"DkTable.form.ref.buttonLoading\" @click=\"DkTable.form.ref.checkForm\">\n {{ DkTable.form.operateIds!.length > 0 ? '保存并编辑下一项' : '提交' }}\n </el-button>\n </template>\n </dk-form>\n <RecycleDialog></RecycleDialog>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, onMounted, nextTick, provide, computed } from 'vue'\nimport { tableProps } from './props'\nimport DkTableClass from '../utils/dkTable'\nimport DkTableHeader from './components/header.vue'\nimport DkFieldRender from './components/FieldRender.vue'\nimport RecycleDialog from './components/RecycleDialog.vue'\n\n\n\nconst props = defineProps(tableProps)\nconst FormRef = ref()\n// 表格的Ref\nconst TableRef = ref()\n// 表格的对象\nconst DkTable = new DkTableClass(props.tableApi, props.tableBefore, props.tableAfter)\n\nprovide('DkTable', DkTable)\n// 获取表格信息\nonMounted(() => {\n DkTable.getTable(props.cacheTable)?.then(() => {\n DkTable.getIndex()?.then(() => {\n nextTick(() => {\n DkTable.dragSort()\n })\n })\n DkTable.initComSearch()\n })\n DkTable.table.ref = TableRef.value\n DkTable.form.ref = FormRef.value\n})\n\nconst onTableSizeChange = (val: number) => {\n DkTable.onTableAction('page-size-change', { size: val })\n}\n\nconst onTableCurrentChange = (val: number) => {\n DkTable.onTableAction('current-page-change', { page: val })\n}\n\n// 双击\nconst ondblclick = (row: any) => {\n DkTable.toggleForm('Edit', [row[DkTable.table.pk!]])\n}\n\nconst onSortChange = ({ order, prop }: { order: string; prop: string }) => {\n DkTable.onTableAction('sort-change', {\n prop,\n order: order ? (order == 'ascending' ? 'asc' : 'desc') : '',\n })\n}\n\nconst pageSizes = computed(() => {\n const defaultSizes = [10, 20, 50, 100]\n if (DkTable.table.filter!.limit) {\n if (!defaultSizes.includes(DkTable.table.filter!.limit)) {\n defaultSizes.push(DkTable.table.filter!.limit)\n }\n }\n return defaultSizes\n})\n\n/*\n * 手动选择时,同时选择子级\n */\nconst onSelect = (selection: TableRow[], row: TableRow) => {\n if (\n selection.some((item: TableRow) => {\n return row[DkTable.table.pk!] === item[DkTable.table.pk!]\n })\n ) {\n if (row.children) {\n selectChildren(row.children, true)\n }\n } else {\n if (row.children) {\n selectChildren(row.children, false)\n }\n }\n}\n\n/**\n /*\n * 全选和取消全选\n * 实现子级同时选择和取消选中\n */\nconst onSelectAll = (selection: TableRow[]) => {\n if (isSelectAll(selection.map((row: TableRow) => row[DkTable.table.pk!].toString()))) {\n // eslint-disable-next-line array-callback-return\n selection.map((row: TableRow) => {\n if (row.children) {\n selectChildren(row.children, true)\n }\n })\n } else {\n TableRef.value?.clearSelection()\n }\n}\n\n/*\n * 是否是全选操作\n * 只检查第一个元素是否被选择\n * 全选时:selectIds为所有元素的id\n * 取消全选时:selectIds为所有子元素的id\n */\nconst isSelectAll = (selectIds: string[]) => {\n const data = DkTable.table.data as TableRow[]\n // eslint-disable-next-line no-unreachable-loop\n for (const key in data) {\n return selectIds.includes(data[key][DkTable.table.pk!].toString())\n }\n return false\n}\n\n/*\n * 选择子项-递归\n */\nconst selectChildren = (children: TableRow[], type: boolean) => {\n // eslint-disable-next-line array-callback-return\n children.map((j: TableRow) => {\n toggleSelection(j, type)\n if (j.children) {\n selectChildren(j.children, type)\n }\n })\n}\n\n/*\n * 执行选择操作\n */\nconst toggleSelection = (row: TableRow, type: boolean) => {\n if (row) {\n nextTick(() => {\n TableRef.value?.toggleRowSelection(row, type)\n })\n }\n}\n\n/*\n * 记录选择的项\n */\nconst onSelectionChange = (selection: TableRow[]) => {\n DkTable.onTableAction('selection-change', selection)\n}\n\n/*\n * 设置折叠所有-递归\n */\nconst setUnFoldAll = (children: TableRow[], unfold: boolean) => {\n for (const key in children) {\n TableRef.value?.toggleRowExpansion(children[key], unfold)\n if (children[key].children) {\n setUnFoldAll(children[key].children!, unfold)\n }\n }\n}\n\n/*\n * 折叠所有\n */\nconst unFoldAll = (unfold: boolean) => {\n setUnFoldAll(DkTable.table.data!, unfold)\n}\n\nconst slotNames = computed(() => {\n const column = DkTable.table.column\n const slotNames = []\n for (let i = 0; i < column.length; i++) {\n if (column[i].slotName) {\n slotNames.push(column[i].slotName)\n }\n }\n return slotNames\n})\n\nonMounted(() => {\n // injectTablePrimaryMethods()\n})\n\ndefineExpose({\n DkTable,\n TableRef,\n FormRef,\n})\n</script>\n<style lang=\"scss\"></style>\n"],"names":["__MACROS_defineComponent","ref","DkTableClass","provide","onMounted","nextTick","computed","slotNames"],"mappings":"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"}
@@ -38,7 +38,7 @@ export default class dkTable {
38
38
  /**
39
39
  * 获取回收站列表
40
40
  */
41
- getRecycleIndex: () => Promise<void>;
41
+ getRecycleIndex: () => Promise<void> | undefined;
42
42
  /**
43
43
  * 获取回收站表格
44
44
  * @param cache
@@ -146,6 +146,8 @@ class dkTable {
146
146
  * 显示回收站
147
147
  */
148
148
  async showRecycle() {
149
+ if (!this.runBefore("getRecycleTable"))
150
+ return;
149
151
  this.recycleTable.showDialogLoading = true;
150
152
  if (this.recycleTable.column.length <= 0) {
151
153
  await this.getRecycleTable();
@@ -158,6 +160,8 @@ class dkTable {
158
160
  * 获取回收站列表
159
161
  */
160
162
  getRecycleIndex = () => {
163
+ if (!this.runBefore("getRecycleIndex"))
164
+ return;
161
165
  this.recycleTable.loading = true;
162
166
  return this.api.recycle(this.recycleTable.filter).then((res) => {
163
167
  this.recycleTable.data = res.data.list;