import React from "react";
import $ from "jquery/src/ajax";
import { AutoComplete, Button, Input, Spin, Table, Select, message, Tabs, Tag, Tooltip, Modal } from "antd";
import OrderDesc from "../../financialManage/orderDetail/orderDesc"
import ResolutionDetail from "@/resolutionDetail";
import { ChooseList } from "../../order/orderNew/chooseList"
import ReactToPrint from "react-to-print";
import OrderItemStatus from "../../../common/orderItemStatus";
import { salesList, approvalOptions } from "@/dataDic.js";
import ProjectOperationVip from "../../../common/projectOperation/vip";
import ShowModalDiv from "@/showModal.jsx";
import VipLogs from "../../../common/logPopup/viplogs";//会员日志
import { splitUrl, getApprovalTag, getApprovedType } from "@/tools";
import ImgList from "../../../common/imgList";
import Cascaders from "../../../common/cascaders";
const { TabPane } = Tabs;
//我的会员项目列表
const MyProjectVip = React.createClass({
//
getInitialState() {
return {
approvaType: [],
dvisible: false,
pageNo: 1,
totalPage: 0,
searchValues: {},//查询条件
loading: false,
changeList: undefined,// 子组件改变的表格title数组
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function (page) {
this.setState({
pageNo: page,
});
this.loadData(page);
}.bind(this),
showTotal: function (total) {
return "共" + total + "条数据";
},
},
columns: [
{
title: "销售类型",
dataIndex: "salesType",
key: "salesType",
render: (text, record) => {
return (
{salesList[text]}
);
},
},
{
title: "特批类型",
dataIndex: "type",
key: "type",
width: 110,
render: (text, record) => {
return (
{getApprovedType(text ? text.split(",").map(Number) : [], record.typeExplain)}
);
},
},
{
title: "合同编号",
dataIndex: "contractNo",
key: "contractNo",
width: 160,
render: (text, record) => {
return (
{
e.stopPropagation();
let input = document.getElementById("copyText");
input.value = text;
input.select();
document.execCommand("copy");
message.success("复制成功");
}}
>
复制
}
>
{text}
{getApprovalTag(record.approval)}
);
},
},
{
title: "客户名称",
dataIndex: "userName",
key: "userName",
width: 160,
render: text => {
return (
{text}
)
}
},
{
title: "订单编号",
dataIndex: "orderNo",
key: "orderNo",
width: 140,
render: (text, record) => {
return (
{
e.stopPropagation();
let input = document.getElementById("copyText");
input.value = text;
input.select();
document.execCommand("copy");
message.success("复制成功");
}}
>
复制
}
>
{text}
{record.totalAmount >= 10 && 大客户}
{record.projectType == 1 && 会员}
);
},
},
{
title: "订单部门",
dataIndex: "depName",
key: "depName",
},
{
title: "订单负责人",
dataIndex: "salesmanName",
key: "salesmanName",
},
{
title: "财务负责人",
dataIndex: "financeName",
key: "financeName",
},
{
title: "会员项目",
dataIndex: "projectName",
key: "projectName",
render: (text, record) => {
return (
{text}
{(record.memberType == 1 || record.memberType == 2) && 特批项目}
)
}
},
{
title: "数量",
dataIndex: "commodityQuantity",
key: "commodityQuantity",
},
{
title: "总年限",
dataIndex: "yearSum",
key: "yearSum",
render: (text, record) => {
return (
{["", "一年", "二年", "三年", "四年", "五年"][text]}
);
}
},
{
title: "年限",
dataIndex: "serviceLife",
key: "serviceLife",
width: 60,
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, record) => {
return (
{text}
);
}
},
{
title: "状态",
dataIndex: "status",
key: "status",
width: 80,
render: (text, record) => {
return (
{text != 1 &&
{["", "财务审核", `公司/部门管理审核`, "通过", "驳回"][text]}
}
{text == 1 &&
{record.examineType == 1
? "财务审核" : record.examineType == 2
? "财务复审" : record.examineType == 3 && "财务审核"
}
{record.examineType == 3 &&
财务复审
}
}
);
}
},
{
title: "操作",
dataIndex: "pictureUrl",
key: "pictureUrl",
width: 110,
render: (text, recard) => {
return (
{
recard.status == 4 &&
}
);
},
},
],
dataSource: [],
fjlist: [],// 营销员列表
checkOrderNo: "",//操作订单编号
checkData: "",//操作描述
checkVisible: "",//审核弹窗开关
checkId: "",//会员项目编号
result: -1,//1同意 0驳回
vipVisible: false,//编辑弹窗
dataInfor: {},//编辑的数据
imgListVisible: false,//附件弹窗
pictureUrlArr: [],//附件
};
},
componentWillMount() {
this.loadData();
// this.departmentList();
},
// 关闭编辑弹窗
vipClose() {
this.setState({
vipVisible: false
}, () => {
this.loadData(this.state.pageNo);
})
},
// 获取订单部门
departmentList() {
$.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 () {
}.bind(this)
);
},
// 列表数据
loadData(pageNo, pageSize) {
const { searchValues, pagination } = this.state
this.setState({
loading: true,
});
let datas = Object.assign(searchValues, {
pageNo: pageNo || 1,
pageSize: pageSize || 10,
shiroType: 1, //营销员
type: this.state.approvaType.length > 0 ? this.state.approvaType.toString() : undefined, //特批类型
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderProject/memberList",
data: datas,
success: function (data) {
this.setState({
loading: false,
});
if (data.error && data.error.length === 0) {
if (data.data.list) {
pagination.current = data.data.pageNo;
pagination.total = data.data.totalCount;
if (data.data && data.data.list && !data.data.list.length) {
pagination.current = 0;
pagination.total = 0;
}
this.setState({
dataSource: data.data.list,
pagination: this.state.pagination,
pageNo: data.data.pageNo,
totalPage: data.data.totalPage,
});
} else {
this.setState({
dataSource: data.data,
pagination: false,
});
}
} else {
message.warning(data.error[0].message);
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
// 点击行
tableRowClick(record) {
this.state.RowData = record;
this.setState({
showDesc: true,
});
},
// 关闭
closeDesc(e, s) {
this.state.showDesc = e;
if (s) {
this.loadData(this.state.pageNo);
}
},
// 搜索
search() {
this.setState({
selectedRowKeys: []
})
this.loadData();
},
// 重置
reset() {
this.setState({
searchValues: JSON.parse(JSON.stringify({})),
approvaType: [],
}, () => {
this.Cascaders.empty();
this.loadData();
})
},
// 更改表格显示数据
changeList(arr) {
const newArr = [];
this.state.columns.forEach((item) => {
arr.forEach((val) => {
if (val === item.title) {
newArr.push(item);
}
});
});
this.setState({
changeList: newArr,
});
},
// 导出当前列表
exportAll() {
message.config({
duration: 20,
});
let loading = message.loading("下载中...");
this.setState({
exportPendingLoading: true,
});
let data = {
shiroType: 1, //我的
type: this.state.approvaType.length > 0 ? this.state.approvaType.toString() : undefined, //特批类型
};
let obj1 = JSON.parse(JSON.stringify(this.state.searchValues));
data = Object.assign(data, obj1);
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: "/api/admin/orderProject/memberList/export",
data,
success: function (data) {
if (data.error.length === 0) {
this.download(data.data);
} else {
message.warning(data.error[0].message);
}
}.bind(this),
}).always(
function () {
loading();
this.setState({
exportPendingLoading: false,
});
}.bind(this)
);
},
// 打印
printAll() {
this.setState({
dvisible: true,
});
this.loadData(1, 9999999);
},
// 下载
download(fileName) {
window.location.href =
globalConfig.context + "/open/download?fileName=" + fileName;
},
// 查询订单负责人列表
followUp(e) {
const { searchValues } = this.state;
this.setState({
searchValues: Object.assign(searchValues, {
aname: e,
}),
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/listAdminByName",
data: {
adminName: e,
},
success: function (data) {
let thedata = data.data;
if (!thedata) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
thedata = {};
}
this.setState({
fjlist: thedata,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
// 选中订单负责人
selectF(value) {
const { searchValues, fjlist } = this.state;
const newdataSources = JSON.stringify(fjlist) == "{}" ? [] : fjlist;
this.setState({
searchValues: Object.assign(searchValues, {
salesmanId: newdataSources.find((item) => item.name == value).id,
}),
});
},
// 失去焦点
blurChange(e) {
let theType = "";
let contactLists = this.state.customerArr || [];
if (e) {
contactLists.map(function (item) {
if (item.name == e.toString()) {
theType = item.id;
}
});
}
this.setState({
theTypes: theType,
});
},
// 删除数组最后一项(删除操作列)
truncate(arr) {
return arr.filter(function (v, i, ar) {
return i !== ar.length - 1
})
},
render() {
const { TextArea } = Input
const { searchValues, departmentArr = [] } = this.state
const dataSources = this.state.fjlist || [];
const options = dataSources.map((group) => (
{group.name}
));
const approvaChildren = approvalOptions.map(i => (
));
return (
{ this.setState({ showModal: false }) }} />
我的会员项目
{/* 订单详情 */}
{
//打印预览
this.state.dvisible &&
{
this.loadData();
this.setState({
dvisible: false,
});
}}
>
{
this.refs.all = e;
}}
>
(
)}
content={() => this.refs.all}
/>
}
{
// 会员项目添加编辑
this.state.vipVisible &&
}
{
//查看附件
this.state.imgListVisible &&
{
this.setState({
imgListVisible: false,
});
}}
onCancel={() => {
this.setState({
imgListVisible: false,
});
}}
width="600px"
title="附件"
footer=""
>
}
);
},
});
export default MyProjectVip;