From 11acfd3894f38312940621e7f28acb639968e3db Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期三, 18 九月 2024 14:46:42 +0800 Subject: [PATCH] Merge branch 'master' of http://47.96.225.205:8888/r/operation_pc-v2 --- pages/marketing/coupon/activity/index.vue | 90 +++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 87 insertions(+), 3 deletions(-) diff --git a/pages/marketing/coupon/activity/index.vue b/pages/marketing/coupon/activity/index.vue index 5826244..71db735 100644 --- a/pages/marketing/coupon/activity/index.vue +++ b/pages/marketing/coupon/activity/index.vue @@ -9,6 +9,7 @@ couponSearchForm, getActivityEffectiveTime, getActivityReceiveTime, + getImageUrlRules, couponColumn, } from '@/utils/coupon-form' export default { @@ -39,10 +40,22 @@ if (!isNew) { row.usageTypeStr = getActivityEffectiveTime(row) row.getStartDateStr = getActivityReceiveTime(row) + getImageUrlRules(row,this.tableConfig.form) } + }, columns: [ ...couponColumn(), + { + label: '优惠券图片', + formatter: (row) => ( + <el-bus-image + style="width:50px;height:50px" + lazy={true} + src={row.imageUrl} + /> + ), + }, { label: '领取时间', formatter: getActivityReceiveTime, @@ -53,6 +66,7 @@ formatter: getActivityEffectiveTime, minWidth: 320, }, + { label: '领取渠道', prop: 'getTypeName', minWidth: 120 }, { label: '已领取总数', prop: 'getNum', minWidth: 150 }, { label: '剩余未领取总数', prop: 'unGetNum', minWidth: 150 }, { label: '状态', prop: 'statusName', minWidth: 120 }, @@ -88,8 +102,19 @@ searchForm: [ { type: 'row', - items: [...couponSearchForm()], + items: [...couponSearchForm(), + { + label: '领取渠道:', + id: 'getType', + type: 'bus-select-dict', + el: { + code: 'COUPON_GET_TYPE', + style: 'width:100%', + }, + }, + ], }, + ], form: [ ...couponForm(), @@ -104,6 +129,36 @@ str: true, strKey: 'getTypeName', rules: { required: true, message: '请选择领取渠道' }, + on: { + change: (e, updateForm,obj) => { + + if(e[0]==='home'){ + // 如果是首页领取的话,则图片为必传递 + this.updateImageUrlRules(this.tableConfig.form,"imageUrl",true,"图片为必填项目") + }else{ + this.updateImageUrlRules(this.tableConfig.form,"imageUrl",false,"请输入图片") + } + }, + }, + + }, + { + label: '优惠券图片:', + id: 'imageUrl', + type: 'bus-upload', + el: { + listType: 'picture-card', + limit: 1, + limitSize: 2, + tipText: '大小不超过2M', + valueType: 'string', + }, + forceDisabled: true, + rules: { + required: true, + message: '请上传商品图片', + trigger: 'blur', + }, }, { label: '领取时间:', @@ -214,8 +269,23 @@ extraButtons: [ { text: '发布', - show: (row) => - row.status === 'inactive' || row.status === 'expired', + 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 isAfterEndDate = now <= endDate; + if (isAfterEndDate && (row.status === 'inactive' || row.status === 'expired')) { + return true; + } + return false; + + }, atClick: async (row) => { try { await this.$elBusUtil.confirm('确定要发布吗?') @@ -258,5 +328,19 @@ title: '活动优惠券', } }, + methods: { + 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; + } + }, + }, } </script> -- Gitblit v1.9.3