no message
Showing
10 changed files
with
119 additions
and
470 deletions
| ... | @@ -59,7 +59,7 @@ | ... | @@ -59,7 +59,7 @@ |
| 59 | <el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/> | 59 | <el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/> |
| 60 | </el-form-item> | 60 | </el-form-item> |
| 61 | <el-form-item :label="language==0?'机构证件':'Institutional documents'" required prop="orgCert"> | 61 | <el-form-item :label="language==0?'机构证件':'Institutional documents'" required prop="orgCert"> |
| 62 | <file-upload v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/> | 62 | <file-upload :is-show-tip="false" v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/> |
| 63 | </el-form-item> | 63 | </el-form-item> |
| 64 | 64 | ||
| 65 | </div> | 65 | </div> |
| ... | @@ -71,7 +71,7 @@ | ... | @@ -71,7 +71,7 @@ |
| 71 | <el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/> | 71 | <el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/> |
| 72 | </el-form-item> | 72 | </el-form-item> |
| 73 | <el-form-item :label="language==0?'法定代表人身份文件':'Identity documents of the legal representative'" required prop="orgCert"> | 73 | <el-form-item :label="language==0?'法定代表人身份文件':'Identity documents of the legal representative'" required prop="orgCert"> |
| 74 | <file-upload v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/> | 74 | <file-upload :is-show-tip="false" v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/> |
| 75 | </el-form-item> | 75 | </el-form-item> |
| 76 | 76 | ||
| 77 | </div> | 77 | </div> | ... | ... |
src/viewsPc/center/myMatch2.vue
deleted
100644 → 0
| 1 | <template> | ||
| 2 | <el-card class="mb20"> | ||
| 3 | <div class="pad20"> | ||
| 4 | <!-- <el-form :model="query" :inline="true">--> | ||
| 5 | <!-- <el-form-item label="赛事名称">--> | ||
| 6 | <!-- <el-input v-model="query.name" style="width: 214px;" @change="getBillList"/>--> | ||
| 7 | <!-- </el-form-item>--> | ||
| 8 | <!-- <el-form-item label="赛事时间">--> | ||
| 9 | <!-- <el-date-picker--> | ||
| 10 | <!-- v-model="cptPeriodArr"--> | ||
| 11 | <!-- format="YYYY-MM-DD" type="daterange"--> | ||
| 12 | <!-- value-format="YYYY-MM-DD" range-separator="至"--> | ||
| 13 | <!-- start-placeholder="开始时间"--> | ||
| 14 | <!-- end-placeholder="结束时间"--> | ||
| 15 | <!-- @change="getBillList"--> | ||
| 16 | <!-- />--> | ||
| 17 | <!-- </el-form-item>--> | ||
| 18 | <!-- <el-form-item>--> | ||
| 19 | <!-- <el-button type="primary" @click="getBillList">查询</el-button>--> | ||
| 20 | <!-- <el-button type="info" @click="reset(query)">重置</el-button>--> | ||
| 21 | <!-- </el-form-item>--> | ||
| 22 | <!-- </el-form>--> | ||
| 23 | |||
| 24 | <div class="pd20"> | ||
| 25 | <div class="matchItem" v-for="n in billList" :key="n.id" @click="goDetail(n.id)"> | ||
| 26 | <div class="status-po"> | ||
| 27 | <span class="bg-pink" v-if="n.auditStatus=='0'">未提交</span> | ||
| 28 | <span class="bg-primary" v-if="n.auditStatus=='1'">待审核</span> | ||
| 29 | <span class="bg-blue" v-if="n.auditStatus=='2'">审核通过</span> | ||
| 30 | <span class="bg-danger" v-if="n.auditStatus=='3'">审核驳回</span> | ||
| 31 | </div> | ||
| 32 | <el-row :gutter="15"> | ||
| 33 | <el-col :lg="6" :md="8" :xl="10"> | ||
| 34 | <img class="mauto w100" :src="fillImgUrl(n.cptCoverPic)"> | ||
| 35 | </el-col> | ||
| 36 | <el-col :lg="18" :md="16" :xl="14"> | ||
| 37 | <el-row> | ||
| 38 | <el-col :span="24"> | ||
| 39 | <h3>{{ n.cptName }}</h3> | ||
| 40 | </el-col> | ||
| 41 | <el-col :lg="8"> | ||
| 42 | <p class="ppl"><label>赛事类型:</label>{{ n.cptLevel }}</p> | ||
| 43 | <p class="ppl"><label v-if="n.groupName">参赛队:</label>{{n.groupName}}</p> | ||
| 44 | </el-col> | ||
| 45 | <el-col :lg="8"> | ||
| 46 | <p class="ppl"><label>比赛时间:</label>{{ n.cptTimeRange }} | ||
| 47 | </p> | ||
| 48 | <p class="ppl"><label>参赛运动员:</label>{{ n.cptAthletesSize }} 人</p> | ||
| 49 | </el-col> | ||
| 50 | <el-col :lg="8"> | ||
| 51 | <p class="ppl"><label>报名时间:</label>{{ n.cptSignTimeRange}}</p> | ||
| 52 | <div class="btnbox"> | ||
| 53 | <el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus!='0'">详情</el-button> | ||
| 54 | <el-button plain round type="primary" @click="continueSign(n)" v-if="n.auditStatus=='0'">继续报名</el-button> | ||
| 55 | <el-button plain round type="primary" @click="withDraw(n)" v-if="n.auditStatus=='1'">取消报名</el-button> | ||
| 56 | <el-button plain round type="primary" v-if="n.auditStatus=='3'">重新报名</el-button> | ||
| 57 | <el-button plain round type="primary" v-if="n.auditStatus=='2'&&n.payStatus=='0'">缴费</el-button> | ||
| 58 | </div> | ||
| 59 | </el-col> | ||
| 60 | </el-row> | ||
| 61 | </el-col> | ||
| 62 | </el-row> | ||
| 63 | </div> | ||
| 64 | |||
| 65 | <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="billList?.length == 0"/> | ||
| 66 | |||
| 67 | </div> | ||
| 68 | <paginationPc | ||
| 69 | v-show="total > 0" | ||
| 70 | v-model:page="query.pageNum" | ||
| 71 | v-model:limit="query.pageSize" | ||
| 72 | :total="total" | ||
| 73 | @pagination="getBillList" | ||
| 74 | /> | ||
| 75 | </div> | ||
| 76 | |||
| 77 | <!-- 报项详情--> | ||
| 78 | <dialogModifySign :props="dialogModifySignProps"/> | ||
| 79 | <!-- 订单详情--> | ||
| 80 | <dialogModifyBill :props="dialogModifyBillProps"/> | ||
| 81 | |||
| 82 | </el-card> | ||
| 83 | |||
| 84 | </template> | ||
| 85 | |||
| 86 | <script setup> | ||
| 87 | import {ref} from 'vue' | ||
| 88 | import {useRouter} from 'vue-router' | ||
| 89 | import {getCurrentInstance, onMounted} from '@vue/runtime-core' | ||
| 90 | import dialogModifySign from './component/modifySign' | ||
| 91 | import dialogModifyBill from './component/modifyBill' | ||
| 92 | import * as match from '@/apiPc/match' | ||
| 93 | import {ElMessage, ElMessageBox} from 'element-plus' | ||
| 94 | import _ from 'lodash' | ||
| 95 | import useUserStore from "@/store/modules/user"; | ||
| 96 | |||
| 97 | const router = useRouter() | ||
| 98 | const {proxy} = getCurrentInstance() | ||
| 99 | const total = ref(0) | ||
| 100 | const total2 = ref(0) | ||
| 101 | const dialogPropsBase = { | ||
| 102 | open: false, | ||
| 103 | isView: false, | ||
| 104 | title: '', | ||
| 105 | data: null | ||
| 106 | } | ||
| 107 | const dialogModifySignProps = ref({ | ||
| 108 | ...dialogPropsBase | ||
| 109 | }) | ||
| 110 | const dialogModifyBillProps = ref({ | ||
| 111 | ...dialogPropsBase | ||
| 112 | }) | ||
| 113 | const activeName = ref('first') | ||
| 114 | const myform = ref({}) | ||
| 115 | |||
| 116 | const groupList = ref([]) | ||
| 117 | const cptPeriodArr = ref([]) | ||
| 118 | const payTimeArr = ref([]) | ||
| 119 | const commitTimeArr = ref([]) | ||
| 120 | const countryList = ref([]) | ||
| 121 | const tableData = ref([{name: '111'}]) | ||
| 122 | const billList = ref([]) | ||
| 123 | const query = ref({ | ||
| 124 | pageNum: 1, | ||
| 125 | pageSize: 10 | ||
| 126 | }) | ||
| 127 | const query2 = ref({ | ||
| 128 | pageNum: 1, | ||
| 129 | pageSize: 10 | ||
| 130 | }) | ||
| 131 | const payType = ref('') | ||
| 132 | const payPop = ref(false) | ||
| 133 | const showOrganizerInfo = ref(false) | ||
| 134 | const showResult = ref(false) | ||
| 135 | const myBalance = ref('') | ||
| 136 | const nowBill = ref({}) | ||
| 137 | const org = ref({}) | ||
| 138 | const user = useUserStore().user | ||
| 139 | const group = useUserStore().group | ||
| 140 | onMounted(() => { | ||
| 141 | getBillList() | ||
| 142 | }) | ||
| 143 | const reset = (form) => { | ||
| 144 | query.value = { | ||
| 145 | pageNum: 1, | ||
| 146 | pageSize: 10 | ||
| 147 | } | ||
| 148 | query2.value = { | ||
| 149 | pageNum: 1, | ||
| 150 | pageSize: 10 | ||
| 151 | } | ||
| 152 | cptPeriodArr.value = [] | ||
| 153 | payTimeArr.value = [] | ||
| 154 | commitTimeArr.value = [] | ||
| 155 | getBillList() | ||
| 156 | } | ||
| 157 | function withDraw(n){ | ||
| 158 | match.withDrawByOrderId(n.id).then(res=>{ | ||
| 159 | getBillList() | ||
| 160 | }) | ||
| 161 | } | ||
| 162 | function continueSign(n){ | ||
| 163 | if (user.uType == '1') { | ||
| 164 | // 个人报名 | ||
| 165 | router.push({ | ||
| 166 | name: 'chooseProject', | ||
| 167 | query: { | ||
| 168 | matchId: n.cptId | ||
| 169 | } | ||
| 170 | }) | ||
| 171 | } | ||
| 172 | if (user.uType == '2'){ | ||
| 173 | // 团队报名 | ||
| 174 | router.push({ | ||
| 175 | name: 'chooseSportsman', | ||
| 176 | query: { | ||
| 177 | matchId: n.cptId, | ||
| 178 | groupId: group.id | ||
| 179 | } | ||
| 180 | }) | ||
| 181 | } | ||
| 182 | |||
| 183 | } | ||
| 184 | function goDetail(n){ | ||
| 185 | |||
| 186 | } | ||
| 187 | function getBillList() { | ||
| 188 | query2.value.payTimeRange = payTimeArr.value.toString() | ||
| 189 | query2.value.createTimeRange = commitTimeArr.value.toString() | ||
| 190 | console.log(query2.value) | ||
| 191 | match.getMyOrderList(query2.value).then(res => { | ||
| 192 | billList.value = res.rows | ||
| 193 | total2.value = res.total | ||
| 194 | }) | ||
| 195 | } | ||
| 196 | |||
| 197 | function signRow(row) { | ||
| 198 | _.assign(dialogModifySignProps.value, dialogPropsBase, { | ||
| 199 | open: true, | ||
| 200 | isView: true, | ||
| 201 | title: '报项详情', | ||
| 202 | data: {...row} | ||
| 203 | }) | ||
| 204 | } | ||
| 205 | |||
| 206 | // function getMemberInfoByCptId(cptId) { | ||
| 207 | // match.getMemberInfoByCptId(cptId).then((res) => { | ||
| 208 | // myBalance.value = res.data.balance | ||
| 209 | // }) | ||
| 210 | // } | ||
| 211 | |||
| 212 | function goPay(bill) { | ||
| 213 | console.log(bill) | ||
| 214 | payPop.value = true | ||
| 215 | nowBill.value = bill | ||
| 216 | // getMemberInfoByCptId(bill.cptId) | ||
| 217 | } | ||
| 218 | |||
| 219 | function payBill() { | ||
| 220 | if (!payType.value) { | ||
| 221 | ElMessage.error('请选择支付方式') | ||
| 222 | return | ||
| 223 | } | ||
| 224 | match.payMatch({orderId: nowBill.value.id, payType: payType.value}).then(res => { | ||
| 225 | if (payType.value == 2) { | ||
| 226 | org.value = res.data.org | ||
| 227 | showOrganizerInfo.value = true | ||
| 228 | } else if (payType.value == 1) { | ||
| 229 | // 微信 | ||
| 230 | proxy.$refs['wePayRef'].open(res.data) | ||
| 231 | } else { | ||
| 232 | showResult.value = true | ||
| 233 | } | ||
| 234 | }) | ||
| 235 | } | ||
| 236 | |||
| 237 | function billDetail(bill) { | ||
| 238 | _.assign(dialogModifyBillProps.value, dialogPropsBase, { | ||
| 239 | open: true, | ||
| 240 | isView: true, | ||
| 241 | title: '订单详情', | ||
| 242 | data: {...bill} | ||
| 243 | }) | ||
| 244 | } | ||
| 245 | |||
| 246 | function cancelBill(bill) { | ||
| 247 | ElMessageBox.confirm('确定取消订单吗?', '提示', { | ||
| 248 | confirmButtonText: '确定', | ||
| 249 | cancelButtonText: '取消', | ||
| 250 | type: 'warning' | ||
| 251 | }).then(() => { | ||
| 252 | match.cancelMyUnPayedOrder(bill.id).then(Response => { | ||
| 253 | console.log(Response.data) | ||
| 254 | // 刷新数据 | ||
| 255 | getBillList() | ||
| 256 | }) | ||
| 257 | }) | ||
| 258 | } | ||
| 259 | |||
| 260 | function downloadVoucher(row) { | ||
| 261 | proxy.download( | ||
| 262 | `/ztx-match/pdf/getPayedOrderPdf/${row.id}/${row.groupId || 0}`, {}, '报项凭证.pdf' | ||
| 263 | ) | ||
| 264 | } | ||
| 265 | </script> | ||
| 266 | |||
| 267 | <style scoped lang="scss"> | ||
| 268 | .matchItem { | ||
| 269 | cursor: pointer; | ||
| 270 | margin: 0 0 20px; | ||
| 271 | padding: 0 0 20px;background: #FBFCFD; | ||
| 272 | border-radius: 2px; | ||
| 273 | position: relative; | ||
| 274 | .status-po{position: absolute;right: 0;top: 0;font-size: 12px; | ||
| 275 | color: #FFFFFF; | ||
| 276 | span{border-radius: 0px 10px 0px 10px;padding: 4px 10px;} | ||
| 277 | .bg-danger{background: #E60012;} | ||
| 278 | .bg-pink{background: #F740A6;} | ||
| 279 | .bg-primary{background: var(--el-color-primary)} | ||
| 280 | } | ||
| 281 | &:last-child { | ||
| 282 | border-bottom: none; | ||
| 283 | } | ||
| 284 | |||
| 285 | .el-avatar { | ||
| 286 | position: absolute; | ||
| 287 | left: 20px; | ||
| 288 | top: 30px; | ||
| 289 | |||
| 290 | img { | ||
| 291 | background: #fff; | ||
| 292 | } | ||
| 293 | } | ||
| 294 | |||
| 295 | .info { | ||
| 296 | p { | ||
| 297 | font-size: 14px; | ||
| 298 | } | ||
| 299 | } | ||
| 300 | |||
| 301 | .typeTag { | ||
| 302 | position: absolute; | ||
| 303 | right: 0; | ||
| 304 | top: 0; | ||
| 305 | } | ||
| 306 | |||
| 307 | h3 { | ||
| 308 | font-weight: 500; | ||
| 309 | margin: 0 0 10px; | ||
| 310 | font-size: 18px; | ||
| 311 | color: #000000; | ||
| 312 | text-overflow: ellipsis; | ||
| 313 | } | ||
| 314 | |||
| 315 | &:hover h3 { | ||
| 316 | color: var(--el-color-primary); | ||
| 317 | } | ||
| 318 | } | ||
| 319 | |||
| 320 | .centerPrice { | ||
| 321 | text-align: center; | ||
| 322 | font-size: 26px; | ||
| 323 | margin: 20px; | ||
| 324 | |||
| 325 | span { | ||
| 326 | font-size: 40px; | ||
| 327 | font-weight: bold; | ||
| 328 | } | ||
| 329 | } | ||
| 330 | |||
| 331 | |||
| 332 | :deep(.el-tabs__nav-wrap) { | ||
| 333 | padding: 0 15px; | ||
| 334 | } | ||
| 335 | |||
| 336 | :deep(.el-radio.el-radio--large .el-radio__label) { | ||
| 337 | display: flex; | ||
| 338 | align-items: center; | ||
| 339 | |||
| 340 | img { | ||
| 341 | margin-right: 6px; | ||
| 342 | } | ||
| 343 | } | ||
| 344 | |||
| 345 | .panel-footer .el-button--success { | ||
| 346 | background: #254385; | ||
| 347 | border: none; | ||
| 348 | padding: 0 40px; | ||
| 349 | font-size: 16px; | ||
| 350 | } | ||
| 351 | |||
| 352 | .orange { | ||
| 353 | font-size: 16px; | ||
| 354 | font-style: normal; | ||
| 355 | font-weight: bold | ||
| 356 | } | ||
| 357 | |||
| 358 | .orgbox { | ||
| 359 | font-size: 16px; | ||
| 360 | line-height: 30px; | ||
| 361 | } | ||
| 362 | |||
| 363 | .el-form--inline .el-form-item { | ||
| 364 | width: auto; | ||
| 365 | } | ||
| 366 | .ppl{font-size: 14px; | ||
| 367 | label{color: #929AA0;} | ||
| 368 | } | ||
| 369 | .btnbox{text-align: right;} | ||
| 370 | </style> |
| ... | @@ -5,14 +5,14 @@ | ... | @@ -5,14 +5,14 @@ |
| 5 | <el-button type="primary" plain @click="importSportman">{{ language==0?'导入选手':'Import Player' }}</el-button> | 5 | <el-button type="primary" plain @click="importSportman">{{ language==0?'导入选手':'Import Player' }}</el-button> |
| 6 | </div> | 6 | </div> |
| 7 | <div class="from-Card"> | 7 | <div class="from-Card"> |
| 8 | <el-form :inline="true" :model="query" class="mt20" label-width="60" size="small"> | 8 | <el-form :inline="true" :model="query" class="mt20" :label-width="language==0?60:80" size="small"> |
| 9 | <el-form-item :label="language==0?'姓名':'Name'"> | 9 | <el-form-item :label="language==0?'姓名':'Name'"> |
| 10 | <el-input v-model="query.realName" style="width: 120px;" clearable/> | 10 | <el-input v-model="query.realName" style="width: 120px;" clearable/> |
| 11 | </el-form-item> | 11 | </el-form-item> |
| 12 | <el-form-item :label="language==0?'短名':'Nick Name'"> | 12 | <el-form-item :label="language==0?'短名':'Nick Name'"> |
| 13 | <el-input v-model="query.shortName" style="width: 120px;" clearable/> | 13 | <el-input v-model="query.shortName" style="width: 120px;" clearable/> |
| 14 | </el-form-item> | 14 | </el-form-item> |
| 15 | <el-form-item :label="language==0?'手机号码':'Phone Number'"> | 15 | <el-form-item :label="language==0?'手机号码':'Phone'"> |
| 16 | <el-input v-model="query.phone" style="width: 120px;" clearable/> | 16 | <el-input v-model="query.phone" style="width: 120px;" clearable/> |
| 17 | </el-form-item> | 17 | </el-form-item> |
| 18 | <el-form-item :label="language==0?'邮箱':'E-mail'"> | 18 | <el-form-item :label="language==0?'邮箱':'E-mail'"> | ... | ... |
| ... | @@ -68,13 +68,13 @@ const validPwd = (rule, value, callback) => { | ... | @@ -68,13 +68,13 @@ const validPwd = (rule, value, callback) => { |
| 68 | } | 68 | } |
| 69 | 69 | ||
| 70 | const rules = ref({ | 70 | const rules = ref({ |
| 71 | oldPassword: [{required: true, message: '旧密码不能为空', trigger: 'blur'}], | 71 | oldPassword: [{required: true, message: language.value==0?'旧密码不能为空':'required', trigger: 'blur'}], |
| 72 | newPassword: [ | 72 | newPassword: [ |
| 73 | {required: true, message: '新密码不能为空', trigger: 'blur'}, | 73 | {required: true, message: language.value==0?'新密码不能为空':'required', trigger: 'blur'}, |
| 74 | {validator: validPwd, trigger: 'blur'} | 74 | {validator: validPwd, trigger: 'blur'} |
| 75 | ], | 75 | ], |
| 76 | confirmPassword: [ | 76 | confirmPassword: [ |
| 77 | {required: true, message: '确认密码不能为空', trigger: 'blur'}, | 77 | {required: true, message: language.value==0?'确认密码不能为空':'required', trigger: 'blur'}, |
| 78 | {required: true, validator: equalToPassword, trigger: 'blur'} | 78 | {required: true, validator: equalToPassword, trigger: 'blur'} |
| 79 | ] | 79 | ] |
| 80 | }) | 80 | }) |
| ... | @@ -84,7 +84,7 @@ function submit() { | ... | @@ -84,7 +84,7 @@ function submit() { |
| 84 | proxy.$refs['pwdRef'].validate(valid => { | 84 | proxy.$refs['pwdRef'].validate(valid => { |
| 85 | if (valid) { | 85 | if (valid) { |
| 86 | updateUserPwd(user.oldPassword, user.newPassword).then(response => { | 86 | updateUserPwd(user.oldPassword, user.newPassword).then(response => { |
| 87 | proxy.$modal.msgSuccess('修改成功') | 87 | proxy.$modal.msgSuccess(language.value==0?'修改成功':'password is changed!') |
| 88 | 88 | ||
| 89 | userStore.logOut().then(() => { | 89 | userStore.logOut().then(() => { |
| 90 | setTimeout(() => { | 90 | setTimeout(() => { |
| ... | @@ -94,7 +94,7 @@ function submit() { | ... | @@ -94,7 +94,7 @@ function submit() { |
| 94 | }) | 94 | }) |
| 95 | } | 95 | } |
| 96 | }) | 96 | }) |
| 97 | }; | 97 | } |
| 98 | 98 | ||
| 99 | </script> | 99 | </script> |
| 100 | 100 | ... | ... |
| ... | @@ -213,16 +213,16 @@ const { | ... | @@ -213,16 +213,16 @@ const { |
| 213 | } = toRefs(data) | 213 | } = toRefs(data) |
| 214 | let matchId = '' | 214 | let matchId = '' |
| 215 | const user = useUserStore().user | 215 | const user = useUserStore().user |
| 216 | const uType = ref('') | 216 | const group = useUserStore().group || {} |
| 217 | onMounted(() => { | 217 | onMounted(() => { |
| 218 | matchId = route.query.matchId | 218 | matchId = route.query.matchId |
| 219 | groupId.value = route.query.groupId || 0 | 219 | groupId.value = group.id |
| 220 | signType.value = route.query.signType || '' | 220 | signType.value = route.query.signType || '' |
| 221 | |||
| 222 | getList() | 221 | getList() |
| 223 | }) | 222 | }) |
| 224 | 223 | ||
| 225 | function getList() { | 224 | function getList() { |
| 225 | console.log(user.utype) | ||
| 226 | if (user.utype == '1') { | 226 | if (user.utype == '1') { |
| 227 | geren() | 227 | geren() |
| 228 | } | 228 | } | ... | ... |
| ... | @@ -45,7 +45,7 @@ | ... | @@ -45,7 +45,7 @@ |
| 45 | </el-col> | 45 | </el-col> |
| 46 | <el-col :lg="12"> | 46 | <el-col :lg="12"> |
| 47 | <el-form-item :label="language==0?'所属国家':'Nationality'" prop="countryId" required> | 47 | <el-form-item :label="language==0?'所属国家':'Nationality'" prop="countryId" required> |
| 48 | <el-select v-model="form.countryId" style="width: 100%;" @change="changeCountryId"> | 48 | <el-select filterable v-model="form.countryId" style="width: 100%;" @change="changeCountryId"> |
| 49 | <el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName" :value="item.id"/> | 49 | <el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName" :value="item.id"/> |
| 50 | </el-select> | 50 | </el-select> |
| 51 | </el-form-item> | 51 | </el-form-item> | ... | ... |
| ... | @@ -11,7 +11,7 @@ | ... | @@ -11,7 +11,7 @@ |
| 11 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="birth" width="110"/> | 11 | <el-table-column :label="language==0?'出生日期':'Birth'" prop="birth" width="110"/> |
| 12 | <el-table-column :label="language==0?'手机号码':'Phone Number'" prop="phone" width="120"/> | 12 | <el-table-column :label="language==0?'手机号码':'Phone Number'" prop="phone" width="120"/> |
| 13 | <el-table-column :label="language==0?'邮箱':'E-mail'" prop="email" width="150"/> | 13 | <el-table-column :label="language==0?'邮箱':'E-mail'" prop="email" width="150"/> |
| 14 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="idcTypeStr" :min-width="language==0?'60':'160'"/> | 14 | <el-table-column :label="language==0?'证件类型':'ID Type'" prop="idcTypeStr" :min-width="language==0?'80':'160'"/> |
| 15 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="idcCode" width="200"/> | 15 | <el-table-column :label="language==0?'证件号码':'ID NO.'" prop="idcCode" width="200"/> |
| 16 | <el-table-column :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin" width="200"/> | 16 | <el-table-column :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin" width="200"/> |
| 17 | <el-table-column :label="language==0?'会员角色':'Role'" width="150"> | 17 | <el-table-column :label="language==0?'会员角色':'Role'" width="150"> | ... | ... |
src/viewsPc/match/components/quick-row.vue
0 → 100644
| 1 | <template> | ||
| 2 | <el-row :gutter="14" v-if="language==0"> | ||
| 3 | <el-col :lg="4"> | ||
| 4 | <div class="funcBtn" @click="building"> | ||
| 5 | <img src="@/assets/dance/btn04.png"/> | ||
| 6 | <h4>票务预订</h4> | ||
| 7 | </div> | ||
| 8 | </el-col> | ||
| 9 | <el-col :lg="4"> | ||
| 10 | <div class="funcBtn" @click="building"> | ||
| 11 | <img src="@/assets/dance/btn01.png"/> | ||
| 12 | <h4>酒店预约</h4> | ||
| 13 | </div> | ||
| 14 | </el-col> | ||
| 15 | <el-col :lg="4"> | ||
| 16 | <div class="funcBtn" @click="building"> | ||
| 17 | <img src="@/assets/dance/btn02.png"/> | ||
| 18 | <h4>车辆预约</h4> | ||
| 19 | </div> | ||
| 20 | </el-col> | ||
| 21 | <el-col :lg="4"> | ||
| 22 | <div class="funcBtn" @click="building"> | ||
| 23 | <img src="@/assets/dance/btn03.png"/> | ||
| 24 | <h4>餐饮预订</h4> | ||
| 25 | </div> | ||
| 26 | </el-col> | ||
| 27 | <el-col :lg="4"> | ||
| 28 | <div class="funcBtn" @click="building"> | ||
| 29 | <img src="@/assets/dance/btn05.png"/> | ||
| 30 | <h4>化妆预约</h4> | ||
| 31 | </div> | ||
| 32 | </el-col> | ||
| 33 | <el-col :lg="4"> | ||
| 34 | <div class="funcBtn" @click="building"> | ||
| 35 | <img src="@/assets/dance/btn06.png"/> | ||
| 36 | <h4>拍照预约</h4> | ||
| 37 | </div> | ||
| 38 | </el-col> | ||
| 39 | </el-row> | ||
| 40 | <el-row :gutter="14" v-else> | ||
| 41 | <el-col :lg="4" :md="8" :xs="12"> | ||
| 42 | <div class="funcBtn" @click="building"> | ||
| 43 | <img src="@/assets/dance/btn04.png"/> | ||
| 44 | <h4>Ticket Booking</h4> | ||
| 45 | </div> | ||
| 46 | </el-col> | ||
| 47 | <el-col :lg="4" :md="8" :xs="12"> | ||
| 48 | <div class="funcBtn" @click="building"> | ||
| 49 | <img src="@/assets/dance/btn01.png"/> | ||
| 50 | <h4>Hotel Reservation</h4> | ||
| 51 | </div> | ||
| 52 | </el-col> | ||
| 53 | <el-col :lg="4" :md="8" :xs="12"> | ||
| 54 | <div class="funcBtn" @click="building"> | ||
| 55 | <img src="@/assets/dance/btn02.png"/> | ||
| 56 | <h4>Vehicle Reservation</h4> | ||
| 57 | </div> | ||
| 58 | </el-col> | ||
| 59 | <el-col :lg="4" :md="8" :xs="12"> | ||
| 60 | <div class="funcBtn" @click="building"> | ||
| 61 | <img src="@/assets/dance/btn03.png"/> | ||
| 62 | <h4>Dining Reservation</h4> | ||
| 63 | </div> | ||
| 64 | </el-col> | ||
| 65 | <el-col :lg="4" :md="8" :xs="12"> | ||
| 66 | <div class="funcBtn" @click="building"> | ||
| 67 | <img src="@/assets/dance/btn05.png"/> | ||
| 68 | <h4>Makeup Appointment</h4> | ||
| 69 | </div> | ||
| 70 | </el-col> | ||
| 71 | <el-col :lg="4" :md="8" :xs="12"> | ||
| 72 | <div class="funcBtn" @click="building"> | ||
| 73 | <img src="@/assets/dance/btn06.png"/> | ||
| 74 | <h4>Photography Appointment</h4> | ||
| 75 | </div> | ||
| 76 | </el-col> | ||
| 77 | </el-row> | ||
| 78 | </template> | ||
| 79 | |||
| 80 | <script setup> | ||
| 81 | import {ElMessage} from "element-plus"; | ||
| 82 | import cache from "@/plugins/cache"; | ||
| 83 | const language = ref(cache.local.get('language') || 0) | ||
| 84 | |||
| 85 | function building() { | ||
| 86 | ElMessage.warning('Building!') | ||
| 87 | } | ||
| 88 | </script> | ||
| 89 | |||
| 90 | <style scoped> | ||
| 91 | |||
| 92 | </style> |
| ... | @@ -38,44 +38,7 @@ | ... | @@ -38,44 +38,7 @@ |
| 38 | </el-row> | 38 | </el-row> |
| 39 | </el-card> | 39 | </el-card> |
| 40 | 40 | ||
| 41 | <el-row gutter="14"> | 41 | <quick-row/> |
| 42 | <el-col :lg="4"> | ||
| 43 | <div class="funcBtn" @click="building"> | ||
| 44 | <img src="@/assets/dance/btn04.png"/> | ||
| 45 | <h4>票务预订</h4> | ||
| 46 | </div> | ||
| 47 | </el-col> | ||
| 48 | <el-col :lg="4"> | ||
| 49 | <div class="funcBtn" @click="building"> | ||
| 50 | <img src="@/assets/dance/btn01.png"/> | ||
| 51 | <h4>酒店预约</h4> | ||
| 52 | </div> | ||
| 53 | </el-col> | ||
| 54 | <el-col :lg="4"> | ||
| 55 | <div class="funcBtn" @click="building"> | ||
| 56 | <img src="@/assets/dance/btn02.png"/> | ||
| 57 | <h4>车辆预约</h4> | ||
| 58 | </div> | ||
| 59 | </el-col> | ||
| 60 | <el-col :lg="4"> | ||
| 61 | <div class="funcBtn" @click="building"> | ||
| 62 | <img src="@/assets/dance/btn03.png"/> | ||
| 63 | <h4>餐饮预订</h4> | ||
| 64 | </div> | ||
| 65 | </el-col> | ||
| 66 | <el-col :lg="4"> | ||
| 67 | <div class="funcBtn" @click="building"> | ||
| 68 | <img src="@/assets/dance/btn05.png"/> | ||
| 69 | <h4>化妆预约</h4> | ||
| 70 | </div> | ||
| 71 | </el-col> | ||
| 72 | <el-col :lg="4"> | ||
| 73 | <div class="funcBtn" @click="building"> | ||
| 74 | <img src="@/assets/dance/btn06.png"/> | ||
| 75 | <h4>拍照预约</h4> | ||
| 76 | </div> | ||
| 77 | </el-col> | ||
| 78 | </el-row> | ||
| 79 | 42 | ||
| 80 | <el-row :gutter="20" v-if="matchData.type=='0'"> | 43 | <el-row :gutter="20" v-if="matchData.type=='0'"> |
| 81 | <el-col :lg="18"> | 44 | <el-col :lg="18"> |
| ... | @@ -203,6 +166,7 @@ import * as match from '@/apiPc/match' | ... | @@ -203,6 +166,7 @@ import * as match from '@/apiPc/match' |
| 203 | import { toRefs } from '@vueuse/shared' | 166 | import { toRefs } from '@vueuse/shared' |
| 204 | import {dayjs, ElMessage} from 'element-plus' | 167 | import {dayjs, ElMessage} from 'element-plus' |
| 205 | import useUserStore from "@/store/modules/user"; | 168 | import useUserStore from "@/store/modules/user"; |
| 169 | import QuickRow from "@/viewsPc/match/components/quick-row"; | ||
| 206 | const data = reactive({ | 170 | const data = reactive({ |
| 207 | matchData: {}, | 171 | matchData: {}, |
| 208 | matchId: 0, | 172 | matchId: 0, | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="app-container"> | 2 | <div class="app-container" v-loading="loading"> |
| 3 | <div class="mt30" /> | 3 | <div class="mt30" /> |
| 4 | <div class="box mb20 "> | 4 | <div class="box mb20 "> |
| 5 | <el-card class="mb20"> | 5 | <el-card class="mb20"> |
| ... | @@ -32,51 +32,14 @@ | ... | @@ -32,51 +32,14 @@ |
| 32 | </van-count-down> | 32 | </van-count-down> |
| 33 | 33 | ||
| 34 | <div class="flexCenter"> | 34 | <div class="flexCenter"> |
| 35 | <el-button type="primary" round size="large" class="btn-lineG mb20 mt30 w100" | 35 | <el-button ref="RegisterRef" type="primary" round size="large" class="btn-lineG mb20 mt30 w100" |
| 36 | @click="choseSignType" style="font-size: 16px">Register</el-button> | 36 | @click="choseSignType" style="font-size: 16px">Register</el-button> |
| 37 | </div> | 37 | </div> |
| 38 | </el-col> | 38 | </el-col> |
| 39 | </el-row> | 39 | </el-row> |
| 40 | </el-card> | 40 | </el-card> |
| 41 | 41 | ||
| 42 | <el-row gutter="14"> | 42 | <quick-row/> |
| 43 | <el-col :lg="4" :md="8" :xs="12"> | ||
| 44 | <div class="funcBtn" @click="building"> | ||
| 45 | <img src="@/assets/dance/btn04.png"/> | ||
| 46 | <h4>Ticket Booking</h4> | ||
| 47 | </div> | ||
| 48 | </el-col> | ||
| 49 | <el-col :lg="4" :md="8" :xs="12"> | ||
| 50 | <div class="funcBtn" @click="building"> | ||
| 51 | <img src="@/assets/dance/btn01.png"/> | ||
| 52 | <h4>Hotel Reservation</h4> | ||
| 53 | </div> | ||
| 54 | </el-col> | ||
| 55 | <el-col :lg="4" :md="8" :xs="12"> | ||
| 56 | <div class="funcBtn" @click="building"> | ||
| 57 | <img src="@/assets/dance/btn02.png"/> | ||
| 58 | <h4>Vehicle Reservation</h4> | ||
| 59 | </div> | ||
| 60 | </el-col> | ||
| 61 | <el-col :lg="4" :md="8" :xs="12"> | ||
| 62 | <div class="funcBtn" @click="building"> | ||
| 63 | <img src="@/assets/dance/btn03.png"/> | ||
| 64 | <h4>Dining Reservation</h4> | ||
| 65 | </div> | ||
| 66 | </el-col> | ||
| 67 | <el-col :lg="4" :md="8" :xs="12"> | ||
| 68 | <div class="funcBtn" @click="building"> | ||
| 69 | <img src="@/assets/dance/btn05.png"/> | ||
| 70 | <h4>Makeup Appointment</h4> | ||
| 71 | </div> | ||
| 72 | </el-col> | ||
| 73 | <el-col :lg="4" :md="8" :xs="12"> | ||
| 74 | <div class="funcBtn" @click="building"> | ||
| 75 | <img src="@/assets/dance/btn06.png"/> | ||
| 76 | <h4>Photography Appointment</h4> | ||
| 77 | </div> | ||
| 78 | </el-col> | ||
| 79 | </el-row> | ||
| 80 | 43 | ||
| 81 | <el-row :gutter="20" v-if="matchData.type=='0'"> | 44 | <el-row :gutter="20" v-if="matchData.type=='0'"> |
| 82 | <el-col :lg="18"> | 45 | <el-col :lg="18"> |
| ... | @@ -198,7 +161,6 @@ import SubstationList from "@/viewsPc/match/components/substation-list"; | ... | @@ -198,7 +161,6 @@ import SubstationList from "@/viewsPc/match/components/substation-list"; |
| 198 | import { getCurrentInstance, ref } from 'vue' | 161 | import { getCurrentInstance, ref } from 'vue' |
| 199 | import { reactive, onMounted } from '@vue/runtime-core' | 162 | import { reactive, onMounted } from '@vue/runtime-core' |
| 200 | import { useRoute, useRouter } from 'vue-router' | 163 | import { useRoute, useRouter } from 'vue-router' |
| 201 | |||
| 202 | const route = useRoute() | 164 | const route = useRoute() |
| 203 | const router = useRouter() | 165 | const router = useRouter() |
| 204 | const { proxy } = getCurrentInstance() | 166 | const { proxy } = getCurrentInstance() |
| ... | @@ -206,9 +168,11 @@ import * as match from '@/apiPc/match' | ... | @@ -206,9 +168,11 @@ import * as match from '@/apiPc/match' |
| 206 | import { toRefs } from '@vueuse/shared' | 168 | import { toRefs } from '@vueuse/shared' |
| 207 | import {dayjs, ElMessage} from 'element-plus' | 169 | import {dayjs, ElMessage} from 'element-plus' |
| 208 | import useUserStore from "@/store/modules/user"; | 170 | import useUserStore from "@/store/modules/user"; |
| 171 | import QuickRow from "@/viewsPc/match/components/quick-row"; | ||
| 209 | const user = useUserStore().user || {} | 172 | const user = useUserStore().user || {} |
| 210 | const group = useUserStore().group || {} | 173 | const group = useUserStore().group || {} |
| 211 | const data = reactive({ | 174 | const data = reactive({ |
| 175 | loading:false, | ||
| 212 | matchData: {}, | 176 | matchData: {}, |
| 213 | matchId: 0, | 177 | matchId: 0, |
| 214 | groupId: '', | 178 | groupId: '', |
| ... | @@ -220,7 +184,7 @@ const data = reactive({ | ... | @@ -220,7 +184,7 @@ const data = reactive({ |
| 220 | signDoneGroupList: [], | 184 | signDoneGroupList: [], |
| 221 | time:'' | 185 | time:'' |
| 222 | }) | 186 | }) |
| 223 | const {matchData,matchId,groupId,activeName2,popupGroupList,menu,menu1,signDoneGroupList,time} = toRefs(data) | 187 | const {loading,matchData,matchId,groupId,activeName2,popupGroupList,menu,menu1,signDoneGroupList,time} = toRefs(data) |
| 224 | onMounted(() => { | 188 | onMounted(() => { |
| 225 | if(group){ | 189 | if(group){ |
| 226 | groupId.value = group.id | 190 | groupId.value = group.id |
| ... | @@ -237,13 +201,12 @@ onMounted(() => { | ... | @@ -237,13 +201,12 @@ onMounted(() => { |
| 237 | getGroupListByCptId(matchId.value) | 201 | getGroupListByCptId(matchId.value) |
| 238 | }) | 202 | }) |
| 239 | }) | 203 | }) |
| 240 | function building() { | 204 | |
| 241 | ElMessage.warning('Building!') | 205 | function getMatch() { |
| 242 | } | 206 | loading.value = true |
| 243 | function getMatch(id) { | 207 | match.getMatchById({ id: matchId.value }).then(res => { |
| 244 | if(id!=0) | ||
| 245 | match.getMatchById({ id: id }).then(res => { | ||
| 246 | matchData.value = res.data | 208 | matchData.value = res.data |
| 209 | loading.value = false | ||
| 247 | var today = dayjs().format('YYYY-MM-DD HH:mm:ss') | 210 | var today = dayjs().format('YYYY-MM-DD HH:mm:ss') |
| 248 | time.value = dayjs(res.data.signEndTime).diff(today, 'millisecond') | 211 | time.value = dayjs(res.data.signEndTime).diff(today, 'millisecond') |
| 249 | }) | 212 | }) | ... | ... |
-
Please register or sign in to post a comment