|
@@ -1,22 +1,8 @@
|
|
|
<template>
|
|
|
<div class="main">
|
|
|
- <el-row class="one" v-if="info.ext_status == '2'">
|
|
|
- <el-col :span="10">
|
|
|
- <el-form ref="ruleFormRef" :model="timeForm" :rules="rules" label-width="auto" class="form" label-position="left">
|
|
|
- <el-form-item label="设置初审时间" prop="start_time">
|
|
|
- <el-date-picker format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="timeForm.start_time" type="datetime" placeholder="请选择初审时间" style="width: 90%" />
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- </el-col>
|
|
|
- <el-col :span="14">
|
|
|
- <el-button type="primary" :disabled="selectionList && selectionList.length > 0 ? false : true" v-if="info.ext_status == '2'" @click="submitForm(ruleFormRef)">补充初审时间</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-alert title="请设置初审时间并选择要填写初审时间的用户!" type="warning" :closable="false" />
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
<el-col :span="6" class="export">
|
|
|
<div class="one_left" @click="toExport">导出</div>
|
|
|
+ <div class="one_left" v-if="info.ext_status == '2'" @click="toStart">分配初审时间</div>
|
|
|
<div class="one_left" v-if="info.ext_status == '4'" :disabled="selectionList && selectionList.length > 0 ? false : true" @click="toFinals">选择决赛名单</div>
|
|
|
</el-col>
|
|
|
<el-col :span="24" class="two">
|
|
@@ -67,7 +53,8 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="操作" width="160">
|
|
|
<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)" style="margin-right: 10px">查看</el-link>
|
|
|
+ <el-link :underline="false" v-if="info.ext_status == '2'" type="primary" size="mini" @click="toTime(row)" style="margin-right: 10px">设置初审时间</el-link>
|
|
|
<el-link :underline="false" v-if="info.ext_status == '4'" type="primary" size="mini" @click="toScore(row)">上传初审分数</el-link>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -129,6 +116,81 @@
|
|
|
</div>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
+ <div v-else-if="dialog.type == '3'">
|
|
|
+ <el-col :span="24" class="one">
|
|
|
+ <el-form ref="ruleFormRef" :model="timeForm" :rules="rules" label-width="auto" class="form" label-position="left">
|
|
|
+ <el-form-item label="设置初审时间" prop="start_time">
|
|
|
+ <el-date-picker format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="timeForm.start_time" type="datetime" placeholder="请选择初审时间" style="width: 90%" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="two">
|
|
|
+ <el-table :data="list" style="width: 100%" size="large" :header-cell-style="{ backgroundColor: '#edf3ff' }" @selection-change="timeChange">
|
|
|
+ <template #empty>
|
|
|
+ <el-empty description="暂无数据" />
|
|
|
+ </template>
|
|
|
+ <el-table-column type="selection" width="55"> </el-table-column>
|
|
|
+ <el-table-column prop="no" align="center" label="编号" width="100">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ scope.row.no || '——' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="user_name" align="center" label="用户">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ scope.row.user_name || '——' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="project_name" align="center" label="项目名称">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ scope.row.project_name || '——' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="person_unit" align="center" label="单位名称">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ scope.row.person_unit || '——' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="time" align="center" label="报名时间">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ scope.row.time || '——' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="start_time" align="center" label="初审时间">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ scope.row.start_time || '——' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="ext_status" align="center" label="流程状态">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ getDict(scope.row.ext_status, 'ext_status') || '暂无' }}
|
|
|
+ </template>
|
|
|
+ </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>
|
|
|
+ </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>
|
|
|
+ <div class="button">
|
|
|
+ <el-button type="primary" :disabled="timeList && timeList.length > 0 ? false : true" @click="submitForm(ruleFormRef)">保存初审时间</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-else-if="dialog.type == '4'">
|
|
|
+ <el-form ref="ruleFormRef" :model="timeForm" :rules="rules" label-width="auto" class="form" label-position="left">
|
|
|
+ <el-form-item label="设置初审时间" prop="start_time">
|
|
|
+ <el-date-picker format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" v-model="timeForm.start_time" type="datetime" placeholder="请选择初审时间" style="width: 90%" />
|
|
|
+ </el-form-item>
|
|
|
+ <div style="text-align: center">
|
|
|
+ <el-button type="primary" @click="ontimeSubmit(ruleFormRef)">保存初审时间</el-button>
|
|
|
+ </div>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -174,8 +236,7 @@ const isUseList = inject('isUseList')
|
|
|
|
|
|
// 批量导出
|
|
|
const selectionList = ref([])
|
|
|
-const is_look = ref(false)
|
|
|
-
|
|
|
+const timeList = ref([])
|
|
|
// 上传分数
|
|
|
const scoreForm = ref({})
|
|
|
// 表单
|
|
@@ -184,7 +245,7 @@ const scoreRules = reactive({
|
|
|
score: [{ required: true, message: '请输入初审分数', trigger: 'blur' }]
|
|
|
})
|
|
|
|
|
|
-const emits = defineEmits(['toStep2', 'stepFill', 'toExport', 'toStep3', 'toStep4', 'step4Score', 'toFinals', 'toStep5'])
|
|
|
+const emits = defineEmits(['toStep2', 'stepFill', 'toExport', 'toStep3', 'toStep4', 'step4Score', 'toFinals', 'toStep5', 'updateSTime'])
|
|
|
|
|
|
const search = async (query = { skip, limit }) => {
|
|
|
skip = query.skip
|
|
@@ -213,6 +274,9 @@ const getDict = (data, model) => {
|
|
|
const handleSelectionChange = (val) => {
|
|
|
selectionList.value = val
|
|
|
}
|
|
|
+const timeChange = (val) => {
|
|
|
+ timeList.value = val
|
|
|
+}
|
|
|
// 补充初审时间
|
|
|
const submitForm = async (formEl) => {
|
|
|
if (!formEl) return
|
|
@@ -221,7 +285,7 @@ const submitForm = async (formEl) => {
|
|
|
const data = {
|
|
|
start_time: timeForm.value.start_time,
|
|
|
match_id: id.value,
|
|
|
- ids: selectionList.value.map((i) => {
|
|
|
+ ids: timeList.value.map((i) => {
|
|
|
return i.id
|
|
|
})
|
|
|
}
|
|
@@ -231,9 +295,25 @@ const submitForm = async (formEl) => {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+// 修改初审时间
|
|
|
+const ontimeSubmit = async (formEl) => {
|
|
|
+ if (!formEl) return
|
|
|
+ await formEl.validate(async (valid, fields) => {
|
|
|
+ if (valid) {
|
|
|
+ const data = {
|
|
|
+ start_time: timeForm.value.start_time,
|
|
|
+ id: timeForm.value.id
|
|
|
+ }
|
|
|
+ emits('updateSTime', data)
|
|
|
+ toClose()
|
|
|
+ } else {
|
|
|
+ console.log('error submit!', fields)
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
// 审核
|
|
|
-const toView = (data, is_no) => {
|
|
|
- is_look.value = is_no
|
|
|
+const toView = (data) => {
|
|
|
form.value = data
|
|
|
extInfo.value = data.info
|
|
|
dialog.value = { type: '1', show: true, title: '报名信息' }
|
|
@@ -243,6 +323,15 @@ const toScore = (data) => {
|
|
|
scoreForm.value = data
|
|
|
dialog.value = { type: '2', show: true, title: '上传初审分数' }
|
|
|
}
|
|
|
+// 分配初审时间
|
|
|
+const toStart = () => {
|
|
|
+ dialog.value = { type: '3', show: true, title: '分配初审时间' }
|
|
|
+}
|
|
|
+// 单独设置初审时间
|
|
|
+const toTime = (data) => {
|
|
|
+ timeForm.value = data
|
|
|
+ dialog.value = { type: '4', show: true, title: '设置初审时间' }
|
|
|
+}
|
|
|
// 图片处理
|
|
|
const getUrl = (e) => {
|
|
|
if (e) return `${import.meta.env.VITE_APP_HOST}${get(e, 'uri')}`
|
|
@@ -304,7 +393,6 @@ const toFinals = () => {
|
|
|
}
|
|
|
}
|
|
|
const toClose = async () => {
|
|
|
- is_look.value = false
|
|
|
form.value = {}
|
|
|
scoreForm.value = {}
|
|
|
dialog.value = { show: false }
|