提交 8d5e7c95 authored 作者: lidongxu's avatar lidongxu

Merge branch 'qa2' into dev

......@@ -21,7 +21,8 @@ export const checkPlanExpire = (row) => {
*/
export const checkPlanChangeExpire = (row) => {
const date = new Date()
const rowDate = new Date(row.activityDate)
const rowDate = new Date(row.date)
console.log(date, row)
return !(rowDate <= date)
}
......
......@@ -14,6 +14,10 @@ const props = defineProps({
type: Boolean,
default: false
},
setNowMaxMonth: { // 设置当前月为最大日期
type: Boolean,
default: false
},
defaultDate: { // 默认日期
type: [Array, Date, String],
default: () => {
......@@ -40,6 +44,10 @@ const searchMinDate = computed(() => {
// 设置最大日期选择范围
const searchMaxDate = computed(() => {
if (props.setNextMaxMonth) {
// 设置当月最后一日为最大范围
if (props.setNowMaxMonth) {
return new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0)
}
// 设置下个月最后一日为最大范围
return new Date(new Date().getFullYear(), new Date().getMonth() + 2, 0)
} else {
......
......@@ -41,6 +41,7 @@
:default-date="form.date"
:min-date="planMinDate"
setNextMaxMonth
:setNowMaxMonth="!!planId"
type="single"
@confirm="confirmCalendar" />
<van-field v-model="form.pattern"
......
......@@ -88,7 +88,7 @@ defineOptions({
})
import userStore from '@/store/modules/user'
import { parseTime } from '@/utils'
import { checkPlanExpire } from '@/hooks'
import { checkPlanExpire, checkPlanChangeExpire } from '@/hooks'
import { PROMOTION_STATUS, getPromotionActiveStatus } from '@/dicts'
import { getPlanListAPI, deletePlanAPI, batchUpdatePlanAPI, getChargeListAPI } from '@/api'
import PlanSearch from './planSearch.vue'
......@@ -199,6 +199,10 @@ const editPlan = (row) => {
if (!checkPlanExpire(row)) {
return proxy.$modal.msgWarning('无法变更,已执行或之前计划')
}
// 日期小于等于今日,无法变更
if (!checkPlanChangeExpire(row)) {
return proxy.$modal.msgWarning('无法变更,日期小于等于今日')
}
router.push(`/m/promotion_plan_editing/${row.id}`)
}
......
......@@ -80,7 +80,7 @@
<template #default="scope">
<el-button type="success"
link
:disabled="!selectableFn(scope.row)"
:disabled="!selectableFn(scope.row) || !checkPlanChangeExpire(scope.row)"
@click="editFn(scope.row)">
变更
</el-button>
......@@ -317,7 +317,7 @@
<script setup>
import { v4 as uuidv4 } from 'uuid';
import { getPlanListAPI, uploadFileToOSSAPI, addPlanAPI, savePlanAPI, deletePlanAPI, addPlanByRoleAPI, getChargeListAPI, addPlanByWebAPI, updatePlanByWebAPI, getPlanStoreListAPI, updatePlanAPI, batchUpdatePlanAPI } from '@/api'
import { checkPlanExpire } from '@/hooks'
import { checkPlanExpire, checkPlanChangeExpire } from '@/hooks'
import userStore from '@/store/modules/user'
import { PROMOTION_ACTIVITY_MODE_LIST,getPromotionActiveStatus } from '@/dicts'
import { parseTime } from '@/utils'
......@@ -550,7 +550,7 @@ const disabledDateFn = (time) => {
const now = new Date();
// 变更计划时,只能选择明天以后的
const thisMonthStart = new Date(now.getFullYear(), now.getMonth(), addOrEditPlanForm.value.id ? now.getDate() + 1 : now.getDate());
const nextMonthEnd = new Date(now.getFullYear(), now.getMonth() + 2, 0);
const nextMonthEnd = new Date(now.getFullYear(), addOrEditPlanForm.value.id ? now.getMonth() + 1 : now.getMonth() + 2, 0);
return time.getTime() < thisMonthStart.getTime() || time.getTime() > nextMonthEnd.getTime();
}
}
......@@ -590,7 +590,6 @@ const selEmployee = () => {
proxy.$refs.addOrEditPlanRef.clearValidate('employeeNo');
}
// 保存新增/变更计划
const handleAddOrEditPlan = async () => {
// 表单校验
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论