Commit 6199bd32 authored by maple's avatar maple Committed by MrShi

[fix]用户模块

(cherry picked from commit 28f9a4cf)
parent b885a868
...@@ -87,7 +87,10 @@ export default defineConfig({ ...@@ -87,7 +87,10 @@ export default defineConfig({
{ path: './', component: './UserManagement/LIFEUserManagement/Users' }, { path: './', component: './UserManagement/LIFEUserManagement/Users' },
{ path: './Add', component: './UserManagement/LIFEUserManagement/UsersAdd' }, { path: './Add', component: './UserManagement/LIFEUserManagement/UsersAdd' },
{ path: './Detail', component: './UserManagement/LIFEUserManagement/UsersDetail' }, { path: './Detail', component: './UserManagement/LIFEUserManagement/UsersDetail' },
{ path: './MemberDetail', component: './UserManagement/LIFEUserManagement/UserMemberDetail' },
{ path: './Edit', component: './UserManagement/LIFEUserManagement/UsersDetail' }, { path: './Edit', component: './UserManagement/LIFEUserManagement/UsersDetail' },
{ path: './Result', component: './UserManagement/LIFEUserManagement/ResultPage' },
{ path: './ResultFailed', component: './UserManagement/LIFEUserManagement/ResultPageFailed' },
] ]
}, },
{ {
......
...@@ -55,7 +55,7 @@ const TableShow = (props:any) => { ...@@ -55,7 +55,7 @@ const TableShow = (props:any) => {
dataRow.map((item, index) => { dataRow.map((item, index) => {
return( return(
<TabPane tab={item.name} key={index}> <TabPane tab={item.name} key={index}>
<Row gutter={16}><Col>Address:</Col><Col>{((item.unit)[0].member)[0].address_and_postalCode}</Col></Row> <Row gutter={16}><Col>Address:</Col><Col>{((item).owner).address_and_postalCode}</Col></Row>
{ {
(item.unit).map((unit:any, uindex:any) => { (item.unit).map((unit:any, uindex:any) => {
return ( return (
...@@ -79,7 +79,7 @@ const TableShow = (props:any) => { ...@@ -79,7 +79,7 @@ const TableShow = (props:any) => {
<Row> <Row>
<img width={80} src={unit.imgUrl} /> <img width={80} src={unit.imgUrl} />
</Row> </Row>
<Row style={{ marginTop: 8 }}><div style={{ width: 80, textAlign: "center" }}>{((item.unit)[0].member)[0].cdk_code}({user_code[((item.unit)[0].member)[0].cdk_status]})</div></Row> <Row style={{ marginTop: 8 }}><div style={{ width: 80, textAlign: "center" }}>{item.owner.cdkCode}({user_code[item.owner.cdkStatus]})</div></Row>
</Col> </Col>
</Row> </Row>
......
...@@ -17,7 +17,9 @@ export default { ...@@ -17,7 +17,9 @@ export default {
curString: { subscribeDate: null, status: null, curPage: 1, curPage2: 1 }, curString: { subscribeDate: null, status: null, curPage: 1, curPage2: 1 },
communityInfo: null, communityInfo: null,
pageDate:null, pageDate: null,
returnValue:null,
}, },
reducers: { reducers: {
...@@ -30,8 +32,8 @@ export default { ...@@ -30,8 +32,8 @@ export default {
returnDataSave(state, { DataSave }) { returnDataSave(state, { DataSave }) {
return { ...state, DataSave}; return { ...state, DataSave};
}, },
DataSaveDetail(state, { DataSaveDetail,}) { DataSaveDetail(state, { DataSaveDetail,returnValue}) {
return { ...state, DataSaveDetail }; return { ...state, DataSaveDetail,returnValue};
}, },
returnSource(state, { sourceData }) { returnSource(state, { sourceData }) {
return { ...state, sourceData }; return { ...state, sourceData };
...@@ -47,8 +49,10 @@ export default { ...@@ -47,8 +49,10 @@ export default {
}, },
PageDate(state, { pageDate }) { PageDate(state, { pageDate }) {
return {...state,pageDate} return {...state,pageDate}
} },
ReturnValue(state, { returnValue }) {
return{...state,returnValue}
},
}, },
...@@ -63,6 +67,16 @@ export default { ...@@ -63,6 +67,16 @@ export default {
let Data = null; let Data = null;
yield put({ type: 'returnPage', Data }); yield put({ type: 'returnPage', Data });
} break; } break;
case 13: {
let DataSaveDetail = null;
let returnValue = null;
yield put({ type: 'DataSaveDetail', DataSaveDetail,returnValue });
} break;
case 16: {
console.log("等待删除完成")
var returnValue = {test:"yes"};
yield put({ type: 'ReturnValue', returnValue });
} break;
} }
const resp = yield call(service.RA, playload); const resp = yield call(service.RA, playload);
console.log(resp) console.log(resp)
...@@ -103,9 +117,11 @@ export default { ...@@ -103,9 +117,11 @@ export default {
let DataSaveDetail = resp.data; let DataSaveDetail = resp.data;
yield put({ type: 'DataSaveDetail', DataSaveDetail }); yield put({ type: 'DataSaveDetail', DataSaveDetail });
} break; } break;
case 16: { // case 16: {
console.log("等待删除完成") // console.log("等待删除完成")
} break; // var returnValue = resp;
// yield put({ type: 'ReturnValue', returnValue });
// } break;
case 32: { case 32: {
let communityInfo = resp; let communityInfo = resp;
yield put({ type: 'returnCommunityInfo', communityInfo }); yield put({ type: 'returnCommunityInfo', communityInfo });
...@@ -148,6 +164,13 @@ export default { ...@@ -148,6 +164,13 @@ export default {
var pageDate = playload var pageDate = playload
yield put({type: 'PageDate',pageDate}) yield put({type: 'PageDate',pageDate})
}, },
*DataClear({ }, { put }) {
var pageDate = null
yield put({type: 'returnPage',pageDate})
},
}, },
}; };
...@@ -71,7 +71,8 @@ const Model: LoginModelType = { ...@@ -71,7 +71,8 @@ const Model: LoginModelType = {
// tosUserName: "admin" // tosUserName: "admin"
// tosUserPhone: "18818881888" // tosUserPhone: "18818881888"
setCookie("name", response.token.tosUserName) setCookie("name", response.token.tosUserName)
setCookie("phone",response.token.tosUserPhone) setCookie("phone", response.token.tosUserPhone)
setCookie("id", response.token.id)
console.log("获取到Token:" + getCookie("token")) console.log("获取到Token:" + getCookie("token"))
yield put({type: 'saveToken',token: userMessage.token,userName:payload.userName,password:payload.password}); yield put({type: 'saveToken',token: userMessage.token,userName:payload.userName,password:payload.password});
const urlParams = new URL(window.location.href); const urlParams = new URL(window.location.href);
......
import React, { useState, useEffect,useRef} from 'react';
import { Input ,Tabs,Table,Result, Button} from 'antd';
const { TabPane } = Tabs;
import {connect,history} from 'umi';
import { RA } from '@/utils/method';
const module="User"
const ResultPage = (props:any) => {
const { dispatch, Data } = props;
const formRef = useRef(null)
const [resultTime, setResultTime] = useState(3);
function loop(i:number) {
if (i < 4) {
console.log(i)
setResultTime(4-i)
setTimeout(function(){loop(++i)},1000)
} else {
setResultTime(0)
history.go(-1)
}
}
useEffect(()=>{
loop(1)
},[])
const backPage = () => {
}
return (
<div style={{ width: "100%", minWidth: 1020, padding: 34, backgroundColor: "#ffffff" }}>
<Result
status="success"
title="Successfully submit the file!"
subTitle={<p>server has been handled it ,Wait for <strong>{resultTime}</strong> seconds to return automatically.</p>}
extra={[
<Button type="primary" key="ok" onClick={backPage}>Ok</Button>, <Button key="back" onClick={backPage}>Back</Button>
]}
/>
</div>
);
};
function map(state:any) {
const { Data} = state[module]
return { Data}
}
export default connect(map)(ResultPage);
\ No newline at end of file
import React, { useState, useEffect,useRef} from 'react';
import { Input ,Tabs,Table,Result, Button} from 'antd';
const { TabPane } = Tabs;
import {connect,history} from 'umi';
import { RA } from '@/utils/method';
const module="User"
const ResultPageFailed = (props:any) => {
const { dispatch, Data } = props;
const formRef = useRef(null)
const [resultTime, setResultTime] = useState(3);
const backPage = () => {
history.go(-1)
}
return (
<div style={{ width: "100%", minWidth: 1020, padding: 34, backgroundColor: "#ffffff" }}>
<Result
status="error"
title="Error submit the file!"
subTitle={<p>server has been handled it ,please try again or back.</p>}
extra={[
<Button type="primary" key="ok" ><a href="http://47.74.233.180:8651/tos/excel/down?operator_id=123456" >Download</a></Button>, <Button key="back" onClick={backPage}>Back</Button>
]}
/>
</div>
);
};
function map(state:any) {
const { Data} = state[module]
return { Data}
}
export default connect(map)(ResultPageFailed);
\ No newline at end of file
import React, { useState, useEffect,useRef} from 'react';
import { Input ,Tabs,Table,Space, Button} from 'antd';
const { TabPane } = Tabs;
import {connect,history} from 'umi';
import { RA } from '@/utils/method';
const module="User"
const UserMemberDetail = (props:any) => {
const { dispatch, Data } = props;
const formRef = useRef(null)
return (
<div style={{ width: "100%", minWidth: 1020, padding: 34, backgroundColor: "#ffffff" }}>
</div>
);
};
function map(state:any) {
const { Data} = state[module]
return { Data}
}
export default connect(map)(UserMemberDetail);
\ No newline at end of file
...@@ -10,7 +10,7 @@ import TitleSearch from '../../../components/TitleSearch/TitleSearch'; ...@@ -10,7 +10,7 @@ import TitleSearch from '../../../components/TitleSearch/TitleSearch';
import { timestampToTime } from '../../../utils/time'; import { timestampToTime } from '../../../utils/time';
import { PAGE, RA, URLCLEAR } from '@/utils/method'; import { PAGE, RA, URLCLEAR, getCookie, DataClear } from '@/utils/method';
import PageData from '@/models/Common/PageData'; import PageData from '@/models/Common/PageData';
const module = "User" const module = "User"
...@@ -37,98 +37,110 @@ const Users = (props:any) => { ...@@ -37,98 +37,110 @@ const Users = (props:any) => {
// const string2mean = [[0, "未注册"], [1, "注册"], [2, "注销"]] // const string2mean = [[0, "未注册"], [1, "注册"], [2, "注销"]]
const string2mean=[[0, "Unregistered"],[1,"Registered"], [2,"Deregistered"]] const string2mean=[[0, "Unregistered"],[1,"Registered"], [2,"Deregistered"]]
const [curString, setCurString] = useState(null) const [curString, setCurString] = useState({ defaultCurrent: 1 })
const [compent,setCompent]=useState({loading:false,fileUploading:false})
const [TestData, setTestData] = useState(null)//{ rows: [], total:0,defaultCurrent:1 }
const [pageStart, setPageStart] = useState(false)
const columns = [
{ title: username, dataIndex: 'owerName', },
{title: project,dataIndex: 'communityName',},
{title: unit,render:(text: any, record: any) => (<div>{record.buildingNumber+"#"+record.floorNumber+"—"+record.roomNumber}</div>)},
{ title: status, dataIndex: 'enable', render: (text: any, record: any) => (<div>{string2mean[text][1]}</div>)},
{title: submissionTime,render:(text: any, record: any) => (<div>{timestampToTime(record.createTime.time)}</div>)},
{title: actions,
render: (text: any, record: any) => (
<Space size="middle">
<a onClick={goToEdit.bind(this, record)} disabled={record.enable==2?true:false}>Edit</a>
<a onClick={goToDetail.bind(this,record)}>Detail</a>
</Space>
),
},
];
const [fileUpload, setFileUpload] = useState(false); const changeValue = (key:any,value: any) => {
const [fileUploading,setFileUploading]=useState(false) var tmp = compent;tmp[key] = value;setCompent(tmp)
const [resultTime, setResultTime] = useState(3); }
// 上传的模块
const propsUpload = { const propsUpload = {
name: 'file', name: 'file',
action: 'http://47.74.233.180:8651/tos/excel/upload?userId=369', action: ()=>{return "http://47.74.233.180:8651/tos/excel/upload?userId=" + getCookie("id")},
onChange(info) { onChange(info) {
if (info.file.status == 'uploading') { if (info.file.status == 'uploading') {
setFileUploading(true) changeValue("fileUploading",true)
// console.log(info.file, info.fileList);
} }
if (info.file.status === 'done') { if (info.file.status === 'done') {
setFileUpload(true) if (info.file.response.data.error_code == "0000") {
setFileUploading(false) history.push(location.pathname+"/Result")
// message.success(`${info.file.name} file uploaded successfully`); } else {
history.push(location.pathname+"/ResultFailed")
message.error(`${info.file.name} file upload failed.`);
changeValue("fileUploading",false)
}
} else if (info.file.status === 'error') { } else if (info.file.status === 'error') {
message.error(`${info.file.name} file upload failed.`); message.error(`${info.file.name} file upload failed.`);
setFileUploading(false) changeValue("fileUploading",false)
} }
}, },
showUploadList:false, showUploadList:false,
} }
useEffect(() => {
if (fileUpload) {
var index=2
var timer = setInterval(() => {
setResultTime(index)
index--
if (index == -1) {
setFileUpload(false)
setResultTime(3)
clearInterval(timer)
}
}, 1000)
}
}, [fileUpload])
const backPage = () => {
setFileUpload(false)
setResultTime(3)
}
useEffect(() => {
// useEffect(() => {
if (CommunityList != null) { // if (CommunityList != null) {
console.log("小组件开始请求") // console.log("小组件开始请求")
RA(12, { // if (pageData != null) {
ownerName: null, // console.log(pageData)
communityArray: CommunityList // }
}, module, dispatch); // RA(12, {
} // ownerName: pageData != null?pageData.search.name:null,
}, [CommunityList]) // communityArray: pageData != null?pageData.search.cell:CommunityList
// }, module, dispatch);
// }
// }, [CommunityList])
useEffect(() => { useEffect(() => {
if (Data != null) { if (pageStart == false) {
var tmp = { serach: { name: null, cell: null }, defaultCurrent: 1, total: 0 }
if (history_url != null && history.location.pathname != history_url) { if (history_url != null && history.location.pathname != history_url) {
console.log("旧页面"); console.log("来自上层数据")
console.log(history_url)
console.log( history.location.pathname ) var tmp = Data
console.log(pageData) tmp.defaultCurrent = pageData.defaultCurrent
tmp.defaultCurrent = pageData.defaultCurrent; var tmp2 = curString; tmp2.defaultCurrent = pageData.defaultCurrent;setCurString(tmp2)
} else { setTestData(tmp)
console.log("新页面")
} // URLCLEAR(module2, dispatch)
}else {
tmp.total = Data.total var tmp={rows:[], total:0,defaultCurrent:1}
setTestData(tmp)
setCurString(tmp) }
console.log(tmp) }
URLCLEAR(module2, dispatch) if (pageStart == true) {
if (Data != null) {
console.log("可以接受值2")
console.log(Data)
changeValue("loading",false)
setTestData(Data)
}
} }
}, [Data]) }, [Data])
useEffect(() => {
setPageStart(true)
},[])
const goToDetail = (values:any,e:any) => { const goToDetail = (values:any,e:any) => {
SA(values) SA(values)
console.log("保存页面参数") PAGE(curString,module3,dispatch)//保存页面参数
console.log(curString)
PAGE(curString,module3,dispatch)
history.push(location.pathname+'/Detail') history.push(location.pathname+'/Detail')
} }
const goToEdit = (values: any, e: any) => { const goToEdit = (values: any, e: any) => {
SA(values) SA(values)
PAGE(curString,module3,dispatch)
history.push(location.pathname+'/Edit') history.push(location.pathname+'/Edit')
} }
...@@ -136,80 +148,52 @@ const Users = (props:any) => { ...@@ -136,80 +148,52 @@ const Users = (props:any) => {
history.push(location.pathname+'/Add') history.push(location.pathname+'/Add')
} }
const columns = [
{ title: username, dataIndex: 'owerName', },
{title: project,dataIndex: 'communityName',},
{title: unit,render:(text: any, record: any) => (<div>{record.buildingNumber+"#"+record.floorNumber+"—"+record.roomNumber}</div>)},
{ title: status, dataIndex: 'enable', render: (text: any, record: any) => (<div>{string2mean[text][1]}</div>)},
{title: submissionTime,render:(text: any, record: any) => (<div>{timestampToTime(record.createTime.time)}</div>)},
{title: actions,
render: (text: any, record: any) => (
<Space size="middle">
<a onClick={goToEdit.bind(this, record)} disabled={record.enable==2?true:false}>Edit</a>
<a onClick={goToDetail.bind(this,record)}>Detail</a>
</Space>
),
},
];
const CallBackTitleSearch = (comment: any)=>{ const CallBackTitleSearch = (comment: any)=>{
console.log(comment) console.log(comment)
var tmp = curString
tmp.total = 0
tmp.serach.name = comment.OwnerName
tmp.serach.cell=comment.serviceCommunityList
setCurString(tmp)
RA(12, { RA(12, {
ownerName: comment.OwnerName, ownerName: comment.OwnerName,
communityArray: comment.serviceCommunityList communityArray: comment.serviceCommunityList
},module,dispatch); }, module, dispatch);
} changeValue("loading",true)
const pageChange = (values:any)=>{
var tmp = curString
tmp.defaultCurrent = values.current
setCurString(tmp)
} }
const pageChange = (values: any) => {
var tmp = curString; tmp.defaultCurrent = values.current;setCurString(tmp)
}
return ( return (
<div className={styles.base}> <div className={styles.base}>
{/* 头部组件 */} {/* 头部组件 */}
{fileUpload!=true? <>
<TitleSearch <TitleSearch listkey={["OwnerName"]} list={["Owner Name"]} community={"serviceCommunityList"} onSubmit={CallBackTitleSearch} />
listkey={["OwnerName"]}
list={["Owner Name"]}
community={"serviceCommunityList"}
onSubmit={CallBackTitleSearch} />
{/* 内容组件 */} {/* 内容组件 */}
<div className={styles.box2}> <div className={styles.box2}>
<button className={styles.buttonAdd2} onClick={goToAdd}>Create New Owner</button> <button className={styles.buttonAdd2} onClick={goToAdd}>Create New Owner</button>
<div className={styles.buttonAdd} > <div className={styles.buttonAdd} >
<Upload {...propsUpload}> <Upload {...propsUpload}>
<Button icon={fileUploading?null:<UploadOutlined />}>{fileUploading?<><Spin indicator={<LoadingOutlined style={{ fontSize: 16 }} spin />} /> Uploading</>:"Batch Upload"}</Button> <Button icon={compent.fileUploading?null:<UploadOutlined />}>{compent.fileUploading?<><Spin indicator={<LoadingOutlined style={{ fontSize: 16 }} spin />} /> Uploading</>:"Batch Upload"}</Button>
</Upload> </Upload>
</div> </div>
</div> </div>
{/* 列表组件 */} {/* 列表组件 */}
<Spin spinning={compent.loading}>
{ {
Data != null ? TestData != null ?
<Table rowKey={"id"} style={{ marginTop: 16 }} dataSource={Data.rows} columns={columns} pagination={curString} onChange={pageChange} /> <>
<Table rowKey={"id"} style={{ marginTop: 16 }} dataSource={TestData.rows} columns={columns} pagination={TestData} onChange={pageChange} />
</>
: null : null
} }
</> : </Spin>
<Result
status="success"
title="Successfully submit the file!"
subTitle={<p>server has been handled it ,Wait for <strong>{resultTime}</strong> seconds to return automatically.</p>}
extra={[
<Button type="primary" key="ok" onClick={backPage}>Ok</Button>, <Button key="back" onClick={backPage}>Back</Button>
]}
/>
}
</div> </div>
); );
......
import React, { useState, useEffect,useRef } from 'react'; import React, { useState, useEffect,useRef } from 'react';
import { Input ,Tabs,Table,Space,Pagination,Tooltip, Button,Form,Row,Col, message} from 'antd'; import { Input ,Tabs,Table,Space,Pagination,Tooltip, Button,Form,Row,Col, message,Spin} from 'antd';
const { TabPane } = Tabs; const { TabPane } = Tabs;
import { Link, useIntl, connect, Dispatch } from 'umi'; import { Link, useIntl, connect, Dispatch } from 'umi';
import styles from './UsersAdd.less'; import styles from './UsersAdd.less';
...@@ -11,25 +11,29 @@ import { checkParam } from '../../../utils/method' ...@@ -11,25 +11,29 @@ import { checkParam } from '../../../utils/method'
import TableShow from '@/components/TableShow/TableShow'; import TableShow from '@/components/TableShow/TableShow';
import { values, fromPairs } from 'lodash'; import { values, fromPairs } from 'lodash';
import { timestampToTime } from '@/utils/time'; import { timestampToTime } from '@/utils/time';
import { validateMessages } from '@/utils/params';
const UsersDetail = (props:any) => { const UsersDetail = (props:any) => {
const { dispatch,DataSave,DataSaveDetail,Result} = props; const { dispatch,DataSave,DataSaveDetail,Result,returnValue} = props;
const RA = (index: any, values: any) => { dispatch({ type: 'User/RA', playload: { index: index, body: values } }) }; const RA = (index: any, values: any) => { dispatch({ type: 'User/RA', playload: { index: index, body: values } }) };
const ResultClear = () => { dispatch({ type: 'User/ResultClear' }) }; const ResultClear = () => { dispatch({ type: 'User/ResultClear' }) };
const [postman, setPostman] = useState({ extend: null, tab: 1 })
const [memberDetail, setMemberDetail] = useState(false); const [memberDetail, setMemberDetail] = useState(false);
const [memberData, setMemberData] = useState(null); const [memberData, setMemberData] = useState(null);
const [editFlag, setEditFlag] = useState(false) const [editFlag, setEditFlag] = useState(false)
const user_status = [[1, "家属"], [2, "租户"]] const user_status = [[1, "家属"], [2, "租户"]]
const user_type_status = ["Registered", "Unregistered", "Cancellation"] const user_type_status = ["Unregistered", "registered", "Deregistered"]
const [DataSaveLoading, setDataSaveLoading] = useState(false);
const formRef = useRef(null); const formRef = useRef(null);
const onFinish=(values:any) => { const onFinish=(values:any) => {
if (DataSave != null) { if (DataSave != null) {
values.id=DataSave.id values.id = DataSave.id
values.enable=DataSave.enable
} else { } else {
values.id=null values.id=null
} }
...@@ -38,7 +42,7 @@ const UsersDetail = (props:any) => { ...@@ -38,7 +42,7 @@ const UsersDetail = (props:any) => {
console.log("添加业主提交的参数:" + tmp.length) console.log("添加业主提交的参数:" + tmp.length)
console.log(values) console.log(values)
if (checkParam(values)) { if (checkParam(values)) {
RA(18, values) RA(18, values)
} else { } else {
message.error("Error,Please finish it,not empty!",3) message.error("Error,Please finish it,not empty!",3)
} }
...@@ -52,7 +56,18 @@ const UsersDetail = (props:any) => { ...@@ -52,7 +56,18 @@ const UsersDetail = (props:any) => {
ResultClear() ResultClear()
} }
} }
},[Result]) }, [Result])
useEffect(()=>{
if (returnValue != null) {
message.success("Delete Successfully!")
RA(13, {
id:DataSave.id,
owerName: DataSave.owerName,
enable:DataSave.enable,
})
}
},[returnValue])
useEffect(() => { useEffect(() => {
if (DataSave != null) { if (DataSave != null) {
console.log("页面数据") console.log("页面数据")
...@@ -62,39 +77,34 @@ const UsersDetail = (props:any) => { ...@@ -62,39 +77,34 @@ const UsersDetail = (props:any) => {
owerPhone: DataSave.owerPhone, owerPhone: DataSave.owerPhone,
owerEmail:DataSave.owerEmail owerEmail:DataSave.owerEmail
} }
formRef.current.setFieldsValue(tmp) formRef.current.setFieldsValue(tmp)
RA(13, { RA(13, {
ownerId:DataSave.id, id:DataSave.id,
owerName:DataSave.owerName, owerName: DataSave.owerName,
enable:DataSave.enable,
}) })
} else {
history.go(-1)
} }
}, [DataSave]) }, [DataSave])
useEffect(() => { useEffect(() => {
if (DataSaveDetail != null) {
console.log("页面数据副歌") if (DataSaveDetail!=null) {
console.log(DataSaveDetail) console.log("页面数据副歌")
} console.log(DataSaveDetail)
setDataSaveLoading(false)
}
}, [DataSaveDetail]) }, [DataSaveDetail])
useEffect(() => { useEffect(() => {
if ((location.pathname).indexOf("Edit") > -1) { if ((location.pathname).indexOf("Edit") > -1) {
setEditFlag(true) setEditFlag(true)
} }
setDataSaveLoading(true)
}, []) }, [])
const extendName = (values: any) => {
var tmp = postman
tmp.extend=values
setPostman(tmp)
}
const checkInput = (e: any) => {
console.log(e)
if (e.target.value.length == 1) {
message.error("Ower Name Should be limit 2~30!",3)
}
}
const tableShowCallback = (values: any) => { const tableShowCallback = (values: any) => {
console.log("成员信息") console.log("成员信息")
console.log(values) console.log(values)
...@@ -123,30 +133,37 @@ const UsersDetail = (props:any) => { ...@@ -123,30 +133,37 @@ const UsersDetail = (props:any) => {
<div className={styles.base}> <div className={styles.base}>
{ {
memberDetail==false ? <> memberDetail == false ? <>
<TitleBack sublist={['Status : '+user_type_status[DataSave.enable],'Create Time : '+timestampToTime(DataSave.createTime.time)]} title={editFlag?"Edit Owner Infomation":"Owner Detail"} /> {
<Form ref={formRef} name="basic" onFinish={onFinish}> DataSave != null ? <>
<div className={styles.box1}> <TitleBack sublist={['Status : '+user_type_status[DataSave.enable],'Create Time : '+timestampToTime(DataSave.createTime.time)]} title={editFlag?"Edit Owner Infomation":"Owner Detail"} />
<div className={styles.box1item1}>Owner's Name</div> <Form ref={formRef} name="basic" onFinish={onFinish} validateMessages={validateMessages}>
<div className={styles.box1item2}><Form.Item name="owerName" ><Input disabled={!editFlag} placeholder="Ower Name" onBlur={checkInput} maxLength={30} /></Form.Item></div> <div className={styles.box1}>
</div> <div className={styles.box1item1}>Owner's Name</div>
<div className={styles.box1item2}><Form.Item name="owerName" rules={[{ required: true, min: 2, max: 30 }]} ><Input disabled={!editFlag} placeholder="Ower Name" /></Form.Item></div>
<div className={styles.box4}> </div>
<div className={styles.box4item0}>Contact Details</div>
<div className={styles.box4item1}><Form.Item name="owerPhone" ><Input disabled={!editFlag} placeholder="Phone Number" /></Form.Item></div> <div className={styles.box4}>
<div className={styles.box4item2}><Form.Item name="owerEmail" ><Input disabled={!editFlag} placeholder="Email" /></Form.Item></div> <div className={styles.box4item0}>Contact Details</div>
</div> <div className={styles.box4item1}><Form.Item name="owerPhone" ><Input disabled={!editFlag} placeholder="Phone Number" /></Form.Item></div>
<Line /> <div className={styles.box4item2}><Form.Item name="owerEmail" rules={[{required:true,type:"email"}]} ><Input disabled={!editFlag} placeholder="Email" /></Form.Item></div>
{ </div>
DataSaveDetail != null ? <TableShow data={DataSaveDetail} onSubmit={tableShowCallback} onChange={deleteUnit} deleteDisable={editFlag}/> : null
}
{
editFlag ? <>
<Line /> <Line />
<Form.Item ><Button type="primary" htmlType="submit">Submit</Button></Form.Item> <Spin spinning={DataSaveLoading} tip="Loading Detial">
</>:null {
} DataSaveDetail != null ? <TableShow data={DataSaveDetail} onSubmit={tableShowCallback} onChange={deleteUnit} deleteDisable={editFlag}/> : null
</Form> }
{
editFlag ? <>
<Line />
<Form.Item ><Button type="primary" htmlType="submit">Submit</Button></Form.Item>
</>:null
}
</Spin>
</Form>
</>:null
}
</> : </> :
<> <>
<div> <div>
...@@ -168,18 +185,20 @@ const UsersDetail = (props:any) => { ...@@ -168,18 +185,20 @@ const UsersDetail = (props:any) => {
<Button type="danger" onClick={DeleteMember}>Delete</Button> <Button type="danger" onClick={DeleteMember}>Delete</Button>
</div> </div>
</> </>
} }
</div> </div>
); );
}; };
function mapStateToProps(state:any) { function mapStateToProps(state:any) {
const { DataSave,DataSaveDetail,Result} = state.User; const { DataSave,DataSaveDetail,Result,returnValue} = state.User;
return { return {
DataSave, DataSave,
DataSaveDetail, DataSaveDetail,
Result Result,
returnValue,
}; };
} }
export default connect(mapStateToProps)(UsersDetail); export default connect(mapStateToProps)(UsersDetail);
......
...@@ -33,7 +33,7 @@ const Guard = (props:any) => { ...@@ -33,7 +33,7 @@ const Guard = (props:any) => {
return ( return (
<div className={styles.base}> <div className={styles.base}>
<TitleGet title={"Version 1.1.2"} /> <TitleGet title={"Version 1.1.4"} />
<p> <p>
token:{page.token} token:{page.token}
name:{getCookie("name")} name:{getCookie("name")}
......
...@@ -101,9 +101,13 @@ const requestList = [ ...@@ -101,9 +101,13 @@ const requestList = [
["/tos/home/page/community/houseCard/add", "35 申请住户卡"], ["/tos/home/page/community/houseCard/add", "35 申请住户卡"],
["/tos/property/community/houseCard/query/detail", "36 获取住户卡详情"], ["/tos/property/community/houseCard/query/detail", "36 获取住户卡详情"],
["/tos/property/decorate/record/get/detail", "37 获取装修记录详情"], ["/tos/property/decorate/record/get/detail", "37 获取装修记录详情"],
["/tos/users/save","38 新建后台信息"], ["/tos/users/save", "38 新建后台信息"],
["/tos/life/community/account/member/del","39 删除业主成员信息"],// {"id":"c06286cfe7b843cb96fdfcb987231123","ownerId":"6b359755a36b49c28241a4620fa6539b"}
] ]
const params = [ const params = [
{ "communityName": "" }, { "communityName": "" },
{ "communityNum": "", "noticTitlel": "" }, { "communityNum": "", "noticTitlel": "" },
......
...@@ -59,7 +59,7 @@ export const SA = (values: any, module: string, dispatch: any) => { dispatch({ t ...@@ -59,7 +59,7 @@ export const SA = (values: any, module: string, dispatch: any) => { dispatch({ t
export const PAGE = (values: any, module: string, dispatch: any) => { dispatch({ type: module + '/PAGE', playload: values }) }; export const PAGE = (values: any, module: string, dispatch: any) => { dispatch({ type: module + '/PAGE', playload: values }) };
export const URL = (values: any, module: string, dispatch: any) => { dispatch({ type: module + '/URL', playload: values }) }; export const URL = (values: any, module: string, dispatch: any) => { dispatch({ type: module + '/URL', playload: values }) };
export const URLCLEAR = (module: string, dispatch: any) => { dispatch({ type: module + '/URLCLEAR'}) }; export const URLCLEAR = (module: string, dispatch: any) => { dispatch({ type: module + '/URLCLEAR'}) };
export const DataClear = (module: string, dispatch: any) => { dispatch({ type: module + '/DataClear'}) };
export const ResultClear = (module:any,dispatch:any) => { dispatch({ type: module + '/ResultClear' }) }; export const ResultClear = (module:any,dispatch:any) => { dispatch({ type: module + '/ResultClear' }) };
// const reg = [["url", "categoriesImageUrl"], ["name", "categoriesName"]] // const reg = [["url", "categoriesImageUrl"], ["name", "categoriesName"]]
// const values = [{ categoriesImageUrl: "http://url", categoriesName: "A9" },{ categoriesImageUrl: "http://url...", categoriesName: "A8" }] // const values = [{ categoriesImageUrl: "http://url", categoriesName: "A9" },{ categoriesImageUrl: "http://url...", categoriesName: "A8" }]
......
export const validateMessages ={ export const validateMessages ={
required: 'please enter,it is required!', required: 'Please enter,it is required!',
types: { types: {
email: '${label} is not validate email!', email: 'It is not validate email!',
number: '${label} is not a validate number!', number: '${label} is not a validate number!',
string:'${label} is not a validate number!' string:'${label} is not a validate number!'
}, },
string: { string: {
range: 'it must be between ${min} and ${max}', range: 'It must be between ${min} and ${max}',
}, },
number: { number: {
range: '${label} must be between ${min} and ${max}', range: '${label} must be between ${min} and ${max}',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment