Commit 1d108a9c authored by Sixiang_Zzb's avatar Sixiang_Zzb

装修申请模块bug处理

parent c66f055c
......@@ -23,7 +23,7 @@ const SearchOptionsCommnity = (props: any) => {
<>
{CommunityList != null ? (
// <SearchOptions
// titleSearch={titleSearch}
// titleSearch={titleSearch}s
// disabled={disabled}
// placeholder={placeholder}
// defaultValue={props.defaultValue!=null?props.defaultValue:value}
......
......@@ -21,35 +21,35 @@ export default {
},
reducers: {
returnPage(state, { Data }) {
returnPage(state: object, { Data }: any) {
return { ...state, Data };
},
returnDataSave(state, { DataSave }) {
returnDataSave(state: object, { DataSave }: any) {
return { ...state, DataSave };
},
returnCurData(state, { CurData }) {
returnCurData(state: object, { CurData }: any) {
return { ...state, CurData };
},
returnCurDataDetail(state, { CurDataDetail }) {
returnCurDataDetail(state: object, { CurDataDetail }: any) {
return { ...state, CurDataDetail };
},
returnPage7(state, { Data7 }) {
returnPage7(state: object, { Data7 }: any) {
return { ...state, Data7 };
},
returnPage8(state, { Data8 }) {
returnPage8(state: object, { Data8 }: any) {
return { ...state, Data8 };
},
returnResult(state, { Result }) {
returnResult(state: object, { Result }: any) {
return { ...state, Result };
},
returnDataSaveDetail(state, { DataSaveDetail }) {
returnDataSaveDetail(state: object, { DataSaveDetail }: any) {
return { ...state, DataSaveDetail };
},
},
effects: {
//预订设施查询
*RA({ playload }, { call, put }) {
*RA({ playload }: any, { call, put }: any) {
switch (playload.index) {
case 40:
{
......@@ -119,6 +119,11 @@ export default {
}
break;
case 37:
{
let DataSaveDetail = resp;
yield put({ type: 'returnDataSaveDetail', DataSaveDetail });
}
break;
case 36:
{
let DataSaveDetail = resp;
......@@ -135,50 +140,35 @@ export default {
}
},
// *TosCommunityServiceGetDetail({ playload }, { call, put }) {
// const resp = yield call(service.TosCommunityServiceGetDetail, playload);
// console.log(resp)
// if (resp.error_code !=0 ) {
// window.location.href = '/500';
// } else {
// var tmp = resp.data.rows[0].tosOwerModel;
// var tmp2 = resp.data.rows[0];
// console.log(tmp2.imgUrl)
// // TODO:还差图片
// var CurDataDetail = {
// community: tmp.communityName,
// address: tmp.addressAndpostalCode,
// home: tmp.buildingNumber+"#"+tmp.floorNumber+"-"+tmp.roomNumber,
// name: tmp.owerName,
// phone: tmp.owerPhone,
// email: tmp.owerEmail,
// content: resp.data.rows[0].serviceContent,
// status: tmp2.handleStatus,
// time:timestampToTime(tmp2.createTime.time)
// };
// yield put({ type: 'returnCurDataDetail', CurDataDetail, });
// }
// },
*SA({ playload }, { call, put }) {
*SA({ playload }: any, { call, put }: any) {
var DataSave = playload;
yield put({ type: 'returnDataSave', DataSave });
},
*setCurData({ playload }, { call, put }) {
*setCurData({ playload }: any, { call, put }: any) {
var CurData = playload;
yield put({ type: 'returnCurData', CurData });
},
*setCurDataDetail({ playload }, { call, put }) {
*setCurDataDetail({ playload }: any, { call, put }: any) {
var CurDataDetail = null;
yield put({ type: 'returnCurDataDetail', CurDataDetail });
},
*ResultClear({}, { put }) {
*ResultClear({}, { put }: any) {
var Result = null;
console.log('清除');
yield put({ type: 'returnResult', Result });
},
async DataSaveDetailClear({}, { put }: any) {
let DataSaveDetail = null;
await put({ type: 'returnDataSaveDetail', DataSaveDetail });
},
async DataSaveClear({}, { put }: any) {
let DataSave = null;
await put({ type: 'returnDataSave', DataSave });
},
},
};
......@@ -12,101 +12,137 @@ import TitleSearch from '../../components/TitleSearch/TitleSearch';
import { RA, SA, urlEncode, filterObj, filterObjbyTg } from '@/utils/method';
const module = "CommunityService"
const module = 'CommunityService';
const Card = (props: any) => {
const { dispatch, Data7 } = props;
const [readyData, setReadyData] = useState(null)
const [loading, setLoading] = useState(false)
const [readyData, setReadyData] = useState(null);
const [loading, setLoading] = useState(false);
// const apply_status = [[0, "审核中"], [1, "批准"], [2, "拒绝"], [3, "领取"]]
const apply_status = [[0, "Under review"], [1, "Approval"], [2, "Reject"], [3, "Claim"]]
const apply_status = [
[0, 'Under review'],
[1, 'Approval'],
[2, 'Reject'],
[3, 'Claim'],
];
const columns = objectColumns([
["所在小区", "community_name"],
["所在单元", null, (text: any, record: any) => (<Space size="middle">{record.build_number + "#" + record.floor_number + "-" + record.room_number}</Space>)],
["用户名", "community_owner"],
["申请时间", null, (text: any, record: any) => (<Space size="middle">{timestampToTime(record.create_time.time)}</Space>)],
["申请状态", "apply_status", (text: any, record: any) => (<Space size="middle">{apply_status[parseInt(text)][1]}</Space>)],
["Actions", null, (text: any, record: any) => (<Space size="middle"> <a onClick={goToDetail.bind(this, record)}>Detail</a></Space>)],
])
['Community Name', 'community_name'],
[
'Unit',
null,
(text: any, record: any) => (
<Space size="middle">
{record.build_number + '#' + record.floor_number + '-' + record.room_number}
</Space>
),
],
['Community Owner', 'community_owner'],
[
'Apply Time',
null,
(text: any, record: any) => (
<Space size="middle">{timestampToTime(record.create_time.time)}</Space>
),
],
[
'Apply Status',
'apply_status',
(text: any, record: any) => <Space size="middle">{apply_status[parseInt(text)][1]}</Space>,
],
[
'Actions',
null,
(text: any, record: any) => (
<Space size="middle">
{' '}
<a onClick={goToDetail.bind(this, record)}>Detail</a>
</Space>
),
],
]);
useEffect(() => {
if (Data7 != null) { setLoading(false) }
if (Data7 != null) {
setLoading(false);
}
}, [Data7]);
useEffect(() => {
//前置数据
console.log("前置数据");
let tmp: any = filterObjbyTg(location.query, ["handleStatus", "ownerName", "communityName", "current"])
tmp.handleStatus = apply_status[parseInt(tmp.handleStatus)] //特殊处理
setReadyData(tmp)
console.log('前置数据');
let tmp: any = filterObjbyTg(location.query, [
'handleStatus',
'ownerName',
'communityName',
'current',
]);
tmp.handleStatus = apply_status[parseInt(tmp.handleStatus)]; //特殊处理
setReadyData(tmp);
//获取数据
setLoading(true)
RA(31, { serviceType: "7", id: "" }, module, dispatch)
}, [])
setLoading(true);
RA(31, { serviceType: '7', id: '' }, module, dispatch);
}, []);
useEffect(() => {
if (Data7 != null) {
console.log("首页信息")
console.log(Data7)
console.log('首页信息');
console.log(Data7);
}
}, [Data7])
}, [Data7]);
const goToDetail = (values: any, e: any) => {
SA(values, module, dispatch)
history.push('./AccessCardApplication/Detail')
}
SA(values, module, dispatch);
history.push('./AccessCardApplication/Detail');
};
const goToAdd = (values: any, e: any) => {
history.push('./AccessCardApplication/Add')
}
history.push('./AccessCardApplication/Add');
};
//页面搜索
const ClickTitleSearch = (comment: any) => {
let tmp = filterObjbyTg(comment, ["handleStatus", "ownerName", "communityName"])
tmp["current"] = 1
console.log(tmp)
history.push(location.pathname + urlEncode(tmp))
}
let tmp = filterObjbyTg(comment, ['handleStatus', 'ownerName', 'communityName']);
tmp['current'] = 1;
console.log(tmp);
history.push(location.pathname + urlEncode(tmp));
};
return (
<div style={{ width: "100%", minWidth: 1020, padding: 34, backgroundColor: "#ffffff" }}>
{
Data7 != null ?
<>
<TitleSearch
communitySelect={true}
listkey={['ownerName']}
list={['Owner Name']}
status={[{ name: ["handleStatus", "Status"], data: apply_status }]}
defaultValue={readyData}
onSubmit={ClickTitleSearch}
/>
<div style={{ height: 80, position: "relative" }}>
<div style={{ position: "absolute", right: 0 }}>
<Button type="primary" onClick={goToAdd}>Apply Card</Button>
</div>
<div style={{ width: '100%', minWidth: 1020, padding: 34, backgroundColor: '#ffffff' }}>
{Data7 != null ? (
<>
<TitleSearch
communitySelect={true}
listkey={['ownerName']}
list={['Owner Name']}
status={[{ name: ['handleStatus', 'Status'], data: apply_status }]}
defaultValue={readyData}
onSubmit={ClickTitleSearch}
/>
<div style={{ height: 80, position: 'relative' }}>
<div style={{ position: 'absolute', right: 0 }}>
<Button type="primary" onClick={goToAdd}>
Apply Card
</Button>
</div>
<Table loading={loading} rowKey="id" style={{ marginTop: 16 }}
dataSource={Data7.data.rows}
columns={columns}
pagination={{ defaultCurrent: 1, total: Data7.total }} />
</>
: null
}
</div>
<Table
loading={loading}
rowKey="id"
style={{ marginTop: 16 }}
dataSource={Data7.data.rows}
columns={columns}
pagination={{ defaultCurrent: 1, total: Data7.total }}
/>
</>
) : null}
</div>
);
};
function map(state: any) {
const { Data7 } = state[module]
return { Data7 }
const { Data7 } = state[module];
return { Data7 };
}
export default connect(map)(Card);
This diff is collapsed.
......@@ -118,11 +118,9 @@ const PropertyServices = (props: any) => {
40,
{
serviceType: serviceType,
...tmp,
handleStatus:
location.query.handleStatus != undefined ? parseInt(location.query.handleStatus) : null,
ownerName: location.query.ownerName != undefined ? location.query.ownerName : null,
communityName:
location.query.communityName != undefined ? location.query.communityName : null,
pageNum,
},
module,
......
......@@ -11,6 +11,9 @@ import { RA, SA, urlEncode, filterObj, filterObjbyTg } from '@/utils/method';
import { objectColumns, stringTab } from '@/utils/string';
import { timestampToTime } from '@/utils/time';
const module = 'CommunityService';
let pageNum: number = 1;
const Renovation = (props: any) => {
// const decoration_status = [[0, "待处理"], [1, "已批准"], [2, "已拒绝"]]
const decoration_status = [
......@@ -18,17 +21,8 @@ const Renovation = (props: any) => {
[1, 'Approved'],
[2, 'Rejected'],
];
const pathname = [
'CommunityMaintenance',
'ShelfLifeService',
'OwnerComplaints',
'ReportOnline',
'ProblemFeedback',
];
const [loading, setLoading] = useState(false);
const [serviceTypeGobal, setServiceType] = useState('');
const [pageNum, setPageNum] = useState(1);
const [readyData, setReadyData] = useState(null);
const columns = objectColumns([
......@@ -64,25 +58,34 @@ const Renovation = (props: any) => {
]);
const { dispatch, Data8, location } = props;
console.log(Data8);
useEffect(() => {
if (location != null) {
//前置数据
console.log('前置数据');
let tmp: any = filterObjbyTg(location.query, [
'handleStatus',
'ownerName',
'communityName',
'current',
]);
tmp.handleStatus = decoration_status[parseInt(tmp.handleStatus)]; //特殊处理
setReadyData(tmp);
//获取数据
setLoading(true);
RA(23, { serviceType: '6', id: '' }, module, dispatch);
//分页设置
if (location.query.pageNum != null) {
pageNum = parseInt(location.query.pageNum);
} else {
pageNum = 1;
}
//前置数据
console.log('前置数据');
let tmp: any = filterObjbyTg(location.query, ['handleStatus', 'applyforName', 'communityName']);
tmp.handleStatus = decoration_status[parseInt(tmp.handleStatus)]; //特殊处理
setReadyData(tmp);
//获取数据
setLoading(true);
RA(
23,
{
...tmp,
handleStatus:
location.query.handleStatus != undefined ? parseInt(location.query.handleStatus) : null,
pageNum,
},
module,
dispatch,
);
}, [location]);
useEffect(() => {
......@@ -93,14 +96,21 @@ const Renovation = (props: any) => {
//页面搜索
const ClickTitleSearch = (comment: any) => {
let tmp = filterObjbyTg(comment, ['handleStatus', 'ownerName', 'communityName']);
tmp['current'] = 1;
let tmp = filterObjbyTg(comment, ['handleStatus', 'applyforName', 'communityName']);
pageNum = 1;
history.push(location.pathname + urlEncode(tmp));
};
const goToDetail = (values: any, e: any) => {
SA(values, module, dispatch);
history.push('./RenovationApplication/Detail');
// SA(values, module, dispatch);
history.push('./RenovationApplication/Detail?id=' + values.id);
};
const PageChange = (values: any) => {
//页面跳转参数
var tmp = filterObjbyTg(location.query, ['handleStatus', 'ownerName', 'communityName']);
tmp['pageNum'] = values.current;
history.push(location.pathname + urlEncode(tmp));
};
return (
<div style={{ width: '100%', minWidth: 1020, padding: 34, backgroundColor: '#ffffff' }}>
......@@ -108,7 +118,7 @@ const Renovation = (props: any) => {
<>
<TitleSearch
communitySelect={true}
listkey={['ownerName']}
listkey={['applyforName']}
list={['Owner Name']}
status={[{ name: ['handleStatus', 'Status'], data: decoration_status }]}
defaultValue={readyData}
......@@ -120,7 +130,13 @@ const Renovation = (props: any) => {
style={{ marginTop: 16 }}
dataSource={Data8.data.rows}
columns={columns}
pagination={{ defaultCurrent: 1, total: Data8.total }}
onChange={PageChange}
pagination={{
current: pageNum,
defaultPageSize: 15,
total: Data8.data.page.totalRow,
showSizeChanger: false,
}}
/>
</>
) : null}
......
......@@ -2,133 +2,140 @@
//基石
.base {
width: 100%;
background-color: #ffffff;
padding: 34px;
min-width: 1020px;
overflow-x:auto
width: 100%;
background-color: #ffffff;
padding: 34px;
min-width: 1020px;
overflow-x: auto;
}
//边栏1
.box{
width: 100%;
height: 64px;
position: relative;
}
.item1{
position: absolute;
width: 180px;
text-align: center;
border-left: 5px solid rgba(24,144,255,1);
font-family:'Source Han Sans CN';
font-size: 18px;
font-weight: 600;
color: #000000;
.box {
width: 100%;
height: 64px;
position: relative;
}
.item1 {
position: absolute;
width: 180px;
text-align: center;
border-left: 5px solid rgba(24, 144, 255, 1);
font-family: 'Source Han Sans CN';
font-size: 18px;
font-weight: 600;
color: #000000;
}
.item2 {
width: 300px;
position: absolute;
left: (180px+36px);
line-height: 30px;
}
.item3 {
width: 80px;
height: 32px;
position: absolute;
right: 0;
}
.item2{
width:300px;
position: absolute;
left: (180px+36px);
line-height: 30px;
}
.item3{
width:80px;
height: 32px;
position: absolute;
right: 0;
outline: none;
background:none;
cursor: pointer;
outline: none;
background: none;
cursor: pointer;
border:1px solid rgba(217,217,217,1);
border-radius:2px;
border: 1px solid rgba(217, 217, 217, 1);
border-radius: 2px;
}
.box2{
width: 100%;
height: 80px;
text-align: center;
position: relative;
.box2 {
width: 100%;
height: 130px;
text-align: center;
position: relative;
}
.item21{
line-height: 32px;
width: 200px;
position: absolute;
}
.item22{
line-height: 32px;
position: absolute;
left: 200px;
width: 200px;
height: 32px;
border:1px solid rgba(217,217,217,1);
border-radius:2px;
}
.item23{
line-height: 32px;
position: absolute;
left: 416px;
border:1px solid rgba(217,217,217,1);
border-radius:2px;
width: 94px;
height: 32px;
}
.item234{
line-height: 32px;
height: 32px;
position: absolute;
left: 514px;
}
.item24{
line-height: 32px;
border:1px solid rgba(217,217,217,1);
border-radius:2px;
position: absolute;
left: 529px;
width: 80px;
height: 32px;
}
.item245{
line-height: 32px;
position: absolute;
left: 609px;
}
.item25{
line-height: 32px;
width: 112px;
height: 32px;
border:1px solid rgba(217,217,217,1);
border-radius:2px;
position: absolute;
left: 640px;
}
.item26{
width: 200px;
height: 32px;
line-height: 32px;
border:1px solid rgba(217,217,217,1);
border-radius:2px;
position: absolute;
left: 780px;
.item21 {
line-height: 32px;
width: 200px;
position: absolute;
}
.item22 {
line-height: 32px;
position: absolute;
left: 200px;
width: 200px;
height: 32px;
border: 1px solid rgba(217, 217, 217, 1);
border-radius: 2px;
}
.item23 {
line-height: 32px;
position: absolute;
left: 416px;
border: 1px solid rgba(217, 217, 217, 1);
border-radius: 2px;
width: 140px;
height: 32px;
}
.item234 {
line-height: 32px;
height: 32px;
position: absolute;
left: 665px;
}
.item24 {
line-height: 32px;
border: 1px solid rgba(217, 217, 217, 1);
border-radius: 2px;
position: absolute;
left: 580px;
width: 80px;
height: 32px;
}
.item245 {
line-height: 32px;
position: absolute;
left: 766px;
}
.item25 {
line-height: 32px;
width: 80px;
height: 32px;
border: 1px solid rgba(217, 217, 217, 1);
border-radius: 2px;
position: absolute;
left: 680px;
}
.item26 {
width: 80px;
height: 32px;
line-height: 32px;
border: 1px solid rgba(217, 217, 217, 1);
border-radius: 2px;
position: absolute;
left: 800px;
}
.item27 {
width: 200px;
height: 32px;
line-height: 32px;
border: 1px solid rgba(217, 217, 217, 1);
border-radius: 2px;
position: absolute;
left: 200px;
top: 55px;
}
.box3out{
padding-left: 200px;
.box3out {
padding-left: 200px;
}
.box3{
width: 780px;
border:1px solid rgba(217,217,217,1);
background-color: rgba(244,244,244,1);
cursor: pointer;
overflow: auto;
.box3 {
width: 780px;
border: 1px solid rgba(217, 217, 217, 1);
background-color: rgba(244, 244, 244, 1);
cursor: pointer;
overflow: auto;
}
.box3of{
cursor: pointer;
.box3of {
cursor: pointer;
}
.box4{
padding-left: 200px;
.box4 {
padding-left: 200px;
}
......@@ -38,10 +38,11 @@ const ChargeDetail = (props: any) => {
const pageChange = (curpage: any) => {
setCurpage(curpage);
};
const goToReturn = () => {
if (!CurData) {
history.back();
};
console.log(CurData);
}
return (
<div className={styles.base}>
{CurData ? (
......@@ -53,18 +54,19 @@ const ChargeDetail = (props: any) => {
<div className={styles.box2}>
<div className={styles.item21}>Project (community)</div>
<div className={styles.item22}>{CurData.billName}</div>
<div className={styles.item23}>{CurData.communityName}</div>
<div className={styles.item24}>{CurData.floorNumber}</div>
<div className={styles.item22}>{CurData.communityName}</div>
<div className={styles.item23}>Street name</div>
<div className={styles.item24}>{CurData.buildingNumber}</div>
<div className={styles.item234}>#</div>
<div className={styles.item25}>{CurData.roomNumber}</div>
<div className={styles.item25}>{CurData.floorNumber}</div>
<div className={styles.item245}>——</div>
<div className={styles.item26}>{CurData.tosOwnerName}</div>
<div className={styles.item26}>{CurData.roomNumber}</div>
<div className={styles.item27}>业主姓名</div>
</div>
<>{stringSplit(CurData.billFileUrl, 'm/cash')}</>
<div className={styles.box4}>
{/* <>{stringSplit(CurData.billFileUrl, 'm/cash')}</> */}
{/* <div className={styles.box4}>
<Pagination simple defaultCurrent={curpage} total={pages * 10} onChange={pageChange} />
</div>
</div> */}
<>
<Tooltip title={scale == 1.3 ? '点击放大查看' : '还原视图'}>
<div className={scale == 1.3 ? styles.box3out : null}>
......
......@@ -5,7 +5,6 @@ import { Input, Menu, Table, Space } from 'antd';
import { Link, useIntl, connect, Dispatch, history } from 'umi';
import { timestampToTime } from '../../utils/time';
import { values } from 'lodash';
......@@ -14,48 +13,51 @@ const ChargeManager = (props: any) => {
const { formatMessage } = useIntl();
const { dispatch, location, Data } = props;
const get = (values: any) => { dispatch({ type: 'PropertyManagement/get', playload: values }) };
const getById = (values: any) => { dispatch({ type: 'PropertyManagement/getById', playload: values }) };
const get = (values: any) => {
dispatch({ type: 'PropertyManagement/get', playload: values });
};
const getById = (values: any) => {
dispatch({ type: 'PropertyManagement/getById', playload: values });
};
useEffect(() => {
get(null)
get(null);
}, []);
const nameofowner = formatMessage({ id: 'R.charge.input.nameofowner' })
const inputProject = formatMessage({ id: 'R.charge.input.project' })
const username = formatMessage({ id: 'R.charge.username' })
const project = formatMessage({ id: 'R.charge.project' })
const unit = formatMessage({ id: 'R.charge.unit' })
const status = formatMessage({ id: 'R.charge.status' })
const submissionTime = formatMessage({ id: 'R.charge.submissionTime' })
const actions = formatMessage({ id: 'R.charge.actions' })
const search = formatMessage({ id: 'R.charge.search' })
const addaccount = formatMessage({ id: 'R.charge.addaccount' })
const paymentsetting = formatMessage({ id: 'R.charge.paymentsetting' })
const menuListNormal = ["A", 'Accounting company']
const [display, setDisplay] = useState("A");//小组件:线框
const pagination = { defaultCurrent: 1, total: 16 }
const nameofowner = formatMessage({ id: 'R.charge.input.nameofowner' });
const inputProject = formatMessage({ id: 'R.charge.input.project' });
const username = formatMessage({ id: 'R.charge.username' });
const project = formatMessage({ id: 'R.charge.project' });
const unit = formatMessage({ id: 'R.charge.unit' });
const status = formatMessage({ id: 'R.charge.status' });
const submissionTime = formatMessage({ id: 'R.charge.submissionTime' });
const actions = formatMessage({ id: 'R.charge.actions' });
const search = formatMessage({ id: 'R.charge.search' });
const addaccount = formatMessage({ id: 'R.charge.addaccount' });
const paymentsetting = formatMessage({ id: 'R.charge.paymentsetting' });
const menuListNormal = ['A', 'Accounting company'];
const [display, setDisplay] = useState('A'); //小组件:线框
const pagination = {
defaultCurrent: 15,
total: 16,
};
const goToDetail = (values: any) => {
getById(values)
history.push('/PropertyManagementDetail')
}
getById(values);
history.push('/PropertyManagementDetail');
};
const goToAddAccout = () => {
history.push(location.pathname + '/AccoutingDetail')
}
history.push(location.pathname + '/AccoutingDetail');
};
const columns = [
{ title: username, dataIndex: 'tosOwnerName' },
{ title: project, dataIndex: 'communityName' },
{ title: unit, dataIndex: 'buildingNumber' },
{ title: status, dataIndex: 'enable' },
{
title: submissionTime,
render: (text: any, record: any) => (
<Space size="middle">
{timestampToTime(record.createTime.time)}
</Space>
<Space size="middle">{timestampToTime(record.createTime.time)}</Space>
),
},
{
......@@ -68,28 +70,45 @@ const ChargeManager = (props: any) => {
},
];
const TitleSearchContent = (comment: any) => {
console.log(comment)
}
console.log(comment);
};
return (
<div className={styles.base}>
<TitleSearch listkey={['tosOwnerName', 'communityName']} list={['tosOwnerName', 'communityName']} onSubmit={TitleSearchContent} />
<TitleSearch
listkey={['tosOwnerName', 'communityName']}
list={['tosOwnerName', 'communityName']}
onSubmit={TitleSearchContent}
/>
{/* 内容组件 */}
<div className={styles.box2}>
{
menuListNormal.map((item, index) => {
return (<button key={"bt" + index} className={display == item ? styles.buttonChoose : styles.buttonWait} onClick={() => { setDisplay(item) }}>{item}</button>)
})
}
<button className={styles.buttonAdd2} onClick={goToAddAccout}>+ {addaccount} </button>
<button className={styles.buttonAdd} >{paymentsetting}</button>
{menuListNormal.map((item, index) => {
return (
<button
key={'bt' + index}
className={display == item ? styles.buttonChoose : styles.buttonWait}
onClick={() => {
setDisplay(item);
}}
>
{item}
</button>
);
})}
<button className={styles.buttonAdd2} onClick={goToAddAccout}>
+ {addaccount}{' '}
</button>
<button className={styles.buttonAdd}>{paymentsetting}</button>
</div>
{/* 列表组件 */}
<Table style={{ marginTop: 16 }} rowKey={"id"} dataSource={Data} columns={columns} pagination={pagination} />
<Table
style={{ marginTop: 16 }}
rowKey={'id'}
dataSource={Data}
columns={columns}
pagination={pagination}
/>
</div>
);
};
......@@ -97,7 +116,7 @@ const ChargeManager = (props: any) => {
function mapStateToProps(state: any) {
const { Data } = state.PropertyManagement;
return {
Data
Data,
};
}
export default connect(mapStateToProps)(ChargeManager);
......@@ -7,58 +7,61 @@ import { Link, useIntl, connect, Dispatch } from 'umi';
import Line from '../../../components/Line/Line';
import TitleBack from '../../../components/TitleBack/TitleBack';
import SearchOptionsCommnity from '../../../components/SearchOptions/SearchOptionsCommnity';
import { checkParam, RA } from '../../../utils/method'
import { checkParam, RA } from '../../../utils/method';
import { validateMessages } from '@/utils/params';
// import "./UsersAddInput.less"
const module = "User"
const module = 'User';
const UsersAdd = (props: any) => {
const { dispatch, communityInfo } = props;
const [postman, setPostman] = useState({ extend: null })
const [postman, setPostman] = useState({ extend: null });
const formRef = useRef(null as any);
const [loading, setLoading] = useState(false)
const [loading, setLoading] = useState(false);
const onFinish = (values: any) => {
console.log(values)
console.log(values);
if (postman.extend != null) {
values.communityName = postman.extend
values.communityName = postman.extend;
} else {
values.communityName = null
values.communityName = null;
}
// var tmp = Object.keys(values);
if (checkParam(values)) {
values.owerPhone = null
values.owerEmail = null
RA(14, values, module, dispatch)
setLoading(true)
values.owerPhone = null;
values.owerEmail = null;
RA(14, values, module, dispatch);
setLoading(true);
} else {
setLoading(false)
message.error("Error,Please finish it,not empty!", 3)
setLoading(false);
message.error('Error,Please finish it,not empty!', 3);
}
}
};
const extendName = (values: any) => {
var tmp = postman
tmp.extend = values
var tmp = postman;
tmp.extend = values;
RA(32, { communityName: values }, module, dispatch);
setPostman(tmp)
}
setPostman(tmp);
};
useEffect(() => {
console.log(communityInfo);
if (communityInfo != null) {
console.log(communityInfo)
console.log(communityInfo);
if (postman.extend != null) {
formRef.current.setFieldsValue({ addressAndpostalCode: communityInfo.data.rows[0].residentialAddress + " SINGAPORE" + communityInfo.data.rows[0].residentialZipCode })
formRef.current.setFieldsValue({
addressAndpostalCode:
communityInfo.data.rows[0].residentialAddress +
' SINGAPORE' +
communityInfo.data.rows[0].residentialZipCode,
});
}
}
}, [communityInfo])
}, [communityInfo]);
const checkData = (rule: any, value: any, callback: any) => {
console.log(rule, value)
console.log(rule, value);
if (value) {
if (/^[a-zA-Z0-9]+$/g.test(value)) {
callback();
......@@ -70,14 +73,17 @@ const UsersAdd = (props: any) => {
};
return (
<div className={styles.base}>
{/* 头部组件 */}
<TitleBack title={"Create New Owner"} />
<TitleBack title={'Create New Owner'} />
<Spin spinning={loading}>
<Form ref={formRef} name="basic" onFinish={onFinish} validateMessages={validateMessages}>
<div className={styles.box1}>
<div className={styles.box1item1}>Owner's Name</div>
<div className={styles.box1item2}><Form.Item name="owerName" rules={[{ required: true, min: 2, max: 30 }]} ><Input placeholder="Ower Name" /></Form.Item></div>
<div className={styles.box1item2}>
<Form.Item name="owerName" rules={[{ required: true, min: 2, max: 30 }]}>
<Input placeholder="Ower Name" />
</Form.Item>
</div>
</div>
{/* <div className={styles.box4}>
......@@ -88,24 +94,47 @@ const UsersAdd = (props: any) => {
<div className={styles.box2}>
<div className={styles.box2item1}>Contact Details</div>
<div className={styles.box2item2}><SearchOptionsCommnity alone={true} onSubmit={extendName} /></div>
<div className={styles.box2item3}><Form.Item name="buildingNumber" rules={[{ validator: checkData }]}><Input placeholder="Building" style={{ width: 94 }} /></Form.Item></div>
<div className={styles.box2item2}>
<SearchOptionsCommnity alone={true} opname={extendName} />
</div>
<div className={styles.box2item3}>
<Form.Item name="buildingNumber" rules={[{ validator: checkData }]}>
<Input placeholder="Building" style={{ width: 94 }} />
</Form.Item>
</div>
<div className={styles.box2item4}>#</div>
<div className={styles.box2item5}><Form.Item name="floorNumber" rules={[{ validator: checkData }]}><Input placeholder="Floor" style={{ width: 80 }} /></Form.Item></div>
<div className={styles.box2item5}>
<Form.Item name="floorNumber" rules={[{ validator: checkData }]}>
<Input placeholder="Floor" style={{ width: 80 }} />
</Form.Item>
</div>
<div className={styles.box2item6}>——</div>
<div className={styles.box2item7}><Form.Item name="roomNumber" rules={[{ validator: checkData }]}><Input placeholder="Room" style={{ width: 112 }} /></Form.Item></div>
<div className={styles.box2item7}>
<Form.Item name="roomNumber" rules={[{ validator: checkData }]}>
<Input placeholder="Room" style={{ width: 112 }} />
</Form.Item>
</div>
</div>
<div className={styles.box3}>
<div className={styles.box3item1}>
<Form.Item name="addressAndpostalCode"><Input style={{ width: 680 }} disabled placeholder="Display the address and postcode automatically according to the" /></Form.Item>
<Form.Item name="addressAndpostalCode">
<Input
style={{ width: 680 }}
disabled
placeholder="Display the address and postcode automatically according to the"
/>
</Form.Item>
</div>
</div>
<Line />
<Form.Item ><Button type="primary" htmlType="submit">Submit</Button></Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit">
Submit
</Button>
</Form.Item>
</Form>
</Spin>
</div>
);
};
......@@ -126,4 +155,4 @@ export default connect(mapStateToProps)(UsersAdd);
// "buildingNumber":"A1",
// "floorNumber":"11",
// "roomNumber":"388",
// "addressAndpostalCode":"工业大道3689561"
\ No newline at end of file
// "addressAndpostalCode":"工业大道3689561"
......@@ -79,6 +79,12 @@ export const DataClear = (module: string, dispatch: any) => {
export const ResultClear = (module: any, dispatch: any) => {
dispatch({ type: module + '/ResultClear' });
};
export const DataSaveDetailClear = (module: any, dispatch: any) => {
dispatch({ type: module + '/DataSaveDetailClear' });
};
export const DataSaveClear = (module: any, dispatch: any) => {
dispatch({ type: module + '/DataSaveClear' });
};
// const reg = [["url", "categoriesImageUrl"], ["name", "categoriesName"]]
// const values = [{ categoriesImageUrl: "http://url", categoriesName: "A9" },{ categoriesImageUrl: "http://url...", categoriesName: "A8" }]
export const Fromate = (values: any, reg: any) => {
......
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