From 7c038aaf8ba55a6b33a93bc45d0d9c62c06db798 Mon Sep 17 00:00:00 2001 From: Leo_Ding <2405260743@qq.com> Date: Wed, 24 Sep 2025 18:13:51 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AD=BE=E5=88=B0=E5=8A=9F=E8=83=BD=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=84=9F=E8=B0=A2=E4=BF=A1=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../signInSet/components/EditDialog.vue | 30 ++++++++++++------- src/views/signInModule/signInSet/index.vue | 19 +++++++++--- 2 files changed, 35 insertions(+), 14 deletions(-) diff --git a/src/views/signInModule/signInSet/components/EditDialog.vue b/src/views/signInModule/signInSet/components/EditDialog.vue index dd4681e..9b8fbad 100644 --- a/src/views/signInModule/signInSet/components/EditDialog.vue +++ b/src/views/signInModule/signInSet/components/EditDialog.vue @@ -5,7 +5,7 @@ - + @@ -20,12 +20,12 @@ - + - + {{ '自然月' }} @@ -34,10 +34,16 @@ - + + + + + + @@ -66,7 +72,7 @@ import apis from '@/apis' import { useForm, useModal, useSpining } from '@/hooks' import { message } from 'ant-design-vue' import { useI18n } from 'vue-i18n' -import { spliceUrl } from "@/utils/util.js" +import { spliceUrl,decryptString,encryptString } from "@/utils/util.js" import { signInEnum } from "@/enums/useEnum" const emit = defineEmits(['ok']) const { t } = useI18n() // 解构出t方法 @@ -77,6 +83,7 @@ const cancelText = ref(t('button.cancel')) const okText = ref(t('button.confirm')) const listData = ref([]) const numChecked = ref(false) +const editorContent = ref('') const probabilityChecked = ref(false) formRules.value = { rewardName: { required: true, message: '请选择签到名称' }, @@ -84,6 +91,7 @@ formRules.value = { maxNum: { required: true, message: '请输入最大中奖数' }, rewardType: { required: true, message: '请选择签到类型', trigger: 'change' }, status: [{ required: true, message: '请输入状态', trigger: 'change' }], + content: { required: true, message: '请输入信件内容' }, } /** @@ -118,6 +126,7 @@ async function handleEdit(record = {}) { cycleType: data.maxDays < 0 ? '自然月' : '固定天数', imgList: data.img ? [config('http.apiBasic') + data.img] : [] } + editorContent.value = decryptString(data.content) || '' numChecked.value = data.maxNum < 0 ? true : false probabilityChecked.value = data.probability < 0 ? true : false } catch (error) { @@ -132,15 +141,16 @@ async function handleEdit(record = {}) { function handleOk() { formRef.value.validateFields().then(async (values) => { try { - if (formData.value.cycleType==='固定天数' && (!formData.value.maxDays || formData.value.maxDays<=0)){ - return message.error('签到周期必须大于0') + if (formData.value.cycleType === '固定天数' && (!formData.value.maxDays || formData.value.maxDays <= 0)) { + return message.error('签到周期必须大于0') } showLoading() const params = { - ...values, - maxDays: formData.value.cycleType==='自然月'?-1:formData.value.maxDays, + ...formData.value, + content: encryptString(editorContent.value), + maxDays: formData.value.cycleType === '自然月' ? -1 : formData.value.maxDays, img: formData.value.imgList && spliceUrl(formData.value.imgList[0]), - + } let result = null switch (modal.value.type) { diff --git a/src/views/signInModule/signInSet/index.vue b/src/views/signInModule/signInSet/index.vue index 59b3df9..2fd80e7 100644 --- a/src/views/signInModule/signInSet/index.vue +++ b/src/views/signInModule/signInSet/index.vue @@ -61,9 +61,10 @@ {{ record.maxDays + '天' }} 自然月 - + @@ -98,6 +105,7 @@ import EditDialog from './components/EditDialog.vue' import { PlusOutlined, EditOutlined, DeleteOutlined } from '@ant-design/icons-vue' import { useI18n } from 'vue-i18n' import { signInEnum } from "@/enums/useEnum" +import { decryptString } from "@/utils/util" defineOptions({ name: 'signInSet', }) @@ -108,9 +116,12 @@ const columns = [ { title: '奖品类型', dataIndex: 'rewardType', width: 120, align: 'center' }, { title: '奖励积分', dataIndex: 'points', width: 100, align: 'center' }, { title: '签到周期', dataIndex: 'maxDays', align: 'center' }, + { title: '信件内容', dataIndex: 'content', align: 'center' }, { title: '状态', dataIndex: 'status', align: 'center' }, { title: t('button.action'), key: 'action', fixed: 'right', width: 100, align: 'center' }, ] +const content = ref('') +const qropen=ref(false) const { listData, loading, showLoading, hideLoading, paginationState, resetPagination, searchFormData } = usePagination() const editDialogRef = ref() getPageList()