This commit is contained in:
parent
df27477349
commit
2f2460c3f4
|
@ -86,7 +86,16 @@ import _ from "lodash";
|
||||||
|
|
||||||
if(e=="…")
|
if(e=="…")
|
||||||
{
|
{
|
||||||
return;
|
// let curpage = this.state.page + 2;
|
||||||
|
// let page_num =Math.ceil(this.state.dataCount / this.state.count);
|
||||||
|
// if(curpage > page_num)
|
||||||
|
// {
|
||||||
|
// curpage = page_num;
|
||||||
|
// }
|
||||||
|
// this.setState({page:curpage})
|
||||||
|
// this.props.pageFn(curpage);
|
||||||
|
// this.props.onJumpPage(curpage)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
this.setState({page:e})
|
this.setState({page:e})
|
||||||
|
@ -156,7 +165,7 @@ import _ from "lodash";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
let btns = this.getPageArr(btnPages,this.state.page,8)
|
let btns = this.getPageArr(btnPages,this.state.page,3)
|
||||||
return (
|
return (
|
||||||
<div className="pagination">
|
<div className="pagination">
|
||||||
<div className="pagination-context">
|
<div className="pagination-context">
|
||||||
|
|
|
@ -1,20 +1,25 @@
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { HashRouter as Router, Route, Link } from "react-router-dom";
|
import { HashRouter as Router, Route, Link } from "react-router-dom";
|
||||||
import {Card,Sweetalert,DateRangePicker,ImageUpload, Drawer,Button ,Tabs, Notify,CombinedDateRangePicker,Select,Input,Checkbox,Switch ,Swiper,Dropdown,DropdownPosition,DropdownClickTrigger,Icon,MenuItem,DropdownContent,Menu,RadioGroup,RadioButton } from 'zent';
|
import {Card,Sweetalert,DateRangePicker,ImageUpload, Drawer,Button,Radio ,Tabs, Notify,CombinedDateRangePicker,Select,Input,Checkbox,Switch ,Swiper,Dropdown,DropdownPosition,DropdownClickTrigger,Icon,MenuItem,DropdownContent,Menu,RadioGroup,RadioButton } from 'zent';
|
||||||
import Ipt from "../../../components/input/main"
|
import Ipt from "../../../components/input/main"
|
||||||
import Form from "../../../components/form/main"
|
import Form from "../../../components/form/main"
|
||||||
import FormItem from "../../../components/form-item/main"
|
import FormItem from "../../../components/form-item/main"
|
||||||
import Grid from "../../../components/gird/main.js"
|
import Grid from "../../../components/gird/main.js"
|
||||||
import {addPlanStep,handelResponse,getPlanList,addKeysBatchInfo,getKeyBatchDetail,putKeyBatchDetail,uploadImg
|
import {addPlanStep,handelResponse,getPlanList,addKeysBatchInfo,getKeyBatchDetail,putKeyBatchDetail,uploadImg,postKeyEmail,getReseller
|
||||||
} from "../../../assets/api.js"
|
} from "../../../assets/api.js"
|
||||||
import Productform from "../product/add"
|
import Productform from "../product/add"
|
||||||
import Bus from "../../../assets/eventBus.js"
|
import Bus from "../../../assets/eventBus.js"
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import "./add.less"
|
import "./add.less"
|
||||||
import moment from "moment"
|
import moment from "moment"
|
||||||
|
import { isSameDay, addDays, parse } from 'date-fns';
|
||||||
const TabPanel = Tabs.TabPanel;
|
const TabPanel = Tabs.TabPanel;
|
||||||
|
|
||||||
|
const initArray = targetNum => {
|
||||||
|
return Array.from({ length: targetNum }, (_, index) => index);
|
||||||
|
};
|
||||||
|
|
||||||
export default class acclist extends React.Component{
|
export default class acclist extends React.Component{
|
||||||
constructor(props){
|
constructor(props){
|
||||||
super(props)
|
super(props)
|
||||||
|
@ -61,6 +66,11 @@ export default class acclist extends React.Component{
|
||||||
endtime:"",
|
endtime:"",
|
||||||
rowIndex:-1,
|
rowIndex:-1,
|
||||||
uploading:false,
|
uploading:false,
|
||||||
|
audit_visible:false,
|
||||||
|
phone_list:[],
|
||||||
|
email_list:[],
|
||||||
|
email_radio:-1,
|
||||||
|
phone_radio:-1
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,7 +88,7 @@ export default class acclist extends React.Component{
|
||||||
console.log("和编辑",req)
|
console.log("和编辑",req)
|
||||||
this.setState({pagetitle:"编辑key"})
|
this.setState({pagetitle:"编辑key"})
|
||||||
let model = {
|
let model = {
|
||||||
batch_name:req.batch_name,
|
batch_name:req.batch_name,
|
||||||
style: req.style,
|
style: req.style,
|
||||||
quantity:req.quantity,
|
quantity:req.quantity,
|
||||||
allow_repetition:req.allow_repetition,
|
allow_repetition:req.allow_repetition,
|
||||||
|
@ -114,8 +124,6 @@ export default class acclist extends React.Component{
|
||||||
if(plan_item)
|
if(plan_item)
|
||||||
{
|
{
|
||||||
plan_item = JSON.parse(plan_item)
|
plan_item = JSON.parse(plan_item)
|
||||||
console.log("计划认为")
|
|
||||||
console.log(plan_item)
|
|
||||||
let model = this.state.model;
|
let model = this.state.model;
|
||||||
model.title = plan_item.title;
|
model.title = plan_item.title;
|
||||||
|
|
||||||
|
@ -219,7 +227,7 @@ export default class acclist extends React.Component{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
this.setState({drawerVisible:false})
|
this.setState({drawerVisible:false})
|
||||||
this.state.codeInfo={ //数据模型不可少
|
this.state.codeInfo={ //数据模型不可少
|
||||||
code_name:"",
|
code_name:"",
|
||||||
issued:'',//发放总量
|
issued:'',//发放总量
|
||||||
describe:'',
|
describe:'',
|
||||||
|
@ -421,9 +429,21 @@ export default class acclist extends React.Component{
|
||||||
putKeyBatchDetail(id,data).then((res)=>{
|
putKeyBatchDetail(id,data).then((res)=>{
|
||||||
handelResponse(res,(req,msg)=>{
|
handelResponse(res,(req,msg)=>{
|
||||||
Notify.success("更新key成功");
|
Notify.success("更新key成功");
|
||||||
setTimeout(()=>{
|
// setTimeout(()=>{
|
||||||
window.history.back()
|
// window.history.back()
|
||||||
},1000);
|
// },1000);
|
||||||
|
|
||||||
|
getReseller(id).then((res)=>{
|
||||||
|
handelResponse(res,(req,msg)=>{
|
||||||
|
|
||||||
|
|
||||||
|
this.setState({phone_list:req.contact_phone})
|
||||||
|
this.setState({email_list:req.contact_email})
|
||||||
|
this.setState({audit_visible:true})
|
||||||
|
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
},(err)=>{
|
},(err)=>{
|
||||||
Notify.error(err);
|
Notify.error(err);
|
||||||
})
|
})
|
||||||
|
@ -453,11 +473,23 @@ export default class acclist extends React.Component{
|
||||||
addKeysBatchInfo(id,data).then((res)=>{
|
addKeysBatchInfo(id,data).then((res)=>{
|
||||||
handelResponse(res,(req,msg)=>{
|
handelResponse(res,(req,msg)=>{
|
||||||
Notify.success("创建key成功");
|
Notify.success("创建key成功");
|
||||||
setTimeout(()=>{
|
sessionStorage.setItem("keyBatchId",req.key_batch_id)
|
||||||
window.history.back()
|
getReseller(req.reseller_id).then((res)=>{
|
||||||
},1000);
|
handelResponse(res,(req,msg)=>{
|
||||||
|
|
||||||
|
|
||||||
|
this.setState({phone_list:req.contact_phone})
|
||||||
|
this.setState({email_list:req.contact_email})
|
||||||
|
this.setState({audit_visible:true})
|
||||||
|
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
},(err)=>{
|
},(err)=>{
|
||||||
Notify.success(err);
|
Notify.error(err);
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -475,16 +507,23 @@ export default class acclist extends React.Component{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onDisabledCombinedDate = (val)=>{
|
onDisabledRange = (date, type)=>{
|
||||||
console.log(this.state.begintime)
|
let step1 = JSON.parse (sessionStorage.getItem("step1"));
|
||||||
console.log(this.state.endtime)
|
let isdisabled = false;
|
||||||
let str = moment(val).format("YYYY-MM-DD HH:mm:ss")
|
let str = moment(date).format("YYYY-MM-DD HH:mm:ss")
|
||||||
let now = moment(new Date().getTime()).format("YYYY-MM-DD HH:mm:ss")
|
if( type == "start" )
|
||||||
|
{
|
||||||
let isBetween = moment(str).isBetween(now,this.state.endtime,null,'(]');
|
isdisabled = moment(str).isBefore(step1.begin_time) || moment(str).isAfter(step1.end_time)
|
||||||
return !isBetween
|
}
|
||||||
|
|
||||||
|
if( type == "end" )
|
||||||
|
{
|
||||||
|
isdisabled = moment(str).add(1, 'days').isBefore(step1.begin_time) || moment(str).isAfter(step1.end_time)
|
||||||
|
}
|
||||||
|
return isdisabled
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
rowItemClick(row,rowIndex){
|
rowItemClick(row,rowIndex){
|
||||||
|
|
||||||
|
|
||||||
|
@ -619,9 +658,101 @@ export default class acclist extends React.Component{
|
||||||
this.state.tempdata[rowIndex].contract_price = value;
|
this.state.tempdata[rowIndex].contract_price = value;
|
||||||
this.setState({tempdata:this.state.tempdata})
|
this.setState({tempdata:this.state.tempdata})
|
||||||
}
|
}
|
||||||
|
onDisabledTime= (date, type) => {
|
||||||
|
|
||||||
|
const min = new Date();
|
||||||
|
const hour = min.getHours();
|
||||||
|
const minute = min.getMinutes();
|
||||||
|
const second = min.getSeconds();
|
||||||
|
const isSame = isSameDay(date, min);
|
||||||
|
|
||||||
|
|
||||||
|
return isSame ? {
|
||||||
|
disabledHours: () => initArray(hour),
|
||||||
|
disabledMinutes: hourValue =>
|
||||||
|
hourValue === hour ? initArray(minute) : [],
|
||||||
|
disabledSeconds: (hourValue, minuteValue) =>
|
||||||
|
hourValue === hour && minuteValue === minute
|
||||||
|
? initArray(second)
|
||||||
|
: [],
|
||||||
|
}
|
||||||
|
: {};
|
||||||
|
};
|
||||||
|
|
||||||
|
send(e)
|
||||||
|
{
|
||||||
|
let key_id = sessionStorage.getItem("keyBatchId")
|
||||||
|
let data ={
|
||||||
|
phone: this.state.phone_radio > -1 ? this.state.phone_list[this.state.phone_radio] : this.state.phone ,
|
||||||
|
email: this.state.email_radio > -1 ? this.state.email_list[this.state.email_radio] : this.state.email
|
||||||
|
}
|
||||||
|
|
||||||
|
let phoneReg = new RegExp("^[1][3,4,5,6,7,8,9][0-9]{9}$");
|
||||||
|
let emailReg = new RegExp( "^[A-Za-z0-9\u4e00-\u9fa5\.]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (!phoneReg.test(data.phone)) {
|
||||||
|
|
||||||
|
Notify.error("手机号格式不正确")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(!emailReg.test(data.email)){
|
||||||
|
|
||||||
|
Notify.error("邮箱格式不正确")
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
postKeyEmail(key_id,data).then((res)=>{
|
||||||
|
handelResponse(res,(req,msg)=>{
|
||||||
|
Notify.success("发送成功,请在1-2分钟后查看")
|
||||||
|
this.props.history.push('/home/plan-list/');
|
||||||
|
},(err)=>{
|
||||||
|
Notify.error(err)
|
||||||
|
this.props.history.push('/home/plan-list/');
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
onReturn(){
|
||||||
|
let self = this;
|
||||||
|
Sweetalert.confirm({
|
||||||
|
type:'warning',
|
||||||
|
closeBtn:true,
|
||||||
|
title:'确认操作',
|
||||||
|
content:<p> 是否返回key列表?</p>,
|
||||||
|
onConfirm:()=>{ self.props.history.push('/home/key-list/');},
|
||||||
|
onCancel: this.onCancel,
|
||||||
|
className:'questModal',
|
||||||
|
parentComponent: this
|
||||||
|
});
|
||||||
|
}
|
||||||
|
onPhoneChange(e){
|
||||||
|
this.setState({phone_radio:e.target.value})
|
||||||
|
}
|
||||||
|
onEmailChange(e){
|
||||||
|
this.setState({email_radio:e.target.value})
|
||||||
|
}
|
||||||
|
cancel(e){
|
||||||
|
this.setState({audit_visible:false})
|
||||||
|
}
|
||||||
|
phoneChange=(e)=>
|
||||||
|
{
|
||||||
|
|
||||||
|
this.setState({"phone":e.target.value})
|
||||||
|
|
||||||
|
}
|
||||||
|
emailChange=(e)=>
|
||||||
|
{
|
||||||
|
|
||||||
|
this.setState({"email":e.target.value})
|
||||||
|
|
||||||
|
}
|
||||||
render(){
|
render(){
|
||||||
const Column = [
|
const Column = [
|
||||||
{
|
{
|
||||||
|
@ -1088,8 +1219,71 @@ export default class acclist extends React.Component{
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
</Drawer>
|
</Drawer>
|
||||||
|
{
|
||||||
|
this.state.audit_visible ? (
|
||||||
|
<div>
|
||||||
|
<div className="modal"> </div>
|
||||||
|
<div className="audit-box" >
|
||||||
|
<Icon type="close" className="audit-close" onClick={(e)=>{this.onReturn(e)}} />
|
||||||
|
<div className="audit-box-title">审核通过</div>
|
||||||
|
<div className="audit-box-question">是否立即发送key以及解压密码?</div>
|
||||||
|
<div className="phone-group">
|
||||||
|
<div >
|
||||||
|
接收手机号
|
||||||
|
</div>
|
||||||
|
<div className="phone-list">
|
||||||
|
<RadioGroup
|
||||||
|
value={this.state.phone_radio}
|
||||||
|
isValueEqual={this.isValueEqual}
|
||||||
|
onChange={(e)=>{this.onPhoneChange(e)}}
|
||||||
|
>
|
||||||
|
{
|
||||||
|
|
||||||
|
this.state.phone_list.map((item, index) => {
|
||||||
|
|
||||||
|
return <Radio value={index}>{item}</Radio>
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
</RadioGroup>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="email-group">
|
||||||
|
<div >
|
||||||
|
接收邮箱
|
||||||
|
</div>
|
||||||
|
<div className="email-list">
|
||||||
|
<RadioGroup
|
||||||
|
value={this.state.email_radio}
|
||||||
|
isValueEqual={this.isValueEqual}
|
||||||
|
onChange={ (e)=>{this.onEmailChange(e)} }
|
||||||
|
>
|
||||||
|
{
|
||||||
|
this.state.email_list.map((item, index) => {
|
||||||
|
|
||||||
|
return <Radio value={index}>{item}</Radio>
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</RadioGroup>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="input-group">
|
||||||
|
<Input placeholder="请输入接收手机号" onChange={this.phoneChange} disabled={this.state.phone_radio > -1} ></Input>
|
||||||
|
</div>
|
||||||
|
<div className="input-group">
|
||||||
|
<Input placeholder="请输入接收邮箱" onChange={this.emailChange} disabled={this.state.email_radio > -1} ></Input>
|
||||||
|
</div>
|
||||||
|
<div className="audit-btn-group">
|
||||||
|
<Button onClick={(e)=>{this.onReturn(e)}}>取消</Button>
|
||||||
|
<Button type="primary" onClick={(e)=>{this.send(e)}} >发送</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
):null
|
||||||
|
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -193,11 +193,8 @@ export default class adduserinfo extends React.Component{
|
||||||
}
|
}
|
||||||
|
|
||||||
this.setState({model:model2})
|
this.setState({model:model2})
|
||||||
console.log(cur_product)
|
|
||||||
}
|
}
|
||||||
onTypeChange(e){
|
onTypeChange(e){
|
||||||
console.log(e)
|
|
||||||
|
|
||||||
let model2 = this.state.model;
|
let model2 = this.state.model;
|
||||||
model2.type = e.target.value;
|
model2.type = e.target.value;
|
||||||
this.setState({model:model2})
|
this.setState({model:model2})
|
||||||
|
|
|
@ -203,10 +203,7 @@ export default class add extends React.Component{
|
||||||
let emailReg = new RegExp( "^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$");
|
let emailReg = new RegExp( "^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$");
|
||||||
|
|
||||||
|
|
||||||
// let data ={
|
|
||||||
// phone: this.state.phone_radio ? this.state.phone_list[this.state.phone_radio] : this.state.phone ,
|
|
||||||
// email: this.state.email_radio ? this.state.email_list[this.state.email_radio] : this.state.email
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (!phoneReg.test(data.phone)) {
|
if (!phoneReg.test(data.phone)) {
|
||||||
|
|
||||||
|
|
|
@ -154,7 +154,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.audit-box{
|
.audit-box{
|
||||||
width: 400px;
|
width: 420px;
|
||||||
height: auto;
|
height: auto;
|
||||||
background-color: #FFFFFF;
|
background-color: #FFFFFF;
|
||||||
box-shadow: 0 0 1px #ACCADD;
|
box-shadow: 0 0 1px #ACCADD;
|
||||||
|
@ -192,7 +192,8 @@
|
||||||
margin-left: 50px;
|
margin-left: 50px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
|
padding-right: 20px;
|
||||||
}
|
}
|
||||||
.email-list{
|
.email-list{
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
|
@ -205,7 +206,7 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
padding-right: 30px;
|
padding-right: 40px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -339,7 +339,7 @@ export default class acclist extends React.Component{
|
||||||
|
|
||||||
if( type == "end" )
|
if( type == "end" )
|
||||||
{
|
{
|
||||||
isdisabled = moment(str).isBefore(step1.begin_time) || moment(str).isAfter(step1.end_time)
|
isdisabled = moment(str).add(1, 'days').isBefore(step1.begin_time) || moment(str).isAfter(step1.end_time)
|
||||||
}
|
}
|
||||||
return isdisabled
|
return isdisabled
|
||||||
}
|
}
|
||||||
|
|
|
@ -661,7 +661,7 @@ onChangeCombinedDate(e){
|
||||||
</DropdownClickTrigger>
|
</DropdownClickTrigger>
|
||||||
<DropdownContent>
|
<DropdownContent>
|
||||||
<Menu onClick={(e,key)=>this.menuItemClick(e,key,rowData)} style={{width:"400px"}}>
|
<Menu onClick={(e,key)=>this.menuItemClick(e,key,rowData)} style={{width:"400px"}}>
|
||||||
<MenuItem key="1" >再次发送密码</MenuItem>
|
<MenuItem key="1" >再次发送key密码</MenuItem>
|
||||||
<MenuItem key="2"
|
<MenuItem key="2"
|
||||||
>再次发送key</MenuItem>
|
>再次发送key</MenuItem>
|
||||||
<MenuItem key="3">修改接收邮箱发送</MenuItem>
|
<MenuItem key="3">修改接收邮箱发送</MenuItem>
|
||||||
|
|
|
@ -67,12 +67,10 @@ export default class acclist extends React.Component{
|
||||||
send(e)
|
send(e)
|
||||||
{
|
{
|
||||||
let phoneReg = new RegExp("^[1][3,4,5,6,7,8,9][0-9]{9}$");
|
let phoneReg = new RegExp("^[1][3,4,5,6,7,8,9][0-9]{9}$");
|
||||||
let emailReg = new RegExp( "^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$");
|
let emailReg = new RegExp( "^[A-Za-z0-9\u4e00-\u9fa5\.]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let plan_id = this.state.plan_id;
|
let plan_id = this.state.plan_id;
|
||||||
let data ={
|
let data ={
|
||||||
|
@ -355,7 +353,7 @@ export default class acclist extends React.Component{
|
||||||
Notify.error("接收邮箱不能为空")
|
Notify.error("接收邮箱不能为空")
|
||||||
return
|
return
|
||||||
}else{
|
}else{
|
||||||
let reg=/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
|
let reg=/^[A-Za-z0-9\u4e00-\u9fa5\.]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
|
||||||
if(!reg.test(this.state.email)){
|
if(!reg.test(this.state.email)){
|
||||||
Notify.clear();
|
Notify.clear();
|
||||||
Notify.error("接收邮箱格式不正确")
|
Notify.error("接收邮箱格式不正确")
|
||||||
|
|
Loading…
Reference in New Issue