@ditari/bsui 1.1.35 → 1.1.37

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ditari/bsui
2
2
 
3
+ ## 1.1.37
4
+
5
+ ### Patch Changes
6
+
7
+ - 修复 show 组件,菜单收缩的时候没用进行添加宽度的 bug
8
+
9
+ ## 1.1.36
10
+
11
+ ### Patch Changes
12
+
13
+ - 日期控件,回写初始数据
14
+
3
15
  ## 1.1.35
4
16
 
5
17
  ### Patch Changes
@@ -28,7 +28,6 @@ var RangePicker = /* @__PURE__ */ vue.defineComponent({
28
28
  attrs
29
29
  }) {
30
30
  const dates = vue.ref([]);
31
- const modelValue = vue.ref(props.value);
32
31
  const internalModel = vue.ref((props == null ? void 0 : props.value) || {});
33
32
  const onChange = (dates2) => {
34
33
  if (!dates2) {
@@ -43,11 +42,22 @@ var RangePicker = /* @__PURE__ */ vue.defineComponent({
43
42
  emit("update:value", internalModel.value);
44
43
  };
45
44
  vue.watchEffect(() => {
45
+ const value = props.value;
46
46
  props.field.forEach((key, index) => {
47
- if (modelValue[key] === "") {
47
+ if (value[key] === "") {
48
48
  dates.value && (dates.value[index] = "");
49
49
  } else {
50
- dates.value && (dates.value[index] = modelValue.value[key]);
50
+ dates.value && (dates.value[index] = value[key]);
51
+ }
52
+ });
53
+ });
54
+ vue.watchEffect(() => {
55
+ const value = props.value;
56
+ props.field.forEach((key, index) => {
57
+ if (value[key] === "") {
58
+ dates.value && (dates.value[index] = "");
59
+ } else {
60
+ dates.value && (dates.value[index] = value[key]);
51
61
  }
52
62
  });
53
63
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RangePicker.cjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watchEffect } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n const modelValue: any = ref(props.value);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n watchEffect(() => {\n props.field.forEach((key, index) => {\n if (modelValue[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = modelValue.value[key]);\n }\n });\n });\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["defineComponent","name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","modelValue","internalModel","onChange","forEach","key","index","watchEffect","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":";;;;;;;AAOA,kCAA+BA,mBAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,cAAA;AAAA,EACNC,KAAO,EAAA;AAAA,IACLC,KAAO,EAAA;AAAA,MACLC,IAAMC,EAAAA,MAAAA;AAAAA,KACR;AAAA,IACAC,KAAO,EAAA;AAAA,MACLC,QAAU,EAAA,IAAA;AAAA,MACVC,SAAS,EAAA;AAAA,KACX;AAAA,IACAC,MAAQ,EAAA;AAAA,MACND,OAAS,EAAA,YAAA;AAAA,KACX;AAAA,IACAE,WAAa,EAAA;AAAA,MACXF,OAAS,EAAA,YAAA;AAAA,KACX;AAAA,GACF;AAAA,EACAG,KAAAA,EAAO,CAAC,cAAc,CAAA;AAAA,EACtBC,MAAMV,KAAO,EAAA;AAAA,IAAEW,IAAAA;AAAAA,IAAMC,KAAAA;AAAAA,GAAS,EAAA;AAC5B,IAAMC,MAAAA,KAAAA,GAAQC,OAAc,CAAA,EAAE,CAAA,CAAA;AAC9B,IAAMC,MAAAA,UAAAA,GAAkBD,OAAId,CAAAA,KAAAA,CAAMC,KAAK,CAAA,CAAA;AAGvC,IAAA,MAAMe,aAAgBF,GAAAA,OAAAA,CAAAA,CAAiCd,KAAOC,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,KAAAA,KAAS,EAAE,CAAA,CAAA;AAGzE,IAAMgB,MAAAA,QAAAA,GAAYJ,CAAAA,MAAsB,KAAA;AACtC,MAAA,IAAI,CAACA,MAAO,EAAA;AACVb,QAAMI,KAAAA,CAAAA,KAAAA,CAAMc,QAASC,CAAQ,GAAA,KAAA;AAC3BH,UAAcf,aAAAA,CAAAA,KAAAA,CAAMkB,GAAG,CAAI,GAAA,EAAA,CAAA;AAAA,SAC5B,CAAA,CAAA;AAAA,OACI,MAAA;AACLnB,QAAAA,KAAAA,CAAMI,KAAMc,CAAAA,OAAAA,CAAQ,CAACC,GAAAA,EAAKC,KAAU,KAAA;AAClCJ,UAAAA,aAAAA,CAAcf,KAAMkB,CAAAA,GAAG,CAAIN,GAAAA,MAAAA,CAAMO,KAAK,CAAA,CAAA;AAAA,SACvC,CAAA,CAAA;AAAA,OACH;AACAT,MAAK,IAAA,CAAA,cAAA,EAAgBK,cAAcf,KAAK,CAAA,CAAA;AAAA,KAC1C,CAAA;AAEAoB,IAAAA,eAAAA,CAAY,MAAM;AAChBrB,MAAAA,KAAAA,CAAMI,KAAMc,CAAAA,OAAAA,CAAQ,CAACC,GAAAA,EAAKC,KAAU,KAAA;AAClC,QAAIL,IAAAA,UAAAA,CAAWI,GAAG,CAAA,KAAM,EAAI,EAAA;AAC1BN,UAAAA,KAAAA,CAAMZ,KAAUY,KAAAA,KAAAA,CAAMZ,KAAMmB,CAAAA,KAAK,CAAI,GAAA,EAAA,CAAA,CAAA;AAAA,SAChC,MAAA;AACLP,UAAAA,KAAAA,CAAMZ,UAAUY,KAAMZ,CAAAA,KAAAA,CAAMmB,KAAK,CAAIL,GAAAA,UAAAA,CAAWd,MAAMkB,GAAG,CAAA,CAAA,CAAA;AAAA,SAC3D;AAAA,OACD,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAO,OAAA,MAAAG,gBAAAA,KAAAA,EAAAA,IAAAA,EAAAA,CAAAA,eAAAC,CAAAA,wBAAAA,EAAAC,eAGGZ,KAAK,EAAA;AAAA,MAAA,SACMC,KAAMZ,CAAAA,KAAAA;AAAAA,MAAK,gBAAA,EAAAwB,CAAXZ,MAAAA,KAAAA,KAAAA,CAAMZ,KAAKwB,GAAAA,MAAAA;AAAAA,MAAA,UAChBR,EAAAA,QAAAA;AAAAA,MAAQ,UACVjB,KAAMO,CAAAA,MAAAA;AAAAA,MAAM,eACPP,KAAMQ,CAAAA,WAAAA;AAAAA,MAAW,OACvB,EAAA;AAAA,QAAEkB,KAAO,EAAA,MAAA;AAAA,OAAO;AAAA,KAG5B,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"RangePicker.cjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watchEffect } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n watchEffect(() => {\n const value: any = props.value;\n props.field.forEach((key, index) => {\n if (value[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = value[key]);\n }\n });\n });\n\n watchEffect(() => {\n const value: any = props.value;\n props.field.forEach((key, index) => {\n if (value[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = value[key]);\n }\n });\n });\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["defineComponent","name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","internalModel","onChange","forEach","key","index","watchEffect","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
@@ -1,11 +1,4 @@
1
- declare const _default: import("vue").DefineComponent<{
2
- showConfig: {
3
- type: null;
4
- required: true;
5
- default: any;
6
- };
7
- }, {
8
- props: any;
1
+ declare const _default: import("vue").DefineComponent<{}, {
9
2
  store: import("pinia").Store<string, {
10
3
  list: string[];
11
4
  }, {
@@ -131,13 +124,5 @@ declare const _default: import("vue").DefineComponent<{
131
124
  readonly CloseOutlined: import("@ant-design/icons-vue/lib/icons/CloseOutlined").CloseOutlinedIconType;
132
125
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
133
126
  readonly Menu: import("vue").DefineComponent<{}, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
134
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
135
- showConfig: {
136
- type: null;
137
- required: true;
138
- default: any;
139
- };
140
- }>>, {
141
- showConfig: any;
142
- }, {}>;
127
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
143
128
  export default _default;
@@ -13,17 +13,12 @@ const _hoisted_2 = { class: "ditari-menu" };
13
13
  const _hoisted_3 = { class: "ditari-user-menu" };
14
14
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
15
15
  __name: "FuckMain",
16
- props: {
17
- "showConfig": { type: null, required: true, default: { backBtn: "LeftOutlined" } }
18
- },
19
16
  setup(__props) {
20
- const props = __props;
21
17
  const store$1 = store.useKeepAliveStore();
22
18
  const keepAliveNames = vue.computed(() => store$1.get);
23
19
  const settingsStore = store.useSettingsStore();
24
20
  const { switchCollapsed } = settingsStore;
25
21
  const collapsedStatus = vue.computed(() => settingsStore.getCollapsed);
26
- vue.provide("showConfig", props.showConfig);
27
22
  return (_ctx, _cache) => {
28
23
  const _component_a_layout_sider = vue.resolveComponent("a-layout-sider");
29
24
  const _component_router_view = vue.resolveComponent("router-view");
@@ -80,26 +75,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
80
75
  vue.createVNode(NavTabs.default),
81
76
  vue.createElementVNode("div", _hoisted_3, [
82
77
  vue.renderSlot(_ctx.$slots, "operation")
83
- ]),
84
- vue.createCommentVNode(' <div class="ditari-layout-header">'),
85
- vue.createCommentVNode(' <div class="ditari-layout-header-left">'),
86
- vue.createCommentVNode(' <div class="ditari-side-collapsed" @click="switchCollapsed">'),
87
- vue.createCommentVNode(" <menu-unfold-outlined"),
88
- vue.createCommentVNode(' v-if="collapsedStatus"'),
89
- vue.createCommentVNode(' class="trigger"'),
90
- vue.createCommentVNode(' style="font-size: 16px; font-weight: bold; cursor: pointer"'),
91
- vue.createCommentVNode(" />"),
92
- vue.createCommentVNode(" <menu-fold-outlined"),
93
- vue.createCommentVNode(" v-else"),
94
- vue.createCommentVNode(' style="font-size: 16px; font-weight: bold; cursor: pointer"'),
95
- vue.createCommentVNode(" />"),
96
- vue.createCommentVNode(" </div>"),
97
- vue.createCommentVNode(" "),
98
- vue.createCommentVNode(" </div>"),
99
- vue.createCommentVNode(' <div class="ditari-user-menu">'),
100
- vue.createCommentVNode(' <slot name="operation"></slot>'),
101
- vue.createCommentVNode(" </div>"),
102
- vue.createCommentVNode(" </div>")
78
+ ])
103
79
  ],
104
80
  4
105
81
  /* STYLE */
@@ -1 +1 @@
1
- {"version":3,"file":"FuckMain.vue2.cjs","sources":["../../../src/layout/FuckMain.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * FUCK MAIN 入口文件\n */\nimport { computed, provide } from \"vue\";\nimport { MenuFoldOutlined, MenuUnfoldOutlined } from \"@ant-design/icons-vue\";\nimport { useKeepAliveStore, useSettingsStore } from \"@ditari/store\";\n\n//标签页组件\nimport DNavTabs from \"./NavTabs.vue\";\n// 菜单组件\nimport Menu from \"../menu/Menu\";\n\nconst props = defineProps({\n \"showConfig\": { type: null, required: true, default: { backBtn: \"LeftOutlined\" } as any }\n});\n\n// 缓存store\nconst store = useKeepAliveStore();\n// 缓存的names\nconst keepAliveNames = computed(() => store.get);\n// 设置store\nconst settingsStore = useSettingsStore();\nconst { switchCollapsed } = settingsStore;\nconst collapsedStatus = computed(() => settingsStore.getCollapsed);\n\n// 注入show组件的配置文件\nprovide(\"showConfig\", props.showConfig);\n</script>\n<template>\n <a-layout class=\"ditari-layout\">\n <a-layout-sider\n v-model:collapsed=\"collapsedStatus\"\n :trigger=\"null\"\n collapsible\n class=\"ditari-layout-sider\"\n >\n <div class=\"ditari-logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"ditari-menu\">\n <Menu />\n </div>\n </a-layout-sider>\n <a-layout>\n <div\n class=\"ditari-fuck-top-layout\"\n :style=\"{ left: collapsedStatus ? '80px' : '200px' }\"\n >\n <div class=\"ditari-side-collapsed\" @click=\"switchCollapsed\">\n <menu-unfold-outlined\n v-if=\"collapsedStatus\"\n class=\"trigger\"\n style=\"font-size: 16px; font-weight: bold; cursor: pointer\"\n />\n <menu-fold-outlined\n v-else\n style=\"font-size: 16px; font-weight: bold; cursor: pointer\"\n />\n </div>\n <d-nav-tabs />\n <div class=\"ditari-user-menu\">\n <slot name=\"operation\"></slot>\n </div>\n <!-- <div class=\"ditari-layout-header\">-->\n <!-- <div class=\"ditari-layout-header-left\">-->\n <!-- <div class=\"ditari-side-collapsed\" @click=\"switchCollapsed\">-->\n <!-- <menu-unfold-outlined-->\n <!-- v-if=\"collapsedStatus\"-->\n <!-- class=\"trigger\"-->\n <!-- style=\"font-size: 16px; font-weight: bold; cursor: pointer\"-->\n <!-- />-->\n <!-- <menu-fold-outlined-->\n <!-- v-else-->\n <!-- style=\"font-size: 16px; font-weight: bold; cursor: pointer\"-->\n <!-- />-->\n <!-- </div>-->\n <!-- -->\n <!-- </div>-->\n <!-- <div class=\"ditari-user-menu\">-->\n <!-- <slot name=\"operation\"></slot>-->\n <!-- </div>-->\n <!-- </div>-->\n </div>\n <a-layout-content\n style=\"margin-top: 42px\"\n class=\"ditari-layout-content\"\n :style=\"{ marginLeft: collapsedStatus ? '80px' : '200px' }\"\n >\n <router-view v-slot=\"{ Component }\">\n <transition name=\"main\" mode=\"out-in\" appear>\n <keep-alive ref=\"keepAliveRef\" :include=\"keepAliveNames\">\n <component :is=\"Component\" :key=\"$route.path\" />\n </keep-alive>\n </transition>\n </router-view>\n <slot name=\"micro\"></slot>\n </a-layout-content>\n </a-layout>\n </a-layout>\n <a-back-top class=\"ditari-ant-back-top\" :visibility-height=\"50\"></a-back-top>\n</template>\n"],"names":["store","useKeepAliveStore","computed","useSettingsStore","provide"],"mappings":";;;;;;;;;;;;;;;;;;;;AAkBA,IAAA,MAAMA,UAAQC,uBAAkB,EAAA,CAAA;AAEhC,IAAA,MAAM,cAAiB,GAAAC,YAAA,CAAS,MAAMF,OAAA,CAAM,GAAG,CAAA,CAAA;AAE/C,IAAA,MAAM,gBAAgBG,sBAAiB,EAAA,CAAA;AACvC,IAAM,MAAA,EAAE,iBAAoB,GAAA,aAAA,CAAA;AAC5B,IAAA,MAAM,eAAkB,GAAAD,YAAA,CAAS,MAAM,aAAA,CAAc,YAAY,CAAA,CAAA;AAGjE,IAAQE,WAAA,CAAA,YAAA,EAAc,MAAM,UAAU,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FuckMain.vue2.cjs","sources":["../../../src/layout/FuckMain.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * FUCK MAIN 入口文件\n */\nimport { computed } from \"vue\";\nimport { MenuFoldOutlined, MenuUnfoldOutlined } from \"@ant-design/icons-vue\";\nimport { useKeepAliveStore, useSettingsStore } from \"@ditari/store\";\n\n//标签页组件\nimport DNavTabs from \"./NavTabs.vue\";\n// 菜单组件\nimport Menu from \"../menu/Menu\";\n\n// 缓存store\nconst store = useKeepAliveStore();\n// 缓存的names\nconst keepAliveNames = computed(() => store.get);\n// 设置store\nconst settingsStore = useSettingsStore();\nconst { switchCollapsed } = settingsStore;\nconst collapsedStatus = computed(() => settingsStore.getCollapsed);\n</script>\n<template>\n <a-layout class=\"ditari-layout\">\n <a-layout-sider\n v-model:collapsed=\"collapsedStatus\"\n :trigger=\"null\"\n collapsible\n class=\"ditari-layout-sider\"\n >\n <div class=\"ditari-logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"ditari-menu\">\n <Menu />\n </div>\n </a-layout-sider>\n <a-layout>\n <div\n class=\"ditari-fuck-top-layout\"\n :style=\"{ left: collapsedStatus ? '80px' : '200px' }\"\n >\n <div class=\"ditari-side-collapsed\" @click=\"switchCollapsed\">\n <menu-unfold-outlined\n v-if=\"collapsedStatus\"\n class=\"trigger\"\n style=\"font-size: 16px; font-weight: bold; cursor: pointer\"\n />\n <menu-fold-outlined\n v-else\n style=\"font-size: 16px; font-weight: bold; cursor: pointer\"\n />\n </div>\n <d-nav-tabs />\n <div class=\"ditari-user-menu\">\n <slot name=\"operation\"></slot>\n </div>\n </div>\n <a-layout-content\n style=\"margin-top: 42px\"\n class=\"ditari-layout-content\"\n :style=\"{ marginLeft: collapsedStatus ? '80px' : '200px' }\"\n >\n <router-view v-slot=\"{ Component }\">\n <transition name=\"main\" mode=\"out-in\" appear>\n <keep-alive ref=\"keepAliveRef\" :include=\"keepAliveNames\">\n <component :is=\"Component\" :key=\"$route.path\" />\n </keep-alive>\n </transition>\n </router-view>\n <slot name=\"micro\"></slot>\n </a-layout-content>\n </a-layout>\n </a-layout>\n <a-back-top class=\"ditari-ant-back-top\" :visibility-height=\"50\"></a-back-top>\n</template>\n"],"names":["store","useKeepAliveStore","computed","useSettingsStore"],"mappings":";;;;;;;;;;;;;;;;AAcA,IAAA,MAAMA,UAAQC,uBAAkB,EAAA,CAAA;AAEhC,IAAA,MAAM,cAAiB,GAAAC,YAAA,CAAS,MAAMF,OAAA,CAAM,GAAG,CAAA,CAAA;AAE/C,IAAA,MAAM,gBAAgBG,sBAAiB,EAAA,CAAA;AACvC,IAAM,MAAA,EAAE,iBAAoB,GAAA,aAAA,CAAA;AAC5B,IAAA,MAAM,eAAkB,GAAAD,YAAA,CAAS,MAAM,aAAA,CAAc,YAAY,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -78,6 +78,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
78
78
  vue.watchEffect(() => {
79
79
  calcHeight();
80
80
  });
81
+ core.useResizeObserver(document.body, () => {
82
+ calcHeight();
83
+ });
81
84
  function calcHeight() {
82
85
  show.value = false;
83
86
  vue.nextTick(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"List.vue2.cjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick,\n watchEffect\n} from \"vue\";\nimport { useElementSize } from \"@vueuse/core\";\nimport { useSettingsStore } from \"@ditari/store\";\nimport { storeToRefs } from \"pinia\";\nimport { useRoute } from \"vue-router\";\n\nconst emits = defineEmits([\"refresh\"]);\n\nconst slots = useSlots();\nconst store = useSettingsStore();\nconst route = useRoute();\nconst configProvider = inject(\"configProvider\") as any;\n\nconst { refresh } = storeToRefs(store);\n\nconst toolsRef = ref();\nconst tableRef = ref();\n\nconst show = ref(false);\nconst height = ref(0);\n\nlet stopHandleWatch: WatchStopHandle;\n\nwatch(\n () => configProvider?.componentSize,\n () => {\n calcHeight();\n }\n);\n\nuseReload();\n// 处理标签重载\nfunction useReload() {\n // !route.meta.keepAlive\n if (!route.name) {\n stopHandleWatch = useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emits(\"refresh\");\n }\n stopHandleWatch = useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch();\n });\n }\n}\n\nfunction useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n (val) => {\n if (val) {\n // 发送刷新事件到列表页面\n emits(\"refresh\");\n }\n }\n );\n}\n\n// 监听表单高度变化\n// 然后再获取表格高度\nconst formRef = ref(null);\nconst { height: formHeight } = useElementSize(formRef);\nwatch(\n () => formHeight.value,\n () => {\n calcHeight();\n },\n { immediate: true }\n);\n\nwatchEffect(() => {\n calcHeight();\n});\n\n// 动态计算高度\nfunction calcHeight() {\n show.value = false;\n nextTick(() => {\n height.value = tableRef?.value?.offsetHeight;\n show.value = true;\n });\n}\n</script>\n<template>\n <div class=\"ditari-list-layout\">\n <div ref=\"contentRef\" class=\"wrapper\">\n <a-card\n ref=\"formRef\"\n :bordered=\"false\"\n :class=\"{ 'ditari-list-form': slots.form }\"\n :style=\"{ 'margin-bottom': slots.form ? marginBottom + 'px' : 0 }\"\n >\n <slot name=\"form\" />\n </a-card>\n <a-card class=\"ditari-list-table\" :bordered=\"false\">\n <div\n ref=\"toolsRef\"\n class=\"xi-tools\"\n :style=\"{ 'margin-bottom': slots.tools ? marginBottom + 'px' : 0 }\"\n >\n <a-space>\n <slot name=\"tools\"></slot>\n </a-space>\n </div>\n <div ref=\"tableRef\" style=\"flex: 1\">\n <div v-show=\"show\" style=\"height: 100%\">\n <slot name=\"table\" :height=\"height\" />\n </div>\n </div>\n </a-card>\n </div>\n <div class=\"ditari-content-extra\">\n <slot></slot>\n </div>\n </div>\n</template>\n<style></style>\n"],"names":["useSlots","store","useSettingsStore","useRoute","inject","storeToRefs","ref","watch","onUnmounted","onActivated","onDeactivated","useElementSize","watchEffect","nextTick"],"mappings":"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"}
1
+ {"version":3,"file":"List.vue2.cjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick,\n watchEffect\n} from \"vue\";\nimport { useElementSize, useResizeObserver } from \"@vueuse/core\";\nimport { useSettingsStore } from \"@ditari/store\";\nimport { storeToRefs } from \"pinia\";\nimport { useRoute } from \"vue-router\";\n\nconst emits = defineEmits([\"refresh\"]);\n\nconst slots = useSlots();\nconst store = useSettingsStore();\nconst route = useRoute();\nconst configProvider = inject(\"configProvider\") as any;\n\nconst { refresh } = storeToRefs(store);\n\nconst toolsRef = ref();\nconst tableRef = ref();\n\nconst show = ref(false);\nconst height = ref(0);\n\nlet stopHandleWatch: WatchStopHandle;\n\nwatch(\n () => configProvider?.componentSize,\n () => {\n calcHeight();\n }\n);\n\nuseReload();\n// 处理标签重载\nfunction useReload() {\n // !route.meta.keepAlive\n if (!route.name) {\n stopHandleWatch = useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emits(\"refresh\");\n }\n stopHandleWatch = useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch();\n });\n }\n}\n\nfunction useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n (val) => {\n if (val) {\n // 发送刷新事件到列表页面\n emits(\"refresh\");\n }\n }\n );\n}\n\n// 监听表单高度变化\n// 然后再获取表格高度\nconst formRef = ref(null);\nconst { height: formHeight } = useElementSize(formRef);\nwatch(\n () => formHeight.value,\n () => {\n calcHeight();\n },\n { immediate: true }\n);\n\nwatchEffect(() => {\n calcHeight();\n});\n\nuseResizeObserver(document.body, () => {\n calcHeight();\n});\n\n// 动态计算高度\nfunction calcHeight() {\n show.value = false;\n nextTick(() => {\n height.value = tableRef?.value?.offsetHeight;\n show.value = true;\n });\n}\n</script>\n<template>\n <div class=\"ditari-list-layout\">\n <div ref=\"contentRef\" class=\"wrapper\">\n <a-card\n ref=\"formRef\"\n :bordered=\"false\"\n :class=\"{ 'ditari-list-form': slots.form }\"\n :style=\"{ 'margin-bottom': slots.form ? marginBottom + 'px' : 0 }\"\n >\n <slot name=\"form\" />\n </a-card>\n <a-card class=\"ditari-list-table\" :bordered=\"false\">\n <div\n ref=\"toolsRef\"\n class=\"xi-tools\"\n :style=\"{ 'margin-bottom': slots.tools ? marginBottom + 'px' : 0 }\"\n >\n <a-space>\n <slot name=\"tools\"></slot>\n </a-space>\n </div>\n <div ref=\"tableRef\" style=\"flex: 1\">\n <div v-show=\"show\" style=\"height: 100%\">\n <slot name=\"table\" :height=\"height\" />\n </div>\n </div>\n </a-card>\n </div>\n <div class=\"ditari-content-extra\">\n <slot></slot>\n </div>\n </div>\n</template>\n<style></style>\n"],"names":["useSlots","store","useSettingsStore","useRoute","inject","storeToRefs","ref","watch","onUnmounted","onActivated","onDeactivated","useElementSize","watchEffect","useResizeObserver","nextTick"],"mappings":"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"}
@@ -82,6 +82,7 @@ declare const _default: import("vue").DefineComponent<{
82
82
  gridMatching(): any;
83
83
  }>;
84
84
  showConfig: any;
85
+ collapsedStatus: import("vue").ComputedRef<boolean>;
85
86
  btnRender: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
86
87
  [key: string]: any;
87
88
  }>;
@@ -10,10 +10,6 @@ var store = require('@ditari/store');
10
10
  var pinia = require('pinia');
11
11
 
12
12
  const _hoisted_1 = { class: "ditari-show-layout" };
13
- const _hoisted_2 = {
14
- key: 0,
15
- class: "ditari-show-footer"
16
- };
17
13
  const delayTime = 200;
18
14
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
19
15
  __name: "Show",
@@ -29,6 +25,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
29
25
  const navTabStore = store.useNavTabsStore();
30
26
  const settingsStore = store.useSettingsStore();
31
27
  const showConfig = vue.inject("showConfig");
28
+ const collapsedStatus = vue.computed(() => settingsStore.getCollapsed);
32
29
  const btnRender = () => {
33
30
  if (!showConfig) {
34
31
  return vue.h(iconsVue.LeftOutlined);
@@ -106,9 +103,19 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
106
103
  }, [
107
104
  vue.renderSlot(_ctx.$slots, "default")
108
105
  ]),
109
- _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
110
- vue.renderSlot(_ctx.$slots, "footer")
111
- ])) : vue.createCommentVNode("v-if", true)
106
+ _ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock(
107
+ "div",
108
+ {
109
+ key: 0,
110
+ class: "ditari-show-footer",
111
+ style: vue.normalizeStyle({ left: collapsedStatus.value ? "80px" : "200px" })
112
+ },
113
+ [
114
+ vue.renderSlot(_ctx.$slots, "footer")
115
+ ],
116
+ 4
117
+ /* STYLE */
118
+ )) : vue.createCommentVNode("v-if", true)
112
119
  ]),
113
120
  _: 3
114
121
  /* FORWARDED */
@@ -1 +1 @@
1
- {"version":3,"file":"Show.vue2.cjs","sources":["../../../src/layout/Show.vue"],"sourcesContent":["<script lang=\"ts\">\nconst delayTime = 200\n</script>\n<script setup lang=\"ts\">\n/**\n * 详情/新增/编辑组件\n */\nimport { computed, inject, useSlots, watch, h, resolveComponent } from \"vue\";\nimport { useRoute, useRouter } from \"vue-router\";\nimport { useScrollLock, useWindowScroll } from \"@vueuse/core\";\nimport { LeftOutlined } from \"@ant-design/icons-vue\";\nimport { useNavTabsStore, useSettingsStore } from \"@ditari/store\";\n\nimport { storeToRefs } from \"pinia\";\n\nconst props = defineProps({\n \"close\": { type: Boolean, required: false, default: false },\n \"loading\": { type: Boolean, required: false, default: false }\n});\n\nconst router = useRouter();\nconst route = useRoute();\nconst slots = useSlots();\n\nconst navTabStore = useNavTabsStore();\nconst settingsStore = useSettingsStore();\n\nconst showConfig = inject(\"showConfig\") as any;\n\nconst btnRender = () => {\n if (!showConfig) {\n return h(LeftOutlined);\n } else {\n return h(resolveComponent(showConfig.backBtn));\n }\n};\n\nconst { refresh } = storeToRefs(settingsStore);\n\nconst showLoading = computed(() => props.loading);\n\nconst contentStyle = {\n padding: `10px 10px ${slots.footer ? \"70px\" : \"10px\"} 10px`\n};\n\n/**\n * 点击返回\n */\nconst onBack = () => {\n if (props.close) {\n // 返回关闭标签\n navTabStore.deleteTabs(route.path);\n router.go(-1);\n } else {\n // 不关闭标签\n router.go(-1);\n }\n};\n\n/**\n * 对外暴露方法 调用后关闭标签 并且出发List组件刷新动作\n */\nconst onRefresh = () => {\n refresh.value = true;\n navTabStore.deleteTabs(route.fullPath);\n router.go(-1);\n};\n\n/**\n * 监听屏幕滚动,滚动大于0的时候给a-page-header组件添加阴影\n */\nconst { y } = useWindowScroll();\n// 锁定屏幕\nconst isLocked = useScrollLock(document.body);\n\nwatch(\n () => props.loading,\n (val) => {\n isLocked.value = val;\n }\n);\n\n\ndefineExpose({\n closePage: onRefresh\n});\n</script>\n<template>\n <div class=\"ditari-show-layout\">\n <a-spin\n tip=\"正在处理...\"\n :spinning=\"showLoading\"\n :delay=\"delayTime\"\n size=\"large\"\n >\n <a-page-header\n class=\"ditari-page-header\"\n :class=\"{ active: y > 0 }\"\n :ghost=\"false\"\n @back=\"onBack\"\n >\n <template #backIcon>\n <btn-render />\n </template>\n <template #title>{{ $route.meta.title }} </template>\n <template #subTitle>\n <slot name=\"subTitle\"></slot>\n </template>\n <template #extra>\n <slot name=\"extra\"></slot>\n </template>\n </a-page-header>\n <div class=\"ditari-show-content\" :style=\"contentStyle\">\n <slot></slot>\n </div>\n <div v-if=\"$slots.footer\" class=\"ditari-show-footer\">\n <slot name=\"footer\"></slot>\n </div>\n </a-spin>\n </div>\n</template>\n<style lang=\"scss\"></style>\n"],"names":["useRouter","useRoute","useSlots","useNavTabsStore","useSettingsStore","inject","h","LeftOutlined","resolveComponent","storeToRefs","computed","useWindowScroll","useScrollLock","watch"],"mappings":";;;;;;;;;;;;;;;;AACA,MAAM,SAAY,GAAA,GAAA,CAAA;;;;;;;;;AAmBlB,IAAA,MAAM,SAASA,mBAAU,EAAA,CAAA;AACzB,IAAA,MAAM,QAAQC,kBAAS,EAAA,CAAA;AACvB,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,cAAcC,qBAAgB,EAAA,CAAA;AACpC,IAAA,MAAM,gBAAgBC,sBAAiB,EAAA,CAAA;AAEvC,IAAM,MAAA,UAAA,GAAaC,WAAO,YAAY,CAAA,CAAA;AAEtC,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,IAAI,CAAC,UAAY,EAAA;AACf,QAAA,OAAOC,MAAEC,qBAAY,CAAA,CAAA;AAAA,OAChB,MAAA;AACL,QAAA,OAAOD,KAAE,CAAAE,oBAAA,CAAiB,UAAW,CAAA,OAAO,CAAC,CAAA,CAAA;AAAA,OAC/C;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,EAAE,OAAA,EAAY,GAAAC,iBAAA,CAAY,aAAa,CAAA,CAAA;AAE7C,IAAA,MAAM,WAAc,GAAAC,YAAA,CAAS,MAAM,KAAA,CAAM,OAAO,CAAA,CAAA;AAEhD,IAAA,MAAM,YAAe,GAAA;AAAA,MACnB,OAAS,EAAA,CAAA,UAAA,EAAa,KAAM,CAAA,MAAA,GAAS,SAAS,MAAM,CAAA,KAAA,CAAA;AAAA,KACtD,CAAA;AAKA,IAAA,MAAM,SAAS,MAAM;AACnB,MAAA,IAAI,MAAM,KAAO,EAAA;AAEf,QAAY,WAAA,CAAA,UAAA,CAAW,MAAM,IAAI,CAAA,CAAA;AACjC,QAAA,MAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,OACP,MAAA;AAEL,QAAA,MAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,OACd;AAAA,KACF,CAAA;AAKA,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,MAAY,WAAA,CAAA,UAAA,CAAW,MAAM,QAAQ,CAAA,CAAA;AACrC,MAAA,MAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,KACd,CAAA;AAKA,IAAM,MAAA,EAAE,CAAE,EAAA,GAAIC,oBAAgB,EAAA,CAAA;AAE9B,IAAM,MAAA,QAAA,GAAWC,kBAAc,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAE5C,IAAAC,SAAA;AAAA,MACE,MAAM,KAAM,CAAA,OAAA;AAAA,MACZ,CAAC,GAAQ,KAAA;AACP,QAAA,QAAA,CAAS,KAAQ,GAAA,GAAA,CAAA;AAAA,OACnB;AAAA,KACF,CAAA;AAGA,IAAa,QAAA,CAAA;AAAA,MACX,SAAW,EAAA,SAAA;AAAA,KACZ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Show.vue2.cjs","sources":["../../../src/layout/Show.vue"],"sourcesContent":["<script lang=\"ts\">\nconst delayTime = 200\n</script>\n<script setup lang=\"ts\">\n/**\n * 详情/新增/编辑组件\n */\nimport { computed, inject, useSlots, watch, h, resolveComponent } from \"vue\";\nimport { useRoute, useRouter } from \"vue-router\";\nimport { useScrollLock, useWindowScroll } from \"@vueuse/core\";\nimport { LeftOutlined } from \"@ant-design/icons-vue\";\nimport { useNavTabsStore, useSettingsStore } from \"@ditari/store\";\n\nimport { storeToRefs } from \"pinia\";\n\nconst props = defineProps({\n \"close\": { type: Boolean, required: false, default: false },\n \"loading\": { type: Boolean, required: false, default: false }\n});\n\nconst router = useRouter();\nconst route = useRoute();\nconst slots = useSlots();\n\nconst navTabStore = useNavTabsStore();\nconst settingsStore = useSettingsStore();\n\nconst showConfig = inject(\"showConfig\") as any;\nconst collapsedStatus = computed(() => settingsStore.getCollapsed);\nconst btnRender = () => {\n if (!showConfig) {\n return h(LeftOutlined);\n } else {\n return h(resolveComponent(showConfig.backBtn));\n }\n};\n\nconst { refresh } = storeToRefs(settingsStore);\n\nconst showLoading = computed(() => props.loading);\n\nconst contentStyle = {\n padding: `10px 10px ${slots.footer ? \"70px\" : \"10px\"} 10px`\n};\n\n/**\n * 点击返回\n */\nconst onBack = () => {\n if (props.close) {\n // 返回关闭标签\n navTabStore.deleteTabs(route.path);\n router.go(-1);\n } else {\n // 不关闭标签\n router.go(-1);\n }\n};\n\n/**\n * 对外暴露方法 调用后关闭标签 并且出发List组件刷新动作\n */\nconst onRefresh = () => {\n refresh.value = true;\n navTabStore.deleteTabs(route.fullPath);\n router.go(-1);\n};\n\n/**\n * 监听屏幕滚动,滚动大于0的时候给a-page-header组件添加阴影\n */\nconst { y } = useWindowScroll();\n// 锁定屏幕\nconst isLocked = useScrollLock(document.body);\n\nwatch(\n () => props.loading,\n (val) => {\n isLocked.value = val;\n }\n);\n\n\ndefineExpose({\n closePage: onRefresh\n});\n</script>\n<template>\n <div class=\"ditari-show-layout\">\n <a-spin\n tip=\"正在处理...\"\n :spinning=\"showLoading\"\n :delay=\"delayTime\"\n size=\"large\"\n >\n <a-page-header\n class=\"ditari-page-header\"\n :class=\"{ active: y > 0 }\"\n :ghost=\"false\"\n @back=\"onBack\"\n >\n <template #backIcon>\n <btn-render />\n </template>\n <template #title>{{ $route.meta.title }} </template>\n <template #subTitle>\n <slot name=\"subTitle\"></slot>\n </template>\n <template #extra>\n <slot name=\"extra\"></slot>\n </template>\n </a-page-header>\n <div class=\"ditari-show-content\" :style=\"contentStyle\">\n <slot></slot>\n </div>\n <div\n v-if=\"$slots.footer\"\n class=\"ditari-show-footer\"\n :style=\"{ left: collapsedStatus ? '80px' : '200px' }\"\n >\n <slot name=\"footer\"></slot>\n </div>\n </a-spin>\n </div>\n</template>\n<style lang=\"scss\"></style>\n"],"names":["useRouter","useRoute","useSlots","useNavTabsStore","useSettingsStore","inject","computed","h","LeftOutlined","resolveComponent","storeToRefs","useWindowScroll","useScrollLock","watch"],"mappings":";;;;;;;;;;;;AACA,MAAM,SAAY,GAAA,GAAA,CAAA;;;;;;;;;AAmBlB,IAAA,MAAM,SAASA,mBAAU,EAAA,CAAA;AACzB,IAAA,MAAM,QAAQC,kBAAS,EAAA,CAAA;AACvB,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,cAAcC,qBAAgB,EAAA,CAAA;AACpC,IAAA,MAAM,gBAAgBC,sBAAiB,EAAA,CAAA;AAEvC,IAAM,MAAA,UAAA,GAAaC,WAAO,YAAY,CAAA,CAAA;AACtC,IAAA,MAAM,eAAkB,GAAAC,YAAA,CAAS,MAAM,aAAA,CAAc,YAAY,CAAA,CAAA;AACjE,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,IAAI,CAAC,UAAY,EAAA;AACf,QAAA,OAAOC,MAAEC,qBAAY,CAAA,CAAA;AAAA,OAChB,MAAA;AACL,QAAA,OAAOD,KAAE,CAAAE,oBAAA,CAAiB,UAAW,CAAA,OAAO,CAAC,CAAA,CAAA;AAAA,OAC/C;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,EAAE,OAAA,EAAY,GAAAC,iBAAA,CAAY,aAAa,CAAA,CAAA;AAE7C,IAAA,MAAM,WAAc,GAAAJ,YAAA,CAAS,MAAM,KAAA,CAAM,OAAO,CAAA,CAAA;AAEhD,IAAA,MAAM,YAAe,GAAA;AAAA,MACnB,OAAS,EAAA,CAAA,UAAA,EAAa,KAAM,CAAA,MAAA,GAAS,SAAS,MAAM,CAAA,KAAA,CAAA;AAAA,KACtD,CAAA;AAKA,IAAA,MAAM,SAAS,MAAM;AACnB,MAAA,IAAI,MAAM,KAAO,EAAA;AAEf,QAAY,WAAA,CAAA,UAAA,CAAW,MAAM,IAAI,CAAA,CAAA;AACjC,QAAA,MAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,OACP,MAAA;AAEL,QAAA,MAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,OACd;AAAA,KACF,CAAA;AAKA,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,MAAY,WAAA,CAAA,UAAA,CAAW,MAAM,QAAQ,CAAA,CAAA;AACrC,MAAA,MAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,KACd,CAAA;AAKA,IAAM,MAAA,EAAE,CAAE,EAAA,GAAIK,oBAAgB,EAAA,CAAA;AAE9B,IAAM,MAAA,QAAA,GAAWC,kBAAc,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAE5C,IAAAC,SAAA;AAAA,MACE,MAAM,KAAM,CAAA,OAAA;AAAA,MACZ,CAAC,GAAQ,KAAA;AACP,QAAA,QAAA,CAAS,KAAQ,GAAA,GAAA,CAAA;AAAA,OACnB;AAAA,KACF,CAAA;AAGA,IAAa,QAAA,CAAA;AAAA,MACX,SAAW,EAAA,SAAA;AAAA,KACZ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -24,7 +24,6 @@ var RangePicker = /* @__PURE__ */ defineComponent({
24
24
  attrs
25
25
  }) {
26
26
  const dates = ref([]);
27
- const modelValue = ref(props.value);
28
27
  const internalModel = ref((props == null ? void 0 : props.value) || {});
29
28
  const onChange = (dates2) => {
30
29
  if (!dates2) {
@@ -39,11 +38,22 @@ var RangePicker = /* @__PURE__ */ defineComponent({
39
38
  emit("update:value", internalModel.value);
40
39
  };
41
40
  watchEffect(() => {
41
+ const value = props.value;
42
42
  props.field.forEach((key, index) => {
43
- if (modelValue[key] === "") {
43
+ if (value[key] === "") {
44
44
  dates.value && (dates.value[index] = "");
45
45
  } else {
46
- dates.value && (dates.value[index] = modelValue.value[key]);
46
+ dates.value && (dates.value[index] = value[key]);
47
+ }
48
+ });
49
+ });
50
+ watchEffect(() => {
51
+ const value = props.value;
52
+ props.field.forEach((key, index) => {
53
+ if (value[key] === "") {
54
+ dates.value && (dates.value[index] = "");
55
+ } else {
56
+ dates.value && (dates.value[index] = value[key]);
47
57
  }
48
58
  });
49
59
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RangePicker.mjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watchEffect } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n const modelValue: any = ref(props.value);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n watchEffect(() => {\n props.field.forEach((key, index) => {\n if (modelValue[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = modelValue.value[key]);\n }\n });\n });\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","modelValue","internalModel","onChange","forEach","key","index","watchEffect","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
1
+ {"version":3,"file":"RangePicker.mjs","sources":["../../../src/date/RangePicker.tsx"],"sourcesContent":["import { defineComponent, ref, watchEffect } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { RangePicker } from \"ant-design-vue\";\n\n/**\n * 日期范围控件\n */\nexport default defineComponent({\n name: \"DRangePicker\",\n props: {\n value: {\n type: Object as PropType<{ [name: string]: unknown }>\n },\n field: {\n required: true,\n default: [] as string[]\n },\n format: {\n default: \"YYYY-MM-DD\"\n },\n valueFormat: {\n default: \"YYYY-MM-DD\"\n }\n },\n emits: [\"update:value\"],\n setup(props, { emit, attrs }) {\n const dates = ref<string[]>([]);\n\n //内部model\n const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});\n\n // 监听日期变化\n const onChange = (dates: [any, any]) => {\n if (!dates) {\n props.field.forEach((key) => {\n internalModel.value[key] = \"\";\n });\n } else {\n props.field.forEach((key, index) => {\n internalModel.value[key] = dates[index];\n });\n }\n emit(\"update:value\", internalModel.value);\n };\n\n watchEffect(() => {\n const value: any = props.value;\n props.field.forEach((key, index) => {\n if (value[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = value[key]);\n }\n });\n });\n\n watchEffect(() => {\n const value: any = props.value;\n props.field.forEach((key, index) => {\n if (value[key] === \"\") {\n dates.value && (dates.value[index] = \"\");\n } else {\n dates.value && (dates.value[index] = value[key]);\n }\n });\n });\n\n return () => (\n <div>\n <RangePicker\n {...attrs}\n v-model:value={dates.value}\n onChange={onChange}\n format={props.format}\n valueFormat={props.valueFormat}\n style={{ width: \"100%\" }}\n ></RangePicker>\n </div>\n );\n }\n});\n"],"names":["name","props","value","type","Object","field","required","default","format","valueFormat","emits","setup","emit","attrs","dates","ref","internalModel","onChange","forEach","key","index","watchEffect","_createVNode","RangePicker","_mergeProps","$event","width"],"mappings":"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"}
@@ -1,11 +1,4 @@
1
- declare const _default: import("vue").DefineComponent<{
2
- showConfig: {
3
- type: null;
4
- required: true;
5
- default: any;
6
- };
7
- }, {
8
- props: any;
1
+ declare const _default: import("vue").DefineComponent<{}, {
9
2
  store: import("pinia").Store<string, {
10
3
  list: string[];
11
4
  }, {
@@ -131,13 +124,5 @@ declare const _default: import("vue").DefineComponent<{
131
124
  readonly CloseOutlined: import("@ant-design/icons-vue/lib/icons/CloseOutlined").CloseOutlinedIconType;
132
125
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
133
126
  readonly Menu: import("vue").DefineComponent<{}, () => JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
134
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
135
- showConfig: {
136
- type: null;
137
- required: true;
138
- default: any;
139
- };
140
- }>>, {
141
- showConfig: any;
142
- }, {}>;
127
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
143
128
  export default _default;
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, provide, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, createElementVNode, renderSlot, unref, normalizeStyle, createBlock, createCommentVNode, Transition, KeepAlive, resolveDynamicComponent } from 'vue';
1
+ import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, createElementVNode, renderSlot, unref, normalizeStyle, createBlock, Transition, KeepAlive, resolveDynamicComponent } from 'vue';
2
2
  import { MenuUnfoldOutlined, MenuFoldOutlined } from '@ant-design/icons-vue';
3
3
  import { useKeepAliveStore, useSettingsStore } from '@ditari/store';
4
4
  import DNavTabs from './NavTabs.vue.mjs';
@@ -9,17 +9,12 @@ const _hoisted_2 = { class: "ditari-menu" };
9
9
  const _hoisted_3 = { class: "ditari-user-menu" };
10
10
  var _sfc_main = /* @__PURE__ */ defineComponent({
11
11
  __name: "FuckMain",
12
- props: {
13
- "showConfig": { type: null, required: true, default: { backBtn: "LeftOutlined" } }
14
- },
15
12
  setup(__props) {
16
- const props = __props;
17
13
  const store = useKeepAliveStore();
18
14
  const keepAliveNames = computed(() => store.get);
19
15
  const settingsStore = useSettingsStore();
20
16
  const { switchCollapsed } = settingsStore;
21
17
  const collapsedStatus = computed(() => settingsStore.getCollapsed);
22
- provide("showConfig", props.showConfig);
23
18
  return (_ctx, _cache) => {
24
19
  const _component_a_layout_sider = resolveComponent("a-layout-sider");
25
20
  const _component_router_view = resolveComponent("router-view");
@@ -76,26 +71,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
76
71
  createVNode(DNavTabs),
77
72
  createElementVNode("div", _hoisted_3, [
78
73
  renderSlot(_ctx.$slots, "operation")
79
- ]),
80
- createCommentVNode(' <div class="ditari-layout-header">'),
81
- createCommentVNode(' <div class="ditari-layout-header-left">'),
82
- createCommentVNode(' <div class="ditari-side-collapsed" @click="switchCollapsed">'),
83
- createCommentVNode(" <menu-unfold-outlined"),
84
- createCommentVNode(' v-if="collapsedStatus"'),
85
- createCommentVNode(' class="trigger"'),
86
- createCommentVNode(' style="font-size: 16px; font-weight: bold; cursor: pointer"'),
87
- createCommentVNode(" />"),
88
- createCommentVNode(" <menu-fold-outlined"),
89
- createCommentVNode(" v-else"),
90
- createCommentVNode(' style="font-size: 16px; font-weight: bold; cursor: pointer"'),
91
- createCommentVNode(" />"),
92
- createCommentVNode(" </div>"),
93
- createCommentVNode(" "),
94
- createCommentVNode(" </div>"),
95
- createCommentVNode(' <div class="ditari-user-menu">'),
96
- createCommentVNode(' <slot name="operation"></slot>'),
97
- createCommentVNode(" </div>"),
98
- createCommentVNode(" </div>")
74
+ ])
99
75
  ],
100
76
  4
101
77
  /* STYLE */
@@ -1 +1 @@
1
- {"version":3,"file":"FuckMain.vue2.mjs","sources":["../../../src/layout/FuckMain.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * FUCK MAIN 入口文件\n */\nimport { computed, provide } from \"vue\";\nimport { MenuFoldOutlined, MenuUnfoldOutlined } from \"@ant-design/icons-vue\";\nimport { useKeepAliveStore, useSettingsStore } from \"@ditari/store\";\n\n//标签页组件\nimport DNavTabs from \"./NavTabs.vue\";\n// 菜单组件\nimport Menu from \"../menu/Menu\";\n\nconst props = defineProps({\n \"showConfig\": { type: null, required: true, default: { backBtn: \"LeftOutlined\" } as any }\n});\n\n// 缓存store\nconst store = useKeepAliveStore();\n// 缓存的names\nconst keepAliveNames = computed(() => store.get);\n// 设置store\nconst settingsStore = useSettingsStore();\nconst { switchCollapsed } = settingsStore;\nconst collapsedStatus = computed(() => settingsStore.getCollapsed);\n\n// 注入show组件的配置文件\nprovide(\"showConfig\", props.showConfig);\n</script>\n<template>\n <a-layout class=\"ditari-layout\">\n <a-layout-sider\n v-model:collapsed=\"collapsedStatus\"\n :trigger=\"null\"\n collapsible\n class=\"ditari-layout-sider\"\n >\n <div class=\"ditari-logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"ditari-menu\">\n <Menu />\n </div>\n </a-layout-sider>\n <a-layout>\n <div\n class=\"ditari-fuck-top-layout\"\n :style=\"{ left: collapsedStatus ? '80px' : '200px' }\"\n >\n <div class=\"ditari-side-collapsed\" @click=\"switchCollapsed\">\n <menu-unfold-outlined\n v-if=\"collapsedStatus\"\n class=\"trigger\"\n style=\"font-size: 16px; font-weight: bold; cursor: pointer\"\n />\n <menu-fold-outlined\n v-else\n style=\"font-size: 16px; font-weight: bold; cursor: pointer\"\n />\n </div>\n <d-nav-tabs />\n <div class=\"ditari-user-menu\">\n <slot name=\"operation\"></slot>\n </div>\n <!-- <div class=\"ditari-layout-header\">-->\n <!-- <div class=\"ditari-layout-header-left\">-->\n <!-- <div class=\"ditari-side-collapsed\" @click=\"switchCollapsed\">-->\n <!-- <menu-unfold-outlined-->\n <!-- v-if=\"collapsedStatus\"-->\n <!-- class=\"trigger\"-->\n <!-- style=\"font-size: 16px; font-weight: bold; cursor: pointer\"-->\n <!-- />-->\n <!-- <menu-fold-outlined-->\n <!-- v-else-->\n <!-- style=\"font-size: 16px; font-weight: bold; cursor: pointer\"-->\n <!-- />-->\n <!-- </div>-->\n <!-- -->\n <!-- </div>-->\n <!-- <div class=\"ditari-user-menu\">-->\n <!-- <slot name=\"operation\"></slot>-->\n <!-- </div>-->\n <!-- </div>-->\n </div>\n <a-layout-content\n style=\"margin-top: 42px\"\n class=\"ditari-layout-content\"\n :style=\"{ marginLeft: collapsedStatus ? '80px' : '200px' }\"\n >\n <router-view v-slot=\"{ Component }\">\n <transition name=\"main\" mode=\"out-in\" appear>\n <keep-alive ref=\"keepAliveRef\" :include=\"keepAliveNames\">\n <component :is=\"Component\" :key=\"$route.path\" />\n </keep-alive>\n </transition>\n </router-view>\n <slot name=\"micro\"></slot>\n </a-layout-content>\n </a-layout>\n </a-layout>\n <a-back-top class=\"ditari-ant-back-top\" :visibility-height=\"50\"></a-back-top>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAkBA,IAAA,MAAM,QAAQ,iBAAkB,EAAA,CAAA;AAEhC,IAAA,MAAM,cAAiB,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,GAAG,CAAA,CAAA;AAE/C,IAAA,MAAM,gBAAgB,gBAAiB,EAAA,CAAA;AACvC,IAAM,MAAA,EAAE,iBAAoB,GAAA,aAAA,CAAA;AAC5B,IAAA,MAAM,eAAkB,GAAA,QAAA,CAAS,MAAM,aAAA,CAAc,YAAY,CAAA,CAAA;AAGjE,IAAQ,OAAA,CAAA,YAAA,EAAc,MAAM,UAAU,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FuckMain.vue2.mjs","sources":["../../../src/layout/FuckMain.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * FUCK MAIN 入口文件\n */\nimport { computed } from \"vue\";\nimport { MenuFoldOutlined, MenuUnfoldOutlined } from \"@ant-design/icons-vue\";\nimport { useKeepAliveStore, useSettingsStore } from \"@ditari/store\";\n\n//标签页组件\nimport DNavTabs from \"./NavTabs.vue\";\n// 菜单组件\nimport Menu from \"../menu/Menu\";\n\n// 缓存store\nconst store = useKeepAliveStore();\n// 缓存的names\nconst keepAliveNames = computed(() => store.get);\n// 设置store\nconst settingsStore = useSettingsStore();\nconst { switchCollapsed } = settingsStore;\nconst collapsedStatus = computed(() => settingsStore.getCollapsed);\n</script>\n<template>\n <a-layout class=\"ditari-layout\">\n <a-layout-sider\n v-model:collapsed=\"collapsedStatus\"\n :trigger=\"null\"\n collapsible\n class=\"ditari-layout-sider\"\n >\n <div class=\"ditari-logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"ditari-menu\">\n <Menu />\n </div>\n </a-layout-sider>\n <a-layout>\n <div\n class=\"ditari-fuck-top-layout\"\n :style=\"{ left: collapsedStatus ? '80px' : '200px' }\"\n >\n <div class=\"ditari-side-collapsed\" @click=\"switchCollapsed\">\n <menu-unfold-outlined\n v-if=\"collapsedStatus\"\n class=\"trigger\"\n style=\"font-size: 16px; font-weight: bold; cursor: pointer\"\n />\n <menu-fold-outlined\n v-else\n style=\"font-size: 16px; font-weight: bold; cursor: pointer\"\n />\n </div>\n <d-nav-tabs />\n <div class=\"ditari-user-menu\">\n <slot name=\"operation\"></slot>\n </div>\n </div>\n <a-layout-content\n style=\"margin-top: 42px\"\n class=\"ditari-layout-content\"\n :style=\"{ marginLeft: collapsedStatus ? '80px' : '200px' }\"\n >\n <router-view v-slot=\"{ Component }\">\n <transition name=\"main\" mode=\"out-in\" appear>\n <keep-alive ref=\"keepAliveRef\" :include=\"keepAliveNames\">\n <component :is=\"Component\" :key=\"$route.path\" />\n </keep-alive>\n </transition>\n </router-view>\n <slot name=\"micro\"></slot>\n </a-layout-content>\n </a-layout>\n </a-layout>\n <a-back-top class=\"ditari-ant-back-top\" :visibility-height=\"50\"></a-back-top>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;AAcA,IAAA,MAAM,QAAQ,iBAAkB,EAAA,CAAA;AAEhC,IAAA,MAAM,cAAiB,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,GAAG,CAAA,CAAA;AAE/C,IAAA,MAAM,gBAAgB,gBAAiB,EAAA,CAAA;AACvC,IAAM,MAAA,EAAE,iBAAoB,GAAA,aAAA,CAAA;AAC5B,IAAA,MAAM,eAAkB,GAAA,QAAA,CAAS,MAAM,aAAA,CAAc,YAAY,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, useSlots, inject, ref, watch, onUnmounted, onActivated, onDeactivated, watchEffect, nextTick, resolveComponent, openBlock, createElementBlock, createElementVNode, createVNode, normalizeClass, unref, normalizeStyle, withCtx, renderSlot, withDirectives, vShow } from 'vue';
2
- import { useElementSize } from '@vueuse/core';
2
+ import { useElementSize, useResizeObserver } from '@vueuse/core';
3
3
  import { useSettingsStore } from '@ditari/store';
4
4
  import { storeToRefs } from 'pinia';
5
5
  import { useRoute } from 'vue-router';
@@ -74,6 +74,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
74
74
  watchEffect(() => {
75
75
  calcHeight();
76
76
  });
77
+ useResizeObserver(document.body, () => {
78
+ calcHeight();
79
+ });
77
80
  function calcHeight() {
78
81
  show.value = false;
79
82
  nextTick(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"List.vue2.mjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick,\n watchEffect\n} from \"vue\";\nimport { useElementSize } from \"@vueuse/core\";\nimport { useSettingsStore } from \"@ditari/store\";\nimport { storeToRefs } from \"pinia\";\nimport { useRoute } from \"vue-router\";\n\nconst emits = defineEmits([\"refresh\"]);\n\nconst slots = useSlots();\nconst store = useSettingsStore();\nconst route = useRoute();\nconst configProvider = inject(\"configProvider\") as any;\n\nconst { refresh } = storeToRefs(store);\n\nconst toolsRef = ref();\nconst tableRef = ref();\n\nconst show = ref(false);\nconst height = ref(0);\n\nlet stopHandleWatch: WatchStopHandle;\n\nwatch(\n () => configProvider?.componentSize,\n () => {\n calcHeight();\n }\n);\n\nuseReload();\n// 处理标签重载\nfunction useReload() {\n // !route.meta.keepAlive\n if (!route.name) {\n stopHandleWatch = useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emits(\"refresh\");\n }\n stopHandleWatch = useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch();\n });\n }\n}\n\nfunction useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n (val) => {\n if (val) {\n // 发送刷新事件到列表页面\n emits(\"refresh\");\n }\n }\n );\n}\n\n// 监听表单高度变化\n// 然后再获取表格高度\nconst formRef = ref(null);\nconst { height: formHeight } = useElementSize(formRef);\nwatch(\n () => formHeight.value,\n () => {\n calcHeight();\n },\n { immediate: true }\n);\n\nwatchEffect(() => {\n calcHeight();\n});\n\n// 动态计算高度\nfunction calcHeight() {\n show.value = false;\n nextTick(() => {\n height.value = tableRef?.value?.offsetHeight;\n show.value = true;\n });\n}\n</script>\n<template>\n <div class=\"ditari-list-layout\">\n <div ref=\"contentRef\" class=\"wrapper\">\n <a-card\n ref=\"formRef\"\n :bordered=\"false\"\n :class=\"{ 'ditari-list-form': slots.form }\"\n :style=\"{ 'margin-bottom': slots.form ? marginBottom + 'px' : 0 }\"\n >\n <slot name=\"form\" />\n </a-card>\n <a-card class=\"ditari-list-table\" :bordered=\"false\">\n <div\n ref=\"toolsRef\"\n class=\"xi-tools\"\n :style=\"{ 'margin-bottom': slots.tools ? marginBottom + 'px' : 0 }\"\n >\n <a-space>\n <slot name=\"tools\"></slot>\n </a-space>\n </div>\n <div ref=\"tableRef\" style=\"flex: 1\">\n <div v-show=\"show\" style=\"height: 100%\">\n <slot name=\"table\" :height=\"height\" />\n </div>\n </div>\n </a-card>\n </div>\n <div class=\"ditari-content-extra\">\n <slot></slot>\n </div>\n </div>\n</template>\n<style></style>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"List.vue2.mjs","sources":["../../../src/layout/List.vue"],"sourcesContent":["<script lang=\"ts\">\nconst marginBottom = 16\n</script>\n<script setup lang=\"ts\">\nimport {\n useSlots,\n ref,\n onActivated,\n watch,\n onDeactivated,\n onUnmounted,\n WatchStopHandle,\n inject,\n nextTick,\n watchEffect\n} from \"vue\";\nimport { useElementSize, useResizeObserver } from \"@vueuse/core\";\nimport { useSettingsStore } from \"@ditari/store\";\nimport { storeToRefs } from \"pinia\";\nimport { useRoute } from \"vue-router\";\n\nconst emits = defineEmits([\"refresh\"]);\n\nconst slots = useSlots();\nconst store = useSettingsStore();\nconst route = useRoute();\nconst configProvider = inject(\"configProvider\") as any;\n\nconst { refresh } = storeToRefs(store);\n\nconst toolsRef = ref();\nconst tableRef = ref();\n\nconst show = ref(false);\nconst height = ref(0);\n\nlet stopHandleWatch: WatchStopHandle;\n\nwatch(\n () => configProvider?.componentSize,\n () => {\n calcHeight();\n }\n);\n\nuseReload();\n// 处理标签重载\nfunction useReload() {\n // !route.meta.keepAlive\n if (!route.name) {\n stopHandleWatch = useWatch();\n // 卸载未缓存的组件\n onUnmounted(() => {\n stopHandleWatch();\n });\n } else {\n // 激活缓存页面\n onActivated(() => {\n if (refresh.value) {\n refresh.value = false;\n emits(\"refresh\");\n }\n stopHandleWatch = useWatch();\n });\n // 离开缓存页面\n onDeactivated(() => {\n stopHandleWatch();\n });\n }\n}\n\nfunction useWatch() {\n //点击了标签重载图标\n return watch(\n () => refresh.value,\n (val) => {\n if (val) {\n // 发送刷新事件到列表页面\n emits(\"refresh\");\n }\n }\n );\n}\n\n// 监听表单高度变化\n// 然后再获取表格高度\nconst formRef = ref(null);\nconst { height: formHeight } = useElementSize(formRef);\nwatch(\n () => formHeight.value,\n () => {\n calcHeight();\n },\n { immediate: true }\n);\n\nwatchEffect(() => {\n calcHeight();\n});\n\nuseResizeObserver(document.body, () => {\n calcHeight();\n});\n\n// 动态计算高度\nfunction calcHeight() {\n show.value = false;\n nextTick(() => {\n height.value = tableRef?.value?.offsetHeight;\n show.value = true;\n });\n}\n</script>\n<template>\n <div class=\"ditari-list-layout\">\n <div ref=\"contentRef\" class=\"wrapper\">\n <a-card\n ref=\"formRef\"\n :bordered=\"false\"\n :class=\"{ 'ditari-list-form': slots.form }\"\n :style=\"{ 'margin-bottom': slots.form ? marginBottom + 'px' : 0 }\"\n >\n <slot name=\"form\" />\n </a-card>\n <a-card class=\"ditari-list-table\" :bordered=\"false\">\n <div\n ref=\"toolsRef\"\n class=\"xi-tools\"\n :style=\"{ 'margin-bottom': slots.tools ? marginBottom + 'px' : 0 }\"\n >\n <a-space>\n <slot name=\"tools\"></slot>\n </a-space>\n </div>\n <div ref=\"tableRef\" style=\"flex: 1\">\n <div v-show=\"show\" style=\"height: 100%\">\n <slot name=\"table\" :height=\"height\" />\n </div>\n </div>\n </a-card>\n </div>\n <div class=\"ditari-content-extra\">\n <slot></slot>\n </div>\n </div>\n</template>\n<style></style>\n"],"names":[],"mappings":"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"}
@@ -82,6 +82,7 @@ declare const _default: import("vue").DefineComponent<{
82
82
  gridMatching(): any;
83
83
  }>;
84
84
  showConfig: any;
85
+ collapsedStatus: import("vue").ComputedRef<boolean>;
85
86
  btnRender: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
86
87
  [key: string]: any;
87
88
  }>;
@@ -1,4 +1,4 @@
1
- import { defineComponent, useSlots, inject, h, resolveComponent, computed, watch, openBlock, createElementBlock, createVNode, withCtx, normalizeClass, unref, createTextVNode, toDisplayString, renderSlot, createElementVNode, createCommentVNode } from 'vue';
1
+ import { defineComponent, useSlots, inject, computed, h, resolveComponent, watch, openBlock, createElementBlock, createVNode, withCtx, normalizeClass, unref, createTextVNode, toDisplayString, renderSlot, createElementVNode, normalizeStyle, createCommentVNode } from 'vue';
2
2
  import { useRouter, useRoute } from 'vue-router';
3
3
  import { useWindowScroll, useScrollLock } from '@vueuse/core';
4
4
  import { LeftOutlined } from '@ant-design/icons-vue';
@@ -6,10 +6,6 @@ import { useNavTabsStore, useSettingsStore } from '@ditari/store';
6
6
  import { storeToRefs } from 'pinia';
7
7
 
8
8
  const _hoisted_1 = { class: "ditari-show-layout" };
9
- const _hoisted_2 = {
10
- key: 0,
11
- class: "ditari-show-footer"
12
- };
13
9
  const delayTime = 200;
14
10
  var _sfc_main = /* @__PURE__ */ defineComponent({
15
11
  __name: "Show",
@@ -25,6 +21,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
25
21
  const navTabStore = useNavTabsStore();
26
22
  const settingsStore = useSettingsStore();
27
23
  const showConfig = inject("showConfig");
24
+ const collapsedStatus = computed(() => settingsStore.getCollapsed);
28
25
  const btnRender = () => {
29
26
  if (!showConfig) {
30
27
  return h(LeftOutlined);
@@ -102,9 +99,19 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
102
99
  }, [
103
100
  renderSlot(_ctx.$slots, "default")
104
101
  ]),
105
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_2, [
106
- renderSlot(_ctx.$slots, "footer")
107
- ])) : createCommentVNode("v-if", true)
102
+ _ctx.$slots.footer ? (openBlock(), createElementBlock(
103
+ "div",
104
+ {
105
+ key: 0,
106
+ class: "ditari-show-footer",
107
+ style: normalizeStyle({ left: collapsedStatus.value ? "80px" : "200px" })
108
+ },
109
+ [
110
+ renderSlot(_ctx.$slots, "footer")
111
+ ],
112
+ 4
113
+ /* STYLE */
114
+ )) : createCommentVNode("v-if", true)
108
115
  ]),
109
116
  _: 3
110
117
  /* FORWARDED */
@@ -1 +1 @@
1
- {"version":3,"file":"Show.vue2.mjs","sources":["../../../src/layout/Show.vue"],"sourcesContent":["<script lang=\"ts\">\nconst delayTime = 200\n</script>\n<script setup lang=\"ts\">\n/**\n * 详情/新增/编辑组件\n */\nimport { computed, inject, useSlots, watch, h, resolveComponent } from \"vue\";\nimport { useRoute, useRouter } from \"vue-router\";\nimport { useScrollLock, useWindowScroll } from \"@vueuse/core\";\nimport { LeftOutlined } from \"@ant-design/icons-vue\";\nimport { useNavTabsStore, useSettingsStore } from \"@ditari/store\";\n\nimport { storeToRefs } from \"pinia\";\n\nconst props = defineProps({\n \"close\": { type: Boolean, required: false, default: false },\n \"loading\": { type: Boolean, required: false, default: false }\n});\n\nconst router = useRouter();\nconst route = useRoute();\nconst slots = useSlots();\n\nconst navTabStore = useNavTabsStore();\nconst settingsStore = useSettingsStore();\n\nconst showConfig = inject(\"showConfig\") as any;\n\nconst btnRender = () => {\n if (!showConfig) {\n return h(LeftOutlined);\n } else {\n return h(resolveComponent(showConfig.backBtn));\n }\n};\n\nconst { refresh } = storeToRefs(settingsStore);\n\nconst showLoading = computed(() => props.loading);\n\nconst contentStyle = {\n padding: `10px 10px ${slots.footer ? \"70px\" : \"10px\"} 10px`\n};\n\n/**\n * 点击返回\n */\nconst onBack = () => {\n if (props.close) {\n // 返回关闭标签\n navTabStore.deleteTabs(route.path);\n router.go(-1);\n } else {\n // 不关闭标签\n router.go(-1);\n }\n};\n\n/**\n * 对外暴露方法 调用后关闭标签 并且出发List组件刷新动作\n */\nconst onRefresh = () => {\n refresh.value = true;\n navTabStore.deleteTabs(route.fullPath);\n router.go(-1);\n};\n\n/**\n * 监听屏幕滚动,滚动大于0的时候给a-page-header组件添加阴影\n */\nconst { y } = useWindowScroll();\n// 锁定屏幕\nconst isLocked = useScrollLock(document.body);\n\nwatch(\n () => props.loading,\n (val) => {\n isLocked.value = val;\n }\n);\n\n\ndefineExpose({\n closePage: onRefresh\n});\n</script>\n<template>\n <div class=\"ditari-show-layout\">\n <a-spin\n tip=\"正在处理...\"\n :spinning=\"showLoading\"\n :delay=\"delayTime\"\n size=\"large\"\n >\n <a-page-header\n class=\"ditari-page-header\"\n :class=\"{ active: y > 0 }\"\n :ghost=\"false\"\n @back=\"onBack\"\n >\n <template #backIcon>\n <btn-render />\n </template>\n <template #title>{{ $route.meta.title }} </template>\n <template #subTitle>\n <slot name=\"subTitle\"></slot>\n </template>\n <template #extra>\n <slot name=\"extra\"></slot>\n </template>\n </a-page-header>\n <div class=\"ditari-show-content\" :style=\"contentStyle\">\n <slot></slot>\n </div>\n <div v-if=\"$slots.footer\" class=\"ditari-show-footer\">\n <slot name=\"footer\"></slot>\n </div>\n </a-spin>\n </div>\n</template>\n<style lang=\"scss\"></style>\n"],"names":[],"mappings":";;;;;;;;;;;;AACA,MAAM,SAAY,GAAA,GAAA,CAAA;;;;;;;;;AAmBlB,IAAA,MAAM,SAAS,SAAU,EAAA,CAAA;AACzB,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,cAAc,eAAgB,EAAA,CAAA;AACpC,IAAA,MAAM,gBAAgB,gBAAiB,EAAA,CAAA;AAEvC,IAAM,MAAA,UAAA,GAAa,OAAO,YAAY,CAAA,CAAA;AAEtC,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,IAAI,CAAC,UAAY,EAAA;AACf,QAAA,OAAO,EAAE,YAAY,CAAA,CAAA;AAAA,OAChB,MAAA;AACL,QAAA,OAAO,CAAE,CAAA,gBAAA,CAAiB,UAAW,CAAA,OAAO,CAAC,CAAA,CAAA;AAAA,OAC/C;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,EAAE,OAAA,EAAY,GAAA,WAAA,CAAY,aAAa,CAAA,CAAA;AAE7C,IAAA,MAAM,WAAc,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,OAAO,CAAA,CAAA;AAEhD,IAAA,MAAM,YAAe,GAAA;AAAA,MACnB,OAAS,EAAA,CAAA,UAAA,EAAa,KAAM,CAAA,MAAA,GAAS,SAAS,MAAM,CAAA,KAAA,CAAA;AAAA,KACtD,CAAA;AAKA,IAAA,MAAM,SAAS,MAAM;AACnB,MAAA,IAAI,MAAM,KAAO,EAAA;AAEf,QAAY,WAAA,CAAA,UAAA,CAAW,MAAM,IAAI,CAAA,CAAA;AACjC,QAAA,MAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,OACP,MAAA;AAEL,QAAA,MAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,OACd;AAAA,KACF,CAAA;AAKA,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,MAAY,WAAA,CAAA,UAAA,CAAW,MAAM,QAAQ,CAAA,CAAA;AACrC,MAAA,MAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,KACd,CAAA;AAKA,IAAM,MAAA,EAAE,CAAE,EAAA,GAAI,eAAgB,EAAA,CAAA;AAE9B,IAAM,MAAA,QAAA,GAAW,aAAc,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAE5C,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,OAAA;AAAA,MACZ,CAAC,GAAQ,KAAA;AACP,QAAA,QAAA,CAAS,KAAQ,GAAA,GAAA,CAAA;AAAA,OACnB;AAAA,KACF,CAAA;AAGA,IAAa,QAAA,CAAA;AAAA,MACX,SAAW,EAAA,SAAA;AAAA,KACZ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Show.vue2.mjs","sources":["../../../src/layout/Show.vue"],"sourcesContent":["<script lang=\"ts\">\nconst delayTime = 200\n</script>\n<script setup lang=\"ts\">\n/**\n * 详情/新增/编辑组件\n */\nimport { computed, inject, useSlots, watch, h, resolveComponent } from \"vue\";\nimport { useRoute, useRouter } from \"vue-router\";\nimport { useScrollLock, useWindowScroll } from \"@vueuse/core\";\nimport { LeftOutlined } from \"@ant-design/icons-vue\";\nimport { useNavTabsStore, useSettingsStore } from \"@ditari/store\";\n\nimport { storeToRefs } from \"pinia\";\n\nconst props = defineProps({\n \"close\": { type: Boolean, required: false, default: false },\n \"loading\": { type: Boolean, required: false, default: false }\n});\n\nconst router = useRouter();\nconst route = useRoute();\nconst slots = useSlots();\n\nconst navTabStore = useNavTabsStore();\nconst settingsStore = useSettingsStore();\n\nconst showConfig = inject(\"showConfig\") as any;\nconst collapsedStatus = computed(() => settingsStore.getCollapsed);\nconst btnRender = () => {\n if (!showConfig) {\n return h(LeftOutlined);\n } else {\n return h(resolveComponent(showConfig.backBtn));\n }\n};\n\nconst { refresh } = storeToRefs(settingsStore);\n\nconst showLoading = computed(() => props.loading);\n\nconst contentStyle = {\n padding: `10px 10px ${slots.footer ? \"70px\" : \"10px\"} 10px`\n};\n\n/**\n * 点击返回\n */\nconst onBack = () => {\n if (props.close) {\n // 返回关闭标签\n navTabStore.deleteTabs(route.path);\n router.go(-1);\n } else {\n // 不关闭标签\n router.go(-1);\n }\n};\n\n/**\n * 对外暴露方法 调用后关闭标签 并且出发List组件刷新动作\n */\nconst onRefresh = () => {\n refresh.value = true;\n navTabStore.deleteTabs(route.fullPath);\n router.go(-1);\n};\n\n/**\n * 监听屏幕滚动,滚动大于0的时候给a-page-header组件添加阴影\n */\nconst { y } = useWindowScroll();\n// 锁定屏幕\nconst isLocked = useScrollLock(document.body);\n\nwatch(\n () => props.loading,\n (val) => {\n isLocked.value = val;\n }\n);\n\n\ndefineExpose({\n closePage: onRefresh\n});\n</script>\n<template>\n <div class=\"ditari-show-layout\">\n <a-spin\n tip=\"正在处理...\"\n :spinning=\"showLoading\"\n :delay=\"delayTime\"\n size=\"large\"\n >\n <a-page-header\n class=\"ditari-page-header\"\n :class=\"{ active: y > 0 }\"\n :ghost=\"false\"\n @back=\"onBack\"\n >\n <template #backIcon>\n <btn-render />\n </template>\n <template #title>{{ $route.meta.title }} </template>\n <template #subTitle>\n <slot name=\"subTitle\"></slot>\n </template>\n <template #extra>\n <slot name=\"extra\"></slot>\n </template>\n </a-page-header>\n <div class=\"ditari-show-content\" :style=\"contentStyle\">\n <slot></slot>\n </div>\n <div\n v-if=\"$slots.footer\"\n class=\"ditari-show-footer\"\n :style=\"{ left: collapsedStatus ? '80px' : '200px' }\"\n >\n <slot name=\"footer\"></slot>\n </div>\n </a-spin>\n </div>\n</template>\n<style lang=\"scss\"></style>\n"],"names":[],"mappings":";;;;;;;;AACA,MAAM,SAAY,GAAA,GAAA,CAAA;;;;;;;;;AAmBlB,IAAA,MAAM,SAAS,SAAU,EAAA,CAAA;AACzB,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,cAAc,eAAgB,EAAA,CAAA;AACpC,IAAA,MAAM,gBAAgB,gBAAiB,EAAA,CAAA;AAEvC,IAAM,MAAA,UAAA,GAAa,OAAO,YAAY,CAAA,CAAA;AACtC,IAAA,MAAM,eAAkB,GAAA,QAAA,CAAS,MAAM,aAAA,CAAc,YAAY,CAAA,CAAA;AACjE,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,IAAI,CAAC,UAAY,EAAA;AACf,QAAA,OAAO,EAAE,YAAY,CAAA,CAAA;AAAA,OAChB,MAAA;AACL,QAAA,OAAO,CAAE,CAAA,gBAAA,CAAiB,UAAW,CAAA,OAAO,CAAC,CAAA,CAAA;AAAA,OAC/C;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,EAAE,OAAA,EAAY,GAAA,WAAA,CAAY,aAAa,CAAA,CAAA;AAE7C,IAAA,MAAM,WAAc,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,OAAO,CAAA,CAAA;AAEhD,IAAA,MAAM,YAAe,GAAA;AAAA,MACnB,OAAS,EAAA,CAAA,UAAA,EAAa,KAAM,CAAA,MAAA,GAAS,SAAS,MAAM,CAAA,KAAA,CAAA;AAAA,KACtD,CAAA;AAKA,IAAA,MAAM,SAAS,MAAM;AACnB,MAAA,IAAI,MAAM,KAAO,EAAA;AAEf,QAAY,WAAA,CAAA,UAAA,CAAW,MAAM,IAAI,CAAA,CAAA;AACjC,QAAA,MAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,OACP,MAAA;AAEL,QAAA,MAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,OACd;AAAA,KACF,CAAA;AAKA,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,MAAY,WAAA,CAAA,UAAA,CAAW,MAAM,QAAQ,CAAA,CAAA;AACrC,MAAA,MAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA;AAAA,KACd,CAAA;AAKA,IAAM,MAAA,EAAE,CAAE,EAAA,GAAI,eAAgB,EAAA,CAAA;AAE9B,IAAM,MAAA,QAAA,GAAW,aAAc,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAE5C,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,OAAA;AAAA,MACZ,CAAC,GAAQ,KAAA;AACP,QAAA,QAAA,CAAS,KAAQ,GAAA,GAAA,CAAA;AAAA,OACnB;AAAA,KACF,CAAA;AAGA,IAAa,QAAA,CAAA;AAAA,MACX,SAAW,EAAA,SAAA;AAAA,KACZ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { createApp } from "vue";
2
2
  import Antd from "ant-design-vue";
3
3
  import "ant-design-vue/dist/antd.css";
4
+ import * as Icons from "@ant-design/icons-vue";
4
5
  import App from "./App.vue";
5
6
  import router from "./router";
6
7
  import ui from "../../../bsui/src/index";
@@ -12,4 +13,10 @@ app.use(Antd);
12
13
  app.use(router);
13
14
  app.use(ui, { menuIcon: { componentName: "nativeHtml", prop: "type" } } as any);
14
15
 
16
+ //注册UI自带的图标
17
+ const icons: any = Icons;
18
+ for (const i in icons) {
19
+ app.component(i, icons[i]);
20
+ }
21
+
15
22
  app.mount("#app");
@@ -2,8 +2,6 @@
2
2
  import { onActivated, ref } from "vue";
3
3
  import { useRoute } from "vue-router";
4
4
 
5
- import { useDeclareData } from "../../store";
6
-
7
5
  const columns = [
8
6
  {
9
7
  title: "商品编码"
@@ -22,17 +20,8 @@ const columns = [
22
20
  }
23
21
  ];
24
22
  const route = useRoute();
25
- const store = useDeclareData();
26
23
  const loading = ref(false);
27
24
 
28
- onActivated(() => {
29
- if (route.path.includes("form")) {
30
- store.data = store.exportDeclarationData;
31
- } else {
32
- store.data = store.importDeclarationData;
33
- }
34
- });
35
-
36
25
  const formState = ref({
37
26
  originCountry: ""
38
27
  });
@@ -44,148 +33,6 @@ export default {
44
33
  </script>
45
34
  <template>
46
35
  <d-show-layout :loading="loading">
47
-
48
- <a-card>
49
- <template #title>
50
- <span class="title">申报人信息</span>
51
- </template>
52
- <a-form :colon="false" :label-col="{ style: { width: '120px' } }">
53
- <d-grid class-name="ditari-bsui-grid-form" :fill="true" grid="repeat(2, 50%)">
54
- <d-grid-item>
55
- <a-form-item label="申报人姓名">
56
- <a-input />
57
- </a-form-item>
58
- </d-grid-item>
59
- <d-grid-item>
60
- <a-form-item label="申报人证件号">
61
- {{ formState.originCountry }}
62
- <a-input v-model:value="formState.originCountry" v-trim />
63
- </a-form-item>
64
- </d-grid-item>
65
- <d-grid-item>
66
- <a-button type="primary" block>选择申报人</a-button>
67
- </d-grid-item>
68
- </d-grid>
69
- </a-form>
70
- </a-card>
71
- <a-card>
72
- <template #title>
73
- <span class="title">基本信息</span>
74
- </template>
75
- <a-form :colon="false" :label-col="{ style: { width: '150px' } }">
76
- <d-grid class-name="ditari-bsui-grid-form">
77
- <d-grid-item>
78
- <a-form-item label="进出口标志"> </a-form-item>
79
- </d-grid-item>
80
- <d-grid-item>
81
- <a-form-item label="业务模式"> </a-form-item>
82
- </d-grid-item>
83
- <d-grid-item>
84
- <a-form-item label="运输方式"> </a-form-item>
85
- </d-grid-item>
86
- <d-grid-item>
87
- <a-form-item label="总金额(元)"> </a-form-item>
88
- </d-grid-item>
89
- <d-grid-item>
90
- <a-form-item label="总毛重(KG)"> </a-form-item>
91
- </d-grid-item>
92
- <d-grid-item>
93
- <a-form-item label="总净重(KG)"> </a-form-item>
94
- </d-grid-item>
95
- <d-grid-item>
96
- <a-form-item label="币制"> </a-form-item>
97
- </d-grid-item>
98
- <d-grid-item>
99
- <a-form-item label="件数"> </a-form-item>
100
- </d-grid-item>
101
- <d-grid-item>
102
- <a-form-item label="贸易国别"> </a-form-item>
103
- </d-grid-item>
104
- <d-grid-item>
105
- <a-form-item label="运输工具航次(班)号"> </a-form-item>
106
- </d-grid-item>
107
- <d-grid-item>
108
- <a-form-item label="运输工具号"> </a-form-item>
109
- </d-grid-item>
110
- <d-grid-item>
111
- <a-form-item label="提运单号"> </a-form-item>
112
- </d-grid-item>
113
- <d-grid-item>
114
- <a-form-item label="是否涉及证书预备案"> </a-form-item>
115
- </d-grid-item>
116
- <d-grid-item>
117
- <a-form-item label="证书类型"> </a-form-item>
118
- </d-grid-item>
119
- <d-grid-item>
120
- <a-form-item label="证书预备案编号"> </a-form-item>
121
- </d-grid-item>
122
- </d-grid>
123
- </a-form>
124
- </a-card>
125
- <!-- <a-card v-for="item in 3">-->
126
- <!-- <template #title>-->
127
- <!-- <span class="title">商品信息</span>-->
128
- <!-- </template>-->
129
- <!-- <d-table-->
130
- <!-- row-key="id"-->
131
- <!-- bordered-->
132
- <!-- :height="150"-->
133
- <!-- :columns="columns"-->
134
- <!-- :data="[{}]"-->
135
- <!-- ></d-table>-->
136
- <!-- <a-form :colon="false" :label-col="{ style: { width: '150px' } }">-->
137
- <!-- <d-grid class-name="ditari-bsui-grid-form">-->
138
- <!-- <d-grid-item>-->
139
- <!-- <a-form-item label="商品编码"> </a-form-item>-->
140
- <!-- </d-grid-item>-->
141
- <!-- <d-grid-item>-->
142
- <!-- <a-form-item label="商品名称"> </a-form-item>-->
143
- <!-- </d-grid-item>-->
144
- <!-- <d-grid-item>-->
145
- <!-- <a-form-item label="规格型号"> </a-form-item>-->
146
- <!-- </d-grid-item>-->
147
- <!-- <d-grid-item>-->
148
- <!-- <a-form-item label="申报计量单位"> </a-form-item>-->
149
- <!-- </d-grid-item>-->
150
- <!-- <d-grid-item>-->
151
- <!-- <a-form-item label="第一计量单位"> </a-form-item>-->
152
- <!-- </d-grid-item>-->
153
- <!-- <d-grid-item>-->
154
- <!-- <a-form-item label="第二计量单位"> </a-form-item>-->
155
- <!-- </d-grid-item>-->
156
- <!-- <d-grid-item>-->
157
- <!-- <a-form-item label="申报数量(千克)"> </a-form-item>-->
158
- <!-- </d-grid-item>-->
159
- <!-- <d-grid-item>-->
160
- <!-- <a-form-item label="第一数量"> </a-form-item>-->
161
- <!-- </d-grid-item>-->
162
- <!-- <d-grid-item>-->
163
- <!-- <a-form-item label="第二数量"> </a-form-item>-->
164
- <!-- </d-grid-item>-->
165
- <!-- <d-grid-item>-->
166
- <!-- <a-form-item label="毛重(KG)"> </a-form-item>-->
167
- <!-- </d-grid-item>-->
168
- <!-- <d-grid-item>-->
169
- <!-- <a-form-item label="净重(KG)"> </a-form-item>-->
170
- <!-- </d-grid-item>-->
171
- <!-- <d-grid-item>-->
172
- <!-- <a-form-item label="产销国"> </a-form-item>-->
173
- <!-- </d-grid-item>-->
174
- <!-- <d-grid-item>-->
175
- <!-- <a-form-item label="申报单价(元)"> </a-form-item>-->
176
- <!-- </d-grid-item>-->
177
- <!-- <d-grid-item>-->
178
- <!-- <a-form-item label="申报总价(元)"> </a-form-item>-->
179
- <!-- </d-grid-item>-->
180
- <!-- <d-grid-item>-->
181
- <!-- <a-form-item label="存储条件"> </a-form-item>-->
182
- <!-- </d-grid-item>-->
183
- <!-- <d-grid-item>-->
184
- <!-- <a-form-item label="用途"> </a-form-item>-->
185
- <!-- </d-grid-item>-->
186
- <!-- </d-grid>-->
187
- <!-- </a-form>-->
188
- <!-- </a-card>-->
189
36
  <template #footer>
190
37
  <a-space>
191
38
  <a-button type="primary" @click="loading = true">暂存</a-button>
@@ -201,5 +48,4 @@ export default {
201
48
  font-weight: bold;
202
49
  color: #2589ff;
203
50
  }
204
-
205
51
  </style>
@@ -263,10 +263,10 @@ const onQuery = () => {
263
263
 
264
264
  const queryParams = ref({ from: "", to: "" });
265
265
 
266
- const format = ref("YYYY-MM-DD");
267
266
  setTimeout(() => {
268
- format.value = "YYYY";
269
- }, 5000);
267
+ queryParams.value.from = "2023-02-04";
268
+ queryParams.value.to = "2023-05-06";
269
+ }, 3000);
270
270
  </script>
271
271
  <script lang="ts">
272
272
  export default {
@@ -279,13 +279,7 @@ export default {
279
279
  <d-query-form :value="formState" :scheme="scheme" @query="onQuery">
280
280
  </d-query-form>
281
281
  {{ queryParams }}
282
- <d-range-picker
283
- v-model:value="queryParams"
284
- :format="format"
285
- :value-format="format"
286
- :field="['from', 'to']"
287
- picker="year"
288
- />
282
+ <d-range-picker v-model:value="queryParams" :field="['from', 'to']" />
289
283
  </template>
290
284
  <template #table="{ height }">
291
285
  <d-table
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ditari/bsui",
3
- "version": "1.1.35",
3
+ "version": "1.1.37",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "",
@@ -25,7 +25,6 @@ export default defineComponent({
25
25
  emits: ["update:value"],
26
26
  setup(props, { emit, attrs }) {
27
27
  const dates = ref<string[]>([]);
28
- const modelValue: any = ref(props.value);
29
28
 
30
29
  //内部model
31
30
  const internalModel = ref<{ [name: string]: unknown }>(props?.value || {});
@@ -45,11 +44,23 @@ export default defineComponent({
45
44
  };
46
45
 
47
46
  watchEffect(() => {
47
+ const value: any = props.value;
48
48
  props.field.forEach((key, index) => {
49
- if (modelValue[key] === "") {
49
+ if (value[key] === "") {
50
50
  dates.value && (dates.value[index] = "");
51
51
  } else {
52
- dates.value && (dates.value[index] = modelValue.value[key]);
52
+ dates.value && (dates.value[index] = value[key]);
53
+ }
54
+ });
55
+ });
56
+
57
+ watchEffect(() => {
58
+ const value: any = props.value;
59
+ props.field.forEach((key, index) => {
60
+ if (value[key] === "") {
61
+ dates.value && (dates.value[index] = "");
62
+ } else {
63
+ dates.value && (dates.value[index] = value[key]);
53
64
  }
54
65
  });
55
66
  });
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * FUCK MAIN 入口文件
4
4
  */
5
- import { computed, provide } from "vue";
5
+ import { computed } from "vue";
6
6
  import { MenuFoldOutlined, MenuUnfoldOutlined } from "@ant-design/icons-vue";
7
7
  import { useKeepAliveStore, useSettingsStore } from "@ditari/store";
8
8
 
@@ -11,15 +11,6 @@ import DNavTabs from "./NavTabs.vue";
11
11
  // 菜单组件
12
12
  import Menu from "../menu/Menu";
13
13
 
14
- const props = withDefaults(
15
- defineProps<{
16
- showConfig: any;
17
- }>(),
18
- {
19
- showConfig: { backBtn: "LeftOutlined" } as any
20
- }
21
- );
22
-
23
14
  // 缓存store
24
15
  const store = useKeepAliveStore();
25
16
  // 缓存的names
@@ -28,9 +19,6 @@ const keepAliveNames = computed(() => store.get);
28
19
  const settingsStore = useSettingsStore();
29
20
  const { switchCollapsed } = settingsStore;
30
21
  const collapsedStatus = computed(() => settingsStore.getCollapsed);
31
-
32
- // 注入show组件的配置文件
33
- provide("showConfig", props.showConfig);
34
22
  </script>
35
23
  <template>
36
24
  <a-layout class="ditari-layout">
@@ -67,25 +55,6 @@ provide("showConfig", props.showConfig);
67
55
  <div class="ditari-user-menu">
68
56
  <slot name="operation"></slot>
69
57
  </div>
70
- <!-- <div class="ditari-layout-header">-->
71
- <!-- <div class="ditari-layout-header-left">-->
72
- <!-- <div class="ditari-side-collapsed" @click="switchCollapsed">-->
73
- <!-- <menu-unfold-outlined-->
74
- <!-- v-if="collapsedStatus"-->
75
- <!-- class="trigger"-->
76
- <!-- style="font-size: 16px; font-weight: bold; cursor: pointer"-->
77
- <!-- />-->
78
- <!-- <menu-fold-outlined-->
79
- <!-- v-else-->
80
- <!-- style="font-size: 16px; font-weight: bold; cursor: pointer"-->
81
- <!-- />-->
82
- <!-- </div>-->
83
- <!-- -->
84
- <!-- </div>-->
85
- <!-- <div class="ditari-user-menu">-->
86
- <!-- <slot name="operation"></slot>-->
87
- <!-- </div>-->
88
- <!-- </div>-->
89
58
  </div>
90
59
  <a-layout-content
91
60
  style="margin-top: 42px"
@@ -11,7 +11,7 @@ import {
11
11
  nextTick,
12
12
  watchEffect
13
13
  } from "vue";
14
- import { useElementSize } from "@vueuse/core";
14
+ import { useElementSize, useResizeObserver } from "@vueuse/core";
15
15
  import { useSettingsStore } from "@ditari/store";
16
16
  import { storeToRefs } from "pinia";
17
17
  import { useRoute } from "vue-router";
@@ -95,6 +95,10 @@ watchEffect(() => {
95
95
  calcHeight();
96
96
  });
97
97
 
98
+ useResizeObserver(document.body, () => {
99
+ calcHeight();
100
+ });
101
+
98
102
  // 动态计算高度
99
103
  function calcHeight() {
100
104
  show.value = false;
@@ -31,7 +31,7 @@ const navTabStore = useNavTabsStore();
31
31
  const settingsStore = useSettingsStore();
32
32
 
33
33
  const showConfig = inject("showConfig") as any;
34
-
34
+ const collapsedStatus = computed(() => settingsStore.getCollapsed);
35
35
  const btnRender = () => {
36
36
  if (!showConfig) {
37
37
  return h(LeftOutlined);
@@ -118,7 +118,11 @@ defineExpose({
118
118
  <div class="ditari-show-content" :style="contentStyle">
119
119
  <slot></slot>
120
120
  </div>
121
- <div v-if="$slots.footer" class="ditari-show-footer">
121
+ <div
122
+ v-if="$slots.footer"
123
+ class="ditari-show-footer"
124
+ :style="{ left: collapsedStatus ? '80px' : '200px' }"
125
+ >
122
126
  <slot name="footer"></slot>
123
127
  </div>
124
128
  </a-spin>