import React from 'react'; import { Button, Input, Spin, Table, message,DatePicker, Upload, Form ,Modal,Tabs, Select, Tag} from 'antd'; import $ from 'jquery/src/ajax'; import moment from 'moment'; import { getLiquidationStatus, getProcessStatus, splitUrl, getboutique, getTaskStatus, getApproval, getprovince, ShowModal, getProjectStatus } from "@/tools.js"; import ShowModalDiv from "@/showModal.jsx"; import ResolutionDetail from "@/resolutionDetail"; import OrderRiZi from "@/orderRiZi.jsx"; const {TabPane} = Tabs const IntentionCustomer = Form.create()( React.createClass({ loadData(pageNo) { this.setState({ visitModul: false, loadingA: true, ispage: pageNo, modalVisible: false }); let nameText = this.state.SuperArr; let superText = this.state.cid && typeof this.state.cid != "object" ? nameText[parseInt(this.state.cid)].id : ""; if (superText) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderProject/taskHoursList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, name: this.state.customerName, //名称 taskId: this.state.idSearch, //订单编号 orderNo: this.state.orderNoSearch, starTime: this.state.releaseDate[0], //开始时间 endTime: this.state.releaseDate[1], //结束时间 contractNo: this.state.contractNoSearch, cid: superText, //业务分类 depId: this.state.departmenttList, //部门ID outsource: this.state.outsourceSearch }, 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.list.length; i++) { let thisdata = data.data.list[i]; theArr.push({ key: i, id: thisdata.id, //ID orderNo: thisdata.orderNo, //订单编号 taskName: thisdata.taskName, //任务名称 userName: thisdata.userName, //客户名称 cname: thisdata.cname, //项目品类 taskStatus: thisdata.taskStatus, //任务状态 receiverName: thisdata.receiverName, //负责人 hours: thisdata.hours, //任务工时 depName: thisdata.depName, //派单公司 contractNo: thisdata.contractNo, signTime: thisdata.signTime, creteTime: thisdata.creteTime, projectStatus: thisdata.projectStatus, commodityPrice: thisdata.commodityPrice, //价格 commodityQuantity: thisdata.commodityQuantity, //数量 salesmanName: thisdata.salesmanName, //订单负责人 taskDistributionTime: thisdata.taskDistributionTime, taskEndTime: thisdata.taskEndTime, outsource: thisdata.outsource, splitStatus: thisdata.splitStatus, splitSuper: thisdata.splitSuper, splitId: thisdata.splitId }); } this.state.pagination.total = data.data.totalCount; } if (data.data && data.data.list && !data.data.list.length) { this.state.pagination.total = 0; } this.setState({ dataSource: theArr, pageNo: pageNo, pagination: this.state.pagination, selectedRowKeys: [] }); }.bind(this) }).always( function() { this.setState({ loadingA: false }); }.bind(this) ); } else { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderProject/taskHoursList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, name: this.state.customerName, //名称 taskId: this.state.idSearch, //订单编号 orderNo: this.state.orderNoSearch, starTime: this.state.releaseDate[0], //开始时间 endTime: this.state.releaseDate[1], //结束时间 contractNo: this.state.contractNoSearch, depId: this.state.departmenttList, //部门ID outsource: this.state.outsourceSearch }, 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.list.length; i++) { let thisdata = data.data.list[i]; thisdata.key = i; theArr.push(thisdata); } this.state.pagination.total = data.data.totalCount; } if (data.data && data.data.list && !data.data.list.length) { this.state.pagination.total = 0; } this.setState({ dataSource: theArr, pageNo: pageNo, pagination: this.state.pagination, selectedRowKeys: [] }); }.bind(this) }).always( function() { this.setState({ loadingA: false }); }.bind(this) ); } }, getInitialState() { return { page: 1, releaseDate: [], selectedRowKeys: [], orgCodeUrl: [], loadingA: false, paginations: 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: "contractNo", key: "contractNo" }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo" }, { title: "项目编号", dataIndex: "id", key: "id", render: (text, record) => { if (record.splitStatus == 2) { return <span>{record.splitSuper + "-" + record.splitId}</span>; } else { return text; } } }, { title: "客户名称", dataIndex: "userName", key: "userName", render: text => { return text && text.length > 9 ? text.substr(0, 9) + "..." : text; } }, { title: "订单部门", dataIndex: "depName", key: "depName" }, { title: "订单负责人", dataIndex: "salesmanName", key: "salesmanName" }, { title: "项目类别", dataIndex: "cname", key: "cname" }, { title: "项目名称", dataIndex: "taskName", key: "taskName" }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName" }, { title: "项目价格(万元)", dataIndex: "commodityPrice", key: "commodityPrice" }, { title: "实际成本(万元)", dataIndex: "costAmount", key: "costAmount" }, { title: "已付成本(万元)", dataIndex: "partyAmount", key: "partyAmount" }, { title: "数量(个)", dataIndex: "commodityQuantity", key: "commodityQuantity" }, { title: "任务状态", dataIndex: "taskStatus", key: "taskStatus", render: text => { return getTaskStatus(text); } }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: text => { return getProjectStatus(text); } }, { title: "工时", dataIndex: "hours", key: "hours" }, { title: "是否外包", dataIndex: "outsource", key: "outsource", render: text => { if (text == 0) { return "否"; } else if (text == 1) { return "是"; } } }, { title: "签单日期", dataIndex: "signTime", key: "signTime" }, { title: "派单日期", dataIndex: "creteTime", key: "creteTime" }, { title: "分配时间", dataIndex: "taskDistributionTime", key: "taskDistributionTime" }, { title: "完成时间", dataIndex: "taskEndTime", key: "taskEndTime" } ], data: [], dataSource: [], 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" } ] }; }, 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); } } 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) ); }, //页面加载函数 componentWillMount() { this.loadData(); this.selectSuperId(); this.departmentList(); }, // //整行点击 tableRowClick(record) { this.state.RowData = record; if (record.taskName.substring(0, 5) === "软件著作权") { this.setState({ speVisible: true, id: record.id, dataArr: record, commodityQuantity: record.commodityQuantity }); } else { this.setState({ visible: true }); } this.xiangqing(record.id, record.taskName); this.xiangqings(record.orderNo); this.xiangmu(record.orderNo); this.loaduserss(record); }, //订单详情 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, //外包价格 splitStatus: thisdata.splitStatus, //是否为子项目 2是 1主项目 splitSuper: thisdata.splitSuper, splitId: thisdata.splitId, 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, //营销员电话 financeName: thisdata.financeName, //财务名称 financeMobile: thisdata.financeMobile, //财务电话 oldSalesmanName: thisdata.oldSalesmanName, //营销员名称 oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话 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) ); }, //操作日志 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 }); }, //项目列表 xiangmu(orderNos) { $.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) ); }, // 拆分详细 showRes(record) { this.setState({ resVisible: true, resRecord: record }); }, resCancel() { this.setState({ resVisible: false }); }, //关闭输入理由框 noCancel() { this.setState({ noVisible: false }); }, //搜索 search() { this.setState({ //signBillVisible:false }); this.loadData(); }, //重置 reset() { this.setState({ signBillVisible: false }); this.state.orderNo = ""; this.state.customerName = ""; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.state.orderNoSearch = ""; this.state.departmenttList = []; this.state.cid = []; this.state.contractNoSearch = ""; this.state.outsourceSearch = []; this.loadData(this.state.page); }, resets() { this.state.orderNo = ""; this.state.customerName = ""; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; }, getOrgCodeUrl(e) { this.setState({ orgCodeUrl: e }); }, 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 }); }, //关闭详情 visitCancel() { this.setState({ visible: false, speVisible: false }); this.resets(); }, visitOk() { this.setState({ visible: false }); this.resets(); }, //关闭详情 visitCancels() { this.setState({ visibles: false }); this.resets(); }, //导出 exportExec() { var data = { name: this.state.customerName ? this.state.customerName : undefined, //订单负责人 taskId: this.state.orderNo ? this.state.orderNo : undefined, //订单编号 starTime: this.state.releaseDate[0] ? this.state.releaseDate[0] : undefined, endTime: this.state.releaseDate[1] ? this.state.releaseDate[1] : undefined }; window.location.href = globalConfig.context + "/api/admin/orderProject/exportMyTaskList?" + $.param(data); }, visitOks() { this.setState({ visibles: false }); this.resets(); }, selectSuperId() { this.state.data = []; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/ProjectSize/getAllCname", data: { flag: 0 }, success: function(data) { let theArr = []; let thedata = data.data; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thedata = {}; } var contactIds = []; for (var i = 0; i < data.data.length; i++) { let theData = data.data[i]; theArr.push( <Select.Option value={i.toString()} key={theData.cname}> {theData.cname} </Select.Option> ); } this.setState({ SuperArr: thedata, contactsOption: theArr, orderStatusOptions: data.data }); }.bind(this) }).always( function() { this.loadData(this.state.ispage); 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 formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 } }; 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 FormItem = Form.Item; const { RangePicker } = DatePicker; const departmentArr = this.state.departmentArr || []; const isWai = [ { id: 0, name: "非外包" }, { id: 1, name: "外包" } ]; return ( <div className="user-content"> {this.state.resVisible ? ( <ResolutionDetail cancel={this.resCancel} detail={this.state.resRecord} visible={this.state.resVisible} id={this.state.resRecord.orderNo} /> ) : ( "" )} <ShowModalDiv ShowModal={this.state.showModal} /> <div className="content-title"> <span>工时数据统计</span> </div> <div className="user-search"> <Tabs defaultActiveKey="1" onChange={this.callback} className="test" > <TabPane tab="搜索" key="1"> <Input placeholder="客户名称" style={{ width: "150px", marginBottom: "10px", marginTop: 10, marginLeft: 10, marginRight: 10, }} value={this.state.customerName} onChange={(e) => { this.setState({ customerName: e.target.value }); }} /> <Input placeholder="任务编号" style={{ width: "150px", marginRight: 10 }} value={this.state.idSearch} onChange={(e) => { this.setState({ idSearch: e.target.value }); }} /> <Input placeholder="订单编号" style={{ width: "150px", marginRight: 10 }} value={this.state.orderNoSearch} onChange={(e) => { this.setState({ orderNoSearch: e.target.value, }); }} /> <Input placeholder="合同编号" style={{ width: "150px", marginRight: 10 }} value={this.state.contractNoSearch} onChange={(e) => { this.setState({ contractNoSearch: e.target.value, }); }} /> <Select placeholder="订单部门" style={{ width: 150, marginRight: 10 }} value={this.state.departmenttList} onChange={(e) => { this.setState({ departmenttList: e }); }} > {departmentArr.map(function (item) { return ( <Select.Option key={item.id}>{item.name}</Select.Option> ); })} </Select> <Select placeholder="项目类别" style={{ width: "150", marginRight: "10px" }} value={this.state.cid} onChange={(e) => { this.setState({ cid: e }); }} notFoundContent="未获取到上级品类列表" > {this.state.contactsOption} </Select> <Select placeholder="是否外包" style={{ width: "150", marginRight: "10px" }} value={this.state.outsourceSearch} onChange={(e) => { this.setState({ outsourceSearch: e }); }} > {isWai.map(function (item) { return ( <Select.Option key={item.id}>{item.name}</Select.Option> ); })} </Select> <span style={{ marginRight: "10px" }}>合同签订时间 :</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 }); }} /> <Button type="primary" onClick={this.search} style={{ marginLeft: "10px", marginRight: 10 }} > 搜索 </Button> <Button onClick={this.reset}>重置</Button> </TabPane> <TabPane tab="导出" key="2"> <Button type="primary" onClick={this.exportExec} style={{ margin: "10px" }} > 导出工时数据 </Button> </TabPane> </Tabs> <div className="patent-table"> <Spin spinning={this.state.loadingA}> <Table columns={this.state.columns} dataSource={this.state.dataSource} pagination={this.state.pagination} onRowClick={this.tableRowClick.bind(this)} scroll={{ x: "max-content", y: 0 }} bordered size="small" /> </Spin> </div> </div> <Modal className="customeDetails" footer="" title="项目概况" width="900px" visible={this.state.visible} onOk={this.visitOk} onCancel={this.visitCancel} > <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> </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} label="详细地址" > <span>{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} size="small" bordered pagination={this.state.paginations} onRowClick={this.tableRowClickX} /> </Spin> </div> </div> </Spin> </Form> </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} /> </Spin> </div> </Modal> <Modal maskClosable={false} visible={this.state.speVisible} onOk={this.visitOk} onCancel={this.visitCancel} width="900px" title="项目概况" footer="" className="admin-desc-content" > <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> <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" 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"> <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} /> </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} /> </Spin> </div> </div> </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} /> </Spin> </div> </Modal> </div> ); } }) ); export default IntentionCustomer;