|
@@ -44,10 +44,18 @@
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column prop="final_order_no" align="center" label="排序"> </el-table-column>
|
|
<el-table-column prop="final_order_no" align="center" label="排序"> </el-table-column>
|
|
- <el-table-column prop="last_order_no" align="center" label="最后名称"> </el-table-column>
|
|
|
|
|
|
+ <el-table-column prop="last_order_no" align="center" label="最后名次"> </el-table-column>
|
|
|
|
+ <el-table-column prop="status" align="center" label="状态" width="100">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-tag v-if="scope.row.status == '0'" type="primary">待审核</el-tag>
|
|
|
|
+ <el-tag v-else-if="scope.row.status == '1'" type="success">已通过</el-tag>
|
|
|
|
+ <el-tag v-else type="info">已退回</el-tag>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
<el-table-column align="center" label="操作" width="160">
|
|
<el-table-column align="center" label="操作" width="160">
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
<el-link :underline="false" type="primary" size="mini" @click="toView(row, true)" style="margin-right: 10px">查看</el-link>
|
|
<el-link :underline="false" type="primary" size="mini" @click="toView(row, true)" style="margin-right: 10px">查看</el-link>
|
|
|
|
+ <el-link :underline="false" v-if="info.ext_status == '5' && row.status == '2'" type="primary" size="mini" @click="toStatus(row)" style="margin-right: 10px">修改报名状态</el-link>
|
|
<el-link :underline="false" v-if="info.ext_status == '5' && row.final_confirm == '0'" type="primary" size="mini" @click="toLink(row)" style="margin-right: 10px">排序</el-link>
|
|
<el-link :underline="false" v-if="info.ext_status == '5' && row.final_confirm == '0'" type="primary" size="mini" @click="toLink(row)" style="margin-right: 10px">排序</el-link>
|
|
<el-link :underline="false" v-if="info.ext_status == '7'" type="primary" size="mini" @click="toScore(row)" style="margin-right: 10px">上传决赛分数</el-link>
|
|
<el-link :underline="false" v-if="info.ext_status == '7'" type="primary" size="mini" @click="toScore(row)" style="margin-right: 10px">上传决赛分数</el-link>
|
|
<el-link :underline="false" v-if="info.ext_status == '7'" type="primary" size="mini" @click="toTotalScore(row)" style="margin-right: 10px">总分</el-link>
|
|
<el-link :underline="false" v-if="info.ext_status == '7'" type="primary" size="mini" @click="toTotalScore(row)" style="margin-right: 10px">总分</el-link>
|
|
@@ -56,13 +64,11 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :span="24" class="thr">
|
|
|
|
- <el-pagination background layout="prev, pager, next" :total="total" :page-size="limit" v-model:current-page="currentPage" @current-change="changePage" @size-change="sizeChange" />
|
|
|
|
- </el-col>
|
|
|
|
<el-col :span="24" class="button">
|
|
<el-col :span="24" class="button">
|
|
<el-button type="primary" @click="toStep6" v-if="info.ext_status == '5'">进入决赛名单公示阶段</el-button>
|
|
<el-button type="primary" @click="toStep6" v-if="info.ext_status == '5'">进入决赛名单公示阶段</el-button>
|
|
<el-button type="primary" @click="toStep7" v-if="info.ext_status == '6'">进入决赛赛事进行阶段</el-button>
|
|
<el-button type="primary" @click="toStep7" v-if="info.ext_status == '6'">进入决赛赛事进行阶段</el-button>
|
|
<el-button type="primary" @click="toStep8" v-if="info.ext_status == '7'">决赛赛事结束</el-button>
|
|
<el-button type="primary" @click="toStep8" v-if="info.ext_status == '7'">决赛赛事结束</el-button>
|
|
|
|
+ <el-button type="primary" @click="toStep9" v-if="info.ext_status == '8'">查看大屏显示</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
<el-dialog v-model="dialog.show" :title="dialog.title" :destroy-on-close="false" @close="toClose">
|
|
<el-dialog v-model="dialog.show" :title="dialog.title" :destroy-on-close="false" @close="toClose">
|
|
<div v-if="dialog.type == '1'">
|
|
<div v-if="dialog.type == '1'">
|
|
@@ -137,8 +143,8 @@
|
|
</div>
|
|
</div>
|
|
<div v-else-if="dialog.type == '4'">
|
|
<div v-else-if="dialog.type == '4'">
|
|
<el-form ref="orderFormRef" :model="orderForm" :rules="orderRules" label-width="auto" class="form" label-position="left">
|
|
<el-form ref="orderFormRef" :model="orderForm" :rules="orderRules" label-width="auto" class="form" label-position="left">
|
|
- <el-form-item label="顺序" prop="order_no">
|
|
|
|
- <el-input v-model="orderForm.order_no" type="number" placeholder="请输入顺序" />
|
|
|
|
|
|
+ <el-form-item label="顺序" prop="final_order_no">
|
|
|
|
+ <el-input-number v-model="orderForm.final_order_no" :max="max"></el-input-number>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<div style="text-align: center">
|
|
<div style="text-align: center">
|
|
<el-button type="primary" @click="onsubmitOrder(orderFormRef)">保存</el-button>
|
|
<el-button type="primary" @click="onsubmitOrder(orderFormRef)">保存</el-button>
|
|
@@ -165,6 +171,18 @@
|
|
</div>
|
|
</div>
|
|
</el-form>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div v-else-if="dialog.type == '7'">
|
|
|
|
+ <el-form ref="statusFormRef" :model="statusForm" :rules="statusRules" label-width="auto" class="form" label-position="left">
|
|
|
|
+ <el-form-item label="状态" prop="status">
|
|
|
|
+ <el-select v-model="statusForm.status" placeholder="请选择状态" style="width: 100%">
|
|
|
|
+ <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <div style="text-align: center">
|
|
|
|
+ <el-button type="primary" @click="onSSubmit(statusFormRef)">保存</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </el-form>
|
|
|
|
+ </div>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<el-dialog v-model="dialogVisible" title="分数信息填写" width="800" :destroy-on-close="false" @close="toSclose">
|
|
<el-dialog v-model="dialogVisible" title="分数信息填写" width="800" :destroy-on-close="false" @close="toSclose">
|
|
<el-form ref="scoreFormRef" :model="scoreForm" :rules="scoreRules" label-width="auto" class="form" label-position="left">
|
|
<el-form ref="scoreFormRef" :model="scoreForm" :rules="scoreRules" label-width="auto" class="form" label-position="left">
|
|
@@ -211,9 +229,12 @@ const match = computed({
|
|
// 接口
|
|
// 接口
|
|
import { MatchRegStore } from '@/store/api/platform/matchReg'
|
|
import { MatchRegStore } from '@/store/api/platform/matchReg'
|
|
const store = MatchRegStore()
|
|
const store = MatchRegStore()
|
|
|
|
+import { MatchExtStore } from '@/store/api/platform/matchExt'
|
|
|
|
+const matchExtStore = MatchExtStore()
|
|
|
|
|
|
// 加载中
|
|
// 加载中
|
|
const loading = ref(false)
|
|
const loading = ref(false)
|
|
|
|
+const router = useRouter()
|
|
|
|
|
|
const timeForm = ref({})
|
|
const timeForm = ref({})
|
|
// 表单
|
|
// 表单
|
|
@@ -223,10 +244,6 @@ const rules = reactive({
|
|
})
|
|
})
|
|
// 列表
|
|
// 列表
|
|
const list = ref([])
|
|
const list = ref([])
|
|
-let skip = 0
|
|
|
|
-let limit = inject('limit')
|
|
|
|
-const total = ref(0)
|
|
|
|
-const currentPage = ref(1)
|
|
|
|
|
|
|
|
const extInfo = ref([])
|
|
const extInfo = ref([])
|
|
|
|
|
|
@@ -273,27 +290,39 @@ const lastFormRef = ref()
|
|
const lastRules = reactive({
|
|
const lastRules = reactive({
|
|
last_order_no: [{ required: true, message: '请输入最终排名', trigger: 'blur' }]
|
|
last_order_no: [{ required: true, message: '请输入最终排名', trigger: 'blur' }]
|
|
})
|
|
})
|
|
|
|
+// 最大排序数量
|
|
|
|
+const max = ref(1)
|
|
|
|
+
|
|
|
|
+// 报名状态修改
|
|
|
|
+const statusForm = ref({})
|
|
|
|
+// 表单
|
|
|
|
+const statusFormRef = ref()
|
|
|
|
+const statusRules = reactive({
|
|
|
|
+ status: [{ required: true, message: '请选择状态', trigger: 'blur' }]
|
|
|
|
+})
|
|
|
|
+// 状态
|
|
|
|
+const statusList = ref([
|
|
|
|
+ { value: '0', label: '待审核' },
|
|
|
|
+ { value: '1', label: '已通过' },
|
|
|
|
+ { value: '2', label: '已退回' }
|
|
|
|
+])
|
|
// 补充人员列表
|
|
// 补充人员列表
|
|
const supplementList = ref([])
|
|
const supplementList = ref([])
|
|
|
|
|
|
// 分数设置
|
|
// 分数设置
|
|
const detailsList = ref([])
|
|
const detailsList = ref([])
|
|
|
|
|
|
-const emits = defineEmits(['step5Time', 'toExport', 'toMessage', 'toStep6', 'toPerson', 'toStep7', 'toStep8', 'step7Score', 'totalScore', 'LastOrder'])
|
|
|
|
|
|
+const emits = defineEmits(['step5Time', 'toExport', 'toMessage', 'toStep6', 'toPerson', 'toStep7', 'toStep8', 'step7Score', 'totalScore', 'LastOrder', 'onStatus'])
|
|
|
|
|
|
-const search = async (query = { skip, limit }) => {
|
|
|
|
- skip = query.skip
|
|
|
|
- limit = query.limit
|
|
|
|
|
|
+const search = async () => {
|
|
const data = {
|
|
const data = {
|
|
- skip: query.skip,
|
|
|
|
- limit: query.limit,
|
|
|
|
match_id: id.value,
|
|
match_id: id.value,
|
|
- status: '0'
|
|
|
|
|
|
+ ext_status: match.value.ext_status
|
|
}
|
|
}
|
|
- const res = await store.query(data)
|
|
|
|
|
|
+ if (match.value.ext_status != '5') data.final_confirm = '0'
|
|
|
|
+ const res = await matchExtStore.step5Name(data)
|
|
if (res.errcode == '0') {
|
|
if (res.errcode == '0') {
|
|
list.value = res.data
|
|
list.value = res.data
|
|
- total.value = res.total
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 字典数据转换
|
|
// 字典数据转换
|
|
@@ -332,7 +361,7 @@ const onsubmitOrder = async (formEl) => {
|
|
await formEl.validate(async (valid, fields) => {
|
|
await formEl.validate(async (valid, fields) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
const data = {
|
|
const data = {
|
|
- order_no: orderForm.value.order_no,
|
|
|
|
|
|
+ order_no: orderForm.value.final_order_no,
|
|
match_id: id.value,
|
|
match_id: id.value,
|
|
id: orderForm.value.id
|
|
id: orderForm.value.id
|
|
}
|
|
}
|
|
@@ -356,9 +385,16 @@ const getUrl = (e) => {
|
|
}
|
|
}
|
|
// 排序
|
|
// 排序
|
|
const toLink = (data) => {
|
|
const toLink = (data) => {
|
|
|
|
+ const arr = list.value.filter((i) => i.final_order_no != null)
|
|
|
|
+ max.value = arr.length
|
|
orderForm.value = data
|
|
orderForm.value = data
|
|
dialog.value = { type: '4', show: true, title: '排序' }
|
|
dialog.value = { type: '4', show: true, title: '排序' }
|
|
}
|
|
}
|
|
|
|
+// 修改报名状态
|
|
|
|
+const toStatus = (data) => {
|
|
|
|
+ statusForm.value = data
|
|
|
|
+ dialog.value = { type: '7', show: true, title: '报名状态' }
|
|
|
|
+}
|
|
// 总分
|
|
// 总分
|
|
const toTotalScore = (data) => {
|
|
const toTotalScore = (data) => {
|
|
totalForm.value = data
|
|
totalForm.value = data
|
|
@@ -422,15 +458,18 @@ const onLSubmit = async (formEl) => {
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
-
|
|
|
|
-// 分页
|
|
|
|
-const changePage = (page = currentPage.value) => {
|
|
|
|
- search({ skip: (page - 1) * limit, limit: limit })
|
|
|
|
-}
|
|
|
|
-const sizeChange = (limits) => {
|
|
|
|
- limit = limits
|
|
|
|
- currentPage.value = 1
|
|
|
|
- search({ skip: 0, limit: limit })
|
|
|
|
|
|
+// 修改报名状态
|
|
|
|
+const onSSubmit = async (formEl) => {
|
|
|
|
+ if (!formEl) return
|
|
|
|
+ await formEl.validate((valid, fields) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ const data = cloneDeep(statusForm.value)
|
|
|
|
+ emits('onStatus', { id: statusForm.value.id, status: data.status })
|
|
|
|
+ toClose()
|
|
|
|
+ } else {
|
|
|
|
+ console.log('error submit!', fields)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
}
|
|
}
|
|
// 导出
|
|
// 导出
|
|
const toExport = () => {
|
|
const toExport = () => {
|
|
@@ -452,6 +491,10 @@ const toStep7 = () => {
|
|
const toStep8 = () => {
|
|
const toStep8 = () => {
|
|
emits('toStep8')
|
|
emits('toStep8')
|
|
}
|
|
}
|
|
|
|
+// 查看大屏显示
|
|
|
|
+const toStep9 = () => {
|
|
|
|
+ router.push({ path: '/screen', query: { id: id.value } })
|
|
|
|
+}
|
|
// 补充决赛人员
|
|
// 补充决赛人员
|
|
const toSupplement = async () => {
|
|
const toSupplement = async () => {
|
|
const res = await store.query({ match_id: id.value, ext_status: '4' })
|
|
const res = await store.query({ match_id: id.value, ext_status: '4' })
|
|
@@ -469,8 +512,9 @@ const toClose = async () => {
|
|
is_look.value = false
|
|
is_look.value = false
|
|
form.value = {}
|
|
form.value = {}
|
|
totalForm.value = {}
|
|
totalForm.value = {}
|
|
|
|
+ detailsList.value = []
|
|
dialog.value = { show: false }
|
|
dialog.value = { show: false }
|
|
- await search({ skip, limit })
|
|
|
|
|
|
+ await search()
|
|
}
|
|
}
|
|
const toSclose = async () => {
|
|
const toSclose = async () => {
|
|
scoreForm.value = { details: [] }
|
|
scoreForm.value = { details: [] }
|
|
@@ -500,7 +544,7 @@ watch(
|
|
if (item.id) {
|
|
if (item.id) {
|
|
id.value = item.id
|
|
id.value = item.id
|
|
loading.value = true
|
|
loading.value = true
|
|
- await search({ skip, limit })
|
|
|
|
|
|
+ await search()
|
|
loading.value = false
|
|
loading.value = false
|
|
}
|
|
}
|
|
},
|
|
},
|