liyu-pc-base 1.0.921 → 1.0.925
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{FieldRender-BOg7nm5z.js → FieldRender-DnOLSXTl.js} +1 -1
- package/dist/{FieldRender2-_MtcDkI5.js → FieldRender2-CvxGe238.js} +2 -2
- package/dist/{FormRender3-BtY9d91e.js → FormRender3-CAxOQgue.js} +1 -1
- package/dist/{RemoteSelectPro-CcWTS4f6.js → RemoteSelectPro-CcL_vU1K.js} +1 -1
- package/dist/{SearchRender-ByarFel1.js → SearchRender-Dr_qnvZM.js} +1 -1
- package/dist/components/index.js +7 -7
- package/dist/{dbViewConfig-RGSyUx3F.js → dbViewConfig-BF0QZ_mT.js} +1 -1
- package/dist/{detailTablePro-CqcVbn8O.js → detailTablePro-DxgfGYN3.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/liyu-pc-base.css +1 -1
- package/dist/{tableModal-DSKuV-hn.js → tableModal-DZE5wntG.js} +1 -1
- package/dist/{tablePageHost-B_BOlBNA.js → tablePageHost-hE_1hQv4.js} +82 -44
- package/dist/{tablePro-IAcxxAGI.js → tablePro-t2yDX9oW.js} +16 -11
- package/package.json +1 -1
- package/dist/AttributeNomTable-DHED22ju.js.map +0 -1
- package/dist/AttributeTable-muxdKpWW.js.map +0 -1
- package/dist/FieldRender-BOg7nm5z.js.map +0 -1
- package/dist/FieldRender2-_MtcDkI5.js.map +0 -1
- package/dist/FormRender3-BtY9d91e.js.map +0 -1
- package/dist/ImportExcelModal-Dds857L2.js.map +0 -1
- package/dist/JsonObj-CmylW4Or.js.map +0 -1
- package/dist/JsonStr-JwOPdAYW.js.map +0 -1
- package/dist/RemoteCascader-B2ytkZp7.js.map +0 -1
- package/dist/RemoteFilterSelect-BthY6Fyt.js.map +0 -1
- package/dist/RemoteModal-Dqy32RFN.js.map +0 -1
- package/dist/RemoteSelect-27xLYvyg.js.map +0 -1
- package/dist/RemoteSelectPro-CcWTS4f6.js.map +0 -1
- package/dist/RemoteTable-D_12PvNS.js.map +0 -1
- package/dist/RemoteTable2-DF7gWHYf.js.map +0 -1
- package/dist/RemoteText-DwRLI0xq.js.map +0 -1
- package/dist/RemoteTreeSelectPro-CXMOariR.js.map +0 -1
- package/dist/SearchRender-ByarFel1.js.map +0 -1
- package/dist/TinymceEditor-waI-dlC5.js.map +0 -1
- package/dist/aiGenModel-C9E1ahu8.js.map +0 -1
- package/dist/api/api-model.js.map +0 -1
- package/dist/api/typing.js.map +0 -1
- package/dist/batchCreateUser-B4zAXSR6.js.map +0 -1
- package/dist/boldenText-Bv8Zo7Vh.js.map +0 -1
- package/dist/components/FormRender/utils.js.map +0 -1
- package/dist/components/gridPage/utils.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/remotePages/utils.js.map +0 -1
- package/dist/dbDataSourceConfig-Hj90tvTR.js.map +0 -1
- package/dist/dbViewConfig-RGSyUx3F.js.map +0 -1
- package/dist/default-DmCqrYQi.js.map +0 -1
- package/dist/detailTablePro-CqcVbn8O.js.map +0 -1
- package/dist/exceljs.min-BPhBd8yF.js.map +0 -1
- package/dist/function-BhYSb8ls.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/init-plugin-CvgtEpwY.js.map +0 -1
- package/dist/lodash-CMVwnWxD.js.map +0 -1
- package/dist/md5-WIoeWMjT.js.map +0 -1
- package/dist/modal-tools-CrXdI5sg.js.map +0 -1
- package/dist/props-util-D7nkeN4W.js.map +0 -1
- package/dist/remotePages-CvjMLjTh.js.map +0 -1
- package/dist/role-manage-C7O8b2SF.js.map +0 -1
- package/dist/syncDataSourceConfig-OZ2mJCJs.js.map +0 -1
- package/dist/syncExportRawData-Dpi-VJuu.js.map +0 -1
- package/dist/syncModelTypeConfig-B2vV_kKb.js.map +0 -1
- package/dist/tableModal-DSKuV-hn.js.map +0 -1
- package/dist/tablePageHost-B_BOlBNA.js.map +0 -1
- package/dist/tablePro-IAcxxAGI.js.map +0 -1
- package/dist/utils/excel.js.map +0 -1
- package/dist/utils/hooks/useFetchData.js.map +0 -1
- package/dist/utils/hooks/useTableColumn.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-DmCqrYQi.js","names":[],"sources":["../src/components/gridPage/config/default/default.ts"],"sourcesContent":["import type { GridConfig } from 'liyu-pc-base/typing';\n\nexport default ({ menu_flag }): GridConfig => {\n return {\n isDraggable: false,\n isResizable: false,\n itemPadding: '2px',\n items: [\n {\n key: 'layout001',\n layout: {\n x: '0px',\n y: '0px',\n w: '30%',\n h: '100px',\n },\n component: '',\n },\n {\n key: 'layout002',\n layout: {\n x: '30%',\n y: '0px',\n w: '30%',\n h: '100px',\n },\n component: '',\n },\n ],\n };\n};\n"],"mappings":";AAEA,IAAA,KAAgB,EAAE,oBACT;CACL,aAAa;CACb,aAAa;CACb,aAAa;CACb,OAAO,CACL;EACE,KAAK;EACL,QAAQ;GACN,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG;EACL;EACA,WAAW;CACb,GACA;EACE,KAAK;EACL,QAAQ;GACN,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG;EACL;EACA,WAAW;CACb,CACF;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"detailTablePro-CqcVbn8O.js","names":[],"sources":["../src/components/detailTablePro/detailTablePro.vue","../src/components/detailTablePro/detailTablePro.vue"],"sourcesContent":["<template>\n <div class=\"detail-table-pro\">\n <a-empty\n v-if=\"!hasConditionValue\"\n class=\"dtp-center\"\n :description=\"emptyDescription\"\n />\n <tablePageHost\n v-else\n class=\"dtp-host\"\n :app_flag=\"app_flag\"\n :modalType=\"extra.modalType\"\n :inject_conditions=\"conditions\"\n :inherit_route_params=\"false\"\n :use_store=\"false\"\n :enable_ai_abilities=\"false\"\n :enable_hash_sync=\"false\"\n :enable_btn_add=\"!!extra.enable_btn_add\"\n :enable_view_panel=\"!!extra.enable_view_panel\"\n :view_key_namespace=\"extra.view_key_namespace || 'detail-remotePagesV2'\"\n :title_inject=\"extra.title || ''\"\n :setting_drawer_width=\"extra.setting_drawer_width || 800\"\n :enable_pagination=\"paginationOverride\"\n :enable_advanced_search_multigroups=\"!!extra.enable_advanced_search_multigroups\"\n :hide_header=\"hideHeaderOverride\"\n :search_display_type=\"extra.search_display_type || 'hide_and_show_summary'\"\n :inject_form_defaults=\"formDefaults\"\n :depth=\"depth ?? 1\"\n :listen_global_show_detail=\"false\"\n :max_depth=\"nestedMaxDepth\"\n ></tablePageHost>\n </div>\n</template>\n<script setup lang=\"ts\">\n// 通用一对多详情表:按 extra.modalType 复用 remotePages 的页面配置,\n// 用 extra.filter_list 把当前行 record 的值转成目标表的 conditions 预过滤。\n// 壳逻辑(配置拉取/总线/详情抽屉/视图模式)全部由 tablePageHost.vue 提供,本组件只做:\n// 1) extra 解析;\n// 2) 过滤条件构建 + 空值闸门(取不到关联值时展示空态、不挂载表格、不发请求);\n// 3) 嵌套参数收敛(depth 由上层 Host 的详情渲染传入,恒不听全局总线、不写 hash、不注册 AI 能力)。\nimport { computed } from 'vue';\nimport tablePageHost from '../remotePages/v2/tablePageHost.vue';\nimport type { DetailTableProExtra } from '../remotePages/typing.js';\n\ninterface Props {\n cmpObj?: any; // 上层 Host 透传:{ record }(或含 column 等的单元格 cmpObj)\n extra?: DetailTableProExtra;\n depth?: number; // 嵌套层级:上层 Host 抽屉渲染时传 depth+1\n}\nconst props = withDefaults(defineProps<Props>(), {\n cmpObj: null,\n extra: null,\n depth: undefined,\n});\n\nconst app_flag = computed(() => (props.extra?.modalType || '').split('-')[0] || '');\n// modalType 约定 `${app_flag}-${model_name}`,与 getUrl / obtain_<model>_column_data 同规则\n\n// ---- 过滤条件构建 + 空值闸门 ----\nconst emptyDescription = computed(() => {\n const filter_list = props.extra?.filter_list || [];\n if (!props.extra?.modalType) {\n return '未配置目标表 modalType,请检查详情配置';\n }\n if (!filter_list.length) {\n return '未配置过滤条件对应关系,请检查详情配置';\n }\n return '缺少关联字段值,无法加载关联数据';\n});\n\n// 把 filter_list 转成 advanced 条件条目(field_name/operator/value/format/class_name)。\n// fixed_value 优先(固定字面值,不依赖源行);否则取 record[source_field]。\nconst conditions = computed(() => {\n const record = props.cmpObj?.record;\n const filter_list = props.extra?.filter_list || [];\n if (!filter_list.length) {\n return [];\n }\n const res: any[] = [];\n filter_list.forEach(item => {\n let value: any;\n if (item.fixed_value !== undefined && item.fixed_value !== null && item.fixed_value !== '') {\n value = coerceFixedValue(item.fixed_value);\n } else if (record) {\n value = record[item.source_field];\n }\n // 空值闸门:取不到值的条件直接丢弃;全部取不到时由 hasConditionValue 拦截(防退化为全表查询)\n if (value === undefined || value === null || value === '') {\n return;\n }\n res.push({\n field_name: item.target_field,\n operator: item.operator || 'eq',\n value: Array.isArray(value) ? value : [value],\n format: item.format || 'input',\n class_name: item.class_name || 'str',\n });\n });\n return res;\n});\nconst hasConditionValue = computed(() => conditions.value.length > 0);\n\n// 「新建」预置外键:把 filter_list 中按源行取值的项(target_field = record[source_field])\n// 作为目标表「新建」表单的初始值,实现「在此主表下新建子表数据」;固定值条件不参与预置\nconst formDefaults = computed(() => {\n const record = props.cmpObj?.record;\n const filter_list = props.extra?.filter_list || [];\n if (!record) {\n return {};\n }\n const res: Record<string, any> = {};\n filter_list.forEach(item => {\n if (item.fixed_value !== undefined && item.fixed_value !== null && item.fixed_value !== '') {\n return;\n }\n const value = record[item.source_field];\n if (value === undefined || value === null || value === '') {\n return;\n }\n res[item.target_field] = value;\n });\n return res;\n});\n\n// 配置界面落库的是字符串,这里按「true/false→布尔、纯数字→数值、其余→字符串」推测固定值类型\nconst coerceFixedValue = (raw: any) => {\n if (typeof raw !== 'string') {\n return raw;\n }\n const text = raw.trim();\n if (text === 'true') return true;\n if (text === 'false') return false;\n if (text !== '' && !isNaN(Number(text))) return Number(text);\n return raw;\n};\n\n// enable_nested_detail=false 时把 max_depth 压到本层(depth+1 > 1 ⇒ 更深层被拦截)\nconst nestedMaxDepth = computed(() => {\n if (props.extra?.enable_nested_detail === false) {\n return 1;\n }\n return props.extra?.max_depth ?? 2;\n});\n\n// 分页覆盖:extra.enable_pagination 为布尔时传给 Host 覆盖目标页面配置;未配置传 undefined(跟随目标页面)\nconst paginationOverride = computed(() =>\n typeof props.extra?.enable_pagination === 'boolean' ? props.extra.enable_pagination : undefined,\n);\n\n// 表头隐藏覆盖:extra.hide_header 为布尔时传给 Host 覆盖目标页面配置;未配置传 undefined(跟随目标页面,默认不隐藏)\nconst hideHeaderOverride = computed(() =>\n typeof props.extra?.hide_header === 'boolean' ? props.extra.hide_header : undefined,\n);\n</script>\n<style scoped lang=\"less\">\n.detail-table-pro {\n height: 100%;\n overflow: hidden;\n}\n.dtp-center {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n padding: 24px 0;\n}\n.dtp-host {\n height: 100%;\n}\n</style>\n","<template>\n <div class=\"detail-table-pro\">\n <a-empty\n v-if=\"!hasConditionValue\"\n class=\"dtp-center\"\n :description=\"emptyDescription\"\n />\n <tablePageHost\n v-else\n class=\"dtp-host\"\n :app_flag=\"app_flag\"\n :modalType=\"extra.modalType\"\n :inject_conditions=\"conditions\"\n :inherit_route_params=\"false\"\n :use_store=\"false\"\n :enable_ai_abilities=\"false\"\n :enable_hash_sync=\"false\"\n :enable_btn_add=\"!!extra.enable_btn_add\"\n :enable_view_panel=\"!!extra.enable_view_panel\"\n :view_key_namespace=\"extra.view_key_namespace || 'detail-remotePagesV2'\"\n :title_inject=\"extra.title || ''\"\n :setting_drawer_width=\"extra.setting_drawer_width || 800\"\n :enable_pagination=\"paginationOverride\"\n :enable_advanced_search_multigroups=\"!!extra.enable_advanced_search_multigroups\"\n :hide_header=\"hideHeaderOverride\"\n :search_display_type=\"extra.search_display_type || 'hide_and_show_summary'\"\n :inject_form_defaults=\"formDefaults\"\n :depth=\"depth ?? 1\"\n :listen_global_show_detail=\"false\"\n :max_depth=\"nestedMaxDepth\"\n ></tablePageHost>\n </div>\n</template>\n<script setup lang=\"ts\">\n// 通用一对多详情表:按 extra.modalType 复用 remotePages 的页面配置,\n// 用 extra.filter_list 把当前行 record 的值转成目标表的 conditions 预过滤。\n// 壳逻辑(配置拉取/总线/详情抽屉/视图模式)全部由 tablePageHost.vue 提供,本组件只做:\n// 1) extra 解析;\n// 2) 过滤条件构建 + 空值闸门(取不到关联值时展示空态、不挂载表格、不发请求);\n// 3) 嵌套参数收敛(depth 由上层 Host 的详情渲染传入,恒不听全局总线、不写 hash、不注册 AI 能力)。\nimport { computed } from 'vue';\nimport tablePageHost from '../remotePages/v2/tablePageHost.vue';\nimport type { DetailTableProExtra } from '../remotePages/typing.js';\n\ninterface Props {\n cmpObj?: any; // 上层 Host 透传:{ record }(或含 column 等的单元格 cmpObj)\n extra?: DetailTableProExtra;\n depth?: number; // 嵌套层级:上层 Host 抽屉渲染时传 depth+1\n}\nconst props = withDefaults(defineProps<Props>(), {\n cmpObj: null,\n extra: null,\n depth: undefined,\n});\n\nconst app_flag = computed(() => (props.extra?.modalType || '').split('-')[0] || '');\n// modalType 约定 `${app_flag}-${model_name}`,与 getUrl / obtain_<model>_column_data 同规则\n\n// ---- 过滤条件构建 + 空值闸门 ----\nconst emptyDescription = computed(() => {\n const filter_list = props.extra?.filter_list || [];\n if (!props.extra?.modalType) {\n return '未配置目标表 modalType,请检查详情配置';\n }\n if (!filter_list.length) {\n return '未配置过滤条件对应关系,请检查详情配置';\n }\n return '缺少关联字段值,无法加载关联数据';\n});\n\n// 把 filter_list 转成 advanced 条件条目(field_name/operator/value/format/class_name)。\n// fixed_value 优先(固定字面值,不依赖源行);否则取 record[source_field]。\nconst conditions = computed(() => {\n const record = props.cmpObj?.record;\n const filter_list = props.extra?.filter_list || [];\n if (!filter_list.length) {\n return [];\n }\n const res: any[] = [];\n filter_list.forEach(item => {\n let value: any;\n if (item.fixed_value !== undefined && item.fixed_value !== null && item.fixed_value !== '') {\n value = coerceFixedValue(item.fixed_value);\n } else if (record) {\n value = record[item.source_field];\n }\n // 空值闸门:取不到值的条件直接丢弃;全部取不到时由 hasConditionValue 拦截(防退化为全表查询)\n if (value === undefined || value === null || value === '') {\n return;\n }\n res.push({\n field_name: item.target_field,\n operator: item.operator || 'eq',\n value: Array.isArray(value) ? value : [value],\n format: item.format || 'input',\n class_name: item.class_name || 'str',\n });\n });\n return res;\n});\nconst hasConditionValue = computed(() => conditions.value.length > 0);\n\n// 「新建」预置外键:把 filter_list 中按源行取值的项(target_field = record[source_field])\n// 作为目标表「新建」表单的初始值,实现「在此主表下新建子表数据」;固定值条件不参与预置\nconst formDefaults = computed(() => {\n const record = props.cmpObj?.record;\n const filter_list = props.extra?.filter_list || [];\n if (!record) {\n return {};\n }\n const res: Record<string, any> = {};\n filter_list.forEach(item => {\n if (item.fixed_value !== undefined && item.fixed_value !== null && item.fixed_value !== '') {\n return;\n }\n const value = record[item.source_field];\n if (value === undefined || value === null || value === '') {\n return;\n }\n res[item.target_field] = value;\n });\n return res;\n});\n\n// 配置界面落库的是字符串,这里按「true/false→布尔、纯数字→数值、其余→字符串」推测固定值类型\nconst coerceFixedValue = (raw: any) => {\n if (typeof raw !== 'string') {\n return raw;\n }\n const text = raw.trim();\n if (text === 'true') return true;\n if (text === 'false') return false;\n if (text !== '' && !isNaN(Number(text))) return Number(text);\n return raw;\n};\n\n// enable_nested_detail=false 时把 max_depth 压到本层(depth+1 > 1 ⇒ 更深层被拦截)\nconst nestedMaxDepth = computed(() => {\n if (props.extra?.enable_nested_detail === false) {\n return 1;\n }\n return props.extra?.max_depth ?? 2;\n});\n\n// 分页覆盖:extra.enable_pagination 为布尔时传给 Host 覆盖目标页面配置;未配置传 undefined(跟随目标页面)\nconst paginationOverride = computed(() =>\n typeof props.extra?.enable_pagination === 'boolean' ? props.extra.enable_pagination : undefined,\n);\n\n// 表头隐藏覆盖:extra.hide_header 为布尔时传给 Host 覆盖目标页面配置;未配置传 undefined(跟随目标页面,默认不隐藏)\nconst hideHeaderOverride = computed(() =>\n typeof props.extra?.hide_header === 'boolean' ? props.extra.hide_header : undefined,\n);\n</script>\n<style scoped lang=\"less\">\n.detail-table-pro {\n height: 100%;\n overflow: hidden;\n}\n.dtp-center {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n padding: 24px 0;\n}\n.dtp-host {\n height: 100%;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;EAiDA,IAAM,IAAQ,GAMR,IAAW,SAAgB,EAAM,OAAO,aAAa,GAAA,CAAI,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,GAI5E,IAAmB,QAAe;GACtC,IAAM,IAAc,EAAM,OAAO,eAAe,CAAC;GAOjD,OANK,EAAM,OAAO,YAGb,EAAY,SAGV,qBAFE,wBAHA;EAMX,CAAC,GAIK,IAAa,QAAe;GAChC,IAAM,IAAS,EAAM,QAAQ,QACvB,IAAc,EAAM,OAAO,eAAe,CAAC;GACjD,IAAI,CAAC,EAAY,QACf,OAAO,CAAC;GAEV,IAAM,IAAa,CAAC;GAoBpB,OAnBA,EAAY,SAAQ,MAAQ;IAC1B,IAAI;IACJ,AAAI,EAAK,gBAAgB,KAAA,KAAa,EAAK,gBAAgB,QAAQ,EAAK,gBAAgB,KACtF,IAAQ,EAAiB,EAAK,WAAW,IAChC,MACT,IAAQ,EAAO,EAAK,gBAGlB,OAAiC,QAAQ,MAAU,OAGvD,EAAI,KAAK;KACP,YAAY,EAAK;KACjB,UAAU,EAAK,YAAY;KAC3B,OAAO,MAAM,QAAQ,CAAK,IAAI,IAAQ,CAAC,CAAK;KAC5C,QAAQ,EAAK,UAAU;KACvB,YAAY,EAAK,cAAc;IACjC,CAAC;GACH,CAAC,GACM;EACT,CAAC,GACK,IAAoB,QAAe,EAAW,MAAM,SAAS,CAAC,GAI9D,IAAe,QAAe;GAClC,IAAM,IAAS,EAAM,QAAQ,QACvB,IAAc,EAAM,OAAO,eAAe,CAAC;GACjD,IAAI,CAAC,GACH,OAAO,CAAC;GAEV,IAAM,IAA2B,CAAC;GAWlC,OAVA,EAAY,SAAQ,MAAQ;IAC1B,IAAI,EAAK,gBAAgB,KAAA,KAAa,EAAK,gBAAgB,QAAQ,EAAK,gBAAgB,IACtF;IAEF,IAAM,IAAQ,EAAO,EAAK;IACtB,KAAiC,QAAQ,MAAU,OAGvD,EAAI,EAAK,gBAAgB;GAC3B,CAAC,GACM;EACT,CAAC,GAGK,KAAoB,MAAa;GACrC,IAAI,OAAO,KAAQ,UACjB,OAAO;GAET,IAAM,IAAO,EAAI,KAAK;GAItB,OAHI,MAAS,SAAe,KACxB,MAAS,UAAgB,KACzB,MAAS,MAAM,CAAC,MAAM,OAAO,CAAI,CAAC,IAAU,OAAO,CAAI,IACpD;EACT,GAGM,IAAiB,QACjB,EAAM,OAAO,yBAAyB,KACjC,IAEF,EAAM,OAAO,aAAa,CAClC,GAGK,IAAqB,QACzB,OAAO,EAAM,OAAO,qBAAsB,YAAY,EAAM,MAAM,oBAAoB,KAAA,CACxF,GAGM,IAAqB,QACzB,OAAO,EAAM,OAAO,eAAgB,YAAY,EAAM,MAAM,cAAc,KAAA,CAC5E"}
|