diff --git a/public/admin/assets/AdminLayout-CgWGPUaA.js b/public/admin/assets/AdminLayout-WqwUTJMG.js similarity index 92% rename from public/admin/assets/AdminLayout-CgWGPUaA.js rename to public/admin/assets/AdminLayout-WqwUTJMG.js index 61d0b47..21e222d 100644 --- a/public/admin/assets/AdminLayout-CgWGPUaA.js +++ b/public/admin/assets/AdminLayout-WqwUTJMG.js @@ -1 +1 @@ -import{C as e,D as t,Et as n,O as r,S as i,W as a,Y as o,Z as s,_t as c,b as l,ct as u,f as d,g as f,in as p,k as m,q as h,st as g,w as _,x as v}from"./vue.runtime.esm-bundler-6_koQ1g6.js";import{_ as y,l as b,n as x,o as S,r as C,s as w}from"./index-DFc7c9mp.js";import{t as T}from"./_plugin-vue_export-helper-S3RvzygF.js";import{a as E}from"./competitions-BjwJneTx.js";import{t as D}from"./adminCompetition-CY7ICTqA.js";var O={key:0,class:`menu-section-label`},k=T(m({__name:`AdminMenuNest`,props:{nodes:{}},setup(n){return(a,c)=>{let l=s(`el-sub-menu`),u=s(`el-menu-item`);return h(!0),_(f,null,o(n.nodes,(n,a)=>(h(),_(f,{key:n.section||n.name||String(a)},[n.section&&!n.name?(h(),_(`div`,O,p(n.section),1)):n.children?.length&&n.name?(h(),i(l,{key:1,index:n.name},{title:g(()=>[v(`span`,null,p(n.title),1)]),default:g(()=>[r(k,{nodes:n.children},null,8,[`nodes`])]),_:2},1032,[`index`])):n.name?(h(),i(u,{key:2,index:n.name},{default:g(()=>[t(p(n.title),1)]),_:2},1032,[`index`])):e(``,!0)],64))),128)}}}),[[`__scopeId`,`data-v-346ecfd3`]]),A=T(m({__name:`AdminMenuTree`,props:{nodes:{}},setup(e){let t=S(),n=w(),a=l(()=>t.name==null?``:String(t.name));function o(e){if(!n.hasRoute(e)){b.warning(`该菜单对应的前端页面尚未发布,请刷新或重新部署前端资源`);return}n.push({name:e}).catch(()=>{})}return(t,n)=>{let c=s(`el-menu`);return h(),i(c,{"default-active":a.value,class:`admin-side-menu`,onSelect:o},{default:g(()=>[r(k,{nodes:e.nodes},null,8,[`nodes`])]),_:1},8,[`default-active`])}}}),[[`__scopeId`,`data-v-982feb37`]]),j={class:`header-inner`},M={key:0,class:`muted`},N={class:`switcher-item`},P={class:`truncate`},F={class:`slug truncate`},I=T(m({__name:`AdminLayout`,setup(l){let m=w(),S=x(),T=C(),O=D(),{menus:k}=y(T),{competitions:I,selectedCompetitionId:L}=y(O),R=c(!1);async function z(){try{let e=await E({page:1,per_page:100});O.setCompetitionList(e.data)}catch(e){b.warning(e instanceof Error?e.message:`赛事列表加载失败,请检查网络与权限`)}}function B(){R.value=!R.value}function V(e){O.selectCompetition(e)}function H(){S.logout(m),m.replace(`/admin/login`)}return a(()=>{z()}),(a,c)=>{let l=s(`el-button`),m=s(`el-dropdown-item`),y=s(`el-dropdown-menu`),b=s(`el-dropdown`),x=s(`el-header`),S=s(`el-scrollbar`),C=s(`el-aside`),w=s(`router-view`),T=s(`el-main`),E=s(`el-container`);return h(),i(E,{class:`admin-shell`},{default:g(()=>[r(x,{class:`admin-header`,height:`56px`},{default:g(()=>[v(`div`,j,[r(l,{circle:``,plain:``,size:`small`,"aria-label":`收起或展开侧栏`,onClick:B},{default:g(()=>[t(p(R.value?`☰`:`⟨`),1)]),_:1}),c[3]||=v(`span`,{class:`admin-brand`},`管理后台`,-1),c[4]||=v(`div`,{class:`header-spacer`},null,-1),r(b,{trigger:`click`,placement:`bottom-end`},{dropdown:g(()=>[r(y,{style:{"min-width":`220px`}},{default:g(()=>[n(I).length?(h(!0),_(f,{key:1},o(n(I),e=>(h(),i(m,{key:e.id,onClick:t=>V(e.id)},{default:g(()=>[v(`div`,N,[v(`span`,P,p(e.name),1),v(`span`,F,p(e.slug),1)])]),_:2},1032,[`onClick`]))),128)):(h(),i(m,{key:0,disabled:``},{default:g(()=>[...c[1]||=[t(`暂无赛事,请先在「赛事列表」创建`,-1)]]),_:1}))]),_:1})]),default:g(()=>[r(l,{type:`danger`,plain:``,size:`small`},{default:g(()=>[c[0]||=t(` 赛事切换 `,-1),n(L)?(h(),_(`span`,M,`(#`+p(n(L))+`)`,1)):e(``,!0)]),_:1})]),_:1}),r(l,{size:`small`,onClick:H},{default:g(()=>[...c[2]||=[t(`退出`,-1)]]),_:1})])]),_:1}),r(E,{class:`admin-body`},{default:g(()=>[r(C,{class:`admin-aside`,width:R.value?`0px`:`230px`},{default:g(()=>[u(r(S,{class:`aside-scroll`},{default:g(()=>[c[5]||=v(`div`,{class:`aside-title`},`导航`,-1),r(A,{nodes:n(k)},null,8,[`nodes`])]),_:1},512),[[d,!R.value]])]),_:1},8,[`width`]),r(T,{class:`admin-main`},{default:g(()=>[r(w)]),_:1})]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-fe713c5c`]]);export{I as default}; \ No newline at end of file +import{C as e,D as t,Et as n,O as r,S as i,W as a,Y as o,Z as s,_t as c,b as l,ct as u,f as d,g as f,in as p,k as m,q as h,st as g,w as _,x as v}from"./vue.runtime.esm-bundler-6_koQ1g6.js";import{_ as y,l as b,n as x,o as S,r as C,s as w}from"./index-TxFIjriD.js";import{t as T}from"./_plugin-vue_export-helper-S3RvzygF.js";import{a as E}from"./competitions-DCVxVWVv.js";import{t as D}from"./adminCompetition-Vihr0sub.js";var O={key:0,class:`menu-section-label`},k=T(m({__name:`AdminMenuNest`,props:{nodes:{}},setup(n){return(a,c)=>{let l=s(`el-sub-menu`),u=s(`el-menu-item`);return h(!0),_(f,null,o(n.nodes,(n,a)=>(h(),_(f,{key:n.section||n.name||String(a)},[n.section&&!n.name?(h(),_(`div`,O,p(n.section),1)):n.children?.length&&n.name?(h(),i(l,{key:1,index:n.name},{title:g(()=>[v(`span`,null,p(n.title),1)]),default:g(()=>[r(k,{nodes:n.children},null,8,[`nodes`])]),_:2},1032,[`index`])):n.name?(h(),i(u,{key:2,index:n.name},{default:g(()=>[t(p(n.title),1)]),_:2},1032,[`index`])):e(``,!0)],64))),128)}}}),[[`__scopeId`,`data-v-346ecfd3`]]),A=T(m({__name:`AdminMenuTree`,props:{nodes:{}},setup(e){let t=S(),n=w(),a=l(()=>t.name==null?``:String(t.name));function o(e){if(!n.hasRoute(e)){b.warning(`该菜单对应的前端页面尚未发布,请刷新或重新部署前端资源`);return}n.push({name:e}).catch(()=>{})}return(t,n)=>{let c=s(`el-menu`);return h(),i(c,{"default-active":a.value,class:`admin-side-menu`,onSelect:o},{default:g(()=>[r(k,{nodes:e.nodes},null,8,[`nodes`])]),_:1},8,[`default-active`])}}}),[[`__scopeId`,`data-v-982feb37`]]),j={class:`header-inner`},M={key:0,class:`muted`},N={class:`switcher-item`},P={class:`truncate`},F={class:`slug truncate`},I=T(m({__name:`AdminLayout`,setup(l){let m=w(),S=x(),T=C(),O=D(),{menus:k}=y(T),{competitions:I,selectedCompetitionId:L}=y(O),R=c(!1);async function z(){try{let e=await E({page:1,per_page:100});O.setCompetitionList(e.data)}catch(e){b.warning(e instanceof Error?e.message:`赛事列表加载失败,请检查网络与权限`)}}function B(){R.value=!R.value}function V(e){O.selectCompetition(e)}function H(){S.logout(m),m.replace(`/admin/login`)}return a(()=>{z()}),(a,c)=>{let l=s(`el-button`),m=s(`el-dropdown-item`),y=s(`el-dropdown-menu`),b=s(`el-dropdown`),x=s(`el-header`),S=s(`el-scrollbar`),C=s(`el-aside`),w=s(`router-view`),T=s(`el-main`),E=s(`el-container`);return h(),i(E,{class:`admin-shell`},{default:g(()=>[r(x,{class:`admin-header`,height:`56px`},{default:g(()=>[v(`div`,j,[r(l,{circle:``,plain:``,size:`small`,"aria-label":`收起或展开侧栏`,onClick:B},{default:g(()=>[t(p(R.value?`☰`:`⟨`),1)]),_:1}),c[3]||=v(`span`,{class:`admin-brand`},`管理后台`,-1),c[4]||=v(`div`,{class:`header-spacer`},null,-1),r(b,{trigger:`click`,placement:`bottom-end`},{dropdown:g(()=>[r(y,{style:{"min-width":`220px`}},{default:g(()=>[n(I).length?(h(!0),_(f,{key:1},o(n(I),e=>(h(),i(m,{key:e.id,onClick:t=>V(e.id)},{default:g(()=>[v(`div`,N,[v(`span`,P,p(e.name),1),v(`span`,F,p(e.slug),1)])]),_:2},1032,[`onClick`]))),128)):(h(),i(m,{key:0,disabled:``},{default:g(()=>[...c[1]||=[t(`暂无赛事,请先在「赛事列表」创建`,-1)]]),_:1}))]),_:1})]),default:g(()=>[r(l,{type:`danger`,plain:``,size:`small`},{default:g(()=>[c[0]||=t(` 赛事切换 `,-1),n(L)?(h(),_(`span`,M,`(#`+p(n(L))+`)`,1)):e(``,!0)]),_:1})]),_:1}),r(l,{size:`small`,onClick:H},{default:g(()=>[...c[2]||=[t(`退出`,-1)]]),_:1})])]),_:1}),r(E,{class:`admin-body`},{default:g(()=>[r(C,{class:`admin-aside`,width:R.value?`0px`:`230px`},{default:g(()=>[u(r(S,{class:`aside-scroll`},{default:g(()=>[c[5]||=v(`div`,{class:`aside-title`},`导航`,-1),r(A,{nodes:n(k)},null,8,[`nodes`])]),_:1},512),[[d,!R.value]])]),_:1},8,[`width`]),r(T,{class:`admin-main`},{default:g(()=>[r(w)]),_:1})]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-fe713c5c`]]);export{I as default}; \ No newline at end of file diff --git a/public/admin/assets/AdminLoginView-DH3HF4MS.js b/public/admin/assets/AdminLoginView-71_LTdUL.js similarity index 95% rename from public/admin/assets/AdminLoginView-DH3HF4MS.js rename to public/admin/assets/AdminLoginView-71_LTdUL.js index 8e1bfab..c1dd322 100644 --- a/public/admin/assets/AdminLoginView-DH3HF4MS.js +++ b/public/admin/assets/AdminLoginView-71_LTdUL.js @@ -1,2 +1,2 @@ -import{D as e,O as t,Z as n,_t as r,in as i,k as a,m as o,q as s,st as c,w as l,x as u}from"./vue.runtime.esm-bundler-6_koQ1g6.js";import{a as d,i as f,l as p,n as m,o as h,s as g}from"./index-DFc7c9mp.js";import{t as _}from"./_plugin-vue_export-helper-S3RvzygF.js";async function v(e){try{let{data:t}=await f.post(`/auth/login`,e);return y(t)}catch(e){if(d.isAxiosError(e)){let t=e.response?.data,n=t&&typeof t==`object`?t:{},r=(typeof n.message==`string`?n.message:``)||(n.errors&&typeof n.errors==`object`?Object.values(n.errors).flat().join(` +import{D as e,O as t,Z as n,_t as r,in as i,k as a,m as o,q as s,st as c,w as l,x as u}from"./vue.runtime.esm-bundler-6_koQ1g6.js";import{a as d,i as f,l as p,n as m,o as h,s as g}from"./index-TxFIjriD.js";import{t as _}from"./_plugin-vue_export-helper-S3RvzygF.js";async function v(e){try{let{data:t}=await f.post(`/auth/login`,e);return y(t)}catch(e){if(d.isAxiosError(e)){let t=e.response?.data,n=t&&typeof t==`object`?t:{},r=(typeof n.message==`string`?n.message:``)||(n.errors&&typeof n.errors==`object`?Object.values(n.errors).flat().join(` `):``)||e.message;throw Error(r||`登录失败`)}throw e}}function y(e){if(e&&typeof e==`object`){let t=e,n=t.data,r=(typeof t.token==`string`?t.token:void 0)??(typeof t.access_token==`string`?t.access_token:void 0)??(n&&typeof n.token==`string`?n.token:void 0);if(typeof r==`string`)return{token:r,user:t.user??t.admin??n?.user}}throw Error(`登录响应无效`)}var b={class:`login-wrap`},x=_(a({__name:`AdminLoginView`,setup(a){let d=h(),f=g(),_=m(),y=r(``),x=r(``),S=r(!1);function C(e){return e instanceof Error&&e.message.trim()?e.message:typeof e==`string`&&e.trim()?e:`登录失败`}function w(){let e=typeof d.query.redirect==`string`?d.query.redirect:``;return e&&e.startsWith(`/admin`)&&!e.includes(`/login`)?e:`/admin`}async function T(){if(!y.value.trim()||!x.value.trim()){p.warning(`请输入账号和密码`);return}S.value=!0;try{let e=await v({username:y.value.trim(),password:x.value.trim()});_.setToken(e.token),await f.replace(w()),p.success(`登录成功`)}catch(e){p.error(C(e))}finally{S.value=!1}}return(r,a)=>{let d=n(`el-input`),f=n(`el-form-item`),p=n(`el-button`),m=n(`el-form`),h=n(`el-card`);return s(),l(`div`,b,[t(h,{class:`login-card`,shadow:`hover`},{header:c(()=>[...a[2]||=[u(`div`,{class:`card-title`},`管理员登录`,-1)]]),default:c(()=>[t(m,{"label-position":`top`,onSubmit:o(T,[`prevent`])},{default:c(()=>[t(f,{label:`账号`},{default:c(()=>[t(d,{modelValue:y.value,"onUpdate:modelValue":a[0]||=e=>y.value=e,modelModifiers:{trim:!0},autocomplete:`username`,clearable:``},null,8,[`modelValue`])]),_:1}),t(f,{label:`密码`},{default:c(()=>[t(d,{modelValue:x.value,"onUpdate:modelValue":a[1]||=e=>x.value=e,type:`password`,autocomplete:`current-password`,"show-password":``},null,8,[`modelValue`])]),_:1}),t(p,{type:`danger`,class:`w-100`,"native-type":`submit`,loading:S.value},{default:c(()=>[e(i(S.value?`登录中…`:`登录`),1)]),_:1},8,[`loading`])]),_:1})]),_:1})])}}}),[[`__scopeId`,`data-v-205d2561`]]);export{x as default}; \ No newline at end of file diff --git a/public/admin/assets/ApplyView-C1qzGc1M.js b/public/admin/assets/ApplyView-Bn5rAyzM.js similarity index 68% rename from public/admin/assets/ApplyView-C1qzGc1M.js rename to public/admin/assets/ApplyView-Bn5rAyzM.js index a9189d8..601a45d 100644 --- a/public/admin/assets/ApplyView-C1qzGc1M.js +++ b/public/admin/assets/ApplyView-Bn5rAyzM.js @@ -1 +1 @@ -import{$t as e,C as t,D as n,R as r,S as i,V as a,W as o,Y as s,_t as c,at as l,b as u,c as ee,ct as d,d as te,g as f,ht as ne,in as p,k as m,m as re,q as h,s as ie,u as ae,w as g,x as _}from"./vue.runtime.esm-bundler-6_koQ1g6.js";import{f as oe,l as se,m as ce}from"./api-d2P9R_jw.js";import{o as le,s as ue,v as de,y as fe}from"./index-DFc7c9mp.js";import{t as pe}from"./_plugin-vue_export-helper-S3RvzygF.js";import{a as me,i as he,r as ge,t as _e}from"./competitionBranding-BQASm1w0.js";var ve={北京市:[`北京市`],天津市:[`天津市`],上海市:[`上海市`],重庆市:[`重庆市`],河北省:[`石家庄市`,`唐山市`,`秦皇岛市`,`邯郸市`,`邢台市`,`保定市`,`张家口市`,`承德市`,`沧州市`,`廊坊市`,`衡水市`],山西省:[`太原市`,`大同市`,`阳泉市`,`长治市`,`晋城市`,`朔州市`,`晋中市`,`运城市`,`忻州市`,`临汾市`,`吕梁市`],内蒙古自治区:[`呼和浩特市`,`包头市`,`乌海市`,`赤峰市`,`通辽市`,`鄂尔多斯市`,`呼伦贝尔市`,`巴彦淖尔市`,`乌兰察布市`,`兴安盟`,`锡林郭勒盟`,`阿拉善盟`],辽宁省:[`沈阳市`,`大连市`,`鞍山市`,`抚顺市`,`本溪市`,`丹东市`,`锦州市`,`营口市`,`阜新市`,`辽阳市`,`盘锦市`,`铁岭市`,`朝阳市`,`葫芦岛市`],吉林省:[`长春市`,`吉林市`,`四平市`,`辽源市`,`通化市`,`白山市`,`松原市`,`白城市`,`延边朝鲜族自治州`],黑龙江省:[`哈尔滨市`,`齐齐哈尔市`,`鸡西市`,`鹤岗市`,`双鸭山市`,`大庆市`,`伊春市`,`佳木斯市`,`七台河市`,`牡丹江市`,`黑河市`,`绥化市`,`大兴安岭地区`],江苏省:[`南京市`,`无锡市`,`徐州市`,`常州市`,`苏州市`,`南通市`,`连云港市`,`淮安市`,`盐城市`,`扬州市`,`镇江市`,`泰州市`,`宿迁市`],浙江省:[`杭州市`,`宁波市`,`温州市`,`嘉兴市`,`湖州市`,`绍兴市`,`金华市`,`衢州市`,`舟山市`,`台州市`,`丽水市`],安徽省:[`合肥市`,`芜湖市`,`蚌埠市`,`淮南市`,`马鞍山市`,`淮北市`,`铜陵市`,`安庆市`,`黄山市`,`滁州市`,`阜阳市`,`宿州市`,`六安市`,`亳州市`,`池州市`,`宣城市`],福建省:[`福州市`,`厦门市`,`莆田市`,`三明市`,`泉州市`,`漳州市`,`南平市`,`龙岩市`,`宁德市`],江西省:[`南昌市`,`景德镇市`,`萍乡市`,`九江市`,`新余市`,`鹰潭市`,`赣州市`,`吉安市`,`宜春市`,`抚州市`,`上饶市`],山东省:[`济南市`,`青岛市`,`淄博市`,`枣庄市`,`东营市`,`烟台市`,`潍坊市`,`济宁市`,`泰安市`,`威海市`,`日照市`,`临沂市`,`德州市`,`聊城市`,`滨州市`,`菏泽市`],河南省:[`郑州市`,`开封市`,`洛阳市`,`平顶山市`,`安阳市`,`鹤壁市`,`新乡市`,`焦作市`,`濮阳市`,`许昌市`,`漯河市`,`三门峡市`,`南阳市`,`商丘市`,`信阳市`,`周口市`,`驻马店市`,`济源市`],湖北省:[`武汉市`,`黄石市`,`十堰市`,`宜昌市`,`襄阳市`,`鄂州市`,`荆门市`,`孝感市`,`荆州市`,`黄冈市`,`咸宁市`,`随州市`,`恩施土家族苗族自治州`,`仙桃市`,`潜江市`,`天门市`,`神农架林区`],湖南省:[`长沙市`,`株洲市`,`湘潭市`,`衡阳市`,`邵阳市`,`岳阳市`,`常德市`,`张家界市`,`益阳市`,`郴州市`,`永州市`,`怀化市`,`娄底市`,`湘西土家族苗族自治州`],广东省:[`广州市`,`韶关市`,`深圳市`,`珠海市`,`汕头市`,`佛山市`,`江门市`,`湛江市`,`茂名市`,`肇庆市`,`惠州市`,`梅州市`,`汕尾市`,`河源市`,`阳江市`,`清远市`,`东莞市`,`中山市`,`潮州市`,`揭阳市`,`云浮市`],广西壮族自治区:[`南宁市`,`柳州市`,`桂林市`,`梧州市`,`北海市`,`防城港市`,`钦州市`,`贵港市`,`玉林市`,`百色市`,`贺州市`,`河池市`,`来宾市`,`崇左市`],海南省:[`海口市`,`三亚市`,`三沙市`,`儋州市`,`五指山市`,`琼海市`,`文昌市`,`万宁市`,`东方市`,`定安县`,`屯昌县`,`澄迈县`,`临高县`,`白沙黎族自治县`,`昌江黎族自治县`,`乐东黎族自治县`,`陵水黎族自治县`,`保亭黎族苗族自治县`,`琼中黎族苗族自治县`],四川省:[`成都市`,`自贡市`,`攀枝花市`,`泸州市`,`德阳市`,`绵阳市`,`广元市`,`遂宁市`,`内江市`,`乐山市`,`南充市`,`眉山市`,`宜宾市`,`广安市`,`达州市`,`雅安市`,`巴中市`,`资阳市`,`阿坝藏族羌族自治州`,`甘孜藏族自治州`,`凉山彝族自治州`],贵州省:[`贵阳市`,`六盘水市`,`遵义市`,`安顺市`,`毕节市`,`铜仁市`,`黔西南布依族苗族自治州`,`黔东南苗族侗族自治州`,`黔南布依族苗族自治州`],云南省:[`昆明市`,`曲靖市`,`玉溪市`,`保山市`,`昭通市`,`丽江市`,`普洱市`,`临沧市`,`楚雄彝族自治州`,`红河哈尼族彝族自治州`,`文山壮族苗族自治州`,`西双版纳傣族自治州`,`大理白族自治州`,`德宏傣族景颇族自治州`,`怒江傈僳族自治州`,`迪庆藏族自治州`],西藏自治区:[`拉萨市`,`日喀则市`,`昌都市`,`林芝市`,`山南市`,`那曲市`,`阿里地区`],陕西省:[`西安市`,`铜川市`,`宝鸡市`,`咸阳市`,`渭南市`,`延安市`,`汉中市`,`榆林市`,`安康市`,`商洛市`],甘肃省:[`兰州市`,`嘉峪关市`,`金昌市`,`白银市`,`天水市`,`武威市`,`张掖市`,`平凉市`,`酒泉市`,`庆阳市`,`定西市`,`陇南市`,`临夏回族自治州`,`甘南藏族自治州`],青海省:[`西宁市`,`海东市`,`海北藏族自治州`,`黄南藏族自治州`,`海南藏族自治州`,`果洛藏族自治州`,`玉树藏族自治州`,`海西蒙古族藏族自治州`],宁夏回族自治区:[`银川市`,`石嘴山市`,`吴忠市`,`固原市`,`中卫市`],新疆维吾尔自治区:[`乌鲁木齐市`,`克拉玛依市`,`吐鲁番市`,`哈密市`,`昌吉回族自治州`,`博尔塔拉蒙古自治州`,`巴音郭楞蒙古自治州`,`阿克苏地区`,`克孜勒苏柯尔克孜自治州`,`喀什地区`,`和田地区`,`伊犁哈萨克自治州`,`塔城地区`,`阿勒泰地区`,`石河子市`,`阿拉尔市`,`图木舒克市`,`五家渠市`,`北屯市`,`铁门关市`,`双河市`,`可克达拉市`,`昆玉市`,`胡杨河市`,`新星市`],香港特别行政区:[`香港`],澳门特别行政区:[`澳门`],台湾省:[`台北市`,`新北市`,`桃园市`,`台中市`,`台南市`,`高雄市`,`新竹市`,`嘉义市`]},ye=`北京市.天津市.上海市.重庆市.河北省.山西省.内蒙古自治区.辽宁省.吉林省.黑龙江省.江苏省.浙江省.安徽省.福建省.江西省.山东省.河南省.湖北省.湖南省.广东省.广西壮族自治区.海南省.四川省.贵州省.云南省.西藏自治区.陕西省.甘肃省.青海省.宁夏回族自治区.新疆维吾尔自治区.香港特别行政区.澳门特别行政区.台湾省`.split(`.`),be=[`pdf`,`ppt`,`pptx`,`doc`,`docx`,`wps`,`rar`,`zip`],v=[{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:`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 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 xe(e){if(!Array.isArray(e)||e.length===0)return v.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,ee=e.prefill_from,d=ee!=null&&String(ee).trim()!==``?String(ee).trim():void 0,te=e.title_supplement,f=te!=null&&String(te).trim()!==``?String(te).trim():void 0,ne,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&&(ne={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=ye.map(e=>({label:e,value:e}));else{let e=v.find(e=>e.key===r);e?.options?.length&&(m=e.options.map(e=>({...e})))}let re,h;i===`file`&&(re=b(e.file_extensions),h=x(e.file_max_count)),t.push({key:r,type:i,label:a,title_supplement:f,required:o,placeholder:c,help:u,prefill_from:d,options:m,required_when:ne,file_extensions:re,file_max_count:h})}return t.length?t:v.map(e=>({...e}))}var Se={class:`apply-form-page`},Ce={class:`form-page-header flex-shrink-0 mb-3`},we={class:`mb-0 form-page-title`},Te={key:0,class:`text-secondary prototype-subtitle mb-0 mt-2`},Ee={key:1,class:`text-danger small mb-0 mt-2`},De={key:2,class:`text-warning small mb-0 mt-2`},Oe={key:0,class:`apply-form-scroll`},ke={class:`card mb-0`},Ae={class:`card-body`},je={class:`application-status-mark`,"aria-hidden":`true`},Me={key:0,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`none`},Ne={key:1,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`none`},Pe={class:`application-status-copy`},Fe={key:0,class:`col-md-4`},Ie={class:`form-label`,id:`trackFieldLabel`},Le={key:0,class:`text-danger`},Re={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},ze={class:`track-custom-select w-100`},Be=[`required`,`disabled`],Ve=[`value`],He={class:`dropdown w-100`},Ue=[`disabled`],We={class:`track-toggle-label text-truncate`},Ge={key:0,class:`track-selected-note`},Ke={class:`dropdown-menu w-100 border shadow-sm rounded-2 py-0 my-1 track-custom-menu`},qe=[`onClick`],Je={class:`track-pick-inline`},Ye={class:`text-body`},Xe={key:0,class:`track-custom-note`},Ze={key:0,class:`text-secondary prototype-subtitle d-block`},Qe={key:1,class:`col-12`},$e={class:`form-label`},et={key:0,class:`text-danger`},tt={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},nt=[`accept`,`disabled`],rt={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},it={key:1,class:`supporting-file-list mt-2`,"aria-live":`polite`},at={class:`supporting-file-meta`},ot=[`title`],st={class:`supporting-file-size`},ct={class:`supporting-file-actions`},lt=[`href`,`download`],ut=[`disabled`,`onClick`],dt={class:`text-secondary prototype-subtitle d-block`},ft={key:2,class:`invalid-feedback d-block`},pt={key:2,class:`col-12`},mt={class:`form-label`},ht={key:0,class:`text-danger`},gt={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},_t=[`accept`,`disabled`],vt={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},yt={key:1,class:`supporting-file-list mt-2`,"aria-live":`polite`},bt={class:`supporting-file-meta`},xt=[`title`],St={class:`supporting-file-size`},Ct={class:`supporting-file-actions`},wt=[`href`,`download`],Tt=[`disabled`,`onClick`],Et={class:`text-secondary prototype-subtitle d-block`},Dt={key:2,class:`invalid-feedback d-block`},Ot={class:`form-label`},kt={key:0,class:`text-danger`},At={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},jt=[`onUpdate:modelValue`,`required`,`disabled`],Mt={value:``,disabled:``},Nt=[`value`],Pt={class:`invalid-feedback`},Ft={key:0,class:`text-secondary prototype-subtitle d-block`},It={class:`form-label`},Lt={key:0,class:`text-danger`},Rt={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},zt=[`required`,`disabled`],Bt={value:``,disabled:``},Vt=[`value`],Ht={class:`invalid-feedback`},Ut={key:0,class:`text-secondary prototype-subtitle d-block`},Wt={class:`form-label`},Gt={key:0,class:`text-danger`},Kt={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`},Jt=[`disabled`],Yt={key:0,class:`badge rounded-pill px-3 py-2 promise-signed-badge`},Xt={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},Zt={class:`form-check`},Qt=[`id`,`onUpdate:modelValue`,`required`,`disabled`],$t=[`for`],en={key:0,class:`text-danger ms-1`},tn={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},nn={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},rn={class:`form-label`},an={key:0,class:`text-danger`},on={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},sn=[`onUpdate:modelValue`,`required`,`disabled`],cn={key:0,class:`d-flex flex-wrap align-items-baseline gap-2 mt-1 w-100`},ln={key:0,class:`apply-textarea-placeholder-hint mb-0`},un={key:1,class:`text-secondary prototype-subtitle intro-char-count mb-0 ms-auto`},dn={class:`form-label`},fn={key:0,class:`text-danger`},pn={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},mn=[`onUpdate:modelValue`,`type`,`required`,`disabled`,`placeholder`,`pattern`,`autocomplete`],hn={class:`invalid-feedback`},gn={key:0,class:`text-secondary prototype-subtitle d-block`},_n={class:`col-12 apply-form-actions mt-3 pt-3 border-top d-flex gap-2 flex-wrap`},vn=[`disabled`],yn=[`disabled`],bn={class:`modal-dialog modal-dialog-centered promise-sign-modal`},xn={class:`modal-content promise-sign-sheet`},Sn={class:`modal-body pt-2`},Cn={class:`promise-doc-paper`},wn={class:`promise-doc-heading text-center`},Tn={class:`promise-doc-scroll`},En=[`innerHTML`],Dn={class:`promise-doc-signblock`},On={class:`promise-doc-signrow`},kn={class:`promise-sig-wrap`},An={class:`promise-sig-box`},jn={class:`promise-doc-daterow`},Mn={class:`promise-doc-dateline`},Nn={class:`modal-dialog modal-dialog-centered notice-modal-dialog`},Pn={class:`modal-body notice-modal-body`},Fn={class:`notice-icon`,"aria-hidden":`true`},In={key:0,viewBox:`0 0 24 24`,width:`36`,height:`36`,fill:`none`,"aria-hidden":`true`},Ln={key:1,viewBox:`0 0 24 24`,width:`36`,height:`36`,fill:`none`,"aria-hidden":`true`},Rn={class:`notice-title`},zn={key:0,class:`notice-text text-break`,style:{"white-space":`pre-wrap`}},Bn=20*1024*1024,Vn=`^1[3-9]\\d{9}$`,Hn=`
本项目申报信息中所填写的各栏目内容真实、准确。本项目负责人(团队)对申报材料的真实性负完全责任。
若申报信息中存在虚假、伪造等不实情况,本项目负责人(团队)将积极配合调查,并按照有关规定接受处理。
`,Un=2097152,S=pe(m({__name:`ApplyFormView`,setup(i){let m=de,pe=ue(),v=le(),y=u(()=>String(v.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 w(){let e=y.value;return e?`?competition_slug=${encodeURIComponent(e)}`:``}function Wn(e){let t={Authorization:`Bearer ${localStorage.getItem(`cxxfds_token`)||``}`,Accept:`application/json`};return e&&(t[`Content-Type`]=`application/json`),t}function T(){localStorage.removeItem(se);let e=y.value;e?pe.push({name:`participant-login`,params:{slug:e},query:{redirect:v.fullPath}}):pe.push(`/c`)}let E=c(xe([]));function Gn(e){let t=be.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 Kn(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 qn(e){return E.value.find(t=>t.type===`file`&&t.key===e)}function Jn(e){return Gn(e).map(e=>`.`+e).join(`,`)}let D=c([]),Yn=c(!1),Xn=c(``),Zn=c(``),Qn=u(()=>Zn.value.trim()||Hn),O=c(ge()),k=c(``),A=ne({});function $n(e){for(let t of e)t.type!==`file`&&(t.key in A||(A[t.key]=``));e.some(e=>e.key===`commitment_accepted`)&&!(`promise_signature`in A)&&(A.promise_signature=``)}let er=u(()=>`jscc_signup_form_draft_v2_${y.value||`x`}`),tr=c(`draft`),nr=c(``),j=c(!0),M=u(()=>tr.value===`submitted`),N=u(()=>Mr(nr.value)),rr=u(()=>M.value&&j.value?`报名已提交,可继续修改`:M.value?`报名已提交,已锁定`:j.value?`报名信息未提交`:`报名未提交,当前不可编辑`),ir=u(()=>M.value&&j.value?`${N.value?`上次提交时间:${N.value}。`:``}在报名截止且没有任一评委提交评分前,你仍可修改资料、增删附件,并点击“更新报名”覆盖提交。评审开始后报名会自动锁定,请保持联系方式畅通。`:M.value?`${N.value?`提交时间:${N.value}。`:``}报名已因截止或评审记录产生而锁定,不能再修改资料、增删附件或重复提交。后续请等待赛事组委会通知;如需更正请联系组委会。`:j.value?`请完整填写报名信息、上传商业计划书并签署承诺书;点击“保存”只暂存草稿,点击“提交报名”后才进入已提交状态。`:`当前报名窗口已关闭或报名已被锁定,无法新建、保存或提交报名。如认为状态异常,请联系赛事组委会。`),P=c(!1),ar=c(null),or=c(null),sr=u(()=>{let e=A.track,t=D.value.find(t=>t.track_code===e);return t?t.title:e||`请选择主题赛道`}),cr=u(()=>A.track?`text-body`:`text-secondary`),lr=u(()=>{let e=A.track;return(D.value.find(t=>t.track_code===e)?.description??``).trim()});function ur(e){return(e??``).trim()}function dr(e){A.track=e,P.value=!1;let t=b(or);t&&m.getInstance(t)?.hide()}let F=u(()=>A.location_country===`中国`),fr=u(()=>A.location_country===`海外`),pr=u(()=>ye.map(e=>({label:e,value:e}))),mr=u(()=>{let e=A.location_province;return e?(ve[e]||[]).map(e=>({label:e,value:e})):[]});function hr(){fr.value?(A.location_province=``,A.location_city=``):F.value||(A.location_province=``,A.location_city=``,A.oversea_country=``)}l(()=>A.location_country,()=>{hr()}),l(()=>A.location_province,(e,t)=>{F.value&&e!==t&&(t==null||String(t).trim()===``||(A.location_city=``))}),l(()=>A.entry_group,e=>{e===`创新组`&&(A.company_name=``)});let I=c([]),L=c([]),R=c(``),z=c(``),gr=c(``),_r=c(``),B=c(!1),V=u(()=>!j.value),vr=c(null),yr=c(null),br=c(null),xr=u(()=>(A.intro||``).length),Sr=u(()=>me(O.value,Xn.value)),Cr=u(()=>{let e=O.value.apply?.headerSubtitle;return he(e)?String(e).trim():``});function wr(e){let t=String(A[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 H(e){return e.type===`textarea`||e.type===`file`||e.type===`checkbox`?`col-12`:`col-md-4`}function Tr(e){return e.type===`textarea`?String(e.placeholder??``).trim():``}function Er(e){return e.type===`file`?!0:e.key===`company_name`?A.entry_group!==`创新组`:e.key===`location_province`||e.key===`location_city`?F.value:e.key===`oversea_country`?fr.value:!0}function U(e){if(e.key===`location_province`||e.key===`location_city`)return F.value;if(e.key===`oversea_country`)return fr.value;let t=e.required_when;if(t?.field&&t.values?.length){let e=String(A[t.field]??``).trim();if(t.values.includes(e))return!0}return e.required}let Dr=u(()=>E.value.filter(e=>Er(e)));function Or(e){return e.key===`track`?D.value.map(e=>({label:e.title,value:e.track_code})):e.key===`location_province`?pr.value:e.key===`location_city`&&F.value?mr.value:e.options??[]}function kr(e){return e.key===`location_city`&&F.value}function Ar(e){return e>=1024*1024?`${(e/1024/1024).toFixed(1).replace(/\.0$/,``)}M`:e>=1024?`${Math.ceil(e/1024)}K`:`${e}B`}function W(e){return e.file?e.file.name:e.original_name||``}function jr(e){return W(e).trim()||void 0}function Mr(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 Nr(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 Pr(e){return`请选择${e.label}`}function Fr(e){let t=e.message||``,n=e.errors;return n&&Object.keys(n).length?`${t}\n${JSON.stringify(n)}`:t||`操作失败`}let Ir=c(null),Lr=c(`提示`),Rr=c(``),zr=c(!1);function G(e,t=`提示`,n=`warning`){return Lr.value=t,Rr.value=e,zr.value=n===`success`,new Promise(e=>{r(()=>{let t=Ir.value;if(!t){e();return}t.addEventListener(`hidden.bs.modal`,()=>e(),{once:!0}),fe.getOrCreateInstance(t).show()})})}function Br(e){return e===`navigateTo`||e===`reLaunch`||e===`switchTab`?e:`redirectTo`}function Vr(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:Br(e.method)}:null}let t=typeof e.redirect_url==`string`?e.redirect_url.trim():``;return t?{type:`web`,redirectUrl:t}:null}let Hr=null;function Ur(){if(window.wx?.miniProgram)return Promise.resolve(window.wx);if(Hr)return Hr;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(()=>{Hr=null});return Hr=e,e}async function Wr(e,t){try{let n=(await Ur()).miniProgram?.[t];return typeof n==`function`?(n({url:e}),!0):!1}catch{return!1}}let Gr=c(null),K=c(null),Kr=c(``),qr=c(!0),q=null,J=520,Y=140,Jr=!1,Yr=!1,X=null,Z=null;function Xr(){X?.abort(),X=null}let Zr=u(()=>A.commitment_accepted===`1`&&String(A.promise_signature??``).trim()!==``),Qr=u(()=>{let e=Xn.value.trim();return e?`${e} 赛事承诺书`:`赛事承诺书`});function $r(e){return`${e.getFullYear()}年${e.getMonth()+1}月${e.getDate()}日`}function ei(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 ti(){let e=K.value;if(!e)return;let t=e.closest(`.promise-sig-wrap`),n=window.devicePixelRatio||1,r=window.getComputedStyle(e);J=Math.max(280,Math.floor(t?.clientWidth||520)),Y=Math.max(76,Math.floor(parseFloat(r.height)||110)),e.style.width=`${J}px`,e.style.height=`${Y}px`,e.width=Math.floor(J*n),e.height=Math.floor(Y*n),q=e.getContext(`2d`),q&&(q.setTransform(1,0,0,1,0,0),q.scale(n,n),q.fillStyle=`#ffffff`,q.fillRect(0,0,J,Y),q.strokeStyle=`#111111`,q.lineWidth=2,q.lineCap=`round`,q.lineJoin=`round`,Yr=!1,qr.value=!0)}function ni(){let e=String(A.promise_signature??``).trim();if(!e||!q)return;let t=new Image;t.onload=()=>{q&&(q.drawImage(t,0,0,J,Y),Yr=!0,qr.value=!1)},t.src=e}function ri(){let e=K.value;if(!e||!q)return;Xr(),X=new AbortController;let{signal:t}=X,n=t=>{if(`touches`in t&&t.preventDefault(),!q)return;Jr=!0;let n=ei(t,e);q.beginPath(),q.moveTo(n.x,n.y)},r=t=>{if(!Jr||!q)return;`touches`in t&&t.preventDefault();let n=ei(t,e);q.lineTo(n.x,n.y),q.stroke(),Yr=!0,qr.value=!1},i=()=>{Jr=!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 ii(){Kr.value=$r(new Date);let e=t=>{if(!K.value){t<40&&requestAnimationFrame(()=>e(t+1));return}ti(),ri(),String(A.promise_signature??``).trim()&&A.commitment_accepted===`1`&&ni()};r(()=>{requestAnimationFrame(()=>e(0))})}function ai(e){Z?.();let t=()=>{ii()},n=()=>{Xr()};e.addEventListener(`shown.bs.modal`,t),e.addEventListener(`hidden.bs.modal`,n),Z=()=>{e.removeEventListener(`shown.bs.modal`,t),e.removeEventListener(`hidden.bs.modal`,n),Z=null}}l(Gr,e=>{Z?.(),e&&ai(e)},{flush:`post`});function oi(){if(V.value)return;let e=Gr.value;e&&fe.getOrCreateInstance(e).show()}function si(){ti(),ri()}function ci(){let e=K.value;if(!Yr||!e){G(`请先在签名区域内手写签名后再确认。`,`请确认`,`warning`);return}let t=e.toDataURL(`image/png`);if(t.length>Un){G(`签名数据过大,请清除后重新签名或联系管理员。`,`提示`,`warning`);return}A.promise_signature=t,A.commitment_accepted=`1`;let n=Gr.value;n&&fe.getInstance(n)?.hide()}function li(){let e={};for(let t of E.value)if(t.type!==`file`){if(t.type===`checkbox`){e[t.key]=A[t.key]===`1`;continue}e[t.key]=A[t.key]??``}return E.value.some(e=>e.key===`commitment_accepted`)&&(e.promise_signature=A.promise_signature??``),e}function ui(e,t,n,r){let i=Gn(r),a=Kn(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>Bn);return l?{ok:!1,feedback:`“${l.name}”大小不能超过20M`}:{ok:!0,feedback:``}}function di(){return E.value.some(e=>e.key===`plan`&&e.type===`file`)}function fi(){return E.value.some(e=>e.key===`supporting`&&e.type===`file`)}function Q(){if(!di())return b(yr)?.setCustomValidity(``),!0;let e=qn(`plan`),t=ui(I.value,`请上传商业计划书`,!1,e);return gr.value=t.feedback,b(yr)?.setCustomValidity(t.ok?``:`missing`),t.ok}function $(){if(!fi())return b(br)?.setCustomValidity(``),!0;let e=qn(`supporting`),t=ui(L.value,`文件格式或大小不符合要求`,!0,e);return _r.value=t.feedback,b(br)?.setCustomValidity(t.ok?``:`bad`),t.ok}function pi(){B.value=!0,Q(),$();let e=E.value.find(e=>e.key===`track`);if(e&&Er(e)){P.value=!A.track;let e=b(ar);e&&e.setCustomValidity(A.track?``:`请选择主题赛道`)}else P.value=!1,b(ar)?.setCustomValidity(``);return!(vr.value?.checkValidity()??!1)||e&&U(e)&&!A.track||!Q()||!$()?!1:E.value.find(e=>e.key===`commitment_accepted`)&&(A.commitment_accepted!==`1`||!String(A.promise_signature??``).trim())?(G(`请先阅读并完成参赛承诺书的手写签署。`,`提示`,`warning`),!1):!0}async function mi(e){let t=localStorage.getItem(se);if(!t)return;let n=(e===`plan`?I.value:L.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 fetch(`${C()}/api/applications/current/files${w()}`,{method:`POST`,headers:{Authorization:`Bearer ${t}`,Accept:`application/json`},body:n}),a=await i.json().catch(()=>({}));if(i.status===401){T();return}if(!i.ok){G(Fr(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=ce(String(a.url??``));r.url=s,r.previewUrl=s,o&&String(o).startsWith(`blob:`)&&URL.revokeObjectURL(o),delete r.file}G(`文件已上传。`,`上传成功`,`success`),e===`plan`?Q():$()}}async function hi(e,t){let n=t===`plan`?[...I.value]:[...L.value],r=n.find(t=>String(t.id)===String(e));if(r){if(r.fromServer&&typeof r.id==`number`){if(!localStorage.getItem(`cxxfds_token`)){T();return}let e=await fetch(`${C()}/api/applications/current/files/${r.id}${w()}`,{method:`DELETE`,headers:Wn(!1)});if(e.status===401){T();return}if(!e.ok){G(`删除失败`,`提示`,`warning`);return}}r.previewUrl&&String(r.previewUrl).startsWith(`blob:`)&&URL.revokeObjectURL(r.previewUrl),n=n.filter(t=>String(t.id)!==String(e)),t===`plan`?I.value=n:L.value=n,B.value=!0,t===`plan`?Q():$()}}function gi(e,t){if(!e?.length)return;let n=Kn(qn(t)),r=t===`plan`?[...I.value]:[...L.value],i=Array.from(e),a=n===null?i.length:Math.max(0,n-r.length);if(i.length>a&&n!==null&&G(`该栏最多上传 ${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`){I.value=[...r],R.value=``;let e=b(yr);e&&(e.value=``),B.value=!0,Q()}else{L.value=[...r],z.value=``;let e=b(br);e&&(e.value=``),B.value=!0,$()}mi(t)}function _i(){return{formModel:{...A},planFileNames:I.value.map(W).filter(Boolean),supportingFileNames:L.value.map(W).filter(Boolean)}}function vi(){let e=_i();localStorage.setItem(er.value,JSON.stringify(e)),e.planFileNames.length?R.value=`已保存商业计划书名称:${e.planFileNames.join(`、`)}`:R.value=``,e.supportingFileNames.length?z.value=`已保存其他佐证材料名称:${e.supportingFileNames.join(`、`)}`:z.value=``}function yi(){let e=localStorage.getItem(er.value);if(e)try{let t=JSON.parse(e);if(t.formModel&&typeof t.formModel==`object`)for(let e of Object.keys(t.formModel))A[e]=t.formModel[e]??``;let n=t.planFileNames||[];n.length&&(R.value=`上次保存商业计划书名称:${n.join(`、`)}(浏览器限制,需重新选择后预览或删除)`);let r=t.supportingFileNames;r?.length&&(z.value=`上次保存其他佐证材料名称:${r.join(`、`)}(浏览器限制,需重新选择后预览或删除)`),hr()}catch{localStorage.removeItem(er.value)}}async function bi(){Yn.value=!1;let e=y.value;if(!e){k.value=`缺少赛事地址`;return}k.value=``;try{let t=await fetch(`${C()}/api/v1/public/competitions/by-slug/${encodeURIComponent(e)}`,{headers:{Accept:`application/json`}});if(!t.ok){k.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;Xn.value=String(r.name??``),Zn.value=typeof r.pledge_content_html==`string`?r.pledge_content_html:``;let i=r.tracks;D.value=Array.isArray(i)?i:[];let a=r.signup_form_schema;if(typeof a==`string`)try{a=JSON.parse(a)}catch{a=[]}E.value=xe(a),$n(E.value),O.value=_e(r.branding_json??null);let o=O.value.documentTitle;he(o)&&typeof document<`u`&&(document.title=o.trim()),Yn.value=!0}catch{k.value=`网络错误,无法加载赛事`}}function xi(e){tr.value=e.status||`draft`,nr.value=typeof e.submitted_at==`string`?e.submitted_at:``,j.value=e.participant_may_edit!==!1,A.player_name=e.player_name||``,A.school=e.school||``,A.degree=e.degree||``,A.contact_email=e.contact_email||``,A.contact_mobile=e.contact_mobile||``,A.entry_group=e.entry_group||``,A.company_name=e.company_name||``,A.project_name=e.project_name||``,A.track=e.track||``,A.location_country=e.location_country||``,A.location_province=e.location_province||``,A.location_city=e.location_city||``,A.oversea_country=e.oversea_country||``,A.intro=e.intro||``;let t=typeof e.promise_signature==`string`?e.promise_signature:``;A.promise_signature=t,A.commitment_accepted=t.trim()&&e.promise_signed_at?`1`:``,hr(),I.value=(e.files||[]).filter(e=>e.kind===`plan`).map(e=>{let t=ce(e.url);return{id:e.id,fromServer:!0,original_name:e.original_name,size:e.size,url:t,previewUrl:t}}),L.value=(e.files||[]).filter(e=>e.kind===`supporting`).map(e=>{let t=ce(e.url);return{id:e.id,fromServer:!0,original_name:e.original_name,size:e.size,url:t,previewUrl:t}}),Q(),$()}async function Si(){if(!localStorage.getItem(`cxxfds_token`))return!1;let e=await fetch(`${C()}/api/applications/current${w()}`,{headers:Wn(!1)});return e.status===401?(localStorage.removeItem(se),T(),!1):e.ok?(xi(await e.json()),!0):!1}async function Ci(){let e=await fetch(`${C()}/api/applications/current${w()}`,{method:`PUT`,headers:Wn(!0),body:JSON.stringify(li())});if(e.status===401)return T(),!1;if(!e.ok)return e.json().catch(()=>({})),G(`草稿未能保存,请检查网络或稍后重试。`,`保存失败`,`warning`),!1;try{xi(await e.json())}catch{}return!0}function wi(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 Ti(e){let t=e.trim();return t===`The given data was invalid.`||t===`The given data was invalid`||t===`给定的数据无效。`||t===`给定的数据无效`}function Ei(e,t){let n=wi(t.errors);if(n.length>0)return n[0];let r=t.message;if(typeof r==`string`&&r.trim()){let e=r.trim();if(!Ti(e))return e}return e===404?`赛事不存在或未发布,请返回重新进入报名页。`:e===403?`当前账号无权限提交,请确认登录状态或联系管理员。`:e===409?`报名状态已变更或发生冲突,请刷新页面后重试。`:e===429?`请求过于频繁,请稍后再试。`:e>=500?`服务暂时不可用,请稍后重试。`:e===422?`提交失败,请填写完整信息。`:`报名未能提交,请检查网络或稍后重试。`}async function Di(){let e=await fetch(`${C()}/api/applications/current/submit${w()}`,{method:`POST`,headers:Wn(!0),body:JSON.stringify(li())});if(e.status===401)return T(),!1;if(!e.ok){let t={};try{t=await e.json()}catch{}return G(Ei(e.status,t),`提交失败`,`warning`),!1}let t=await e.json();xi(t);let n=t.success_notice,r=n?.enabled===!0&&typeof n.message==`string`?n.message.trim():``;return{channelCallback:Vr(t.channel_callback),successNoticeMessage:r}}async function Oi(){if(!localStorage.getItem(`cxxfds_token`)){T();return}await Ci()&&(vi(),G(`已保存草稿(按当前已填写信息暂存)。`,`保存成功`,`success`))}async function ki(){if(!localStorage.getItem(`cxxfds_token`)){T();return}if(!pi())return;let e=await Di();if(!e)return;let t=e.successNoticeMessage||`已提交报名`;if(e.channelCallback){if(await G(t,`提交成功`,`success`),e.channelCallback.type===`mini_program`){await Wr(e.channelCallback.path,e.channelCallback.method)||G(`未检测到微信小程序回跳能力,请从小程序内重新进入或联系管理员。`,`回跳失败`,`warning`);return}window.location.href=e.channelCallback.redirectUrl;return}G(t,`提交成功`,`success`)}return a(()=>{Z?.(),Xr()}),o(()=>{(async()=>{await bi(),!k.value&&(await Si()||yi(),hr())})()}),(r,i)=>(h(),g(`div`,Se,[_(`div`,Ce,[_(`h5`,we,p(Sr.value),1),!k.value&&Cr.value?(h(),g(`p`,Te,p(Cr.value),1)):t(``,!0),k.value?(h(),g(`p`,Ee,p(k.value),1)):Yn.value&&D.value.length===0&&E.value.some(e=>e.key===`track`)?(h(),g(`p`,De,` 本场赛事尚未在「赛道管理」中配置可用赛道,提交时可能会失败,请联系管理员。 `)):t(``,!0)]),k.value?t(``,!0):(h(),g(`div`,Oe,[_(`div`,ke,[_(`div`,Ae,[_(`div`,{class:e([`application-status-panel`,M.value?`application-status-panel--submitted`:`application-status-panel--draft`]),role:`status`,"aria-live":`polite`},[_(`div`,je,[M.value?(h(),g(`svg`,Me,[...i[5]||=[_(`circle`,{cx:`12`,cy:`12`,r:`9.5`,stroke:`currentColor`,"stroke-width":`1.8`},null,-1),_(`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)]])):(h(),g(`svg`,Ne,[...i[6]||=[_(`circle`,{cx:`12`,cy:`12`,r:`9.5`,stroke:`currentColor`,"stroke-width":`1.8`},null,-1),_(`path`,{d:`M12 7.5v5.2`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`},null,-1),_(`circle`,{cx:`12`,cy:`16.5`,r:`1`,fill:`currentColor`},null,-1)]]))]),_(`div`,Pe,[_(`strong`,null,p(rr.value),1),_(`span`,null,p(ir.value),1)])],2),_(`form`,{id:`applyForm`,ref_key:`applyFormEl`,ref:vr,class:e([`row g-3`,{"was-validated":B.value}]),onSubmit:i[4]||=re(()=>{},[`prevent`])},[(h(!0),g(f,null,s(Dr.value,r=>(h(),g(f,{key:r.type===`file`?`f-`+r.key:r.key},[r.key===`track`?(h(),g(`div`,Fe,[_(`label`,Ie,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,Le,`*`)):t(``,!0),S(r)?(h(),g(`span`,Re,p(S(r)),1)):t(``,!0)]),_(`div`,ze,[d(_(`select`,{id:`track`,ref_for:!0,ref_key:`trackHiddenSelect`,ref:ar,"onUpdate:modelValue":i[0]||=e=>A.track=e,class:`visually-hidden`,required:U(r),tabindex:`-1`,"aria-hidden":`true`,disabled:V.value},[(h(!0),g(f,null,s(D.value,e=>(h(),g(`option`,{key:e.track_code,value:e.track_code},p(e.title),9,Ve))),128))],8,Be),[[ae,A.track]]),_(`div`,He,[_(`button`,{ref_for:!0,ref_key:`trackDropdownBtn`,ref:or,type:`button`,class:e([`dropdown-toggle form-select track-custom-toggle editable w-100 text-start`,{"is-invalid":P.value&&B.value}]),"aria-labelledby":`trackFieldLabel`,"aria-expanded":`false`,"data-bs-toggle":`dropdown`,"data-bs-display":`static`,"data-bs-auto-close":`true`,disabled:V.value},[_(`span`,We,[_(`span`,{class:e(cr.value)},p(sr.value),3)])],10,Ue),lr.value?(h(),g(`small`,Ge,p(lr.value),1)):t(``,!0),_(`ul`,Ke,[(h(!0),g(f,null,s(D.value,e=>(h(),g(`li`,{key:e.track_code},[_(`button`,{type:`button`,class:`dropdown-item track-pick border-0 w-100 text-start rounded-0`,onClick:t=>dr(e.track_code)},[_(`span`,Je,[_(`span`,Ye,p(e.title),1),ur(e.description)?(h(),g(`span`,Xe,p(ur(e.description)),1)):t(``,!0)])],8,qe)]))),128))]),i[7]||=_(`div`,{class:`invalid-feedback`},`请选择主题赛道`,-1)])]),x(r.help)?(h(),g(`small`,Ze,p(x(r.help)),1)):t(``,!0)])):r.type===`file`&&r.key===`plan`?(h(),g(`div`,Qe,[_(`label`,$e,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,et,`*`)):t(``,!0),S(r)?(h(),g(`span`,tt,p(S(r)),1)):t(``,!0)]),_(`input`,{ref_for:!0,ref_key:`planFileInput`,ref:yr,type:`file`,class:e([`form-control editable`,{"is-invalid":B.value&&!!gr.value}]),accept:Jn(r),multiple:``,disabled:V.value,onChange:i[1]||=e=>gi(e.target.files,`plan`)},null,42,nt),_(`div`,{class:e([`apply-file-status`,{"apply-file-status--filled":I.value.length>0}])},p(Nr(I.value)),3),x(r.help)?(h(),g(`small`,rt,p(x(r.help)),1)):t(``,!0),I.value.length?(h(),g(`div`,it,[(h(!0),g(f,null,s(I.value,e=>(h(),g(`div`,{key:String(e.id),class:`supporting-file-item`},[_(`div`,at,[_(`span`,{class:`supporting-file-name`,title:W(e)},p(W(e)),9,ot),_(`span`,st,p(Ar(e.file?e.file.size:e.size||0)),1)]),_(`div`,ct,[_(`a`,{class:`btn btn-sm btn-outline-primary`,href:e.previewUrl||e.url||`#`,download:jr(e),target:`_blank`,rel:`noopener`},`查看/下载`,8,lt),_(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,disabled:V.value,onClick:t=>hi(e.id,`plan`)},` 删除 `,8,ut)])]))),128))])):t(``,!0),_(`small`,dt,p(R.value),1),B.value&&gr.value?(h(),g(`div`,ft,p(gr.value),1)):t(``,!0)])):r.type===`file`&&r.key===`supporting`?(h(),g(`div`,pt,[_(`label`,mt,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,ht,`*`)):t(``,!0),S(r)?(h(),g(`span`,gt,p(S(r)),1)):t(``,!0)]),_(`input`,{ref_for:!0,ref_key:`supportingFileInput`,ref:br,type:`file`,class:e([`form-control editable`,{"is-invalid":B.value&&!!_r.value}]),accept:Jn(r),multiple:``,disabled:V.value,onChange:i[2]||=e=>gi(e.target.files,`supporting`)},null,42,_t),_(`div`,{class:e([`apply-file-status`,{"apply-file-status--filled":L.value.length>0}])},p(Nr(L.value)),3),x(r.help)?(h(),g(`small`,vt,p(x(r.help)),1)):t(``,!0),L.value.length?(h(),g(`div`,yt,[(h(!0),g(f,null,s(L.value,e=>(h(),g(`div`,{key:String(e.id),class:`supporting-file-item`},[_(`div`,bt,[_(`span`,{class:`supporting-file-name`,title:W(e)},p(W(e)),9,xt),_(`span`,St,p(Ar(e.file?e.file.size:e.size||0)),1)]),_(`div`,Ct,[_(`a`,{class:`btn btn-sm btn-outline-primary`,href:e.previewUrl||e.url||`#`,download:jr(e),target:`_blank`,rel:`noopener`},`查看/下载`,8,wt),_(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,disabled:V.value,onClick:t=>hi(e.id,`supporting`)},` 删除 `,8,Tt)])]))),128))])):t(``,!0),_(`small`,Et,p(z.value),1),B.value&&_r.value?(h(),g(`div`,Dt,p(_r.value),1)):t(``,!0)])):r.type===`select`&&!kr(r)?(h(),g(`div`,{key:3,class:e(H(r))},[_(`label`,Ot,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,kt,`*`)):t(``,!0),S(r)?(h(),g(`span`,At,p(S(r)),1)):t(``,!0)]),d(_(`select`,{"onUpdate:modelValue":e=>A[r.key]=e,class:`form-select editable`,required:U(r),disabled:V.value},[_(`option`,Mt,p(Pr(r)),1),(h(!0),g(f,null,s(Or(r),e=>(h(),g(`option`,{key:`${r.key}-${e.value}`,value:e.value},p(e.label),9,Nt))),128))],8,jt),[[ae,A[r.key]]]),_(`div`,Pt,`请选择`+p(r.label),1),x(r.help)?(h(),g(`small`,Ft,p(x(r.help)),1)):t(``,!0)],2)):kr(r)?(h(),g(`div`,{key:4,class:e(H(r))},[_(`label`,It,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,Lt,`*`)):t(``,!0),S(r)?(h(),g(`span`,Rt,p(S(r)),1)):t(``,!0)]),d(_(`select`,{"onUpdate:modelValue":i[3]||=e=>A.location_city=e,class:`form-select editable`,required:U(r),disabled:V.value||!F.value||!String(A.location_province??``).trim()},[_(`option`,Bt,p(String(A.location_province??``).trim()?Pr(r):`请先选择省份`),1),(h(!0),g(f,null,s(Or(r),e=>(h(),g(`option`,{key:e.value,value:e.value},p(e.label),9,Vt))),128))],8,zt),[[ae,A.location_city]]),_(`div`,Ht,`请选择`+p(r.label),1),x(r.help)?(h(),g(`small`,Ut,p(x(r.help)),1)):t(``,!0)],2)):r.type===`checkbox`&&r.key===`commitment_accepted`?(h(),g(`div`,{key:5,class:e(H(r))},[_(`label`,Wt,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,Gt,`*`)):t(``,!0),S(r)?(h(),g(`span`,Kt,p(S(r)),1)):t(``,!0)]),i[8]||=_(`p`,{class:`small text-secondary mb-2`},` 请点击按钮打开承诺书全文,阅读后在文末手写签名并点击「确认签署」。 `,-1),_(`div`,qt,[_(`button`,{type:`button`,class:`btn btn-outline-primary btn-sm editable`,disabled:V.value,onClick:oi},p(Zr.value?`重新查看承诺书`:`查看并签署参赛承诺书`),9,Jt),Zr.value?(h(),g(`span`,Yt,`已完成签署`)):t(``,!0)]),x(r.help)?(h(),g(`small`,Xt,p(x(r.help)),1)):t(``,!0)],2)):r.type===`checkbox`?(h(),g(`div`,{key:6,class:e(H(r))},[_(`div`,Zt,[d(_(`input`,{id:`signup-field-`+r.key,"onUpdate:modelValue":e=>A[r.key]=e,type:`checkbox`,class:`form-check-input editable`,"true-value":`1`,"false-value":``,required:U(r),disabled:V.value},null,8,Qt),[[ie,A[r.key]]]),_(`label`,{class:`form-check-label`,for:`signup-field-`+r.key},[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,en,`*`)):t(``,!0),S(r)?(h(),g(`span`,tn,p(S(r)),1)):t(``,!0)],8,$t),i[9]||=_(`div`,{class:`invalid-feedback`},`请勾选此项以继续`,-1)]),x(r.help)?(h(),g(`small`,nn,p(x(r.help)),1)):t(``,!0)],2)):r.type===`textarea`?(h(),g(`div`,{key:7,class:e(H(r))},[_(`label`,rn,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,an,`*`)):t(``,!0),S(r)?(h(),g(`span`,on,p(S(r)),1)):t(``,!0)]),d(_(`textarea`,{"onUpdate:modelValue":e=>A[r.key]=e,class:`form-control editable`,rows:`4`,placeholder:``,required:U(r),disabled:V.value},null,8,sn),[[te,A[r.key]]]),Tr(r)||r.key===`intro`?(h(),g(`div`,cn,[Tr(r)?(h(),g(`small`,ln,p(Tr(r)),1)):t(``,!0),r.key===`intro`?(h(),g(`small`,un,p(xr.value)+` 字`,1)):t(``,!0)])):t(``,!0),x(r.help)?(h(),g(`small`,{key:1,class:e([`text-secondary prototype-subtitle d-block`,{"mt-1":r.key===`intro`||Tr(r)}])},p(x(r.help)),3)):t(``,!0)],2)):(h(),g(`div`,{key:8,class:e(H(r))},[_(`label`,dn,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,fn,`*`)):t(``,!0),S(r)?(h(),g(`span`,pn,p(S(r)),1)):t(``,!0)]),d(_(`input`,{"onUpdate:modelValue":e=>A[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:U(r),disabled:V.value,placeholder:(r.placeholder??``).trim(),pattern:r.key===`contact_mobile`?Vn:void 0,autocomplete:r.key===`company_name`?`organization`:void 0},null,10,mn),[[ee,A[r.key]]]),_(`div`,hn,p(wr(r)),1),x(r.help)?(h(),g(`small`,gn,p(x(r.help)),1)):t(``,!0)],2))],64))),128)),_(`div`,_n,[_(`button`,{type:`button`,class:`btn btn-outline-primary`,disabled:V.value,onClick:Oi},p(M.value?`保存修改`:`保存`),9,vn),_(`button`,{type:`button`,class:`btn btn-success`,disabled:V.value,onClick:ki},p(M.value?`更新报名`:`提交报名`),9,yn)])],34)])])])),!k.value&&E.value.some(e=>e.key===`commitment_accepted`)?(h(),g(`div`,{key:1,id:`promiseSignModal`,ref_key:`promiseSignModalRef`,ref:Gr,class:`modal fade`,tabindex:`-1`,"aria-hidden":`true`,"data-bs-backdrop":`static`},[_(`div`,bn,[_(`div`,xn,[_(`div`,Sn,[_(`div`,Cn,[_(`h1`,wn,p(Qr.value),1),_(`div`,Tn,[_(`div`,{class:`promise-doc-body promise-doc-body--rich`,innerHTML:Qn.value},null,8,En)]),_(`div`,Dn,[_(`div`,On,[i[10]||=_(`span`,{class:`promise-doc-signlabel`},`参赛人签名:`,-1),_(`div`,kn,[_(`div`,An,[_(`canvas`,{ref_key:`promiseCanvasRef`,ref:K,class:`promise-sig-canvas`,width:`520`,height:`140`,"aria-label":`手写签名区域`},null,512),_(`span`,{class:e([`promise-sig-hint`,{"d-none":!qr.value}])},`请在框内手写签名`,2)]),_(`div`,{class:`promise-sig-tools`},[_(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,onClick:si},` 清除签名 `)])])]),_(`div`,jn,[_(`span`,Mn,[i[11]||=n(`日期:`,-1),_(`strong`,null,p(Kr.value),1)])])]),_(`div`,{class:`promise-sign-actions`},[i[12]||=_(`button`,{type:`button`,class:`btn btn-light notice-cancel-btn`,"data-bs-dismiss":`modal`},`关闭`,-1),_(`button`,{type:`button`,class:`btn btn-primary`,onClick:ci},`确认签署`)])])])])])],512)):t(``,!0),_(`div`,{ref_key:`noticeModalEl`,ref:Ir,id:`applyNoticeModal`,class:`modal fade`,tabindex:`-1`,"aria-hidden":`true`},[_(`div`,Nn,[_(`div`,{class:e([`modal-content notice-modal-content`,zr.value?`notice-success`:`notice-warning`])},[i[15]||=_(`div`,{class:`modal-header border-0 pb-0`},[_(`button`,{type:`button`,class:`btn-close ms-auto`,"data-bs-dismiss":`modal`,"aria-label":`关闭`})],-1),_(`div`,Pn,[_(`div`,Fn,[zr.value?(h(),g(`svg`,In,[...i[13]||=[_(`circle`,{cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`1.8`},null,-1),_(`path`,{d:`M7 12.2l3.1 3.1L17.2 8.8`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):(h(),g(`svg`,Ln,[...i[14]||=[_(`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),_(`path`,{d:`M12 9v5`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`},null,-1),_(`circle`,{cx:`12`,cy:`16.8`,r:`1.1`,fill:`currentColor`},null,-1)]]))]),_(`h5`,Rn,p(Lr.value),1),Rr.value.trim()?(h(),g(`p`,zn,p(Rr.value),1)):t(``,!0)]),i[16]||=_(`div`,{class:`modal-footer notice-modal-footer border-0`},[_(`button`,{type:`button`,class:`btn btn-light notice-cancel-btn`,"data-bs-dismiss":`modal`},`取消`),_(`button`,{type:`button`,class:`btn btn-primary notice-ok-btn`,"data-bs-dismiss":`modal`},`确定`)],-1)],2)])],512)]))}}),[[`__scopeId`,`data-v-b0a573a3`]]),C=m({__name:`ApplyView`,setup(e){return(e,t)=>(h(),i(S))}});export{C as default}; \ No newline at end of file +import{$t as e,C as t,D as n,R as r,S as i,V as a,W as o,Y as s,_t as c,at as l,b as u,c as ee,ct as d,d as te,g as f,ht as ne,in as p,k as m,m as re,q as h,s as ie,u as ae,w as g,x as _}from"./vue.runtime.esm-bundler-6_koQ1g6.js";import{f as oe,l as se,m as ce}from"./api-d2P9R_jw.js";import{o as le,s as ue,v as de,y as fe}from"./index-TxFIjriD.js";import{t as pe}from"./_plugin-vue_export-helper-S3RvzygF.js";import{a as me,i as he,r as ge,t as _e}from"./competitionBranding-BQASm1w0.js";var ve={北京市:[`北京市`],天津市:[`天津市`],上海市:[`上海市`],重庆市:[`重庆市`],河北省:[`石家庄市`,`唐山市`,`秦皇岛市`,`邯郸市`,`邢台市`,`保定市`,`张家口市`,`承德市`,`沧州市`,`廊坊市`,`衡水市`],山西省:[`太原市`,`大同市`,`阳泉市`,`长治市`,`晋城市`,`朔州市`,`晋中市`,`运城市`,`忻州市`,`临汾市`,`吕梁市`],内蒙古自治区:[`呼和浩特市`,`包头市`,`乌海市`,`赤峰市`,`通辽市`,`鄂尔多斯市`,`呼伦贝尔市`,`巴彦淖尔市`,`乌兰察布市`,`兴安盟`,`锡林郭勒盟`,`阿拉善盟`],辽宁省:[`沈阳市`,`大连市`,`鞍山市`,`抚顺市`,`本溪市`,`丹东市`,`锦州市`,`营口市`,`阜新市`,`辽阳市`,`盘锦市`,`铁岭市`,`朝阳市`,`葫芦岛市`],吉林省:[`长春市`,`吉林市`,`四平市`,`辽源市`,`通化市`,`白山市`,`松原市`,`白城市`,`延边朝鲜族自治州`],黑龙江省:[`哈尔滨市`,`齐齐哈尔市`,`鸡西市`,`鹤岗市`,`双鸭山市`,`大庆市`,`伊春市`,`佳木斯市`,`七台河市`,`牡丹江市`,`黑河市`,`绥化市`,`大兴安岭地区`],江苏省:[`南京市`,`无锡市`,`徐州市`,`常州市`,`苏州市`,`南通市`,`连云港市`,`淮安市`,`盐城市`,`扬州市`,`镇江市`,`泰州市`,`宿迁市`],浙江省:[`杭州市`,`宁波市`,`温州市`,`嘉兴市`,`湖州市`,`绍兴市`,`金华市`,`衢州市`,`舟山市`,`台州市`,`丽水市`],安徽省:[`合肥市`,`芜湖市`,`蚌埠市`,`淮南市`,`马鞍山市`,`淮北市`,`铜陵市`,`安庆市`,`黄山市`,`滁州市`,`阜阳市`,`宿州市`,`六安市`,`亳州市`,`池州市`,`宣城市`],福建省:[`福州市`,`厦门市`,`莆田市`,`三明市`,`泉州市`,`漳州市`,`南平市`,`龙岩市`,`宁德市`],江西省:[`南昌市`,`景德镇市`,`萍乡市`,`九江市`,`新余市`,`鹰潭市`,`赣州市`,`吉安市`,`宜春市`,`抚州市`,`上饶市`],山东省:[`济南市`,`青岛市`,`淄博市`,`枣庄市`,`东营市`,`烟台市`,`潍坊市`,`济宁市`,`泰安市`,`威海市`,`日照市`,`临沂市`,`德州市`,`聊城市`,`滨州市`,`菏泽市`],河南省:[`郑州市`,`开封市`,`洛阳市`,`平顶山市`,`安阳市`,`鹤壁市`,`新乡市`,`焦作市`,`濮阳市`,`许昌市`,`漯河市`,`三门峡市`,`南阳市`,`商丘市`,`信阳市`,`周口市`,`驻马店市`,`济源市`],湖北省:[`武汉市`,`黄石市`,`十堰市`,`宜昌市`,`襄阳市`,`鄂州市`,`荆门市`,`孝感市`,`荆州市`,`黄冈市`,`咸宁市`,`随州市`,`恩施土家族苗族自治州`,`仙桃市`,`潜江市`,`天门市`,`神农架林区`],湖南省:[`长沙市`,`株洲市`,`湘潭市`,`衡阳市`,`邵阳市`,`岳阳市`,`常德市`,`张家界市`,`益阳市`,`郴州市`,`永州市`,`怀化市`,`娄底市`,`湘西土家族苗族自治州`],广东省:[`广州市`,`韶关市`,`深圳市`,`珠海市`,`汕头市`,`佛山市`,`江门市`,`湛江市`,`茂名市`,`肇庆市`,`惠州市`,`梅州市`,`汕尾市`,`河源市`,`阳江市`,`清远市`,`东莞市`,`中山市`,`潮州市`,`揭阳市`,`云浮市`],广西壮族自治区:[`南宁市`,`柳州市`,`桂林市`,`梧州市`,`北海市`,`防城港市`,`钦州市`,`贵港市`,`玉林市`,`百色市`,`贺州市`,`河池市`,`来宾市`,`崇左市`],海南省:[`海口市`,`三亚市`,`三沙市`,`儋州市`,`五指山市`,`琼海市`,`文昌市`,`万宁市`,`东方市`,`定安县`,`屯昌县`,`澄迈县`,`临高县`,`白沙黎族自治县`,`昌江黎族自治县`,`乐东黎族自治县`,`陵水黎族自治县`,`保亭黎族苗族自治县`,`琼中黎族苗族自治县`],四川省:[`成都市`,`自贡市`,`攀枝花市`,`泸州市`,`德阳市`,`绵阳市`,`广元市`,`遂宁市`,`内江市`,`乐山市`,`南充市`,`眉山市`,`宜宾市`,`广安市`,`达州市`,`雅安市`,`巴中市`,`资阳市`,`阿坝藏族羌族自治州`,`甘孜藏族自治州`,`凉山彝族自治州`],贵州省:[`贵阳市`,`六盘水市`,`遵义市`,`安顺市`,`毕节市`,`铜仁市`,`黔西南布依族苗族自治州`,`黔东南苗族侗族自治州`,`黔南布依族苗族自治州`],云南省:[`昆明市`,`曲靖市`,`玉溪市`,`保山市`,`昭通市`,`丽江市`,`普洱市`,`临沧市`,`楚雄彝族自治州`,`红河哈尼族彝族自治州`,`文山壮族苗族自治州`,`西双版纳傣族自治州`,`大理白族自治州`,`德宏傣族景颇族自治州`,`怒江傈僳族自治州`,`迪庆藏族自治州`],西藏自治区:[`拉萨市`,`日喀则市`,`昌都市`,`林芝市`,`山南市`,`那曲市`,`阿里地区`],陕西省:[`西安市`,`铜川市`,`宝鸡市`,`咸阳市`,`渭南市`,`延安市`,`汉中市`,`榆林市`,`安康市`,`商洛市`],甘肃省:[`兰州市`,`嘉峪关市`,`金昌市`,`白银市`,`天水市`,`武威市`,`张掖市`,`平凉市`,`酒泉市`,`庆阳市`,`定西市`,`陇南市`,`临夏回族自治州`,`甘南藏族自治州`],青海省:[`西宁市`,`海东市`,`海北藏族自治州`,`黄南藏族自治州`,`海南藏族自治州`,`果洛藏族自治州`,`玉树藏族自治州`,`海西蒙古族藏族自治州`],宁夏回族自治区:[`银川市`,`石嘴山市`,`吴忠市`,`固原市`,`中卫市`],新疆维吾尔自治区:[`乌鲁木齐市`,`克拉玛依市`,`吐鲁番市`,`哈密市`,`昌吉回族自治州`,`博尔塔拉蒙古自治州`,`巴音郭楞蒙古自治州`,`阿克苏地区`,`克孜勒苏柯尔克孜自治州`,`喀什地区`,`和田地区`,`伊犁哈萨克自治州`,`塔城地区`,`阿勒泰地区`,`石河子市`,`阿拉尔市`,`图木舒克市`,`五家渠市`,`北屯市`,`铁门关市`,`双河市`,`可克达拉市`,`昆玉市`,`胡杨河市`,`新星市`],香港特别行政区:[`香港`],澳门特别行政区:[`澳门`],台湾省:[`台北市`,`新北市`,`桃园市`,`台中市`,`台南市`,`高雄市`,`新竹市`,`嘉义市`]},ye=`北京市.天津市.上海市.重庆市.河北省.山西省.内蒙古自治区.辽宁省.吉林省.黑龙江省.江苏省.浙江省.安徽省.福建省.江西省.山东省.河南省.湖北省.湖南省.广东省.广西壮族自治区.海南省.四川省.贵州省.云南省.西藏自治区.陕西省.甘肃省.青海省.宁夏回族自治区.新疆维吾尔自治区.香港特别行政区.澳门特别行政区.台湾省`.split(`.`),be=[`pdf`,`ppt`,`pptx`,`doc`,`docx`,`wps`,`rar`,`zip`],v=[{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:`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 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 xe(e){if(!Array.isArray(e)||e.length===0)return v.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,ee=e.prefill_from,d=ee!=null&&String(ee).trim()!==``?String(ee).trim():void 0,te=e.title_supplement,f=te!=null&&String(te).trim()!==``?String(te).trim():void 0,ne,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&&(ne={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=ye.map(e=>({label:e,value:e}));else{let e=v.find(e=>e.key===r);e?.options?.length&&(m=e.options.map(e=>({...e})))}let re,h;i===`file`&&(re=b(e.file_extensions),h=x(e.file_max_count)),t.push({key:r,type:i,label:a,title_supplement:f,required:o,placeholder:c,help:u,prefill_from:d,options:m,required_when:ne,file_extensions:re,file_max_count:h})}return t.length?t:v.map(e=>({...e}))}var Se={class:`apply-form-page`},Ce={class:`form-page-header flex-shrink-0 mb-3`},we={class:`mb-0 form-page-title`},Te={key:0,class:`text-secondary prototype-subtitle mb-0 mt-2`},Ee={key:1,class:`text-danger small mb-0 mt-2`},De={key:2,class:`text-warning small mb-0 mt-2`},Oe={key:0,class:`apply-form-scroll`},ke={class:`card mb-0`},Ae={class:`card-body`},je={class:`application-status-mark`,"aria-hidden":`true`},Me={key:0,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`none`},Ne={key:1,viewBox:`0 0 24 24`,width:`22`,height:`22`,fill:`none`},Pe={class:`application-status-copy`},Fe={key:0,class:`col-md-4`},Ie={class:`form-label`,id:`trackFieldLabel`},Le={key:0,class:`text-danger`},Re={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},ze={class:`track-custom-select w-100`},Be=[`required`,`disabled`],Ve=[`value`],He={class:`dropdown w-100`},Ue=[`disabled`],We={class:`track-toggle-label text-truncate`},Ge={key:0,class:`track-selected-note`},Ke={class:`dropdown-menu w-100 border shadow-sm rounded-2 py-0 my-1 track-custom-menu`},qe=[`onClick`],Je={class:`track-pick-inline`},Ye={class:`text-body`},Xe={key:0,class:`track-custom-note`},Ze={key:0,class:`text-secondary prototype-subtitle d-block`},Qe={key:1,class:`col-12`},$e={class:`form-label`},et={key:0,class:`text-danger`},tt={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},nt=[`accept`,`disabled`],rt={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},it={key:1,class:`supporting-file-list mt-2`,"aria-live":`polite`},at={class:`supporting-file-meta`},ot=[`title`],st={class:`supporting-file-size`},ct={class:`supporting-file-actions`},lt=[`href`,`download`],ut=[`disabled`,`onClick`],dt={class:`text-secondary prototype-subtitle d-block`},ft={key:2,class:`invalid-feedback d-block`},pt={key:2,class:`col-12`},mt={class:`form-label`},ht={key:0,class:`text-danger`},gt={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},_t=[`accept`,`disabled`],vt={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},yt={key:1,class:`supporting-file-list mt-2`,"aria-live":`polite`},bt={class:`supporting-file-meta`},xt=[`title`],St={class:`supporting-file-size`},Ct={class:`supporting-file-actions`},wt=[`href`,`download`],Tt=[`disabled`,`onClick`],Et={class:`text-secondary prototype-subtitle d-block`},Dt={key:2,class:`invalid-feedback d-block`},Ot={class:`form-label`},kt={key:0,class:`text-danger`},At={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},jt=[`onUpdate:modelValue`,`required`,`disabled`],Mt={value:``,disabled:``},Nt=[`value`],Pt={class:`invalid-feedback`},Ft={key:0,class:`text-secondary prototype-subtitle d-block`},It={class:`form-label`},Lt={key:0,class:`text-danger`},Rt={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},zt=[`required`,`disabled`],Bt={value:``,disabled:``},Vt=[`value`],Ht={class:`invalid-feedback`},Ut={key:0,class:`text-secondary prototype-subtitle d-block`},Wt={class:`form-label`},Gt={key:0,class:`text-danger`},Kt={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`},Jt=[`disabled`],Yt={key:0,class:`badge rounded-pill px-3 py-2 promise-signed-badge`},Xt={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},Zt={class:`form-check`},Qt=[`id`,`onUpdate:modelValue`,`required`,`disabled`],$t=[`for`],en={key:0,class:`text-danger ms-1`},tn={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},nn={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},rn={class:`form-label`},an={key:0,class:`text-danger`},on={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},sn=[`onUpdate:modelValue`,`required`,`disabled`],cn={key:0,class:`d-flex flex-wrap align-items-baseline gap-2 mt-1 w-100`},ln={key:0,class:`apply-textarea-placeholder-hint mb-0`},un={key:1,class:`text-secondary prototype-subtitle intro-char-count mb-0 ms-auto`},dn={class:`form-label`},fn={key:0,class:`text-danger`},pn={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},mn=[`onUpdate:modelValue`,`type`,`required`,`disabled`,`placeholder`,`pattern`,`autocomplete`],hn={class:`invalid-feedback`},gn={key:0,class:`text-secondary prototype-subtitle d-block`},_n={class:`col-12 apply-form-actions mt-3 pt-3 border-top d-flex gap-2 flex-wrap`},vn=[`disabled`],yn=[`disabled`],bn={class:`modal-dialog modal-dialog-centered promise-sign-modal`},xn={class:`modal-content promise-sign-sheet`},Sn={class:`modal-body pt-2`},Cn={class:`promise-doc-paper`},wn={class:`promise-doc-heading text-center`},Tn={class:`promise-doc-scroll`},En=[`innerHTML`],Dn={class:`promise-doc-signblock`},On={class:`promise-doc-signrow`},kn={class:`promise-sig-wrap`},An={class:`promise-sig-box`},jn={class:`promise-doc-daterow`},Mn={class:`promise-doc-dateline`},Nn={class:`modal-dialog modal-dialog-centered notice-modal-dialog`},Pn={class:`modal-body notice-modal-body`},Fn={class:`notice-icon`,"aria-hidden":`true`},In={key:0,viewBox:`0 0 24 24`,width:`36`,height:`36`,fill:`none`,"aria-hidden":`true`},Ln={key:1,viewBox:`0 0 24 24`,width:`36`,height:`36`,fill:`none`,"aria-hidden":`true`},Rn={class:`notice-title`},zn={key:0,class:`notice-text text-break`,style:{"white-space":`pre-wrap`}},Bn=20*1024*1024,Vn=`^1[3-9]\\d{9}$`,Hn=`本项目申报信息中所填写的各栏目内容真实、准确。本项目负责人(团队)对申报材料的真实性负完全责任。
若申报信息中存在虚假、伪造等不实情况,本项目负责人(团队)将积极配合调查,并按照有关规定接受处理。
`,Un=2097152,S=pe(m({__name:`ApplyFormView`,setup(i){let m=de,pe=ue(),v=le(),y=u(()=>String(v.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 w(){let e=y.value;return e?`?competition_slug=${encodeURIComponent(e)}`:``}function Wn(e){let t={Authorization:`Bearer ${localStorage.getItem(`cxxfds_token`)||``}`,Accept:`application/json`};return e&&(t[`Content-Type`]=`application/json`),t}function T(){localStorage.removeItem(se);let e=y.value;e?pe.push({name:`participant-login`,params:{slug:e},query:{redirect:v.fullPath}}):pe.push(`/c`)}let E=c(xe([]));function Gn(e){let t=be.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 Kn(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 qn(e){return E.value.find(t=>t.type===`file`&&t.key===e)}function Jn(e){return Gn(e).map(e=>`.`+e).join(`,`)}let D=c([]),Yn=c(!1),Xn=c(``),Zn=c(``),Qn=u(()=>Zn.value.trim()||Hn),O=c(ge()),k=c(``),A=ne({});function $n(e){for(let t of e)t.type!==`file`&&(t.key in A||(A[t.key]=``));e.some(e=>e.key===`commitment_accepted`)&&!(`promise_signature`in A)&&(A.promise_signature=``)}let er=u(()=>`jscc_signup_form_draft_v2_${y.value||`x`}`),tr=c(`draft`),nr=c(``),j=c(!0),M=u(()=>tr.value===`submitted`),N=u(()=>Mr(nr.value)),rr=u(()=>M.value&&j.value?`报名已提交,可继续修改`:M.value?`报名已提交,已锁定`:j.value?`报名信息未提交`:`报名未提交,当前不可编辑`),ir=u(()=>M.value&&j.value?`${N.value?`上次提交时间:${N.value}。`:``}在报名截止且没有任一评委提交评分前,你仍可修改资料、增删附件,并点击“更新报名”覆盖提交。评审开始后报名会自动锁定,请保持联系方式畅通。`:M.value?`${N.value?`提交时间:${N.value}。`:``}报名已因截止或评审记录产生而锁定,不能再修改资料、增删附件或重复提交。后续请等待赛事组委会通知;如需更正请联系组委会。`:j.value?`请完整填写报名信息、上传商业计划书并签署承诺书;点击“保存”只暂存草稿,点击“提交报名”后才进入已提交状态。`:`当前报名窗口已关闭或报名已被锁定,无法新建、保存或提交报名。如认为状态异常,请联系赛事组委会。`),P=c(!1),ar=c(null),or=c(null),sr=u(()=>{let e=A.track,t=D.value.find(t=>t.track_code===e);return t?t.title:e||`请选择主题赛道`}),cr=u(()=>A.track?`text-body`:`text-secondary`),lr=u(()=>{let e=A.track;return(D.value.find(t=>t.track_code===e)?.description??``).trim()});function ur(e){return(e??``).trim()}function dr(e){A.track=e,P.value=!1;let t=b(or);t&&m.getInstance(t)?.hide()}let F=u(()=>A.location_country===`中国`),fr=u(()=>A.location_country===`海外`),pr=u(()=>ye.map(e=>({label:e,value:e}))),mr=u(()=>{let e=A.location_province;return e?(ve[e]||[]).map(e=>({label:e,value:e})):[]});function hr(){fr.value?(A.location_province=``,A.location_city=``):F.value||(A.location_province=``,A.location_city=``,A.oversea_country=``)}l(()=>A.location_country,()=>{hr()}),l(()=>A.location_province,(e,t)=>{F.value&&e!==t&&(t==null||String(t).trim()===``||(A.location_city=``))}),l(()=>A.entry_group,e=>{e===`创新组`&&(A.company_name=``)});let I=c([]),L=c([]),R=c(``),z=c(``),gr=c(``),_r=c(``),B=c(!1),V=u(()=>!j.value),vr=c(null),yr=c(null),br=c(null),xr=u(()=>(A.intro||``).length),Sr=u(()=>me(O.value,Xn.value)),Cr=u(()=>{let e=O.value.apply?.headerSubtitle;return he(e)?String(e).trim():``});function wr(e){let t=String(A[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 H(e){return e.type===`textarea`||e.type===`file`||e.type===`checkbox`?`col-12`:`col-md-4`}function Tr(e){return e.type===`textarea`?String(e.placeholder??``).trim():``}function Er(e){return e.type===`file`?!0:e.key===`company_name`?A.entry_group!==`创新组`:e.key===`location_province`||e.key===`location_city`?F.value:e.key===`oversea_country`?fr.value:!0}function U(e){if(e.key===`location_province`||e.key===`location_city`)return F.value;if(e.key===`oversea_country`)return fr.value;let t=e.required_when;if(t?.field&&t.values?.length){let e=String(A[t.field]??``).trim();if(t.values.includes(e))return!0}return e.required}let Dr=u(()=>E.value.filter(e=>Er(e)));function Or(e){return e.key===`track`?D.value.map(e=>({label:e.title,value:e.track_code})):e.key===`location_province`?pr.value:e.key===`location_city`&&F.value?mr.value:e.options??[]}function kr(e){return e.key===`location_city`&&F.value}function Ar(e){return e>=1024*1024?`${(e/1024/1024).toFixed(1).replace(/\.0$/,``)}M`:e>=1024?`${Math.ceil(e/1024)}K`:`${e}B`}function W(e){return e.file?e.file.name:e.original_name||``}function jr(e){return W(e).trim()||void 0}function Mr(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 Nr(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 Pr(e){return`请选择${e.label}`}function Fr(e){let t=e.message||``,n=e.errors;return n&&Object.keys(n).length?`${t}\n${JSON.stringify(n)}`:t||`操作失败`}let Ir=c(null),Lr=c(`提示`),Rr=c(``),zr=c(!1);function G(e,t=`提示`,n=`warning`){return Lr.value=t,Rr.value=e,zr.value=n===`success`,new Promise(e=>{r(()=>{let t=Ir.value;if(!t){e();return}t.addEventListener(`hidden.bs.modal`,()=>e(),{once:!0}),fe.getOrCreateInstance(t).show()})})}function Br(e){return e===`navigateTo`||e===`reLaunch`||e===`switchTab`?e:`redirectTo`}function Vr(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:Br(e.method)}:null}let t=typeof e.redirect_url==`string`?e.redirect_url.trim():``;return t?{type:`web`,redirectUrl:t}:null}let Hr=null;function Ur(){if(window.wx?.miniProgram)return Promise.resolve(window.wx);if(Hr)return Hr;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(()=>{Hr=null});return Hr=e,e}async function Wr(e,t){try{let n=(await Ur()).miniProgram?.[t];return typeof n==`function`?(n({url:e}),!0):!1}catch{return!1}}let Gr=c(null),K=c(null),Kr=c(``),qr=c(!0),q=null,J=520,Y=140,Jr=!1,Yr=!1,X=null,Z=null;function Xr(){X?.abort(),X=null}let Zr=u(()=>A.commitment_accepted===`1`&&String(A.promise_signature??``).trim()!==``),Qr=u(()=>{let e=Xn.value.trim();return e?`${e} 赛事承诺书`:`赛事承诺书`});function $r(e){return`${e.getFullYear()}年${e.getMonth()+1}月${e.getDate()}日`}function ei(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 ti(){let e=K.value;if(!e)return;let t=e.closest(`.promise-sig-wrap`),n=window.devicePixelRatio||1,r=window.getComputedStyle(e);J=Math.max(280,Math.floor(t?.clientWidth||520)),Y=Math.max(76,Math.floor(parseFloat(r.height)||110)),e.style.width=`${J}px`,e.style.height=`${Y}px`,e.width=Math.floor(J*n),e.height=Math.floor(Y*n),q=e.getContext(`2d`),q&&(q.setTransform(1,0,0,1,0,0),q.scale(n,n),q.fillStyle=`#ffffff`,q.fillRect(0,0,J,Y),q.strokeStyle=`#111111`,q.lineWidth=2,q.lineCap=`round`,q.lineJoin=`round`,Yr=!1,qr.value=!0)}function ni(){let e=String(A.promise_signature??``).trim();if(!e||!q)return;let t=new Image;t.onload=()=>{q&&(q.drawImage(t,0,0,J,Y),Yr=!0,qr.value=!1)},t.src=e}function ri(){let e=K.value;if(!e||!q)return;Xr(),X=new AbortController;let{signal:t}=X,n=t=>{if(`touches`in t&&t.preventDefault(),!q)return;Jr=!0;let n=ei(t,e);q.beginPath(),q.moveTo(n.x,n.y)},r=t=>{if(!Jr||!q)return;`touches`in t&&t.preventDefault();let n=ei(t,e);q.lineTo(n.x,n.y),q.stroke(),Yr=!0,qr.value=!1},i=()=>{Jr=!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 ii(){Kr.value=$r(new Date);let e=t=>{if(!K.value){t<40&&requestAnimationFrame(()=>e(t+1));return}ti(),ri(),String(A.promise_signature??``).trim()&&A.commitment_accepted===`1`&&ni()};r(()=>{requestAnimationFrame(()=>e(0))})}function ai(e){Z?.();let t=()=>{ii()},n=()=>{Xr()};e.addEventListener(`shown.bs.modal`,t),e.addEventListener(`hidden.bs.modal`,n),Z=()=>{e.removeEventListener(`shown.bs.modal`,t),e.removeEventListener(`hidden.bs.modal`,n),Z=null}}l(Gr,e=>{Z?.(),e&&ai(e)},{flush:`post`});function oi(){if(V.value)return;let e=Gr.value;e&&fe.getOrCreateInstance(e).show()}function si(){ti(),ri()}function ci(){let e=K.value;if(!Yr||!e){G(`请先在签名区域内手写签名后再确认。`,`请确认`,`warning`);return}let t=e.toDataURL(`image/png`);if(t.length>Un){G(`签名数据过大,请清除后重新签名或联系管理员。`,`提示`,`warning`);return}A.promise_signature=t,A.commitment_accepted=`1`;let n=Gr.value;n&&fe.getInstance(n)?.hide()}function li(){let e={};for(let t of E.value)if(t.type!==`file`){if(t.type===`checkbox`){e[t.key]=A[t.key]===`1`;continue}e[t.key]=A[t.key]??``}return E.value.some(e=>e.key===`commitment_accepted`)&&(e.promise_signature=A.promise_signature??``),e}function ui(e,t,n,r){let i=Gn(r),a=Kn(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>Bn);return l?{ok:!1,feedback:`“${l.name}”大小不能超过20M`}:{ok:!0,feedback:``}}function di(){return E.value.some(e=>e.key===`plan`&&e.type===`file`)}function fi(){return E.value.some(e=>e.key===`supporting`&&e.type===`file`)}function Q(){if(!di())return b(yr)?.setCustomValidity(``),!0;let e=qn(`plan`),t=ui(I.value,`请上传商业计划书`,!1,e);return gr.value=t.feedback,b(yr)?.setCustomValidity(t.ok?``:`missing`),t.ok}function $(){if(!fi())return b(br)?.setCustomValidity(``),!0;let e=qn(`supporting`),t=ui(L.value,`文件格式或大小不符合要求`,!0,e);return _r.value=t.feedback,b(br)?.setCustomValidity(t.ok?``:`bad`),t.ok}function pi(){B.value=!0,Q(),$();let e=E.value.find(e=>e.key===`track`);if(e&&Er(e)){P.value=!A.track;let e=b(ar);e&&e.setCustomValidity(A.track?``:`请选择主题赛道`)}else P.value=!1,b(ar)?.setCustomValidity(``);return!(vr.value?.checkValidity()??!1)||e&&U(e)&&!A.track||!Q()||!$()?!1:E.value.find(e=>e.key===`commitment_accepted`)&&(A.commitment_accepted!==`1`||!String(A.promise_signature??``).trim())?(G(`请先阅读并完成参赛承诺书的手写签署。`,`提示`,`warning`),!1):!0}async function mi(e){let t=localStorage.getItem(se);if(!t)return;let n=(e===`plan`?I.value:L.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 fetch(`${C()}/api/applications/current/files${w()}`,{method:`POST`,headers:{Authorization:`Bearer ${t}`,Accept:`application/json`},body:n}),a=await i.json().catch(()=>({}));if(i.status===401){T();return}if(!i.ok){G(Fr(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=ce(String(a.url??``));r.url=s,r.previewUrl=s,o&&String(o).startsWith(`blob:`)&&URL.revokeObjectURL(o),delete r.file}G(`文件已上传。`,`上传成功`,`success`),e===`plan`?Q():$()}}async function hi(e,t){let n=t===`plan`?[...I.value]:[...L.value],r=n.find(t=>String(t.id)===String(e));if(r){if(r.fromServer&&typeof r.id==`number`){if(!localStorage.getItem(`cxxfds_token`)){T();return}let e=await fetch(`${C()}/api/applications/current/files/${r.id}${w()}`,{method:`DELETE`,headers:Wn(!1)});if(e.status===401){T();return}if(!e.ok){G(`删除失败`,`提示`,`warning`);return}}r.previewUrl&&String(r.previewUrl).startsWith(`blob:`)&&URL.revokeObjectURL(r.previewUrl),n=n.filter(t=>String(t.id)!==String(e)),t===`plan`?I.value=n:L.value=n,B.value=!0,t===`plan`?Q():$()}}function gi(e,t){if(!e?.length)return;let n=Kn(qn(t)),r=t===`plan`?[...I.value]:[...L.value],i=Array.from(e),a=n===null?i.length:Math.max(0,n-r.length);if(i.length>a&&n!==null&&G(`该栏最多上传 ${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`){I.value=[...r],R.value=``;let e=b(yr);e&&(e.value=``),B.value=!0,Q()}else{L.value=[...r],z.value=``;let e=b(br);e&&(e.value=``),B.value=!0,$()}mi(t)}function _i(){return{formModel:{...A},planFileNames:I.value.map(W).filter(Boolean),supportingFileNames:L.value.map(W).filter(Boolean)}}function vi(){let e=_i();localStorage.setItem(er.value,JSON.stringify(e)),e.planFileNames.length?R.value=`已保存商业计划书名称:${e.planFileNames.join(`、`)}`:R.value=``,e.supportingFileNames.length?z.value=`已保存其他佐证材料名称:${e.supportingFileNames.join(`、`)}`:z.value=``}function yi(){let e=localStorage.getItem(er.value);if(e)try{let t=JSON.parse(e);if(t.formModel&&typeof t.formModel==`object`)for(let e of Object.keys(t.formModel))A[e]=t.formModel[e]??``;let n=t.planFileNames||[];n.length&&(R.value=`上次保存商业计划书名称:${n.join(`、`)}(浏览器限制,需重新选择后预览或删除)`);let r=t.supportingFileNames;r?.length&&(z.value=`上次保存其他佐证材料名称:${r.join(`、`)}(浏览器限制,需重新选择后预览或删除)`),hr()}catch{localStorage.removeItem(er.value)}}async function bi(){Yn.value=!1;let e=y.value;if(!e){k.value=`缺少赛事地址`;return}k.value=``;try{let t=await fetch(`${C()}/api/v1/public/competitions/by-slug/${encodeURIComponent(e)}`,{headers:{Accept:`application/json`}});if(!t.ok){k.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;Xn.value=String(r.name??``),Zn.value=typeof r.pledge_content_html==`string`?r.pledge_content_html:``;let i=r.tracks;D.value=Array.isArray(i)?i:[];let a=r.signup_form_schema;if(typeof a==`string`)try{a=JSON.parse(a)}catch{a=[]}E.value=xe(a),$n(E.value),O.value=_e(r.branding_json??null);let o=O.value.documentTitle;he(o)&&typeof document<`u`&&(document.title=o.trim()),Yn.value=!0}catch{k.value=`网络错误,无法加载赛事`}}function xi(e){tr.value=e.status||`draft`,nr.value=typeof e.submitted_at==`string`?e.submitted_at:``,j.value=e.participant_may_edit!==!1,A.player_name=e.player_name||``,A.school=e.school||``,A.degree=e.degree||``,A.contact_email=e.contact_email||``,A.contact_mobile=e.contact_mobile||``,A.entry_group=e.entry_group||``,A.company_name=e.company_name||``,A.project_name=e.project_name||``,A.track=e.track||``,A.location_country=e.location_country||``,A.location_province=e.location_province||``,A.location_city=e.location_city||``,A.oversea_country=e.oversea_country||``,A.intro=e.intro||``;let t=Object.prototype.hasOwnProperty.call(e,`promise_signature`),n=t?typeof e.promise_signature==`string`?e.promise_signature:``:String(A.promise_signature??``);(t||!e.promise_signed_at)&&(A.promise_signature=n),A.commitment_accepted=n.trim()&&e.promise_signed_at?`1`:``,hr(),I.value=(e.files||[]).filter(e=>e.kind===`plan`).map(e=>{let t=ce(e.url);return{id:e.id,fromServer:!0,original_name:e.original_name,size:e.size,url:t,previewUrl:t}}),L.value=(e.files||[]).filter(e=>e.kind===`supporting`).map(e=>{let t=ce(e.url);return{id:e.id,fromServer:!0,original_name:e.original_name,size:e.size,url:t,previewUrl:t}}),Q(),$()}async function Si(){if(!localStorage.getItem(`cxxfds_token`))return!1;let e=await fetch(`${C()}/api/applications/current${w()}`,{headers:Wn(!1)});return e.status===401?(localStorage.removeItem(se),T(),!1):e.ok?(xi(await e.json()),!0):!1}async function Ci(){let e=await fetch(`${C()}/api/applications/current${w()}`,{method:`PUT`,headers:Wn(!0),body:JSON.stringify(li())});if(e.status===401)return T(),!1;if(!e.ok)return e.json().catch(()=>({})),G(`草稿未能保存,请检查网络或稍后重试。`,`保存失败`,`warning`),!1;try{xi(await e.json())}catch{}return!0}function wi(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 Ti(e){let t=e.trim();return t===`The given data was invalid.`||t===`The given data was invalid`||t===`给定的数据无效。`||t===`给定的数据无效`}function Ei(e,t){let n=wi(t.errors);if(n.length>0)return n[0];let r=t.message;if(typeof r==`string`&&r.trim()){let e=r.trim();if(!Ti(e))return e}return e===404?`赛事不存在或未发布,请返回重新进入报名页。`:e===403?`当前账号无权限提交,请确认登录状态或联系管理员。`:e===409?`报名状态已变更或发生冲突,请刷新页面后重试。`:e===429?`请求过于频繁,请稍后再试。`:e>=500?`服务暂时不可用,请稍后重试。`:e===422?`提交失败,请填写完整信息。`:`报名未能提交,请检查网络或稍后重试。`}async function Di(){let e=await fetch(`${C()}/api/applications/current/submit${w()}`,{method:`POST`,headers:Wn(!0),body:JSON.stringify(li())});if(e.status===401)return T(),!1;if(!e.ok){let t={};try{t=await e.json()}catch{}return G(Ei(e.status,t),`提交失败`,`warning`),!1}let t=await e.json();xi(t);let n=t.success_notice,r=n?.enabled===!0&&typeof n.message==`string`?n.message.trim():``;return{channelCallback:Vr(t.channel_callback),successNoticeMessage:r}}async function Oi(){if(!localStorage.getItem(`cxxfds_token`)){T();return}await Ci()&&(vi(),G(`已保存草稿(按当前已填写信息暂存)。`,`保存成功`,`success`))}async function ki(){if(!localStorage.getItem(`cxxfds_token`)){T();return}if(!pi())return;let e=await Di();if(!e)return;let t=e.successNoticeMessage||`已提交报名`;if(e.channelCallback){if(await G(t,`提交成功`,`success`),e.channelCallback.type===`mini_program`){await Wr(e.channelCallback.path,e.channelCallback.method)||G(`未检测到微信小程序回跳能力,请从小程序内重新进入或联系管理员。`,`回跳失败`,`warning`);return}window.location.href=e.channelCallback.redirectUrl;return}G(t,`提交成功`,`success`)}return a(()=>{Z?.(),Xr()}),o(()=>{(async()=>{await bi(),!k.value&&(await Si()||yi(),hr())})()}),(r,i)=>(h(),g(`div`,Se,[_(`div`,Ce,[_(`h5`,we,p(Sr.value),1),!k.value&&Cr.value?(h(),g(`p`,Te,p(Cr.value),1)):t(``,!0),k.value?(h(),g(`p`,Ee,p(k.value),1)):Yn.value&&D.value.length===0&&E.value.some(e=>e.key===`track`)?(h(),g(`p`,De,` 本场赛事尚未在「赛道管理」中配置可用赛道,提交时可能会失败,请联系管理员。 `)):t(``,!0)]),k.value?t(``,!0):(h(),g(`div`,Oe,[_(`div`,ke,[_(`div`,Ae,[_(`div`,{class:e([`application-status-panel`,M.value?`application-status-panel--submitted`:`application-status-panel--draft`]),role:`status`,"aria-live":`polite`},[_(`div`,je,[M.value?(h(),g(`svg`,Me,[...i[5]||=[_(`circle`,{cx:`12`,cy:`12`,r:`9.5`,stroke:`currentColor`,"stroke-width":`1.8`},null,-1),_(`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)]])):(h(),g(`svg`,Ne,[...i[6]||=[_(`circle`,{cx:`12`,cy:`12`,r:`9.5`,stroke:`currentColor`,"stroke-width":`1.8`},null,-1),_(`path`,{d:`M12 7.5v5.2`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`},null,-1),_(`circle`,{cx:`12`,cy:`16.5`,r:`1`,fill:`currentColor`},null,-1)]]))]),_(`div`,Pe,[_(`strong`,null,p(rr.value),1),_(`span`,null,p(ir.value),1)])],2),_(`form`,{id:`applyForm`,ref_key:`applyFormEl`,ref:vr,class:e([`row g-3`,{"was-validated":B.value}]),onSubmit:i[4]||=re(()=>{},[`prevent`])},[(h(!0),g(f,null,s(Dr.value,r=>(h(),g(f,{key:r.type===`file`?`f-`+r.key:r.key},[r.key===`track`?(h(),g(`div`,Fe,[_(`label`,Ie,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,Le,`*`)):t(``,!0),S(r)?(h(),g(`span`,Re,p(S(r)),1)):t(``,!0)]),_(`div`,ze,[d(_(`select`,{id:`track`,ref_for:!0,ref_key:`trackHiddenSelect`,ref:ar,"onUpdate:modelValue":i[0]||=e=>A.track=e,class:`visually-hidden`,required:U(r),tabindex:`-1`,"aria-hidden":`true`,disabled:V.value},[(h(!0),g(f,null,s(D.value,e=>(h(),g(`option`,{key:e.track_code,value:e.track_code},p(e.title),9,Ve))),128))],8,Be),[[ae,A.track]]),_(`div`,He,[_(`button`,{ref_for:!0,ref_key:`trackDropdownBtn`,ref:or,type:`button`,class:e([`dropdown-toggle form-select track-custom-toggle editable w-100 text-start`,{"is-invalid":P.value&&B.value}]),"aria-labelledby":`trackFieldLabel`,"aria-expanded":`false`,"data-bs-toggle":`dropdown`,"data-bs-display":`static`,"data-bs-auto-close":`true`,disabled:V.value},[_(`span`,We,[_(`span`,{class:e(cr.value)},p(sr.value),3)])],10,Ue),lr.value?(h(),g(`small`,Ge,p(lr.value),1)):t(``,!0),_(`ul`,Ke,[(h(!0),g(f,null,s(D.value,e=>(h(),g(`li`,{key:e.track_code},[_(`button`,{type:`button`,class:`dropdown-item track-pick border-0 w-100 text-start rounded-0`,onClick:t=>dr(e.track_code)},[_(`span`,Je,[_(`span`,Ye,p(e.title),1),ur(e.description)?(h(),g(`span`,Xe,p(ur(e.description)),1)):t(``,!0)])],8,qe)]))),128))]),i[7]||=_(`div`,{class:`invalid-feedback`},`请选择主题赛道`,-1)])]),x(r.help)?(h(),g(`small`,Ze,p(x(r.help)),1)):t(``,!0)])):r.type===`file`&&r.key===`plan`?(h(),g(`div`,Qe,[_(`label`,$e,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,et,`*`)):t(``,!0),S(r)?(h(),g(`span`,tt,p(S(r)),1)):t(``,!0)]),_(`input`,{ref_for:!0,ref_key:`planFileInput`,ref:yr,type:`file`,class:e([`form-control editable`,{"is-invalid":B.value&&!!gr.value}]),accept:Jn(r),multiple:``,disabled:V.value,onChange:i[1]||=e=>gi(e.target.files,`plan`)},null,42,nt),_(`div`,{class:e([`apply-file-status`,{"apply-file-status--filled":I.value.length>0}])},p(Nr(I.value)),3),x(r.help)?(h(),g(`small`,rt,p(x(r.help)),1)):t(``,!0),I.value.length?(h(),g(`div`,it,[(h(!0),g(f,null,s(I.value,e=>(h(),g(`div`,{key:String(e.id),class:`supporting-file-item`},[_(`div`,at,[_(`span`,{class:`supporting-file-name`,title:W(e)},p(W(e)),9,ot),_(`span`,st,p(Ar(e.file?e.file.size:e.size||0)),1)]),_(`div`,ct,[_(`a`,{class:`btn btn-sm btn-outline-primary`,href:e.previewUrl||e.url||`#`,download:jr(e),target:`_blank`,rel:`noopener`},`查看/下载`,8,lt),_(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,disabled:V.value,onClick:t=>hi(e.id,`plan`)},` 删除 `,8,ut)])]))),128))])):t(``,!0),_(`small`,dt,p(R.value),1),B.value&&gr.value?(h(),g(`div`,ft,p(gr.value),1)):t(``,!0)])):r.type===`file`&&r.key===`supporting`?(h(),g(`div`,pt,[_(`label`,mt,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,ht,`*`)):t(``,!0),S(r)?(h(),g(`span`,gt,p(S(r)),1)):t(``,!0)]),_(`input`,{ref_for:!0,ref_key:`supportingFileInput`,ref:br,type:`file`,class:e([`form-control editable`,{"is-invalid":B.value&&!!_r.value}]),accept:Jn(r),multiple:``,disabled:V.value,onChange:i[2]||=e=>gi(e.target.files,`supporting`)},null,42,_t),_(`div`,{class:e([`apply-file-status`,{"apply-file-status--filled":L.value.length>0}])},p(Nr(L.value)),3),x(r.help)?(h(),g(`small`,vt,p(x(r.help)),1)):t(``,!0),L.value.length?(h(),g(`div`,yt,[(h(!0),g(f,null,s(L.value,e=>(h(),g(`div`,{key:String(e.id),class:`supporting-file-item`},[_(`div`,bt,[_(`span`,{class:`supporting-file-name`,title:W(e)},p(W(e)),9,xt),_(`span`,St,p(Ar(e.file?e.file.size:e.size||0)),1)]),_(`div`,Ct,[_(`a`,{class:`btn btn-sm btn-outline-primary`,href:e.previewUrl||e.url||`#`,download:jr(e),target:`_blank`,rel:`noopener`},`查看/下载`,8,wt),_(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,disabled:V.value,onClick:t=>hi(e.id,`supporting`)},` 删除 `,8,Tt)])]))),128))])):t(``,!0),_(`small`,Et,p(z.value),1),B.value&&_r.value?(h(),g(`div`,Dt,p(_r.value),1)):t(``,!0)])):r.type===`select`&&!kr(r)?(h(),g(`div`,{key:3,class:e(H(r))},[_(`label`,Ot,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,kt,`*`)):t(``,!0),S(r)?(h(),g(`span`,At,p(S(r)),1)):t(``,!0)]),d(_(`select`,{"onUpdate:modelValue":e=>A[r.key]=e,class:`form-select editable`,required:U(r),disabled:V.value},[_(`option`,Mt,p(Pr(r)),1),(h(!0),g(f,null,s(Or(r),e=>(h(),g(`option`,{key:`${r.key}-${e.value}`,value:e.value},p(e.label),9,Nt))),128))],8,jt),[[ae,A[r.key]]]),_(`div`,Pt,`请选择`+p(r.label),1),x(r.help)?(h(),g(`small`,Ft,p(x(r.help)),1)):t(``,!0)],2)):kr(r)?(h(),g(`div`,{key:4,class:e(H(r))},[_(`label`,It,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,Lt,`*`)):t(``,!0),S(r)?(h(),g(`span`,Rt,p(S(r)),1)):t(``,!0)]),d(_(`select`,{"onUpdate:modelValue":i[3]||=e=>A.location_city=e,class:`form-select editable`,required:U(r),disabled:V.value||!F.value||!String(A.location_province??``).trim()},[_(`option`,Bt,p(String(A.location_province??``).trim()?Pr(r):`请先选择省份`),1),(h(!0),g(f,null,s(Or(r),e=>(h(),g(`option`,{key:e.value,value:e.value},p(e.label),9,Vt))),128))],8,zt),[[ae,A.location_city]]),_(`div`,Ht,`请选择`+p(r.label),1),x(r.help)?(h(),g(`small`,Ut,p(x(r.help)),1)):t(``,!0)],2)):r.type===`checkbox`&&r.key===`commitment_accepted`?(h(),g(`div`,{key:5,class:e(H(r))},[_(`label`,Wt,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,Gt,`*`)):t(``,!0),S(r)?(h(),g(`span`,Kt,p(S(r)),1)):t(``,!0)]),i[8]||=_(`p`,{class:`small text-secondary mb-2`},` 请点击按钮打开承诺书全文,阅读后在文末手写签名并点击「确认签署」。 `,-1),_(`div`,qt,[_(`button`,{type:`button`,class:`btn btn-outline-primary btn-sm editable`,disabled:V.value,onClick:oi},p(Zr.value?`重新查看承诺书`:`查看并签署参赛承诺书`),9,Jt),Zr.value?(h(),g(`span`,Yt,`已完成签署`)):t(``,!0)]),x(r.help)?(h(),g(`small`,Xt,p(x(r.help)),1)):t(``,!0)],2)):r.type===`checkbox`?(h(),g(`div`,{key:6,class:e(H(r))},[_(`div`,Zt,[d(_(`input`,{id:`signup-field-`+r.key,"onUpdate:modelValue":e=>A[r.key]=e,type:`checkbox`,class:`form-check-input editable`,"true-value":`1`,"false-value":``,required:U(r),disabled:V.value},null,8,Qt),[[ie,A[r.key]]]),_(`label`,{class:`form-check-label`,for:`signup-field-`+r.key},[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,en,`*`)):t(``,!0),S(r)?(h(),g(`span`,tn,p(S(r)),1)):t(``,!0)],8,$t),i[9]||=_(`div`,{class:`invalid-feedback`},`请勾选此项以继续`,-1)]),x(r.help)?(h(),g(`small`,nn,p(x(r.help)),1)):t(``,!0)],2)):r.type===`textarea`?(h(),g(`div`,{key:7,class:e(H(r))},[_(`label`,rn,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,an,`*`)):t(``,!0),S(r)?(h(),g(`span`,on,p(S(r)),1)):t(``,!0)]),d(_(`textarea`,{"onUpdate:modelValue":e=>A[r.key]=e,class:`form-control editable`,rows:`4`,placeholder:``,required:U(r),disabled:V.value},null,8,sn),[[te,A[r.key]]]),Tr(r)||r.key===`intro`?(h(),g(`div`,cn,[Tr(r)?(h(),g(`small`,ln,p(Tr(r)),1)):t(``,!0),r.key===`intro`?(h(),g(`small`,un,p(xr.value)+` 字`,1)):t(``,!0)])):t(``,!0),x(r.help)?(h(),g(`small`,{key:1,class:e([`text-secondary prototype-subtitle d-block`,{"mt-1":r.key===`intro`||Tr(r)}])},p(x(r.help)),3)):t(``,!0)],2)):(h(),g(`div`,{key:8,class:e(H(r))},[_(`label`,dn,[n(p(r.label)+` `,1),U(r)?(h(),g(`span`,fn,`*`)):t(``,!0),S(r)?(h(),g(`span`,pn,p(S(r)),1)):t(``,!0)]),d(_(`input`,{"onUpdate:modelValue":e=>A[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:U(r),disabled:V.value,placeholder:(r.placeholder??``).trim(),pattern:r.key===`contact_mobile`?Vn:void 0,autocomplete:r.key===`company_name`?`organization`:void 0},null,10,mn),[[ee,A[r.key]]]),_(`div`,hn,p(wr(r)),1),x(r.help)?(h(),g(`small`,gn,p(x(r.help)),1)):t(``,!0)],2))],64))),128)),_(`div`,_n,[_(`button`,{type:`button`,class:`btn btn-outline-primary`,disabled:V.value,onClick:Oi},p(M.value?`保存修改`:`保存`),9,vn),_(`button`,{type:`button`,class:`btn btn-success`,disabled:V.value,onClick:ki},p(M.value?`更新报名`:`提交报名`),9,yn)])],34)])])])),!k.value&&E.value.some(e=>e.key===`commitment_accepted`)?(h(),g(`div`,{key:1,id:`promiseSignModal`,ref_key:`promiseSignModalRef`,ref:Gr,class:`modal fade`,tabindex:`-1`,"aria-hidden":`true`,"data-bs-backdrop":`static`},[_(`div`,bn,[_(`div`,xn,[_(`div`,Sn,[_(`div`,Cn,[_(`h1`,wn,p(Qr.value),1),_(`div`,Tn,[_(`div`,{class:`promise-doc-body promise-doc-body--rich`,innerHTML:Qn.value},null,8,En)]),_(`div`,Dn,[_(`div`,On,[i[10]||=_(`span`,{class:`promise-doc-signlabel`},`参赛人签名:`,-1),_(`div`,kn,[_(`div`,An,[_(`canvas`,{ref_key:`promiseCanvasRef`,ref:K,class:`promise-sig-canvas`,width:`520`,height:`140`,"aria-label":`手写签名区域`},null,512),_(`span`,{class:e([`promise-sig-hint`,{"d-none":!qr.value}])},`请在框内手写签名`,2)]),_(`div`,{class:`promise-sig-tools`},[_(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,onClick:si},` 清除签名 `)])])]),_(`div`,jn,[_(`span`,Mn,[i[11]||=n(`日期:`,-1),_(`strong`,null,p(Kr.value),1)])])]),_(`div`,{class:`promise-sign-actions`},[i[12]||=_(`button`,{type:`button`,class:`btn btn-light notice-cancel-btn`,"data-bs-dismiss":`modal`},`关闭`,-1),_(`button`,{type:`button`,class:`btn btn-primary`,onClick:ci},`确认签署`)])])])])])],512)):t(``,!0),_(`div`,{ref_key:`noticeModalEl`,ref:Ir,id:`applyNoticeModal`,class:`modal fade`,tabindex:`-1`,"aria-hidden":`true`},[_(`div`,Nn,[_(`div`,{class:e([`modal-content notice-modal-content`,zr.value?`notice-success`:`notice-warning`])},[i[15]||=_(`div`,{class:`modal-header border-0 pb-0`},[_(`button`,{type:`button`,class:`btn-close ms-auto`,"data-bs-dismiss":`modal`,"aria-label":`关闭`})],-1),_(`div`,Pn,[_(`div`,Fn,[zr.value?(h(),g(`svg`,In,[...i[13]||=[_(`circle`,{cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`1.8`},null,-1),_(`path`,{d:`M7 12.2l3.1 3.1L17.2 8.8`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):(h(),g(`svg`,Ln,[...i[14]||=[_(`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),_(`path`,{d:`M12 9v5`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`},null,-1),_(`circle`,{cx:`12`,cy:`16.8`,r:`1.1`,fill:`currentColor`},null,-1)]]))]),_(`h5`,Rn,p(Lr.value),1),Rr.value.trim()?(h(),g(`p`,zn,p(Rr.value),1)):t(``,!0)]),i[16]||=_(`div`,{class:`modal-footer notice-modal-footer border-0`},[_(`button`,{type:`button`,class:`btn btn-light notice-cancel-btn`,"data-bs-dismiss":`modal`},`取消`),_(`button`,{type:`button`,class:`btn btn-primary notice-ok-btn`,"data-bs-dismiss":`modal`},`确定`)],-1)],2)])],512)]))}}),[[`__scopeId`,`data-v-1d423f40`]]),C=m({__name:`ApplyView`,setup(e){return(e,t)=>(h(),i(S))}});export{C as default}; \ No newline at end of file diff --git a/public/admin/assets/ApplyView-DYwQr7rx.css b/public/admin/assets/ApplyView-DYwQr7rx.css deleted file mode 100644 index ddb2aea..0000000 --- a/public/admin/assets/ApplyView-DYwQr7rx.css +++ /dev/null @@ -1 +0,0 @@ -.application-status-panel[data-v-b0a573a3]{color:#17324d;background:#f7f9fc;border:1px solid #d8e2ef;border-radius:8px;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.875rem 1rem;display:flex}.application-status-panel--submitted[data-v-b0a573a3]{color:#1f5132;background:#f3faf5;border-color:#bdd7c8}.application-status-mark[data-v-b0a573a3]{flex:none;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;margin-top:.05rem;display:inline-flex}.application-status-copy[data-v-b0a573a3]{gap:.2rem;min-width:0;display:grid}.application-status-copy strong[data-v-b0a573a3]{font-size:.98rem;line-height:1.35}.application-status-copy span[data-v-b0a573a3]{color:#4d5f73;font-size:.9rem;line-height:1.5}.application-status-panel--submitted .application-status-copy span[data-v-b0a573a3]{color:#42664f}.track-selected-note[data-v-b0a573a3]{color:#6c7886;margin-top:.35rem;font-size:.84rem;line-height:1.45;display:block}.track-pick-inline[data-v-b0a573a3]{white-space:normal;grid-template-columns:minmax(5.5rem,auto) 1fr;align-items:start;gap:.6rem;display:grid}.track-pick-inline .text-body[data-v-b0a573a3]{font-weight:600;color:#1f1f1f!important}.track-custom-note[data-v-b0a573a3]{color:#7d8896;font-size:.86rem;line-height:1.55}.apply-file-status[data-v-b0a573a3]{color:#667585;background:#f7f9fb;border:1px solid #e4e9ef;border-radius:999px;align-items:center;min-height:1.75rem;margin-top:.45rem;padding:.25rem .6rem;font-size:.84rem;line-height:1.2;display:inline-flex}.apply-file-status--filled[data-v-b0a573a3]{color:#1f5132;background:#f3faf5;border-color:#bdd7c8}@media (width<=575.98px){.application-status-panel[data-v-b0a573a3]{padding:.8rem .85rem}.track-custom-menu[data-v-b0a573a3]{overscroll-behavior:contain;max-height:min(62vh,28rem);overflow-y:auto}.track-pick[data-v-b0a573a3]{padding:.85rem .9rem}.track-pick-inline[data-v-b0a573a3]{grid-template-columns:1fr;gap:.25rem}.track-custom-note[data-v-b0a573a3]{font-size:.82rem;line-height:1.5}.track-selected-note[data-v-b0a573a3]{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.apply-file-status[data-v-b0a573a3]{justify-content:center;width:100%;display:flex}}.promise-doc-body--rich[data-v-b0a573a3]{color:var(--bs-body-color,#212529);text-align:justify;font-size:.95rem;line-height:1.65}.promise-doc-body--rich[data-v-b0a573a3] p{margin-bottom:.75rem}.promise-doc-body--rich[data-v-b0a573a3] p:last-child{margin-bottom:0}.promise-doc-body--rich[data-v-b0a573a3] ul,.promise-doc-body--rich[data-v-b0a573a3] ol{margin-bottom:.75rem;padding-left:1.25rem}.promise-doc-body--rich[data-v-b0a573a3] h1,.promise-doc-body--rich[data-v-b0a573a3] h2,.promise-doc-body--rich[data-v-b0a573a3] h3{margin:.75rem 0 .5rem;font-size:1rem;font-weight:600} diff --git a/public/admin/assets/ApplyView-DaLzQ-Qy.css b/public/admin/assets/ApplyView-DaLzQ-Qy.css new file mode 100644 index 0000000..dafc03c --- /dev/null +++ b/public/admin/assets/ApplyView-DaLzQ-Qy.css @@ -0,0 +1 @@ +.application-status-panel[data-v-1d423f40]{color:#17324d;background:#f7f9fc;border:1px solid #d8e2ef;border-radius:8px;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:.875rem 1rem;display:flex}.application-status-panel--submitted[data-v-1d423f40]{color:#1f5132;background:#f3faf5;border-color:#bdd7c8}.application-status-mark[data-v-1d423f40]{flex:none;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;margin-top:.05rem;display:inline-flex}.application-status-copy[data-v-1d423f40]{gap:.2rem;min-width:0;display:grid}.application-status-copy strong[data-v-1d423f40]{font-size:.98rem;line-height:1.35}.application-status-copy span[data-v-1d423f40]{color:#4d5f73;font-size:.9rem;line-height:1.5}.application-status-panel--submitted .application-status-copy span[data-v-1d423f40]{color:#42664f}.track-selected-note[data-v-1d423f40]{color:#6c7886;margin-top:.35rem;font-size:.84rem;line-height:1.45;display:block}.track-pick-inline[data-v-1d423f40]{white-space:normal;grid-template-columns:minmax(5.5rem,auto) 1fr;align-items:start;gap:.6rem;display:grid}.track-pick-inline .text-body[data-v-1d423f40]{font-weight:600;color:#1f1f1f!important}.track-custom-note[data-v-1d423f40]{color:#7d8896;font-size:.86rem;line-height:1.55}.apply-file-status[data-v-1d423f40]{color:#667585;background:#f7f9fb;border:1px solid #e4e9ef;border-radius:999px;align-items:center;min-height:1.75rem;margin-top:.45rem;padding:.25rem .6rem;font-size:.84rem;line-height:1.2;display:inline-flex}.apply-file-status--filled[data-v-1d423f40]{color:#1f5132;background:#f3faf5;border-color:#bdd7c8}@media (width<=575.98px){.application-status-panel[data-v-1d423f40]{padding:.8rem .85rem}.track-custom-menu[data-v-1d423f40]{overscroll-behavior:contain;max-height:min(62vh,28rem);overflow-y:auto}.track-pick[data-v-1d423f40]{padding:.85rem .9rem}.track-pick-inline[data-v-1d423f40]{grid-template-columns:1fr;gap:.25rem}.track-custom-note[data-v-1d423f40]{font-size:.82rem;line-height:1.5}.track-selected-note[data-v-1d423f40]{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.apply-file-status[data-v-1d423f40]{justify-content:center;width:100%;display:flex}}.promise-doc-body--rich[data-v-1d423f40]{color:var(--bs-body-color,#212529);text-align:justify;font-size:.95rem;line-height:1.65}.promise-doc-body--rich[data-v-1d423f40] p{margin-bottom:.75rem}.promise-doc-body--rich[data-v-1d423f40] p:last-child{margin-bottom:0}.promise-doc-body--rich[data-v-1d423f40] ul,.promise-doc-body--rich[data-v-1d423f40] ol{margin-bottom:.75rem;padding-left:1.25rem}.promise-doc-body--rich[data-v-1d423f40] h1,.promise-doc-body--rich[data-v-1d423f40] h2,.promise-doc-body--rich[data-v-1d423f40] h3{margin:.75rem 0 .5rem;font-size:1rem;font-weight:600} diff --git a/public/admin/assets/CompetitionFormView-B4FCgcPy.js b/public/admin/assets/CompetitionFormView-srJSzYOq.js similarity index 99% rename from public/admin/assets/CompetitionFormView-B4FCgcPy.js rename to public/admin/assets/CompetitionFormView-srJSzYOq.js index cc79491..bd33eaf 100644 --- a/public/admin/assets/CompetitionFormView-B4FCgcPy.js +++ b/public/admin/assets/CompetitionFormView-srJSzYOq.js @@ -1,4 +1,4 @@ -import{$t as e,At as t,C as n,D as r,Dt as i,Et as a,Ht as o,I as s,It as c,Jt as l,Lt as u,Mt as d,Nt as f,O as p,Ot as m,Q as h,Qt as g,Rt as _,S as v,Ut as y,V as b,Vt as x,W as S,Wt as C,Xt as w,Y as T,Yt as E,Z as D,Zt as O,_t as k,an as ee,at as A,b as j,bt as te,cn as M,ct as ne,g as re,i as ie,in as N,jt as ae,k as oe,kt as se,ln as ce,nn as le,nt as ue,o as de,on as fe,ot as pe,p as me,q as he,qt as ge,rn as _e,sn as ve,st as P,un as ye,w as be,x as F,xt as xe}from"./vue.runtime.esm-bundler-6_koQ1g6.js";import{_ as Se,c as Ce,i as we,l as I,o as Te,s as Ee}from"./index-DFc7c9mp.js";import{t as De}from"./_plugin-vue_export-helper-S3RvzygF.js";import{c as L,i as Oe,l as ke,n as Ae,o as je,r as Me,s as Ne,t as Pe}from"./competitions-BjwJneTx.js";import{t as Fe}from"./adminCompetition-CY7ICTqA.js";import{n as Ie,r as Le,t as Re}from"./competitionBranding-BQASm1w0.js";async function ze(e,t){let{data:n}=await we.get(`/competitions/${e}/form-schemas`,{params:t?{purpose:t}:{}});return n.data??[]}async function Be(e,t){let{data:n}=await we.get(`/competitions/${e}/form-schemas/${t}`),r=n?.data??n;if(!r||typeof r!=`object`||!(`id`in r))throw Error(`表单详情无效`);return r}async function Ve(e,t){let{data:n}=await we.post(`/competitions/${e}/form-schemas`,t);return n}async function He(e,t,n){let{data:r}=await we.patch(`/competitions/${e}/form-schemas/${t}`,n);return r}async function Ue(e,t){await we.delete(`/competitions/${e}/form-schemas/${t}`)}function We(e){let t=e?.data??e;if(!t||typeof t!=`object`||!(`id`in t))throw Error(`渠道响应格式无效`);return t}async function Ge(e){let{data:t}=await we.get(`/competitions/${e}/signup-channels`),n=t?.data??t;if(!Array.isArray(n))throw Error(`渠道列表响应格式无效`);return n}async function Ke(e,t){let{data:n}=await we.get(`/competitions/${e}/signup-channels/${t}`);return We(n)}async function qe(e,t){let{data:n}=await we.post(`/competitions/${e}/signup-channels`,t);return We(n)}async function Je(e,t,n){let{data:r}=await we.put(`/competitions/${e}/signup-channels/${t}`,n);return We(r)}function Ye(e){if(!e||typeof e!=`object`)throw Error(`列表响应格式无效`);let t=e;if(Array.isArray(t.data)&&typeof t.current_page==`number`){let e=t.data;return{data:e,meta:{current_page:t.current_page,last_page:typeof t.last_page==`number`?t.last_page:1,per_page:typeof t.per_page==`number`?t.per_page:e.length||15,total:typeof t.total==`number`?t.total:e.length}}}throw Error(`列表响应格式无效`)}async function Xe(e,t){let{data:n}=await we.get(`/competitions/${e}/applications`,{params:t});return Ye(n)}async function Ze(e,t){let{data:n}=await we.get(`/competitions/${e}/applications/${t}`);if(!n||typeof n!=`object`)throw Error(`报名详情无效`);return n}async function Qe(e,t,n,r){let i=await we.get(`/competitions/${e}/applications/${t}/files/${n}/download`,{responseType:`blob`}),a=URL.createObjectURL(i.data),o=document.createElement(`a`);o.href=a,o.download=r||`附件`,document.body.appendChild(o),o.click(),o.remove(),URL.revokeObjectURL(a)}function $e(e){Object.getOwnPropertySymbols(e).forEach(t=>{ni[t]=e[t]})}function et(e,t=``){return{type:0,source:t,children:e,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:[],temps:0,codegenNode:void 0,loc:si}}function tt(e,t,n,r,i,a,o,s=!1,c=!1,l=!1,u=si){return e&&(s?(e.helper(Sr),e.helper(yt(e.inSSR,l))):e.helper(vt(e.inSSR,l)),o&&e.helper(Pr)),{type:13,tag:t,props:n,children:r,patchFlag:i,dynamicProps:a,directives:o,isBlock:s,disableTracking:c,isComponent:l,loc:u}}function nt(e,t=si){return{type:17,loc:t,elements:e}}function rt(e,t=si){return{type:15,loc:t,properties:e}}function it(e,t){return{type:16,loc:si,key:E(e)?at(e,!0):e,value:t}}function at(e,t=!1,n=si,r=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:r}}function ot(e,t){return{type:5,loc:t,content:E(e)?at(e,!1,t):e}}function st(e,t=si){return{type:8,loc:t,children:e}}function ct(e,t=[],n=si){return{type:14,loc:n,callee:e,arguments:t}}function lt(e,t=void 0,n=!1,r=!1,i=si){return{type:18,params:e,returns:t,newline:n,isSlot:r,loc:i}}function ut(e,t,n,r=!0){return{type:19,test:e,consequent:t,alternate:n,newline:r,loc:si}}function dt(e,t,n=!1,r=!1){return{type:20,index:e,value:t,needPauseTracking:n,inVOnce:r,needArraySpread:!1,loc:si}}function ft(e){return{type:21,body:e,loc:si}}function pt(e){return{type:22,elements:e,loc:si}}function mt(e,t,n){return{type:23,test:e,consequent:t,alternate:n,loc:si}}function ht(e,t){return{type:24,left:e,right:t,loc:si}}function gt(e){return{type:25,expressions:e,loc:si}}function _t(e){return{type:26,returns:e,loc:si}}function vt(e,t){return e||t?Tr:Er}function yt(e,t){return e||t?Cr:wr}function bt(e,{helper:t,removeHelper:n,inSSR:r}){e.isBlock||(e.isBlock=!0,n(vt(r,e.isComponent)),t(Sr),t(yt(r,e.isComponent)))}function xt(e){return e>=97&&e<=122||e>=65&&e<=90}function St(e){return e===32||e===10||e===9||e===12||e===13}function Ct(e){return e===47||e===62||St(e)}function wt(e){let t=new Uint8Array(e.length);for(let n=0;n{let t=e.clientX,n=e.clientY,{offsetX:r,offsetY:s}=i,c=e=>{a.value||=!0,o(r+e.clientX-t,s+e.clientY-n)},l=()=>{a.value=!1,document.removeEventListener(`mousemove`,c),document.removeEventListener(`mouseup`,l)};document.addEventListener(`mousemove`,c),document.addEventListener(`mouseup`,l)},c=()=>{t.value&&e.value&&(t.value.addEventListener(`mousedown`,s),window.addEventListener(`resize`,d))},l=()=>{t.value&&e.value&&(t.value.removeEventListener(`mousedown`,s),window.removeEventListener(`resize`,d))},u=()=>{i.offsetX=0,i.offsetY=0,e.value&&(e.value.style.transform=``)},d=()=>{let{offsetX:e,offsetY:t}=i;o(e,t)};return P(()=>{Ee(()=>{n.value?c():l()})}),ee(()=>{l()}),{isDragging:a,resetPosition:u,updatePosition:d}},gb={name:`en`,el:{breadcrumb:{label:`Breadcrumb`},colorpicker:{confirm:`OK`,clear:`Clear`,defaultLabel:`color picker`,description:`current color is {color}. press enter to select a new color.`,alphaLabel:`pick alpha value`,alphaDescription:`alpha {alpha}, current color is {color}`,hueLabel:`pick hue value`,hueDescription:`hue {hue}, current color is {color}`,svLabel:`pick saturation and brightness value`,svDescription:`saturation {saturation}, brightness {brightness}, current color is {color}`,predefineDescription:`select {value} as the color`},datepicker:{now:`Now`,today:`Today`,cancel:`Cancel`,clear:`Clear`,confirm:`OK`,dateTablePrompt:`Use the arrow keys and enter to select the day of the month`,monthTablePrompt:`Use the arrow keys and enter to select the month`,yearTablePrompt:`Use the arrow keys and enter to select the year`,selectedDate:`Selected date`,selectDate:`Select date`,selectTime:`Select time`,startDate:`Start Date`,startTime:`Start Time`,endDate:`End Date`,endTime:`End Time`,prevYear:`Previous Year`,nextYear:`Next Year`,prevMonth:`Previous Month`,nextMonth:`Next Month`,year:``,month1:`January`,month2:`February`,month3:`March`,month4:`April`,month5:`May`,month6:`June`,month7:`July`,month8:`August`,month9:`September`,month10:`October`,month11:`November`,month12:`December`,weeks:{sun:`Sun`,mon:`Mon`,tue:`Tue`,wed:`Wed`,thu:`Thu`,fri:`Fri`,sat:`Sat`},weeksFull:{sun:`Sunday`,mon:`Monday`,tue:`Tuesday`,wed:`Wednesday`,thu:`Thursday`,fri:`Friday`,sat:`Saturday`},months:{jan:`Jan`,feb:`Feb`,mar:`Mar`,apr:`Apr`,may:`May`,jun:`Jun`,jul:`Jul`,aug:`Aug`,sep:`Sep`,oct:`Oct`,nov:`Nov`,dec:`Dec`}},inputNumber:{decrease:`decrease number`,increase:`increase number`},select:{loading:`Loading`,noMatch:`No matching data`,noData:`No data`,placeholder:`Select`},mention:{loading:`Loading`},dropdown:{toggleDropdown:`Toggle Dropdown`},cascader:{noMatch:`No matching data`,loading:`Loading`,placeholder:`Select`,noData:`No data`},pagination:{goto:`Go to`,pagesize:`/page`,total:`Total {total}`,pageClassifier:``,page:`Page`,prev:`Go to previous page`,next:`Go to next page`,currentPage:`page {pager}`,prevPages:`Previous {pager} pages`,nextPages:`Next {pager} pages`,deprecationWarning:`Deprecated usages detected, please refer to the el-pagination documentation for more details`},dialog:{close:`Close this dialog`},drawer:{close:`Close this dialog`},messagebox:{title:`Message`,confirm:`OK`,cancel:`Cancel`,error:`Illegal input`,close:`Close this dialog`},upload:{deleteTip:`press delete to remove`,delete:`Delete`,preview:`Preview`,continue:`Continue`},slider:{defaultLabel:`slider between {min} and {max}`,defaultRangeStartLabel:`pick start value`,defaultRangeEndLabel:`pick end value`},table:{emptyText:`No Data`,confirmFilter:`Confirm`,resetFilter:`Reset`,clearFilter:`All`,sumText:`Sum`,selectAllLabel:`Select all rows`,selectRowLabel:`Select this row`,expandRowLabel:`Expand this row`,collapseRowLabel:`Collapse this row`,sortLabel:`Sort by {column}`,filterLabel:`Filter by {column}`},tag:{close:`Close this tag`},tour:{next:`Next`,previous:`Previous`,finish:`Finish`,close:`Close this dialog`},tree:{emptyText:`No Data`},transfer:{noMatch:`No matching data`,noData:`No data`,titles:[`List 1`,`List 2`],filterPlaceholder:`Enter keyword`,noCheckedFormat:`{total} items`,hasCheckedFormat:`{checked}/{total} checked`},image:{error:`FAILED`},pageHeader:{title:`Back`},popconfirm:{confirmButtonText:`Yes`,cancelButtonText:`No`},carousel:{leftArrow:`Carousel arrow left`,rightArrow:`Carousel arrow right`,indicator:`Carousel switch to index {index}`},inputOTP:{groupLabel:`OTP Input`,defaultLabel:`Please enter OTP character {index}`}}},_b=e=>(t,n)=>vb(t,n,l(e)),vb=(e,t,n)=>nm(n,e,e).replace(/\{(\w+)\}/g,(e,n)=>`${t?.[n]??`{${n}}`}`),yb=e=>({lang:B(()=>l(e).name),locale:fe(e)?e:R(e),t:_b(e)}),bb=Symbol(`localeContextKey`),xb=e=>{let t=e||w(bb,R());return yb(B(()=>t.value||gb))},Sb=`is-`,Cb=(e,t,n,r,i)=>{let a=`${e}-${t}`;return n&&(a+=`-${n}`),r&&(a+=`__${r}`),i&&(a+=`--${i}`),a},wb=Symbol(`namespaceContextKey`),Tb=e=>{let t=e||(n()?w(wb,R(`el`)):R(`el`));return B(()=>l(t)||`el`)},Q=(e,t)=>{let n=Tb(t);return{namespace:n,b:(t=``)=>Cb(n.value,e,t,``,``),e:t=>t?Cb(n.value,e,``,t,``):``,m:t=>t?Cb(n.value,e,``,``,t):``,be:(t,r)=>t&&r?Cb(n.value,e,t,r,``):``,em:(t,r)=>t&&r?Cb(n.value,e,``,t,r):``,bm:(t,r)=>t&&r?Cb(n.value,e,t,``,r):``,bem:(t,r,i)=>t&&r&&i?Cb(n.value,e,t,r,i):``,is:(e,...t)=>{let n=t.length>=1?t[0]:!0;return e&&n?`${Sb}${e}`:``},cssVar:e=>{let t={};for(let r in e)e[r]&&(t[`--${n.value}-${r}`]=e[r]);return t},cssVarName:e=>`--${n.value}-${e}`,cssVarBlock:t=>{let r={};for(let i in t)t[i]&&(r[`--${n.value}-${e}-${i}`]=t[i]);return r},cssVarBlockName:t=>`--${n.value}-${e}-${t}`}};function Eb(e,t,n,r){let i=n-t;return e/=r/2,e<1?i/2*e*e*e+t:i/2*((e-=2)*e*e+2)+t}var Db=e=>Zv?window.requestAnimationFrame(e):setTimeout(e,16),Ob=e=>Zv?window.cancelAnimationFrame(e):clearTimeout(e),kb=(e,t)=>{if(!Zv)return!1;let n={undefined:`overflow`,true:`overflow-y`,false:`overflow-x`}[String(t)],r=fb(e,n);return[`scroll`,`auto`,`overlay`].some(e=>r.includes(e))},Ab=(e,t)=>{if(!Zv)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(kb(n,t))return n;n=qy(n)?n.host:n.parentNode}return n},jb,Mb=e=>{if(!Zv)return 0;if(jb!==void 0)return jb;let t=document.createElement(`div`);t.className=`${e}-scrollbar__wrap`,t.style.visibility=`hidden`,t.style.width=`100px`,t.style.position=`absolute`,t.style.top=`-9999px`,document.body.appendChild(t);let n=t.offsetWidth;t.style.overflow=`scroll`;let r=document.createElement(`div`);r.style.width=`100%`,t.appendChild(r);let i=r.offsetWidth;return t.parentNode?.removeChild(t),jb=n-i,jb};function Nb(e,t){if(!Zv)return;if(!t){e.scrollTop=0;return}let n=[],r=t.offsetParent;for(;r!==null&&e!==r&&e.contains(r);)n.push(r),r=r.offsetParent;let i=t.offsetTop+n.reduce((e,t)=>e+t.offsetTop,0),a=i+t.offsetHeight,o=e.scrollTop,s=o+e.clientHeight;i