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"; import { splitUrl } from "@/tools"; import ImgList from "../imgList"; 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, fileList: [], value8: 0, }; } 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 ( this.state.dataInfor[this.state.projectStatus] && this.state.dataInfor[this.state.projectStatus]["suspendImg"] ) { dataInforLength -= 1; } if ( arr.length !== 0 && arr[0]["valueType"] && dataInforLength !== arr[0]["valueType"].length ) { arr[0]["valueType"].map((v) => { if (!this.state.dataInfor[this.state.projectStatus][v]) { if (v === "date") { message.warning("请将" + arr[0]["name"] + "时间补充完整"); } if (v === "certificateNumber") { message.warning("请将" + arr[0]["name"] + "的证书编号补充完整"); } if (v === "setUpAmount") { message.warning("请将" + arr[0]["name"] + "的立项金额补充完整"); } if (v === "appropriation") { message.warning("请将" + arr[0]["name"] + "的拨款金额补充完整"); } return false; } }); return false; } if ( (this.state.projectStatus === 2 || this.state.projectStatus === 3) && this.state.fileList.length === 0 ) { message.warning("暂停附件未上传,请上传后保存!"); return false; } this.setState({ loading: true, }); if (this.state.projectStatus === 2 || this.state.projectStatus === 3) { if (this.state.fileList.length) { let picArr = []; this.state.fileList.map(function (item) { if ( item.response && item.response.data && item.response.data.length ) { picArr.push(item.response.data); } }); if (!this.state.dataInfor[2]) { this.state.dataInfor[2] = {}; } if (!this.state.dataInfor[3]) { this.state.dataInfor[3] = {}; } this.state.dataInfor[2]["suspendImg"] = picArr.join(","); this.state.dataInfor[3]["suspendImg"] = picArr.join(","); } } 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 立项金额 15 * */ 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[15]) && setUpAmount){ // this.state.dataInfor[15]={title:'立项金额'}; // this.state.dataInfor[15]['setUpAmount'] = setUpAmount; // } //图片 if ( this.props.projectTypeJSON[2] && this.props.projectTypeJSON[2]["suspendImg"] ) { this.setState({ fileList: splitUrl( this.props.projectTypeJSON[2]["suspendImg"], ",", globalConfig.avatarHost + "/upload" ), }); } else { this.setState({ fileList: [], }); } this.setState({ dataInfor: this.state.dataInfor, }); } render() { return ( { this.props.onCancel(); }} onCancel={() => { this.props.onCancel(); }} >
项目状态:
{ if (e.target.value == 8) { this.setState({ value8: 1, }); } // console.log(this.state.list); 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) => (
{v.name} {(v.valueType || []).map((d) => parseInt(this.state.projectStatus) !== parseInt(v.id) ? ( {d === "appropriation" ? "拨款金额(万元):" : d === "certificateNumber" ? "已出高新证书编号,编号:" : d === "setUpAmount" ? "立项金额(万元):" : d === "exampleNumber" ? "公式网络链接:" : ""} {this.state.dataInfor[v.id] && this.state.dataInfor[v.id][d]} ) : d === "date" ? (
{}} value={ this.state.dataInfor[v.id] && this.state.dataInfor[v.id][d] ? moment(this.state.dataInfor[v.id][d]) : null } onChange={(data, dataString) => { // console.log(dataString); if (!this.state.dataInfor[v.id]) { this.state.dataInfor[v.id] = {}; } if (!dataString && this.state.dataInfor[v.id][d]) { delete this.state.dataInfor[v.id][d]; } else { this.state.dataInfor[v.id][d] = dataString; } this.setState({ dataInfor: this.state.dataInfor, }); }} />
) : d === "setUpAmount" || d === "certificateNumber" || d === "appropriation" || d === "exampleNumber" ? ( {d === "appropriation" ? "拨款金额(万元)" : d === "certificateNumber" ? "已出高新证书编号,编号" : d === "setUpAmount" ? "立项金额(万元)" : d === "exampleNumber" ? "公式网络链接:" : ""} { if (!this.state.dataInfor[v.id]) { this.state.dataInfor[v.id] = {}; } if ( !e.target.value && this.state.dataInfor[v.id][d] ) { delete this.state.dataInfor[v.id][d]; } else { this.state.dataInfor[v.id][d] = e.target.value; } this.setState({ dataInfor: this.state.dataInfor, }); }} /> ) : null )} {v.explain}
))}
{(this.state.projectStatus === 2 || this.state.projectStatus === 3 || this.state.fileList.length > 0) && (
暂停附件:
(请上传截图证明)
{ let fileList = info.fileList; this.setState({ fileList }); }} fileList={this.state.fileList} />
)}
注:请根据实际项目情况填写
); } } export default NowProjectStatus;