|
@@ -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>
|
|
|
)
|
|
|
},
|