ソースを参照

客户跟进汇总

HW 3 年 前
コミット
22d1df4d39

+ 4 - 0
js/component/dataDic.js

@@ -1640,6 +1640,10 @@ module.exports = {
       value: "4",
       key: "邮件",
     },
+    {
+      value: "5",
+      key: "公出打卡",
+    },
   ],
 
   //行业

+ 0 - 12
js/component/manageCenter/customer/NEW/crm/crm.jsx

@@ -2052,9 +2052,6 @@ const IntentionCustomer = Form.create()(React.createClass({
                               );
                             })}
                           </Select>
-                          <span style={{ color: "red", marginLeft: "5px" }}>
-                            *
-                          </span>
                         </FormItem>
                         <div className="clearfix">
                           <FormItem
@@ -2073,9 +2070,6 @@ const IntentionCustomer = Form.create()(React.createClass({
                                 });
                               }}
                             />
-                            <span style={{ color: "red", marginLeft: "5px" }}>
-                              *
-                            </span>
                           </FormItem>
                         </div>
                         <div className="clearfix">
@@ -2096,9 +2090,6 @@ const IntentionCustomer = Form.create()(React.createClass({
                               }}
                               style={{ width: "96%" }}
                             />
-                            <span style={{ color: "red", marginLeft: "5px" }}>
-                              *
-                            </span>
                           </FormItem>
                         </div>
                         <div className="clearfix">
@@ -2118,9 +2109,6 @@ const IntentionCustomer = Form.create()(React.createClass({
                               }}
                               style={{ width: "96%" }}
                             />
-                            <span style={{ color: "red", marginLeft: "5px" }}>
-                              *
-                            </span>
                           </FormItem>
                         </div>
                         <div className="clearfix">

+ 1 - 0
js/component/manageCenter/customer/NEW/intentionCustomer/intentionDetail/detail/visit.jsx

@@ -136,6 +136,7 @@ const Visit = React.createClass({
 							});
 						  }}>
 							  <span>
+								{record.guidanceName ? '('+record.guidanceName+')' : null}
 								{record.guidance}
 							  </span>
 					  </div> : (this.props.isEditGuidanceLv ? <Button

+ 12 - 0
js/component/manageCenter/customer/content.jsx

@@ -394,6 +394,18 @@ class Content extends Component {
                     });
                 });
                 break;
+            //客户跟进汇总
+            case 'followUpSummary':
+                require.ensure([], () => {
+                    const FollowUpSummary = require('./managementFollow/followUpSummary/index').default;
+                    this.setState({
+                        component: <FollowUpSummary
+                            isGuidanceLv={true}         //是否可查看指导  也用于判断是否为跟进管理页面
+                            isEditGuidanceLv={false}     //是否可以编辑指导
+                        />
+                    });
+                });
+                break;
             //跟进管理   营销经理
             case 'customerFollow':
                 require.ensure([], () => {

+ 20 - 20
js/component/manageCenter/customer/managementFollow/customerFollow/index.jsx

@@ -63,16 +63,16 @@ class CustomerFollow extends Component{
                     dataIndex: "locationProvince",
                     key: "locationProvince",
                 },
-                {
-                    title: "联系人",
-                    dataIndex: "contacts",
-                    key: "contacts",
-                },
-                {
-                    title: "联系电话",
-                    dataIndex: "contactMobile",
-                    key: "contactMobile",
-                },
+                // {
+                //     title: "联系人",
+                //     dataIndex: "contacts",
+                //     key: "contacts",
+                // },
+                // {
+                //     title: "联系电话",
+                //     dataIndex: "contactMobile",
+                //     key: "contactMobile",
+                // },
                 {
                     title: "社会性质",
                     dataIndex: "societyTag",
@@ -86,16 +86,16 @@ class CustomerFollow extends Component{
                     dataIndex: "transferTime",
                     key: "transferTime",
                 },
-                {
-                    title: "剩余私有天数",
-                    dataIndex: "surplusFollowTime",
-                    key: "surplusFollowTime",
-                },
-                {
-                    title: "剩余签单天数",
-                    dataIndex: "surplusSignTime",
-                    key: "surplusSignTime",
-                },
+                // {
+                //     title: "剩余私有天数",
+                //     dataIndex: "surplusFollowTime",
+                //     key: "surplusFollowTime",
+                // },
+                // {
+                //     title: "剩余签单天数",
+                //     dataIndex: "surplusSignTime",
+                //     key: "surplusSignTime",
+                // },
                 {
                     title: "最新跟进时间",
                     dataIndex: "lastFollowTime",

+ 572 - 0
js/component/manageCenter/customer/managementFollow/followUpSummary/index.jsx

@@ -0,0 +1,572 @@
+import React,{Component} from "react";
+import {
+    Button,
+    Cascader,
+    DatePicker,
+    Form,
+    Input,
+    message,
+    Modal,
+    Radio,
+    Select,
+    Spin,
+    Table,
+    Tabs,
+    Tooltip
+} from "antd";
+import moment from "moment";
+import ShowModalDiv from "@/showModal.jsx";
+import {ShowModal,getContactType} from "@/tools.js";
+import {customerType} from "@/dataDic.js";
+import {ChooseList} from "../../../order/orderNew/chooseList";
+import $ from "jquery/src/ajax";
+import {getCustomerType} from "../../../../tools";
+import IntentionDetail from "../../NEW/intentionCustomer/intentionDetail/intentionDetail";
+
+const {TabPane} = Tabs;
+const { RangePicker } = DatePicker;
+
+class FollowUpSummary extends Component{
+    constructor(props) {
+        super(props);
+        this.state={
+            loading:false,
+            changeList:[],
+            columns:[
+                {
+                    title: "客户名称",
+                    dataIndex: "nickname",
+                    key: "nickname",
+                    render: text => {
+                        return (
+                            <Tooltip title={text}>
+                                <div style={{
+                                    maxWidth:'150px',
+                                    overflow:'hidden',
+                                    textOverflow: "ellipsis",
+                                    whiteSpace:'nowrap',
+                                }}>{text}</div>
+                            </Tooltip>
+                        )
+                    }
+                },
+                {
+                    title: '客户类型',
+                    dataIndex: 'shareType',
+                    key: 'shareType',
+                    render: text => {
+                    //    0-私有 1-公共 2 签单 3渠道
+                        return (
+                            text === 0 ? '私有客户' :
+                                text === 1 ? '公共客户' :
+                                    text === 2 ? '签单客户' :
+                                        text === 3 ? '渠道客户' : ''
+                        )
+                    }
+
+                },
+                {
+                    title: '客户初始时间',
+                    dataIndex: 'startTimes',
+                    key: 'startTimes',
+                },
+                {
+                    title: "跟进方式",
+                    dataIndex: "contactType",
+                    key: "contactType",
+                    render: (text) => {
+                        return getContactType(text);
+                    },
+                },
+                {
+                    title: "跟进人",
+                    dataIndex: "followName",
+                    key: "followName",
+                },
+                {
+                    title: "跟进部门",
+                    dataIndex: "followDep",
+                    key: "followDep",
+                },
+                {
+                    title: "跟进说明",
+                    dataIndex: "result",
+                    key: "result",
+                },
+                {
+                    title: "跟进时间",
+                    dataIndex: "followTimes",
+                    key: "followTimes",
+                },
+                {
+                    title: "次数",
+                    dataIndex: "followCount",
+                    key: "followCount",
+                },
+                {
+                    title: "指导意见",
+                    dataIndex: "guidance",
+                    key: "guidance",
+                    width:150,
+                    render: (text, record) => {
+                        return (
+                            <div style={{
+                                cursor:"pointer",
+                                width: '150px',
+                                whiteSpace: 'nowrap',
+                                overflow: 'hidden',
+                                textOverflow: 'ellipsis',
+                            }}
+                                 onClick={(e)=>{
+                                     e.stopPropagation();
+                                     Modal.info({
+                                         title: '指导意见',
+                                         content: (
+                                             <div style={{
+                                                 wordWrap:"break-word"
+                                             }}>
+                                                 {record.guidance}
+                                             </div>
+                                         ),
+                                         onOk() {},
+                                     });
+                                 }}>
+							  <span>
+                                {record.guidanceName ? '('+record.guidanceName+')' : null}
+								{record.guidance}
+							  </span>
+                            </div>
+                        );
+                    },
+                },
+                {
+                    title: "指导时间",
+                    dataIndex: "guidanceTimes",
+                    key: "guidanceTimes",
+                    render: (text) => {
+                        return (
+                            <span>{text ? text : ''}</span>
+                        )
+                    }
+                }
+            ],
+            dataSource:[],
+            pagination: {
+                defaultCurrent: 1,
+                defaultPageSize: 10,
+                showQuickJumper: true,
+                pageSize: 10,
+                onChange: function (page) {
+                    this.loadData(page);
+                }.bind(this),
+                showTotal: function (total) {
+                    return "共" + total + "条数据";
+                },
+            },
+
+
+            releaseDate:[],
+            releaseDate1:[],
+            releaseDate2:[],
+
+            userName:undefined,
+            userType:undefined,
+            contactType:undefined,
+            depId: undefined,
+        }
+        this.reset = this.reset.bind(this);
+        this.loadData = this.loadData.bind(this);
+        this.selectSuperId = this.selectSuperId.bind(this);
+        this.category = this.category.bind(this);
+        this.closeDesc = this.closeDesc.bind(this);
+        this.tableRowClick = this.tableRowClick.bind(this);
+        this.export = this.export.bind(this);
+    }
+
+    componentDidMount() {
+        this.loadData();
+        this.selectSuperId();
+    }
+
+    loadData(pageNo) {
+        this.setState({
+            loading: true,
+        });
+        let api = '/api/admin/userFollowList';
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + api,
+            data: {
+                pageNo: pageNo || 1,
+                pageSize: this.state.pagination.pageSize,
+                userName:this.state.userName || undefined,
+                userType:isNaN(parseInt(this.state.userType)) ? undefined : this.state.userType,
+                contactType: isNaN(parseInt(this.state.contactType)) ? undefined : this.state.contactType,
+                depId: this.state.depId || undefined,
+                followStartTime:this.state.releaseDate[0] ? this.state.releaseDate[0] : undefined,
+                followEndTime:this.state.releaseDate[1] ? this.state.releaseDate[1] : undefined,
+                createStartTime:this.state.releaseDate1[0] ? this.state.releaseDate1[0] : undefined,
+                createEndTime:this.state.releaseDate1[1] ? this.state.releaseDate1[1] : undefined,
+                guidanceStartTime:this.state.releaseDate2[0] ? this.state.releaseDate2[0] : undefined,
+                guidanceEndTime:this.state.releaseDate2[1] ? this.state.releaseDate2[1] : undefined,
+            },
+            success: function (data) {
+                ShowModal(this);
+                if (data.error.length === 0) {
+                    let theArr = [];
+                    for (let i = 0; i < data.data.list.length; i++) {
+                        let thisdata = data.data.list[i];
+                        let diqu =
+                            (thisdata.province == null ? "" : thisdata.province) +
+                            (thisdata.city == null ? "" : "-" + thisdata.city) +
+                            (thisdata.area == null ? "" : "-" + thisdata.area);
+                        thisdata.key = i;
+                        thisdata.lastFollowTime = thisdata.lastFollowTime && thisdata.lastFollowTime.split(" ")[0];
+                        thisdata.transferTime= thisdata.transferTime && thisdata.transferTime.split(" ")[0];
+                        thisdata.surplusFollowTime= thisdata.surplusFollowTime && thisdata.surplusFollowTime.split(" ")[0];
+                        thisdata.surplusSignTime= thisdata.surplusSignTime && thisdata.surplusSignTime.split(" ")[0];
+                        thisdata.locationProvince= diqu;
+                        theArr.push(thisdata);
+                    }
+                    this.state.pagination.current = data.data.pageNo;
+                    this.state.pagination.total = data.data.totalCount;
+                    this.setState({
+                        pageNo: data.data.pageNo,
+                        dataSource: theArr,
+                        pagination: this.state.pagination,
+                    });
+                }else{
+                    message.warning(data.error[0].message);
+                }
+            }.bind(this),
+        }).always(
+            function () {
+                this.setState({
+                    loading: false,
+                });
+            }.bind(this)
+        );
+    };
+
+    selectSuperId() {
+        this.state.data = []
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/organization/selectSuperId",
+            data:{},
+            success: function (data) {
+                if(data.error.length === 0){
+                    let theArr = [];
+                    for(let i=0;i<data.data.length;i++){
+                        let theData = data.data[i];
+                        theArr.push(
+                            <Select.Option value={theData.id} key={theData.id}>{theData.name}</Select.Option>
+                        );
+                    }
+                    this.setState({
+                        contactsOption: theArr,
+                    });
+                }else{
+                    message.warning(data.error[0].message);
+                }
+            }.bind(this),
+        }).always(function () {
+            this.setState({
+                loading: false
+            });
+        }.bind(this));
+    }
+
+    //品类数据获取
+    category() {
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/Varieties/getSuperList",
+            data: {},
+            success: function (data) {
+                let thedata = data.data;
+                let theArr = [];
+                if (!thedata) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                    }
+                } else {
+                    thedata.map(function (item, index) {
+                        theArr.push({
+                            value: item.id,
+                            key: item.cname,
+                        });
+                    });
+                }
+                this.setState({
+                    categoryArr: theArr,
+                });
+            }.bind(this),
+        });
+    }
+
+    tableRowClick(record){
+        this.category();
+        this.setState({
+            rowData: record,
+            modalVisible:true,
+            modalName: record.name,
+        })
+    }
+
+    closeDesc(e, s) {
+        this.setState({
+            visitModul: e,
+            modalVisible: e,
+            showDesc: e,
+            tabsKey: '',
+        })
+        if (s) {
+            this.loadData(this.state.pageNo);
+        }
+    }
+
+    export(){
+        this.setState({
+            exportExecLoading: true
+        })
+        let loading = message.loading('加载中...');
+        let data = {
+            userName:this.state.userName || undefined,
+            userType:isNaN(parseInt(this.state.userType)) ? undefined : this.state.userType,
+            contactType: isNaN(parseInt(this.state.contactType)) ? undefined : this.state.contactType,
+            depId:this.state.depId || undefined,
+            followStartTime:this.state.releaseDate[0] ? this.state.releaseDate[0] : undefined,
+            followEndTime:this.state.releaseDate[1] ? this.state.releaseDate[1] : undefined,
+            createStartTime:this.state.releaseDate1[0] ? this.state.releaseDate1[0] : undefined,
+            createEndTime:this.state.releaseDate1[1] ? this.state.releaseDate1[1] : undefined,
+            guidanceStartTime:this.state.releaseDate2[0] ? this.state.releaseDate2[0] : undefined,
+            guidanceEndTime:this.state.releaseDate2[1] ? this.state.releaseDate2[1] : undefined,
+        };
+        for (let i in data){
+            if(typeof data[i] === "undefined"){
+                delete data[i]
+            }
+        }
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/userFollowListExport",
+            data,
+            success: function(data) {
+                if(data.error.length === 0){
+                    this.download(data.data);
+                }else{
+                    message.warning(data.error[0].message);
+                }
+            }.bind(this),
+        }).always(function() {
+            loading();
+            this.setState({
+                exportExecLoading: false
+            })
+        }.bind(this));
+    }
+
+    download(fileName){
+        window.location.href = globalConfig.context + "/open/download?fileName=" + fileName
+    }
+
+    reset(){
+        this.setState({
+            userName:undefined,
+            userType:undefined,
+            contactType:undefined,
+            depId:undefined,
+
+            releaseDate:[],
+            releaseDate1:[],
+            releaseDate2:[],
+        },()=>{
+            this.loadData();
+        })
+    }
+
+    render() {
+        return (
+            <div className="user-content">
+                <ShowModalDiv ShowModal={this.state.showModal} />
+                <div className="content-title">
+                    <span>客户跟进汇总</span>
+                </div>
+                <Tabs defaultActiveKey="1" className="test">
+                    <TabPane tab="搜索" key="1">
+                        <div className="user-search">
+                            <Form layout="inline">
+                                <Form.Item style={{marginTop: '10px'}}>
+                                    <Input
+                                        placeholder="客户名称"
+                                        value={this.state.userName}
+                                        style={{ width: 150, marginRight: 10 }}
+                                        onChange={(e) => {
+                                            this.setState({ userName: e.target.value });
+                                        }}
+                                    />
+                                </Form.Item>
+                                <Form.Item>
+                                    <Select
+                                        placeholder="选择客户类型"
+                                        style={{ width: 100, marginRight: 10}}
+                                        value={this.state.userType}
+                                        onChange={
+                                            (e) => {
+                                                this.setState({ userType: e })
+                                            }}
+                                    >
+                                        <Select.Option value={0}>所有</Select.Option>
+                                        <Select.Option value={1}>私有客户</Select.Option>
+                                        <Select.Option value={2}>签单客户</Select.Option>
+                                        <Select.Option value={3}>渠道客户</Select.Option>
+                                    </Select>
+                                </Form.Item>
+                                <Form.Item>
+                                    <Select
+                                        placeholder="选择跟进方式"
+                                        style={{ width: 100, marginRight: 10}}
+                                        value={this.state.contactType}
+                                        onChange={(e) => { this.setState({ contactType: e }) }}
+                                    >
+                                        <Select.Option value={0}>外出</Select.Option>
+                                        <Select.Option value={1}>电话</Select.Option>
+                                        <Select.Option value={2}>QQ</Select.Option>
+                                        <Select.Option value={3}>微信</Select.Option>
+                                        <Select.Option value={4}>邮箱</Select.Option>
+                                        <Select.Option value={5}>公出打卡</Select.Option>
+                                    </Select>
+                                </Form.Item>
+                                <Form.Item>
+                                    <Select
+                                        placeholder="选择跟进部门"
+                                        style={{ width:'200px',marginRight:'10px' }}
+                                        value={this.state.depId}
+                                        onChange={
+                                            (e) => {
+                                                this.setState({ depId: e })
+                                            }}
+                                        notFoundContent="未获取到上级组织列表"
+                                    >
+                                        {this.state.contactsOption}
+                                    </Select>
+                                </Form.Item>
+                                <Form.Item label='跟进时间:' style={{marginTop: '10px'}}>
+                                    <RangePicker
+                                        style={{ marginRight:'10px' }}
+                                        value={[
+                                            this.state.releaseDate[0]
+                                                ? moment(this.state.releaseDate[0])
+                                                : null,
+                                            this.state.releaseDate[1]
+                                                ? moment(this.state.releaseDate[1])
+                                                : null,
+                                        ]}
+                                        onChange={(data, dataString) => {
+                                            this.setState({ releaseDate: dataString });
+                                        }}
+                                    />
+                                </Form.Item>
+                                <Form.Item label='客户初始时间:' style={{marginTop: '10px'}}>
+                                    <RangePicker
+                                        style={{ marginRight:'10px' }}
+                                        value={[
+                                            this.state.releaseDate1[0]
+                                                ? moment(this.state.releaseDate1[0])
+                                                : null,
+                                            this.state.releaseDate1[1]
+                                                ? moment(this.state.releaseDate1[1])
+                                                : null,
+                                        ]}
+                                        onChange={(data, dataString) => {
+                                            this.setState({ releaseDate1: dataString });
+                                        }}
+                                    />
+                                </Form.Item>
+                                <Form.Item label='指导时间:' style={{marginTop: '10px'}}>
+                                    <RangePicker
+                                        style={{ marginRight:'10px' }}
+                                        value={[
+                                            this.state.releaseDate2[0]
+                                                ? moment(this.state.releaseDate2[0])
+                                                : null,
+                                            this.state.releaseDate2[1]
+                                                ? moment(this.state.releaseDate2[1])
+                                                : null,
+                                        ]}
+                                        onChange={(data, dataString) => {
+                                            this.setState({ releaseDate2: dataString });
+                                        }}
+                                    />
+                                </Form.Item>
+                            </Form>
+                            <Button
+                                type="primary"
+                                style={{ marginLeft: "10px", marginRight: 10 }}
+                                onClick={()=>{
+                                    this.loadData();
+                                }}
+                            >
+                                搜索
+                            </Button>
+                            <Button onClick={this.reset}>重置</Button>
+                        </div>
+                    </TabPane>
+                    <TabPane tab="更改表格显示数据" key="2">
+                        <div style={{ marginLeft: 10 }}>
+                            <ChooseList
+                                columns={this.state.columns}
+                                changeFn={this.changeList}
+                                changeList={this.state.changeList}
+                                top={55}
+                                margin={11}
+                            />
+                        </div>
+                    </TabPane>
+                    <TabPane tab="导出" key="3">
+                        <Button style={{ float: "left",margin:10 }} onClick={this.export}>
+                            导出excel
+                        </Button>
+                    </TabPane>
+                </Tabs>
+                <div className="patent-table">
+                    <Spin spinning={this.state.loading}>
+                        <Table
+                            columns={
+                                this.state.changeList.length
+                                    ? this.state.changeList
+                                    : this.state.columns
+                            }
+                            dataSource={this.state.dataSource}
+                            pagination={this.state.pagination}
+                            onRowClick={this.tableRowClick}
+                            style={{
+                                cursor: 'pointer',
+                            }}
+                        />
+                    </Spin>
+                </div>
+                <IntentionDetail
+                    categoryArr={this.state.categoryArr}
+                    IntentionData={this.state.rowData}
+                    modalVisible={this.state.modalVisible}
+                    isGuidanceLv={this.props.isGuidanceLv}
+                    isEditGuidanceLv={this.props.isEditGuidanceLv}
+                    name={this.state.modalName}
+                    closeDesc={this.closeDesc}
+                />
+            </div>
+        )
+    }
+}
+
+export default FollowUpSummary;

+ 9 - 6
js/component/manageCenter/customerService/administration/customerServiceRecord.jsx

@@ -187,10 +187,10 @@ class CustomerServiceRecord extends Component{
             message.warning('请选择续签情况');
             return;
         }
-        if(this.state.situation === 6 && !this.state.releaseDate){
-            message.warning('请选择续签时间');
-            return;
-        }
+        // if(this.state.situation === 6 && !this.state.releaseDate){
+        //     message.warning('请选择续签时间');
+        //     return;
+        // }
         if(!this.state.comment){
             message.warning('请填写备注');
             return;
@@ -207,7 +207,7 @@ class CustomerServiceRecord extends Component{
                 addWechat:this.state.addWechat,
                 wechat:this.state.wx,
                 renewal:this.state.situation,
-                renewalTimes:this.state.releaseDate,
+                renewalTimes:this.state.releaseDate || undefined,
                 techSatisfaction:this.state.techSatisfaction,
                 businessSatisfaction:this.state.businessSatisfaction,
                 remarks:this.state.comment,
@@ -405,7 +405,10 @@ class CustomerServiceRecord extends Component{
                             </Select>
                         </div>
                         {this.state.situation === 6 ? <div style={{display:'flex',alignItems:"center",paddingBottom:"10px"}}>
-                            <div style={{fontWeight:"bolder",paddingRight:'10px'}}><span style={{color:'#f00'}}>*</span>续签时间:</div>
+                            <div style={{fontWeight:"bolder",paddingRight:'10px'}}>
+                                {/*<span style={{color:'#f00'}}>*</span>*/}
+                                续签时间:
+                            </div>
                             <DatePicker
                                 value={this.state.releaseDate ? moment(this.state.releaseDate) : null}
                                 onChange={(data, dataString) => {

+ 85 - 4
js/component/manageCenter/project/patent/list.jsx

@@ -11,8 +11,7 @@ import {
     Table,
     Tabs,
     Upload,
-    AutoComplete,
-    Tooltip
+    Tooltip, DatePicker
 } from "antd";
 import {ChooseList} from "../../order/orderNew/chooseList";
 import $ from "jquery/src/ajax";
@@ -26,8 +25,10 @@ import './patent.less';
 
 import PatentDetails from './patentDetails';
 import ReminderLog from "../../customer/NEW/crm/reminderLog";
+import moment from "moment";
 
 const { TabPane } = Tabs;
+const { RangePicker } = DatePicker;
 
 class List extends Component{
     constructor(props) {
@@ -300,6 +301,10 @@ class List extends Component{
             name:undefined,
             type:undefined,
             depName:undefined,
+            inputDep:undefined,
+            followDep:undefined,
+            releaseDate:[],
+            releaseDate1:[],
             annualFeeStatus:undefined,
             userName:undefined,
             salesmanRemind:undefined,
@@ -377,6 +382,10 @@ class List extends Component{
                     name:undefined,
                     type:undefined,
                     depName:undefined,
+                    inputDep:undefined,
+                    followDep:undefined,
+                    releaseDate:[],
+                    releaseDate1:[],
                     annualFeeStatus:undefined,
                     userName:undefined,
                     salesmanRemind:undefined,
@@ -418,6 +427,12 @@ class List extends Component{
             name:this.state.name,
             type:this.state.type,
             depName:this.state.depName,
+            inputDep:this.state.inputDep,
+            followDep:this.state.followDep,
+            createStarts:this.state.releaseDate[0] || undefined,
+            createEnds:this.state.releaseDate[1] || undefined,
+            startDates:this.state.releaseDate1[0] || undefined,
+            endDates:this.state.releaseDate1[1] || undefined,
             annualFeeStatus:this.state.annualFeeStatus,
             userName:this.state.userName,
             salesmanRemind:this.state.salesmanRemind,
@@ -528,6 +543,12 @@ class List extends Component{
             name:this.state.name,
             type:this.state.type,
             depName:this.state.depName,
+            inputDep:this.state.inputDep,
+            followDep:this.state.followDep,
+            createStarts:this.state.releaseDate[0] || undefined,
+            createEnds:this.state.releaseDate[1] || undefined,
+            startDates:this.state.releaseDate1[0] || undefined,
+            endDates:this.state.releaseDate1[1] || undefined,
             annualFeeStatus:this.state.annualFeeStatus,
             userName:this.state.userName,
             salesmanRemind:this.state.salesmanRemind,
@@ -612,6 +633,10 @@ class List extends Component{
             name:undefined,
             type:undefined,
             depName:undefined,
+            inputDep:undefined,
+            followDep:undefined,
+            releaseDate:[],
+            releaseDate1:[],
             annualFeeStatus:undefined,
             userName:undefined,
             salesmanRemind:undefined,
@@ -687,7 +712,7 @@ class List extends Component{
 
     render() {
         return (
-            <div className="user-content">
+            <div className="user-content patentList">
                 <ShowModalDiv ShowModal={this.state.showModal} />
                 <div className="content-title">
                     <span>专利列表</span>
@@ -766,12 +791,68 @@ class List extends Component{
                                         <Select placeholder="请选择派单部门" value={this.state.depName} onSelect={e=>{this.setState({depName:e})}} style={{ width: "240px" }}>
                                             {
                                                 this.state.departmentArr.map(function (item) {
-                                                    return <Select.Option key={item.name} value={item.name}>{item.name}</Select.Option>
+                                                    return <Select.Option key={item.id} value={item.id}>{item.name}</Select.Option>
                                                 })
                                             }
                                         </Select>
                                     </Form.Item>
                                     <Form.Item>
+                                        <Select placeholder="请选择录入部门" value={this.state.inputDep} onSelect={e=>{this.setState({inputDep:e})}} style={{ width: "240px" }}>
+                                            {
+                                                this.state.departmentArr.map(function (item) {
+                                                    return <Select.Option key={item.id} value={item.id}>{item.name}</Select.Option>
+                                                })
+                                            }
+                                        </Select>
+                                    </Form.Item>
+                                    <Form.Item>
+                                        <Select placeholder="请选择跟进部门" value={this.state.followDep} onSelect={e=>{this.setState({followDep:e})}} style={{ width: "240px" }}>
+                                            {
+                                                this.state.departmentArr.map(function (item) {
+                                                    return <Select.Option key={item.id} value={item.id}>{item.name}</Select.Option>
+                                                })
+                                            }
+                                        </Select>
+                                    </Form.Item>
+                                    <Form.Item>
+                                        <div style={{display:'flex',alignItems:'center'}}>
+                                            <div style={{marginRight:'10px'}}>录入时间:</div>
+                                            <RangePicker
+                                                style={{ marginRight:'10px' }}
+                                                value={[
+                                                    this.state.releaseDate[0]
+                                                        ? moment(this.state.releaseDate[0])
+                                                        : null,
+                                                    this.state.releaseDate[1]
+                                                        ? moment(this.state.releaseDate[1])
+                                                        : null,
+                                                ]}
+                                                onChange={(data, dataString) => {
+                                                    this.setState({ releaseDate: dataString });
+                                                }}
+                                            />
+                                        </div>
+                                    </Form.Item>
+                                    <Form.Item>
+                                        <div style={{display:'flex',alignItems:'center'}}>
+                                            <span style={{marginRight:'10px'}}>申请时间:</span>
+                                            <RangePicker
+                                                style={{ marginRight:'10px'}}
+                                                value={[
+                                                    this.state.releaseDate1[0]
+                                                        ? moment(this.state.releaseDate1[0])
+                                                        : null,
+                                                    this.state.releaseDate1[1]
+                                                        ? moment(this.state.releaseDate1[1])
+                                                        : null,
+                                                ]}
+                                                onChange={(data, dataString) => {
+                                                    this.setState({ releaseDate1: dataString });
+                                                }}
+                                            />
+                                        </div>
+                                    </Form.Item>
+                                    <Form.Item>
                                         <Button type="primary" onClick={()=>{this.loadData();}}>
                                             搜索
                                         </Button>

+ 4 - 2
js/component/manageCenter/project/patent/patent.less

@@ -1,6 +1,8 @@
 .ant-table-thead .ant-table-selection-column .ant-checkbox-wrapper{
   display: inline-block;
 }
-.ant-upload-list{
-  display: none;
+.patentList{
+  .ant-upload-list{
+    display: none;
+  }
 }

+ 1 - 1
js/component/manageCenter/project/task/myTask.jsx

@@ -393,7 +393,7 @@ const Task = React.createClass({
                     key: "commodityPrice",
                 },
                 {
-                    title: "外包成本(万元)",
+                    title: "成本(万元)",
                     dataIndex: "costAmount",
                     key: "costAmount",
                     render: (text, record) => {

+ 1 - 1
js/component/tools.js

@@ -1073,7 +1073,7 @@ module.exports = {
   },
   //我的业务跟进状态
   getContactType: function (e) {
-    if (e) {
+    if (!isNaN(parseInt(e))) {
       let theType = "";
       contactType.map(function (item) {
         if (item.value == e) {

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "afanti",
-  "version": "1.1.83",
+  "version": "1.1.85",
   "description": "",
   "main": "index.js",
   "scripts": {