import React from 'react'; import $ from 'jquery'; import '@/manageCenter/financialManage/distribute/public.less'; import { Button, Form, Input, Select, Upload, Spin, Table, message, Modal, Tabs, Tag } from "antd"; import Assign from '@/manageCenter/publicComponent/assign'; import ResolutionDetail from "@/resolutionDetail"; import OrderDetail from "../../order/orderNew/changeComponent/orderDetail"; import OrderRiZi from "@/orderRiZi.jsx"; import './table.less'; import { getProcessStatus, getApproval, getTaskStatus, getLiquidationStatus, splitUrl, getProjectStatus, getboutique, getprovince, ShowModal } from "@/tools"; const FormItem =Form.Item; const {TabPane} = Tabs import ShowModalDiv from "@/showModal.jsx"; const Task = React.createClass({ loadData(pageNo) { this.state.data = []; this.setState({ page: pageNo, loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderProject/selectTaskList", data: { pageNo: pageNo || this.state.page || 1, pageSize: this.state.pagination.pageSize, specially: 1, //经理 name: this.state.nameSearch, //客户名称 orderNo: this.state.orderNoSearch, //订单编号 depId: this.state.departmenttSearch, //订单部门 taskId: this.state.taskNoSearch, //任务编号 adminName: this.state.adminName, //任务受理人 }, success: function (data) { ShowModal(this); let theArr = []; if (!data.data || !data.data.list) { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { for (let i = 0; i < data.data.list.length; i++) { let thisdata = data.data.list[i]; theArr.push({ key: i, orderNo: thisdata.orderNo, //订单编号 id: thisdata.id, //任务ID taskName: thisdata.taskName, //名称 cname: thisdata.cname, //项目品类 projectStatus: thisdata.projectStatus, //项目状态 taskStatus: thisdata.taskStatus, //任务状态 taskDate: thisdata.taskDate, //分配时间 commodityQuantity: thisdata.commodityQuantity, //软著数量 alreadyNumber: thisdata.alreadyNumber, //下证数量 userName: thisdata.taskName.substring(0, 5) === "软件著作权" ? thisdata.userName + "(" + thisdata.commodityQuantity.toString() + "/" + thisdata.alreadyNumber + ")" : thisdata.userName, //用户名 depName: thisdata.depName, //部门名称 receiverName: thisdata.receiverName, //任务责任人 splitStatus: thisdata.splitStatus, //是否为子项目 2是 1主项目 splitSuper: thisdata.splitSuper, splitId: thisdata.splitId, }); } } this.state.pagination.current = data.data.pageNo; this.state.pagination.total = data.data.totalCount; if (data.data && data.data.list && !data.data.list.length) { this.state.pagination.current = 0; this.state.pagination.total = 0; } this.setState({ dataSource: theArr, pagination: this.state.pagination, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, getInitialState() { return { orderData: [], orderNo: "", jiedian: [], jiedianNew: [], activeKey: "1", searchMore: true, assignVisible: false, releaseDate: [], roleName: "", testFlag: true, departmentArr: [], boHuivisible: false, selectedRowKeys: [], selectedRows: [], paginations: false, loading: false, pagination: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function (page) { this.loadData(page); }.bind(this), showTotal: function (total) { return "共" + total + "条数据"; }, }, columns: [ { title: "项目编号", dataIndex: "id", key: "id", render: (text, record) => { if (record.splitStatus == 2) { return <span>{record.splitSuper + "-" + record.splitId}</span>; } else { return text; } }, }, { title: "任务名称", dataIndex: "taskName", key: "taskName", className: "taskName", }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo", }, { title: "业务类别", dataIndex: "cname", key: "cname", }, { title: "客户名称", dataIndex: "userName", key: "userName", className: "userName", }, { title: "任务状态", dataIndex: "taskStatus", key: "taskStatus", render: (text) => { return getTaskStatus(text); }, }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectStatus(text); }, }, { title: "分配时间", dataIndex: "taskDate", key: "taskDate", }, { title: "任务数量", dataIndex: "commodityQuantity", key: "commodityQuantity", }, { title: "任务责任人", dataIndex: "receiverName", key: "receiverName", }, { title: "订单部门", dataIndex: "depName", key: "depName", }, ], dataSource: [], searchTime: [], columnsX: [ { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", render: (text, record) => { if (record.splitStatus == 1) { return ( <span> {text}{" "} <Tag color="#108ee9" onClick={(e) => { e.stopPropagation(); this.showRes(record); }} > 已拆 </Tag> </span> ); } else { return text; } }, }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice", }, { title: "负责人", dataIndex: "contacts", key: "contacts", }, { title: "负责人电话", dataIndex: "contactsMobile", key: "contactsMobile", }, { title: "主要项目", dataIndex: "main", key: "main", render: (text) => { return text ? "是" : "否"; }, }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return text && text.length > 8 ? text.substr(0, 8) + "…" : text; }, }, ], columnsA: [ { title: "流程", dataIndex: "content", key: "content", align: "center", }, { title: "操作人", dataIndex: "aName", key: "aName", align: "center", }, { title: "时间", dataIndex: "createTimes", key: "createTimes", align: "center", }, ], dataSourceX: [], dataSourceA: [], ContactsLists: [ { title: "批次", dataIndex: "num", key: "num", }, { title: "下证时间", dataIndex: "licenceTimes", key: "licenceTimes", }, { title: "下证数量", dataIndex: "alreadyNumber", key: "alreadyNumber", }, { title: "未下证数量", dataIndex: "notCount", key: "notCount", }, ], }; }, /* 分派 */ evaluate(record, nub) { this.state.assignData = record; this.setState({ nub, assignVisible: true, }); }, componentDidMount() { this.setColor(); }, componentWillMount() { this.departmentList(); this.loadData(); }, tableRowClick(record) { let str = record.taskName; let test = str.indexOf("会员") if(test == -1) { this.setState({ isHuiyuan: false }) }else { this.setState({ isHuiyuan: true }) } this.state.RowData = record; if (record.taskName.substring(0, 5) === "软件著作权") { this.setState({ speVisible: true, id: record.id, splitStatus: record.splitStatus, splitSuper: record.splitSuper, splitId: record.splitId, dataArr: record, commodityQuantity: record.commodityQuantity, }); } else { this.setState({ visible: true, splitStatus: record.splitStatus, splitSuper: record.splitSuper, splitId: record.splitId, }); } this.xiangqing(record.id, record.taskName); this.xiangqings(record.orderNo); this.xiangmu(record.orderNo); this.loaduserss(record); }, // 拆分详细 showRes(record) { this.setState({ resVisible: true, resRecord: record, }); }, resCancel() { this.setState({ resVisible: false, }); }, //订单详情 xiangqing(id) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderProject/orderTaskDetail", data: { id: id, }, success: function (data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { let thisdata = data.data; this.setState({ id: thisdata.id, //ID orderNo: thisdata.orderNo, //订单编号 userName: thisdata.userName, //客户名称 taskName: thisdata.taskName, //任务名称 cname: thisdata.cname, //项目品类 contractNo: thisdata.contractNo, //合同编号 projectStatus: thisdata.projectStatus, //项目状态 taskStatus: thisdata.taskStatus, //任务状态 taskDate: thisdata.taskDate, //分配时间 taskComment: thisdata.taskComment, //说明 attachmentUrl: thisdata.attachmentUrl ? splitUrl( thisdata.attachmentUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 salesmanName: thisdata.salesmanName, //订单负责人 startDate: thisdata.startDate, //启动日期 endDate: thisdata.endDate, //结束日期 acceptDate: thisdata.acceptDate, //受理日期 reviewDate: thisdata.reviewDate, //评审日期 publicityDate: thisdata.publicityDate, //公示日期 licenceDate: thisdata.licenceDate, //发证日期 contacts: thisdata.contacts, //联系人 contactMobile: thisdata.contactMobile, //联系人电话 legalPerson: thisdata.legalPerson, //法人 legalPersonTel: thisdata.legalPersonTel, //法人电话 certificateNumber: thisdata.certificateNumber, //证书编号 status: thisdata.status, //状态 formRetrieve: thisdata.formRetrieve, //满意度表格 taskRefund: thisdata.taskRefund, //退单 refundContent: thisdata.refundContent, //退单信息 retrieveContent: thisdata.retrieveContent, //回收信息 arrivalMoney: thisdata.arrivalMoney, //是否到款 setUpAmount: thisdata.setUpAmount, //立项金额 declareUser: thisdata.declareUser, //账号 declarePwd: thisdata.declarePwd, //密码 depName: thisdata.depName, //订单部门 outsourceName: thisdata.outsourceName, //外包公司名称 outsourcePrice: thisdata.outsourcePrice, //外包价格 declarationBatch: thisdata.declarationBatch, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //订单详情 xiangqings(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: orderNos, }, success: function (data) { let thisdata = data.data; let ProvinceCityArr = []; let ProvinceS = thisdata.locationProvince; //省 let citys = thisdata.locationCity; //市 let Areas = thisdata.locationArea; //区 ProvinceCityArr.push(ProvinceS, citys, Areas); if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { this.setState({ processStatus: thisdata.processStatus, //流程状态 liquidationStatus: thisdata.liquidationStatus, //结算状态 approval: thisdata.approval, //特批状态 orderRemarks: thisdata.orderRemarks, //订单留言 salesmanName: thisdata.salesmanName, //营销员名称 salesmanMobile: thisdata.salesmanMobile, //营销员电话 oldSalesmanName: thisdata.oldSalesmanName, //营销员名称 oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话 financeName: thisdata.financeName, //财务名称 financeMobile: thisdata.financeMobile, //财务电话 nowFinance: thisdata.nowFinance, //财务名称 nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话 depName: thisdata.depName, //订单部门 locationProvince: thisdata.locationProvince, locationCity: thisdata.locationCity, locationArea: thisdata.locationArea, ProvinceCity: ProvinceCityArr, postalAddress: thisdata.postalAddress, //详细地址 outsource: thisdata.outsource, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //查看下证信息 loaduserss(record) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderProject/selectTaskProgress", data: { tid: record.id, }, success: function (data) { let theArr = []; let thisData = []; if (!thisData) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thisData = {}; } else { for (let i = 0; i < data.data.length; i++) { thisData = data.data[i]; theArr.push({ num: i + 1, key: i, id: thisData.id, //编号 alreadyNumber: thisData.alreadyNumber, //下证数 licenceTimes: thisData.licenceTimes, //下证时间 notCount: thisData.notCount, //未下证数 flag: true, }); } this.setState({ contactList: theArr, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //项目列表 xiangmu(orderNos) { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderTask", data: { orderNo: orderNos, }, 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]; theArr.push({ key: i, id: thisdata.id, orderNo: thisdata.orderNo, //订单编号 commodityId: thisdata.commodityId, //项目ID commodityName: thisdata.commodityName, //项目名称 cname: thisdata.cname, //项目类别 commodityPrice: thisdata.commodityPrice, //项目价格 commodityQuantity: thisdata.commodityQuantity, //项目数量 main: thisdata.main, //是否为主要任务 taskComment: thisdata.taskComment, //任务说明 contacts: thisdata.contacts, //联系人 contactsMobile: thisdata.contactsMobile, //联系人电话 taskStatus: thisdata.taskStatus, //是否分配 splitStatus: thisdata.splitStatus, //是否为子项目 2是 1主项目 splitSuper: thisdata.splitSuper, splitId: thisdata.splitId, }); } } this.setState({ dataSourceX: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, caozuorizhi() { this.setState({ visibleA: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderProject/TaskLogList", data: { id: this.state.id, }, 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]; theArr.push({ key: i, id: thisdata.id, //日志ID content: thisdata.content, //流程 taskId: thisdata.taskId, //任务ID aName: thisdata.aName, //负责人 createTimes: thisdata.createTimes, //时间 }); } } this.setState({ dataSourceA: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //关闭操作工时 visitCancelA() { this.setState({ visibleA: false, }); }, //关闭详情 visitCancel() { this.setState({ visible: false, speVisible: false, activeKey: "1", }); this.reset(); }, visitOk() { this.setState({ visible: false, }); this.reset(); }, setColor() { $(".userName span").after( "(<span class='ruanzhu'>软著数</span>/<span class='xiazheng'>下证数</span>)" ); }, closeDesc(e, s) { this.state.showDesc = e; if (s) { this.loadData(this.state.page); } }, closeAssign(e, s) { this.state.roleName = ""; this.state.assignVisible = e; if (s) { this.loadData(this.state.page); } }, nextCancel() { this.setState({ addnextVisible: false, }); }, //点击打卡项目详情 tableRowClickX(record) { this.setState({ jid: record.id, //项目ID kid: record.commodityId, //商品ID commodityName: record.commodityName, //金额 commodityPrice: record.commodityPrice, //金额 commodityQuantity: record.commodityQuantity, //数量 taskComment: record.taskComment, //备注 main: record.main.toString(), //是否为主要 addnextVisible: true, addState: 0, }); }, search() { this.loadData(); }, orderChange(key) { this.setState({ activeKey: key, }); if (key == 2) { this.orderDetailData(this.state.orderNo); this.xiangmu(this.state.orderNo); this.jiedian(this.state.orderNo); this.jiedianNew(this.state.orderNo); } }, //节点列表 jiedian(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/selectOrderDun", data: { orderNo: orderNos, }, success: function (data) { let theArr = []; let thisData = []; 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++) { thisData = data.data[i]; theArr.push({ key: i, dunSubject: thisData.dunSubject ? thisData.dunSubject.toString() : "", //催款科目 id: thisData.id, //节点Id money: thisData.money, //催款金额 dunStatus: thisData.dunStatus, //催款状态 }); } this.setState({ jiedian: theArr, }); } }.bind(this), }); }, jiedianNew(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrderDun/selectListNewOrderDun", data: { orderNo: orderNos, }, success: function (data) { if (data.error && data.error.length) { message.warning(data.error[0].message); } else { let theArr = []; let thisData = []; let arr = data.data || []; let totalCui = 0; for (let i = 0; i < arr.length; i++) { thisData = arr[i]; totalCui += +thisData.money; theArr.push({ key: i, dunSubject: thisData.dunSubject ? thisData.dunSubject.toString() : "", //催款科目 id: thisData.id, //节点Id money: thisData.money, //催款金额 // orderNo: record ? record.orderNo : this.props.datauser.orderNo, commodityName: thisData.commodityName, projectType: thisData.projectType, dunTypeName: thisData.dunTypeName, status: thisData.status, waitDay: thisData.waitDay, effectiveCount: thisData.effectiveCount, startDate: thisData.startDate, dunType: thisData.dunType, appropriationRatio: thisData.appropriationRatio, customizeName: thisData.customizeName, customizeTimes: thisData.customizeTimes, }); } if (!totalCui) { totalCui = 0; } totalCui = (Math.round(totalCui * 1000000) / 1000000).toFixed(6); this.setState({ jiedianNew: theArr, totalCui, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, orderDetailData(orderNos) { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: orderNos, }, success: function (data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); this.setState({ loading: false, }); } } else { let thisdata = data.data; this.setState({ loading: false, userName: thisdata.userName, primaryOrderNo: thisdata.primaryOrder, additionalOrder: thisdata.additionalOrder, contractNo: thisdata.contractNo, orderData: thisdata, isAddition: thisdata.additionalOrder ? true : false, contractPictureUrl: thisdata.contractPictureUrl ? splitUrl( thisdata.contractPictureUrl, ",", globalConfig.avatarHost + "/upload" ) : [], }); } }.bind(this), }); }, reset() { this.state.nameSearch = ""; this.state.releaseDate = []; this.state.orderNoSearch = ""; this.state.taskNoSearch = ""; this.state.departmenttSearch = undefined; this.loadData(this.state.page); }, searchSwitch() { this.setState({ searchMore: !this.state.searchMore, }); }, //部门 departmentList() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/organization/selectSuperId", data: {}, success: function (data) { let thedata = data.data; let theArr = []; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thedata = {}; } else { thedata.map(function (item, index) { theArr.push({ key: index, name: item.name, id: item.id, }); }); } this.setState({ departmentArr: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, rizhi() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: "/api/admin/newOrder/selectOrderLog", data: { orderNo: this.state.orderNo, }, success: function (data) { let theArr = []; let thisData = data.data; if (!thisData.length) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thisData = {}; } else { for (let i = 0; i < data.data.length; i++) { let thisdata = data.data[i]; theArr.push({ processName: thisdata.processName, adminName: thisdata.adminName, createDate: thisdata.createDate, remarks: thisdata.remarks, }); } } this.setState({ dataSourceY: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, closeOrderLog() { this.setState({ avisible: false, }); }, getOrderLog() { this.setState({ avisible: true, }); this.rizhi(); }, render() { const utils = { getSatisfaction: function (num) { switch (num) { case 0: return "未收回"; case 1: return "已收回"; default: return "其它"; } }, getChargeback: function (num) { switch (num) { case 0: return "已完成"; case 1: return "未完成"; default: return "其它"; } }, }; const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; let departmentArr = this.state.departmentArr || []; return ( <div className="user-content"> <ShowModalDiv ShowModal={this.state.showModal} /> <div className="content-title"> <span>任务查询</span> </div> <Tabs defaultActiveKey="1" onChange={this.callback} className="test"> <TabPane tab="搜索" key="1"> <div className="user-search" style={{ marginLeft: 10 }}> <Input placeholder="客户名称" style={{ width: 150 }} value={this.state.nameSearch} onChange={(e) => { this.setState({ nameSearch: e.target.value }); }} /> <Input placeholder="订单编号" value={this.state.orderNoSearch} onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} /> <Input placeholder="任务编号" value={this.state.taskNoSearch} onChange={(e) => { this.setState({ taskNoSearch: e.target.value }); }} /> <Select placeholder="选择部门" style={{ width: 150, marginRight: "10px" }} value={this.state.departmenttSearch} onChange={(e) => { this.setState({ departmenttSearch: e }); }} > {departmentArr.map(function (item) { return ( <Select.Option key={item.id}>{item.name}</Select.Option> ); })} </Select> <Button type="primary" onClick={this.search}> 搜索 </Button> <Button onClick={this.reset}>重置</Button> {/* <span>更多搜索<Switch defaultChecked={false} onChange={this.searchSwitch.bind(this)} /></span> <div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}> <span>订单时间 :</span> <RangePicker value={[this.state.releaseDate[0] ? moment(this.state.releaseDate[0]) : null, this.state.releaseDate[1] ? moment(this.state.releaseDate[1]) : null]} onChange={(data, dataString) => { this.setState({ releaseDate: dataString }); }} /> </div> */} </div> </TabPane> </Tabs> <div className="patent-table"> <Spin spinning={this.state.loading}> <Table bordered size="small" columns={this.state.columns} dataSource={this.state.dataSource} onHeaderRow={(column) => { console.log(column.index); }} pagination={this.state.pagination} onRowClick={this.tableRowClick.bind(this)} /> </Spin> </div> <Assign title="任务" selApi={"/api/admin/orderProject/projectDistribution"} data={this.state.assignData} showDesc={this.state.assignVisible} closeDesc={this.closeAssign.bind(this)} fenpaiData={8} specially={0} roleName={this.state.nub} /> <Modal className="customeDetails" footer="" title="" width="900px" visible={this.state.visible} onOk={this.visitOk} onCancel={this.visitCancel} > <Tabs activeKey={this.state.activeKey} onChange={this.orderChange}> <TabPane tab="项目概况" key="1"> <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{ paddingBottom: "00px" }} > <Spin spinning={this.state.loading}> <div className="clearfix"> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="当前项目情况" > <span>{this.state.status ? "暂停" : "开启"}</span> <Button type="primary" size="small" style={{ marginTop: "5px", position: "absolute" }} onClick={this.caozuorizhi} > 操作日志 </Button> </FormItem> <FormItem className="half-item" {...formItemLayout} label="合同编号" > <span>{this.state.contractNo}</span> </FormItem> </div> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="项目状态" > <span> {getProjectStatus(this.state.projectStatus)} </span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="是否特批" > <span>{getApproval(this.state.approval)}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="结算状态" > <span> {getLiquidationStatus(this.state.liquidationStatus)} </span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="流程状态" > <span> {getProcessStatus(this.state.processStatus)} </span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="订单编号" > <span>{this.state.orderNo}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="是否外包" > <span>{this.state.outsource == 0 ? "否" : "是"}</span> </FormItem> </div> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="满意度表格" > <span> {utils.getSatisfaction(this.state.formRetrieve)} </span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="退单" > <span> {utils.getChargeback(this.state.taskRefund)} </span> </FormItem> </div> <div className="clearfix"> { <FormItem className="half-item" {...formItemLayout} label="(满意度)备注" > <span>{this.state.retrieveContent}</span> </FormItem> } { <FormItem className="half-item" {...formItemLayout} label="(退单)备注" > <span>{this.state.refundContent}</span> </FormItem> } </div> <div className="clearfix"> <h3 className="sub-title">任务信息</h3> <FormItem className="half-item" {...formItemLayout} label="任务编号" > <span> {this.state.splitStatus == 2 ? this.state.splitSuper + "-" + this.state.splitId : this.state.id} </span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="任务名称" > <span>{this.state.taskName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="任务状态" > <span>{getTaskStatus(this.state.taskStatus)}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="任务类别" > <span>{this.state.cname}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="证书编号" > <span>{this.state.certificateNumber}</span> </FormItem> </div> {/*{this.state.outsource === 1 ? (*/} {/* <div className="clearfix">*/} {/* <h3 className="sub-title">外包信息</h3>*/} {/* <FormItem*/} {/* className="half-item"*/} {/* {...formItemLayout}*/} {/* label="外包公司"*/} {/* >*/} {/* <span>{this.state.outsourceName}</span>*/} {/* </FormItem>*/} {/* <FormItem*/} {/* className="half-item"*/} {/* {...formItemLayout}*/} {/* label="外包成本(万元)"*/} {/* >*/} {/* <span>{this.state.outsourcePrice}</span>*/} {/* </FormItem>*/} {/* </div>*/} {/*) : (*/} {/* ""*/} {/*)}*/} {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/} <div className="clearfix"> <h3 className="sub-title">联系信息</h3> <FormItem className="half-item" {...formItemLayout} label="客户名称" > <span>{this.state.userName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="企业法人" > <span>{this.state.legalPerson}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="法人电话" > <span>{this.state.legalPersonTel}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="客户联系人" > <span>{this.state.contacts}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="联系人电话" > <span>{this.state.contactMobile}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="企业地址" > <span> {getprovince(this.state.locationProvince)}/ {getprovince(this.state.locationCity)}/ {getprovince(this.state.locationArea)} </span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="" ></FormItem> <FormItem className="half-item" {...formItemLayout}> <span style={{ paddingLeft: "12em" }}> {this.state.postalAddress} </span> </FormItem> </div> {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/} <div className="clearfix"> <h3 className="sub-title">订单负责人信息</h3> <FormItem className="half-item" {...formItemLayout} label="负责人" > <span> {this.state.salesmanName + "(" + this.state.depName + ")"} </span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="负责人电话" > <span>{this.state.salesmanMobile}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="当前财务负责人" > <span>{this.state.nowFinance}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="当前财务负责人电话" > <span>{this.state.nowFinanceMobile}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} style={{ opacity: ".5" }} label="原负责人" > <span>{this.state.oldSalesmanName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} style={{ opacity: ".5" }} label="原负责人电话" > <span>{this.state.oldSalesmanMobile}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} style={{ opacity: ".5" }} label="实际财务操作人" > <span>{this.state.financeName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} style={{ opacity: ".5" }} label="实际财务操作人电话" > <span>{this.state.financeMobile}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="订单留言" > <span>{this.state.orderRemarks}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="" > <Button onClick={this.getOrderLog}>查看订单日志</Button> </FormItem> <OrderRiZi dataSourcerizhi={this.state.dataSourceY} closeOrderLog={this.closeOrderLog} visible={this.state.avisible} loading={this.state.loading} /> </div> <div className="clearfix"> <h3 className="sub-title">申报系统账户信息</h3> {/*<span style={{color:'red'}}>注:仅技术部可见</span>*/} <FormItem className="half-item" {...formItemLayout} label="用户名" > <span>{this.state.declareUser}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="密码" > <span>{this.state.declarePwd}</span> </FormItem> </div> <div className="clearfix"> <h3 className="sub-title">项目申报进度</h3> <FormItem className="half-item" {...formItemLayout} label="申报批次" > <span>{this.state.declarationBatch}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="启动时间" > <span>{this.state.startDate}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="完成时间" > <span>{this.state.endDate}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="受理时间" > <span>{this.state.acceptDate}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="评审时间" > <span>{this.state.reviewDate}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="公示时间" > <span>{this.state.publicityDate}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="发证时间" > <span>{this.state.licenceDate}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="立项金额(万元)" > <span>{this.state.setUpAmount}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="是否到款" > <span> {this.state.arrivalMoney ? "已到企业" : "未到企业"} </span> </FormItem> </div> <div className="clearfix"> <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="附件" > <Upload className="demandDetailShow-upload" listType="picture-card" fileList={this.state.attachmentUrl} onPreview={(file) => { this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true, }); }} ></Upload> <Modal maskClosable={false} footer={null} visible={this.state.previewVisible} onCancel={() => { this.setState({ previewVisible: false }); }} > <img alt="" style={{ width: "100%" }} src={this.state.previewImage || ""} /> </Modal> </FormItem> </div> <div className="clearfix"> <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 16 }} label="备注" > <span>{this.state.taskComment}</span> </FormItem> </div> <div> <h3 className="sub-title">项目业务</h3> {this.state.processStatus == 0 ? ( <Button type="primary" onClick={this.addDetailed} style={{ float: "right", marginRight: "50px", marginBottom: "15px", }} > 添加项目明细 </Button> ) : ( "" )} </div> <div className="patent-table"> <Spin spinning={this.state.loading}> <Table columns={this.state.columnsX} dataSource={this.state.dataSourceX} pagination={this.state.paginations} onRowClick={this.tableRowClickX} bordered size="small" /> </Spin> </div> </div> </Spin> </Form> </TabPane> {!this.props.isZxs || (this.state.isHuiyuan && this.props.isZxs) ? ( <TabPane tab="订单详情" key="2"> <Spin spinning={this.state.loading}> <OrderDetail orderData={this.state.orderData} getOrderLog={this.getOrderLog} dataSourceX={this.state.dataSourceX} contactList={this.state.jiedian} orderNo={this.state.orderNo} totalCui={this.state.totalCui} contactListNew={this.state.jiedianNew} pictureUrl={this.state.contractPictureUrl} /> </Spin> </TabPane> ) : ( "" )} </Tabs> </Modal> <Modal maskClosable={false} visible={this.state.addnextVisible} onOk={this.nextCancel} onCancel={this.nextCancel} width="900px" title="项目任务详情" footer="" className="admin-desc-content" > <Form layout="horizontal" onSubmit={this.nextSubmit} id="demand-form"> <Spin spinning={this.state.loading}> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="项目名称" > <span>{this.state.commodityName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="项目数量" > <span>{this.state.commodityQuantity}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="金额(万元)" > <span>{this.state.commodityPrice}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="主要项目" > <span>{getboutique(this.state.main)}</span> </FormItem> <div className="clearfix"> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="服务说明" > <span>{this.state.taskComment}</span> </FormItem> </div> </div> </Spin> </Form> </Modal> <Modal width="800px" title="操作日志" footer="" className="admin-desc-content" > <div className="patent-table patent-table-center"> <Spin spinning={this.state.loading}> <Table columns={this.state.columnsY} bordered size="small" /> </Spin> </div> </Modal> <Modal maskClosable={false} visible={this.state.speVisible} onOk={this.visitOk} onCancel={this.visitCancel} width="900px" title="" footer="" className="admin-desc-content" > <Tabs activeKey={this.state.activeKey} onChange={this.orderChange}> <TabPane tab="项目概况" key="1"> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="当前项目情况" > <span>{this.state.status ? "暂停" : "开启"}</span> <Button type="primary" size="small" style={{ marginTop: "5px", position: "absolute" }} onClick={this.caozuorizhi} > 操作日志 </Button> </FormItem> <FormItem className="half-item" {...formItemLayout} label="合同编号" > <span>{this.state.contractNo}</span> </FormItem> </div> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="项目状态" > <span>{getProjectStatus(this.state.projectStatus)}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="是否特批" > <span>{getApproval(this.state.approval)}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="结算状态" > <span> {getLiquidationStatus(this.state.liquidationStatus)} </span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="流程状态" > <span>{getProcessStatus(this.state.processStatus)}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="订单编号" > <span>{this.state.orderNo}</span> </FormItem> </div> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="满意度表格" > <span>{utils.getSatisfaction(this.state.formRetrieve)}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="退单" > <span>{utils.getChargeback(this.state.taskRefund)}</span> </FormItem> </div> <div className="clearfix"> { <FormItem className="half-item" {...formItemLayout} label="(满意度)备注" > <span>{this.state.retrieveContent}</span> </FormItem> } { <FormItem className="half-item" {...formItemLayout} label="(退单)备注" > <span>{this.state.refundContent}</span> </FormItem> } </div> <div className="clearfix"> <h3 className="sub-title">任务信息</h3> <FormItem className="half-item" {...formItemLayout} label="任务编号" > <span> {this.state.splitStatus == 2 ? this.state.splitSuper + "-" + this.state.splitId : this.state.id} </span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="任务名称" > <span>{this.state.taskName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="任务状态" > <span>{getTaskStatus(this.state.taskStatus)}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="任务类别" > <span>{this.state.cname}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="证书编号" > <span>{this.state.certificateNumber}</span> </FormItem> </div> {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/} <div className="clearfix"> <h3 className="sub-title">联系信息</h3> <FormItem className="half-item" {...formItemLayout} label="客户名称" > <span>{this.state.userName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="企业法人" > <span>{this.state.legalPerson}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="法人电话" > <span>{this.state.legalPersonTel}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="客户联系人" > <span>{this.state.contacts}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="联系人电话" > <span>{this.state.contactMobile}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="企业地址" > <span> {getprovince(this.state.locationProvince)}/ {getprovince(this.state.locationCity)}/ {getprovince(this.state.locationArea)} </span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="" ></FormItem> <FormItem className="half-item" {...formItemLayout} label=""> <span style={{ paddingLeft: "12em" }}> {this.state.postalAddress} </span> </FormItem> </div> {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/} <div className="clearfix"> <h3 className="sub-title">订单负责人信息</h3> <FormItem className="half-item" {...formItemLayout} label="负责人" > <span> {this.state.salesmanName + "(" + this.state.depName + ")"} </span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="负责人电话" > <span>{this.state.salesmanMobile}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="财务负责人" > <span>{this.state.financeName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="财务负责人电话" > <span>{this.state.financeMobile}</span> </FormItem> </div> <div className="clearfix" style={{ marginTop: "10px" }}> <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="附件" > <Upload className="demandDetailShow-upload" listType="picture-card" fileList={this.state.attachmentUrl} onPreview={(file) => { this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true, }); }} ></Upload> <Modal maskClosable={false} footer={null} visible={this.state.previewVisible} onCancel={() => { this.setState({ previewVisible: false }); }} > <img alt="" style={{ width: "100%" }} src={this.state.previewImage || ""} /> </Modal> </FormItem> </div> <div className="clearfix"> <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 16 }} label="备注" > <span>{this.state.taskComment}</span> </FormItem> </div> <div className="clearfix"> <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 16 }} label="订单留言" > <span>{this.state.orderRemarks}</span> </FormItem> </div> <div className="clearfix"> <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 16 }} label="" > <Button style={{ marginLeft: 500 }} onClick={this.getOrderLog} > 查看订单日志 </Button> </FormItem> </div> <OrderRiZi dataSourcerizhi={this.state.dataSourceY} closeOrderLog={this.closeOrderLog} visible={this.state.avisible} loading={this.state.loading} /> <div className="clearfix"> <h3 className="sub-title">项目申报进度</h3> <FormItem className="half-item" {...formItemLayout} label="申报批次" > <span>{this.state.declarationBatch}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="启动时间" > <span>{this.state.startDate}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="软著派单数量" > <span>{this.state.commodityQuantity}</span> </FormItem> <div className="patent-table patent-table-center"> <Spin spinning={this.state.loading}> <Table columns={this.state.ContactsLists} dataSource={this.state.contactList} pagination={false} bordered size="small" /> </Spin> </div> </div> <div className="clearfix"> <h3 className="sub-title">项目业务</h3> <div className="patent-table"> <Spin spinning={this.state.loading}> <Table columns={this.state.columnsX} dataSource={this.state.dataSourceX} pagination={this.state.paginations} onRowClick={this.tableRowClickX} bordered size="small" /> </Spin> </div> </div> </TabPane> {!this.props.isZxs || (this.state.isHuiyuan && this.props.isZxs) ? ( <TabPane tab="订单详情" key="2"> <Spin spinning={this.state.loading}> <OrderDetail orderData={this.state.orderData} getOrderLog={this.getOrderLog} dataSourceX={this.state.dataSourceX} contactList={this.state.jiedian} orderNo={this.state.orderNo} totalCui={this.state.totalCui} contactListNew={this.state.jiedianNew} pictureUrl={this.state.contractPictureUrl} /> </Spin> </TabPane> ) : ( "" )} </Tabs> </Modal> <Modal width="800px" visible={this.state.visibleA} onCancel={this.visitCancelA} 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> {this.state.resVisible ? ( <ResolutionDetail cancel={this.resCancel} detail={this.state.resRecord} visible={this.state.resVisible} id={this.state.resRecord.orderNo} /> ) : ( "" )} </div> ); }, }); export default Task;