feat: 🚀 邮件模板可选择枚举内容
This commit is contained in:
parent
ded5239925
commit
7ffbb3bc08
|
@ -6,6 +6,11 @@ export const fetchGetEmailTemplateList = (data: any) => {
|
||||||
return http.request<BaseResult<ResultTable>>('get', `emailTemplate/getEmailTemplateList/${data.currentPage}/${data.pageSize}`, { params: data });
|
return http.request<BaseResult<ResultTable>>('get', `emailTemplate/getEmailTemplateList/${data.currentPage}/${data.pageSize}`, { params: data });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** 邮件模板表---获取模板类型字段 */
|
||||||
|
export const fetchGetEmailTypes = () => {
|
||||||
|
return http.request<BaseResult<any>>('get', 'emailTemplate/getEmailTypes');
|
||||||
|
};
|
||||||
|
|
||||||
/** 邮件模板表---添加邮件模板表 */
|
/** 邮件模板表---添加邮件模板表 */
|
||||||
export const fetchAddEmailTemplate = (data: any) => {
|
export const fetchAddEmailTemplate = (data: any) => {
|
||||||
return http.request<BaseResult<object>>('post', 'emailTemplate/addEmailTemplate', { data });
|
return http.request<BaseResult<object>>('post', 'emailTemplate/addEmailTemplate', { data });
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { defineStore } from 'pinia';
|
import { defineStore } from 'pinia';
|
||||||
import { fetchAddEmailTemplate, fetchDeleteEmailTemplate, fetchGetEmailTemplateList, fetchUpdateEmailTemplate } from '@/api/v1/emailTemplate';
|
import { fetchAddEmailTemplate, fetchDeleteEmailTemplate, fetchGetEmailTemplateList, fetchGetEmailTypes, fetchUpdateEmailTemplate } from '@/api/v1/emailTemplate';
|
||||||
import { pageSizes } from '@/enums/baseConstant';
|
import { pageSizes } from '@/enums/baseConstant';
|
||||||
import { storeMessage } from '@/utils/message';
|
import { storeMessage } from '@/utils/message';
|
||||||
import { storePagination } from '@/store/useStorePagination';
|
import { storePagination } from '@/store/useStorePagination';
|
||||||
|
@ -15,6 +15,8 @@ export const useEmailTemplateStore = defineStore('emailTemplateStore', {
|
||||||
datalist: [],
|
datalist: [],
|
||||||
// 邮件模板用户列表
|
// 邮件模板用户列表
|
||||||
emailUserList: [],
|
emailUserList: [],
|
||||||
|
// 邮件类型枚举
|
||||||
|
allEmailTypes: [],
|
||||||
// 查询表单
|
// 查询表单
|
||||||
form: {
|
form: {
|
||||||
// 模板名称
|
// 模板名称
|
||||||
|
@ -69,6 +71,13 @@ export const useEmailTemplateStore = defineStore('emailTemplateStore', {
|
||||||
this.emailUserList = result.data;
|
this.emailUserList = result.data;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/** 获取模板类型字段 */
|
||||||
|
async getEmailTypes() {
|
||||||
|
const result = await fetchGetEmailTypes();
|
||||||
|
if (result.code !== 200) return;
|
||||||
|
this.allEmailTypes = result.data;
|
||||||
|
},
|
||||||
|
|
||||||
/** 添加邮件模板表 */
|
/** 添加邮件模板表 */
|
||||||
async addEmailTemplate(data: any) {
|
async addEmailTemplate(data: any) {
|
||||||
const result = await fetchAddEmailTemplate(data);
|
const result = await fetchAddEmailTemplate(data);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref } from 'vue';
|
import { onMounted, ref } from 'vue';
|
||||||
import { FormInstance } from 'element-plus';
|
import { FormInstance } from 'element-plus';
|
||||||
import { rules } from '@/views/configuration/emailTemplate/utils/columns';
|
import { rules } from '@/views/configuration/emailTemplate/utils/columns';
|
||||||
import { FormProps } from '@/views/configuration/emailTemplate/utils/types';
|
import { FormProps } from '@/views/configuration/emailTemplate/utils/types';
|
||||||
|
@ -23,9 +23,12 @@ const props = withDefaults(defineProps<FormProps>(), {
|
||||||
|
|
||||||
const formRef = ref<FormInstance>();
|
const formRef = ref<FormInstance>();
|
||||||
const form = ref(props.formInline);
|
const form = ref(props.formInline);
|
||||||
const emailUserList = ref();
|
|
||||||
const emailTemplateStore = useEmailTemplateStore();
|
const emailTemplateStore = useEmailTemplateStore();
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
emailTemplateStore.getEmailTypes();
|
||||||
|
});
|
||||||
|
|
||||||
defineExpose({ formRef });
|
defineExpose({ formRef });
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -55,7 +58,9 @@ defineExpose({ formRef });
|
||||||
|
|
||||||
<!--配置邮件类型-->
|
<!--配置邮件类型-->
|
||||||
<el-form-item :label="$t('emailTemplate_type')" prop="type">
|
<el-form-item :label="$t('emailTemplate_type')" prop="type">
|
||||||
<el-input v-model="form.type" autocomplete="off" type="text" />
|
<el-select v-model="form.type" :placeholder="$t('emailTemplate_type')" clearable filterable>
|
||||||
|
<el-option v-for="(item, index) in emailTemplateStore.allEmailTypes" :key="index" :label="item.key" :navigationBar="false" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
|
Loading…
Reference in New Issue