From a801508b135b79b12d411af5a8d7e4059a7abf24 Mon Sep 17 00:00:00 2001
From: liuwh <liuwh@hugeinfo.com.cn>
Date: Sun, 23 Feb 2020 12:37:28 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/nsjcy/frontEnd/nsjcy
---
SunshineIns/src/page/ActiveManage.jsx | 172 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 142 insertions(+), 30 deletions(-)
diff --git a/SunshineIns/src/page/ActiveManage.jsx b/SunshineIns/src/page/ActiveManage.jsx
index 2d1d66e..bc789c1 100644
--- a/SunshineIns/src/page/ActiveManage.jsx
+++ b/SunshineIns/src/page/ActiveManage.jsx
@@ -1,17 +1,13 @@
-/**
- * 徐祥健<xuxj@hugeinfo.com.cn>
- * 2018年8月28日 10:41
- *
- */
-
import React from 'react';
import HeadView from '../view/HeadView';
import TableBtnView from '../view/TableBtnView';
-import { Divider, Modal, message, Tooltip, Progress } from 'antd'
+import CommonSearchForm from '../view/CommonSearchForm';
+import { Divider, Modal, message, Button, Progress } from 'antd'
import moment from 'moment'
import Fetch from '../fetch';
+import { domain } from '../fetch/_fetch';
import TableView from '../view/TableView';
const confirm = Modal.confirm;
function typeOfName(type) {
@@ -28,12 +24,59 @@
return '已摇号';
}
}
+
+function typeStatus(type) {
+ switch (type) {
+ case 'act_1':
+ return "南检活动";
+ case 'act_2':
+ return "法治培训";
+ case 'act_3':
+ return "普法预约";
+ }
+}
+
+const taskNodeIds = {
+ 'act_1': '南检活动',
+ 'act_2': '法治培训',
+ 'act_3': '普法预约',
+}
+
+const activityTypeList = [
+ 'act_1',
+ 'act_2',
+ 'act_3',
+]
+
+const activityStatusIds = {
+ 0: '未发布',
+ 1: '报名中',
+ 2: '活动中',
+ 3: '已结束',
+ 100: '已摇号',
+}
+
+const activityStatusList = [
+ 0,
+ 1,
+ 2,
+ 3,
+ 100,
+]
export default class ActiveManage extends React.Component {
constructor(props) {
super(props);
this.state = {
data: [],
- resetKey: Date.now()
+ resetKey: Date.now(),
+ loading:false,
+ formData: {
+ __key: Date.now(),
+ activityType: '',
+ activityStatus: '',
+ startTime: '',
+ endTime: '',
+ }
};
}
@@ -41,14 +84,35 @@
document.title = '活动管理';
this.getData();
}
+
+ setFormData = data => {
+ console.log('form', data);
+ this.setState({
+ formData: data,
+ });
+ }
+
+ searchonClick = data => {
+ console.log('form', data);
+ this.setState({
+ formData: data,
+ });
+ this.getData();
+ }
+
getData = () => {
- Fetch.activeManage()
+ // this.setState({
+ // data: []
+ // });
+ this.setState({loading:true})
+ Fetch.activeManage({ ...this.state.formData })
.then(res => {
for (var i = 0; i < res.length; i++) {
res[i]['index'] = i + 1;
}
this.setState({
- data: res
+ data: res,
+ loading:false
});
});
}
@@ -56,21 +120,25 @@
this.props.history.push("/activeManageEdit/" + id);
}
+ signIn = (id) => {
+ window.open('index.html#/signIn/' + id);
+ }
+
pulish = (id) => {
confirm({
title: '确认要发布这条活动吗?',
onOk: () => {
Fetch.publishActive(id)
- .then(data => {
- if (data.code == 0) {
- message.success("发布成功!")
- this.setState({
- resetKey: Date.now()
- }, this.getData);
- } else {
- message.error('发布失败,请联系管理员', 2)
- }
- })
+ .then(data => {
+ if (data.code == 0) {
+ message.success("发布成功!")
+ this.setState({
+ resetKey: Date.now()
+ }, this.getData);
+ } else {
+ message.error('发布失败,请联系管理员', 2)
+ }
+ })
}
});
}
@@ -97,7 +165,12 @@
title: '序号',
dataIndex: 'index',
key: 'index'
- },{
+ }, {
+ title: '活动类型',
+ dataIndex: 'activityType',
+ key: 'activityType',
+ render: text => <span>{typeStatus(text)}</span>
+ }, {
title: '活动标题',
dataIndex: 'title',
key: 'title'
@@ -124,15 +197,13 @@
title: '报名人数',
dataIndex: 'totalNum',
key: 'totalNum',
- render: (_, { totalNum, applyNum }) => <Progress percent={applyNum * 100 / totalNum} format={percent => `${applyNum}/${totalNum} `} />,
+ render: (_, { totalNum, applyNum }) => <Progress percent={applyNum * 100 / totalNum} format={percent => `${applyNum}/${totalNum} `} />,
}, {
title: '操作',
key: 'action',
render: (text, record) => (
(
- record.status > 0 ? <span>
- <label className='theme-color' onClick={() => this.showModal(record.id)} style={{ cursor: 'pointer' }}>查看</label></span>
- :
+ record.status == 0 ?
<span>
<label className='theme-color' onClick={() => this.showModal(record.id)} style={{ cursor: 'pointer' }}>修改</label>
<Divider type="vertical" />
@@ -140,17 +211,58 @@
<Divider type="vertical" />
<label className='theme-color' onClick={() => this.deleteItems(record.id)} style={{ cursor: 'pointer' }}>删除</label>
</span>
+ :
+ record.status == 2 ?
+ <span>
+ <label className='theme-color' onClick={() => this.showModal(record.id)} style={{ cursor: 'pointer' }}>查看</label>
+ <Divider type="vertical" />
+ <label className='theme-color' onClick={() => this.signIn(record.id)} style={{ cursor: 'pointer' }}>签到上墙</label>
+ </span>
+ :
+ <span><label className='theme-color' onClick={() => this.showModal(record.id)} style={{ cursor: 'pointer' }}>查看</label></span>
)
),
}];
- const { data, resetKey } = this.state;
+ const { data, resetKey, formData, loading } = this.state;
return (
- <div className="app-page">
+ <div className="app-page" >
<HeadView history={this.props.history} />
- <TableBtnView key={-resetKey} type="infoManage" name='活动一览' btnName='活动发布' onClick={() => this.showModal('new')}>
- </TableBtnView>
- <TableView columns={columns} data={data} pageSize='10' size='default' />
+ <div style={{ marginLeft: '90%', marginBottom: '20px', marginTop: '20px' }}>
+ <Button type="primary" size='large' onClick={() => this.showModal('new')}>活动发布</Button>
+ </div>
+ {/* <TableBtnView key={-resetKey} type="infoManage" name='活动一览' btnName='活动发布' onClick={() => this.showModal('new')}>
+ </TableBtnView> */}
+ <div style={{ background: '#fff', margin: 20 }}>
+ <CommonSearchForm
+ {...this.props}
+ formData={formData}
+ setFormData={this.setFormData}
+ searchonClick={this.searchonClick}
+ pathName={this.props.location.pathname}
+ data={[
+ {
+ type: 'select', name: '活动类型', label: '活动类型', key: 'activityType', list: activityTypeList.map(key => ({
+ id: key,
+ name: taskNodeIds[key]
+ })),
+ },
+ {
+ type: 'select', name: '活动状态', label: '活动状态', key: 'activityStatus', list: activityStatusList.map(key => ({
+ id: key,
+ name: activityStatusIds[key]
+ })),
+ },
+ {
+ type: 'rangePicker',
+ label: '任务生成时间',
+ name: JSON.stringify(['开始时间', '结束时间']),
+ key: JSON.stringify(['startTime', 'endTime']),
+ keylistName: 'rangeTimelist',
+ },
+ ]} />
+ <TableView columns={columns} data={data} pageSize='10' size='default' loading={loading} />
+ </div>
</div>
);
}
--
Gitblit v1.8.0