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 });
|
||||
};
|
||||
|
||||
/** 邮件模板表---获取模板类型字段 */
|
||||
export const fetchGetEmailTypes = () => {
|
||||
return http.request<BaseResult<any>>('get', 'emailTemplate/getEmailTypes');
|
||||
};
|
||||
|
||||
/** 邮件模板表---添加邮件模板表 */
|
||||
export const fetchAddEmailTemplate = (data: any) => {
|
||||
return http.request<BaseResult<object>>('post', 'emailTemplate/addEmailTemplate', { data });
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
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 { storeMessage } from '@/utils/message';
|
||||
import { storePagination } from '@/store/useStorePagination';
|
||||
|
@ -15,6 +15,8 @@ export const useEmailTemplateStore = defineStore('emailTemplateStore', {
|
|||
datalist: [],
|
||||
// 邮件模板用户列表
|
||||
emailUserList: [],
|
||||
// 邮件类型枚举
|
||||
allEmailTypes: [],
|
||||
// 查询表单
|
||||
form: {
|
||||
// 模板名称
|
||||
|
@ -69,6 +71,13 @@ export const useEmailTemplateStore = defineStore('emailTemplateStore', {
|
|||
this.emailUserList = result.data;
|
||||
},
|
||||
|
||||
/** 获取模板类型字段 */
|
||||
async getEmailTypes() {
|
||||
const result = await fetchGetEmailTypes();
|
||||
if (result.code !== 200) return;
|
||||
this.allEmailTypes = result.data;
|
||||
},
|
||||
|
||||
/** 添加邮件模板表 */
|
||||
async addEmailTemplate(data: any) {
|
||||
const result = await fetchAddEmailTemplate(data);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<script lang="ts" setup>
|
||||
import { ref } from 'vue';
|
||||
import { onMounted, ref } from 'vue';
|
||||
import { FormInstance } from 'element-plus';
|
||||
import { rules } from '@/views/configuration/emailTemplate/utils/columns';
|
||||
import { FormProps } from '@/views/configuration/emailTemplate/utils/types';
|
||||
|
@ -23,9 +23,12 @@ const props = withDefaults(defineProps<FormProps>(), {
|
|||
|
||||
const formRef = ref<FormInstance>();
|
||||
const form = ref(props.formInline);
|
||||
const emailUserList = ref();
|
||||
const emailTemplateStore = useEmailTemplateStore();
|
||||
|
||||
onMounted(() => {
|
||||
emailTemplateStore.getEmailTypes();
|
||||
});
|
||||
|
||||
defineExpose({ formRef });
|
||||
</script>
|
||||
|
||||
|
@ -55,7 +58,9 @@ defineExpose({ formRef });
|
|||
|
||||
<!--配置邮件类型-->
|
||||
<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>
|
||||
</template>
|
||||
|
|
Loading…
Reference in New Issue