diff --git a/package.json b/package.json index c2bb001..9fa6a85 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ant-design-pro", - "version": "4.5.78", + "version": "4.5.81", "private": true, "description": "An out-of-box UI solution for enterprise applications", "scripts": { diff --git a/src/assets/ai/AiIcon.png b/src/assets/ai/AiIcon.png deleted file mode 100644 index 6ae0e9f..0000000 Binary files a/src/assets/ai/AiIcon.png and /dev/null differ diff --git a/src/assets/ai/YDLogo.png b/src/assets/ai/YDLogo.png deleted file mode 100644 index 7cfde56..0000000 Binary files a/src/assets/ai/YDLogo.png and /dev/null differ diff --git a/src/assets/ai/add.png b/src/assets/ai/add.png deleted file mode 100644 index 9126635..0000000 Binary files a/src/assets/ai/add.png and /dev/null differ diff --git a/src/assets/ai/businessIcon.png b/src/assets/ai/businessIcon.png deleted file mode 100644 index 86b3d53..0000000 Binary files a/src/assets/ai/businessIcon.png and /dev/null differ diff --git a/src/assets/ai/businessTrade.png b/src/assets/ai/businessTrade.png deleted file mode 100644 index b72d1b9..0000000 Binary files a/src/assets/ai/businessTrade.png and /dev/null differ diff --git a/src/assets/ai/comeForm.png b/src/assets/ai/comeForm.png deleted file mode 100644 index a51e315..0000000 Binary files a/src/assets/ai/comeForm.png and /dev/null differ diff --git a/src/assets/ai/deleteIcon.png b/src/assets/ai/deleteIcon.png deleted file mode 100644 index 058558c..0000000 Binary files a/src/assets/ai/deleteIcon.png and /dev/null differ diff --git a/src/assets/ai/dropDown.png b/src/assets/ai/dropDown.png deleted file mode 100644 index d337374..0000000 Binary files a/src/assets/ai/dropDown.png and /dev/null differ diff --git a/src/assets/ai/earlyWarning.png b/src/assets/ai/earlyWarning.png deleted file mode 100644 index a34e074..0000000 Binary files a/src/assets/ai/earlyWarning.png and /dev/null differ diff --git a/src/assets/ai/editIcon.png b/src/assets/ai/editIcon.png deleted file mode 100644 index 292118c..0000000 Binary files a/src/assets/ai/editIcon.png and /dev/null differ diff --git a/src/assets/ai/filterIcon.png b/src/assets/ai/filterIcon.png deleted file mode 100644 index a1518e6..0000000 Binary files a/src/assets/ai/filterIcon.png and /dev/null differ diff --git a/src/assets/ai/foodIcon.png b/src/assets/ai/foodIcon.png deleted file mode 100644 index 743f74c..0000000 Binary files a/src/assets/ai/foodIcon.png and /dev/null differ diff --git a/src/assets/ai/heat.png b/src/assets/ai/heat.png deleted file mode 100644 index e196d9e..0000000 Binary files a/src/assets/ai/heat.png and /dev/null differ diff --git a/src/assets/ai/leftArrow.png b/src/assets/ai/leftArrow.png deleted file mode 100644 index 4b14d3a..0000000 Binary files a/src/assets/ai/leftArrow.png and /dev/null differ diff --git a/src/assets/ai/printIcon.png b/src/assets/ai/printIcon.png deleted file mode 100644 index 6dfd266..0000000 Binary files a/src/assets/ai/printIcon.png and /dev/null differ diff --git a/src/assets/ai/profileIcon.png b/src/assets/ai/profileIcon.png deleted file mode 100644 index 3df63d2..0000000 Binary files a/src/assets/ai/profileIcon.png and /dev/null differ diff --git a/src/assets/ai/pullUp.png b/src/assets/ai/pullUp.png deleted file mode 100644 index 42c0e6f..0000000 Binary files a/src/assets/ai/pullUp.png and /dev/null differ diff --git a/src/assets/ai/reduce.png b/src/assets/ai/reduce.png deleted file mode 100644 index d1589b9..0000000 Binary files a/src/assets/ai/reduce.png and /dev/null differ diff --git a/src/assets/ai/reloadIcon.png b/src/assets/ai/reloadIcon.png deleted file mode 100644 index c614756..0000000 Binary files a/src/assets/ai/reloadIcon.png and /dev/null differ diff --git a/src/assets/ai/retract.png b/src/assets/ai/retract.png deleted file mode 100644 index 5c7b1d3..0000000 Binary files a/src/assets/ai/retract.png and /dev/null differ diff --git a/src/assets/ai/robotIcon.png b/src/assets/ai/robotIcon.png deleted file mode 100644 index c4d39b4..0000000 Binary files a/src/assets/ai/robotIcon.png and /dev/null differ diff --git a/src/assets/ai/searchIconBlue.png b/src/assets/ai/searchIconBlue.png deleted file mode 100644 index 718581d..0000000 Binary files a/src/assets/ai/searchIconBlue.png and /dev/null differ diff --git a/src/assets/ai/searchIconNormal.png b/src/assets/ai/searchIconNormal.png deleted file mode 100644 index 668ebd3..0000000 Binary files a/src/assets/ai/searchIconNormal.png and /dev/null differ diff --git a/src/assets/ai/selectBusinessTrade.png b/src/assets/ai/selectBusinessTrade.png deleted file mode 100644 index 8e30322..0000000 Binary files a/src/assets/ai/selectBusinessTrade.png and /dev/null differ diff --git a/src/assets/ai/selectComeForm.png b/src/assets/ai/selectComeForm.png deleted file mode 100644 index 7dd33a1..0000000 Binary files a/src/assets/ai/selectComeForm.png and /dev/null differ diff --git a/src/assets/ai/selectDeleteIcon.png b/src/assets/ai/selectDeleteIcon.png deleted file mode 100644 index be4bc7b..0000000 Binary files a/src/assets/ai/selectDeleteIcon.png and /dev/null differ diff --git a/src/assets/ai/selectEarlyWarning.png b/src/assets/ai/selectEarlyWarning.png deleted file mode 100644 index 3a1eb7c..0000000 Binary files a/src/assets/ai/selectEarlyWarning.png and /dev/null differ diff --git a/src/assets/ai/selectHeat.png b/src/assets/ai/selectHeat.png deleted file mode 100644 index 4967e8e..0000000 Binary files a/src/assets/ai/selectHeat.png and /dev/null differ diff --git a/src/assets/ai/selectTraffic.png b/src/assets/ai/selectTraffic.png deleted file mode 100644 index 57e2ebb..0000000 Binary files a/src/assets/ai/selectTraffic.png and /dev/null differ diff --git a/src/assets/ai/selectWeather.png b/src/assets/ai/selectWeather.png deleted file mode 100644 index c54896d..0000000 Binary files a/src/assets/ai/selectWeather.png and /dev/null differ diff --git a/src/assets/ai/serverPartBox.png b/src/assets/ai/serverPartBox.png deleted file mode 100644 index e15b89a..0000000 Binary files a/src/assets/ai/serverPartBox.png and /dev/null differ diff --git a/src/assets/ai/serverPartShopIcon.png b/src/assets/ai/serverPartShopIcon.png deleted file mode 100644 index 3a472af..0000000 Binary files a/src/assets/ai/serverPartShopIcon.png and /dev/null differ diff --git a/src/assets/ai/stopIcon.png b/src/assets/ai/stopIcon.png deleted file mode 100644 index 6b08716..0000000 Binary files a/src/assets/ai/stopIcon.png and /dev/null differ diff --git a/src/assets/ai/traffic.png b/src/assets/ai/traffic.png deleted file mode 100644 index ade5db7..0000000 Binary files a/src/assets/ai/traffic.png and /dev/null differ diff --git a/src/assets/ai/updateIcon.svg b/src/assets/ai/updateIcon.svg deleted file mode 100644 index cbf867b..0000000 --- a/src/assets/ai/updateIcon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/ai/userIcon.png b/src/assets/ai/userIcon.png deleted file mode 100644 index 15c91f3..0000000 Binary files a/src/assets/ai/userIcon.png and /dev/null differ diff --git a/src/assets/ai/weather.png b/src/assets/ai/weather.png deleted file mode 100644 index 516f1f2..0000000 Binary files a/src/assets/ai/weather.png and /dev/null differ diff --git a/src/assets/brand/ES.svg b/src/assets/brand/ES.svg deleted file mode 100644 index b3b118f..0000000 --- a/src/assets/brand/ES.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - 图标/更多备份_5@2x - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/assets/brand/carNumberSecond.png b/src/assets/brand/carNumberSecond.png deleted file mode 100644 index 315c500..0000000 Binary files a/src/assets/brand/carNumberSecond.png and /dev/null differ diff --git a/src/assets/brand/delete.png b/src/assets/brand/delete.png deleted file mode 100644 index 81a78fb..0000000 Binary files a/src/assets/brand/delete.png and /dev/null differ diff --git a/src/assets/brand/editIcon.png b/src/assets/brand/editIcon.png deleted file mode 100644 index 747e440..0000000 Binary files a/src/assets/brand/editIcon.png and /dev/null differ diff --git a/src/assets/brand/junwangpageView.jpg b/src/assets/brand/junwangpageView.jpg deleted file mode 100644 index 5d188c5..0000000 Binary files a/src/assets/brand/junwangpageView.jpg and /dev/null differ diff --git a/src/assets/brand/longmensi.jpg b/src/assets/brand/longmensi.jpg deleted file mode 100644 index b53346e..0000000 Binary files a/src/assets/brand/longmensi.jpg and /dev/null differ diff --git a/src/assets/brand/menuTopImg.png b/src/assets/brand/menuTopImg.png deleted file mode 100644 index 2bd0c1e..0000000 Binary files a/src/assets/brand/menuTopImg.png and /dev/null differ diff --git a/src/assets/brand/shop.png b/src/assets/brand/shop.png deleted file mode 100644 index f89c973..0000000 Binary files a/src/assets/brand/shop.png and /dev/null differ diff --git a/src/assets/brand/toBig.png b/src/assets/brand/toBig.png deleted file mode 100644 index f8252b1..0000000 Binary files a/src/assets/brand/toBig.png and /dev/null differ diff --git a/src/assets/brand/toSmall.png b/src/assets/brand/toSmall.png deleted file mode 100644 index 628b351..0000000 Binary files a/src/assets/brand/toSmall.png and /dev/null differ diff --git a/src/assets/brand/turnoverN.png b/src/assets/brand/turnoverN.png deleted file mode 100644 index 7ff176b..0000000 Binary files a/src/assets/brand/turnoverN.png and /dev/null differ diff --git a/src/assets/bussinessProject/Like.png b/src/assets/bussinessProject/Like.png deleted file mode 100644 index dff3ef0..0000000 Binary files a/src/assets/bussinessProject/Like.png and /dev/null differ diff --git a/src/assets/bussinessProject/comprehensive.png b/src/assets/bussinessProject/comprehensive.png deleted file mode 100644 index d527dfe..0000000 Binary files a/src/assets/bussinessProject/comprehensive.png and /dev/null differ diff --git a/src/assets/bussinessProject/dateIcon.png b/src/assets/bussinessProject/dateIcon.png deleted file mode 100644 index b1ca6b2..0000000 Binary files a/src/assets/bussinessProject/dateIcon.png and /dev/null differ diff --git a/src/assets/bussinessProject/error.png b/src/assets/bussinessProject/error.png deleted file mode 100644 index ff1c12b..0000000 Binary files a/src/assets/bussinessProject/error.png and /dev/null differ diff --git a/src/assets/bussinessProject/error.svg b/src/assets/bussinessProject/error.svg deleted file mode 100644 index 86e97a4..0000000 --- a/src/assets/bussinessProject/error.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - 考核图标/已完成备份@2x - - - - - - - - - - \ No newline at end of file diff --git a/src/assets/bussinessProject/listDate.png b/src/assets/bussinessProject/listDate.png deleted file mode 100644 index b50b80d..0000000 Binary files a/src/assets/bussinessProject/listDate.png and /dev/null differ diff --git a/src/assets/bussinessProject/operation.png b/src/assets/bussinessProject/operation.png deleted file mode 100644 index b17df6c..0000000 Binary files a/src/assets/bussinessProject/operation.png and /dev/null differ diff --git a/src/assets/bussinessProject/stateIcon.png b/src/assets/bussinessProject/stateIcon.png deleted file mode 100644 index 5226136..0000000 Binary files a/src/assets/bussinessProject/stateIcon.png and /dev/null differ diff --git a/src/assets/bussinessProject/success.png b/src/assets/bussinessProject/success.png deleted file mode 100644 index 5c7ed1c..0000000 Binary files a/src/assets/bussinessProject/success.png and /dev/null differ diff --git a/src/assets/bussinessProject/waringLight.png b/src/assets/bussinessProject/waringLight.png deleted file mode 100644 index 6bc051e..0000000 Binary files a/src/assets/bussinessProject/waringLight.png and /dev/null differ diff --git a/src/assets/bussinessProject/warningIcon.png b/src/assets/bussinessProject/warningIcon.png deleted file mode 100644 index 83c38bb..0000000 Binary files a/src/assets/bussinessProject/warningIcon.png and /dev/null differ diff --git a/src/assets/detail/addIcon.png b/src/assets/detail/addIcon.png deleted file mode 100644 index 48d76c9..0000000 Binary files a/src/assets/detail/addIcon.png and /dev/null differ diff --git a/src/assets/detail/addPartyC.svg b/src/assets/detail/addPartyC.svg deleted file mode 100644 index 2e2bbae..0000000 --- a/src/assets/detail/addPartyC.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/detail/closeIcon.png b/src/assets/detail/closeIcon.png deleted file mode 100644 index e7784e8..0000000 Binary files a/src/assets/detail/closeIcon.png and /dev/null differ diff --git a/src/assets/detail/edit.svg b/src/assets/detail/edit.svg deleted file mode 100644 index f239d99..0000000 --- a/src/assets/detail/edit.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/detail/fileIcon.svg b/src/assets/detail/fileIcon.svg deleted file mode 100644 index 87c9815..0000000 --- a/src/assets/detail/fileIcon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/detail/memberDetailIcon.png b/src/assets/detail/memberDetailIcon.png deleted file mode 100644 index f9e86b3..0000000 Binary files a/src/assets/detail/memberDetailIcon.png and /dev/null differ diff --git a/src/assets/detail/memberInfoIcon.png b/src/assets/detail/memberInfoIcon.png deleted file mode 100644 index c6f0997..0000000 Binary files a/src/assets/detail/memberInfoIcon.png and /dev/null differ diff --git a/src/assets/detail/orderIcon.png b/src/assets/detail/orderIcon.png deleted file mode 100644 index 473f40c..0000000 Binary files a/src/assets/detail/orderIcon.png and /dev/null differ diff --git a/src/assets/detail/otherBgIcon.png b/src/assets/detail/otherBgIcon.png deleted file mode 100644 index 90bcbb4..0000000 Binary files a/src/assets/detail/otherBgIcon.png and /dev/null differ diff --git a/src/assets/detail/reduceIcon.png b/src/assets/detail/reduceIcon.png deleted file mode 100644 index 26bbf58..0000000 Binary files a/src/assets/detail/reduceIcon.png and /dev/null differ diff --git a/src/assets/detail/staticSumTotalBg.png b/src/assets/detail/staticSumTotalBg.png deleted file mode 100644 index 502582b..0000000 Binary files a/src/assets/detail/staticSumTotalBg.png and /dev/null differ diff --git a/src/assets/downIcon.svg b/src/assets/downIcon.svg deleted file mode 100644 index cd0060a..0000000 --- a/src/assets/downIcon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/errorIcon.png b/src/assets/errorIcon.png deleted file mode 100644 index c96e3db..0000000 Binary files a/src/assets/errorIcon.png and /dev/null differ diff --git a/src/assets/errorIcon.svg b/src/assets/errorIcon.svg deleted file mode 100644 index 961d235..0000000 --- a/src/assets/errorIcon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/expand.png b/src/assets/expand.png deleted file mode 100644 index 230171a..0000000 Binary files a/src/assets/expand.png and /dev/null differ diff --git a/src/assets/expandIcon.svg b/src/assets/expandIcon.svg deleted file mode 100644 index c94beca..0000000 --- a/src/assets/expandIcon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/fileIcon.svg b/src/assets/fileIcon.svg deleted file mode 100644 index e0808b8..0000000 --- a/src/assets/fileIcon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/logo.svg b/src/assets/logo.svg deleted file mode 100644 index f529c57..0000000 --- a/src/assets/logo.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - diff --git a/src/assets/servicePart/ES.png b/src/assets/servicePart/ES.png deleted file mode 100644 index 6967caa..0000000 Binary files a/src/assets/servicePart/ES.png and /dev/null differ diff --git a/src/assets/servicePart/accumulate.png b/src/assets/servicePart/accumulate.png deleted file mode 100644 index d4240b2..0000000 Binary files a/src/assets/servicePart/accumulate.png and /dev/null differ diff --git a/src/assets/servicePart/area.png b/src/assets/servicePart/area.png deleted file mode 100644 index 52d5c04..0000000 Binary files a/src/assets/servicePart/area.png and /dev/null differ diff --git a/src/assets/servicePart/averageOrder.png b/src/assets/servicePart/averageOrder.png deleted file mode 100644 index dcbdc0f..0000000 Binary files a/src/assets/servicePart/averageOrder.png and /dev/null differ diff --git a/src/assets/servicePart/baby.png b/src/assets/servicePart/baby.png deleted file mode 100644 index 440bbac..0000000 Binary files a/src/assets/servicePart/baby.png and /dev/null differ diff --git a/src/assets/servicePart/badWater.png b/src/assets/servicePart/badWater.png deleted file mode 100644 index 46ed578..0000000 Binary files a/src/assets/servicePart/badWater.png and /dev/null differ diff --git a/src/assets/servicePart/buildArea.png b/src/assets/servicePart/buildArea.png deleted file mode 100644 index b5a301d..0000000 Binary files a/src/assets/servicePart/buildArea.png and /dev/null differ diff --git a/src/assets/servicePart/bus.png b/src/assets/servicePart/bus.png deleted file mode 100644 index 32538ef..0000000 Binary files a/src/assets/servicePart/bus.png and /dev/null differ diff --git a/src/assets/servicePart/car.png b/src/assets/servicePart/car.png deleted file mode 100644 index 30ab761..0000000 Binary files a/src/assets/servicePart/car.png and /dev/null differ diff --git a/src/assets/servicePart/carService.png b/src/assets/servicePart/carService.png deleted file mode 100644 index 60790dc..0000000 Binary files a/src/assets/servicePart/carService.png and /dev/null differ diff --git a/src/assets/servicePart/charge.png b/src/assets/servicePart/charge.png deleted file mode 100644 index 72cf666..0000000 Binary files a/src/assets/servicePart/charge.png and /dev/null differ diff --git a/src/assets/servicePart/chemicals.png b/src/assets/servicePart/chemicals.png deleted file mode 100644 index 4e569f1..0000000 Binary files a/src/assets/servicePart/chemicals.png and /dev/null differ diff --git a/src/assets/servicePart/crossFlow.png b/src/assets/servicePart/crossFlow.png deleted file mode 100644 index 4b564f5..0000000 Binary files a/src/assets/servicePart/crossFlow.png and /dev/null differ diff --git a/src/assets/servicePart/customerRevenue.png b/src/assets/servicePart/customerRevenue.png deleted file mode 100644 index d087c02..0000000 Binary files a/src/assets/servicePart/customerRevenue.png and /dev/null differ diff --git a/src/assets/servicePart/date.png b/src/assets/servicePart/date.png deleted file mode 100644 index 0834d1a..0000000 Binary files a/src/assets/servicePart/date.png and /dev/null differ diff --git a/src/assets/servicePart/descIcon.png b/src/assets/servicePart/descIcon.png deleted file mode 100644 index 6e36214..0000000 Binary files a/src/assets/servicePart/descIcon.png and /dev/null differ diff --git a/src/assets/servicePart/enterCar.png b/src/assets/servicePart/enterCar.png deleted file mode 100644 index cbb021b..0000000 Binary files a/src/assets/servicePart/enterCar.png and /dev/null differ diff --git a/src/assets/servicePart/fixed.png b/src/assets/servicePart/fixed.png deleted file mode 100644 index 2fb4a30..0000000 Binary files a/src/assets/servicePart/fixed.png and /dev/null differ diff --git a/src/assets/servicePart/food.png b/src/assets/servicePart/food.png deleted file mode 100644 index 56ebf6b..0000000 Binary files a/src/assets/servicePart/food.png and /dev/null differ diff --git a/src/assets/servicePart/fun.png b/src/assets/servicePart/fun.png deleted file mode 100644 index 441600d..0000000 Binary files a/src/assets/servicePart/fun.png and /dev/null differ diff --git a/src/assets/servicePart/funBg1.png b/src/assets/servicePart/funBg1.png deleted file mode 100644 index 98e8f9f..0000000 Binary files a/src/assets/servicePart/funBg1.png and /dev/null differ diff --git a/src/assets/servicePart/funBg2.png b/src/assets/servicePart/funBg2.png deleted file mode 100644 index edb0de1..0000000 Binary files a/src/assets/servicePart/funBg2.png and /dev/null differ diff --git a/src/assets/servicePart/funBg3.png b/src/assets/servicePart/funBg3.png deleted file mode 100644 index d5c66e0..0000000 Binary files a/src/assets/servicePart/funBg3.png and /dev/null differ diff --git a/src/assets/servicePart/headerTop.png b/src/assets/servicePart/headerTop.png deleted file mode 100644 index 08faea6..0000000 Binary files a/src/assets/servicePart/headerTop.png and /dev/null differ diff --git a/src/assets/servicePart/hotal.png b/src/assets/servicePart/hotal.png deleted file mode 100644 index b20d91c..0000000 Binary files a/src/assets/servicePart/hotal.png and /dev/null differ diff --git a/src/assets/servicePart/maintenance.png b/src/assets/servicePart/maintenance.png deleted file mode 100644 index 2a7cebe..0000000 Binary files a/src/assets/servicePart/maintenance.png and /dev/null differ diff --git a/src/assets/servicePart/manWC.png b/src/assets/servicePart/manWC.png deleted file mode 100644 index 0dd122b..0000000 Binary files a/src/assets/servicePart/manWC.png and /dev/null differ diff --git a/src/assets/servicePart/managerUnit.png b/src/assets/servicePart/managerUnit.png deleted file mode 100644 index abc7989..0000000 Binary files a/src/assets/servicePart/managerUnit.png and /dev/null differ diff --git a/src/assets/servicePart/meetingContent.png b/src/assets/servicePart/meetingContent.png deleted file mode 100644 index 3ba864a..0000000 Binary files a/src/assets/servicePart/meetingContent.png and /dev/null differ diff --git a/src/assets/servicePart/minimart.png b/src/assets/servicePart/minimart.png deleted file mode 100644 index dd2334b..0000000 Binary files a/src/assets/servicePart/minimart.png and /dev/null differ diff --git a/src/assets/servicePart/moneyBack.png b/src/assets/servicePart/moneyBack.png deleted file mode 100644 index db217cd..0000000 Binary files a/src/assets/servicePart/moneyBack.png and /dev/null differ diff --git a/src/assets/servicePart/operate.png b/src/assets/servicePart/operate.png deleted file mode 100644 index 561893d..0000000 Binary files a/src/assets/servicePart/operate.png and /dev/null differ diff --git a/src/assets/servicePart/orderBusiness.png b/src/assets/servicePart/orderBusiness.png deleted file mode 100644 index d847abc..0000000 Binary files a/src/assets/servicePart/orderBusiness.png and /dev/null differ diff --git a/src/assets/servicePart/ownerSelf.png b/src/assets/servicePart/ownerSelf.png deleted file mode 100644 index e038979..0000000 Binary files a/src/assets/servicePart/ownerSelf.png and /dev/null differ diff --git a/src/assets/servicePart/pageIcon.png b/src/assets/servicePart/pageIcon.png deleted file mode 100644 index 05cb279..0000000 Binary files a/src/assets/servicePart/pageIcon.png and /dev/null differ diff --git a/src/assets/servicePart/person.png b/src/assets/servicePart/person.png deleted file mode 100644 index 724923f..0000000 Binary files a/src/assets/servicePart/person.png and /dev/null differ diff --git a/src/assets/servicePart/proportion.png b/src/assets/servicePart/proportion.png deleted file mode 100644 index f124c83..0000000 Binary files a/src/assets/servicePart/proportion.png and /dev/null differ diff --git a/src/assets/servicePart/propryRight.png b/src/assets/servicePart/propryRight.png deleted file mode 100644 index c5f6594..0000000 Binary files a/src/assets/servicePart/propryRight.png and /dev/null differ diff --git a/src/assets/servicePart/rage.png b/src/assets/servicePart/rage.png deleted file mode 100644 index 1b29254..0000000 Binary files a/src/assets/servicePart/rage.png and /dev/null differ diff --git a/src/assets/servicePart/revenceBack.png b/src/assets/servicePart/revenceBack.png deleted file mode 100644 index c180d3e..0000000 Binary files a/src/assets/servicePart/revenceBack.png and /dev/null differ diff --git a/src/assets/servicePart/revenceSome.png b/src/assets/servicePart/revenceSome.png deleted file mode 100644 index 1ea7ceb..0000000 Binary files a/src/assets/servicePart/revenceSome.png and /dev/null differ diff --git a/src/assets/servicePart/revenue.png b/src/assets/servicePart/revenue.png deleted file mode 100644 index cd75f5b..0000000 Binary files a/src/assets/servicePart/revenue.png and /dev/null differ diff --git a/src/assets/servicePart/room.png b/src/assets/servicePart/room.png deleted file mode 100644 index 417d35b..0000000 Binary files a/src/assets/servicePart/room.png and /dev/null differ diff --git a/src/assets/servicePart/serviceIcon.png b/src/assets/servicePart/serviceIcon.png deleted file mode 100644 index 9b20744..0000000 Binary files a/src/assets/servicePart/serviceIcon.png and /dev/null differ diff --git a/src/assets/servicePart/shop.png b/src/assets/servicePart/shop.png deleted file mode 100644 index feb1fa7..0000000 Binary files a/src/assets/servicePart/shop.png and /dev/null differ diff --git a/src/assets/servicePart/stopArea.png b/src/assets/servicePart/stopArea.png deleted file mode 100644 index 54e5837..0000000 Binary files a/src/assets/servicePart/stopArea.png and /dev/null differ diff --git a/src/assets/servicePart/store.png b/src/assets/servicePart/store.png deleted file mode 100644 index ff58835..0000000 Binary files a/src/assets/servicePart/store.png and /dev/null differ diff --git a/src/assets/servicePart/thirdToilets.png b/src/assets/servicePart/thirdToilets.png deleted file mode 100644 index 6a3d27c..0000000 Binary files a/src/assets/servicePart/thirdToilets.png and /dev/null differ diff --git a/src/assets/servicePart/tidalSpace.png b/src/assets/servicePart/tidalSpace.png deleted file mode 100644 index 3ba57b7..0000000 Binary files a/src/assets/servicePart/tidalSpace.png and /dev/null differ diff --git a/src/assets/servicePart/trainCar.png b/src/assets/servicePart/trainCar.png deleted file mode 100644 index 0a4be3a..0000000 Binary files a/src/assets/servicePart/trainCar.png and /dev/null differ diff --git a/src/assets/servicePart/treeTop.png b/src/assets/servicePart/treeTop.png deleted file mode 100644 index f47c7c5..0000000 Binary files a/src/assets/servicePart/treeTop.png and /dev/null differ diff --git a/src/assets/servicePart/uploadStore.png b/src/assets/servicePart/uploadStore.png deleted file mode 100644 index bdcfb38..0000000 Binary files a/src/assets/servicePart/uploadStore.png and /dev/null differ diff --git a/src/assets/servicePart/vehicleRefueling.png b/src/assets/servicePart/vehicleRefueling.png deleted file mode 100644 index 2fd974a..0000000 Binary files a/src/assets/servicePart/vehicleRefueling.png and /dev/null differ diff --git a/src/assets/servicePart/water.png b/src/assets/servicePart/water.png deleted file mode 100644 index c9a3258..0000000 Binary files a/src/assets/servicePart/water.png and /dev/null differ diff --git a/src/assets/servicePart/waterBoiler.png b/src/assets/servicePart/waterBoiler.png deleted file mode 100644 index 35a2fe4..0000000 Binary files a/src/assets/servicePart/waterBoiler.png and /dev/null differ diff --git a/src/assets/servicePart/womenWC.png b/src/assets/servicePart/womenWC.png deleted file mode 100644 index 008cfe5..0000000 Binary files a/src/assets/servicePart/womenWC.png and /dev/null differ diff --git a/src/assets/stopIcon.png b/src/assets/stopIcon.png deleted file mode 100644 index 26529a1..0000000 Binary files a/src/assets/stopIcon.png and /dev/null differ diff --git a/src/assets/supplier/1st.png b/src/assets/supplier/1st.png deleted file mode 100644 index 4de213e..0000000 Binary files a/src/assets/supplier/1st.png and /dev/null differ diff --git a/src/assets/supplier/2st.png b/src/assets/supplier/2st.png deleted file mode 100644 index db00347..0000000 Binary files a/src/assets/supplier/2st.png and /dev/null differ diff --git a/src/assets/supplier/3st.png b/src/assets/supplier/3st.png deleted file mode 100644 index 47b991c..0000000 Binary files a/src/assets/supplier/3st.png and /dev/null differ diff --git a/src/assets/supplier/4st.png b/src/assets/supplier/4st.png deleted file mode 100644 index d240c3d..0000000 Binary files a/src/assets/supplier/4st.png and /dev/null differ diff --git a/src/assets/supplier/allBussiness.png b/src/assets/supplier/allBussiness.png deleted file mode 100644 index 0a6d77b..0000000 Binary files a/src/assets/supplier/allBussiness.png and /dev/null differ diff --git a/src/assets/supplier/businessName.png b/src/assets/supplier/businessName.png deleted file mode 100644 index 8d88a96..0000000 Binary files a/src/assets/supplier/businessName.png and /dev/null differ diff --git a/src/assets/supplier/compareRate.png b/src/assets/supplier/compareRate.png deleted file mode 100644 index 9f27f23..0000000 Binary files a/src/assets/supplier/compareRate.png and /dev/null differ diff --git a/src/assets/supplier/compareTime.png b/src/assets/supplier/compareTime.png deleted file mode 100644 index 3e4e5ae..0000000 Binary files a/src/assets/supplier/compareTime.png and /dev/null differ diff --git a/src/assets/supplier/dealt.png b/src/assets/supplier/dealt.png deleted file mode 100644 index b6e4d25..0000000 Binary files a/src/assets/supplier/dealt.png and /dev/null differ diff --git a/src/assets/supplier/dealtSelect.png b/src/assets/supplier/dealtSelect.png deleted file mode 100644 index abe5f32..0000000 Binary files a/src/assets/supplier/dealtSelect.png and /dev/null differ diff --git a/src/assets/supplier/desc.png b/src/assets/supplier/desc.png deleted file mode 100644 index 9d06317..0000000 Binary files a/src/assets/supplier/desc.png and /dev/null differ diff --git a/src/assets/supplier/descIcon.png b/src/assets/supplier/descIcon.png deleted file mode 100644 index 8076967..0000000 Binary files a/src/assets/supplier/descIcon.png and /dev/null differ diff --git a/src/assets/supplier/foodIcon.png b/src/assets/supplier/foodIcon.png deleted file mode 100644 index 8cd401c..0000000 Binary files a/src/assets/supplier/foodIcon.png and /dev/null differ diff --git a/src/assets/supplier/http.png b/src/assets/supplier/http.png deleted file mode 100644 index 94b057c..0000000 Binary files a/src/assets/supplier/http.png and /dev/null differ diff --git a/src/assets/supplier/httpBlue.png b/src/assets/supplier/httpBlue.png deleted file mode 100644 index cdee7f5..0000000 Binary files a/src/assets/supplier/httpBlue.png and /dev/null differ diff --git a/src/assets/supplier/like1st.png b/src/assets/supplier/like1st.png deleted file mode 100644 index fdcb04d..0000000 Binary files a/src/assets/supplier/like1st.png and /dev/null differ diff --git a/src/assets/supplier/like2st.png b/src/assets/supplier/like2st.png deleted file mode 100644 index 62f5875..0000000 Binary files a/src/assets/supplier/like2st.png and /dev/null differ diff --git a/src/assets/supplier/like3st.png b/src/assets/supplier/like3st.png deleted file mode 100644 index 96ff421..0000000 Binary files a/src/assets/supplier/like3st.png and /dev/null differ diff --git a/src/assets/supplier/like4st.png b/src/assets/supplier/like4st.png deleted file mode 100644 index ae08a71..0000000 Binary files a/src/assets/supplier/like4st.png and /dev/null differ diff --git a/src/assets/supplier/like5st.png b/src/assets/supplier/like5st.png deleted file mode 100644 index 11b0113..0000000 Binary files a/src/assets/supplier/like5st.png and /dev/null differ diff --git a/src/assets/supplier/like6st.png b/src/assets/supplier/like6st.png deleted file mode 100644 index 9cef19f..0000000 Binary files a/src/assets/supplier/like6st.png and /dev/null differ diff --git a/src/assets/supplier/like7st.png b/src/assets/supplier/like7st.png deleted file mode 100644 index 236f8e9..0000000 Binary files a/src/assets/supplier/like7st.png and /dev/null differ diff --git a/src/assets/supplier/option.png b/src/assets/supplier/option.png deleted file mode 100644 index d579837..0000000 Binary files a/src/assets/supplier/option.png and /dev/null differ diff --git a/src/assets/supplier/owner.png b/src/assets/supplier/owner.png deleted file mode 100644 index bf459e9..0000000 Binary files a/src/assets/supplier/owner.png and /dev/null differ diff --git a/src/assets/supplier/ownerSelect.png b/src/assets/supplier/ownerSelect.png deleted file mode 100644 index c2b0296..0000000 Binary files a/src/assets/supplier/ownerSelect.png and /dev/null differ diff --git a/src/assets/supplier/pendingBusiness.png b/src/assets/supplier/pendingBusiness.png deleted file mode 100644 index 18482e6..0000000 Binary files a/src/assets/supplier/pendingBusiness.png and /dev/null differ diff --git a/src/assets/supplier/picture.png b/src/assets/supplier/picture.png deleted file mode 100644 index 9f092a4..0000000 Binary files a/src/assets/supplier/picture.png and /dev/null differ diff --git a/src/assets/supplier/price.png b/src/assets/supplier/price.png deleted file mode 100644 index 883198a..0000000 Binary files a/src/assets/supplier/price.png and /dev/null differ diff --git a/src/assets/supplier/rate.png b/src/assets/supplier/rate.png deleted file mode 100644 index 5927218..0000000 Binary files a/src/assets/supplier/rate.png and /dev/null differ diff --git a/src/assets/supplier/remainderIcon.png b/src/assets/supplier/remainderIcon.png deleted file mode 100644 index 95b2bfd..0000000 Binary files a/src/assets/supplier/remainderIcon.png and /dev/null differ diff --git a/src/assets/supplier/selectSupplier.png b/src/assets/supplier/selectSupplier.png deleted file mode 100644 index 235c535..0000000 Binary files a/src/assets/supplier/selectSupplier.png and /dev/null differ diff --git a/src/assets/supplier/shopEdit.png b/src/assets/supplier/shopEdit.png deleted file mode 100644 index d579837..0000000 Binary files a/src/assets/supplier/shopEdit.png and /dev/null differ diff --git a/src/assets/supplier/shopIcon.png b/src/assets/supplier/shopIcon.png deleted file mode 100644 index 9e07797..0000000 Binary files a/src/assets/supplier/shopIcon.png and /dev/null differ diff --git a/src/assets/supplier/shopName.png b/src/assets/supplier/shopName.png deleted file mode 100644 index 2576f4e..0000000 Binary files a/src/assets/supplier/shopName.png and /dev/null differ diff --git a/src/assets/supplier/shopSize.png b/src/assets/supplier/shopSize.png deleted file mode 100644 index db06b0f..0000000 Binary files a/src/assets/supplier/shopSize.png and /dev/null differ diff --git a/src/assets/supplier/shopSmallIcon.png b/src/assets/supplier/shopSmallIcon.png deleted file mode 100644 index bb1bdb9..0000000 Binary files a/src/assets/supplier/shopSmallIcon.png and /dev/null differ diff --git a/src/assets/supplier/shopType.png b/src/assets/supplier/shopType.png deleted file mode 100644 index b0084e2..0000000 Binary files a/src/assets/supplier/shopType.png and /dev/null differ diff --git a/src/assets/supplier/shopUnit.png b/src/assets/supplier/shopUnit.png deleted file mode 100644 index 19495c2..0000000 Binary files a/src/assets/supplier/shopUnit.png and /dev/null differ diff --git a/src/assets/supplier/startTime.png b/src/assets/supplier/startTime.png deleted file mode 100644 index 073a22d..0000000 Binary files a/src/assets/supplier/startTime.png and /dev/null differ diff --git a/src/assets/supplier/state.png b/src/assets/supplier/state.png deleted file mode 100644 index 19bbaa5..0000000 Binary files a/src/assets/supplier/state.png and /dev/null differ diff --git a/src/assets/supplier/successBusiness.png b/src/assets/supplier/successBusiness.png deleted file mode 100644 index 6c67e57..0000000 Binary files a/src/assets/supplier/successBusiness.png and /dev/null differ diff --git a/src/assets/supplier/supplierIcon.png b/src/assets/supplier/supplierIcon.png deleted file mode 100644 index 96e4bb3..0000000 Binary files a/src/assets/supplier/supplierIcon.png and /dev/null differ diff --git a/src/assets/supplier/taxRate.png b/src/assets/supplier/taxRate.png deleted file mode 100644 index 127971c..0000000 Binary files a/src/assets/supplier/taxRate.png and /dev/null differ diff --git a/src/assets/supplier/upLoad.png b/src/assets/supplier/upLoad.png deleted file mode 100644 index 20f9b4a..0000000 Binary files a/src/assets/supplier/upLoad.png and /dev/null differ diff --git a/src/assets/tab/upMenu.svg b/src/assets/tab/upMenu.svg deleted file mode 100644 index d60e5c8..0000000 --- a/src/assets/tab/upMenu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/upIcon.svg b/src/assets/upIcon.svg deleted file mode 100644 index 049609b..0000000 --- a/src/assets/upIcon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/versionChange.svg b/src/assets/versionChange.svg deleted file mode 100644 index 1d325b5..0000000 --- a/src/assets/versionChange.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/whiteBack.png b/src/assets/whiteBack.png deleted file mode 100644 index f299e4a..0000000 Binary files a/src/assets/whiteBack.png and /dev/null differ diff --git a/src/components/AiDrawer/index.less b/src/components/AiDrawer/index.less deleted file mode 100644 index 14e380b..0000000 --- a/src/components/AiDrawer/index.less +++ /dev/null @@ -1,121 +0,0 @@ -.AiResScrollBox{ - -} - -.AiResScrollBox::-webkit-scrollbar{ - width: 0; - display: none; -} - -.proFormAIDrawer{ - height: 100%; - .ant-row{ - height: 100%; - .descBox{ - .ant-col{ - height: 100%; - .ant-form-item{ - margin-bottom: 0; - height: 100%; - .ant-row{ - height: 100%; - .ant-col{ - height: 100%; - .ant-form-item-control-input{ - height: 100%; - .ant-form-item-control-input-content{ - height: 100%; - textarea{ - height: 100%; - } - } - } - } - } - } - - } - } - } -} - - - - - - -.aiResBox{ - h1{ - font-size: 2rem; - } - h2{ - font-size: 1.8rem; - } - h3{ - font-size: 1.4rem; - } - h4{ - font-size: 1.1rem; - } - h5{ - font-size: 1.0rem; - } - h6{ - font-size: 0.8rem; - } - p{ - font-size: 1rem; - } - ul{ - li{ - font-size: 1.0rem; - strong{ - font-size: 1rem; - } - h1{ - font-size: 2rem; - } - h2{ - font-size: 1.8rem; - } - h3{ - font-size: 1.4rem; - } - h4{ - font-size: 1.1rem; - } - h5{ - font-size: 1.0rem; - } - h6{ - font-size: 0.8rem; - } - ul{ - li{ - font-size: 1.0rem; - strong{ - font-size: 1rem; - } - h1{ - font-size: 2rem; - } - h2{ - font-size: 1.8rem; - } - h3{ - font-size: 1.4rem; - } - h4{ - font-size: 1.1rem; - } - h5{ - font-size: 1.0rem; - } - h6{ - font-size: 0.8rem; - } - } - } - } - } -} \ No newline at end of file diff --git a/src/components/AiDrawer/index.tsx b/src/components/AiDrawer/index.tsx deleted file mode 100644 index 484106a..0000000 --- a/src/components/AiDrawer/index.tsx +++ /dev/null @@ -1,1232 +0,0 @@ - -import { connect } from "umi"; -import type { ConnectState } from "@/models/connect"; -import { Button, Col, Drawer, message, Row, Select } from "antd"; -import type { ProFormInstance } from "@ant-design/pro-form"; -import ProForm, { ProFormRadio, ProFormText, ProFormTextArea } from "@ant-design/pro-form"; -import { useEffect, useRef, useState } from "react"; -import { getFieldEnumTree } from "@/services/options"; -import { handleGetPROMPTList, handleSynchroPROMPT } from "./service"; -import updateIcon from '@/assets/ai/updateIcon.svg' -import stopIcon from '@/assets/stopIcon.png' -import moment from 'moment' -import session from "@/utils/session"; -import expandIcon from '@/assets/expandIcon.svg' -import { checkAndCompleteFields, countLikeWordAccurate, ensureFieldsExist, findNodeByPath, handleChangeItemKeyToValue, handleColumnsToObj, handleExportListToObj, handleFlattenTree, handleGetSpecifyFormatLevelRes } from "@/utils/utils"; -import LoadingBox from "@/pages/reports/Finance/businessAnalysis/components/loading"; -import './index.less' -import { getSystemMenu, updataModule } from "@/pages/Setting/Module/service"; -import { marked } from 'marked'; - -type DetailProps = { - showDrawer: boolean; // 是否显示该抽屉 - setShowDrawer: any; // 改变抽屉的显示状态 - props: any;// 项目的公参 - // setAiRes: any;// 修改ai显示内容的实际结果 - // isStreaming: boolean; // 数据流的控制 - // setIsStreaming: any; // 数据流的控制 - // setAiLoading: any;// ai的加载效果 控制 - - pageFun?: any;// 点击ai之后的请求方法 - selectedId?: string;// 外部页面选择的服务区id - haveSearch?: boolean;// 外部页面是否有搜索项 - tableColumns?: any;// 外部表格的显示内容 - searchParams?: any;// 外部的当次数据搜索条件 - tableData?: any;// 需要分析的表格数据 -} -const AiDrawer = ({ showDrawer, setShowDrawer, selectedId, haveSearch, tableColumns, searchParams, props, tableData, pageFun, }: DetailProps) => { - // setAiRes,setAiLoading isStreaming, setIsStreaming, - const { route } = props - // 滚动条的实例 - const containerRef = useRef(); - // 是否自动滚动 - const [autoScroll, setAutoScroll] = useState(true); - // 距离顶部的距离 - const [lastScrollTop, setLastScrollTop] = useState(0); - // 表单实例 - const formRef = useRef(); - // 默认的驿商语义的详情 - const [defaultYs, setDefaultYs] = useState() - // 可以通过服务区id去解出服务区名称的 - const serverpartObj = session.get('serverpartObj') - // 请求ai的时候的加载效果 - const [showAiLoading, setShowAiLoading] = useState(false) - // ai的最后请求结果 - const [aiRes, setAiRes] = useState() - // 数据流是否成功 - // const [isStreaming, setIsStreaming] = useState(true) - const isStreaming = useRef(true) - // 当前页面的menu - const [menuObj, setMenuObj] = useState() - const [charCount, setCharCount] = useState(0); - // 存储所有请求的控制器 - const [controllers, setControllers] = useState([]) - // 是否展开右侧 - const [showExpand, setShowExpand] = useState(false) - // 查询的方式 1的时候就是默认 2的时候就是左侧要四个框 - const [useAiType, setUseAiType] = useState(1) - - // deepseek - const [deepseekRes, setDeepseekRes] = useState("") - // 硅基流动 - const [GJRes, setGJRes] = useState("") - // 阿里云 - const [ALiYunRes, setALiYunRes] = useState("") - // 通义千问 - const [QWRes, setQWRes] = useState("") - - - // 拿到驿商语义的方法 - const handleGetPrompt = async () => { - const data: any = await getSystemMenu({ ShowModule: true }) - console.log('data', data); - console.log('route', route); - - const obj = findNodeByPath(data, route.path) - console.log('obj', obj); - // route - formRef.current?.setFieldsValue({ - YSSemantics: obj?.SYSTEMMODULE_ICO - }) - setMenuObj(obj) - - - // const req: any = { - // PageIndex: 1, - // pagesize: 999999, - // searchParameter: { - // current: 1, - // pageSize: 10, - // }, - // sortstr: "OPERATE_DATE desc", - // }; - // const data = await handleGetPROMPTList(req); - // console.log("handleGetPrompt", data); - // if (data.data && data.data.length > 0) { - // data.data.forEach((item: any) => { - // // 1000 是驿商语义 - // if (item.PROMPT_TYPE === 1000) { - // formRef.current?.setFieldsValue({ YSSemantics: item.PROMPT_CONTENT }) - // setDefaultYs(item) - // // setDefaultYsDesc(item.PROMPT_CONTENT) - // } - // }) - // } - - }; - - // 更新驿商语义 - const handleUpdateDesc = async () => { - formRef.current?.validateFields().then(async res => { - const req: any = { - ...menuObj, - SYSTEMMODULE_ICO: res.YSSemantics - } - const data = await updataModule(req) - if (data.Result_Code === 100) { - message.success("更新成功",); - } else { - message.error(data.Result_Desc); - } - - - // const req: any = { - // ...defaultYs, - // PROMPT_CONTENT: res.YSSemantics, - // OPERATE_DATE: moment().format("YYYY-MM-DD HH:mm:ss"), - // }; - // console.log('req', req); - // const data = await handleSynchroPROMPT(req); - // if (data.Result_Code === 100) { - // message.success("更新成功",); - // } else { - // message.error(data.Result_Desc); - // } - }) - } - - // 关键的方法 将传入的数据 变为 要传给ai分析的数据 做到尽量的兼容各种格式的数据 - const handleGetSendAiReq = () => { - // 先根据外部页面的左侧树 勾选的服务区id 那拿到 具体的服务区名称 - let serverPartName: string = ''// 服务区信息 - let searchText: string = '' // 当前的搜索条件 带上值的 xxxx:xxxx - let pageDesc: string = ''// 菜单信息 - let columnsDesc: string = ''// 表格字段注释 - let tableText: string = ''// 表格的数据 - console.log('selectedId', selectedId); - - if (selectedId) { - const serverpartIdList: string[] = selectedId.split(',') - console.log('serverpartIdList', serverpartIdList); - if (serverpartObj) { - if (serverpartIdList && serverpartIdList.length > 0) { - serverpartIdList.forEach((item: string) => { - if (serverpartObj[item]) { - if (serverPartName) { - serverPartName += `,${serverpartObj[item]}` - } else { - serverPartName = serverpartObj[item] - } - } - }) - } - } else { - message.error('无法获取服务区数据,请重试!') - } - } - console.log('serverPartName', serverPartName); - console.log('tableColumns', tableColumns); - - // 表格的显示项 - const tableShowData: any = [] - - // 外部页面有搜索条件 - if (haveSearch) { - if (tableColumns && tableColumns.length > 0) { - const searchList: any = [] - tableColumns.forEach((item: any) => { - if (!item.hideInSearch) { - searchList.push(item) - } - if (!item.hideInTable) { - tableShowData.push(item) - } - }) - console.log('searchList', searchList); - - console.log('searchParams', searchParams); - - if (searchParams && searchList && searchList.length > 0) { - searchList.forEach((item: any) => { - if (item.aiDataIndex) { - // 判断这个搜索项是不是会返回多条内容 就像查询时间一样的开始时间结束时间 - if (item.aiDataIndex && item.aiDataIndex.indexOf('|') !== -1) { - // 因为会输出多个结果的 所以合起来 加到 searchText里面去 - let thisItemAllSearch: string = '' - const smallSearch: string[] = item.aiDataIndex.split('|') - console.log('smallSearch', smallSearch); - if (smallSearch && smallSearch.length > 0) { - smallSearch.forEach((searchItem: any) => { - if (searchParams[searchItem]) { - thisItemAllSearch += `${thisItemAllSearch ? item.valueType === "dateRange" ? '至' : '' : ""}${searchParams[searchItem]}` - } - }) - } - // 这个搜索项要有值 才会加入里面去 - if (thisItemAllSearch) { - searchText += `${searchText ? ',' : ''}${item.aiTitle || item.title || ''}:${thisItemAllSearch}` - } - } else if (item.valueType === 'select' || item.valueType === 'treeSelect') { - let obj: any = {} - if (item.userEnum) { - obj = item.userEnum - } else if (item.valueEnum) { - obj = item.valueEnum - } - if (obj) { - if (searchParams[item.aiDataIndex] && obj[searchParams[item.aiDataIndex]]) { - searchText += `${searchText ? ',' : ''}${item.aiTitle || item.title || ''}:${obj[searchParams[item.aiDataIndex]]}` - } - } else { - message.error('无法拿到枚举数据!') - } - } else { - searchText += `${searchText ? ',' : ''}${item.aiTitle || item.title || ''}:${searchParams[item.aiDataIndex]}` - } - } - - }) - } else { - if (!searchParams) { - message.error('无法获取服务区数据,请重试!') - } - } - - console.log('searchText', searchText); - - - } else { - message.error('无法获取表头数据,请重试!') - } - } - - // 菜单信息 - let obj: any = {} - const menu = session.get('menu') - if (menu && menu.length > 0) { - menu.forEach((item: any) => { - if (item.path === route?.path) { - obj = item - } - }) - } - console.log('route', route); - console.log('obj', obj); - console.log('menu', menu); - - pageDesc = `菜单名称:${obj.name},页面功能介绍:${obj.SYSTEMMODULE_DESC}` - formRef.current?.setFieldsValue({ - YSSemantics: obj.SYSTEMMENU_ICO - }) - - console.log('pageDesc', pageDesc); - - - console.log('tableShowData', tableShowData); - - let showDataObj: any = {} - // 枚举的对象值 - const columnsObj: any = {} - // 枚举值对应的枚举对象 - const enumObj: any = {} - - if (tableShowData && tableShowData.length > 0) { - showDataObj = handleColumnsToObj(tableShowData) - tableShowData.forEach((item: any) => { - if (item.valueType === 'treeSelect' || item.valueType === 'select') { - columnsObj[item.aiTitle || item.title] = item.userEnum || item.valueEnum - enumObj[item.aiDataIndex] = item.userEnum || item.valueEnum - } - }) - if (columnsObj) { - for (const key in columnsObj) { - if (columnsDesc) { - columnsDesc += `${columnsDesc ? ',' : ''}${key}:${JSON.stringify(columnsObj[key])}` - } else { - columnsDesc = `${key}:${JSON.stringify(columnsObj[key])}` - } - } - } - } - - - console.log('showDataObj', showDataObj); - console.log('enumObj', enumObj); - - console.log('tableData', tableData); - - const needObj: any = { - SPRegionTypeName: "片区", - SPRegionTypeNAME: "片区", - ServerPartName: "服务区", - ServerpartShopName: "门店名称", - MERCHANTS_NAME: "经营商户", - Brand_Name: "品牌名称", - ProvinceName: "省份", - } - - showDataObj = checkAndCompleteFields(showDataObj, needObj) - console.log('showDataObj2', showDataObj); - - const newData: any = handleGetSpecifyFormatLevelRes(tableData) - console.log('newData', newData); - // 新的三层数据结构有值 - if (newData) { - let tableRes: string = '' - if (showDataObj) { - for (const key in showDataObj) { - if (tableRes) { - tableRes += ` ${showDataObj[key] || '-'}` - } else { - tableRes = showDataObj[key] || '-' - } - } - tableRes += ` -` - } - - if (newData.regions && newData.regions.length > 0) { - tableRes += `片区层: -` - newData.regions.forEach((item: any) => { - let str: string = '' - // eslint-disable-next-line no-restricted-syntax - for (const key in showDataObj) { - if (key.indexOf('|') !== -1) { - - let res: any = "" - const keyList: any = key.split('|') - for (let i = 0; i < keyList.length; i++) { - const newKey: any = keyList[i] - if (enumObj[newKey]) { - res += `${res ? '-' : ''}${enumObj[newKey][item[key]] || ''}` - } else { - res += `${res ? '-' : ''}${item[newKey] || ''}` - } - } - if (str) { - str += ` ${res || '-'}` - } else { - str = `${res || '-'}` - } - } else { - let res: any = "" - if (enumObj[key]) { - res = enumObj[key][item[key]] - } else { - res = item[key] - } - - if (str) { - str += ` ${res || '-'}` - } else { - str = `${res || '-'}` - } - } - } - tableRes += `${str} -` - }) - } - - if (newData.serviceAreas && newData.serviceAreas.length > 0) { - tableRes += `服务区层: -` - newData.serviceAreas.forEach((item: any) => { - let str: string = '' - // eslint-disable-next-line no-restricted-syntax, guard-for-in - for (const key in showDataObj) { - if (key.indexOf('|') !== -1) { - let res: any = "" - const keyList: any = key.split('|') - for (let i = 0; i < keyList.length; i++) { - const newKey: any = keyList[i] - - if (enumObj[newKey]) { - res += `${res ? '-' : ''}${enumObj[newKey][item[key]] || ''}` - } else { - res += `${res ? '-' : ''}${item[newKey] || ''}` - } - } - if (str) { - str += ` ${res || '-'}` - } else { - str = `${res || '-'}` - } - } else { - let res: any = "" - if (enumObj[key]) { - res = enumObj[key][item[key]] - } else { - res = item[key] - } - - if (str) { - str += ` ${res || '-'}` - } else { - str = `${res || '-'}` - } - } - } - tableRes += `${str} -` - }) - } - - if (newData.shops && newData.shops.length > 0) { - tableRes += `门店层: -` - newData.shops.forEach((item: any) => { - let str: string = '' - // eslint-disable-next-line no-restricted-syntax - for (const key in showDataObj) { - if (key.indexOf('|') !== -1) { - - let res: any = "" - const keyList: any = key.split('|') - for (let i = 0; i < keyList.length; i++) { - const newKey: any = keyList[i] - if (enumObj[newKey]) { - res += `${res ? '-' : ''}${enumObj[newKey][item[key]] || ''}` - } else { - res += `${res ? '-' : ''}${item[newKey] || ''}` - } - } - if (str) { - str += ` ${res || '-'}` - } else { - str = `${res || '-'}` - } - } else { - let res: any = "" - if (enumObj[key]) { - res = enumObj[key][item[key]] - } else { - res = item[key] - } - - if (str) { - str += ` ${res || '-'}` - } else { - str = `${res || '-'}` - } - } - } - tableRes += `${str} -` - }) - } - - console.log('tableRes3232', tableRes); - tableText = tableRes - } - - // // 需要分析的表格数据 - // if (tableData && tableData.length > 0) { - // const newTableData: any = handleExportListToObj(tableData) - // // 这是把 树形的全部前面的key变为中文字展示 - // // const lastTableData = handleChangeItemKeyToValue(newTableData, showDataObj) - - - // const lastTableData = handleFlattenTree(newTableData) - // console.log('lastTableData', lastTableData); - - // // 取数据里面的随机一个 查看数组 数据里面是否有这个字段 - // const fieldObj: any = lastTableData[lastTableData.length - 1] - // if ('SPRegionTypeName' in fieldObj) { - // showDataObj.SPRegionTypeName = '片区' - // } - // if ('SPRegionTypeName' in fieldObj) { - // showDataObj.SPRegionTypeNAME = '片区' - // } - // if ('SPRegionTypeName' in fieldObj) { - // showDataObj.ServerPartName = '服务区' - // } - // if ('SPRegionTypeName' in fieldObj) { - // showDataObj.ServerpartShopName = '门店名称' - // } - // if ('SPRegionTypeName' in fieldObj) { - // showDataObj.MERCHANTS_NAME = '经营商户' - // } - // if ('SPRegionTypeName' in fieldObj) { - // showDataObj.Brand_Name = '品牌名称' - // } - // if ('SPRegionTypeName' in fieldObj) { - // showDataObj.ProvinceName = '省份' - // } - // // tableText = JSON.stringify(lastTableData) - - // // 将表格数据结构 变为 第一层为中文字 后面按照顺序走 的数据 - // let tableRes: string = '' - // if (showDataObj) { - // for (const key in showDataObj) { - // if (tableRes) { - // tableRes += ` ${showDataObj[key] || '-'}` - // } else { - // tableRes = showDataObj[key] || '-' - // } - // } - // tableRes += ` - // ` - // } - // if (lastTableData && lastTableData.length > 0) { - // lastTableData.forEach((item: any) => { - // let str: string = '' - // for (const key in showDataObj) { - // if (str) { - // str += ` ${item[key] || '-'}` - // } else { - // str = `${item[key] || '-'}` - // } - // } - // tableRes += `${str} - // ` - // }) - // } - // tableText = tableRes - // } - - const requestion: string = `#数据包含的服务区# -${serverPartName} -#数据查询的条件# -${searchText} -#页面功能介绍# -${pageDesc} -#表格数据# -${tableText} - ` - // ${columnsDesc ? `#表格字段注释# - // ${columnsDesc} - // ` : ''} - - setCharCount(countLikeWordAccurate(requestion)) - formRef.current?.setFieldsValue({ - YSQuestion: requestion - }) - - - } - - const handleStreamChunkID = async (chunk: any, type?: number) => { - - const lines = chunk.split("\n").filter((line: any) => line.trim() !== ""); - lines.forEach((line: any) => { - const message: any = line.replace(/^data: /, ""); - if (message === "[DONE]") return; - - try { - const parsed = JSON.parse(message); - - let text = ""; - let descText = ""; - if (parsed.choices[0].delta.content) { - text = parsed.choices[0].delta.content || ""; - // res += text; // 实时更新响应文本 - // setAiRes(prev => marked.marked(String(prev) + String(text))); // 增量更新 - if (type === 1) { - setDeepseekRes(prev => prev + text) - } else if (type === 2) { - setGJRes(prev => prev + text) - } else if (type === 3) { - setALiYunRes(prev => prev + text) - } else if (type === 4) { - setQWRes(prev => prev + text) - } else { - setAiRes(prev => prev + text) - } - // setAiRes(prev => { - // const input = String(prev || '') + String(text || ''); - // return input ? marked(input) : ''; - // }); - - - } else if (parsed.choices[0].delta.reasoning_content) { - descText = parsed.choices[0].delta.reasoning_content || ""; - // res += descText; - // setAiRes(prev => marked.marked(String(prev) + String(descText))); // 增量更新 - // setAiRes(prev => prev + descText) - - if (type === 1) { - setDeepseekRes(prev => prev + descText) - } else if (type === 2) { - setGJRes(prev => prev + descText) - } else if (type === 3) { - setALiYunRes(prev => prev + descText) - } else if (type === 4) { - setQWRes(prev => prev + descText) - } else { - setAiRes(prev => prev + descText) - } - - // setAiRes(prev => { - // const input = String(prev || '') + String(descText || ''); - // return input ? marked(input) : ''; - // }); - } - } catch (err) { - console.warn("解析 JSON 失败:", err); - } - }); - } - - // 停止流式请求的方法 - const stopStreaming = () => { - // 中止所有控制器 - controllers.forEach(controller => controller.abort()); - setControllers([]); - // setIsStreaming(false); - isStreaming.current = false - } - - // 调用ai分析的实际方法 - const handleStartAiAnalysis = async () => { - // setAiRes('') - setShowAiLoading(true) - const formRes: any = formRef.current?.getFieldsValue() - console.log('formRes', formRes); - - const content: string = `输出标题、数字等内容前面加上marked可以识别的图标。${formRes?.YSSemantics}${formRes?.YSQuestion}` - - - const modal = { - model: - formRes?.aiType === 1 - ? "deepseek-chat" - : formRes?.aiType === 2 - ? "deepseek-ai/DeepSeek-V3" - : formRes?.aiType === 3 - ? "deepseek-v3" - : formRes?.aiType === 4 - ? "qwen-plus" - : "", - messages: [{ role: "user", content }], - max_tokens: 4096, - stream: true, - stop: ["null"], - temperature: 0.4, - top_p: 0.4, - top_k: 40, - frequency_penalty: 0, - n: 1, - response_format: { - type: "text", - }, - } - - // 终止器 - const controller = new AbortController(); - const list: any = [controller] - setControllers(list); // 存入全局数组 - - const config = { - method: "POST", - headers: { - "Content-Type": "application/json", - Authorization: - formRes?.aiType === 1 - ? "Bearer sk-d47e0bdc7fd249f29d2f0dba807d46f0" - : formRes?.aiType === 2 - ? "Bearer sk-nynbgbtnmsffijgkttoimqkptetivviwuqrdhbuclgbmvnsq" - : formRes?.aiType === 3 - ? "Bearer sk-1aa2c1c672034c6d826ce62d3aebcb47" - : formRes?.aiType === 4 - ? "Bearer sk-1aa2c1c672034c6d826ce62d3aebcb47" - : "", - data: modal, - }, - body: JSON.stringify(modal), - signal: controller.signal, // 关键:绑定控制器信号 - } - - - - try { - const response: any = await fetch( - formRes?.aiType === 1 - ? "https://api.deepseek.com/v1/chat/completions" - : formRes?.aiType === 2 - ? "https://api.siliconflow.cn/v1/chat/completions" - : formRes?.aiType === 3 - ? "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" - : formRes?.aiType === 4 - ? "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" - : "", - config - ); - - // setAiLoading(false) - setShowAiLoading(false) - console.log('response', response); - console.log('isStreaming', isStreaming); - - const reader = response.body.getReader(); - const decoder = new TextDecoder("utf-8"); - while (isStreaming.current) { - const { done, value } = await reader.read(); - if (done) break; - // 解码并处理数据 - const chunk = decoder.decode(value); - handleStreamChunkID(chunk); - } - } catch (error: any) { - if (error.name !== "AbortError") { - console.error("流式请求失败:", error); - } - } finally { - // setIsStreaming(false) - isStreaming.current = false - stopStreaming() - } - } - - // 检查是否在底部 - const isAtBottom = () => { - if (!containerRef.current) return true; - const { scrollTop, scrollHeight, clientHeight } = containerRef.current; - return scrollHeight - (scrollTop + clientHeight) < 10; // 10px阈值 - }; - - // 滚动到底部 - const scrollToBottom = () => { - if (containerRef.current) { - containerRef.current.scrollTop = containerRef.current.scrollHeight; - } - }; - - // 处理滚动事件 - const handleScroll = () => { - if (!containerRef.current) return; - - const { scrollTop, scrollHeight, clientHeight } = containerRef.current; - const currentIsAtBottom = scrollHeight - (scrollTop + clientHeight) < 10; - - // 判断用户是向上滚动还是向下滚动 - const isScrollingDown = scrollTop > lastScrollTop; - setLastScrollTop(scrollTop); - - // 如果用户手动向上滚动,关闭自动滚动 - if (!isScrollingDown && !currentIsAtBottom) { - setAutoScroll(false); - } - // 如果用户滚动到底部,重新启用自动滚动 - else if (currentIsAtBottom) { - setAutoScroll(true); - } - }; - // 封装调用ai的实际方法 根据传入的type来判断是需要调用哪个ai的 - const handleGetNewAiResFun = async (type: number, question: string) => { - const modal = { - model: - type === 1 - ? "deepseek-chat" - : type === 2 - ? "deepseek-ai/DeepSeek-V3" - : type === 3 - ? "deepseek-v3" - : type === 4 - ? "qwen-plus" - : "", - messages: [{ role: "user", content: question }], - max_tokens: 4096, - stream: true, - stop: ["null"], - temperature: 0.4, - top_p: 0.4, - top_k: 40, - frequency_penalty: 0, - n: 1, - response_format: { - type: "text", - }, - } - - const config = { - method: "POST", - headers: { - "Content-Type": "application/json", - Authorization: - type === 1 - ? "Bearer sk-d47e0bdc7fd249f29d2f0dba807d46f0" - : type === 2 - ? "Bearer sk-nynbgbtnmsffijgkttoimqkptetivviwuqrdhbuclgbmvnsq" - : type === 3 - ? "Bearer sk-1aa2c1c672034c6d826ce62d3aebcb47" - : type === 4 - ? "Bearer sk-1aa2c1c672034c6d826ce62d3aebcb47" - : "", - data: modal, - }, - body: JSON.stringify(modal), - } - - try { - const response: any = await fetch( - type === 1 - ? "https://api.deepseek.com/v1/chat/completions" - : type === 2 - ? "https://api.siliconflow.cn/v1/chat/completions" - : type === 3 - ? "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" - : type === 4 - ? "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" - : "", - config - ); - - // setAiLoading(false) - setShowAiLoading(false) - console.log('response', response); - console.log('isStreaming', isStreaming); - - const reader = response.body.getReader(); - const decoder = new TextDecoder("utf-8"); - while (isStreaming.current) { - const { done, value } = await reader.read(); - if (done) break; - // 解码并处理数据 - const chunk = decoder.decode(value); - handleStreamChunkID(chunk, type); - } - } catch (error: any) { - if (error.name !== "AbortError") { - console.error("流式请求失败:", error); - } - } - } - - // 综合分析 - const handleGetComprehensiveAnalysis = () => { - const formRes: any = formRef.current?.getFieldsValue() - console.log('formRes', formRes); - - const content: string = `输出标题、数字等内容前面加上marked可以识别的图标。${formRes?.YSSemantics}${formRes?.YSQuestion}` - - handleGetNewAiResFun(1, content) - handleGetNewAiResFun(2, content) - handleGetNewAiResFun(3, content) - handleGetNewAiResFun(4, content) - } - - // 拿到四种ai模型分型的当次数据 - const handleGetAllAiModalRes = async () => { - setShowAiLoading(true) - const formRes: any = formRef.current?.getFieldsValue() - console.log('formRes', formRes); - - const allModalRes: string = `${deepseekRes ? `1:${deepseekRes};` : ""}${GJRes ? `2:${GJRes};` : ""}${ALiYunRes ? `3:${ALiYunRes};` : ""}${QWRes ? `4:${QWRes};` : ""}` - const content: string = `输出标题、数字等内容前面加上marked可以识别的图标。${formRes?.multimode}${allModalRes}` - const modal = { - model: - formRes?.aiType === 1 - ? "deepseek-chat" - : formRes?.aiType === 2 - ? "deepseek-ai/DeepSeek-V3" - : formRes?.aiType === 3 - ? "deepseek-v3" - : formRes?.aiType === 4 - ? "qwen-plus" - : "", - messages: [{ role: "user", content }], - max_tokens: 4096, - stream: true, - stop: ["null"], - temperature: 0.4, - top_p: 0.4, - top_k: 40, - frequency_penalty: 0, - n: 1, - response_format: { - type: "text", - }, - } - - // 终止器 - const controller = new AbortController(); - const list: any = [controller] - setControllers(list); // 存入全局数组 - - const config = { - method: "POST", - headers: { - "Content-Type": "application/json", - Authorization: - formRes?.aiType === 1 - ? "Bearer sk-d47e0bdc7fd249f29d2f0dba807d46f0" - : formRes?.aiType === 2 - ? "Bearer sk-nynbgbtnmsffijgkttoimqkptetivviwuqrdhbuclgbmvnsq" - : formRes?.aiType === 3 - ? "Bearer sk-1aa2c1c672034c6d826ce62d3aebcb47" - : formRes?.aiType === 4 - ? "Bearer sk-1aa2c1c672034c6d826ce62d3aebcb47" - : "", - data: modal, - }, - body: JSON.stringify(modal), - signal: controller.signal, // 关键:绑定控制器信号 - } - - - - try { - const response: any = await fetch( - formRes?.aiType === 1 - ? "https://api.deepseek.com/v1/chat/completions" - : formRes?.aiType === 2 - ? "https://api.siliconflow.cn/v1/chat/completions" - : formRes?.aiType === 3 - ? "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" - : formRes?.aiType === 4 - ? "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" - : "", - config - ); - - // setAiLoading(false) - setShowAiLoading(false) - console.log('response', response); - console.log('isStreaming', isStreaming); - - const reader = response.body.getReader(); - const decoder = new TextDecoder("utf-8"); - while (isStreaming.current) { - const { done, value } = await reader.read(); - if (done) break; - // 解码并处理数据 - const chunk = decoder.decode(value); - handleStreamChunkID(chunk); - } - } catch (error: any) { - if (error.name !== "AbortError") { - console.error("流式请求失败:", error); - } - } finally { - // setIsStreaming(false) - isStreaming.current = false - stopStreaming() - } - - - - } - - - // 当内容更新时自动滚动 - useEffect(() => { - if (autoScroll) { - scrollToBottom(); - } - }, [aiRes, autoScroll]); - - useEffect(() => { - if (showDrawer) { - handleGetPrompt() - handleGetSendAiReq() - // setIsStreaming(true) - isStreaming.current = true - } else { - formRef.current?.resetFields() - stopStreaming() - setAiRes("") - setMenuObj(undefined) - // setIsStreaming(false) - isStreaming.current = false - setControllers([]) - setTimeout(() => { - setShowDrawer(false) - }, 100) - } - }, [showDrawer, tableData]) - - return ( -
- {/* ai内容抽屉 */} - { // 关闭抽屉 则在清空选中行数据 并 设置抽屉状态为关闭 - formRef.current?.resetFields() - stopStreaming() - setAiRes(pre => "") - // setIsStreaming(false) - isStreaming.current = false - setControllers([]) - setMenuObj(undefined) - setTimeout(() => { - setShowDrawer(false) - }, 100) - }} - destroyOnClose - bodyStyle={{ backgroundColor: "#fff", padding: 16 }} - closable={false} - footer={
- { - controllers && controllers.length > 0 ? - { - stopStreaming() - }} /> :
- -
- } - -
- {/* - ) - // Radio 单选框 - case 'radio': - return ( - {lableEle} - - ) - // Checkbox 选择框 - case 'checkbox': - return ( - {lableEle} - - ) - // Switch 开关 - case 'switch': - return ( - {lableEle} - - ) - // 日期选择器 - case 'datePicker': - return ( - {lableEle} - - ) - // 月份单选选择器 - // case 'monthPicker': - // return ( - // - // {lableEle} - // - // ) - // 日期选择器 - case 'rangePicker': - return ( - {lableEle} - - ) - // 时间选择器 - case 'timePicker': - return ( - {lableEle} - - ) - // 自定义节点 - case 'custom': - return ( - {lableEle} - {item.props} - ) - // input 输入框 - default: return ( - {lableEle} - - ) - } -} - -const fmoney = (s: any, n: any) => { - /* - * 参数说明: - * s:要格式化的数字 - * n:保留几位小数 - * */ - n = n > 0 && n <= 20 ? n : 2; - let fuhao = ''; // 如果数字小于零则值为- - if (s < 0) { - s = Math.abs(s); - fuhao = '-' - } - s = `${parseFloat((`${s}`).replace(/[^\d\.-]/g, "")).toFixed(n)}`; - const l = s.split(".")[0].split("").reverse(); - const r = s.split(".")[1]; - let t = ""; - for (let i = 0; i < l.length; i++) { - t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : ""); - } - if (n === 0) { - return s - } - return `${fuhao + [...t].reverse().join("")}.${r}`; - -} - - -const AntvTable: React.FC = (props) => { - const { tableConfig, tableOptions, tableRef,onDataCellClick,onRowCellClick, tableLoading, themeCfg, tableTitle,showLoading, switcherIsOpen, rightExtra, childrenTop, childrenBottom, tableQuery,requestObj, handleQuery, mergeCell, mergeArray,typeList, exportExcelName,handleChangeSearchTime,listLength,bigSum} = props - const [printOut, setPrintOut] = useState(); // 打印数据的内容 - const [showOption,setShowOption] = useState(false);// 是否显示操作框 - const [checkedKeys,setCheckedKeys] = useState( - ['1-1','1-2','1-3','1-4','1-5','1-6','2-1','2-2','2-4','2-5','2-6','3-2','3-3','3-5','3-7']) - const [mergeArrays,setMergeArrays] = useState()// 导出excel要合并的内容 - const [showMeng,setShowMeng] = useState()// 蒙层 - // 组件加载的时候 拿到已经选择的显示权限内容 要对合并单元格的参数进行修改 - const handleChangeArrays = (list: any)=>{ - let oneHeader: number = 0// 1开头的 - let twoHeader: number = 0// 2开头的 - let threeHeader: number = 0// 3开头的 - list.forEach((item: any)=>{ - if (item.indexOf('1-')!==-1){ - oneHeader+=1 - } - if (item.indexOf('2-')!==-1){ - twoHeader+=1 - } - if (item.indexOf('3-')!==-1){ - threeHeader+=1 - } - }) - // 合并单元格的参数 - setMergeArrays( [ - { s: { c: 0, r: 0 }, e: { c: oneHeader+twoHeader+threeHeader+4, r: 0 } }, - { s: { c: 0, r: 1 }, e: { c: 4, r: 1 } }, - { s: { c: 5, r: 1 }, e: { c: oneHeader+4, r: 1 } }, - { s: { c: oneHeader+5, r: 1 }, e: { c:oneHeader+twoHeader+4 , r: 1 } }, - { s: { c: oneHeader+twoHeader+5, r: 1 }, e: { c: oneHeader+twoHeader+threeHeader+4, r: 1 } }, - { s: { c: 0, r: 3 }, e: { c: 4, r: 3 } }// 总计的合并单元格 - ]) - } - useEffect(() => { - handleChangeArrays(checkedKeys) - }, []); - // 树形选择的列表 判断是否显示字段 - const treeData = [ - // { - // title:'经营项目信息', - // key:'1', - // children:[ - // {title:'隶属',key:'1-1'}, - // {title:'服务区',key:'1-2'}, - // {title:'门店名称',key:'1-3'}, - // {title:'合作单位名称',key:'1-4'}, - // {title:'计租期',key:'1-5'} - // ] - // }, - { - title:'保底租金应确认收入', - key:'1', - children:[ - {title:'年保底租金',key:'1-1'}, - {title:'税率',key:'1-2'}, - {title:'年收入',key:'1-3'}, - {title:'月收入',key:'1-4'}, - {title:'累计期数',key:'1-5'}, - {title:'累计应确认收入',key:'1-6'}, - ] - }, - { - title:'浮动提成应确认收入', - key:'2', - children:[ - // {title:'营业额',key:'2-1'}, - {title:'提成比例',key:'2-2'}, - {title:'提成金额(含税)',key:'2-3'},// COMMISSION_INCOME - // {title:'提成金额(除税)',key:'2-4'},// COMMISSION_INCOME_NoTax - // {title:'分润金额',key:'2-5'},// ROYALTY_TOTALAMOUNT - // {title:'分润金额(除税)',key:'2-6'},// ROYALTY_TOTALAMOUNT_NoTax - ] - }, - { - title:'本月确认收入', - key:'3', - children:[ - {title:'累计应确认含税收入',key:'3-1'}, - // {title:'累计应确认收入',key:'3-2'}, - {title:'商家缴款',key:'3-3'}, - {title:'累计已确认收入(含税)',key:'3-4'}, - {title:'累计已确认收入',key:'3-5'}, - {title:'本月应确认收入(含税)',key:'3-6'}, - {title:'本月应确认收入',key:'3-7'}, - ] - }, - // { - // title:'浮动提成应确认收入', - // key:'3', - // children: [ - // {title:'营业额',key:'3-1'}, - // {title:'分润金额',key:'3-2'}, - // {title:'分润金额(除税)',key:'3-3'}, - // {title:'提成收入',key:'3-4'}, - // {title:'提成收入(除税)',key:'3-5'}, - // {title:'商家缴款',key:'3-6'}, - // {title:'应确认收入',key:'3-7'}, - // {title:'预收差额',key:'3-8'}, - // ] - // } - ] - - - // 隐藏字段 - const handleHiddenField = ()=>{ - setShowOption(!showOption) - } - const downloadBtnRef = useRef() - // 导出excel方法 - const exportTable = (e) => { - e.stopPropagation(); // 防止Collapse组件收起 - const main = document.getElementsByClassName('tableBox')[0] - - const topBox = main.getElementsByClassName('tableTop')[0] - const topContent = topBox.querySelector('tbody').cloneNode(true) // 表格头上的东西 - const tempTable = document.createElement('table'); - tempTable.appendChild(topContent); - - const tableContent = main.getElementsByClassName('ant-table-content')[0] - const thead = tableContent.querySelector('thead').cloneNode(true); // 深克隆DOM节点 - const tbody = tableContent.querySelector('tbody').cloneNode(true); // 深克隆DOM节点 - const container = document.querySelector('#hiddenBox'); - - tempTable.appendChild(thead); - tempTable.appendChild(tbody); - - tempTable.setAttribute('id', 'table-to-xls-settlementDetails'); // 给table添加id,值与按钮上的table字段对应 - - container.appendChild(tempTable); // 把创建的节点添加到页面容器中 - - downloadBtnRef.current.handleDownload(); - tempTable.remove() // 防止重复打印一个内容 - } - - return ( -
{ - // 设置打印box - if (tableConfig.data.length < 1) return; - setPrintOut(el) - }} - style={{widh:'100%',height:'100%'}} - > - { - showOption? -
{ - setShowOption(!showOption) - }}>
- :'' - } - {/* 查询组件 */} - 0?'40px':'0px'}}> - {/* 遍历查询条件配置,生成相应组件 */} - {tableQuery && tableQuery.map(item => { - return queryObj(item) - })} - { - tableQuery && tableQuery.length>0? - -
- - - - -
- :'' - } -
- - - - { - // 判断当前是否有数据,没有显示暂无数据 - tableConfig.data && tableConfig.data.length && !showLoading? - <> - {/* 表格上方组件 */} - {/* {childrenTop} */} -
- { - props.isShowFen ? -
- 分润信息汇总 - { - setShowMeng(true) - }}/> -
- :'' - } - - { - showMeng? -
{ - setShowMeng(false) - }}> -
-

累计应确认收入:

-
-

{"1、除税营业提成金额>除税月度累计保底金额:"}

-

{"除税营业提成金额"}

-

{"2、除税营业提成金额<=除税月度累计保底金额:"}

-

{"除税月度累计保底金额"}

-

{"3、计算公式:"}

-

{"除税营业提成金额:[营收金额*提成比例/100,保留2位]/(1+营业税率/100),保留2位"}

-

{"除税月度累计保底金额:[[保底金额/(1+营业税率/100),保留2位]/总月份数,保留2位]*累计期数,保留2位"}

-
-
-

本月应确认收入:

-

累计应确认收入-累计已确认收入

-
-
-
- :'' - } - { - bigSum && bigSum.length>0? - <> - { - bigSum.map((item: any)=>{ - return
- { - item.noShow?'': - <> - {item.label} - - ¥ - {item.value} - { - item.showSmall?{item.smallValue}:'' - } - - - } -
- }) - } - :'' - } -
- {/* antv表格组件 */} - 维度切换 - }, - // exportCfg:{ - // open: true, - // }, - // 默认有打印和导出功能,可支持自定义 - extra: rightExtra || <> - ( - // style={{display:'none'}} - - )} - content={() => { - if (printOut) { - const bigDom = document.createElement('div') - bigDom.className = 'bigDom' - bigDom.style.width='1240px' - bigDom.style.height = '700px' - bigDom.style.boxSizing='borderBox' - bigDom.style.padding = '24px' - const firstDom = document.createElement('div') - firstDom.style.position = 'relative' - firstDom.style.width = '100%' - firstDom.style.height = '100%' - // firstDom.style.overflow = 'hidden' - // const imgDom = printOut?.getElementsByClassName('antv-s2-container')[0]; - const canvasBox = printOut?.getElementsByClassName('antv-s2-container')[0]; - const canvas = canvasBox.getElementsByTagName('canvas')[0] - const img = document.createElement('img') - img.src= canvas.toDataURL("image/png"); - // img.style.width = '1024px' - // img.style.height = '800px' - img.style.position = 'absolute' - img.style.top='24px' - img.style.left='0px' - firstDom.appendChild(img) - bigDom.appendChild(firstDom) - return bigDom - // return printOut?.getElementsByClassName('antv-s2-container')[0].cloneNode(true); - // return bigDom; - } - return ''; - }} /> - - - - -
- { - handleHiddenField() - }}/> -
-
- { - setCheckedKeys(['1-1','1-2','1-3','1-4','1-5','1-6','2-1','2-2','2-4','2-5','2-6','3-2','3-3','3-5','3-7']) - // 重置事件 - handleQuery('reset',requestObj,['1-1','1-2','1-3','1-4','1-5','1-6','2-1','2-2','2-4','2-5','2-6','3-2','3-3','3-5','3-7']) - }}>重置 -
-
- { - // 无论如果固定存在的列 - const oldList: any = ['2-1','2-4','2-5','2-6','3-2'] - setCheckedKeys(oldList.concat(e)) - handleChangeArrays(oldList.concat(e)) - handleQuery('query',requestObj,oldList.concat(e)) - }} - checkedKeys={checkedKeys} - treeData={treeData} - /> -
-
-
- - }} /> - : showLoading? -
-
-
- - 加载中... -
-
-
: -
- -
- } - {childrenBottom} -
- ) -} - -export default AntvTable diff --git a/src/components/AntvTable/style.less b/src/components/AntvTable/style.less deleted file mode 100644 index 9948904..0000000 --- a/src/components/AntvTable/style.less +++ /dev/null @@ -1,122 +0,0 @@ -.optionBox{ - position: relative; - .noticeBox{ - position: absolute; - right: 0; - top: 40px; - width: 250px; - background-color: #fff; - background-clip: padding-box; - border-radius: 2px; - box-sizing: border-box; - box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); - z-index: 10; - .noticeHeader{ - width: 100%; - padding: 5px 16px; - text-align: right; - box-sizing: border-box; - border-bottom: 1px solid #f0f0f0; - .resetText{ - color: #1890ff; - } - } - .noticeContent{ - width: 100%; - box-sizing: border-box; - padding: 5px 16px; - } - } -} -.headerTop{ - width: 100%; - .headerTitle{ - display: flex; - align-items: center; - cursor: pointer; - .title{ - color: rgb(24, 144, 255); - font-size: 14px; - } - .notice{ - border: 1px solid #ccc; - padding: 2px; - box-sizing: border-box; - border-radius: 50%; - width: 18px; - height: 18px; - display: flex; - align-items: center; - justify-content: center; - margin-left: 8px; - } - } - .meng{ - width: calc(100vw - 295px); - height: calc(100vh - 160px); - position: fixed; - left: 250px; - top: 120px; - z-index:99; - .boxMessage{ - max-width: 500px; - box-sizing: border-box; - padding: 12px; - border-radius: 8px; - background: #fff; - position: absolute; - left: 355px; - top: 100px; - box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09); - .item{ - width: 100%; - display: flex; - align-items: center; - .itemLabel{ - display: inline-block; - width: 110px; - font-weight: 600; - } - } - .itemLabel{ - display: inline-block; - width: 110px; - font-weight: 600; - } - } - } - .headerItem{ - display: inline-block; - width: 25%; - .label{ - color: rgba(0, 0, 0, 0.45); - font-size: 14px; - display: inline-block; - width: 110px; - } - .contentView{ - .unit{ - color: rgba(0, 0, 0, 0.85); - font-size: 14px; - } - .value{ - font-size: 30px; - color: #faad14; - font-family: "Bahnschrift Regular"; - } - .smallValue{ - font-size: 18px; - font-family: "Bahnschrift Regular"; - color: #faad14; - } - } - } - -} -.meng{ - position: fixed; - width: 100vw; - height: 100vh; - left: 0;top: 0; - z-index: 1; -} diff --git a/src/components/DraggerModal/index.tsx b/src/components/DraggerModal/index.tsx deleted file mode 100644 index 275cc1d..0000000 --- a/src/components/DraggerModal/index.tsx +++ /dev/null @@ -1,99 +0,0 @@ -/* - * @Author: cclu lkrnchocolateaaron@gmail.com - * @Date: 2022-05-07 14:47:32 - * @LastEditors: cclu lkrnchocolateaaron@gmail.com - * @LastEditTime: 2022-05-07 17:34:27 - * @FilePath: \cloud-platform\src\components\DraggerModal\index.tsx - * @Description: 拖拽弹出 - */ -// import type { ModalFormProps } from "@ant-design/pro-form"; -// import { ModalForm } from "@ant-design/pro-form"; -// import type { MouseEvent } from "react"; -import ModalForm from "@ant-design/pro-form/lib/layouts/ModalForm"; -import type { ModalFormProps } from "@ant-design/pro-form/lib/layouts/ModalForm"; -import React from "react"; - -class DragModal extends React.Component> { - private modalId: string; - private visible: boolean =false; - private mouseDownX: number = 0; - private mouseDownY: number = 0; - - state = { - modaleVisible: false - } - constructor(props: ModalFormProps) { - super(props) - this.modalId = Math.random().toString(36).substring(2) - - } - - - initialEvent= (visible: boolean)=>{ - - const { title } = this.props; - const modalDom: HTMLElement = document.getElementsByClassName(this.modalId)[0] as HTMLElement; - const modalHeader: HTMLElement = modalDom.getElementsByClassName('ant-modal-header')[0] as HTMLElement; - const modalContent: HTMLElement = modalDom.getElementsByClassName('ant-modal-content')[0] as HTMLElement; - - if(visible) { - modalHeader.style.cursor = "all-scroll" - modalHeader.onmousedown = (event)=>{ - this.mouseDownX = event.pageX - this.mouseDownY = event.pageY - // this.modalX = event.offsetX - document.onmousemove = (e)=>{ - const deltaX = e.pageX - this.mouseDownX - const deltaY = e.pageY - this.mouseDownY - modalContent.style.transform = `translate(${deltaX} px,${deltaY} px)` - } - document.onmouseup = ()=>{ - document.onmousemove = null - document.onmouseup = null - } - } - }else if(modalContent){ - - modalContent.style.transform = '' - } - } - componentDidMount() { - const { visible = false } = this.props; - this.initialEvent(visible); - - } - componentDidUpdate(){ - const { visible = false } = this.props; - this.initialEvent(visible); - // console.log(visible) - } - - render() { - const { children, wrapClassName , ...other } = this.props - - const wrapModalClassName = wrapClassName ? `${wrapClassName} ${this.modalId}` : `${this.modalId}`; - - return ( - { - - this.setState({ - modaleVisible: value - }) - if(this.props?.onVisibleChange){ - - this.props?.onVisibleChange(value) - } - }} - - > - {children} - - ) - } -} - -export default DragModal; \ No newline at end of file diff --git a/src/components/LoadingExample/index.tsx b/src/components/LoadingExample/index.tsx deleted file mode 100644 index 6ffb467..0000000 --- a/src/components/LoadingExample/index.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import React, { Suspense } from 'react'; -import { Button, Space, Card } from 'antd'; -import SkeletonLoading from '../SkeletonLoading'; -import SmartLoading from '../SmartLoading'; - -/** - * 加载组件使用示例 - * 展示不同场景下的骨架屏效果 - */ -const LoadingExample: React.FC = () => { - return ( -
-

加载组件示例

- - - {/* 页面级骨架屏 */} - -
- -
-
- - {/* 表格骨架屏 */} - -
- -
-
- - {/* 表单骨架屏 */} - -
- -
-
- - {/* 卡片网格骨架屏 */} - -
- -
-
- - {/* 智能加载组件 */} - -
- -
-
- - {/* 在Suspense中使用 */} - - }> -
-

这里是延迟加载的内容

-

骨架屏会在内容加载完成后自动消失

-
-
-
-
-
- ); -}; - -export default LoadingExample; \ No newline at end of file diff --git a/src/components/TabVirtualizer/index.less b/src/components/TabVirtualizer/index.less deleted file mode 100644 index 7f8785c..0000000 --- a/src/components/TabVirtualizer/index.less +++ /dev/null @@ -1,79 +0,0 @@ -.tab-virtualizer { - height: 100%; - width: 100%; - - &.loading { - display: flex; - align-items: center; - justify-content: center; - min-height: 400px; - } - - &.unloaded { - display: flex; - align-items: center; - justify-content: center; - min-height: 400px; - background: #fafafa; - - .unloaded-placeholder { - text-align: center; - padding: 40px 20px; - - .placeholder-icon { - margin-bottom: 20px; - } - - .placeholder-content { - h3 { - color: #666; - font-size: 18px; - margin-bottom: 8px; - font-weight: 500; - } - - .placeholder-desc { - color: #999; - font-size: 14px; - margin-bottom: 12px; - line-height: 1.5; - } - - .last-access-time { - color: #bbb; - font-size: 12px; - margin-bottom: 20px; - } - - .reload-btn { - min-width: 120px; - height: 36px; - border-radius: 6px; - box-shadow: 0 2px 4px rgba(24, 144, 255, 0.2); - - &:hover { - transform: translateY(-1px); - box-shadow: 0 4px 8px rgba(24, 144, 255, 0.3); - transition: all 0.2s ease; - } - } - } - } - } - - &.loaded { - // 正常加载状态的样式 - animation: fadeIn 0.3s ease-in-out; - } -} - -@keyframes fadeIn { - from { - opacity: 0; - transform: translateY(10px); - } - to { - opacity: 1; - transform: translateY(0); - } -} \ No newline at end of file diff --git a/src/components/TabVirtualizer/index.tsx b/src/components/TabVirtualizer/index.tsx deleted file mode 100644 index 971da65..0000000 --- a/src/components/TabVirtualizer/index.tsx +++ /dev/null @@ -1,96 +0,0 @@ -import React, { useEffect, useRef } from 'react'; -import { Button } from 'antd'; -import { ReloadOutlined, ClockCircleOutlined } from '@ant-design/icons'; -import PageLoading from '../PageLoading'; -import './index.less'; - -export interface TabVirtualizerProps { - children: React.ReactNode; - tabKey: string; - isActive: boolean; - isLoaded: boolean; - isLoading: boolean; - lastAccessTime?: number; - onReload: (tabKey: string) => void; - className?: string; -} - -const TabVirtualizer: React.FC = ({ - children, - tabKey, - isActive, - isLoaded, - isLoading, - lastAccessTime, - onReload, - className = '', -}) => { - const containerRef = useRef(null); - - // 格式化最后访问时间 - const formatLastAccessTime = (timestamp?: number) => { - if (!timestamp) return ''; - const now = Date.now(); - const diff = now - timestamp; - const minutes = Math.floor(diff / 60000); - const hours = Math.floor(minutes / 60); - - if (hours > 0) { - return `${hours}小时前访问`; - } else if (minutes > 0) { - return `${minutes}分钟前访问`; - } else { - return '刚刚访问'; - } - }; - - // 如果正在加载,显示加载状态 - if (isLoading) { - return ( -
- -
- ); - } - - // 如果未加载(被卸载),显示占位符 - if (!isLoaded) { - return ( -
-
-
- -
-
-

页面已休眠

-

- 为了优化内存使用,此页面内容已被暂时卸载 -

- {lastAccessTime && ( -

- {formatLastAccessTime(lastAccessTime)} -

- )} - -
-
-
- ); - } - - // 正常渲染内容 - return ( -
- {children} -
- ); -}; - -export default TabVirtualizer; \ No newline at end of file diff --git a/src/pages/account/company/index.tsx b/src/pages/account/company/index.tsx index cb97438..e5dd082 100644 --- a/src/pages/account/company/index.tsx +++ b/src/pages/account/company/index.tsx @@ -18,7 +18,7 @@ const CompayContent: React.FC<{currentUser?: CurrentUser,location: {pathname: st {location && location.pathname === '/merchantManagement/company/create' && } ) -} +} export default connect(({ user }: ConnectState) => ({ currentUser: user.currentUser diff --git a/src/pages/ahjgPage/servicePartAudit/index.tsx b/src/pages/ahjgPage/servicePartAudit/index.tsx index 5e685be..3efd5da 100644 --- a/src/pages/ahjgPage/servicePartAudit/index.tsx +++ b/src/pages/ahjgPage/servicePartAudit/index.tsx @@ -380,7 +380,7 @@ const servicePartAudit: React.FC<{ currentUser: CurrentUser }> = (props) => { {/* 编辑悬浮框 */} { - res.json({ - data: [ - { - id: 12, - title:'合同签约', - memberName: '事业管理部', - logo: avatars[0], - href: '', - updatedAt: new Date(), - memberLink: '', - description: '您的《X服务区建设智慧化项目报价信息》合同状态 变更为待审结' - }, - { - id: 11, - title: '财务报销', - memberName: '财务管理部', - logo: avatars[2], - href: '', - updatedAt: new Date(), - memberLink: '', - description: '您的《X服务区建设智慧化项目报价信息》合同状态 变更为待审结' - }, - { - id: 13, - title: '数据校验', - memberName: '经营管理部', - logo: avatars[1], - href: '', - updatedAt: new Date('2021-11-02'), - memberLink: '', - description: '您的《X服务区建设智慧化项目报价信息》合同状态 变更为待审结' - }, - { - id: 14, - title: '财务报销', - memberName: '财务管理部', - logo: avatars[3], - href: '', - updatedAt: new Date('2021-01-02'), - memberLink: '', - description: '您的《X服务区建设智慧化项目报价信息》合同状态 变更为待审结' - }, - { - id: 15, - title: '合同签约', - memberName: '事业管理部', - logo: avatars[4], - href: '', - updatedAt: new Date('2021-01-02'), - memberLink: '', - description: '您的《X服务区建设智慧化项目报价信息》合同状态 变更为待审结' - }, - { - id: 16, - title: '数据校验', - memberName: '经营管理部', - logo: avatars[5], - href: '', - updatedAt: new Date('2021-01-02'), - memberLink: '', - description: '您的《X服务区建设智慧化项目报价信息》合同状态 变更为待审结' - }, - ] - }); -} - -const getNoticeList = (_: Request, res: Response) => { - - res.json({ - data: [ - { - id: 1, - user: { - name: '系统管理员', - avatar: avatars2[1], - department: '信息工程部' - }, - updatedAt: new Date('2021-01-02'), - events:'《区域协调可持续发展、努力共建和谐服务区的通知》' - }, - { - id: 2, - user: { - name: '王艺霏', - avatar: avatars2[1], - department: '党委宣传部' - }, - updatedAt: new Date('2021-01-02'), - events:'总部关于第三季度XX区域X服务区绩效考核评定结果 ...' - },{ - id: 3, - user: { - name: '张宁宇', - avatar: avatars2[1], - department: '党委宣传部' - }, - updatedAt: new Date('2021-01-02'), - events:'《区域协调发展共建和谐服务区的通知》' - },{ - id: 4, - user: { - name: '郑义宣', - avatar: avatars2[1], - department: '信息工程部' - }, - updatedAt: new Date('2021-01-02'), - events:'《区域协调可持续发展、努力共建和谐服务区的通知》...' - } - ,{ - id: 5, - user: { - name: '郑义宣', - avatar: avatars2[1], - department: '信息工程部' - }, - updatedAt: new Date('2021-01-02'), - events:'《区域协调可持续发展、努力共建和谐服务区的通知》...' - } - ] - }) -} - -const radarOriginData = [ - - { - name: '部门', - ref: 4, - koubei: 1, - output: 6, - contribute: 5, - hot: 7, - }, - ]; - - const radarData: any[] = []; - const radarTitleMap = { - ref: '经营管理部', - koubei: '财务部', - output: '人力资源部', - contribute: '行政部', - hot: '工程信息部', -}; - - radarOriginData.forEach((item) => { - Object.keys(item).forEach((key) => { - if (key !== 'name') { - radarData.push({ - name: item.name, - label: radarTitleMap[key], - value: item[key], - }); - } - }); - }); - -const getChartData = (_: Request, res: Response) => { - res.json({ - data: { - - radarData, - }, - }); - }; - -export default { -} \ No newline at end of file diff --git a/src/pages/dashboard/workplace/components/EditableLinkGroup/index.less b/src/pages/dashboard/workplace/components/EditableLinkGroup/index.less deleted file mode 100644 index 5add1b0..0000000 --- a/src/pages/dashboard/workplace/components/EditableLinkGroup/index.less +++ /dev/null @@ -1,16 +0,0 @@ -@import '~antd/es/style/themes/default.less'; - -.linkGroup { - padding: 20px 0 8px 24px; - font-size: 0; - & > a { - display: inline-block; - width: 25%; - margin-bottom: 13px; - color: @text-color; - font-size: @font-size-base; - &:hover { - color: @primary-color; - } - } -} diff --git a/src/pages/dashboard/workplace/components/EditableLinkGroup/index.tsx b/src/pages/dashboard/workplace/components/EditableLinkGroup/index.tsx deleted file mode 100644 index 7407bae..0000000 --- a/src/pages/dashboard/workplace/components/EditableLinkGroup/index.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import { PlusOutlined } from '@ant-design/icons'; -import { createElement } from 'react'; -import { Button } from 'antd'; -import type { FC } from 'react'; -import styles from './index.less' - -type EditableLink = { - title: string, - id?: number, - href: string -} - -type EditableLinkGroupProps = { - links: EditableLink[], - linkElement: any, - onAdd: () => void -} - -const EditableLinkGroup: FC = (props) => { - const { links ,linkElement, onAdd } = props - return ( -
- { - links.map((link) => - createElement( - linkElement, - { - key: `linkGroup-item-${link.id || link.title}`, - to: link.href, - href: link.href, - }, - link.title - ) - ) - } - -
- ) -} - -EditableLinkGroup.defaultProps = { - links: [], - linkElement: 'a', - onAdd: () => { } -} - -export default EditableLinkGroup; \ No newline at end of file diff --git a/src/pages/dashboard/workplace/data.d.ts b/src/pages/dashboard/workplace/data.d.ts deleted file mode 100644 index 9f670a4..0000000 --- a/src/pages/dashboard/workplace/data.d.ts +++ /dev/null @@ -1,42 +0,0 @@ - - -export type CurrentUser = { - userid: number, - name: string, - avatar: string, - address: string, - department: string, -} - -export type TodoItem = { - id: number, - title: string, - logo: string, - description: string, - updatedAt: Date, - memberName: string, - href: string, - memberLink: string, - -} - -export type NoticeItem = { - id: number, - user: CurrentUser, - events: string, - updatedAt: Date, -} - -export type AnalysisData = { - visitData: VisitDataType[]; - visitData2: VisitDataType[]; - salesData: VisitDataType[]; - searchData: SearchDataType[]; - offlineData: OfflineDataType[]; - offlineChartData: OfflineChartData[]; - salesTypeData: VisitDataType[]; - salesTypeDataOnline: VisitDataType[]; - salesTypeDataOffline: VisitDataType[]; - radarData: DataItem[]; - }; - \ No newline at end of file diff --git a/src/pages/dashboard/workplace/service.ts b/src/pages/dashboard/workplace/service.ts deleted file mode 100644 index 25f518d..0000000 --- a/src/pages/dashboard/workplace/service.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { request } from "umi"; -import type { TodoItem ,NoticeItem, AnalysisData } from "./data"; diff --git a/src/pages/dashboard/workplace/style.less b/src/pages/dashboard/workplace/style.less deleted file mode 100644 index e534a7a..0000000 --- a/src/pages/dashboard/workplace/style.less +++ /dev/null @@ -1,254 +0,0 @@ -@import '~antd/es/style/themes/default.less'; - -.textOverflow() { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - word-break: break-all; -} - -// mixins for clearfix -// ------------------------ -.clearfix() { - zoom: 1; - &::before, - &::after { - display: table; - content: ' '; - } - &::after { - clear: both; - height: 0; - font-size: 0; - visibility: hidden; - } -} - -.activitiesList { - padding: 0 24px 8px 24px; - .username { - color: @text-color; - } - .event { - font-weight: normal; - } - .description { - display: flex; - justify-content: space-between; - } -} - -.pageHeaderContent { - display: flex; - .avatar { - flex: 0 1 72px; - & > span { - display: block; - width: 72px; - height: 72px; - border-radius: 72px; - } - } - .content { - position: relative; - top: 4px; - flex: 1 1 auto; - margin-left: 24px; - color: @text-color-secondary; - line-height: 22px; - .contentTitle { - margin-bottom: 12px; - color: @heading-color; - font-weight: 500; - font-size: 20px; - line-height: 28px; - } - } -} - -.extraContent { - .clearfix(); - - float: right; - white-space: nowrap; - .statItem { - position: relative; - display: inline-block; - padding: 0 32px; - > p:first-child { - margin-bottom: 4px; - color: @text-color-secondary; - font-size: @font-size-base; - line-height: 22px; - } - > p { - margin: 0; - color: @heading-color; - font-size: 30px; - line-height: 38px; - > span { - color: @text-color-secondary; - font-size: 20px; - } - } - &::after { - position: absolute; - top: 8px; - right: 0; - width: 1px; - height: 40px; - background-color: @border-color-split; - content: ''; - } - &:last-child { - padding-right: 0; - &::after { - display: none; - } - } - } -} - -.members { - a { - display: block; - height: 24px; - margin: 12px 0; - color: @text-color; - transition: all 0.3s; - .textOverflow(); - .member { - margin-left: 12px; - font-size: @font-size-base; - line-height: 24px; - vertical-align: top; - } - &:hover { - color: @primary-color; - } - } -} - -.projectList { - :global { - .ant-card-meta-description { - height: 44px; - overflow: hidden; - color: @text-color-secondary; - line-height: 22px; - } - } - .cardTitle { - font-size: 0; - a { - display: inline-block; - height: 24px; - margin-left: 12px; - color: @heading-color; - font-size: @font-size-base; - line-height: 24px; - vertical-align: top; - &:hover { - color: @primary-color; - } - } - } - .projectGrid { - width: 33.33%; - } - .projectItemContent { - display: flex; - height: 20px; - margin-top: 8px; - overflow: hidden; - font-size: 12px; - line-height: 20px; - .textOverflow(); - a { - display: inline-block; - flex: 1 1 0; - color: @text-color-secondary; - .textOverflow(); - &:hover { - color: @primary-color; - } - } - .datetime { - flex: 0 0 auto; - float: right; - color: @disabled-color; - } - } -} - -.datetime { - color: @disabled-color; -} - -@media screen and (max-width: @screen-xl) and (min-width: @screen-lg) { - .activeCard { - margin-bottom: 24px; - } - .members { - margin-bottom: 0; - } - .extraContent { - margin-left: -44px; - .statItem { - padding: 0 16px; - } - } -} - -@media screen and (max-width: @screen-lg) { - .activeCard { - margin-bottom: 24px; - } - .members { - margin-bottom: 0; - } - .extraContent { - float: none; - margin-right: 0; - .statItem { - padding: 0 16px; - text-align: left; - &::after { - display: none; - } - } - } -} - -@media screen and (max-width: @screen-md) { - .extraContent { - margin-left: -16px; - } - .projectList { - .projectGrid { - width: 50%; - } - } -} - -@media screen and (max-width: @screen-sm) { - .pageHeaderContent { - display: block; - .content { - margin-left: 0; - } - } - .extraContent { - .statItem { - float: none; - } - } -} - -@media screen and (max-width: @screen-xs) { - .projectList { - .projectGrid { - width: 100%; - } - } -} diff --git a/src/pages/newDataAnalysis/serviceAreaPersonnel/index.tsx b/src/pages/newDataAnalysis/serviceAreaPersonnel/index.tsx index ef116f1..d9d560f 100644 --- a/src/pages/newDataAnalysis/serviceAreaPersonnel/index.tsx +++ b/src/pages/newDataAnalysis/serviceAreaPersonnel/index.tsx @@ -380,7 +380,7 @@ const serviceAreaPersonnel: React.FC<{ currentUser: CurrentUser }> = (props) => {/* 编辑悬浮框 */} = { - 200: '服务器成功返回请求的数据。', - 201: '新建或修改数据成功。', - 202: '一个请求已经进入后台排队(异步任务)。', - 204: '删除数据成功。', - 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', - 401: '用户没有权限(令牌、用户名、密码错误)。', - 403: '用户得到授权,但是访问是被禁止的。', - 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', - 406: '请求的格式不可得。', - 410: '请求的资源被永久删除,且不会再得到的。', - 422: '当创建一个对象时,发生一个验证错误。', - 500: '服务器发生错误,请检查服务器。', - 502: '网关错误。', - 503: '服务不可用,服务器暂时过载或维护。', - 504: '网关超时。', -}; - -/** - * @zh-CN 异常处理程序 - * @en-US Exception handler - */ -const errorHandler = (error: { response: Response }): Response => { - const { response } = error; - - if (response && response.status) { - const errorText = codeMessage[response.status] || response.statusText; - const { status, url } = response; - - notification.error({ - message: `请求错误 ${status}: ${url}`, - description: errorText, - }); - } else if (!response) { - notification.error({ - description: '您的网络异常,无法连接到服务器.', - message: '网络异常', - }); - } - return response; -}; - -/** - * @en-US Configure the default parameters for request - * @zh-CN 配置request请求时的默认参数 - */ -const request = extend({ - errorHandler, // default error handling - // prefix: '/EShangApiMain',// 开发 - prefix: 'http://dev.eshangtech.com:8001/CodeBuilderApi', // 正式 - headers: { - token: '', - ProvinceCode: '', - ServerpartCodes: '', - // tmp: (new Date()).getTime() - } - - // credentials: 'include', // Does the default request bring cookies - -}); - -// request拦截器, 改变url 或 options. -request.interceptors.request.use((url, opt) => { - const options = { ...opt } - const currentUser: CurrentUser = session.get('currentUser'); - if (currentUser) { - if (options.headers) { - if (url.indexOf('SynchroSERVERPART') > -1) { - options.headers = { - ...options.headers, - PROVINCE_CODE: opt?.data?.PROVINCE_CODE, - ProvinceCode: opt?.data?.PROVINCE_CODE, - provincecode: opt?.data?.PROVINCE_CODE, - token: currentUser.UserToken || '', - ServerpartCodes: currentUser.CityAuthority || '', - ServerpartShopIds: currentUser.ServerpartShopIds || '', - UserPattern: currentUser?.UserPattern || '', - - } - } else { - options.headers = { - ...options.headers, - token: currentUser.UserToken || '', - ProvinceCode: currentUser.ProvinceCode || '', - ServerpartCodes: currentUser.CityAuthority || '', - ServerpartShopIds: currentUser.ServerpartShopIds || '', - UserPattern: currentUser?.UserPattern || '', - } - } - } - if (url.indexOf('SynchroSERVERPART') > -1) { - options.data = { - ...options.data, - STAFF_ID: currentUser.ID, - STAFF_NAME: currentUser.Name, - OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss'), - PROVINCE_CODE: opt?.data?.PROVINCE_CODE, - } - } else { - if ((url.indexOf('Synchro') > -1 || url.indexOf('Save') > -1) && - url.indexOf('Picture/SaveImgFile') === -1) { - - // 添加操作人和业主单位信息 - options.data = { - ...options.data, - STAFF_ID: currentUser.ID, - STAFF_NAME: currentUser.Name, - OWNERUNIT_ID: currentUser.OwnerUnitId, - OWNERUNIT_NAME: currentUser.ProvinceUnit, - PROVINCE_CODE: currentUser.ProvinceCode, - - OPERATE_DATE: moment().format() - } - if (currentUser?.UserPattern === 2000) { - options.data = { - ...options.data, - BUSINESSMAN_ID: currentUser.BusinessManID, - } - } - } - } - - } - - return { - // url: url.indexOf('handler_ajax.ashx')>-1 ?`https://user.eshangtech.com${url}`: `http://47.96.233.105/EShangApiMain${url}`, - url,// .indexOf('handler_ajax.ashx')>-1 ?`${url}`: `/EShangApiMain${url}`, - options, - } -}) -request.interceptors.response.use((response) => { - - const nowTmp = moment() - Cookies.set('tmp', nowTmp.format()) - return response -}) -export default request; diff --git a/src/utils/requestJava.ts b/src/utils/requestJava.ts deleted file mode 100644 index 8c1a5fc..0000000 --- a/src/utils/requestJava.ts +++ /dev/null @@ -1,214 +0,0 @@ -/** Request 网络请求工具 更详细的 api 文档: https://github.com/umijs/umi-request */ -import { extend } from 'umi-request'; - -import { notification } from 'antd'; - -import Cookies from 'js-cookie'; -import moment from 'moment'; -import session from './session'; -import type { CurrentUser } from '@/models/user'; -import { SynchroBEHAVIORRECORD } from '@/services/user'; - -const codeMessage: Record = { - 200: '服务器成功返回请求的数据。', - 201: '新建或修改数据成功。', - 202: '一个请求已经进入后台排队(异步任务)。', - 204: '删除数据成功。', - 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', - 401: '用户没有权限(令牌、用户名、密码错误)。', - 403: '用户得到授权,但是访问是被禁止的。', - 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', - 406: '请求的格式不可得。', - 410: '请求的资源被永久删除,且不会再得到的。', - 422: '当创建一个对象时,发生一个验证错误。', - 500: '服务器发生错误,请检查服务器。', - 502: '网关错误。', - 503: '服务不可用,服务器暂时过载或维护。', - 504: '网关超时。', -}; - -/** - * @zh-CN 异常处理程序 - * @en-US Exception handler - */ -const errorHandler = (error: { response: Response }): Response => { - const { response } = error; - - - if (response && response.status) { - const errorText = codeMessage[response.status] || response.statusText; - const { status, url } = response; - - notification.error({ - message: `请求错误 ${status}: ${url}`, - description: errorText, - }); - } else if (!response) { - notification.error({ - description: '您的网络异常,无法连接到服务器.', - message: '网络异常', - }); - } - return response; -}; -/** - * @en-US Configure the default parameters for request - * @zh-CN 配置request请求时的默认参数 - */ -const request = extend({ - errorHandler, // default error handling - // prefix: '/EShangApiMain',// 开发 - prefix: 'https://admin.es.eshangtech.com/platform', // 正式 - // prefix: 'http://10.104.1.175:8070/platform', // 正式 - headers: { - token: '', - ProvinceCode: '', - ServerpartCodes: '', - // tmp: (new Date()).getTime() - } - - // credentials: 'include', // Does the default request bring cookies - -}); - -// 存一下进来调用的值 -// let userbeHaviObj: any = {} - -// request拦截器, 改变url 或 options. -request.interceptors.request.use((url, opt: any) => { - const options = { ...opt } - const currentUser: CurrentUser = session.get('currentUser'); - // let userbeHaviObj = { - // url: url, - // options: options, - // currentUser: currentUser, - // startTime: new Date().getTime() - // } - // options.userbeHaviObj = userbeHaviObj - - if (currentUser) { - if (options.headers) { - if (url.indexOf('SynchroSERVERPART') > -1) { - options.headers = { - ...options.headers, - PROVINCE_CODE: opt?.data?.PROVINCE_CODE, - ProvinceCode: opt?.data?.PROVINCE_CODE, - provincecode: opt?.data?.PROVINCE_CODE, - token: currentUser.UserToken || '', - ServerpartCodes: currentUser.CityAuthority || '', - ServerpartShopIds: currentUser.ServerpartShopIds || '', - UserPattern: currentUser?.UserPattern || '', - - } - } else { - options.headers = { - ...options.headers, - token: currentUser.UserToken || '', - ProvinceCode: opt?.data?.noProvinceCode ? '' : (currentUser.ProvinceCode || ''), - ServerpartCodes: currentUser.CityAuthority || '', - ServerpartShopIds: currentUser.ServerpartShopIds || '', - UserPattern: currentUser?.UserPattern || '', - } - } - } - - - if (url.indexOf('SynchroSERVERPART') > -1) { - options.data = { - ...options.data, - STAFF_ID: currentUser.ID, - STAFF_NAME: currentUser.Name, - OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss'), - PROVINCE_CODE: opt?.data?.PROVINCE_CODE, - } - } else { - if ((url.indexOf('Synchro') > -1 || url.indexOf('Save') > -1) && - url.indexOf('Picture/SaveImgFile') === -1) { - - // 添加操作人和业主单位信息 - options.data = { - ...options.data, - STAFF_ID: currentUser.ID, - STAFF_NAME: currentUser.Name, - OWNERUNIT_ID: options.data.OWNERUNIT_ID || currentUser.OwnerUnitId, - OWNERUNIT_NAME: options.data.OWNERUNIT_NAME || currentUser.ProvinceUnit, - PROVINCE_CODE: (options.data.PROVINCE_CODE || currentUser.ProvinceCode), - - OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss') - } - if (currentUser?.UserPattern === 2000) { - options.data = { - ...options.data, - PROVINCE_CODE: (options.data.PROVINCE_CODE || currentUser.ProvinceCode), - BUSINESSMAN_ID: currentUser.BusinessManID, - } - } - } - } - - - } - - return { - // url: url.indexOf('handler_ajax.ashx')>-1 ?`https://user.eshangtech.com${url}`: `http://47.96.233.105/EShangApiMain${url}`, - url,// .indexOf('handler_ajax.ashx')>-1 ?`${url}`: `/EShangApiMain${url}`, - options, - } -}) -request.interceptors.response.use((response, option) => { - const nowTmp = moment() - Cookies.set('tmp', nowTmp.format()) - - // // 加个数组 如果请求地址是数组里面的 那就不调用 记录用户行为了 - // let specialList = ['/FrameWork/GetFieldEnumByField', "/FrameWork/GetUserModuleList", "/FrameWork/GetFieldEnumTree", '/Logging/GetPassportInfoByToken', '/Logging/UserLogin', 'Dictionary/GetFieEnumList', '/Platform/SynchroBehaviorrecord'] - // // 判断一下 现在的这次请求 是不是特殊 不需要进行记录的 - // let isOk: boolean = true - - // let userbeHaviObj = option?.userbeHaviObj || {} - - // specialList.forEach((item: any) => { - // if (userbeHaviObj.url.indexOf(item) !== -1) { - // isOk = false - // } - // }) - - // if (isOk) { - // let nowMenu = session.get("currentMenu") - // let endTime = new Date().getTime() - // let basicInfo = session.get("basicInfo") - // let systemBasin = session.get("systemBasin") - // let browserVersion = session.get("browserVersion") - - // const req: any = { - // USER_ID: userbeHaviObj.currentUser.ID, - // USER_NAME: userbeHaviObj.currentUser.Name, - // BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录 - // BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://api.eshangtech.com')[1]}`, - // BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'), - // BEHAVIORRECORD_ROUT: nowMenu.pathname, - // BEHAVIORRECORD_ROUTNAME: nowMenu.name, - // BEHAVIORRECORD_LEAVETIME: moment(new Date(endTime)).format('YYYY-MM-DD HH:mm:ss'), - // BEHAVIORRECORD_DURATION: (endTime - userbeHaviObj.startTime) / 1000, - // OWNERUNIT_ID: userbeHaviObj.currentUser.OwnerUnitId, - // OWNERUNIT_NAME: userbeHaviObj.currentUser.OwnerUnitName, - // BUSINESSMAN_ID: userbeHaviObj.currentUser.BusinessManID, - // BUSINESSMAN_NAME: userbeHaviObj.currentUser.BusinessManName, - // SOURCE_PLATFORM: '驿商云平台', - // BEHAVIORRECORD_DESC: JSON.stringify(userbeHaviObj.options.params) === '{}' ? userbeHaviObj.url.split('?')[1] : JSON.stringify(userbeHaviObj.options.params), // 入参 - // USER_LOGINIP: basicInfo.ip, - // USER_LOGINPLACE: `${basicInfo.country}${basicInfo.prov}${basicInfo.city}${basicInfo.district}`, - // BROWSER_VERSION: browserVersion, - // OPERATING_SYSTEM: systemBasin - // } - // console.log('reqreqreqreqreq', req); - // // fetch('https://api.eshangtech.com/EShangApiMain/Platform/SynchroBEHAVIORRECORD', { - // // method: 'POST', - // // headers: { - // // 'Content-Type': 'application/json', - // // }, - // // body: JSON.stringify(req), - // // }) - // } - return response -}) -export default request; diff --git a/src/utils/requestNewTest.ts b/src/utils/requestNewTest.ts deleted file mode 100644 index d5ea56d..0000000 --- a/src/utils/requestNewTest.ts +++ /dev/null @@ -1,126 +0,0 @@ -/** Request 网络请求工具 更详细的 api 文档: https://github.com/umijs/umi-request */ -import { extend } from 'umi-request'; - -import { notification } from 'antd'; - -import Cookies from 'js-cookie'; -import moment from 'moment'; -import session from './session'; -import type { CurrentUser } from '@/models/user'; - -const codeMessage: Record = { - 200: '服务器成功返回请求的数据。', - 201: '新建或修改数据成功。', - 202: '一个请求已经进入后台排队(异步任务)。', - 204: '删除数据成功。', - 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', - 401: '用户没有权限(令牌、用户名、密码错误)。', - 403: '用户得到授权,但是访问是被禁止的。', - 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', - 406: '请求的格式不可得。', - 410: '请求的资源被永久删除,且不会再得到的。', - 422: '当创建一个对象时,发生一个验证错误。', - 500: '服务器发生错误,请检查服务器。', - 502: '网关错误。', - 503: '服务不可用,服务器暂时过载或维护。', - 504: '网关超时。', -}; - -/** - * @zh-CN 异常处理程序 - * @en-US Exception handler - */ -const errorHandler = (error: { response: Response }): Response => { - const { response } = error; - - if (response && response.status) { - const errorText = codeMessage[response.status] || response.statusText; - const { status, url } = response; - - notification.error({ - message: `请求错误 ${status}: ${url}`, - description: errorText, - }); - } else if (!response) { - notification.error({ - description: '您的网络异常,无法连接到服务器.', - message: '网络异常', - }); - } - return response; -}; - -/** - * @en-US Configure the default parameters for request - * @zh-CN 配置request请求时的默认参数 - */ -const requestTest = extend({ - errorHandler, // default error handling - // prefix: '/EShangApiMain',// 开发 - - // 'http://192.168.56.1/EShangApiMain' - // "https://api.eshangtech.com/EShangApiMain" // 正式 - // "http://192.168.56.1/EShangApiMain" - // prefix: "https://api.eshangtech.com/EShangApiMain", // 正式 - prefix: "http://pos.eshangtech.com:8900/EShangApiMain", // 正式 - // prefix: "http://10.104.1.186:8080", // 正式 - headers: { - token: '', - ProvinceCode: '', - ServerpartCodes: '', - // tmp: (new Date()).getTime() - } - - // credentials: 'include', // Does the default request bring cookies - -}); - -// request拦截器, 改变url 或 options. -requestTest.interceptors.request.use((url, opt) => { - const options = { ...opt } - const currentUser: CurrentUser = session.get('currentUser'); - if (currentUser) { - if (options.headers) { - options.headers = { - ...options.headers, - token: currentUser.UserToken || '', - ProvinceCode: currentUser.ProvinceCode || '', - ServerpartCodes: currentUser.CityAuthority || '', - ServerpartShopIds: currentUser.ServerpartShopIds || '', - UserPattern: currentUser?.UserPattern || '', - } - } - if ((url.indexOf('Synchro') > -1 || url.indexOf('Save') > -1) && - url.indexOf('Picture/SaveImgFile') === -1) { - // 添加操作人和业主单位信息 - options.data = { - ...options.data, - STAFF_ID: currentUser.ID, - STAFF_NAME: currentUser.Name, - OWNERUNIT_ID: currentUser.OwnerUnitId, - OWNERUNIT_NAME: currentUser.ProvinceUnit, - PROVINCE_CODE: currentUser.ProvinceCode, - - OPERATE_DATE: moment().format() - } - if (currentUser?.UserPattern === 2000) { - options.data = { - ...options.data, - BUSINESSMAN_ID: currentUser.BusinessManID, - } - } - } - } - return { - // url: url.indexOf('handler_ajax.ashx')>-1 ?`https://user.eshangtech.com${url}`: `http://47.96.233.105/EShangApiMain${url}`, - url,// .indexOf('handler_ajax.ashx')>-1 ?`${url}`: `/EShangApiMain${url}`, - options, - } -}) -requestTest.interceptors.response.use((response) => { - - const nowTmp = moment() - Cookies.set('tmp', nowTmp.format()) - return response -}) -export default requestTest; diff --git a/src/utils/requestNoPrefix.ts b/src/utils/requestNoPrefix.ts deleted file mode 100644 index 88a055c..0000000 --- a/src/utils/requestNoPrefix.ts +++ /dev/null @@ -1,156 +0,0 @@ -/** Request 网络请求工具 更详细的 api 文档: https://github.com/umijs/umi-request */ -import { extend } from 'umi-request'; - -import { notification } from 'antd'; - -import Cookies from 'js-cookie'; -import moment from 'moment'; -import session from './session'; -import type { CurrentUser } from '@/models/user'; - -const codeMessage: Record = { - 200: '服务器成功返回请求的数据。', - 201: '新建或修改数据成功。', - 202: '一个请求已经进入后台排队(异步任务)。', - 204: '删除数据成功。', - 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', - 401: '用户没有权限(令牌、用户名、密码错误)。', - 403: '用户得到授权,但是访问是被禁止的。', - 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', - 406: '请求的格式不可得。', - 410: '请求的资源被永久删除,且不会再得到的。', - 422: '当创建一个对象时,发生一个验证错误。', - 500: '服务器发生错误,请检查服务器。', - 502: '网关错误。', - 503: '服务不可用,服务器暂时过载或维护。', - 504: '网关超时。', -}; - -/** - * @zh-CN 异常处理程序 - * @en-US Exception handler - */ -const errorHandler = (error: { response: Response }): Response => { - const { response } = error; - - if (response && response.status) { - const errorText = codeMessage[response.status] || response.statusText; - const { status, url } = response; - - notification.error({ - message: `请求错误 ${status}: ${url}`, - description: errorText, - }); - } else if (!response) { - notification.error({ - description: '您的网络异常,无法连接到服务器.', - message: '网络异常', - }); - } - return response; -}; - -/** - * @en-US Configure the default parameters for request - * @zh-CN 配置request请求时的默认参数 - */ -const request = extend({ - errorHandler, // default error handling - // prefix: '/EShangApiMain',// 开发 - // prefix: 'https://api.eshangtech.com/', // 正式 - prefix: 'http://pos.eshangtech.com:8900/', // 正式 - headers: { - token: '', - ProvinceCode: '', - ServerpartCodes: '', - // tmp: (new Date()).getTime() - } - - // credentials: 'include', // Does the default request bring cookies - -}); - -// request拦截器, 改变url 或 options. -request.interceptors.request.use((url, opt: any) => { - const options = { ...opt } - const currentUser: CurrentUser = session.get('currentUser'); - - if (currentUser) { - if (options.headers) { - if (url.indexOf('SynchroSERVERPART') > -1) { - options.headers = { - ...options.headers, - PROVINCE_CODE: opt?.data?.PROVINCE_CODE, - ProvinceCode: opt?.data?.PROVINCE_CODE, - provincecode: opt?.data?.PROVINCE_CODE, - token: currentUser.UserToken || '', - ServerpartCodes: currentUser.CityAuthority || '', - ServerpartShopIds: currentUser.ServerpartShopIds || '', - UserPattern: currentUser?.UserPattern || '', - - } - } else { - options.headers = { - ...options.headers, - token: currentUser.UserToken || '', - ProvinceCode: opt?.data?.noProvinceCode ? '' : (currentUser.ProvinceCode || ''), - ServerpartCodes: currentUser.CityAuthority || '', - ServerpartShopIds: currentUser.ServerpartShopIds || '', - UserPattern: currentUser?.UserPattern || '', - } - } - } - - - if (url.indexOf('SynchroSERVERPART') > -1) { - options.data = { - ...options.data, - STAFF_ID: currentUser.ID, - STAFF_NAME: currentUser.Name, - OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss'), - PROVINCE_CODE: opt?.data?.PROVINCE_CODE, - } - } else { - if ((url.indexOf('Synchro') > -1 || url.indexOf('Save') > -1) && - url.indexOf('Picture/SaveImgFile') === -1) { - - // 添加操作人和业主单位信息 - options.data = { - ...options.data, - STAFF_ID: currentUser.ID, - STAFF_NAME: currentUser.Name, - OWNERUNIT_ID: options.data.OWNERUNIT_ID || currentUser.OwnerUnitId, - OWNERUNIT_NAME: options.data.OWNERUNIT_NAME || currentUser.ProvinceUnit, - PROVINCE_CODE: (options.data.PROVINCE_CODE || currentUser.ProvinceCode), - - OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss') - } - if (currentUser?.UserPattern === 2000) { - options.data = { - ...options.data, - PROVINCE_CODE: (options.data.PROVINCE_CODE || currentUser.ProvinceCode), - BUSINESSMAN_ID: currentUser.BusinessManID, - } - } - } - } - - - } - - - - - return { - // url: url.indexOf('handler_ajax.ashx')>-1 ?`https://user.eshangtech.com${url}`: `http://47.96.233.105/EShangApiMain${url}`, - url,// .indexOf('handler_ajax.ashx')>-1 ?`${url}`: `/EShangApiMain${url}`, - options, - } -}) -request.interceptors.response.use((response) => { - - const nowTmp = moment() - Cookies.set('tmp', nowTmp.format()) - return response -}) -export default request; diff --git a/src/utils/requestTestTest.ts b/src/utils/requestTestTest.ts deleted file mode 100644 index 62234d7..0000000 --- a/src/utils/requestTestTest.ts +++ /dev/null @@ -1,120 +0,0 @@ -/** Request 网络请求工具 更详细的 api 文档: https://github.com/umijs/umi-request */ -import { extend } from 'umi-request'; - -import { notification } from 'antd'; - -import Cookies from 'js-cookie'; -import moment from 'moment'; -import session from './session'; -import type { CurrentUser } from '@/models/user'; - -const codeMessage: Record = { - 200: '服务器成功返回请求的数据。', - 201: '新建或修改数据成功。', - 202: '一个请求已经进入后台排队(异步任务)。', - 204: '删除数据成功。', - 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', - 401: '用户没有权限(令牌、用户名、密码错误)。', - 403: '用户得到授权,但是访问是被禁止的。', - 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', - 406: '请求的格式不可得。', - 410: '请求的资源被永久删除,且不会再得到的。', - 422: '当创建一个对象时,发生一个验证错误。', - 500: '服务器发生错误,请检查服务器。', - 502: '网关错误。', - 503: '服务不可用,服务器暂时过载或维护。', - 504: '网关超时。', -}; - -/** - * @zh-CN 异常处理程序 - * @en-US Exception handler - */ -const errorHandler = (error: { response: Response }): Response => { - const { response } = error; - - if (response && response.status) { - const errorText = codeMessage[response.status] || response.statusText; - const { status, url } = response; - - notification.error({ - message: `请求错误 ${status}: ${url}`, - description: errorText, - }); - } else if (!response) { - notification.error({ - description: '您的网络异常,无法连接到服务器.', - message: '网络异常', - }); - } - return response; -}; - -/** - * @en-US Configure the default parameters for request - * @zh-CN 配置request请求时的默认参数 - */ -const requestTest = extend({ - errorHandler, // default error handling - // prefix: '/EShangApiMain',// 开发 - prefix: 'http://dev.eshangtech.com:8001/EShangApiMain', // 正式 - headers: { - token: '', - ProvinceCode: '', - ServerpartCodes: '', - // tmp: (new Date()).getTime() - } - - // credentials: 'include', // Does the default request bring cookies - -}); - -// request拦截器, 改变url 或 options. -requestTest.interceptors.request.use((url, opt) => { - const options = { ...opt } - const currentUser: CurrentUser = session.get('currentUser'); - if (currentUser) { - if (options.headers) { - options.headers = { - ...options.headers, - token: currentUser.UserToken || '', - ProvinceCode: currentUser.ProvinceCode || '', - ServerpartCodes: currentUser.CityAuthority || '', - ServerpartShopIds: currentUser.ServerpartShopIds || '', - UserPattern: currentUser?.UserPattern || '', - } - } - if ((url.indexOf('Synchro') > -1 || url.indexOf('Save') > -1) && - url.indexOf('Picture/SaveImgFile') === -1) { - // 添加操作人和业主单位信息 - options.data = { - ...options.data, - STAFF_ID: currentUser.ID, - STAFF_NAME: currentUser.Name, - OWNERUNIT_ID: currentUser.OwnerUnitId, - OWNERUNIT_NAME: currentUser.ProvinceUnit, - PROVINCE_CODE: currentUser.ProvinceCode, - - OPERATE_DATE: moment().format() - } - if (currentUser?.UserPattern === 2000) { - options.data = { - ...options.data, - BUSINESSMAN_ID: currentUser.BusinessManID, - } - } - } - } - return { - // url: url.indexOf('handler_ajax.ashx')>-1 ?`https://user.eshangtech.com${url}`: `http://47.96.233.105/EShangApiMain${url}`, - url,// .indexOf('handler_ajax.ashx')>-1 ?`${url}`: `/EShangApiMain${url}`, - options, - } -}) -requestTest.interceptors.response.use((response) => { - - const nowTmp = moment() - Cookies.set('tmp', nowTmp.format()) - return response -}) -export default requestTest; diff --git a/src/utils/requestUpLoad.ts b/src/utils/requestUpLoad.ts deleted file mode 100644 index aa5493d..0000000 --- a/src/utils/requestUpLoad.ts +++ /dev/null @@ -1,121 +0,0 @@ -/** Request 网络请求工具 更详细的 api 文档: https://github.com/umijs/umi-request */ -import { extend } from 'umi-request'; - -import { notification } from 'antd'; - -import Cookies from 'js-cookie'; -import moment from 'moment'; -import session from './session'; -import type { CurrentUser } from '@/models/user'; - -const codeMessage: Record = { - 200: '服务器成功返回请求的数据。', - 201: '新建或修改数据成功。', - 202: '一个请求已经进入后台排队(异步任务)。', - 204: '删除数据成功。', - 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', - 401: '用户没有权限(令牌、用户名、密码错误)。', - 403: '用户得到授权,但是访问是被禁止的。', - 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', - 406: '请求的格式不可得。', - 410: '请求的资源被永久删除,且不会再得到的。', - 422: '当创建一个对象时,发生一个验证错误。', - 500: '服务器发生错误,请检查服务器。', - 502: '网关错误。', - 503: '服务不可用,服务器暂时过载或维护。', - 504: '网关超时。', -}; - -/** - * @zh-CN 异常处理程序 - * @en-US Exception handler - */ -const errorHandler = (error: { response: Response }): Response => { - const { response } = error; - - if (response && response.status) { - const errorText = codeMessage[response.status] || response.statusText; - const { status, url } = response; - - notification.error({ - message: `请求错误 ${status}: ${url}`, - description: errorText, - }); - } else if (!response) { - notification.error({ - description: '您的网络异常,无法连接到服务器.', - message: '网络异常', - }); - } - return response; -}; - -/** - * @en-US Configure the default parameters for request - * @zh-CN 配置request请求时的默认参数 - */ -const request = extend({ - errorHandler, // default error handling - // prefix: '/EShangApiMain',// 开发 - prefix: 'http://220.180.35.180:8000/EShangApiMain', // 正式 - headers: { - token: '', - ProvinceCode: '', - ServerpartCodes: '', - // tmp: (new Date()).getTime() - } - - // credentials: 'include', // Does the default request bring cookies - -}); - -// request拦截器, 改变url 或 options. -request.interceptors.request.use((url, opt) => { - const options = { ...opt } - const currentUser: CurrentUser = session.get('currentUser'); - if (currentUser) { - if (options.headers) { - options.headers = { - ...options.headers, - token: currentUser.UserToken || '', - ProvinceCode: currentUser.ProvinceCode || '', - ServerpartCodes: currentUser.CityAuthority || '', - ServerpartShopIds: currentUser.ServerpartShopIds || '', - UserPattern: currentUser?.UserPattern || '', - } - } - if ((url.indexOf('Synchro') > -1 || url.indexOf('Save') > -1) && - url.indexOf('Picture/SaveImgFile') === -1 ) { - // 添加操作人和业主单位信息 - options.data = { - ...options.data, - STAFF_ID: currentUser.ID, - STAFF_NAME: currentUser.Name, - OWNERUNIT_ID: options.data.OWNERUNIT_ID || currentUser.OwnerUnitId, - OWNERUNIT_NAME: options.data.OWNERUNIT_NAME || currentUser.ProvinceUnit, - PROVINCE_CODE: options.data.PROVINCE_CODE || currentUser.ProvinceCode, - - OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss') - } - if (currentUser?.UserPattern === 2000) { - options.data = { - ...options.data, - BUSINESSMAN_ID: currentUser.BusinessManID, - } - } - } - } - - return { - // url: url.indexOf('handler_ajax.ashx')>-1 ?`https://user.eshangtech.com${url}`: `http://47.96.233.105/EShangApiMain${url}`, - url,// .indexOf('handler_ajax.ashx')>-1 ?`${url}`: `/EShangApiMain${url}`, - options, - } -}) -request.interceptors.response.use((response) => { - - const nowTmp = moment() - Cookies.set('tmp', nowTmp.format()) - return response -}) -export default request; diff --git a/src/utils/requestnew.ts b/src/utils/requestnew.ts deleted file mode 100644 index 22f8d5d..0000000 --- a/src/utils/requestnew.ts +++ /dev/null @@ -1,121 +0,0 @@ -/** Request 网络请求工具 更详细的 api 文档: https://github.com/umijs/umi-request */ -import { extend } from 'umi-request'; - -import { notification } from 'antd'; - -import Cookies from 'js-cookie'; -import moment from 'moment'; -import session from './session'; -import type { CurrentUser } from '@/models/user'; - -const codeMessage: Record = { - 200: '服务器成功返回请求的数据。', - 201: '新建或修改数据成功。', - 202: '一个请求已经进入后台排队(异步任务)。', - 204: '删除数据成功。', - 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', - 401: '用户没有权限(令牌、用户名、密码错误)。', - 403: '用户得到授权,但是访问是被禁止的。', - 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', - 406: '请求的格式不可得。', - 410: '请求的资源被永久删除,且不会再得到的。', - 422: '当创建一个对象时,发生一个验证错误。', - 500: '服务器发生错误,请检查服务器。', - 502: '网关错误。', - 503: '服务不可用,服务器暂时过载或维护。', - 504: '网关超时。', -}; - -/** - * @zh-CN 异常处理程序 - * @en-US Exception handler - */ -const errorHandler = (error: { response: Response }): Response => { - const { response } = error; - - if (response && response.status) { - const errorText = codeMessage[response.status] || response.statusText; - const { status, url } = response; - - notification.error({ - message: `请求错误 ${status}: ${url}`, - description: errorText, - }); - } else if (!response) { - notification.error({ - description: '您的网络异常,无法连接到服务器.', - message: '网络异常', - }); - } - return response; -}; - -/** - * @en-US Configure the default parameters for request - * @zh-CN 配置request请求时的默认参数 - */ -const request = extend({ - errorHandler, // default error handling - prefix: '/EShangApiDashboard',// 开发 - // prefix: 'http://dev.eshangtech.com:8001/EShangApiDashboard', // 正式 - headers: { - token: '', - ProvinceCode: '', - ServerpartCodes: '', - // tmp: (new Date()).getTime() - } - - // credentials: 'include', // Does the default request bring cookies - -}); - -// request拦截器, 改变url 或 options. -request.interceptors.request.use((url, opt) => { - const options = { ...opt } - const currentUser: CurrentUser = session.get('currentUser'); - if (currentUser) { - if (options.headers) { - options.headers = { - ...options.headers, - token: currentUser.UserToken || '', - ProvinceCode: currentUser.ProvinceCode || '', - ServerpartCodes: currentUser.CityAuthority || '', - ServerpartShopIds: currentUser.ServerpartShopIds || '', - UserPattern: currentUser?.UserPattern || '', - } - } - if ((url.indexOf('Synchro') > -1 || url.indexOf('Save') > -1) && - url.indexOf('Picture/SaveImgFile') === -1) { - // 添加操作人和业主单位信息 - options.data = { - ...options.data, - STAFF_ID: currentUser.ID, - STAFF_NAME: currentUser.Name, - OWNERUNIT_ID: currentUser.OwnerUnitId, - OWNERUNIT_NAME: currentUser.ProvinceUnit, - PROVINCE_CODE: currentUser.ProvinceCode, - - OPERATE_DATE: moment().format() - } - if (currentUser?.UserPattern === 2000) { - options.data = { - ...options.data, - BUSINESSMAN_ID: currentUser.BusinessManID, - } - } - } - } - - return { - // url: url.indexOf('handler_ajax.ashx')>-1 ?`https://user.eshangtech.com${url}`: `http://47.96.233.105/EShangApiMain${url}`, - url,// .indexOf('handler_ajax.ashx')>-1 ?`${url}`: `/EShangApiMain${url}`, - options, - } -}) -request.interceptors.response.use((response) => { - - const nowTmp = moment() - Cookies.set('tmp', nowTmp.format()) - return response -}) -export default request; \ No newline at end of file diff --git a/src/utils/tabPerformanceManager.ts b/src/utils/tabPerformanceManager.ts deleted file mode 100644 index f3201e0..0000000 --- a/src/utils/tabPerformanceManager.ts +++ /dev/null @@ -1,180 +0,0 @@ -import type { tabsRoute } from '@/models/global'; - -// 标签页性能配置 -export interface TabPerformanceConfig { - unloadAfterMinutes: number; // 多少分钟后卸载,默认10分钟 - checkIntervalMinutes: number; // 检查间隔,默认2分钟 - enableAutoUnload: boolean; // 是否启用自动卸载,默认true - excludePaths: string[]; // 排除路径,这些路径永不卸载 -} - -// 默认配置 -export const DEFAULT_CONFIG: TabPerformanceConfig = { - unloadAfterMinutes: 10, - checkIntervalMinutes: 2, - enableAutoUnload: true, - excludePaths: ['/dashboard', '/'], // 仪表板页面永不卸载 -}; - -class TabPerformanceManager { - private config: TabPerformanceConfig = DEFAULT_CONFIG; - private checkTimer: NodeJS.Timeout | null = null; - private onUnloadCallback: ((tabPath: string) => void) | null = null; - - constructor(config?: Partial) { - this.updateConfig(config); - } - - // 更新配置 - updateConfig(newConfig?: Partial) { - this.config = { ...this.config, ...newConfig }; - this.restartTimer(); - } - - // 设置卸载回调 - setUnloadCallback(callback: (tabPath: string) => void) { - this.onUnloadCallback = callback; - } - - // 启动定时检查 - start() { - if (!this.config.enableAutoUnload) return; - - this.checkTimer = setInterval(() => { - this.checkAndUnloadTabs(); - }, this.config.checkIntervalMinutes * 60 * 1000); - } - - // 停止定时检查 - stop() { - if (this.checkTimer) { - clearInterval(this.checkTimer); - this.checkTimer = null; - } - } - - // 重启定时器 - private restartTimer() { - this.stop(); - this.start(); - } - - // 检查并卸载标签页 - private checkAndUnloadTabs() { - if (!this.onUnloadCallback) return; - - const now = Date.now(); - const unloadThreshold = this.config.unloadAfterMinutes * 60 * 1000; - - // 这里需要从外部获取标签页列表,暂时留空 - // 实际使用时会通过回调函数获取当前标签页状态 - } - - // 检查单个标签页是否应该卸载 - shouldUnloadTab(tab: tabsRoute, currentActiveKey: string): boolean { - // 当前激活的标签页不卸载 - if (tab.path === currentActiveKey) return false; - - // 排除路径不卸载 - if (this.config.excludePaths.includes(tab.path)) return false; - - // 没有访问时间记录的不卸载(可能是新标签) - if (!tab.lastAccessTime) return false; - - // 已经卸载的不需要再次卸载 - if (tab.isLoaded === false) return false; - - // 检查时间阈值 - const now = Date.now(); - const unloadThreshold = this.config.unloadAfterMinutes * 60 * 1000; - - return (now - tab.lastAccessTime) > unloadThreshold; - } - - // 获取需要卸载的标签页路径列表 - getTabsToUnload(tabs: tabsRoute[], currentActiveKey: string): string[] { - if (!this.config.enableAutoUnload) return []; - - return tabs - .filter(tab => this.shouldUnloadTab(tab, currentActiveKey)) - .map(tab => tab.path); - } - - // 更新标签页访问时间 - updateTabAccessTime(tabs: tabsRoute[], tabPath: string): tabsRoute[] { - return tabs.map(tab => { - if (tab.path === tabPath) { - return { - ...tab, - lastAccessTime: Date.now(), - isLoaded: true, - isLoading: false, - }; - } - return tab; - }); - } - - // 标记标签页为卸载状态 - markTabUnloaded(tabs: tabsRoute[], tabPath: string): tabsRoute[] { - return tabs.map(tab => { - if (tab.path === tabPath) { - return { - ...tab, - isLoaded: false, - isLoading: false, - }; - } - return tab; - }); - } - - // 标记标签页为加载中状态 - markTabLoading(tabs: tabsRoute[], tabPath: string): tabsRoute[] { - return tabs.map(tab => { - if (tab.path === tabPath) { - return { - ...tab, - isLoaded: false, - isLoading: true, - }; - } - return tab; - }); - } - - // 标记标签页为已加载状态 - markTabLoaded(tabs: tabsRoute[], tabPath: string): tabsRoute[] { - return tabs.map(tab => { - if (tab.path === tabPath) { - return { - ...tab, - isLoaded: true, - isLoading: false, - lastAccessTime: Date.now(), - }; - } - return tab; - }); - } - - // 获取内存使用情况统计 - getMemoryStats(tabs: tabsRoute[]): { - totalTabs: number; - loadedTabs: number; - unloadedTabs: number; - loadingTabs: number; - } { - return { - totalTabs: tabs.length, - loadedTabs: tabs.filter(tab => tab.isLoaded === true).length, - unloadedTabs: tabs.filter(tab => tab.isLoaded === false && !tab.isLoading).length, - loadingTabs: tabs.filter(tab => tab.isLoading === true).length, - }; - } -} - -// 创建单例实例 -export const tabPerformanceManager = new TabPerformanceManager(); - -export default TabPerformanceManager; \ No newline at end of file diff --git a/src/versionEnv.ts b/src/versionEnv.ts index 2f2213d..2ad1eb9 100644 --- a/src/versionEnv.ts +++ b/src/versionEnv.ts @@ -1,4 +1,4 @@ // 由 scripts/writeVersion.js 自动生成 -export const VERSION = "4.5.78"; -export const GIT_HASH = "f3703b1"; -export const BUILD_TIME = "2025-11-06T08:28:02.745Z"; +export const VERSION = "4.5.81"; +export const GIT_HASH = "5e6a50d"; +export const BUILD_TIME = "2025-11-11T10:15:49.294Z";