wushaodong 4 lat temu
rodzic
commit
133fc892f3

+ 40 - 2
jscore/models/customer.js

@@ -4,7 +4,7 @@ import ResponseError from '../components/ResponseError';
 import TurnPage from '../components/TurnPage';
 import {REFRESH_STATE} from 'react-native-refresh-flatlist';
 
-let reportCustomerData = [], reviewTodayData = [], reviewRecordData = [];
+let reportCustomerData = [], reviewTodayData = [], reviewRecordData = [], checkCustomerData = [];
 export default {
     namespace: 'customer',
     state: {
@@ -14,9 +14,12 @@ export default {
         reviewTodayRState: REFRESH_STATE.Ready,
         reviewTodayData: [],
         reviewRecordRState: REFRESH_STATE.Ready,
+        checkCustomerData: [],
+        checkCustomerRState: REFRESH_STATE.Ready,
         reviewRecordData: [],
         projectDict: [],
         customerDetail: {},
+        customerReviewDetail: {},
     },
     reducers: {
         updateState(state, {payload}) {
@@ -138,7 +141,7 @@ export default {
                 reviewRecordData = result.data;
                 yield put(createAction('queryList')({
                     reviewRecordData: reviewRecordData, reviewRecordRState: result.state,
-                    total: response.totalResult, page: payload.page,
+                    totalRecord: response.totalResult, page: payload.page,
                 }));
             } else {
                 ResponseError(response);
@@ -183,6 +186,14 @@ export default {
                 ResponseError(response);
             }
         },
+        * fetchCustomerReviewDetail({payload, callback}, {call, put}) {
+            const response = yield call(customer.fetchCustomerReviewDetail, payload);
+            if (response.id) {
+                yield put(createAction('queryList')({customerReviewDetail: response}));
+            } else {
+                ResponseError(response);
+            }
+        },
         * addCustomerProject({payload, callback}, {call, put}) {
             const response = yield call(customer.addCustomerProject, payload);
             if (!response.code) {
@@ -191,6 +202,33 @@ export default {
                 ResponseError(response);
             }
         },
+        * checkReview({payload, callback}, {call, put}) {
+            const response = yield call(customer.checkReview, payload);
+            if (!response.code) {
+                callback()
+            } else {
+                ResponseError(response);
+            }
+        },
+        * fetchCheckCustomer({payload}, {call, put}) {
+            if (payload.page > 1) {
+                yield put(createAction('queryList')({checkCustomerRState: REFRESH_STATE.FooterRefreshing}));
+            } else {
+                yield put(createAction('queryList')({checkCustomerRState: REFRESH_STATE.HeaderRefreshing}));
+            }
+            const response = yield call(customer.queryCheckCustomer, payload);
+            if (!response.code) {
+                const result = TurnPage(response, payload, checkCustomerData);
+                checkCustomerData = result.data;
+                yield put(createAction('queryList')({
+                    checkCustomerData: checkCustomerData, checkCustomerRState: result.state,
+                    total: response.totalResult, page: payload.page,
+                }));
+            } else {
+                ResponseError(response);
+                yield put(createAction('queryList')({checkCustomerRState: REFRESH_STATE.Ready}));
+            }
+        },
     },
     subscriptions: {
         setup({dispatch}) {

+ 171 - 0
jscore/pages/Sales/CheckCustomer.js

@@ -0,0 +1,171 @@
+import React, {Component} from 'react';
+import {
+    View,
+    Text,
+    StatusBar,
+    DeviceEventEmitter,
+    StyleSheet,
+    TextInput,
+    ScrollView,
+} from 'react-native';
+import {Provider, Toast, Button, List} from '@ant-design/react-native';
+import {connect} from 'react-redux';
+import DatePicker from 'react-native-datepicker';
+import FormateDate from '../../components/FormateDate';
+import {ComponentsStyles} from '../../components/ComponentsStyles';
+import RadioModal from '../../components/RadioModal';
+
+@connect(customer => ({...customer}))
+class CheckCustomer extends Component {
+    //  跟踪审核
+    constructor(props) {
+        super(props);
+        const item = this.props.navigation.state.params.item;
+        this.state = {
+            item: this.props.navigation.state.params.item,
+            next_time: item.next_time_f,
+            check_comment: '',
+            check_status: 1,
+        };
+    };
+
+    onSave = () => {
+        if (!this.state.next_time) {
+            Toast.info('请填写下次回访日期', 1);
+            return;
+        }
+
+        const date = new Date();
+        const today = FormateDate(date, 'YYYY-MM-DD');
+        if (this.state.next_time < today) {
+            Toast.info('下次回访日期不能早于今天', 1);
+            return;
+        }
+
+        this.props.dispatch({
+            type: 'customer/checkReview',
+            payload: this.state,
+            callback: () => {
+                // 返回审核列表
+                Toast.info('审核成功!', 1, () => {
+                    DeviceEventEmitter.emit('backRefesh');
+                    this.props.navigation.navigate('CheckCustomerList');
+                });
+            },
+        });
+
+    };
+
+    render() {
+        const {loading} = this.props.customer;
+        return (
+            <Provider>
+                <StatusBar backgroundColor={'#fff'} barStyle='dark-content'/>
+                <ScrollView>
+                    <View style={styles.infoContent}>
+                        <List>
+                            <List.Item extra={<Text style={ComponentsStyles.font15}>{this.state.item.name}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>姓名</Text>
+                            </List.Item>
+                            <List.Item extra={<Text style={ComponentsStyles.font15}>{this.state.item.tel}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>电话</Text>
+                            </List.Item>
+                            <List.Item
+                                extra={<Text style={ComponentsStyles.font15}>{this.state.item.project_text}</Text>}
+                                arrow="empty">
+                                <Text style={ComponentsStyles.font15}>项目</Text>
+                            </List.Item>
+                        </List>
+                        <View style={ComponentsStyles.genderStyle}>
+                            <Text style={[ComponentsStyles.font15, {textAlignVertical: 'center'}]}>审核状态</Text>
+                            <RadioModal
+                                selectedValue={this.state.check_status.toString()}
+                                onValueChange={id => this.setState({check_status: id})}
+                                style={ComponentsStyles.radioStyle}
+                                innerStyle={{
+                                    width: 70,
+                                }}
+                            >
+                                <Text value="1">继续跟踪</Text>
+                                <Text value="2">放弃</Text>
+                            </RadioModal>
+                        </View>
+                        <TextInput
+                            style={{
+                                height: 140,
+                                borderColor: '#eee',
+                                textAlignVertical: 'top',
+                                borderBottomWidth: 1,
+                                paddingTop: 10,
+                                paddingHorizontal: 10,
+                            }}
+                            onChangeText={text => this.setState({check_comment: text})}
+                            value={this.state.check_comment}
+                            multiline={true}
+                            numberOfLines={4}
+                            maxLength={1000}
+                            placeholder={'请填审核批示'}
+                        />
+
+                        <List.Item
+                            extra={
+                                <DatePicker
+                                    placeholder="日期"
+                                    customStyles={styles}
+                                    date={this.state.next_time}
+                                    mode="date"
+                                    confirmBtnText="确定"
+                                    cancelBtnText="取消"
+                                    showIcon={true}
+                                    onDateChange={(datetime) => this.setState({next_time: datetime})}
+                                />
+                            }
+                        >
+                            <Text style={ComponentsStyles.font15}>
+                                下次回访日期
+                            </Text>
+                        </List.Item>
+                    </View>
+                </ScrollView>
+                <Button
+                    type="primary"
+                    disabled={loading}
+                    onPress={() => this.onSave()}
+                    style={ComponentsStyles.button}
+                >
+                    <Text style={{color: '#fff'}}>提交审核</Text></Button>
+            </Provider>
+        );
+    }
+}
+
+const styles = StyleSheet.create({
+    dateInput: {
+        borderWidth: 0,
+        alignItems: 'flex-end',
+    },
+    infoContent: {
+        marginTop: 5,
+        backgroundColor: '#fff',
+    },
+    infoItem: {
+        flexDirection: 'row',
+        paddingVertical: 10,
+        borderBottomWidth: 1,
+        borderColor: '#eaeaea',
+        justifyContent: 'space-between',
+    },
+    infoItemLeft: {color: '#000', fontSize: 19},
+    infoItemRight: {fontSize: 15, paddingTop: 2},
+    modelItem: {
+        borderBottomWidth: 1,
+        borderColor: '#eaeaea',
+        textAlign: 'center',
+        paddingVertical: 8,
+        fontSize: 18,
+        color: '#000',
+    },
+});
+export default CheckCustomer;

+ 157 - 0
jscore/pages/Sales/CheckCustomerList.js

@@ -0,0 +1,157 @@
+import React, {Component} from 'react';
+import {
+    View,
+    TouchableOpacity, Text, StyleSheet, DeviceEventEmitter,
+} from 'react-native';
+
+import {createAction} from '../../utils';
+import {connect} from 'react-redux';
+import RefreshFlatList from 'react-native-refresh-flatlist';
+import CallPhone from '../../components/CallPhone';
+import ComponentsStyles from '../../components/ComponentsStyles';
+
+@connect(customer => ({...customer}))
+class CheckCustomerList extends Component {
+    // 今日待跟踪、逾期未跟踪、潜客管理
+    constructor(props) {
+        super(props);
+        this.state = {
+            rows: 10,
+            page: 1,
+            check_status: 0,
+        };
+    }
+
+    componentDidMount() {
+        this._fetchData();
+        this.refesh = DeviceEventEmitter.addListener('backRefesh', (param) => {
+            this.props.dispatch(createAction('auth/fetchTipsCount')());
+            this._fetchData(1);
+        });
+    }
+
+    componentWillUnmount() {
+        this.refesh.remove();
+    }
+
+    _fetchData = (page) => {
+        if (page) {
+            this.state.page = page;
+        }
+        this.props.dispatch(createAction('customer/fetchCheckCustomer')(this.state));
+    };
+
+    _fetchMore = () => {
+        const {page, total} = this.props.customer;
+        if (page * this.state.rows >= total) {
+            return;
+        }
+        const currentPage = page + 1;
+        this._fetchData(currentPage);
+    };
+    _keyExtractor = (item, index) => {
+        return index.toString();
+    };
+
+    _renderItem = (data) => {
+        const item = data.item;
+        return (
+            <TouchableOpacity style={ComponentsStyles.mainTouch}
+                              onPress={() => this.props.navigation.navigate('checkCustomerDetail', {
+                                  id: item.id,
+                              })}>
+                <View style={{flexDirection: 'row'}}>
+                    <View style={ComponentsStyles.itemView}>
+                        <Text style={ComponentsStyles.icon}>{'\ue660'} </Text>
+                        <Text style={ComponentsStyles.fontBold}>{item.name}</Text>
+                    </View>
+                    <View style={ComponentsStyles.itemViewEnd}>
+                        <Text style={ComponentsStyles.icon}>{'\ue61a'}</Text>
+                        <Text
+                            onPress={() => CallPhone(item.tel, 1)}
+                            style={{
+                                fontSize: 15,
+                                color: '#2b90ea',
+                            }}>
+                            {item.tel}
+                        </Text>
+                    </View>
+                </View>
+                <View style={{flexDirection: 'row', paddingTop: 5}}>
+                    <View style={ComponentsStyles.itemView}>
+                        <Text style={ComponentsStyles.icon}>{'\ue6ed'} <Text
+                            style={ComponentsStyles.font15}>{item.project_text}</Text>
+                        </Text>
+                    </View>
+                    <View style={ComponentsStyles.itemViewEnd}>
+                        <Text style={ComponentsStyles.icon}>{'\ue65c'}</Text>
+                        <Text style={ComponentsStyles.font15}>{item.village}</Text>
+                    </View>
+                </View>
+                <View style={{
+                    flex: 1,
+                    flexDirection: 'row',
+                    marginTop: 5,
+                }}>
+                    <View style={ComponentsStyles.itemView}>
+                        <Text style={ComponentsStyles.icon}>{'\ue619'}</Text>
+                        <Text style={ComponentsStyles.font15}>{item.create_user_text}</Text>
+                    </View>
+                    <View style={ComponentsStyles.itemViewEnd}>
+                        <Text style={ComponentsStyles.icon}>{'\ue6cc'}</Text>
+                        <Text style={ComponentsStyles.font15}>{item.create_time_f}</Text>
+                    </View>
+                </View>
+            </TouchableOpacity>
+        );
+    };
+
+    render() {
+        const {checkCustomerData, checkCustomerRState, total} = this.props.customer;
+
+        return (
+            <View style={{marginBottom: 10, flex: 1}}>
+                <RefreshFlatList
+                    data={checkCustomerData}
+                    renderItem={(item) => this._renderItem(item)}
+                    keyExtractor={this._keyExtractor}
+                    themeColor="#5eafe4"
+                    refreshState={checkCustomerRState}
+                    footerRefreshingText="正在加载"
+                    footerFailureText="加载失败"
+                    onHeaderRefresh={() => this._fetchData(1)}
+                    onFooterRefresh={() => this._fetchMore()}
+                />
+                <View style={ComponentsStyles.bottomTotal}>
+                    <Text style={ComponentsStyles.totalText}>合计数量:<Text
+                        style={{color: '#333333'}}>{total}</Text></Text>
+                </View>
+            </View>
+        );
+    }
+}
+
+const styles = StyleSheet.create({
+    selectedMenus: {
+        padding: 5,
+        backgroundColor: '#ffffff',
+        flexDirection: 'row',
+    },
+    menuItem: {
+        textAlign: 'center',
+        marginHorizontal: 5,
+        borderRadius: 20,
+        paddingVertical: 5,
+        paddingHorizontal: 8,
+        backgroundColor: '#f5f5f9',
+    },
+    selectedMenuItem: {
+        backgroundColor: '#2b90ea',
+        color: '#ffffff',
+        marginHorizontal: 5,
+        borderRadius: 20,
+        paddingVertical: 5,
+        paddingHorizontal: 8,
+    },
+});
+export default CheckCustomerList;

+ 1 - 1
jscore/pages/Sales/Home.js

@@ -48,7 +48,7 @@ const qkgl = [
     {
         name: '跟踪审核',
         img: require('../../../assets/images/jryg2.png'),
-        navetion: '',
+        navetion: 'CheckCustomerList',
         param: {},
         premission: 'customer.check_review',
         badge: 'review_count',

+ 21 - 0
jscore/pages/Sales/Index.js

@@ -12,6 +12,9 @@ import ReviewDetail from './ReviewDetail';
 import WriteTrackReport from './WriteTrackReport';
 import EditCustomer from './EditCustomer';
 import WriteInternalReport from './WriteInternalReport';
+import CheckCustomerList from './CheckCustomerList';
+import checkCustomerDetail from './checkCustomerDetail';
+import CheckCustomer from './CheckCustomer';
 
 const HomeStack = createStackNavigator({
         SalesHome: {
@@ -74,6 +77,24 @@ const HomeStack = createStackNavigator({
                 title: '内部跟踪',
             },
         },
+        CheckCustomerList: {
+            screen: CheckCustomerList,
+            navigationOptions: {
+                title: '跟踪审核',
+            },
+        },
+        checkCustomerDetail: {
+            screen: checkCustomerDetail,
+            navigationOptions: {
+                title: '审核详情',
+            },
+        },
+        CheckCustomer: {
+            screen: CheckCustomer,
+            navigationOptions: {
+                title: '跟踪审核',
+            },
+        },
     },
     {
         initialRouteName: 'SalesHome',

+ 3 - 3
jscore/pages/Sales/ReviewDetail.js

@@ -29,7 +29,7 @@ class ReviewDetail extends Component {
             getParm: {
                 page: 1,
                 rows: 10,
-                customer: this.props.navigation.state.params.item.id,
+                customer: this.props.navigation.state.params.id,
             },
             moreModelVisible: false,
             dispatchVisible: false,
@@ -63,8 +63,8 @@ class ReviewDetail extends Component {
         });
     };
     _fetchMore = () => {
-        const {page, total} = this.props.customer;
-        if (page * this.state.getParm.rows >= total) {
+        const {page, totalRecord} = this.props.customer;
+        if (page * this.state.getParm.rows >= totalRecord) {
             return;
         }
         const currentPage = page + 1;

+ 1 - 1
jscore/pages/Sales/ReviewTodayList.js

@@ -58,7 +58,7 @@ class ReviewTodayList extends Component {
         return (
             <TouchableOpacity style={ComponentsStyles.mainTouch}
                               onPress={() => this.props.navigation.navigate('ReviewDetail', {
-                                  item: item,
+                                  id: item.id,
                               })}>
                 <View style={{flexDirection: 'row'}}>
                     <View style={ComponentsStyles.itemView}>

+ 224 - 0
jscore/pages/Sales/checkCustomerDetail.js

@@ -0,0 +1,224 @@
+import React, {Component} from 'react';
+import {
+    View,
+    Text,
+    StyleSheet,
+    ScrollView,
+} from 'react-native';
+import {Provider, Button, List} from '@ant-design/react-native';
+
+import {connect} from 'react-redux';
+import CallPhone from '../../components/CallPhone';
+import ComponentsStyles from '../../components/ComponentsStyles';
+
+@connect(customer => ({...customer}))
+class checkCustomerDetail extends Component {
+    //  潜客跟踪
+    constructor(props) {
+        super(props);
+        this.state = {
+            page: 1,
+            rows: 10,
+            id: this.props.navigation.state.params.id,
+        };
+
+    };
+
+    componentDidMount() {
+        this._fetchData();
+    }
+
+    _fetchData = () => {
+        this.props.dispatch({
+            type: 'customer/fetchCustomerReviewDetail',
+            payload: {id: this.state.id},
+        });
+    };
+
+    baseInfo = (reviewDetailData) => {
+        return <View style={{marginTop: 5}}>
+            <List style={styles.listStyle}>
+                <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.name}</Text>} arrow="empty">
+                    <Text style={ComponentsStyles.font15}>姓名</Text>
+                </List.Item>
+                <View style={styles.telItemView}>
+                    <Text style={ComponentsStyles.font15}>电话</Text>
+                    <View style={styles.telView}>
+                        <Text style={ComponentsStyles.icon}>{'\ue61a'}</Text>
+                        <Text
+                            style={styles.telText}
+                            onPress={() => CallPhone(reviewDetailData.tel, 1)}>
+                            {reviewDetailData.tel}
+                        </Text>
+                    </View>
+                </View>
+
+                <List.Item extra={<Text style={ComponentsStyles.IDText}>{reviewDetailData.address}</Text>}
+                           wrap
+                           multipleLine arrow="empty">
+                    <Text style={ComponentsStyles.font15}>地址</Text>
+                </List.Item>
+
+                <List.Item extra={<Text style={ComponentsStyles.IDText}>{reviewDetailData.village}</Text>}
+                           wrap
+                           multipleLine arrow="empty">
+                    <Text style={ComponentsStyles.font15}>小区</Text>
+                </List.Item>
+
+                <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.project_text}</Text>}
+                           arrow="empty">
+                    <Text style={ComponentsStyles.font15}>项目</Text>
+                </List.Item>
+                <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.stage_progress_text}</Text>}
+                           arrow="empty">
+                    <Text style={ComponentsStyles.font15}>阶段进度</Text>
+                </List.Item>
+                <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.description}</Text>}
+                           arrow="empty">
+                    <Text style={ComponentsStyles.font15}>回访情况</Text>
+                </List.Item>
+
+                <View style={styles.descView}>
+                    <Text style={ComponentsStyles.font15}>回访情况</Text>
+                    <Text style={[ComponentsStyles.font15, styles.descText]}>{reviewDetailData.description}</Text>
+                </View>
+                <View
+                    style={styles.descView}>
+                    <Text style={ComponentsStyles.font15}>支援或放弃</Text>
+                    <Text style={[ComponentsStyles.font15, styles.descText]}>{reviewDetailData.instruction}</Text>
+                </View>
+
+                <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.is_giveup_text}</Text>}
+                           arrow='empty'>
+                    <Text style={ComponentsStyles.font15}>是否放弃</Text>
+                </List.Item>
+
+                <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.check_status_text}</Text>}
+                           arrow='empty'>
+                    <Text style={ComponentsStyles.font15}>审核状态</Text>
+                </List.Item>
+                <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.create_user_text}</Text>}
+                           arrow='empty'>
+                    <Text style={ComponentsStyles.font15}>跟踪人员</Text>
+                </List.Item>
+                <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.create_time_f}</Text>}
+                           arrow='empty'>
+                    <Text style={ComponentsStyles.font15}>跟踪时间</Text>
+                </List.Item>
+                <List.Item extra={<Text style={ComponentsStyles.font15}>{reviewDetailData.next_time_f}</Text>}
+                           arrow='empty'>
+                    <Text style={ComponentsStyles.font15}>下次跟踪</Text>
+                </List.Item>
+
+            </List>
+        </View>;
+    };
+
+    render() {
+        const {customerReviewDetail} = this.props.customer;
+
+        return (
+            <Provider>
+                <ScrollView>
+                    {this.baseInfo(customerReviewDetail)}
+                </ScrollView>
+                <Button
+                    type="primary"
+                    onPress={() => this.props.navigation.navigate('CheckCustomer',
+                        {
+                            item: customerReviewDetail,
+                        })}
+                    style={ComponentsStyles.button}
+                >
+                    <Text
+                        style={{color: '#fff'}}>审核</Text>
+                </Button>
+            </Provider>
+        );
+    }
+}
+
+const styles = StyleSheet.create({
+    modalText: {
+        color: '#333',
+        fontSize: 16,
+        textAlign: 'center',
+        textAlignVertical: 'center',
+    },
+    textInput: {
+        width: '80%',
+        textAlign: 'left',
+        paddingHorizontal: 10,
+    },
+    modalContainer: {
+        flexDirection: 'row',
+        paddingHorizontal: 10,
+        paddingLeft: 13,
+        borderBottomWidth: 1,
+        borderBottomColor: '#eee',
+    },
+    textStyle: {
+        fontSize: 16,
+        paddingVertical: 10,
+    },
+    telItemView: {
+        flex: 1,
+        flexDirection: 'row',
+        marginLeft: 15,
+        paddingRight: 18,
+        paddingVertical: 8,
+        borderBottomWidth: 0.5,
+        borderBottomColor: '#eaeaea',
+    },
+    telName: {
+        color: '#333',
+        fontSize: 18,
+    },
+    telView: {
+        flex: 1,
+        flexDirection: 'row',
+        justifyContent: 'flex-end',
+        alignItems: 'center',
+    },
+    telText: {
+        color: '#2b90ea',
+        fontSize: 15,
+    },
+    listStyle: {
+        borderBottomWidth: 10,
+        borderBottomColor: '#f6f7f8',
+    },
+    reportMain: {
+        marginTop: 5,
+        // marginBottom: 5,
+        backgroundColor: '#fff',
+        paddingHorizontal: 10,
+        // borderWidth:1,
+    },
+    customerText: {
+        color: '#333',
+        fontSize: 16,
+    },
+    row5: {
+        flexDirection: 'row',
+        paddingVertical: 5,
+    },
+    red5: {
+        fontSize: 15,
+        color: 'red',
+        padding: 2,
+    },
+    descView: {
+        marginHorizontal: 15,
+        paddingVertical: 2,
+        borderBottomWidth: 1,
+        borderBottomColor: '#eee',
+    },
+    descText: {
+        color: '#928f8f',
+        paddingVertical: 2,
+    },
+});
+
+export default checkCustomerDetail;
+

+ 19 - 0
jscore/services/customer.js

@@ -21,10 +21,18 @@ export async function queryCustomerDetail(params) {
     return request(`/customer/new_customer/` + params.id + `/`);
 }
 
+export async function fetchCustomerReviewDetail(params) {
+    return request(`/customer/review/` + params.id + `/`);
+}
+
 export async function queryReviewRecord(params) {
     return request(`/customer/get_review/?${stringify(params)}`);
 }
 
+export async function queryCheckCustomer(params) {
+    return request(`/customer/review/?${stringify(params)}`);
+}
+
 export async function dispatchUser(params) {
     let formdata = new FormData();
     formdata.append('user', params.user[0]);
@@ -52,6 +60,17 @@ export async function addCustomerProject(params) {
     });
 }
 
+export async function checkReview(params) {
+    let formdata = new FormData();
+    formdata.append('check_status', params.check_status);
+    formdata.append('check_comment', params.check_comment);
+    formdata.append('next_time', params.next_time);
+    return request('/customer/review/' + params.item.id + '/track_review/', {
+        method: 'POST',
+        body: formdata,
+    });
+}
+
 export async function editCustomerInfo(params) {
     let formdata = new FormData();
     formdata.append('name', params.name);