diff --git a/src/components/knockGold/index.jsx b/src/components/knockGold/index.jsx
index 42f9331b..ed15c328 100644
--- a/src/components/knockGold/index.jsx
+++ b/src/components/knockGold/index.jsx
@@ -1,14 +1,14 @@
/* 新增商品 */
-import { Component } from "react";
-import "./index.less";
-import Ipt from "@/components/input/main";
-import Form from "@/components/form/main";
-import FormItem from "@/components/form-item/main";
-import rules from "./rules";
-import moment from "moment";
-import { deWeightThree, timeDiff } from "@/utils";
-import { isSameDay } from "date-fns";
-import { divNum } from "@/tools/number";
+import { Component } from 'react';
+import './index.less';
+import Ipt from '@/components/input/main';
+import Form from '@/components/form/main';
+import FormItem from '@/components/form-item/main';
+import rules from './rules';
+import moment from 'moment';
+import { deWeightThree, timeDiff } from '@/utils';
+import { isSameDay } from 'date-fns';
+import { divNum } from '@/tools/number';
import {
Select,
Button,
@@ -23,15 +23,15 @@ import {
Notify,
Tag,
TimeRangePicker
-} from "zent";
-import isArray from "lodash/isArray";
-import { getVoucherWarningAccount, handelResponse } from "@/assets/api";
-import AddNewDialog from "./Dialog";
-import MobileComponent from "./mobileComponent";
-import WangEditor from "./wangEditor";
+} from 'zent';
+import isArray from 'lodash/isArray';
+import { getVoucherWarningAccount, handelResponse } from '@/assets/api';
+import AddNewDialog from './Dialog';
+import MobileComponent from './mobileComponent';
+import WangEditor from './wangEditor';
const cardTypeList = [
- { key: "1", text: "借记卡" },
- { key: "2", text: "信用卡" }
+ { key: '1', text: '借记卡' },
+ { key: '2', text: '信用卡' }
];
const defaultInstructionWx = `1、立减金自领取之日起30天有效,请在有效期内使用
@@ -45,23 +45,23 @@ const defaultInstructionZfb = `1、立减金自领取之日起7天有效,请
4、使用立减金的支付宝支付订单,如发生全额退款,且立减金仍在有效期内,立减金将自动退还给用户,如立减金已过期,则不退还给用户;如发生部分退款,用户支付金额将按比例原路退还,立减金将不退还给用户`;
const receiveTypeList = [
- { key: "all", text: "总共" },
- { key: "month", text: "每月" },
- { key: "week", text: "每周" },
- { key: "day", text: "每天" }
+ { key: 'all', text: '总共' },
+ { key: 'month', text: '每月' },
+ { key: 'week', text: '每周' },
+ { key: 'day', text: '每天' }
];
const week = [
- { key: "Mon", text: "周一" },
- { key: "Tue", text: "周二" },
- { key: "Wed", text: "周三" },
- { key: "Thu", text: "周四" },
- { key: "Fri", text: "周五" },
- { key: "Sat", text: "周六" },
- { key: "Sun", text: "周日" }
+ { key: 'Mon', text: '周一' },
+ { key: 'Tue', text: '周二' },
+ { key: 'Wed', text: '周三' },
+ { key: 'Thu', text: '周四' },
+ { key: 'Fri', text: '周五' },
+ { key: 'Sat', text: '周六' },
+ { key: 'Sun', text: '周日' }
];
//预警百分比
-const earlyPerList = ["70", "50", "30", "20"];
+const earlyPerList = ['70', '50', '30', '20'];
const initArray = (targetNum) => {
return Array.from({ length: targetNum }, (_, index) => index);
};
@@ -71,50 +71,50 @@ export default class addKnockGold extends Component {
super(props);
this.state = {
model: {
- channel: "1", // 渠道
+ channel: '1', // 渠道
entry_time: [], // 生效时间
- batch_goods_name: "", // 批次商品名称
- channel_activity_id: "", // 批次号
- temp_no: "", //模板编号
- weight: "0", //权重
- price: "", // 单价
- recharge_amount: "", // 充值金额
- denomination: "", // 面额
- reduce_amount: "", // 立减额度
- all_budget: "", // 总预算
- day_budget: "", // 单天预算
+ batch_goods_name: '', // 批次商品名称
+ channel_activity_id: '', // 批次号
+ temp_no: '', //模板编号
+ weight: '0', //权重
+ price: '', // 单价
+ recharge_amount: '', // 充值金额
+ denomination: '', // 面额
+ reduce_amount: '', // 立减额度
+ all_budget: '', // 总预算
+ day_budget: '', // 单天预算
card_type: [], // '卡种类型',
- natural_limit: "1", //'是否开启自然人限制',
- brush_limit: "1", //'是否开启防刷限制',
+ natural_limit: '1', //'是否开启自然人限制',
+ brush_limit: '1', //'是否开启防刷限制',
instruction: defaultInstructionZfb, //'使用说明',
early_per: [], //'预警百分比',
early_notifier: [], //'预警通知人',
- receive_number: "", //领取个数
- receive_type: "all", //领取类型
- usable_time: "", //可用时间
+ receive_number: '', //领取个数
+ receive_type: 'all', //领取类型
+ usable_time: '', //可用时间
fixed_time: [], //固定时间
timer: [], //领取时间段
- timer_type: "1", //领取时间段类型
- effect_date_type: "", //生效日期类型
- effect_date: "", //生效日期
+ timer_type: '1', //领取时间段类型
+ effect_date_type: '', //生效日期类型
+ effect_date: '', //生效日期
irregularDate: [[]], //不规则日期
irregularTime: [[]], //不规则时间
ruleDate: [[]], //规则日期
ruleWeek: [] //规则周
},
- TimeDiffer: "",
+ TimeDiffer: '',
visible: false, //加框弹窗
- warningInput: "", //预警输入框
- input_early_per: "", //预警百分比输入框
+ warningInput: '', //预警输入框
+ input_early_per: '', //预警百分比输入框
getTimeList: [
{
- key: "0",
- text: "立即生效",
+ key: '0',
+ text: '立即生效',
disabled: false
},
{
- key: "1",
- text: "次日生效",
+ key: '1',
+ text: '次日生效',
disabled: false
}
],
@@ -136,11 +136,11 @@ export default class addKnockGold extends Component {
this.props.data.time_limit.use_time.fiexd_time?.start_time;
model.fixed_time[1] =
this.props.data.time_limit.use_time.fiexd_time?.end_time;
- if (this.props.data.time_limit.use_time.type === "week") {
+ if (this.props.data.time_limit.use_time.type === 'week') {
model.ruleWeek = this.props.data.time_limit.use_time?.week;
model.ruleDate = this.props.data.time_limit.use_time?.time;
}
- if (this.props.data.time_limit.use_time.type === "irregular") {
+ if (this.props.data.time_limit.use_time.type === 'irregular') {
model.irregularDate = this.props.data.time_limit.use_time?.day;
model.irregularTime = this.props.data.time_limit.use_time?.time;
}
@@ -204,8 +204,8 @@ export default class addKnockGold extends Component {
model.timer[0] = this.props.data.time_limit.receive_time.start_time;
model.timer[1] = this.props.data.time_limit.receive_time.end_time;
model.timer_type = !this.props.data.time_limit.receive_time?.start_time
- ? "1"
- : "2";
+ ? '1'
+ : '2';
model.effect_date_type =
this.state.getTimeList[
@@ -266,7 +266,7 @@ export default class addKnockGold extends Component {
};
}
});
- this.onHandleChange(selectData, "early_notifier");
+ this.onHandleChange(selectData, 'early_notifier');
this.setState({
userSelectList: newData
});
@@ -282,10 +282,10 @@ export default class addKnockGold extends Component {
/* x时间控件禁用 */
onDisabledRange = (date, type) => {
let disabled = false;
- if (type == "end") {
- disabled = moment(date.getTime()).add(1, "days") <= new Date().getTime();
+ if (type == 'end') {
+ disabled = moment(date.getTime()).add(1, 'days') <= new Date().getTime();
}
- if (type == "start") {
+ if (type == 'start') {
disabled = date.getTime() <= new Date().getTime();
}
return disabled;
@@ -293,15 +293,15 @@ export default class addKnockGold extends Component {
/* x时间控件禁用 */
onDisabledRange1 = (date, type) => {
- let step1 = JSON.parse(sessionStorage.getItem("knockGold_effectDate"));
+ let step1 = JSON.parse(sessionStorage.getItem('knockGold_effectDate'));
let isdisabled = false;
- let str = moment(date).format("YYYY-MM-DD HH:mm:ss");
- const isDay = moment(step1.end_time).format("HH:mm:ss");
- if (type == "start") {
- if (isDay < "23:59:59") {
+ let str = moment(date).format('YYYY-MM-DD HH:mm:ss');
+ const isDay = moment(step1.end_time).format('HH:mm:ss');
+ if (type == 'start') {
+ if (isDay < '23:59:59') {
isdisabled =
moment(str).isBefore(step1.begin_time) ||
- moment(str).subtract(1, "days").isAfter(step1.end_time);
+ moment(str).subtract(1, 'days').isAfter(step1.end_time);
} else {
isdisabled =
moment(str).isBefore(step1.begin_time) ||
@@ -309,9 +309,9 @@ export default class addKnockGold extends Component {
}
}
- if (type == "end") {
+ if (type == 'end') {
isdisabled =
- moment(str).add(1, "days").isBefore(step1.begin_time) ||
+ moment(str).add(1, 'days').isBefore(step1.begin_time) ||
moment(str).isAfter(step1.end_time);
}
return isdisabled;
@@ -320,14 +320,14 @@ export default class addKnockGold extends Component {
/* x时间控件禁用 */
onDisabledRange2 = (date, type) => {
let isdisabled = false;
- let str = moment(date).format("YYYY-MM-DD HH:mm:ss");
- const isDay = moment(this.state.model.entry_time[1]).format("HH:mm:ss");
- if (type == "start") {
- if (isDay < "23:59:59") {
+ let str = moment(date).format('YYYY-MM-DD HH:mm:ss');
+ const isDay = moment(this.state.model.entry_time[1]).format('HH:mm:ss');
+ if (type == 'start') {
+ if (isDay < '23:59:59') {
isdisabled =
moment(str).isBefore(this.state.model.entry_time[0]) ||
moment(str)
- .subtract(1, "days")
+ .subtract(1, 'days')
.isAfter(this.state.model.entry_time[1]);
} else {
isdisabled =
@@ -336,16 +336,16 @@ export default class addKnockGold extends Component {
}
}
- if (type == "end") {
+ if (type == 'end') {
isdisabled =
- moment(str).add(1, "days").isBefore(this.state.model.entry_time[0]) ||
+ moment(str).add(1, 'days').isBefore(this.state.model.entry_time[0]) ||
moment(str).isAfter(this.state.model.entry_time[1]);
}
return isdisabled;
};
onDisabledTime = (date, type) => {
- let step1 = JSON.parse(sessionStorage.getItem("knockGold_effectDate"));
+ let step1 = JSON.parse(sessionStorage.getItem('knockGold_effectDate'));
const min = new Date(step1.begin_time);
const hour = min.getHours();
const minute = min.getMinutes();
@@ -390,7 +390,7 @@ export default class addKnockGold extends Component {
const new_early_per = this.state.model.early_per.filter(
(item) => item !== this.state.input_early_per
);
- this.onHandleChange(new_early_per, "early_per");
+ this.onHandleChange(new_early_per, 'early_per');
}
/* 提交 */
@@ -403,8 +403,8 @@ export default class addKnockGold extends Component {
) {
if (this.props.data) {
let temp = [];
- if (sessionStorage.getItem("knockGoldData")) {
- temp = JSON.parse(sessionStorage.getItem("knockGoldData"));
+ if (sessionStorage.getItem('knockGoldData')) {
+ temp = JSON.parse(sessionStorage.getItem('knockGoldData'));
}
let index = temp.findIndex((item) => {
return (
@@ -426,7 +426,7 @@ export default class addKnockGold extends Component {
temp[index] = this.transformDataCode();
}
- sessionStorage.setItem("knockGoldData", JSON.stringify(temp));
+ sessionStorage.setItem('knockGoldData', JSON.stringify(temp));
this.setState({ form_data: temp[index] });
return true;
} else {
@@ -436,8 +436,8 @@ export default class addKnockGold extends Component {
}
//缓存
let temp = [];
- if (sessionStorage.getItem("knockGoldData")) {
- temp = JSON.parse(sessionStorage.getItem("knockGoldData"));
+ if (sessionStorage.getItem('knockGoldData')) {
+ temp = JSON.parse(sessionStorage.getItem('knockGoldData'));
}
let data = temp ? temp : [];
@@ -449,12 +449,12 @@ export default class addKnockGold extends Component {
);
if (isRepeat) {
- Notify.error("不允许输入重复的平台批次号");
+ Notify.error('不允许输入重复的平台批次号');
return false;
}
data.push(models);
- sessionStorage.setItem("knockGoldData", JSON.stringify(data));
+ sessionStorage.setItem('knockGoldData', JSON.stringify(data));
this.setState({ form_data: models });
return true;
@@ -488,7 +488,7 @@ export default class addKnockGold extends Component {
if (transformData.channel == 1) {
transformData.temp_no = this.state.model.temp_no;
} else {
- transformData.temp_no = "";
+ transformData.temp_no = '';
}
transformData.batch_goods_name = this.state.model.batch_goods_name;
transformData.channel_activity_id = this.state.model.channel_activity_id; //确认字段
@@ -540,11 +540,11 @@ export default class addKnockGold extends Component {
withTimeFunction(type) {
let obj = {};
switch (type) {
- case "week":
+ case 'week':
obj.time = this.state.model.ruleDate;
obj.week = this.state.model.ruleWeek;
break;
- case "irregular":
+ case 'irregular':
obj.time = this.state.model.irregularTime;
obj.day = this.state.model.irregularDate;
break;
@@ -564,28 +564,28 @@ export default class addKnockGold extends Component {
/* 校验表单function */
limitFunction() {
- if (!this.state.model.card_type) {
- Notify.error("请选择卡种");
+ if (!this.state.model.card_type.length) {
+ Notify.error('请选择卡种');
return false;
}
if (this.state.model.early_per.filter((item) => item).length < 1) {
- Notify.error("请选预警百分比");
+ Notify.error('请选预警百分比');
return false;
}
if (!this.state.model.usable_time) {
- Notify.error("请选择可用时间段类型");
+ Notify.error('请选择可用时间段类型');
return false;
}
/* 可用时间段 */
- if (this.state.model.usable_time === "received") {
+ if (this.state.model.usable_time === 'received') {
if (
!this.state.model.effect_date_type?.key ||
!this.state.model.effect_date
) {
- Notify.error("请完整的填写或选择可用时间段");
+ Notify.error('请完整的填写或选择可用时间段');
return false;
}
}
@@ -593,7 +593,7 @@ export default class addKnockGold extends Component {
if (
(this.state.TimeDiffer < Number(this.state.model.effect_date) ||
1 > Number(this.state.model.effect_date)) &&
- this.state.model.usable_time === "received"
+ this.state.model.usable_time === 'received'
) {
Notify.error(
`有限期不允许大于生效时间段 注:当前有效期最小时间为 1 天,最大时间为 ${this.state.TimeDiffer} 天`
@@ -602,55 +602,55 @@ export default class addKnockGold extends Component {
}
if (
- this.state.model.usable_time === "fiexd" &&
+ this.state.model.usable_time === 'fiexd' &&
this.setTime(this.state.model.fixed_time)
) {
- Notify.error("请完整的选择固定时间段");
+ Notify.error('请完整的选择固定时间段');
return false;
}
if (
- (this.state.model.usable_time === "fiexd" &&
+ (this.state.model.usable_time === 'fiexd' &&
this.state.model.fixed_time[0] > this.state.model.entry_time[1]) ||
- (this.state.model.usable_time === "fiexd" &&
+ (this.state.model.usable_time === 'fiexd' &&
this.state.model.fixed_time[1] > this.state.model.entry_time[1])
) {
- Notify.error("固定开始时间或结束时间不允许大于生效结束时间");
+ Notify.error('固定开始时间或结束时间不允许大于生效结束时间');
return false;
}
/* 验证有效期内,规则日期可用 */
- if (this.state.model.usable_time === "week") {
+ if (this.state.model.usable_time === 'week') {
if (
this.testDateFunction(this.state.model.ruleDate).length > 0 ||
this.state.model.ruleWeek.length < 1
) {
- Notify.error("请完整的选择规则日期和时间");
+ Notify.error('请完整的选择规则日期和时间');
return false;
}
}
/* 有效期内,不规则日期可用 */
- if (this.state.model.usable_time === "irregular") {
+ if (this.state.model.usable_time === 'irregular') {
if (
this.testDateFunction(this.state.model.irregularDate).length > 0 ||
this.testDateFunction(this.state.model.irregularTime).length > 0
) {
- Notify.error("请完整的选择不规则日期和时间");
+ Notify.error('请完整的选择不规则日期和时间');
return false;
}
}
if (this.detectTimeConflict(this.state.model.ruleDate)) {
- Notify.error("有效期内,规则时间存在交集");
+ Notify.error('有效期内,规则时间存在交集');
return false;
}
if (this.detectTimeConflict(this.state.model.irregularDate)) {
- Notify.error("有效期内,不规则日期存在交集");
+ Notify.error('有效期内,不规则日期存在交集');
return false;
}
if (this.detectTimeConflict(this.state.model.irregularTime)) {
- Notify.error("有效期内,不规则时间存在交集");
+ Notify.error('有效期内,不规则时间存在交集');
return false;
}
@@ -659,7 +659,7 @@ export default class addKnockGold extends Component {
!limitBit.test(this.state.model.denomination) ||
!limitBit.test(this.state.model.reduce_amount)
) {
- Notify.error("请输入正确的面额金额或立减金额(保留两位小数)");
+ Notify.error('请输入正确的面额金额或立减金额(保留两位小数)');
return false;
}
@@ -667,7 +667,7 @@ export default class addKnockGold extends Component {
this.state.model.denomination - 0 <
this.state.model.reduce_amount - 0
) {
- Notify.error("面额不允许大于满减金额");
+ Notify.error('面额不允许大于满减金额');
return false;
}
@@ -675,17 +675,17 @@ export default class addKnockGold extends Component {
this.state.model.recharge_amount - 0 >
this.state.model.all_budget - 0
) {
- Notify.error("充值批次金额不允许大于总预算");
+ Notify.error('充值批次金额不允许大于总预算');
return false;
}
if (this.state.model.all_budget - 0 < this.state.model.day_budget - 0) {
- Notify.error("单天预算发放上限不允许大于总预算");
+ Notify.error('单天预算发放上限不允许大于总预算');
return false;
}
if (this.state.model.day_budget - 0 < this.state.model.reduce_amount - 0) {
- Notify.error("单天预算发放上限不允许小于面额");
+ Notify.error('单天预算发放上限不允许小于面额');
return false;
}
@@ -693,7 +693,7 @@ export default class addKnockGold extends Component {
this.state.model.recharge_amount - 0 <
this.state.model.reduce_amount - 0
) {
- Notify.error("面额不允许大于批次充值金额");
+ Notify.error('面额不允许大于批次充值金额');
return false;
}
@@ -701,28 +701,28 @@ export default class addKnockGold extends Component {
divNum(this.state.model.all_budget, this.state.model.reduce_amount) <
this.state.model.receive_number - 0
) {
- Notify.error("用户可领个数不允许大于库存(总预算/面额)");
+ Notify.error('用户可领个数不允许大于库存(总预算/面额)');
return false;
}
/* 生效时间段 */
if (this.setTime(this.state.model.entry_time)) {
- Notify.error("请选择结束时间或开始时间");
+ Notify.error('请选择结束时间或开始时间');
return false;
}
/* 领取时间段 */
if (
this.setTime(this.state.model.timer) &&
- this.state.model.timer_type === "2"
+ this.state.model.timer_type === '2'
) {
- Notify.error("请选择结束时间或开始时间");
+ Notify.error('请选择结束时间或开始时间');
return false;
}
/* 预警人数 */
if (this.state.model.early_notifier.length > 14) {
- Notify.error("目前仅支持新增10个预警通知人");
+ Notify.error('目前仅支持新增10个预警通知人');
return false;
}
}
@@ -756,7 +756,7 @@ export default class addKnockGold extends Component {
this.state.model.entry_time[1]
);
const data = this.state.getTimeList.map((item) => {
- if (item?.key === "1") {
+ if (item?.key === '1') {
if (TimeDiffer < 2) {
item.disabled = true;
} else {
@@ -774,31 +774,31 @@ export default class addKnockGold extends Component {
const newData = this.state.model.early_notifier.filter(
(items) => items.key !== item.key
);
- this.onHandleChange(newData, "early_notifier"); /* 调用公用setState */
+ this.onHandleChange(newData, 'early_notifier'); /* 调用公用setState */
/* 当预警人为0 清除输入框 */
- if (newData.length < 1) this.setState({ warningInput: "" });
+ if (newData.length < 1) this.setState({ warningInput: '' });
}
render() {
return (