From 64f32d909345fc2913f535251bc7a86ab680bc9a Mon Sep 17 00:00:00 2001 From: Lei OT Date: Mon, 3 Jun 2024 10:49:34 +0800 Subject: [PATCH 1/8] zustand Notice --- package.json | 3 +- src/stores/Auth.js | 4 ++- src/stores/Notice1.js | 51 ++++++++++++++++++++++++++ src/utils/request.js | 18 +++++++++- src/views/notice/Detail.jsx | 71 +++++++++++++++++++------------------ src/views/notice/Index.jsx | 27 +++++++------- 6 files changed, 121 insertions(+), 53 deletions(-) create mode 100644 src/stores/Notice1.js diff --git a/package.json b/package.json index 8809e6d..c25796d 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,8 @@ "react-dom": "^18.2.0", "react-i18next": "^14.1.2", "react-router-dom": "^6.10.0", - "react-to-pdf": "^1.0.1" + "react-to-pdf": "^1.0.1", + "zustand": "^4.5.2" }, "devDependencies": { "@types/react": "^18.0.28", diff --git a/src/stores/Auth.js b/src/stores/Auth.js index 0110238..1b4d2f4 100644 --- a/src/stores/Auth.js +++ b/src/stores/Auth.js @@ -1,5 +1,5 @@ import { makeAutoObservable, runInAction } from "mobx"; -import { fetchJSON, postForm } from '@/utils/request'; +import { appendRequestParams, fetchJSON, postForm } from '@/utils/request'; import { HT_HOST } from "@/config"; import { isNotEmpty, prepareUrl } from '@/utils/commons'; import { loadPageSpy } from '@/pageSpy'; @@ -17,6 +17,7 @@ class Auth { this.login.userId = root.getSession(KEY_USER_ID); this.login.travelAgencyId = root.getSession(KEY_TRAVEL_AGENCY_ID); if (isNotEmpty(this.login.token)) { + appendRequestParams('token', this.login.token); this.fetchUserDetail(); } } @@ -35,6 +36,7 @@ class Auth { this.login.timeout = false; }); this.root.putSession(KEY_LOGIN_TOKEN, json.Result.token); + appendRequestParams('token', json.Result.token); return json.Result.WU_LMI_SN; } else { throw new Error(json.errmsg + ': ' + json.errcode); diff --git a/src/stores/Notice1.js b/src/stores/Notice1.js new file mode 100644 index 0000000..c9ea0b3 --- /dev/null +++ b/src/stores/Notice1.js @@ -0,0 +1,51 @@ +import { create } from 'zustand'; +import { devtools } from 'zustand/middleware'; + +import { fetchJSON, postForm, } from '@/utils/request'; +import { HT_HOST } from '@/config'; + +/** + * Notice 相关的请求 + */ + +export const fetchBulletinList = async (LMI_SN) => { + const { errcode, Result } = await fetchJSON(`${HT_HOST}/service-Cooperate/Cooperate/GetBulletinList`, { LMI_SN }); + return errcode !== 0 ? [] : Result; +}; + +export const fetchBulletinUnReadCount = async (LMI_SN) => { + const { errcode, Result } = await fetchJSON(`${HT_HOST}/service-Cooperate/Cooperate/GetBulletinUnReadCount`, { LMI_SN }); + return errcode !== 0 ? 0 : Result.CCP_BulletinCount; +} + +export const fetchNoticeDetail = async (LMI_SN, CCP_BLID) => { + const { errcode, Result } = await fetchJSON(`${HT_HOST}/service-Cooperate/Cooperate/GetBulletinDetail`, { LMI_SN, CCP_BLID }); + return errcode !== 0 ? {} : Result; +} + +/** + * Notice Store + */ +const initialState = { + noticeUnRead: 0, //未读公告数量 +}; +export const useNoticeStore = create( + devtools((set, get) => ({ + // 初始化状态 + ...initialState, + + // state actions + setNoticeUnRead: (noticeUnRead) => set(() => ({ noticeUnRead })), + + reset: () => set(initialState), + + // side effects + getBulletinUnReadCount: async (LMI_SN) => { + const { setNoticeUnRead } = get(); + const noticeUnRead = await fetchBulletinUnReadCount(LMI_SN); + setNoticeUnRead(noticeUnRead); + }, + + })) +); +export default useNoticeStore; diff --git a/src/utils/request.js b/src/utils/request.js index e56af36..dcd6def 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -18,6 +18,20 @@ function getRequestHeader() { }, {}); } +const initParams = []; +export function appendRequestParams(n, v) { + initParams.push({ + name: n, + value: v + }) +} +function getRequestInitParams() { + return initParams.reduce((acc, item) => { + acc[item.name] = item.value; + return acc; + }, {}); +} + function checkStatus(response) { if (response.status >= 200 && response.status < 300) { return response @@ -46,7 +60,9 @@ export function fetchText(url) { }) } -export function fetchJSON(url, data) { +export function fetchJSON(url, data = {}) { + const initParams = getRequestInitParams(); + Object.assign(data, initParams); const params = data ? new URLSearchParams(data).toString() : ''; const ifp = url.includes('?') ? '&' : '?'; const headerObj = getRequestHeader(); diff --git a/src/views/notice/Detail.jsx b/src/views/notice/Detail.jsx index 2006a07..5a0d708 100644 --- a/src/views/notice/Detail.jsx +++ b/src/views/notice/Detail.jsx @@ -1,42 +1,43 @@ -import { NavLink, useParams } from "react-router-dom"; -import { useEffect, useState } from "react"; -import { observer } from "mobx-react"; -import { toJS } from "mobx"; -import { Row, Col, Space, Button, Table, Input, Typography, Badge, Divider } from "antd"; -import { useStore } from "@/stores/StoreContext.js"; -import * as config from "@/config"; -import * as comm from "@/utils/commons"; -import dayjs from "dayjs"; +import { NavLink, useParams } from 'react-router-dom'; +import { useEffect, useState } from 'react'; +import { Row, Col, Space, Typography, Divider } from 'antd'; +import { useStore } from '@/stores/StoreContext.js'; +import * as comm from '@/utils/commons'; +import { useTranslation } from 'react-i18next'; +import { fetchNoticeDetail } from '@/stores/Notice1'; -const { Title, Paragraph, Text } = Typography; +const { Title, Paragraph } = Typography; function Detail() { - const { noticeStore, authStore } = useStore(); - const { noticeInfo } = noticeStore; - const { CCP_BLID } = useParams(); + const { t } = useTranslation(); + const { authStore } = useStore(); + const { CCP_BLID } = useParams(); - useEffect(() => { - console.info("notice detail .useEffect " + CCP_BLID); - noticeStore.getNoticeDetail(authStore.login.userId, CCP_BLID); - }, []); + const [noticeInfo, setNoticeInfo] = useState({}); + useEffect(() => { + // console.info("notice detail .useEffect " + CCP_BLID); + fetchNoticeDetail(authStore.login.userId, CCP_BLID).then((res) => { + setNoticeInfo(res); + }); + }, []); - return ( - - - - - {noticeInfo.CCP_BLTitle} - {noticeInfo.CCP_LastEditTime} - -
-
- - - Back - -
-
- ); + return ( + + + + + {noticeInfo.CCP_BLTitle} + {noticeInfo.CCP_LastEditTime} + +
+
+ + + {t('Back')} + +
+
+ ); } -export default observer(Detail); +export default Detail; diff --git a/src/views/notice/Index.jsx b/src/views/notice/Index.jsx index 6330078..c3ede70 100644 --- a/src/views/notice/Index.jsx +++ b/src/views/notice/Index.jsx @@ -1,23 +1,20 @@ import { NavLink } from "react-router-dom"; import { useEffect, useState } from "react"; -import { observer } from "mobx-react"; -import { toJS } from "mobx"; -import { Row, Col, Space, Button, Table, Input, Typography, Badge, List } from "antd"; +import { Row, Col, Space, Typography, Badge, List } from "antd"; import { useStore } from "@/stores/StoreContext.js"; -import * as config from "@/config"; -import * as comm from "@/utils/commons"; -import dayjs from "dayjs"; - -const { Title, Paragraph, Text } = Typography; +import useNoticeStore, { fetchBulletinList } from '@/stores/Notice1'; function Index() { - const { noticeStore, authStore } = useStore(); - const { noticeList } = noticeStore; + const { authStore } = useStore(); + const getBulletinUnReadCount = useNoticeStore((state) => state.getBulletinUnReadCount); + const [noticeList, setNoticeList] = useState([]); useEffect(() => { - console.info("notice.useEffect"); - noticeStore.getBulletinList(authStore.login.userId); - noticeStore.getBulletinUnReadCount(authStore.login.userId); //进入列表页的时候更新一下未读公告 + // console.info("notice.useEffect", authStore.login.userId); + fetchBulletinList(authStore.login.userId).then(data => { + setNoticeList(data); + }); + getBulletinUnReadCount(authStore.login.userId); //进入列表页的时候更新一下未读公告 }, []); return ( @@ -26,7 +23,7 @@ function Index() { ( [{item.CCP_LastEditTime}] @@ -40,4 +37,4 @@ function Index() { ); } -export default observer(Index); +export default (Index); From bff8a1ea78c83d81e89da702a004b823ef9e272f Mon Sep 17 00:00:00 2001 From: Lei OT Date: Mon, 3 Jun 2024 16:39:57 +0800 Subject: [PATCH 2/8] =?UTF-8?q?request=20=E5=A4=84=E7=90=86errcode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/request.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/utils/request.js b/src/utils/request.js index dcd6def..3c92226 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -45,6 +45,14 @@ function checkStatus(response) { } } +function checkBizCode(responseJson){ + if (responseJson.errcode === 0) { + return responseJson; + } else { + throw new Error(responseJson.errmsg + ': ' + responseJson.errcode); + } +} + export function fetchText(url) { const headerObj = getRequestHeader() return fetch(url, { @@ -108,6 +116,7 @@ export function postJSON(url, obj) { } }).then(checkStatus) .then(response => response.json()) + .then(checkBizCode) .catch(error => { throw error }) From c06df03754e74e2c38adcf1e0c9f4d6c2cdab9d7 Mon Sep 17 00:00:00 2001 From: Lei OT Date: Mon, 3 Jun 2024 16:42:40 +0800 Subject: [PATCH 3/8] =?UTF-8?q?refactor:=20Notice=20=E7=9A=84Mobx=20store?= =?UTF-8?q?=20=E8=BF=81=E7=A7=BB=E5=88=B0=20zustand;=20=E4=BB=85=E4=BF=9D?= =?UTF-8?q?=E7=95=99=E7=AE=A1=E7=90=86=E6=9C=AA=E8=AF=BB=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/stores/Notice.js | 109 +++++++++++++++---------------------- src/stores/Notice1.js | 51 ----------------- src/stores/Root.js | 6 +- src/views/App.jsx | 5 +- src/views/Login.jsx | 7 ++- src/views/notice/Index.jsx | 2 +- 6 files changed, 56 insertions(+), 124 deletions(-) delete mode 100644 src/stores/Notice1.js diff --git a/src/stores/Notice.js b/src/stores/Notice.js index f650886..96f7395 100644 --- a/src/stores/Notice.js +++ b/src/stores/Notice.js @@ -1,73 +1,54 @@ import { makeAutoObservable, runInAction } from "mobx"; import * as config from "@/config"; -class Notice { - constructor(root) { - makeAutoObservable(this, { rootStore: false }); - this.root = root; - } +import { create } from 'zustand'; +import { devtools } from 'zustand/middleware'; - noticeList = []; //公告列表 - noticeUnRead = 0; //未读公告数量 - noticeInfo = { CCP_BLID: 0, CCP_BLTitle: "", CCP_BLContent: "", CCP_LastEditTime: "" }; //公告详情 +import { fetchJSON, postForm, } from '@/utils/request'; +const { HT_HOST } = config; - /* 查询公告列表 - LMI_SN 登录用户SN,用户sn用来判断是否已读公告 - */ - getBulletinList(LMI_SN) { - let url = `/service-Cooperate/Cooperate/GetBulletinList`; - url += `?LMI_SN=${LMI_SN}`; - url+=`&token=${this.root.authStore.login.token}`; - fetch(config.HT_HOST + url) - .then(response => response.json()) - .then(json => { - runInAction(() => { - this.noticeList = json.Result; - }); - }) - .catch(error => { - console.log("fetch data failed", error); - }); - } +/** + * Notice 相关的请求 + */ - /* 查询反馈表信息 - LMI_SN 登录用户sn 用户sn用来设置已读公告,请求过一次详情页表示已读 - CCP_BLID 公告sn - */ - getNoticeDetail(LMI_SN, CCP_BLID) { - let url = `/service-Cooperate/Cooperate/GetBulletinDetail`; - url += `?LMI_SN=${LMI_SN}&CCP_BLID=${CCP_BLID}`; - url+=`&token=${this.root.authStore.login.token}`; - fetch(config.HT_HOST + url) - .then(response => response.json()) - .then(json => { - console.log(json); - runInAction(() => { - this.noticeInfo = json.Result; - }); - }) - .catch(error => { - console.log("fetch data failed", error); - }); - } +export const fetchBulletinList = async (LMI_SN) => { + const { errcode, Result } = await fetchJSON(`${HT_HOST}/service-Cooperate/Cooperate/GetBulletinList`, { LMI_SN }); + return errcode !== 0 ? [] : Result; +}; - //检查是否有未读公告 - getBulletinUnReadCount(LMI_SN) { - let url = `/service-Cooperate/Cooperate/GetBulletinUnReadCount`; - url += `?LMI_SN=${LMI_SN}`; - url+=`&token=${this.root.authStore.login.token}`; - fetch(config.HT_HOST + url) - .then(response => response.json()) - .then(json => { - console.log(json); - runInAction(() => { - this.noticeUnRead = json.Result.CCP_BulletinCount; - }); - }) - .catch(error => { - console.log("fetch data failed", error); - }); - } +export const fetchBulletinUnReadCount = async (LMI_SN) => { + const { errcode, Result } = await fetchJSON(`${HT_HOST}/service-Cooperate/Cooperate/GetBulletinUnReadCount`, { LMI_SN }); + return errcode !== 0 ? 0 : Result.CCP_BulletinCount; } -export default Notice; +export const fetchNoticeDetail = async (LMI_SN, CCP_BLID) => { + const { errcode, Result } = await fetchJSON(`${HT_HOST}/service-Cooperate/Cooperate/GetBulletinDetail`, { LMI_SN, CCP_BLID }); + return errcode !== 0 ? {} : Result; +} + +/** + * Notice Store + */ +const initialState = { + noticeUnRead: 0, //未读公告数量 +}; +export const useNoticeStore = create( + devtools((set, get) => ({ + // 初始化状态 + ...initialState, + + // state actions + setNoticeUnRead: (noticeUnRead) => set(() => ({ noticeUnRead })), + + reset: () => set(initialState), + + // side effects + getBulletinUnReadCount: async (LMI_SN) => { + const { setNoticeUnRead } = get(); + const noticeUnRead = await fetchBulletinUnReadCount(LMI_SN); + setNoticeUnRead(noticeUnRead); + }, + + })) +); +export default useNoticeStore; diff --git a/src/stores/Notice1.js b/src/stores/Notice1.js deleted file mode 100644 index c9ea0b3..0000000 --- a/src/stores/Notice1.js +++ /dev/null @@ -1,51 +0,0 @@ -import { create } from 'zustand'; -import { devtools } from 'zustand/middleware'; - -import { fetchJSON, postForm, } from '@/utils/request'; -import { HT_HOST } from '@/config'; - -/** - * Notice 相关的请求 - */ - -export const fetchBulletinList = async (LMI_SN) => { - const { errcode, Result } = await fetchJSON(`${HT_HOST}/service-Cooperate/Cooperate/GetBulletinList`, { LMI_SN }); - return errcode !== 0 ? [] : Result; -}; - -export const fetchBulletinUnReadCount = async (LMI_SN) => { - const { errcode, Result } = await fetchJSON(`${HT_HOST}/service-Cooperate/Cooperate/GetBulletinUnReadCount`, { LMI_SN }); - return errcode !== 0 ? 0 : Result.CCP_BulletinCount; -} - -export const fetchNoticeDetail = async (LMI_SN, CCP_BLID) => { - const { errcode, Result } = await fetchJSON(`${HT_HOST}/service-Cooperate/Cooperate/GetBulletinDetail`, { LMI_SN, CCP_BLID }); - return errcode !== 0 ? {} : Result; -} - -/** - * Notice Store - */ -const initialState = { - noticeUnRead: 0, //未读公告数量 -}; -export const useNoticeStore = create( - devtools((set, get) => ({ - // 初始化状态 - ...initialState, - - // state actions - setNoticeUnRead: (noticeUnRead) => set(() => ({ noticeUnRead })), - - reset: () => set(initialState), - - // side effects - getBulletinUnReadCount: async (LMI_SN) => { - const { setNoticeUnRead } = get(); - const noticeUnRead = await fetchBulletinUnReadCount(LMI_SN); - setNoticeUnRead(noticeUnRead); - }, - - })) -); -export default useNoticeStore; diff --git a/src/stores/Root.js b/src/stores/Root.js index 50d3e12..efc83a7 100644 --- a/src/stores/Root.js +++ b/src/stores/Root.js @@ -1,7 +1,6 @@ import { makeAutoObservable } from "mobx"; import Reservation from "./Reservation"; import Feedback from "./Feedback"; -import Notice from "./Notice"; import Auth from "./Auth"; import Invoice from "./Invoice"; import Report from "./Report"; @@ -10,14 +9,13 @@ class Root { constructor() { this.reservationStore = new Reservation(this); this.feedbackStore = new Feedback(this); - this.noticeStore = new Notice(this); this.authStore = new Auth(this); this.invoiceStore = new Invoice(this); this.reportStore = new Report(this); makeAutoObservable(this); } - clearSession() { + clearSession() { if (window.sessionStorage) { const sessionStorage = window.sessionStorage; sessionStorage.clear(); @@ -46,4 +44,4 @@ class Root { } } -export default Root; \ No newline at end of file +export default Root; diff --git a/src/views/App.jsx b/src/views/App.jsx index 383aac9..e4deb94 100644 --- a/src/views/App.jsx +++ b/src/views/App.jsx @@ -15,6 +15,7 @@ import zhLocale from 'antd/locale/zh_CN'; import enLocale from 'antd/locale/en_US'; import 'dayjs/locale/zh-cn'; import { BUILD_VERSION, } from '@/config'; +import useNoticeStore from '@/stores/Notice'; const { Header, Content, Footer } = Layout; const { Title } = Typography; @@ -23,10 +24,10 @@ function App() { const { t, i18n } = useTranslation(); const [password, setPassword] = useState(''); - const { authStore, noticeStore } = useStore(); + const { authStore } = useStore(); const { notification } = AntApp.useApp(); const login = toJS(authStore.login); - const { noticeUnRead } = noticeStore; + const noticeUnRead = useNoticeStore((state) => state.noticeUnRead); const href = useHref(); const loginToken = login.token; const navigate = useNavigate(); diff --git a/src/views/Login.jsx b/src/views/Login.jsx index 674a779..f9f2dc5 100644 --- a/src/views/Login.jsx +++ b/src/views/Login.jsx @@ -3,16 +3,19 @@ import { useEffect } from 'react'; import { Button, Checkbox, Form, Input, Row, App } from 'antd'; import { useStore } from '@/stores/StoreContext.js'; import { useTranslation } from 'react-i18next'; +import useNoticeStore from '@/stores/Notice'; function Login() { const { t, i18n } = useTranslation(); - const { authStore, noticeStore } = useStore(); + const { authStore } = useStore(); const { notification } = App.useApp(); const navigate = useNavigate(); const location = useLocation(); const [form] = Form.useForm(); + const getBulletinUnReadCount = useNoticeStore((state) => state.getBulletinUnReadCount); + useEffect (() => { if (location.search === '?out') { authStore.logout(); @@ -26,7 +29,7 @@ function Login() { const onFinish = (values) => { authStore.valdateUserPassword(values.username, values.password) .then((userId) => { - noticeStore.getBulletinUnReadCount(userId); + getBulletinUnReadCount(userId); authStore.fetchUserDetail() .then((user) => { // navigate(-1) is equivalent to hitting the back button. diff --git a/src/views/notice/Index.jsx b/src/views/notice/Index.jsx index c3ede70..f50f333 100644 --- a/src/views/notice/Index.jsx +++ b/src/views/notice/Index.jsx @@ -2,7 +2,7 @@ import { NavLink } from "react-router-dom"; import { useEffect, useState } from "react"; import { Row, Col, Space, Typography, Badge, List } from "antd"; import { useStore } from "@/stores/StoreContext.js"; -import useNoticeStore, { fetchBulletinList } from '@/stores/Notice1'; +import useNoticeStore, { fetchBulletinList } from '@/stores/Notice'; function Index() { const { authStore } = useStore(); From 045eec256676131678129da27f5d5aca318ca5db Mon Sep 17 00:00:00 2001 From: Lei OT Date: Mon, 3 Jun 2024 16:49:57 +0800 Subject: [PATCH 4/8] =?UTF-8?q?request=20=E5=A4=84=E7=90=86errcode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/request.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/utils/request.js b/src/utils/request.js index 3c92226..de0eafa 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -83,6 +83,7 @@ export function fetchJSON(url, data = {}) { } }).then(checkStatus) .then(response => response.json()) + .then(checkBizCode) .catch(error => { throw error; }); From ea0bec8579568b44ad7604447cb0de68b8a20576 Mon Sep 17 00:00:00 2001 From: Lei OT Date: Mon, 3 Jun 2024 16:50:53 +0800 Subject: [PATCH 5/8] =?UTF-8?q?refactor:=20Notice=20=E7=9A=84Mobx=20store?= =?UTF-8?q?=20=E8=BF=81=E7=A7=BB=E5=88=B0=20zustand;=20Detail?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/notice/Detail.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/notice/Detail.jsx b/src/views/notice/Detail.jsx index 5a0d708..033903b 100644 --- a/src/views/notice/Detail.jsx +++ b/src/views/notice/Detail.jsx @@ -4,7 +4,7 @@ import { Row, Col, Space, Typography, Divider } from 'antd'; import { useStore } from '@/stores/StoreContext.js'; import * as comm from '@/utils/commons'; import { useTranslation } from 'react-i18next'; -import { fetchNoticeDetail } from '@/stores/Notice1'; +import { fetchNoticeDetail } from '@/stores/Notice'; const { Title, Paragraph } = Typography; From 0be4bc95046b278e4ea5eab6bf9e52434c87ca8a Mon Sep 17 00:00:00 2001 From: Lei OT Date: Tue, 4 Jun 2024 09:39:38 +0800 Subject: [PATCH 6/8] =?UTF-8?q?fix:=20antd=20=E6=9B=B4=E6=96=B0install?= =?UTF-8?q?=E4=B9=8B=E5=90=8E=20cssinjs=20=E7=9A=84hash=E5=80=BC=E6=9B=B4?= =?UTF-8?q?=E6=96=B0;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/report/Index.jsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/views/report/Index.jsx b/src/views/report/Index.jsx index 2349627..58581ae 100644 --- a/src/views/report/Index.jsx +++ b/src/views/report/Index.jsx @@ -182,7 +182,7 @@ function Index() { Primary Data -
+
@@ -191,7 +191,7 @@ function Index() { Groups Number of People - Transaction Amount(USD) + Transaction Amount (USD) Evaluation Score TP Reviews TP Reviews Rate @@ -229,7 +229,7 @@ function Index() { DMC Assessment Criteria -
+
@@ -426,7 +426,7 @@ function Index() { Evaluation Scores -
+
@@ -466,7 +466,7 @@ function Index() { {evaluationScores.FRTHotel} - Travel Advisor's Planning + Travel Advisor’s Planning {evaluationScores.FRTAdvisor} From ceb397a8956b7590a563aef63deab3a75c29e4e6 Mon Sep 17 00:00:00 2001 From: Lei OT Date: Tue, 4 Jun 2024 09:56:46 +0800 Subject: [PATCH 7/8] =?UTF-8?q?fix:=20antd=20=E6=9B=B4=E6=96=B0install?= =?UTF-8?q?=E4=B9=8B=E5=90=8E=20cssinjs=20=E7=9A=84hash=E5=80=BC=E6=9B=B4?= =?UTF-8?q?=E6=96=B0;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/report/Index.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/views/report/Index.jsx b/src/views/report/Index.jsx index 58581ae..6e9038f 100644 --- a/src/views/report/Index.jsx +++ b/src/views/report/Index.jsx @@ -182,7 +182,7 @@ function Index() { Primary Data -
+
@@ -229,7 +229,7 @@ function Index() { DMC Assessment Criteria -
+
@@ -426,7 +426,7 @@ function Index() { Evaluation Scores -
+
From 3a6ce1d366058d51944812b80db1f5bb0cba45d7 Mon Sep 17 00:00:00 2001 From: Lei OT Date: Tue, 4 Jun 2024 11:49:57 +0800 Subject: [PATCH 8/8] # --- src/stores/Notice.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/stores/Notice.js b/src/stores/Notice.js index 96f7395..b3f4e57 100644 --- a/src/stores/Notice.js +++ b/src/stores/Notice.js @@ -1,10 +1,9 @@ -import { makeAutoObservable, runInAction } from "mobx"; import * as config from "@/config"; import { create } from 'zustand'; import { devtools } from 'zustand/middleware'; -import { fetchJSON, postForm, } from '@/utils/request'; +import { fetchJSON, } from '@/utils/request'; const { HT_HOST } = config; /**