dev01 1 year ago
parent
commit
88c3a1b6e8

+ 2 - 1
js/component/manageCenter/index/content.jsx

@@ -743,7 +743,8 @@ const Content = React.createClass({
     let key = array.includes("1") // 营销员
       ? "statisticsYxy" : array.includes("2") // 营销经理
         ? "statisticsYxy" : array.includes("8") // 咨询师
-          ? "statisticsZxs" : "normal"
+          ? "statisticsZxs" : array.includes("9") // 咨询师经理
+            ? "statisticsZxs" : "normal"
     if (window.location.hash) {
       this.getKey((window.location.hash).slice(1));
     } else {

+ 2 - 1
js/component/manageCenter/index/leftTab.jsx

@@ -33,7 +33,8 @@ const LeftTab = React.createClass({
             array.includes("1") // 营销员
               ? "statisticsYxy" : array.includes("2") // 营销经理
                 ? "statisticsYxy" : array.includes("8") // 咨询师 
-                  ? "statisticsZxs" : "no"}>
+                  ? "statisticsZxs" : array.includes("9") // 咨询师经理
+                    ? "statisticsZxs" : "no"}>
           数据统计
         </Menu.Item>
         <Menu.Item key="normal">

+ 41 - 27
js/component/manageCenter/index/statistics/zxs.jsx

@@ -76,7 +76,7 @@ const Statistics = React.createClass({
       method: "get",
       dataType: "json",
       crossDomain: false,
-      url: globalConfig.context + "/api/admin/statistics/info",
+      url: globalConfig.context + "/api/admin/statistics/consultant/info",
       data: {
         startTime: releaseDate[0],
         endTime: releaseDate[1],
@@ -108,7 +108,7 @@ const Statistics = React.createClass({
       method: "get",
       dataType: "json",
       crossDomain: false,
-      url: globalConfig.context + "/api/admin/statistics/lists",
+      url: globalConfig.context + "/api/admin/statistics/consultant/lists",
       success: function (data) {
         if (data.error && data.error.length === 0) {
           this.setState({
@@ -149,19 +149,20 @@ const Statistics = React.createClass({
 
   render() {
     const { status, info, data } = this.state
+    let array = window.adminData.shiroList.split(",");
     const list = [
-      { color: "#99FFFF", title: "总项目数:", sum: info.signSum, tit: "项目数", number: info.rangeSignSum, url: this.getNewUrl("/admin/customer.html", "companySign") },
-      { color: "#FFFFCC", title: "总进行中数:", sum: info.privateSum, tit: "进行中", number: info.rangePrivateSum, url: this.getNewUrl("/admin/customer.html", "companyIntention") },
-      { color: "#FFCCCC", title: "总完成数:", sum: info.channelSum, tit: "完成数", number: info.rangeChannelSum, url: this.getNewUrl("/admin/channelList.html", "channelunit") },
-      { color: "#99CCFF", title: "总未启动数:", sum: info.publicReleaseSum, tit: "未启动", number: info.rangePublicReleaseSum, url: "" },
-      { color: "#99FFCC", title: "总暂停数:", sum: info.followSum, tit: "暂停数", number: info.rangeFollowSum, url: this.getNewUrl("/admin/customer.html", "followUpSummaryOrdinary") },
-      { color: "#CC99CC", title: "总公出数:", sum: info.orderSum, tit: "公出数", number: info.rangeOrderSum, url: this.getNewUrl("/admin/order.html", "billing") },
-      { color: "#99CCCC", title: "总协单数:", sum: info.receivables, tit: "协单数", number: info.rangeReceivables, url: this.getNewUrl("/admin/order.html", "press") },
+      { color: "#99FFFF", title: "总项目数:", sum: info.projectCount, tit: "项目数", number: info.rangeProjectCount, url: this.getNewUrl("/admin/project.html", "myTaskZxs"), type: '' },
+      { color: "#FFFFCC", title: "总进行中数:", sum: info.inProgress, tit: "进行中", number: info.rangeInProgress, url: this.getNewUrl("/admin/project.html", "myTaskZxs"), type: '1' },
+      { color: "#FFCCCC", title: "总完成数:", sum: info.complete, tit: "完成数", number: info.rangeComplete, url: this.getNewUrl("/admin/project.html", "myTaskZxs"), type: '4' },
+      { color: "#99CCFF", title: "总未启动数:", sum: info.notStarted, tit: "未启动", number: info.rangeNotStarted, url: this.getNewUrl("/admin/project.html", "myTaskZxs"), type: '0' },
+      { color: "#99FFCC", title: "总暂停数:", sum: info.stop, tit: "暂停数", number: info.rangeStop, url: this.getNewUrl("/admin/project.html", "myTaskZxs"), type: '29' },
+      { color: "#CC99CC", title: "总公出数:", sum: info.countPublicRelease, tit: "公出数", number: info.rangeCountPublicRelease, url: '' },
+      { color: "#99CCCC", title: "总协单数:", sum: info.countAssist, tit: "协单数", number: info.rangeCountAssist, url: '' },
       {
         color: "#FFCC99", title: "待紧急处理事项",
         list: [
-          { key: "待变更订单:", value: info.changeSum, url: this.getNewUrl("/admin/order.html", "contractChangeYxy") },
-          { key: "待成本付款处理:", value: info.projectCheckSum, url: this.getNewUrl("/admin/project.html", "businessManagement") },]
+          { key: "待变更订单:", value: info.countChange, url: this.getNewUrl('/admin/project.html', array.includes("9") ? "contractChangeJsjl" : "contractChangeJsy"), },
+          { key: "待成本付款处理:", value: info.orderPayment, url: '' },]
       },
     ]
     const option = {
@@ -172,7 +173,7 @@ const Statistics = React.createClass({
         trigger: 'axis'
       },
       legend: {
-        data: ['签单客户数', '私有客户数', '私有渠道数', '公出企业数', '跟进客户数', '订单数',]
+        data: ['项目数', '进行中数', '未发起数', '完成数', '暂停数', '公出数', '协单数',]
       },
       grid: {
         left: '3%',
@@ -196,37 +197,42 @@ const Statistics = React.createClass({
       yAxis: {
         type: 'value'
       },
-      color: ['#99FFFF', '#cccca3', '#FFCCCC', '#99CCFF', '#99FFCC', '#CC99CC'],
+      color: ['#99FFFF', '#cccca3', '#FFCCCC', '#99CCFF', '#99FFCC', '#CC99CC', '#CC99CC', '#99CCCC'],
       series: [
         {
-          name: '签单客户数',
+          name: '项目数',
           type: 'line',
-          data: data.signList,
+          data: data.projectCountList,
         },
         {
-          name: '私有客户数',
+          name: '进行中数',
           type: 'line',
-          data: data.privateList,
+          data: data.inProgressList,
         },
         {
-          name: '私有渠道数',
+          name: '未发起数',
           type: 'line',
-          data: data.channelList,
+          data: data.notStartedList,
         },
         {
-          name: '公出企业数',
+          name: '完成数',
           type: 'line',
-          data: data.publicReleaseList,
+          data: data.completeList,
         },
         {
-          name: '跟进客户数',
+          name: '暂停数',
           type: 'line',
-          data: data.userFollowList,
+          data: data.stopList,
         },
         {
-          name: '订单数',
+          name: '公出数',
           type: 'line',
-          data: data.orderList,
+          data: data.publicReleaseCountList,
+        },
+        {
+          name: '协单数',
+          type: 'line',
+          data: data.assistCountList,
         }
       ]
     }
@@ -293,7 +299,11 @@ const Statistics = React.createClass({
                     <div className='plititle'>
                       <span style={{ fontWeight: item.title == "待紧急处理事项" && "bold" }}>{item.title}</span>
                       {/* <span className='plisum'>{item.sum}</span> */}
-                      <a href={globalConfig.context + item.url}>
+                      <a href={globalConfig.context + item.url}
+                        onClick={() => {
+                          localStorage.setItem('typeZxs', item.type);
+                        }}
+                      >
                         <span className='plisum'>{item.sum}</span>
                       </a>
                     </div>
@@ -312,7 +322,11 @@ const Statistics = React.createClass({
                           }
                         </div>
                         : <div className='count'>
-                          <a href={globalConfig.context + item.url}><div className='plinum'>{item.number}</div></a>
+                          <a href={globalConfig.context + item.url}
+                            onClick={() => {
+                              localStorage.setItem('typeZxs', item.type);
+                            }}
+                          ><div className='plinum'>{item.number}</div></a>
                           <div className='plitit'>{item.tit}</div>
                         </div>
                     }

+ 22 - 17
js/component/manageCenter/project/task/myTask.jsx

@@ -762,13 +762,32 @@ const Task = React.createClass({
   },
 
   componentWillMount() {
-    // this.departmentList()
-    this.categoryList()
-    this.loadData()
+    const data = localStorage.getItem('typeZxs') || "";
+    /**
+     * 统计页点击跳转,将参数存在缓存中(缓存中有数据就给筛选项添加默认值)
+     */
+    if (!data) {
+      this.categoryList()
+      this.loadData()
+    } else {
+      this.setState({
+        projectStatusSearch: [Number(data)]
+      }, () => {
+        this.categoryList()
+        this.loadData()
+      })
+    }
   },
+
   componentDidMount() {
     this.setColor()
+    localStorage.removeItem('typeZxs')  // 组件挂载完清除缓存
   },
+
+  componentWillUnmount() {
+    localStorage.removeItem('typeZxs') // 组件销毁时清除缓存
+  },
+
   //用于判断 第三方信息表格显示
   projectTypeTabContent(projectType) {
     //0正常 1专利 2软著 3审计      this.state.startType 0外包 1供应商     外包时当普通单处理    projectType大于3的都用通用表格
@@ -3830,20 +3849,6 @@ const Task = React.createClass({
                   })
                 }}
               />
-              {/* <Select
-                                placeholder="选择部门"
-                                style={{ width: 200, marginRight: '10px' }}
-                                value={this.state.departmenttSearch}
-                                onChange={(e) => {
-                                    this.setState({ departmenttSearch: e })
-                                }}
-                            >
-                                {departmentArr.map(function (item) {
-                                    return (
-                                        <Select.Option key={item.id}>{item.name}</Select.Option>
-                                    )
-                                })}
-                            </Select> */}
               <Cascader
                 placeholder="项目状态"
                 style={{ width: 150, marginRight: '10px' }}

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

@@ -435,6 +435,11 @@ const MyTaskOutsource = React.createClass({
           key: "depName",
         },
         {
+          title: '服务年限',
+          dataIndex: 'serviceYear',
+          key: 'serviceYear',
+        },
+        {
           title: "累计工时(小时)",
           dataIndex: "hours",
           key: "hours",

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

@@ -103,6 +103,7 @@ const Task = React.createClass({
               splitStatus: thisdata.splitStatus, //是否为子项目 2是 1主项目
               splitSuper: thisdata.splitSuper,
               splitId: thisdata.splitId,
+              serviceYear:thisdata.serviceYear, //本次服务年限
             });
           }
         }
@@ -246,6 +247,11 @@ const Task = React.createClass({
           dataIndex: "depName",
           key: "depName",
         },
+        {
+          title: "服务年限",
+          dataIndex: "serviceYear",
+          key: "serviceYear",
+        },
       ],
       dataSource: [],
       searchTime: [],

+ 1 - 1
package.json

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