@vipl520/dk-ui 1.0.55 → 1.0.58

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. package/dist/index.js +54 -20
  2. package/dist/index.min.js +4 -4
  3. package/dist/index.min.js.map +1 -1
  4. package/dist/index.min.mjs +4 -4
  5. package/dist/index.min.mjs.map +1 -1
  6. package/dist/index.mjs +54 -20
  7. package/dist/web-types.json +1 -1
  8. package/es/style-box-input/src/style-box-input.vue2.mjs +1 -1
  9. package/es/style-box-input/src/style-box-input.vue2.mjs.map +1 -1
  10. package/es/table/index.d.ts +15 -0
  11. package/es/table/src/props.d.ts +4 -0
  12. package/es/table/src/props.mjs +6 -0
  13. package/es/table/src/props.mjs.map +1 -1
  14. package/es/table/src/table.vue.d.ts +9 -0
  15. package/es/table/src/table.vue2.mjs +1 -1
  16. package/es/table/src/table.vue2.mjs.map +1 -1
  17. package/es/table/utils/dkTable.d.ts +1 -1
  18. package/es/table/utils/dkTable.mjs +2 -2
  19. package/es/table/utils/dkTable.mjs.map +1 -1
  20. package/es/table/utils/dkTableApi.d.ts +3 -1
  21. package/es/table/utils/dkTableApi.mjs +21 -12
  22. package/es/table/utils/dkTableApi.mjs.map +1 -1
  23. package/es/url-input/index.d.ts +3 -1
  24. package/es/url-input/src/url-input-content.vue2.mjs +11 -3
  25. package/es/url-input/src/url-input-content.vue2.mjs.map +1 -1
  26. package/es/url-input/src/url-input-table.vue2.mjs +3 -1
  27. package/es/url-input/src/url-input-table.vue2.mjs.map +1 -1
  28. package/es/url-input/src/url-input.vue.d.ts +3 -1
  29. package/es/url-input/src/url-input.vue2.mjs +11 -2
  30. package/es/url-input/src/url-input.vue2.mjs.map +1 -1
  31. package/lib/style-box-input/src/style-box-input.vue2.js +1 -1
  32. package/lib/style-box-input/src/style-box-input.vue2.js.map +1 -1
  33. package/lib/table/index.d.ts +15 -0
  34. package/lib/table/src/props.d.ts +4 -0
  35. package/lib/table/src/props.js +6 -0
  36. package/lib/table/src/props.js.map +1 -1
  37. package/lib/table/src/table.vue.d.ts +9 -0
  38. package/lib/table/src/table.vue2.js +1 -1
  39. package/lib/table/src/table.vue2.js.map +1 -1
  40. package/lib/table/utils/dkTable.d.ts +1 -1
  41. package/lib/table/utils/dkTable.js +2 -2
  42. package/lib/table/utils/dkTable.js.map +1 -1
  43. package/lib/table/utils/dkTableApi.d.ts +3 -1
  44. package/lib/table/utils/dkTableApi.js +21 -12
  45. package/lib/table/utils/dkTableApi.js.map +1 -1
  46. package/lib/url-input/index.d.ts +3 -1
  47. package/lib/url-input/src/url-input-content.vue2.js +10 -2
  48. package/lib/url-input/src/url-input-content.vue2.js.map +1 -1
  49. package/lib/url-input/src/url-input-table.vue2.js +3 -1
  50. package/lib/url-input/src/url-input-table.vue2.js.map +1 -1
  51. package/lib/url-input/src/url-input.vue.d.ts +3 -1
  52. package/lib/url-input/src/url-input.vue2.js +10 -1
  53. package/lib/url-input/src/url-input.vue2.js.map +1 -1
  54. 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('api', { name: 'getIndex' })) return\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 .catch(() => {})\n }\n\n getTable = (cache = false) => {\n if (!this.runBefore('api', { name: 'getTable' })) return\n if (!this.runBefore('getTable')) return\n\n this.table.columnLoading = true\n // 如果允许使用缓存\n if (cache) {\n // 尝试从 localStorage 获取缓存数据\n const cachedData = storage.get(this.api.actionUrl.get('table') + '_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 }\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 storage.set(this.api.actionUrl.get('table') + '_table', JSON.stringify(res.data))\n this.runAfter('getTable', { res })\n })\n .finally(() => {\n this.table.columnLoading = false\n })\n .catch(() => {})\n }\n\n /**\n * 显示回收站\n */\n async showRecycle() {\n if (!this.runBefore('showRecycleTable')) 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('api', { name: 'getRecycleIndex' })) return\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('api', { name: 'getRecycleTable' })) return\n if (!this.runBefore('getRecycleTable')) 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 if (!this.runBefore('api', { name: 'fieldChange' })) return\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('api', { name: 'postDel' })) return\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 exportCsv = () => {\n const header = this.table.column\n const headerMap = new Map(\n header\n .filter((item) => item !== undefined && item.label !== undefined && item.export)\n .map((item) => [item.label, item.prop])\n )\n const headerLabels = Array.from(headerMap.keys())\n function jsonToCsv(data: any) {\n let csvContent = headerLabels.join(',') + '\\n'\n data.forEach((row: any) => {\n const line: string[] = []\n headerLabels.forEach((label: string) => {\n const prop: any = headerMap.get(label)\n let value = ''\n if (prop && prop.indexOf('.') > -1) {\n const fieldNameArr = prop.split('.')\n value = row[fieldNameArr[0]] || {}\n for (let index = 1; index < fieldNameArr.length; index++) {\n value = value ? value[fieldNameArr[index]] ?? '' : ''\n }\n } else {\n value = String(row[prop])\n }\n line.push(`\"${value.replace(/\"/g, '\"\"').replace(/[\\n\\r]/g, ' ')}\"`)\n })\n csvContent += line.join(',') + '\\n'\n })\n return csvContent\n }\n\n function downloadCsv(csvContent: string, fileName: string) {\n const link = document.createElement('a')\n link.setAttribute('href', 'data:text/csv;charset=utf-8,' + encodeURIComponent(csvContent))\n link.setAttribute('download', fileName + '.csv')\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n }\n const csvStr = jsonToCsv(this.table.selection)\n downloadCsv(csvStr, 'export_data')\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 if (!this.runBefore('api', { name: 'toggleForm' })) return\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 'export_csv',\n () => {\n this.exportCsv()\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 = {}, query: Object) {\n this.url = url\n // eslint-disable-next-line new-cap\n this.api = new dkTableApi(url, query)\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('api', { name: 'getIndex' })) return\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 .catch(() => {})\n }\n\n getTable = (cache = false) => {\n if (!this.runBefore('api', { name: 'getTable' })) return\n if (!this.runBefore('getTable')) return\n\n this.table.columnLoading = true\n // 如果允许使用缓存\n if (cache) {\n // 尝试从 localStorage 获取缓存数据\n const cachedData = storage.get(this.api.actionUrl.get('table') + '_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 }\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 storage.set(this.api.actionUrl.get('table') + '_table', JSON.stringify(res.data))\n this.runAfter('getTable', { res })\n })\n .finally(() => {\n this.table.columnLoading = false\n })\n .catch(() => {})\n }\n\n /**\n * 显示回收站\n */\n async showRecycle() {\n if (!this.runBefore('showRecycleTable')) 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('api', { name: 'getRecycleIndex' })) return\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('api', { name: 'getRecycleTable' })) return\n if (!this.runBefore('getRecycleTable')) 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 if (!this.runBefore('api', { name: 'fieldChange' })) return\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('api', { name: 'postDel' })) return\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 exportCsv = () => {\n const header = this.table.column\n const headerMap = new Map(\n header\n .filter((item) => item !== undefined && item.label !== undefined && item.export)\n .map((item) => [item.label, item.prop])\n )\n const headerLabels = Array.from(headerMap.keys())\n function jsonToCsv(data: any) {\n let csvContent = headerLabels.join(',') + '\\n'\n data.forEach((row: any) => {\n const line: string[] = []\n headerLabels.forEach((label: string) => {\n const prop: any = headerMap.get(label)\n let value = ''\n if (prop && prop.indexOf('.') > -1) {\n const fieldNameArr = prop.split('.')\n value = row[fieldNameArr[0]] || {}\n for (let index = 1; index < fieldNameArr.length; index++) {\n value = value ? value[fieldNameArr[index]] ?? '' : ''\n }\n } else {\n value = String(row[prop])\n }\n line.push(`\"${value.replace(/\"/g, '\"\"').replace(/[\\n\\r]/g, ' ')}\"`)\n })\n csvContent += line.join(',') + '\\n'\n })\n return csvContent\n }\n\n function downloadCsv(csvContent: string, fileName: string) {\n const link = document.createElement('a')\n link.setAttribute('href', 'data:text/csv;charset=utf-8,' + encodeURIComponent(csvContent))\n link.setAttribute('download', fileName + '.csv')\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n }\n const csvStr = jsonToCsv(this.table.selection)\n downloadCsv(csvStr, 'export_data')\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 if (!this.runBefore('api', { name: 'toggleForm' })) return\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 'export_csv',\n () => {\n this.exportCsv()\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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"}
@@ -2,7 +2,9 @@ export declare class dkTableApi {
2
2
  private controllerUrl;
3
3
  actionUrl: Map<string, string>;
4
4
  private requestConfig;
5
- constructor(controllerUrl: string);
5
+ constructor(controllerUrl: string, query: Object);
6
+ private buildFullUrl;
7
+ objectToQuery(obj: any): string;
6
8
  /**
7
9
  * 配置request参数
8
10
  * @param config 包含HTTP方法、请求头等额外参数的对象
@@ -5,31 +5,40 @@ class dkTableApi {
5
5
  actionUrl;
6
6
  requestConfig = {};
7
7
  // 新增:用于存储配置的request参数
8
- constructor(controllerUrl) {
8
+ constructor(controllerUrl, query) {
9
+ const qStr = this.objectToQuery(query);
10
+ console.log("queryStr", qStr);
9
11
  if (!controllerUrl.endsWith("/")) {
10
12
  controllerUrl += "/";
11
13
  }
12
14
  this.controllerUrl = controllerUrl;
13
15
  this.actionUrl = /* @__PURE__ */ new Map([
14
- ["index", controllerUrl + "index"],
15
- ["add", controllerUrl + "add"],
16
- ["edit", controllerUrl + "edit"],
17
- ["del", controllerUrl + "del"],
18
- ["sortable", controllerUrl + "sortable"],
19
- ["table", controllerUrl + "table"],
16
+ ["index", this.buildFullUrl(controllerUrl + "index", qStr)],
17
+ ["add", this.buildFullUrl(controllerUrl + "add", qStr)],
18
+ ["edit", this.buildFullUrl(controllerUrl + "edit", qStr)],
19
+ ["del", this.buildFullUrl(controllerUrl + "del", qStr)],
20
+ ["sortable", this.buildFullUrl(controllerUrl + "sortable", qStr)],
21
+ ["table", this.buildFullUrl(controllerUrl + "table", qStr)],
20
22
  // 获取表格数据
21
- ["form", controllerUrl + "form"],
23
+ ["form", this.buildFullUrl(controllerUrl + "form", qStr)],
22
24
  // 获取表单
23
- ["recycle", controllerUrl + "recycle"],
25
+ ["recycle", this.buildFullUrl(controllerUrl + "recycle", qStr)],
24
26
  // 回收站
25
- ["recycleTable", controllerUrl + "recycleTable"],
27
+ ["recycleTable", this.buildFullUrl(controllerUrl + "recycleTable", qStr)],
26
28
  // 回收站表格
27
- ["destroy", controllerUrl + "destroy"],
29
+ ["destroy", this.buildFullUrl(controllerUrl + "destroy", qStr)],
28
30
  // 回收站销毁
29
- ["restore", controllerUrl + "restore"]
31
+ ["restore", this.buildFullUrl(controllerUrl + "restore", qStr)]
30
32
  // 回收站还原
31
33
  ]);
32
34
  }
35
+ // 新增方法用于构建完整的URL
36
+ buildFullUrl(baseUrl, queryStr) {
37
+ return queryStr ? `${baseUrl}?${queryStr}` : baseUrl;
38
+ }
39
+ objectToQuery(obj) {
40
+ return Object.keys(obj).map((key) => encodeURIComponent(key) + "=" + encodeURIComponent(obj[key])).join("&");
41
+ }
33
42
  /**
34
43
  * 配置request参数
35
44
  * @param config 包含HTTP方法、请求头等额外参数的对象
@@ -1 +1 @@
1
- {"version":3,"file":"dkTableApi.mjs","sources":["../../../src/table/utils/dkTableApi.ts"],"sourcesContent":["import { request } from '@vipl520/utils'\n\nexport class dkTableApi {\n private controllerUrl: string\n public actionUrl\n private requestConfig: anyObj = {} // 新增:用于存储配置的request参数\n\n constructor(controllerUrl: string) {\n if (!controllerUrl.endsWith('/')) {\n controllerUrl += '/'\n }\n this.controllerUrl = controllerUrl\n this.actionUrl = new Map([\n ['index', controllerUrl + 'index'],\n ['add', controllerUrl + 'add'],\n ['edit', controllerUrl + 'edit'],\n ['del', controllerUrl + 'del'],\n ['sortable', controllerUrl + 'sortable'],\n ['table', controllerUrl + 'table'], // 获取表格数据\n ['form', controllerUrl + 'form'], // 获取表单\n ['recycle', controllerUrl + 'recycle'], // 回收站\n ['recycleTable', controllerUrl + 'recycleTable'], // 回收站表格\n ['destroy', controllerUrl + 'destroy'], // 回收站销毁\n ['restore', controllerUrl + 'restore'], // 回收站还原\n ])\n }\n\n /**\n * 配置request参数\n * @param config 包含HTTP方法、请求头等额外参数的对象\n */\n configureRequest(config: anyObj) {\n this.requestConfig = { ...config } // 将传入的配置对象浅拷贝到requestConfig\n }\n\n /**\n * 获取表格配置\n */\n table() {\n return request(\n {\n url: this.actionUrl.get('table'),\n method: 'post',\n ...this.requestConfig, // 将requestConfig的内容展开到request的参数中\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 获取表格配置\n */\n recycleTable() {\n return request(\n {\n url: this.actionUrl.get('recycleTable'),\n method: 'post',\n ...this.requestConfig,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 获取表单\n */\n form(id?: number) {\n return request(\n {\n url: this.actionUrl.get('form'),\n method: 'post',\n data: { id },\n ...this.requestConfig,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 获取表格列表\n * @param filter\n */\n index(filter: anyObj = {}) {\n return request(\n {\n url: this.actionUrl.get('index'),\n method: 'get',\n params: filter,\n ...this.requestConfig,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 回收站列表\n * @param filter\n */\n recycle(filter: anyObj = {}) {\n return request(\n {\n url: this.actionUrl.get('recycle'),\n method: 'get',\n params: filter,\n ...this.requestConfig,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 编辑\n * @param params\n */\n edit(params: anyObj) {\n return request(\n {\n url: this.actionUrl.get('edit'),\n method: 'get',\n params,\n ...this.requestConfig,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 删除\n * @param ids\n */\n del(ids: number[]) {\n return request(\n {\n url: this.actionUrl.get('del'),\n method: 'DELETE',\n params: {\n ids,\n },\n ...this.requestConfig,\n },\n {\n code_success_show: true,\n code_error_show: true,\n }\n )\n }\n\n /**\n * 销毁\n * @param ids\n */\n destroy(ids: string[]) {\n return request(\n {\n url: this.actionUrl.get('destroy'),\n method: 'POST',\n data: {\n ids,\n },\n ...this.requestConfig,\n },\n {\n code_success_show: true,\n code_error_show: true,\n }\n )\n }\n\n /**\n * 还原\n * @param ids\n */\n restore(ids: string[]) {\n return request(\n {\n url: this.actionUrl.get('restore'),\n method: 'POST',\n data: {\n ids,\n },\n ...this.requestConfig,\n },\n {\n code_success_show: true,\n code_error_show: true,\n }\n )\n }\n\n /**\n * 自定义\n * @param action\n * @param data\n */\n postData(action: string, data: anyObj) {\n return request(\n {\n url: this.actionUrl.has(action) ? this.actionUrl.get(action) : this.controllerUrl + action,\n method: 'post',\n data,\n ...this.requestConfig,\n },\n {\n code_success_show: true,\n code_error_show: true,\n }\n )\n }\n\n /**\n * 排序\n * @param id\n * @param targetId\n */\n sortableApi(id: number, targetId: number) {\n return request(\n {\n url: this.actionUrl.get('sortable'),\n method: 'post',\n data: {\n id,\n targetId,\n },\n ...this.requestConfig,\n },\n {\n code_error_show: true,\n }\n )\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dkTableApi.mjs","sources":["../../../src/table/utils/dkTableApi.ts"],"sourcesContent":["import { request } from '@vipl520/utils'\n\nexport class dkTableApi {\n private controllerUrl: string\n public actionUrl\n private requestConfig: anyObj = {} // 新增:用于存储配置的request参数\n\n constructor(controllerUrl: string, query: Object) {\n const qStr = this.objectToQuery(query)\n console.log('queryStr', qStr)\n\n if (!controllerUrl.endsWith('/')) {\n controllerUrl += '/'\n }\n\n this.controllerUrl = controllerUrl\n\n // 构建带有或不带有查询字符串的完整URL\n this.actionUrl = new Map([\n ['index', this.buildFullUrl(controllerUrl + 'index', qStr)],\n ['add', this.buildFullUrl(controllerUrl + 'add', qStr)],\n ['edit', this.buildFullUrl(controllerUrl + 'edit', qStr)],\n ['del', this.buildFullUrl(controllerUrl + 'del', qStr)],\n ['sortable', this.buildFullUrl(controllerUrl + 'sortable', qStr)],\n ['table', this.buildFullUrl(controllerUrl + 'table', qStr)], // 获取表格数据\n ['form', this.buildFullUrl(controllerUrl + 'form', qStr)], // 获取表单\n ['recycle', this.buildFullUrl(controllerUrl + 'recycle', qStr)], // 回收站\n ['recycleTable', this.buildFullUrl(controllerUrl + 'recycleTable', qStr)], // 回收站表格\n ['destroy', this.buildFullUrl(controllerUrl + 'destroy', qStr)], // 回收站销毁\n ['restore', this.buildFullUrl(controllerUrl + 'restore', qStr)], // 回收站还原\n ])\n }\n\n // 新增方法用于构建完整的URL\n private buildFullUrl(baseUrl: string, queryStr: string): string {\n return queryStr ? `${baseUrl}?${queryStr}` : baseUrl\n }\n\n objectToQuery(obj: any) {\n return Object.keys(obj)\n .map((key) => encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]))\n .join('&')\n }\n\n /**\n * 配置request参数\n * @param config 包含HTTP方法、请求头等额外参数的对象\n */\n configureRequest(config: anyObj) {\n this.requestConfig = { ...config } // 将传入的配置对象浅拷贝到requestConfig\n }\n\n /**\n * 获取表格配置\n */\n table() {\n return request(\n {\n url: this.actionUrl.get('table'),\n method: 'post',\n ...this.requestConfig, // 将requestConfig的内容展开到request的参数中\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 获取表格配置\n */\n recycleTable() {\n return request(\n {\n url: this.actionUrl.get('recycleTable'),\n method: 'post',\n ...this.requestConfig,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 获取表单\n */\n form(id?: number) {\n return request(\n {\n url: this.actionUrl.get('form'),\n method: 'post',\n data: { id },\n ...this.requestConfig,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 获取表格列表\n * @param filter\n */\n index(filter: anyObj = {}) {\n return request(\n {\n url: this.actionUrl.get('index'),\n method: 'get',\n params: filter,\n ...this.requestConfig,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 回收站列表\n * @param filter\n */\n recycle(filter: anyObj = {}) {\n return request(\n {\n url: this.actionUrl.get('recycle'),\n method: 'get',\n params: filter,\n ...this.requestConfig,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 编辑\n * @param params\n */\n edit(params: anyObj) {\n return request(\n {\n url: this.actionUrl.get('edit'),\n method: 'get',\n params,\n ...this.requestConfig,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 删除\n * @param ids\n */\n del(ids: number[]) {\n return request(\n {\n url: this.actionUrl.get('del'),\n method: 'DELETE',\n params: {\n ids,\n },\n ...this.requestConfig,\n },\n {\n code_success_show: true,\n code_error_show: true,\n }\n )\n }\n\n /**\n * 销毁\n * @param ids\n */\n destroy(ids: string[]) {\n return request(\n {\n url: this.actionUrl.get('destroy'),\n method: 'POST',\n data: {\n ids,\n },\n ...this.requestConfig,\n },\n {\n code_success_show: true,\n code_error_show: true,\n }\n )\n }\n\n /**\n * 还原\n * @param ids\n */\n restore(ids: string[]) {\n return request(\n {\n url: this.actionUrl.get('restore'),\n method: 'POST',\n data: {\n ids,\n },\n ...this.requestConfig,\n },\n {\n code_success_show: true,\n code_error_show: true,\n }\n )\n }\n\n /**\n * 自定义\n * @param action\n * @param data\n */\n postData(action: string, data: anyObj) {\n return request(\n {\n url: this.actionUrl.has(action) ? this.actionUrl.get(action) : this.controllerUrl + action,\n method: 'post',\n data,\n ...this.requestConfig,\n },\n {\n code_success_show: true,\n code_error_show: true,\n }\n )\n }\n\n /**\n * 排序\n * @param id\n * @param targetId\n */\n sortableApi(id: number, targetId: number) {\n return request(\n {\n url: this.actionUrl.get('sortable'),\n method: 'post',\n data: {\n id,\n targetId,\n },\n ...this.requestConfig,\n },\n {\n code_error_show: true,\n }\n )\n }\n}\n"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export declare const UrlInput: import("@vipl520/utils").WithInstall<import("vue"
11
11
  default: () => never[];
12
12
  type: ArrayConstructor;
13
13
  };
14
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
14
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "update:modelValue" | "change")[], "input" | "update:modelValue" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
15
15
  modelValue: {
16
16
  default: string;
17
17
  type: StringConstructor;
@@ -25,7 +25,9 @@ export declare const UrlInput: import("@vipl520/utils").WithInstall<import("vue"
25
25
  type: ArrayConstructor;
26
26
  };
27
27
  }>> & {
28
+ onInput?: ((...args: any[]) => any) | undefined;
28
29
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
30
+ onChange?: ((...args: any[]) => any) | undefined;
29
31
  }, {
30
32
  modelValue: string;
31
33
  urlData: unknown[];
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, inject, reactive, ref, watch, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, renderList, createBlock, createElementVNode, resolveDynamicComponent, toDisplayString, normalizeClass, createCommentVNode, createTextVNode } from 'vue';
1
+ import { defineComponent, inject, computed, reactive, ref, watch, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, renderList, createBlock, createElementVNode, resolveDynamicComponent, toDisplayString, normalizeClass, createCommentVNode, createTextVNode } from 'vue';
2
2
  import DkUrlInputTable from './url-input-table.vue.mjs';
3
3
 
4
4
  const _hoisted_1 = { style: { "padding": "10px" } };
@@ -40,12 +40,20 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
40
40
  emits: ["submit"],
41
41
  setup(__props, { emit }) {
42
42
  const props = __props;
43
+ const urlInputData = inject("urlInputData", []);
43
44
  const _urlData = computed(() => {
44
45
  console.log("urlData", props.urlData);
45
46
  if (props.urlData?.length > 0) {
46
47
  return props.urlData;
47
48
  } else {
48
- return inject("urlInputData", []);
49
+ return urlInputData.urlData;
50
+ }
51
+ });
52
+ const _jumpMinApp = computed(() => {
53
+ if (urlInputData.jumpMinApp !== void 0) {
54
+ return urlInputData.jumpMinApp;
55
+ } else {
56
+ return props.jumpMinApp;
49
57
  }
50
58
  });
51
59
  const minapp = reactive({
@@ -181,7 +189,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
181
189
  createVNode(_component_el_tab_pane, { label: "\u81EA\u5B9A\u4E49\u94FE\u63A5" }, {
182
190
  default: withCtx(() => [
183
191
  createElementVNode("div", _hoisted_12, [
184
- __props.jumpMinApp ? (openBlock(), createElementBlock("div", _hoisted_13, [
192
+ _jumpMinApp.value ? (openBlock(), createElementBlock("div", _hoisted_13, [
185
193
  createVNode(_component_el_radio_group, {
186
194
  modelValue: urlType.value,
187
195
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => urlType.value = $event),
@@ -1 +1 @@
1
- {"version":3,"file":"url-input-content.vue2.mjs","sources":["../../../src/url-input/src/url-input-content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkUrlInputContent',\n});\n</script>\n<template>\n <el-tabs tab-position=\"left\" style=\"height: 430px\" class=\"dk-url-input-content\" @tab-change=\"onTabChange()\">\n <el-tab-pane v-for=\"(item, key) in _urlData\" :key=\"key\" :label=\"item.title\">\n <div style=\"padding: 10px\">\n <div v-if=\"item.type === 'table'\">\n <dk-url-input-table :item=\"item\" @on-choose-url=\"onChooseUrl\"></dk-url-input-table>\n </div>\n <div v-else-if=\"item.type === 'component'\">\n <component :is=\"item.componentName\" @on-choose-url=\"onChooseUrl\"></component>\n </div>\n <div v-else>\n <div v-if=\"item.lists?.length > 0\">\n <div v-for=\"(val, k) in item.lists\" :key=\"k\">\n <div v-if=\"val.list\">\n <div style=\"padding-bottom: 10px; font-weight: 700; color: #000\">\n {{ val.title }}\n </div>\n <div class=\"url-list\">\n <div\n v-for=\"(v, k) in val.list\"\n :key=\"k\"\n class=\"url-box\"\n :class=\"chooseUrl == v.url ? 'choose' : ''\"\n @click=\"chooseUrl = v.url\"\n >\n {{ v.title }}\n </div>\n </div>\n </div>\n </div>\n </div>\n <div v-else class=\"url-list\">\n <div\n v-for=\"(val, k) in item.list\"\n :key=\"k\"\n class=\"url-box\"\n :class=\"chooseUrl == val.url ? 'choose' : ''\"\n @click=\"chooseUrl = val.url\"\n >\n {{ val.title }}\n </div>\n </div>\n </div>\n </div>\n </el-tab-pane>\n <el-tab-pane label=\"自定义链接\">\n <div style=\"width: 500px; margin: 100px auto\">\n <div v-if=\"jumpMinApp\" style=\"padding-bottom: 20px\">\n <el-radio-group v-model=\"urlType\" class=\"ml-4\">\n <el-radio :value=\"1\" size=\"large\">链接或路径</el-radio>\n <el-radio :value=\"2\" size=\"large\">跳转其他小程序</el-radio>\n </el-radio-group>\n </div>\n <el-form label-width=\"100px\" label-position=\"top\" size=\"default\">\n <div v-if=\"urlType === 1\">\n <el-form-item label=\"填写地址或路径\" required>\n <el-input v-model=\"chooseUrl\" size=\"default\" />\n </el-form-item>\n </div>\n <div v-else>\n <el-form-item label=\"填写小程序APPID\" required>\n <el-input v-model=\"minapp.appid\" size=\"default\" />\n </el-form-item>\n <el-form-item label=\"填写小程序路径\">\n <el-input v-model=\"minapp.path\" size=\"default\" />\n </el-form-item>\n </div>\n </el-form>\n </div>\n </el-tab-pane>\n </el-tabs>\n <div style=\"text-align: center\">\n <el-button size=\"default\" style=\"width: 200px\" type=\"primary\" :disabled=\"!chooseUrl\" @click=\"onSubmit()\">\n 确定\n </el-button>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, reactive, ref, watch, inject } from 'vue'\nimport DkUrlInputTable from './url-input-table.vue'\n\n\nconst emit = defineEmits(['submit'])\n\nconst props = defineProps({\n urlData: {\n default: () => {\n return []\n },\n type: Array,\n },\n jumpMinApp: { default: false, type: Boolean },\n})\n\nconst _urlData: any = computed(() => {\n console.log('urlData', props.urlData)\n if (props.urlData?.length > 0) {\n return props.urlData\n } else {\n return inject('urlInputData', [])\n }\n})\n\nconst minapp = reactive({\n appid: '',\n path: '',\n})\nconst chooseUrl = ref('')\nconst urlType = ref(1)\n\nconst onTabChange = () => {\n chooseUrl.value = ''\n}\n\nconst onChooseUrl = (url: any) => {\n chooseUrl.value = url\n}\n\nwatch(\n () => minapp,\n () => {\n if (minapp.appid) {\n chooseUrl.value = minapp.appid + '@' + minapp.path || '/'\n }\n },\n {\n deep: true,\n }\n)\n\nconst onSubmit = () => {\n emit('submit', chooseUrl.value)\n}\n</script>\n"],"names":["__MACROS_defineComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,mBAAA;AACR,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;AAgGD,IAAM,MAAA,QAAA,GAAgB,SAAS,MAAM;AACnC,MAAQ,OAAA,CAAA,GAAA,CAAI,SAAW,EAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AACpC,MAAI,IAAA,KAAA,CAAM,OAAS,EAAA,MAAA,GAAS,CAAG,EAAA;AAC7B,QAAA,OAAO,KAAM,CAAA,OAAA,CAAA;AAAA,OACR,MAAA;AACL,QAAO,OAAA,MAAA,CAAO,cAAgB,EAAA,EAAE,CAAA,CAAA;AAAA,OAClC;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,SAAS,QAAS,CAAA;AAAA,MACtB,KAAO,EAAA,EAAA;AAAA,MACP,IAAM,EAAA,EAAA;AAAA,KACP,CAAA,CAAA;AACD,IAAM,MAAA,SAAA,GAAY,IAAI,EAAE,CAAA,CAAA;AACxB,IAAM,MAAA,OAAA,GAAU,IAAI,CAAC,CAAA,CAAA;AAErB,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,SAAA,CAAU,KAAQ,GAAA,EAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAM,MAAA,WAAA,GAAc,CAAC,GAAa,KAAA;AAChC,MAAA,SAAA,CAAU,KAAQ,GAAA,GAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,MAAA;AAAA,MACN,MAAM;AACJ,QAAA,IAAI,OAAO,KAAO,EAAA;AAChB,UAAA,SAAA,CAAU,KAAQ,GAAA,MAAA,CAAO,KAAQ,GAAA,GAAA,GAAM,OAAO,IAAQ,IAAA,GAAA,CAAA;AAAA,SACxD;AAAA,OACF;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAK,IAAA,CAAA,QAAA,EAAU,UAAU,KAAK,CAAA,CAAA;AAAA,KAChC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"url-input-content.vue2.mjs","sources":["../../../src/url-input/src/url-input-content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkUrlInputContent',\n});\n</script>\n<template>\n <el-tabs tab-position=\"left\" style=\"height: 430px\" class=\"dk-url-input-content\" @tab-change=\"onTabChange()\">\n <el-tab-pane v-for=\"(item, key) in _urlData\" :key=\"key\" :label=\"item.title\">\n <div style=\"padding: 10px\">\n <div v-if=\"item.type === 'table'\">\n <dk-url-input-table :item=\"item\" @on-choose-url=\"onChooseUrl\"></dk-url-input-table>\n </div>\n <div v-else-if=\"item.type === 'component'\">\n <component :is=\"item.componentName\" @on-choose-url=\"onChooseUrl\"></component>\n </div>\n <div v-else>\n <div v-if=\"item.lists?.length > 0\">\n <div v-for=\"(val, k) in item.lists\" :key=\"k\">\n <div v-if=\"val.list\">\n <div style=\"padding-bottom: 10px; font-weight: 700; color: #000\">\n {{ val.title }}\n </div>\n <div class=\"url-list\">\n <div\n v-for=\"(v, k) in val.list\"\n :key=\"k\"\n class=\"url-box\"\n :class=\"chooseUrl == v.url ? 'choose' : ''\"\n @click=\"chooseUrl = v.url\"\n >\n {{ v.title }}\n </div>\n </div>\n </div>\n </div>\n </div>\n <div v-else class=\"url-list\">\n <div\n v-for=\"(val, k) in item.list\"\n :key=\"k\"\n class=\"url-box\"\n :class=\"chooseUrl == val.url ? 'choose' : ''\"\n @click=\"chooseUrl = val.url\"\n >\n {{ val.title }}\n </div>\n </div>\n </div>\n </div>\n </el-tab-pane>\n <el-tab-pane label=\"自定义链接\">\n <div style=\"width: 500px; margin: 100px auto\">\n <div v-if=\"_jumpMinApp\" style=\"padding-bottom: 20px\">\n <el-radio-group v-model=\"urlType\" class=\"ml-4\">\n <el-radio :value=\"1\" size=\"large\">链接或路径</el-radio>\n <el-radio :value=\"2\" size=\"large\">跳转其他小程序</el-radio>\n </el-radio-group>\n </div>\n <el-form label-width=\"100px\" label-position=\"top\" size=\"default\">\n <div v-if=\"urlType === 1\">\n <el-form-item label=\"填写地址或路径\" required>\n <el-input v-model=\"chooseUrl\" size=\"default\" />\n </el-form-item>\n </div>\n <div v-else>\n <el-form-item label=\"填写小程序APPID\" required>\n <el-input v-model=\"minapp.appid\" size=\"default\" />\n </el-form-item>\n <el-form-item label=\"填写小程序路径\">\n <el-input v-model=\"minapp.path\" size=\"default\" />\n </el-form-item>\n </div>\n </el-form>\n </div>\n </el-tab-pane>\n </el-tabs>\n <div style=\"text-align: center\">\n <el-button size=\"default\" style=\"width: 200px\" type=\"primary\" :disabled=\"!chooseUrl\" @click=\"onSubmit()\">\n 确定\n </el-button>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, reactive, ref, watch, inject } from 'vue'\nimport DkUrlInputTable from './url-input-table.vue'\n\n\nconst emit = defineEmits(['submit'])\n\nconst props = defineProps({\n urlData: {\n default: () => {\n return []\n },\n type: Array,\n },\n jumpMinApp: { default: false, type: Boolean },\n})\n\nconst urlInputData: any = inject('urlInputData', [])\n\nconst _urlData: any = computed(() => {\n console.log('urlData', props.urlData)\n if (props.urlData?.length > 0) {\n return props.urlData\n } else {\n return urlInputData.urlData\n }\n})\n\nconst _jumpMinApp = computed(() => {\n if (urlInputData.jumpMinApp !== undefined) {\n return urlInputData.jumpMinApp\n } else {\n return props.jumpMinApp\n }\n})\n\nconst minapp = reactive({\n appid: '',\n path: '',\n})\nconst chooseUrl = ref('')\nconst urlType = ref(1)\n\nconst onTabChange = () => {\n chooseUrl.value = ''\n}\n\nconst onChooseUrl = (url: any) => {\n chooseUrl.value = url\n}\n\nwatch(\n () => minapp,\n () => {\n if (minapp.appid) {\n chooseUrl.value = minapp.appid + '@' + minapp.path || '/'\n }\n },\n {\n deep: true,\n }\n)\n\nconst onSubmit = () => {\n emit('submit', chooseUrl.value)\n}\n</script>\n"],"names":["__MACROS_defineComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,mBAAA;AACR,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;AAgGD,IAAA,MAAM,YAAoB,GAAA,MAAA,CAAO,cAAgB,EAAA,EAAE,CAAA,CAAA;AAEnD,IAAM,MAAA,QAAA,GAAgB,SAAS,MAAM;AACnC,MAAQ,OAAA,CAAA,GAAA,CAAI,SAAW,EAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AACpC,MAAI,IAAA,KAAA,CAAM,OAAS,EAAA,MAAA,GAAS,CAAG,EAAA;AAC7B,QAAA,OAAO,KAAM,CAAA,OAAA,CAAA;AAAA,OACR,MAAA;AACL,QAAA,OAAO,YAAa,CAAA,OAAA,CAAA;AAAA,OACtB;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;AACjC,MAAI,IAAA,YAAA,CAAa,eAAe,KAAW,CAAA,EAAA;AACzC,QAAA,OAAO,YAAa,CAAA,UAAA,CAAA;AAAA,OACf,MAAA;AACL,QAAA,OAAO,KAAM,CAAA,UAAA,CAAA;AAAA,OACf;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,SAAS,QAAS,CAAA;AAAA,MACtB,KAAO,EAAA,EAAA;AAAA,MACP,IAAM,EAAA,EAAA;AAAA,KACP,CAAA,CAAA;AACD,IAAM,MAAA,SAAA,GAAY,IAAI,EAAE,CAAA,CAAA;AACxB,IAAM,MAAA,OAAA,GAAU,IAAI,CAAC,CAAA,CAAA;AAErB,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,SAAA,CAAU,KAAQ,GAAA,EAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAM,MAAA,WAAA,GAAc,CAAC,GAAa,KAAA;AAChC,MAAA,SAAA,CAAU,KAAQ,GAAA,GAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,MAAA;AAAA,MACN,MAAM;AACJ,QAAA,IAAI,OAAO,KAAO,EAAA;AAChB,UAAA,SAAA,CAAU,KAAQ,GAAA,MAAA,CAAO,KAAQ,GAAA,GAAA,GAAM,OAAO,IAAQ,IAAA,GAAA,CAAA;AAAA,SACxD;AAAA,OACF;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAK,IAAA,CAAA,QAAA,EAAU,UAAU,KAAK,CAAA,CAAA;AAAA,KAChC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -43,7 +43,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
43
43
  ref: DkTableRef,
44
44
  "table-api": __props.item.tableUrl,
45
45
  "cache-table": __props.item.cacheTable,
46
- height: "300px"
46
+ height: "300px",
47
+ query: { _form: "url_input" },
48
+ buttons: ["refresh", "add", "export_csv", "edit", "delete", "comSearch", "quickSearch", "columnDisplay"]
47
49
  }, {
48
50
  cate_id_slot: withCtx(({ row }) => [
49
51
  createTextVNode(
@@ -1 +1 @@
1
- {"version":3,"file":"url-input-table.vue2.mjs","sources":["../../../src/url-input/src/url-input-table.vue"],"sourcesContent":["<template>\n <dk-table ref=\"DkTableRef\" :table-api=\"item.tableUrl\" :cache-table=\"item.cacheTable\" height=\"300px\">\n <template #cate_id_slot=\"{ row }\">{{ row.category?.name }}</template>\n </dk-table>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, defineComponent, onMounted, ref, watch } from 'vue'\nimport { ElMessage } from 'element-plus'\ndefineComponent({\n name: 'DkUrlInputTable',\n})\nconst props = defineProps({\n item: {\n default: () => {\n return {}\n },\n type: Object,\n },\n})\n\nconst DkTableRef = ref()\nconst selection = computed(() => DkTableRef?.value?.DkTable?.table?.selection || [])\nconst emit = defineEmits(['onChooseUrl'])\n\nwatch(\n () => selection.value.length,\n () => {\n console.log(selection)\n if (selection.value.length > 1) {\n ElMessage({\n message: '选择多个只有最后一个生效',\n type: 'warning',\n })\n }\n const val = selection.value[selection.value.length - 1]\n if (val) {\n const url = val[props.item.urlField] || props.item.urlRule.replace('{pkField}', val[props.item.pkField])\n emit('onChooseUrl', url)\n }\n }\n)\n</script>\n\n<style scoped></style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQA,IAAgB,eAAA,CAAA;AAAA,MACd,IAAM,EAAA,iBAAA;AAAA,KACP,CAAA,CAAA;AAUD,IAAA,MAAM,aAAa,GAAI,EAAA,CAAA;AACvB,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM,UAAA,EAAY,OAAO,OAAS,EAAA,KAAA,EAAO,SAAa,IAAA,EAAE,CAAA,CAAA;AAGnF,IAAA,KAAA;AAAA,MACE,MAAM,UAAU,KAAM,CAAA,MAAA;AAAA,MACtB,MAAM;AACJ,QAAA,OAAA,CAAQ,IAAI,SAAS,CAAA,CAAA;AACrB,QAAI,IAAA,SAAA,CAAU,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA;AAC9B,UAAU,SAAA,CAAA;AAAA,YACR,OAAS,EAAA,0EAAA;AAAA,YACT,IAAM,EAAA,SAAA;AAAA,WACP,CAAA,CAAA;AAAA,SACH;AACA,QAAA,MAAM,MAAM,SAAU,CAAA,KAAA,CAAM,SAAU,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AACtD,QAAA,IAAI,GAAK,EAAA;AACP,UAAA,MAAM,GAAM,GAAA,GAAA,CAAI,KAAM,CAAA,IAAA,CAAK,QAAQ,CAAK,IAAA,KAAA,CAAM,IAAK,CAAA,OAAA,CAAQ,QAAQ,WAAa,EAAA,GAAA,CAAI,KAAM,CAAA,IAAA,CAAK,OAAO,CAAC,CAAA,CAAA;AACvG,UAAA,IAAA,CAAK,eAAe,GAAG,CAAA,CAAA;AAAA,SACzB;AAAA,OACF;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"url-input-table.vue2.mjs","sources":["../../../src/url-input/src/url-input-table.vue"],"sourcesContent":["<template>\n <dk-table\n ref=\"DkTableRef\"\n :table-api=\"item.tableUrl\"\n :cache-table=\"item.cacheTable\"\n height=\"300px\"\n :query=\"{ _form: 'url_input' }\"\n :buttons=\"['refresh', 'add', 'export_csv', 'edit', 'delete', 'comSearch', 'quickSearch', 'columnDisplay']\"\n >\n <template #cate_id_slot=\"{ row }\">{{ row.category?.name }}</template>\n </dk-table>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, defineComponent, onMounted, ref, watch } from 'vue'\nimport { ElMessage } from 'element-plus'\ndefineComponent({\n name: 'DkUrlInputTable',\n})\nconst props = defineProps({\n item: {\n default: () => {\n return {}\n },\n type: Object,\n },\n})\n\nconst DkTableRef = ref()\nconst selection = computed(() => DkTableRef?.value?.DkTable?.table?.selection || [])\nconst emit = defineEmits(['onChooseUrl'])\n\nwatch(\n () => selection.value.length,\n () => {\n console.log(selection)\n if (selection.value.length > 1) {\n ElMessage({\n message: '选择多个只有最后一个生效',\n type: 'warning',\n })\n }\n const val = selection.value[selection.value.length - 1]\n if (val) {\n const url = val[props.item.urlField] || props.item.urlRule.replace('{pkField}', val[props.item.pkField])\n emit('onChooseUrl', url)\n }\n }\n)\n</script>\n\n<style scoped></style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAeA,IAAgB,eAAA,CAAA;AAAA,MACd,IAAM,EAAA,iBAAA;AAAA,KACP,CAAA,CAAA;AAUD,IAAA,MAAM,aAAa,GAAI,EAAA,CAAA;AACvB,IAAM,MAAA,SAAA,GAAY,SAAS,MAAM,UAAA,EAAY,OAAO,OAAS,EAAA,KAAA,EAAO,SAAa,IAAA,EAAE,CAAA,CAAA;AAGnF,IAAA,KAAA;AAAA,MACE,MAAM,UAAU,KAAM,CAAA,MAAA;AAAA,MACtB,MAAM;AACJ,QAAA,OAAA,CAAQ,IAAI,SAAS,CAAA,CAAA;AACrB,QAAI,IAAA,SAAA,CAAU,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA;AAC9B,UAAU,SAAA,CAAA;AAAA,YACR,OAAS,EAAA,0EAAA;AAAA,YACT,IAAM,EAAA,SAAA;AAAA,WACP,CAAA,CAAA;AAAA,SACH;AACA,QAAA,MAAM,MAAM,SAAU,CAAA,KAAA,CAAM,SAAU,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AACtD,QAAA,IAAI,GAAK,EAAA;AACP,UAAA,MAAM,GAAM,GAAA,GAAA,CAAI,KAAM,CAAA,IAAA,CAAK,QAAQ,CAAK,IAAA,KAAA,CAAM,IAAK,CAAA,OAAA,CAAQ,QAAQ,WAAa,EAAA,GAAA,CAAI,KAAM,CAAA,IAAA,CAAK,OAAO,CAAC,CAAA,CAAA;AACvG,UAAA,IAAA,CAAK,eAAe,GAAG,CAAA,CAAA;AAAA,SACzB;AAAA,OACF;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -11,7 +11,7 @@ declare const _default: import("vue").DefineComponent<{
11
11
  default: () => never[];
12
12
  type: ArrayConstructor;
13
13
  };
14
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
14
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "update:modelValue" | "change")[], "input" | "update:modelValue" | "change", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
15
15
  modelValue: {
16
16
  default: string;
17
17
  type: StringConstructor;
@@ -25,7 +25,9 @@ declare const _default: import("vue").DefineComponent<{
25
25
  type: ArrayConstructor;
26
26
  };
27
27
  }>> & {
28
+ onInput?: ((...args: any[]) => any) | undefined;
28
29
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
30
+ onChange?: ((...args: any[]) => any) | undefined;
29
31
  }, {
30
32
  modelValue: string;
31
33
  urlData: unknown[];
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, createTextVNode, createBlock, createCommentVNode } from 'vue';
1
+ import { defineComponent, ref, watch, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, createTextVNode, createBlock, createCommentVNode } from 'vue';
2
2
  import DkUrlInputContent from './url-input-content.vue.mjs';
3
3
  import { urlInputProps } from './props.mjs';
4
4
 
@@ -9,16 +9,25 @@ const __default__ = defineComponent({
9
9
  var _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  ...__default__,
11
11
  props: urlInputProps,
12
- emits: ["update:modelValue"],
12
+ emits: ["input", "update:modelValue", "change"],
13
13
  setup(__props, { emit }) {
14
14
  const props = __props;
15
15
  const show = ref(false);
16
16
  const url = ref(props.modelValue);
17
17
  const updateUrl = (value) => {
18
+ console.log("url", url);
18
19
  url.value = value;
19
20
  emit("update:modelValue", value);
20
21
  show.value = false;
21
22
  };
23
+ watch(
24
+ () => url.value,
25
+ (val) => {
26
+ emit("update:modelValue", val);
27
+ emit("input", val);
28
+ emit("change", val);
29
+ }
30
+ );
22
31
  return (_ctx, _cache) => {
23
32
  const _component_el_button = resolveComponent("el-button");
24
33
  const _component_el_input = resolveComponent("el-input");
@@ -1 +1 @@
1
- {"version":3,"file":"url-input.vue2.mjs","sources":["../../../src/url-input/src/url-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkUrlInput',\n});\n</script>\n<template>\n <div class=\"dk-url-input\">\n <el-input v-model=\"url\">\n <template #append>\n <el-button @click=\"show = true\">选择</el-button>\n </template>\n </el-input>\n <dk-dialog v-model=\"show\" title=\"选择链接\" width=\"1000px\" append-to-body>\n <DkUrlInputContent\n v-if=\"show\"\n :url-data=\"urlData\"\n :jump-min-app=\"jumpMinApp\"\n @submit=\"updateUrl\"\n ></DkUrlInputContent>\n </dk-dialog>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport DkUrlInputContent from './url-input-content.vue'\nimport { urlInputProps } from './props'\n\n\nconst show = ref(false)\n\nconst props = defineProps(urlInputProps)\n\nconst emit = defineEmits(['update:modelValue'])\nconst url = ref(props.modelValue)\nconst updateUrl = (value: string) => {\n url.value = value\n emit('update:modelValue', value)\n show.value = false\n}\n</script>\n\n<style></style>\n"],"names":["__MACROS_defineComponent"],"mappings":";;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,YAAA;AACR,CAAC,CAAA,CAAA;;;;;;;AA0BD,IAAM,MAAA,IAAA,GAAO,IAAI,KAAK,CAAA,CAAA;AAKtB,IAAM,MAAA,GAAA,GAAM,GAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAChC,IAAM,MAAA,SAAA,GAAY,CAAC,KAAkB,KAAA;AACnC,MAAA,GAAA,CAAI,KAAQ,GAAA,KAAA,CAAA;AACZ,MAAA,IAAA,CAAK,qBAAqB,KAAK,CAAA,CAAA;AAC/B,MAAA,IAAA,CAAK,KAAQ,GAAA,KAAA,CAAA;AAAA,KACf,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"url-input.vue2.mjs","sources":["../../../src/url-input/src/url-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkUrlInput',\n});\n</script>\n<template>\n <div class=\"dk-url-input\">\n <el-input v-model=\"url\">\n <template #append>\n <el-button @click=\"show = true\">选择</el-button>\n </template>\n </el-input>\n <dk-dialog v-model=\"show\" title=\"选择链接\" width=\"1000px\" append-to-body>\n <DkUrlInputContent\n v-if=\"show\"\n :url-data=\"urlData\"\n :jump-min-app=\"jumpMinApp\"\n @submit=\"updateUrl\"\n ></DkUrlInputContent>\n </dk-dialog>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport DkUrlInputContent from './url-input-content.vue'\nimport { urlInputProps } from './props'\n\n\nconst show = ref(false)\n\nconst props = defineProps(urlInputProps)\n\nconst emit = defineEmits(['input', 'update:modelValue', 'change'])\nconst url = ref(props.modelValue)\nconst updateUrl = (value: string) => {\n console.log('url', url)\n url.value = value\n emit('update:modelValue', value)\n show.value = false\n}\n\nwatch(\n () => url.value,\n (val) => {\n emit('update:modelValue', val)\n emit('input', val)\n emit('change', val)\n }\n)\n</script>\n\n<style></style>\n"],"names":["__MACROS_defineComponent"],"mappings":";;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,YAAA;AACR,CAAC,CAAA,CAAA;;;;;;;AA0BD,IAAM,MAAA,IAAA,GAAO,IAAI,KAAK,CAAA,CAAA;AAKtB,IAAM,MAAA,GAAA,GAAM,GAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAChC,IAAM,MAAA,SAAA,GAAY,CAAC,KAAkB,KAAA;AACnC,MAAQ,OAAA,CAAA,GAAA,CAAI,OAAO,GAAG,CAAA,CAAA;AACtB,MAAA,GAAA,CAAI,KAAQ,GAAA,KAAA,CAAA;AACZ,MAAA,IAAA,CAAK,qBAAqB,KAAK,CAAA,CAAA;AAC/B,MAAA,IAAA,CAAK,KAAQ,GAAA,KAAA,CAAA;AAAA,KACf,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,GAAI,CAAA,KAAA;AAAA,MACV,CAAC,GAAQ,KAAA;AACP,QAAA,IAAA,CAAK,qBAAqB,GAAG,CAAA,CAAA;AAC7B,QAAA,IAAA,CAAK,SAAS,GAAG,CAAA,CAAA;AACjB,QAAA,IAAA,CAAK,UAAU,GAAG,CAAA,CAAA;AAAA,OACpB;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -92,7 +92,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
92
92
  const height = vue.computed(() => {
93
93
  if (props.height === "auto") {
94
94
  const h = width.value / 1.8;
95
- return h > 300 ? 300 : h;
95
+ return h > 200 ? 200 : h;
96
96
  } else {
97
97
  return props.height;
98
98
  }