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
53 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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