|
@@ -6,8 +6,8 @@ import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch, message,
|
|
|
import MySettlementDetaile from "./projectManageDetaile.jsx";
|
|
|
import moment from 'moment';
|
|
|
import '../userMangagement.less';
|
|
|
-import {projectState} from '../../../../dataDic.js';
|
|
|
-import {getProjectState,getOrderState,getOrderType,getPaymentState} from '../../../../tools.js';
|
|
|
+import {projectState,taskStatus} from '../../../../dataDic.js';
|
|
|
+import {getProjectState,getOrderState,getOrderType,getPaymentState,getTaskStatus} from '../../../../tools.js';
|
|
|
|
|
|
const MyTask=Form.create()(React.createClass({
|
|
|
loadData(pageNo) {
|
|
@@ -18,21 +18,18 @@ const MyTask=Form.create()(React.createClass({
|
|
|
method: "post",
|
|
|
dataType: "json",
|
|
|
crossDomain: false,
|
|
|
- url: globalConfig.context + '/api/admin/techproject/listProject',
|
|
|
+ url: globalConfig.context + '/api/admin/techproject/listMyTask',
|
|
|
data: {
|
|
|
pageNo: pageNo || 1,
|
|
|
pageSize: this.state.pagination.pageSize,
|
|
|
- setUpStartDate: this.state.releaseDate[0],
|
|
|
- setUpEndDate: this.state.releaseDate[1],
|
|
|
- depId:this.state.departmentt,
|
|
|
- orderStartTime: this.state.releaseDateOrder[0],
|
|
|
- orderEndTime: this.state.releaseDateOrder[1],
|
|
|
+ startDate: this.state.releaseDate[0],
|
|
|
+ endDate: this.state.releaseDate[1],
|
|
|
buyerName:this.state.buyerNameSearch,//客户名称
|
|
|
- orderStatus:this.state.orderStatusSearch, //订单状态
|
|
|
- salesmanName:this.state.salesmanNameSearch,//订单负责人
|
|
|
- financeLeaderSearch:this.state.financeLeaderSearch,//财务负责人
|
|
|
- orderNo:this.state.orderNoSearch,//订单编号
|
|
|
+ taskStatus:this.state.orderStatusSearch, //订单状态
|
|
|
+ projectNo:this.state.orderNoSearch,//订单编号
|
|
|
deleteSign:this.state.deleteSignSearch,//锁定激活
|
|
|
+ categoryId:this.state.categoryIdSearch,
|
|
|
+ taskReceiverName:this.state.salesmanNameSearch
|
|
|
},
|
|
|
success: function (data) {
|
|
|
let theArr = [];
|
|
@@ -45,18 +42,16 @@ const MyTask=Form.create()(React.createClass({
|
|
|
let thisdata = data.data.list[i];
|
|
|
theArr.push({
|
|
|
key: i,
|
|
|
- id: thisdata.id,
|
|
|
- serialNumber: thisdata.serialNumber,
|
|
|
- signDate:thisdata.signDate,
|
|
|
+ taskId: thisdata.taskId,
|
|
|
+ taskNo: thisdata.taskNo,
|
|
|
+ commodityName:thisdata.commodityName,
|
|
|
+ categoryName:thisdata.categoryName,
|
|
|
buyerName:thisdata.buyerName,
|
|
|
- projectType:thisdata.projectType,
|
|
|
- projectStatus:thisdata.projectStatus,
|
|
|
+ taskDistributionTimes:thisdata.taskDistributionTimes,
|
|
|
deleteSign:thisdata.deleteSign,
|
|
|
- orderNo:thisdata.orderNo,
|
|
|
- orderTime:thisdata.orderTime,
|
|
|
- orderStatus:thisdata.orderStatus,
|
|
|
- liquidationStatus:thisdata.liquidationStatus,
|
|
|
- approval:thisdata.approval,
|
|
|
+ taskStatus:thisdata.taskStatus,
|
|
|
+ taskReceiverName:thisdata.taskReceiverName,
|
|
|
+ projectNo:thisdata.projectNo
|
|
|
});
|
|
|
};
|
|
|
this.state.pagination.current = data.data.pageNo;
|
|
@@ -68,7 +63,6 @@ const MyTask=Form.create()(React.createClass({
|
|
|
}
|
|
|
this.setState({
|
|
|
pageNo:pageNo,
|
|
|
- newProject:false,
|
|
|
dataSource: theArr,
|
|
|
pagination: this.state.pagination,
|
|
|
selectedRowKeys:[]
|
|
@@ -80,6 +74,46 @@ const MyTask=Form.create()(React.createClass({
|
|
|
});
|
|
|
}.bind(this));
|
|
|
},
|
|
|
+ //部门
|
|
|
+ departmentList() {
|
|
|
+ this.setState({
|
|
|
+ loading: true
|
|
|
+ });
|
|
|
+ $.ajax({
|
|
|
+ method: "post",
|
|
|
+ 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));
|
|
|
+ },
|
|
|
getInitialState() {
|
|
|
return {
|
|
|
datauser:{},
|
|
@@ -87,12 +121,7 @@ const MyTask=Form.create()(React.createClass({
|
|
|
selectedRows: [],
|
|
|
searchMore: true,
|
|
|
releaseDate: [],
|
|
|
- releaseDateOrder:[],
|
|
|
- projectState:false,
|
|
|
- newProject:false,
|
|
|
loading: false,
|
|
|
- KnotState:true,
|
|
|
- distributionVisible:false,
|
|
|
visible:false,
|
|
|
showDesc:false,
|
|
|
pagination: {
|
|
@@ -109,61 +138,46 @@ const MyTask=Form.create()(React.createClass({
|
|
|
},
|
|
|
columns: [
|
|
|
{
|
|
|
- title: '项目编号',
|
|
|
- dataIndex: 'serialNumber',
|
|
|
- key: 'serialNumber'
|
|
|
+ title: '任务编号',
|
|
|
+ dataIndex: 'taskNo',
|
|
|
+ key: 'taskNo'
|
|
|
},{
|
|
|
- title: '立项时间',
|
|
|
- dataIndex: 'signDate',
|
|
|
- key: 'signDate'
|
|
|
+ title: '项目编号',
|
|
|
+ dataIndex: 'projectNo',
|
|
|
+ key: 'projectNo'
|
|
|
},{
|
|
|
- title: '客户名称',
|
|
|
- dataIndex: 'buyerName',
|
|
|
- key: 'buyerName'
|
|
|
+ title: '任务名称',
|
|
|
+ dataIndex: 'commodityName',
|
|
|
+ key: 'commodityName'
|
|
|
},
|
|
|
{
|
|
|
- title: '项目类型',
|
|
|
- dataIndex: 'projectType',
|
|
|
- key: 'projectType',
|
|
|
- render:(text)=>{return getOrderType(text) }
|
|
|
+ title: '业务类别',
|
|
|
+ dataIndex: 'categoryName',
|
|
|
+ key: 'categoryName',
|
|
|
},{
|
|
|
- title: '项目状态',
|
|
|
- dataIndex: 'projectStatus',
|
|
|
- key: 'projectStatus',
|
|
|
- render:(text)=>{return getProjectState(text) }
|
|
|
+ title: '客户名称',
|
|
|
+ dataIndex: 'buyerName',
|
|
|
+ key: 'buyerName',
|
|
|
}, {
|
|
|
- title: '锁定/作废',
|
|
|
+ title: '任务负责人',
|
|
|
+ dataIndex: 'taskReceiverName',
|
|
|
+ key: 'taskReceiverName',
|
|
|
+ },{
|
|
|
+ title: '任务状态',
|
|
|
+ dataIndex: 'taskStatus',
|
|
|
+ key: 'taskStatus',
|
|
|
+ render:(text)=>{return getTaskStatus(text) }
|
|
|
+ },{
|
|
|
+ title: '是否锁定',
|
|
|
dataIndex: 'deleteSign',
|
|
|
key: 'deleteSign',
|
|
|
render:(text)=>{
|
|
|
- return
|
|
|
- {text==0&&<span>正常</span>}
|
|
|
- {text==1&&<span>作废</span>}
|
|
|
- {text==2&&<span>锁定</span>}
|
|
|
+ return text==2?'锁定':'未锁定'
|
|
|
}
|
|
|
},{
|
|
|
- title: '订单编号',
|
|
|
- dataIndex: 'orderNo',
|
|
|
- key: 'orderNo',
|
|
|
- },{
|
|
|
- title: '下单时间',
|
|
|
- dataIndex: 'orderTime',
|
|
|
- key: 'orderTime',
|
|
|
- },{
|
|
|
- title: '订单状态',
|
|
|
- dataIndex: 'orderStatus',
|
|
|
- key: 'orderStatus',
|
|
|
- render:(text)=>{return getOrderState(text) }
|
|
|
- },{
|
|
|
- title: '结算状态',
|
|
|
- dataIndex: 'liquidationStatus',
|
|
|
- key: 'liquidationStatus',
|
|
|
- render:(text)=>{return getPaymentState(text) }
|
|
|
- },{
|
|
|
- title: '是否特批',
|
|
|
- dataIndex: 'approval',
|
|
|
- key: 'approval',
|
|
|
- render:(text)=>{return (text)?'已特批':'未特批' }
|
|
|
+ title: '任务创建时间',
|
|
|
+ dataIndex: 'taskDistributionTimes',
|
|
|
+ key: 'taskDistributionTimes',
|
|
|
},{
|
|
|
title: '操作',
|
|
|
dataIndex: 'rr',
|
|
@@ -171,28 +185,152 @@ const MyTask=Form.create()(React.createClass({
|
|
|
render:(text,record,index)=>{
|
|
|
return (
|
|
|
<div>
|
|
|
- {record.projectStatus==2||record.projectStatus==5?<Button style={{marginRight:'5px'}} type="primary" onClick={(e) =>{ e.stopPropagation(),this.Knot(record)}}>项目管理</Button>:''}
|
|
|
- {record.projectStatus==1||record.projectStatus==5?<Popconfirm title={'您将作废项目【'+record.roleName+'】,系统将自动同步作废项目任务及项目资料单,请确认'} onConfirm={(e)=>{this.scrapOrder(record)}} okText="确认" cancelText="取消">
|
|
|
- <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} type="danger">作废</Button>
|
|
|
+ {record.taskStatus<=1?<Popconfirm title={'请确认是否启动【'+record.commodityName+'】任务?'} onConfirm={(e)=>{this.startUp(record)}} okText="确认" cancelText="取消">
|
|
|
+ <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} type="primary">启动资料</Button>
|
|
|
+ </Popconfirm>:''}
|
|
|
+ <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation(),this.confirmDelet(record)}} >转交</Button>
|
|
|
+ {record.taskStatus==2?<Popconfirm title={'请确认是否完成【'+record.commodityName+'】任务?'} onConfirm={(e)=>{this.endUp(record)}} okText="确认" cancelText="取消">
|
|
|
+ <Button style={{marginRight:'5px'}} onClick={(e) =>{ e.stopPropagation()}} >完成</Button>
|
|
|
</Popconfirm>:''}
|
|
|
</div>
|
|
|
)
|
|
|
}
|
|
|
}
|
|
|
],
|
|
|
+ userList:[
|
|
|
+ {
|
|
|
+ title: '用户编号',
|
|
|
+ dataIndex: 'userNo',
|
|
|
+ key: 'userNo'
|
|
|
+ }, {
|
|
|
+ title: '用户姓名',
|
|
|
+ dataIndex: 'name',
|
|
|
+ key: 'name'
|
|
|
+ },{
|
|
|
+ title: '部门机构',
|
|
|
+ dataIndex: 'departmentName',
|
|
|
+ key: 'departmentName'
|
|
|
+ }, {
|
|
|
+ title: '职务',
|
|
|
+ dataIndex: 'position',
|
|
|
+ key: 'position'
|
|
|
+ },{
|
|
|
+ title: '联系手机',
|
|
|
+ dataIndex: 'mobile',
|
|
|
+ key: 'mobile'
|
|
|
+ }, {
|
|
|
+ title: '操作',
|
|
|
+ dataIndex: 'abc',
|
|
|
+ key: 'abc',
|
|
|
+ render:(text,record,index)=>{
|
|
|
+ return (
|
|
|
+ <Popconfirm title={'您确认将任务【'+ this.state.commodity+'】 转交给【'+record.departmentName+'-'+record.name+'】?'} onConfirm={(e)=>{this.confirmSelect(record)}} okText="确认" cancelText="取消">
|
|
|
+ <Button style={{marginRight:'5px'}} type="primary">选定</Button>
|
|
|
+ </Popconfirm>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ],
|
|
|
dataSource: [],
|
|
|
};
|
|
|
},
|
|
|
- //部门
|
|
|
- departmentList() {
|
|
|
+ //转交
|
|
|
+ confirmDelet(index){
|
|
|
+ this.setState({
|
|
|
+ commodity:index.commodityName,
|
|
|
+ showDesc:false,
|
|
|
+ uid:index.taskId,
|
|
|
+ distributionVisible:true
|
|
|
+ });
|
|
|
+ this.departmentList()
|
|
|
+ },
|
|
|
+ distributionCancel(){
|
|
|
+ this.setState({
|
|
|
+ distributionVisible:false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //分配对象列表
|
|
|
+ contactList(){
|
|
|
+ $.ajax({
|
|
|
+ method: "get",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url: globalConfig.context + '/api/admin/superviser/adminList',
|
|
|
+ data: {
|
|
|
+ pageNo: 1,
|
|
|
+ pageSize: 99,
|
|
|
+ departmentId:this.state.departmenttList,
|
|
|
+ name:this.state.financeNameSearch,
|
|
|
+ },
|
|
|
+ success: function (data) {
|
|
|
+ let theArr = [];
|
|
|
+ if (!data.data) {
|
|
|
+ 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,
|
|
|
+ userNo: thisdata.userNo,
|
|
|
+ name:thisdata.name,
|
|
|
+ departmentName:thisdata.departmentName,
|
|
|
+ departmentId:thisdata.departmentId,
|
|
|
+ position:thisdata.position,
|
|
|
+ mobile:thisdata.mobile,
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ };
|
|
|
+ this.setState({
|
|
|
+ distributionList: theArr,
|
|
|
+ });
|
|
|
+ }.bind(this),
|
|
|
+ }).always(function () {
|
|
|
+ this.setState({
|
|
|
+ loading: false
|
|
|
+ });
|
|
|
+ }.bind(this));
|
|
|
+ },
|
|
|
+ //选定对象
|
|
|
+ confirmSelect(record){
|
|
|
+ this.setState({
|
|
|
+ loading: true
|
|
|
+ });
|
|
|
+ $.ajax({
|
|
|
+ method: "get",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url: globalConfig.context + "/api/admin/techproject/transferTask",
|
|
|
+ data: {
|
|
|
+ taskId:this.state.uid,
|
|
|
+ taskReceiverId:record.id
|
|
|
+ }
|
|
|
+ }).done(function (data) {
|
|
|
+ if (!data.error.length) {
|
|
|
+ message.success('转交成功!');
|
|
|
+ this.setState({
|
|
|
+ loading: false,
|
|
|
+ });
|
|
|
+ this.distributionCancel();
|
|
|
+ this.loadData(this.state.pageNo);
|
|
|
+ } else {
|
|
|
+ message.warning(data.error[0].message);
|
|
|
+ };
|
|
|
+ }.bind(this));
|
|
|
+ },
|
|
|
+ //业务类型
|
|
|
+ businessList() {
|
|
|
this.setState({
|
|
|
loading: true
|
|
|
});
|
|
|
$.ajax({
|
|
|
- method: "post",
|
|
|
+ method: "get",
|
|
|
dataType: "json",
|
|
|
crossDomain: false,
|
|
|
- url: globalConfig.context + "/api/admin/organization/selectSuperId",
|
|
|
+ url: globalConfig.context + "/api/admin/order/getBusinessProjectCatalog",
|
|
|
data: {
|
|
|
|
|
|
},
|
|
@@ -208,14 +346,13 @@ const MyTask=Form.create()(React.createClass({
|
|
|
thedata.map(function(item,index){
|
|
|
theArr.push({
|
|
|
key:index,
|
|
|
- name:item.name,
|
|
|
+ name:item.cname,
|
|
|
id:item.id,
|
|
|
- depNo:item.depNo
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
this.setState({
|
|
|
- departmentArr:theArr,
|
|
|
+ businessArr:theArr,
|
|
|
})
|
|
|
}.bind(this),
|
|
|
}).always(function() {
|
|
@@ -224,106 +361,30 @@ const MyTask=Form.create()(React.createClass({
|
|
|
});
|
|
|
}.bind(this));
|
|
|
},
|
|
|
- //作废项目
|
|
|
- scrapOrder(record){
|
|
|
- this.setState({
|
|
|
- loading: true
|
|
|
- });
|
|
|
- $.ajax({
|
|
|
- method: "POST",
|
|
|
- dataType: "json",
|
|
|
- crossDomain: false,
|
|
|
- url: globalConfig.context +'/api/zuofei',
|
|
|
- data: {
|
|
|
- id:record.id,
|
|
|
- }
|
|
|
- }).done(function(data) {
|
|
|
- this.setState({
|
|
|
- loading: false
|
|
|
- });
|
|
|
- if(!data.error.length) {
|
|
|
- message.success('操作成功!');
|
|
|
- this.loadData(this.state.pageNo);
|
|
|
- } else {
|
|
|
- message.warning(data.error[0].message);
|
|
|
- }
|
|
|
- }.bind(this));
|
|
|
- },
|
|
|
- //创建项目
|
|
|
- addClick() {
|
|
|
- this.setState({
|
|
|
- newProject:true,
|
|
|
- signBillVisible:false,
|
|
|
- showDesc: false
|
|
|
- });
|
|
|
- },
|
|
|
componentWillMount() {
|
|
|
this.loadData();
|
|
|
- this.departmentList()
|
|
|
- },
|
|
|
- //立项
|
|
|
- edit(record) {
|
|
|
- this.setState({
|
|
|
- newProject:false,
|
|
|
- Kid:record.id,
|
|
|
- signBillVisible:true
|
|
|
- })
|
|
|
- this.editData(record)
|
|
|
- },
|
|
|
- //项目管理
|
|
|
- Knot(record){
|
|
|
- this.state.userDetaile=true;
|
|
|
- this.state.datauser = record;
|
|
|
- this.setState({
|
|
|
- projectState:true,
|
|
|
- newProject:false,
|
|
|
- showDesc: true
|
|
|
- });
|
|
|
- },
|
|
|
- noProject(){
|
|
|
- this.setState({
|
|
|
- signBillVisible:false
|
|
|
- })
|
|
|
- },
|
|
|
- //立项。结项前数据获取
|
|
|
- editData(xhr){
|
|
|
- $.ajax({
|
|
|
- method: "POST",
|
|
|
- dataType: "json",
|
|
|
- crossDomain: false,
|
|
|
- url: globalConfig.context + 'api/lixiang-shuju',
|
|
|
- data: {
|
|
|
- id:xhr.id,
|
|
|
- },
|
|
|
- success: function (data) {
|
|
|
- if (!data.data) {
|
|
|
- if (data.error && data.error.length) {
|
|
|
- message.warning(data.error[0].message);
|
|
|
- };
|
|
|
- } else {
|
|
|
-
|
|
|
- };
|
|
|
- }.bind(this)},
|
|
|
- ).always(function () {
|
|
|
- this.setState({
|
|
|
- loading: false
|
|
|
- });
|
|
|
- }.bind(this));
|
|
|
+ this.businessList()
|
|
|
},
|
|
|
- //立项、结项保存操作
|
|
|
- projectSubmit(e){
|
|
|
- e.preventDefault();
|
|
|
+ //启动
|
|
|
+ startUp(record){
|
|
|
+ this.removeList(true,record)
|
|
|
+ },
|
|
|
+ //完成
|
|
|
+ endUp(record){
|
|
|
+ this.removeList(false,record)
|
|
|
+ },
|
|
|
+ removeList(state,record){
|
|
|
this.setState({
|
|
|
loading: true
|
|
|
});
|
|
|
- let api=this.state.KnotState?'/api/admin/lixiang':'/api/admin/jiexiang';
|
|
|
+ let api=state?'/api/admin/techproject/startTask':'/api/admin/techproject/completeTask';
|
|
|
$.ajax({
|
|
|
- method: "POST",
|
|
|
+ method: "get",
|
|
|
dataType: "json",
|
|
|
crossDomain: false,
|
|
|
- url: globalConfig.context +api ,
|
|
|
+ url: globalConfig.context + api,
|
|
|
data: {
|
|
|
- id:this.state.Kid,
|
|
|
+ taskId:record.taskId
|
|
|
}
|
|
|
}).done(function(data) {
|
|
|
this.setState({
|
|
@@ -331,23 +392,14 @@ const MyTask=Form.create()(React.createClass({
|
|
|
});
|
|
|
if(!data.error.length) {
|
|
|
message.success('操作成功!');
|
|
|
- this.noProject();
|
|
|
- this.loadData(this.state.pageNo);
|
|
|
+ this.loadData(this.state.pageNo)
|
|
|
} else {
|
|
|
message.warning(data.error[0].message);
|
|
|
}
|
|
|
}.bind(this));
|
|
|
},
|
|
|
- closeDesc(e, s) {
|
|
|
- this.state.userDetaile=false;
|
|
|
- this.state.showDesc = e;
|
|
|
- if (s) {
|
|
|
- this.loadData(this.state.pageNo);
|
|
|
- };
|
|
|
- },
|
|
|
searchSwitch() {
|
|
|
this.setState({
|
|
|
- newProject:false,
|
|
|
searchMore: !this.state.searchMore
|
|
|
});
|
|
|
},
|
|
@@ -355,25 +407,31 @@ const MyTask=Form.create()(React.createClass({
|
|
|
this.loadData();
|
|
|
},
|
|
|
tableRowClick(record, index) {
|
|
|
- this.state.userDetaile=true;
|
|
|
this.state.datauser = record;
|
|
|
this.setState({
|
|
|
- projectState:false,
|
|
|
- newProject:false,
|
|
|
showDesc: true
|
|
|
});
|
|
|
},
|
|
|
+ searchOrder(){
|
|
|
+ this.contactList();
|
|
|
+ },
|
|
|
+ resetOrder(){
|
|
|
+ this.state.departmenttList=undefined;
|
|
|
+ this.state.financeNameSearch='';
|
|
|
+ this.setState({
|
|
|
+ distributionList:[]
|
|
|
+ })
|
|
|
+ },
|
|
|
reset() {
|
|
|
this.state.buyerNameSearch='';
|
|
|
this.state.releaseDate[0] = undefined;
|
|
|
this.state.releaseDate[1] = undefined;
|
|
|
- this.state.releaseDateOrder[0] = undefined;
|
|
|
- this.state.releaseDateOrder[1] = undefined;
|
|
|
this.state.departmentt=undefined;
|
|
|
this.state.orderStatusSearch = undefined;
|
|
|
this.state.salesmanNameSearch = '';
|
|
|
this.state.orderNoSearch='';
|
|
|
this.state.deleteSignSearch=undefined;
|
|
|
+ this.state.categoryIdSearch=undefined;
|
|
|
this.loadData();
|
|
|
},
|
|
|
render() {
|
|
@@ -399,10 +457,11 @@ const MyTask=Form.create()(React.createClass({
|
|
|
};
|
|
|
const hasSelected = this.state.selectedRowKeys.length > 0;
|
|
|
let departmentArr = this.state.departmentArr || [];
|
|
|
+ let businessArr = this.state.businessArr || []
|
|
|
return (
|
|
|
<div className="user-content" >
|
|
|
<div className="content-title">
|
|
|
- <span style={{fontSize:'16px'}}>项目管理</span>
|
|
|
+ <span style={{fontSize:'16px'}}>我的项目任务</span>
|
|
|
<div className="user-search">
|
|
|
<Input placeholder="客户名称" style={{width:'150px'}}
|
|
|
value={this.state.buyerNameSearch}
|
|
@@ -414,47 +473,42 @@ const MyTask=Form.create()(React.createClass({
|
|
|
<Button type="primary" onClick={this.search} style={{marginLeft:'10px'}}>搜索</Button>
|
|
|
<Button onClick={this.reset}>重置</Button>
|
|
|
<span style={{marginLeft:'10px',marginRight:'20px'}}>更多搜索<Switch defaultChecked={false} onChange={this.searchSwitch} /></span>
|
|
|
- <Button type="primary" className="addButton" onClick={this.addClick} >创建项目<Icon type="plus" /></Button>
|
|
|
</div>
|
|
|
<div className='clearfix' style={{marginTop:'5px'}}>
|
|
|
<div className="search-more" style={this.state.searchMore ? { display: 'none' } : {}}>
|
|
|
- <Select placeholder="项目状态"
|
|
|
+ <Select placeholder="任务状态"
|
|
|
style={{ width: 150 ,marginRight:'10px'}}
|
|
|
value={this.state.orderStatusSearch}
|
|
|
onChange={(e) => { this.setState({ orderStatusSearch: e }) }}>
|
|
|
{
|
|
|
- projectState.map(function (item) {
|
|
|
+ taskStatus.map(function (item) {
|
|
|
return <Select.Option key={item.value} >{item.key}</Select.Option>
|
|
|
})
|
|
|
}
|
|
|
</Select>
|
|
|
- <Select placeholder="锁定/作废"
|
|
|
+ <Select placeholder="是否锁定"
|
|
|
style={{ width: 150 ,marginRight:'10px'}}
|
|
|
value={this.state.deleteSignSearch}
|
|
|
onChange={(e) => { this.setState({ deleteSignSearch: e }) }}>
|
|
|
- <Select.Option value='0'>正常</Select.Option>
|
|
|
- <Select.Option value='1'>作废</Select.Option>
|
|
|
+ <Select.Option value='0'>未锁定</Select.Option>
|
|
|
<Select.Option value='2'>锁定</Select.Option>
|
|
|
</Select>
|
|
|
- <Input placeholder="订单编号" style={{width:'150px',margin:'10px'}}
|
|
|
- value={this.state.orderNoSearch}
|
|
|
- onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />
|
|
|
- <Select placeholder="选择部门" style={{width:'150px'}}
|
|
|
- value={this.state.departmentt}
|
|
|
- onChange={(e) => { this.setState({ departmentt: e }) }}>
|
|
|
+ <Select placeholder="业务类别"
|
|
|
+ style={{ width: 150 ,marginRight:'10px'}}
|
|
|
+ value={this.state.categoryIdSearch}
|
|
|
+ onChange={(e) => { this.setState({ categoryIdSearch: e }) }}>
|
|
|
{
|
|
|
- departmentArr.map(function (item) {
|
|
|
- return <Select.Option key={item.depNo} >{item.name}</Select.Option>
|
|
|
- })
|
|
|
- }
|
|
|
+ businessArr.map(function (item) {
|
|
|
+ return <Select.Option key={item.id} >{item.name}</Select.Option>
|
|
|
+ })
|
|
|
+ }
|
|
|
</Select>
|
|
|
- <Input placeholder="订单负责人" style={{width:'150px',margin:'10px'}}
|
|
|
+ <Input placeholder="项目编号" style={{width:'150px',margin:'10px'}}
|
|
|
+ value={this.state.orderNoSearch}
|
|
|
+ onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} />
|
|
|
+ <Input placeholder="任务名称" style={{width:'150px',margin:'10px'}}
|
|
|
value={this.state.salesmanNameSearch}
|
|
|
onChange={(e) => { this.setState({ salesmanNameSearch: e.target.value }); }} />
|
|
|
- <RangePicker
|
|
|
- value={[this.state.releaseDateOrder[0] ? moment(this.state.releaseDateOrder[0]) : null,
|
|
|
- this.state.releaseDateOrder[1] ? moment(this.state.releaseDateOrder[1]) : null]}
|
|
|
- onChange={(data, dataString) => { this.setState({ releaseDateOrder: dataString }); }} />
|
|
|
</div>
|
|
|
</div>
|
|
|
<div className="patent-table">
|
|
@@ -468,54 +522,46 @@ const MyTask=Form.create()(React.createClass({
|
|
|
</Spin>
|
|
|
</div>
|
|
|
<MySettlementDetaile
|
|
|
- projectState={this.state.projectState}
|
|
|
- newProject={this.state.newProject}
|
|
|
- userDetaile={this.state.userDetaile}
|
|
|
datauser={this.state.datauser}
|
|
|
showDesc={this.state.showDesc}
|
|
|
- closeDesc={this.closeDesc} />
|
|
|
+ />
|
|
|
</div >
|
|
|
- <Modal maskClosable={false} visible={this.state.signBillVisible}
|
|
|
- onOk={this.noProject} onCancel={this.noProject}
|
|
|
+ <Modal maskClosable={false} visible={this.state.distributionVisible}
|
|
|
+ onOk={this.distributionCancel} onCancel={this.distributionCancel}
|
|
|
width='800px'
|
|
|
- title='项目立项'
|
|
|
+ title='转交'
|
|
|
footer=''
|
|
|
className="admin-desc-content">
|
|
|
- <Form layout="horizontal" onSubmit={this.projectSubmit} id="demand-form">
|
|
|
+ <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{paddingBottom:'40px'}} >
|
|
|
<Spin spinning={this.state.loading}>
|
|
|
- <div className="clearfix">
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="项目编号" >
|
|
|
- <span></span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="客户名称" >
|
|
|
- <span></span>
|
|
|
- </FormItem>
|
|
|
- <FormItem className="half-item"
|
|
|
- {...formItemLayout}
|
|
|
- label="立项时间">
|
|
|
- <span></span>
|
|
|
- </FormItem>
|
|
|
- <div className='clearfix'>
|
|
|
- <FormItem
|
|
|
- labelCol={{ span: 4 }}
|
|
|
- wrapperCol={{ span: 16 }}
|
|
|
- label="立项说明" >
|
|
|
- <Input type="textarea" placeholder="请输入备注" rows={4} value={this.state.introduction}
|
|
|
- onChange={(e)=>{this.setState({introduction:e.target.value})}}/>
|
|
|
- </FormItem>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <FormItem wrapperCol={{ span: 12, offset: 4 }} className="half-middle">
|
|
|
- <Button className="submitSave" type="primary" htmlType="submit">{this.state.KnotState?"确定立项":'确定结项'}</Button>
|
|
|
- <Button className="submitSave" type="ghost" onClick={this.noProject}>返回</Button>
|
|
|
- </FormItem>
|
|
|
+ <div>
|
|
|
+ <Select placeholder="订单部门"
|
|
|
+ style={{ width: 150 ,marginRight:'10px',marginLeft:'10px'}}
|
|
|
+ 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>
|
|
|
+ <Input placeholder="任务负责人" style={{width:'150px',marginLeft:'10px'}}
|
|
|
+ value={this.state.financeNameSearch}
|
|
|
+ onChange={(e) => { this.setState({ financeNameSearch: e.target.value }); }} />
|
|
|
+ <Button type="primary" onClick={this.searchOrder} style={{marginLeft:'10px',marginRight:'10px'}}>搜索</Button>
|
|
|
+ <Button onClick={this.resetOrder}>重置</Button>
|
|
|
+ </div>
|
|
|
+ <div className="patent-table" style={{marginTop:'10px'}}>
|
|
|
+ <Spin spinning={this.state.loading}>
|
|
|
+ <Table columns={this.state.userList}
|
|
|
+ dataSource={this.state.distributionList}
|
|
|
+ pagination={false}
|
|
|
+ />
|
|
|
+ </Spin>
|
|
|
+ </div>
|
|
|
</Spin>
|
|
|
- </Form >
|
|
|
- </Modal>
|
|
|
+ </Form>
|
|
|
+ </Modal>
|
|
|
</div>
|
|
|
);
|
|
|
}
|