新增模块注释

This commit is contained in:
zjl 2024-10-08 13:25:25 +08:00
parent 2b53c953c8
commit bfa5e905e1
65 changed files with 2091 additions and 321 deletions

View File

@ -142,12 +142,17 @@
import { getAdSortAllList } from '@/api/content/adSort';
import { computed, onMounted, ref, shallowRef, reactive } from 'vue';
import { FormInstance } from 'element-plus';
const formRef = shallowRef<FormInstance>();
import UploadImg from '@/components/Upload/Image.vue';
import { useLockFn } from '@/utils/useLockFn';
import Editor from '@/components/Editor/tinymce.vue';
import { message } from '@/utils/auth';
const formRef = shallowRef<FormInstance>();
const editorRef = ref();
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -168,12 +173,18 @@
const adTime = ref([]);
const emit = defineEmits(['success', 'update:visible']);
/**
* 定义窗体标题
*/
const dialogTitle = computed(() => {
return props.adId ? '编辑内容' : '新增内容';
});
const fwbHeight = document.body.clientHeight - 180;
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
title: '',
@ -193,10 +204,16 @@
sort: 0,
});
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getAdDetail(props.adId);
for (const key in formData) {
@ -208,7 +225,9 @@
editorRef.value.myValue = formData.content;
};
const editorRef = ref();
/**
* 执行提交表单
*/
const handleSubmit = async () => {
formData.startTime = formData.adTime.length > 0 ? formData.adTime[0] : '';
formData.endTime = formData.adTime.length > 0 ? formData.adTime[1] : '';
@ -216,7 +235,7 @@
let ruleForm = JSON.parse(JSON.stringify(formData));
ruleForm.content = editorRef.value.myValue;
if (!ruleForm.content) {
message('请添加文章内容', 'error');
message('请添加广告内容', 'error');
return;
}
props.adId ? await adUpdate(ruleForm) : await adAdd(ruleForm);
@ -226,10 +245,18 @@
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 获取全部字典数据
*/
const getAllDict = async () => {
let list = await getAdSortAllList();
adSortList.value = list ? list : [];
};
/**
* 钩子函数
*/
onMounted(() => {
getAllDict();
if (props.adId) {

View File

@ -65,11 +65,19 @@
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
title: '',
status: '',
adSortId: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -98,14 +106,24 @@
},
});
/**
* 加载数据列表
*/
const loadDataTable = async (res: any) => {
const result = await getAdList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -113,6 +131,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -121,23 +144,38 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行添加
*/
const handleAdd = async () => {
adId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
adId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -148,6 +186,11 @@
message('删除成功');
reloadTable();
}
/**
*选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -62,6 +62,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
name: '',
@ -71,6 +75,9 @@
sort: 0,
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -84,6 +91,10 @@
},
});
const locationList = ref([]);
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.adSortId ? await adSortUpdate(formData) : await adSortAdd(formData);
@ -92,12 +103,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getAdSortDetail(props.adSortId);
for (const key in formData) {
@ -107,10 +124,18 @@
}
}
};
/**
* 获取全部字典
*/
const getAllDict = async () => {
let list = await getLayoutAllList();
locationList.value = list ? list : [];
};
/**
* 钩子函数
*/
onMounted(() => {
getAllDict();
if (props.adSortId) {

View File

@ -54,7 +54,6 @@
import { useForm } from '@/components/Form/index';
import { TableAction } from '@/components/Table';
import { getAdSortList, adSortDelete, adSortBatchDelete } from '@/api/content/adSort';
import { getLayoutAllList } from '@/api/content/layout';
import { columns } from './columns';
import { PlusOutlined } from '@vicons/antd';
import { message, confirm } from '@/utils/auth';
@ -63,10 +62,18 @@
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
name: '',
type: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -95,14 +102,26 @@
},
});
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getAdSortList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -110,6 +129,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -118,23 +142,38 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行添加
*/
const handleAdd = async () => {
adSortId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
adSortId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -145,6 +184,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -3,7 +3,7 @@ export const schemas: FormSchema[] = [
{
field: 'name',
component: 'Input',
label: '名称',
label: '广告位名称',
componentProps: {
placeholder: '请输入广告位名称',
},

View File

@ -114,6 +114,9 @@
import Editor from '@/components/Editor/tinymce.vue';
import { message, buildTree } from '@/utils/auth';
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -133,12 +136,18 @@
const categoryList = ref([]);
const emit = defineEmits(['success', 'update:visible']);
/**
* 定义窗体标题
*/
const dialogTitle = computed(() => {
return props.articleId ? '编辑内容' : '新增内容';
return props.articleId ? '编辑文章' : '新增文章';
});
const fwbHeight = document.body.clientHeight - 180;
/**
* 设置表单参数
*/
const formData = reactive({
id: '',
categoryId: '',
@ -155,11 +164,17 @@
fileList: [],
});
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const setFormData = async (row: any) => {
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getArticleDetail(props.articleId);
for (const key in formData) {
if (data[key] != null && data[key] != undefined) {
@ -179,11 +194,18 @@
const editorRef = ref();
/**
* 上传文件
* @param list 参数
*/
const fileUploads = (list: any) => {
formData.fileList = list;
formRef.value.validateField('fileList');
};
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
//
@ -204,10 +226,18 @@
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 获取全部字典
*/
const getAllDict = async () => {
let list = await getCategoryList();
categoryList.value = list ? buildTree(list) : [];
};
/**
* 钩子函数
*/
onMounted(() => {
getAllDict();
if (props.articleId) {

View File

@ -65,10 +65,18 @@
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
title: '',
status: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -98,14 +106,26 @@
},
});
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getArticleList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -113,6 +133,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -121,23 +146,38 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行添加
*/
const handleAdd = async () => {
articleId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
articleId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -148,6 +188,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -68,6 +68,10 @@
import { onMounted, reactive, ref, shallowRef } from 'vue';
import { message, buildTree } from '@/utils/auth';
import { useLockFn } from '@/utils/useLockFn';
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -87,6 +91,9 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
//id
@ -104,7 +111,10 @@
const categoryOptions = ref<any[]>([]);
const getMenu = async () => {
/**
* 获取分类数据
*/
const getCategory = async () => {
const data: any = await getCategoryList();
const menu: any = [{ id: 0, name: '顶级', children: [] }];
const lists = buildTree(data);
@ -112,6 +122,9 @@
categoryOptions.value = menu;
};
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.categoryId ? await categoryUpdate(formData) : await categoryAdd(formData);
@ -122,6 +135,9 @@
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = (data: Record<any, any>) => {
for (const key in formData) {
if (data[key] != null && data[key] != undefined) {
@ -130,17 +146,19 @@
}
};
/**
* 获取详情
*/
const getDetail = async () => {
const data = await getCategoryDetail(props.categoryId);
setFormData(data);
};
const handleClose = () => {
emit('close');
};
/**
* 钩子函数
*/
onMounted(() => {
getMenu();
getCategory();
if (props.categoryId) {
getDetail();
} else {

View File

@ -72,9 +72,11 @@
import { defineAsyncComponent, nextTick, onMounted, ref, shallowRef } from 'vue';
import { getCategoryList, categoryDelete } from '@/api/content/category';
import type { ElTable } from 'element-plus';
const tableRef = shallowRef<InstanceType<typeof ElTable>>();
import { confirm, message, buildTree } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
const isExpand = ref(false);
@ -83,7 +85,11 @@
const categoryId = ref(0);
const pid = ref(0);
const lists = ref([]);
const tableRef = shallowRef<InstanceType<typeof ElTable>>();
/**
* 获取全部分类
*/
const getLists = async () => {
loading.value = true;
try {
@ -95,6 +101,10 @@
}
};
/**
* 执行添加
* @param parentId 上级ID
*/
const handleAdd = async (parentId: any) => {
categoryId.value = 0;
pid.value = parentId ? parentId : 0;
@ -102,12 +112,20 @@
editVisible.value = true;
};
/**
* 执行编辑
* @param data 参数
*/
const handleEdit = async (data: any) => {
categoryId.value = data.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param categoryId 分类ID
*/
const handleDelete = async (categoryId: number) => {
await confirm('确定要删除?');
try {
@ -120,11 +138,17 @@
}
};
/**
* 执行扩展收缩
*/
const handleExpand = () => {
isExpand.value = !isExpand.value;
toggleExpand(lists.value, isExpand.value);
};
/**
* 扩展收缩实现
*/
const toggleExpand = (children: any[], unfold = true) => {
for (const key in children) {
tableRef.value?.toggleRowExpansion(children[key], unfold);
@ -134,10 +158,16 @@
}
};
/**
* 获取全部数据
*/
const getAll = () => {
getLists();
};
/**
* 钩子函数
*/
onMounted(() => {
getAll();
});

View File

@ -48,6 +48,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
description: '',
@ -55,6 +59,9 @@
sort: 0,
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -68,6 +75,9 @@
},
});
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.layoutId ? await layoutUpdate(formData) : await layoutAdd(formData);
@ -76,12 +86,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单
*/
const setFormData = async () => {
const data = await getLayoutDetail(props.layoutId);
for (const key in formData) {
@ -92,6 +108,9 @@
}
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.layoutId) {
setFormData();

View File

@ -57,14 +57,26 @@
import { columns } from './columns';
import { PlusOutlined } from '@vicons/antd';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
const layoutId = ref(0);
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义表单参数
*/
const formParams = reactive({
description: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -93,14 +105,26 @@
},
});
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getLayoutList({ ...formParams, ...res });
return result;
};
/**
*刷新数据表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -108,6 +132,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -116,23 +145,38 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行添加
*/
const handleAdd = async () => {
layoutId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
layoutId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -143,6 +187,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -68,7 +68,7 @@
v-if="chooseVisible"
v-model:visible="chooseVisible"
:type="formData.type"
@success="setArticle"
@success="selectedCallback"
/>
</el-drawer>
</template>
@ -84,6 +84,12 @@
const emit = defineEmits(['success', 'update:visible']);
const chooseArticle = defineAsyncComponent(() => import('./layout/index.vue'));
const formRef = shallowRef<FormInstance>();
const chooseVisible = ref(false);
const layoutList = ref([]);
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
layoutId: '',
@ -93,6 +99,10 @@
image: '',
sort: 0,
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -105,8 +115,10 @@
default: 0,
},
});
const chooseVisible = ref(false);
const layoutList = ref([]);
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.layoutId ? await layoutUpdate(formData) : await layoutAdd(formData);
@ -115,12 +127,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 获取推荐内容
*/
const getLayoutItem = () => {
if (!formData.type) {
message('请选择页面类型', 'warning');
@ -128,10 +146,18 @@
}
chooseVisible.value = true;
};
/**
* 执行设置类型
*/
const handleType = () => {
formData.typeId = '';
formData.typeText = '';
};
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getLayoutDetail(props.layoutId);
for (const key in formData) {
@ -141,15 +167,27 @@
}
}
};
const setArticle = (row) => {
/**
* 选择推荐内容成功回调
*/
const selectedCallback = (row) => {
formData.typeText = row.title;
formData.typeId = row.id;
formRef.value?.validateField('typeId');
};
/**
* 获取全部字典数据
*/
const getAllDict = async () => {
let list = await getLayoutAllList();
layoutList.value = list ? list : [];
};
/**
* 钩子函数
*/
onMounted(() => {
getAllDict();
if (props.layoutId) {

View File

@ -63,10 +63,18 @@
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
layoutId: '',
type: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -95,14 +103,26 @@
},
});
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getLayoutList({ ...formParams, ...res });
return result;
};
/**
*刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -110,6 +130,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -118,23 +143,38 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行添加
*/
const handleAdd = async () => {
layoutId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
layoutId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -145,6 +185,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -39,7 +39,12 @@
import { schemas2 } from './notice/querySchemas';
const emit = defineEmits(['success', 'update:visible']);
const selectRow = ref({});
const tableRef = ref();
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -52,19 +57,31 @@
default: 1,
},
});
const selectRow = ref({});
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
title: '',
status: '',
});
/**
* 定义列类型
*/
const columnsType = () => {
if (props.type == 1) {
//
return columns;
} else if (props.type == 2) {
//
return columns2;
}
};
/**
* 提交表单参数
*/
const handleSubmits = async () => {
if (!selectRow.value.id) {
return message('请选择推荐内容', 'error');
@ -73,10 +90,17 @@
emit('success', selectRow.value);
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
let result = [];
if (props.type == 1) {
@ -87,9 +111,18 @@
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -97,6 +130,11 @@
submitOnReset: true,
schemas: props.type == 1 ? schemas : schemas2,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -105,13 +143,25 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 数据行点击事件
* @param row 参数
*/
const rowClick = (row) => {
selectRow.value = row;
};
/**
* 钩子函数
*/
onMounted(() => {});
</script>

View File

@ -83,6 +83,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
name: '',
@ -94,6 +98,9 @@
sort: 0,
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -107,6 +114,9 @@
},
});
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.linkId ? await linkUpdate(formData) : await linkAdd(formData);
@ -115,12 +125,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getLinkDetail(props.linkId);
for (const key in formData) {
@ -131,6 +147,9 @@
}
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.linkId) {
setFormData();

View File

@ -62,9 +62,17 @@
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
name: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -93,14 +101,25 @@
},
});
/**
* 加载数据列表
*/
const loadDataTable = async (res: any) => {
const result = await getLinkList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -108,6 +127,10 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -116,23 +139,38 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行添加
*/
const handleAdd = async () => {
linkId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
linkId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -143,6 +181,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -38,6 +38,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
name: '',
@ -45,6 +49,9 @@
sort: 0,
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -58,6 +65,9 @@
},
});
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.tagId ? await tagUpdate(formData) : await tagAdd(formData);
@ -66,12 +76,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getTagDetail(props.tagId);
for (const key in formData) {
@ -82,6 +98,9 @@
}
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.tagId) {
setFormData();

View File

@ -57,14 +57,30 @@
import { columns } from './columns';
import { PlusOutlined } from '@vicons/antd';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const tagId = ref(0);
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
name: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -93,14 +109,26 @@
},
});
/**
*
* @param res 加载数据列表
*/
const loadDataTable = async (res: any) => {
const result = await getTagList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -108,6 +136,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -116,23 +149,38 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行重置
*/
const handleAdd = async () => {
tagId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
tagId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -143,6 +191,11 @@
message('删除成功');
reloadTable();
}
/**
*选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -114,6 +114,10 @@
import { getCityByList } from '@/api/system/user';
import { message } from '@/utils/auth';
import { useLockFn } from '@/utils/useLockFn';
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -130,6 +134,10 @@
default: () => {},
},
});
/**
* 定义选项数据
*/
const optionData = reactive({
cityTypeList: [
{
@ -148,11 +156,18 @@
id: 3,
name: '街道',
},
{
id: 4,
name: '居委会',
},
],
});
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
pid: '',
@ -167,6 +182,10 @@
lat: '',
});
const caCheData = ref([]);
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
@ -195,6 +214,10 @@
const handleNodeClick = (data: Tree) => {
formData.pid = data.id;
};
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
if (formData.pid == 0) {
@ -208,6 +231,9 @@
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = (data: Record<any, any>) => {
for (const key in formData) {
if (data[key] != null && data[key] != undefined) {
@ -217,11 +243,17 @@
caCheData.value = [{ id: formData.pid, name: data.parentName }];
};
/**
* 获取详情
*/
const getDetail = async () => {
const data = await getCityDetail(props.cityId);
setFormData(data);
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.cityId) {
getDetail();

View File

@ -87,8 +87,14 @@
const tableRef = ref();
import { confirm, message } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const loading = ref(false);
const editVisible = ref(false);
const cityId = ref(0);
@ -96,6 +102,11 @@
const lists = ref([]);
const maps = ref(new Map());
/**
* 获取城市列表
* @param code 行政编码
* @param resolve
*/
const getDataList = async (code: any, resolve?: any) => {
try {
loading.value = true;
@ -124,6 +135,9 @@
}
};
/**
* 刷新城市列表
*/
const refreshDataList = (code) => {
if (code == 0) {
getDataList(0);
@ -134,10 +148,22 @@
}
}
};
/**
* 加载树结构
* @param tree 数据
* @param treeNode 树节点
* @param resolve 解析
*/
const loadTree = (tree: any, treeNode: any, resolve: any) => {
maps.value.set(tree.areaCode, { tree, treeNode, resolve });
getDataList(tree.areaCode, resolve);
};
/**
* 执行添加
* @param data 参数
*/
const handleAdd = async (data: any) => {
cityId.value = 0;
parentData.value = data;
@ -145,12 +171,20 @@
editVisible.value = true;
};
/**
* 执行编辑
* @param data 参数
*/
const handleEdit = async (data: any) => {
cityId.value = data.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param row 参数
*/
const handleDelete = async (row: any) => {
await confirm('确定要删除?');
try {
@ -163,6 +197,10 @@
loading.value = false;
}
};
/**
* 钩子
*/
onMounted(() => {
getDataList(0);
});

View File

@ -51,9 +51,17 @@
const editVisible = ref(false);
const selectionData = ref([]);
const configItemId = ref(0);
/**
* 定义查询参数
*/
const params = ref({
name: '',
});
/**
* 定义接收的参数
*/
const props = defineProps({
configId: {
type: Number,
@ -61,6 +69,10 @@
default: 0,
},
});
/**
* 定义侦听器
*/
watch(
() => props.configId,
async (value) => {
@ -70,10 +82,13 @@
}
},
);
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
lable: '操作',
// title: '',
prop: 'action',
fixed: 'right',
render(record) {
@ -97,28 +112,46 @@
},
});
//
/**
* 刷新配置项值列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
//
/**
* 加载配置项值列表
* @param res 参数
*/
const loadDataTable = async (res) => {
const result = await getConfigItemList({ ...params.value, configId: props.configId, ...res });
return result;
};
//
/**
* 执行添加
*/
const handleAdd = async () => {
configItemId.value = 0;
await nextTick();
editVisible.value = true;
};
//
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
configItemId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
//
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -130,6 +163,10 @@
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -51,6 +51,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
name: '',
@ -59,6 +63,9 @@
note: '',
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -72,6 +79,9 @@
},
});
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.configId ? await configUpdate(formData) : await configAdd(formData);
@ -80,12 +90,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getConfigDetail(props.configId);
for (const key in formData) {
@ -96,6 +112,9 @@
}
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.configId) {
setFormData();

View File

@ -212,6 +212,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
name: '',
@ -230,6 +234,10 @@
});
const fwbHeight = document.body.clientHeight - 400;
const optionsData = ref([]);
/**
* 定义配置类型
*/
const typeList = ref([
{
name: '隐藏',
@ -305,6 +313,9 @@
},
]);
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -322,6 +333,10 @@
default: 0,
},
});
/**
* 配置类型选择发生变化事件
*/
const handleTypeChange = () => {
formData.fileList = [];
formData.fileName = '';
@ -330,6 +345,9 @@
formData.value = '';
};
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
formData.options = '';
@ -371,12 +389,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getConfigItemDetail(props.configItemId);
for (const key in formData) {
@ -430,19 +454,43 @@
});
}
};
/**
* 添加选项行事件
*/
const addOptions = () => {
optionsData.value.push({ name: '', value: '' });
};
/**
* 删除选项行事件
* @param index 参数
*/
const delOptions = (index) => {
optionsData.value.splice(index, 1);
};
/**
* 文件上传
* @param list 参数
*/
const fileUploads = (list: any) => {
formData.fileList = list;
};
/**
* 文件上传
* @param filePath 文件路径
* @param fileName 文件名称
*/
const fileUploadFile = async (filePath: any, fileName: any) => {
formData.filePath = filePath;
formData.fileName = fileName;
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.configItemId) {
setFormData();

View File

@ -28,7 +28,7 @@
</el-col>
</el-row>
<div style="margin-top: 15px">
<el-button type="primary" icon="Plus" @click="addConfig" v-perm="['sys:config:add']"
<el-button type="primary" icon="Plus" @click="handleAdd" v-perm="['sys:config:add']"
>新建</el-button
>
<el-button type="warning" icon="Edit" @click="handleEdit" v-perm="['sys:config:edit']"
@ -91,6 +91,10 @@
const configItemShow = ref(false);
const tableRef = ref();
const editVisible = ref(false);
/**
* 定义查询参数
*/
const params = ref({
name: '',
});
@ -102,20 +106,33 @@
});
const fwbHeight = document.body.clientHeight - 395;
const addConfig = async () => {
/**
* 执行添加
*/
const handleAdd = async () => {
configId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
*/
const handleEdit = () => {
editVisible.value = true;
};
/**
* 选中行事件
* @param row 参数
*/
function onCheckedRow(row) {
configId.value = row.id;
}
/**
* 加载数据列表
*/
const loadDataTable = async () => {
const result = await getConfigList({
...params.value,
@ -128,6 +145,9 @@
pager.value.count = result.total;
};
/**
* 执行删除
*/
async function handleDelete() {
await confirm('确定要删除?');
await configDelete(configId.value);
@ -135,6 +155,10 @@
pager.value.page = 1;
loadDataTable();
}
/**
* 钩子函数
*/
onMounted(() => {
loadDataTable();
});

View File

@ -51,9 +51,17 @@
const editVisible = ref(false);
const selectionData = ref([]);
const dictItemId = ref(0);
/**
* 定义查询参数
*/
const params = ref({
name: '',
});
/**
* 定义接收的参数
*/
const props = defineProps({
dictId: {
type: Number,
@ -61,6 +69,10 @@
default: 0,
},
});
/**
* 定义侦听器
*/
watch(
() => props.dictId,
async (value) => {
@ -70,10 +82,13 @@
}
},
);
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
lable: '操作',
// title: '',
prop: 'action',
fixed: 'right',
render(record) {
@ -97,29 +112,45 @@
},
});
//
/**
* 刷新字典项值列表
*/
function reloadTable() {
tableRef.value.reload({ pageNo: 1 });
}
//
/**
* 加载字典项值列表
* @param res 参数
*/
const loadDataTable = async (res) => {
const result = await getDictItemList({ ...params.value, dictId: props.dictId, ...res });
return result;
};
//
/**
* 执行添加
*/
const handleAdd = async () => {
dictItemId.value = 0;
await nextTick();
editVisible.value = true;
};
//
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
dictItemId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
//
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -131,6 +162,10 @@
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -51,6 +51,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
name: '',
@ -59,6 +63,9 @@
note: '',
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -72,6 +79,9 @@
},
});
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.dictId ? await dictUpdate(formData) : await dictAdd(formData);
@ -80,12 +90,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getDictDetail(props.dictId);
for (const key in formData) {
@ -96,6 +112,9 @@
}
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.dictId) {
setFormData();

View File

@ -55,6 +55,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
name: '',
@ -63,6 +67,9 @@
note: '',
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -81,6 +88,9 @@
},
});
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.dictItemId
@ -91,12 +101,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getDictItemDetail(props.dictItemId);
for (const key in formData) {
@ -107,6 +123,9 @@
}
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.dictItemId) {
setFormData();

View File

@ -35,7 +35,7 @@
</el-col>
</el-row>
<div style="margin-top: 15px">
<el-button type="primary" icon="Plus" @click="addDict" v-perm="['sys:dict:add']"
<el-button type="primary" icon="Plus" @click="handleAdd" v-perm="['sys:dict:add']"
>新建</el-button
>
<el-button type="warning" icon="Edit" @click="handleEdit" v-perm="['sys:dict:edit']"
@ -93,14 +93,30 @@
import { getDictList, refreshCache, dictDelete } from '@/api/data/dictionary';
import dictItem from './dictItem.vue';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const dictId = ref(0);
const dictItemShow = ref(false);
const dictDataList = ref([]);
const editVisible = ref(false);
/**
* 定义查询参数
*/
const params = ref({
name: '',
});
/**
*定义分页参数
*/
const pager = ref({
page: 1,
size: 20,
@ -108,22 +124,33 @@
});
const fwbHeight = document.body.clientHeight - 395;
//
const addDict = async () => {
/**
* 执行添加
*/
const handleAdd = async () => {
dictId.value = 0;
await nextTick();
editVisible.value = true;
};
//
/**
* 执行编辑
*/
const handleEdit = () => {
editVisible.value = true;
};
//
/**
* 字典数据选中事件
* @param row 参数
*/
function onCheckedRow(row) {
dictId.value = row.id;
}
//;
/**
* 加载字典项值列表
*/
const loadDataTable = async () => {
const result = await getDictList({
...params.value,
@ -136,12 +163,17 @@
pager.value.count = result.total;
};
//
/**
* 刷新缓存
*/
async function dictRefresh() {
await refreshCache();
message('刷新成功');
}
//
/**
* 删除字典项
*/
async function handleDelete() {
await confirm('确定要删除?');
await dictDelete(dictId.value);
@ -149,6 +181,10 @@
pager.value.page = 1;
loadDataTable();
}
/**
* 钩子函数
*/
onMounted(() => {
loadDataTable();
});

View File

@ -35,6 +35,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
title: '',
@ -44,6 +48,9 @@
content: '',
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -57,10 +64,16 @@
},
});
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getMessageDetail(props.messageId);
for (const key in formData) {
@ -87,6 +100,11 @@
}
return typeText;
};
/**
* 获取类型描述
* @param type 类型
*/
const getTyepText = (type) => {
let typeText = '';
switch (type) {
@ -105,6 +123,9 @@
return typeText;
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.messageId) {
setFormData();

View File

@ -53,12 +53,20 @@
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
title: '',
bizType: '',
type: '',
status: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -72,7 +80,7 @@
label: '详情',
icon: 'View',
type: 'warning',
onClick: handleInfo.bind(null, record),
onClick: handleDetail.bind(null, record),
auth: ['sys:message:detail'],
},
{
@ -87,14 +95,25 @@
},
});
/**
* 加载数据列表
*/
const loadDataTable = async (res: any) => {
const result = await getMessageList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -102,6 +121,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -110,18 +134,29 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
const handleInfo = async (record: Recordable) => {
/**
* 执行查询详情
* @param record 参数
*/
const handleDetail = async (record: Recordable) => {
messageId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -132,6 +167,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -74,6 +74,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
const editorRef = ref();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
title: '',
@ -83,6 +87,9 @@
content: '',
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -96,6 +103,10 @@
},
});
const fwbHeight = document.body.clientHeight - 400;
/**
* 执行提交表单
*/
const handleSubmit = async () => {
formData.content = editorRef.value.myValue;
await formRef.value?.validate();
@ -107,12 +118,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getNoticeDetail(props.noticeId);
for (const key in formData) {
@ -124,6 +141,9 @@
editorRef.value.myValue = formData.content;
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.noticeId) {
setFormData();

View File

@ -64,11 +64,19 @@
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
title: '',
status: '',
type: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -97,14 +105,26 @@
},
});
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getNoticeList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -112,6 +132,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -120,23 +145,37 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行添加
*/
const handleAdd = async () => {
noticeId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
*/
const handleEdit = async (record: Recordable) => {
noticeId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {

View File

@ -68,6 +68,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
name: '',
@ -79,6 +83,9 @@
note: '',
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -92,6 +99,9 @@
},
});
/**
* 定义提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.paramId ? await paramUpdate(formData) : await paramAdd(formData);
@ -100,12 +110,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getParamDetail(props.paramId);
for (const key in formData) {
@ -116,6 +132,9 @@
}
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.paramId) {
setFormData();

View File

@ -57,16 +57,32 @@
import { columns } from './columns';
import { PlusOutlined } from '@vicons/antd';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const paramId = ref(0);
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
name: '',
status: '',
type: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -95,14 +111,24 @@
},
});
/**
* 加载数据列表
*/
const loadDataTable = async (res: any) => {
const result = await getParamList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -110,6 +136,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -118,23 +149,38 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行添加
*/
const handleAdd = async () => {
paramId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
paramId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -145,6 +191,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -80,10 +80,14 @@
import { computed, onMounted, shallowRef, reactive, ref, nextTick } from 'vue';
import { FormInstance } from 'element-plus';
import { message } from '@/utils/auth';
const formRef = shallowRef<FormInstance>();
import { useLockFn } from '@/utils/useLockFn';
import UploadFile from '@/components/Upload/file.vue';
const formRef = shallowRef<FormInstance>();
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -99,10 +103,16 @@
const emit = defineEmits(['success', 'update:visible']);
/**
* 关闭窗体
*/
const dialogTitle = computed(() => {
return props.id ? '编辑模板文件' : '新增模板文件';
});
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
title: '',
@ -113,6 +123,9 @@
fileName: '',
});
/**
* 文件上传
*/
const fileUpload = async (filePath: any, fileName: any) => {
formData.filePath = filePath;
formData.fileName = fileName;
@ -121,10 +134,16 @@
});
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
/**
* 设置表单数据
*/
const setFormData = async (id: any) => {
const data = await getEmailTemplateDetail(id);
for (const key in formData) {
@ -134,6 +153,9 @@
}
};
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.id ? await emailTemplateUpdate(formData) : await emailTemplateAdd(formData);
@ -144,6 +166,9 @@
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 钩子函数
*/
onMounted(() => {
if (props.id) {
setFormData(props.id);

View File

@ -64,15 +64,31 @@
} from '@/api/file/emailTemplate';
import { columns } from './columns';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const emailId = ref(0);
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
title: '',
type: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -101,14 +117,26 @@
},
});
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getEmailTemplateList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -116,6 +144,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -124,22 +157,38 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
const handleAdd = async (record: Recordable) => {
/**
* 执行添加
*/
const handleAdd = async () => {
emailId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
emailId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -150,6 +199,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -66,10 +66,14 @@
import { computed, onMounted, shallowRef, reactive, ref, nextTick } from 'vue';
import { FormInstance } from 'element-plus';
import { message } from '@/utils/auth';
const formRef = shallowRef<FormInstance>();
import { useLockFn } from '@/utils/useLockFn';
import UploadFile from '@/components/Upload/file.vue';
const formRef = shallowRef<FormInstance>();
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -85,10 +89,16 @@
const emit = defineEmits(['success', 'update:visible']);
/**
* 关闭窗体
*/
const dialogTitle = computed(() => {
return props.id ? '编辑模板文件' : '新增模板文件';
});
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
name: '',
@ -97,6 +107,11 @@
fileName: '',
});
/**
* 文件上传
* @param filePath 文件路径
* @param fileName 文件名称
*/
const fileUpload = async (filePath: any, fileName: any) => {
formData.filePath = filePath;
formData.fileName = fileName;
@ -105,10 +120,17 @@
});
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
/**
* 设置表单数据
* @param id 参数
*/
const setFormData = async (id: any) => {
const data = await getFileTemplateDetail(id);
for (const key in formData) {
@ -118,6 +140,9 @@
}
};
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.id ? await fileTemplateUpdate(formData) : await fileTemplateAdd(formData);
@ -128,6 +153,9 @@
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 钩子函数
*/
onMounted(() => {
if (props.id) {
setFormData(props.id);

View File

@ -64,14 +64,30 @@
} from '@/api/file/fileTemplate';
import { columns } from './columns';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const fileId = ref(0);
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
name: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -100,14 +116,26 @@
},
});
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getFileTemplateList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -115,6 +143,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -123,22 +156,39 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行添加
* @param record 参数
*/
const handleAdd = async (record: Recordable) => {
fileId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
fileId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -149,6 +199,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -87,9 +87,13 @@
import { computed, onMounted, shallowRef, reactive, ref } from 'vue';
import { FormInstance } from 'element-plus';
import { message } from '@/utils/auth';
const formRef = shallowRef<FormInstance>();
import { useLockFn } from '@/utils/useLockFn';
const formRef = shallowRef<FormInstance>();
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -105,10 +109,16 @@
const emit = defineEmits(['success', 'update:visible']);
/**
* 关闭窗体
*/
const dialogTitle = computed(() => {
return props.id ? '编辑消息模板' : '新增消息模板';
});
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
title: '',
@ -118,10 +128,17 @@
type: '',
});
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
/**
* 设置表单数据
* @param id 参数
*/
const setFormData = async (id: any) => {
const data = await getMessageTemplateDetail(id);
for (const key in formData) {
@ -131,6 +148,9 @@
}
};
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.id ? await messageTemplateUpdate(formData) : await messageTemplateAdd(formData);
@ -141,6 +161,9 @@
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 钩子函数
*/
onMounted(() => {
if (props.id) {
setFormData(props.id);

View File

@ -64,15 +64,31 @@
} from '@/api/file/messageTemplate';
import { columns } from './columns';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const messageId = ref(0);
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
title: '',
type: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -101,14 +117,25 @@
},
});
/**
*加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getMessageTemplateList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -116,6 +143,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -124,22 +156,38 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
const handleAdd = async (record: Recordable) => {
/**
* 执行添加
*/
const handleAdd = async () => {
messageId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
messageId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -150,6 +198,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -20,14 +20,14 @@
/>
</el-form-item>
<el-form-item
label="模板code"
label="模板编码"
prop="code"
:rules="{ required: true, message: '请输入模板code', trigger: 'blur' }"
:rules="{ required: true, message: '请输入模板编码', trigger: 'blur' }"
>
<el-input
v-if="!formData.id"
:maxlength="100"
placeholder="请输入模板code"
placeholder="请输入模板编码"
clearable
v-model.trim="formData.code"
/>
@ -83,9 +83,13 @@
import { computed, onMounted, shallowRef, reactive, ref } from 'vue';
import { FormInstance } from 'element-plus';
import { message } from '@/utils/auth';
const formRef = shallowRef<FormInstance>();
import { useLockFn } from '@/utils/useLockFn';
const formRef = shallowRef<FormInstance>();
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -101,10 +105,16 @@
const emit = defineEmits(['success', 'update:visible']);
/**
* 定义弹窗标题
*/
const dialogTitle = computed(() => {
return props.id ? '编辑短信模板' : '新增短信模板';
});
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
title: '',
@ -114,10 +124,17 @@
type: '',
});
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
/**
* 设置表单数据
* @param id 参数
*/
const setFormData = async (id: any) => {
const data = await getSmsTemplateDetail(id);
for (const key in formData) {
@ -127,6 +144,9 @@
}
};
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.id ? await smsTemplateUpdate(formData) : await smsTemplateAdd(formData);
@ -137,6 +157,9 @@
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 钩子函数
*/
onMounted(() => {
if (props.id) {
setFormData(props.id);

View File

@ -64,15 +64,31 @@
} from '@/api/file/smsTemplate';
import { columns } from './columns';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const smsId = ref(0);
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
title: '',
type: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -101,14 +117,26 @@
},
});
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getSmsTemplateList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -116,6 +144,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -124,22 +157,38 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
const handleAdd = async (record: Recordable) => {
/**
* 执行添加
*/
const handleAdd = async () => {
smsId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
smsId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -150,6 +199,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -64,6 +64,9 @@
const emit = defineEmits(['success', 'update:visible']);
const formData = ref({});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -77,14 +80,24 @@
},
});
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getEmailLogDetail(props.emailId);
formData.value = data;
};
/**
* 获取接收人类型描述
*/
const getReviceType = (type) => {
let typeText = '';
switch (type) {
@ -102,6 +115,11 @@
}
return typeText;
};
/**
* 获取日志类型描述
* @param type 类型
*/
const getTyepText = (type) => {
let typeText = '';
switch (type) {
@ -126,6 +144,9 @@
return typeText;
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.emailId) {
setFormData();

View File

@ -52,17 +52,33 @@
import { getEmailLogList, emailLogDelete, emailLogBatchDelete } from '@/api/logger/emailLog';
import { columns } from './columns';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const emailId = ref(0);
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
title: '',
receiveType: '',
bizType: '',
status: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 250,
label: '操作',
@ -91,14 +107,26 @@
},
});
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getEmailLogList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -106,6 +134,10 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -114,17 +146,29 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行查询详情
* @param record 参数
*/
const handleDetail = async (record: Recordable) => {
emailId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -135,6 +179,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -61,6 +61,9 @@
const emit = defineEmits(['success', 'update:visible']);
const formData = ref({});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -74,15 +77,24 @@
},
});
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getFileLogDetail(props.fileId);
formData.value = data;
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.fileId) {
setFormData();

View File

@ -58,15 +58,31 @@
import UploadFile from '@/components/Upload/file.vue';
import { columns } from './columns';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const fileId = ref(0);
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
fileName: '',
fileType: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -95,14 +111,25 @@
},
});
/**
* 加载数据列表
*/
const loadDataTable = async (res: any) => {
const result = await getFileLogList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -110,6 +137,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -118,19 +150,36 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行查询详情
* @param record 参数
*/
const handleDetail = async (record: Recordable) => {
fileId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 上传文件
*/
const fileUploadFiles = () => {
reloadTable();
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -141,6 +190,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -71,6 +71,9 @@
const formRef = shallowRef<FormInstance>();
const formData = ref({});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -84,14 +87,24 @@
},
});
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getSmsLogDetail(props.smsId);
formData.value = data;
};
/**
* 获取接收人类型描述
*/
const getReviceType = (type) => {
let typeText = '';
switch (type) {
@ -109,6 +122,10 @@
}
return typeText;
};
/**
* 获取日志类型描述
*/
//
const getTyepText = (type) => {
let typeText = '';
@ -134,6 +151,9 @@
return typeText;
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.smsId) {
setFormData();

View File

@ -52,17 +52,33 @@
import { getSmsLogList, smsLogDelete, smsLogBatchDelete } from '@/api/logger/smsLog';
import { columns } from './columns';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const smsId = ref(0);
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
title: '',
receiveType: '',
bizType: '',
status: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -91,14 +107,26 @@
},
});
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getSmsLogList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -106,6 +134,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -114,17 +147,27 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行查询详情
*/
const handleDetail = async (record: Recordable) => {
smsId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -135,6 +178,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -84,6 +84,10 @@
const baseInfo = ref<any>({});
const commandStats = ref([]);
const gaugeValue = ref('');
/**
* 获取缓存信息
*/
const loadCacheInfo = async () => {
const result = await getCacheInfo();
commandStats.value = result.commandStats;

View File

@ -114,6 +114,10 @@
const cacheKeyTable = ref();
const cacheNameData = ref([]);
const cacheKeyData = ref([]);
/**
* 定义表单参数
*/
const formData = reactive({
cacheKey: '',
cacheName: '',
@ -124,18 +128,26 @@
const cacheKey = ref('');
const fwbHeight = document.body.clientHeight - 230;
//
/**
* 选择缓存名
* @param row 参数
*/
const onCheckedCacheName = (row) => {
cacheName.value = row.cacheName;
loadCachekeys();
};
//key
/**
* 选择缓存key
*/
const onCheckedCachKey = (row) => {
cacheKey.value = row.cacheKey;
loadCacheValue();
};
//
/**
* 加载缓存名列表
*/
const loadCacheNames = async () => {
const result = await getCacheNames();
cacheNameData.value = result;
@ -147,7 +159,10 @@
loadCachekeys();
}
};
//key
/**
* 加载缓存key列表
*/
const loadCachekeys = async () => {
let datas = [];
const result = await getCacheKeys(cacheName.value);
@ -166,7 +181,10 @@
loadCacheValue();
}
};
//value
/**
* 加载缓存value列表
*/
const loadCacheValue = async () => {
const data = await getCacheValue({ cacheName: cacheName.value, cacheKey: cacheKey.value });
for (const key in formData) {
@ -175,6 +193,12 @@
}
}
};
/**
* 执行删除
* @param row 行数据
* @param type 类型
*/
const handleDelete = async (row, type) => {
await confirm('确定要删除?');
if (type == 'cacheName') {
@ -187,11 +211,19 @@
loadCachekeys();
}
};
/**
* 清除全部缓存
*/
const clearAll = async () => {
await confirm('确定要清理全部?');
await deleteCacheAll();
loadCacheNames();
};
/**
* 钩子函数
*/
onMounted(() => {
loadCacheNames();
});

View File

@ -127,6 +127,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
name: '',
@ -140,6 +144,9 @@
note: '',
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -153,6 +160,9 @@
},
});
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.dataSourceId ? await dataSourceUpdate(formData) : await dataSourceAdd(formData);
@ -161,12 +171,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getDataSourceDetail(props.dataSourceId);
for (const key in formData) {
@ -177,6 +193,9 @@
}
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.dataSourceId) {
setFormData();

View File

@ -61,15 +61,31 @@
import { columns } from './columns';
import { PlusOutlined } from '@vicons/antd';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const dataSourceId = ref(0);
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
name: '',
dbType: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -98,14 +114,26 @@
},
});
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getDataSourceList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 100,
layout: 'horizontal',
@ -113,6 +141,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -121,23 +154,37 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行添加
*/
const handleAdd = async () => {
dataSourceId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行编辑
*/
const handleEdit = async (record: Recordable) => {
dataSourceId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -148,6 +195,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -125,6 +125,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
jobName: '',
@ -139,6 +143,9 @@
note: '',
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -152,6 +159,9 @@
},
});
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.jobId ? await jobUpdate(formData) : await jobAdd(formData);
@ -160,12 +170,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单参数
*/
const setFormData = async () => {
const data = await getJobDetail(props.jobId);
for (const key in formData) {
@ -176,6 +192,9 @@
}
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.jobId) {
setFormData();

View File

@ -71,17 +71,33 @@
import { message, confirm } from '@/utils/auth';
import { useRouter } from 'vue-router';
const router = useRouter();
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
const jobLog = defineAsyncComponent(() => import('./log/index.vue'));
/**
* 定义参数变量
*/
const jobId = ref(0);
const editVisible = ref(false);
const editLogVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
jobName: '',
status: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 350,
label: '操作',
@ -152,6 +168,9 @@
},
});
/**
* 加载数据列表
*/
const loadDataTable = async (res: any) => {
const result = await getJobList({ ...formParams, ...res });
result.records.map((item) => {
@ -164,9 +183,16 @@
return result;
};
/**
* 刷新数据列表
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 100,
layout: 'horizontal',
@ -174,6 +200,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -182,26 +213,48 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 执行添加
*/
const handleAdd = async () => {
jobId.value = 0;
await nextTick();
editVisible.value = true;
};
/**
* 执行设置状态
* @param row 参数
*/
const handelSetStatus = async (row) => {
await setJobStatus({ id: row.id, status: row.realStatus ? 1 : 0 });
message('设置成功');
reloadTable('noRefresh');
};
/**
* 执行编辑
* @param record 参数
*/
const handleEdit = async (record: Recordable) => {
jobId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行变更状态
* @param record 参数
*/
const handelChangeStatus = async (record) => {
await confirm(`确定要${record.row.status == 1 ? '暂停' : '启动'}`);
record.row.status == 1 ? await getJobPause(record.row.id) : await getJobResume(record.row.id);
@ -212,6 +265,11 @@
await getJobRunOnce(record.row.id);
message('执行成功');
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -222,11 +280,20 @@
message('删除成功');
reloadTable();
}
/**
* 执行查看日志
* @param record 参数
*/
const handleJobLog = (record) => {
// router.push({path:'/monitorJob/log'})
editLogVisible.value = true;
jobId.value = record.row.id;
};
/**
* 选项发生变化
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -55,6 +55,9 @@
const emit = defineEmits(['success', 'update:visible']);
const formData = ref({});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -68,15 +71,24 @@
},
});
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getJobLogDetail(props.logId);
formData.value = data;
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.logId) {
setFormData();

View File

@ -44,8 +44,16 @@
import { getJobLogList, jobLogDelete, jobLogBatchDelete } from '@/api/monitor/job';
import { columns } from './columns';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
const emit = defineEmits(['update:visible']);
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -58,15 +66,27 @@
default: 0,
},
});
/**
* 定义参数变量
*/
const editVisible = ref(false);
const logId = ref(0);
const size = document.body.clientWidth - 500;
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
jobName: '',
status: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 200,
label: '操作',
@ -103,14 +123,26 @@
},
});
/**
*加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getJobLogList({ ...formParams, jobId: props.jobId, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 100,
layout: 'horizontal',
@ -118,6 +150,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -126,19 +163,35 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
}
}
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
/**
* 执行查询详情
*/
const handleDetail = async (record: Recordable) => {
logId.value = record.row.id;
await nextTick();
editVisible.value = true;
};
/**
* 执行删除
* @param record 参数
*/
async function handleDelete(record: Recordable) {
let ids = [];
if (!record) {
@ -149,6 +202,11 @@
message('删除成功');
reloadTable();
}
/**
* 选项发生变化
* @param value 参数
*/
function onSelectionChange(value) {
selectionData.value = value;
}

View File

@ -56,20 +56,36 @@
import { getOnlineList, onlineOut } from '@/api/monitor/online';
import { message, confirm } from '@/utils/auth';
const onlineTableData = ref([]);
/**
* 定义查询参数
*/
const formParams = reactive({
ipAddr: '',
username: '',
});
/**
* 定义分页参数
*/
const pager = ref({
page: 1,
size: 10,
count: onlineTableData.value.length,
});
const fwbHeight = document.body.clientHeight - 370;
/**
* 加载数据列表
*/
const loadTable = async () => {
onlineTableData.value = await getOnlineList({ ...formParams });
pager.value.count = onlineTableData.value.length;
};
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 80,
layout: 'horizontal',
@ -77,6 +93,10 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -85,6 +105,9 @@
loadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
@ -92,12 +115,19 @@
pager.value.page = 1;
}
/**
* 执行删除
*/
async function handleDelete(row) {
await confirm('确定要强退?');
await onlineOut(row.tokenId);
message('强退成功');
loadTable();
}
/**
* 钩子函数
*/
onMounted(() => {
loadTable();
});

View File

@ -84,6 +84,10 @@
import { getServerInfo } from '@/api/monitor/server';
const tabledata = ref([{}]);
/**
* 定义表单参数
*/
const formData = reactive({
cpuInfo: [],
memoryInfo: [],
@ -91,6 +95,10 @@
jvmInfo: {},
diskInfo: [],
});
/**
* 获取服务信息
*/
const loadServerInfo = async () => {
const result = await getServerInfo();
formData.cpuInfo.push(
@ -137,6 +145,10 @@
formData.jvmInfo = result.jvmInfo;
formData.diskInfo = result.diskInfo;
};
/**
* 钩子函数
*/
onMounted(() => {
loadServerInfo();
});

View File

@ -133,6 +133,10 @@
import UploadFile from '@/components/Upload/file.vue';
import IconPicker from '@/components/icon/picker.vue';
import { updateWeb } from '@/api/setting/web';
/**
* 定义接收的参数
*/
const props = defineProps({
dataList: {
type: Array,
@ -154,6 +158,9 @@
const configItemList = ref([]);
const emit = defineEmits(['success']);
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
let ueditorIndex = 0;
@ -168,6 +175,12 @@
message('更新成功');
emit('success', props.activeName);
};
/**
* 上传图片文件
* @param list 列表
* @param index 索引
*/
const fileUploadImgs = (list: any, index: any) => {
const code = configItemList.value[index].code;
formData[code] = [];
@ -177,12 +190,25 @@
configItemList.value[index].filePath.push({ filePath: item.filePath });
});
};
/**
*上传单个附件文件
* @param filePath 文件路径
* @param fileName 文件名称
* @param index 索引
*/
const fileUploadFile = async (filePath: any, fileName: any, index: any) => {
const code = configItemList.value[index].code;
formData[code] = filePath ? `${fileName}|${filePath}` : '';
configItemList.value[index].filePath = filePath;
configItemList.value[index].fileName = fileName;
};
/**
* 上传单个附件文件
* @param list 列表
* @param index 索引
*/
const fileUploadFiles = (list: any, index: any) => {
const code = configItemList.value[index].code;
configItemList.value[index].filePath = [];
@ -193,6 +219,9 @@
});
};
/**
* 钩子函数
*/
onMounted(() => {
configItemList.value = JSON.parse(JSON.stringify(props.dataList));
nextTick(() => {

View File

@ -1,77 +0,0 @@
<template>
<el-row :gutter="20">
<el-col :xs="24" :sm="20" :md="14" :lg="12" :xl="8">
<el-form
label-position="top"
:label-width="120"
:model="formValue"
:rules="rules"
ref="formRef"
>
<el-form-item label="发件人邮箱" prop="originator">
<el-input v-model="formValue.originator" placeholder="请输入发件人邮箱" />
</el-form-item>
<el-form-item label="SMTP服务器地址">
<el-input placeholder="请输入SMTP服务器地址" />
</el-form-item>
<el-form-item label="SMTP服务器端口">
<el-input placeholder="请输入SMTP服务器端口" />
</el-form-item>
<el-form-item label="SMTP用户名">
<el-input placeholder="请输入SMTP用户名" />
</el-form-item>
<el-form-item label="SMTP密码">
<el-input type="password" placeholder="请输入SMTP密码" />
</el-form-item>
<el-form-item label="邮件测试">
<el-button>邮件测试</el-button>
</el-form-item>
<div>
<el-space>
<el-button type="primary" @click="formSubmit(formRef)">更新邮件信息</el-button>
</el-space>
</div>
</el-form>
</el-col>
</el-row>
</template>
<script lang="ts" setup>
import { reactive, ref } from 'vue';
import { ElMessage } from 'element-plus';
import type { ElForm } from 'element-plus';
type FormInstance = InstanceType<typeof ElForm>;
const formRef = ref<FormInstance>();
const rules = {
originator: {
required: true,
message: '请输入发件人邮箱',
trigger: 'blur',
},
};
const formValue = reactive({
originator: '',
});
function formSubmit(formEl: FormInstance | undefined) {
if (!formEl) return;
formEl.validate((valid) => {
if (valid) {
console.log('submit!');
ElMessage.success('验证成功');
} else {
ElMessage.error('验证失败,请填写完整信息');
}
});
}
</script>

View File

@ -1,183 +0,0 @@
<template>
<el-row :gutter="20">
<el-col :xs="24" :sm="20" :md="14" :lg="12" :xl="8">
<el-form
label-position="top"
:label-width="120"
:model="formValue"
:rules="rules"
ref="formRef"
>
<el-form-item label="商品图片(大)">
<el-space>
<span>宽度</span>
<el-input v-model="formValue.bigWidth" style="width: 80px" placeholder="宽度像素" />
<span>高度</span>
<el-input v-model="formValue.bigHeight" style="width: 80px" placeholder="高度像素" />
</el-space>
</el-form-item>
<el-form-item label="商品图片(小)">
<el-space>
<span>宽度</span>
<el-input v-model="formValue.smallWidth" style="width: 80px" placeholder="宽度像素" />
<span>高度</span>
<el-input v-model="formValue.smallHeight" style="width: 80px" placeholder="高度像素" />
</el-space>
</el-form-item>
<el-form-item label="水印透明度" prop="watermarkClarity">
<el-input-number
v-model="formValue.watermarkClarity"
:show-button="false"
placeholder="请输入水印透明度"
/>
</el-form-item>
<el-form-item label="水印图片" prop="watermarkClarity">
<el-upload action="http://www.mocky.io/v2/5e4bafc63100007100d8b70f">
<el-button>上传文件</el-button>
</el-upload>
</el-form-item>
<el-form-item label="水印位置" prop="watermarkPlace">
<el-select placeholder="请选择价格精确方式" v-model="formValue.watermarkPlace">
<el-option
v-for="item in watermarkPlaceList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="价格精确位数" prop="pricePreciseNum">
<el-select placeholder="请选择价格精确位数" v-model="formValue.pricePreciseNum">
<el-option
v-for="item in pricePreciseNumList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="价格精确方式" prop="pricePrecise">
<el-select placeholder="请选择价格精确方式" v-model="formValue.pricePrecise">
<el-option
v-for="item in pricePreciseList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="前台显示市场价" prop="isMarketPrice">
<el-switch size="large" v-model="formValue.isMarketPrice" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="formSubmit(formRef)">更新显示信息</el-button>
</el-form-item>
</el-form>
</el-col>
</el-row>
</template>
<script lang="ts" setup>
import { reactive, ref } from 'vue';
import { ElMessage } from 'element-plus';
import type { ElForm } from 'element-plus';
type FormInstance = InstanceType<typeof ElForm>;
const formRef = ref<FormInstance>();
const rules = {
name: {
required: true,
message: '请输入网站名称',
trigger: 'blur',
},
mobile: {
required: true,
message: '请输入联系电话',
trigger: 'input',
},
};
const watermarkPlaceList = [
{
label: '左上',
value: 1,
},
{
label: '右上',
value: 2,
},
{
label: '居中',
value: 3,
},
{
label: '右下',
value: 4,
},
];
const pricePreciseNumList = [
{
label: '2位',
value: 1,
},
{
label: '3位',
value: 2,
},
{
label: '4位',
value: 3,
},
];
const pricePreciseList = [
{
label: '四舍五入',
value: 1,
},
{
label: '向上取整',
value: 2,
},
{
label: '向下取整',
value: 3,
},
];
const formValue = reactive({
bigWidth: '',
bigHeight: '',
smallWidth: '',
smallHeight: '',
watermarkClarity: null,
pricePrecise: 1,
isMarketPrice: true,
pricePreciseNum: null,
systemOpen: false,
watermarkPlace: '',
});
function formSubmit(formEl: FormInstance | undefined) {
if (!formEl) return;
formEl.validate((valid) => {
if (valid) {
console.log('submit!');
ElMessage.success('验证成功');
} else {
ElMessage.error('验证失败,请填写完整信息');
}
});
}
</script>

View File

@ -27,6 +27,9 @@
const activeName = ref();
const tabData = ref([]);
/**
* 获取TAB数据
*/
const getTabData = async (name) => {
let res = await getWebInfo();
res.map((item) => {
@ -66,9 +69,17 @@
tabData.value = res;
activeName.value = name ? name : tabData.value[0].configName;
};
/**
* 刷新TAB数据
*/
const getReshTabData = (name) => {
getTabData(name);
};
/**
* 钩子函数
*/
onMounted(() => {
getTabData();
});

View File

@ -112,6 +112,9 @@
const formRef = ref<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
realname: '',
gender: '',
@ -125,13 +128,20 @@
avatarName: '',
});
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
await updateProfile(formData);
message('更新成功');
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
const setUserInfo = async () => {
/**
* 获取用户信息
*/
const getUserInfo = async () => {
const data = await getUserInfo();
for (const key in formData) {
if (data[key] != null && data[key] != undefined) {
@ -152,7 +162,11 @@
}
}
};
/**
* 钩子函数
*/
onMounted(() => {
setUserInfo();
getUserInfo();
});
</script>

View File

@ -127,6 +127,10 @@
const emit = defineEmits(['success', 'update:visible']);
const formRef = shallowRef<FormInstance>();
/**
* 定义表单参数
*/
const formData = reactive({
id: '',
name: '',
@ -140,6 +144,9 @@
note: '',
});
/**
* 定义接收的参数
*/
const props = defineProps({
visible: {
type: Boolean,
@ -153,6 +160,9 @@
},
});
/**
* 执行提交表单
*/
const handleSubmit = async () => {
await formRef.value?.validate();
props.dataSourceId ? await dataSourceUpdate(formData) : await dataSourceAdd(formData);
@ -161,12 +171,18 @@
emit('success');
};
/**
* 关闭窗体
*/
const dialogClose = () => {
emit('update:visible', false);
};
const { isLock: subLoading, lockFn: submit } = useLockFn(handleSubmit);
/**
* 设置表单数据
*/
const setFormData = async () => {
const data = await getDataSourceDetail(props.dataSourceId);
for (const key in formData) {
@ -177,6 +193,9 @@
}
};
/**
* 钩子函数
*/
onMounted(() => {
if (props.dataSourceId) {
setFormData();

View File

@ -48,15 +48,31 @@
import { columns } from './columns';
import { PlusOutlined } from '@vicons/antd';
import { message, confirm } from '@/utils/auth';
/**
* 导入组件
*/
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
/**
* 定义参数变量
*/
const dataSourceId = ref(0);
const editVisible = ref(false);
const selectionData = ref([]);
const tableRef = ref();
/**
* 定义查询参数
*/
const formParams = reactive({
tableName: '',
tableComment: '',
});
/**
* 定义操作栏
*/
const actionColumn = reactive({
width: 150,
label: '操作',
@ -78,14 +94,26 @@
},
});
/**
* 加载数据列表
* @param res 参数
*/
const loadDataTable = async (res: any) => {
const result = await getTableList({ ...formParams, ...res });
return result;
};
/**
* 刷新数据列表
* @param noRefresh 参数
*/
function reloadTable(noRefresh = '') {
tableRef.value.reload(noRefresh ? {} : { pageNo: 1 });
}
/**
* 注册
*/
const [register, {}] = useForm({
labelWidth: 100,
layout: 'horizontal',
@ -93,6 +121,11 @@
submitOnReset: true,
schemas,
});
/**
* 执行提交表单
* @param values 参数
*/
function handleSubmit(values: Recordable) {
handleReset();
for (const key in values) {
@ -101,6 +134,9 @@
reloadTable();
}
/**
* 执行重置
*/
function handleReset() {
for (const key in formParams) {
formParams[key] = '';
@ -133,6 +169,9 @@
message('一键生成成功');
};
/**
* 选项发生变化
*/
function onSelectionChange(value) {
selectionData.value = value;
}