ahjung 2 年之前
父節點
當前提交
db84efd680

+ 7 - 0
CHANGELOG.md

@@ -2,6 +2,13 @@
 
 ## Pending
 
+## 1.3.7 (2023-06-09)
+
+- 🐞 修复 `组件示例页面异常` 
+- 💎 优化 `菜单缩进异常`
+- 🌟 同步 `选择器` 和 `表格选择器` 对接接口功能
+- `依赖升级`
+
 ## 1.3.6 (2023-02-16)
 
 - 🐞 修复 `fix 多页签关闭全部异常` 

+ 2 - 2
package.json

@@ -43,7 +43,7 @@
     "cropperjs": "^1.5.12",
     "dayjs": "^1.11.4",
     "echarts": "^5.3.3",
-    "element-plus": "^2.3.5",
+    "element-plus": "^2.3.6",
     "element-resize-detector": "^1.2.4",
     "lodash-es": "^4.17.21",
     "mockjs": "^1.1.0",
@@ -103,7 +103,7 @@
     "tailwindcss": "^3.3.2",
     "ts-node": "^10.9.1",
     "typescript": "^4.7.4",
-    "vite": "^3.2.6",
+    "vite": "^3.2.7",
     "vite-plugin-compression": "^0.5.1",
     "vite-plugin-html": "^3.2.0",
     "vite-plugin-mock": "^2.9.6",

文件差異過大導致無法顯示
+ 1208 - 1127
pnpm-lock.yaml


+ 2 - 2
src/api/region/region.ts

@@ -3,7 +3,7 @@ import { http } from '@/utils/http/axios';
 //获取
 export function allProvinces(params?) {
   return http.request({
-    url: '/area/getParent',
+    url: '/common/areaList',
     method: 'get',
     params,
   });
@@ -11,7 +11,7 @@ export function allProvinces(params?) {
 
 export function regionParent(params) {
   return http.request({
-    url: '/area/findByParentId',
+    url: '/common/areaList',
     method: 'get',
     params,
   });

+ 0 - 9
src/api/table/list.ts

@@ -8,12 +8,3 @@ export function getTableList(params) {
     params,
   });
 }
-
-//获取table select
-export function getTableSelectList(params) {
-  return http.request({
-    url: '/table/select',
-    method: 'get',
-    params,
-  });
-}

+ 1 - 1
src/components/Application/search/AppSearch.vue

@@ -168,7 +168,7 @@
       if (!meta?.hidden && reg.test(title) && !children?.length) {
         ret.push({
           name: parent?.title ? `${parent.title} > ${title}` : title,
-          path: parent?.path ? replacePath(parent.path) : replacePath(path),
+          path,
           icon,
           key,
         });

+ 3 - 3
src/components/Region/src/Region.vue

@@ -36,9 +36,9 @@
   const emit = defineEmits(['change']);
 
   const loading = ref(false);
-  const province = ref(null);
-  const city = ref(null);
-  const area = ref(null);
+  const province = ref();
+  const city = ref();
+  const area = ref();
   const provinceList = ref<any[]>([]);
   const cityList = ref<any[]>([]);
   const areaList = ref<any[]>([]);

+ 10 - 2
src/components/Select/src/BasicSelect.vue

@@ -75,6 +75,14 @@
   async function fetch() {
     loading.value = true;
     const { request, cacheKey, cache } = props;
+    if (!request) {
+      if (props.options && props.options.length) {
+        options.value = props.options;
+        loading.value = false;
+        if (cache && cacheKey) Storage.set(cacheKey, props.options);
+      }
+      return;
+    }
     try {
       const res = await request();
       options.value = res || [];
@@ -92,8 +100,8 @@
   }
 
   //获取缓存
-  onMounted(async () => {
-    await init();
+  onMounted(() => {
+    init();
   });
 
   //暴露方法

+ 2 - 2
src/components/Table/src/hooks/useDataSource.ts

@@ -90,8 +90,8 @@ export function useDataSource(
       const results = res[listField] ? res[listField] : [];
       // 如果数据异常,需获取正确的页码再次执行
       if (resultPageCount) {
-        if (currentPage > resultPageCount) {
-          const currentTotalPage = Math.ceil(resultPageCount / pageSize);
+        const currentTotalPage = Math.ceil(resultTotal / pageSize);
+        if (currentPage > currentTotalPage) {
           setPagination({
             currentPage: currentTotalPage,
             pageCount: resultPageCount,

+ 2 - 2
src/components/Table/src/hooks/usePagination.ts

@@ -21,7 +21,7 @@ export function usePagination(refProps: ComputedRef<BasicTableProps>) {
     },
   );
 
-  const getPaginationInfo = computed((): PaginationProps => {
+  const getPaginationInfo = computed((): PaginationProps | boolean => {
     const { pagination } = unref(refProps);
     if (!unref(show) || (isBoolean(pagination) && !pagination)) {
       return false;
@@ -36,7 +36,7 @@ export function usePagination(refProps: ComputedRef<BasicTableProps>) {
       ...(isBoolean(pagination) ? {} : pagination),
       ...unref(configRef),
     };
-    return pageInfo;
+    return pageInfo as PaginationProps;
   });
 
   function setPagination(info: Partial<PaginationProps>) {

+ 1 - 0
src/components/TableSelect/src/TableSelect.vue

@@ -16,6 +16,7 @@
           @reset="handleFormReset"
           @register="register"
           @submit="handleFormSubmit"
+          class="mt-4"
         />
         <BasicTable
           ref="basicTableRef"

+ 1 - 1
src/layout/components/Sider/ReSubMenu.vue

@@ -1,7 +1,7 @@
 <template>
   <el-sub-menu :index="parent.key">
     <template #title>
-      <el-icon><component :is="parent.icon" /></el-icon>
+      <el-icon v-if="parent.icon"><component :is="parent.icon" /></el-icon>
       <span>{{ parent.title }}</span>
     </template>
     <template v-for="(item, key) in parent.children" :key="item.key">

+ 1 - 1
src/layout/components/Sider/Sider.vue

@@ -14,7 +14,7 @@
     <template v-for="item in menus" :key="item.key">
       <el-menu-item v-if="!item.children" :index="item.key">
         <template #title>
-          <el-icon><component :is="item.icon" /></el-icon>
+          <el-icon v-if="item.icon"><component :is="item.icon" /></el-icon>
           <span>{{ item.title }}</span>
         </template>
       </el-menu-item>

+ 28 - 4
src/views/comp/region/index.vue

@@ -2,19 +2,43 @@
   <PageWrapper title="地区" content="地区组件,用于选择省市区,比如填写地址,配送地址,等...">
     <el-card :bordered="false" class="mt-3 proCard">
       <el-alert title="添加场景" type="info"> 自动加载数据,显示省市区</el-alert>
-      <Region class="mt-3 Region" @change="regionChange" />
+      <Region
+        class="mt-3 Region"
+        labelField="areaName"
+        valueField="areaId"
+        @change="regionChange"
+      />
       <el-divider />
 
       <el-alert title="回显场景" type="info"> 设置默认值,自动加载数据,并且选中</el-alert>
-      <Region v-model="regionIds" class="mt-3 Region" @change="regionChange" />
+      <Region
+        v-model:value="regionIds"
+        class="mt-3 Region"
+        labelField="areaName"
+        valueField="areaId"
+        @change="regionChange"
+      />
       <el-divider />
 
       <el-alert title="只显示省市" type="info" />
-      <Region v-model="regionIds" :hideArea="true" class="mt-3 Region" @change="regionChange" />
+      <Region
+        v-model:value="regionIds"
+        :hideArea="true"
+        class="mt-3 Region"
+        labelField="areaName"
+        valueField="areaId"
+        @change="regionChange"
+      />
       <el-divider />
 
       <el-alert title="只显示省" type="info" />
-      <Region :onlyProvince="true" class="mt-3 Region" @change="regionChange" />
+      <Region
+        :onlyProvince="true"
+        class="mt-3 Region"
+        labelField="areaName"
+        valueField="areaId"
+        @change="regionChange"
+      />
     </el-card>
   </PageWrapper>
 </template>

+ 11 - 5
src/views/comp/select/select.vue

@@ -13,6 +13,8 @@
             ref="basicSelectRef"
             v-model="selectValue"
             :request="loadSelectData"
+            label-field="regionName"
+            value-field="id"
             @change="handleUpdateValue"
             cache
             cacheKey="SELECT_CLASSIFY"
@@ -30,11 +32,11 @@
 
 <script lang="ts" setup>
   import { ref } from 'vue';
-  import { getClassifyList } from '@/api/select/select';
+  import { getProvinceList } from '@/api/select/select';
   import { BasicSelect } from '@/components/Select';
   import { ElMessage } from 'element-plus';
 
-  const selectValue = ref('hot');
+  const selectValue = ref(3023);
   const basicSelectRef = ref();
   const params = {
     type: 1,
@@ -42,10 +44,12 @@
 
   async function loadSelectData(res) {
     //这里可以进行数据转换处理
-    return (await getClassifyList({ ...res, ...params })).map((item, index) => {
+    return (await getProvinceList({ ...res, ...params })).map((item, index) => {
       return {
         ...item,
         index,
+        label: item.regionName,
+        value: item.id,
       };
     });
   }
@@ -60,7 +64,7 @@
   }
 
   function setSelectData() {
-    selectValue.value = 'new';
+    selectValue.value = 5308;
   }
 
   function getSelectValue() {
@@ -68,7 +72,9 @@
   }
 
   function getSelectData() {
-    ElMessage.success('Data: ' + JSON.stringify(basicSelectRef?.value.getData()));
+    ElMessage.success(
+      'Ids: ' + JSON.stringify(basicSelectRef?.value.getData().map((item) => item.value)),
+    );
   }
 </script>
 

+ 2 - 2
src/views/comp/tableSelect/tableSelect.vue

@@ -75,7 +75,7 @@
 <script lang="ts" setup>
   import { ref } from 'vue';
   import { TableSelect } from '@/components/TableSelect';
-  import { getTableSelectList } from '@/api/table/list';
+  import { getTableList } from '@/api/table/list';
   import { columns } from './basicColumns';
   import { FormSchema } from '@/components/Form/index';
 
@@ -104,7 +104,7 @@
   const formParams = ref({});
 
   const loadDataTable = async (res) => {
-    return await getTableSelectList({ ...formParams.value, ...res });
+    return await getTableList({ ...formParams.value, ...res });
   };
 
   function tableSelectChange(list) {