Commit c4eada00 authored by MrShi's avatar MrShi

[fix] 功能完善

parent 4b7d3110
......@@ -14,7 +14,7 @@ import { getCookie } from '@/utils/method';
import { timestampToTime } from '@/utils/time';
import { validateMessages } from '@/utils/params';
const treatStatus=["Untreated","Processed"]
const treatStatus=["Pending","Processed"]
const Detail = (props:any) => {
......@@ -38,29 +38,29 @@ const Detail = (props:any) => {
"Reply To Problem Feedback"]
useEffect(() => {
if ((location.pathname).indexOf("/Edit")>-1) {
setEditorFlag(true)
} else {
setEditorFlag(true)
} else {
setEditorFlag(false)
}
}
RA(21,{
serviceType: location.query.serviceType,
id: location.query.id
})
setHeadTitle(headTitles[parseInt(location.query.serviceType)- 1])
setHeadTitle(headTitles[parseInt(location.query.serviceType)- 1])
setLoading(true)
},[location.pathname]);
useEffect(() => {
if (CurDataDetail != null && curString.readyState == true) {
console.log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@")
console.log(CurDataDetail)
if (!editorFlag) {
var tmp = { replyContent: CurDataDetail.replyContent, file: CurDataDetail.replyImgUrl }
fromRef.current.setFieldsValue(tmp)
fromRef.current.setFieldsValue(tmp)
}
setLoading(false)
}
......@@ -77,7 +77,7 @@ const Detail = (props:any) => {
val.type =""+ location.query.serviceType
val.id = location.query.id
val.userId = location.query.user_id
val.handleStatus = "1"
val.handleStatus = "1"
// val.file=fileList
console.log('Success:', val)
RA(22, val);
......@@ -85,29 +85,29 @@ const Detail = (props:any) => {
};
const titleProps = {
sublist: CurDataDetail != null?['Handle Status : ' + treatStatus[CurDataDetail.status], 'Create Time : ' + CurDataDetail.time]:null,
title: headTitle
sublist: CurDataDetail != null?['Status : ' + treatStatus[CurDataDetail.status], 'Create Time : ' + CurDataDetail.time]:null,
title: headTitle
}
return (
<div>
{CurDataDetail != null ?
<>
<>
<Spin spinning={loading}>
<div className={styles.base}>
<div className={styles.base}>
<TitleBack {...titleProps} />
<Descriptions>
<Descriptions.Item >{CurDataDetail.community}</Descriptions.Item>
<Descriptions.Item span={2}>{CurDataDetail.home}</Descriptions.Item>
<Descriptions.Item label="Address" span={3}>{CurDataDetail.address} </Descriptions.Item>
<Descriptions.Item label="Address" span={3}>{CurDataDetail.address} </Descriptions.Item>
<Descriptions.Item label="User Name">{CurDataDetail.name}</Descriptions.Item>
<Descriptions.Item label="Contact Details">{CurDataDetail.phone} </Descriptions.Item>
<Descriptions.Item >{CurDataDetail.email}</Descriptions.Item>
<Descriptions.Item label="Contact Details">{CurDataDetail.phone} </Descriptions.Item>
<Descriptions.Item >{CurDataDetail.email}</Descriptions.Item>
</Descriptions>
<Row gutter={16}>
<Col span={3}>Details:</Col>
<Col span={3}>Description:</Col>
<Col><TextArea style={{ width: 394, height: 80,padding:8 }} autoSize={false} disabled value={CurDataDetail.content}/></Col>
</Row>
<Row gutter={16} style={{marginTop:20}}>
......@@ -128,8 +128,8 @@ const Detail = (props:any) => {
}</Col>
</Row>
<Line />
<Line />
<Form ref={fromRef} name="basic" onFinish={onFinish} validateMessages={validateMessages}>
{!editorFlag ?
<Row gutter={16}>
......@@ -140,13 +140,13 @@ const Detail = (props:any) => {
</Row>
: null}
<Row gutter={16} style={{ marginTop: 20 }}>
<Col span={3}>Resolved Complaint:</Col>
<Col ><Form.Item name="replyContent" rules={[{required:true,max:300}]} ><TextArea style={{padding:8, width: 394, height: 80 }} autoSize={false} disabled={!editorFlag} /></Form.Item></Col>
<Col span={3}>Solution & Conclusion:</Col>
<Col ><Form.Item name="replyContent" rules={[{required:true,max:300}]} ><TextArea style={{padding:8, width: 394, height: 80 }} autoSize={false} disabled={!editorFlag} /></Form.Item></Col>
</Row>
<Row gutter={16}>
<Row gutter={16}>
<Col span={3}></Col>
<Col >
{/* putSubmit={PictureOptionsRowRef} */}
{/* putSubmit={PictureOptionsRowRef} */}
{
CurDataDetail.replyImgUrl != null ? <>
<Form.Item name="file">
......@@ -158,19 +158,19 @@ const Detail = (props:any) => {
imageType: 'tosCommunityImageReply',
extends: "",
}} />
</Form.Item>
</Form.Item>
</>:null
}
</Col>
</Col>
</Row>
{
editorFlag ?
<><Line /><Row><Col span={3}></Col><Col><Form.Item><Button type="primary" htmlType="submit">summit</Button></Form.Item></Col></Row></>:null
<><Line /><Row><Col span={3}></Col><Col><Form.Item><Button type="primary" htmlType="submit">Submit</Button></Form.Item></Col></Row></>:null
}
</Form>
</div>
......
......@@ -11,14 +11,14 @@ import { RA, urlEncode, filterObj, filterObjbyTg } from '@/utils/method';
const pathname = ["CommunityMaintenance", "ShelfLifeService", "OwnerComplaints", "ReportOnline", "ProblemFeedback"]
const handle_Status = [[0,"Untreated"], [1,"Processed"]]//["未处理","处理","拒绝"] , [2,"Rejected"]
const handle_Status = [[0,"Pending"], [1,"Processed"]]//["未处理","处理","拒绝"] , [2,"Rejected"]
const goToName = ["Reply", "Detail"];
const module="CommunityService"
const PropertyServices = (props: any) => {
const { dispatch, location, Data } = props;
const [loading, setLoading] = useState(false)
const [pageNum, setPageNum] = useState(1)
const [serviceTypeGobal, setServiceType] = useState("")
......@@ -31,16 +31,16 @@ const PropertyServices = (props: any) => {
{ title: "Create Time",dataIndex: "create_time",render: (text: any, record: any) => (<Space size="middle">{timestampToTime3(text.time)}</Space>)},
{ title: "Handle status", dataIndex: 'handle_status',render: (text: any, record: any) => (<Space size="middle">{handle_Status[text][1]}</Space>)},
{ title: "Actions",dataIndex: 'handle_status',render: (text: any, record: any) => (<Space size="middle"><a onClick={goToDetail.bind(this,text,record)}>{goToName[text]}</a></Space>)},
];
];
const goToDetail = (value: any, record: any, e: any) => {
//页面递进
history.push(location.pathname+(value==0?"/Edit":"/Detail")+urlEncode({serviceType: serviceTypeGobal,id: record.id,user_id:record.user_id}))
}
history.push(location.pathname+(value==0?"/Edit":"/Detail")+urlEncode({serviceType: serviceTypeGobal,id: record.id,user_id:record.user_id}))
}
useEffect(() => {
if (Data != null) {setLoading(false)}
}, [Data]);
if (Data != null) {setLoading(false)}
}, [Data]);
const ClickTitleSearch = (comment: any) => {
//页面搜索
......@@ -48,7 +48,7 @@ const PropertyServices = (props: any) => {
comment.current = 1
history.push(location.pathname+urlEncode(filterObj(comment)))
}
const PageChange = (values: any) => { //.current
const PageChange = (values: any) => { //.current
//页面跳转参数
var tmp = filterObjbyTg(location.query, ["handleStatus", "ownerName", "communityName"])
tmp["current"]=values.current
......@@ -56,13 +56,13 @@ const PropertyServices = (props: any) => {
}
useEffect(()=>{
if (location != null) {
if (location != null) {
//细分类:页面指令
var serviceType =""
pathname.map((item, index) => {
if ((location.pathname).indexOf(item) > -1) {
serviceType = "" + (index + 1)
setServiceType(serviceType)
setServiceType(serviceType)
}
})
//分页设置
......@@ -71,10 +71,10 @@ const PropertyServices = (props: any) => {
} else {
setPageNum(1)
}
//前置数据
console.log("前置数据");
var tmp = filterObjbyTg(location.query, ["handleStatus", "ownerName", "communityName"])
console.log("前置数据");
var tmp = filterObjbyTg(location.query, ["handleStatus", "ownerName", "communityName"])
tmp.handleStatus = handle_Status[parseInt(tmp.handleStatus)] //特殊处理
setReadyData(tmp)
......@@ -86,7 +86,7 @@ const PropertyServices = (props: any) => {
ownerName: location.query.ownerName != undefined ? (location.query.ownerName) : null,
communityName: location.query.communityName != undefined ? (location.query.communityName) : null,
}, module, dispatch)
}
}, [location])
......@@ -102,22 +102,22 @@ const PropertyServices = (props: any) => {
status={[{ name: ["handleStatus", "Status"], data: handle_Status }]}
defaultValue={readyData}
onSubmit={ClickTitleSearch}
/>
/>
<Table
rowKey={"id"}
style={{ marginTop: 16 }}
loading={loading}
columns={columns}
dataSource={ Data != null ?Data.data.rows:[]}
dataSource={ Data != null ?Data.data.rows:[]}
pagination={Data != null ? { current: pageNum, total: Data.data.rows.length } : {}}
onChange={PageChange}
/>
onChange={PageChange}
/>
</div>
);
};
function mapStateToProps(state:any) {
const { Data } = state.CommunityService;
const { Data } = state.CommunityService;
return {
Data
};
......
......@@ -5,7 +5,7 @@ const { TabPane } = Tabs;
import {connect,history} from 'umi';
import { RA, SA } from '@/utils/method';
import { objectColumns, stringTab } from '@/utils/string';
import { timestampToTime } from '@/utils/time';
......@@ -14,23 +14,23 @@ const Renovation = (props:any) => {
// const decoration_status = [[0, "待处理"], [1, "已批准"], [2, "已拒绝"]]
const decoration_status = [[0, "Pending"], [1, "Approved"], [2, "Rejected"]]
const columns = objectColumns([
["Community", "community_name"],
["Apply Name", "applyfor_name"],
["Applicant", "applyfor_name"],
["Unit", null, (text: any, record: any) => (<div>{record.community_build_decorate}#{record.community_floor_decorate}-{record.community_room_decoate}</div>)],
["Content", "decoration_content", (text: any) => (<div>{stringTab(text)}</div>)],
["Request Time", "create_time",(text: any) => (<div>{timestampToTime(text.time)}</div>)],
["status", "decoration_status",(text: any) => (<div>{decoration_status[parseInt(text)][1]}</div>)],
["Request Time", "create_time",(text: any) => (<div>{timestampToTime(text.time)}</div>)],
["status", "decoration_status",(text: any) => (<div>{decoration_status[parseInt(text)][1]}</div>)],
["Actions",null, (text: any, record: any) => (<Space size="middle"> <a onClick={goToDetail.bind(this,record)}>Detail</a></Space>)],
])
const { dispatch, Data8 } = props;
const formRef = useRef(null)
useEffect(()=>{
RA(23, { serviceType: "6", id: "" }, module, dispatch)
// applyfor_name: "jack-小白白"
// communityId: "7e5c6fd2f4ba497a90e64535df6e9088"
// community_build_decorate: "01"
......@@ -48,26 +48,26 @@ const Renovation = (props:any) => {
// id: "977591272158003200"
// ownerId: "c4da40676d044487b37e7a1bdc6dd045"
// update_time: {
// date: 10, day: 4, hours: 19, minutes:
// date: 10, day: 4, hours: 19, minutes:
}, [])
const goToDetail = (values: any, e: any) => {
SA(values,module,dispatch)
history.push('./RenovationApplication/Detail')
}
return (
<div style={{ width: "100%", minWidth: 1020, padding: 34, backgroundColor: "#ffffff" }}>
<div style={{ width: "100%", minWidth: 1020, padding: 34, backgroundColor: "#ffffff" }}>
{
Data8 != null ?
<>
<Table loading={false} rowKey="id" style={{ marginTop: 16 }}
dataSource={Data8.data.rows}
columns={columns}
pagination={{ defaultCurrent: 1, total: Data8.total }} />
pagination={{ defaultCurrent: 1, total: Data8.total }} />
</>
: null
}
}
</div>
);
};
......@@ -76,4 +76,4 @@ function map(state:any) {
const { Data8} = state[module]
return { Data8}
}
export default connect(map)(Renovation);
\ No newline at end of file
export default connect(map)(Renovation);
......@@ -22,7 +22,7 @@ const RenovationDetail = (props:any) => {
useEffect(()=>{
if (DataSaveDetail != null) {
console.log("给予的请求页面");
console.log(DataSaveDetail)
}
},[DataSaveDetail])
......@@ -47,12 +47,12 @@ const RenovationDetail = (props:any) => {
// deleted: 0
// id: "977591272158003200"
// ownerId: "c4da40676d044487b37e7a1bdc6dd045"
// update_time:
// update_time:
}
}, [DataSave])
const onFinish = (values:any) => {
var tmp={
id:DataSave.id,
ownerId:DataSave.ownerId,
......@@ -66,61 +66,61 @@ const RenovationDetail = (props:any) => {
RA(33,tmp,module,dispatch)
}
return (
<div style={{ width: "100%", minWidth: 1020, padding: 34, backgroundColor: "#ffffff" }}>
<div style={{ width: "100%", minWidth: 1020, padding: 34, backgroundColor: "#ffffff" }}>
{
DataSave!=null?<>
DataSave!=null?<>
<TitleBack sublist={['Status : ' + decoration_status[DataSave.decoration_status][1], 'Time : ' + timestampToTime(DataSave.create_time.time)]} title={"Renovation Detail"}></TitleBack>
<Row gutter={8}>
<Col>Community:</Col>
<Col span={3}>{DataSave.community_name}</Col>
<Col>unit:</Col>
<Col>{DataSave.community_build_decorate}#{DataSave.community_floor_decorate}-{DataSave.community_room_decoate}</Col>
<Col>Community:</Col>
<Col span={3}>{DataSave.community_name}</Col>
<Col>unit:</Col>
<Col>{DataSave.community_build_decorate}#{DataSave.community_floor_decorate}-{DataSave.community_room_decoate}</Col>
</Row>
<Row gutter={8} style={{marginTop:16}}>
<Col>Address:</Col>
<Col>{DataSaveDetail!=null?DataSaveDetail.data.rows.communityDetail.residentialAddress+" "+DataSaveDetail.data.rows.communityDetail.residentialZipCode:null}</Col>
</Row>
<Row gutter={8} style={{marginTop:16}}>
<Col>Address:</Col>
<Col>{DataSaveDetail!=null?DataSaveDetail.data.rows.communityDetail.residentialAddress+" "+DataSaveDetail.data.rows.communityDetail.residentialZipCode:null}</Col>
</Row>
<Row gutter={8} style={{marginTop:16}}>
<Col>Owner Name:</Col>
<Col span={3}>{DataSave.applyfor_name}</Col>
<Col>Phone:</Col>
<Col>13169646231</Col>
<Col>Owner Name:</Col>
<Col span={3}>{DataSave.applyfor_name}</Col>
<Col>Phone:</Col>
<Col>13169646231</Col>
</Row>
<Line></Line>
<Row gutter={8} style={{marginTop:16}}>
<Col span={3}>Contract Name:</Col>
<Col span={3}>{DataSave.contact_name}</Col>
<Col>Phone:</Col>
<Col>{DataSave.contact_phone}</Col>
<Col span={3}>Contract Name:</Col>
<Col span={3}>{DataSave.contact_name}</Col>
<Col>Phone:</Col>
<Col>{DataSave.contact_phone}</Col>
</Row>
<Row gutter={8} style={{marginTop:16}}>
<Col span={3}>Time:</Col>
<Col span={3}>{timestampToTime(DataSave.decorationBegin_time.time)}</Col>
<Col>{timestampToTime(DataSave.decorationEnd_time.time)}</Col>
<Col span={3}>Time:</Col>
<Col span={3}>{timestampToTime(DataSave.decorationBegin_time.time)}</Col>
<Col>{timestampToTime(DataSave.decorationEnd_time.time)}</Col>
</Row>
<Row gutter={8} style={{marginTop:16}}>
<Col span={3}>Reason:</Col>
<Col><TextArea disabled value={DataSave.decoration_content} style={{width:300,height:100,padding:8}}></TextArea></Col>
<Col span={3}>Reason:</Col>
<Col><TextArea disabled value={DataSave.decoration_content} style={{width:300,height:100,padding:8}}></TextArea></Col>
</Row>
<Line></Line>
<Form ref={formRef} name="basic" onFinish={onFinish}>
<Row gutter={8} style={{marginTop:16}}>
<Col span={3}>Examine:</Col>
<Col ><Form.Item name="decorationStatus"><Radio.Group ><Radio.Button value={"1"}>Agree</Radio.Button > <Radio.Button style={{marginLeft:10}} value={"2"}>Refuse</Radio.Button ></Radio.Group></Form.Item></Col>
<Col span={3}>Approval For Application:</Col>
<Col ><Form.Item name="decorationStatus"><Radio.Group ><Radio.Button value={"1"}>Agree</Radio.Button > <Radio.Button style={{marginLeft:10}} value={"2"}>Reject</Radio.Button ></Radio.Group></Form.Item></Col>
</Row>
<Row gutter={8} style={{marginTop:16}}>
<Col span={3}>Reply:</Col>
<Col><Form.Item name="replyView"><TextArea style={{width:300,height:100,padding:8}}></TextArea></Form.Item></Col>
</Row>
<Col span={3}>Reply:</Col>
<Col><Form.Item name="replyView"><TextArea style={{width:300,height:100,padding:8}}></TextArea></Form.Item></Col>
</Row>
<Form.Item ><Button type="primary" htmlType="submit">Submit</Button></Form.Item>
</Form>
</>:null}
</div>
......@@ -131,4 +131,4 @@ function map(state:any) {
const { DataSave,DataSaveDetail} = state[module]
return { DataSave,DataSaveDetail}
}
export default connect(map)(RenovationDetail);
\ No newline at end of file
export default connect(map)(RenovationDetail);
......@@ -24,7 +24,7 @@ const Contract = (props:any) => {
communityName:""
})
}, [])
useEffect(() => {
if (Data != null) {
console.log(Data)
......@@ -49,7 +49,7 @@ const Contract = (props:any) => {
{ title: "Valid End Date", dataIndex: 'contractValidEndDate'},
{title: "Valid Start Date",dataIndex: 'contractValidStartDate'},
{
title: "Actions",
title: "Actions",
render: (text: any, record: any) => (
<Space size="middle">
<a onClick={goToEdit.bind(this, record)}>Edit</a>
......@@ -60,26 +60,27 @@ const Contract = (props:any) => {
];
return (
<div className={styles.base}>
<div className={styles.base}>
{/* 头部组件 */}
<div className={styles.box}>
<input className={styles.item1} placeholder={"nameofowner"} />
<input className={styles.item2} placeholder={"inputProject"} />
<input className={styles.item1} placeholder={"Project Name"} />
<input className={styles.item2} placeholder={"Service Type"} />
<input className={styles.item2} placeholder={"Order Status"} />
<button className={styles.item3}>Search</button>
</div>
{/* 内容组件 */}
<div className={styles.box2}>
<button className={styles.buttonAdd} onClick={goToEdit}> + Add To</button>
</div>
</div>
{/* 列表组件 */}
{
Data!=null?<Table rowKey={"id"} style={{ marginTop: 16 }} dataSource={Data.list} columns={columns} pagination={{ defaultCurrent: 1, total: Data.totalRow }} />:null
}
</div>
);
......
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