项目类型调整,时间查询调整
This commit is contained in:
parent
91c5ac8cbd
commit
4ceee6584d
@ -8,7 +8,7 @@ import { http } from '../../utils/request';
|
||||
* @param {Object} params - 查询参数
|
||||
* @param {number} [params.EventId] - 赛事ID
|
||||
* @param {string} [params.ProjectName] - 项目名称 (模糊查询)
|
||||
* @param {number} [params.ProjectTypeId] - 项目类型ID
|
||||
* @param {number} [params.ProjectType] - 项目类型
|
||||
* @param {number} [params.PageNo] - 当前页码
|
||||
* @param {number} [params.PageSize] - 页码容量
|
||||
*/
|
||||
@ -21,7 +21,7 @@ export const projectPageGet = (params) => {
|
||||
* @param {Object} data - 项目信息
|
||||
* @param {number} data.eventId - 赛事ID
|
||||
* @param {string} data.name - 项目名称
|
||||
* @param {number} data.projectTypeId - 项目类型ID
|
||||
* @param {number} data.projectType - 项目类型
|
||||
* @param {number} data.completionCount - 完成人数
|
||||
* @param {number} data.fee - 费用
|
||||
* @param {number} data.durationMinutes - 时长(分钟)
|
||||
@ -44,7 +44,7 @@ export const projectAddPost = (data) => {
|
||||
* @param {number} data.id - 项目ID
|
||||
* @param {number} data.eventId - 赛事ID
|
||||
* @param {string} data.name - 项目名称
|
||||
* @param {number} data.projectTypeId - 项目类型ID
|
||||
* @param {number} data.projectType - 项目类型
|
||||
* @param {number} data.completionCount - 完成次数/达标次数
|
||||
* @param {number} data.fee - 费用
|
||||
* @param {number} data.durationMinutes - 时长(分钟)
|
||||
|
||||
@ -93,7 +93,13 @@ export const useTable = (
|
||||
for (let key in state.searchParam) {
|
||||
// * 某些情况下参数为 false/0 也应该携带参数
|
||||
if (state.searchParam[key] || state.searchParam[key] === false || state.searchParam[key] === 0) {
|
||||
nowSearchParam[key] = state.searchParam[key];
|
||||
// 处理日期范围参数:如果是数组,拆分为 StartTime 和 EndTime
|
||||
if (Array.isArray(state.searchParam[key]) && state.searchParam[key].length === 2) {
|
||||
nowSearchParam['StartTime'] = state.searchParam[key][0];
|
||||
nowSearchParam['EndTime'] = state.searchParam[key][1];
|
||||
} else {
|
||||
nowSearchParam[key] = state.searchParam[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
Object.assign(state.totalParam, nowSearchParam, isPageable ? pageParam.value : {});
|
||||
|
||||
@ -79,10 +79,11 @@ service.interceptors.response.use(
|
||||
ElMessage.error('无权访问');
|
||||
return response;
|
||||
}
|
||||
// 处理规范化结果错误
|
||||
// 处理规范化结果错误
|
||||
if (res.statusCode !== 200) {
|
||||
var message = JSON.stringify(res.errors);
|
||||
ElMessage.error(message);
|
||||
return Promise.reject(new Error(res.errors || 'Request failed'));
|
||||
}
|
||||
return response;
|
||||
},
|
||||
|
||||
@ -128,7 +128,7 @@
|
||||
<!-- <template #index="scope">
|
||||
{{ scope.$index + 1 }}
|
||||
</template> -->
|
||||
<template #projectTypeId="scope">
|
||||
<template #projectType="scope">
|
||||
{{ scope.row.projectTypeName }}
|
||||
</template>
|
||||
<template #completionCount="scope">
|
||||
@ -220,17 +220,17 @@ const columns = ref([
|
||||
},
|
||||
},
|
||||
{
|
||||
prop: 'projectTypeId',
|
||||
prop: 'projectType',
|
||||
label: '项目类型',
|
||||
search: {
|
||||
el: 'select',
|
||||
},
|
||||
enum: [
|
||||
{ label: '全部', value: 0 },
|
||||
{ label: '团队速度', value: 1001 },
|
||||
{ label: '团队花样', value: 1002 },
|
||||
{ label: '全部', value: '' },
|
||||
{ label: '个人速度', value: 1003 },
|
||||
{ label: '个人花样', value: 1004 },
|
||||
{ label: '团队速度', value: 1005 },
|
||||
{ label: '团队花样', value: 1006 },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
{{ scope.$index + 1 }}
|
||||
</template>
|
||||
|
||||
<template #projectTypeId="scope">
|
||||
<template #projectType="scope">
|
||||
{{ scope.row.projectTypeName }}
|
||||
</template>
|
||||
|
||||
@ -45,8 +45,8 @@
|
||||
</el-form-item>
|
||||
|
||||
<!-- 项目类型 -->
|
||||
<el-form-item label="项目类型:" prop="projectTypeId">
|
||||
<el-select v-model="formData.projectTypeId" placeholder="请选择项目类型" style="width: 100%">
|
||||
<el-form-item label="项目类型:" prop="projectType">
|
||||
<el-select v-model="formData.projectType" placeholder="请选择项目类型" style="width: 100%">
|
||||
<el-option label="个人速度" :value="1003"></el-option>
|
||||
<el-option label="个人花样" :value="1004"></el-option>
|
||||
<el-option label="团队速度" :value="1005"></el-option>
|
||||
@ -138,7 +138,7 @@
|
||||
|
||||
<!-- 项目类型 -->
|
||||
<el-form-item label="项目类型:">
|
||||
<el-select v-model="detailData.projectTypeId" disabled style="width: 100%">
|
||||
<el-select v-model="detailData.projectType" disabled style="width: 100%">
|
||||
<el-option label="个人速度" :value="1003"></el-option>
|
||||
<el-option label="个人花样" :value="1004"></el-option>
|
||||
<el-option label="团队速度" :value="1005"></el-option>
|
||||
@ -242,7 +242,7 @@ const removeGroup = (index) => {
|
||||
|
||||
const formData = ref({
|
||||
name: '',
|
||||
projectTypeId: '',
|
||||
projectType: '',
|
||||
completionCount: '',
|
||||
fee: '',
|
||||
durationMinutes: '',
|
||||
@ -294,7 +294,7 @@ const validateGroups = (rule, value, callback) => {
|
||||
|
||||
const formRules = ref({
|
||||
name: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
|
||||
projectTypeId: [{ required: true, message: '请选择项目类型', trigger: 'change' }],
|
||||
projectType: [{ required: true, message: '请选择项目类型', trigger: 'change' }],
|
||||
completionCount: [{ required: true, message: '请输入完成人数', trigger: 'blur' }],
|
||||
fee: [{ required: true, message: '请输入费用', trigger: 'blur' }],
|
||||
duration: [
|
||||
@ -325,11 +325,11 @@ const columns = ref([
|
||||
},
|
||||
},
|
||||
{
|
||||
prop: 'projectTypeId',
|
||||
prop: 'projectType',
|
||||
label: '项目类型',
|
||||
search: {
|
||||
el: 'select',
|
||||
key: 'ProjectTypeId',
|
||||
key: 'ProjectType',
|
||||
},
|
||||
enum: [
|
||||
{ label: '全部', value: '' },
|
||||
@ -357,7 +357,7 @@ const onOpenMenu = async (row) => {
|
||||
dialogTitle.value = row ? '编辑' : '新增';
|
||||
formData.value = {
|
||||
name: '',
|
||||
projectTypeId: '',
|
||||
projectType: '',
|
||||
completionCount: '',
|
||||
fee: '',
|
||||
durationMinutes: '',
|
||||
|
||||
@ -14,8 +14,8 @@
|
||||
{{ scope.$index + 1 }}
|
||||
</template>
|
||||
<template #auditStatus="scope">
|
||||
<el-tag :type="statusList[scope.row.auditStatus]">
|
||||
{{ scope.row.auditRemark }}
|
||||
<el-tag :type="getAuditStatusType(scope.row.auditStatus)">
|
||||
{{ getAuditStatusText(scope.row.auditStatus) }}
|
||||
</el-tag>
|
||||
</template>
|
||||
<template #ss="scope">
|
||||
@ -96,6 +96,40 @@ const initParamUser = ref({
|
||||
});
|
||||
const statusList = ['info', 'warning', 'success', 'danger'];
|
||||
|
||||
const getAuditStatusText = (status) => {
|
||||
switch (status) {
|
||||
case 0:
|
||||
return '待提交';
|
||||
case 1:
|
||||
return '待审核';
|
||||
case 2:
|
||||
return '审核通过';
|
||||
case 3:
|
||||
return '审核拒绝';
|
||||
case 4:
|
||||
return '已取消';
|
||||
default:
|
||||
return status;
|
||||
}
|
||||
};
|
||||
|
||||
const getAuditStatusType = (status) => {
|
||||
switch (status) {
|
||||
case 0:
|
||||
return 'info';
|
||||
case 1:
|
||||
return 'warning';
|
||||
case 2:
|
||||
return 'success';
|
||||
case 3:
|
||||
return 'danger';
|
||||
case 4:
|
||||
return 'info';
|
||||
default:
|
||||
return 'info';
|
||||
}
|
||||
};
|
||||
|
||||
const columns = ref([
|
||||
{ prop: 'ss', type: 'selection' },
|
||||
{ prop: 'index', label: '序号', align: 'center' },
|
||||
@ -130,7 +164,7 @@ const columns = ref([
|
||||
},
|
||||
{
|
||||
prop: 'createdTime',
|
||||
label: '创建时间',
|
||||
label: '生成时间',
|
||||
search: {
|
||||
el: 'date-picker',
|
||||
props: { type: 'daterange' },
|
||||
|
||||
@ -147,7 +147,6 @@ const columns = ref([
|
||||
{ prop: 'ss', type: 'selection' },
|
||||
{ prop: 'index', label: '序号', align: 'center' },
|
||||
{ prop: 'merchantName', label: '单位名称', search: { el: 'input' } },
|
||||
{ prop: 'creditCode', label: '统一社会信用代码', search: { el: 'input' } },
|
||||
{ prop: 'address', label: '地址' },
|
||||
|
||||
{ prop: 'contactPhone', label: '联系电话', search: { el: 'input' } },
|
||||
@ -169,7 +168,7 @@ const columns = ref([
|
||||
},
|
||||
{
|
||||
prop: 'createdTime',
|
||||
label: '创建时间',
|
||||
label: '生成时间',
|
||||
search: {
|
||||
el: 'date-picker',
|
||||
props: { type: 'daterange' },
|
||||
|
||||
@ -208,10 +208,10 @@ const onDeleteMenu = async (id) => {
|
||||
};
|
||||
|
||||
// 表单提交
|
||||
const onSubmit = () => {
|
||||
const onSubmit = () => {
|
||||
if (!formRef.value) return;
|
||||
|
||||
formRef.value.validate(async (valid) => {
|
||||
formRef.value.validate(async (valid) => {
|
||||
if (!valid) return;
|
||||
|
||||
try {
|
||||
@ -229,10 +229,11 @@ const onSubmit = () => {
|
||||
ElMessage.success(dialogTitle.value + '成功');
|
||||
isShowDialog.value = false;
|
||||
} else {
|
||||
ElMessage.error(res.errors);
|
||||
ElMessage.error(res.errors || dialogTitle.value + '失败');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
console.error('提交失败:', error);
|
||||
// 错误已经在拦截器中显示,这里不需要再显示
|
||||
}
|
||||
});
|
||||
};
|
||||
@ -243,10 +244,19 @@ const onCancel = () => {
|
||||
};
|
||||
|
||||
onMounted(async () => {
|
||||
const { data } = await sysroleSelectGet();
|
||||
console.log('获取的角色数据:', data);
|
||||
columns.value[4].search.enum = data;
|
||||
eventList.value = data;
|
||||
try {
|
||||
const result = await sysroleSelectGet();
|
||||
console.log('获取的角色数据:', result);
|
||||
if (result.succeeded && result.data) {
|
||||
columns.value[4].search.enum = result.data;
|
||||
eventList.value = result.data;
|
||||
} else {
|
||||
ElMessage.error(result.errors || '获取角色数据失败');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取角色数据时发生错误:', error);
|
||||
ElMessage.error('获取角色数据时发生错误,请稍后重试');
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user