abf5e3a4 by 杨炀

no message

1 parent 12a5d160
<template>
<!-- <el-config-provider :locale="locale">-->
<router-view />
<!-- </el-config-provider>-->
<reset-pwd ref="resetPwdRef" />
</template>
<script setup>
import useSettingsStore from '@/store/modules/settings'
import { handleThemeStyle } from '@/utils/theme'
import { nextTick, onMounted, watch } from 'vue'
import useUserStore from '@/store/modules/user'
import ResetPwd from '@/views/system/user/profile/components/resetPwd'
import { getCurrentInstance } from '@vue/runtime-core'
// import { ElConfigProvider } from 'element-plus'
// import locale from 'element-plus/lib/locale/lang/zh-cn'
const userStore = useUserStore()
const { proxy } = getCurrentInstance()
onMounted(() => {
document.body.style.setProperty('--el-color-primary', '#453DEA')
// 鼠标移动到按钮上方时显示的颜色,默认蓝色,可以和primary设置的颜色不一样
document.body.style.setProperty('--el-color-primary-light-3', '#8623FC')
document.body.style.setProperty('--el-color-success', '#29c490')
document.body.style.setProperty('--el-color-success-light-3', '#54d0a6')
// danger
document.body.style.setProperty('--el-color-danger', '#d51515')
document.body.style.setProperty('--el-color-danger-light-3', '#d44')
// warning
document.body.style.setProperty('--el-color-warning', '#e6a23c')
document.body.style.setProperty('--el-color-warning-light-3', '#ebb563')
nextTick(() => {
// 初始化主题样式
handleThemeStyle(useSettingsStore().theme)
})
})
watch(() => userStore.user?.changePassFlag, (val) => {
if (val === '1') {
proxy.$modal.confirm('密码长期未更新,请及时更新').then(() => {
proxy.$refs['resetPwdRef'].open()
})
}
})
</script>
<style lang="scss">
.app-container{
background-color: #F5F7F9;
padding:20px;
min-height: calc(100vh - 85px);
}
/* 搜索栏 */
.from-Card{
background-color: #fff;
padding: 20px;
}
.btn-card{
padding: 20px;
background: #fff;
border-radius: 10px;
}
/* 表格 */
.table{
background-color: #fff;
padding:0 20px 10px;
position: relative;
}
.box{
background: #fff;
border-radius: 5px;
padding: 10px;
}
/* 分页 */
.foot{
background-color: #fff;
height: 50px;
}
.btn-top{
margin-top: 10px;
}
.el-table{
background: url("@/assets/admin/tableBg.png") #F5FBFE no-repeat top;
background-color:#F5FBFE!important;
background-size: 750px;
--el-bg-color:#F5FBFE;
--el-table-border-color:#e1e4ec;
--el-fill-color-blank:transparent;
--el-fill-color-light:#fff;
}
// 审核通过添加背景色
.success-row{
--el-table-tr-bg-color: rgba(41, 196, 144,.15);
}
.totalCost{
font-weight: 700;
font-size: 16px;
margin-top: 10px;
position: absolute;
bottom: 30px;
left: 20px;
z-index: 999;
span{
color: orange;
margin-right: 20px;
}
}
// 禁选背景色
.disabled-row{
--el-table-tr-bg-color: rgba(36, 37, 37,0.1);
}
</style>
import { createApp } from 'vue'
import Cookies from 'js-cookie'
import ElementPlus from 'element-plus'
import locale from 'element-plus/lib/locale/lang/zh-cn' // 中文语言
import '@/assets/styles/index.scss' // global css
import App from './App'
import store from './store'
import router from './router'
import directive from './directive' // directive
// 注册指令
import plugins from './plugins' // plugins
import { download } from '@/utils/request'
// svg图标
import 'virtual:svg-icons-register'
import SvgIcon from '@/components/SvgIcon'
import elementIcons from '@/components/SvgIcon/svgicon'
import './permission' // permission control
import { useDict } from '@/utils/dict'
import { getConfigKey, updateConfigByKey } from '@/api/system/config'
import {
parseTime,
resetForm,
addDateRange,
handleTree,
selectDictLabel,
selectDictLabels,
fillImgUrl
} from '@/utils/ruoyi'
import VueUeditorWrap from 'vue-ueditor-wrap'
// 分页组件
import Pagination from '@/components/Pagination'
// 自定义表格工具组件
import RightToolbar from '@/components/RightToolbar'
// 富文本组件
import Editor from '@/components/Editor'
import UEditor from '@/components/UEditor'
// 文件上传组件
import FileUpload from '@/components/FileUpload'
// 图片上传组件
import ImageUpload from '@/components/ImageUpload'
import ImageUpload2 from '@/components/ImageUpload/index2'
// 图片预览组件
import ImagePreview from '@/components/ImagePreview'
// 自定义树选择组件
import TreeSelect from '@/components/TreeSelect'
// 字典标签组件
import DictTag from '@/components/DictTag'
import draggable from 'vuedraggable'
const app = createApp(App)
// 全局方法挂载
app.config.globalProperties.useDict = useDict
app.config.globalProperties.getConfigKey = getConfigKey
app.config.globalProperties.updateConfigByKey = updateConfigByKey
app.config.globalProperties.download = download
app.config.globalProperties.parseTime = parseTime
app.config.globalProperties.resetForm = resetForm
app.config.globalProperties.handleTree = handleTree
app.config.globalProperties.addDateRange = addDateRange
app.config.globalProperties.selectDictLabel = selectDictLabel
app.config.globalProperties.selectDictLabels = selectDictLabels
app.config.globalProperties.fillImgUrl = fillImgUrl
// 全局组件挂载
app.component('DictTag', DictTag)
app.component('Pagination', Pagination)
app.component('TreeSelect', TreeSelect)
app.component('FileUpload', FileUpload)
app.component('ImageUpload', ImageUpload)
app.component('ImageUpload2', ImageUpload2)
app.component('ImagePreview', ImagePreview)
app.component('RightToolbar', RightToolbar)
app.component('Editor', Editor)
app.component('UEditor', UEditor)
app.component('Draggable', draggable)
app.use(router)
app.use(store)
app.use(VueUeditorWrap)
app.use(plugins)
app.use(elementIcons)
app.component('SvgIcon', SvgIcon)
directive(app)
// 使用element-plus 并且设置全局的大小
app.use(ElementPlus, {
locale: locale,
// 支持 large、default、small
size: Cookies.get('size') || 'default'
})
// 修改 el-dialog 默认点击遮照为不关闭
app._context.components.ElDialog.props.closeOnClickModal.default = false
app.mount('#app')
if (process.env.NODE_ENV !== 'development') {
// disorderCopy()
}
......@@ -518,12 +518,6 @@ export const constantRoutes = [
meta: { title: '缴费清单' }
},
{
path: 'list/:id/singleSign',
component: () => import('@/viewsPc/match/singleSign'),
name: 'singleSign',
meta: { title: '个人报名' }
},
{
path: 'list/:id/teamSign',
component: () => import('@/viewsPc/match/teamSign'),
name: 'teamSign',
......
......@@ -423,12 +423,6 @@ export const constantRoutes = [
meta: { title: '缴费清单' }
},
{
path: 'list/:id/singleSign',
component: () => import('@/viewsPc/match/singleSign'),
name: 'singleSign',
meta: { title: '个人报名' }
},
{
path: 'list/:id/teamSign',
component: () => import('@/viewsPc/match/teamSign'),
name: 'teamSign',
......
......@@ -410,12 +410,6 @@ export const constantRoutes = [
meta: { title: '赛事详情' }
},
{
path: 'list/:id/singleSign',
component: () => import('@/viewsPc/match/singleSign'),
name: 'singleSign',
meta: { title: '个人报名' }
},
{
path: 'list/:id/teamSign',
component: () => import('@/viewsPc/match/teamSign'),
name: 'teamSign',
......
......@@ -181,7 +181,6 @@
<dialogEditWdsf ref="dialogEditWdsfRef" @submitForm="changeMeDone"/>
<dialogEditAccompany ref="dialogEditAccompanyRef" @submitForm="getMyMemberTable"/>
<!-- <dialogChangeCoach ref="popChangeCoach" @submitForm="getMySignInfo"/>-->
<dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList"/>
</div>
</template>
......@@ -192,9 +191,7 @@ import * as match from '@/apiPc/match'
import {getCurrentInstance, onMounted} from '@vue/runtime-core'
import dialogEditWdsf from './components/addWdsf'
import dialogEditAccompany from './components/addAccompany'
import dialogSportsmanList from './components/sportsmanList'
import dialogAllSportsmanList from './components/allSportsmanList'
import dialogChangeCoach from './components/changeCoach'
import dialogExtraForm from './components/extraForm'
import dialogMates from './components/dialogMates'
import {Search, Switch} from "@element-plus/icons-vue";
......
......@@ -137,7 +137,6 @@
</div>
<dialogAddCoach ref="dialogAddCoachRef"/>
<dialogSportsmanList ref="dialogSportsmanListRef" @submitForm="getSignInfoList"/>
<dialogAllSportsmanList ref="dialogAllSportsmanListRef" @transfer="getChoosed" @submitForm="getSignInfoList"/>
<dialogMates ref="dialogMatesRef" @submitForm="getSignInfoList"/>
......@@ -153,9 +152,6 @@
</el-result>
</el-dialog>
<!-- <dialogChangeCoach ref="popChangeCoach" @submitForm="getMySignInfo"/>-->
<dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList"/>
</div>
</template>
......@@ -165,10 +161,8 @@ import {ref, reactive, toRefs} from 'vue'
import * as match from '@/apiPc/match'
import {getCurrentInstance, onMounted} from '@vue/runtime-core'
import dialogAddCoach from './components/addCoach'
import dialogSportsmanList from './components/sportsmanList'
import dialogAllSportsmanList from './components/allSportsmanList'
import dialogImport from './components/import'
import dialogChangeCoach from './components/changeCoach'
import dialogExtraForm from './components/extraForm'
import dialogMates from './components/dialogMates'
import {Search, Switch} from "@element-plus/icons-vue";
......@@ -472,19 +466,6 @@ function delchoosedchoosed() {
choosedchoosed.value = []
}
function editThis(row) {
const params = {
title: '修改报项',
personal: row.cptPersonInfo,
matchId: matchId.value,
groupId: groupId.value,
rankId: activeTeam.value,
signType: signType.value,
noPhotoCanSign: noPhotoCanSign.value,
coachOrLeaderFlag: coachOrLeaderFlag.value
}
proxy.$refs['dialogSportsmanListRef'].open(params)
}
function editMates(row) {
const params = {
......
<template>
<el-dialog :title="title">
<el-form v-model="coachForm">
<el-form-item label="教练">
<el-select v-model="coachForm.coachs" multiple>
<el-option v-for="c in myCoachList" :key="c.id" :label="c.realName" :value="c.id">
<div class="optionFlex">
<el-avatar :size="60" :src="c.picUrl" />
<p class="name">{{ c.realName }}
<span v-if="c.sex=='0'">(女)</span>
<span v-else>(男)</span>
</p>
</div>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="领队">
<el-select v-model="coachForm.leaders" multiple>
<el-option v-for="c in myCoachList" :key="c.id" :label="c.realName" :value="c.id">
<div class="optionFlex">
<el-avatar :size="60" :src="c.picUrl" />
<p class="name">{{ c.realName }}
<span v-if="c.sex=='0'">(女)</span>
<span v-else>(男)</span>
</p>
</div>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="其他">
<el-select v-model="coachForm.others" multiple>
<el-option v-for="c in myCoachList" :key="c.id" :label="c.realName" :value="c.id">
<div class="optionFlex">
<el-avatar :size="60" :src="c.picUrl" />
<p class="name">{{ c.realName }}
<span v-if="c.sex=='0'">(女)</span>
<span v-else>(男)</span>
</p>
</div>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="success">确定</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<script setup>
</script>
<style scoped lang="scss">
</style>
<template>
<el-row>
<el-col :span="20" :offset="2"><h3>队伍信息</h3></el-col>
<el-col :span="20" :offset="2" class="rankArea">
<el-form :inline="true" label-width="120px">
<!-- 已有队伍-->
<div v-for="(r,index) in rankList" class="rankBox">
<el-icon class="del" @click="delRank(r)">
<Close />
</el-icon>
<el-row>
<el-col :span="6">
<el-form-item label="队伍logo:">
<el-avatar :size="120" :src="r.imgUrl" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="队伍名称:">
<span>{{ r.name }}</span>
</el-form-item>
<el-form-item v-if="props.coachOrLeaderFlag=='1'" label="领队:">
<div v-if="r.leaderNames" class="goChooseBox">
<el-tag v-for="(tag,index) in r.leaderNames.split(',')" :key="index" class="mx-1" :disable-transitions="false">
{{ tag }}
</el-tag>
</div>
</el-form-item>
<el-form-item v-if="props.coachOrLeaderFlag=='1'" label="翻译:">
<div v-if="r.translatorNames" class="goChooseBox">
<el-tag v-for="(tag,index) in r.translatorNames.split(',')" :key="index" class="mx-1" :disable-transitions="false">
{{ tag }}
</el-tag>
</div>
<span v-else>暂无</span>
</el-form-item>
<el-form-item v-if="props.coachOrLeaderFlag=='1'" label="其他:">
<div v-if="r.otherNames" class="goChooseBox">
<el-tag v-for="(tag,index) in r.otherNames.split(',')" :key="index" class="mx-1" :disable-transitions="false">
{{ tag }}
</el-tag>
</div>
<span v-else>暂无</span>
</el-form-item>
</el-col>
<el-col v-if="props.coachOrLeaderFlag=='1'" :span="8">
<el-form-item label="教练:">
<div v-if="r.coachNames" class="goChooseBox">
<el-tag
v-for="(tag,index) in r.coachNames.split(',')"
:key="index" class="mx-1"
:disable-transitions="false"
>
{{ tag }}
</el-tag>
</div>
</el-form-item>
<el-form-item label="队医:">
<div v-if="r.teamDoctorNames" class="goChooseBox">
<el-tag v-for="(tag,index) in r.teamDoctorNames.split(',')" :key="index" class="mx-1" :disable-transitions="false">
{{ tag }}
</el-tag>
</div>
<span v-else>暂无</span>
</el-form-item>
<el-form-item label="官员:">
<div v-if="r.officialNames" class="goChooseBox">
<el-tag
v-for="(tag,index) in r.officialNames.split(',')"
:key="index" class="mx-1"
:disable-transitions="false"
>
{{ tag }}
</el-tag>
</div>
<span v-else>暂无</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="2" :offset="22">
<el-button type="primary" link class="fr" @click="editRank(r)">编辑</el-button>
</el-col>
</el-row>
</div>
<el-button type="success" plain @click="addRank">+添加队伍</el-button>
<el-button v-if="rankList.length>0||showAdd" type="success" plain @click="addCoach">+添加教练/领队</el-button>
</el-form>
</el-col>
</el-row>
<!-- 添加人员-->
<addCoachdialog ref="dialogAddCoach" @submitForm="getGroupInfo" />
<!-- 队伍信息-->
<editRankdialog ref="dialogEditRank" @submitForm="getList" />
</template>
<script setup>
import { computed, reactive } from 'vue'
import * as match from '@/apiPc/match'
import { getCurrentInstance, onMounted } from '@vue/runtime-core'
import { ElMessage, ElMessageBox } from 'element-plus'
import addCoachdialog from './addCoach'
import editRankdialog from './editRank'
const router = useRouter()
const route = useRoute()
const { proxy } = getCurrentInstance()
const data = reactive({
form: {},
rankList: [],
group: {},
groupId: '',
teamType: [{ label: '学校', value: '0' }, { label: '俱乐部', value: '1' }],
rules: {
imgUrl: { required: true, message: '请上传图标', trigger: 'blur' },
name: { required: true, message: '请填写名称', trigger: 'blur' }
}
})
const { teamType, rules, rankList, form, group, groupId } = toRefs(data)
const backRankId = ''
let cptId = ''
const props = defineProps({
coachOrLeaderFlag: {
type: String
}
})
onMounted(() => {
cptId = route.query.matchId
groupId.value = route.query.groupId
getList()
getGroupInfo()
})
// 弹窗加人
const addCoach = () => {
const params = {
id: 0,
groupId: groupId.value
}
proxy.$refs['dialogAddCoach'].open(params)
}
function getGroupInfo() {
match.getGroupById(groupId.value).then(res => {
group.value = res.data
})
}
function getList() {
// 获取队伍列表
match.getMyTeamList(cptId, groupId.value).then(response => {
rankList.value = response.data
})
}
function delRank(r) {
ElMessageBox.confirm(
'确定删除该队伍吗?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}
)
.then(() => {
match.delRank(r.id).then(response => {
getList()
ElMessage({
type: 'success',
message: '已删除'
})
})
})
}
function addRank() {
const params = {
form: {},
cptId: cptId,
title: '新建队伍',
coachOrLeaderFlag: props.coachOrLeaderFlag,
group: group.value
}
proxy.$refs['dialogEditRank'].open(params)
}
function editRank(rank) {
const params = {
form: rank,
cptId: cptId,
title: '编辑队伍',
coachOrLeaderFlag: props.coachOrLeaderFlag,
group: group.value
}
proxy.$refs['dialogEditRank'].open(params)
}
</script>
<style lang="scss" scoped>
.rankArea {
background: #FBFCFD;
border-radius: 10px;
padding: 25px 30px;
}
.rankBox {
background: #FFFFFF;
padding: 20px;
position: relative;
border-radius: 10px;
margin: 0 0 20px;
}
:deep(.el-upload--picture-card) {
width: 80px;
height: 80px;
border-radius: 50%;
}
:deep(.el-upload-list__item.is-success .el-upload-list__item-status-label) {
display: none;
}
:deep(.el-upload-list--picture-card .el-upload-list__item) {
width: 80px;
height: 80px;
border-radius: 50%;
}
.del {
position: absolute;
right: 15px;
top: 15px;
font-size: 20px;
z-index: 1;
}
.mx-1 {
margin: 5px
}
</style>
<template>
<el-dialog v-model="show" :title="title" width="1000px" append-to-body :close-on-click-modal="false">
<el-form label-width="120px" label-position="top" class="chooseForm" :model="form">
<el-row :gutter="20">
<el-col :span="24" />
<el-col :span="8">
<el-form-item>
<p class="title">可选项目</p>
<el-radio-group v-model="form.project" @change="chooseThisProject">
<div v-for="c in projectList" :key="c" class="athleteBox">
<el-radio :label="c">
<p class="name">{{ c.name }}
</p>
</el-radio>
</div>
</el-radio-group>
<el-empty v-if="projectList.length==0" :image="`/img/order_no.png`" :image-size="228" description="无可选项目" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<p class="title">可选组别</p>
<el-radio-group v-model="form.groupId" @change="chooseThisGroup">
<div v-for="c in signGroupList" :key="c" class="athleteBox">
<el-radio :label="c.id">
<p class="name">{{ c.name }}
</p>
</el-radio>
</div>
</el-radio-group>
<el-empty v-if="signGroupList.length==0" style="width: 100%;" description="无可选组别" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item>
<el-radio-group v-model="form.levelId" @change="chooseThisLevel">
<div v-if="signlevelListBoy.length>0">
<p class="title">男子组</p>
<div v-for="c in signlevelListBoy" :key="c" class="athleteBox">
<el-radio :label="c.id">{{ c.name }}</el-radio>
</div>
</div>
<div v-if="signlevelListGirl.length>0">
<p class="title">女子组</p>
<div v-for="c in signlevelListGirl" :key="c" class="athleteBox">
<el-radio :label="c.id">{{ c.name }}</el-radio>
</div>
</div>
</el-radio-group>
<div v-if="signLevelList.length>0">
<p class="title">可选级别</p>
<el-radio-group :key="c" v-model="form.levelId" @change="chooseThisLevel">
<div v-for="c in signLevelList" :key="c" class="athleteBox">
<el-radio :label="c.id">{{ c.name }}</el-radio>
</div>
</el-radio-group>
</div>
<div v-if="signLevelList.length==0&&signlevelListGirl.length==0&&signlevelListBoy.length==0" style="width: 100%">
<p class="title">可选级别</p>
<el-empty style="width: 100%;" description="无可选级别" />
</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<div class="dialog-footer text-center">
<el-button type="primary" @click="levelDone">保 存</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</template>
</el-dialog>
</template>
<script setup>
import { getCurrentInstance, nextTick, onMounted } from '@vue/runtime-core'
import { reactive, toRefs, watch } from 'vue'
import * as match from '@/apiPc/match'
import { ElMessage, ElMessageBox } from 'element-plus'
const { proxy } = getCurrentInstance()
const emit = defineEmits(['submitForm'])
const data = reactive({
projectList: [],
signGroupList: [],
signLevelList: [],
signlevelListBoy: [],
signlevelListGirl: [],
show: false,
title: '',
matchId: '',
form: {}
})
const { show, projectList, title, form, matchId, signGroupList, signLevelList, signlevelListBoy, signlevelListGirl } = toRefs(data)
let personId = ''
onMounted(() => {
getMyself()
})
const getMyself = () => {
match.getMyPersonInfo().then(res => {
personId = res.data.id
})
}
const getProjectList = (id) => {
projectList.value = []
match.getCanSignProjectList(id).then(res => {
for (const p of res.data) {
if (p.canSign == '1') {
projectList.value.push(p)
}
}
})
}
const chooseThisProject = (e) => {
console.log(e)
getSignGroupList(e.id, personId)
form.value.levelId = ''
form.value.groupId = ''
signLevelList.value = []
signlevelListBoy.value = []
signlevelListGirl.value = []
}
// 获取组别
const getSignGroupList = (projectId, personId) => {
signGroupList.value = []
match.getCanSignGroupListFromSelectPerson(projectId, personId).then(res => {
for (var g of res.data) {
if (g.canSign == '1') {
signGroupList.value.push(g)
}
}
})
}
const chooseThisGroup = (e) => {
console.log(e)
getLevels(form.value.groupId, personId)
}
// 获取级别
const getLevels = (groupId, personId) => {
signLevelList.value = []
signlevelListBoy.value = []
signlevelListGirl.value = []
match.getCanSignlevelListFromSelectPerson(groupId, personId).then(res => {
for (const l of res.data) {
l.text = l.name
l.value = l.id
if (l.levelType == '1') {
signlevelListBoy.value.push(l)
} else if (l.levelType == '2') {
signlevelListGirl.value.push(l)
} else {
signLevelList.value.push(l)
}
}
})
}
const levelDone = () => {
if (!form.value.levelId) {
ElMessage.error('请选择级别')
return
}
const obj = {
levelId: form.value.levelId,
athleteIds: personId,
groupId: '',
teamId: ''
}
saveOne(obj)
}
const saveOne = (obj) => {
match.sportsmanDone(obj).then(res => {
if (res.msg.indexOf('Exception:') > -1) {
const msg = res.msg.slice(10)
ElMessageBox.confirm(msg).then(() => {
})
return
}
show.value = false
emit('submitForm')
})
}
watch(show, (val) => {
if (!val) {
form.value = {}
}
})
function cancel() {
show.value = false
}
const open = (params) => {
show.value = true
title.value = params.title || '项目列表'
matchId.value = params.matchId
getProjectList(matchId.value)
}
defineExpose({
open
})
</script>
<style lang="scss" scoped>
.el-radio-group{ width: 100%;display: block;}
.athleteBox{height: 40px; display: flex;align-items: center;
.el-radio__label{display: flex;align-items: center;margin: 0 20px;}
.el-radio__inner{ scale: 1.5;}
.name{margin: 0 20px;font-size: 16px;}
}
.athleteBox:hover{background: #efefef;}
p.title{font-size: 16px;margin: 0 0 15px;}
.el-form-item{min-height: 400px;border: 1px solid #eee;padding:10px 20px}
</style>
<template>
<div>
<div class="box">
<el-card class="mb60 mt30">
<div class="text-center mt30">
<el-icon color="#32B16C" size="80"><SuccessFilled /></el-icon>
<p class="text-success mb20">{{ language==0?'支付成功':'successfully!' }}</p>
<el-button type="primary" class="btn-lineG mb60" @click="goBillDetail" round>{{ language==0?'返回订单详情':'Return order details' }}</el-button>
</div>
</el-card>
</div>
<div class="box">
<el-card class="mb60 mt30">
<div class="text-center mt30">
<el-icon color="#32B16C" size="80">
<SuccessFilled/>
</el-icon>
<p class="text-success mb20">{{ language == 0 ? '支付成功' : 'successfully!' }}</p>
<el-button type="primary" class="btn-lineG mb60" @click="goBillDetail" round>
{{ language == 0 ? '返回订单详情' : 'Return order details' }}
</el-button>
</div>
</el-card>
</div>
</div>
</template>
<script setup>
import {ref} from "vue";
import cache from "@/plugins/cache";
import {useRoute,useRouter} from "vue-router";
import {useRoute, useRouter} from "vue-router";
import {onMounted} from "@vue/runtime-core";
import {callbackPalPay} from "@/apiPc/match";
const route = useRoute()
const router = useRouter()
const language = ref(cache.local.get('language') || 0)
const orderId = ref(route.query.orderId)
onMounted(()=>{
callbackPalPay(route.query.orderId).then(res=>{
onMounted(() => {
callbackPalPay(route.query.orderId).then(res => {
})
})
function goBillDetail() {
router.push({
name:`signPay`,
name: `signPay`,
query: {
orderId: route.query.orderId
}
......
......@@ -131,13 +131,14 @@ const zuQuery = ref({
groupName:''
})
onMounted(()=>{
// console.log(route.query)
getSignList()
Promise.all([
getMatch(),
getSignList(),
getFee(groupId.value)
])
if(user.utype=='1'){
getMyMemberTable()
}
getMatch()
})
function getMatch() {
match.getMatchById({
......@@ -151,7 +152,6 @@ function getMyMemberTable() {
myMemberTable.value = res.rows
})
}
function getSignList() {
match.getMySignInfoList(zuQuery.value).then(res=>{
signInfoList.value = res.data.singleData
......
......@@ -15,7 +15,7 @@
<el-row>
<el-col :lg="8" :offset="2">
<el-form-item :label="language==0?'团体Logo':'Group Logo'" prop="imgUrl">
<ImageUpload2 v-model="form.imgUrl" :crop-width="200" :crop-height="200" :limit="1"/>
<ImageUpload2 v-model="form.imgUrl" :is-show-tip="false" :crop-width="200" :crop-height="200" :limit="1"/>
<span class="tip" v-if="language==0">请上传不超过 <i>5M</i> 的文件 格式为 <i>png/jpg/jpeg</i> 的文件</span>
<span class="tip" v-else>Please upload a file in the format of
<i>png/jpg/jpeg</i> that does not exceed <i>5MB</i>
......@@ -30,10 +30,10 @@
<el-input v-model="form.name" :placeholder="language==0?'请输入团体名称':''" />
</el-form-item>
<el-form-item :label="language==0?'负责人姓名':'Contact Person'" prop="contactPerson">
<el-input v-model="form.contactPerson" placeholder="请输入联系人" />
<el-input v-model="form.contactPerson" :placeholder="language==0?'请输入联系人':''" />
</el-form-item>
<el-form-item :label="language==0?'邮箱':'Email'" required prop="contactEmail">
<el-input v-model="form.contactEmail" type="email" placeholder="请输入内容"/>
<el-input v-model="form.contactEmail" type="email" :placeholder="language==0?'请输入内容':''"/>
</el-form-item>
<el-form-item :label="language==0?'团体类型':'Group type'" prop="type">
<el-select v-model="form.type" :placeholder="language==0?'请选择团体类型':''" style="width: 100%;">
......@@ -45,7 +45,7 @@
</el-select>
</el-form-item>
<el-form-item :label="language==0?'详细地址':'Detailed Address'" required prop="address">
<el-input type="textarea" v-model="form.address" class="mt10" placeholder="请输入详细地址"/>
<el-input type="textarea" v-model="form.address" class="mt10" :placeholder="language==0?'请输入详细地址':''"/>
</el-form-item>
......@@ -66,7 +66,7 @@
</el-select>
<ImageUpload v-if="s.type == '3'" v-model="s.value" :limit="1" :is-show-tip="false" />
<!-- 文件 2-->
<FileUpload v-if="s.type == '2'" v-model="s.fixWxFile" :action="uploadUrl" :accept="accept" />
<FileUpload v-if="s.type == '2'" :button-text="language==0?'上传文件':'Upload file'" :is-show-tip="false" v-model="s.fixWxFile" :action="uploadUrl" :accept="accept" />
</el-form-item>
</el-col>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!