{"version":3,"file":"userEntry.f113b353.mjs","sources":["../../../../components/event/userEntry.vue"],"sourcesContent":["<template>\n  <el-dialog\n    :model-value=\"modelValue\"\n    :before-close=\"handleClose\"\n    custom-class=\"footer_border_dialog\"\n    title=\"报名信息\"\n    width=\"750px\"\n  >\n    <template v-if=\"form\">\n      <el-form\n        ref=\"formRef\"\n        :model=\"form\"\n        :rules=\"rules\"\n        label-width=\"140px\"\n        size=\"large\"\n        class=\"form\"\n      >\n        <el-form-item label=\"所属赛区\">\n          <el-input class=\"w680\" v-model=\"form.areaName\" disabled></el-input>\n        </el-form-item>\n        <el-form-item label=\"比赛赛项\" prop=\"categoryId\">\n          <div class=\"w680\">\n            <template v-if=\"opts.overData\">\n              <el-cascader\n                v-model=\"form.categoryId\"\n                :options=\"opts.categoryList\"\n                :props=\"{\n                  value: 'id',\n                  label: 'categoryName',\n                  children: 'childrenList',\n                  checkStrictly: true,\n                  emitPath: false,\n                }\"\n                filterable\n                clearable\n              />\n            </template>\n          </div>\n        </el-form-item>\n        <el-form-item label=\"姓名\" prop=\"realName\">\n          <el-input class=\"w680\" v-model=\"form.realName\" placeholder=\"请输入真实姓名\"></el-input>\n        </el-form-item>\n        <el-form-item label=\"身份证号\" prop=\"idCard\">\n          <el-input class=\"w680\" v-model=\"form.idCard\" placeholder=\"请输入身份证号\"></el-input>\n        </el-form-item>\n        <el-form-item label=\"手机号\" prop=\"phone\">\n          <el-input class=\"w680\" v-model=\"form.phone\" placeholder=\"请输入手机号\"></el-input>\n        </el-form-item>\n        <el-form-item label=\"学校\" prop=\"school\">\n          <el-input class=\"w680\" v-model=\"form.school\" placeholder=\"请输入学校全名\"></el-input>\n        </el-form-item>\n        <el-form-item label=\"地址\" prop=\"address\">\n          <template v-if=\"opts.overData\">\n            <select-prov :data-code=\"opts.dataCode\" @getLocationCode=\"provCallback\" />\n          </template>\n          <div class=\"mgt10 w100\">\n            <el-input class=\"\" v-model=\"form.address\" placeholder=\"所在地区及详细地址\"></el-input>\n          </div>\n        </el-form-item>\n        <el-form-item label=\"组别\" prop=\"grade\">\n          <el-select class=\"w680\" v-model=\"form.grade\">\n            <el-option label=\"小学\" value=\"小学\"></el-option>\n            <el-option label=\"初中\" value=\"初中\"></el-option>\n          </el-select>\n        </el-form-item>\n        <el-form-item label=\"指导老师姓名\" prop=\"tutorName\">\n          <el-input class=\"w680\" v-model=\"form.tutorName\" placeholder=\"请输入指导老师姓名\"></el-input>\n        </el-form-item>\n        <el-form-item label=\"指导老师手机号\" prop=\"tutorPhone\">\n          <el-input class=\"w680\" v-model=\"form.tutorPhone\" placeholder=\"请输入指导老师手机号\"></el-input>\n        </el-form-item>\n      </el-form>\n    </template>\n    <template #footer>\n      <div class=\"footer_btn\">\n        <el-button plain @click=\"handleClose\">取消</el-button>\n        <el-button type=\"primary\" @click=\"submitForm(formRef)\">保存</el-button>\n      </div>\n    </template>\n  </el-dialog>\n</template>\n\n<script setup>\nimport {reactive, ref, onMounted} from \"vue\";\nimport { userEventEdit, entryCate } from \"@/api/event\";\n\nconst props = defineProps({\n  modelValue: {\n    type: Boolean,\n    default: false\n  },\n  eventInfo: {\n    type: Object,\n    default: function () {\n      return {}\n    }\n  }\n})\n\nconst opts = reactive({\n  categoryList: [],\n  dataCode: {},\n  overData: false\n})\nconst { eventInfo } = props\nconst rules = reactive({\n  realName: [{ required: true, message: '请输入真实姓名', trigger: 'blur' }],\n  categoryId: [{ required: true, message: '请选择比赛赛项', trigger: 'blur' }],\n  idCard: [{ required: true, message: '请输入身份证号', trigger: 'blur' }],\n  phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],\n  school: [{ required: true, message: '请输入学校', trigger: 'blur' }],\n  address: [{ required: true, message: '请填写地址', trigger: 'blur' }],\n  grade: [{ required: true, message: '请选择组别', trigger: 'blur' }],\n  teacherNo: [{ required: true, message: '请输入教师继续教育号' ,trigger: 'blur' }],\n  province: [{ required: true, message: '请选择所在区域', trigger: 'blur' }],\n  tutorName: [{ required: true, message: '请输入指导老师真实姓名', trigger: 'blur' }],\n  tutorPhone: [{ required: true, message: '请输入指导老师手机号码', trigger: 'blur' }],\n  teacherGrade: [{ required: true, message: '请输入任教年级', trigger: 'blur' }],\n  teacherSubject: [{ required: true, message: '请输入任教学科', trigger: 'blur' }]\n})\nconst formRef = ref('')\nconst form = reactive({\n  country: '中国',\n  province: '',\n  eventType: 1\n})\nconst emit = defineEmits(['update:modelValue', 'callback'])\n\nonMounted(() => {\n  const obj = {\n    provinceCode: eventInfo.province,\n    cityCode: eventInfo.city\n  }\n  opts.dataCode = obj\n  console.log('eventInfo', eventInfo)\n  Object.assign(form, eventInfo)\n  form.areaName = eventInfo.eventInfo.eventAreaName\n  console.log('form', form)\n  getCategoryList()\n})\nconst submitForm = (formEl) => {\n  if (!formEl) return;\n  formEl.validate((valid) => {\n    if (valid) {\n      userEventEdit(form).then(res => {\n        if (res) {\n          emit('callback')\n          handleClose()\n        }\n      })\n    }\n  })\n}\n\nfunction getCategoryList() {\n  entryCate(form.eventId).then(res => {\n    opts.categoryList = res\n    opts.overData = true\n  })\n}\nfunction provCallback(val) {\n  form.province = val.provinceCode\n  form.city = val.cityCode\n  form.area = val.areaCode\n}\nconst handleClose = () => { // 关闭\n  emit('update:modelValue', false)\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.w100 {\n  width: 100%;\n}\n.cancel_tip {\n  font-style: normal;\n  font-weight: 400;\n  font-size: 14px;\n  color: #333333;\n  margin-bottom: 20px;\n  margin-left: 45px;\n}\n\n.c_red {\n  color: #F23C3C;\n}\n\n.footer_btn {\n  text-align: center;\n\n  .el-button {\n    width: 80px;\n    height: 32px;\n    border-radius: 4px;\n  }\n}\n</style>\n"],"names":["opts","reactive","categoryList","dataCode","overData","eventInfo","props","rules","realName","required","message","trigger","categoryId","idCard","phone","school","address","grade","teacherNo","province","tutorName","tutorPhone","teacherGrade","teacherSubject","formRef","ref","form","country","eventType","onMounted","obj","provinceCode","cityCode","city","Object","assign","areaName","eventAreaName","entryCate","eventId","then","res","provCallback","val","area","areaCode","handleClose","emit","formEl","validate","valid","userEventEdit"],"mappings":"2bAmGAA,EAAAC,EAAA,CACAC,aAAA,GACAC,SAAA,CAAA,EACAC,UAAA,KAEAC,UAAAA,GAAAC,EACAC,EAAAN,EAAA,CACAO,SAAA,CAAA,CAAAC,UAAA,EAAAC,QAAA,UAAAC,QAAA,SACAC,WAAA,CAAA,CAAAH,UAAA,EAAAC,QAAA,UAAAC,QAAA,SACAE,OAAA,CAAA,CAAAJ,UAAA,EAAAC,QAAA,UAAAC,QAAA,SACAG,MAAA,CAAA,CAAAL,UAAA,EAAAC,QAAA,SAAAC,QAAA,SACAI,OAAA,CAAA,CAAAN,UAAA,EAAAC,QAAA,QAAAC,QAAA,SACAK,QAAA,CAAA,CAAAP,UAAA,EAAAC,QAAA,QAAAC,QAAA,SACAM,MAAA,CAAA,CAAAR,UAAA,EAAAC,QAAA,QAAAC,QAAA,SACAO,UAAA,CAAA,CAAAT,UAAA,EAAAC,QAAA,aAAAC,QAAA,SACAQ,SAAA,CAAA,CAAAV,UAAA,EAAAC,QAAA,UAAAC,QAAA,SACAS,UAAA,CAAA,CAAAX,UAAA,EAAAC,QAAA,cAAAC,QAAA,SACAU,WAAA,CAAA,CAAAZ,UAAA,EAAAC,QAAA,cAAAC,QAAA,SACAW,aAAA,CAAA,CAAAb,UAAA,EAAAC,QAAA,UAAAC,QAAA,SACAY,eAAA,CAAA,CAAAd,UAAA,EAAAC,QAAA,UAAAC,QAAA,WAEAa,EAAAC,EAAA,IACAC,EAAAzB,EAAA,CACA0B,QAAA,KACAR,SAAA,GACAS,UAAA,IAIAC,GAAA,KACA,MAAAC,EAAA,CACAC,aAAA1B,EAAAc,SACAa,SAAA3B,EAAA4B,MAEAjC,EAAAG,SAAA2B,EAEAI,OAAAC,OAAAT,EAAArB,GACAqB,EAAAU,SAAA/B,EAAAA,UAAAgC,cAmBAC,EAAAZ,EAAAa,SAAAC,MAAAC,IACAzC,EAAAE,aAAAuC,EACAzC,EAAAI,UAAA,CAAA,GAnBA,IAsBA,SAAAsC,EAAAC,GACAjB,EAAAP,SAAAwB,EAAAZ,aACAL,EAAAO,KAAAU,EAAAX,SACAN,EAAAkB,KAAAD,EAAAE,QACA,CACA,MAAAC,EAAA,KACAC,EAAA,qBAAA,EAAA,gaA1BA,IAAAC,eAEAA,EAAAC,UAAAC,IACAA,GACAC,EAAAzB,GAAAc,MAAAC,IACAA,IACAM,EAAA,YACAD,IACA,GAEA"}