Browse Source

会员可视化进度

dev01 1 month ago
parent
commit
065f83bcd7
26 changed files with 863 additions and 200 deletions
  1. 9 2
      js/component/common/logPopup/mysuspendlog.jsx
  2. 1 1
      js/component/dataDic.js
  3. 3 3
      js/component/manageCenter/customer/statistics/departmentStatistics/index.jsx
  4. 24 1
      js/component/manageCenter/financialManage/distribute/shouKuanAll.jsx
  5. 23 0
      js/component/manageCenter/financialManage/distribute/shouKuang.jsx
  6. 5 0
      js/component/manageCenter/financialManage/orderDetail/orderDetail.jsx
  7. 10 0
      js/component/manageCenter/order/orderNew/addService.jsx
  8. 5 0
      js/component/manageCenter/order/orderNew/approveds.jsx
  9. 5 0
      js/component/manageCenter/order/orderNew/changeComponent/orderDetail.js
  10. 5 0
      js/component/manageCenter/order/orderNew/changeComponent/proAndCuiList.jsx
  11. 5 0
      js/component/manageCenter/order/orderNew/examine.jsx
  12. 5 0
      js/component/manageCenter/order/orderNew/examinejl.jsx
  13. 5 0
      js/component/manageCenter/order/orderNew/examineyybz.jsx
  14. 5 0
      js/component/manageCenter/order/orderNew/inquiry.jsx
  15. 5 0
      js/component/manageCenter/order/orderNew/reject.jsx
  16. 5 0
      js/component/manageCenter/project/project/projectAssignment.jsx
  17. 5 0
      js/component/manageCenter/project/summary/projectDetails.jsx
  18. 156 124
      js/component/manageCenter/project/task/membershipTable.jsx
  19. 5 5
      js/component/manageCenter/project/task/membershipTable.less
  20. 238 24
      js/component/manageCenter/project/task/myTask.jsx
  21. 132 29
      js/component/manageCenter/project/task/myTaskOutsource.jsx
  22. 182 7
      js/component/manageCenter/project/task/progress.jsx
  23. 14 3
      js/component/manageCenter/project/task/progress.less
  24. 5 0
      js/component/manageCenter/project/task/taskAssignment.jsx
  25. 5 0
      js/component/manageCenter/project/task/taskQuery.jsx
  26. 1 1
      package.json

+ 9 - 2
js/component/common/logPopup/mysuspendlog.jsx

@@ -26,8 +26,15 @@ class MySuspendLog extends Component {
             return (
               <span>
                 {this.props.stopType == 0 ? "项目暂停" : "项目重启"}
-                <span style={{ color: ["", "green", "red"][text], fontWeight: "bold" }}>
-                  {" " + ["【发起】", "【通过】", "【拒绝】"][text] + " "}
+                <span style={{
+                  color: text == 1
+                    ? "green" : text == 2
+                      ? "red" : " ", fontWeight: "bold"
+                }}>
+                  {text == 0
+                    ? "【发起】" : text == 1
+                      ? "【通过】" : text == 2
+                        ? "【拒绝】" : " " }
                 </span>
               </span>
             );

+ 1 - 1
js/component/dataDic.js

@@ -3148,7 +3148,7 @@ module.exports = {
         // },
         {
           value: 10,
-          label: '已下',
+          label: '已下',
         },
         {
           value: 11,

+ 3 - 3
js/component/manageCenter/customer/statistics/departmentStatistics/index.jsx

@@ -135,7 +135,7 @@ class DepartmentStatistics extends Component {
           },
         },
         {
-          title: "外联数",
+          title: "渠道数",
           dataIndex: "channelCount",
           key: "channelCount",
           className: 'tableRowStyle',
@@ -187,7 +187,7 @@ class DepartmentStatistics extends Component {
           },
         },
         {
-          title: "外联新增数",
+          title: "渠道新增数",
           dataIndex: "channelNewCount",
           key: "channelNewCount",
           className: 'tableRowStyle',
@@ -239,7 +239,7 @@ class DepartmentStatistics extends Component {
           },
         },
         {
-          title: "外联面谈数",
+          title: "渠道面谈数",
           dataIndex: "channelCompleteCount",
           key: "channelCompleteCount",
           className: 'tableRowStyle',

+ 24 - 1
js/component/manageCenter/financialManage/distribute/shouKuanAll.jsx

@@ -147,6 +147,8 @@ const ShouKuang = React.createClass({
         endTime: this.state.releaseDate[1],
         startFinalReceivablesTime: this.state.shouKuanDate[0],
         endFinalReceivablesTime: this.state.shouKuanDate[1],
+        startSignTime: this.state.startSignTime,
+        endSignTime: this.state.endSignTime,
         deps: this.state.departmenttList,
         processStatus: this.state.processStatusSearch,
         contractNo: this.state.contractNoSearch,
@@ -1696,6 +1698,8 @@ const ShouKuang = React.createClass({
   },
 
   reset() {
+    this.state.startSignTime = undefined;
+    this.state.endSignTime = undefined;
     this.state.nameSearch = "";
     this.state.releaseDate = [];
     this.state.shouKuanDate = [];
@@ -2811,7 +2815,7 @@ const ShouKuang = React.createClass({
                 />
                 <span style={{}}>最近收款:</span>
                 <RangePicker
-                  style={{ width: 170 }}
+                  style={{ width: 170, marginRight: 10  }}
                   value={[
                     this.state.shouKuanDate[0]
                       ? moment(this.state.shouKuanDate[0])
@@ -2824,6 +2828,25 @@ const ShouKuang = React.createClass({
                     this.setState({ shouKuanDate: dataString });
                   }}
                 />
+
+                <span style={{}}>签单日期:</span>
+                <RangePicker
+                  style={{ width: 170 }}
+                  value={[
+                    this.state.startSignTime
+                      ? moment(this.state.startSignTime)
+                      : null,
+                    this.state.endSignTime
+                      ? moment(this.state.endSignTime)
+                      : null,
+                  ]}
+                  onChange={(data, dataString) => {
+                    this.setState({
+                      startSignTime: dataString[0],
+                      endSignTime: dataString[1],
+                    });
+                  }}
+                />
                 <Button
                   type="primary"
                   onClick={this.search}

+ 23 - 0
js/component/manageCenter/financialManage/distribute/shouKuang.jsx

@@ -151,6 +151,8 @@ const ShouKuang = React.createClass({
         endTime: this.state.releaseDate[1],
         startFinalReceivablesTime: this.state.shouKuanDate[0],
         endFinalReceivablesTime: this.state.shouKuanDate[1],
+        startSignTime: this.state.startSignTime,
+        endSignTime: this.state.endSignTime,
         deps: this.state.departmenttList,
         processStatus: this.state.processStatusSearch,
         contractNo: this.state.contractNoSearch,
@@ -1725,6 +1727,8 @@ const ShouKuang = React.createClass({
   },
 
   reset() {
+    this.state.startSignTime = undefined;
+    this.state.endSignTime = undefined;
     this.state.nameSearch = "";
     this.state.releaseDate = [];
     this.state.shouKuanDate = [];
@@ -2895,6 +2899,25 @@ const ShouKuang = React.createClass({
                   this.setState({ shouKuanDate: dataString });
                 }}
               />
+
+              <span style={{}}>签单日期:</span>
+              <RangePicker
+                style={{ width: 170 }}
+                value={[
+                  this.state.startSignTime
+                    ? moment(this.state.startSignTime)
+                    : null,
+                  this.state.endSignTime
+                    ? moment(this.state.endSignTime)
+                    : null,
+                ]}
+                onChange={(data, dataString) => {
+                  this.setState({
+                    startSignTime: dataString[0],
+                    endSignTime: dataString[1],
+                  });
+                }}
+              />
               <Button
                 type="primary"
                 onClick={this.search}

+ 5 - 0
js/component/manageCenter/financialManage/orderDetail/orderDetail.jsx

@@ -776,6 +776,11 @@ const OrderDetail = Form.create()(
                 key: "receiverMobile",
               },
               {
+                title: "会员负责人",
+                dataIndex: "projectMemberName",
+                key: "projectMemberName",
+              },
+              {
                 title: "项目状态",
                 dataIndex: "projectStatus",
                 key: "projectStatus",

+ 10 - 0
js/component/manageCenter/order/orderNew/addService.jsx

@@ -5774,6 +5774,11 @@ const NewService = Form.create()(
                 key: "receiverMobile",
               },
               {
+                title: "会员负责人",
+                dataIndex: "projectMemberName",
+                key: "projectMemberName",
+              },
+              {
                 title: "项目状态",
                 dataIndex: "projectStatus",
                 key: "projectStatus",
@@ -5968,6 +5973,11 @@ const NewService = Form.create()(
                 key: "receiverMobile",
               },
               {
+                title: "会员负责人",
+                dataIndex: "projectMemberName",
+                key: "projectMemberName",
+              },
+              {
                 title: "项目状态",
                 dataIndex: "projectStatus",
                 key: "projectStatus",

+ 5 - 0
js/component/manageCenter/order/orderNew/approveds.jsx

@@ -1997,6 +1997,11 @@ const IntentionCustomer = Form.create()(
                 key: "receiverMobile",
               },
               {
+                title: "会员负责人",
+                dataIndex: "projectMemberName",
+                key: "projectMemberName",
+              },
+              {
                 title: "项目状态",
                 dataIndex: "projectStatus",
                 key: "projectStatus",

+ 5 - 0
js/component/manageCenter/order/orderNew/changeComponent/orderDetail.js

@@ -504,6 +504,11 @@ class OrderDetail extends Component {
               key: "receiverMobile",
             },
             {
+              title: "会员负责人",
+              dataIndex: "projectMemberName",
+              key: "projectMemberName",
+            },
+            {
               title: "项目状态",
               dataIndex: "projectStatus",
               key: "projectStatus",

+ 5 - 0
js/component/manageCenter/order/orderNew/changeComponent/proAndCuiList.jsx

@@ -447,6 +447,11 @@ const ProAndCuiList = React.createClass({
               key: "receiverMobile",
             },
             {
+              title: "会员负责人",
+              dataIndex: "projectMemberName",
+              key: "projectMemberName",
+            },
+            {
               title: "项目状态",
               dataIndex: "projectStatus",
               key: "projectStatus",

+ 5 - 0
js/component/manageCenter/order/orderNew/examine.jsx

@@ -1550,6 +1550,11 @@ const IntentionCustomer = Form.create()(
                 key: "receiverMobile",
               },
               {
+                title: "会员负责人",
+                dataIndex: "projectMemberName",
+                key: "projectMemberName",
+              },
+              {
                 title: "项目状态",
                 dataIndex: "projectStatus",
                 key: "projectStatus",

+ 5 - 0
js/component/manageCenter/order/orderNew/examinejl.jsx

@@ -1557,6 +1557,11 @@ const IntentionCustomer = Form.create()(
                 key: "receiverMobile",
               },
               {
+                title: "会员负责人",
+                dataIndex: "projectMemberName",
+                key: "projectMemberName",
+              },
+              {
                 title: "项目状态",
                 dataIndex: "projectStatus",
                 key: "projectStatus",

+ 5 - 0
js/component/manageCenter/order/orderNew/examineyybz.jsx

@@ -1550,6 +1550,11 @@ const IntentionCustomer = Form.create()(
                 key: "receiverMobile",
               },
               {
+                title: "会员负责人",
+                dataIndex: "projectMemberName",
+                key: "projectMemberName",
+              },
+              {
                 title: "项目状态",
                 dataIndex: "projectStatus",
                 key: "projectStatus",

+ 5 - 0
js/component/manageCenter/order/orderNew/inquiry.jsx

@@ -2536,6 +2536,11 @@ const IntentionCustomer = Form.create()(
                 key: "receiverMobile",
               },
               {
+                title: "会员负责人",
+                dataIndex: "projectMemberName",
+                key: "projectMemberName",
+              },
+              {
                 title: "项目状态",
                 dataIndex: "projectStatus",
                 key: "projectStatus",

+ 5 - 0
js/component/manageCenter/order/orderNew/reject.jsx

@@ -2049,6 +2049,11 @@ const IntentionCustomer = Form.create()(
                 key: "receiverMobile",
               },
               {
+                title: "会员负责人",
+                dataIndex: "projectMemberName",
+                key: "projectMemberName",
+              },
+              {
                 title: "项目状态",
                 dataIndex: "projectStatus",
                 key: "projectStatus",

+ 5 - 0
js/component/manageCenter/project/project/projectAssignment.jsx

@@ -1204,6 +1204,11 @@ const PaiDan = React.createClass({
               key: "receiverMobile",
             },
             {
+              title: "会员负责人",
+              dataIndex: "projectMemberName",
+              key: "projectMemberName",
+            },
+            {
               title: "项目状态",
               dataIndex: "projectStatus",
               key: "projectStatus",

+ 5 - 0
js/component/manageCenter/project/summary/projectDetails.jsx

@@ -974,6 +974,11 @@ class ProjectDetails extends Component {
               key: "receiverMobile",
             },
             {
+              title: "会员负责人",
+              dataIndex: "projectMemberName",
+              key: "projectMemberName",
+            },
+            {
               title: "项目状态",
               dataIndex: "projectStatus",
               key: "projectStatus",

+ 156 - 124
js/component/manageCenter/project/task/membershipTable.jsx

@@ -9,6 +9,7 @@ import {
   Tabs,
   DatePicker,
   AutoComplete,
+  Modal,
 } from "antd";
 import $ from "jquery/src/ajax";
 import { ShowModal, } from '@/tools'
@@ -16,100 +17,21 @@ import { projectState, publishStatus } from '@/dataDic.js'
 import moment from 'moment';
 import ShowModalDiv from '@/showModal.jsx';
 import './membershipTable.less'
+import Progress from './progress'
 
 const { TabPane } = Tabs
+const { RangePicker, } = DatePicker;
 
 class MembershipTable extends Component {
   constructor(props) {
     super(props);
     this.state = {
-      searchValues: {},
+      visible: false,
+      tid: '',
+      searchValues: {
+        roleStatus: adminData.isSuperAdmin ? '0' : '1'
+      },
       loading: false,
-      data: [
-        {
-          xh: '',
-          kh: '自动',
-          ht: '自动',
-          fw: '自动',
-          hy: '自动',
-          year: '自动',
-          yw: '手填',
-          xm: '手填',
-          js: '手填',
-          cs: '手填',
-          xssr: '手填',
-          gxyffy: '手填',
-          xssr1: '手填',
-          gxyffy1: '手填',
-          zgzs: '手填',
-          kjry: '手填',
-          zb: '自动',
-          yflxs: '手填',
-          ndyfze: '手填',
-          ndxssryj: '手填',
-          bnzb: '自动',
-          threezb: '自动',
-          sjzq: '勾选',
-          ylxrd: '手填',
-          wwxms: '手填',
-          hzxm: '手填',
-          ygjyff: '手填',
-          yfysd: '自动',
-          ndsjsr: '手填',
-          bnyfzb: '自动',
-          thyfzb: '自动',
-          hjtj: '勾选',
-          tjnb: '勾选',
-          gqnb: '勾选',
-          sfwc: '勾选',
-          jkrds: '手填',
-          zscqjkf: '手填',
-          jkyff: '手填',
-          yfzbjba: '勾选',
-          iswc: '勾选',
-          sqje: '手填',
-          gsje: '手填',
-          qt: '手填',
-          jkbcjf: '勾选',
-          jkgd: '勾选',
-          gxbcjf: '勾选',
-          gxgd: '勾选',
-          gzjhhy: '勾选',
-          jdxhb: '勾选',
-          bzwcs: '手填',
-          bzwcl: '自动',
-          jkysb7: '勾选',
-          jkysb10: '勾选',
-          dnsbs: '手填',
-          dnsqs: '手填',
-          qyljsqs: '手填',
-          dnsbs1: '手填',
-          dnsqs1: '手填',
-          qyljsqs1: '手填',
-          dnsbs2: '手填',
-          dnsqs2: '手填',
-          qyljsqs2: '手填',
-          jzbnm: '手填',
-          Il: '手填',
-          IIl: '手填',
-          htyds: '手填',
-          sjs: '手填',
-          htyds1: '手填',
-          sjs1: '手填',
-          pxqi: '手填',
-          zxjc: '手填',
-          mnjc: '手填',
-          other: '手填',
-          cxnlpj: '手填',
-          sjsbpc: '勾选',
-          sfzdgz: '勾选',
-          wstj: '勾选',
-          zztj: '勾选',
-          gsxh: '勾选',
-          gqbh: '勾选',
-          time: '自动',
-        }
-      ],
       newData: [],
       columns: [
         {
@@ -170,6 +92,11 @@ class MembershipTable extends Component {
                   dataIndex: 'memberLvl',
                   key: 'memberLvl',
                   width: 44,
+                  render: (text, record) => {
+                    return (
+                      <div>{['', 'A', 'AA', 'AAA'][text]}</div>
+                    )
+                  }
                 },
               ],
             },
@@ -209,6 +136,12 @@ class MembershipTable extends Component {
                   title: <div className="color1">上上年度</div>,
                   children: [
                     {
+                      title: <div className="color1">年份</div>,
+                      dataIndex: 'beforeLastYear',
+                      key: 'beforeLastYear',
+                      width: 44,
+                    },
+                    {
                       title: <div className="color1">销售收入</div>,
                       dataIndex: 'beforeLastRdSalesAmount',
                       key: 'beforeLastRdSalesAmount',
@@ -226,6 +159,12 @@ class MembershipTable extends Component {
                   title: <div className="color1">上年度</div>,
                   children: [
                     {
+                      title: <div className="color1">年份</div>,
+                      dataIndex: 'lastYear',
+                      key: 'lastYear',
+                      width: 44,
+                    },
+                    {
                       title: <div className="color1">销售收入</div>,
                       dataIndex: 'lastRdSalesAmount',
                       key: 'lastRdSalesAmount',
@@ -653,19 +592,19 @@ class MembershipTable extends Component {
                           title: <div className="color3">当年申报数量</div>,
                           dataIndex: 'ipInventionPatentDeclare',
                           key: 'ipInventionPatentDeclare',
-                          width: 44,
+                          width: 80,
                         },
                         {
                           title: <div className="color3">当年授权数量</div>,
                           dataIndex: 'ipInventionPatentAuthorize',
                           key: 'ipInventionPatentAuthorize',
-                          width: 44,
+                          width: 80,
                         },
                         {
                           title: <div className="color3">企业累计授权数量</div>,
                           dataIndex: 'ipInventionPatentAuthorizeCount',
                           key: 'ipInventionPatentAuthorizeCount',
-                          width: 44,
+                          width: 80,
                         },
                       ]
                     },
@@ -676,19 +615,19 @@ class MembershipTable extends Component {
                           title: <div className="color3">当年申报数量</div>,
                           dataIndex: 'ipUtilityModelDeclare',
                           key: 'ipUtilityModelDeclare',
-                          width: 44,
+                          width: 80,
                         },
                         {
                           title: <div className="color3">当年授权数量</div>,
                           dataIndex: 'ipUtilityModelAuthorize',
                           key: 'ipUtilityModelAuthorize',
-                          width: 44,
+                          width: 80,
                         },
                         {
                           title: <div className="color3">企业累计授权数量</div>,
                           dataIndex: 'ipUtilityModelAuthorizeCount',
                           key: 'ipUtilityModelAuthorizeCount',
-                          width: 44,
+                          width: 80,
                         },
                       ]
                     },
@@ -699,25 +638,25 @@ class MembershipTable extends Component {
                           title: <div className="color3">当年申报数量</div>,
                           dataIndex: 'ipSoftwareWorksDeclare',
                           key: 'ipSoftwareWorksDeclare',
-                          width: 44,
+                          width: 80,
                         },
                         {
                           title: <div className="color3">当年授权数量</div>,
                           dataIndex: 'ipSoftwareWorksAuthorize',
                           key: 'ipSoftwareWorksAuthorize',
-                          width: 44,
+                          width: 80,
                         },
                         {
                           title: <div className="color3">企业累计授权数量</div>,
                           dataIndex: 'ipSoftwareWorksAuthorizeCount',
                           key: 'ipSoftwareWorksAuthorizeCount',
-                          width: 44,
+                          width: 80,
                         },
                         {
-                          title: <div className="color3">截止本年可用于下次高新认定</div>,
+                          title: <div className="color3">本年可用高新数</div>,
                           dataIndex: 'ipHt',
                           key: 'ipHt',
-                          width: 44,
+                          width: 80,
                         },
                         {
                           title: <div className="color3">I类数量</div>,
@@ -781,23 +720,47 @@ class MembershipTable extends Component {
               title: <div className="color2">特色工作</div>,
               children: [
                 {
-                  title: <div className="color2">专项检查</div>,
+                  title: <div className="color2">检查</div>,
                   children: [
                     {
-                      title: <div className="color2">专项检查</div>,
-                      dataIndex: 'zxjc',
-                      key: 'zxjc',
-                      width: 44,
+                      title: <div className="color2">高新技术税收优惠政策检查</div>,
+                      dataIndex: 'featureHt',
+                      key: 'featureHt',
+                      width: 80,
+                    },
+                    {
+                      title: <div className="color2">加计扣除税收优惠政策检查</div>,
+                      dataIndex: 'featureAd',
+                      key: 'featureAd',
+                      width: 80,
+                    },
+                    {
+                      title: <div className="color2">税务常规检查</div>,
+                      dataIndex: 'featureTr',
+                      key: 'featureTr',
+                      width: 80,
+                    },
+                    {
+                      title: <div className="color2">税务对研发费用检查</div>,
+                      dataIndex: 'featureTe',
+                      key: 'featureTe',
+                      width: 80,
+                    },
+                    {
+                      title: <div className="color2">税务稽查</div>,
+                      dataIndex: 'featureTi',
+                      key: 'featureTi',
+                      width: 80,
                     }
                   ]
                 },
                 {
-                  title: <div className="color2">模拟稽查</div>,
+                  title: <div className="color2">其他</div>,
                   children: [
                     {
-                      title: <div className="color2">模拟稽查</div>,
-                      dataIndex: 'mnjc',
-                      key: 'mnjc',
+                      title: <div className="color2">其他</div>,
+                      dataIndex: 'featureOther',
+                      key: 'featureOther',
                       width: 44,
                     }
                   ]
@@ -1001,7 +964,7 @@ class MembershipTable extends Component {
       dataType: "json",
       crossDomain: false,
       url: globalConfig.context + '/api/admin/taskDetails/export',
-      data: {},
+      data: this.state.searchValues,
       success: function (data) {
         if (data.error.length === 0) {
           this.download(data.data);
@@ -1111,19 +1074,35 @@ class MembershipTable extends Component {
 
   reset() {
     this.setState({
-      searchValues: {}
+      auto: undefined,
+      searchValues: {
+        roleStatus: adminData.isSuperAdmin ? '0' : '1'
+      }
+    }, () => {
+      this.getDetailsList(1)
     })
-    this.getDetailsList(1)
   }
 
   render() {
-    const { columns, data, searchValues, newData } = this.state
+    const { columns, searchValues, newData } = this.state
     const dataSources = this.state.customerArr || [];
     const options = dataSources.map((group) => (
       <Select.Option key={group.id} value={group.name}>
         {group.name}
       </Select.Option>
     ));
+    const roleList = adminData.isSuperAdmin
+      ? [
+        { value: '0', lable: '查询所有' },
+        { value: '1', lable: '查询自己' },
+        { value: '2', lable: '查看下级' },
+        { value: '3', lable: '负责人查询' },
+      ]
+      : [
+        { value: '1', lable: '查询自己' },
+        { value: '2', lable: '查看下级' },
+        { value: '3', lable: '负责人查询' },
+      ]
     return (
       <div className="user-content membershipTable">
         <ShowModalDiv ShowModal={this.state.showModal} onClose={() => { this.setState({ showModal: false }) }} />
@@ -1200,7 +1179,7 @@ class MembershipTable extends Component {
               >
                 <Input />
               </AutoComplete>
-              <Select
+              {/* <Select
                 placeholder="项目状态"
                 style={{ width: 160 }}
                 value={searchValues["projectStatus"]
@@ -1218,7 +1197,7 @@ class MembershipTable extends Component {
                     <Option value={item.value} key={item.key}>{item.key}</Option>
                   )
                 }
-              </Select>
+              </Select> */}
               <Select
                 placeholder="外包状态"
                 style={{ width: 160 }}
@@ -1237,12 +1216,22 @@ class MembershipTable extends Component {
                 <Option value="2" >外包审核驳回</Option>
               </Select>
               <span>更新时间:</span>
-              <DatePicker
-                value={searchValues["updateTime"]
-                  ? moment(searchValues["updateTime"])
-                  : null}
+              <RangePicker
+                value={[
+                  searchValues["updateStartTime"]
+                    ? moment(searchValues["updateStartTime"])
+                    : null,
+                  searchValues["updateEndTime"]
+                    ? moment(searchValues["updateEndTime"])
+                    : null,
+                ]}
                 onChange={(data, dataString) => {
-                  searchValues["updateTime"] = dataString;
+                  searchValues["updateStartTime"] = String(
+                    dataString[0]
+                  );
+                  searchValues["updateEndTime"] = String(
+                    dataString[1]
+                  );
                   this.setState({
                     searchValues: searchValues,
                   });
@@ -1278,11 +1267,8 @@ class MembershipTable extends Component {
                   });
                 }}
               >
-                {
-                  publishStatus.map(item =>
-                    <Option value={item.value} key={item.key}>{item.key}</Option>
-                  )
-                }
+                <Option value='0'>未公示</Option>
+                <Option value='1'>已公示</Option>
               </Select>
 
               <Select
@@ -1375,7 +1361,29 @@ class MembershipTable extends Component {
                 <Option value="2" >已完成</Option>
                 <Option value="3" >合同无此项</Option>
               </Select>
-
+              <Select
+                placeholder="查看"
+                style={{ width: 100 }}
+                value={searchValues["roleStatus"]
+                  ? searchValues["roleStatus"]
+                  : undefined}
+                onChange={(e) => {
+                  searchValues["roleStatus"] = e;
+                  this.setState({
+                    searchValues: searchValues,
+                  });
+                }}
+              >
+                {
+                  roleList.map((item =>
+                    <Option value={item.value} key={item.value} >{item.lable}</Option>
+                  ))
+                }
+                {/* {adminData.isSuperAdmin ? <Option value="0" >查询所有</Option> : null}
+                <Option value="1" >查询自己</Option>
+                <Option value="2" >查看下级</Option>
+                <Option value="3" >负责人查询</Option> */}
+              </Select>
               <Button type="primary" style={{ marginLeft: 10 }} onClick={this.search}>
                 搜索
               </Button>
@@ -1403,10 +1411,34 @@ class MembershipTable extends Component {
               size="middle"
               scroll={{ x: '220%' }}
               pagination={this.state.pagination}
+              onRowDoubleClick={e => {
+                this.setState({
+                  visible: true,
+                  tid: e.tid
+                })
+              }}
             />
           </Spin>
         </div>
-      </div>
+        {
+          this.state.visible &&
+          <Modal
+            title="会员进度表"
+            visible={this.state.visible}
+            onCancel={() => {
+              this.setState({
+                visible: false,
+                tid: '',
+              })
+              this.getDetailsList(this.state.pageNo)
+            }}
+            width={1200}
+            footer={null}
+          >
+            <Progress tid={this.state.tid} />
+          </Modal>
+        }
+      </div >
     );
   }
 }

+ 5 - 5
js/component/manageCenter/project/task/membershipTable.less

@@ -52,7 +52,7 @@
 
 
   .color1 {
-    background: #fff3ca;
+    // background: #fff3ca;
     padding: 10px 8px;
     text-align: center;
     height: 100%;
@@ -62,7 +62,7 @@
   }
 
   .color2 {
-    background: #a8eae4;
+    // background: #a8eae4;
     padding: 10px 8px;
     text-align: center;
     height: 100%;
@@ -72,7 +72,7 @@
   }
 
   .color3 {
-    background: #ffff00;
+    // background: #ffff00;
     padding: 10px 8px;
     text-align: center;
     height: 100%;
@@ -83,7 +83,7 @@
   }
 
   .color4 {
-    background: #b5c6ea;
+    // background: #b5c6ea;
     padding: 10px 8px;
     text-align: center;
     height: 100%;
@@ -93,7 +93,7 @@
   }
 
   .color5 {
-    background: #f9cbaa;
+    // background: #f9cbaa;
     padding: 10px 8px;
     text-align: center;
     height: 100%;

+ 238 - 24
js/component/manageCenter/project/task/myTask.jsx

@@ -25,6 +25,7 @@ import {
   Icon,
   Upload,
   Tag, Row, Tooltip,
+  AutoComplete,
 } from 'antd'
 import Assign from '@/manageCenter/publicComponent/assign'
 import { areaSelect } from '@/NewDicProvinceList'
@@ -89,6 +90,7 @@ const PicturesWall = React.createClass({
     this.state.fileList = nextProps.pictureUrl
     this.state.pojectApplicationUrl = undefined
   },
+
   render() {
     const { fileList } = this.state
     return (
@@ -189,6 +191,7 @@ const Task = React.createClass({
   },
   getInitialState() {
     return {
+      isNull: true,
       approvaType: [],
       satisfactionDegreeUrl: [], // 满意度调查表
       satisfactionDegree: "", // 满意度
@@ -1518,6 +1521,7 @@ const Task = React.createClass({
         isHuiyuan: false,
       })
     } else {
+      this.getByTid(record.id) //
       this.setState({
         isHuiyuan: true,
       })
@@ -1562,6 +1566,36 @@ const Task = React.createClass({
     this.getSelectOutsourceLog(record.id);
     this.projectTypeTabContent(record.projectType);
   },
+
+  getByTid(id) {
+    $.ajax({
+      method: 'get',
+      dataType: 'json',
+      crossDomain: false,
+      url: globalConfig.context + '/api/admin/taskDetails/getByTid',
+      data: {
+        id,
+      },
+      success: function (data) {
+        if (data.error.length || data.data.list == '') {
+          if (data.error && data.error.length) {
+            message.warning(data.error[0].message)
+          }
+        } else {
+          let obj = data.data
+          this.setState({
+            isNull: !obj.projectId
+          })
+        }
+      }.bind(this),
+    }).always(
+      function () {
+        this.setState({
+          loading: false,
+        })
+      }.bind(this)
+    )
+  },
   //点击修改项目详情
   tijiaoOk(status = '', fn) {
     let attachmentUrls = []
@@ -3139,6 +3173,66 @@ const Task = React.createClass({
       ThirdListVisible: true,
     })
   },
+  // 查询订单负责人列表
+  followUpHY(e) {
+    this.setState({
+      projectDirector: 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({
+          HYlist: thedata,
+        });
+      }.bind(this),
+    }).always(
+      function () {
+        this.setState({
+          loading: false,
+        });
+      }.bind(this)
+    );
+  },
+  // 选中订单负责人
+  selectHY(value) {
+    const { HYlist } = this.state;
+    const newdataSources = JSON.stringify(HYlist) == "{}" ? [] : HYlist;
+    this.setState({
+      projectId: newdataSources.find((item) => item.name == value).id,
+    });
+  },
+  addProjectName() {
+    $.ajax({
+      url: globalConfig.context + '/api/admin/taskDetails/add',
+      method: 'post',
+      data: {
+        tid: this.state.tid,
+        projectName: this.state.projectDirector,
+        projectId: this.state.projectId,
+      },
+    }).done(
+      function (data) {
+        if (!data.error.length) {
+
+        } else {
+          message.warning(data.error[0].message)
+        }
+      }.bind(this)
+    )
+  },
   updateProjectStatus(projectStatus, fn) {
     $.ajax({
       url: globalConfig.context + '/api/admin/orderProject/updateProjectStatus',
@@ -3733,6 +3827,11 @@ const Task = React.createClass({
               key: "receiverMobile",
             },
             {
+              title: "会员负责人",
+              dataIndex: "projectMemberName",
+              key: "projectMemberName",
+            },
+            {
               title: "项目状态",
               dataIndex: "projectStatus",
               key: "projectStatus",
@@ -3821,6 +3920,13 @@ const Task = React.createClass({
     const approvaChildren = approvalOptions.map(i => (
       <Option key={i.value}>{i.label}</Option>
     ));
+    const dataSources = this.state.HYlist || [];
+    const options = dataSources.map((group) => (
+      <Select.Option key={group.id} value={group.name}>
+        {group.name}
+      </Select.Option>
+    ));
+
     return (
       <div className="user-content">
         {this.state.resVisible ? (
@@ -4064,6 +4170,9 @@ const Task = React.createClass({
             this.state.selectCompanyAjaxObj ? this.state.selectCompanyAjaxObj.abort() : null;
             this.state.selectPaymentNodeAjaxObj ? this.state.selectPaymentNodeAjaxObj.abort() : null;
             this.state.orderOutsourceDtailsAjaxObj ? this.state.orderOutsourceDtailsAjaxObj.abort() : null;
+            this.setState({
+              isNull: true
+            })
           }}
         >
           <div style={{ position: "relative" }}>
@@ -4076,23 +4185,83 @@ const Task = React.createClass({
               zIndex: 1000,
               //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
               display: parseInt(this.state.projectStatus) === 0 ? 'flex' : 'none',
-              justifyContent: 'center',
+              alignItems: 'center',
+              flexDirection: 'column',
               paddingTop: '300px',
               background: 'rgba(0,0,0,0.7)',
               borderRadius: '4px',
               borderTopRightRadius: '96px',
             }}>
-              <Button
-                type="primary"
-                size='large'
-                onClick={() => {
-                  //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
-                  this.updateProjectStatus(1, () => {
-                    this.xiangqing(this.state.id)
-                  });
-                }}>
-                开始启动项目
-              </Button>
+              {
+                (this.state.sort == 6 && this.state.isNull)
+                  ? <div style={{
+                    width: 200,
+                    display: 'flex',
+                    flexDirection: 'column',
+                    alignItems: 'center',
+                  }}
+                  >
+                    <div
+                      style={{
+                        textAlign: 'center',
+                        color: '#fff',
+                        fontSize: '18px',
+                        marginBottom: 15,
+                      }}
+                    >请设置会员负责人</div>
+                    <AutoComplete
+                      className="certain-category-search"
+                      dropdownClassName="certain-category-search-dropdown"
+                      dropdownMatchSelectWidth={false}
+                      style={{ width: "200px", textAlign: 'center', marginBottom: 15 }}
+                      dataSource={options}
+                      placeholder="请输入会员负责人姓名"
+                      value={this.state.projectDirector}
+                      onChange={this.followUpHY.bind(this)}
+                      filterOption={true}
+                      onSelect={this.selectHY.bind(this)}
+                    >
+                      <Input />
+                    </AutoComplete>
+                    {/* <Input
+                      style={{ textAlign: 'center', marginBottom: 15 }}
+                      placeholder="请输入项目负责人姓名"
+                      value={this.state.projectDirector}
+                      onChange={(e) => {
+                        this.setState({ projectDirector: e.target.value })
+                      }}
+                    /> */}
+                    <Button
+                      type="primary"
+                      size='large'
+                      onClick={() => {
+                        if (!this.state.projectDirector) {
+                          message.warning('请先设置会员负责人')
+                          return
+                        } else {
+                          this.addProjectName()
+                        }
+                        //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
+                        this.updateProjectStatus(1, () => {
+                          this.xiangqing(this.state.id)
+                        });
+                      }}>
+                      开始启动项目
+                    </Button>
+                  </div>
+                  : <Button
+                    type="primary"
+                    size='large'
+                    onClick={() => {
+                      //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
+                      this.updateProjectStatus(1, () => {
+                        this.xiangqing(this.state.id)
+                      });
+                    }}>
+                    开始启动项目
+                  </Button>
+
+              }
             </div>
             <Tabs
               tabBarExtraContent={
@@ -5666,23 +5835,68 @@ const Task = React.createClass({
               bottom: 0,
               zIndex: 1000,
               display: parseInt(this.state.projectStatus) === 0 ? 'flex' : 'none',
-              justifyContent: 'center',
+              alignItems: 'center',
+              flexDirection: 'column',
               paddingTop: '300px',
               background: 'rgba(0,0,0,0.7)',
               borderRadius: '4px',
               borderTopRightRadius: '96px',
             }}>
-              <Button
-                type="primary"
-                size='large'
-                onClick={() => {
-                  //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
-                  this.updateProjectStatus(1, () => {
-                    this.xiangqing(this.state.id)
-                  });
-                }}>
-                开始启动项目
-              </Button>
+              {
+                this.state.sort == 6
+                  ? <div style={{
+                    width: 200,
+                    display: 'flex',
+                    flexDirection: 'column',
+                    alignItems: 'center',
+                  }}
+                  >
+                    <div
+                      style={{
+                        textAlign: 'center',
+                        color: '#fff',
+                        fontSize: '18px',
+                        marginBottom: 15,
+                      }}
+                    >请设置会员负责人</div>
+                    <Input
+                      style={{ textAlign: 'center', marginBottom: 15 }}
+                      placeholder="请输入会员负责人姓名"
+                      value={this.state.projectDirector}
+                      onChange={(e) => {
+                        this.setState({ projectDirector: e.target.value })
+                      }}
+                    />
+                    <Button
+                      type="primary"
+                      size='large'
+                      onClick={() => {
+                        if (!this.state.projectDirector) {
+                          message.warning('请先设置会员负责人')
+                          return
+                        } else {
+                          this.addProjectName()
+                        }
+                        //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
+                        this.updateProjectStatus(1, () => {
+                          this.xiangqing(this.state.id)
+                        });
+                      }}>
+                      开始启动项目
+                    </Button>
+                  </div>
+                  : <Button
+                    type="primary"
+                    size='large'
+                    onClick={() => {
+                      //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
+                      this.updateProjectStatus(1, () => {
+                        this.xiangqing(this.state.id)
+                      });
+                    }}>
+                    开始启动项目
+                  </Button>
+              }
             </div>
             <Tabs
               tabBarExtraContent={

+ 132 - 29
js/component/manageCenter/project/task/myTaskOutsource.jsx

@@ -1847,6 +1847,24 @@ const MyTaskOutsource = React.createClass({
       }.bind(this)
     );
   },
+  addProjectName() {
+    $.ajax({
+      url: globalConfig.context + '/api/admin/taskDetails/add',
+      method: 'post',
+      data: {
+        tid: this.state.tid,
+        projectName: this.state.projectDirector,
+      },
+    }).done(
+      function (data) {
+        if (!data.error.length) {
+
+        } else {
+          message.warning(data.error[0].message)
+        }
+      }.bind(this)
+    )
+  },
   updateProjectStatus(projectStatus, fn) {
     $.ajax({
       url: globalConfig.context + '/api/admin/orderProject/updateProjectStatus',
@@ -3475,26 +3493,69 @@ const MyTaskOutsource = React.createClass({
               zIndex: 1000,
               //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
               display: parseInt(this.state.projectStatus) === 0 ? 'flex' : 'none',
-              justifyContent: 'center',
+              alignItems: 'center',
+              flexDirection: 'column',
               paddingTop: '300px',
               background: 'rgba(0,0,0,0.7)',
               borderRadius: '4px',
               borderTopRightRadius: '96px',
             }}>
-              <Button
-                type="primary"
-                style={{
+              {
+                this.state.sort == 6
+                  ? <div style={{
+                    width: 200,
+                    display: 'flex',
+                    flexDirection: 'column',
+                    alignItems: 'center',
+                  }}
+                  >
+                    <div
+                      style={{
+                        textAlign: 'center',
+                        color: '#fff',
+                        fontSize: '18px',
+                        marginBottom: 15,
+                      }}
+                    >请设置会员负责人</div>
+                    <Input
+                      style={{ textAlign: 'center', marginBottom: 15 }}
+                      placeholder="请输入会员负责人姓名"
+                      value={this.state.projectDirector}
+                      onChange={(e) => {
+                        this.setState({ projectDirector: e.target.value })
+                      }}
+                    />
+                    <Button
+                      type="primary"
+                      size='large'
+                      onClick={() => {
+                        if (!this.state.projectDirector) {
+                          message.warning('请先设置会员负责人')
+                          return
+                        } else {
+                          this.addProjectName()
+                        }
+                        //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
+                        this.updateProjectStatus(1, () => {
+                          this.xiangqing(this.state.id)
+                        });
+                      }}>
+                      开始启动项目
+                    </Button>
+                  </div>
+                  : <Button
+                    type="primary"
+                    size='large'
+                    onClick={() => {
+                      //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
+                      this.updateProjectStatus(1, () => {
+                        this.xiangqing(this.state.id)
+                      });
+                    }}>
+                    开始启动项目
+                  </Button>
+              }
 
-                }}
-                size='large'
-                onClick={() => {
-                  //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
-                  this.updateProjectStatus(1, () => {
-                    this.xiangqing(this.state.id)
-                  });
-                }}>
-                开始启动项目
-              </Button>
             </div>
             <Tabs
               onChange={this.callBack}
@@ -4925,26 +4986,68 @@ const MyTaskOutsource = React.createClass({
               zIndex: 1000,
               //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
               display: parseInt(this.state.projectStatus) === 0 ? 'flex' : 'none',
-              justifyContent: 'center',
+              alignItems: 'center',
+              flexDirection: 'column',
               paddingTop: '300px',
               background: 'rgba(0,0,0,0.7)',
               borderRadius: '4px',
               borderTopRightRadius: '96px',
             }}>
-              <Button
-                type="primary"
-                style={{
-
-                }}
-                size='large'
-                onClick={() => {
-                  //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
-                  this.updateProjectStatus(1, () => {
-                    this.xiangqing(this.state.id)
-                  });
-                }}>
-                开始启动项目
-              </Button>
+              {
+                this.state.sort == 6
+                  ? <div style={{
+                    width: 200,
+                    display: 'flex',
+                    flexDirection: 'column',
+                    alignItems: 'center',
+                  }}
+                  >
+                    <div
+                      style={{
+                        textAlign: 'center',
+                        color: '#fff',
+                        fontSize: '18px',
+                        marginBottom: 15,
+                      }}
+                    >请设置会员负责人</div>
+                    <Input
+                      style={{ textAlign: 'center', marginBottom: 15 }}
+                      placeholder="请输入会员负责人姓名"
+                      value={this.state.projectDirector}
+                      onChange={(e) => {
+                        this.setState({ projectDirector: e.target.value })
+                      }}
+                    />
+                    <Button
+                      type="primary"
+                      size='large'
+                      onClick={() => {
+                        if (!this.state.projectDirector) {
+                          message.warning('请先设置会员负责人')
+                          return
+                        } else {
+                          this.addProjectName()
+                        }
+                        //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
+                        this.updateProjectStatus(1, () => {
+                          this.xiangqing(this.state.id)
+                        });
+                      }}>
+                      开始启动项目
+                    </Button>
+                  </div>
+                  : <Button
+                    type="primary"
+                    size='large'
+                    onClick={() => {
+                      //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
+                      this.updateProjectStatus(1, () => {
+                        this.xiangqing(this.state.id)
+                      });
+                    }}>
+                    开始启动项目
+                  </Button>
+              }
             </div>
             <Tabs
               activeKey={this.state.modKey}

+ 182 - 7
js/component/manageCenter/project/task/progress.jsx

@@ -12,7 +12,8 @@ import {
   Input,
   Button,
   Checkbox,
-  Table
+  Table,
+  AutoComplete,
 } from "antd";
 import $ from "jquery/src/ajax";
 import Print from 'react-print-html';
@@ -180,6 +181,8 @@ class Progress extends Component {
           return "共" + total + "条数据";
         },
       },
+      projectV: false,
+      HYlist: [],
 
     }
     this.onSubmit = this.onSubmit.bind(this);
@@ -215,6 +218,11 @@ class Progress extends Component {
           this.setState({
             data: obj,
           })
+          if (!obj.projectId) {
+            this.setState({
+              projectV: true
+            })
+          }
         }
       }.bind(this),
     }).always(
@@ -525,6 +533,95 @@ class Progress extends Component {
       }),
     })
   }
+  // 查询订单负责人列表
+  followUpHY(e) {
+    this.setState({
+      projectDirector: 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({
+          HYlist: thedata,
+        });
+      }.bind(this),
+    }).always(
+      function () {
+        this.setState({
+          loading: false,
+        });
+      }.bind(this)
+    );
+  }
+  // 选中订单负责人
+  selectHY(value) {
+    const { HYlist } = this.state;
+    const newdataSources = JSON.stringify(HYlist) == "{}" ? [] : HYlist;
+    this.setState({
+      projectId: newdataSources.find((item) => item.name == value).id,
+    });
+  }
+
+  addProjectName() {
+    const {  data } = this.state
+    data.phasedContent = data.phasedContent.toString();
+    if (!this.state.data.id) {
+      $.ajax({
+        method: 'POST',
+        dataType: 'json',
+        crossDomain: false,
+        url: globalConfig.context + '/api/admin/taskDetails/add',
+        data,
+      }).done(
+        function (data) {
+          if (!data.error.length) {
+            this.updateProjectName(data.data.id)
+          } else {
+            message.warning(data.error[0].message)
+          }
+        }.bind(this)
+      )
+    } else {
+      this.updateProjectName()
+    }
+  }
+
+  updateProjectName(id) {
+    $.ajax({
+      url: globalConfig.context + '/api/admin/taskDetails/update',
+      method: 'post',
+      data: {
+        id: this.state.data.id || id,
+        tid: this.state.data.tid,
+        projectName: this.state.projectDirector,
+        projectId: this.state.projectId,
+      },
+    }).done(
+      function (data) {
+        if (!data.error.length) {
+          this.setState({
+            projectV: false,
+          })
+          this.getByTid()
+        } else {
+          message.warning(data.error[0].message)
+        }
+      }.bind(this)
+    )
+  }
 
   handleOk() {
     this.addTaskFeature()
@@ -562,8 +659,15 @@ class Progress extends Component {
       { label: '11月', value: '11' },
       { label: '12月', value: '12' },
     ]
+    const dataSources = this.state.HYlist || [];
+    const options = dataSources.map((group) => (
+      <Select.Option key={group.id} value={group.name}>
+        {group.name}
+      </Select.Option>
+    ));
     return (
       <div className="progress" >
+        {data.updateStatus == 0 && <div className="popup"></div>}
         <Spin spinning={this.state.loading}>
           <div
             id="count"
@@ -577,7 +681,10 @@ class Progress extends Component {
               <div className="pr-item">
                 <div><span>合同编号:</span>{data.contractNo}</div>
                 <div>&nbsp;</div>
-                <div><span>会员等级:</span>{data.memberLvl}&nbsp;&nbsp;&nbsp;&nbsp;<Tag color="#2db7f5"><span style={{ color: "#fff" }}>会员</span></Tag></div>
+                <div>
+                  <span>会员等级:</span>{['', 'A', 'AA', 'AAA'][data.memberLvl]}&nbsp;&nbsp;&nbsp;&nbsp;
+                  <Tag color="#2db7f5"><span style={{ color: "#fff" }}>会员</span></Tag>
+                </div>
               </div>
               <div className="pr-item">
                 <div className="pi-tit">服务内容</div>
@@ -602,7 +709,9 @@ class Progress extends Component {
                       })
                     }}
                   />
-                  &nbsp;&nbsp;&nbsp;&nbsp;
+                  {/* &nbsp;&nbsp;&nbsp;&nbsp; */}
+                </div>
+                <div>
                   <span>项目负责人:</span>
                   <Input
                     style={{ width: this.handleChange('projectName', 60, 'string') }}
@@ -614,7 +723,13 @@ class Progress extends Component {
                         }),
                       })
                     }}
+                    onClick={() => {
+                      this.setState({
+                        projectV: true
+                      })
+                    }}
                   />
+
                 </div>
                 <div>
                   <span>技术咨询师:</span>
@@ -629,7 +744,9 @@ class Progress extends Component {
                       })
                     }}
                   />
-                  &nbsp;&nbsp;&nbsp;&nbsp;
+                  {/* &nbsp;&nbsp;&nbsp;&nbsp; */}
+                </div>
+                <div>
                   <span>财税咨询师:</span>
                   <Input
                     style={{ width: this.handleChange('financeTaxationName', 60, 'string') }}
@@ -1436,9 +1553,10 @@ class Progress extends Component {
                     type="primary"
                     size="small"
                     onClick={() => {
-                      if (!this.state.data.id) {
-                        this.onSubmit()
-                      }
+                      // if (!this.state.data.id) {
+                      //   this.onSubmit()
+                      // }
+                      this.onSubmit()
                       this.setState({
                         visible: true
                       })
@@ -2010,6 +2128,63 @@ class Progress extends Component {
             pagination={this.state.pagination}
           />
         </Modal>
+        <Modal
+          // closable={!data.id ? false : true}
+          maskClosable={false}
+          title="项目负责人"
+          visible={this.state.projectV}
+          width={240}
+          footer=""
+          onCancel={() => {
+            this.setState({
+              projectV: false,
+            })
+          }}
+        >
+          <div style={{
+            width: 200,
+            display: 'flex',
+            flexDirection: 'column',
+            alignItems: 'center',
+          }}
+          >
+            <div
+              style={{
+                textAlign: 'center',
+                color: 'black',
+                fontSize: '18px',
+                marginBottom: 15,
+              }}
+            >请设置会员负责人</div>
+            <AutoComplete
+              className="certain-category-search"
+              dropdownClassName="certain-category-search-dropdown"
+              dropdownMatchSelectWidth={false}
+              style={{ width: "200px", textAlign: 'center', marginBottom: 15 }}
+              dataSource={options}
+              placeholder="请输入会员负责人姓名"
+              value={this.state.projectDirector}
+              onChange={this.followUpHY.bind(this)}
+              filterOption={true}
+              onSelect={this.selectHY.bind(this)}
+            >
+              <Input />
+            </AutoComplete>
+            <Button
+              type="primary"
+              size='large'
+              onClick={() => {
+                if (!this.state.projectId) {
+                  message.warning('请先设置会员负责人')
+                  return
+                } else {
+                  this.addProjectName()
+                }
+              }}>
+              确定
+            </Button>
+          </div>
+        </Modal>
       </div>
     )
   }

+ 14 - 3
js/component/manageCenter/project/task/progress.less

@@ -147,7 +147,7 @@
           transform: rotate(45deg) scale(1);
         }
 
-        span.ant-radio + * {
+        span.ant-radio+* {
           padding-left: 5px;
           padding-right: 5px;
         }
@@ -190,6 +190,17 @@
 
 .progress {
   padding: 30px 0;
+  position: relative;
+
+  .popup {
+    position: absolute;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    z-index: 9;
+    background: rgba(0, 0, 0, 0.5);
+  }
 
   .pro-content {
     display: flex;
@@ -335,7 +346,7 @@
           transform: rotate(45deg) scale(1);
         }
 
-        span.ant-radio + * {
+        span.ant-radio+* {
           padding-left: 5px;
           padding-right: 5px;
         }
@@ -378,4 +389,4 @@
     display: flex;
     justify-content: center;
   }
-}
+}

+ 5 - 0
js/component/manageCenter/project/task/taskAssignment.jsx

@@ -1031,6 +1031,11 @@ const Task = React.createClass({
               key: "receiverMobile",
             },
             {
+              title: "会员负责人",
+              dataIndex: "projectMemberName",
+              key: "projectMemberName",
+            },
+            {
               title: "项目状态",
               dataIndex: "projectStatus",
               key: "projectStatus",

+ 5 - 0
js/component/manageCenter/project/task/taskQuery.jsx

@@ -1228,6 +1228,11 @@ const Task = React.createClass({
               key: "receiverMobile",
             },
             {
+              title: "会员负责人",
+              dataIndex: "projectMemberName",
+              key: "projectMemberName",
+            },
+            {
               title: "项目状态",
               dataIndex: "projectStatus",
               key: "projectStatus",

+ 1 - 1
package.json

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