Commit b005129a authored by Sixiang_Zzb's avatar Sixiang_Zzb

装修申请bug处理

parent c6a71c27
......@@ -5,10 +5,8 @@ import SearchOptionsTow from './SearchOptionsTow';
const SearchOptionsCommnity = (props: any) => {
const {dispatch, CommunityList, opname ,defaultName} = props;
const tosCommunityget = (values:any) => {dispatch({type: 'Init/tosCommunityget',playload:values})};
const { dispatch, CommunityList, opname, defaultName } = props;
const tosCommunityget = (values: any) => { dispatch({ type: 'Init/tosCommunityget', playload: values }) };
useEffect(() => {
if (CommunityList == null) {
tosCommunityget(null)
......@@ -24,7 +22,7 @@ const SearchOptionsCommnity = (props: any) => {
return (
<>{CommunityList!=null?
<>{CommunityList != null ?
// <SearchOptions
// titleSearch={titleSearch}
// disabled={disabled}
......@@ -33,13 +31,13 @@ const SearchOptionsCommnity = (props: any) => {
// list={CommunityList}
// onSubmit={extendName} />
<SearchOptionsTow list={CommunityList} extendName={extendName} def = {defaultName}></SearchOptionsTow>
:null
<SearchOptionsTow list={CommunityList} extendName={extendName} def={defaultName}></SearchOptionsTow>
: null
}
</>
);
};
function mapStateToProps(state:any) {
function mapStateToProps(state: any) {
const { CommunityList } = state.Init;
return {
CommunityList,
......
......@@ -2,16 +2,15 @@ import React from 'react'
import { Select } from 'antd';
const { Option } = Select;
const SearchOptionsTow = (porps:any) => {
const SearchOptionsTow = (porps: any) => {
const {list,extendName,def} = porps;
const options = list.map((d:any,index:number) => <Option value={d} key={index}>{d}</Option>);
function onChange(value:any) {
const { list, extendName, def } = porps;
const options = list.map((d: any, index: number) => <Option value={d} key={index}>{d}</Option>);
function onChange(value: any) {
// console.log(`selected ${value}`);
extendName(value)
}
return (
<div>
<Select
......
......@@ -12,9 +12,9 @@ const { Option } = Select;
import SelectOptions from '../../components/SelectOptions/index';
import { gray } from 'chalk';
import SearchOptionsCommnity from '../SearchOptions/SearchOptionsCommnity';
import { values } from 'lodash';
const TitleSearch = (props: any) => {
console.log("===================================", props)
const { dispatch, CommunityList } = props;
......@@ -36,27 +36,8 @@ const TitleSearch = (props: any) => {
const formRef = useRef(null)
const tosCommunityget = (values: any) => { dispatch({ type: 'Init/tosCommunityget', playload: values }) };
useEffect(() => {
// console.log("标题搜寻组件初始化") OK
if (CommunityList == null) {
// console.log("小区数量初始化") OK
tosCommunityget(null)
}
if (defaultValue != null) {
formRef.current.setFieldsValue(defaultValue)
}
}, []);
useEffect(() => {
if (defaultValue != null) {
formRef.current.setFieldsValue(defaultValue)
}
}, [defaultValue])
useEffect(() => {
console.log(CommunityList)
if (CommunityList != null) {
// console.log("小区数量初始化完毕") OK
var tmp = {}
......@@ -75,7 +56,7 @@ const TitleSearch = (props: any) => {
if (community) {
values[community] = communitys
}
console.log('Success:', values);
// console.log('Success:', values);
props.onSubmit(values)
};
......@@ -84,6 +65,7 @@ const TitleSearch = (props: any) => {
};
const onChange = (date: any, dateString: string) => {
console.log(dateString)
setDate(dateString)
}
......@@ -91,14 +73,37 @@ const TitleSearch = (props: any) => {
setCommunitys(comment)
}
// 表单标识
const [form] = Form.useForm()
// 选择小区名字并赋值
const opname = (value: any) => {
form.setFieldsValue({
'communityName': value
})
}
useEffect(() => {
// console.log("标题搜寻组件初始化") OK
if (CommunityList == null) {
// console.log("小区数量初始化") OK
tosCommunityget(null)
}
if (defaultValue != null) {
console.log(defaultValue)
form.setFieldsValue(defaultValue)
}
}, [defaultValue]);
return (
<>
<Form ref={formRef} name="basic" onFinish={onFinish} onFinishFailed={onFinishFailed}>
<Form form={form} name="basic" initialValues={form} onFinish={onFinish} onFinishFailed={onFinishFailed}>
<Row gutter={32}>
{
communitySelect != null ?
<Col key={"communitySelect_"} ><Form.Item name={"communityName"}><SearchOptionsCommnity titleSearch={true} /></Form.Item></Col>
<Col key={"communitySelect_"} ><Form.Item name={"communityName"}><SearchOptionsCommnity titleSearch={true} opname={opname} defaultName={defaultValue ? defaultValue.communityName : null} /></Form.Item></Col>
: null
}
{
......@@ -165,7 +170,6 @@ const TitleSearch = (props: any) => {
);
};
function mapStateToProps(state: any) {
// console.log("state参数",state)
const { CommunityList } = state.Init;
return {
CommunityList,
......
import React, { useState, useEffect, useRef } from 'react';
import styles from './css/Detail.less';
import { Input ,Form,Row,Col,Upload,Spin, Button,Descriptions} from 'antd';
import { Input, Form, Row, Col, Upload, Spin, Button, Descriptions } from 'antd';
import { Link, useIntl, connect, Dispatch } from 'umi';
import TextArea from 'antd/lib/input/TextArea';
......@@ -14,18 +14,18 @@ import { getCookie } from '@/utils/method';
import { timestampToTime } from '@/utils/time';
import { validateMessages } from '@/utils/params';
const treatStatus=["Pending","Processed"]
const treatStatus = ["Pending", "Processed"]
const Detail = (props:any) => {
const Detail = (props: any) => {
const [editorFlag, setEditorFlag] = useState(true);
const { dispatch, location,CurDataDetail } = props;
const fromRef=useRef(null)
const RA = (index:any,values: any) => { dispatch({ type: 'CommunityService/RA', playload: { index: index, body: values } }) };
const { dispatch, location, CurDataDetail } = props;
const fromRef = useRef(null)
const RA = (index: any, values: any) => { dispatch({ type: 'CommunityService/RA', playload: { index: index, body: values } }) };
const [curString, setCurString] = useState({ readyState: false})
const [curString, setCurString] = useState({ readyState: false })
const [loading, setLoading] = useState(false)
const [headTitle, setHeadTitle] = useState("");
......@@ -38,23 +38,22 @@ const Detail = (props:any) => {
"Reply To Problem Feedback"]
useEffect(() => {
if ((location.pathname).indexOf("/Edit")>-1) {
if ((location.pathname).indexOf("/Edit") > -1) {
setEditorFlag(true)
} else {
setEditorFlag(false)
}
RA(21,{
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(() => {
}, [location.pathname]);
useEffect(() => {
if (CurDataDetail != null && curString.readyState == true) {
console.log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@")
console.log(CurDataDetail)
......@@ -65,17 +64,18 @@ const Detail = (props:any) => {
setLoading(false)
}
}, [CurDataDetail])
useEffect(()=>{
useEffect(() => {
setCurString({ readyState: true })
console.log("页面准备好了")
},[])
}, [])
const onFinish = (values:any) => {
const onFinish = (values: any) => {
console.log(values)
var val = values;
val.handleName =getCookie("name")
val.handleContacts=getCookie("phone")
val.type =""+ location.query.serviceType
val.handleName = getCookie("name")
val.handleContacts = getCookie("phone")
val.type = "" + location.query.serviceType
val.id = location.query.id
val.userId = location.query.user_id
val.communityId = location.query.community_id
......@@ -87,7 +87,7 @@ const Detail = (props:any) => {
};
const titleProps = {
sublist: CurDataDetail != null?['Status : ' + treatStatus[CurDataDetail.status], 'Create Time : ' + CurDataDetail.time]:null,
sublist: CurDataDetail != null ? ['Status : ' + treatStatus[CurDataDetail.status], 'Create Time : ' + CurDataDetail.time] : null,
title: headTitle
}
......@@ -110,12 +110,12 @@ const Detail = (props:any) => {
</Descriptions>
<Row gutter={16}>
<Col span={3}>Description:</Col>
<Col><TextArea style={{ width: 394, height: 80,padding:8 }} autoSize={false} disabled value={CurDataDetail.content}/></Col>
<Col><TextArea style={{ width: 394, height: 80, padding: 8 }} autoSize={false} disabled value={CurDataDetail.content} /></Col>
</Row>
<Row gutter={16} style={{marginTop:20}}>
<Row gutter={16} style={{ marginTop: 20 }}>
<Col span={3}>Picture:</Col>
<Col>{
CurDataDetail!=null?
CurDataDetail != null ?
<PictureOptionsRow
action="/tos/communtiy/service/reply/img"
disabled={true}
......@@ -126,7 +126,7 @@ const Detail = (props:any) => {
extends: "",
}}
//
/>:null
/> : null
}</Col>
</Row>
......@@ -143,7 +143,7 @@ const Detail = (props:any) => {
: null}
<Row gutter={16} style={{ marginTop: 20 }}>
<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>
<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}>
<Col span={3}></Col>
......@@ -161,7 +161,7 @@ const Detail = (props:any) => {
extends: "",
}} />
</Form.Item>
</>:null
</> : null
}
......@@ -172,7 +172,7 @@ const Detail = (props:any) => {
</Row>
{
editorFlag ?
<><Line /><Row><Col span={3}></Col><Col><Form.Item><Button type="primary" htmlType="submit">Submit</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>
......@@ -183,7 +183,7 @@ const Detail = (props:any) => {
);
};
function mapStateToProps(state:any) {
function mapStateToProps(state: any) {
const { CurDataDetail } = state.CommunityService;
return {
CurDataDetail
......
import React, { useState, useEffect } from 'react';
import styles from './css/index.less';
import { Input ,Menu,Table,Space,Upload,message,Pagination, Button } from 'antd';
import { Input, Menu, Table, Space, Upload, message, Pagination, Button } from 'antd';
import { Link, useIntl, connect, Dispatch,history } from 'umi';
import { Link, useIntl, connect, Dispatch, history } from 'umi';
import { timestampToTime3 } from '../../utils/time';
......@@ -11,10 +11,10 @@ import { RA, urlEncode, filterObj, filterObjbyTg } from '@/utils/method';
const pathname = ["CommunityMaintenance", "ShelfLifeService", "OwnerComplaints", "ReportOnline", "ProblemFeedback"]
const handle_Status = [[0,"Pending"], [1,"Processed"]]//["未处理","处理","拒绝"] , [2,"Rejected"]
const handle_Status = [[0, "Pending"], [1, "Processed"]]//["未处理","处理","拒绝"] , [2,"Rejected"]
const goToName = ["Reply", "Detail"];
const module="CommunityService"
const module = "CommunityService"
const PropertyServices = (props: any) => {
const { dispatch, location, Data } = props;
......@@ -22,15 +22,15 @@ const PropertyServices = (props: any) => {
const [loading, setLoading] = useState(false)
const [pageNum, setPageNum] = useState(1)
const [serviceTypeGobal, setServiceType] = useState("")
const [readyData,setReadyData]=useState(null)
const [readyData, setReadyData] = useState(null)
const columns = [
{ title: "Community Name",dataIndex: 'community_name',},
{ title: "Ower Name",dataIndex: 'ower_name',},
{ title: "Reply",dataIndex: 'handle_name',render: (text: any) => (<Space size="middle">{text!=null?text:"--"}</Space>)},
{ 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>)},
{ title: "Community Name", dataIndex: 'community_name', },
{ title: "Ower Name", dataIndex: 'ower_name', },
{ title: "service Content", dataIndex: 'service_content', ellipsis: true, width: 500, render: (text: any) => (<Space size="middle">{text != null ? text : "--"}</Space>) },
{ 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) => {
......@@ -39,38 +39,40 @@ const PropertyServices = (props: any) => {
console.log(record);
//页面递进
history.push(
location.pathname+(value==0?"/Edit":"/Detail")+urlEncode(
location.pathname + (value == 0 ? "/Edit" : "/Detail") + urlEncode(
{
serviceType: serviceTypeGobal,
id: record.id,
user_id:record.user_id,
community_id:record.community_id
user_id: record.user_id,
community_id: record.community_id
}
)
)
}
useEffect(() => {
if (Data != null) {setLoading(false)}
if (Data != null) { setLoading(false) }
}, [Data]);
const ClickTitleSearch = (comment: any) => {
//页面搜索
comment.serviceType = serviceTypeGobal
comment.current = 1
history.push(location.pathname+urlEncode(filterObj(comment)))
history.push(location.pathname + urlEncode(filterObj(comment)))
}
const PageChange = (values: any) => { //.current
//页面跳转参数
var tmp = filterObjbyTg(location.query, ["handleStatus", "ownerName", "communityName"])
tmp["current"]=values.current
tmp["current"] = values.current
history.push(location.pathname + urlEncode(tmp))
}
useEffect(()=>{
useEffect(() => {
if (location != null) {
//细分类:页面指令
var serviceType =""
var serviceType = ""
pathname.map((item, index) => {
if ((location.pathname).indexOf(item) > -1) {
serviceType = "" + (index + 1)
......@@ -78,7 +80,7 @@ const PropertyServices = (props: any) => {
}
})
//分页设置
if (location.query.current!=null) {
if (location.query.current != null) {
setPageNum(parseInt(location.query.current))
} else {
setPageNum(1)
......@@ -122,7 +124,7 @@ const PropertyServices = (props: any) => {
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}
/>
......@@ -130,7 +132,7 @@ const PropertyServices = (props: any) => {
);
};
function mapStateToProps(state:any) {
function mapStateToProps(state: any) {
const { Data } = state.CommunityService;
return {
Data
......
import React, { useState, useEffect,useRef} from 'react';
import { Input ,Tabs,Table,Space, Button} from 'antd';
import React, { useState, useEffect, useRef } from 'react';
import { Input, Tabs, Table, Space, Button } from 'antd';
const { TabPane } = Tabs;
import {connect,history} from 'umi';
import { connect, history } from 'umi';
import TitleSearch from '../../components/TitleSearch/TitleSearch';
import { RA, SA, urlEncode, filterObj, filterObjbyTg } from '@/utils/method';
import { RA, SA } from '@/utils/method';
import { objectColumns, stringTab } from '@/utils/string';
import { timestampToTime } from '@/utils/time';
const module="CommunityService"
const Renovation = (props:any) => {
const module = "CommunityService"
const Renovation = (props: any) => {
// const decoration_status = [[0, "待处理"], [1, "已批准"], [2, "已拒绝"]]
const decoration_status = [[0, "Pending"], [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([
["Community", "community_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>)],
["Actions",null, (text: any, record: any) => (<Space size="middle"> <a onClick={goToDetail.bind(this,record)}>Detail</a></Space>)],
["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)
const { dispatch, Data8, location } = props;
useEffect(() => {
if (Data8 != null) { setLoading(false) }
}, [Data8]);
useEffect(() => {
if (location != null) {
//前置数据
console.log("前置数据");
let tmp: any = filterObjbyTg(location.query, ["handleStatus", "ownerName", "communityName", "current"])
tmp.handleStatus = decoration_status[parseInt(tmp.handleStatus)] //特殊处理
useEffect(()=>{
setReadyData(tmp)
//获取数据
setLoading(true)
RA(23, { serviceType: "6", id: "" }, module, dispatch)
}
}, [location])
// applyfor_name: "jack-小白白"
// communityId: "7e5c6fd2f4ba497a90e64535df6e9088"
// community_build_decorate: "01"
// community_floor_decorate: "00"
// community_name: "A4"
// community_room_decoate: "767"
// contact_name: "15626274096"
// contact_phone: "jack-小白白"
// create_time: {date: 10, day: 4, hours: 19, minutes: 39, month: 8, …}
// decorationBegin_time: {date: 10, day: 4, hours: 0, minutes: 0, month: 8, …}
// decorationEnd_time: {date: 10, day: 4, hours: 0, minutes: 0, month: 8, …}
// decoration_content: "滚滚滚"
// decoration_status: 0
// deleted: 0
// id: "977591272158003200"
// ownerId: "c4da40676d044487b37e7a1bdc6dd045"
// update_time: {
// date: 10, day: 4, hours: 19, minutes:
}, [])
//页面搜索
const ClickTitleSearch = (comment: any) => {
let tmp = filterObjbyTg(comment, ["handleStatus", "ownerName", "communityName"])
tmp["current"] = 1
console.log(tmp)
history.push(location.pathname + urlEncode(tmp))
}
const goToDetail = (values: any, e: any) => {
SA(values,module,dispatch)
SA(values, module, dispatch)
history.push('./RenovationApplication/Detail')
}
return (
......@@ -61,10 +71,22 @@ const Renovation = (props:any) => {
{
Data8 != null ?
<>
<Table loading={false} rowKey="id" style={{ marginTop: 16 }}
<TitleSearch
communitySelect={true}
listkey={['ownerName']}
list={['Owner Name']}
status={[{ name: ["handleStatus", "Status"], data: decoration_status }]}
defaultValue={readyData}
onSubmit={ClickTitleSearch}
/>
<Table
loading={loading}
rowKey="id"
style={{ marginTop: 16 }}
dataSource={Data8.data.rows}
columns={columns}
pagination={{ defaultCurrent: 1, total: Data8.total }} />
pagination={{ defaultCurrent: 1, total: Data8.total }}
/>
</>
: null
}
......@@ -72,8 +94,8 @@ const Renovation = (props:any) => {
);
};
function map(state:any) {
const { Data8} = state[module]
return { Data8}
function map(state: any) {
const { Data8 } = state[module]
return { Data8 }
}
export default connect(map)(Renovation);
......@@ -4,12 +4,7 @@ import { Form, Button, Modal, Space, Pagination, Tooltip, Checkbox } from 'antd'
import { Link, useIntl, connect, Dispatch } from 'umi';
import { PlusCircleOutlined } from '@ant-design/icons';
import Line from '../../../components/Line/Line';
import BackButton from '../../../components/BackButton/BackButton';
import TitleGet from '../../../components/TitleGet/TitleGet';
import TagSelect from '../../../components/TagSelect/index';
import { RA } from '@/utils/method';
import TitleBack from '@/components/TitleBack/TitleBack';
......
......@@ -146,7 +146,7 @@ export const filterObjbyTg = (obj: any, tg: any) => {
var tmp = {};
for (var item in obj) {
if (tg.indexOf(item) > -1) {
if (obj[item] != null) {
if ((obj[item] === 0 || obj[item]) && obj[item] != null) {
tmp[item] = obj[item];
}
}
......
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