Browse Source

增加按技术员搜索

dev01 2 years ago
parent
commit
bc19c2a313

+ 115 - 11
js/component/manageCenter/order/orderNew/costAuditList/filterColumn.js

@@ -1,5 +1,5 @@
 import React, { Component } from 'react';
-import { Button, Form, Input, message, Select } from "antd";
+import { Button, Form, AutoComplete, Input, message, Select } from "antd";
 import $ from "jquery/src/ajax";
 import Cascaders from "../../../../common/cascaders"
 
@@ -12,6 +12,10 @@ class FilterColumn extends Component {
         }
         this.handleReset = this.handleReset.bind(this);
         this.departmentList = this.departmentList.bind(this);
+        this.supervisor = this.supervisor.bind(this);
+        this.httpChange = this.httpChange.bind(this);
+        this.selectAuto = this.selectAuto.bind(this);
+        this.blurChange = this.blurChange.bind(this);
     }
 
     componentDidMount() {
@@ -19,7 +23,9 @@ class FilterColumn extends Component {
     }
 
     handleReset() {
-        this.state.deps = undefined
+        this.state.auto = '';
+        this.state.thchId = undefined;
+        this.state.deps = undefined;
         this.Cascaders.empty();
         this.props.form.resetFields();
         this.props.onResetSearch && this.props.onResetSearch();
@@ -31,7 +37,13 @@ class FilterColumn extends Component {
             if (err) {
                 return;
             }
-            this.props.onSearch(Object.assign(values, { deps: this.state.deps }));
+            this.props.onSearch(Object.assign(
+                values,
+                {
+                    deps: this.state.deps,
+                    thchId: this.state.thchId
+                }
+            ));
         })
     }
 
@@ -68,9 +80,83 @@ class FilterColumn extends Component {
             }.bind(this)
         );
     }
+    // 查询用户
+    supervisor(e) {
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/customer/listAdminByName",
+            data: {
+                adminName: e,
+            },
+            success: function (data) {
+                let thedata = data.data;
+                if (!thedata) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                    }
+                    thedata = {};
+                }
+                this.setState({
+                    customerArr: thedata,
+                });
+            }.bind(this),
+        }).always(
+            function () {
+
+            }.bind(this)
+        );
+    }
+    // 输入触发
+    httpChange(e) {
+        if (e.length >= 1) {
+            this.supervisor(e);
+        }
+        this.setState({
+            auto: e,
+        });
+    }
+    // 选中
+    selectAuto(value, options) {
+        let thchId = ""
+        let contactLists = this.state.customerArr || [];
+        if (value) {
+            contactLists.map(function (item) {
+                if (item.name == value.toString()) {
+                    thchId = item.id;
+                }
+            });
+        }
+        this.setState({
+            auto: value,
+            thchId: thchId,
+        });
+    }
+    // 失去焦点
+    blurChange(e) {
+        let thchId = ""
+        let contactLists = this.state.customerArr || [];
+        if (e) {
+            contactLists.map(function (item) {
+                if (item.name == e.toString()) {
+                    thchId = item.id;
+                }
+            });
+        }
+        this.setState({
+            thchId: thchId,
+        });
+    }
 
     render() {
         const { getFieldDecorator } = this.props.form;
+        const dataSources = this.state.customerArr || [];
+        const options = dataSources.map((group) => (
+            <Select.Option key={group.id} value={group.name}>
+                {group.name}
+            </Select.Option>
+        ));
         return (
             <div className="user-search">
                 <Form
@@ -89,7 +175,7 @@ class FilterColumn extends Component {
                         {getFieldDecorator('contractNo', {
                             rules: [{ required: false, message: '' }],
                         })(
-                            <Input style={{ width: '200px' }} placeholder="请输入合同编号" />
+                            <Input style={{ width: 200, height: 32 }} placeholder="请输入合同编号" />
                         )}
                     </Form.Item>
                     <Form.Item
@@ -98,7 +184,7 @@ class FilterColumn extends Component {
                         {getFieldDecorator('orderNo', {
                             rules: [{ required: false, message: '' }],
                         })(
-                            <Input style={{ width: '200px' }} placeholder="请输入订单编号" />
+                            <Input style={{ width: 200, height: 32 }} placeholder="请输入订单编号" />
                         )}
                     </Form.Item>
                     <Form.Item
@@ -107,7 +193,7 @@ class FilterColumn extends Component {
                         {getFieldDecorator('userName', {
                             rules: [{ required: false, message: '' }],
                         })(
-                            <Input style={{ width: '200px' }} placeholder="请输入客户名称" />
+                            <Input style={{ width: 200, height: 32 }} placeholder="请输入客户名称" />
                         )}
                     </Form.Item>
                     <Form.Item
@@ -149,7 +235,7 @@ class FilterColumn extends Component {
                         {getFieldDecorator('aname', {
                             rules: [{ required: false, message: '' }],
                         })(
-                            <Input style={{ width: '200px' }} placeholder="请输入发起人" />
+                            <Input style={{ width: 200, height: 32 }} placeholder="请输入发起人" />
                         )}
                     </Form.Item>
                     <Form.Item
@@ -158,7 +244,7 @@ class FilterColumn extends Component {
                         {getFieldDecorator('financeName', {
                             rules: [{ required: false, message: '' }],
                         })(
-                            <Input style={{ width: '200px' }} placeholder="请输入财务名称" />
+                            <Input style={{ width: 200, height: 32 }} placeholder="请输入财务名称" />
                         )}
                     </Form.Item>
                     <Form.Item
@@ -167,7 +253,7 @@ class FilterColumn extends Component {
                         {getFieldDecorator('cname', {
                             rules: [{ required: false, message: '' }],
                         })(
-                            <Input style={{ width: '200px' }} placeholder="请输入分类名称" />
+                            <Input style={{ width: 200, height: 32 }} placeholder="请输入分类名称" />
                         )}
                     </Form.Item>
                     <Form.Item
@@ -176,7 +262,7 @@ class FilterColumn extends Component {
                         {getFieldDecorator('pname', {
                             rules: [{ required: false, message: '' }],
                         })(
-                            <Input style={{ width: '200px' }} placeholder="请输入项目名称" />
+                            <Input style={{ width: 200, height: 32 }} placeholder="请输入项目名称" />
                         )}
                     </Form.Item>
                     <Form.Item
@@ -188,7 +274,8 @@ class FilterColumn extends Component {
                             <Select
                                 placeholder="选择状态"
                                 style={{
-                                    width: '200px',
+                                    width: 200,
+                                    height: 32,
                                     marginTop: '0px',
                                 }}
                             >
@@ -200,6 +287,23 @@ class FilterColumn extends Component {
                             </Select>
                         )}
                     </Form.Item>
+                    <Form.Item
+                        label="咨询师/经理"
+                    >
+                        <AutoComplete
+                            dropdownMatchSelectWidth={false}
+                            style={{ width: 200, marginTop: 0 }}
+                            dataSource={options}
+                            placeholder='请输入姓名'
+                            value={this.state.auto}
+                            onChange={this.httpChange}
+                            filterOption={true}
+                            onBlur={this.blurChange}
+                            onSelect={this.selectAuto}
+                        >
+                            <Input />
+                        </AutoComplete>
+                    </Form.Item>
                     <Form.Item>
                         <Button type="primary" htmlType="submit" style={{ marginLeft: 10 }}>
                             搜索

+ 256 - 253
js/component/manageCenter/order/orderNew/costAuditList/index.js

@@ -1,4 +1,4 @@
-import React,{Component} from 'react';
+import React, { Component } from 'react';
 import $ from "jquery/src/ajax";
 import {
     Spin,
@@ -6,7 +6,7 @@ import {
     message,
     Tooltip, Tabs, Button, Modal, Form, Input
 } from "antd";
-import {ShowModal,getProjectStatus} from "@/tools";
+import { ShowModal, getProjectStatus } from "@/tools";
 import FilterColumn from './filterColumn';
 import DetailsModal from './detailsModal/index';
 import OrderPaymentModal from './component/orderPaymentModal';
@@ -14,8 +14,8 @@ import './index.less';
 import "../customer.less";
 import CheckProject from "../../../components/checkProject";
 import PayRecord from "../../../components/checkProject/payRecord";
-import {ChooseList} from "../chooseList";
-import {getProjectName} from "../../../../tools";
+import { ChooseList } from "../chooseList";
+import { getProjectName } from "../../../../tools";
 
 const { TabPane } = Tabs;
 const layout = {
@@ -32,10 +32,10 @@ const formItemLayout = {
     wrapperCol: { span: 14 },
 };
 
-class CostAuditList extends Component{
+class CostAuditList extends Component {
     constructor(props) {
         super(props);
-        this.state={
+        this.state = {
             loading: true,
             columns: [
                 {
@@ -85,10 +85,10 @@ class CostAuditList extends Component{
                         return (
                             <Tooltip placement="bottom" title={text}>
                                 <div style={{
-                                    maxWidth:'150px',
-                                    overflow:'hidden',
+                                    maxWidth: '150px',
+                                    overflow: 'hidden',
                                     textOverflow: "ellipsis",
-                                    whiteSpace:'nowrap',
+                                    whiteSpace: 'nowrap',
                                 }}>{text}</div>
                             </Tooltip>
                         )
@@ -117,7 +117,7 @@ class CostAuditList extends Component{
                     key: "chooseType",
                     render: (text) => {
                         return text === 0 ? '第三方成本' :
-                                text === 1 ? '催款节点' : text === 2 ? '官费' : '';
+                            text === 1 ? '催款节点' : text === 2 ? '官费' : '';
                     },
                 },
                 {
@@ -157,10 +157,10 @@ class CostAuditList extends Component{
                     key: "status",
                     render: (text) => {
                         return text === 0 ? '审核' :
-                                    text === 1 ? '待支付' :
-                                        text === 2 ? '驳回' :
-                                            text === 3 ? '已支付' :
-                                                text === 4 ? '已取消' : '';
+                            text === 1 ? '待支付' :
+                                text === 2 ? '驳回' :
+                                    text === 3 ? '已支付' :
+                                        text === 4 ? '已取消' : '';
                     },
                 },
                 {
@@ -175,8 +175,8 @@ class CostAuditList extends Component{
                     render: (text, record) => {
                         return (
                             <div style={{
-                                display:'flex',
-                                alignItems:'center',
+                                display: 'flex',
+                                alignItems: 'center',
                             }}>
                                 <Button type="primary" size="small" onClick={(e) => {
                                     e.stopPropagation();
@@ -189,9 +189,9 @@ class CostAuditList extends Component{
                                 }}>
                                     {
                                         this.props.isPatentManager ? '查看详情' :
-                                        record.status === 0 ? '待审核' :
-                                            record.status === 1 ? '待支付' :
-                                                record.status === 2 ? '查看详情' : '查看详情'
+                                            record.status === 0 ? '待审核' :
+                                                record.status === 1 ? '待支付' :
+                                                    record.status === 2 ? '查看详情' : '查看详情'
                                     }
                                 </Button>
                                 {!this.props.isPatentManager ? <Button
@@ -209,7 +209,7 @@ class CostAuditList extends Component{
                                             tid: record.tid,
                                             projectType: record.projectType,
                                         })
-                                }}>
+                                    }}>
                                     付款记录
                                 </Button> : null}
                             </div>
@@ -225,7 +225,7 @@ class CostAuditList extends Component{
                 showQuickJumper: true,
                 pageSize: 10,
                 onChange: function (page) {
-                    this.loadData(page,this.state.searchInfor);
+                    this.loadData(page, this.state.searchInfor);
                 }.bind(this),
                 showTotal: function (total) {
                     return "共" + total + "条数据";
@@ -248,15 +248,15 @@ class CostAuditList extends Component{
 
     componentDidMount() {
         this.loadData()
-        if(this.props.isPatentManager){
+        if (this.props.isPatentManager) {
             let arr = this.state.columns;
             arr.splice(7, 0, {
                 title: "官费",
                 dataIndex: "officialCost",
                 key: "officialCost",
-                render: (text,record) => {
+                render: (text, record) => {
                     return (
-                        (text === 1 ? '含官费' : '不含官费' ) +
+                        (text === 1 ? '含官费' : '不含官费') +
                         (text === 1 ? (record.costReduction === 1 ? '有费减' : record.costReduction === 0 ? '无费减' : '') : '')
                     )
                 }
@@ -265,7 +265,7 @@ class CostAuditList extends Component{
                 title: "流程状态",
                 dataIndex: "processStatus",
                 key: "processStatus",
-                render: (text,record) => {
+                render: (text, record) => {
                     return (
                         text === 0 ? '发起' :
                             text === 1 ? '专利管理员审核' :
@@ -274,9 +274,9 @@ class CostAuditList extends Component{
                 }
             })
             this.setState({
-                columns:arr
+                columns: arr
             })
-        }else{
+        } else {
             let arr = this.state.columns;
             arr.splice(9, 0, {
                 title: "签单金额(万元)",
@@ -289,12 +289,12 @@ class CostAuditList extends Component{
                 key: "settlementAmount",
             })
             this.setState({
-                columns:arr
+                columns: arr
             });
         }
     }
 
-    loadData(pageNo,data={}) {
+    loadData(pageNo, data = {}) {
         this.setState({
             loading: true,
         });
@@ -345,7 +345,7 @@ class CostAuditList extends Component{
         );
     }
 
-    tableRowClick(record){
+    tableRowClick(record) {
         this.setState({
             visible: true,
             selectInfor: record,
@@ -353,15 +353,15 @@ class CostAuditList extends Component{
     }
 
     //专利审核
-    examineAll(status){
-        if(!this.state.remarks){
+    examineAll(status) {
+        if (!this.state.remarks) {
             message.warning('请输入备注')
             return;
         }
         let _this = this;
         Modal.confirm({
             title: '确定要批量审核已标记的条目吗?',
-            content: '已标记的序号为'+_this.state.selectedRowKeys.join(','),
+            content: '已标记的序号为' + _this.state.selectedRowKeys.join(','),
             okText: '确定',
             okType: 'primary',
             cancelText: '取消',
@@ -370,12 +370,12 @@ class CostAuditList extends Component{
                     loading: true,
                 });
                 let data = {
-                    remarks:_this.state.remarks,
-                    status:status
+                    remarks: _this.state.remarks,
+                    status: status
                 }
-                if(_this.state.selectedRowKeys.length === 1){
+                if (_this.state.selectedRowKeys.length === 1) {
                     data.pid = _this.state.selectedRowKeys[0]
-                }else{
+                } else {
                     data.pids = _this.state.selectedRowKeys.join(',')
                 }
                 $.ajax({
@@ -393,7 +393,7 @@ class CostAuditList extends Component{
                             message.success('审核成功')
                             _this.setState({
                                 selectedRowKeys: [],
-                                patentVisible:false
+                                patentVisible: false
                             });
                             _this.loadData(_this.state.page);
                         } else {
@@ -410,14 +410,14 @@ class CostAuditList extends Component{
 
     //批量审核
     printAll() {
-        if(this.state.selectedRowKeys.length === 0){
+        if (this.state.selectedRowKeys.length === 0) {
             message.warning('请先选择需要批量支付的条目');
             return;
         }
         let _this = this;
         Modal.confirm({
             title: '确定要批量支付已标记的条目吗?',
-            content: '已标记的序号为'+_this.state.selectedRowKeys.join(','),
+            content: '已标记的序号为' + _this.state.selectedRowKeys.join(','),
             okText: '确定',
             okType: 'primary',
             cancelText: '取消',
@@ -445,17 +445,17 @@ class CostAuditList extends Component{
                                 title: '操作提醒',
                                 content: (
                                     <div>
-                                        <div style={{paddingBottom:'15px'}}>
-                                            {'操作成功'+okLength+'条,'+'操作失败'+failLength+'条'}
+                                        <div style={{ paddingBottom: '15px' }}>
+                                            {'操作成功' + okLength + '条,' + '操作失败' + failLength + '条'}
                                         </div>
                                         {
                                             failLength !== 0 ?
-                                                <div>操作失败序号为:{data.data.fail.join(',')}</div>:
-                                                <div/>
+                                                <div>操作失败序号为:{data.data.fail.join(',')}</div> :
+                                                <div />
                                         }
                                     </div>
                                 ),
-                                onOk() {},
+                                onOk() { },
                             });
                             _this.setState({
                                 selectedRowKeys: [],
@@ -475,19 +475,20 @@ class CostAuditList extends Component{
 
     //导出
     exportExec() {
-        let data = Object.assign({},this.state.searchInfor);
-        for (let key in data){
-            if(!data[key]){
+        let data = Object.assign({}, this.state.searchInfor);
+        for (let key in data) {
+            if (!data[key]) {
                 delete data[key]
             }
         }
         data.pageSize = 9999999;
         data.pageNo = 1;
         //专利经理审核导出
-        if(this.props.isPatentManager){
+        if (this.props.isPatentManager) {
             data.type = 1;
         }
-        window.location.href=(globalConfig.context+'/api/admin/company/exportPaymentList?'+$.param(data));
+        console.log("======", data)
+        // window.location.href = (globalConfig.context + '/api/admin/company/exportPaymentList?' + $.param(data));
     }
 
     changeList(arr) {
@@ -506,209 +507,211 @@ class CostAuditList extends Component{
 
     render() {
         return (
-          <div className="user-content">
-              <div className="content-title" style={{ marginBottom: 10 }}>
-                  <span style={{ fontWeight: 900, fontSize: 16 }}>{this.props.isPatentManager ? '专利成本审核' : '成本支付审核'}</span>
-              </div>
-              <Tabs defaultActiveKey="1" onChange={this.callback} className="test">
-                  <TabPane tab="搜索" key="1">
-                      <div style={{paddingTop:'10px'}}>
-                          <FilterColumn
-                              {...this.props}
-                              onSearch={(data)=>{
-                                  this.setState({
-                                      searchInfor: data,
-                                      selectedRowKeys: [],
-                                  });
-                                  this.loadData(1,data);
-                              }}
-                              onResetSearch={()=>{
-                                  this.setState({
-                                      searchInfor: {}
-                                  });
-                                  this.loadData();
-                              }}
-                          />
-                      </div>
-                  </TabPane>
-                  <TabPane tab="操作" key="2">
-                      <Button
-                          type="primary"
-                          style={{ margin: "11px 0px 10px 10px" }}
-                          onClick={this.props.isPatentManager ? ()=>{
-                              if(this.state.selectedRowKeys.length === 0){
-                                  message.warning('请先选择需要批量审核的专利');
-                                  return;
-                              }
-                              this.setState({
-                                  patentVisible:true
-                              })
-                          } : this.printAll}
-                          disabled={!this.state.dataSource.length}
-                      >
-                          {this.props.isPatentManager ? '批量审核' :'批量支付'}
-                      </Button>
-                      <Button
-                          type="primary"
-                          onClick={this.exportExec}
-                          style={{ margin: "11px 0px 10px 10px" }}
-                      >
-                          {this.props.isPatentManager ? '导出专利成本列表' : '导出财务成本列表'}
-                      </Button>
-                  </TabPane>
-                  <TabPane tab="更改表格显示数据" key="3">
-                      <div style={{ marginLeft: 10 }}>
-                          <ChooseList
-                              columns={this.state.columns}
-                              changeFn={this.changeList}
-                              changeList={this.state.changeList}
-                              top={55}
-                              margin={11}
-                          />
-                      </div>
-                  </TabPane>
-              </Tabs>
-              <div className="patent-table">
-                  <Spin spinning={this.state.loading}>
-                      <Table
-                          columns={
-                              this.state.changeList
-                                  ? this.state.changeList
-                                  : this.state.columns
-                          }
-                          dataSource={this.state.dataSource}
-                          pagination={this.state.pagination}
-                          style={{
-                              cursor: 'pointer',
-                          }}
-                          onRowClick={(record)=>{
-                              this.tableRowClick(record)
-                          }}
-                          rowSelection={{
-                              selectedRowKeys:this.state.selectedRowKeys,
-                              onChange: (selectedRowKeys)=>{
-                                  this.setState({ selectedRowKeys });
-                              },
-                              getCheckboxProps: (record) => ({
-                                  // 0审核 1待支付 2驳回 3已支付   只有待支付可以勾选
-                                  disabled: this.props.isPatentManager ? record.processStatus !== 1 : record.status !== 1,
-                              })
-                          }}
-                          scroll={{ x: "max-content", y: 0 }}
-                          bordered
-                          size="small"
-                      />
-                  </Spin>
-              </div>
-              {
-                  this.state.visible ?
-                      <DetailsModal
-                          isAuditPayment={!this.props.isPatentManager}
-                          isAuditPaymentGLY={this.props.isPatentManager}
-                          tid={this.state.selectInfor.tid}
-                          orderNo={this.state.selectInfor.orderNo}
-                          projectType={this.state.selectInfor.projectType}
-                          projectStatus={this.state.selectInfor.projectStatus}
-                          taskName={this.state.selectInfor.pname}
-                          taskID={this.state.selectInfor.tid}
-                          visible={this.state.visible}
-                          refreshList={()=>{
-                              this.loadData(this.state.page,this.state.searchInfor);
-                          }}
-                          visitCancel={()=>{
-                              this.setState({
-                                  visible: false
-                              })
-                              this.loadData(this.state.page,this.state.searchInfor);
-                          }}/> : <div/>
-              }
-              {this.state.paymentVisible ?
-                  <OrderPaymentModal
-                      tid={this.state.tid}
-                      visible={this.state.paymentVisible}
-                      projectType={this.state.projectType}
-                      isAuditPayment={!this.props.isPatentManager}
-                      isAuditPaymentGLY={this.props.isPatentManager}
-                      onCancer={()=>{
-                          this.setState({
-                              paymentVisible: false,
-                              tid: 0,
-                              projectType: 0,
-                          });
-                          this.loadData(this.state.page,this.state.searchInfor);
-                      }}
-                      onSuccess={()=>{
-                          this.setState({
-                              paymentVisible: false,
-                              tid: 0,
-                              projectType: 0,
-                          });
-                          this.loadData(this.state.page,this.state.searchInfor);
-                  }}/> :
-                  <div/>
-              }
-              {this.state.payRecordVisible ? <PayRecord
-                  {...this.props}
-                  payId={this.state.orderPaymentsId}
-                  visible={this.state.payRecordVisible}
-                  tid={this.state.tid}
-                  isAuditPayment={!this.props.isPatentManager}
-                  isAuditPaymentGLY={this.props.isPatentManager}
-                  projectType={this.state.projectType}
-                  changeVisible={()=>{
-                      this.loadData(this.state.page,this.state.searchInfor);
-                      this.setState({
-                          payRecordVisible: false,
-                          orderPaymentsId: 0,
-                          tid: 0,
-                          projectType: 0,
-                      })
-                  }}
-              /> : <div/>}
-              <Modal
-                  title='专利成本审核'
-                  className='payRecordComponent'
-                  width={500}
-                  maskClosable={false}
-                  footer={null}
-                  visible={this.state.patentVisible}
-                  onCancel={() => {
-                      this.setState({
-                          patentVisible:false
-                      })
-                  }}
-              >
-                  <Form
-                      {...layout}
-                      name="basic"
-                      initialValues={{
-                          remember: true,
-                      }}
-                  >
-                      <div style={{
-                          paddingBottom:'20px'
-                      }}>
-                          <div style={{
-                              paddingBottom:'10px'
-                          }}>成本审核备注:</div>
-                          <Input
-                              row={5}
-                              type="textarea"
-                              onChange={(e) => { this.setState({
-                                  remarks:e.target.value
-                              })}} />
-                      </div>
-                      <div style={{display:'flex',justifyContent:'center'}}>
-                          <Button type='primary' style={{marginRight:'15px'}} onClick={()=>{
-                              this.examineAll(1);
-                          }}>通过</Button>
-                          <Button type='primary' style={{background:'#f00'}} onClick={()=>{
-                              this.examineAll(2);
-                          }}>驳回</Button>
-                      </div>
-                  </Form>
-              </Modal>
-          </div>
+            <div className="user-content">
+                <div className="content-title" style={{ marginBottom: 10 }}>
+                    <span style={{ fontWeight: 900, fontSize: 16 }}>{this.props.isPatentManager ? '专利成本审核' : '成本支付审核'}</span>
+                </div>
+                <Tabs defaultActiveKey="1" onChange={this.callback} className="test">
+                    <TabPane tab="搜索" key="1">
+                        <div style={{ paddingTop: 10, paddingLeft: 10 }}>
+                            <FilterColumn
+                                {...this.props}
+                                onSearch={(data) => {
+                                    this.setState({
+                                        searchInfor: data,
+                                        selectedRowKeys: [],
+                                    });
+                                    this.loadData(1, data);
+                                }}
+                                onResetSearch={() => {
+                                    this.setState({
+                                        searchInfor: {}
+                                    });
+                                    this.loadData();
+                                }}
+                            />
+                        </div>
+                    </TabPane>
+                    <TabPane tab="操作" key="2">
+                        <Button
+                            type="primary"
+                            style={{ margin: "11px 0px 10px 10px" }}
+                            onClick={this.props.isPatentManager ? () => {
+                                if (this.state.selectedRowKeys.length === 0) {
+                                    message.warning('请先选择需要批量审核的专利');
+                                    return;
+                                }
+                                this.setState({
+                                    patentVisible: true
+                                })
+                            } : this.printAll}
+                            disabled={!this.state.dataSource.length}
+                        >
+                            {this.props.isPatentManager ? '批量审核' : '批量支付'}
+                        </Button>
+                        <Button
+                            type="primary"
+                            onClick={this.exportExec}
+                            style={{ margin: "11px 0px 10px 10px" }}
+                        >
+                            {this.props.isPatentManager ? '导出专利成本列表' : '导出财务成本列表'}
+                        </Button>
+                    </TabPane>
+                    <TabPane tab="更改表格显示数据" key="3">
+                        <div style={{ marginLeft: 10 }}>
+                            <ChooseList
+                                columns={this.state.columns}
+                                changeFn={this.changeList}
+                                changeList={this.state.changeList}
+                                top={55}
+                                margin={11}
+                            />
+                        </div>
+                    </TabPane>
+                </Tabs>
+                <div className="patent-table">
+                    <Spin spinning={this.state.loading}>
+                        <Table
+                            columns={
+                                this.state.changeList
+                                    ? this.state.changeList
+                                    : this.state.columns
+                            }
+                            dataSource={this.state.dataSource}
+                            pagination={this.state.pagination}
+                            style={{
+                                cursor: 'pointer',
+                            }}
+                            onRowClick={(record) => {
+                                this.tableRowClick(record)
+                            }}
+                            rowSelection={{
+                                selectedRowKeys: this.state.selectedRowKeys,
+                                onChange: (selectedRowKeys) => {
+                                    this.setState({ selectedRowKeys });
+                                },
+                                getCheckboxProps: (record) => ({
+                                    // 0审核 1待支付 2驳回 3已支付   只有待支付可以勾选
+                                    disabled: this.props.isPatentManager ? record.processStatus !== 1 : record.status !== 1,
+                                })
+                            }}
+                            scroll={{ x: "max-content", y: 0 }}
+                            bordered
+                            size="small"
+                        />
+                    </Spin>
+                </div>
+                {
+                    this.state.visible ?
+                        <DetailsModal
+                            isAuditPayment={!this.props.isPatentManager}
+                            isAuditPaymentGLY={this.props.isPatentManager}
+                            tid={this.state.selectInfor.tid}
+                            orderNo={this.state.selectInfor.orderNo}
+                            projectType={this.state.selectInfor.projectType}
+                            projectStatus={this.state.selectInfor.projectStatus}
+                            taskName={this.state.selectInfor.pname}
+                            taskID={this.state.selectInfor.tid}
+                            visible={this.state.visible}
+                            refreshList={() => {
+                                this.loadData(this.state.page, this.state.searchInfor);
+                            }}
+                            visitCancel={() => {
+                                this.setState({
+                                    visible: false
+                                })
+                                this.loadData(this.state.page, this.state.searchInfor);
+                            }} /> : <div />
+                }
+                {this.state.paymentVisible ?
+                    <OrderPaymentModal
+                        tid={this.state.tid}
+                        visible={this.state.paymentVisible}
+                        projectType={this.state.projectType}
+                        isAuditPayment={!this.props.isPatentManager}
+                        isAuditPaymentGLY={this.props.isPatentManager}
+                        onCancer={() => {
+                            this.setState({
+                                paymentVisible: false,
+                                tid: 0,
+                                projectType: 0,
+                            });
+                            this.loadData(this.state.page, this.state.searchInfor);
+                        }}
+                        onSuccess={() => {
+                            this.setState({
+                                paymentVisible: false,
+                                tid: 0,
+                                projectType: 0,
+                            });
+                            this.loadData(this.state.page, this.state.searchInfor);
+                        }} /> :
+                    <div />
+                }
+                {this.state.payRecordVisible ? <PayRecord
+                    {...this.props}
+                    payId={this.state.orderPaymentsId}
+                    visible={this.state.payRecordVisible}
+                    tid={this.state.tid}
+                    isAuditPayment={!this.props.isPatentManager}
+                    isAuditPaymentGLY={this.props.isPatentManager}
+                    projectType={this.state.projectType}
+                    changeVisible={() => {
+                        this.loadData(this.state.page, this.state.searchInfor);
+                        this.setState({
+                            payRecordVisible: false,
+                            orderPaymentsId: 0,
+                            tid: 0,
+                            projectType: 0,
+                        })
+                    }}
+                /> : <div />}
+                <Modal
+                    title='专利成本审核'
+                    className='payRecordComponent'
+                    width={500}
+                    maskClosable={false}
+                    footer={null}
+                    visible={this.state.patentVisible}
+                    onCancel={() => {
+                        this.setState({
+                            patentVisible: false
+                        })
+                    }}
+                >
+                    <Form
+                        {...layout}
+                        name="basic"
+                        initialValues={{
+                            remember: true,
+                        }}
+                    >
+                        <div style={{
+                            paddingBottom: '20px'
+                        }}>
+                            <div style={{
+                                paddingBottom: '10px'
+                            }}>成本审核备注:</div>
+                            <Input
+                                row={5}
+                                type="textarea"
+                                onChange={(e) => {
+                                    this.setState({
+                                        remarks: e.target.value
+                                    })
+                                }} />
+                        </div>
+                        <div style={{ display: 'flex', justifyContent: 'center' }}>
+                            <Button type='primary' style={{ marginRight: '15px' }} onClick={() => {
+                                this.examineAll(1);
+                            }}>通过</Button>
+                            <Button type='primary' style={{ background: '#f00' }} onClick={() => {
+                                this.examineAll(2);
+                            }}>驳回</Button>
+                        </div>
+                    </Form>
+                </Modal>
+            </div>
         );
     }
 }

+ 103 - 1
js/component/manageCenter/project/project/enterpriseProjectQuery.jsx

@@ -1,5 +1,5 @@
 import React, { Component } from 'react';
-import { Button, DatePicker, Input, message, Select, Spin, Table, Tabs } from "antd";
+import { Button, DatePicker, AutoComplete, Input, message, Select, Spin, Table, Tabs } from "antd";
 import { ChooseList } from "../../order/orderNew/chooseList";
 import $ from "jquery/src/ajax";
 import {
@@ -140,6 +140,11 @@ class EnterpriseProjectQuery extends Component {
         this.changeList = this.changeList.bind(this);
         this.resetAll = this.resetAll.bind(this);
         this.exportPending = this.exportPending.bind(this);
+
+        this.supervisor = this.supervisor.bind(this);
+        this.httpChange = this.httpChange.bind(this);
+        this.selectAuto = this.selectAuto.bind(this);
+        this.blurChange = this.blurChange.bind(this);
     }
 
     changeList(arr) {
@@ -180,6 +185,7 @@ class EnterpriseProjectQuery extends Component {
                 declarationBatch: this.state.declarationBatch || undefined,//申报批次
                 // projectSituation: typeof this.state.projectSituation === 'number' ? this.state.projectSituation : undefined,//项目分类
                 commodityPrice: this.state.projectAmount || undefined,//项目金额
+                thchId: this.state.thchId || undefined, //咨询师/咨询经理id
             },
             success: function (data) {
                 ShowModal(this);
@@ -269,6 +275,8 @@ class EnterpriseProjectQuery extends Component {
             depId: '',
             thchDepId: '',
             projectStatus: '',
+            thchId: "",
+            auto: ""
         }, () => {
             this.loadData();
         })
@@ -330,6 +338,7 @@ class EnterpriseProjectQuery extends Component {
                 name: this.state.searchEnterpriseName || undefined,//企业名称
                 declarationBatch: this.state.declarationBatch || undefined,//申报批次
                 commodityPrice: this.state.projectAmount || undefined,//项目金额
+                thchId: this.state.thchId || undefined, //咨询师/咨询经理id
             },
             success: function (data) {
                 ShowModal(this);
@@ -348,6 +357,75 @@ class EnterpriseProjectQuery extends Component {
         );
     }
 
+    // 查询用户
+    supervisor(e) {
+        $.ajax({
+            method: "get",
+            dataType: "json",
+            crossDomain: false,
+            url: globalConfig.context + "/api/admin/customer/listAdminByName",
+            data: {
+                adminName: e,
+            },
+            success: function (data) {
+                let thedata = data.data;
+                if (!thedata) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message);
+                    }
+                    thedata = {};
+                }
+                this.setState({
+                    customerArr: thedata,
+                });
+            }.bind(this),
+        }).always(
+            function () {
+
+            }.bind(this)
+        );
+    }
+    // 输入触发
+    httpChange(e) {
+        if (e.length >= 1) {
+            this.supervisor(e);
+        }
+        this.setState({
+            auto: e,
+        });
+    }
+    // 选中
+    selectAuto(value, options) {
+        let thchId = ""
+        let contactLists = this.state.customerArr || [];
+        if (value) {
+            contactLists.map(function (item) {
+                if (item.name == value.toString()) {
+                    thchId = item.id;
+                }
+            });
+        }
+        this.setState({
+            auto: value,
+            thchId: thchId,
+        });
+    }
+    // 失去焦点
+    blurChange(e) {
+        let thchId = ""
+        let contactLists = this.state.customerArr || [];
+        if (e) {
+            contactLists.map(function (item) {
+                if (item.name == e.toString()) {
+                    thchId = item.id;
+                }
+            });
+        }
+        this.setState({
+            thchId: thchId,
+        });
+    }
+
 
     componentDidMount() {
         this.departmentList();
@@ -357,6 +435,12 @@ class EnterpriseProjectQuery extends Component {
 
 
     render() {
+        const dataSources = this.state.customerArr || [];
+        const options = dataSources.map((group) => (
+            <Select.Option key={group.id} value={group.name}>
+                {group.name}
+            </Select.Option>
+        ));
         return (
             <div className="user-content">
                 <div className="content-title">
@@ -469,6 +553,24 @@ class EnterpriseProjectQuery extends Component {
                                     }
                                 </Select>
                             </span>
+                            <span style={{ display: "inline-block", marginRight: '10px', marginBottom: '10px' }}>
+                                <span>咨询师/经理:</span>
+                                <AutoComplete
+                                    className="certain-category-search"
+                                    dropdownClassName="certain-category-search-dropdown"
+                                    dropdownMatchSelectWidth={false}
+                                    style={{ width: "200px", marginLeft: '10px' }}
+                                    dataSource={options}
+                                    placeholder='请输入姓名'
+                                    value={this.state.auto}
+                                    onChange={this.httpChange}
+                                    filterOption={true}
+                                    onBlur={this.blurChange}
+                                    onSelect={this.selectAuto}
+                                >
+                                    <Input />
+                                </AutoComplete>
+                            </span>
                             <span style={{ display: "inline-block" }}>
                                 <span style={{ marginRight: '10px', marginBottom: '10px' }}>申报批次 :</span>
                                 <Select

+ 105 - 0
js/component/manageCenter/project/summary/highTech.jsx

@@ -9,6 +9,7 @@ import {
   Table,
   Tabs,
   Cascader,
+  AutoComplete,
 } from "antd";
 import { ShowModal } from "@/tools";
 import { ChooseList } from "../../order/orderNew/chooseList";
@@ -73,6 +74,12 @@ class HighTech extends Component {
     this.changeList = this.changeList.bind(this);
     this.loadData = this.loadData.bind(this);
     this.selectSuperId = this.selectSuperId.bind(this);
+
+    this.supervisor = this.supervisor.bind(this);
+    this.httpChange = this.httpChange.bind(this);
+    this.selectAuto = this.selectAuto.bind(this);
+    this.blurChange = this.blurChange.bind(this);
+
   }
 
   changeList(arr) {
@@ -132,6 +139,7 @@ class HighTech extends Component {
               : undefined, //项目分类
           projectAmount: this.state.projectAmount || undefined, //项目金额
           status: this.state.status,
+          thchId: this.state.thchId || undefined, //咨询师/咨询经理id
         },
       success: function (data) {
         ShowModal(this);
@@ -185,6 +193,8 @@ class HighTech extends Component {
         projectStatus: "",
         columns: currency,
         status: 0,
+        thchId: "",
+        auto: ""
       },
       () => {
         this.Cascaders1.empty();
@@ -285,6 +295,7 @@ class HighTech extends Component {
       userName: this.state.searchEnterpriseName || undefined, //企业名称
       declarationBatch: this.state.declarationBatch || undefined, //申报批次
       projectAmount: this.state.projectAmount || undefined, //项目金额
+      thchId: this.state.thchId || undefined, //咨询师/咨询经理id
     };
     $.ajax({
       method: "get",
@@ -313,6 +324,74 @@ class HighTech extends Component {
     window.location.href =
       globalConfig.context + "/open/download?fileName=" + fileName;
   }
+  // 查询用户
+  supervisor(e) {
+    $.ajax({
+      method: "get",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/customer/listAdminByName",
+      data: {
+        adminName: e,
+      },
+      success: function (data) {
+        let thedata = data.data;
+        if (!thedata) {
+          if (data.error && data.error.length) {
+            message.warning(data.error[0].message);
+          }
+          thedata = {};
+        }
+        this.setState({
+          customerArr: thedata,
+        });
+      }.bind(this),
+    }).always(
+      function () {
+
+      }.bind(this)
+    );
+  }
+  // 输入触发
+  httpChange(e) {
+    if (e.length >= 1) {
+      this.supervisor(e);
+    }
+    this.setState({
+      auto: e,
+    });
+  }
+  // 选中
+  selectAuto(value, options) {
+    let thchId = ""
+    let contactLists = this.state.customerArr || [];
+    if (value) {
+      contactLists.map(function (item) {
+        if (item.name == value.toString()) {
+          thchId = item.id;
+        }
+      });
+    }
+    this.setState({
+      auto: value,
+      thchId: thchId,
+    });
+  }
+  // 失去焦点
+  blurChange(e) {
+    let thchId = ""
+    let contactLists = this.state.customerArr || [];
+    if (e) {
+      contactLists.map(function (item) {
+        if (item.name == e.toString()) {
+          thchId = item.id;
+        }
+      });
+    }
+    this.setState({
+      thchId: thchId,
+    });
+  }
 
   componentWillMount() {
     // 
@@ -340,6 +419,12 @@ class HighTech extends Component {
   }
 
   render() {
+    const dataSources = this.state.customerArr || [];
+    const options = dataSources.map((group) => (
+      <Select.Option key={group.id} value={group.name}>
+        {group.name}
+      </Select.Option>
+    ));
     return (
       <div className="user-content">
         {this.props.introduce ? (
@@ -609,6 +694,26 @@ class HighTech extends Component {
                   </span>
                   <span style={{ display: "inline-block" }}>
                     <span style={{ marginRight: "10px", marginBottom: "10px" }}>
+                      咨询师/经理 :
+                    </span>
+                    <AutoComplete
+                      className="certain-category-search"
+                      dropdownClassName="certain-category-search-dropdown"
+                      dropdownMatchSelectWidth={false}
+                      style={{ width: "120px" }}
+                      dataSource={options}
+                      placeholder='请输入姓名'
+                      value={this.state.auto}
+                      onChange={this.httpChange}
+                      filterOption={true}
+                      onBlur={this.blurChange}
+                      onSelect={this.selectAuto}
+                    >
+                      <Input />
+                    </AutoComplete>
+                  </span>
+                  <span style={{ display: "inline-block" }}>
+                    <span style={{ marginRight: "10px", marginBottom: "10px" }}>
                       申报批次 :
                     </span>
                     <Select

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

@@ -3682,7 +3682,7 @@ const Task = React.createClass({
                 )}
                 <ShowModalDiv ShowModal={this.state.showModal} />
                 <div className="content-title" style={{ marginBottom: 10 }}>
-                    <span style={{ fontWeight: 900, fontSize: 16 }}>项目任务</span>
+                    <span style={{ fontWeight: 900, fontSize: 16 }}>我的项目任务</span>
                 </div>
                 <Tabs defaultActiveKey="2" className="test" bordered>
                     <TabPane tab="搜索" key="2">

+ 3 - 3
js/component/manageCenter/project/task/table.less

@@ -18,13 +18,13 @@
 	font-weight: 800
 }
 .ant-input-lg{
-	height: 24px
+	height: 32px
 }
 .ant-select-lg .ant-select-selection--single{
-	height: 24px
+	height: 32px
 }
 .ant-select-lg .ant-select-selection__rendered{
-	line-height: 24px
+	line-height: 32px
 }
 .ruanzhu{
 	color:red

+ 154 - 16
js/component/manageCenter/project/task/taskCount.jsx

@@ -1,5 +1,5 @@
 import React from 'react';
-import { Button, Input, Spin, Table, message, DatePicker, Upload, Form, Modal, Tabs, Select, Tag, Tooltip } from 'antd';
+import { AutoComplete, Button, Input, Spin, Table, message, DatePicker, Upload, Form, Modal, Tabs, Select, Tag, Tooltip } from 'antd';
 import $ from 'jquery/src/ajax';
 import moment from 'moment';
 import {
@@ -12,7 +12,8 @@ import {
   getprovince,
   ShowModal,
   getProjectStatus,
-  getProjectName
+  getProjectName,
+  download,
 } from "@/tools.js";
 import ShowModalDiv from "@/showModal.jsx";
 import ResolutionDetail from "@/resolutionDetail";
@@ -58,7 +59,8 @@ const IntentionCustomer = Form.create()(
             contractNo: this.state.contractNoSearch,
             cid: superText, //业务分类
             depId: this.state.departmenttList, //部门ID
-            outsource: this.state.outsourceSearch
+            outsource: this.state.outsourceSearch,
+            thchId: this.state.thchId,//咨询师id
           },
           success: function (data) {
             let theArr = [];
@@ -131,7 +133,8 @@ const IntentionCustomer = Form.create()(
             endTime: this.state.releaseDate[1], //结束时间
             contractNo: this.state.contractNoSearch,
             depId: this.state.departmenttList, //部门ID
-            outsource: this.state.outsourceSearch
+            outsource: this.state.outsourceSearch,
+            thchId: this.state.thchId,//咨询师id
           },
           success: function (data) {
             let theArr = [];
@@ -653,7 +656,6 @@ const IntentionCustomer = Form.create()(
         }.bind(this)
       );
     },
-
     //订单详情
     xiangqings(orderNos) {
       $.ajax({
@@ -709,7 +711,6 @@ const IntentionCustomer = Form.create()(
         }.bind(this)
       );
     },
-
     //查看下证信息
     loaduserss(record) {
       $.ajax({
@@ -800,7 +801,6 @@ const IntentionCustomer = Form.create()(
         }.bind(this)
       );
     },
-
     //关闭操作工时
     visitCancelA() {
       this.setState({
@@ -843,7 +843,6 @@ const IntentionCustomer = Form.create()(
         }.bind(this)
       );
     },
-
     // 拆分详细
     showRes(record) {
       this.setState({
@@ -856,7 +855,6 @@ const IntentionCustomer = Form.create()(
         resVisible: false
       });
     },
-
     //关闭输入理由框
     noCancel() {
       this.setState({
@@ -875,14 +873,16 @@ const IntentionCustomer = Form.create()(
       this.setState({
         signBillVisible: false
       });
-      this.state.orderNo = "";
-      this.state.customerName = "";
+      this.state.auto = "";
+      this.state.thchId = undefined;
+      this.state.orderNo = undefined;
+      this.state.customerName = undefined;
       this.state.releaseDate[0] = undefined;
       this.state.releaseDate[1] = undefined;
-      this.state.orderNoSearch = "";
+      this.state.orderNoSearch = undefined;
       this.state.departmenttList = [];
       this.state.cid = [];
-      this.state.contractNoSearch = "";
+      this.state.contractNoSearch = undefined;
       this.state.outsourceSearch = [];
       this.setState({
         urgentDay: '', //有无材料
@@ -965,6 +965,52 @@ const IntentionCustomer = Form.create()(
     },
     //导出
     exportExec() {
+      let nameText = this.state.SuperArr;
+      let superText =
+        this.state.cid && typeof this.state.cid != "object"
+          ? nameText[parseInt(this.state.cid)].id
+          : undefined;
+      $.ajax({
+        method: "get",
+        dataType: "json",
+        crossDomain: false,
+        url: globalConfig.context + "/api/admin/orderProject/exportMyTaskList",
+        data: {
+          pageNo: 1,
+          pageSize: 99999,
+          name: this.state.customerName ? this.state.customerName : undefined, //订单负责人
+          taskId: this.state.orderNo ? this.state.orderNo : undefined, //订单编号
+          orderNo: this.state.orderNoSearch ? this.state.orderNoSearch : undefined,
+          starTime: this.state.releaseDate[0]
+            ? this.state.releaseDate[0]
+            : undefined,
+          endTime: this.state.releaseDate[1]
+            ? this.state.releaseDate[1]
+            : undefined,
+          contractNo: this.state.contractNoSearch ? this.state.contractNoSearch : undefined,
+          cid: superText, //业务分类
+          depId: this.state.departmenttList ? this.state.departmenttList : undefined, //部门ID
+          outsource: this.state.outsourceSearch ? this.state.outsourceSearch : undefined,
+          thchId: this.state.thchId ? this.state.thchId : undefined,//咨询师id
+        },
+        success: function (data) {
+          ShowModal(this);
+          if (data.error && data.error.length) {
+            message.warning(data.error[0].message);
+          } else {
+            download(data.data, true);
+          }
+        }.bind(this),
+      }).always(
+        function () {
+          this.setState({
+            loading: false,
+          });
+        }.bind(this)
+      );
+    },
+
+    zzzzz() {
       var data = {
         name: this.state.customerName ? this.state.customerName : undefined, //订单负责人
         taskId: this.state.orderNo ? this.state.orderNo : undefined, //订单编号
@@ -973,7 +1019,8 @@ const IntentionCustomer = Form.create()(
           : undefined,
         endTime: this.state.releaseDate[1]
           ? this.state.releaseDate[1]
-          : undefined
+          : undefined,
+        thchId: this.state.thchId ? this.state.thchId : undefined,//咨询师id
       };
       window.location.href =
         globalConfig.context +
@@ -1096,7 +1143,83 @@ const IntentionCustomer = Form.create()(
         changeList: newArr
       });
     },
+    // 查询用户
+    supervisor(e) {
+      $.ajax({
+        method: "get",
+        dataType: "json",
+        crossDomain: false,
+        url: globalConfig.context + "/api/admin/customer/listAdminByName",
+        data: {
+          adminName: e,
+        },
+        success: function (data) {
+          let thedata = data.data;
+          if (!thedata) {
+            if (data.error && data.error.length) {
+              message.warning(data.error[0].message);
+            }
+            thedata = {};
+          }
+          this.setState({
+            customerArr: thedata,
+          });
+        }.bind(this),
+      }).always(
+        function () {
+
+        }.bind(this)
+      );
+    },
+    // 输入触发
+    httpChange(e) {
+      if (e.length >= 1) {
+        this.supervisor(e);
+      }
+      this.setState({
+        auto: e,
+      });
+    },
+    // 选中
+    selectAuto(value, options) {
+      let thchId = ""
+      let contactLists = this.state.customerArr || [];
+      if (value) {
+        contactLists.map(function (item) {
+          if (item.name == value.toString()) {
+            thchId = item.id;
+          }
+        });
+      }
+      this.setState({
+        auto: value,
+        thchId: thchId,
+      });
+    },
+    // 失去焦点
+    blurChange(e) {
+      let thchId = ""
+      let contactLists = this.state.customerArr || [];
+      if (e) {
+        contactLists.map(function (item) {
+          if (item.name == e.toString()) {
+            thchId = item.id;
+          }
+        });
+      }
+      this.setState({
+        thchId: thchId,
+      });
+    },
+
+
     render() {
+      const dataSources = this.state.customerArr || [];
+      const options = dataSources.map((group) => (
+        <Select.Option key={group.id} value={group.name}>
+          {group.name}
+        </Select.Option>
+      ));
       const formItemLayout = {
         labelCol: { span: 8 },
         wrapperCol: { span: 14 }
@@ -1254,10 +1377,25 @@ const IntentionCustomer = Form.create()(
                     this.setState({ releaseDate: dataString });
                   }}
                 />
+                <AutoComplete
+                  className="certain-category-search"
+                  dropdownClassName="certain-category-search-dropdown"
+                  dropdownMatchSelectWidth={false}
+                  style={{ width: 200, marginLeft: 10, marginBottom: 10 }}
+                  dataSource={options}
+                  placeholder='请输入咨询师/经理姓名'
+                  value={this.state.auto}
+                  onChange={this.httpChange}
+                  filterOption={true}
+                  onBlur={this.blurChange}
+                  onSelect={this.selectAuto}
+                >
+                  <Input />
+                </AutoComplete>
                 <Button
                   type="primary"
                   onClick={this.search}
-                  style={{ marginLeft: "10px", marginRight: 10 }}
+                  style={{ marginLeft: 10, marginRight: 10 }}
                 >
                   搜索
                 </Button>
@@ -1267,7 +1405,7 @@ const IntentionCustomer = Form.create()(
                 <Button
                   type="primary"
                   onClick={this.exportExec}
-                  style={{ margin: "10px" }}
+                  style={{ margin: 10 }}
                 >
                   导出工时数据
                 </Button>

+ 99 - 4
js/component/manageCenter/project/task/taskQuery.jsx

@@ -12,7 +12,10 @@ import {
   message,
   Modal,
   Tabs,
-  Tag, DatePicker, Tooltip
+  Tag,
+  DatePicker,
+  Tooltip,
+  AutoComplete,
 } from "antd";
 import ResolutionDetail from "@/resolutionDetail";
 import OrderDetail from "../../order/orderNew/changeComponent/orderDetail";
@@ -63,6 +66,7 @@ const Task = React.createClass({
         depId: this.state.departmenttSearch, //订单部门
         taskId: this.state.taskNoSearch, //任务编号
         adminName: this.state.adminName, //任务受理人
+        thchId: this.state.thchId,//咨询师id
       },
       success: function (data) {
         ShowModal(this);
@@ -951,10 +955,12 @@ const Task = React.createClass({
     });
   },
   reset() {
-    this.state.nameSearch = "";
+    this.state.auto = "";
+    this.state.thchId = undefined;
+    this.state.nameSearch = undefined;
     this.state.releaseDate = [];
-    this.state.orderNoSearch = "";
-    this.state.taskNoSearch = "";
+    this.state.orderNoSearch = undefined;
+    this.state.taskNoSearch = undefined;
     this.state.departmenttSearch = undefined;
     this.setState({
       urgentDay: '', //有无材料
@@ -1087,9 +1093,83 @@ const Task = React.createClass({
       return 'dark'
     }
   },
+  // 查询用户
+  supervisor(e) {
+    $.ajax({
+      method: "get",
+      dataType: "json",
+      crossDomain: false,
+      url: globalConfig.context + "/api/admin/customer/listAdminByName",
+      data: {
+        adminName: e,
+      },
+      success: function (data) {
+        let thedata = data.data;
+        if (!thedata) {
+          if (data.error && data.error.length) {
+            message.warning(data.error[0].message);
+          }
+          thedata = {};
+        }
+        this.setState({
+          customerArr: thedata,
+        });
+      }.bind(this),
+    }).always(
+      function () {
+
+      }.bind(this)
+    );
+  },
+  // 输入触发
+  httpChange(e) {
+    if (e.length >= 1) {
+      this.supervisor(e);
+    }
+    this.setState({
+      auto: e,
+    });
+  },
+  // 选中
+  selectAuto(value, options) {
+    let thchId = ""
+    let contactLists = this.state.customerArr || [];
+    if (value) {
+      contactLists.map(function (item) {
+        if (item.name == value.toString()) {
+          thchId = item.id;
+        }
+      });
+    }
+    this.setState({
+      auto: value,
+      thchId: thchId,
+    });
+  },
+  // 失去焦点
+  blurChange(e) {
+    let thchId = ""
+    let contactLists = this.state.customerArr || [];
+    if (e) {
+      contactLists.map(function (item) {
+        if (item.name == e.toString()) {
+          thchId = item.id;
+        }
+      });
+    }
+    this.setState({
+      thchId: thchId,
+    });
+  },
 
 
   render() {
+    const dataSources = this.state.customerArr || [];
+    const options = dataSources.map((group) => (
+      <Select.Option key={group.id} value={group.name}>
+        {group.name}
+      </Select.Option>
+    ));
     const expandedRowRenderVip = (e) => {
       const data = e.splitList;
       let columns = [];
@@ -1258,6 +1338,21 @@ const Task = React.createClass({
                   );
                 })}
               </Select>
+              <AutoComplete
+                className="certain-category-search"
+                dropdownClassName="certain-category-search-dropdown"
+                dropdownMatchSelectWidth={false}
+                style={{ width: 200 }}
+                dataSource={options}
+                placeholder='请输入咨询师/经理姓名'
+                value={this.state.auto}
+                onChange={this.httpChange}
+                filterOption={true}
+                onBlur={this.blurChange}
+                onSelect={this.selectAuto}
+              >
+                <Input />
+              </AutoComplete>
               <Button type="primary" onClick={this.search}>
                 搜索
               </Button>

+ 1 - 1
package.json

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