@mc20230601/keep-up 1.0.41 → 1.0.42
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/es/components/commonEditor/constants.mjs.map +1 -1
- package/es/components/commonFilter/constants.mjs.map +1 -1
- package/es/components/commonFilter/useFieldsParser.mjs +22 -19
- package/es/components/commonFilter/useFieldsParser.mjs.map +1 -1
- package/es/components/commonFilter/useKeepFilter.d.ts +1 -1
- package/es/components/commonFilter/useKeepFilter.mjs +1 -4
- package/es/components/commonFilter/useKeepFilter.mjs.map +1 -1
- package/es/components/commonJsonPretty/index.mjs +4 -10
- package/es/components/commonJsonPretty/index.mjs.map +1 -1
- package/es/components/commonLocations/index.mjs.map +1 -1
- package/es/components/commonLocations/utils.mjs +3 -1
- package/es/components/commonLocations/utils.mjs.map +1 -1
- package/es/components/commonModal/index.mjs.map +1 -1
- package/es/components/commonPage/index.mjs.map +1 -1
- package/es/components/commonPage/interfaces.d.ts +2 -5
- package/es/components/commonPage/useAsyncDataSource.d.ts +1 -1
- package/es/components/commonPage/useAsyncDataSource.mjs +11 -4
- package/es/components/commonPage/useAsyncDataSource.mjs.map +1 -1
- package/es/components/commonPage/usePage.mjs +37 -32
- package/es/components/commonPage/usePage.mjs.map +1 -1
- package/es/components/commonPage/usePageActions.mjs +12 -10
- package/es/components/commonPage/usePageActions.mjs.map +1 -1
- package/es/components/commonPage/usePagePreferences.mjs +28 -10
- package/es/components/commonPage/usePagePreferences.mjs.map +1 -1
- package/es/components/commonPage/utils.mjs.map +1 -1
- package/es/components/commonSetter/components/draggableList/index.mjs.map +1 -1
- package/es/components/commonSetter/index.mjs.map +1 -1
- package/es/components/commonTable/props.mjs.map +1 -1
- package/es/components/commonTable/utils.d.ts +1 -1
- package/es/components/commonTable/utils.mjs +1 -6
- package/es/components/commonTable/utils.mjs.map +1 -1
- package/es/components/formilyCmps/formTab/index.mjs +1 -5
- package/es/components/formilyCmps/formTab/index.mjs.map +1 -1
- package/es/components/formilyCmps/formilyForm/interfaces.d.ts +2 -2
- package/es/components/formilyCmps/sectionTitle/index.mjs.map +1 -1
- package/es/components/index.d.ts +1 -1
- package/es/styles/index.css +144 -144
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["../../../../../packages/components/commonEditor/constants.ts"],"sourcesContent":["/** 模式 */\nexport enum MODE {\n /** 查看 */\n VIEW = 'VIEW',\n /** 创建 */\n CREATE = 'CREATE',\n /** 编辑 */\n EDIT = 'EDIT',\n}\n\n/** 布局默认值 */\nexport const defaultLayout = {\n columns: 1,\n labelStyle: {\n width: '80px',\n margin: '0',\n }
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../../packages/components/commonEditor/constants.ts"],"sourcesContent":["/** 模式 */\nexport enum MODE {\n /** 查看 */\n VIEW = 'VIEW',\n /** 创建 */\n CREATE = 'CREATE',\n /** 编辑 */\n EDIT = 'EDIT',\n}\n\n/** 布局默认值 */\nexport const defaultLayout = {\n columns: 1,\n labelStyle: {\n width: '80px',\n margin: '0',\n },\n}\n"],"names":["MODE"],"mappings":"AACY,IAAA,IAAA,qBAAAA,KAAL,KAAA;AAEL,EAAAA,MAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AAEP,EAAAA,MAAA,QAAS,CAAA,GAAA,QAAA,CAAA;AAET,EAAAA,MAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AANG,EAAAA,OAAAA,KAAAA,CAAAA;AAAA,CAAA,EAAA,IAAA,IAAA,EAAA,EAAA;AAUL,MAAM,aAAgB,GAAA;AAAA,EAC3B,OAAS,EAAA,CAAA;AAAA,EACT,UAAY,EAAA;AAAA,IACV,KAAO,EAAA,MAAA;AAAA,IACP,MAAQ,EAAA,GAAA;AAAA,GACV;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["../../../../../packages/components/commonFilter/constants.ts"],"sourcesContent":["/** keepFilter存储localstorage的key */\nexport const KEEP_FILTER_KEY = 'FilterParams'"],"names":[],"mappings":"AACO,MAAM,eAAkB,GAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../../packages/components/commonFilter/constants.ts"],"sourcesContent":["/** keepFilter存储localstorage的key */\nexport const KEEP_FILTER_KEY = 'FilterParams'\n"],"names":[],"mappings":"AACO,MAAM,eAAkB,GAAA;;;;"}
|
|
@@ -4,26 +4,29 @@ const useFieldsParser = (props) => {
|
|
|
4
4
|
const { filterFields, maxColumns } = toRefs(props);
|
|
5
5
|
const collapseData = computed(() => {
|
|
6
6
|
const filterFieldsEntries = Object.entries(filterFields.value);
|
|
7
|
-
return filterFieldsEntries.reduce(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
return filterFieldsEntries.reduce(
|
|
8
|
+
(acc, [k, v]) => {
|
|
9
|
+
var _a;
|
|
10
|
+
const gridSpan = ((_a = v["x-component-props"]) == null ? void 0 : _a.gridSpan) || 1;
|
|
11
|
+
const curTotalGridSpan = acc.totalGridSpan + gridSpan;
|
|
12
|
+
const isOverflow = curTotalGridSpan > maxColumns.value;
|
|
13
|
+
acc.totalGridSpan = curTotalGridSpan;
|
|
14
|
+
acc.allFieldKeys.push(k);
|
|
15
|
+
acc.collapsible = isOverflow;
|
|
16
|
+
Object.assign(acc.allFields, { [k]: v });
|
|
17
|
+
if (!isOverflow) {
|
|
18
|
+
acc.visibleFieldKeys.push(k);
|
|
19
|
+
}
|
|
20
|
+
return acc;
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
allFields: {},
|
|
24
|
+
allFieldKeys: [],
|
|
25
|
+
visibleFieldKeys: [],
|
|
26
|
+
totalGridSpan: 0,
|
|
27
|
+
collapsible: false
|
|
18
28
|
}
|
|
19
|
-
|
|
20
|
-
}, {
|
|
21
|
-
allFields: {},
|
|
22
|
-
allFieldKeys: [],
|
|
23
|
-
visibleFieldKeys: [],
|
|
24
|
-
totalGridSpan: 0,
|
|
25
|
-
collapsible: false
|
|
26
|
-
});
|
|
29
|
+
);
|
|
27
30
|
});
|
|
28
31
|
return {
|
|
29
32
|
collapseData
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFieldsParser.mjs","sources":["../../../../../packages/components/commonFilter/useFieldsParser.ts"],"sourcesContent":["import { toRefs, computed } from 'vue'\nimport { props as CommonProps } from './props'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { ICollapseData, IUseFieldsParserRes } from './interfaces'\n\n/** 拆分派生字段数据 */\nexport const useFieldsParser = (props: ExtractPropTypes<typeof CommonProps
|
|
1
|
+
{"version":3,"file":"useFieldsParser.mjs","sources":["../../../../../packages/components/commonFilter/useFieldsParser.ts"],"sourcesContent":["import { toRefs, computed } from 'vue'\nimport { props as CommonProps } from './props'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { ICollapseData, IUseFieldsParserRes } from './interfaces'\n\n/** 拆分派生字段数据 */\nexport const useFieldsParser = (\n props: ExtractPropTypes<typeof CommonProps>,\n): IUseFieldsParserRes => {\n const { filterFields, maxColumns } = toRefs(props)\n const collapseData = computed<ICollapseData>(() => {\n const filterFieldsEntries = Object.entries(filterFields.value)\n return filterFieldsEntries.reduce(\n (acc, [k, v]) => {\n const gridSpan = v['x-component-props']?.gridSpan || 1\n const curTotalGridSpan = acc.totalGridSpan + gridSpan\n const isOverflow = curTotalGridSpan > maxColumns.value\n acc.totalGridSpan = curTotalGridSpan\n acc.allFieldKeys.push(k)\n acc.collapsible = isOverflow\n Object.assign(acc.allFields, { [k]: v })\n if (!isOverflow) {\n acc.visibleFieldKeys.push(k)\n }\n return acc\n },\n {\n allFields: {},\n allFieldKeys: [],\n visibleFieldKeys: [],\n totalGridSpan: 0,\n collapsible: false as boolean,\n },\n )\n })\n return {\n collapseData,\n }\n}\n"],"names":[],"mappings":";;AAOa,MAAA,eAAA,GAAkB,CAC7B,KACwB,KAAA;AACxB,EAAA,MAAM,EAAE,YAAA,EAAc,UAAW,EAAA,GAAI,OAAO,KAAK,CAAA,CAAA;AACjD,EAAM,MAAA,YAAA,GAAe,SAAwB,MAAM;AACjD,IAAA,MAAM,mBAAsB,GAAA,MAAA,CAAO,OAAQ,CAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAC7D,IAAA,OAAO,mBAAoB,CAAA,MAAA;AAAA,MACzB,CAAC,GAAA,EAAK,CAAC,CAAA,EAAG,CAAC,CAAM,KAAA;AAdvB,QAAA,IAAA,EAAA,CAAA;AAeQ,QAAA,MAAM,QAAW,GAAA,CAAA,CAAA,EAAA,GAAA,CAAA,CAAE,mBAAmB,CAAA,KAArB,mBAAwB,QAAY,KAAA,CAAA,CAAA;AACrD,QAAM,MAAA,gBAAA,GAAmB,IAAI,aAAgB,GAAA,QAAA,CAAA;AAC7C,QAAM,MAAA,UAAA,GAAa,mBAAmB,UAAW,CAAA,KAAA,CAAA;AACjD,QAAA,GAAA,CAAI,aAAgB,GAAA,gBAAA,CAAA;AACpB,QAAI,GAAA,CAAA,YAAA,CAAa,KAAK,CAAC,CAAA,CAAA;AACvB,QAAA,GAAA,CAAI,WAAc,GAAA,UAAA,CAAA;AAClB,QAAO,MAAA,CAAA,MAAA,CAAO,IAAI,SAAW,EAAA,EAAE,CAAC,CAAC,GAAG,GAAG,CAAA,CAAA;AACvC,QAAA,IAAI,CAAC,UAAY,EAAA;AACf,UAAI,GAAA,CAAA,gBAAA,CAAiB,KAAK,CAAC,CAAA,CAAA;AAAA,SAC7B;AACA,QAAO,OAAA,GAAA,CAAA;AAAA,OACT;AAAA,MACA;AAAA,QACE,WAAW,EAAC;AAAA,QACZ,cAAc,EAAC;AAAA,QACf,kBAAkB,EAAC;AAAA,QACnB,aAAe,EAAA,CAAA;AAAA,QACf,WAAa,EAAA,KAAA;AAAA,OACf;AAAA,KACF,CAAA;AAAA,GACD,CAAA,CAAA;AACD,EAAO,OAAA;AAAA,IACL,YAAA;AAAA,GACF,CAAA;AACF;;;;"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { IUseKeepFilterParams, IUseKeepFilterRes } from './interfaces';
|
|
2
2
|
/** 保存filter数据,在页面初始化时取出数据回显在filter区域 */
|
|
3
|
-
export declare const useKeepFilter: ({ pageKey, formRef
|
|
3
|
+
export declare const useKeepFilter: ({ pageKey, formRef }: IUseKeepFilterParams) => IUseKeepFilterRes;
|
|
@@ -3,10 +3,7 @@ import '../../utils/emitter.mjs';
|
|
|
3
3
|
import { setStorage, getStorage } from '../../utils/storage.mjs';
|
|
4
4
|
import { KEEP_FILTER_KEY } from './constants.mjs';
|
|
5
5
|
|
|
6
|
-
const useKeepFilter = ({
|
|
7
|
-
pageKey,
|
|
8
|
-
formRef
|
|
9
|
-
}) => {
|
|
6
|
+
const useKeepFilter = ({ pageKey, formRef }) => {
|
|
10
7
|
const filterParams = ref({});
|
|
11
8
|
const keepFilter = (params) => {
|
|
12
9
|
if (!pageKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeepFilter.mjs","sources":["../../../../../packages/components/commonFilter/useKeepFilter.ts"],"sourcesContent":["import { ref } from 'vue'\nimport { setStorage, getStorage } from '../../utils'\nimport { KEEP_FILTER_KEY } from './constants'\n\nimport type { ICommonObj } from '../../interfaces/common'\nimport type { IUseKeepFilterParams, IUseKeepFilterRes } from './interfaces'\n\n/** 保存filter数据,在页面初始化时取出数据回显在filter区域 */\nexport const useKeepFilter = ({
|
|
1
|
+
{"version":3,"file":"useKeepFilter.mjs","sources":["../../../../../packages/components/commonFilter/useKeepFilter.ts"],"sourcesContent":["import { ref } from 'vue'\nimport { setStorage, getStorage } from '../../utils'\nimport { KEEP_FILTER_KEY } from './constants'\n\nimport type { ICommonObj } from '../../interfaces/common'\nimport type { IUseKeepFilterParams, IUseKeepFilterRes } from './interfaces'\n\n/** 保存filter数据,在页面初始化时取出数据回显在filter区域 */\nexport const useKeepFilter = ({ pageKey, formRef }: IUseKeepFilterParams): IUseKeepFilterRes => {\n /** 筛选项数据 */\n const filterParams = ref({})\n /** 缓存筛选项数据 */\n const keepFilter = (params: ICommonObj) => {\n if (!pageKey) {\n console.error(`保存筛选数据失败,失败原因:缺少pageKey`)\n return\n }\n setStorage(`${pageKey}${KEEP_FILTER_KEY}`, params)\n }\n /** 初始化 */\n const init = () => {\n const formValues = formRef?.value?.values\n if (pageKey) {\n const cache = getStorage(`${pageKey}${KEEP_FILTER_KEY}`)\n filterParams.value = cache || formValues\n } else {\n filterParams.value = formValues\n }\n }\n return {\n filterParams,\n keepFilter,\n init,\n }\n}\n"],"names":[],"mappings":";;;;;AAQO,MAAM,aAAgB,GAAA,CAAC,EAAE,OAAA,EAAS,SAAuD,KAAA;AAE9F,EAAM,MAAA,YAAA,GAAe,GAAI,CAAA,EAAE,CAAA,CAAA;AAE3B,EAAM,MAAA,UAAA,GAAa,CAAC,MAAuB,KAAA;AACzC,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA,OAAA,CAAQ,MAAM,CAAyB,uGAAA,CAAA,CAAA,CAAA;AACvC,MAAA,OAAA;AAAA,KACF;AACA,IAAA,UAAA,CAAW,CAAG,EAAA,OAAO,CAAG,EAAA,eAAe,IAAI,MAAM,CAAA,CAAA;AAAA,GACnD,CAAA;AAEA,EAAA,MAAM,OAAO,MAAM;AApBrB,IAAA,IAAA,EAAA,CAAA;AAqBI,IAAM,MAAA,UAAA,GAAA,CAAa,EAAS,GAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA,KAAT,IAAgB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA;AACnC,IAAA,IAAI,OAAS,EAAA;AACX,MAAA,MAAM,QAAQ,UAAW,CAAA,CAAA,EAAG,OAAO,CAAA,EAAG,eAAe,CAAE,CAAA,CAAA,CAAA;AACvD,MAAA,YAAA,CAAa,QAAQ,KAAS,IAAA,UAAA,CAAA;AAAA,KACzB,MAAA;AACL,MAAA,YAAA,CAAa,KAAQ,GAAA,UAAA,CAAA;AAAA,KACvB;AAAA,GACF,CAAA;AACA,EAAO,OAAA;AAAA,IACL,YAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAA;AAAA,GACF,CAAA;AACF;;;;"}
|
|
@@ -11,16 +11,10 @@ const CommonJsonPretty = defineComponent({
|
|
|
11
11
|
return () => h(VueJsonPretty, { ...attrs });
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
-
const FormilyCommonJsonPretty = connect(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
);
|
|
18
|
-
var index = composeExpose(
|
|
19
|
-
CommonJsonPretty,
|
|
20
|
-
{
|
|
21
|
-
FormilyCommonJsonPretty
|
|
22
|
-
}
|
|
23
|
-
);
|
|
14
|
+
const FormilyCommonJsonPretty = connect(CommonJsonPretty, mapProps({ value: "data" }));
|
|
15
|
+
var index = composeExpose(CommonJsonPretty, {
|
|
16
|
+
FormilyCommonJsonPretty
|
|
17
|
+
});
|
|
24
18
|
|
|
25
19
|
export { CommonJsonPretty, FormilyCommonJsonPretty, index as default };
|
|
26
20
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonJsonPretty/index.ts"],"sourcesContent":["import { defineComponent, h } from 'vue'\nimport { connect, mapProps } from '@formily/vue'\nimport VueJsonPretty from 'vue-json-pretty'\nimport 'vue-json-pretty/lib/styles.css'\nimport { composeExpose } from '../../utils/shared'\n\nexport const CommonJsonPretty = defineComponent({\n name: 'CommonJsonPretty',\n inheritAttrs: false,\n setup(_, { attrs }) {\n return () => h(VueJsonPretty, {...attrs})\n }
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonJsonPretty/index.ts"],"sourcesContent":["import { defineComponent, h } from 'vue'\nimport { connect, mapProps } from '@formily/vue'\nimport VueJsonPretty from 'vue-json-pretty'\nimport 'vue-json-pretty/lib/styles.css'\nimport { composeExpose } from '../../utils/shared'\n\nexport const CommonJsonPretty = defineComponent({\n name: 'CommonJsonPretty',\n inheritAttrs: false,\n setup(_, { attrs }) {\n return () => h(VueJsonPretty, { ...attrs })\n },\n})\n\nexport const FormilyCommonJsonPretty = connect(CommonJsonPretty, mapProps({ value: 'data' }))\n\nexport default composeExpose(CommonJsonPretty, {\n FormilyCommonJsonPretty,\n})\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,mBAAmB,eAAgB,CAAA;AAAA,EAC9C,IAAM,EAAA,kBAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAAA,EACd,KAAM,CAAA,CAAA,EAAG,EAAE,KAAA,EAAS,EAAA;AAClB,IAAA,OAAO,MAAM,CAAE,CAAA,aAAA,EAAe,EAAE,GAAG,OAAO,CAAA,CAAA;AAAA,GAC5C;AACF,CAAC,EAAA;AAEY,MAAA,uBAAA,GAA0B,QAAQ,gBAAkB,EAAA,QAAA,CAAS,EAAE,KAAO,EAAA,MAAA,EAAQ,CAAC,EAAA;AAE5F,YAAe,cAAc,gBAAkB,EAAA;AAAA,EAC7C,uBAAA;AACF,CAAC,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonLocations/index.tsx"],"sourcesContent":["import { defineComponent, watch } from 'vue'\nimport { useLocations } from './useLocations'\nimport { valueKey } from './constants'\nimport styles from './index.module.scss'\n\nimport type { PropType } from 'vue'\nimport type { ILocationItem } from './interfaces'\n\nconst props = {\n /** value */\n value: {\n type: Array as PropType<string[]>,\n default: () =>
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonLocations/index.tsx"],"sourcesContent":["import { defineComponent, watch } from 'vue'\nimport { useLocations } from './useLocations'\nimport { valueKey } from './constants'\nimport styles from './index.module.scss'\n\nimport type { PropType } from 'vue'\nimport type { ILocationItem } from './interfaces'\n\nconst props = {\n /** value */\n value: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n /** 主要用于做数据回显 */\n options: {\n type: Array as PropType<ILocationItem[]>,\n default: () => [],\n },\n /** 禁用 */\n disabled: {\n type: Boolean,\n default: false,\n },\n}\n\nexport default defineComponent({\n name: 'Locations',\n props,\n setup(props, { emit }) {\n const { locations, allLocations } = useLocations(props)\n\n /** 配合formily的value/change模式 */\n watch(\n () => allLocations.value.selectedChildren,\n (val) => {\n emit('change', val)\n },\n )\n\n return () => {\n return (\n <el-space\n class={styles.container}\n direction='column'\n alignment='space-between'\n fill={true}\n style={{ padding: '0 16px' }}\n >\n {Object.entries(locations.value)\n .sort(([aKey]) => (aKey === 'all' ? -1 : 0))\n .map(([k, v]) => (\n <div\n style={{\n width: '100%',\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n }}\n >\n <el-checkbox\n v-model={v.isAllChecked}\n indeterminate={v.isHalfChecked}\n disabled={props.disabled}\n onChange={v.onChange}\n >\n {v.label}\n </el-checkbox>\n <el-checkbox-group\n v-model={v.selectedChildren}\n disabled={props.disabled}\n style={{\n width: 'calc(100% - 132px - 8px)',\n }}\n >\n {v.children.map((v1) => (\n <el-checkbox\n key={v1.label}\n label={v1.label}\n value={v1[valueKey]}\n {...(v.label === '全选' ? { indeterminate: v1.isHalfChecked } : {})}\n onChange={v1.onChange}\n >\n {v1.label}\n </el-checkbox>\n ))}\n </el-checkbox-group>\n </div>\n ))}\n </el-space>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","props","value","type","Array","default","options","disabled","Boolean","defineComponent","name","setup","emit","locations","allLocations","useLocations","watch","selectedChildren","val","_slot2","_createVNode","_resolveComponent","styles","container","padding","entries","sort","aKey","map","k","v","_slot","width","display","alignItems","justifyContent","isAllChecked","$event","isHalfChecked","onChange","label","children","v1","_mergeProps","valueKey","indeterminate"],"mappings":"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"}
|
|
@@ -9,7 +9,9 @@ const getUtils = (locations, allLocations) => {
|
|
|
9
9
|
const target = (_a = locations.value.all) == null ? void 0 : _a.children.find((v) => v[key] === curItem[key]);
|
|
10
10
|
const index = (_b = locations.value.all) == null ? void 0 : _b.selectedChildren.findIndex((v) => v === target[valueKey]);
|
|
11
11
|
const sameAsnLeafs = allLocations.value.children.filter((v) => v[key] === target[key]);
|
|
12
|
-
const selectedLeafs = sameAsnLeafs.filter(
|
|
12
|
+
const selectedLeafs = sameAsnLeafs.filter(
|
|
13
|
+
(v) => allLocations.value.selectedChildren.includes(v[valueKey])
|
|
14
|
+
);
|
|
13
15
|
if (!(selectedLeafs == null ? void 0 : selectedLeafs.length)) {
|
|
14
16
|
target.isAllChecked = false;
|
|
15
17
|
target.isHalfChecked = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","sources":["../../../../../packages/components/commonLocations/utils.ts"],"sourcesContent":["import { Type, TypeKey, valueKey } from './constants'\n\nimport type { Ref, ComputedRef } from 'vue'\nimport type {
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../../../../packages/components/commonLocations/utils.ts"],"sourcesContent":["import { Type, TypeKey, valueKey } from './constants'\n\nimport type { Ref, ComputedRef } from 'vue'\nimport type { ILocations, ILocationItem, ISelectedData } from './interfaces'\n\n/** 获取状态检查函数 */\nexport const getUtils = (locations: Ref<ILocations>, allLocations: ComputedRef<ISelectedData>) => {\n return {\n /** 运营商选中状态检查【运营商节点和all节点】 */\n ispNodeOnCheck(curItem: ILocationItem, type: Type) {\n /** 因为运营商的唯一值是asn,其余的叶子节点唯一值是regionId,所以在这里如果要把运营商模拟为叶子结点的话,需要把asn填进regionId */\n const key = TypeKey[type]\n const target = locations.value.all?.children.find((v) => v[key] === curItem[key]) // 当前节点\n const index = locations.value.all?.selectedChildren.findIndex((v) => v === target[valueKey]) // 当前节点在selectedChildren中的下标\n const sameAsnLeafs = allLocations.value.children.filter((v) => v[key] === target[key]) // 所有本运营商的leaf节点\n const selectedLeafs = sameAsnLeafs.filter((v) =>\n allLocations.value.selectedChildren.includes(v[valueKey]),\n ) // 本运营商中被选中的leaf节点\n if (!selectedLeafs?.length) {\n target.isAllChecked = false\n target.isHalfChecked = false\n if (locations.value.all?.selectedChildren.includes(target[valueKey])) {\n locations.value.all?.selectedChildren.splice(index, 1)\n }\n } else if (selectedLeafs.length > 0 && selectedLeafs?.length < sameAsnLeafs.length) {\n target.isAllChecked = false\n target.isHalfChecked = true\n if (locations.value.all?.selectedChildren.includes(target[valueKey])) {\n locations.value.all?.selectedChildren.splice(index, 1)\n }\n } else if (selectedLeafs.length === sameAsnLeafs.length) {\n target.isAllChecked = true\n target.isHalfChecked = false\n if (!locations.value.all?.selectedChildren.includes(target[valueKey])) {\n locations.value.all?.selectedChildren.push(target[valueKey])\n }\n }\n },\n /** 组节点选中状态检查 */\n groupNodeOnCheck(curItem: ILocationItem, type: Type) {\n const key = TypeKey[type]\n const target = locations.value[curItem[key]]\n if (!target.selectedChildren?.length) {\n target.isAllChecked = false\n target.isHalfChecked = false\n } else if (\n target.selectedChildren?.length > 0 &&\n target.selectedChildren?.length < target.children?.length\n ) {\n target.isAllChecked = false\n target.isHalfChecked = true\n } else if (target.selectedChildren?.length === target.children?.length) {\n target.isAllChecked = true\n target.isHalfChecked = false\n }\n },\n /** 全选节点选中状态检查 */\n allNodeOnCheck() {\n if (!allLocations.value.selectedChildren.length) {\n locations.value.all.isAllChecked = false\n locations.value.all.isHalfChecked = false\n } else if (\n allLocations.value.selectedChildren.length > 0 &&\n allLocations.value.selectedChildren.length < allLocations.value.children?.length\n ) {\n locations.value.all.isAllChecked = false\n locations.value.all.isHalfChecked = true\n } else if (\n allLocations.value.selectedChildren.length === allLocations.value.children?.length\n ) {\n locations.value.all.isAllChecked = true\n locations.value.all.isHalfChecked = false\n }\n },\n /** 调用组节点/运营商节点/全选节点的onCheck */\n dispatchAllNodesOnCheck() {\n ;(locations.value.all?.children || []).forEach((v) => v.onCheck())\n Object.entries(locations.value).forEach(([k, v]) => v.onCheck())\n },\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonModal/index.tsx"],"sourcesContent":["import { defineComponent, ref } from 'vue'\nimport { ElDialog } from 'element-plus'\nimport styles from './index.module.scss'\n\nimport type { ICommonModalExpose } from './interfaces'\n\nconst props = {\n /** 标题 */\n title: {\n type: String,\n default: '',\n },\n /** 宽度 */\n size: {\n type: String,\n default: '42%',\n },\n}\n\nexport * from './interfaces'\nexport default defineComponent({\n name: 'CommonEditor',\n props,\n emits: ['close'],\n setup(props, { emit, expose, slots }) {\n const visible = ref(false)\n const onClose = () => {\n emit('close')\n }\n const open = () => {\n
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonModal/index.tsx"],"sourcesContent":["import { defineComponent, ref } from 'vue'\nimport { ElDialog } from 'element-plus'\nimport styles from './index.module.scss'\n\nimport type { ICommonModalExpose } from './interfaces'\n\nconst props = {\n /** 标题 */\n title: {\n type: String,\n default: '',\n },\n /** 宽度 */\n size: {\n type: String,\n default: '42%',\n },\n}\n\nexport * from './interfaces'\nexport default defineComponent({\n name: 'CommonEditor',\n props,\n emits: ['close'],\n setup(props, { emit, expose, slots }) {\n const visible = ref(false)\n const onClose = () => {\n emit('close')\n }\n const open = () => {\n visible.value = true\n }\n const close = () => {\n visible.value = false\n }\n expose<ICommonModalExpose>({ open, close })\n return () => (\n <ElDialog\n modelValue={visible.value}\n onUpdate:modelValue={(modelValue: boolean) => {\n visible.value = modelValue\n }}\n title={props.title || '默认标题'}\n width={props.size}\n class={styles.container}\n bodyClass={styles.content}\n destroyOnClose\n onClose={onClose}\n v-slots={slots}\n />\n )\n },\n})\n"],"names":["props","title","type","String","default","size","defineComponent","name","emits","setup","emit","expose","slots","visible","ref","onClose","open","value","close","_createVNode","ElDialog","modelValue","styles","container","content"],"mappings":";;;;AAMA,MAAMA,KAAQ,GAAA;AAAA;AAAA,EAEZC,KAAO,EAAA;AAAA,IACLC,IAAMC,EAAAA,MAAAA;AAAAA,IACNC,OAAS,EAAA,EAAA;AAAA,GACX;AAAA;AAAA,EAEAC,IAAM,EAAA;AAAA,IACJH,IAAMC,EAAAA,MAAAA;AAAAA,IACNC,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAA,CAAA;AAGA,kBAAeE,eAAgB,CAAA;AAAA,EAC7BC,IAAM,EAAA,cAAA;AAAA,EACNP,KAAAA;AAAAA,EACAQ,KAAAA,EAAO,CAAC,OAAO,CAAA;AAAA,EACfC,MAAMT,MAAO,EAAA;AAAA,IAAEU,IAAAA;AAAAA,IAAMC,MAAAA;AAAAA,IAAQC,KAAAA;AAAAA,GAAS,EAAA;AACpC,IAAMC,MAAAA,OAAAA,GAAUC,IAAI,KAAK,CAAA,CAAA;AACzB,IAAA,MAAMC,UAAUA,MAAM;AACpBL,MAAAA,IAAAA,CAAK,OAAO,CAAA,CAAA;AAAA,KACd,CAAA;AACA,IAAA,MAAMM,OAAOA,MAAM;AACjBH,MAAAA,OAAAA,CAAQI,KAAQ,GAAA,IAAA,CAAA;AAAA,KAClB,CAAA;AACA,IAAA,MAAMC,QAAQA,MAAM;AAClBL,MAAAA,OAAAA,CAAQI,KAAQ,GAAA,KAAA,CAAA;AAAA,KAClB,CAAA;AACAN,IAA2B,MAAA,CAAA;AAAA,MAAEK,IAAAA;AAAAA,MAAME,KAAAA;AAAAA,KAAO,CAAA,CAAA;AAC1C,IAAO,OAAA,MAAAC,YAAAC,QAAA,EAAA;AAAA,MAAA,cAESP,OAAQI,CAAAA,KAAAA;AAAAA,MAAK,uBACHI,CAAwB,UAAA,KAAA;AAC5CR,QAAAA,OAAAA,CAAQI,KAAQI,GAAAA,UAAAA,CAAAA;AAAAA,OAClB;AAAA,MAAC,OAAA,EACMrB,OAAMC,KAAS,IAAA,0BAAA;AAAA,MAAM,SACrBD,MAAMK,CAAAA,IAAAA;AAAAA,MAAI,SACViB,MAAOC,CAAAA,SAAAA;AAAAA,MAAS,aACZD,MAAOE,CAAAA,OAAAA;AAAAA,MAAO,gBAAA,EAAA,IAAA;AAAA,MAAA,SAEhBT,EAAAA,OAAAA;AAAAA,OACAH,KAAK,CAAA,CAAA;AAAA,GAGpB;AACF,CAAC,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonPage/index.tsx"],"sourcesContent":["import { defineComponent, ref, onMounted, onUnmounted, nextTick, provide, h } from 'vue'\nimport { isEmpty } from 'lodash'\nimport { ElButton, ElSpace } from 'element-plus'\nimport { Plus } from '@element-plus/icons-vue'\nimport IconFont from '../iconFont'\nimport Space from '../space'\nimport emitter from '../../utils/emitter'\nimport CommonFilter from '../commonFilter'\nimport CommonSetter from '../commonSetter'\nimport CommonTable from '../commonTable'\nimport CommonEditor from '../commonEditor'\nimport usePage from './usePage'\nimport { usePageActions } from './usePageActions'\nimport { COMMON_FILTER_INJECTION_KEY } from './constants'\nimport styles from './index.module.scss'\n\nimport type { PropType, Ref, VNode } from 'vue'\nimport type { IListApi, ICommonObj } from '../../interfaces/common'\nimport type { IField } from '../../interfaces/commonPage'\nimport type { IExpose, IExpandedRowRenderParams } from './interfaces'\nimport type { ICommonFilterExpose } from '../commonFilter'\nimport type { ICommonEditorExpose, IEditorLayout } from '../commonEditor'\nimport type { ICommonTableExpose } from '../commonTable'\n\nconst props = {\n /** fields */\n fields: {\n type: Array as PropType<IField[] | Ref<IField[]>>,\n default: () => [],\n },\n /** 获取列表 */\n listApi: {\n type: Function as PropType<IListApi>,\n default: undefined,\n },\n /** 创建 */\n createApi: {\n type: Function as PropType<(p: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 编辑 */\n editApi: {\n type: Function as PropType<(p: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 下载 */\n downloadApi: {\n type: Function as PropType<(p?: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 导出 */\n exportApi: {\n type: Function as PropType<(p?: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 格式化列表接口入参 */\n formatListParams: {\n type: Function as PropType<(p: any) => any>,\n default: undefined,\n },\n /** 格式化创建&编辑接口入参 */\n formatEditParams: {\n type: Function as PropType<(p: any) => any>,\n default: undefined,\n },\n /** 格式化创建&编辑接口入参 */\n formatExportParams: {\n type: Function as PropType<(p: any) => any>,\n default: undefined,\n },\n /** 页面标识 */\n pageKey: {\n type: String,\n default: '',\n },\n /** 行标识 */\n rowKey: {\n type: String,\n default: 'id',\n },\n /** 可选择 */\n selectable: {\n type: Boolean,\n default: false,\n },\n /** 选择配置 */\n selectOptions: {\n type: Function as PropType<(row?: any, index?: number) => boolean>,\n default: () => true,\n },\n /** 选中值 */\n selected: {\n type: Array,\n default: () => [],\n },\n /** 表格展开区域渲染器 */\n expandedRowRender: {\n type: Function as PropType<(p: IExpandedRowRenderParams) => VNode>,\n default: undefined,\n },\n /** 需要分页 */\n needPagination: {\n type: Boolean,\n default: false,\n },\n /** 分页配置 */\n paginationConfig: {\n type: Object,\n default: () => ({}),\n },\n /** 筛选区域栅格数量 */\n filterColumns: {\n type: Number,\n default: 3,\n },\n /** 编辑器样式 */\n editorLayout: {\n type: Object as PropType<IEditorLayout>,\n default: () => ({\n columns: 0,\n labelStyle: {\n width: '100px',\n margin: '0',\n },\n }),\n },\n /** 刷新 */\n refreshable: {\n type: Boolean,\n default: false,\n },\n /** 单行操作栏 */\n singleActionBar: {\n type: Boolean,\n default: false,\n },\n}\n\nexport * from './constants'\nexport * from '../commonEditor/constants'\nexport type { IField, IExpose }\nexport default defineComponent({\n name: 'CommonPage',\n props,\n setup(props, { emit, slots, expose }) {\n const containerRef = ref()\n const commonFilterRef = ref<ICommonFilterExpose>()\n const commonEditorRef = ref<ICommonEditorExpose>()\n const commonTableRef = ref<ICommonTableExpose>()\n const setterBarRef = ref()\n const extraPaneRef = ref()\n const commonIconBtnStyle = ref({\n padding: '8px',\n marginLeft: 0,\n })\n const {\n allEditFields,\n fetchEffects,\n visibleFilterFields,\n visibleColumns,\n allVisibleFilterFields,\n allVisibleColumnFields,\n setPagePreferences,\n } = usePage(props) // 数据派生\n const { query, openEditor, create, filterReset, download, exportFn, watchList } =\n usePageActions(\n props.paginationConfig,\n props.downloadApi,\n props.exportApi,\n props.formatExportParams,\n commonFilterRef,\n commonEditorRef,\n commonTableRef,\n ) // 动作抽离\n watchList(ref([visibleColumns]))\n provide(COMMON_FILTER_INJECTION_KEY, commonFilterRef)\n onMounted(async () => {\n emitter.on('openEditor', openEditor)\n })\n onUnmounted(() => {\n emitter.off('openEditor', openEditor)\n })\n expose<IExpose>({\n query,\n getFilterForm: () => commonFilterRef.value?.getForm(),\n getPagination: () => commonTableRef.value?.pagination,\n updateTableHeight: () => {\n /** 暂时废弃 */\n },\n })\n /** 筛选区域 */\n const commonFilterTsx = (needPadding: boolean = false) => (\n <Space\n class={styles.commonFilterContainer}\n style={{ padding: needPadding ? '0 12px' : '0px', boxSizing: 'border-box' }}\n align='flex-start'\n justify='start'\n size={12}\n fill\n >\n {isEmpty(visibleFilterFields.value) ? null : (\n <CommonFilter\n ref={commonFilterRef}\n maxColumns={props.filterColumns}\n filterFields={visibleFilterFields.value}\n operateActions={{ query, reset: filterReset }}\n effectHooks={fetchEffects.value}\n pageKey={props.pageKey}\n v-slots={{\n ...(slots.filterTitle ? { title: slots.filterTitle } : {}),\n }}\n />\n )}\n {commonFilterRef.value?.collapseData?.collapsible && (\n <ElButton\n class={styles.collapse}\n icon={h(IconFont, {\n name: 'double_arrow_down',\n class: styles.collapseIcon,\n style: {\n transform: `rotate(${commonFilterRef.value?.visible ? '180deg' : '0deg'})`,\n },\n size: '10',\n })}\n text\n onClick={async () => {\n if (!commonFilterRef.value?.collapseData?.collapsible) {\n return\n }\n commonFilterRef.value?.collapse()\n await nextTick()\n // updateTableHeight()\n }}\n >\n {commonFilterRef.value?.visible ? '收起' : '展开'}\n </ElButton>\n )}\n </Space>\n )\n /** 纯操作栏 */\n const actionTsx = () => (\n <Space class={styles.setter} style={{ width: '100%' }} align='flex-start' justify='space-between' size={12} fill>\n <Space>\n {props.createApi && (\n <ElButton type='primary' icon={Plus} onClick={create}>\n 新增\n </ElButton>\n )}\n {slots.setterPrefix?.()}\n {props.downloadApi &&\n (slots.download?.(download) || <ElButton onClick={download}>下载</ElButton>)}\n </Space>\n <Space class={styles.end} size={12} justify='end'>\n {slots.setterSuffix?.()}\n {props.exportApi &&\n (slots.exportBtn?.(exportFn) || (\n <ElButton\n style={commonIconBtnStyle.value}\n icon={h(IconFont, { name: 'export', size: '22' })}\n link\n onClick={exportFn}\n />\n ))}\n {props.refreshable && (\n <ElButton\n style={commonIconBtnStyle.value}\n icon={h(IconFont, { name: 'refresh', size: '22' })}\n link\n onClick={() => query({ text: '刷新' })}\n />\n )}\n {props.pageKey && (\n <CommonSetter\n allVisibleFilterFields={allVisibleFilterFields}\n allVisibleColumnFields={allVisibleColumnFields}\n onConfirm={setPagePreferences}\n v-slots={{\n reference: () => (\n <ElButton\n style={{ margin: 0, ...commonIconBtnStyle.value }}\n icon={h(IconFont, { name: 'setter', size: '22' })}\n />\n ),\n }}\n />\n )}\n </Space>\n </Space>\n )\n /** 操作栏 + 筛选区域 */\n const action2Tsx = () => {\n const hasSetter =\n (props.createApi || props.downloadApi || slots.setterPrefix) &&\n !isEmpty(visibleFilterFields.value)\n return (\n <Space class={styles.setter} align='flex-start' justify='end' size={12} fill>\n {hasSetter && (\n <Space>\n {props.createApi && (\n <ElButton type='primary' icon={Plus} onClick={create}>\n 新增\n </ElButton>\n )}\n {slots.setterPrefix?.()}\n {props.downloadApi &&\n (slots.download?.(download) || <ElButton onClick={download}>下载</ElButton>)}\n </Space>\n )}\n {hasSetter && <el-divider direction='vertical' class={styles.line} />}\n {commonFilterTsx()}\n <Space class={styles.end} size={12} justify='end'>\n {slots.setterSuffix?.()}\n {props.exportApi &&\n (slots.exportBtn?.(exportFn) || (\n <ElButton\n style={commonIconBtnStyle.value}\n icon={h(IconFont, { name: 'export', size: '22' })}\n text\n onClick={exportFn}\n />\n ))}\n {props.refreshable && (\n <ElButton\n style={commonIconBtnStyle.value}\n icon={h(IconFont, { name: 'refresh', size: '22' })}\n text\n onClick={() => query({ text: '刷新' })}\n />\n )}\n {props.pageKey && (\n <CommonSetter\n allVisibleFilterFields={allVisibleFilterFields}\n allVisibleColumnFields={allVisibleColumnFields}\n onConfirm={setPagePreferences}\n v-slots={{\n reference: () => (\n <ElButton\n style={{ margin: 0, ...commonIconBtnStyle.value }}\n icon={h(IconFont, { name: 'setter', size: '22' })}\n text\n />\n ),\n }}\n />\n )}\n </Space>\n </Space>\n )\n }\n return () => (\n <>\n <Space ref={containerRef} class={styles.container} direction='column'>\n <Space ref={setterBarRef} direction='column' fill>\n {/* 临时逻辑,代码太差,后续优化 */}\n {isEmpty(visibleFilterFields.value) ? (\n actionTsx()\n ) : (\n <>\n {props.singleActionBar ? actionTsx() : null}\n {props.singleActionBar ? commonFilterTsx(true) : action2Tsx()}\n </>\n )}\n </Space>\n {slots?.extraPane && (\n <div ref={extraPaneRef} class={styles.extraPane}>\n {slots.extraPane()}\n </div>\n )}\n <Space class={styles.tableContainer} justify='start'>\n {slots?.commonTableLeftPane?.({ height: 0 })}\n <CommonTable\n style={{ flex: 1 }}\n ref={commonTableRef}\n rowKey={props.rowKey}\n columns={visibleColumns}\n listApi={props.listApi}\n formatListParams={props.formatListParams}\n beforeFetch={({ formData }) => {\n commonFilterRef.value?.keepFilter?.(formData)\n }}\n selectable={props.selectable}\n selectOptions={props.selectOptions}\n selected={props.selected}\n expandedRowRender={props.expandedRowRender}\n onUpdate:selected={(val: any[]) => {\n emit('update:selected', val)\n }}\n needPagination={props.needPagination}\n onRowClick={(row: any, column: any, event: Event) => {\n emit('rowClick', { rowData: row, column, event })\n }}\n stripe\n v-slots={{\n empty: slots?.commonTableEmpty,\n content: slots?.commonTableContent,\n }}\n />\n {slots?.commonTableRightPane?.({ height: 0 })}\n </Space>\n </Space>\n <CommonEditor\n ref={commonEditorRef}\n createApi={props.createApi}\n editApi={props.editApi}\n editFields={allEditFields.value}\n layout={props.editorLayout}\n effectHooks={fetchEffects.value}\n formatEditParams={props.formatEditParams}\n onConfirmSuccess={() => {\n query({ page: commonTableRef.value.pagination?.page })\n }}\n />\n </>\n )\n },\n})\n"],"names":["props","fields","type","Array","default","listApi","Function","undefined","createApi","editApi","downloadApi","exportApi","formatListParams","formatEditParams","formatExportParams","pageKey","String","rowKey","selectable","Boolean","selectOptions","selected","expandedRowRender","needPagination","paginationConfig","Object","filterColumns","Number","editorLayout","columns","labelStyle","width","margin","refreshable","singleActionBar","defineComponent","name","setup","emit","slots","expose","containerRef","ref","commonFilterRef","commonEditorRef","commonTableRef","setterBarRef","extraPaneRef","commonIconBtnStyle","padding","marginLeft","allEditFields","fetchEffects","visibleFilterFields","visibleColumns","allVisibleFilterFields","allVisibleColumnFields","setPagePreferences","usePage","query","openEditor","create","filterReset","download","exportFn","watchList","usePageActions","provide","COMMON_FILTER_INJECTION_KEY","onMounted","emitter","on","onUnmounted","off","getFilterForm","value","getForm","getPagination","pagination","updateTableHeight","commonFilterTsx","needPadding","_createVNode","Space","styles","commonFilterContainer","boxSizing","isEmpty","CommonFilter","reset","filterTitle","title","collapseData","collapsible","ElButton","collapse","h","IconFont","class","collapseIcon","style","transform","visible","size","_a","_b","_c","nextTick","actionTsx","setter","Plus","_createTextVNode","setterPrefix","end","setterSuffix","exportBtn","onClick","text","CommonSetter","reference","action2Tsx","hasSetter","_resolveComponent","line","_Fragment","container","extraPane","tableContainer","commonTableLeftPane","height","CommonTable","flex","beforeFetch","formData","keepFilter","val","onRowClick","row","column","event","rowData","empty","commonTableEmpty","content","commonTableContent","commonTableRightPane","CommonEditor","onConfirmSuccess","page"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/commonPage/index.tsx"],"sourcesContent":["import { defineComponent, ref, onMounted, onUnmounted, nextTick, provide, h } from 'vue'\nimport { isEmpty } from 'lodash'\nimport { ElButton, ElSpace } from 'element-plus'\nimport { Plus } from '@element-plus/icons-vue'\nimport IconFont from '../iconFont'\nimport Space from '../space'\nimport emitter from '../../utils/emitter'\nimport CommonFilter from '../commonFilter'\nimport CommonSetter from '../commonSetter'\nimport CommonTable from '../commonTable'\nimport CommonEditor from '../commonEditor'\nimport usePage from './usePage'\nimport { usePageActions } from './usePageActions'\nimport { COMMON_FILTER_INJECTION_KEY } from './constants'\nimport styles from './index.module.scss'\n\nimport type { PropType, Ref, VNode } from 'vue'\nimport type { IListApi, ICommonObj } from '../../interfaces/common'\nimport type { IField } from '../../interfaces/commonPage'\nimport type { IExpose, IExpandedRowRenderParams } from './interfaces'\nimport type { ICommonFilterExpose } from '../commonFilter'\nimport type { ICommonEditorExpose, IEditorLayout } from '../commonEditor'\nimport type { ICommonTableExpose } from '../commonTable'\n\nconst props = {\n /** fields */\n fields: {\n type: Array as PropType<IField[] | Ref<IField[]>>,\n default: () => [],\n },\n /** 获取列表 */\n listApi: {\n type: Function as PropType<IListApi>,\n default: undefined,\n },\n /** 创建 */\n createApi: {\n type: Function as PropType<(p: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 编辑 */\n editApi: {\n type: Function as PropType<(p: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 下载 */\n downloadApi: {\n type: Function as PropType<(p?: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 导出 */\n exportApi: {\n type: Function as PropType<(p?: ICommonObj) => Promise<ICommonObj>>,\n default: undefined,\n },\n /** 格式化列表接口入参 */\n formatListParams: {\n type: Function as PropType<(p: any) => any>,\n default: undefined,\n },\n /** 格式化创建&编辑接口入参 */\n formatEditParams: {\n type: Function as PropType<(p: any) => any>,\n default: undefined,\n },\n /** 格式化创建&编辑接口入参 */\n formatExportParams: {\n type: Function as PropType<(p: any) => any>,\n default: undefined,\n },\n /** 页面标识 */\n pageKey: {\n type: String,\n default: '',\n },\n /** 行标识 */\n rowKey: {\n type: String,\n default: 'id',\n },\n /** 可选择 */\n selectable: {\n type: Boolean,\n default: false,\n },\n /** 选择配置 */\n selectOptions: {\n type: Function as PropType<(row?: any, index?: number) => boolean>,\n default: () => true,\n },\n /** 选中值 */\n selected: {\n type: Array,\n default: () => [],\n },\n /** 表格展开区域渲染器 */\n expandedRowRender: {\n type: Function as PropType<(p: IExpandedRowRenderParams) => VNode>,\n default: undefined,\n },\n /** 需要分页 */\n needPagination: {\n type: Boolean,\n default: false,\n },\n /** 分页配置 */\n paginationConfig: {\n type: Object,\n default: () => ({}),\n },\n /** 筛选区域栅格数量 */\n filterColumns: {\n type: Number,\n default: 3,\n },\n /** 编辑器样式 */\n editorLayout: {\n type: Object as PropType<IEditorLayout>,\n default: () => ({\n columns: 0,\n labelStyle: {\n width: '100px',\n margin: '0',\n },\n }),\n },\n /** 刷新 */\n refreshable: {\n type: Boolean,\n default: false,\n },\n /** 单行操作栏 */\n singleActionBar: {\n type: Boolean,\n default: false,\n },\n}\n\nexport * from './constants'\nexport * from '../commonEditor/constants'\nexport type { IField, IExpose }\nexport default defineComponent({\n name: 'CommonPage',\n props,\n setup(props, { emit, slots, expose }) {\n const containerRef = ref()\n const commonFilterRef = ref<ICommonFilterExpose>()\n const commonEditorRef = ref<ICommonEditorExpose>()\n const commonTableRef = ref<ICommonTableExpose>()\n const setterBarRef = ref()\n const extraPaneRef = ref()\n const commonIconBtnStyle = ref({\n padding: '8px',\n marginLeft: 0,\n })\n const {\n allEditFields,\n fetchEffects,\n visibleFilterFields,\n visibleColumns,\n allVisibleFilterFields,\n allVisibleColumnFields,\n setPagePreferences,\n } = usePage(props) // 数据派生\n const { query, openEditor, create, filterReset, download, exportFn, watchList } =\n usePageActions(\n props.paginationConfig,\n props.downloadApi,\n props.exportApi,\n props.formatExportParams,\n commonFilterRef,\n commonEditorRef,\n commonTableRef,\n ) // 动作抽离\n watchList(ref([visibleColumns]))\n provide(COMMON_FILTER_INJECTION_KEY, commonFilterRef)\n onMounted(async () => {\n emitter.on('openEditor', openEditor)\n })\n onUnmounted(() => {\n emitter.off('openEditor', openEditor)\n })\n expose<IExpose>({\n query,\n getFilterForm: () => commonFilterRef.value?.getForm(),\n getPagination: () => commonTableRef.value?.pagination,\n updateTableHeight: () => {\n /** 暂时废弃 */\n },\n })\n /** 筛选区域 */\n const commonFilterTsx = (needPadding: boolean = false) => (\n <Space\n class={styles.commonFilterContainer}\n style={{ padding: needPadding ? '0 12px' : '0px', boxSizing: 'border-box' }}\n align='flex-start'\n justify='start'\n size={12}\n fill\n >\n {isEmpty(visibleFilterFields.value) ? null : (\n <CommonFilter\n ref={commonFilterRef}\n maxColumns={props.filterColumns}\n filterFields={visibleFilterFields.value}\n operateActions={{ query, reset: filterReset }}\n effectHooks={fetchEffects.value}\n pageKey={props.pageKey}\n v-slots={{\n ...(slots.filterTitle ? { title: slots.filterTitle } : {}),\n }}\n />\n )}\n {commonFilterRef.value?.collapseData?.collapsible && (\n <ElButton\n class={styles.collapse}\n icon={h(IconFont, {\n name: 'double_arrow_down',\n class: styles.collapseIcon,\n style: {\n transform: `rotate(${commonFilterRef.value?.visible ? '180deg' : '0deg'})`,\n },\n size: '10',\n })}\n text\n onClick={async () => {\n if (!commonFilterRef.value?.collapseData?.collapsible) {\n return\n }\n commonFilterRef.value?.collapse()\n await nextTick()\n // updateTableHeight()\n }}\n >\n {commonFilterRef.value?.visible ? '收起' : '展开'}\n </ElButton>\n )}\n </Space>\n )\n /** 纯操作栏 */\n const actionTsx = () => (\n <Space\n class={styles.setter}\n style={{ width: '100%' }}\n align='flex-start'\n justify='space-between'\n size={12}\n fill\n >\n <Space>\n {props.createApi && (\n <ElButton type='primary' icon={Plus} onClick={create}>\n 新增\n </ElButton>\n )}\n {slots.setterPrefix?.()}\n {props.downloadApi &&\n (slots.download?.(download) || <ElButton onClick={download}>下载</ElButton>)}\n </Space>\n <Space class={styles.end} size={12} justify='end'>\n {slots.setterSuffix?.()}\n {props.exportApi &&\n (slots.exportBtn?.(exportFn) || (\n <ElButton\n style={commonIconBtnStyle.value}\n icon={h(IconFont, { name: 'export', size: '22' })}\n link\n onClick={exportFn}\n />\n ))}\n {props.refreshable && (\n <ElButton\n style={commonIconBtnStyle.value}\n icon={h(IconFont, { name: 'refresh', size: '22' })}\n link\n onClick={() => query({ text: '刷新' })}\n />\n )}\n {props.pageKey && (\n <CommonSetter\n allVisibleFilterFields={allVisibleFilterFields}\n allVisibleColumnFields={allVisibleColumnFields}\n onConfirm={setPagePreferences}\n v-slots={{\n reference: () => (\n <ElButton\n style={{ margin: 0, ...commonIconBtnStyle.value }}\n icon={h(IconFont, { name: 'setter', size: '22' })}\n />\n ),\n }}\n />\n )}\n </Space>\n </Space>\n )\n /** 操作栏 + 筛选区域 */\n const action2Tsx = () => {\n const hasSetter =\n (props.createApi || props.downloadApi || slots.setterPrefix) &&\n !isEmpty(visibleFilterFields.value)\n return (\n <Space class={styles.setter} align='flex-start' justify='end' size={12} fill>\n {hasSetter && (\n <Space>\n {props.createApi && (\n <ElButton type='primary' icon={Plus} onClick={create}>\n 新增\n </ElButton>\n )}\n {slots.setterPrefix?.()}\n {props.downloadApi &&\n (slots.download?.(download) || <ElButton onClick={download}>下载</ElButton>)}\n </Space>\n )}\n {hasSetter && <el-divider direction='vertical' class={styles.line} />}\n {commonFilterTsx()}\n <Space class={styles.end} size={12} justify='end'>\n {slots.setterSuffix?.()}\n {props.exportApi &&\n (slots.exportBtn?.(exportFn) || (\n <ElButton\n style={commonIconBtnStyle.value}\n icon={h(IconFont, { name: 'export', size: '22' })}\n text\n onClick={exportFn}\n />\n ))}\n {props.refreshable && (\n <ElButton\n style={commonIconBtnStyle.value}\n icon={h(IconFont, { name: 'refresh', size: '22' })}\n text\n onClick={() => query({ text: '刷新' })}\n />\n )}\n {props.pageKey && (\n <CommonSetter\n allVisibleFilterFields={allVisibleFilterFields}\n allVisibleColumnFields={allVisibleColumnFields}\n onConfirm={setPagePreferences}\n v-slots={{\n reference: () => (\n <ElButton\n style={{ margin: 0, ...commonIconBtnStyle.value }}\n icon={h(IconFont, { name: 'setter', size: '22' })}\n text\n />\n ),\n }}\n />\n )}\n </Space>\n </Space>\n )\n }\n return () => (\n <>\n <Space ref={containerRef} class={styles.container} direction='column'>\n <Space ref={setterBarRef} direction='column' fill>\n {/* 临时逻辑,代码太差,后续优化 */}\n {isEmpty(visibleFilterFields.value) ? (\n actionTsx()\n ) : (\n <>\n {props.singleActionBar ? actionTsx() : null}\n {props.singleActionBar ? commonFilterTsx(true) : action2Tsx()}\n </>\n )}\n </Space>\n {slots?.extraPane && (\n <div ref={extraPaneRef} class={styles.extraPane}>\n {slots.extraPane()}\n </div>\n )}\n <Space class={styles.tableContainer} justify='start'>\n {slots?.commonTableLeftPane?.({ height: 0 })}\n <CommonTable\n style={{ flex: 1 }}\n ref={commonTableRef}\n rowKey={props.rowKey}\n columns={visibleColumns}\n listApi={props.listApi}\n formatListParams={props.formatListParams}\n beforeFetch={({ formData }) => {\n commonFilterRef.value?.keepFilter?.(formData)\n }}\n selectable={props.selectable}\n selectOptions={props.selectOptions}\n selected={props.selected}\n expandedRowRender={props.expandedRowRender}\n onUpdate:selected={(val: any[]) => {\n emit('update:selected', val)\n }}\n needPagination={props.needPagination}\n onRowClick={(row: any, column: any, event: Event) => {\n emit('rowClick', { rowData: row, column, event })\n }}\n stripe\n v-slots={{\n empty: slots?.commonTableEmpty,\n content: slots?.commonTableContent,\n }}\n />\n {slots?.commonTableRightPane?.({ height: 0 })}\n </Space>\n </Space>\n <CommonEditor\n ref={commonEditorRef}\n createApi={props.createApi}\n editApi={props.editApi}\n editFields={allEditFields.value}\n layout={props.editorLayout}\n effectHooks={fetchEffects.value}\n formatEditParams={props.formatEditParams}\n onConfirmSuccess={() => {\n query({ page: commonTableRef.value.pagination?.page })\n }}\n />\n </>\n )\n },\n})\n"],"names":["props","fields","type","Array","default","listApi","Function","undefined","createApi","editApi","downloadApi","exportApi","formatListParams","formatEditParams","formatExportParams","pageKey","String","rowKey","selectable","Boolean","selectOptions","selected","expandedRowRender","needPagination","paginationConfig","Object","filterColumns","Number","editorLayout","columns","labelStyle","width","margin","refreshable","singleActionBar","defineComponent","name","setup","emit","slots","expose","containerRef","ref","commonFilterRef","commonEditorRef","commonTableRef","setterBarRef","extraPaneRef","commonIconBtnStyle","padding","marginLeft","allEditFields","fetchEffects","visibleFilterFields","visibleColumns","allVisibleFilterFields","allVisibleColumnFields","setPagePreferences","usePage","query","openEditor","create","filterReset","download","exportFn","watchList","usePageActions","provide","COMMON_FILTER_INJECTION_KEY","onMounted","emitter","on","onUnmounted","off","getFilterForm","value","getForm","getPagination","pagination","updateTableHeight","commonFilterTsx","needPadding","_createVNode","Space","styles","commonFilterContainer","boxSizing","isEmpty","CommonFilter","reset","filterTitle","title","collapseData","collapsible","ElButton","collapse","h","IconFont","class","collapseIcon","style","transform","visible","size","_a","_b","_c","nextTick","actionTsx","setter","Plus","_createTextVNode","setterPrefix","end","setterSuffix","exportBtn","onClick","text","CommonSetter","reference","action2Tsx","hasSetter","_resolveComponent","line","_Fragment","container","extraPane","tableContainer","commonTableLeftPane","height","CommonTable","flex","beforeFetch","formData","keepFilter","val","onRowClick","row","column","event","rowData","empty","commonTableEmpty","content","commonTableContent","commonTableRightPane","CommonEditor","onConfirmSuccess","page"],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { pagePreferencesToKeyMap } from './constants';
|
|
2
1
|
import type { Ref, ComputedRef } from 'vue';
|
|
3
2
|
import type { Column } from 'element-plus';
|
|
4
3
|
import type { ISchema } from '@formily/vue';
|
|
5
4
|
import type { Form } from '@formily/core';
|
|
6
5
|
import type { ICommonObj } from '../../interfaces';
|
|
7
6
|
import type { IFieldEffects, IEffectHooks } from '../formilyCmps';
|
|
8
|
-
import type { IField } from '
|
|
7
|
+
import type { IField } from '../../interfaces/commonPage';
|
|
9
8
|
import type { IPagination } from '../commonTable';
|
|
10
9
|
import type { IOpenParams } from '../commonEditor';
|
|
11
10
|
/** usePages出参 */
|
|
@@ -57,9 +56,7 @@ export interface IPagePreferenceItem {
|
|
|
57
56
|
selected: boolean;
|
|
58
57
|
}
|
|
59
58
|
/** 页面偏好 */
|
|
60
|
-
export type IPagePreferences =
|
|
61
|
-
[K in (typeof pagePreferencesToKeyMap)[keyof typeof pagePreferencesToKeyMap]]: IPagePreferenceItem[];
|
|
62
|
-
};
|
|
59
|
+
export type IPagePreferences = any;
|
|
63
60
|
/** usePagePreferencesParams入参 */
|
|
64
61
|
export interface IUsePagePreferencesParams {
|
|
65
62
|
/** 页面标识 */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { IFetchConfig } from '../../interfaces';
|
|
2
2
|
import type { IFieldEffect } from '../formilyCmps';
|
|
3
|
-
declare const useAsyncDataSource: ({ api, params, remote, formatter }: IFetchConfig) => IFieldEffect;
|
|
3
|
+
declare const useAsyncDataSource: ({ api, params, remote, formatter, }: IFetchConfig) => IFieldEffect;
|
|
4
4
|
export default useAsyncDataSource;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { observable } from '@formily/reactive';
|
|
2
2
|
|
|
3
3
|
const keyword = observable.ref("");
|
|
4
|
-
const useAsyncDataSource = ({
|
|
4
|
+
const useAsyncDataSource = ({
|
|
5
|
+
api,
|
|
6
|
+
params = {},
|
|
7
|
+
remote,
|
|
8
|
+
formatter
|
|
9
|
+
}) => {
|
|
5
10
|
const commonFetch = async (field) => {
|
|
6
11
|
field.loading = true;
|
|
7
12
|
try {
|
|
@@ -20,9 +25,11 @@ const useAsyncDataSource = ({ api, params = {}, remote, formatter }) => {
|
|
|
20
25
|
return {
|
|
21
26
|
onFieldInit: async (field) => {
|
|
22
27
|
if (remote) {
|
|
23
|
-
field.setComponentProps({
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
field.setComponentProps({
|
|
29
|
+
remoteMethod: (val) => {
|
|
30
|
+
keyword.value = val;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
26
33
|
} else {
|
|
27
34
|
await commonFetch(field);
|
|
28
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAsyncDataSource.mjs","sources":["../../../../../packages/components/commonPage/useAsyncDataSource.ts"],"sourcesContent":["import { observable } from '@formily/reactive'\n\nimport type { Field } from '@formily/core'\nimport type { IFetchConfig } from '../../interfaces'\nimport type { IFieldEffect } from '../formilyCmps'\n\nconst keyword = observable.ref('')\nconst useAsyncDataSource = ({
|
|
1
|
+
{"version":3,"file":"useAsyncDataSource.mjs","sources":["../../../../../packages/components/commonPage/useAsyncDataSource.ts"],"sourcesContent":["import { observable } from '@formily/reactive'\n\nimport type { Field } from '@formily/core'\nimport type { IFetchConfig } from '../../interfaces'\nimport type { IFieldEffect } from '../formilyCmps'\n\nconst keyword = observable.ref('')\nconst useAsyncDataSource = ({\n api,\n params = {},\n remote,\n formatter,\n}: IFetchConfig): IFieldEffect => {\n const commonFetch = async (field: Field) => {\n field.loading = true\n try {\n const res = await api?.({\n ...(keyword.value ? { keyword: keyword.value } : {}),\n ...(typeof params === 'function' ? await params?.() : params),\n })\n const result = formatter?.(res) || res\n field.setDataSource(result)\n } catch (error: any) {\n console.error(`远程搜索失败,失败原因:${JSON.stringify(error)}`)\n } finally {\n field.loading = false\n }\n }\n return {\n onFieldInit: async (field: Field) => {\n if (remote) {\n field.setComponentProps({\n remoteMethod: (val: string) => {\n keyword.value = val\n },\n })\n } else {\n await commonFetch(field)\n }\n },\n ...(remote\n ? {\n onFieldReact: async (field: Field) => {\n await commonFetch(field)\n },\n }\n : {}),\n } as unknown as IFieldEffect\n}\n\nexport default useAsyncDataSource\n"],"names":[],"mappings":";;AAMA,MAAM,OAAA,GAAU,UAAW,CAAA,GAAA,CAAI,EAAE,CAAA,CAAA;AACjC,MAAM,qBAAqB,CAAC;AAAA,EAC1B,GAAA;AAAA,EACA,SAAS,EAAC;AAAA,EACV,MAAA;AAAA,EACA,SAAA;AACF,CAAkC,KAAA;AAChC,EAAM,MAAA,WAAA,GAAc,OAAO,KAAiB,KAAA;AAC1C,IAAA,KAAA,CAAM,OAAU,GAAA,IAAA,CAAA;AAChB,IAAI,IAAA;AACF,MAAM,MAAA,GAAA,GAAM,OAAM,GAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA;AAAA,QACtB,GAAI,QAAQ,KAAQ,GAAA,EAAE,SAAS,OAAQ,CAAA,KAAA,KAAU,EAAC;AAAA,QAClD,GAAI,OAAO,MAAW,KAAA,UAAA,GAAa,OAAM,MAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,EAAA,CAAA,GAAA,MAAA;AAAA,OACxD,CAAA,CAAA,CAAA;AACA,MAAM,MAAA,MAAA,GAAA,CAAS,uCAAY,GAAQ,CAAA,KAAA,GAAA,CAAA;AACnC,MAAA,KAAA,CAAM,cAAc,MAAM,CAAA,CAAA;AAAA,aACnB,KAAY,EAAA;AACnB,MAAA,OAAA,CAAQ,MAAM,CAAe,wEAAA,EAAA,IAAA,CAAK,SAAU,CAAA,KAAK,CAAC,CAAE,CAAA,CAAA,CAAA;AAAA,KACpD,SAAA;AACA,MAAA,KAAA,CAAM,OAAU,GAAA,KAAA,CAAA;AAAA,KAClB;AAAA,GACF,CAAA;AACA,EAAO,OAAA;AAAA,IACL,WAAA,EAAa,OAAO,KAAiB,KAAA;AACnC,MAAA,IAAI,MAAQ,EAAA;AACV,QAAA,KAAA,CAAM,iBAAkB,CAAA;AAAA,UACtB,YAAA,EAAc,CAAC,GAAgB,KAAA;AAC7B,YAAA,OAAA,CAAQ,KAAQ,GAAA,GAAA,CAAA;AAAA,WAClB;AAAA,SACD,CAAA,CAAA;AAAA,OACI,MAAA;AACL,QAAA,MAAM,YAAY,KAAK,CAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,IACA,GAAI,MACA,GAAA;AAAA,MACE,YAAA,EAAc,OAAO,KAAiB,KAAA;AACpC,QAAA,MAAM,YAAY,KAAK,CAAA,CAAA;AAAA,OACzB;AAAA,QAEF,EAAC;AAAA,GACP,CAAA;AACF;;;;"}
|
|
@@ -4,42 +4,47 @@ import usePagePreferences from './usePagePreferences.mjs';
|
|
|
4
4
|
import useAsyncDataSource from './useAsyncDataSource.mjs';
|
|
5
5
|
|
|
6
6
|
const usePage = (props) => {
|
|
7
|
-
const {
|
|
8
|
-
fields,
|
|
9
|
-
pageKey
|
|
10
|
-
} = toRefs(props);
|
|
7
|
+
const { fields, pageKey } = toRefs(props);
|
|
11
8
|
const allFilterFields = ref({});
|
|
12
9
|
const allEditFields = ref({});
|
|
13
10
|
const allColumns = ref([]);
|
|
14
11
|
const fetchEffects = ref({ fieldEffects: {} });
|
|
15
|
-
watch(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
curEditFields,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
12
|
+
watch(
|
|
13
|
+
() => fields.value,
|
|
14
|
+
() => {
|
|
15
|
+
try {
|
|
16
|
+
const { curFilterFields, curEditFields, curColumns, curFetchEffects } = fields.value.reduce(
|
|
17
|
+
(initVal, curItem) => {
|
|
18
|
+
const {
|
|
19
|
+
isColumn,
|
|
20
|
+
columnConfig = {},
|
|
21
|
+
isFilter,
|
|
22
|
+
filterConfig = {},
|
|
23
|
+
isEdit,
|
|
24
|
+
editConfig = {},
|
|
25
|
+
fetchConfig,
|
|
26
|
+
...config
|
|
27
|
+
} = curItem;
|
|
28
|
+
isColumn && initVal.curColumns.push({ ...config, ...columnConfig });
|
|
29
|
+
isFilter && Object.assign(initVal.curFilterFields, formatTableToFormily(curItem, "filterConfig"));
|
|
30
|
+
isEdit && Object.assign(initVal.curEditFields, formatTableToFormily(curItem, "editConfig"));
|
|
31
|
+
if (fetchConfig) {
|
|
32
|
+
initVal.curFetchEffects[config.prop] = useAsyncDataSource(fetchConfig);
|
|
33
|
+
}
|
|
34
|
+
return initVal;
|
|
35
|
+
},
|
|
36
|
+
{ curFilterFields: {}, curEditFields: {}, curColumns: [], curFetchEffects: {} }
|
|
37
|
+
);
|
|
38
|
+
allFilterFields.value = curFilterFields;
|
|
39
|
+
allEditFields.value = curEditFields;
|
|
40
|
+
allColumns.value = curColumns;
|
|
41
|
+
fetchEffects.value.fieldEffects = curFetchEffects;
|
|
42
|
+
} catch (error) {
|
|
43
|
+
console.error(`\u6784\u5EFAfields\u5931\u8D25\uFF0C\u5931\u8D25\u539F\u56E0\uFF1A${error}`);
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{ immediate: true, deep: true }
|
|
47
|
+
);
|
|
43
48
|
const {
|
|
44
49
|
visibleFilterFields,
|
|
45
50
|
visibleColumns,
|