From a65ca60179efb2bd6e1c8907a42285463512d3e2 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 19 三月 2025 08:05:51 +0800
Subject: [PATCH] 修改 # 前端添加字典选择

---
 rsf-admin/src/api/auth/index.js                                                   |    8 ++
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Companys.java      |   19 +++++
 rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java |   14 ++++
 rsf-server/src/main/resources/application.yml                                     |    2 
 rsf-admin/src/page/basicInfo/loc/LocEdit.jsx                                      |   81 ++------------------------
 rsf-admin/src/page/dashboard/index.jsx                                            |    8 ++
 rsf-admin/src/App.jsx                                                             |    4 
 7 files changed, 56 insertions(+), 80 deletions(-)

diff --git a/rsf-admin/src/App.jsx b/rsf-admin/src/App.jsx
index 12d5306..3dd8939 100644
--- a/rsf-admin/src/App.jsx
+++ b/rsf-admin/src/App.jsx
@@ -27,7 +27,7 @@
   DATA_PROVIDER_SPRING,
 } from "./config/setting";
 import ResourceContent from "./page/ResourceContent";
-import { getSystemInfo } from "@/api/auth";
+import { getSystemInfo, getSystemDicts } from "@/api/auth";
 
 const i18nProvider = polyglotI18nProvider(
   (locale) => {
@@ -60,7 +60,7 @@
   useEffect(() => {
     getSystemInfo().then((data) => {
       localStorage.setItem("system", JSON.stringify(data));
-    });
+    })
   }, []);
 
   return (
diff --git a/rsf-admin/src/api/auth/index.js b/rsf-admin/src/api/auth/index.js
index f5c19dc..5e0a492 100644
--- a/rsf-admin/src/api/auth/index.js
+++ b/rsf-admin/src/api/auth/index.js
@@ -8,6 +8,14 @@
     return Promise.reject(new Error(res.data.msg));
 }
 
+export async function getSystemDicts() {
+    const res = await request.post('/dictData/list', {});
+    if (res.data.code === 200) {
+        return res.data.data;
+    }
+    return Promise.reject(new Error(res.data.msg));
+}
+
 export async function tenants(_params) {
     const res = await request.get('/tenant/list', { params: _params });
     if (res.data.code === 200) {
diff --git a/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx b/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
index 3ea6793..9a21ed9 100644
--- a/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/loc/LocEdit.jsx
@@ -42,7 +42,7 @@
 
 const LocEdit = () => {
     const translate = useTranslate();
-
+    const dicts = JSON.parse(localStorage.getItem('sys_dicts')).filter(dict => { return (dict.dictTypeCode == 'sys_loc_type') });
     return (
         <Edit
             redirect="list"
@@ -99,45 +99,14 @@
                                 />
                             </Grid>
                             <Grid item xs={6} display="flex" gap={1}>
-                                <ReferenceInput
+                                <AutocompleteInput
+                                    choices={dicts}
                                     source="type"
-                                    reference="dictData"
-                                    filter={{ dictTypeCode: 'sys_loc_type' }}
-                                >
-                                    <AutocompleteInput
-                                        label="table.field.loc.type"
-                                        optionText="label"
-                                        optionValue="value"
-                                        parse={v => v}
-                                        validate={[required()]}
-                                    />
-                                </ReferenceInput>
-                            </Grid>
-                            <Grid item xs={6} display="flex" gap={1}>
-                                <TextInput
-                                    label="table.field.loc.name"
-                                    source="name"
+                                    optionText="label"
+                                    label="table.field.loc.type"
+                                    optionValue="value"
                                     parse={v => v}
-                                />
-                            </Grid>
-                            <Grid item xs={6} display="flex" gap={1}>
-                                <NumberInput
-                                    label="table.field.loc.flagLogic"
-                                    source="flagLogic"
-                                />
-                            </Grid>
-                            <Grid item xs={6} display="flex" gap={1}>
-                                <TextInput
-                                    label="table.field.loc.fucAtrrs"
-                                    source="fucAtrrs"
-                                    parse={v => v}
-                                />
-                            </Grid>
-                            <Grid item xs={6} display="flex" gap={1}>
-                                <TextInput
-                                    label="table.field.loc.barcode"
-                                    source="barcode"
-                                    parse={v => v}
+                                    validate={[required()]}
                                 />
                             </Grid>
                             <Grid item xs={6} display="flex" gap={1}>
@@ -171,7 +140,7 @@
                             <Grid item xs={6} display="flex" gap={1}>
                                 <NumberInput
                                     label="table.field.loc.row"
-                                    source="lrow"
+                                    source="row"
                                     validate={required()}
                                 />
                             </Grid>
@@ -189,41 +158,7 @@
                                     validate={required()}
                                 />
                             </Grid>
-                            <Grid item xs={6} display="flex" gap={1}>
-                                <NumberInput
-                                    label="table.field.loc.channel"
-                                    source="channel"
-                                    validate={required()}
-                                />
-                            </Grid>
-                            <Grid item xs={6} display="flex" gap={1}>
-                                <NumberInput
-                                    label="table.field.loc.maxParts"
-                                    source="maxParts"
-                                />
-                            </Grid>
-                            <Grid item xs={6} display="flex" gap={1}>
-                                <NumberInput
-                                    label="table.field.loc.maxPack"
-                                    source="maxPack"
-                                />
-                            </Grid>
-                            <Grid item xs={6} display="flex" gap={1}>
-                                <NumberInput
-                                    label="table.field.loc.flagLabelMange"
-                                    source="flagLabelMange"
-                                />
-                            </Grid>
-                            <Grid item xs={6} display="flex" gap={1}>
-                                <TextInput
-                                    label="table.field.loc.locAttrs"
-                                    source="locAttrs"
-                                    parse={v => v}
-                                    validate={required()}
-                                />
-                            </Grid>
                         </Grid>
-
                     </Grid>
                     <Grid item xs={12} md={2}>
                         <Typography variant="h6" gutterBottom>
diff --git a/rsf-admin/src/page/dashboard/index.jsx b/rsf-admin/src/page/dashboard/index.jsx
index 977c941..0ee3aa1 100644
--- a/rsf-admin/src/page/dashboard/index.jsx
+++ b/rsf-admin/src/page/dashboard/index.jsx
@@ -2,7 +2,8 @@
 import { useNavigate } from 'react-router-dom';
 import { useTheme } from '@mui/material/styles';
 import { useTranslate, useAuthProvider } from 'react-admin';
-import { WordEffect } from './WordEffect'
+import { WordEffect } from './WordEffect';
+import { getSystemDicts } from '@/api/auth'
 
 const Dashboard = () => {
     const authProvider = useAuthProvider();
@@ -13,7 +14,10 @@
     useEffect(() => {
         authProvider.checkAuth().catch(() => {
             navigate('/login');
-        });
+        })
+        getSystemDicts().then((data) => {
+            localStorage.setItem("sys_dicts", JSON.stringify(data));
+        })
     }, [authProvider, navigate]);
 
     return (
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Companys.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Companys.java
index 44b0a5c..31b4aca 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Companys.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Companys.java
@@ -2,7 +2,12 @@
 
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import java.text.SimpleDateFormat;
-import java.util.Date;
+import java.util.*;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.server.system.constant.DictTypeCode;
+import com.vincent.rsf.server.system.entity.DictData;
+import com.vincent.rsf.server.system.service.DictDataService;
 import org.springframework.format.annotation.DateTimeFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -201,7 +206,7 @@
 //            null,    // 娣诲姞浜哄憳
 //            null,    // 娣诲姞鏃堕棿[闈炵┖]
 //            null,    // 淇敼浜哄憳
-//            null,    // 淇敼鏃堕棿[闈炵┖]
+//            null,    // 淇敼鏃堕棿[闈炵┖]a
 //            null    // 澶囨敞
 //    );
 
@@ -217,6 +222,16 @@
         }
     }
 
+    public String getCompanys$() {
+        if (null == this.type){ return null; }
+        DictDataService dictDataService = SpringUtils.getBean(DictDataService.class);
+        DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>().eq(DictData::getDictTypeCode, DictTypeCode.DICT_COMPANY_TYPE).eq(DictData::getId, this.type));
+        if (Objects.isNull(dictData)) {
+            return null;
+        }
+        return dictData.getLabel();
+    }
+
     public String getCreateBy$(){
         UserService service = SpringUtils.getBean(UserService.class);
         User user = service.getById(this.createBy);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java
new file mode 100644
index 0000000..5791882
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/DictTypeCode.java
@@ -0,0 +1,14 @@
+package com.vincent.rsf.server.system.constant;
+
+/**
+ * @author Ryan
+ * @version 1.0
+ * @title DictTypeCode
+ * @description
+ * @create 2025/3/18 15:31
+ */
+public class DictTypeCode {
+
+    public final static String DICT_COMPANY_TYPE = "sys_companys_type";
+
+}
diff --git a/rsf-server/src/main/resources/application.yml b/rsf-server/src/main/resources/application.yml
index 8d4d8f5..94a4edf 100644
--- a/rsf-server/src/main/resources/application.yml
+++ b/rsf-server/src/main/resources/application.yml
@@ -23,7 +23,7 @@
   #  global-config:
   #    field-strategy: 0
   configuration:
-#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
     map-underscore-to-camel-case: true
     cache-enabled: true
   global-config:

--
Gitblit v1.9.1