From 891ff0e6e9d038f33685626dec284dad758c3e2f Mon Sep 17 00:00:00 2001 From: zhouwenxuan <1175765986@qq.com> Date: 星期二, 05 三月 2024 13:50:35 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/commonMod/examApply/components/examRegistDialog.vue | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 158 insertions(+), 0 deletions(-) diff --git a/src/views/commonMod/examApply/components/examRegistDialog.vue b/src/views/commonMod/examApply/components/examRegistDialog.vue new file mode 100644 index 0000000..56cb52f --- /dev/null +++ b/src/views/commonMod/examApply/components/examRegistDialog.vue @@ -0,0 +1,158 @@ +<template> + <el-dialog + :title="title" + :visible.sync="open" + append-to-body + width="50%" + :before-close="handleClose" + > + <el-form ref="ruleForm" :model="form" :rules="rules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中..."> + <el-form-item label="姓名:" > + <span>{{ form.name}}</span> + </el-form-item> + <el-form-item label="性别:" > + <span>{{ form.sex}}</span> + </el-form-item> + <el-form-item label="身份证:" prop="idCard"> + <el-input v-model.trim="form.idCard" type="number" /> + </el-form-item> + <el-form-item label="选择报名类型:" prop="isCm"> + <el-radio-group v-model="form.isCm" style="width: 100%;" :disabled="!isAdmin" @change="clearOptions"> + <el-radio :label="0">非煤</el-radio> + <el-radio :label="1">煤矿</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="选择考试计划:" prop="planId"> + <el-select v-model="form.planId" placeholder="请选择考试计划" style="width: 100%" @focus="getSections"> + <el-option + v-for="item in examPlanList" + :key="item.id" + :label="item.value" + :value="item.id" + ></el-option> + </el-select> + </el-form-item> + </el-form> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submit">确认报名</el-button> + <el-button @click="handleClose">取消</el-button> + </span> + </el-dialog> +</template> + +<script > +import {addExamApply, editExamApply, getExamSite} from "@/api/commonMod/examApply"; +import {getTrainPage} from "@/api/coalMine/placeManage/train"; +import store from "@/store"; + +export default { + name: 'examApplyDialog', + components: { + }, + props: ['typeList'], + data() { + return { + disable: false, + title: '考试报名', + open: false, + form:{}, + rules:{ + idCard:[{ required: true, message: '请填写身份证号', trigger: 'blur' }], + isCm: [{ required: true, message: '请选择类别', trigger: 'blur' }], + planId: [{ required: true, message: '请选择考试计划', trigger: 'change' }], + }, + isAdmin: false, + examPlanList: [ + { + id: '1', + value: 'xxx' + } + ] + } + }, + created() { + }, + methods: { + openDialog(val) { + const t = this + const roles = store.getters && store.getters.roles + if (roles.includes('admin')) { + t.isAdmin = true + } else { + t.isAdmin = false + } + if (roles.includes('company')) { + t.form.isCm = 0 + } + if (roles.includes('mk')) { + t.form.isCm = 1 + } + console.log('444',val) + t.open = true + + t.reset() + if(val){ + for(let i in val){ + if(t.isValidKey(i,this.form)){ + t.form[i] = val[i] + } + } + } + t.getPlans() + }, + isValidKey(key, obj) { + return key in obj + }, + + handleClose() { + this.open = false; + this.reset(); + }, + + getSections() { + if (this.form.isCm == 0 || this.form.isCm == 1) { + this.getPlans() + } else { + this.$message({ + message: '请先选择类别', + type: 'warning' + }) + } + }, + + async getPlans() { + }, + + clearOptions() { + this.form.planId = null + }, + + // 表单重置 + reset() { + this.form = { + name: '', + sex: '', + idCard: '', + isCm: null, + planId: null, + } + }, + async submit(){ + this.$refs["ruleForm"].validate(async(valid) =>{ + if(valid) { + this.handleClose() + }else{ + this.$message({ + type:'warning', + message:'请完善必填信息' + }) + } + }) + }, + } +} + +</script> +<style scoped> + +</style> -- Gitblit v1.9.2