1、新增keys条件查询组件静态数据

2、营销计划key列表新增批量发送按钮
This commit is contained in:
wangsongsole 2022-07-25 15:01:31 +08:00
parent 9e12956b15
commit 62941ada28
2 changed files with 106 additions and 86 deletions

View File

@ -2,7 +2,7 @@
* @Author: Wind * @Author: Wind
* @Date: 2022-07-25 10:53:41 * @Date: 2022-07-25 10:53:41
* @LastEditors: Wind * @LastEditors: Wind
* @LastEditTime: 2022-07-25 13:49:44 * @LastEditTime: 2022-07-25 14:44:27
* @Description: * @Description:
* @FilePath: \frontend\src\components\keysFind\index.jsx * @FilePath: \frontend\src\components\keysFind\index.jsx
*/ */
@ -15,6 +15,14 @@ import {
FormInputField, FormInputField,
Button Button
} from 'zent' } from 'zent'
const stateList = [
{ key: 1, text: '全部' },
{ key: 2, text: '待使用' },
{ key: 3, text: '已使用' },
{ key: 4, text: '已完结' },
{ key: 5, text: '已作废' }
]
export default ({ onQuery }) => { export default ({ onQuery }) => {
const form = Form.useForm(FormStrategy.View) const form = Form.useForm(FormStrategy.View)
@ -52,10 +60,7 @@ export default ({ onQuery }) => {
name='state' name='state'
label='状态:' label='状态:'
props={{ props={{
options: [ options: stateList
{ key: 1, text: '普通用户' },
{ key: 2, text: '高级用户' }
]
}} }}
/> />
<FormInputField <FormInputField

View File

@ -22,7 +22,7 @@ import {
DropdownContent DropdownContent
} from 'zent' } from 'zent'
import './list.less' import './list.less'
import { Switch,Pop } from 'zent' import { Switch, Pop } from 'zent'
import '../../../assets/comm.css' import '../../../assets/comm.css'
import Ipt from '../../../components/input/main' import Ipt from '../../../components/input/main'
import Grid from '../../../components/gird/main.js' import Grid from '../../../components/gird/main.js'
@ -96,11 +96,11 @@ const Column = [
width: '100px' width: '100px'
}, },
{ {
title: "发放key码总数", title: '发放key码总数',
name: "grant", name: 'grant',
type: "normal", type: 'normal',
prop: "grant", prop: 'grant',
width: "110px", width: '110px'
}, },
{ {
title: '领取key总数', title: '领取key总数',
@ -110,47 +110,47 @@ const Column = [
width: '120px' width: '120px'
}, },
{ {
title: "已消耗key总数", title: '已消耗key总数',
name: "usage", name: 'usage',
type: "slot", type: 'slot',
prop: "usage", prop: 'usage',
width: "120px", width: '120px'
}, },
{ {
title: "作废key码总数", title: '作废key码总数',
name: "invalid", name: 'invalid',
type: "normal", type: 'normal',
prop: "invalid", prop: 'invalid',
width: "120px", width: '120px'
}, },
{ {
title: "可用key码总数", title: '可用key码总数',
name: "silent", name: 'silent',
type: "normal", type: 'normal',
prop: "silent", prop: 'silent',
width: "140px", width: '140px'
}, },
{ {
title: "失效key码总数", title: '失效key码总数',
name: "overdue", name: 'overdue',
type: "normal", type: 'normal',
prop: "overdue", prop: 'overdue',
width: "140px", width: '140px'
}, },
{ {
title: "完结key码总数", title: '完结key码总数',
name: "end", name: 'end',
type: "normal", type: 'normal',
prop: "end", prop: 'end',
width: "140px", width: '140px'
}, },
{ {
title: "更新时间", title: '更新时间',
name: "update_time", name: 'update_time',
type: "normal", type: 'normal',
prop: "update_time", prop: 'update_time',
width: "140px", width: '140px'
}, }
// { // {
// title: "发放总价(预估)", // title: "发放总价(预估)",
// name: "grant_total", // name: "grant_total",
@ -185,7 +185,7 @@ const Column = [
// prop: "silent_total", // prop: "silent_total",
// width: "140px", // width: "140px",
// }, // },
]; ]
export default class acclist extends React.Component { export default class acclist extends React.Component {
constructor(props) { constructor(props) {
@ -204,6 +204,7 @@ export default class acclist extends React.Component {
{ title: '已完结' }, { title: '已完结' },
{ title: '已作废' } { title: '已作废' }
], ],
gridSelection: [],
distdata: [], distdata: [],
combinedValue: [], combinedValue: [],
distdata2: [ distdata2: [
@ -310,9 +311,9 @@ export default class acclist extends React.Component {
handelResponse( handelResponse(
res, res,
(req, msg) => { (req, msg) => {
this.setState({ distdata: req.data }); this.setState({ distdata: req.data })
this.setState({ dataCount: req.total }); this.setState({ dataCount: req.total })
sessionStorage.setItem('key_plan_status',req.plan.status); sessionStorage.setItem('key_plan_status', req.plan.status)
}, },
(err) => {} (err) => {}
) )
@ -564,7 +565,13 @@ export default class acclist extends React.Component {
this.setState({ email: e.target.value }) this.setState({ email: e.target.value })
} }
menuItemClick(e, key, row) { menuItemClick(key, row, isMany = false) {
/* isMany 是否是批量发送 */
let ids = row.id
if (isMany) {
ids = this.state.gridSelection.map((item) => item.id)
}
console.log(ids)
let self = this let self = this
if (key == 1) { if (key == 1) {
getReseller(row.reseller_id).then((res) => { getReseller(row.reseller_id).then((res) => {
@ -717,7 +724,7 @@ export default class acclist extends React.Component {
onChange={this.onChangeCombinedDate.bind(this)} onChange={this.onChangeCombinedDate.bind(this)}
/> />
) )
const popDom=(row)=>{ const popDom = (row) => {
return ( return (
<div> <div>
<b>兑换码统计</b> <b>兑换码统计</b>
@ -747,6 +754,7 @@ export default class acclist extends React.Component {
<div id='exchangecodelist'> <div id='exchangecodelist'>
<TabPage tabs={this.state.tabList} tabChange={this.tabFn.bind(this)}> <TabPage tabs={this.state.tabList} tabChange={this.tabFn.bind(this)}>
<div className='codetable dflexj'> <div className='codetable dflexj'>
<div>
<Button <Button
type='primary' type='primary'
icon='plus' icon='plus'
@ -754,7 +762,12 @@ export default class acclist extends React.Component {
disabled={this.state.disabled}> disabled={this.state.disabled}>
新建key 新建key
</Button> </Button>
{/* <Button type="info">批量操作</Button> */} <Button
type='primary'
onClick={(e) => this.menuItemClick(1, [], true)}>
批量发送
</Button>
</div>
<Ipt <Ipt
icon='search' icon='search'
placeholder={'请输入key批次ID进行匹配查询'} placeholder={'请输入key批次ID进行匹配查询'}
@ -781,13 +794,14 @@ export default class acclist extends React.Component {
maxheight={this.state.tableHeight} maxheight={this.state.tableHeight}
countbarVisible={false} countbarVisible={false}
isSwitch={false} isSwitch={false}
isMultiple={false}
page={this.state.page} page={this.state.page}
dataCount={this.state.dataCount} dataCount={this.state.dataCount}
pageChange={(e) => { pageChange={(e) => {
this.pageChange(e) this.pageChange(e)
}} }}
checkChange={(selection) => {}} checkChange={(selection) => {
this.setState({ gridSelection: selection })
}}
ComponentHandler={(com, rowData) => { ComponentHandler={(com, rowData) => {
if (com == 'link') { if (com == 'link') {
let str = ( let str = (
@ -808,10 +822,12 @@ export default class acclist extends React.Component {
} }
return str return str
} }
if(com=='usage'){ if (com == 'usage') {
return <Pop trigger="hover" content={popDom(rowData)}> return (
<Pop trigger='hover' content={popDom(rowData)}>
<span className='grid-link'>{rowData.usage}</span> <span className='grid-link'>{rowData.usage}</span>
</Pop> </Pop>
)
} }
if (com == 'switch') { if (com == 'switch') {
return ( return (
@ -856,7 +872,6 @@ export default class acclist extends React.Component {
}> }>
<DropdownClickTrigger> <DropdownClickTrigger>
<div className='linkmore disabled'> <div className='linkmore disabled'>
{' '}
更多 <Icon type={'down'} />{' '} 更多 <Icon type={'down'} />{' '}
</div> </div>
</DropdownClickTrigger> </DropdownClickTrigger>
@ -889,7 +904,7 @@ export default class acclist extends React.Component {
<DropdownContent> <DropdownContent>
<Menu <Menu
onClick={(e, key) => onClick={(e, key) =>
this.menuItemClick(e, key, rowData) this.menuItemClick(key, rowData)
}> }>
<MenuItem key='1' disabled> <MenuItem key='1' disabled>
发送密码及压缩包 发送密码及压缩包
@ -932,7 +947,7 @@ export default class acclist extends React.Component {
<DropdownContent> <DropdownContent>
<Menu <Menu
onClick={(e, key) => onClick={(e, key) =>
this.menuItemClick(e, key, rowData) this.menuItemClick(key, rowData)
}> }>
<MenuItem key='1'>发送密码及压缩包</MenuItem> <MenuItem key='1'>发送密码及压缩包</MenuItem>
<MenuItem key='2' disabled> <MenuItem key='2' disabled>