update:项目管理
This commit is contained in:
parent
5892c10361
commit
353d94c4a7
@ -12,8 +12,8 @@
|
||||
name="description"
|
||||
content="vue-next-admin,基于 vue3 + CompositionAPI + typescript + vite + element plus,适配手机、平板、pc 的后台开源免费管理系统模板!vue-prev-admin,基于 vue2 + element ui,适配手机、平板、pc 的后台开源免费管理系统模板!"
|
||||
/>
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<title>vue-next-admin</title>
|
||||
<link rel="icon" href="/app.ico" />
|
||||
<title>跃动赛事</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "vue-next-admin",
|
||||
"name": "yd-admin",
|
||||
"version": "2.4.33",
|
||||
"description": "vue3 vite next admin template",
|
||||
"author": "lyt_20201208",
|
||||
@ -91,4 +91,4 @@
|
||||
"type": "git",
|
||||
"url": "https://gitee.com/lyt-top/vue-next-admin.git"
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
public/app-s.ico
Normal file
BIN
public/app-s.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
BIN
public/app.ico
Normal file
BIN
public/app.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 195 KiB |
@ -13,7 +13,7 @@ import { http } from '../../utils/request';
|
||||
* @param {number} [params.PageSize] - 页码容量
|
||||
*/
|
||||
export const projectPageGet = (params) => {
|
||||
return http.post('/project/page', {params});
|
||||
return http.post('/project/page', { params });
|
||||
};
|
||||
|
||||
/**
|
||||
@ -35,7 +35,7 @@ export const projectPageGet = (params) => {
|
||||
* @param {string} data.groups[].gender - 性别 (Male=男, Female=女, Mixed=混合)
|
||||
*/
|
||||
export const projectAddPost = (data) => {
|
||||
return http.post('/project/add', data);
|
||||
return http.post('/project', data);
|
||||
};
|
||||
|
||||
/**
|
||||
@ -58,7 +58,7 @@ export const projectAddPost = (data) => {
|
||||
* @param {string} data.groups[].gender - 性别 (Male=男, Female=女, Mixed=混合)
|
||||
*/
|
||||
export const projectEditPut = (data) => {
|
||||
return http.put('/project/edit', data);
|
||||
return http.put('/project', data);
|
||||
};
|
||||
|
||||
/**
|
||||
@ -66,7 +66,7 @@ export const projectEditPut = (data) => {
|
||||
* @param {Array<number>} data - 项目ID数组
|
||||
*/
|
||||
export const projectDeletePost = (data) => {
|
||||
return http.post('/project/delete', data);
|
||||
return http.delete('/project', data);
|
||||
};
|
||||
|
||||
/**
|
||||
@ -84,7 +84,7 @@ export const projectDeleteDelete = (data) => {
|
||||
* @param {number} params.id - 项目ID
|
||||
*/
|
||||
export const projectDetailGet = (params) => {
|
||||
return http.get('/project/detail', params);
|
||||
return http.post('/project/detail', params);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 50" width="64" height="50">
|
||||
<defs>
|
||||
<image width="64" height="50" id="img1" href="data:image/png;base64,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"/>
|
||||
</defs>
|
||||
<style>
|
||||
tspan { white-space:pre }
|
||||
</style>
|
||||
<use id="Background" href="#img1" x="0" y="0" />
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="512px" height="512px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g><path style="opacity:1" fill="#007dfa" d="M 233.5,-0.5 C 248.167,-0.5 262.833,-0.5 277.5,-0.5C 370.218,10.5918 439.051,56.9252 484,138.5C 498.941,168.616 508.108,200.282 511.5,233.5C 511.5,248.167 511.5,262.833 511.5,277.5C 500.408,370.218 454.075,439.051 372.5,484C 342.384,498.941 310.718,508.108 277.5,511.5C 262.833,511.5 248.167,511.5 233.5,511.5C 140.782,500.408 71.9487,454.075 27,372.5C 12.0587,342.384 2.89207,310.718 -0.5,277.5C -0.5,262.833 -0.5,248.167 -0.5,233.5C 10.5918,140.782 56.9252,71.9487 138.5,27C 168.616,12.0587 200.282,2.89207 233.5,-0.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#f7f8fa" d="M 243.5,185.5 C 246.799,187.483 250.466,188.483 254.5,188.5C 272.28,191.222 288.947,188.055 304.5,179C 316.984,169.589 329.984,160.922 343.5,153C 372.635,144.156 397.468,150.989 418,173.5C 431.854,192.072 434.187,212.072 425,233.5C 418.051,243.451 410.717,253.117 403,262.5C 385.657,288.857 372.323,317.191 363,347.5C 356.228,364.605 344.395,376.772 327.5,384C 287.392,396.964 255.226,386.131 231,351.5C 215.885,327.053 199.219,303.72 181,281.5C 160.83,261.688 137.663,246.188 111.5,235C 99.8447,228.18 91.1781,218.68 85.5,206.5C 84.871,203.603 83.871,200.936 82.5,198.5C 76.714,156.423 94.714,130.923 136.5,122C 156.117,120.095 173.117,125.761 187.5,139C 197.131,150.299 207.131,161.299 217.5,172C 221.5,174.667 225.5,177.333 229.5,180C 234.036,182.099 238.703,183.932 243.5,185.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#047dfa" d="M 338.5,291.5 C 337.076,293.515 336.41,295.848 336.5,298.5C 335.815,300.414 335.315,302.414 335,304.5C 335.901,319.606 333.901,334.272 329,348.5C 324.819,359.851 316.986,367.184 305.5,370.5C 298.841,371.783 292.174,371.783 285.5,370.5C 276.454,367.296 269.288,361.629 264,353.5C 257.511,342.19 251.845,330.523 247,318.5C 225.859,270.692 191.359,236.192 143.5,215C 131.433,212.386 121.267,206.553 113,197.5C 102.24,178.881 104.74,162.381 120.5,148C 140.256,136.731 157.423,139.897 172,157.5C 184.08,175.149 197.247,191.982 211.5,208C 238.483,229.14 268.149,233.473 300.5,221C 317.497,211.688 332.497,199.688 345.5,185C 350.486,180.839 355.819,177.173 361.5,174C 378.718,167.855 393.218,171.688 405,185.5C 409.59,193.804 409.59,202.138 405,210.5C 401.419,215.328 398.085,220.328 395,225.5C 379.975,239.525 365.309,253.859 351,268.5C 345.739,275.589 341.572,283.255 338.5,291.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#6fb1fa" d="M 243.5,185.5 C 247.427,185.926 251.093,186.926 254.5,188.5C 250.466,188.483 246.799,187.483 243.5,185.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#63aafa" d="M 82.5,198.5 C 83.871,200.936 84.871,203.603 85.5,206.5C 83.3455,204.383 82.3455,201.716 82.5,198.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#9ac8fa" d="M 338.5,291.5 C 338.59,294.152 337.924,296.485 336.5,298.5C 336.41,295.848 337.076,293.515 338.5,291.5 Z"/></g>
|
||||
<g><path style="opacity:1" fill="#9fccfa" d="M 285.5,370.5 C 292.174,371.783 298.841,371.783 305.5,370.5C 305.082,371.222 304.416,371.722 303.5,372C 301,372.167 298.5,372.333 296,372.5C 292.195,372.696 288.695,372.03 285.5,370.5 Z"/></g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.4 KiB |
@ -36,7 +36,7 @@ export const useThemeConfig = defineStore('themeConfig', {
|
||||
* 菜单设置
|
||||
*/
|
||||
// 默认菜单导航背景颜色
|
||||
menuBar: '#545c64',
|
||||
menuBar: '#000',
|
||||
// 默认菜单导航字体颜色
|
||||
menuBarColor: '#eaeaea',
|
||||
// 默认菜单高亮背景色
|
||||
@ -137,11 +137,11 @@ export const useThemeConfig = defineStore('themeConfig', {
|
||||
* 全局网站标题 / 副标题
|
||||
*/
|
||||
// 网站主标题(菜单导航、浏览器当前网页标题)
|
||||
globalTitle: 'vue-next-admin',
|
||||
globalTitle: '跃动赛事',
|
||||
// 网站副标题(登录页顶部文字)
|
||||
globalViceTitle: 'vue-next-admin',
|
||||
globalViceTitle: '跃动赛事管理系统',
|
||||
// 网站副标题(登录页顶部文字)
|
||||
globalViceTitleMsg: '专注、免费、开源、维护、解疑',
|
||||
globalViceTitleMsg: '跃动赛事管理系统',
|
||||
// 默认初始语言,可选值"<zh-cn|en|zh-tw>",默认 zh-cn
|
||||
globalI18n: 'zh-cn',
|
||||
// 默认全局组件大小,可选值"<large|'default'|small>",默认 'large'
|
||||
|
||||
@ -46,7 +46,7 @@ export function useTitle() {
|
||||
} else {
|
||||
webTitle = setTagsViewNameI18n(router.currentRoute.value);
|
||||
}
|
||||
document.title = `${webTitle} - ${globalTitle}` || globalTitle;
|
||||
document.title = `${webTitle} - 跃动赛事` || globalTitle;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<div class="login-left-logo">
|
||||
<img :src="logoMini" />
|
||||
<div class="login-left-logo-text">
|
||||
<span>{{ getThemeConfig.globalViceTitle }}</span>
|
||||
<span>跃动赛事</span>
|
||||
<span class="login-left-logo-text-msg">{{ getThemeConfig.globalViceTitleMsg }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -18,7 +18,7 @@
|
||||
<span class="login-right-warp-one"></span>
|
||||
<span class="login-right-warp-two"></span>
|
||||
<div class="login-right-warp-mian">
|
||||
<div class="login-right-warp-main-title">{{ getThemeConfig.globalTitle }} 欢迎您!</div>
|
||||
<div class="login-right-warp-main-title">赛事管理平台 欢迎您!</div>
|
||||
<div class="login-right-warp-main-form">
|
||||
<div v-if="!state.isScan">
|
||||
<el-tabs v-model="state.tabsActiveName">
|
||||
|
||||
@ -1,38 +1,36 @@
|
||||
<template>
|
||||
<div class="system-menu-container layout-padding">
|
||||
<ProTable ref="tableRef" :request-api="projectPageGet" :columns="columns" :pagination="true"
|
||||
:tool-button="false">
|
||||
<ProTable ref="tableRef" :request-api="projectPageGet" :columns="columns" :pagination="true" :tool-button="false" :initParams="initParam">
|
||||
<template #tools>
|
||||
<el-button v-auth="'project:add'" type="primary" icon="ele-Plus" @click="onOpenMenu"> 新增 </el-button>
|
||||
<el-button v-auth="'project:add'" type="primary" icon="ele-Plus" @click="onOpenMenu()"> 新增 </el-button>
|
||||
</template>
|
||||
<template #index="scope">
|
||||
{{ scope.$index + 1 }}
|
||||
</template>
|
||||
|
||||
|
||||
<template #projectTypeId="scope">
|
||||
{{ scope.row.projectTypeName }}
|
||||
</template>
|
||||
|
||||
|
||||
<template #completionCount="scope">
|
||||
{{ scope.row.projectTypeId == '1003' || scope.row.projectTypeId == '1004' ? 1 : scope.row.completionCount }}
|
||||
</template>
|
||||
|
||||
<template #action="scope">
|
||||
<el-button v-auth="'project:edit'" icon="ele-Edit" size="small" text type="primary"
|
||||
@click="onOpenMenu(scope.row.id)"> 编辑 </el-button>
|
||||
<el-button v-auth="'project:edit'" icon="ele-Edit" size="small" text type="primary" @click="onOpenMenu(scope.row)"> 编辑 </el-button>
|
||||
<el-popconfirm title="确认删除吗?" @confirm="onDeleteMenu(scope.row.id)">
|
||||
<template #reference>
|
||||
<el-button v-auth="'project:delete'" icon="ele-Delete" size="small" text type="danger"> 删除
|
||||
</el-button>
|
||||
<el-button v-auth="'project:delete'" icon="ele-Delete" size="small" text type="danger"> 删除 </el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
|
||||
<el-button v-auth="'project:detail'" size="small" text type="primary" @click="onOpenMenu(scope.row.id)">
|
||||
查看详情 </el-button>
|
||||
<el-button v-auth="'project:detail'" size="small" text type="primary" @click="onOpenMenu(scope.row)"> 查看详情 </el-button>
|
||||
</template>
|
||||
</ProTable>
|
||||
|
||||
<!-- 弹窗 -->
|
||||
<el-dialog title="新增" v-model="isShowDialog" width="60%">
|
||||
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="150px"
|
||||
style="width: 70%;margin-bottom: 30px;" v-if="isShowDialog">
|
||||
|
||||
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="150px" style="width: 70%; margin-bottom: 30px" v-if="isShowDialog">
|
||||
<!-- 项目名称 -->
|
||||
<el-form-item label="项目名称:" prop="name">
|
||||
<el-input v-model="formData.name" placeholder="请输入项目名称"></el-input>
|
||||
@ -40,11 +38,11 @@
|
||||
|
||||
<!-- 项目类型 -->
|
||||
<el-form-item label="项目类型:" prop="projectTypeId">
|
||||
<el-select v-model="formData.projectTypeId" placeholder="请选择项目类型" style="width: 100%;">
|
||||
<el-option label="个人速度" value="1003"></el-option>
|
||||
<el-option label="个人花样" value="1004"></el-option>
|
||||
<el-option label="团队速度" value="1001"></el-option>
|
||||
<el-option label="团队花样" value="1002"></el-option>
|
||||
<el-select v-model="formData.projectTypeId" placeholder="请选择项目类型" style="width: 100%">
|
||||
<el-option label="个人速度" :value="1003"></el-option>
|
||||
<el-option label="个人花样" :value="1004"></el-option>
|
||||
<el-option label="团队速度" :value="1001"></el-option>
|
||||
<el-option label="团队花样" :value="1002"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
@ -70,7 +68,6 @@
|
||||
<span class="duration-label">秒</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
@ -88,44 +85,30 @@ import { ElMessage, ElForm } from 'element-plus';
|
||||
import SysMenuApi from '/@/api/SysMenuApi';
|
||||
import { auths } from '/@/utils/authFunction';
|
||||
import ProTable from '/@/components/ProTable/index.vue';
|
||||
import { projectPageGet, projectAddPost ,projectEditPut ,projectDeleteDelete} from '/@/api/match/project';
|
||||
|
||||
|
||||
import { projectPageGet, projectAddPost, projectEditPut, projectDeleteDelete } from '/@/api/match/project';
|
||||
|
||||
// 定义表单引用类型
|
||||
const formRef = ref();
|
||||
|
||||
const initParam = ref({
|
||||
refresh: true,
|
||||
});
|
||||
const formData = ref({
|
||||
name: '',
|
||||
projectTypeId: '',
|
||||
completionCount: '',
|
||||
fee: '',
|
||||
durationMinutes: '0',
|
||||
durationSeconds: '0'
|
||||
})
|
||||
durationSeconds: '0',
|
||||
});
|
||||
|
||||
const formRules = ref({
|
||||
name: [
|
||||
{ required: true, message: '请输入项目名称', trigger: 'blur' }
|
||||
],
|
||||
projectTypeId: [
|
||||
{ required: true, message: '请选择项目类型', trigger: 'change' }
|
||||
],
|
||||
completionCount: [
|
||||
{ required: true, message: '请输入完成人数', trigger: 'blur' }
|
||||
],
|
||||
description: [
|
||||
{ required: true, message: '请输入项目描述', trigger: 'blur' }
|
||||
],
|
||||
fee: [
|
||||
{ required: true, message: '请输入费用', trigger: 'blur' }
|
||||
],
|
||||
durationMinutes: [
|
||||
{ required: true, message: '请输入时长(分)', trigger: 'blur' }
|
||||
],
|
||||
durationSeconds: [
|
||||
{ required: true, message: '请输入时长(秒)', trigger: 'blur' }
|
||||
]
|
||||
name: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
|
||||
projectTypeId: [{ required: true, message: '请选择项目类型', trigger: 'change' }],
|
||||
completionCount: [{ required: true, message: '请输入完成人数', trigger: 'blur' }],
|
||||
description: [{ required: true, message: '请输入项目描述', trigger: 'blur' }],
|
||||
fee: [{ required: true, message: '请输入费用', trigger: 'blur' }],
|
||||
durationMinutes: [{ required: true, message: '请输入时长(分)', trigger: 'blur' }],
|
||||
durationSeconds: [{ required: true, message: '请输入时长(秒)', trigger: 'blur' }],
|
||||
});
|
||||
|
||||
const columns = ref([
|
||||
@ -169,17 +152,20 @@ const columns = ref([
|
||||
const isShowDialog = ref(false);
|
||||
const dialogTitle = ref('新增');
|
||||
|
||||
const onOpenMenu = (id) => {
|
||||
dialogTitle.value = id ? '编辑' : '新增';
|
||||
const onOpenMenu = (row) => {
|
||||
console.log(row);
|
||||
dialogTitle.value = row.id ? '编辑' : '新增';
|
||||
formData.value = {
|
||||
projectName: '',
|
||||
name: '',
|
||||
projectTypeId: '',
|
||||
completionCount: '',
|
||||
description: '',
|
||||
fee: '',
|
||||
durationMinutes: '',
|
||||
durationSeconds: ''
|
||||
durationMinutes: '0',
|
||||
durationSeconds: '0',
|
||||
};
|
||||
if (row) {
|
||||
formData.value = row;
|
||||
}
|
||||
isShowDialog.value = true;
|
||||
};
|
||||
|
||||
@ -209,6 +195,7 @@ const onSubmit = () => {
|
||||
}
|
||||
|
||||
if (res.succeeded) {
|
||||
initParam.value.refresh = !initParam.value.refresh; // 刷新表格数据
|
||||
ElMessage.success(dialogTitle.value + '成功');
|
||||
isShowDialog.value = false;
|
||||
} else {
|
||||
@ -250,4 +237,4 @@ const onCancel = () => {
|
||||
color: #909399;
|
||||
font-size: 14px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user