wushaodong 4 жил өмнө
parent
commit
c168c89724

+ 10 - 0
jscore/models/customer.js

@@ -62,6 +62,16 @@ export default {
                 ResponseError(response);
             }
         },
+        * signRepeat({payload, callback}, {call, put}) {
+            const response = yield call(customer.signRepeat, payload);
+            if (!response.code) {
+                if (callback) {
+                    callback();
+                }
+            } else {
+                ResponseError(response);
+            }
+        },
     },
     subscriptions: {
         setup({dispatch}) {

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

@@ -27,14 +27,14 @@ const qkgl = [
         name: '客户报备',
         img: require('../../../assets/images/jdws2.png'),
         navetion: 'ReportCustomerList',
-        param: {},
+        param: {report_status: ''},
         premission: 'customer.view_report_customer',
     },
     {
         name: '报备审核',
         img: require('../../../assets/images/qksh2.png'),
-        navetion: 'VisitorList',
-        param: {},
+        navetion: 'ReportCustomerList',
+        param: {report_status: 0},
         badge: 'report_customer_count',
         premission: 'customer.check_report_customer',
     },

+ 113 - 63
jscore/pages/Sales/ReportCustomerDetail.js

@@ -3,88 +3,138 @@ import {
     View,
     Text,
     StatusBar,
-    ScrollView,
+    ScrollView, DeviceEventEmitter,
 } from 'react-native';
 import {
+    Provider,
+    Button,
     List,
+    Modal,
 } from '@ant-design/react-native';
-
+import {connect} from 'react-redux';
 import CallPhone from '../../components/CallPhone';
 import ComponentsStyles from '../../components/ComponentsStyles';
 
+@connect(customer => ({...customer}))
 class ReportCustomerDetail extends Component {
     //  报备客户详情
     constructor(props) {
         super(props);
     };
 
+    onSignRepeat = (item) => {
+        Modal.alert('提醒', '确定要标记为撞单客户吗?', [
+            {
+                text: '取消',
+                style: 'cancel',
+            },
+            {
+                text: '确定',
+                onPress: () => this.props.dispatch({
+                    type: 'customer/signRepeat',
+                    payload: {id: item.id},
+                    callback: () => {
+                        DeviceEventEmitter.emit('backRefesh');
+                        this.props.navigation.goBack();
+                    },
+                }),
+            },
+        ]);
+    };
+
     render() {
         const item = this.props.navigation.state.params.item;
         return (
-            <View style={{flex: 1, backgroundColor:'#fff'}}>
-                <ScrollView style={{marginBottom: 5}}>
-                    <StatusBar backgroundColor={'#fff'} barStyle='dark-content'/>
-                    <List>
-                        <List.Item extra={<Text style={ComponentsStyles.font15}>{item.name}</Text>} arrow="empty">
-                            <Text style={ComponentsStyles.font15}>姓名</Text>
-                        </List.Item>
-                        <List.Item extra={<Text style={ComponentsStyles.font15}>{item.gender_text}</Text>}
-                                   arrow="empty">
-                            <Text style={ComponentsStyles.font15}>性别</Text>
-                        </List.Item>
-                        <View style={ComponentsStyles.telItemView}>
-                            <Text style={ComponentsStyles.telName}>电话</Text>
-                            <View style={ComponentsStyles.telView}>
-                                <Text style={[ComponentsStyles.icon, {marginLeft: 8}]}>{'\ue61a'}</Text>
-                                <Text style={ComponentsStyles.telText}
-                                      onPress={() => CallPhone(item.tel, 1)}>
-                                    {item.tel}
-                                </Text>
+            <View style={{flex: 1, backgroundColor: '#fff'}}>
+                <Provider>
+                    <ScrollView style={{marginBottom: 5}}>
+                        <StatusBar backgroundColor={'#fff'} barStyle='dark-content'/>
+                        <List>
+                            <List.Item extra={<Text style={ComponentsStyles.font15}>{item.name}</Text>} arrow="empty">
+                                <Text style={ComponentsStyles.font15}>姓名</Text>
+                            </List.Item>
+                            <List.Item extra={<Text style={ComponentsStyles.font15}>{item.gender_text}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>性别</Text>
+                            </List.Item>
+                            <View style={ComponentsStyles.telItemView}>
+                                <Text style={ComponentsStyles.telName}>电话</Text>
+                                <View style={ComponentsStyles.telView}>
+                                    <Text style={[ComponentsStyles.icon, {marginLeft: 8}]}>{'\ue61a'}</Text>
+                                    <Text style={ComponentsStyles.telText}
+                                          onPress={() => CallPhone(item.tel, 1)}>
+                                        {item.tel}
+                                    </Text>
+                                </View>
                             </View>
-                        </View>
 
-                        <List.Item extra={<Text style={ComponentsStyles.font15}>{item.village}</Text>} arrow="empty">
-                            <Text style={ComponentsStyles.font15}>小区</Text>
-                        </List.Item>
-                        <List.Item extra={<Text style={ComponentsStyles.IDText}>{item.address}</Text>}
-                                   arrow="empty">
-                            <Text style={ComponentsStyles.font15}>地址</Text>
-                        </List.Item>
-                        <List.Item extra={<Text style={ComponentsStyles.font15}>{item.source_text}</Text>}
-                                   arrow="empty">
-                            <Text style={ComponentsStyles.font15}>来源</Text>
-                        </List.Item>
-                        <List.Item extra={<Text style={ComponentsStyles.font15}>{item.project_text}</Text>}
-                                   arrow="empty">
-                            <Text style={ComponentsStyles.font15}>项目</Text>
-                        </List.Item>
-                        <List.Item extra={<Text style={ComponentsStyles.IDText}>{item.report_status_text}</Text>}
-                                   arrow="empty">
-                            <Text style={ComponentsStyles.font15}>报备状态</Text>
-                        </List.Item>
-                        <List.Item extra={<Text style={ComponentsStyles.font15}>{item.create_time_f}</Text>}
-                                   arrow="empty">
-                            <Text style={ComponentsStyles.font15}>报备时间</Text>
-                        </List.Item>
-                        <List.Item extra={<Text style={ComponentsStyles.font15}>{item.create_user_text}</Text>}
-                                   arrow="empty">
-                            <Text style={ComponentsStyles.font15}>报备人</Text>
-                        </List.Item>
-                        <List.Item extra={<Text style={ComponentsStyles.font15}>{item.check_time_f}</Text>}
-                                   arrow="empty">
-                            <Text style={ComponentsStyles.font15}>审核时间</Text>
-                        </List.Item>
-                        <List.Item extra={<Text style={ComponentsStyles.font15}>{item.check_user_text}</Text>}
-                                   arrow="empty">
-                            <Text style={ComponentsStyles.font15}>审核人</Text>
-                        </List.Item>
+                            <List.Item extra={<Text style={ComponentsStyles.font15}>{item.village}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>小区</Text>
+                            </List.Item>
+                            <List.Item extra={<Text style={ComponentsStyles.IDText}>{item.address}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>地址</Text>
+                            </List.Item>
+                            <List.Item extra={<Text style={ComponentsStyles.font15}>{item.source_text}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>来源</Text>
+                            </List.Item>
+                            <List.Item extra={<Text style={ComponentsStyles.font15}>{item.project_text}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>项目</Text>
+                            </List.Item>
+                            <List.Item extra={<Text style={ComponentsStyles.IDText}>{item.report_status_text}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>报备状态</Text>
+                            </List.Item>
+                            <List.Item extra={<Text style={ComponentsStyles.font15}>{item.create_time_f}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>报备时间</Text>
+                            </List.Item>
+                            <List.Item extra={<Text style={ComponentsStyles.font15}>{item.create_user_text}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>报备人</Text>
+                            </List.Item>
+                            <List.Item extra={<Text style={ComponentsStyles.font15}>{item.check_time_f}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>审核时间</Text>
+                            </List.Item>
+                            <List.Item extra={<Text style={ComponentsStyles.font15}>{item.check_user_text}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>审核人</Text>
+                            </List.Item>
+
+                            <List.Item extra={<Text style={ComponentsStyles.IDText}>{item.notes}</Text>}
+                                       arrow="empty">
+                                <Text style={ComponentsStyles.font15}>备注</Text>
+                            </List.Item>
+                        </List>
+                    </ScrollView>
+                    {item.report_status === 0 &&
+                    <View style={{flexDirection: 'row', justifyContent: 'center', backgroundColor: '#fff'}}>
+                        <Button
+                            type="primary"
+                            onPress={() => this.props.navigation.navigate('WriteTrackReport',
+                                {
+                                    customer_id: this.state.getParm.touch_id,
+                                    backKey: this.props.navigation.state.key,
+                                })}
+                            style={{width: '45%', margin: 5}}
+                        >
+                            <Text
+                                style={{color: '#fff'}}>分配</Text></Button>
+                        <Button
+                            type="warning"
+                            onPress={() => this.onSignRepeat(item)}
+                            style={{width: '45%', margin: 5}}
+                        >
+                            <Text
+                                style={{color: '#fff'}}>标记撞单</Text></Button>
 
-                        <List.Item extra={<Text style={ComponentsStyles.IDText}>{item.notes}</Text>}
-                                   arrow="empty">
-                            <Text style={ComponentsStyles.font15}>备注</Text>
-                        </List.Item>
-                    </List>
-                </ScrollView>
+                    </View>
+                    }
+                </Provider>
             </View>
         );
     }

+ 3 - 0
jscore/pages/Sales/ReportCustomerList.js

@@ -21,6 +21,7 @@ class ReportCustomerList extends Component {
         this.state = {
             rows: 10,
             page: 1,
+            report_status: this.props.navigation.state.params.report_status,
         };
     }
 
@@ -135,12 +136,14 @@ class ReportCustomerList extends Component {
                         <Text style={ComponentsStyles.totalText}>合计数量:<Text
                             style={{color: '#333333'}}>{total}</Text></Text>
                     </View>
+                    {this.state.report_status !== 0 &&
                     <Button
                         type="primary"
                         onPress={() => this.onAddPress()}
                         style={ComponentsStyles.button}><Text
                         style={{color: '#fff'}}>报备客户</Text>
                     </Button>
+                    }
                 </Provider>
             </View>
         );

+ 9 - 3
jscore/services/customer.js

@@ -11,6 +11,12 @@ export async function queryReportDict() {
     return request(`/customer/dict/`);
 }
 
+export async function signRepeat(params) {
+    return request('/customer/report_customer/' + params.id + '/sign_hit/', {
+        method: 'POST',
+    });
+}
+
 export async function saveReportCustomer(params) {
     let formdata = new FormData();
     formdata.append('name', params.name);
@@ -21,8 +27,8 @@ export async function saveReportCustomer(params) {
     formdata.append('source', params.source[0]);
     formdata.append('project', JSON.stringify(params.project));
     formdata.append('notes', params.notes);
-    return request("/customer/report_customer/", {
-        method: "POST",
+    return request('/customer/report_customer/', {
+        method: 'POST',
         body: formdata,
-    })
+    });
 }