ApplyNow.vue
5.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<template>
<el-dialog v-model="showDialog" destroy-on-close title="考点申请" width="800px">
<div>
<div>
<div style="display: inline-block;">考官选择:</div>
<el-radio-group v-model="form.selfSelect" @change="showRemind">
<el-radio label="1">自行录入考官(级位考官)</el-radio>
<el-radio label="0">省跆协指派考官</el-radio>
</el-radio-group>
</div>
<div>
<div class="text-warning">
<br>
<!-- 温馨提示: 您可以自行录入考官信息,如果暂时没有考官,可以选择由省跆协指派进行考点申报,请尽快完成考点考官的认证。-->
温馨提示:<br>
根据中国跆拳道协会考点管理办法请添加考点考官。<br>
如若已有考官:点击【录入考官信息】,根据相关信息填写考官资料进行录入。<br>
如若没有考官:点击【申请省跆协指派考官】,选择省内相关考官并及时参加考官培训
完成考官设置后,才能继续提交考点申报。 请您尽快操作,以免影响后续考试安排。
</div>
<div style="text-align: right;margin:20px 10px;">
<el-button v-if="form.selfSelect==1" type="primary" @click="handelAddExamine">添加考官</el-button>
<el-button v-if="form.selfSelect==0" type="primary" @click="examinerChoice">选择考官</el-button>
</div>
<el-table v-loading="loading" :data="list" border>
<el-table-column align="center" label="序号" type="index" width="55" />
<el-table-column align="center" label="姓名" min-width="100" prop="perName" />
<el-table-column align="center" label="会员号" min-width="130" prop="perCode" />
<el-table-column align="center" label="证件号码" min-width="170" prop="perIdcCode" />
<el-table-column
align="center" label="注册单位" min-width="180" prop="roleInfo.unit" show-overflow-tooltip
/>
<el-table-column align="center" class-name="small-padding fixed-width" label="操作">
<template #default="{row}">
<el-button link type="primary" @click="handleDel(row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!-- <div v-show="form.selfSelect==0" class="text-warning">-->
<!-- <br>-->
<!-- 温馨提示:关于考官指派,请联系{{ shenForm.baseName }},联系电话:{{ shenForm.phone }}-->
<!-- </div>-->
<div style="height: 50px;" />
<div style="text-align: center;">
<br>
<br>
<br>
<el-button class="largeBtn" round type="primary" @click="handelSubmit">确定</el-button>
</div>
</div>
<ChooseExaminer ref="ChooseExaminerRef" is-validity="0" @chosen="chosenExaminer" />
<ChooseRankExaminer ref="ChooseRankExaminerRef" is-validity="0" @chosen="chosenExaminerCallback" />
</el-dialog>
</template>
<script setup>
import { getCurrentInstance, ref } from 'vue'
import { commitExamPointApply } from '@/api/system/userInfo'
import { examinerDel, listApi, selfAdd, getShenMemberInfo } from '@/api/exam/examinationAudit'
import ChooseExaminer from '@/views/exam/components/chooseExaminer'
import ChooseRankExaminer from '@/views/exam/components/chooseRankExaminer.vue'
const emit = defineEmits(['handelAddExamine', 'handelExamineRadio', 'handelSubmit'])
const { proxy } = getCurrentInstance()
const showDialog = ref(false)
const loading = ref(false)
const form = ref({
selfSelect: '1'
})
const shenForm = ref({})
const list = ref([])
const memId = ref()
function open(id, photos) {
memId.value = id
showDialog.value = true
form.value.photos = photos
getExaminer()
getShenMemberInfoFn()
}
async function getExaminer() {
loading.value = true
const res = await listApi({ memId: memId.value })
list.value = res.rows
for (const val of list.value) {
if (val.roleInfo) val.roleInfo = JSON.parse(val.roleInfo)
}
loading.value = false
}
async function handleDel(row) {
await proxy.$modal.confirm('确定删除该考官吗?')
await examinerDel(row.id)
await proxy.$modal.msgSuccess('删除成功')
await getExaminer()
}
// function showRemind(e) {
// if (e == '0') {
// proxy.$modal.confirm(`温馨提示:关于考官指派,请联系${shenForm.value.baseName},联系电话:${shenForm.value.phone}`)
// }
// }
async function chosenExaminer(perId) {
await selfAdd(memId.value, perId)
await proxy.$modal.msgSuccess('操作成功!')
await getExaminer()
}
async function chosenExaminerCallback(row) {
await selfAdd(memId.value, row.perId)
await proxy.$modal.msgSuccess('操作成功!')
await getExaminer()
}
async function getShenMemberInfoFn() {
const res = await getShenMemberInfo()
shenForm.value = res.data ?? {}
}
// 添加考官
function handelAddExamine() {
// 选择考官
// proxy.$refs['ChooseExaminerRef'].open(list.value)
proxy.$refs['ChooseRankExaminerRef'].open({
ec: memId.value,
type: '1',
chosen: list.value
})
}
function examinerChoice() {
proxy.$refs['ChooseExaminerRef'].open(list.value)
}
async function handelSubmit() {
if (list.value?.length == 0) {
return proxy.$modal.msgError('请添加考官!')
}
await commitExamPointApply(form.value)
await proxy.$modal.confirm('提交成功,请等待审核')
emit('handelSubmit')
showDialog.value = false
}
defineExpose({
open
})
</script>
<style lang="scss" scoped>
</style>