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