ソースを参照

新增项目类型
项目详情增加字段

HW 4 年 前
コミット
ef3da2c4f7

+ 332 - 207
js/component/manageCenter/project/task/myTask.jsx

@@ -49,6 +49,7 @@ 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";
 const confirm = Modal.confirm
 const FormItem = Form.Item
@@ -1478,6 +1479,13 @@ const Task = React.createClass({
         outsourceName: this.state.outsourceName, //外包公司
         outsourcePrice: this.state.outsourcePrice, //外包价格
         declarationBatch: this.state.declarationBatch,
+        specialComment: this.state.specialComment || undefined,//特别说明
+        setUpStatus: typeof this.state.setUpStatus === 'number' ? this.state.setUpStatus : undefined,//是否立项
+        setUpTime: this.state.setUpTime || undefined,//立项时间
+        highTechStatus: typeof this.state.highTechStatus === 'number' ? this.state.highTechStatus : undefined,//是否高新
+        spotCheckStatus: typeof this.state.spotCheckStatus === 'number' ? this.state.spotCheckStatus : undefined,//是否抽查 0否 1未通过 2通过
+        urgentDay: typeof this.state.urgentDay === 'number' ? this.state.urgentDay : undefined,//加急天数
+        ifMaterial: typeof this.state.ifMaterial === 'number' ? this.state.ifMaterial :  undefined,//有无材料
       },
     }).done(
       function (data) {
@@ -1595,6 +1603,7 @@ const Task = React.createClass({
             outsourcePrice: thisdata.outsourcePrice, //外包价格
             declarationBatch: thisdata.declarationBatch,
             orderTaskOfficialCost: thisdata.officialCost,    //官费 0无 1有
+            bpType:thisdata.bpType//0 正常 1专利 2软著 3审计 4双软 5高新
           })
         }
       }.bind(this),
@@ -2067,6 +2076,13 @@ const Task = React.createClass({
       amount : undefined,
       pictureUrl : [],
       allTotalAmount: 0,
+      urgentDay: '', //有无材料
+      ifMaterial: '', //加急情况
+      specialComment: '', //特别说明
+      spotCheckStatus: '',
+      setUpStatus: '',
+      setUpTime: '',
+      highTechStatus: '',
     })
     this.loadData(flag ? '' : this.state.page)
   },
@@ -3719,6 +3735,39 @@ const Task = React.createClass({
                       {/*  </Radio.Group>*/}
                       {/*</FormItem>*/}
                     </div>
+                    {/*软著显示  bpType: 0 正常 1专利 2软著 3审计 4双软 5高新*/}
+                    {this.state.bpType === 2 ? <div className="clearfix">
+                      <FormItem
+                          className="half-item"
+                          {...formItemLayout}
+                          label="加急天数"
+                      >
+                        <Radio.Group
+                            value={this.state.urgentDay}
+                            onChange={(e) => {
+                              this.setState({ urgentDay: e.target.value })
+                            }}
+                        >
+                          <Radio value={0}>是</Radio>
+                          <Radio value={1}>否</Radio>
+                        </Radio.Group>
+                      </FormItem>
+                      <FormItem
+                          className="half-item"
+                          {...formItemLayout}
+                          label="有无材料"
+                      >
+                        <Radio.Group
+                            value={this.state.ifMaterial}
+                            onChange={(e) => {
+                              this.setState({ ifMaterial: e.target.value })
+                            }}
+                        >
+                          <Radio value={0}>是</Radio>
+                          <Radio value={1}>否</Radio>
+                        </Radio.Group>
+                      </FormItem>
+                    </div> : null}
                     <div className="clearfix">
                       {/*<FormItem*/}
                       {/*  className="half-item"*/}
@@ -3752,9 +3801,9 @@ const Task = React.createClass({
                                 width:'33%',
                                 marginLeft: '10px',
                               }}
-                              value={this.state.specialExplain}
+                              value={this.state.specialComment}
                               onChange={(e) => {
-                                this.setState({ specialExplain: e.target.value });
+                                this.setState({ specialComment: e.target.value });
                               }}
                           />
                         </div>
@@ -4091,207 +4140,283 @@ const Task = React.createClass({
                     </div>
                     <div className="clearfix">
                       <h3 className="sub-title">项目申报进度</h3>
-                      <FormItem
-                        className="half-item"
-                        {...formItemLayout}
-                        label="申报批次"
-                      >
-                        <Select
-                          style={{ width: 200 }}
-                          placeholder="请选择批次"
-                          value={
-                            this.state.declarationBatch
-                              ? this.state.declarationBatch
-                              : undefined
-                          }
-                          onChange={(e) => {
-                            this.setState({
-                              declarationBatch: e,
-                            })
-                          }}
-                        >
-                          <Option value={1}>第一批</Option>
-                          <Option value={2}>第二批</Option>
-                          <Option value={3}>第三批</Option>
-                          <Option value={4}>第四批</Option>
-                        </Select>
-                      </FormItem>
-                      <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
-                          value={this.state.arrivalMoney}
-                          onChange={(e) => {
-                            this.setState({ arrivalMoney: e.target.value })
-                          }}
-                        >
-                          <Radio value={0}>未到企业</Radio>
-                          <Radio value={1}>已到企业</Radio>
-                        </Radio.Group>
-                      </FormItem>
+                        {/*专利显示  bpType: 0 正常 1专利 2软著 3审计 4双软 5高新*/}
+                        {
+                            this.state.bpType === 1 ?
+                                <div>
+                                    <FormItem
+                                        className="half-item"
+                                        {...formItemLayout}
+                                        label="是否高新企业"
+                                    >
+                                        <Radio.Group
+                                            value={this.state.highTechStatus}
+                                            onChange={(e) => {
+                                                this.setState({ highTechStatus: e.target.value })
+                                            }}
+                                        >
+                                            <Radio value={0}>是</Radio>
+                                            <Radio value={1}>否</Radio>
+                                        </Radio.Group>
+                                    </FormItem>
+                                    <FormItem/>
+                                    <PatentSchedule taskId={this.state.id}/>
+                                </div> :
+                      <div>
+                          {/*高新显示  bpType: 0 正常 1专利 2软著 3审计 4双软 5高新*/}
+                          {this.state.bpType === 5 ? <FormItem
+                              className="half-item"
+                              {...formItemLayout}
+                              label="是否抽查">
+                            <Radio.Group
+                                value={this.state.spotCheckStatus}
+                                onChange={(e) => {
+                                  this.setState({ spotCheckStatus: e.target.value })
+                                 }}
+                            >
+                              <Radio value={0}>否</Radio>
+                              <Radio value={1}>是,未通过</Radio>
+                              <Radio value={2}>是,通过</Radio>
+                            </Radio.Group>
+                          </FormItem> : null}
+                          {this.state.bpType === 5 ? <FormItem
+                              className="half-item"
+                              {...formItemLayout}
+                              label="立项时间"
+                          >
+                            <Radio.Group
+                                value={this.state.setUpStatus}
+                                onChange={(e) => {
+                                  this.setState({ setUpStatus: e.target.value })
+                                }}
+                            >
+                              <Radio value={0}>否</Radio>
+                              <Radio value={1}>是</Radio>
+                            </Radio.Group>
+                            {
+                              this.state.setUpStatus === 1 ?
+                                  <DatePicker
+                                      style={{
+                                        marginTop: '2px',
+                                        width: '200px',
+                                        height: '32px',
+                                      }}
+                                      showTime
+                                      format="YYYY-MM-DD"
+                                      onOk={() => {}}
+                                      value={
+                                        this.state.setUpTime
+                                            ? moment(this.state.setUpTime)
+                                            : null
+                                      }
+                                      onChange={(data, dataString) => {
+                                        this.setState({ setUpTime: dataString })
+                                      }}
+                                  /> : null
+                            }
+                          </FormItem> : null}
+                          <FormItem
+                            className="half-item"
+                            {...formItemLayout}
+                            label="申报批次"
+                          >
+                            <Select
+                              style={{ width: 200 }}
+                              placeholder="请选择批次"
+                              value={
+                                this.state.declarationBatch
+                                  ? this.state.declarationBatch
+                                  : undefined
+                              }
+                              onChange={(e) => {
+                                this.setState({
+                                  declarationBatch: e,
+                                })
+                              }}
+                            >
+                              <Option value={1}>第一批</Option>
+                              <Option value={2}>第二批</Option>
+                              <Option value={3}>第三批</Option>
+                              <Option value={4}>第四批</Option>
+                            </Select>
+                          </FormItem>
+                          <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
+                              value={this.state.arrivalMoney}
+                              onChange={(e) => {
+                                this.setState({ arrivalMoney: e.target.value })
+                              }}
+                            >
+                              <Radio value={0}>未到企业</Radio>
+                              <Radio value={1}>已到企业</Radio>
+                            </Radio.Group>
+                          </FormItem>
+                        </div>}
                     </div>
-                    <div className="clearfix">
+                    {this.state.bpType !== 1 ? <div className="clearfix">
                       <FormItem
                         labelCol={{ span: 3 }}
                         wrapperCol={{ span: 16 }}
@@ -4310,8 +4435,8 @@ const Task = React.createClass({
                           }}
                         />
                       </FormItem>
-                    </div>
-                    <div className="clearfix">
+                    </div> : null}
+                    {this.state.bpType !== 1 ? <div className="clearfix">
                       <FormItem
                         labelCol={{ span: 3 }}
                         wrapperCol={{ span: 16 }}
@@ -4334,7 +4459,7 @@ const Task = React.createClass({
                           }}
                         />
                       </FormItem>
-                    </div>
+                    </div> : null}
                     <div>
                       <h3 className="sub-title">项目业务</h3>
                       {this.state.processStatus == 0 ? (
@@ -5394,9 +5519,9 @@ const Task = React.createClass({
                           width:'33%',
                           marginLeft: '10px',
                         }}
-                        value={this.state.specialExplain}
+                        value={this.state.specialComment}
                         onChange={(e) => {
-                          this.setState({ specialExplain: e.target.value });
+                          this.setState({ specialComment: e.target.value });
                         }}
                     />
                   </div>

+ 390 - 0
js/component/manageCenter/project/task/patentSchedule.jsx

@@ -0,0 +1,390 @@
+import React,{ Component } from 'react';
+import {Button, DatePicker, Select, Table, Input, Modal, Spin, message} from "antd";
+import moment from "moment";
+import $ from "jquery";
+
+const { Option } = Select
+
+class PatentSchedule extends Component{
+    constructor(props) {
+        super(props);
+        this.state={
+            columns: [
+                {
+                    title: '批次',
+                    dataIndex: 'key',
+                    key: 'key',
+                },
+                {
+                    title: '专利号',
+                    dataIndex: 'patentNo',
+                    key: 'patentNo',
+                    render: (text, record) => {
+                        return !record.isChange ? text : <Input
+                            size={'small'}
+                            style={{
+                                width: '100px'
+                            }}
+                            onChange={(e)=>{
+                            this.changeEvidence(e.target.value,record.key,'patentNo')
+                        }}/>
+                    }
+                },
+                {
+                    title: '专利名称',
+                    dataIndex: 'patentName',
+                    key: 'patentName',
+                    render: (text, record) => {
+                        return !record.isChange ? text : <Input style={{
+                            width: '100px'
+                        }} size={'small'} onChange={(e)=>{
+                            this.changeEvidence(e.target.value,record.key,'patentName')
+                        }}/>
+                    }
+                },
+                {
+                    title: '受理时间',
+                    dataIndex: 'acceptTimes',
+                    key: 'acceptTimes',
+                    render: (text, record) => {
+                        return !record.isChange ? text : <DatePicker
+                            size={'small'}
+                            style={{
+                                marginTop: '4px',
+                                width: '100px'
+                            }}
+                            showTime
+                            format="YYYY-MM-DD"
+                            onChange={(data, dataString) => {
+                                this.changeEvidence(dataString,record.key,'acceptTimes')
+                            }}
+                        />
+                    }
+                },
+                {
+                    title: '授权时间',
+                    dataIndex: 'authorizeTimes',
+                    key: 'authorizeTimes',
+                    render: (text, record) => {
+                        return !record.isChange ? text : <DatePicker
+                            size={'small'}
+                            style={{
+                                marginTop: '4px',
+                                width: '100px'
+                            }}
+                            showTime
+                            format="YYYY-MM-DD"
+                            onChange={(data, dataString) => {
+                                this.changeEvidence(dataString,record.key,'authorizeTimes')
+                            }}
+                        />
+                    }
+                },
+                {
+                    title: '下证时间',
+                    dataIndex: 'licenceTimes',
+                    key: 'licenceTimes',
+                    render: (text, record) => {
+                        return !record.isChange ? text : <DatePicker
+                            size={'small'}
+                            style={{
+                                marginTop: '4px',
+                                width: '100px'
+                            }}
+                            showTime
+                            format="YYYY-MM-DD"
+                            onChange={(data, dataString) => {
+                                this.changeEvidence(dataString,record.key,'licenceTimes')
+                            }}
+                        />
+                    }
+                },
+                {
+                    title: '通过/驳回',
+                    dataIndex: 'status',
+                    key: 'status',
+                    render: (text, record) => {
+                        return !record.isChange ? text === 1 ? '通过' : '驳回' : <Select size={'small'} onChange={(v)=>{
+                            this.changeEvidence(v,record.key,'status')
+                        }}>
+                            <Option value={1}>通过</Option>
+                            <option value={2}>驳回</option>
+                        </Select>
+                    }
+                },
+                {
+                    title: '操作',
+                    dataIndex: 'h',
+                    key: 'h',
+                    render: (text, record) => {
+                        return (
+                            <span>
+                                <Button
+                                    size={'small'}
+                                    style={{
+                                        marginRight:'10px',
+                                        color: '#ffffff',
+                                        background: '#f00',
+                                        border: 'none',
+                                    }}
+                                    onClick={()=>{
+                                        let _this = this;
+                                        if(record.isChange){
+                                            this.state.dataSource.splice(record.key-1,1)
+                                            this.setState({
+                                                dataSource: this.state.dataSource
+                                            })
+                                        }else{
+                                            confirm({
+                                                title: '提醒',
+                                                content: '确定要删除吗?',
+                                                onOk() {
+                                                    _this.delectTaskProgress(record.id)
+                                                }
+                                            })
+                                        }
+                                    }}
+                                >
+                                    删除
+                                </Button>
+                                {record.isChange &&<Button size={'small'} type='primary' onClick={()=>{
+                                    this.createTaskProgress(record);
+                                    console.log(record)
+                                }}>保存</Button> }
+                            </span>
+                        )
+                    }
+                }
+            ],
+            dataSource: [],
+            visible: false,
+            columnsA: [
+                {
+                    title: '时间',
+                    dataIndex: 'h',
+                    key: 'h',
+                },
+                {
+                    title: '操作类型',
+                    dataIndex: 'h',
+                    key: 'h',
+                    render: (text, record) => {
+                        return text === 0 ? '新增' : '删除'
+                    }
+                },
+                {
+                    title: '专利号',
+                    dataIndex: 'h',
+                    key: 'h',
+                }
+            ],
+            dataSourceA: [],
+            progressLogLoading: false,
+        };
+        this.changeEvidence = this.changeEvidence.bind(this);
+        this.createTaskProgress = this.createTaskProgress.bind(this);
+        this.selectTaskProgressLog = this.selectTaskProgressLog.bind(this);
+        this.delectTaskProgress = this.delectTaskProgress.bind(this);
+    }
+
+    changeEvidence(value,index,key){
+        this.state.dataSource[index-1][key] = value;
+        this.setState({
+            dataSource: this.state.dataSource
+        })
+    }
+
+    //新增申报进度
+    createTaskProgress(record) {
+        delete record.isChange;
+        delete record.key;
+        record.taskId = this.props.taskId;
+        record.alreadyNumber = 1;
+        $.ajax({
+            method: 'post',
+            dataType: 'json',
+            crossDomain: false,
+            url: globalConfig.context + '/api/admin/orderProject/createTaskProgress',
+            data: record,
+            success: function (data) {
+                if (data.error.length) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message)
+                    }
+                }else{
+                    message.success('添加成功');
+                }
+            }.bind(this),
+        }).always(
+            function () {
+                this.setState({
+                    loading: false,
+                })
+            }.bind(this)
+        )
+    }
+
+    //申报进度日志
+    selectTaskProgressLog() {
+        this.setState({
+            loading: true,
+        })
+        $.ajax({
+            method: 'get',
+            dataType: 'json',
+            crossDomain: false,
+            url: globalConfig.context + '/api/admin/orderProject/selectTaskProgressLog',
+            data: {
+                tid: this.props.taskId,
+            },
+            success: function (data) {
+                let theArr = []
+                if (data.error.length || data.data.list === '') {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message)
+                    }
+                } else {
+                    for (let i = 0; i < data.data.length; i++) {
+                        let thisdata = data.data[i];
+                        thisdata.key = i;
+                        theArr.push(thisdata)
+                    }
+                }
+                this.setState({
+                    dataSourceA: theArr,
+                })
+            }.bind(this),
+        }).always(
+            function () {
+                this.setState({
+                    loading: false,
+                })
+            }.bind(this)
+        )
+    }
+
+    // 删除申报进度
+    delectTaskProgress(id) {
+        this.setState({
+            loading: true,
+        })
+        $.ajax({
+            method: 'post',
+            dataType: 'json',
+            crossDomain: false,
+            url: globalConfig.context + '/api/admin/orderProject/delectTaskProgress',
+            data: {
+                id
+            },
+            success: function (data) {
+                if (data.error.length) {
+                    if (data.error && data.error.length) {
+                        message.warning(data.error[0].message)
+                    }
+                }else{
+                    message.success('删除成功');
+                }
+            }.bind(this),
+        }).always(
+            function () {
+                this.setState({
+                    loading: false,
+                })
+            }.bind(this)
+        )
+    }
+
+    componentDidMount() {
+
+    }
+
+    render() {
+        return (
+            <div>
+                <div style={{
+                    display:'flex',
+                    alignItems:'center',
+                    paddingLeft: '7%',
+                    paddingRight: '10%',
+                    color: '#000',
+                    fontWeight: 400,
+                }}>
+                    <div style={{paddingRight:'10px'}}>派单项目数:20</div>
+                    <div style={{paddingRight:'10px'}}>受理数:20</div>
+                    <div style={{paddingRight:'10px'}}>下证数(即授权数):20</div>
+                    <div>驳回数:20</div>
+                    <div style={{display:'flex',alignItems:'center',marginLeft:'auto'}}>
+                        <Button
+                            type="primary"
+                            style={{ marginRight: '15px' }}
+                            onClick={()=>{
+                                this.state.dataSource.push({
+                                    key: this.state.dataSource.length+1,
+                                    isChange: true,
+                                })
+                                this.setState({
+                                    dataSource: this.state.dataSource
+                                })
+                            }}
+                        >
+                            增加专利信息
+                        </Button>
+                        <Button
+                            type="primary"
+                            onClick={()=>{
+                                this.selectTaskProgressLog();
+                                this.setState({
+                                    visible: true
+                                })
+                            }}
+                        >
+                            操作日志
+                        </Button>
+                    </div>
+                </div>
+                <div style={{
+                    paddingLeft: '7%',
+                    paddingRight: '10%',
+                    paddingTop:'10px'
+                }}>
+                    <Spin spinning={this.state.progressLogLoading}>
+                        <Table
+                            columns={this.state.columns}
+                            scroll={{ x: 'max-content', y: 0 }}
+                            dataSource={this.state.dataSource}
+                            pagination={false}
+                            bordered
+                            size={'small'}
+                        />
+                    </Spin>
+                </div>
+                {this.state.visible ? <Modal
+                    width="800px"
+                    visible={this.state.visible}
+                    onCancel={()=>{
+                        this.setState({
+                            visible: false
+                        })
+                    }}
+                    title="操作日志"
+                    footer=""
+                    className="admin-desc-content"
+                >
+                    <div className="patent-table patent-table-center">
+                        <Spin spinning={this.state.loading}>
+                            <Table
+                                columns={this.state.columnsA}
+                                dataSource={this.state.dataSourceA}
+                                pagination={false}
+                                bordered
+                                size="small"
+                            />
+                        </Spin>
+                    </div>
+                </Modal> : null}
+            </div>
+        )
+    }
+}
+
+export default PatentSchedule;

+ 66 - 46
js/component/manageCenter/set/business/businessProject.jsx

@@ -35,7 +35,7 @@ const PicturesWall = React.createClass({
         this.props.fileList(fileList);
     },
     componentWillReceiveProps(nextProps) {
-        this.state.fileList = nextProps.pictureUrl; 
+        this.state.fileList = nextProps.pictureUrl;
     },
     render() {
         const { previewVisible, previewImage, fileList } = this.state;
@@ -369,6 +369,10 @@ const BusinessProject=Form.create()(React.createClass({
 				    return "软著";
 				} else if (record.type == 3) {
                     return "审计";
+                }else if(record.type == 4) {
+                    return "双软"
+                }else if(record.type == 5) {
+                    return "高新"
                 }
               },
             },
@@ -380,7 +384,7 @@ const BusinessProject=Form.create()(React.createClass({
        this.selectSuperId();
     },
     //获取上级品类
-    selectSuperId() {  
+    selectSuperId() {
     	this.state.data = []
          $.ajax({
                 method: "get",
@@ -390,15 +394,15 @@ const BusinessProject=Form.create()(React.createClass({
                 data:{
                   flag:0,
                 },
-                success: function (data) { 
+                success: function (data) {
                 		let theArr = [];
 					    let thedata=data.data;
 					    if (!thedata) {
 		                    if (data.error && data.error.length) {
 		                        message.warning(data.error[0].message);
-		                    };	
-		                    thedata = {}; 
-		              };   
+		                    };
+		                    thedata = {};
+		              };
 					    var contactIds=[];
 				        	for(var i=0;i<data.data.length;i++){
 		                    let theData = data.data[i];
@@ -406,13 +410,13 @@ const BusinessProject=Form.create()(React.createClass({
 		                        <Select.Option value={i.toString()} key={theData.cname}>{theData.cname}</Select.Option>
 		                    );
 		                };
-						this.setState({	
+						this.setState({
 							SuperArr:thedata,
-		                    contactsOption: theArr, 
+		                    contactsOption: theArr,
 		                    orderStatusOptions:data.data,
 	                    });
 	                    console.log(theArr);
-						
+
 					}.bind(this),
 				}).always(function () {
 				this.loadData(this.state.ispage);
@@ -423,7 +427,7 @@ const BusinessProject=Form.create()(React.createClass({
 	},
 	//编辑部门,保存
     edithandleSubmit(e){
-    	e.preventDefault();	
+    	e.preventDefault();
     	let offsetText;
     	if(this.state.editOffset){
     		if(this.state.editOffset>10||this.state.editOffset<0){
@@ -454,13 +458,13 @@ const BusinessProject=Form.create()(React.createClass({
 				});
 				thecompanyLogoUrl = picArr.join(",");
 			};
-			
+
 			if(!err) {
 				this.setState({
 					loading: true
 				});
 				let nameText=this.state.SuperArr
-				let num = 0 
+				let num = 0
 				nameText.forEach((item,index) => {
 					if(item.cname == this.state.editCname) {
 						num = index
@@ -505,7 +509,7 @@ const BusinessProject=Form.create()(React.createClass({
 		            	activityPrice:this.state.editActivityPrice,//活动价
 		            	activityFlag:this.state.editActivityFlag,//活动生效标识
 		            	memberPrice:this.state.editMemberPrice,//项目ID
-						status:this.state.editStatus,//项目状态 
+						status:this.state.editStatus,//项目状态
 						type: this.state.typeStatus,//项目分类
 		            	country:isCountry,//是否全国
 		            	province:pro?pro:'',//省
@@ -513,18 +517,18 @@ const BusinessProject=Form.create()(React.createClass({
 		            	district:dis?dis:'',//区
 		            	minLogo:theorgCodeUrl,
 		            	maxLogo:thecompanyLogoUrl,
-		            	introduce:this.state.editIntroduce,//项目介绍 
+		            	introduce:this.state.editIntroduce,//项目介绍
 		            	projectUrl:this.state.editProjectUrl,//项目地址
 		            	valueEffect:this.state.editValueEffect,//项目价值及作用
-		            	clientSize:this.state.editClientSize,//项目基本条件 
+		            	clientSize:this.state.editClientSize,//项目基本条件
 		            	boutique:this.state.editBoutique,
 		            }
-		        }).done(function (data) { 
+		        }).done(function (data) {
 		            this.setState({
 		                loading: false
 		            });
 		            if (!data.error.length) {
-		                message.success('保存成功!'); 
+		                message.success('保存成功!');
 		                this.edithandleCancel();
 		                this.selectSuperId();
 		            } else {
@@ -532,7 +536,7 @@ const BusinessProject=Form.create()(React.createClass({
 		            }
 		        }.bind(this));
 			}
-		}) 
+		})
     },
     //规格列表整行点击
     formatTableRowClick(record, index){
@@ -547,7 +551,7 @@ const BusinessProject=Form.create()(React.createClass({
         	formatActivityPrice:record.formatActivityPrice,//活动价
         	formatActivityFlag:record.formatActivityFlag,//活动生效标识
         	formatMemberPrice:record.formatMemberPrice,//会员价
-        	formatStatus:record.formatStatus.toString(),//项目状态 
+        	formatStatus:record.formatStatus.toString(),//项目状态
         });
     },
     //项目列表整行点击
@@ -593,6 +597,10 @@ const BusinessProject=Form.create()(React.createClass({
 						str = "软著"
 					}else if(thisdata.type == 3) {
                         str = "审计"
+                    }else if(thisdata.type == 4) {
+                        str = "双软"
+                    }else if(thisdata.type == 5) {
+                        str = "高新"
                     }
                     theArr.push({
                          editId: thisdata.id,//每一条记录的ID
@@ -609,7 +617,7 @@ const BusinessProject=Form.create()(React.createClass({
                          editOffset: thisdata.offset,//最低折扣
                          editMemberPrice: thisdata.memberPrice,//会员价
                          editActivityFlag:thisdata.activityFlag,//活动生效标识
-						 editStatus:thisdata.status,//品类状态 
+						 editStatus:thisdata.status,//品类状态
 						 typeStr: str,
 						 typeStatus: thisdata.type,
                          editCreateId:thisdata.createName,//创建人
@@ -621,8 +629,9 @@ const BusinessProject=Form.create()(React.createClass({
                          editBoutique:thisdata.boutique,//是否精品
                          orgCodeUrl: thisdata.minLogo ? splitUrl(thisdata.minLogo, ',', globalConfig.avatarHost + '/upload') : [],
 						 cditCompanyLogoUrl: thisdata.maxLogo ? splitUrl(thisdata.maxLogo, ',', globalConfig.avatarHost + '/upload') : [],
-                    }); 
+                    });
 				};
+                //0 正常 1专利 2软著 3审计 4双软 5高新
 				let str = ""
 					if(thisdata.type == 0) {
 						str = "通用"
@@ -632,6 +641,10 @@ const BusinessProject=Form.create()(React.createClass({
 						str = "软著"
 					}else if(thisdata.type == 3) {
                         str = "审计"
+                    }else if(thisdata.type == 4) {
+                        str = "双软"
+                    }else if(thisdata.type == 5) {
+                        str = "高新"
                     }
                 this.setState({
                   editId: thisdata.id, //每一条记录的ID
@@ -702,11 +715,11 @@ const BusinessProject=Form.create()(React.createClass({
     			offsetText=this.state.formatOffset;
     		}
     	}
-    	this.props.form.validateFields((err, values) => {                                 
+    	this.props.form.validateFields((err, values) => {
             if (!err) {
                 this.setState({
                     loading: true
-                }); 
+                });
                 $.ajax({
                     method: "post",
                     dataType: "json",
@@ -720,14 +733,14 @@ const BusinessProject=Form.create()(React.createClass({
                     	activityPrice:this.state.formatActivityPrice,//活动价
                     	activityFlag:this.state.formatActivityFlag,//活动生效标识
                     	memberPrice:this.state.formatMemberPrice,//会员价
-                    	status:this.state.formatStatus,//项目状态 
+                    	status:this.state.formatStatus,//项目状态
                     	}
-                }).done(function (data) { 
+                }).done(function (data) {
                     this.setState({
                         loading: false
                     });
                     if (!data.error.length) {
-                        message.success('修改规格成功!'); 
+                        message.success('修改规格成功!');
                         this.formatLoadData();
                         this.editformathandleCancel();
                     } else {
@@ -749,11 +762,11 @@ const BusinessProject=Form.create()(React.createClass({
     			offsetText=this.state.formatOffset;
     		}
     	}
-    	this.props.form.validateFields((err, values) => {                                 
+    	this.props.form.validateFields((err, values) => {
             if (!err) {
                 this.setState({
                     loading: true
-                }); 
+                });
                 $.ajax({
                     method: "post",
                     dataType: "json",
@@ -767,14 +780,14 @@ const BusinessProject=Form.create()(React.createClass({
                     	activityPrice:this.state.formatActivityPrice,//活动价
                     	activityFlag:this.state.formatActivityFlag,//活动生效标识
                     	memberPrice:this.state.formatMemberPrice,//会员价
-                    	status:this.state.formatStatus,//项目状态 
+                    	status:this.state.formatStatus,//项目状态
                     	}
-                }).done(function (data) { 
+                }).done(function (data) {
                     this.setState({
                         loading: false
                     });
                     if (!data.error.length) {
-                        message.success('新增规格成功!'); 
+                        message.success('新增规格成功!');
                         this.formathandleCancel();
                         this.formatLoadData();
                     } else {
@@ -786,7 +799,7 @@ const BusinessProject=Form.create()(React.createClass({
     },
     //新增一个项目,保存
     addhandleSubmit(e){
-    	e.preventDefault();	
+    	e.preventDefault();
     	if(!this.state.categoryName){
     		message.warning('请输入项目名称');
     		return false;
@@ -813,11 +826,11 @@ const BusinessProject=Form.create()(React.createClass({
        		isCountry=1;
        		pro='';
        	}
-		this.props.form.validateFields((err, values) => {                                 
+		this.props.form.validateFields((err, values) => {
             if (!err) {
                 this.setState({
                     loading: true
-                }); 
+                });
                 //上级组织字典
                 let nameText=this.state.SuperArr;
                 let superText=nameText[parseInt(this.state.addCid)].id;
@@ -835,12 +848,12 @@ const BusinessProject=Form.create()(React.createClass({
                     	city:city,//市
                     	district:dis,//区
                     	}
-                }).done(function (data) { 
+                }).done(function (data) {
                     this.setState({
                         loading: false
                     });
                     if (!data.error.length) {
-                        message.success('新增项目成功!'); 
+                        message.success('新增项目成功!');
                         this.handleCancel();
                         this.selectSuperId();
                     } else {
@@ -1012,18 +1025,18 @@ const BusinessProject=Form.create()(React.createClass({
         this.setState({ visible: false })
     },
     edithandleCancel(e) {
-        this.setState({ 
-        	editvisible: false 
+        this.setState({
+        	editvisible: false
         });
     },
     formathandleCancel(e) {
-        this.setState({ 
-        	formatvisible: false 
+        this.setState({
+        	formatvisible: false
         });
     },
     editformathandleCancel(e) {
-        this.setState({ 
-        	editformatvisible: false 
+        this.setState({
+        	editformatvisible: false
         });
     },
     search() {
@@ -1037,7 +1050,7 @@ const BusinessProject=Form.create()(React.createClass({
         this.state.activityFlag = undefined;//活动生效清零
 		this.state.status = undefined;//项目状态清零
 		this.state.type = undefined;//项目分类清零
-        this.loadData(); 
+        this.loadData();
     },
     //新增部分的清零
     addReset(){
@@ -1055,7 +1068,7 @@ const BusinessProject=Form.create()(React.createClass({
         this.state.formatMemberPrice = '';//会员价清零
         this.state.formatActivityFlag = undefined;//活动生效标识清零
         this.state.formatStatus= undefined;//项目状态清零
-        this.formatLoadData(); 
+        this.formatLoadData();
     },
     //详情tab切换数据处理
 	callback(e) {
@@ -1063,7 +1076,7 @@ const BusinessProject=Form.create()(React.createClass({
 			callnub: e,
 		})
 		if(e == 1) {
-			
+
 		}
 		if(e == 2) {
 			this.formatLoadData();
@@ -1106,7 +1119,7 @@ const BusinessProject=Form.create()(React.createClass({
        	const { getFieldDecorator } = this.props.form;
         const hasSelected = this.state.selectedRowKeys.length > 0;
         const { RangePicker } = DatePicker;
-        
+
         return (
           <div className="user-content">
             <div className="content-title">
@@ -2151,6 +2164,7 @@ const BusinessProject=Form.create()(React.createClass({
                               wrapperCol={{ span: 12 }}
                               label="项目分类"
                             >
+                              {/*  0 正常 1专利 2软著 3审计 4双软 5高新*/}
                               <Select
                                 placeholder="项目分类"
                                 value={this.state.typeStr}
@@ -2165,6 +2179,10 @@ const BusinessProject=Form.create()(React.createClass({
                                     str = "软著";
                                   } else if (e == 3) {
                                       str = "审计";
+                                  } else if (e == 4) {
+                                      str = "双软";
+                                  } else if (e == 5) {
+                                      str = "高新";
                                   }
                                   this.setState({
                                     typeStatus: e,
@@ -2176,6 +2194,8 @@ const BusinessProject=Form.create()(React.createClass({
                                 <Select.Option key={1}>专利</Select.Option>
                                 <Select.Option key={2}>软著</Select.Option>
                                 <Select.Option key={3}>审计</Select.Option>
+                                <Select.Option key={4}>双软</Select.Option>
+                                <Select.Option key={5}>高新</Select.Option>
                               </Select>
                             </FormItem>
                             <FormItem