import React from "react";
import {Button, Form, Image, ListGroup, Tab, Table, Tabs} from "react-bootstrap";
import {ManagerActivity, PageProps} from "./entity";
import {JSONResponse, Method, request} from "./interface";
import {API, prefix} from "./api";
import {
EmptyBodyTransform,
FindActivityRes,
FindActivityTransform,
FindTimeScoreRes,
PageDataMessage,
ScoreTransform,
SimpleMessage
} from "./result";
import {MyDialog} from "./ui/MyDialog";
import moment from "moment";
import {Input} from "./ui/InputGroup";
import {UploadImg} from "./ui/UploadImg";
import {Page} from "./ui/Page";
const contentMaxLength=50
/**
* 图片尺寸限制
*/
const maxImageSize={
width:100,
height:100
}
class EditActive extends React.Component<
{
onClick:Function;
activity:ManagerActivity;
},
{
activity:ManagerActivity;
}>{
constructor(props: Readonly<{ onClick: Function; activity: ManagerActivity }>) {
super(props);
this.state={
activity:this.props.activity
}
}
render() {
return (
);
}
private isNotEmpty(name: any) {
return String(name).length>0;
}
}
/**
* 活动管理
*/
export class Active extends React.Component;
tipContent:JSX.Element|null
dialog:JSX.Element|null,
page?:PageProps
}>{
constructor(props: Readonly) {
super(props);
this.state={
tipContent:null,
dialog:null,
}
}
//加载活动信息
loadActive(page:number){
let that=this
request(API.account.findActivity,Method.GET,{
currentPage:String(page)
},new FindActivityTransform(),function (res:FindActivityRes) {
switch (res.customResult) {
case PageDataMessage.ok:
that.setState({
activeList:res.dataList,
page:res.page
})
break
case PageDataMessage.fail:
that.setState({
tipContent:查询活动失败,请联系管理员
})
break
}
} )
}
componentDidMount() {
this.loadActive(1)
}
render() {
return (
# |
活动标题 |
活动内容 |
活动图片 |
开始时间 |
结束时间 |
求助用户id |
帮助用户id |
操作 |
{this.state.activeList?this.state.activeList.length>0?this.state.activeList.map((active:ManagerActivity,index:number)=>
{index+1} |
{active.title} |
{active.content} |
|
{moment(active.activityStartTime).format("YYYY-MM-DD HH:mm:ss")} |
{moment(active.activityEndTime).format("YYYY-MM-DD HH:mm:ss")} |
{active.seekHelpUser} |
{active.helpUser != null ?
{active.helpUser.map((userId,index) =>
{userId}this.loadScore(userId,active.activityId)} className="timeScore" src={"money.svg"}/>)}
:'无'
}
|
|
):没有活动信息
:null
}
{this.state.page?this.loadActive(page)} currentPage={this.state.page.currentPage}
totalPage={this.state.page.totalPage} pageSize={this.state.page.pageSize}/>
:丢失分页数据}
{this.state.dialog}
this.setState({
tipContent:null
})}/>
);
}
/**
* 修改活动信息
* @param activity
*/
private modifyActivity(activity: ManagerActivity) {
let that=this
request(API.account.updateActivity+activity.activityId,Method.PUT, {
title:activity.title,
content:activity.content,
activityImgFile:activity.activityImgFile?activity.activityImgFile:null
},
new EmptyBodyTransform(),function (res:JSONResponse) {
switch (res.customResult) {
case SimpleMessage.ok:
that.setState({
tipContent:修改成功
,
dialog:null
})
that.loadActive(1)
break
case SimpleMessage.fail:
that.setState({
tipContent:修改失败,请联系管理员
})
break
}
})
}
/*
加载时间币
*/
private loadScore(userId: string, activityId: number) {
let that=this
request(API.account.timeScore,Method.GET,{
userId:userId,
activityId:String(activityId)
},new ScoreTransform(),function (res:FindTimeScoreRes) {
switch (res.customResult) {
case SimpleMessage.ok:
if(res.timeScore==null){
that.setState({
tipContent:该用户没有结算时间币记录
})
}else {
that.setState({
tipContent:
结算时间 |
时间币 |
{moment(res.timeScore?.createTime).format("YYYY-MM-DD HH:mm:ss")} |
{res.timeScore?.timeScore} |
})
}
break
case SimpleMessage.fail:
that.setState({
tipContent:时间币查询失败,请联系管理员
})
break
}
})
}
}