diff --git a/package-lock.json b/package-lock.json
index de23d37791db55cf81028676f9e4d24eecac5637..318926675c35aea44597b1db69e100d36475925d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -32,6 +32,7 @@
"eslint": "^8.3.0",
"eslint-config-react-app": "^7.0.1",
"eslint-webpack-plugin": "^3.1.1",
+ "event-source-polyfill": "^1.0.26",
"file-loader": "^6.2.0",
"framer-motion": "^6.3.16",
"fs-extra": "^10.0.0",
@@ -7691,6 +7692,12 @@
"node": ">= 0.6"
}
},
+ "node_modules/event-source-polyfill": {
+ "version": "1.0.26",
+ "resolved": "https://registry.npmmirror.com/event-source-polyfill/-/event-source-polyfill-1.0.25.tgz",
+ "integrity": "sha512-hQxu6sN1Eq4JjoI7ITdQeGGUN193A2ra83qC0Ltm9I2UJVAten3OFVN6k5RX4YWeCS0BoC8xg/5czOCIHVosQg==",
+ "deprecated": "[WARNING] Use 1.0.25 instead of 1.0.26, reason: Undesired Behavior https://security.snyk.io/vuln/SNYK-JS-EVENTSOURCEPOLYFILL-2429580, issues: https://github.com/Yaffle/EventSource/issues/199"
+ },
"node_modules/eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
@@ -23034,6 +23041,11 @@
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
},
+ "event-source-polyfill": {
+ "version": "1.0.26",
+ "resolved": "https://registry.npmmirror.com/event-source-polyfill/-/event-source-polyfill-1.0.25.tgz",
+ "integrity": "sha512-hQxu6sN1Eq4JjoI7ITdQeGGUN193A2ra83qC0Ltm9I2UJVAten3OFVN6k5RX4YWeCS0BoC8xg/5czOCIHVosQg=="
+ },
"eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
diff --git a/package.json b/package.json
index f9bd96b021ab45817110f4ef6f099c021a70a776..2cc8ec31035810362f92aae65ea6e6e86c3146e2 100644
--- a/package.json
+++ b/package.json
@@ -27,6 +27,7 @@
"eslint": "^8.3.0",
"eslint-config-react-app": "^7.0.1",
"eslint-webpack-plugin": "^3.1.1",
+ "event-source-polyfill": "^1.0.26",
"file-loader": "^6.2.0",
"framer-motion": "^6.3.16",
"fs-extra": "^10.0.0",
diff --git a/src/App.js b/src/App.js
index f8c0df7c063916e6fe809872910c912a447a9f0e..6856be122d5af94a315159dc02360a939ec029f4 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,10 +1,49 @@
-import { Navigate, Route, Routes } from "react-router-dom";
+import { Navigate, Route, Routes, router } from "react-router-dom";
import { LoginReg, NotFoundPage, Admin } from "./pages";
import { Into, Login } from "./userPages/index";
import axios from 'axios';
axios.defaults.baseURL="http://localhost:80"
+axios.interceptors.request.use((config) => {
+
+ // console.log(config);
+
+ config.headers.token = localStorage.getItem('token');
+
+ return config;
+
+ })
+
+
+ /*
+ router.beforeEach((to, form, next) => {
+ // to要跳转到的路径
+ // from从哪个路径来
+ // next往下执行的回调
+ // 在localStorage中获取信息
+ if (to.name !== 'login') {
+ store.dispatch('getLayoutConfigInfo').then(() => {
+ next();
+ });
+ } else {
+ next();
+ }
+ let a = localStorage.getItem('username')
+ let b = ['pageConfig','indexConfig','classConfig','stationConfig']
+ if (a!='admin'&&b.includes(to.name)) {
+ //满足条件进行判断 跳转
+ ElementUI.Message.error('无权限访问此页面')
+ next({
+ path:"/fixture"
+ })
+
+ } else {
+ next();
+ }
+ });
+*/
+
function App() {
return (
@@ -17,7 +56,7 @@ function App() {
} />
} />
- }/>
+ }/>
}/>
diff --git a/src/userComponents/userHelpCenter/HelpCenter.js b/src/userComponents/userHelpCenter/HelpCenter.js
index 90f43a7cfb7b5a0411199dea9125eeea6735f2b6..4ed3addd2c2f986a697a60b595e51f8134434049 100644
--- a/src/userComponents/userHelpCenter/HelpCenter.js
+++ b/src/userComponents/userHelpCenter/HelpCenter.js
@@ -1,10 +1,78 @@
//帮助中心
-import React from 'react';
+import React, { useState, useEffect } from 'react';
import ReactDOM from 'react-dom/client';
import { Navigate, Route, Routes } from "react-router-dom";
import { UserHelpSidebar } from "../index";
+import axios from 'axios';
+
+const HelpCenter=()=>{
+ const [userIc,setUserIc]=useState(null);
+ useEffect(() => {
+ axios({
+ method: 'get',
+ url: '/passport/userinfo',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ token:localStorage.getItem('token'),
+ }
+ })
+ .then(response=> {
+ setUserIc(response.data.data.userIC);
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+ },[]);
+
+ const onClick=()=>{
+ axios({
+ method: 'get',
+ url: '/sse/getIds',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ token:localStorage.getItem('token'),
+ }
+ })
+ .then(response=> {
+ console.log(response);
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+
+ axios({
+ method: 'post',
+ url: '/sse/pushOne',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ token:localStorage.getItem('token'),
+ message:"123456",
+ userIC:userIc,
+ }
+ })
+ .then(response=> {
+ console.log(response);
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+ }
+
+ return(
+
+ )
+}
+
+/*
class HelpCenter extends React.Component{
render(){
return(
@@ -19,5 +87,5 @@ class HelpCenter extends React.Component{
)
}
}
-
+*/
export default HelpCenter;
\ No newline at end of file
diff --git a/src/userComponents/userLogin/UserLogin.jsx b/src/userComponents/userLogin/UserLogin.jsx
index b56652e69df204559f39c3958b7bdd40c20b742b..2cf947f82fda49bd4c7287eb72745b982ac120dd 100644
--- a/src/userComponents/userLogin/UserLogin.jsx
+++ b/src/userComponents/userLogin/UserLogin.jsx
@@ -82,7 +82,8 @@ const UserInput=()=>{
console.log(response);
if(response.data.message=="登录成功"){
setIsInfoRight(true);
- navigate("userhome/${username}");
+ localStorage.setItem("token",response.data.data.token);
+ navigate("userhome");
event.preventDefault();
}else if(response.data.message=="参数错误"){
alert("您的用户名或密码错误!");
diff --git a/src/userComponents/userLogin/UserRegister.js b/src/userComponents/userLogin/UserRegister.js
index 74e83af547019ff4e1bf7d904ac76fd83025f051..df9539ac3cd7be22c301aca3bd41757fecddd973 100644
--- a/src/userComponents/userLogin/UserRegister.js
+++ b/src/userComponents/userLogin/UserRegister.js
@@ -97,6 +97,7 @@ class UserRegister extends React.Component{
registerBtn(event){
console.log(this.state.userName, this.state.password, this.state.userUsername);
if((this.state.password==this.state.passagain)&&this.state.userName!=null&&this.state.userUsername!=null&&this.state.password!=null&&this.state.userPhonenum!=null){
+
axios({
method: 'post',
url: '/passport/registry',
@@ -128,11 +129,11 @@ class UserRegister extends React.Component{
return(
- 确定]}>
- {showModal()}
+ 确定]}>
-
+ {/**showModal()*/}
+
+
+
)
diff --git a/src/userComponents/userManageCenter/homeGoods/QueryGoods.js b/src/userComponents/userManageCenter/homeGoods/QueryGoods.js
index 1e2b1ffdbe84455bef46eaab5cf8a80ca209b7dc..fe4941677ec8142cb6458ef79508dbcdb791aa0e 100644
--- a/src/userComponents/userManageCenter/homeGoods/QueryGoods.js
+++ b/src/userComponents/userManageCenter/homeGoods/QueryGoods.js
@@ -1,10 +1,250 @@
//货物查询
-import React from 'react';
+import React, { useState, useEffect } from 'react';
import ReactDOM from 'react-dom/client';
import axios from "axios";
import { Table, Modal } from "antd";
+
+const QueryGoods=()=>{
+ const [isAllShow,setIsAllShow]=useState(true);
+ const [isModalVisible,setIsModalVisible]=useState(false);
+
+ const [allDataSource,setAllDataSource]=useState([]);
+ const [storgeDataSource,setStorgeDataSource]=useState([]);
+ const [detailData,setDetailData]=useState([]);
+ const [queryData,setQueryData]=useState([]);
+
+ const [queryName,setQueryName]=useState(null);
+ const [queryId,setQueryId]=useState(null);
+ const [userIc,setUserIc]=useState(null);
+
+ useEffect(() => {
+ axios({
+ method: 'get',
+ url: '/passport/userinfo',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ token:localStorage.getItem('token'),
+ }
+ })
+ .then(response=> {
+ console.log(response);
+ setUserIc(response.data.data.userIC);
+ return axios({
+ method: 'post',
+ url: '/user/userhome/manage/querygoods/total',
+ params:{
+ user_ic:response.data.data.userIC,
+ }
+ })
+ .then(response=> {
+ console.log(response);
+ setAllDataSource(response.data.data.item);
+ setQueryData(response.data.data.item);
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+
+ /*
+ axios({
+ method: 'post',
+ url: '/user/userhome/manage/querygoods/query',
+ params:{
+ user_ic:response.data.data.userIC,
+ }
+ })
+ .then(response=> {
+ console.log(response);
+ setStorgeDataSource(response.data.data.items);
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+ */
+
+
+
+ },[]);
+
+ const nameChange=(event)=>{
+ if(event.target.value==""){
+ setQueryName(null);
+ }else{
+ setQueryName(event.target.value);
+ }
+ }
+
+ const idChange=(event)=>{
+ if(event.target.value==""){
+ setQueryId(null);
+ }else{
+ setQueryId(event.target.value);
+ }
+ }
+
+ const queryAll=(event)=>{
+ if(queryName==null){
+ setQueryData(allDataSource);
+ }else{
+ setQueryData(allDataSource.filter(item=>item.inventoryProductName==queryName));
+ }
+ event.preventDefault();
+ }
+
+ const queryStorge=(event)=>{
+ if(queryId==null&&queryName==null){
+ setQueryData(storgeDataSource);
+ }
+ else if(queryId!=null&&queryName==null){
+ setQueryData(storgeDataSource.filter(item=>item.inventoryProduct==queryId));
+ }
+ else if(queryId==null&&queryName!=null){
+ setQueryData(storgeDataSource.filter(item=>item.inventoryProductName==queryName));
+ }
+ else{
+ setQueryData(storgeDataSource.filter(item=>item.inventoryProduct==queryId&&item.inventoryProductName==queryName));
+ }
+ event.preventDefault();
+ }
+
+ const showAllGoods=(event)=>{
+ setIsAllShow(true);
+ setQueryData(allDataSource);
+ }
+
+ const showGoodsStorge=(event)=>{
+
+
+ setIsAllShow(false);
+ //setQueryData(storgeDataSource);
+ axios({
+ method: 'post',
+ url: '/user/userhome/manage/querygoods/query',
+ params:{
+ user_ic:userIc,
+ }
+ })
+ .then(response=> {
+ console.log(response);
+ setStorgeDataSource(response.data.data.item);
+ setQueryData(response.data.data.item)
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+ }
+
+ const allColumns=[
+ {
+ title:'货物名称',
+ dataIndex:'inventoryProductName',
+ },
+ {
+ title:'货物数量',
+ dataIndex:'inventoryNum',
+ },
+
+ ]
+
+
+ const storageColumns=[
+ {
+ title:'货物名称',
+ dataIndex:'inventoryProductName',
+ },
+ {
+ title:'货物编号',
+ dataIndex:'inventoryProduct',
+ },
+ {
+ title:'货物数量',
+ dataIndex:'inventoryNum',
+ },
+ {
+ title:'所在仓库',
+ dataIndex:'inventoryPosition',
+ },
+
+ {
+ title:'所在仓位',
+ dataIndex:'inventoryRepository',
+ },
+
+
+ ]
+
+ return(
+
+
+
+
+
+
+
+
+
+
+
+
+ {isAllShow?
+
+ : }
+
+
+
+
+
+
+
+
+ )
+}
+
+/*
class QueryGoods extends React.Component{
constructor(props){
super(props);
@@ -31,7 +271,7 @@ class QueryGoods extends React.Component{
componentDidMount() {
axios({
method: 'post',
- url: 'http://10.128.137.205:8088/user/userhome/manage/querygoods/query',
+ url: '/user/userhome/manage/querygoods/query',
params:{
user_ic:this.state.user_ic,
}
@@ -141,11 +381,6 @@ class QueryGoods extends React.Component{
title:'货物名称',
dataIndex:'productName',
},
- /*
- {
- title:'货物类型',
- dataIndex:'productType',
- },*/
{
title:'货物数量',
dataIndex:'amount',
@@ -163,11 +398,6 @@ class QueryGoods extends React.Component{
title:'货物编号',
dataIndex:'productId',
},
- /*
- {
- title:'货物类型',
- dataIndex:'productType',
- },*/
{
title:'货物数量',
dataIndex:'amount',
@@ -180,11 +410,7 @@ class QueryGoods extends React.Component{
{
title:'仓库地址',
dataIndex:'storgePosition',
- },/*
- {
- title:'货物价格',
- dataIndex:'price',
- },*/
+ },
]
@@ -256,4 +482,6 @@ class QueryGoods extends React.Component{
}
}
+*/
+
export default QueryGoods;
\ No newline at end of file
diff --git a/src/userComponents/userManageCenter/homeIn/AppDetailTable.js b/src/userComponents/userManageCenter/homeIn/AppDetailTable.js
index b717390d452ef0c16fdf97fa84e7a2462397cf8c..5872b002413b038cc42b8807382710d32bfcc794 100644
--- a/src/userComponents/userManageCenter/homeIn/AppDetailTable.js
+++ b/src/userComponents/userManageCenter/homeIn/AppDetailTable.js
@@ -6,22 +6,13 @@ import { func } from 'prop-types';
import { orderType, orderStatus } from "../../../utils/userDatas";
const columns=[
- {
- title:'单据类型',
- dataIndex:'orderType',
-
- },
- {
- title:'创建时间',
- dataIndex:'orderCreatetime',
- },
{
title:'单据编号',
dataIndex:'orderId',
},
{
- title:'单据状态',
- dataIndex:'orderStatus',
+ title:'货物编号',
+ dataIndex:'productId',
},
{
@@ -29,32 +20,38 @@ const columns=[
dataIndex:'productName',
},
{
- title:'货物类型',
- dataIndex:'productType',
+ title:'货物价格',
+ dataIndex:'price',
},
{
title:'货物数量',
dataIndex:'amount',
},
- {
- title:'货物重量',
- dataIndex:'orderWeight',
- },
- {
- title:'本单费用',
- dataIndex:'orderPrice',
- },
]
function AppDetailTable({item}){
+ /*
const convertItem = {
...item,
key: item.id,
};
+ */
return (
+
+
+
+ {/**
{columns.map((item) => (
@@ -69,7 +66,11 @@ function AppDetailTable({item}){
))}
+
*/}
+
+
+
);
}
diff --git a/src/userComponents/userManageCenter/homeIn/CreateInApplication.js b/src/userComponents/userManageCenter/homeIn/CreateInApplication.js
index b1b3861552dfd755542661930db3b1dc84516419..45a30a47cac9507c424cc99f806260245dda0476 100644
--- a/src/userComponents/userManageCenter/homeIn/CreateInApplication.js
+++ b/src/userComponents/userManageCenter/homeIn/CreateInApplication.js
@@ -1,36 +1,82 @@
//申请入库的面板label
-import React, { useState } from 'react';
+import React, { useState, useEffect } from 'react';
import ReactDOM from 'react-dom/client';
import { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons';
-import { Button, Form, Input, Space } from 'antd';
+import { Button, Form, Input, Space, Modal } from 'antd';
+import { Link } from 'react-router-dom';
import axios from "axios";
-import { StorgeChosen, DateSelect } from '../../index';
const CreateInApplication=()=>{
const [productVOList,setProductVOList]=useState([]);
+ const [userIc,setUserIc]=useState(null);
+ const [isModalVisible, setIsModalVisible] = useState(false);
+
+ useEffect(() => {
+ axios({
+ method: 'get',
+ url: '/passport/userinfo',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ token:localStorage.getItem('token'),
+ }
+ })
+ .then(response=> {
+ setUserIc(response.data.data.userIC);
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+ },[]);
+
const onFinish=(values)=>{
setProductVOList(values.productInfo);
console.log('Received values of form:', values);
console.log(productVOList);
+ axios({
+ method: 'post',
+ url: '/user/userhome/manage/instorage/order',
+ data:{
+ //orderCreatetime: "2022-07-14T07:47:57.850Z",
+ //orderCreatetime:time,
+ orderOwner:userIc,
+ productVOList:values.productInfo,
+ }
+ })
+ .then(response=> {
+ console.log(response);
+ if(response.data.message==="入库申请成功"){
+ setIsModalVisible(true);
+ }else{
+ alert(response.data.message);
+ }
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ console.log("2");
+ });
};
const onSubmit=(event)=>{
console.log(productVOList);
+ console.log(userIc);
axios({
method: 'post',
- url: 'http://10.128.137.205:8088/user/userhome/manage/instorage/order',
+ url: '/user/userhome/manage/instorage/order',
data:{
//orderCreatetime: "2022-07-14T07:47:57.850Z",
//orderCreatetime:time,
+ orderOwner:userIc,
productVOList:productVOList,
}
})
.then(response=> {
console.log(response);
- console.log("1");
+ if(response.data.message==="入库申请成功"){
+ setIsModalVisible(true);
+ }
})
.catch(function (error) {
console.log(error.config);
@@ -40,7 +86,7 @@ const CreateInApplication=()=>{
return(
-
+ {/**
@@ -54,7 +100,8 @@ const CreateInApplication=()=>{
-
+
*/}
+
@@ -99,9 +146,10 @@ const CreateInApplication=()=>{
)}
- */}
+ 提交申请
@@ -109,9 +157,20 @@ const CreateInApplication=()=>{
- 提交申请
+ {/** 提交申请 */}
+
+
+
+ 确定
+
+
+ ]}>
+
您已提交申请,即将返回主界面。
+
)
diff --git a/src/userComponents/userManageCenter/homeOut/CreateOutApplication.js b/src/userComponents/userManageCenter/homeOut/CreateOutApplication.js
index 59bd728f164c3a6e006109f6fc768ee88e149c6a..94b6465721ff86419984fab4b8aa015e317575c4 100644
--- a/src/userComponents/userManageCenter/homeOut/CreateOutApplication.js
+++ b/src/userComponents/userManageCenter/homeOut/CreateOutApplication.js
@@ -2,14 +2,12 @@
//还要加仓库:仓库号+仓位;货物最大数量;信息只留IC
import React, { useState, useEffect } from 'react';
import ReactDOM from 'react-dom/client';
-import { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons';
-import { Button, Form, Input, Space, Typography, Select } from 'antd';
+import { Select, Modal } from 'antd';
import axios from "axios";
import { CgRemove } from "react-icons/cg";
-import { nanoid } from "nanoid";
-import { StorgeChosen, DateSelect, GoodsChosen } from '../../index';
-
+import { Link } from 'react-router-dom';
+/*
const allData=[
{
"inventoryOwner": "ICb4e2ad2c",
@@ -17,7 +15,7 @@ const allData=[
"inventoryPosition": 3,
"inventoryProduct": 148,
"inventoryProductName": "冰红茶",
- "inventoryNum": 0,
+ "inventoryNum": 30,
"inventoryIn": 10,
"inventoryOut": 10,
"inventoryRecent": 10,
@@ -43,7 +41,7 @@ const allData=[
"inventoryPosition": 3,
"inventoryProduct": 149,
"inventoryProductName": "荔枝",
- "inventoryNum": 10,
+ "inventoryNum": 40,
"inventoryIn": 20,
"inventoryOut": 10,
"inventoryRecent": 20,
@@ -56,7 +54,7 @@ const allData=[
"inventoryPosition": 1,
"inventoryProduct": 150,
"inventoryProductName": "水",
- "inventoryNum": 10,
+ "inventoryNum": 70,
"inventoryIn": 50,
"inventoryOut": 40,
"inventoryRecent": 50,
@@ -69,7 +67,7 @@ const allData=[
"inventoryPosition": 3,
"inventoryProduct": 150,
"inventoryProductName": "水",
- "inventoryNum": 30,
+ "inventoryNum": 80,
"inventoryIn": 50,
"inventoryOut": 20,
"inventoryRecent": 0,
@@ -77,84 +75,125 @@ const allData=[
"inventoryId": 21
}
]
-
+*/
const { Option } = Select;
const CreateOutApplication=()=>{
const [productVOList, setProductVOList] = useState([]);
const [userIc, setUserIc] = useState(null);
+ const [allData,setAllData]=useState([]);
+ const [isModalVisible, setIsModalVisible] = useState(false);
+ useEffect(() => {
+ axios({
+ method: 'get',
+ url: '/passport/userinfo',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ token:localStorage.getItem('token'),
+ }
+ })
+ .then(response=> {
+ setUserIc(response.data.data.userIC);
+ return axios({
+ method: 'post',
+ url: '/user/userhome/manage/outstorage/inventory',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ user_ic:response.data.data.userIC,
+ }
+ })
+ .then(response=> {
+ console.log(response);
+ setAllData(response.data.data.items);
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+
+
+
+ },[]);
const addGoodsItem = () => {
- setProductVOList([
- ...productVOList,
- { inventoryNum: null, inventoryId: null, inventoryProductName: null, inventoryPosition:null, inventoryRepository:null },
- ]);
- };
-
- const removeGoodsItem = (e, index) => {
- e.stopPropagation();
- let newList = [...productVOList];
- newList.splice(index, 1);
- setProductVOList([...newList]);
- };
+ setProductVOList([
+ ...productVOList,
+ { inventoryNum: null, inventoryProduct: null, inventoryProductName: null, inventoryPosition:null, inventoryRepository:null, inventoryOwner:userIc},
+ ]);
+ };
+ //inventoryPosition:null, inventoryRepository:null,
+ const removeGoodsItem = (e, index) => {
+ e.stopPropagation();
+ let newList = [...productVOList];
+ newList.splice(index, 1);
+ setProductVOList([...newList]);
+ };
- const onSubmit=(event)=>{
- console.log(productVOList);
+ const onSubmit=(event)=>{
+ console.log(productVOList);
- axios({
- method: 'post',
- url: '/user/userhome/manage/outstorage/order',
- data:productVOList,
-
- //orderCreatetime: "2022-07-14T07:47:57.850Z",
- //orderCreatetime:time,
-
- //inventoryList:this.state.productVOList,
-
- })
- .then(response=> {
- console.log(response);
- console.log("1");
- })
- .catch(function (error) {
- console.log(error.config);
- console.log("2");
- });
+ axios({
+ method: 'post',
+ url: '/user/userhome/manage/outstorage/order',
+ data:productVOList,
+ })
+ .then(response=> {
+ console.log(response);
+ if(response.data.message==="出库申请成功"){
+ setIsModalVisible(true);
+ }else{
+ alert(response.data.message);
+ }
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
}
const getPosition=(a,b)=>{
- let data=allData.filter(item=>item.inventoryProductName==a&&item.inventoryId==b);
+ let data=allData.filter(item=>item.inventoryProductName==a&&item.inventoryProduct==b);
let position=data[0].inventoryPosition;
return position;
}
const getRepository=(a,b)=>{
- let data=allData.filter(item=>item.inventoryProductName==a&&item.inventoryId==b);
+ let data=allData.filter(item=>item.inventoryProductName==a&&item.inventoryProduct==b);
let repository=data[0].inventoryRepository;
return repository;
}
+ const getAmount=(a,b)=>{
+ let data=allData.filter(item=>item.inventoryProductName==a&&item.inventoryProduct==b);
+ console.log(data);
+ let amount=data[0].inventoryNum;
+ return amount;
+ }
+
return(
-
-
-
+ {/**
-
+
*/}
+
+
@@ -176,13 +215,13 @@ const CreateOutApplication=()=>{
}
}}
value={item.inventoryProductName!=null?
- item.inventoryProductName+"--"+item.inventoryId+"--"+item.inventoryPosition+"号库"+item.inventoryRepository+"位"
+ item.inventoryProductName+"--"+item.inventoryProduct+"--"+getPosition(item.inventoryProductName,item.inventoryProduct)+"号库"+getRepository(item.inventoryProductName,item.inventoryProduct)+"位"
:"名称--货物编号--仓库"}
onSelect={(value,key) => {
console.log(value,key);
let newList = [...productVOList];
newList[index].inventoryProductName = key.title;
- newList[index].inventoryId = key.key;
+ newList[index].inventoryProduct = key.key;
newList[index].inventoryPosition = getPosition(key.title,key.key)
newList[index].inventoryRepository = getRepository(key.title,key.key);
setProductVOList([...newList]);
@@ -196,8 +235,8 @@ const CreateOutApplication=()=>{
>
{allData?.map((item) => {
return (
-
);
})}
@@ -214,6 +253,9 @@ const CreateOutApplication=()=>{
}}
placeholder="请输入货物数量"
/>
+
{index !== 0 && (
{
提交申请
+
+ 确定
+
+
+ ]}>
+
您已提交申请,即将返回主界面。
+
+
)
}
diff --git a/src/userComponents/userManageCenter/homeTrading/CreateTradingApplication.js b/src/userComponents/userManageCenter/homeTrading/CreateTradingApplication.js
index d3b6de79a4a9aacf13fc2e280f7d20167f34f5eb..f6cec7e88c4411fdc5ebb31127cae294e8885430 100644
--- a/src/userComponents/userManageCenter/homeTrading/CreateTradingApplication.js
+++ b/src/userComponents/userManageCenter/homeTrading/CreateTradingApplication.js
@@ -1,13 +1,11 @@
import React, { useState, useEffect } from 'react';
import ReactDOM from 'react-dom/client';
-import { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons';
-import { Button, Form, Input, Space, Typography, Select } from 'antd';
+import { Select, Modal } from 'antd';
import axios from "axios";
import { CgRemove } from "react-icons/cg";
-import { nanoid } from "nanoid";
-import { StorgeChosen, DateSelect, GoodsChosen } from '../../index';
-
+import { Link } from 'react-router-dom';
+/*
const allData=[
{
"inventoryOwner": "ICb4e2ad2c",
@@ -75,15 +73,56 @@ const allData=[
"inventoryId": 21
}
]
- const { Option } = Select;
+ */
+
+const { Option } = Select;
const CreateTradingApplication=()=>{
- const [productVOList, setProductVOList] = useState([[]]);
+ const [productVOList, setProductVOList] = useState([]);
+ const [allData,setAllData]=useState([]);
const [userIc, setUserIc] = useState(null);
+ const [orderBuyer, setOrderBuyer] = useState(null);
+ const [isModalVisible, setIsModalVisible] = useState(false);
+
+ useEffect(() => {
+ axios({
+ method: 'get',
+ url: '/passport/userinfo',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ token:localStorage.getItem('token'),
+ }
+ })
+ .then(response=> {
+
+ setUserIc(response.data.data.userIC);
+ return axios({
+ method: 'post',
+ url: '/user/userhome/manage/trading/inventory',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ user_ic:response.data.data.userIC,
+ }
+ })
+ .then(response=> {
+ console.log(response.data.data.items);
+ setAllData(response.data.data.items);
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+
+
+
+ },[]);
const addGoodsItem = () => {
setProductVOList([
...productVOList,
- { inventoryNum: null, inventoryId: null, inventoryProductName: null },
+ { inventoryNum: null, inventoryProduct: null, inventoryProductName: null, inventoryOwner:userIc },
]);
};
@@ -102,6 +141,9 @@ const CreateTradingApplication=()=>{
method: 'post',
url: '/user/userhome/manage/trading/order',
data:productVOList,
+ params:{
+ order_buyer:orderBuyer,
+ }
//orderCreatetime: "2022-07-14T07:47:57.850Z",
//orderCreatetime:time,
@@ -111,20 +153,39 @@ const CreateTradingApplication=()=>{
})
.then(response=> {
console.log(response);
- console.log("1");
+ if(response.data.message==="过户申请成功"){
+ setIsModalVisible(true);
+ }else{
+ alert(response.data.message);
+ }
})
.catch(function (error) {
console.log(error.config);
- console.log("2");
});
}
+ const getPosition=(a,b)=>{
+ let data=allData.filter(item=>item.inventoryProductName==a&&item.inventoryProduct==b);
+ let position=data[0].inventoryPosition;
+ return position;
+ }
+
+ const getRepository=(a,b)=>{
+ let data=allData.filter(item=>item.inventoryProductName==a&&item.inventoryProduct==b);
+ let repository=data[0].inventoryRepository;
+ return repository;
+ }
+
+ const getAmount=(a,b)=>{
+ let data=allData.filter(item=>item.inventoryProductName==a&&item.inventoryProduct==b);
+ let amount=data[0].inventoryNum;
+ return amount;
+ }
+
return(
-
-
-
+ {/**
@@ -138,7 +199,9 @@ const CreateTradingApplication=()=>{
-
+
*/}
+
+
@@ -146,7 +209,7 @@ const CreateTradingApplication=()=>{
+
+ ]}>
+
您已提交申请,即将返回主界面。
+
)
}
diff --git a/src/userComponents/userMessageCenter/MessageCenter.js b/src/userComponents/userMessageCenter/MessageCenter.js
index 26686c89b26f9aef7b7d37ea4542908ba8ed65cd..b354fad1c975b115b43d0a094d2f59969891c36a 100644
--- a/src/userComponents/userMessageCenter/MessageCenter.js
+++ b/src/userComponents/userMessageCenter/MessageCenter.js
@@ -1,9 +1,209 @@
-import React from 'react';
+import React, { useState, useEffect, forwardRef } from 'react';
import ReactDOM from 'react-dom/client';
-import { Navigate, Route, Routes } from "react-router-dom";
+import { Navigate, Route, Routes, Router } from "react-router-dom";
import Logo from "../../img/logo1.png";
import { UserHelpSidebar, MessageList } from "../index";
+import axios from 'axios';
+import { Modal} from 'antd';
+import { EventSourcePolyfill } from 'event-source-polyfill';
+
+
+
+const MessageCenter=forwardRef((props, ref)=>{
+ const [userIc,setUserIc]=useState(null);
+ //const [isok,setIsok]=useState(true);
+ useEffect(() => {
+ //console.log(evtSource.readyState);
+ axios({
+ method: 'get',
+ url: '/passport/userinfo',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ token:localStorage.getItem('token'),
+ }
+ })
+ .then(response=> {
+ setUserIc(response.data.data.userIC);
+ return axios({
+ method: 'get',
+ url: '/sse/getMessage',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ //token:localStorage.getItem('token'),
+ userIC:response.data.data.userIC,
+ }
+ })
+ .then(response=> {
+ console.log(response);
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+
+
+ },[]);
+
+
+
+ const evtSource = new EventSourcePolyfill('http://10.133.128.40:8088/sse/connect/'+userIc, {
+ headers: {
+ token:localStorage.getItem('token'),
+ }
+ });
+
+ //var evtSource=new EventSource('http://localhost/sse/connect'+userIc);
+
+ if(props.isok){
+ evtSource.onopen = function(event){
+ console.log("ok");
+ };
+
+ evtSource.addEventListener("msg", function(event){
+ console.log(evtSource.readyState);
+ console.log(props.isok);
+ var result = document.getElementById("result").innerText;
+ result +='\n' + " message:" + event.data;
+ document.getElementById("result").innerText=result;
+ })
+
+ evtSource.onerror = function(event) {
+ console.log("no");
+ evtSource.close();
+ console.log(evtSource.readyState);
+
+ };
+
+ }
+
+
+
+
+
+
+ useEffect(()=>{
+ console.log('useEffect=>Index')
+ return ()=>{
+ //setIsok(false);
+ console.log(evtSource.readyState);
+ evtSource.close();
+ one();
+ console.log(evtSource.readyState);
+ //setIsok(false);
+ axios({
+ method: 'get',
+ url: '/sse/close/'+userIc,
+ //headers: {'Authorization': localStorage.getItem('token')},
+
+ params:{
+ token:localStorage.getItem('token'),
+ }
+
+ })
+ .then(response=> {
+ console.log(response);
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+ console.log(evtSource.readyState);
+
+ }
+ },[])
+
+ const one=()=>{
+ console.log('Index页面离开');
+ }
+
+
+
+ const onClick=()=>{
+ axios({
+ method: 'get',
+ url: '/sse/getIds',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ token:localStorage.getItem('token'),
+ }
+ })
+ .then(response=> {
+ console.log(response);
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+
+ axios({
+ method: 'post',
+ url: '/sse/pushOne',
+ //headers: {'Authorization': localStorage.getItem('token')},
+ params:{
+ token:localStorage.getItem('token'),
+ message:"123456",
+ userIC:userIc,
+ }
+ })
+ .then(response=> {
+ console.log(response);
+ })
+ .catch(function (error) {
+ console.log(error.config);
+ });
+ }
+
+ /*
+ customConfirm = (message,callback) => {
+ Modal.confirm({
+ title:"确定离开该页面?",
+ onCancel: () => {
+ callback(false);
+ },
+ onOk: () => {
+ evtSource.close();
+ callback(true);
+ }
+ })
+ }
+*/
+
+//
+ return(
+
+
+
+
+
+
+

+
+
+
物流仓储管理系统
+
+
+
+
+
+
+
+ )
+})
+
+/*
class MessageCenter extends React.Component{
render(){
@@ -28,5 +228,6 @@ class MessageCenter extends React.Component{
)
}
}
+*/
export default MessageCenter;
\ No newline at end of file
diff --git a/src/userComponents/userMessageCenter/MessageList.js b/src/userComponents/userMessageCenter/MessageList.js
index f4f640e916f2f67a7b49ff568d6b9d349b7c40b7..b09f61ef6849d603e809c01005eb36c0df32f62a 100644
--- a/src/userComponents/userMessageCenter/MessageList.js
+++ b/src/userComponents/userMessageCenter/MessageList.js
@@ -14,9 +14,8 @@ evtSource.onmessage = function(e) {
}
*/
-function MessageList(){
-
- var evtSource=new EventSource('http://localhost:8080/sse/connect/8');
+const MessageList=()=>{
+ var evtSource=new EventSource('/sse/connect/8');
evtSource.onopen = function(event){
console.log("ok");
@@ -49,21 +48,43 @@ function MessageList(){
)
}
-
-
/*
-class MessageList extends React.Component{
- constructor(props){
- super(props);
- }
+function MessageList(){
- render(){
- return(
-
- )
- }
+ var evtSource=new EventSource('/sse/connect/8');
+
+ evtSource.onopen = function(event){
+ console.log("ok");
+ };
+ evtSource.addEventListener("message", function(event){
+
+ var result = document.getElementById("result").innerText;
+ result +='\n' + " message:" + event.data;
+ document.getElementById("result").innerText=result;
+ })
+
+ evtSource.onerror = function(event) {
+ console.log("no");
+ };
+
+
+ return(
+
+
+ )
}
*/
+
+
export default MessageList;
\ No newline at end of file
diff --git a/src/userPages/IntoHomePage.js b/src/userPages/IntoHomePage.js
index 72682d695786d096839f16295cee3767c77ef225..f4cffb0f0b4399e141a723815b9a3bf85ea0f285 100644
--- a/src/userPages/IntoHomePage.js
+++ b/src/userPages/IntoHomePage.js
@@ -8,15 +8,22 @@ import { ManageCenter, HelpCenter, UserHeader, MessageCenter } from "../userComp
const Into=()=> {
- const {username}=useParams();
+ //const {username}=useParams();
const [userName, setUserName] = useState(null);
- console.log(username);
-
+ //console.log(username);
+ const [isright,setIsright]=useState(false);
+ const location=useLocation();
+ console.log(location);
useEffect(() => {
-
- setUserName(username);
- console.log(username);
- },[]);
+ if(location.pathname=="/user/userhome/message"){
+ setIsright(true);
+ }else{
+ setIsright(false);
+ }
+ console.log(isright);
+ //setUserName(username);
+ //console.log(username);
+ });
return (
@@ -30,7 +37,7 @@ const Into=()=> {
} />} />
}/>
}/>
- }/>
+ } />