Browse Source

更改项目状态

HW 4 years ago
parent
commit
fba03d1755

+ 233 - 0
js/component/common/nowProjectStatus/index.jsx

@@ -0,0 +1,233 @@
+import React,{Component} from 'react';
+import {Button, DatePicker, Input, message, Modal, Radio} from "antd";
+import {
+    highTechColumns,//高新
+    highTechColumnsVIP,//高新会员
+    science,//科技
+    patent,//专利
+    currency,//软著和通用
+} from './type';
+import moment from "moment";
+import $ from "jquery";
+
+class NowProjectStatus extends Component{
+    constructor(props) {
+        super(props);
+        this.state={
+            projectStatus: parseInt(props.projectStatus),
+            list:
+                props.cSort === 3 ? science :
+                props.cSort === 6 ? highTechColumnsVIP :
+                props.projectType === 0 || props.projectType === 2 || props.projectType === 3 || props.projectType === 4 || props.projectType === 6?
+                    currency:
+                props.projectType === 1 ?
+                    patent:
+                props.projectType === 5 ?
+                    highTechColumns :
+                    [],//projectType  0 正常 1专利 2软著 3审计 4双软 5高新 6商标   cSort: 3 科技项目  6: 会员
+            dataInfor:Object.assign({},props.projectTypeJSON),
+            loading: false,
+        }
+    }
+
+    updateProjectStatus(){
+        let arr = this.state.list.filter(v=>v.id === this.state.projectStatus);
+        let dataInforLength  = this.state.dataInfor[this.state.projectStatus] ? Object.keys(this.state.dataInfor[this.state.projectStatus]).length : 0;
+        if(this.state.dataInfor[this.state.projectStatus] && this.state.dataInfor[this.state.projectStatus]['title']){
+            dataInforLength -= 1;
+        }
+        if(arr.length !== 0 && arr[0]['valueType'] && dataInforLength !== arr[0]['valueType'].length){
+            message.warning('有内容没有填写,请补充完整!')
+            return false;
+        }
+        this.setState({
+            loading: true,
+        })
+        let data = Object.assign({},this.state.dataInfor);
+        Object.keys(data).map(v=>{
+            if(Object.keys(data[v]).length === 0){
+                delete data[v];
+            }
+        })
+        if(data[this.state.projectStatus]){
+            data[this.state.projectStatus]['title'] =arr[0]['label'] || arr[0]['name'];
+        }
+        let obj = {
+            tid:this.props.tid,
+            projectStatus: this.state.projectStatus,
+            timeRecord: JSON.stringify(data)
+        }
+        if(arr[0]['valueType']){
+            //证书编号
+            let type = arr[0]['valueType'].filter(v=>v==='certificateNumber');
+            if(type.length > 0){
+                obj.certificateNumber = this.state.dataInfor[this.state.projectStatus]['certificateNumber']
+            }
+            //立项金额
+            let type1 = arr[0]['valueType'].filter(v=>v==='setUpAmount');
+            if(type1.length > 0){
+                obj.setUpAmount = this.state.dataInfor[this.state.projectStatus]['setUpAmount']
+            }
+        }
+        $.ajax({
+            url: globalConfig.context + '/api/admin/orderProject/updateProjectStatus',
+            method: 'post',
+            data: obj,
+        }).done(
+            function (data) {
+                this.setState({
+                    loading: false,
+                })
+                if (!data.error.length) {
+                    message.success('保存成功!');
+                    this.props.onPreservation(this.state.projectStatus);
+                } else {
+                    message.warning(data.error[0].message)
+                }
+            }.bind(this)
+        )
+    }
+
+    componentDidMount() {
+        /*旧数据处理
+        * endDate           完成时间      对应已提交时间     4
+        * acceptDate        受理时间      对应已推荐时间     6
+        * publicityDate     公示时间      对应已拟公示时间   8
+        * licenceDate       发证时间      对应已下证时间     10
+        * setUpAmount       立项金额                      18
+        * */
+        const {endDate,acceptDate,publicityDate,licenceDate,setUpAmount} = this.props.oldData;
+        if((!this.props.projectTypeJSON[4]) && endDate){
+            this.state.dataInfor[4]={title:'完成时间'};
+            this.state.dataInfor[4]['date'] = endDate;
+        }
+        if((!this.props.projectTypeJSON[6]) && acceptDate){
+            this.state.dataInfor[6]={title:'受理时间'};
+            this.state.dataInfor[6]['date'] = acceptDate;
+        }
+        if((!this.props.projectTypeJSON[8]) && publicityDate){
+            this.state.dataInfor[8]={title:'公示时间'};
+            this.state.dataInfor[8]['date'] = publicityDate;
+        }
+        if((!this.props.projectTypeJSON[10]) && licenceDate){
+            this.state.dataInfor[10]={title:'发证时间'};
+            this.state.dataInfor[10]['date'] = licenceDate;
+        }
+        if((!this.props.projectTypeJSON[18]) && setUpAmount){
+            this.state.dataInfor[18]={title:'立项金额'};
+            this.state.dataInfor[18]['setUpAmount'] = setUpAmount;
+        }
+        this.setState({
+            dataInfor: this.state.dataInfor,
+        })
+
+    }
+
+    render() {
+        return(
+            <Modal
+                className="customeDetails"
+                footer=""
+                title=""
+                width="700px"
+                visible={this.props.visible}
+                onOk={()=>{
+                    this.props.onCancel();
+                }}
+                onCancel={()=>{
+                    this.props.onCancel();
+                }}
+            >
+                <div>
+                    <div style={{
+                        paddingBottom: '15px',
+                        fontSize:'18px',
+                        fontWeight:"bolder",
+                    }}>
+                        项目状态:
+                    </div>
+                    <div>
+                        <Radio.Group
+                            style={{
+                                dispaly:'flex',
+                                flexRow:'column'
+                            }}
+                            value={parseInt(this.state.projectStatus)}
+                            onChange={(e) => {
+                                if(!this.state.dataInfor[e.target.value]){
+                                    this.state.dataInfor[e.target.value] = {};
+                                }
+                                this.state.dataInfor[this.state.projectStatus] = this.props.projectTypeJSON[this.state.projectStatus] || {};
+                                this.setState({
+                                    projectStatus: e.target.value,
+                                    dataInfor:this.state.dataInfor,
+                                });
+                            }}
+                        >
+                            {
+                                this.state.list.map((v,k)=>(
+                                    <div key={k} style={{paddingBottom:'15px'}}>
+                                        <Radio value={v.id}>{v.name}</Radio>
+                                        {
+                                            (v.valueType || []).map(d=>(
+                                                parseInt(this.state.projectStatus) !== parseInt(v.id) ?
+                                                    <span style={{marginRight:'15px'}}>{this.state.dataInfor[v.id] && this.state.dataInfor[v.id][d]}</span> :
+                                                d === 'date' ?
+                                                <DatePicker
+                                                    style={{ marginRight: '5px',width:'120px' }}
+                                                    showTime
+                                                    format="YYYY-MM-DD"
+                                                    onOk={() => {}}
+                                                    value={
+                                                        this.state.dataInfor[v.id][d] ? moment(this.state.dataInfor[v.id][d]) : null
+                                                    }
+                                                    onChange={(data, dataString) => {
+                                                        this.state.dataInfor[v.id][d] = dataString;
+                                                        this.setState({
+                                                            dataInfor:this.state.dataInfor,
+                                                        })
+                                                    }}
+                                                /> :
+                                                d === 'setUpAmount' || d === 'certificateNumber'? <Input
+                                                    placeholder={v.placeholder}
+                                                    value={this.state.dataInfor[v.id][d]}
+                                                    style={{ width: '120px',marginRight: '5px', }}
+                                                    onChange={(e) => {
+                                                        this.state.dataInfor[v.id][d] = e.target.value;
+                                                        this.setState({
+                                                            dataInfor:this.state.dataInfor,
+                                                        })
+                                                    }}
+                                                /> : null
+                                            ))
+                                        }
+                                        <span style={{color:'#f00',marginLeft:'15px'}}>{v.explain}</span>
+                                    </div>
+                                ))
+                            }
+                        </Radio.Group>
+                        <div style={{
+                            display:'flex',
+                            justifyContent:'center',
+                            paddingTop:'20px',
+                            paddingBottom: '20px',
+                        }}>
+                            <Button
+                                className="cancel"
+                                type="ghost"
+                                onClick={()=>{
+                                    this.updateProjectStatus();
+                                }}
+                            >
+                                保存
+                            </Button>
+                        </div>
+                        <div style={{textAlign:'center',color:'#f00'}}>注:请根据实际项目情况填写</div>
+                    </div>
+                </div>
+            </Modal>
+        )
+    }
+}
+
+export default NowProjectStatus;

+ 288 - 0
js/component/common/nowProjectStatus/type.jsx

@@ -0,0 +1,288 @@
+// 高新会员
+const highTechColumnsVIP =[
+    {
+        id:1,
+        name:'进行中',
+    },
+    {
+        id:2,
+        name:'暂停(客户通知暂停)',
+        valueType:['date']
+    },
+    {
+        id:3,
+        name:'暂停(业务线通知暂停)',
+        valueType:['date']
+    },
+    {
+        id:21,
+        name:'第1年进行中',
+        valueType:['date']
+    },
+    {
+        id:22,
+        name:'第1年服务完成',
+        valueType:['date']
+    },
+    {
+        id:23,
+        name:'第2年进行中',
+        valueType:['date']
+    },
+    {
+        id:24,
+        name:'第2年服务完成',
+        valueType:['date']
+    },
+    {
+        id:25,
+        name:'第3年进行中',
+        valueType:['date'],
+    },
+    {
+        id:26,
+        name:'第3年服务完成',
+        valueType:['date']
+    },
+    {
+        id:27,
+        name:'所有会员服务全部完成',
+        valueType:['date'],
+        placeholder:'请输入编号'
+    },
+    {
+        id:11,
+        name:'退单(已申报)',
+        valueType:['date']
+    },
+    {
+        id:12,
+        name:'退单(未申报)',
+        valueType:['date']
+    }
+]
+//高新
+const highTechColumns =[
+    {
+        id:1,
+        name:'进行中',
+    },
+    {
+        id:2,
+        name:'暂停(客户通知暂停)',
+        valueType:['date']
+    },
+    {
+        id:3,
+        name:'暂停(业务线通知暂停)',
+        valueType:['date']
+    },
+    {
+        id:4,
+        name:'已提交',
+        valueType:['date']
+    },
+    {
+        id:5,
+        name:'未推荐',
+        valueType:['date']
+    },
+    {
+        id:6,
+        name:'已推荐',
+        valueType:['date']
+    },
+    {
+        id:7,
+        name:'未拟公示',
+        valueType:['date']
+    },
+    {
+        id:8,
+        name:'已拟公示',
+        valueType:['date'],
+    },
+    {
+        id:28,
+        name:'抽查未备案',
+        valueType:['date'],
+    },
+    {
+        id:9,
+        name:'已备案',
+        valueType:['date']
+    },
+    {
+        id:10,
+        name:'已下证,已出高新证书编号,编号',
+        label:'下证时间',
+        valueType:['certificateNumber','date'],
+        placeholder:'请输入编号'
+    },
+    {
+        id:11,
+        name:'退单(已申报)',
+        valueType:['date']
+    },
+    {
+        id:12,
+        name:'退单(未申报)',
+        valueType:['date']
+    }
+];
+
+//科技
+const science = [
+    {
+        id:1,
+        name:'进行中',
+    },
+    {
+        id:2,
+        name:'暂停(客户通知暂停)',
+        valueType:['date']
+    },
+    {
+        id:3,
+        name:'暂停(业务线通知暂停)',
+        valueType:['date']
+    },
+    {
+        id:4,
+        name:'已提交',
+        valueType:['date']
+    },
+    {
+        id:5,
+        name:'未推荐',
+        valueType:['date']
+    },
+    {
+        id:6,
+        name:'已推荐',
+        valueType:['date']
+    },
+    {
+        id:13,
+        name:'已答辩',
+        valueType:['date']
+    },
+    {
+        id:14,
+        name:'未立项',
+        valueType:['date']
+    },
+    {
+        id:15,
+        name:'已立项',
+        valueType:['date'],
+    },
+    {
+        id:16,
+        name:'前补助',
+        valueType:['date']
+    },
+    {
+        id:17,
+        name:'后补助',
+        valueType:['date']
+    },
+    {
+        id:18,
+        name:'已拨款,金额(万元)',
+        valueType:['setUpAmount','date'],
+    },
+    {
+        id:11,
+        name:'退单(已申报)',
+        valueType:['date']
+    },
+    {
+        id:12,
+        name:'退单(未申报)',
+        valueType:['date']
+    }
+];
+
+const patent = [
+    {
+        id:1,
+        name:'进行中',
+    },
+    {
+        id:2,
+        name:'暂停(客户通知暂停)',
+        valueType:['date']
+    },
+    {
+        id:3,
+        name:'暂停(业务线通知暂停)',
+        valueType:['date']
+    },
+    {
+        id:4,
+        name:'已提交',
+        valueType:['date'],
+    },
+    {
+        id:19,
+        name:'已完成/下证',
+        valueType:['date'],
+    },
+    {
+        id:20,
+        name:'已驳回',
+        valueType:['date']
+    },
+    {
+        id:11,
+        name:'退单(已申报)',
+        valueType:['date']
+    },
+    {
+        id:12,
+        name:'退单(未申报)',
+        valueType:['date']
+    }
+];
+
+//软著/通用
+const currency = [
+    {
+        id:1,
+        name:'进行中',
+    },
+    {
+        id:2,
+        name:'暂停(客户通知暂停)',
+        valueType:['date']
+    },
+    {
+        id:3,
+        name:'暂停(业务线通知暂停)',
+        valueType:['date']
+    },
+    {
+        id:4,
+        name:'已提交',
+        valueType:['date'],
+    },
+    {
+        id:19,
+        name:'已完成/下证',
+        valueType:['date'],
+    },
+    {
+        id:20,
+        name:'已驳回',
+        valueType:['date']
+    },
+];
+
+export {
+    highTechColumns,//高新
+    highTechColumnsVIP,//高新会员
+    science,//科技
+    patent,//专利
+    currency,//软著和同意
+}

+ 376 - 0
js/component/dataDic.js

@@ -2924,6 +2924,267 @@ module.exports = {
       key: "未知",
     },
   ],
+  //项目状态层级选择
+  projectStatusCascader:[
+    {
+      value: '高新',
+      label: '高新',
+      children:[
+        {
+          value:0,
+          label:'未启动',
+        },
+        {
+          value:1,
+          label:'进行中',
+        },
+        {
+          value:2,
+          label:'暂停(客户通知暂停)',
+        },
+        {
+          value:3,
+          label:'暂停(业务线通知暂停)',
+        },
+        {
+          value:4,
+          label:'已提交',
+        },
+        {
+          value:5,
+          label:'未推荐',
+        },
+        {
+          value:6,
+          label:'已推荐',
+        },
+        {
+          value:7,
+          label:'未公示',
+        },
+        {
+          value:8,
+          label:'已公示',
+        },
+        {
+          value:9,
+          label:'已备案',
+        },
+        {
+          value:10,
+          label:'已下注',
+        },
+        {
+          value:11,
+          label:'退单(已申报)',
+        },
+        {
+          value:12,
+          label:'退单(未申报)',
+        }
+      ]
+    },
+    {
+      value: '科技',
+      label: '科技',
+      children:[
+        {
+          value:0,
+          label:'未启动',
+        },
+        {
+          value:1,
+          label:'进行中',
+        },
+        {
+          value:2,
+          label:'暂停(客户通知暂停)',
+        },
+        {
+          value:3,
+          label:'暂停(业务线通知暂停)',
+        },
+        {
+          value:4,
+          label:'已提交',
+        },
+        {
+          value:5,
+          label:'未推荐',
+        },
+        {
+          value:6,
+          label:'已推荐',
+        },
+        {
+          value:13,
+          label:'已答辩',
+        },
+        {
+          value:14,
+          label:'未立项',
+        },
+        {
+          value:15,
+          label:'已立项',
+        },
+        {
+          value:16,
+          label:'前补助',
+        },
+        {
+          value:17,
+          label:'后补助',
+        },
+        {
+          value:18,
+          label:'已拨款,金额(万元)',
+        },
+        {
+          value:11,
+          label:'退单(已申报)',
+        },
+        {
+          value:12,
+          label:'退单(未申报)',
+        }
+      ]
+    },
+    {
+      value: '专利',
+      label: '专利',
+      children:[
+        {
+          value:0,
+          label:'未启动',
+        },
+        {
+          value:1,
+          label:'进行中',
+        },
+        {
+          value:2,
+          label:'暂停(客户通知暂停)',
+        },
+        {
+          value:3,
+          label:'暂停(业务线通知暂停)',
+        },
+        {
+          value:4,
+          label:'已提交',
+        },
+        {
+          value:19,
+          label:'已完成/下证',
+        },
+        {
+          value:20,
+          label:'已驳回',
+        },
+        {
+          value:11,
+          label:'退单(已申报)',
+        },
+        {
+          value:12,
+          label:'退单(未申报)',
+        }
+      ]
+    },
+    {
+      value: '通用',
+      label: '通用',
+      children:[
+        {
+          value:0,
+          label:'未启动',
+        },
+        {
+          value:1,
+          label:'进行中',
+        },
+        {
+          value:2,
+          label:'暂停(客户通知暂停)',
+        },
+        {
+          value:3,
+          label:'暂停(业务线通知暂停)',
+        },
+        {
+          value:4,
+          label:'已提交',
+        },
+        {
+          value:19,
+          label:'已完成/下证',
+        },
+        {
+          value:20,
+          label:'已驳回',
+        },
+      ]
+    },
+    {
+      value: '会员',
+      label: '会员',
+      children:[
+        {
+          value:0,
+          label:'未启动',
+        },
+        {
+          value:1,
+          label:'进行中',
+        },
+        {
+          value:2,
+          label:'暂停(客户通知暂停)',
+        },
+        {
+          value:3,
+          label:'暂停(业务线通知暂停)',
+        },
+        {
+          value:21,
+          label:'第1年进行中',
+        },
+        {
+          value:22,
+          label:'第1年服务完成',
+        },
+        {
+          value:23,
+          label:'第2年进行中',
+        },
+        {
+          value:24,
+          label:'第2年服务完成',
+        },
+        {
+          value:25,
+          label:'第3年进行中',
+        },
+        {
+          value:26,
+          label:'第3年服务完成',
+        },
+        {
+          value:27,
+          label:'所有会员服务全部完成',
+        },
+        {
+          value:11,
+          label:'退单(已申报)',
+        },
+        {
+          value:12,
+          label:'退单(未申报)',
+        }
+      ]
+    },
+  ],
   //项目状态
   projectStatus: [
     {
@@ -3467,4 +3728,119 @@ module.exports = {
       ],
     },
   ],
+//  项目状态列表
+  projectStatusList:[
+    {
+      value:0,
+      label:'未启动',
+    },
+    {
+      value:1,
+      label:'进行中',
+    },
+    {
+      value:2,
+      label:'暂停(客户通知暂停)',
+    },
+    {
+      value:3,
+      label:'暂停(业务线通知暂停)',
+    },
+    {
+      value:4,
+      label:'已提交',
+    },
+    {
+      value:5,
+      label:'未推荐',
+    },
+    {
+      value:6,
+      label:'已推荐',
+    },
+    {
+      value:7,
+      label:'未公示',
+    },
+    {
+      value:8,
+      label:'已公示',
+    },
+    {
+      value:9,
+      label:'已备案',
+    },
+    {
+      value:10,
+      label:'已下证',
+    },
+    {
+      value:11,
+      label:'退单(已申报)',
+    },
+    {
+      value:12,
+      label:'退单(未申报)',
+    },
+    {
+      value:13,
+      label:'已答辩',
+    },
+    {
+      value:14,
+      label:'未立项',
+    },
+    {
+      value:15,
+      label:'已立项',
+    },
+    {
+      value:16,
+      label:'前补助',
+    },
+    {
+      value:17,
+      label:'后补助',
+    },
+    {
+      value:18,
+      label:'立项已拨款',
+    },
+    {
+      value:19,
+      label:'已完成/下证',
+    },
+    {
+      value:20,
+      label:'已驳回',
+    },
+    {
+      value:21,
+      label:'第1年进行中',
+    },
+    {
+      value:22,
+      label:'第1年服务完成',
+    },
+    {
+      value:23,
+      label:'第2年进行中',
+    },
+    {
+      value:24,
+      label:'第2年服务完成',
+    },
+    {
+      value:25,
+      label:'第3年进行中',
+    },
+    {
+      value:26,
+      label:'第3年服务完成',
+    },
+    {
+      value:27,
+      label:'所有会员服务全部完成',
+    },
+  ]
 };

+ 2 - 2
js/component/manageCenter/order/orderNew/addService.jsx

@@ -100,8 +100,8 @@ const NewService = Form.create()(
                 type: thisdata.type,
                 officialCost: thisdata.officialCost,
                 costReduction: thisdata.costReduction,
-                declarationBatch: thisdata.declarationBatch,//申报批次
-                ifCertificationFee: String(thisdata.ifCertificationFee),//是否包含申报批次
+                declarationBatch: thisdata.declarationBatch || undefined,//申报批次
+                ifCertificationFee: thisdata.ifCertificationFee ? String(thisdata.ifCertificationFee) : undefined,//是否包含申报批次
               });
             }
           }

+ 220 - 435
js/component/manageCenter/project/task/myTask.jsx

@@ -23,7 +23,6 @@ import {Button,
   Col,
   Icon,
   Upload,
-  AutoComplete,
   Tag, Row,
 } from 'antd'
 import Assign from '@/manageCenter/publicComponent/assign'
@@ -41,16 +40,19 @@ import {getMaterialStatus,
   splitUrl,
   getboutique,
   ShowModal,
-  getRefundStatus,} from '@/tools'
-import { taskStatus, projectStatus, cuiJieDian } from '@/dataDic.js'
-import ShowModalDiv from '@/showModal.jsx'
+  getRefundStatus,
+  getProjectName} from '@/tools'
+import { taskStatus, projectStatus, cuiJieDian,projectStatusCascader } from '@/dataDic.js'
+import ShowModalDiv from '@/showModal.jsx';
+import NowProjectStatus from '../../../common/nowProjectStatus'
 
 import CheckProject from '../../components/checkProject';
 import NewSupplier from './newSupplier';
 import ImgList from "../../../common/imgList";
 import OperationPayNode from "./operationPayNode";
 import PatentSchedule from './patentSchedule';
-import {object} from "prop-types";
+import {number, object} from "prop-types";
+import {currency, highTechColumns, highTechColumnsVIP, patent, science} from "../../../common/nowProjectStatus/type";
 const confirm = Modal.confirm
 const FormItem = Form.Item
 const { TabPane } = Tabs
@@ -116,7 +118,7 @@ const Task = React.createClass({
         contractNo: this.state.contractNoSearch, //合同编号
         taskId: this.state.taskNoSearch, //项目编号
         taskStatus: this.state.taskStatuSearch, //项目状态
-        projectStatus: this.state.projectStatusSearch, //项目状态
+        projectStatus: this.state.projectStatusSearch ? this.state.projectStatusSearch[1] || undefined : undefined, //项目状态
         adminName: this.state.adminName, //项目受理人
         approval: this.state.approvalSearch, //特批状态搜索
         outsourceStatus:
@@ -182,6 +184,7 @@ const Task = React.createClass({
       payNodeQuantity: 1,
       thirdRemarks: '',
       customerArr: [],
+      timeRecordparse:{},
       currentTotalPrice: 0, //当前修改页面的总价
       saveThirdList: [],
       orderData: [],
@@ -1424,7 +1427,7 @@ const Task = React.createClass({
     // this.payNodeTable(record.id);
     //查看外包状态日志
     this.getSelectOutsourceLog(record.id);
-    this.projectTypeTabContent(record.projectType)
+    this.projectTypeTabContent(record.projectType);
   },
   //点击修改项目详情
   tijiaoOk(status='',fn) {
@@ -1450,7 +1453,7 @@ const Task = React.createClass({
       data: {
         id: this.state.id, //项目编号
         orderNo: this.state.orderNo, //订单编号
-        projectStatus: this.state.projectStatus, //项目状态
+        projectStatus: status || this.state.projectStatus, //项目状态
         taskStatus: this.state.taskStatus, //项目状态
         taskComment: this.state.taskComment, //说明
         startDate: this.state.startDate, //启动日期
@@ -1465,7 +1468,7 @@ const Task = React.createClass({
         legalPerson: this.state.legalPerson, //法人
         legalPersonTel: this.state.legalPersonTel, //法人电话
         certificateNumber: this.state.certificateNumber, //证书编号
-        status: status || this.state.status, //状态
+        status: this.state.status, //状态
         formRetrieve: this.state.formRetrieve, //满意度表格
         taskRefund: this.state.taskRefund, //退单
         refundContent: this.state.refundContent, //退单信息
@@ -1604,7 +1607,6 @@ const Task = React.createClass({
             legalPersonTel: thisdata.legalPersonTel, //法人电话
             certificateNumber: thisdata.certificateNumber, //证书编号
             status: thisdata.status, //状态  0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
-            modifyProjectStatus: thisdata.status,
             formRetrieve: thisdata.formRetrieve, //满意度表格
             taskRefund: thisdata.taskRefund, //退单
             refundContent: thisdata.refundContent, //退单信息
@@ -1629,6 +1631,8 @@ const Task = React.createClass({
             certificatesCount:thisdata.certificatesCount, //授权数
             rejectCount:thisdata.rejectCount,       //驳回数
             commodityQuantity:thisdata.commodityQuantity, //派单项目数
+            timeRecord: thisdata.timeRecord || '{}',//项目状态JSON
+            timeRecordparse: thisdata.timeRecord ? JSON.parse(thisdata.timeRecord) : {},//项目状态JSON
           })
         }
       }.bind(this),
@@ -2055,7 +2059,7 @@ const Task = React.createClass({
         contractNoSearch : undefined,
         taskNoSearch : '',
         departmenttSearch : undefined,
-        projectStatusSearch : undefined, //项目状态
+        projectStatusSearch : [], //项目状态
         approvalSearch : undefined,
         outsourceStatusSearch : [],
       })
@@ -2106,8 +2110,9 @@ const Task = React.createClass({
       setUpStatus: '',
       setUpTime: '',
       highTechStatus: '',
+    },()=>{
+        this.loadData(flag ? '' : this.state.page)
     })
-    this.loadData(flag ? '' : this.state.page)
   },
   searchSwitch() {
     this.setState({
@@ -2909,6 +2914,29 @@ const Task = React.createClass({
       ThirdListVisible: true,
     })
   },
+  updateProjectStatus(projectStatus,fn){
+    $.ajax({
+      url: globalConfig.context + '/api/admin/orderProject/updateProjectStatus',
+      method: 'post',
+      data: {
+        tid:this.state.tid,
+        projectStatus: projectStatus,
+        timeRecord: '{}'
+      },
+    }).done(
+        function (data) {
+          if (!data.error.length) {
+            this.setState({
+              timeRecordparse: {},
+            })
+            message.success('保存成功!');
+            fn();
+          } else {
+            message.warning(data.error[0].message)
+          }
+        }.bind(this)
+    )
+  },
   // 新增支付节点
   addPayNode() {
     this.setState({
@@ -3339,21 +3367,32 @@ const Task = React.createClass({
                   )
                 })}
               </Select>
-              <Select
-                placeholder="项目状态"
-                style={{ width: 150, marginRight: '10px' }}
-                value={this.state.projectStatusSearch}
-                onChange={(e) => {
-                  this.setState({ projectStatusSearch: e })
-                  console.log(this.state.projectStatusSearch)
-                }}
-              >
-                {projectStatus.map(function (item) {
-                  return (
-                    <Select.Option key={item.value}>{item.key}</Select.Option>
-                  )
-                })}
-              </Select>
+              <Cascader
+                  placeholder="项目状态"
+                  style={{ width: 150, marginRight: '10px' }}
+                  options={projectStatusCascader}
+                  value={this.state.projectStatusSearch}
+                  onChange={(e)=>{
+                      this.setState({
+                          projectStatusSearch: e
+                      })
+                  }}
+              />
+              {/*<Select*/}
+              {/*  */}
+              {/* */}
+              {/*  value={this.state.projectStatusSearch}*/}
+              {/*  onChange={(e) => {*/}
+              {/*    this.setState({ projectStatusSearch: e })*/}
+              {/*    console.log(this.state.projectStatusSearch)*/}
+              {/*  }}*/}
+              {/*>*/}
+              {/*  {projectStatus.map(function (item) {*/}
+              {/*    return (*/}
+              {/*      <Select.Option key={item.value}>{item.key}</Select.Option>*/}
+              {/*    )*/}
+              {/*  })}*/}
+              {/*</Select>*/}
               <Select
                 placeholder="特批状态"
                 style={{ width: 150, marginRight: '10px' }}
@@ -3546,7 +3585,7 @@ const Task = React.createClass({
               inset:'-15px',
               zIndex: 1000,
               //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
-              display: this.state.status === 0 ? 'flex' : 'none',
+              display: parseInt(this.state.projectStatus) === 0 ? 'flex' : 'none',
               justifyContent:'center',
               paddingTop: '300px',
               background: 'rgba(0,0,0,0.7)',
@@ -3558,7 +3597,7 @@ const Task = React.createClass({
                   size='large'
                   onClick={()=>{
                     //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
-                    this.tijiaoOk(1,()=>{
+                    this.updateProjectStatus(1,()=>{
                       this.xiangqing(this.state.id)
                     });
                   }}>
@@ -3609,37 +3648,13 @@ const Task = React.createClass({
                       <FormItem
                         className="half-item"
                         {...formItemLayout}
-                        label="当前项目情况"
+                        label="项目状态"
                       >
-                        {/*<Radio.Group*/}
-                        {/*  value={this.state.status}*/}
-                        {/*  onChange={(e) => {*/}
-                        {/*    this.setState({ status: e.target.value })*/}
-                        {/*  }}*/}
-                        {/*>*/}
-                        {/*  <Radio value={0}>开启</Radio>*/}
-                        {/*  <Radio value={1}>暂停</Radio>*/}
-                        {/*</Radio.Group>*/}
-                        {/*<Button*/}
-                        {/*  type="primary"*/}
-                        {/*  size="small"*/}
-                        {/*  style={{ marginTop: '5px', position: 'absolute' }}*/}
-                        {/*  onClick={this.caozuorizhi}*/}
-                        {/*>*/}
-                        {/*  操作日志*/}
-                        {/*</Button>*/}
-                        {/*0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单*/}
                         {
-                          this.state.status === 0 ? '未开始':
-                              this.state.status === 1 ? '进行中':
-                                  this.state.status === 2 ? '已暂停':
-                                      this.state.status === 3 ? '已驳回(专利、软著项目编写)':
-                                          this.state.status === 4 ? '已完成':
-                                              this.state.status === 5 ? '项目已完成 已退单':
-                                                  this.state.status === 6 ? '项目未完成 已退单': ''
+                          getProjectName(parseInt(this.state.projectStatus))
                         }
                         {
-                          this.state.status !== 0 ? <Button
+                          this.state.projectStatus !== 0 ? <Button
                               type="primary"
                               size="small"
                               style={{ marginTop: "5px" }}
@@ -3673,28 +3688,6 @@ const Task = React.createClass({
                       <FormItem
                         className="half-item"
                         {...formItemLayout}
-                        label="项目状态"
-                      >
-                        <Select
-                          placeholder="选择项目状态"
-                          style={{ width: '200px' }}
-                          value={this.state.projectStatus}
-                          onChange={(e) => {
-                            this.setState({ projectStatus: e })
-                          }}
-                        >
-                          {projectStatus.map(function (item) {
-                            return (
-                              <Select.Option key={item.value}>
-                                {item.key}
-                              </Select.Option>
-                            )
-                          })}
-                        </Select>
-                      </FormItem>
-                      <FormItem
-                        className="half-item"
-                        {...formItemLayout}
                         label="是否特批"
                       >
                         <span>{getApproval(this.state.approval)}</span>
@@ -4153,17 +4146,7 @@ const Task = React.createClass({
                         {...formItemLayout}
                         label="证书编号"
                       >
-                        <Input
-                          placeholder="请输入证书编号"
-                          value={this.state.certificateNumber}
-                          style={{ width: '200px' }}
-                          onChange={(e) => {
-                            this.setState({
-                              certificateNumber: e.target.value,
-                            })
-                          }}
-                          ref="commodityQuantity"
-                        />
+                        {this.state.certificateNumber}
                       </FormItem>
                     </div>
                     <div className="clearfix">
@@ -4248,6 +4231,50 @@ const Task = React.createClass({
                                     />
                                 </div> :
                       <div>
+                        <div style={{display:'flex',flexFlow:'row wrap',marginLeft: '11px',marginTop:'20px'}}>
+                          {this.state.startDate ? <div style={{marginRight:'30px',marginBottom:'15px'}}>
+                            <span style={{marginRight:'15px'}}>启动时间:</span>
+                            <span>{this.state.startDate}</span>
+                          </div> : null}
+
+                          {/*旧数据处理*/}
+                          {/* endDate           完成时间      对应已提交时间     4*/}
+                          {/* acceptDate        受理时间      对应已推荐时间     6*/}
+                          {/* publicityDate     公示时间      对应已拟公示时间   8*/}
+                          {/* licenceDate       发证时间      对应已下证时间     10*/}
+                          {/* setUpAmount       立项金额                      18*/}
+                          {
+                            this.state.timeRecordparse && Object.keys(this.state.timeRecordparse).map(v=>(
+                                <div style={{marginRight:'30px',marginBottom:'15px'}}>
+                                  <span style={{marginRight:'15px'}}>{this.state.timeRecordparse[v]['title']}:</span>
+                                  <span>
+                                    {v === '18' ?
+                                        this.state.timeRecordparse[v]['setUpAmount']:
+                                        v === '10' ?
+                                            this.state.timeRecordparse[v]['certificateNumber']:
+                                            this.state.timeRecordparse[v]['date']
+                                    }
+                                  </span>
+                                </div>
+                            ))
+                          }
+                          {
+                            [
+                              {id:4,name:'完成时间',value:this.state.endDate},
+                              {id:6,name:'受理时间',value:this.state.acceptDate},
+                              {id:8,name:'公示时间',value:this.state.publicityDate},
+                              {id:10,name:'发证时间',value:this.state.licenceDate},
+                              {id:18,name:'立项金额',value:this.state.setUpAmount}
+                            ].map(v=>(
+                                !this.state.timeRecordparse[parseInt(v.id)] && v.value && <div style={{marginRight:'30px',marginBottom:'15px'}}>
+                                  <span style={{marginRight:'15px'}}>{v.name}:</span>
+                                  <span>{v.value}</span>
+                                </div>
+                            ))
+                          }
+                        </div>
+
+
                           {/*高新显示  bpType: 0 正常 1专利 2软著 3审计 4双软 5高新 6商标*/}
                           {this.state.bpType === 5 ?  <FormItem
                               className="half-item"
@@ -4332,165 +4359,6 @@ const Task = React.createClass({
                           <FormItem
                             className="half-item"
                             {...formItemLayout}
-                            label="启动时间"
-                          >
-                            <DatePicker
-                              style={{
-                                marginTop: '2px',
-                                width: '200px',
-                                height: '32px',
-                              }}
-                              showTime
-                              format="YYYY-MM-DD"
-                              onOk={() => {}}
-                              value={
-                                this.state.startDate
-                                  ? moment(this.state.startDate)
-                                  : null
-                              }
-                              onChange={(data, dataString) => {
-                                this.setState({ startDate: dataString })
-                              }}
-                            />
-                          </FormItem>
-                          <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="完成时间"
-                          >
-                            <DatePicker
-                              style={{
-                                marginTop: '2px',
-                                width: '200px',
-                                height: '32px',
-                              }}
-                              showTime
-                              format="YYYY-MM-DD"
-                              onOk={() => {}}
-                              value={
-                                this.state.endDate
-                                  ? moment(this.state.endDate)
-                                  : null
-                              }
-                              onChange={(data, dataString) => {
-                                this.setState({ endDate: dataString })
-                              }}
-                            />
-                          </FormItem>
-                          <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="受理时间"
-                          >
-                            <DatePicker
-                              style={{
-                                marginTop: '2px',
-                                width: '200px',
-                                height: '32px',
-                              }}
-                              showTime
-                              format="YYYY-MM-DD"
-                              onOk={() => {}}
-                              value={
-                                this.state.acceptDate
-                                  ? moment(this.state.acceptDate)
-                                  : null
-                              }
-                              onChange={(data, dataString) => {
-                                this.setState({ acceptDate: dataString })
-                              }}
-                            />
-                          </FormItem>
-                          <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="评审时间"
-                          >
-                            <DatePicker
-                              style={{
-                                marginTop: '2px',
-                                width: '200px',
-                                height: '32px',
-                              }}
-                              showTime
-                              format="YYYY-MM-DD"
-                              onOk={() => {}}
-                              value={
-                                this.state.reviewDate
-                                  ? moment(this.state.reviewDate)
-                                  : null
-                              }
-                              onChange={(data, dataString) => {
-                                this.setState({ reviewDate: dataString })
-                              }}
-                            />
-                          </FormItem>
-                          <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="公示时间"
-                          >
-                            <DatePicker
-                              style={{
-                                marginTop: '2px',
-                                width: '200px',
-                                height: '32px',
-                              }}
-                              showTime
-                              format="YYYY-MM-DD"
-                              onOk={() => {}}
-                              value={
-                                this.state.publicityDate
-                                  ? moment(this.state.publicityDate)
-                                  : null
-                              }
-                              onChange={(data, dataString) => {
-                                this.setState({ publicityDate: dataString })
-                              }}
-                            />
-                          </FormItem>
-                          <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="发证时间"
-                          >
-                            <DatePicker
-                              style={{
-                                marginTop: '2px',
-                                width: '200px',
-                                height: '32px',
-                              }}
-                              showTime
-                              format="YYYY-MM-DD"
-                              onOk={() => {}}
-                              value={
-                                this.state.licenceDate
-                                  ? moment(this.state.licenceDate)
-                                  : null
-                              }
-                              onChange={(data, dataString) => {
-                                this.setState({ licenceDate: dataString })
-                              }}
-                            />
-                          </FormItem>
-                          <FormItem
-                            className="half-item"
-                            {...formItemLayout}
-                            label="立项金额(万元)"
-                          >
-                            <Input
-                              placeholder="请输入立项金额"
-                              value={this.state.setUpAmount}
-                              style={{ width: '200px' }}
-                              onChange={(e) => {
-                                this.setState({ setUpAmount: e.target.value })
-                              }}
-                              ref="commodityQuantity"
-                            />
-                          </FormItem>
-                          <FormItem
-                            className="half-item"
-                            {...formItemLayout}
                             label="是否到款"
                           >
                             <Radio.Group
@@ -5389,8 +5257,7 @@ const Task = React.createClass({
               position: "absolute",
               inset:'-15px',
               zIndex: 1000,
-              //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
-              display: this.state.status === 0 ? 'flex' : 'none',
+              display: parseInt(this.state.projectStatus) === 0 ? 'flex' : 'none',
               justifyContent:'center',
               paddingTop: '300px',
               background: 'rgba(0,0,0,0.7)',
@@ -5402,7 +5269,7 @@ const Task = React.createClass({
                   size='large'
                   onClick={()=>{
                     //0未开始 1已开始 2已暂停 3已完成 4已驳回 5已退单
-                    this.tijiaoOk(1,()=>{
+                    this.updateProjectStatus(1,()=>{
                       this.xiangqing(this.state.id)
                     });
                   }}>
@@ -5433,30 +5300,15 @@ const Task = React.createClass({
             <TabPane tab="项目概况" key="1">
               <div className="clearfix">
                 <FormItem
-                  className="half-item"
-                  {...formItemLayout}
-                  label="当前项目情况"
+                    className="half-item"
+                    {...formItemLayout}
+                    label="项目状态"
                 >
-                  {/*<Radio.Group*/}
-                  {/*  value={this.state.status}*/}
-                  {/*  onChange={(e) => {*/}
-                  {/*    this.setState({ status: e.target.value })*/}
-                  {/*  }}*/}
-                  {/*>*/}
-                  {/*  <Radio value={0}>开启</Radio>*/}
-                  {/*  <Radio value={1}>暂停</Radio>*/}
-                  {/*</Radio.Group>*/}
                   {
-                    this.state.status === 0 ? '未开始':
-                        this.state.status === 1 ? '进行中':
-                            this.state.status === 2 ? '已暂停':
-                                this.state.status === 3 ? '已驳回(专利、软著项目编写)':
-                                    this.state.status === 4 ? '已完成':
-                                        this.state.status === 5 ? '项目已完成 已退单':
-                                            this.state.status === 6 ? '项目未完成 已退单': ''
+                    getProjectName(parseInt(this.state.projectStatus))
                   }
                   {
-                    this.state.status !== 0 ? <Button
+                    this.state.projectStatus !== 0 ? <Button
                         type="primary"
                         size="small"
                         style={{ marginTop: "5px" }}
@@ -5470,10 +5322,10 @@ const Task = React.createClass({
                     </Button> : null
                   }
                   <Button
-                    type="primary"
-                    size="small"
-                    style={{ marginTop: '5px', position: 'absolute' }}
-                    onClick={this.caozuorizhi}
+                      type="primary"
+                      size="small"
+                      style={{ marginTop: "5px", position: "absolute" }}
+                      onClick={this.caozuorizhi}
                   >
                     操作日志
                   </Button>
@@ -5487,28 +5339,28 @@ const Task = React.createClass({
                 </FormItem>
               </div>
               <div className="clearfix">
-                <FormItem
-                  className="half-item"
-                  {...formItemLayout}
-                  label="项目状态"
-                >
-                  <Select
-                    placeholder="选择项目状态"
-                    style={{ width: '200px' }}
-                    value={this.state.projectStatus}
-                    onChange={(e) => {
-                      this.setState({ projectStatus: e })
-                    }}
-                  >
-                    {projectStatus.map(function (item) {
-                      return (
-                        <Select.Option key={item.value}>
-                          {item.key}
-                        </Select.Option>
-                      )
-                    })}
-                  </Select>
-                </FormItem>
+                {/*<FormItem*/}
+                {/*  className="half-item"*/}
+                {/*  {...formItemLayout}*/}
+                {/*  label="项目状态"*/}
+                {/*>*/}
+                {/*  <Select*/}
+                {/*    placeholder="选择项目状态"*/}
+                {/*    style={{ width: '200px' }}*/}
+                {/*    value={this.state.projectStatus}*/}
+                {/*    onChange={(e) => {*/}
+                {/*      this.setState({ projectStatus: e })*/}
+                {/*    }}*/}
+                {/*  >*/}
+                {/*    {projectStatus.map(function (item) {*/}
+                {/*      return (*/}
+                {/*        <Select.Option key={item.value}>*/}
+                {/*          {item.key}*/}
+                {/*        </Select.Option>*/}
+                {/*      )*/}
+                {/*    })}*/}
+                {/*  </Select>*/}
+                {/*</FormItem>*/}
                 <FormItem
                   className="half-item"
                   {...formItemLayout}
@@ -5905,15 +5757,7 @@ const Task = React.createClass({
                   {...formItemLayout}
                   label="证书编号"
                 >
-                  <Input
-                    placeholder="请输入证书编号"
-                    value={this.state.certificateNumber}
-                    style={{ width: '200px' }}
-                    onChange={(e) => {
-                      this.setState({ certificateNumber: e.target.value })
-                    }}
-                    ref="commodityQuantity"
-                  />
+                  {this.state.certificateNumber}
                 </FormItem>
               </div>
               <div className="clearfix" style={{ marginTop: '10px' }}>
@@ -5963,6 +5807,48 @@ const Task = React.createClass({
               </div>
               <div className="clearfix">
                 <h3 className="sub-title">项目申报进度</h3>
+                <div style={{display:'flex',flexFlow:'row wrap',marginLeft: '11px',marginTop:'20px'}}>
+                  {this.state.startDate ? <div style={{marginRight:'30px',marginBottom:'15px'}}>
+                    <span style={{marginRight:'15px'}}>启动时间:</span>
+                    <span>{this.state.startDate}</span>
+                  </div> : null}
+
+                  {/*旧数据处理*/}
+                  {/* endDate           完成时间      对应已提交时间     4*/}
+                  {/* acceptDate        受理时间      对应已推荐时间     6*/}
+                  {/* publicityDate     公示时间      对应已拟公示时间   8*/}
+                  {/* licenceDate       发证时间      对应已下证时间     10*/}
+                  {/* setUpAmount       立项金额                      18*/}
+                  {
+                    this.state.timeRecordparse && Object.keys(this.state.timeRecordparse).map(v=>(
+                        <div style={{marginRight:'30px',marginBottom:'15px'}}>
+                          <span style={{marginRight:'15px'}}>{this.state.timeRecordparse[v]['title']}:</span>
+                          <span>
+                                    {v === '18' ?
+                                        this.state.timeRecordparse[v]['setUpAmount']:
+                                        v === '10' ?
+                                            this.state.timeRecordparse[v]['certificateNumber']:
+                                            this.state.timeRecordparse[v]['date']
+                                    }
+                                  </span>
+                        </div>
+                    ))
+                  }
+                  {
+                    [
+                      {id:4,name:'完成时间',value:this.state.endDate},
+                      {id:6,name:'受理时间',value:this.state.acceptDate},
+                      {id:8,name:'公示时间',value:this.state.publicityDate},
+                      {id:10,name:'发证时间',value:this.state.licenceDate},
+                      {id:18,name:'立项金额',value:this.state.setUpAmount}
+                    ].map(v=>(
+                        !this.state.timeRecordparse[parseInt(v.id)] && v.value && <div style={{marginRight:'30px',marginBottom:'15px'}}>
+                          <span style={{marginRight:'15px'}}>{v.name}:</span>
+                          <span>{v.value}</span>
+                        </div>
+                    ))
+                  }
+                </div>
                 <FormItem
                   className="half-item"
                   {...formItemLayout}
@@ -6388,30 +6274,6 @@ const Task = React.createClass({
                         />
                       </FormItem>
                     </div>
-                    {/*<div className="clearfix">
-                                        <FormItem className="half-item"
-                                            {...formItemLayout}
-                                            label="上传协议文件" style={{height:"auto"}}>
-                                             <Upload header={{authorization: 'authorization-text'}} action={globalConfig.context + "/api/admin/outsourceOrg/uploadOutsourceFile"}
-                                                    data={(e)=>{
-                                                        return {
-                                                            'sign': e.name.substring(0,e.name.lastIndexOf("."))
-                                                        }
-                                                    }}
-                                                    fileList={this.state.fileUrl}
-                                                    onChange={(e)=>{
-                                                        this.setState({
-                                                            attachmentUrl:e.fileList,
-                                                            fileUrl:e.fileList
-                                                        })
-                                                    }}>
-                                                {fileUrl.length>1?null:<Button>
-                                                <Icon type="upload" /> 点击上传
-                                                </Button>}
-                                            </Upload>
-                                            <span className="tip" style={{display:"inline-block"}}>支持文件格式: doc,excel,ppt</span>
-                                        </FormItem>
-                                    </div>*/}
                     <p
                         className="tip"
                         style={{
@@ -6578,43 +6440,6 @@ const Task = React.createClass({
                             ))
                           }
                         </div>
-                        {/*  <div*/}
-                        {/*    className="clearfix"*/}
-                        {/*    style={{*/}
-                        {/*      display: this.state.refundStatus == 0 ? 'none' : 'block',*/}
-                        {/*    }}*/}
-                        {/*  >*/}
-                        {/*    <FormItem*/}
-                        {/*      className="half-item"*/}
-                        {/*      {...formItemLayout}*/}
-                        {/*      label="审核意见"*/}
-                        {/*    >*/}
-                        {/*      <span>{this.state.remarks}</span>*/}
-                        {/*    </FormItem>*/}
-                        {/*  </div>*/}
-                        {/*  {parseInt(this.state.startType) !== 1 ?<div className="clearfix">*/}
-                        {/*    <FormItem*/}
-                        {/*      className="half-item"*/}
-                        {/*      {...formItemLayout}*/}
-                        {/*      label="审核结果"*/}
-                        {/*    >*/}
-                        {/*      <span>{getRefundStatus(this.state.refundStatus)}</span>*/}
-                        {/*    </FormItem>*/}
-                        {/*  </div> : <div/>}*/}
-                        {/*  <div*/}
-                        {/*    className="clearfix"*/}
-                        {/*    style={{*/}
-                        {/*      display: this.state.refundStatus == 0 ? 'none' : 'block',*/}
-                        {/*    }}*/}
-                        {/*  >*/}
-                        {/*    <FormItem*/}
-                        {/*      className="half-item"*/}
-                        {/*      {...formItemLayout}*/}
-                        {/*      label="审核时间"*/}
-                        {/*    >*/}
-                        {/*      <span>{this.state.auditTimes}</span>*/}
-                        {/*    </FormItem>*/}
-                        {/*  </div>*/}
                       </div>
                   ) : (
                       ''
@@ -6754,74 +6579,34 @@ const Task = React.createClass({
               }
             }}
         /> : <div/>}
-        {this.state.projectSituationVisible ? <Modal
-            className="customeDetails"
-            footer=""
-            title=""
-            width="500px"
-            visible={this.state.projectSituationVisible}
-            onOk={()=>{
-              this.setState({
-                projectSituationVisible: false
-              })
-            }}
-            onCancel={()=>{
-              this.setState({
-                projectSituationVisible: false
-              })
-            }}
-        >
-          <div>
-            <div style={{
-              paddingBottom: '15px',
-              fontSize:'18px',
-              fontWeight:"bolder",
-            }}>
-              当前项目情况:
-            </div>
-            <div>
-              <Radio.Group
-                  style={{
-                    dispaly:'flex',
-                    flexRow:'column'
-                  }}
-                  value={this.state.modifyProjectStatus}
-                  onChange={(e) => {
-                    this.setState({ modifyProjectStatus: e.target.value });
-                  }}
-              >
-                <Radio value={1}>进行中</Radio>
-                <Radio value={2}>已暂停</Radio>
-                <Radio value={3}>已驳回(专利、软著项目填写)</Radio>
-                <Radio value={4}>已完成</Radio>
-                <Radio value={5}>项目已完成 已退单</Radio>
-                <Radio value={6}>项目未完成 已退单</Radio>
-              </Radio.Group>
-              <div style={{
-                display:'flex',
-                justifyContent:'center',
-                paddingTop:'20px',
-                paddingBottom: '20px',
-              }}>
-                <Button
-                    className="cancel"
-                    type="ghost"
-                    onClick={()=>{
-                      this.tijiaoOk(this.state.modifyProjectStatus,()=>{
-                        this.xiangqing(this.state.id)
-                        this.setState({
-                          projectSituationVisible: false
-                        })
-                      })
-                    }}
-                >
-                  保存
-                </Button>
-              </div>
-              <div style={{textAlign:'center',color:'#f00'}}>注:请根据实际项目情况填写</div>
-            </div>
-          </div>
-        </Modal> : null}
+        {this.state.projectSituationVisible ?
+          <NowProjectStatus
+              tid={this.state.tid}
+              cSort={parseInt(this.state.cSort)}
+              projectTypeJSON={this.state.timeRecord ? JSON.parse(this.state.timeRecord) : {}}
+              projectType={this.state.projectType}
+              projectStatus={this.state.projectStatus}
+              visible={this.state.projectSituationVisible}
+              oldData={{
+                endDate:this.state.endDate,     //完成时间
+                acceptDate:this.state.acceptDate,//受理时间
+                publicityDate:this.state.publicityDate,//公示时间
+                licenceDate:this.state.licenceDate,//发证时间
+                setUpAmount:this.state.setUpAmount,//立项金额
+              }}
+              onCancel={()=>{
+                this.setState({
+                  projectSituationVisible: false
+                })
+              }}
+              onPreservation={(value)=>{
+                this.xiangqing(this.state.id)
+                this.setState({
+                  projectSituationVisible: false
+                })
+              }}
+          /> : null
+        }
       </div>
     )
   },

+ 10 - 0
js/component/tools.js

@@ -2,6 +2,7 @@ import { message, Select } from 'antd';
 import React from 'react';
 import $ from 'jquery/src/ajax';
 import {
+  projectStatusList,
   patentTypeList,
   patentStateList,
   patentFieldList,
@@ -2014,4 +2015,13 @@ module.exports = {
       <span style={{ color: "red", fontWeight: 900, fontSize: 16 }}>{e}</span>
     );
   },
+  getProjectName(e) {
+    let arr = projectStatusList.filter(v=>{
+      return v.value === e
+    });
+    if(arr.length){
+      return arr[0].label
+    }
+    return '';
+  }
 };