|
@@ -3,6 +3,7 @@ import $ from "jquery";
|
|
|
import moment from "moment";
|
|
|
import Picture from "@/manageCenter/publicComponent/picture";
|
|
|
import "@/manageCenter/financialManage/distribute/public.less";
|
|
|
+import "@/manageCenter/financialManage/distribute/shouKuan.less";
|
|
|
import {
|
|
|
Button,
|
|
|
Form,
|
|
@@ -21,6 +22,7 @@ import {
|
|
|
} from "antd";
|
|
|
import Assign from "@/manageCenter/publicComponent/assign";
|
|
|
import { areaSelect } from "@/NewDicProvinceList";
|
|
|
+import { ChooseList } from "../../order/orderNew/chooseList";
|
|
|
import "./table.less";
|
|
|
import {
|
|
|
getProcessStatus,
|
|
@@ -37,7 +39,8 @@ import {
|
|
|
import { taskStatus, projectStatus } from "@/dataDic.js";
|
|
|
import ShowModalDiv from "@/showModal.jsx";
|
|
|
const FormItem = Form.Item;
|
|
|
-
|
|
|
+const { TabPane } = Tabs;
|
|
|
+const { MonthPicker, RangePicker } = DatePicker;
|
|
|
const MyTaskOutsource = React.createClass({
|
|
|
loadData(pageNo) {
|
|
|
this.state.data = [];
|
|
@@ -57,9 +60,9 @@ const MyTaskOutsource = React.createClass({
|
|
|
name: this.state.nameSearch, //客户名称
|
|
|
depId: this.state.departmenttSearch, //订单部门
|
|
|
orderNo: this.state.orderNoSearch, //订单编号
|
|
|
- taskId: this.state.taskNoSearch, //任务编号
|
|
|
- taskStatus: this.state.taskStatus, //任务状态
|
|
|
- adminName: this.state.adminName, //任务受理人
|
|
|
+ taskId: this.state.taskNoSearch, //项目编号
|
|
|
+ taskStatus: this.state.taskStatus, //项目状态
|
|
|
+ adminName: this.state.adminName, //项目受理人
|
|
|
outsource: 1
|
|
|
},
|
|
|
success: function(data) {
|
|
@@ -75,12 +78,12 @@ const MyTaskOutsource = React.createClass({
|
|
|
theArr.push({
|
|
|
key: i,
|
|
|
orderNo: thisdata.orderNo, //订单编号
|
|
|
- id: thisdata.id, //任务ID
|
|
|
+ id: thisdata.id, //项目ID
|
|
|
taskName: thisdata.taskName, //名称
|
|
|
cname: thisdata.cname, //项目品类
|
|
|
receiverName: thisdata.receiverName, //受理人
|
|
|
projectStatus: thisdata.projectStatus, //项目状态
|
|
|
- taskStatus: thisdata.taskStatus, //任务状态
|
|
|
+ taskStatus: thisdata.taskStatus, //项目状态
|
|
|
taskDate: thisdata.taskDate, //分配时间
|
|
|
userName:
|
|
|
thisdata.taskName.substring(0, 5) === "软件著作权"
|
|
@@ -92,8 +95,10 @@ const MyTaskOutsource = React.createClass({
|
|
|
")"
|
|
|
: thisdata.userName, //用户名
|
|
|
depName: thisdata.depName, //部门名称
|
|
|
- commodityQuantity: thisdata.commodityQuantity, //任务数量
|
|
|
- outsourceName: thisdata.outsourceName
|
|
|
+ commodityQuantity: thisdata.commodityQuantity, //项目数量
|
|
|
+ outsourceName: thisdata.outsourceName,
|
|
|
+ hours: thisdata.hours,
|
|
|
+ contractNo: thisdata.contractNo
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -117,6 +122,7 @@ const MyTaskOutsource = React.createClass({
|
|
|
getInitialState() {
|
|
|
return {
|
|
|
page: 1,
|
|
|
+ timeVisible: false,
|
|
|
searchMore: true,
|
|
|
assignVisible: false,
|
|
|
releaseDate: [],
|
|
@@ -142,21 +148,45 @@ const MyTaskOutsource = React.createClass({
|
|
|
onChange: function(page) {
|
|
|
this.loadData(page);
|
|
|
this.setState({
|
|
|
- page,
|
|
|
- })
|
|
|
+ page
|
|
|
+ });
|
|
|
}.bind(this),
|
|
|
showTotal: function(total) {
|
|
|
return "共" + total + "条数据";
|
|
|
}
|
|
|
},
|
|
|
+ // 子组件改变的表格title数组
|
|
|
+ changeList: undefined,
|
|
|
+ columnsTime: [
|
|
|
+ {
|
|
|
+ title: "工作时长(小时)",
|
|
|
+ dataIndex: "hours",
|
|
|
+ key: "hours"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "工作时间",
|
|
|
+ dataIndex: "createTimes",
|
|
|
+ key: "createTimes"
|
|
|
+ },
|
|
|
+ // {
|
|
|
+ // title: "项目负责人",
|
|
|
+ // dataIndex: "remarks",
|
|
|
+ // key: "remarks"
|
|
|
+ // },
|
|
|
+ {
|
|
|
+ title: "备注",
|
|
|
+ dataIndex: "remarks",
|
|
|
+ key: "remarks"
|
|
|
+ }
|
|
|
+ ],
|
|
|
columns: [
|
|
|
{
|
|
|
- title: "任务编号",
|
|
|
+ title: "项目编号",
|
|
|
dataIndex: "id",
|
|
|
key: "id"
|
|
|
},
|
|
|
{
|
|
|
- title: "任务名称",
|
|
|
+ title: "项目名称",
|
|
|
dataIndex: "taskName",
|
|
|
key: "taskName",
|
|
|
render: text => {
|
|
@@ -169,6 +199,11 @@ const MyTaskOutsource = React.createClass({
|
|
|
key: "orderNo"
|
|
|
},
|
|
|
{
|
|
|
+ title: "合同编号",
|
|
|
+ dataIndex: "contractNo",
|
|
|
+ key: "contractNo"
|
|
|
+ },
|
|
|
+ {
|
|
|
title: "业务类别",
|
|
|
dataIndex: "cname",
|
|
|
key: "cname"
|
|
@@ -185,7 +220,7 @@ const MyTaskOutsource = React.createClass({
|
|
|
key: "outsourceName"
|
|
|
},
|
|
|
{
|
|
|
- title: "任务状态",
|
|
|
+ title: "项目状态",
|
|
|
dataIndex: "taskStatus",
|
|
|
key: "taskStatus",
|
|
|
render: text => {
|
|
@@ -211,6 +246,11 @@ const MyTaskOutsource = React.createClass({
|
|
|
key: "depName"
|
|
|
},
|
|
|
{
|
|
|
+ title: "累计工时(小时)",
|
|
|
+ dataIndex: "hours",
|
|
|
+ key: "hours"
|
|
|
+ },
|
|
|
+ {
|
|
|
title: "操作",
|
|
|
dataIndex: "caozuo",
|
|
|
key: "caozuo",
|
|
@@ -227,6 +267,16 @@ const MyTaskOutsource = React.createClass({
|
|
|
</Button>
|
|
|
<Button
|
|
|
type="primary"
|
|
|
+ style={{ marginLeft: 10 }}
|
|
|
+ onClick={e => {
|
|
|
+ e.stopPropagation(),
|
|
|
+ this.evaluate(record, "咨询师经理", true);
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 回退
|
|
|
+ </Button>
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
style={{ margin: "0 10px" }}
|
|
|
onClick={e => {
|
|
|
e.stopPropagation(), this.okCancel(record);
|
|
@@ -234,14 +284,18 @@ const MyTaskOutsource = React.createClass({
|
|
|
>
|
|
|
添加工时
|
|
|
</Button>
|
|
|
+
|
|
|
<Button
|
|
|
type="primary"
|
|
|
onClick={e => {
|
|
|
- e.stopPropagation(),
|
|
|
- this.evaluate(record, "咨询师经理", true);
|
|
|
+ e.stopPropagation();
|
|
|
+ this.setState({
|
|
|
+ timeVisible: true
|
|
|
+ });
|
|
|
+ this.timeDetail(record);
|
|
|
}}
|
|
|
>
|
|
|
- 回退
|
|
|
+ 工时记录
|
|
|
</Button>
|
|
|
</div>
|
|
|
);
|
|
@@ -554,10 +608,10 @@ const MyTaskOutsource = React.createClass({
|
|
|
this.xiangmu(record.orderNo);
|
|
|
this.loaduserss(record);
|
|
|
},
|
|
|
- //点击修改任务详情
|
|
|
+ //点击修改项目详情
|
|
|
tijiaoOk() {
|
|
|
- if(moneyVerify(this.state.setUpAmount)) {
|
|
|
- return
|
|
|
+ if (moneyVerify(this.state.setUpAmount)) {
|
|
|
+ return;
|
|
|
}
|
|
|
let attachmentUrls = [];
|
|
|
if (this.state.attachmentUrl.length) {
|
|
@@ -576,10 +630,10 @@ const MyTaskOutsource = React.createClass({
|
|
|
crossDomain: false,
|
|
|
url: globalConfig.context + "/api/admin/orderProject/updateOrderTask",
|
|
|
data: {
|
|
|
- id: this.state.id, //任务编号
|
|
|
+ id: this.state.id, //项目编号
|
|
|
orderNo: this.state.orderNo, //订单编号
|
|
|
projectStatus: this.state.projectStatus, //项目状态
|
|
|
- taskStatus: this.state.taskStatus, //任务状态
|
|
|
+ taskStatus: this.state.taskStatus, //项目状态
|
|
|
taskComment: this.state.taskComment, //说明
|
|
|
startDate: this.state.startDate, //启动日期
|
|
|
endDate: this.state.endDate, //结束日期
|
|
@@ -623,7 +677,7 @@ const MyTaskOutsource = React.createClass({
|
|
|
}.bind(this)
|
|
|
);
|
|
|
},
|
|
|
- //点击修改任务详情
|
|
|
+ //点击修改项目详情
|
|
|
tianjiaOk() {
|
|
|
if (this.state.attachmentUrl.length) {
|
|
|
let picArr = [];
|
|
@@ -640,7 +694,7 @@ const MyTaskOutsource = React.createClass({
|
|
|
crossDomain: false,
|
|
|
url: globalConfig.context + "/api/admin/orderProject/addTaskHours",
|
|
|
data: {
|
|
|
- taskId: this.state.taskId, //任务编号
|
|
|
+ taskId: this.state.taskId, //项目编号
|
|
|
hours: this.state.hours, //工时
|
|
|
remarks: this.state.remarks, //说明
|
|
|
taskDate: this.state.taskDate, //日期
|
|
@@ -681,11 +735,11 @@ const MyTaskOutsource = React.createClass({
|
|
|
id: thisdata.id, //ID
|
|
|
orderNo: thisdata.orderNo, //订单编号
|
|
|
userName: thisdata.userName, //客户名称
|
|
|
- taskName: thisdata.taskName, //任务名称
|
|
|
+ taskName: thisdata.taskName, //项目名称
|
|
|
cname: thisdata.cname, //项目品类
|
|
|
contractNo: thisdata.contractNo, //合同编号
|
|
|
projectStatus: thisdata.projectStatus.toString(), //项目状态
|
|
|
- taskStatus: thisdata.taskStatus.toString(), //任务状态
|
|
|
+ taskStatus: thisdata.taskStatus.toString(), //项目状态
|
|
|
taskDate: thisdata.taskDate, //分配时间
|
|
|
taskComment: thisdata.taskComment, //说明
|
|
|
attachmentUrl: thisdata.attachmentUrl
|
|
@@ -807,8 +861,8 @@ const MyTaskOutsource = React.createClass({
|
|
|
cname: thisdata.cname, //项目类别
|
|
|
commodityPrice: thisdata.commodityPrice, //项目价格
|
|
|
commodityQuantity: thisdata.commodityQuantity, //项目数量
|
|
|
- main: thisdata.main, //是否为主要任务
|
|
|
- taskComment: thisdata.taskComment, //任务说明
|
|
|
+ main: thisdata.main, //是否为主要项目
|
|
|
+ taskComment: thisdata.taskComment, //项目说明
|
|
|
contacts: thisdata.contacts, //联系人
|
|
|
contactsMobile: thisdata.contactsMobile, //联系人电话
|
|
|
taskStatus: thisdata.taskStatus, //是否分配
|
|
@@ -1051,7 +1105,7 @@ const MyTaskOutsource = React.createClass({
|
|
|
key: i,
|
|
|
id: thisdata.id, //日志ID
|
|
|
content: thisdata.content, //流程
|
|
|
- taskId: thisdata.taskId, //任务ID
|
|
|
+ taskId: thisdata.taskId, //项目ID
|
|
|
aName: thisdata.aName, //负责人
|
|
|
createTimes: thisdata.createTimes //时间
|
|
|
});
|
|
@@ -1301,10 +1355,10 @@ const MyTaskOutsource = React.createClass({
|
|
|
this.loadData();
|
|
|
},
|
|
|
reset() {
|
|
|
- this.state.id = ""; //任务编号
|
|
|
+ this.state.id = ""; //项目编号
|
|
|
this.state.orderNo = ""; //订单编号
|
|
|
this.state.projectStatus = undefined; //项目状态
|
|
|
- this.state.taskStatus = undefined; //任务状态
|
|
|
+ this.state.taskStatus = undefined; //项目状态
|
|
|
this.state.taskComment = ""; //说明
|
|
|
this.state.startDate = ""; //启动日期
|
|
|
this.state.endDate = ""; //结束日期
|
|
@@ -1317,7 +1371,7 @@ const MyTaskOutsource = React.createClass({
|
|
|
this.state.contactMobile = ""; //联系人电话
|
|
|
this.state.legalPerson = ""; //法人
|
|
|
this.state.legalPersonTel = ""; //法人电话
|
|
|
- this.state.taskId = ""; //任务编号
|
|
|
+ this.state.taskId = ""; //项目编号
|
|
|
this.state.hours = ""; //工时
|
|
|
this.state.remarks = ""; //说明
|
|
|
this.state.taskDate = ""; //日期
|
|
@@ -1377,6 +1431,58 @@ const MyTaskOutsource = React.createClass({
|
|
|
}.bind(this)
|
|
|
);
|
|
|
},
|
|
|
+ changeList(arr) {
|
|
|
+ const newArr = [];
|
|
|
+ this.state.columns.forEach(item => {
|
|
|
+ arr.forEach(val => {
|
|
|
+ if (val === item.title) {
|
|
|
+ newArr.push(item);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ this.setState({
|
|
|
+ changeList: newArr
|
|
|
+ });
|
|
|
+ },
|
|
|
+ timeClose() {
|
|
|
+ this.setState({
|
|
|
+ timeVisible: false
|
|
|
+ });
|
|
|
+ },
|
|
|
+ timeDetail(record) {
|
|
|
+ console.log(record);
|
|
|
+
|
|
|
+ this.setState({
|
|
|
+ loading: true,
|
|
|
+ recordHour: record.hours
|
|
|
+ });
|
|
|
+ $.ajax({
|
|
|
+ method: "get",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url:
|
|
|
+ globalConfig.context + "/api/admin/orderProject/taskHoursDetailsList",
|
|
|
+ data: {
|
|
|
+ taskId: record.id
|
|
|
+ },
|
|
|
+ success: function(data) {
|
|
|
+ if (data.error && data.error.length) {
|
|
|
+ message.warning(data.error[0].message);
|
|
|
+ } else {
|
|
|
+ this.setState({
|
|
|
+ dataSourceTime: data.data
|
|
|
+ });
|
|
|
+ console.log(this.state.dataSourceTime);
|
|
|
+ }
|
|
|
+ }.bind(this)
|
|
|
+ }).always(
|
|
|
+ function() {
|
|
|
+ this.setState({
|
|
|
+ loading: false
|
|
|
+ });
|
|
|
+ }.bind(this)
|
|
|
+ );
|
|
|
+ },
|
|
|
render() {
|
|
|
const { TabPane } = Tabs;
|
|
|
const formItemLayout = {
|
|
@@ -1387,69 +1493,115 @@ const MyTaskOutsource = React.createClass({
|
|
|
return (
|
|
|
<div className="user-content">
|
|
|
<ShowModalDiv ShowModal={this.state.showModal} />
|
|
|
- <div className="content-title">
|
|
|
- <span>我的外包任务</span>
|
|
|
+ <div className="content-title" style={{ marginBottom: 10 }}>
|
|
|
+ <span style={{ fontWeight: 900, fontSize: 16 }}>我的外包项目</span>
|
|
|
</div>
|
|
|
- <div className="user-search">
|
|
|
- <Input
|
|
|
- placeholder="客户名称"
|
|
|
- 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>
|
|
|
- {/*<Button type='primary' style={{marginLeft:'10px'}} onClick={this.exportExec}>导出Excel</Button>*/}
|
|
|
- {/* <span>更多搜索<Switch defaultChecked={false} onChange={this.searchSwitch.bind(this)} /></span>
|
|
|
+ <Tabs defaultActiveKey="2" onChange={this.callback} className="test">
|
|
|
+ <TabPane tab="更改表格显示数据" key="1">
|
|
|
+ <div style={{ marginLeft: 10 }}>
|
|
|
+ <ChooseList
|
|
|
+ columns={this.state.columns}
|
|
|
+ changeFn={this.changeList}
|
|
|
+ changeList={this.state.changeList}
|
|
|
+ top={55}
|
|
|
+ margin={11}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </TabPane>
|
|
|
+ <TabPane tab="搜索" key="2">
|
|
|
+ <div className="user-search" style={{ marginLeft: 10 }}>
|
|
|
+ <Input
|
|
|
+ placeholder="客户名称"
|
|
|
+ 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>
|
|
|
+ </div> */}
|
|
|
+ </div>
|
|
|
+ </TabPane>
|
|
|
+ <TabPane tab="导出Excel" key="3">
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ style={{ margin: "11px 0 10px 10px" }}
|
|
|
+ onClick={this.exportExec}
|
|
|
+ >
|
|
|
+ 导出Excel
|
|
|
+ </Button>
|
|
|
+ </TabPane>
|
|
|
+
|
|
|
+ {/* <TabPane tab="批量操作" key="6">
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ disabled={this.state.selectedRowKeys.length == 0}
|
|
|
+ style={{ margin: "0px 0px 10px 10px" }}
|
|
|
+ onClick={e => {
|
|
|
+ e.stopPropagation(),
|
|
|
+ this.evaluateY(this.state.selectedRowKeys, "财务专员");
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 转交
|
|
|
+ </Button>
|
|
|
+ </TabPane> */}
|
|
|
+ </Tabs>
|
|
|
<div className="patent-table">
|
|
|
<Spin spinning={this.state.loading}>
|
|
|
<Table
|
|
|
- columns={this.state.columns}
|
|
|
+ columns={
|
|
|
+ this.state.changeList == undefined
|
|
|
+ ? this.state.columns
|
|
|
+ : this.state.changeList
|
|
|
+ }
|
|
|
dataSource={this.state.dataSource}
|
|
|
pagination={this.state.pagination}
|
|
|
onRowClick={this.tableRowClick.bind(this)}
|
|
|
+ bordered
|
|
|
+ size={"small"}
|
|
|
/>
|
|
|
</Spin>
|
|
|
</div>
|
|
|
<Assign
|
|
|
- title="任务"
|
|
|
+ title="项目"
|
|
|
selApi={"/api/admin/orderProject/projectDistribution"}
|
|
|
data={this.state.assignData}
|
|
|
showDesc={this.state.assignVisible}
|
|
@@ -1819,28 +1971,28 @@ const MyTaskOutsource = React.createClass({
|
|
|
</div>
|
|
|
{/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
|
|
|
<div className="clearfix">
|
|
|
- <h3 className="sub-title">任务信息</h3>
|
|
|
+ <h3 className="sub-title">项目信息</h3>
|
|
|
<FormItem
|
|
|
className="half-item"
|
|
|
{...formItemLayout}
|
|
|
- label="任务编号"
|
|
|
+ label="项目编号"
|
|
|
>
|
|
|
<span>{this.state.id}</span>
|
|
|
</FormItem>
|
|
|
<FormItem
|
|
|
className="half-item"
|
|
|
{...formItemLayout}
|
|
|
- label="任务名称"
|
|
|
+ label="项目名称"
|
|
|
>
|
|
|
<span>{this.state.taskName}</span>
|
|
|
</FormItem>
|
|
|
<FormItem
|
|
|
className="half-item"
|
|
|
{...formItemLayout}
|
|
|
- label="任务状态"
|
|
|
+ label="项目状态"
|
|
|
>
|
|
|
<Select
|
|
|
- placeholder="选择任务状态"
|
|
|
+ placeholder="选择项目状态"
|
|
|
style={{ width: "200px" }}
|
|
|
value={this.state.taskStatus}
|
|
|
onChange={e => {
|
|
@@ -1859,7 +2011,7 @@ const MyTaskOutsource = React.createClass({
|
|
|
<FormItem
|
|
|
className="half-item"
|
|
|
{...formItemLayout}
|
|
|
- label="任务类别"
|
|
|
+ label="项目类别"
|
|
|
>
|
|
|
<span>{this.state.cname}</span>
|
|
|
</FormItem>
|
|
@@ -2408,7 +2560,7 @@ const MyTaskOutsource = React.createClass({
|
|
|
onOk={this.nextCancel}
|
|
|
onCancel={this.nextCancel}
|
|
|
width="800px"
|
|
|
- title="项目任务详情"
|
|
|
+ title="项目项目详情"
|
|
|
footer=""
|
|
|
className="admin-desc-content"
|
|
|
>
|
|
@@ -2765,28 +2917,28 @@ const MyTaskOutsource = React.createClass({
|
|
|
</div>
|
|
|
{/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
|
|
|
<div className="clearfix">
|
|
|
- <h3 className="sub-title">任务信息</h3>
|
|
|
+ <h3 className="sub-title">项目信息</h3>
|
|
|
<FormItem
|
|
|
className="half-item"
|
|
|
{...formItemLayout}
|
|
|
- label="任务编号"
|
|
|
+ label="项目编号"
|
|
|
>
|
|
|
<span>{this.state.id}</span>
|
|
|
</FormItem>
|
|
|
<FormItem
|
|
|
className="half-item"
|
|
|
{...formItemLayout}
|
|
|
- label="任务名称"
|
|
|
+ label="项目名称"
|
|
|
>
|
|
|
<span>{this.state.taskName}</span>
|
|
|
</FormItem>
|
|
|
<FormItem
|
|
|
className="half-item"
|
|
|
{...formItemLayout}
|
|
|
- label="任务状态"
|
|
|
+ label="项目状态"
|
|
|
>
|
|
|
<Select
|
|
|
- placeholder="选择任务状态"
|
|
|
+ placeholder="选择项目状态"
|
|
|
style={{ width: "200px" }}
|
|
|
value={this.state.taskStatus}
|
|
|
onChange={e => {
|
|
@@ -2805,7 +2957,7 @@ const MyTaskOutsource = React.createClass({
|
|
|
<FormItem
|
|
|
className="half-item"
|
|
|
{...formItemLayout}
|
|
|
- label="任务类别"
|
|
|
+ label="项目类别"
|
|
|
>
|
|
|
<span>{this.state.cname}</span>
|
|
|
</FormItem>
|
|
@@ -3106,6 +3258,24 @@ const MyTaskOutsource = React.createClass({
|
|
|
</Spin>
|
|
|
</div>
|
|
|
</Modal>
|
|
|
+ <Modal
|
|
|
+ title="工时记录"
|
|
|
+ visible={this.state.timeVisible}
|
|
|
+ onCancel={this.timeClose}
|
|
|
+ footer={null}
|
|
|
+ >
|
|
|
+ <Spin spinning={this.state.loading}>
|
|
|
+ <Table
|
|
|
+ columns={this.state.columnsTime}
|
|
|
+ dataSource={this.state.dataSourceTime}
|
|
|
+ pagination={false}
|
|
|
+ width={600}
|
|
|
+ bordered
|
|
|
+ size={"small"}
|
|
|
+ />
|
|
|
+ <p style={{ marginTop: 10, color: "red" }}>累计工时(小时):{this.state.recordHour}</p>
|
|
|
+ </Spin>
|
|
|
+ </Modal>
|
|
|
</div>
|
|
|
);
|
|
|
}
|