You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
51 KiB
1 line
51 KiB
import{$t as e,C as t,D as n,Et as r,R as i,S as a,V as o,W as s,Y as c,_t as l,at as u,b as d,c as ee,ct as f,d as te,g as p,ht as m,in as h,k as g,m as ne,q as _,s as re,u as ie,w as v,x as y}from"./vue.runtime.esm-bundler-OsdSFvn7.js";import{_ as ae,d as oe,m as se}from"./api-rQwE0AaH.js";import{S as ce,l as le,u as ue,x as de}from"./index-DFPdDGyr.js";import{t as fe}from"./_plugin-vue_export-helper-CXTkFu_Z.js";import{a as pe,i as me,r as he,t as ge}from"./competitionBranding-DKFkcrfF.js";import{n as _e,t as ve}from"./participantContact-DSzdsPPk.js";import{t as ye}from"./downloadFeedback-CobRT4xV.js";var be={北京市:[`北京市`],天津市:[`天津市`],上海市:[`上海市`],重庆市:[`重庆市`],河北省:[`石家庄市`,`唐山市`,`秦皇岛市`,`邯郸市`,`邢台市`,`保定市`,`张家口市`,`承德市`,`沧州市`,`廊坊市`,`衡水市`],山西省:[`太原市`,`大同市`,`阳泉市`,`长治市`,`晋城市`,`朔州市`,`晋中市`,`运城市`,`忻州市`,`临汾市`,`吕梁市`],内蒙古自治区:[`呼和浩特市`,`包头市`,`乌海市`,`赤峰市`,`通辽市`,`鄂尔多斯市`,`呼伦贝尔市`,`巴彦淖尔市`,`乌兰察布市`,`兴安盟`,`锡林郭勒盟`,`阿拉善盟`],辽宁省:[`沈阳市`,`大连市`,`鞍山市`,`抚顺市`,`本溪市`,`丹东市`,`锦州市`,`营口市`,`阜新市`,`辽阳市`,`盘锦市`,`铁岭市`,`朝阳市`,`葫芦岛市`],吉林省:[`长春市`,`吉林市`,`四平市`,`辽源市`,`通化市`,`白山市`,`松原市`,`白城市`,`延边朝鲜族自治州`],黑龙江省:[`哈尔滨市`,`齐齐哈尔市`,`鸡西市`,`鹤岗市`,`双鸭山市`,`大庆市`,`伊春市`,`佳木斯市`,`七台河市`,`牡丹江市`,`黑河市`,`绥化市`,`大兴安岭地区`],江苏省:[`南京市`,`无锡市`,`徐州市`,`常州市`,`苏州市`,`南通市`,`连云港市`,`淮安市`,`盐城市`,`扬州市`,`镇江市`,`泰州市`,`宿迁市`],浙江省:[`杭州市`,`宁波市`,`温州市`,`嘉兴市`,`湖州市`,`绍兴市`,`金华市`,`衢州市`,`舟山市`,`台州市`,`丽水市`],安徽省:[`合肥市`,`芜湖市`,`蚌埠市`,`淮南市`,`马鞍山市`,`淮北市`,`铜陵市`,`安庆市`,`黄山市`,`滁州市`,`阜阳市`,`宿州市`,`六安市`,`亳州市`,`池州市`,`宣城市`],福建省:[`福州市`,`厦门市`,`莆田市`,`三明市`,`泉州市`,`漳州市`,`南平市`,`龙岩市`,`宁德市`],江西省:[`南昌市`,`景德镇市`,`萍乡市`,`九江市`,`新余市`,`鹰潭市`,`赣州市`,`吉安市`,`宜春市`,`抚州市`,`上饶市`],山东省:[`济南市`,`青岛市`,`淄博市`,`枣庄市`,`东营市`,`烟台市`,`潍坊市`,`济宁市`,`泰安市`,`威海市`,`日照市`,`临沂市`,`德州市`,`聊城市`,`滨州市`,`菏泽市`],河南省:[`郑州市`,`开封市`,`洛阳市`,`平顶山市`,`安阳市`,`鹤壁市`,`新乡市`,`焦作市`,`濮阳市`,`许昌市`,`漯河市`,`三门峡市`,`南阳市`,`商丘市`,`信阳市`,`周口市`,`驻马店市`,`济源市`],湖北省:[`武汉市`,`黄石市`,`十堰市`,`宜昌市`,`襄阳市`,`鄂州市`,`荆门市`,`孝感市`,`荆州市`,`黄冈市`,`咸宁市`,`随州市`,`恩施土家族苗族自治州`,`仙桃市`,`潜江市`,`天门市`,`神农架林区`],湖南省:[`长沙市`,`株洲市`,`湘潭市`,`衡阳市`,`邵阳市`,`岳阳市`,`常德市`,`张家界市`,`益阳市`,`郴州市`,`永州市`,`怀化市`,`娄底市`,`湘西土家族苗族自治州`],广东省:[`广州市`,`韶关市`,`深圳市`,`珠海市`,`汕头市`,`佛山市`,`江门市`,`湛江市`,`茂名市`,`肇庆市`,`惠州市`,`梅州市`,`汕尾市`,`河源市`,`阳江市`,`清远市`,`东莞市`,`中山市`,`潮州市`,`揭阳市`,`云浮市`],广西壮族自治区:[`南宁市`,`柳州市`,`桂林市`,`梧州市`,`北海市`,`防城港市`,`钦州市`,`贵港市`,`玉林市`,`百色市`,`贺州市`,`河池市`,`来宾市`,`崇左市`],海南省:[`海口市`,`三亚市`,`三沙市`,`儋州市`,`五指山市`,`琼海市`,`文昌市`,`万宁市`,`东方市`,`定安县`,`屯昌县`,`澄迈县`,`临高县`,`白沙黎族自治县`,`昌江黎族自治县`,`乐东黎族自治县`,`陵水黎族自治县`,`保亭黎族苗族自治县`,`琼中黎族苗族自治县`],四川省:[`成都市`,`自贡市`,`攀枝花市`,`泸州市`,`德阳市`,`绵阳市`,`广元市`,`遂宁市`,`内江市`,`乐山市`,`南充市`,`眉山市`,`宜宾市`,`广安市`,`达州市`,`雅安市`,`巴中市`,`资阳市`,`阿坝藏族羌族自治州`,`甘孜藏族自治州`,`凉山彝族自治州`],贵州省:[`贵阳市`,`六盘水市`,`遵义市`,`安顺市`,`毕节市`,`铜仁市`,`黔西南布依族苗族自治州`,`黔东南苗族侗族自治州`,`黔南布依族苗族自治州`],云南省:[`昆明市`,`曲靖市`,`玉溪市`,`保山市`,`昭通市`,`丽江市`,`普洱市`,`临沧市`,`楚雄彝族自治州`,`红河哈尼族彝族自治州`,`文山壮族苗族自治州`,`西双版纳傣族自治州`,`大理白族自治州`,`德宏傣族景颇族自治州`,`怒江傈僳族自治州`,`迪庆藏族自治州`],西藏自治区:[`拉萨市`,`日喀则市`,`昌都市`,`林芝市`,`山南市`,`那曲市`,`阿里地区`],陕西省:[`西安市`,`铜川市`,`宝鸡市`,`咸阳市`,`渭南市`,`延安市`,`汉中市`,`榆林市`,`安康市`,`商洛市`],甘肃省:[`兰州市`,`嘉峪关市`,`金昌市`,`白银市`,`天水市`,`武威市`,`张掖市`,`平凉市`,`酒泉市`,`庆阳市`,`定西市`,`陇南市`,`临夏回族自治州`,`甘南藏族自治州`],青海省:[`西宁市`,`海东市`,`海北藏族自治州`,`黄南藏族自治州`,`海南藏族自治州`,`果洛藏族自治州`,`玉树藏族自治州`,`海西蒙古族藏族自治州`],宁夏回族自治区:[`银川市`,`石嘴山市`,`吴忠市`,`固原市`,`中卫市`],新疆维吾尔自治区:[`乌鲁木齐市`,`克拉玛依市`,`吐鲁番市`,`哈密市`,`昌吉回族自治州`,`博尔塔拉蒙古自治州`,`巴音郭楞蒙古自治州`,`阿克苏地区`,`克孜勒苏柯尔克孜自治州`,`喀什地区`,`和田地区`,`伊犁哈萨克自治州`,`塔城地区`,`阿勒泰地区`,`石河子市`,`阿拉尔市`,`图木舒克市`,`五家渠市`,`北屯市`,`铁门关市`,`双河市`,`可克达拉市`,`昆玉市`,`胡杨河市`,`新星市`],香港特别行政区:[`香港`],澳门特别行政区:[`澳门`],台湾省:[`台北市`,`新北市`,`桃园市`,`台中市`,`台南市`,`高雄市`,`新竹市`,`嘉义市`]},xe=`北京市.天津市.上海市.重庆市.河北省.山西省.内蒙古自治区.辽宁省.吉林省.黑龙江省.江苏省.浙江省.安徽省.福建省.江西省.山东省.河南省.湖北省.湖南省.广东省.广西壮族自治区.海南省.四川省.贵州省.云南省.西藏自治区.陕西省.甘肃省.青海省.宁夏回族自治区.新疆维吾尔自治区.香港特别行政区.澳门特别行政区.台湾省`.split(`.`),Se=[`pdf`,`ppt`,`pptx`,`doc`,`docx`,`wps`,`rar`,`zip`],b=[{key:`player_name`,type:`text`,label:`参赛人姓名`,required:!0,help:``},{key:`school`,type:`text`,label:`毕业院校`,required:!0},{key:`degree`,type:`select`,label:`最高学历`,required:!0,options:[`大专`,`本科`,`硕士`,`博士`,`其他`].map(e=>({label:e,value:e}))},{key:`contact_email`,type:`email`,label:`注册邮箱`,required:!0},{key:`contact_mobile`,type:`tel`,label:`联系电话`,required:!0,placeholder:`11 位中国大陆手机号`},{key:`entry_group`,type:`select`,label:`参赛组别`,required:!0,options:[{label:`创新组`,value:`创新组`},{label:`创业组`,value:`创业组`}],help:`仅限创业组填报企业名称(创新组不展示该字段)`},{key:`company_name`,type:`text`,label:`企业名称`,required:!1,required_when:{field:`entry_group`,values:[`创业组`]},placeholder:`请填写工商注册全称`,prefill_from:`user.company`},{key:`project_name`,type:`text`,label:`项目名称`,required:!0},{key:`track`,type:`select`,label:`主题赛道`,required:!0,help:`请从本场赛事公布的赛道中选择`,options:[]},{key:`location_country`,type:`select`,label:`项目所在地`,required:!0,options:[{label:`中国`,value:`中国`},{label:`海外`,value:`海外`}]},{key:`location_province`,type:`select`,label:`省份`,required:!1,options:[]},{key:`location_city`,type:`text`,label:`城市`,required:!1},{key:`oversea_country`,type:`text`,label:`所在国(海外)`,required:!1,placeholder:`如:新加坡、日本、美国`},{key:`intro`,type:`textarea`,label:`项目简介`,required:!1,placeholder:`约200字左右`},{key:`recommend`,type:`text`,label:`推荐方`,required:!1,placeholder:`如有推荐单位或推荐人可填写`},{key:`commitment_accepted`,type:`checkbox`,label:`本人已阅读并同意《参赛承诺书》的全部内容`,required:!0,help:`提交报名即表示承诺所填信息真实有效,并遵守赛事规则。`},{key:`plan`,type:`file`,label:`上传商业计划书`,required:!0,help:`可上传多个文件,单文件 20M 以内`},{key:`supporting`,type:`file`,label:`其他佐证材料`,required:!1,help:`可选;格式同计划书`}];function x(e){return Array.isArray(e)?e.map(e=>typeof e==`object`&&e&&`label`in e&&`value`in e?{label:String(e.label),value:String(e.value)}:typeof e==`string`?{label:e,value:e}:null).filter(e=>e!=null&&String(e.label).trim()!==``&&String(e.value).trim()!==``):[]}function S(e){if(e!=null){if(Array.isArray(e)){let t=e.map(e=>String(e).trim().toLowerCase().replace(/^\./,``)).filter(e=>e!==``);return t.length?[...new Set(t)]:void 0}if(typeof e==`string`){let t=e.split(/[,;\s|]+/).map(e=>e.trim().toLowerCase().replace(/^\./,``)).filter(e=>e!==``);return t.length?[...new Set(t)]:void 0}}}function C(e){if(e==null||e===``)return;let t=typeof e==`number`?e:parseInt(String(e),10);if(!Number.isFinite(t))return;let n=Math.floor(t);return n>=1?n:void 0}function Ce(e){if(!Array.isArray(e)||e.length===0)return b.map(e=>({...e,options:e.options?[...e.options]:void 0}));let t=[];for(let n of e){if(typeof n!=`object`||!n)continue;let e=n,r=String(e.key??``).trim();if(!r)continue;let i=String(e.type??`text`),a=String(e.label??r),o=!!e.required,s=e.placeholder,c=s!=null&&String(s).trim()!==``?String(s).trim():void 0,l=e.help,u=l!=null&&String(l).trim()!==``?String(l).trim():void 0,d=e.prefill_from,ee=d!=null&&String(d).trim()!==``?String(d).trim():void 0,f=e.title_supplement,te=f!=null&&String(f).trim()!==``?String(f).trim():void 0,p,m=e.required_when;if(typeof m==`object`&&m&&!Array.isArray(m)){let e=m,t=String(e.field??``).trim(),n=e.values,r=Array.isArray(n)?n.map(e=>String(e).trim()).filter(e=>e!==``):[];t&&r.length&&(p={field:t,values:r})}let h;if(i===`select`&&Array.isArray(e.options)&&(h=x(e.options)),r===`track`&&(h=[]),i===`select`&&r!==`track`&&(!h||h.length===0))if(r===`location_province`)h=xe.map(e=>({label:e,value:e}));else{let e=b.find(e=>e.key===r);e?.options?.length&&(h=e.options.map(e=>({...e})))}let g,ne;i===`file`&&(g=S(e.file_extensions),ne=C(e.file_max_count)),t.push({key:r,type:i,label:a,title_supplement:te,required:o,placeholder:c,help:u,prefill_from:ee,options:h,required_when:p,file_extensions:g,file_max_count:ne})}return t.length?t:b.map(e=>({...e}))}var we={class:`apply-form-page`},Te={class:`form-page-header flex-shrink-0 mb-3`},Ee={class:`mb-0 form-page-title`},De={key:0,class:`text-secondary prototype-subtitle mb-0 mt-2`},Oe={key:1,class:`text-danger small mb-0 mt-2`},ke={key:2,class:`text-warning small mb-0 mt-2`},Ae={key:0,class:`apply-form-scroll`},je={class:`card mb-0`},Me={class:`card-body`},Ne={class:`application-status-mark`,"aria-hidden":`true`},Pe={key:0,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`none`},Fe={key:1,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`none`},Ie={class:`application-status-copy`},Le={class:`apply-contact-panel`,"aria-label":`咨询电话`},Re=[`href`],ze=[`href`],Be={key:0,class:`col-md-4`},Ve={class:`form-label`,id:`trackFieldLabel`},He={key:0,class:`text-danger`},Ue={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},We={class:`track-custom-select w-100`},Ge=[`required`,`disabled`],Ke=[`value`],qe={class:`dropdown w-100`},Je=[`disabled`],Ye={class:`track-toggle-label text-truncate`},Xe={key:0,class:`track-selected-note`},Ze={class:`dropdown-menu w-100 border shadow-sm rounded-2 py-0 my-1 track-custom-menu`},Qe=[`onClick`],$e={class:`track-pick-inline`},et={class:`text-body`},tt={key:0,class:`track-custom-note`},nt={key:0,class:`text-secondary prototype-subtitle d-block`},rt={key:1,class:`col-12`},it={class:`form-label`},at={key:0,class:`text-danger`},ot={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},st=[`accept`,`disabled`],ct={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},lt={key:1,class:`supporting-file-list mt-2`,"aria-live":`polite`},ut={class:`supporting-file-meta`},dt=[`title`],ft={class:`supporting-file-size`},pt={class:`supporting-file-actions`},mt=[`onClick`],ht=[`disabled`,`onClick`],gt={class:`text-secondary prototype-subtitle d-block`},_t={key:2,class:`invalid-feedback d-block`},vt={key:2,class:`col-12`},yt={class:`form-label`},bt={key:0,class:`text-danger`},xt={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},St=[`accept`,`disabled`],Ct={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},wt={key:1,class:`supporting-file-list mt-2`,"aria-live":`polite`},Tt={class:`supporting-file-meta`},Et=[`title`],Dt={class:`supporting-file-size`},Ot={class:`supporting-file-actions`},kt=[`onClick`],At=[`disabled`,`onClick`],jt={class:`text-secondary prototype-subtitle d-block`},Mt={key:2,class:`invalid-feedback d-block`},Nt={class:`form-label`},Pt={key:0,class:`text-danger`},Ft={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},It=[`onUpdate:modelValue`,`required`,`disabled`],Lt={value:``,disabled:``},Rt=[`value`],zt={class:`invalid-feedback`},Bt={key:0,class:`text-secondary prototype-subtitle d-block`},Vt={class:`form-label`},Ht={key:0,class:`text-danger`},Ut={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},Wt=[`required`,`disabled`],Gt={value:``,disabled:``},Kt=[`value`],qt={class:`invalid-feedback`},Jt={key:0,class:`text-secondary prototype-subtitle d-block`},Yt={class:`form-label`},Xt={key:0,class:`text-danger`},Zt={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},Qt={class:`d-flex flex-wrap align-items-center gap-2 mb-1`},$t=[`disabled`],en={key:0,class:`badge rounded-pill px-3 py-2 promise-signed-badge`},tn={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},nn={class:`form-check`},rn=[`id`,`onUpdate:modelValue`,`required`,`disabled`],an=[`for`],on={key:0,class:`text-danger ms-1`},sn={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},cn={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},ln={class:`form-label`},un={key:0,class:`text-danger`},dn={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},fn=[`onUpdate:modelValue`,`required`,`disabled`],pn={key:0,class:`d-flex flex-wrap align-items-baseline gap-2 mt-1 w-100`},mn={key:0,class:`apply-textarea-placeholder-hint mb-0`},hn={key:1,class:`text-secondary prototype-subtitle intro-char-count mb-0 ms-auto`},gn={class:`form-label`},_n={key:0,class:`text-danger`},vn={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},yn=[`onUpdate:modelValue`,`type`,`required`,`disabled`,`placeholder`,`pattern`,`autocomplete`],bn={class:`invalid-feedback`},xn={key:0,class:`text-secondary prototype-subtitle d-block`},Sn={class:`col-12 apply-form-actions mt-3 pt-3 border-top d-flex gap-2 flex-wrap`},Cn=[`disabled`],wn=[`disabled`],Tn={class:`modal-dialog modal-dialog-centered promise-sign-modal`},En={class:`modal-content promise-sign-sheet`},Dn={class:`modal-body pt-2`},On={class:`promise-doc-paper`},kn={class:`promise-doc-heading text-center`},An={class:`promise-doc-scroll`},jn=[`innerHTML`],Mn={class:`promise-doc-signblock`},Nn={class:`promise-doc-signrow`},Pn={class:`promise-sig-wrap`},Fn={class:`promise-sig-box`},In={class:`promise-doc-daterow`},Ln={class:`promise-doc-dateline`},Rn={class:`modal-dialog modal-dialog-centered notice-modal-dialog`},zn={class:`modal-body notice-modal-body`},Bn={class:`notice-icon`,"aria-hidden":`true`},Vn={key:0,viewBox:`0 0 24 24`,width:`36`,height:`36`,fill:`none`,"aria-hidden":`true`},Hn={key:1,viewBox:`0 0 24 24`,width:`36`,height:`36`,fill:`none`,"aria-hidden":`true`},Un={class:`notice-title`},Wn={key:0,class:`notice-text text-break`,style:{"white-space":`pre-wrap`}},Gn=20*1024*1024,Kn=`^1[3-9]\\d{9}$`,qn=`<p>本项目申报信息中所填写的各栏目内容真实、准确。本项目负责人(团队)对申报材料的真实性负完全责任。</p><p>若申报信息中存在虚假、伪造等不实情况,本项目负责人(团队)将积极配合调查,并按照有关规定接受处理。</p>`,Jn=2097152,w=fe(g({__name:`ApplyFormView`,setup(a){let g=de,fe=ue(),b=le(),x=d(()=>String(b.params.slug??``).trim());function S(e){let t=e.value;return t==null?null:Array.isArray(t)?t[0]??null:t}function C(e){let t=(e??``).trim();return!t||/applications\.|config\/contest|与提交校验|\^1\[3-9\]|kind=\s*plan|kind=\s*supporting|\\d\{9\}/i.test(t)?``:t}function w(e){return String(e.title_supplement??``).trim()}function T(){return se()}function E(){let e=x.value;return e?`?competition_slug=${encodeURIComponent(e)}`:``}function Yn(e){let t={Authorization:`Bearer ${localStorage.getItem(`cxxfds_token`)||``}`,Accept:`application/json`};e&&(t[`Content-Type`]=`application/json`);let n=x.value;return n&&(t[`X-Competition-Slug`]=n),t}let Xn=Promise.resolve();async function D(e,t){let n=()=>fetch(e,t),r=Xn.then(n,n);return Xn=r.then(()=>void 0,()=>void 0),r}function O(){localStorage.removeItem(oe);let e=x.value;e?fe.push({name:`participant-login`,params:{slug:e},query:{redirect:b.fullPath}}):fe.push(`/c`)}let k=l(Ce([]));function Zn(e){let t=Se.map(e=>e.toLowerCase()),n=new Set(t),r=e?.file_extensions;if(!Array.isArray(r)||r.length===0)return[...t];let i=[...new Set(r.map(e=>String(e).trim().toLowerCase().replace(/^\./,``)).filter(Boolean).filter(e=>n.has(e)))];return i.length>0?i:[...t]}function Qn(e){let t=e?.file_max_count;if(typeof t!=`number`||!Number.isFinite(t))return null;let n=Math.floor(t);return n>=1?n:null}function $n(e){return k.value.find(t=>t.type===`file`&&t.key===e)}function er(e){return Zn(e).map(e=>`.`+e).join(`,`)}let A=l([]),tr=l(!1),nr=l(``),rr=l(``),ir=d(()=>rr.value.trim()||qn),ar=l(he()),j=l(``),M=m({});function or(e){for(let t of e)t.type!==`file`&&(t.key in M||(M[t.key]=``));e.some(e=>e.key===`commitment_accepted`)&&!(`promise_signature`in M)&&(M.promise_signature=``)}let sr=d(()=>`jscc_signup_form_draft_v2_${x.value||`x`}`),cr=l(`draft`),lr=l(``),N=l(!0),ur=l(!0),P=d(()=>cr.value===`submitted`),F=d(()=>Br(lr.value)),dr=d(()=>P.value&&N.value?`报名已提交,可继续修改`:P.value&&ur.value&&!N.value?`报名已提交,仅可补传附件`:P.value?`报名已提交,已锁定`:!N.value&&ur.value?`报名未提交,仅可补传附件`:N.value?`报名信息未提交`:`报名未提交,当前不可编辑`),fr=d(()=>P.value&&N.value?`${F.value?`上次提交时间:${F.value}。`:``}在报名截止且没有任一评委提交评分前,你仍可修改资料、增删附件,并点击“更新报名”覆盖提交。评审开始后报名会自动锁定,请保持联系方式畅通。`:ur.value&&!N.value?`${F.value?`提交时间:${F.value}。`:``}报名已截止,组委会已开放你补传附件:可上传或删除附件,上传成功即生效,无需再次提交。其他报名信息不可修改;若已有评委评审则仍会锁定。`:P.value?`${F.value?`提交时间:${F.value}。`:``}报名已因截止或评审记录产生而锁定,不能再修改资料、增删附件或重复提交。后续请等待赛事组委会通知;如需更正请联系组委会。`:N.value?`请完整填写报名信息、上传商业计划书并签署承诺书;点击“保存”只暂存草稿,点击“提交报名”后才进入已提交状态。`:`当前报名窗口已关闭或报名已被锁定,无法新建、保存或提交报名。如认为状态异常,请联系赛事组委会。`),pr=l(!1),mr=l(null),hr=l(null),gr=d(()=>{let e=M.track,t=A.value.find(t=>t.track_code===e);return t?t.title:e||`请选择主题赛道`}),_r=d(()=>M.track?`text-body`:`text-secondary`),vr=d(()=>{let e=M.track;return(A.value.find(t=>t.track_code===e)?.description??``).trim()});function yr(e){return(e??``).trim()}function br(e){M.track=e,pr.value=!1;let t=S(hr);t&&g.getInstance(t)?.hide()}let I=d(()=>M.location_country===`中国`),xr=d(()=>M.location_country===`海外`),Sr=d(()=>xe.map(e=>({label:e,value:e}))),Cr=d(()=>{let e=M.location_province;return e?(be[e]||[]).map(e=>({label:e,value:e})):[]});function wr(){xr.value?(M.location_province=``,M.location_city=``):I.value||(M.location_province=``,M.location_city=``,M.oversea_country=``)}u(()=>M.location_country,()=>{wr()}),u(()=>M.location_province,(e,t)=>{I.value&&e!==t&&(t==null||String(t).trim()===``||(M.location_city=``))}),u(()=>M.entry_group,e=>{e===`创新组`&&(M.company_name=``)});let L=l([]),R=l([]),z=l([]),B=l(!1),V=l(``),H=l(``),Tr=l(``),Er=l(``),U=l(!1),W=d(()=>!N.value),G=d(()=>!ur.value),Dr=l(null),Or=l(null),kr=l(null),Ar=d(()=>(M.intro||``).length),jr=d(()=>pe(ar.value,nr.value)),Mr=d(()=>{let e=ar.value.apply?.headerSubtitle;return me(e)?String(e).trim():``});function Nr(e){let t=String(M[e.key]??``).trim();return e.type===`email`||e.key===`contact_email`?t?`请输入正确的邮箱格式`:`请填写${e.label}`:(e.type===`tel`||e.key===`contact_mobile`)&&t?`请输入正确的11位中国大陆手机号`:`请填写${e.label}`}function K(e){return e.type===`textarea`||e.type===`file`||e.type===`checkbox`?`col-12`:`col-md-4`}function Pr(e){return e.type===`textarea`?String(e.placeholder??``).trim():``}function Fr(e){return e.type===`file`?!0:e.key===`company_name`?M.entry_group!==`创新组`:e.key===`location_province`||e.key===`location_city`?I.value:e.key===`oversea_country`?xr.value:!0}function q(e){if(e.key===`location_province`||e.key===`location_city`)return I.value;if(e.key===`oversea_country`)return xr.value;let t=e.required_when;if(t?.field&&t.values?.length){let e=String(M[t.field]??``).trim();if(t.values.includes(e))return!0}return e.required}let Ir=d(()=>k.value.filter(e=>Fr(e)));function Lr(e){return e.key===`track`?A.value.map(e=>({label:e.title,value:e.track_code})):e.key===`location_province`?Sr.value:e.key===`location_city`&&I.value?Cr.value:e.options??[]}function Rr(e){return e.key===`location_city`&&I.value}function zr(e){return e>=1024*1024?`${(e/1024/1024).toFixed(1).replace(/\.0$/,``)}M`:e>=1024?`${Math.ceil(e/1024)}K`:`${e}B`}function J(e){return e.file?e.file.name:e.original_name||``}function Br(e){if(!e)return``;let t=new Date(e);if(Number.isNaN(t.getTime()))return``;let n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`}function Vr(e){if(e.length===0)return`尚未选择文件`;let t=e.filter(e=>e.fromServer).length;return t===e.length?`已上传 ${e.length} 个文件`:`已选择 ${e.length} 个文件,正在上传 ${e.length-t} 个`}function Hr(e){return`请选择${e.label}`}function Ur(e){let t=e.message||``,n=e.errors;return n&&Object.keys(n).length?`${t}\n${JSON.stringify(n)}`:t||`操作失败`}let Wr=l(null),Gr=l(`提示`),Kr=l(``),qr=l(!1);function Y(e,t=`提示`,n=`warning`){return Gr.value=t,Kr.value=e,qr.value=n===`success`,new Promise(e=>{i(()=>{let t=Wr.value;if(!t){e();return}t.addEventListener(`hidden.bs.modal`,()=>e(),{once:!0}),ce.getOrCreateInstance(t).show()})})}function Jr(e){return e===`navigateTo`||e===`reLaunch`||e===`switchTab`?e:`redirectTo`}function Yr(e){if(!e)return null;if(e.type===`mini_program`){let t=typeof e.path==`string`?e.path.trim():``;return t?{type:`mini_program`,path:t,method:Jr(e.method)}:null}let t=typeof e.redirect_url==`string`?e.redirect_url.trim():``;return t?{type:`web`,redirectUrl:t}:null}let Xr=null;function Zr(){if(window.wx?.miniProgram)return Promise.resolve(window.wx);if(Xr)return Xr;let e=new Promise((e,t)=>{let n=document.querySelector(`script[data-cxcyds-wx-jssdk="true"]`);if(n){n.addEventListener(`load`,()=>window.wx?e(window.wx):t(Error(`wx missing`)),{once:!0}),n.addEventListener(`error`,()=>t(Error(`wx jssdk load failed`)),{once:!0});return}let r=document.createElement(`script`);r.src=`https://res.wx.qq.com/open/js/jweixin-1.6.0.js`,r.async=!0,r.dataset.cxcydsWxJssdk=`true`,r.onload=()=>{window.wx?.miniProgram?e(window.wx):t(Error(`wx miniProgram bridge missing`))},r.onerror=()=>t(Error(`wx jssdk load failed`)),document.head.appendChild(r)}).finally(()=>{Xr=null});return Xr=e,e}async function Qr(e,t){try{let n=(await Zr()).miniProgram?.[t];return typeof n==`function`?(n({url:e}),!0):!1}catch{return!1}}let $r=l(null),X=l(null),ei=l(``),ti=l(!0),Z=null,ni=520,ri=140,ii=!1,ai=!1,oi=null,si=null;function ci(){oi?.abort(),oi=null}let li=d(()=>M.commitment_accepted===`1`&&String(M.promise_signature??``).trim()!==``),ui=d(()=>{let e=nr.value.trim();return e?`${e} 赛事承诺书`:`赛事承诺书`});function di(e){return`${e.getFullYear()}年${e.getMonth()+1}月${e.getDate()}日`}function fi(e,t){let n=t.getBoundingClientRect();if(`touches`in e&&e.touches[0]){let t=e.touches[0];return{x:t.clientX-n.left,y:t.clientY-n.top}}let r=e;return{x:r.clientX-n.left,y:r.clientY-n.top}}function pi(){let e=X.value;if(!e)return;let t=e.closest(`.promise-sig-wrap`),n=window.devicePixelRatio||1,r=window.getComputedStyle(e);ni=Math.max(280,Math.floor(t?.clientWidth||520)),ri=Math.max(76,Math.floor(parseFloat(r.height)||110)),e.style.width=`${ni}px`,e.style.height=`${ri}px`,e.width=Math.floor(ni*n),e.height=Math.floor(ri*n),Z=e.getContext(`2d`),Z&&(Z.setTransform(1,0,0,1,0,0),Z.scale(n,n),Z.fillStyle=`#ffffff`,Z.fillRect(0,0,ni,ri),Z.strokeStyle=`#111111`,Z.lineWidth=2,Z.lineCap=`round`,Z.lineJoin=`round`,ai=!1,ti.value=!0)}function mi(){let e=String(M.promise_signature??``).trim();if(!e||!Z)return;let t=new Image;t.onload=()=>{Z&&(Z.drawImage(t,0,0,ni,ri),ai=!0,ti.value=!1)},t.src=e}function hi(){let e=X.value;if(!e||!Z)return;ci(),oi=new AbortController;let{signal:t}=oi,n=t=>{if(`touches`in t&&t.preventDefault(),!Z)return;ii=!0;let n=fi(t,e);Z.beginPath(),Z.moveTo(n.x,n.y)},r=t=>{if(!ii||!Z)return;`touches`in t&&t.preventDefault();let n=fi(t,e);Z.lineTo(n.x,n.y),Z.stroke(),ai=!0,ti.value=!1},i=()=>{ii=!1};e.addEventListener(`mousedown`,n,{signal:t}),e.addEventListener(`mousemove`,r,{signal:t}),window.addEventListener(`mouseup`,i,{signal:t}),e.addEventListener(`touchstart`,n,{passive:!1,signal:t}),e.addEventListener(`touchmove`,r,{passive:!1,signal:t}),e.addEventListener(`touchend`,i,{signal:t}),e.addEventListener(`touchcancel`,i,{signal:t})}function gi(){ei.value=di(new Date);let e=t=>{if(!X.value){t<40&&requestAnimationFrame(()=>e(t+1));return}pi(),hi(),String(M.promise_signature??``).trim()&&M.commitment_accepted===`1`&&mi()};i(()=>{requestAnimationFrame(()=>e(0))})}function _i(e){si?.();let t=()=>{gi()},n=()=>{ci()};e.addEventListener(`shown.bs.modal`,t),e.addEventListener(`hidden.bs.modal`,n),si=()=>{e.removeEventListener(`shown.bs.modal`,t),e.removeEventListener(`hidden.bs.modal`,n),si=null}}u($r,e=>{si?.(),e&&_i(e)},{flush:`post`});function vi(){if(W.value)return;let e=$r.value;e&&ce.getOrCreateInstance(e).show()}function yi(){pi(),hi()}function bi(){let e=X.value;if(!ai||!e){Y(`请先在签名区域内手写签名后再确认。`,`请确认`,`warning`);return}let t=e.toDataURL(`image/png`);if(t.length>Jn){Y(`签名数据过大,请清除后重新签名或联系管理员。`,`提示`,`warning`);return}M.promise_signature=t,M.commitment_accepted=`1`;let n=$r.value;n&&ce.getInstance(n)?.hide()}function xi(){let e={};for(let t of k.value)if(t.type!==`file`){if(t.type===`checkbox`){e[t.key]=M[t.key]===`1`;continue}e[t.key]=M[t.key]??``}return k.value.some(e=>e.key===`commitment_accepted`)&&M.commitment_accepted===`1`&&(e.promise_signature=M.promise_signature??``),e}function Si(e,t,n,r){let i=Zn(r),a=Qn(r),o=e.filter(e=>e.file),s=e.filter(e=>e.fromServer&&!e.file);if(!o.length&&!s.length)return{ok:n,feedback:n?``:t};if(a!==null&&e.length>a)return{ok:!1,feedback:`最多可上传 ${a} 个文件,请删除多余文件后重试`};let c=o.map(e=>e.file).find(e=>{let t=(e.name.split(`.`).pop()||``).toLowerCase();return!i.includes(t)});if(c)return{ok:!1,feedback:`“${c.name}”格式不支持,请上传 ${i.join(`、`)} 格式的文件`};let l=o.map(e=>e.file).find(e=>e.size>Gn);return l?{ok:!1,feedback:`“${l.name}”大小不能超过20M`}:{ok:!0,feedback:``}}function Ci(){return k.value.some(e=>e.key===`plan`&&e.type===`file`)}function wi(){return k.value.some(e=>e.key===`supporting`&&e.type===`file`)}function Q(){if(!Ci())return S(Or)?.setCustomValidity(``),!0;let e=$n(`plan`),t=Si(L.value,`请上传商业计划书`,!1,e);return Tr.value=t.feedback,S(Or)?.setCustomValidity(t.ok?``:`missing`),t.ok}function $(){if(!wi())return S(kr)?.setCustomValidity(``),!0;let e=$n(`supporting`),t=Si(R.value,`文件格式或大小不符合要求`,!0,e);return Er.value=t.feedback,S(kr)?.setCustomValidity(t.ok?``:`bad`),t.ok}function Ti(){U.value=!0,Q(),$();let e=k.value.find(e=>e.key===`track`);if(e&&Fr(e)){pr.value=!M.track;let e=S(mr);e&&e.setCustomValidity(M.track?``:`请选择主题赛道`)}else pr.value=!1,S(mr)?.setCustomValidity(``);return!(Dr.value?.checkValidity()??!1)||e&&q(e)&&!M.track||!Q()||!$()?!1:k.value.find(e=>e.key===`commitment_accepted`)&&(M.commitment_accepted!==`1`||!String(M.promise_signature??``).trim())?(Y(`请先阅读并完成参赛承诺书的手写签署。`,`提示`,`warning`),!1):!0}async function Ei(e){let t=localStorage.getItem(oe);if(!t)return;let n=(e===`plan`?L.value:R.value).filter(e=>e.file&&!e.fromServer);if(n.length!==0){for(let r of n){if(!r.file)continue;let n=new FormData;n.append(`kind`,e===`plan`?`plan`:`supporting`),n.append(`file`,r.file);let i=await D(`${T()}/api/applications/current/files${E()}`,{method:`POST`,headers:{Authorization:`Bearer ${t}`,Accept:`application/json`},body:n}),a=await i.json().catch(()=>({}));if(i.status===401){O();return}if(!i.ok){Y(Ur(a),`提示`,`warning`);return}let o=r.previewUrl;r.id=a.id,r.fromServer=!0,r.original_name=a.original_name,r.size=a.size;let s=ae(String(a.url??``));r.url=s,r.previewUrl=s,o&&String(o).startsWith(`blob:`)&&URL.revokeObjectURL(o),delete r.file}Y(`文件已上传。`,`上传成功`,`success`),e===`plan`?Q():$()}}function Di(e){e.localBlobUrl&&e.localBlobUrl.startsWith(`blob:`)&&(URL.revokeObjectURL(e.localBlobUrl),delete e.localBlobUrl),e.previewUrl&&String(e.previewUrl).startsWith(`blob:`)&&URL.revokeObjectURL(e.previewUrl)}async function Oi(e){if(e.localBlobUrl){window.open(e.localBlobUrl,`_blank`,`noopener,noreferrer`);return}if(e.file&&e.previewUrl?.startsWith(`blob:`)){window.open(e.previewUrl,`_blank`,`noopener,noreferrer`);return}let t=ae(e.previewUrl||e.url);if(!t)return;if(!e.fromServer){window.open(t,`_blank`,`noopener,noreferrer`);return}let n=e.original_name?.trim()||`附件`,r=ye(n,e.size,`打开`);if(r)try{let i=await fetch(t,{credentials:`omit`,headers:{Accept:`application/json,*/*`}});if(!i.ok){let e=`附件文件不存在或已丢失`;try{let t=await i.json();typeof t.message==`string`&&t.message.trim()&&(e=t.message.trim())}catch{}await Y(e,`提示`,`warning`);return}r.setText(`正在打开「${n}」…`);let a=await i.blob(),o=URL.createObjectURL(a);e.localBlobUrl=o,window.open(o,`_blank`,`noopener,noreferrer`)}catch{await Y(`网络错误,无法打开附件`,`提示`,`warning`)}finally{r.close()}}async function ki(e,t){let n=String(e);if(G.value||z.value.includes(n))return;let r=t===`plan`?[...L.value]:[...R.value],i=r.find(e=>String(e.id)===n);if(!i)return;let a=i.fromServer?Number(i.id):NaN;if(i.fromServer&&Number.isFinite(a)&&a>0){if(!localStorage.getItem(`cxxfds_token`)){O();return}z.value=[...z.value,n];try{let e=new AbortController,t=window.setTimeout(()=>e.abort(),15e3),n=await D(`${T()}/api/applications/current/files/${a}/delete${E()}`,{method:`POST`,headers:Yn(!1),signal:e.signal});if(window.clearTimeout(t),n.status===401){O();return}if(n.status!==404&&!n.ok){Y(`删除失败`,`提示`,`warning`);return}}catch(e){Y(e instanceof DOMException&&e.name===`AbortError`?`删除超时,请关闭已打开的预览窗口后重试`:`删除失败`,`提示`,`warning`);return}finally{z.value=z.value.filter(e=>e!==n)}}Di(i),r=r.filter(t=>String(t.id)!==String(e)),t===`plan`?L.value=r:R.value=r,U.value=!0,t===`plan`?Q():$()}function Ai(e,t){if(!e?.length||G.value)return;let n=Qn($n(t)),r=t===`plan`?[...L.value]:[...R.value],i=Array.from(e),a=n===null?i.length:Math.max(0,n-r.length);if(i.length>a&&n!==null&&Y(`该栏最多上传 ${n} 个文件,已忽略多余 ${i.length-a} 个选择。`,`提示`,`warning`),i=i.slice(0,a),i.forEach(e=>{r.push({id:`tmp-${Date.now()}-${Math.random().toString(16).slice(2)}`,file:e,previewUrl:URL.createObjectURL(e),fromServer:!1})}),t===`plan`){L.value=[...r],V.value=``;let e=S(Or);e&&(e.value=``),U.value=!0,Q()}else{R.value=[...r],H.value=``;let e=S(kr);e&&(e.value=``),U.value=!0,$()}Ei(t)}function ji(){return{formModel:{...M},planFileNames:L.value.map(J).filter(Boolean),supportingFileNames:R.value.map(J).filter(Boolean)}}function Mi(){let e=ji();localStorage.setItem(sr.value,JSON.stringify(e)),e.planFileNames.length?V.value=`已保存商业计划书名称:${e.planFileNames.join(`、`)}`:V.value=``,e.supportingFileNames.length?H.value=`已保存其他佐证材料名称:${e.supportingFileNames.join(`、`)}`:H.value=``}function Ni(){let e=localStorage.getItem(sr.value);if(e)try{let t=JSON.parse(e);if(t.formModel&&typeof t.formModel==`object`)for(let e of Object.keys(t.formModel))M[e]=t.formModel[e]??``;let n=t.planFileNames||[];n.length&&(V.value=`上次保存商业计划书名称:${n.join(`、`)}(浏览器限制,需重新选择后预览或删除)`);let r=t.supportingFileNames;r?.length&&(H.value=`上次保存其他佐证材料名称:${r.join(`、`)}(浏览器限制,需重新选择后预览或删除)`),wr()}catch{localStorage.removeItem(sr.value)}}async function Pi(){tr.value=!1;let e=x.value;if(!e){j.value=`缺少赛事地址`;return}j.value=``;try{let t=await fetch(`${T()}/api/v1/public/competitions/by-slug/${encodeURIComponent(e)}`,{headers:{Accept:`application/json`}});if(!t.ok){j.value=t.status===404?`赛事不存在或未发布`:`无法加载赛事配置`;return}let n=await t.json(),r=n.data!=null&&typeof n.data==`object`&&!Array.isArray(n.data)?n.data:n;nr.value=String(r.name??``),rr.value=typeof r.pledge_content_html==`string`?r.pledge_content_html:``;let i=r.tracks;A.value=Array.isArray(i)?i:[];let a=r.signup_form_schema;if(typeof a==`string`)try{a=JSON.parse(a)}catch{a=[]}k.value=Ce(a),or(k.value),ar.value=ge(r.branding_json??null);let o=ar.value.documentTitle;me(o)&&typeof document<`u`&&(document.title=o.trim()),tr.value=!0}catch{j.value=`网络错误,无法加载赛事`}}function Fi(e){cr.value=e.status||`draft`,lr.value=typeof e.submitted_at==`string`?e.submitted_at:``,N.value=e.participant_may_edit!==!1,ur.value=typeof e.participant_may_edit_files==`boolean`?e.participant_may_edit_files:e.participant_may_edit!==!1;for(let t of k.value){if(t.type===`file`||t.key===`commitment_accepted`||t.key===`promise_signature`)continue;let n=Object.prototype.hasOwnProperty.call(e,t.key)?e[t.key]:void 0;t.type===`checkbox`?M[t.key]=n?`1`:``:M[t.key]=n==null?``:String(n)}let t=Object.prototype.hasOwnProperty.call(e,`promise_signature`),n=t?typeof e.promise_signature==`string`?e.promise_signature:``:String(M.promise_signature??``);(t||!e.promise_signed_at)&&(M.promise_signature=n),M.commitment_accepted=n.trim()&&e.promise_signed_at?`1`:``,wr(),L.value=(e.files||[]).filter(e=>e.kind===`plan`).map(e=>{let t=ae(e.url);return{id:e.id,fromServer:!0,original_name:e.original_name,size:e.size,url:t,previewUrl:t}}),R.value=(e.files||[]).filter(e=>e.kind===`supporting`).map(e=>{let t=ae(e.url);return{id:e.id,fromServer:!0,original_name:e.original_name,size:e.size,url:t,previewUrl:t}}),Q(),$()}async function Ii(){if(!localStorage.getItem(`cxxfds_token`))return!1;let e=new AbortController,t=window.setTimeout(()=>e.abort(),2e4);try{let t=await D(`${T()}/api/applications/current${E()}`,{headers:Yn(!1),signal:e.signal});return t.status===401?(localStorage.removeItem(oe),O(),!1):t.ok?(Fi(await t.json()),!0):!1}catch{return!1}finally{window.clearTimeout(t)}}async function Li(){if(B.value)return!1;B.value=!0;let e=new AbortController,t=window.setTimeout(()=>e.abort(),2e4);try{let t=await D(`${T()}/api/applications/current/save${E()}`,{method:`POST`,headers:Yn(!0),body:JSON.stringify(xi()),signal:e.signal});if(t.status===401)return O(),!1;if(!t.ok)return t.json().catch(()=>({})),Y(`草稿未能保存,请检查网络或稍后重试。`,`保存失败`,`warning`),!1;try{Fi(await t.json())}catch{}return!0}catch(e){return Y(e instanceof DOMException&&e.name===`AbortError`?`保存超时,请稍后重试`:`草稿未能保存,请检查网络或稍后重试。`,`保存失败`,`warning`),!1}finally{window.clearTimeout(t),B.value=!1}}function Ri(e){if(typeof e!=`object`||!e||Array.isArray(e))return[];let t=[];for(let n of Object.values(e))if(Array.isArray(n))for(let e of n)typeof e==`string`&&e.trim()&&t.push(e.trim());else typeof n==`string`&&n.trim()&&t.push(n.trim());return t}function zi(e){let t=e.trim();return t===`The given data was invalid.`||t===`The given data was invalid`||t===`给定的数据无效。`||t===`给定的数据无效`}function Bi(e,t){let n=Ri(t.errors);if(n.length>0)return n[0];let r=t.message;if(typeof r==`string`&&r.trim()){let e=r.trim();if(!zi(e))return e}return e===404?`赛事不存在或未发布,请返回重新进入报名页。`:e===403?`当前账号无权限提交,请确认登录状态或联系管理员。`:e===409?`报名状态已变更或发生冲突,请刷新页面后重试。`:e===429?`请求过于频繁,请稍后再试。`:e>=500?`服务暂时不可用,请稍后重试。`:e===422?`提交失败,请填写完整信息。`:`报名未能提交,请检查网络或稍后重试。`}async function Vi(){let e=new AbortController,t=window.setTimeout(()=>e.abort(),3e4);try{let t=await D(`${T()}/api/applications/current/submit${E()}`,{method:`POST`,headers:Yn(!0),body:JSON.stringify(xi()),signal:e.signal});if(t.status===401)return O(),!1;if(!t.ok){let e={};try{e=await t.json()}catch{}return Y(Bi(t.status,e),`提交失败`,`warning`),!1}let n=await t.json();Fi(n);let r=n.success_notice,i=r?.enabled===!0&&typeof r.message==`string`?r.message.trim():``;return{channelCallback:Yr(n.channel_callback),successNoticeMessage:i}}catch(e){return Y(e instanceof DOMException&&e.name===`AbortError`?`提交超时,请稍后重试`:`报名未能提交,请检查网络或稍后重试。`,`提交失败`,`warning`),!1}finally{window.clearTimeout(t)}}async function Hi(){if(!localStorage.getItem(`cxxfds_token`)){O();return}await Li()&&(Mi(),Y(`已保存草稿(按当前已填写信息暂存)。`,`保存成功`,`success`))}async function Ui(){if(!localStorage.getItem(`cxxfds_token`)){O();return}if(!Ti())return;let e=await Vi();if(!e)return;let t=e.successNoticeMessage||`已提交报名`;if(e.channelCallback){if(await Y(t,`提交成功`,`success`),e.channelCallback.type===`mini_program`){await Qr(e.channelCallback.path,e.channelCallback.method)||Y(`未检测到微信小程序回跳能力,请从小程序内重新进入或联系管理员。`,`回跳失败`,`warning`);return}window.location.href=e.channelCallback.redirectUrl;return}Y(t,`提交成功`,`success`)}return o(()=>{si?.(),ci()}),s(()=>{(async()=>{await Pi(),!j.value&&(await Ii()||Ni(),wr())})()}),(i,a)=>(_(),v(`div`,we,[y(`div`,Te,[y(`h5`,Ee,h(jr.value),1),!j.value&&Mr.value?(_(),v(`p`,De,h(Mr.value),1)):t(``,!0),j.value?(_(),v(`p`,Oe,h(j.value),1)):tr.value&&A.value.length===0&&k.value.some(e=>e.key===`track`)?(_(),v(`p`,ke,` 本场赛事尚未在「赛道管理」中配置可用赛道,提交时可能会失败,请联系管理员。 `)):t(``,!0)]),j.value?t(``,!0):(_(),v(`div`,Ae,[y(`div`,je,[y(`div`,Me,[y(`div`,{class:e([`application-status-panel`,P.value?`application-status-panel--submitted`:`application-status-panel--draft`]),role:`status`,"aria-live":`polite`},[y(`div`,Ne,[P.value?(_(),v(`svg`,Pe,[...a[5]||=[y(`circle`,{cx:`12`,cy:`12`,r:`9.5`,stroke:`currentColor`,"stroke-width":`1.8`},null,-1),y(`path`,{d:`M7.6 12.2l2.8 2.8 6-6.2`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):(_(),v(`svg`,Fe,[...a[6]||=[y(`circle`,{cx:`12`,cy:`12`,r:`9.5`,stroke:`currentColor`,"stroke-width":`1.8`},null,-1),y(`path`,{d:`M12 7.5v5.2`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`},null,-1),y(`circle`,{cx:`12`,cy:`16.5`,r:`1`,fill:`currentColor`},null,-1)]]))]),y(`div`,Ie,[y(`strong`,null,h(dr.value),1),y(`span`,null,h(fr.value),1)])],2),y(`div`,Le,[a[7]||=y(`span`,{class:`apply-contact-label`},`参赛咨询:`,-1),(_(!0),v(p,null,c(r(ve),e=>(_(),v(`a`,{key:e.tel,href:`tel:${e.tel}`},h(e.display),9,Re))),128)),y(`a`,{href:`tel:${r(_e).tel}`},`技术咨询:`+h(r(_e).display),9,ze)]),y(`form`,{id:`applyForm`,ref_key:`applyFormEl`,ref:Dr,class:e([`row g-3`,{"was-validated":U.value}]),onSubmit:a[4]||=ne(()=>{},[`prevent`])},[(_(!0),v(p,null,c(Ir.value,r=>(_(),v(p,{key:r.type===`file`?`f-`+r.key:r.key},[r.key===`track`?(_(),v(`div`,Be,[y(`label`,Ve,[n(h(r.label)+` `,1),q(r)?(_(),v(`span`,He,`*`)):t(``,!0),w(r)?(_(),v(`span`,Ue,h(w(r)),1)):t(``,!0)]),y(`div`,We,[f(y(`select`,{id:`track`,ref_for:!0,ref_key:`trackHiddenSelect`,ref:mr,"onUpdate:modelValue":a[0]||=e=>M.track=e,class:`visually-hidden`,required:q(r),tabindex:`-1`,"aria-hidden":`true`,disabled:W.value},[(_(!0),v(p,null,c(A.value,e=>(_(),v(`option`,{key:e.track_code,value:e.track_code},h(e.title),9,Ke))),128))],8,Ge),[[ie,M.track]]),y(`div`,qe,[y(`button`,{ref_for:!0,ref_key:`trackDropdownBtn`,ref:hr,type:`button`,class:e([`dropdown-toggle form-select track-custom-toggle editable w-100 text-start`,{"is-invalid":pr.value&&U.value}]),"aria-labelledby":`trackFieldLabel`,"aria-expanded":`false`,"data-bs-toggle":`dropdown`,"data-bs-display":`static`,"data-bs-auto-close":`true`,disabled:W.value},[y(`span`,Ye,[y(`span`,{class:e(_r.value)},h(gr.value),3)])],10,Je),vr.value?(_(),v(`small`,Xe,h(vr.value),1)):t(``,!0),y(`ul`,Ze,[(_(!0),v(p,null,c(A.value,e=>(_(),v(`li`,{key:e.track_code},[y(`button`,{type:`button`,class:`dropdown-item track-pick border-0 w-100 text-start rounded-0`,onClick:t=>br(e.track_code)},[y(`span`,$e,[y(`span`,et,h(e.title),1),yr(e.description)?(_(),v(`span`,tt,h(yr(e.description)),1)):t(``,!0)])],8,Qe)]))),128))]),a[8]||=y(`div`,{class:`invalid-feedback`},`请选择主题赛道`,-1)])]),C(r.help)?(_(),v(`small`,nt,h(C(r.help)),1)):t(``,!0)])):r.type===`file`&&r.key===`plan`?(_(),v(`div`,rt,[y(`label`,it,[n(h(r.label)+` `,1),q(r)?(_(),v(`span`,at,`*`)):t(``,!0),w(r)?(_(),v(`span`,ot,h(w(r)),1)):t(``,!0)]),y(`input`,{ref_for:!0,ref_key:`planFileInput`,ref:Or,type:`file`,class:e([`form-control editable`,{"is-invalid":U.value&&!!Tr.value}]),accept:er(r),multiple:``,disabled:G.value,onChange:a[1]||=e=>Ai(e.target.files,`plan`)},null,42,st),y(`div`,{class:e([`apply-file-status`,{"apply-file-status--filled":L.value.length>0}])},h(Vr(L.value)),3),C(r.help)?(_(),v(`small`,ct,h(C(r.help)),1)):t(``,!0),L.value.length?(_(),v(`div`,lt,[(_(!0),v(p,null,c(L.value,e=>(_(),v(`div`,{key:String(e.id),class:`supporting-file-item`},[y(`div`,ut,[y(`span`,{class:`supporting-file-name`,title:J(e)},h(J(e)),9,dt),y(`span`,ft,h(zr(e.file?e.file.size:e.size||0)),1)]),y(`div`,pt,[y(`button`,{type:`button`,class:`btn btn-sm btn-outline-primary`,onClick:t=>Oi(e)},` 查看/下载 `,8,mt),y(`button`,{type:`button`,class:`btn btn-sm btn-outline-danger`,disabled:G.value||z.value.includes(String(e.id)),onClick:t=>ki(e.id,`plan`)},h(z.value.includes(String(e.id))?`删除中…`:`删除`),9,ht)])]))),128))])):t(``,!0),y(`small`,gt,h(V.value),1),U.value&&Tr.value?(_(),v(`div`,_t,h(Tr.value),1)):t(``,!0)])):r.type===`file`&&r.key===`supporting`?(_(),v(`div`,vt,[y(`label`,yt,[n(h(r.label)+` `,1),q(r)?(_(),v(`span`,bt,`*`)):t(``,!0),w(r)?(_(),v(`span`,xt,h(w(r)),1)):t(``,!0)]),y(`input`,{ref_for:!0,ref_key:`supportingFileInput`,ref:kr,type:`file`,class:e([`form-control editable`,{"is-invalid":U.value&&!!Er.value}]),accept:er(r),multiple:``,disabled:G.value,onChange:a[2]||=e=>Ai(e.target.files,`supporting`)},null,42,St),y(`div`,{class:e([`apply-file-status`,{"apply-file-status--filled":R.value.length>0}])},h(Vr(R.value)),3),C(r.help)?(_(),v(`small`,Ct,h(C(r.help)),1)):t(``,!0),R.value.length?(_(),v(`div`,wt,[(_(!0),v(p,null,c(R.value,e=>(_(),v(`div`,{key:String(e.id),class:`supporting-file-item`},[y(`div`,Tt,[y(`span`,{class:`supporting-file-name`,title:J(e)},h(J(e)),9,Et),y(`span`,Dt,h(zr(e.file?e.file.size:e.size||0)),1)]),y(`div`,Ot,[y(`button`,{type:`button`,class:`btn btn-sm btn-outline-primary`,onClick:t=>Oi(e)},` 查看/下载 `,8,kt),y(`button`,{type:`button`,class:`btn btn-sm btn-outline-danger`,disabled:G.value||z.value.includes(String(e.id)),onClick:t=>ki(e.id,`supporting`)},h(z.value.includes(String(e.id))?`删除中…`:`删除`),9,At)])]))),128))])):t(``,!0),y(`small`,jt,h(H.value),1),U.value&&Er.value?(_(),v(`div`,Mt,h(Er.value),1)):t(``,!0)])):r.type===`select`&&!Rr(r)?(_(),v(`div`,{key:3,class:e(K(r))},[y(`label`,Nt,[n(h(r.label)+` `,1),q(r)?(_(),v(`span`,Pt,`*`)):t(``,!0),w(r)?(_(),v(`span`,Ft,h(w(r)),1)):t(``,!0)]),f(y(`select`,{"onUpdate:modelValue":e=>M[r.key]=e,class:`form-select editable`,required:q(r),disabled:W.value},[y(`option`,Lt,h(Hr(r)),1),(_(!0),v(p,null,c(Lr(r),e=>(_(),v(`option`,{key:`${r.key}-${e.value}`,value:e.value},h(e.label),9,Rt))),128))],8,It),[[ie,M[r.key]]]),y(`div`,zt,`请选择`+h(r.label),1),C(r.help)?(_(),v(`small`,Bt,h(C(r.help)),1)):t(``,!0)],2)):Rr(r)?(_(),v(`div`,{key:4,class:e(K(r))},[y(`label`,Vt,[n(h(r.label)+` `,1),q(r)?(_(),v(`span`,Ht,`*`)):t(``,!0),w(r)?(_(),v(`span`,Ut,h(w(r)),1)):t(``,!0)]),f(y(`select`,{"onUpdate:modelValue":a[3]||=e=>M.location_city=e,class:`form-select editable`,required:q(r),disabled:W.value||!I.value||!String(M.location_province??``).trim()},[y(`option`,Gt,h(String(M.location_province??``).trim()?Hr(r):`请先选择省份`),1),(_(!0),v(p,null,c(Lr(r),e=>(_(),v(`option`,{key:e.value,value:e.value},h(e.label),9,Kt))),128))],8,Wt),[[ie,M.location_city]]),y(`div`,qt,`请选择`+h(r.label),1),C(r.help)?(_(),v(`small`,Jt,h(C(r.help)),1)):t(``,!0)],2)):r.type===`checkbox`&&r.key===`commitment_accepted`?(_(),v(`div`,{key:5,class:e(K(r))},[y(`label`,Yt,[n(h(r.label)+` `,1),q(r)?(_(),v(`span`,Xt,`*`)):t(``,!0),w(r)?(_(),v(`span`,Zt,h(w(r)),1)):t(``,!0)]),a[9]||=y(`p`,{class:`small text-secondary mb-2`},` 请点击按钮打开承诺书全文,阅读后在文末手写签名并点击「确认签署」。 `,-1),y(`div`,Qt,[y(`button`,{type:`button`,class:`btn btn-outline-primary btn-sm editable`,disabled:W.value,onClick:vi},h(li.value?`重新查看承诺书`:`查看并签署参赛承诺书`),9,$t),li.value?(_(),v(`span`,en,`已完成签署`)):t(``,!0)]),C(r.help)?(_(),v(`small`,tn,h(C(r.help)),1)):t(``,!0)],2)):r.type===`checkbox`?(_(),v(`div`,{key:6,class:e(K(r))},[y(`div`,nn,[f(y(`input`,{id:`signup-field-`+r.key,"onUpdate:modelValue":e=>M[r.key]=e,type:`checkbox`,class:`form-check-input editable`,"true-value":`1`,"false-value":``,required:q(r),disabled:W.value},null,8,rn),[[re,M[r.key]]]),y(`label`,{class:`form-check-label`,for:`signup-field-`+r.key},[n(h(r.label)+` `,1),q(r)?(_(),v(`span`,on,`*`)):t(``,!0),w(r)?(_(),v(`span`,sn,h(w(r)),1)):t(``,!0)],8,an),a[10]||=y(`div`,{class:`invalid-feedback`},`请勾选此项以继续`,-1)]),C(r.help)?(_(),v(`small`,cn,h(C(r.help)),1)):t(``,!0)],2)):r.type===`textarea`?(_(),v(`div`,{key:7,class:e(K(r))},[y(`label`,ln,[n(h(r.label)+` `,1),q(r)?(_(),v(`span`,un,`*`)):t(``,!0),w(r)?(_(),v(`span`,dn,h(w(r)),1)):t(``,!0)]),f(y(`textarea`,{"onUpdate:modelValue":e=>M[r.key]=e,class:`form-control editable`,rows:`4`,placeholder:``,required:q(r),disabled:W.value},null,8,fn),[[te,M[r.key]]]),Pr(r)||r.key===`intro`?(_(),v(`div`,pn,[Pr(r)?(_(),v(`small`,mn,h(Pr(r)),1)):t(``,!0),r.key===`intro`?(_(),v(`small`,hn,h(Ar.value)+` 字`,1)):t(``,!0)])):t(``,!0),C(r.help)?(_(),v(`small`,{key:1,class:e([`text-secondary prototype-subtitle d-block`,{"mt-1":r.key===`intro`||Pr(r)}])},h(C(r.help)),3)):t(``,!0)],2)):(_(),v(`div`,{key:8,class:e(K(r))},[y(`label`,gn,[n(h(r.label)+` `,1),q(r)?(_(),v(`span`,_n,`*`)):t(``,!0),w(r)?(_(),v(`span`,vn,h(w(r)),1)):t(``,!0)]),f(y(`input`,{"onUpdate:modelValue":e=>M[r.key]=e,type:r.type===`email`?`email`:r.key===`contact_mobile`?`tel`:`text`,class:e([`form-control editable`,{"company-name-input":r.key===`company_name`}]),required:q(r),disabled:W.value,placeholder:(r.placeholder??``).trim(),pattern:r.key===`contact_mobile`?Kn:void 0,autocomplete:r.key===`company_name`?`organization`:void 0},null,10,yn),[[ee,M[r.key]]]),y(`div`,bn,h(Nr(r)),1),C(r.help)?(_(),v(`small`,xn,h(C(r.help)),1)):t(``,!0)],2))],64))),128)),y(`div`,Sn,[y(`button`,{type:`button`,class:`btn btn-outline-primary`,disabled:W.value||B.value,onClick:Hi},h(B.value?`保存中…`:P.value?`保存修改`:`保存`),9,Cn),y(`button`,{type:`button`,class:`btn btn-success`,disabled:W.value,onClick:Ui},h(P.value?`更新报名`:`提交报名`),9,wn)])],34)])])])),!j.value&&k.value.some(e=>e.key===`commitment_accepted`)?(_(),v(`div`,{key:1,id:`promiseSignModal`,ref_key:`promiseSignModalRef`,ref:$r,class:`modal fade`,tabindex:`-1`,"aria-hidden":`true`,"data-bs-backdrop":`static`},[y(`div`,Tn,[y(`div`,En,[y(`div`,Dn,[y(`div`,On,[y(`h1`,kn,h(ui.value),1),y(`div`,An,[y(`div`,{class:`promise-doc-body promise-doc-body--rich`,innerHTML:ir.value},null,8,jn)]),y(`div`,Mn,[y(`div`,Nn,[a[11]||=y(`span`,{class:`promise-doc-signlabel`},`参赛人签名:`,-1),y(`div`,Pn,[y(`div`,Fn,[y(`canvas`,{ref_key:`promiseCanvasRef`,ref:X,class:`promise-sig-canvas`,width:`520`,height:`140`,"aria-label":`手写签名区域`},null,512),y(`span`,{class:e([`promise-sig-hint`,{"d-none":!ti.value}])},`请在框内手写签名`,2)]),y(`div`,{class:`promise-sig-tools`},[y(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,onClick:yi},` 清除签名 `)])])]),y(`div`,In,[y(`span`,Ln,[a[12]||=n(`日期:`,-1),y(`strong`,null,h(ei.value),1)])])]),y(`div`,{class:`promise-sign-actions`},[a[13]||=y(`button`,{type:`button`,class:`btn btn-light notice-cancel-btn`,"data-bs-dismiss":`modal`},`关闭`,-1),y(`button`,{type:`button`,class:`btn btn-primary`,onClick:bi},`确认签署`)])])])])])],512)):t(``,!0),y(`div`,{ref_key:`noticeModalEl`,ref:Wr,id:`applyNoticeModal`,class:`modal fade`,tabindex:`-1`,"aria-hidden":`true`},[y(`div`,Rn,[y(`div`,{class:e([`modal-content notice-modal-content`,qr.value?`notice-success`:`notice-warning`])},[a[16]||=y(`div`,{class:`modal-header border-0 pb-0`},[y(`button`,{type:`button`,class:`btn-close ms-auto`,"data-bs-dismiss":`modal`,"aria-label":`关闭`})],-1),y(`div`,zn,[y(`div`,Bn,[qr.value?(_(),v(`svg`,Vn,[...a[14]||=[y(`circle`,{cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`1.8`},null,-1),y(`path`,{d:`M7 12.2l3.1 3.1L17.2 8.8`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):(_(),v(`svg`,Hn,[...a[15]||=[y(`path`,{d:`M12 3.6L2.9 19.2a1 1 0 0 0 .86 1.5h16.48a1 1 0 0 0 .86-1.5L12 3.6z`,stroke:`currentColor`,"stroke-width":`1.8`},null,-1),y(`path`,{d:`M12 9v5`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`},null,-1),y(`circle`,{cx:`12`,cy:`16.8`,r:`1.1`,fill:`currentColor`},null,-1)]]))]),y(`h5`,Un,h(Gr.value),1),Kr.value.trim()?(_(),v(`p`,Wn,h(Kr.value),1)):t(``,!0)]),a[17]||=y(`div`,{class:`modal-footer notice-modal-footer border-0`},[y(`button`,{type:`button`,class:`btn btn-light notice-cancel-btn`,"data-bs-dismiss":`modal`},`取消`),y(`button`,{type:`button`,class:`btn btn-primary notice-ok-btn`,"data-bs-dismiss":`modal`},`确定`)],-1)],2)])],512)]))}}),[[`__scopeId`,`data-v-3879c265`]]),T=g({__name:`ApplyView`,setup(e){return(e,t)=>(_(),a(w))}});export{T as default}; |