import React, { Component } from 'react';
import {
Button,
Cascader,
DatePicker,
Form,
Input,
message,
Modal,
Radio,
Select,
Spin,
Table,
Tabs,
Tag,
Tooltip,
Upload
} from "antd";
import Picture from '@/manageCenter/publicComponent/picture'
import {
getProcessStatus,
getApproval,
getTaskStatus,
getLiquidationStatus,
splitUrl,
getProjectStatus,
getboutique,
getprovince,
ShowModal,
getRefundStatus,
getProjectName
} from '@/tools'
import { taskStatus, projectStatus, cuiJieDian } from '@/dataDic.js'
import { areaSelect } from '@/NewDicProvinceList'
import '@/manageCenter/financialManage/distribute/public.less'
import '@/manageCenter/financialManage/distribute/shouKuan.less'
import OrderRiZi from '@/orderRiZi.jsx'
import moment from "moment";
import $ from "jquery";
import PatentSchedule from '../../patentSchedule';
import DeclarationProgress from "../../../../../common/declarationProgress";
import EnterpriseNameChange from "../../../../../common/enterpriseNameChange";
import ProjectOperation from "../../../../../common/projectOperation";
const FormItem = Form.Item
const { Option } = Select
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 '其它'
}
},
}
class projectOverview extends Component {
constructor(props) {
super(props);
this.state = {
timeRecordparse: {},
loading: false,
projectStatus: props.projectStatus,
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function (page) {
this.loadData(page)
}.bind(this),
showTotal: function (total) {
return '共' + total + '条数据'
},
},
attachmentUrl: [],
paginations: false,
columnsX: [
{
title: '业务项目名称',
dataIndex: 'commodityName',
key: 'commodityName',
render: (text, record) => {
return (
{text}{record.patentTypeName}
)
}
},
{
title: '项目类别',
dataIndex: 'cname',
key: 'cname',
},
{
title: '项目数量',
dataIndex: 'commodityQuantity',
key: 'commodityQuantity',
render: (text, record) => {
if (record.splitStatus == 1) {
return (
{text}{' '}
{
e.stopPropagation()
this.showRes(record)
}}
>
已拆
)
} 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: "yearSum",
key: "yearSum",
render: (text, record) => {
return (
{["", "一年", "二年", "三年", "四年", "五年"][text]}
);
}
},
{
title: "年限",
dataIndex: "serviceLife",
key: "serviceLife",
render: (text, record) => {
return (
{!!text && JSON.parse(text).toString()}
);
}
},
{
title: "本次派单",
dataIndex: "serviceYear",
key: "serviceYear",
render: (text, record) => {
return (
{!text ? "" : text}
);
}
},
{
title: '项目说明',
dataIndex: 'taskComment',
key: 'taskComment',
render: (text) => {
return (
{text}
)
},
},
],
columnsA: [
{
title: '流程',
dataIndex: 'content',
key: 'content',
align: 'center',
},
{
title: '操作人',
dataIndex: 'aName',
key: 'aName',
align: 'center',
},
{
title: '时间',
dataIndex: 'createTimes',
key: 'createTimes',
align: 'center',
},
],
editFw: {},
}
this.visitCancelA = this.visitCancelA.bind(this);
this.caozuorizhi = this.caozuorizhi.bind(this);
this.tableRowClickX = this.tableRowClickX.bind(this);
}
//关闭操作工时
visitCancelA() {
this.setState({
visibleA: false,
})
}
componentDidMount() {
this.setState({
isIso: this.props.taskName.indexOf("贯标") !== -1,
})
this.xiangqing(this.props.tid);
this.loadData();
}
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)
)
}
//订单详情
xiangqing(id) {
$.ajax({
method: 'get',
dataType: 'json',
crossDomain: false,
url: globalConfig.context + '/api/admin/orderProject/orderTaskDetail',
data: {
id: id,
},
success: function (data) {
let thisdata = data.data
if (data.error.length || data.data.list == '') {
if (data.error && data.error.length) {
message.warning(data.error[0].message)
}
} else {
this.setState({
certificationCorporate: thisdata.certificationCorporate,//认证费公司
certificationFee: thisdata.certificationFee,//认证费
ifCertificationFee: thisdata.ifCertificationFee,//是否包含认证费
id: thisdata.id, //ID
orderNo: thisdata.orderNo, //订单编号
userName: thisdata.userName, //客户名称
taskName: thisdata.taskName, //项目名称
cname: thisdata.cname, //项目品类
contractNo: thisdata.contractNo, //合同编号
projectStatus: thisdata.projectStatus.toString(), //项目状态
taskStatus: thisdata.taskStatus.toString(), //项目状态
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, //密码
outsourceName: thisdata.outsourceName, //外包公司
outsourcePrice: thisdata.outsourcePrice, //外包价格
declarationBatch: thisdata.declarationBatch,
bpType: thisdata.bpType,//0 正常 1专利 2软著 3审计 4双软 5高新 6商标
specialComment: thisdata.specialComment,
urgentDay: thisdata.urgentDay, //有无方案
ifMaterial: thisdata.ifMaterial, //加急情况
spotCheckStatus: thisdata.spotCheckStatus,
setUpStatus: thisdata.setUpStatus,
setUpTime: thisdata.setUpTime,
highTechStatus: thisdata.highTechStatus,
acceptCount: thisdata.acceptCount, //受理数
certificatesCount: thisdata.certificatesCount, //授权数
rejectCount: thisdata.rejectCount, //驳回数
commodityQuantity: thisdata.commodityQuantity, //派单项目数
timeRecordparse: thisdata.timeRecord ? JSON.parse(thisdata.timeRecord) : {},
})
this.loadData(thisdata.orderNo);
this.xiangqings(thisdata.orderNo);
this.xiangmu(thisdata.orderNo)
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
})
}.bind(this)
)
}
loadData(pageNo) {
this.state.data = []
this.setState({
page: pageNo,
loading: true,
})
$.ajax({
method: 'get',
dataType: 'json',
crossDomain: false,
url: globalConfig.context + '/api/admin/orderProject/orderTaskList',
data: {
// pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
specially: 0, //个人
name: this.state.nameSearch, //客户名称
depId: this.state.departmenttSearch, //订单部门
orderNo: this.state.orderNoSearch, //订单编号
contractNo: this.state.contractNoSearch, //合同编号
taskId: this.state.taskNoSearch, //项目编号
taskStatus: this.state.taskStatuSearch, //项目状态
projectStatus: this.state.projectStatusSearch, //项目状态
adminName: this.state.adminName, //项目受理人
approval: this.state.approvalSearch, //特批状态搜索
outsourceStatus:
this.state.outsourceStatusSearch >= 999
? undefined
: this.state.outsourceStatusSearch, //外包状态搜索
},
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, //项目品类
receiverName: thisdata.receiverName, //受理人
projectStatus: thisdata.projectStatus, //项目状态
taskStatus: thisdata.taskStatus, //项目状态
taskDate: thisdata.taskDate, //分配时间
userName:
thisdata.taskName.substring(0, 5) === '软件著作权'
? thisdata.userName +
'(' +
thisdata.commodityQuantity.toString() +
'/' +
thisdata.alreadyNumber +
')'
: thisdata.userName, //用户名
depName: thisdata.depName, //部门名称
commodityQuantity: thisdata.commodityQuantity, //项目数量
hours: thisdata.hours,
contractNo: thisdata.contractNo,
approval: thisdata.approval, //特批状态
outsourceStatus: thisdata.outsourceStatus, //外包审核状态
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)
)
}
//订单详情
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({
orderUid: thisdata.uid,
examineName: thisdata.examineName,
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, //订单部门
ProvinceCity: ProvinceCityArr[0] === null ? [] : ProvinceCityArr,
postalAddress: thisdata.postalAddress, //详细地址
})
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
})
}.bind(this)
)
}
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]
localStorage.setItem('cSort', thisdata.cSort)
thisdata.key = i;
theArr.push(thisdata)
}
}
this.setState({
dataSourceX: theArr,
type: theArr[0].type,
cSort: theArr[0].cSort,
})
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
})
}.bind(this)
)
}
tableRowClickX(record) {
this.setState({
editFw: record,
projectOperationVisible: true,
})
}
render() {
const { editFw } = this.state;
return (
)
}
}
export default projectOverview;