wushaodong пре 4 година
родитељ
комит
77ae4b275e

+ 10 - 0
jscore/models/customer.js

@@ -145,6 +145,16 @@ export default {
                 ResponseError(response);
             }
         },
+        * addInternalReview({payload, callback}, {call, put}) {
+            const response = yield call(customer.addInternalReview, payload);
+            if (!response.code) {
+                if (callback) {
+                    callback();
+                }
+            } else {
+                ResponseError(response);
+            }
+        },
         * editCustomerInfo({payload, callback}, {call, put}) {
             const response = yield call(customer.editCustomerInfo, payload);
             if (!response.code) {

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

@@ -11,6 +11,7 @@ import ReviewTodayList from './ReviewTodayList';
 import ReviewDetail from './ReviewDetail';
 import WriteTrackReport from './WriteTrackReport';
 import EditCustomer from './EditCustomer';
+import WriteInternalReport from './WriteInternalReport';
 
 const HomeStack = createStackNavigator({
         SalesHome: {
@@ -67,6 +68,12 @@ const HomeStack = createStackNavigator({
                 title: '修改客户信息',
             },
         },
+        WriteInternalReport: {
+            screen: WriteInternalReport,
+            navigationOptions: {
+                title: '内部跟踪',
+            },
+        },
     },
     {
         initialRouteName: 'SalesHome',

+ 10 - 5
jscore/pages/Sales/ReviewDetail.js

@@ -54,7 +54,7 @@ class ReviewDetail extends Component {
     _fetchData = () => {
         this.props.dispatch({
             type: 'customer/fetchCustomerDetail',
-            payload:{id:this.state.getParm.customer},
+            payload: {id: this.state.getParm.customer},
         });
     };
     _fetchMore = () => {
@@ -272,10 +272,15 @@ class ReviewDetail extends Component {
 
                             <List.Item>
                                 <Text style={styles.modalText}
-                                      onPress={() => this.setState({
-                                          dealVisible: true,
-                                          moreModelVisible: false,
-                                      })}>内部跟踪</Text>
+                                      onPress={() => {
+                                          this.props.navigation.navigate('WriteInternalReport',
+                                              {
+                                                  item: customerDetail,
+                                              });
+                                          this.setState({moreModelVisible: false});
+                                      }
+                                      }
+                                >内部跟踪</Text>
                             </List.Item>
 
                             <List.Item>

+ 10 - 40
jscore/pages/Sales/WriteInternalReport.js

@@ -16,7 +16,7 @@ import {ComponentsStyles} from '../../components/ComponentsStyles';
 import RadioModal from '../../components/RadioModal';
 
 @connect(customer => ({...customer}))
-class WriteTrackReport extends Component {
+class WriteInternalReport extends Component {
     //  填写跟踪报告
     constructor(props) {
         super(props);
@@ -24,9 +24,7 @@ class WriteTrackReport extends Component {
             item: this.props.navigation.state.params.item,
             next_time: '',
             instruction: '',
-            description: '',
-            is_giveup: 0,
-            is_entry: 0,
+            is_copy: 0,
         };
     };
 
@@ -49,7 +47,7 @@ class WriteTrackReport extends Component {
         }
 
         this.props.dispatch({
-            type: 'customer/addReview',
+            type: 'customer/addInternalReview',
             payload: this.state,
             callback: () => {
                 // 返回,刷新潜客跟踪列表或潜客完善列表
@@ -98,41 +96,12 @@ class WriteTrackReport extends Component {
                             maxLength={1000}
                             placeholder={'请填写回访情况'}
                         />
-                        <TextInput
-                            style={{
-                                height: 140,
-                                borderColor: '#eee',
-                                textAlignVertical: 'top',
-                                borderBottomWidth: 1,
-                                paddingTop: 10,
-                                paddingHorizontal: 10,
-                            }}
-                            onChangeText={text => this.setState({instruction: text})}
-                            value={this.state.instruction}
-                            multiline={true}
-                            numberOfLines={4}
-                            maxLength={1000}
-                            placeholder={'支援或放弃'}
-                        />
-                        <View style={ComponentsStyles.genderStyle}>
-                            <Text style={[ComponentsStyles.font15, {textAlignVertical: 'center'}]}>是否进店</Text>
-                            <RadioModal
-                                selectedValue={this.state.is_entry.toString()}
-                                onValueChange={id => this.setState({is_entry: id})}
-                                style={ComponentsStyles.radioStyle}
-                                innerStyle={{
-                                    width: 50,
-                                }}
-                            >
-                                <Text value="1">是</Text>
-                                <Text value="0">否</Text>
-                            </RadioModal>
-                        </View>
+
                         <View style={ComponentsStyles.genderStyle}>
-                            <Text style={[ComponentsStyles.font15, {textAlignVertical: 'center'}]}>是否放弃</Text>
+                            <Text style={[ComponentsStyles.font15, {textAlignVertical: 'center'}]}>抄送业务员</Text>
                             <RadioModal
-                                selectedValue={this.state.is_giveup.toString()}
-                                onValueChange={id => this.setState({is_giveup: id})}
+                                selectedValue={this.state.is_copy.toString()}
+                                onValueChange={id => this.setState({is_copy: id})}
                                 style={ComponentsStyles.radioStyle}
                                 innerStyle={{
                                     width: 50,
@@ -142,6 +111,7 @@ class WriteTrackReport extends Component {
                                 <Text value="0">否</Text>
                             </RadioModal>
                         </View>
+
                         <List.Item
                             extra={
                                 <DatePicker
@@ -168,7 +138,7 @@ class WriteTrackReport extends Component {
                     onPress={() => this.onSave()}
                     style={ComponentsStyles.button}
                 >
-                    <Text style={{color: '#fff'}}>提交跟踪报告</Text></Button>
+                    <Text style={{color: '#fff'}}>提交内部跟踪</Text></Button>
             </Provider>
         );
     }
@@ -201,4 +171,4 @@ const styles = StyleSheet.create({
         color: '#000',
     },
 });
-export default WriteTrackReport;
+export default WriteInternalReport;

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

@@ -53,7 +53,7 @@ class WriteTrackReport extends Component {
             payload: this.state,
             callback: () => {
                 // 返回,刷新潜客跟踪列表或潜客完善列表
-                DeviceEventEmitter.emit('backRefesh');
+                DeviceEventEmitter.emit('refeshReport');
                 this.props.navigation.goBack();
             },
         });

+ 11 - 0
jscore/services/customer.js

@@ -63,6 +63,17 @@ export async function addReview(params) {
     });
 }
 
+export async function addInternalReview(params) {
+    let formdata = new FormData();
+    formdata.append('description', params.description);
+    formdata.append('next_time', params.next_time);
+    formdata.append('is_copy', params.is_copy);
+    return request('/customer/new_customer/' + params.item.id + '/inner_review/', {
+        method: 'POST',
+        body: formdata,
+    });
+}
+
 export async function signRepeat(params) {
     return request('/customer/report_customer/' + params.id + '/sign_hit/', {
         method: 'POST',