| | |
| | | getActivityReceiveTime, |
| | | getImageUrlRules, |
| | | couponColumn, |
| | | dateTimeRules, |
| | | } from '@/utils/coupon-form' |
| | | export default { |
| | | data() { |
| | |
| | | if (!isNew) { |
| | | row.usageTypeStr = getActivityEffectiveTime(row) |
| | | row.getStartDateStr = getActivityReceiveTime(row) |
| | | getImageUrlRules(row,this.tableConfig.form) |
| | | getImageUrlRules(row, this.tableConfig.form) |
| | | } |
| | | |
| | | }, |
| | | columns: [ |
| | | ...couponColumn(), |
| | |
| | | searchForm: [ |
| | | { |
| | | type: 'row', |
| | | items: [...couponSearchForm(), |
| | | items: [ |
| | | ...couponSearchForm(), |
| | | { |
| | | label: '领取渠道:', |
| | | id: 'getType', |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | ], |
| | | form: [ |
| | | ...couponForm(), |
| | |
| | | strKey: 'getTypeName', |
| | | rules: { required: true, message: '请选择领取渠道' }, |
| | | on: { |
| | | change: (e, updateForm,obj) => { |
| | | |
| | | if(e[0]==='home'){ |
| | | change: (e, updateForm, obj) => { |
| | | if (e[0] === 'home') { |
| | | // 如果是首页领取的话,则图片为必传递 |
| | | this.updateImageUrlRules(this.tableConfig.form,"imageUrl",true,"图片为必填项目") |
| | | }else{ |
| | | this.updateImageUrlRules(this.tableConfig.form,"imageUrl",false,"请输入图片") |
| | | this.updateImageUrlRules( |
| | | this.tableConfig.form, |
| | | 'imageUrl', |
| | | true, |
| | | '图片为必填项目' |
| | | ) |
| | | } else { |
| | | this.updateImageUrlRules( |
| | | this.tableConfig.form, |
| | | 'imageUrl', |
| | | false, |
| | | '请输入图片' |
| | | ) |
| | | } |
| | | }, |
| | | }, |
| | | |
| | | }, |
| | | { |
| | | label: '优惠券图片:', |
| | |
| | | commonRules: true, |
| | | commonFormat: true, |
| | | commonFormatProps: ['getStartDate', 'getEndDate'], |
| | | rules: dateTimeRules, |
| | | }, |
| | | { |
| | | label: '使用时间:', |
| | |
| | | commonFormatProps: ['usageStartDate', 'usageEndDate'], |
| | | hidden: (row, item, mode) => |
| | | row.usageType !== 'fixed' || mode === 'view', |
| | | rules: dateTimeRules, |
| | | }, |
| | | { |
| | | label: '领取后有效时间:', |
| | |
| | | extraButtons: [ |
| | | { |
| | | text: '发布', |
| | | show: (row) =>{ |
| | | show: (row) => { |
| | | // row.status === 'inactive' || row.status === 'expired' |
| | | // const now = new Date(); // 获取当前时间 |
| | | // const startDate = new Date(row.getStartDate); // 获取开始时间 |
| | | // const endDate = new Date(row.getEndDate); // 获取结束时间 |
| | | // // 判断当前时间是否在开始时间和结束时间之间 |
| | | // const isInTimeRange = now >= startDate && now <= endDate; |
| | | const now = new Date(); // 获取当前时间 |
| | | const endDate = new Date(row.getEndDate); // 获取结束时间 |
| | | const now = new Date() // 获取当前时间 |
| | | const endDate = new Date(row.getEndDate) // 获取结束时间 |
| | | // 判断当前时间是否已经超过领取结束时间 |
| | | const isAfterEndDate = now <= endDate; |
| | | if (isAfterEndDate && (row.status === 'inactive' || row.status === 'expired')) { |
| | | return true; |
| | | const isAfterEndDate = now <= endDate |
| | | if ( |
| | | isAfterEndDate && |
| | | (row.status === 'inactive' || row.status === 'expired') |
| | | ) { |
| | | return true |
| | | } |
| | | return false; |
| | | |
| | | return false |
| | | }, |
| | | atClick: async (row) => { |
| | | try { |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | updateImageUrlRules(form,id,required,message) { |
| | | const curField =form.find( |
| | | (field) => field.id === id |
| | | ); |
| | | updateImageUrlRules(form, id, required, message) { |
| | | const curField = form.find((field) => field.id === id) |
| | | if (curField && curField.rules && required) { |
| | | curField.rules.required = true; |
| | | curField.rules.message = message; |
| | | }else if(curField && curField.rules){ |
| | | curField.rules.required = false; |
| | | curField.rules.message = message; |
| | | curField.rules.required = true |
| | | curField.rules.message = message |
| | | } else if (curField && curField.rules) { |
| | | curField.rules.required = false |
| | | curField.rules.message = message |
| | | } |
| | | }, |
| | | }, |
| | |
| | | curField.rules.message = message |
| | | } |
| | | } |
| | | |
| | | export const dateTimeRules = (format = 'YYYY-MM-DD HH:mm') => { |
| | | return { |
| | | validator: (rule, value, callback) => { |
| | | if ( |
| | | Array.isArray(value) && |
| | | value.filter((i) => !!i).length === 2 && |
| | | utils.formatDate(value[0], 'YYYY-MM-DD HH:mm') > |
| | | utils.formatDate(value[1], 'YYYY-MM-DD HH:mm') |
| | | ) { |
| | | callback(new Error('开始时间不能大于结束时间')) |
| | | } else { |
| | | callback() |
| | | } |
| | | }, |
| | | } |
| | | } |