From eaac3537e88f20218caad52222cccd9b78c8cd7a Mon Sep 17 00:00:00 2001 From: lion <120344285@qq.com> Date: Mon, 25 May 2026 17:19:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E9=A2=98=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...AdminLayout-wake2XvO.js => AdminLayout-DBs_6FU1.js} | 2 +- ...oginView-CJYX05uH.js => AdminLoginView-DRJNe2in.js} | 2 +- public/admin/assets/ApplyView-BmCLT9GM.js | 1 + public/admin/assets/ApplyView-C3Wr-eKC.js | 1 - public/admin/assets/ApplyView-Cdiv5f6_.css | 1 - public/admin/assets/ApplyView-Du3WuhCV.css | 1 + ...iew-BDMYIDNU.js => CompetitionFormView-B_UgdpfD.js} | 10 +++++----- ...w-3uREwAxJ.css => CompetitionFormView-Bp0wxDIZ.css} | 2 +- ...iew-Bic8xAo3.js => CompetitionListView-BLahiiX6.js} | 2 +- .../{LoginView-DQ5GMDow.js => LoginView-FOx2oKQk.js} | 2 +- .../{MainLayout-mo8DYuNZ.js => MainLayout-CR2TzLLO.js} | 2 +- ...-CU9HBghj.js => ParticipantLandingView-BOTSAZsD.js} | 2 +- ...alView-CcC6TpX4.js => ReviewPortalView-DE07awjI.js} | 2 +- ...5P.js => ReviewerApplicationDetailView-Cnqvo1sp.js} | 2 +- ...erLayout-Co4Yl4Yp.js => ReviewerLayout-DlMB-O8N.js} | 2 +- ...nView-Cf2qxc9V.js => ReviewerLoginView-TzZorn0r.js} | 2 +- ...View-DMuIRsAB.js => ReviewerManageView-CBh3YoBn.js} | 2 +- ...ew-BpcDWtw-.js => ReviewerProjectsView-C3_yeBJo.js} | 2 +- ...tition-CvIvFQuM.js => adminCompetition-BMY8GxCf.js} | 2 +- ...mpetitions-BEygMXF9.js => competitions-Dx4QGWim.js} | 2 +- .../assets/{index-CRGTFVkR.js => index-DCeo7M6L.js} | 4 ++-- public/admin/index.html | 2 +- 22 files changed, 25 insertions(+), 25 deletions(-) rename public/admin/assets/{AdminLayout-wake2XvO.js => AdminLayout-DBs_6FU1.js} (93%) rename public/admin/assets/{AdminLoginView-CJYX05uH.js => AdminLoginView-DRJNe2in.js} (97%) create mode 100644 public/admin/assets/ApplyView-BmCLT9GM.js delete mode 100644 public/admin/assets/ApplyView-C3Wr-eKC.js delete mode 100644 public/admin/assets/ApplyView-Cdiv5f6_.css create mode 100644 public/admin/assets/ApplyView-Du3WuhCV.css rename public/admin/assets/{CompetitionFormView-BDMYIDNU.js => CompetitionFormView-B_UgdpfD.js} (99%) rename public/admin/assets/{CompetitionFormView-3uREwAxJ.css => CompetitionFormView-Bp0wxDIZ.css} (95%) rename public/admin/assets/{CompetitionListView-Bic8xAo3.js => CompetitionListView-BLahiiX6.js} (93%) rename public/admin/assets/{LoginView-DQ5GMDow.js => LoginView-FOx2oKQk.js} (98%) rename public/admin/assets/{MainLayout-mo8DYuNZ.js => MainLayout-CR2TzLLO.js} (97%) rename public/admin/assets/{ParticipantLandingView-CU9HBghj.js => ParticipantLandingView-BOTSAZsD.js} (93%) rename public/admin/assets/{ReviewPortalView-CcC6TpX4.js => ReviewPortalView-DE07awjI.js} (94%) rename public/admin/assets/{ReviewerApplicationDetailView-BPOChx5P.js => ReviewerApplicationDetailView-Cnqvo1sp.js} (99%) rename public/admin/assets/{ReviewerLayout-Co4Yl4Yp.js => ReviewerLayout-DlMB-O8N.js} (97%) rename public/admin/assets/{ReviewerLoginView-Cf2qxc9V.js => ReviewerLoginView-TzZorn0r.js} (98%) rename public/admin/assets/{ReviewerManageView-DMuIRsAB.js => ReviewerManageView-CBh3YoBn.js} (97%) rename public/admin/assets/{ReviewerProjectsView-BpcDWtw-.js => ReviewerProjectsView-C3_yeBJo.js} (96%) rename public/admin/assets/{adminCompetition-CvIvFQuM.js => adminCompetition-BMY8GxCf.js} (86%) rename public/admin/assets/{competitions-BEygMXF9.js => competitions-Dx4QGWim.js} (96%) rename public/admin/assets/{index-CRGTFVkR.js => index-DCeo7M6L.js} (99%) diff --git a/public/admin/assets/AdminLayout-wake2XvO.js b/public/admin/assets/AdminLayout-DBs_6FU1.js similarity index 93% rename from public/admin/assets/AdminLayout-wake2XvO.js rename to public/admin/assets/AdminLayout-DBs_6FU1.js index 63544ef..9b3b859 100644 --- a/public/admin/assets/AdminLayout-wake2XvO.js +++ b/public/admin/assets/AdminLayout-DBs_6FU1.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{C as y,E as b,O as x,n as S,t as C,w}from"./index-CRGTFVkR.js";import{t as T}from"./_plugin-vue_export-helper-S3RvzygF.js";import{a as E}from"./competitions-BEygMXF9.js";import{t as D}from"./adminCompetition-CvIvFQuM.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=y(),n=w(),a=l(()=>t.name==null?``:String(t.name));function o(e){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-72ad4354`]]),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(),y=C(),T=S(),O=D(),{menus:k}=x(T),{competitions:I,selectedCompetitionId:L}=x(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(){y.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{C as y,E as b,O as x,n as S,t as C,w}from"./index-DCeo7M6L.js";import{t as T}from"./_plugin-vue_export-helper-S3RvzygF.js";import{a as E}from"./competitions-Dx4QGWim.js";import{t as D}from"./adminCompetition-BMY8GxCf.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=y(),n=w(),a=l(()=>t.name==null?``:String(t.name));function o(e){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-72ad4354`]]),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(),y=C(),T=S(),O=D(),{menus:k}=x(T),{competitions:I,selectedCompetitionId:L}=x(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(){y.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-CJYX05uH.js b/public/admin/assets/AdminLoginView-DRJNe2in.js similarity index 97% rename from public/admin/assets/AdminLoginView-CJYX05uH.js rename to public/admin/assets/AdminLoginView-DRJNe2in.js index b5d9ed3..0fb5fb2 100644 --- a/public/admin/assets/AdminLoginView-CJYX05uH.js +++ b/public/admin/assets/AdminLoginView-DRJNe2in.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{u as d}from"./api-DouN6RcT.js";import{C as f,E as p,i as m,r as h,t as g,w as _}from"./index-CRGTFVkR.js";import{t as v}from"./_plugin-vue_export-helper-S3RvzygF.js";async function y(e){if(d()){if(!e.username.trim()||!e.password.trim())throw Error(`请输入账号和密码`);return{token:`mock_admin_${Date.now()}`,user:{id:1,name:`Mock 管理员`,username:e.username.trim()}}}try{let{data:t}=await h.post(`/auth/login`,e);return b(t)}catch(e){if(m.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{u as d}from"./api-DouN6RcT.js";import{C as f,E as p,i as m,r as h,t as g,w as _}from"./index-DCeo7M6L.js";import{t as v}from"./_plugin-vue_export-helper-S3RvzygF.js";async function y(e){if(d()){if(!e.username.trim()||!e.password.trim())throw Error(`请输入账号和密码`);return{token:`mock_admin_${Date.now()}`,user:{id:1,name:`Mock 管理员`,username:e.username.trim()}}}try{let{data:t}=await h.post(`/auth/login`,e);return b(t)}catch(e){if(m.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 b(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 x={class:`login-wrap`},S=v(a({__name:`AdminLoginView`,setup(a){let d=f(),m=_(),h=g(),v=r(``),b=r(``),S=r(!1);async function C(){if(!v.value.trim()||!b.value.trim()){p.warning(`请输入账号和密码`);return}S.value=!0;try{let e=await y({username:v.value.trim(),password:b.value.trim()});h.setToken(e.token);let t=typeof d.query.redirect==`string`?d.query.redirect:``;t&&t.startsWith(`/admin`)?await m.replace(t):await m.replace({name:`admin-competitions-list`}),p.success(`登录成功`)}catch(e){p.error(e instanceof Error?e.message:`登录失败`)}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`,x,[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(C,[`prevent`])},{default:c(()=>[t(f,{label:`账号`},{default:c(()=>[t(d,{modelValue:v.value,"onUpdate:modelValue":a[0]||=e=>v.value=e,modelModifiers:{trim:!0},autocomplete:`username`,clearable:``},null,8,[`modelValue`])]),_:1}),t(f,{label:`密码`},{default:c(()=>[t(d,{modelValue:b.value,"onUpdate:modelValue":a[1]||=e=>b.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}),a[3]||=u(`p`,{class:`hint`},[e(` 连接真实后端时请将 `),u(`code`,null,`VITE_ADMIN_USE_MOCK`),e(` 设为 `),u(`code`,null,`false`),e(` 并重启前端;默认管理员账号由 Laravel `),u(`code`,null,`php artisan db:seed --class=AdminUserSeeder`),e(` 写入。 `)],-1)]),_:1})])}}}),[[`__scopeId`,`data-v-1132d8e3`]]);export{S as default}; \ No newline at end of file diff --git a/public/admin/assets/ApplyView-BmCLT9GM.js b/public/admin/assets/ApplyView-BmCLT9GM.js new file mode 100644 index 0000000..0117a54 --- /dev/null +++ b/public/admin/assets/ApplyView-BmCLT9GM.js @@ -0,0 +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 d,ct as f,d as ee,g as p,ht as m,in as h,k as te,m as ne,q as g,s as re,u as ie,w as _,x as v}from"./vue.runtime.esm-bundler-6_koQ1g6.js";import{h as ae,l as oe,p as se}from"./api-DouN6RcT.js";import{A as ce,C as le,k as ue,w as de}from"./index-DCeo7M6L.js";import{t as fe}from"./_plugin-vue_export-helper-S3RvzygF.js";import{a as pe,i as me,r as he,t as ge}from"./competitionBranding-BQASm1w0.js";var _e={北京市:[`北京市`],天津市:[`天津市`],上海市:[`上海市`],重庆市:[`重庆市`],河北省:[`石家庄市`,`唐山市`,`秦皇岛市`,`邯郸市`,`邢台市`,`保定市`,`张家口市`,`承德市`,`沧州市`,`廊坊市`,`衡水市`],山西省:[`太原市`,`大同市`,`阳泉市`,`长治市`,`晋城市`,`朔州市`,`晋中市`,`运城市`,`忻州市`,`临汾市`,`吕梁市`],内蒙古自治区:[`呼和浩特市`,`包头市`,`乌海市`,`赤峰市`,`通辽市`,`鄂尔多斯市`,`呼伦贝尔市`,`巴彦淖尔市`,`乌兰察布市`,`兴安盟`,`锡林郭勒盟`,`阿拉善盟`],辽宁省:[`沈阳市`,`大连市`,`鞍山市`,`抚顺市`,`本溪市`,`丹东市`,`锦州市`,`营口市`,`阜新市`,`辽阳市`,`盘锦市`,`铁岭市`,`朝阳市`,`葫芦岛市`],吉林省:[`长春市`,`吉林市`,`四平市`,`辽源市`,`通化市`,`白山市`,`松原市`,`白城市`,`延边朝鲜族自治州`],黑龙江省:[`哈尔滨市`,`齐齐哈尔市`,`鸡西市`,`鹤岗市`,`双鸭山市`,`大庆市`,`伊春市`,`佳木斯市`,`七台河市`,`牡丹江市`,`黑河市`,`绥化市`,`大兴安岭地区`],江苏省:[`南京市`,`无锡市`,`徐州市`,`常州市`,`苏州市`,`南通市`,`连云港市`,`淮安市`,`盐城市`,`扬州市`,`镇江市`,`泰州市`,`宿迁市`],浙江省:[`杭州市`,`宁波市`,`温州市`,`嘉兴市`,`湖州市`,`绍兴市`,`金华市`,`衢州市`,`舟山市`,`台州市`,`丽水市`],安徽省:[`合肥市`,`芜湖市`,`蚌埠市`,`淮南市`,`马鞍山市`,`淮北市`,`铜陵市`,`安庆市`,`黄山市`,`滁州市`,`阜阳市`,`宿州市`,`六安市`,`亳州市`,`池州市`,`宣城市`],福建省:[`福州市`,`厦门市`,`莆田市`,`三明市`,`泉州市`,`漳州市`,`南平市`,`龙岩市`,`宁德市`],江西省:[`南昌市`,`景德镇市`,`萍乡市`,`九江市`,`新余市`,`鹰潭市`,`赣州市`,`吉安市`,`宜春市`,`抚州市`,`上饶市`],山东省:[`济南市`,`青岛市`,`淄博市`,`枣庄市`,`东营市`,`烟台市`,`潍坊市`,`济宁市`,`泰安市`,`威海市`,`日照市`,`临沂市`,`德州市`,`聊城市`,`滨州市`,`菏泽市`],河南省:[`郑州市`,`开封市`,`洛阳市`,`平顶山市`,`安阳市`,`鹤壁市`,`新乡市`,`焦作市`,`濮阳市`,`许昌市`,`漯河市`,`三门峡市`,`南阳市`,`商丘市`,`信阳市`,`周口市`,`驻马店市`,`济源市`],湖北省:[`武汉市`,`黄石市`,`十堰市`,`宜昌市`,`襄阳市`,`鄂州市`,`荆门市`,`孝感市`,`荆州市`,`黄冈市`,`咸宁市`,`随州市`,`恩施土家族苗族自治州`,`仙桃市`,`潜江市`,`天门市`,`神农架林区`],湖南省:[`长沙市`,`株洲市`,`湘潭市`,`衡阳市`,`邵阳市`,`岳阳市`,`常德市`,`张家界市`,`益阳市`,`郴州市`,`永州市`,`怀化市`,`娄底市`,`湘西土家族苗族自治州`],广东省:[`广州市`,`韶关市`,`深圳市`,`珠海市`,`汕头市`,`佛山市`,`江门市`,`湛江市`,`茂名市`,`肇庆市`,`惠州市`,`梅州市`,`汕尾市`,`河源市`,`阳江市`,`清远市`,`东莞市`,`中山市`,`潮州市`,`揭阳市`,`云浮市`],广西壮族自治区:[`南宁市`,`柳州市`,`桂林市`,`梧州市`,`北海市`,`防城港市`,`钦州市`,`贵港市`,`玉林市`,`百色市`,`贺州市`,`河池市`,`来宾市`,`崇左市`],海南省:[`海口市`,`三亚市`,`三沙市`,`儋州市`,`五指山市`,`琼海市`,`文昌市`,`万宁市`,`东方市`,`定安县`,`屯昌县`,`澄迈县`,`临高县`,`白沙黎族自治县`,`昌江黎族自治县`,`乐东黎族自治县`,`陵水黎族自治县`,`保亭黎族苗族自治县`,`琼中黎族苗族自治县`],四川省:[`成都市`,`自贡市`,`攀枝花市`,`泸州市`,`德阳市`,`绵阳市`,`广元市`,`遂宁市`,`内江市`,`乐山市`,`南充市`,`眉山市`,`宜宾市`,`广安市`,`达州市`,`雅安市`,`巴中市`,`资阳市`,`阿坝藏族羌族自治州`,`甘孜藏族自治州`,`凉山彝族自治州`],贵州省:[`贵阳市`,`六盘水市`,`遵义市`,`安顺市`,`毕节市`,`铜仁市`,`黔西南布依族苗族自治州`,`黔东南苗族侗族自治州`,`黔南布依族苗族自治州`],云南省:[`昆明市`,`曲靖市`,`玉溪市`,`保山市`,`昭通市`,`丽江市`,`普洱市`,`临沧市`,`楚雄彝族自治州`,`红河哈尼族彝族自治州`,`文山壮族苗族自治州`,`西双版纳傣族自治州`,`大理白族自治州`,`德宏傣族景颇族自治州`,`怒江傈僳族自治州`,`迪庆藏族自治州`],西藏自治区:[`拉萨市`,`日喀则市`,`昌都市`,`林芝市`,`山南市`,`那曲市`,`阿里地区`],陕西省:[`西安市`,`铜川市`,`宝鸡市`,`咸阳市`,`渭南市`,`延安市`,`汉中市`,`榆林市`,`安康市`,`商洛市`],甘肃省:[`兰州市`,`嘉峪关市`,`金昌市`,`白银市`,`天水市`,`武威市`,`张掖市`,`平凉市`,`酒泉市`,`庆阳市`,`定西市`,`陇南市`,`临夏回族自治州`,`甘南藏族自治州`],青海省:[`西宁市`,`海东市`,`海北藏族自治州`,`黄南藏族自治州`,`海南藏族自治州`,`果洛藏族自治州`,`玉树藏族自治州`,`海西蒙古族藏族自治州`],宁夏回族自治区:[`银川市`,`石嘴山市`,`吴忠市`,`固原市`,`中卫市`],新疆维吾尔自治区:[`乌鲁木齐市`,`克拉玛依市`,`吐鲁番市`,`哈密市`,`昌吉回族自治州`,`博尔塔拉蒙古自治州`,`巴音郭楞蒙古自治州`,`阿克苏地区`,`克孜勒苏柯尔克孜自治州`,`喀什地区`,`和田地区`,`伊犁哈萨克自治州`,`塔城地区`,`阿勒泰地区`,`石河子市`,`阿拉尔市`,`图木舒克市`,`五家渠市`,`北屯市`,`铁门关市`,`双河市`,`可克达拉市`,`昆玉市`,`胡杨河市`,`新星市`],香港特别行政区:[`香港`],澳门特别行政区:[`澳门`],台湾省:[`台北市`,`新北市`,`桃园市`,`台中市`,`台南市`,`高雄市`,`新竹市`,`嘉义市`]},ve=`北京市.天津市.上海市.重庆市.河北省.山西省.内蒙古自治区.辽宁省.吉林省.黑龙江省.江苏省.浙江省.安徽省.福建省.江西省.山东省.河南省.湖北省.湖南省.广东省.广西壮族自治区.海南省.四川省.贵州省.云南省.西藏自治区.陕西省.甘肃省.青海省.宁夏回族自治区.新疆维吾尔自治区.香港特别行政区.澳门特别行政区.台湾省`.split(`.`),y=[{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:`请填写工商注册全称`},{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 b(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 ye(e){if(!Array.isArray(e)||e.length===0)return y.map(e=>({...e,options:e.options?[...e.options]:void 0}));let t=[];for(let n of e){if(typeof n!=`object`||!n)continue;let e=n,r=String(e.key??``).trim();if(!r)continue;let i=String(e.type??`text`),a=String(e.label??r),o=!!e.required,s=e.placeholder,c=s!=null&&String(s).trim()!==``?String(s).trim():void 0,l=e.help,u=l!=null&&String(l).trim()!==``?String(l).trim():void 0,d=e.title_supplement,f=d!=null&&String(d).trim()!==``?String(d).trim():void 0,ee,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&&(ee={field:t,values:r})}let m;if(i===`select`&&Array.isArray(e.options)&&(m=b(e.options)),r===`track`&&(m=[]),i===`select`&&r!==`track`&&(!m||m.length===0))if(r===`location_province`)m=ve.map(e=>({label:e,value:e}));else{let e=y.find(e=>e.key===r);e?.options?.length&&(m=e.options.map(e=>({...e})))}t.push({key:r,type:i,label:a,title_supplement:f,required:o,placeholder:c,help:u,options:m,required_when:ee})}return t.length?t:y.map(e=>({...e}))}var be={class:`apply-form-page`},xe={class:`form-page-header flex-shrink-0 mb-3`},Se={class:`mb-0 form-page-title`},Ce={key:0,class:`text-secondary prototype-subtitle mb-0 mt-2`},we={key:1,class:`text-danger small mb-0 mt-2`},Te={key:2,class:`text-warning small mb-0 mt-2`},Ee={key:0,class:`apply-form-scroll`},De={class:`card mb-0`},Oe={class:`card-body`},ke={key:0,class:`col-md-4`},Ae={class:`form-label`,id:`trackFieldLabel`},je={key:0,class:`text-danger`},Me={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},Ne={class:`track-custom-select w-100`},Pe=[`required`,`disabled`],Fe=[`value`],Ie={class:`dropdown w-100`},Le=[`disabled`],Re={class:`track-toggle-label text-truncate`},ze={key:0,class:`track-custom-note`},Be={class:`dropdown-menu w-100 border shadow-sm rounded-2 py-0 my-1 track-custom-menu`},Ve=[`onClick`],He={class:`track-pick-inline`},Ue={class:`text-body`},We={key:0,class:`track-custom-note`},Ge={key:0,class:`text-secondary prototype-subtitle d-block`},Ke={key:1,class:`col-12`},qe={class:`form-label`},Je={key:0,class:`text-danger`},Ye={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},Xe=[`disabled`],Ze={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},Qe={key:1,class:`supporting-file-list mt-2`,"aria-live":`polite`},$e={class:`supporting-file-meta`},et=[`title`],tt={class:`supporting-file-size`},nt={class:`supporting-file-actions`},rt=[`href`,`download`],it=[`disabled`,`onClick`],at={class:`text-secondary prototype-subtitle d-block`},ot={key:2,class:`invalid-feedback d-block`},st={key:2,class:`col-12`},ct={class:`form-label`},lt={key:0,class:`text-danger`},ut={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},dt=[`disabled`],ft={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},pt={key:1,class:`supporting-file-list mt-2`,"aria-live":`polite`},mt={class:`supporting-file-meta`},ht=[`title`],gt={class:`supporting-file-size`},_t={class:`supporting-file-actions`},vt=[`href`,`download`],yt=[`disabled`,`onClick`],bt={class:`text-secondary prototype-subtitle d-block`},xt={key:2,class:`invalid-feedback d-block`},St={class:`form-label`},Ct={key:0,class:`text-danger`},wt={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},Tt=[`onUpdate:modelValue`,`required`,`disabled`],Et=[`value`],Dt={class:`invalid-feedback`},Ot={key:0,class:`text-secondary prototype-subtitle d-block`},kt={class:`form-label`},At={key:0,class:`text-danger`},jt={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},Mt=[`required`,`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={class:`d-flex flex-wrap align-items-center gap-2 mb-1`},Bt=[`disabled`],Vt={key:0,class:`badge rounded-pill px-3 py-2 promise-signed-badge`},Ht={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},Ut={class:`form-check`},Wt=[`id`,`onUpdate:modelValue`,`required`,`disabled`],Gt=[`for`],Kt={key:0,class:`text-danger ms-1`},qt={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},Jt={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},Yt={class:`form-label`},Xt={key:0,class:`text-danger`},Zt={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},Qt=[`onUpdate:modelValue`,`required`,`disabled`],$t={key:0,class:`d-flex flex-wrap align-items-baseline gap-2 mt-1 w-100`},en={key:0,class:`apply-textarea-placeholder-hint mb-0`},tn={key:1,class:`text-secondary prototype-subtitle intro-char-count mb-0 ms-auto`},nn={class:`form-label`},rn={key:0,class:`text-danger`},an={key:1,class:`signup-field-title-supplement ms-1 fw-normal text-secondary`},on=[`onUpdate:modelValue`,`type`,`required`,`disabled`,`placeholder`,`pattern`,`autocomplete`],sn={class:`invalid-feedback`},cn={key:0,class:`text-secondary prototype-subtitle d-block`},ln={class:`col-12 apply-form-actions mt-3 pt-3 border-top d-flex gap-2 flex-wrap`},un=[`disabled`],dn=[`disabled`],fn={class:`modal-dialog modal-dialog-centered promise-sign-modal`},pn={class:`modal-content promise-sign-sheet`},mn={class:`modal-body pt-2`},hn={class:`promise-doc-paper`},gn={class:`promise-doc-heading text-center`},_n={class:`promise-doc-scroll`},vn=[`innerHTML`],yn={class:`promise-doc-signblock`},bn={class:`promise-doc-signrow`},xn={class:`promise-sig-wrap`},Sn={class:`promise-sig-box`},Cn={class:`promise-doc-daterow`},wn={class:`promise-doc-dateline`},Tn={class:`modal-dialog modal-dialog-centered notice-modal-dialog`},En={class:`modal-body notice-modal-body`},Dn={class:`notice-icon`,"aria-hidden":`true`},On={key:0,viewBox:`0 0 24 24`,width:`36`,height:`36`,fill:`none`,"aria-hidden":`true`},kn={key:1,viewBox:`0 0 24 24`,width:`36`,height:`36`,fill:`none`,"aria-hidden":`true`},An={class:`notice-title`},jn={key:0,class:`notice-text text-break`,style:{"white-space":`pre-wrap`}},Mn=20*1024*1024,Nn=`^1[3-9]\\d{9}$`,Pn=`
本项目申报信息中所填写的各栏目内容真实、准确。本项目负责人(团队)对申报材料的真实性负完全责任。
若申报信息中存在虚假、伪造等不实情况,本项目负责人(团队)将积极配合调查,并按照有关规定接受处理。
`,Fn=2097152,In=fe(te({__name:`ApplyFormView`,setup(i){let te=ue,fe=de(),y=le(),b=u(()=>String(y.params.slug??``).trim()),In=[`pdf`,`ppt`,`pptx`,`doc`,`docx`,`wps`,`rar`,`zip`];function x(e){let t=e.value;return t==null?null:Array.isArray(t)?t[0]??null:t}function S(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 C(e){return String(e.title_supplement??``).trim()}function w(){return se()}function T(){let e=b.value;return e?`?competition_slug=${encodeURIComponent(e)}`:``}function E(e){let t={Authorization:`Bearer ${localStorage.getItem(`cxxfds_token`)||``}`,Accept:`application/json`};return e&&(t[`Content-Type`]=`application/json`),t}function D(){localStorage.removeItem(oe);let e=b.value;e?fe.push({name:`participant-login`,params:{slug:e},query:{redirect:y.fullPath}}):fe.push(`/c`)}let O=c(ye([])),k=c([]),Ln=c(!1),Rn=c(``),zn=c(``),Bn=u(()=>zn.value.trim()||Pn),Vn=c(he()),A=c(``),j=m({});function Hn(e){for(let t of e)t.type!==`file`&&(t.key in j||(j[t.key]=``));e.some(e=>e.key===`commitment_accepted`)&&!(`promise_signature`in j)&&(j.promise_signature=``)}let Un=u(()=>`jscc_signup_form_draft_v2_${b.value||`x`}`),Wn=c(`draft`),Gn=c(!0),Kn=c(!1),qn=c(null),Jn=c(null),Yn=u(()=>{let e=j.track,t=k.value.find(t=>t.track_code===e);return t?t.title:e||`请选择主题赛道`}),Xn=u(()=>j.track?`text-body`:`text-secondary`),Zn=u(()=>{let e=j.track;return(k.value.find(t=>t.track_code===e)?.description??``).trim()});function Qn(e){return(e??``).trim()}function $n(e){j.track=e,Kn.value=!1;let t=x(Jn);t&&te.getInstance(t)?.hide()}let M=u(()=>j.location_country===`中国`),er=u(()=>j.location_country===`海外`),tr=u(()=>ve.map(e=>({label:e,value:e}))),nr=u(()=>{let e=j.location_province;return e?(_e[e]||[]).map(e=>({label:e,value:e})):[]});function rr(){er.value?(j.location_province=``,j.location_city=``):M.value||(j.location_province=``,j.location_city=``,j.oversea_country=``)}l(()=>j.location_country,()=>{rr()}),l(()=>j.location_province,(e,t)=>{M.value&&e!==t&&(t==null||String(t).trim()===``||(j.location_city=``))}),l(()=>j.entry_group,e=>{e===`创新组`&&(j.company_name=``)});let N=c([]),P=c([]),F=c(``),I=c(``),L=c(``),R=c(``),z=c(!1),B=u(()=>!Gn.value),ir=c(null),V=c(null),ar=c(null),or=u(()=>(j.intro||``).length),sr=u(()=>pe(Vn.value,Rn.value)),cr=u(()=>{let e=Vn.value.apply?.headerSubtitle;return me(e)?String(e).trim():``});function lr(e){let t=String(j[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 ur(e){return e.type===`textarea`?String(e.placeholder??``).trim():``}function dr(e){return e.type===`file`?!0:e.key===`company_name`?j.entry_group!==`创新组`:e.key===`location_province`||e.key===`location_city`?M.value:e.key===`oversea_country`?er.value:!0}function U(e){if(e.key===`location_province`||e.key===`location_city`)return M.value;if(e.key===`oversea_country`)return er.value;let t=e.required_when;if(t?.field&&t.values?.length){let e=String(j[t.field]??``).trim();if(t.values.includes(e))return!0}return e.required}let fr=u(()=>O.value.filter(e=>dr(e)));function pr(e){return e.key===`track`?k.value.map(e=>({label:e.title,value:e.track_code})):e.key===`location_province`?tr.value:e.key===`location_city`&&M.value?nr.value:e.options??[]}function mr(e){return e.key===`location_city`&&M.value}function hr(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 gr(e){return W(e).trim()||void 0}function _r(e){let t=e.message||``,n=e.errors;return n&&Object.keys(n).length?`${t}\n${JSON.stringify(n)}`:t||`操作失败`}let vr=c(null),yr=c(`提示`),br=c(``),xr=c(!1);function G(e,t=`提示`,n=`warning`){yr.value=t,br.value=e,xr.value=n===`success`,r(()=>{let e=vr.value;e&&ce.getOrCreateInstance(e).show()})}let Sr=c(null),K=c(null),Cr=c(``),wr=c(!0),q=null,J=520,Y=140,Tr=!1,X=!1,Er=null,Z=null;function Dr(){Er?.abort(),Er=null}let Or=u(()=>j.commitment_accepted===`1`&&String(j.promise_signature??``).trim()!==``),kr=u(()=>{let e=Rn.value.trim();return e?`${e} 赛事承诺书`:`赛事承诺书`});function Ar(e){return`${e.getFullYear()}年${e.getMonth()+1}月${e.getDate()}日`}function jr(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 Mr(){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`,X=!1,wr.value=!0)}function Nr(){let e=String(j.promise_signature??``).trim();if(!e||!q)return;let t=new Image;t.onload=()=>{q&&(q.drawImage(t,0,0,J,Y),X=!0,wr.value=!1)},t.src=e}function Pr(){let e=K.value;if(!e||!q)return;Dr(),Er=new AbortController;let{signal:t}=Er,n=t=>{if(`touches`in t&&t.preventDefault(),!q)return;Tr=!0;let n=jr(t,e);q.beginPath(),q.moveTo(n.x,n.y)},r=t=>{if(!Tr||!q)return;`touches`in t&&t.preventDefault();let n=jr(t,e);q.lineTo(n.x,n.y),q.stroke(),X=!0,wr.value=!1},i=()=>{Tr=!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 Fr(){Cr.value=Ar(new Date);let e=t=>{if(!K.value){t<40&&requestAnimationFrame(()=>e(t+1));return}Mr(),Pr(),String(j.promise_signature??``).trim()&&j.commitment_accepted===`1`&&Nr()};r(()=>{requestAnimationFrame(()=>e(0))})}function Ir(e){Z?.();let t=()=>{Fr()},n=()=>{Dr()};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(Sr,e=>{Z?.(),e&&Ir(e)},{flush:`post`});function Lr(){if(B.value)return;let e=Sr.value;e&&ce.getOrCreateInstance(e).show()}function Rr(){Mr(),Pr()}function zr(){let e=K.value;if(!X||!e){G(`请先在签名区域内手写签名后再确认。`,`请确认`,`warning`);return}let t=e.toDataURL(`image/png`);if(t.length>Fn){G(`签名数据过大,请清除后重新签名或联系管理员。`,`提示`,`warning`);return}j.promise_signature=t,j.commitment_accepted=`1`;let n=Sr.value;n&&ce.getInstance(n)?.hide()}function Br(){let e={};for(let t of O.value)if(t.type!==`file`){if(t.type===`checkbox`){e[t.key]=j[t.key]===`1`;continue}e[t.key]=j[t.key]??``}return O.value.some(e=>e.key===`commitment_accepted`)&&(e.promise_signature=j.promise_signature??``),e}function Vr(e,t,n){let r=e.filter(e=>e.file),i=e.filter(e=>e.fromServer&&!e.file);if(!r.length&&!i.length)return{ok:n,feedback:n?``:t};let a=r.map(e=>e.file).find(e=>{let t=(e.name.split(`.`).pop()||``).toLowerCase();return!In.includes(t)});if(a)return{ok:!1,feedback:`“${a.name}”格式不支持,请上传 PDF/PPT/PPTX/DOC/DOCX/WPS/RAR/ZIP`};let o=r.map(e=>e.file).find(e=>e.size>Mn);return o?{ok:!1,feedback:`“${o.name}”大小不能超过20M`}:{ok:!0,feedback:``}}function Hr(){return O.value.some(e=>e.key===`plan`&&e.type===`file`)}function Ur(){return O.value.some(e=>e.key===`supporting`&&e.type===`file`)}function Q(){if(!Hr())return x(V)?.setCustomValidity(``),!0;let e=Vr(N.value,`请上传商业计划书`,!1);return L.value=e.feedback,x(V)?.setCustomValidity(e.ok?``:`missing`),e.ok}function $(){if(!Ur())return x(ar)?.setCustomValidity(``),!0;let e=Vr(P.value,`文件格式或大小不符合要求`,!0);return R.value=e.feedback,x(ar)?.setCustomValidity(e.ok?``:`bad`),e.ok}function Wr(){z.value=!0,Q(),$();let e=O.value.find(e=>e.key===`track`);if(e&&dr(e)){Kn.value=!j.track;let e=x(qn);e&&e.setCustomValidity(j.track?``:`请选择主题赛道`)}else Kn.value=!1,x(qn)?.setCustomValidity(``);return!(ir.value?.checkValidity()??!1)||e&&U(e)&&!j.track||!Q()||!$()?!1:O.value.find(e=>e.key===`commitment_accepted`)&&(j.commitment_accepted!==`1`||!String(j.promise_signature??``).trim())?(G(`请先阅读并完成参赛承诺书的手写签署。`,`提示`,`warning`),!1):!0}async function Gr(e){let t=localStorage.getItem(oe);if(!t)return;let n=(e===`plan`?N.value:P.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(`${w()}/api/applications/current/files${T()}`,{method:`POST`,headers:{Authorization:`Bearer ${t}`,Accept:`application/json`},body:n}),a=await i.json().catch(()=>({}));if(i.status===401){D();return}if(!i.ok){G(_r(a),`提示`,`warning`);return}let o=r.previewUrl;r.id=a.id,r.fromServer=!0,r.original_name=a.original_name,r.size=a.size;let s=ae(String(a.url??``));r.url=s,r.previewUrl=s,o&&String(o).startsWith(`blob:`)&&URL.revokeObjectURL(o),delete r.file}G(`文件已上传。`,`上传成功`,`success`),e===`plan`?Q():$()}}async function Kr(e,t){let n=t===`plan`?[...N.value]:[...P.value],r=n.find(t=>String(t.id)===String(e));if(r){if(r.fromServer&&typeof r.id==`number`){if(!localStorage.getItem(`cxxfds_token`)){D();return}let e=await fetch(`${w()}/api/applications/current/files/${r.id}${T()}`,{method:`DELETE`,headers:E(!1)});if(e.status===401){D();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`?N.value=n:P.value=n,z.value=!0,t===`plan`?Q():$()}}function qr(e,t){if(!e?.length)return;let n=t===`plan`?N.value:P.value;if(Array.from(e).forEach(e=>{n.push({id:`tmp-${Date.now()}-${Math.random().toString(16).slice(2)}`,file:e,previewUrl:URL.createObjectURL(e),fromServer:!1})}),t===`plan`){N.value=[...n],F.value=``;let e=x(V);e&&(e.value=``),z.value=!0,Q()}else{P.value=[...n],I.value=``;let e=x(ar);e&&(e.value=``),z.value=!0,$()}Gr(t)}function Jr(){return{formModel:{...j},planFileNames:N.value.map(W).filter(Boolean),supportingFileNames:P.value.map(W).filter(Boolean)}}function Yr(){let e=Jr();localStorage.setItem(Un.value,JSON.stringify(e)),e.planFileNames.length?F.value=`已保存商业计划书名称:${e.planFileNames.join(`、`)}`:F.value=``,e.supportingFileNames.length?I.value=`已保存其他佐证材料名称:${e.supportingFileNames.join(`、`)}`:I.value=``}function Xr(){let e=localStorage.getItem(Un.value);if(e)try{let t=JSON.parse(e);if(t.formModel&&typeof t.formModel==`object`)for(let e of Object.keys(t.formModel))j[e]=t.formModel[e]??``;let n=t.planFileNames||[];n.length&&(F.value=`上次保存商业计划书名称:${n.join(`、`)}(浏览器限制,需重新选择后预览或删除)`);let r=t.supportingFileNames;r?.length&&(I.value=`上次保存其他佐证材料名称:${r.join(`、`)}(浏览器限制,需重新选择后预览或删除)`),rr()}catch{localStorage.removeItem(Un.value)}}async function Zr(){Ln.value=!1;let e=b.value;if(!e){A.value=`缺少赛事地址`;return}A.value=``;try{let t=await fetch(`${w()}/api/v1/public/competitions/by-slug/${encodeURIComponent(e)}`,{headers:{Accept:`application/json`}});if(!t.ok){A.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;Rn.value=String(r.name??``),zn.value=typeof r.pledge_content_html==`string`?r.pledge_content_html:``;let i=r.tracks;k.value=Array.isArray(i)?i:[];let a=r.signup_form_schema;if(typeof a==`string`)try{a=JSON.parse(a)}catch{a=[]}O.value=ye(a),Hn(O.value),Vn.value=ge(r.branding_json??null);let o=Vn.value.documentTitle;me(o)&&typeof document<`u`&&(document.title=o.trim()),Ln.value=!0}catch{A.value=`网络错误,无法加载赛事`}}function Qr(e){Wn.value=e.status||`draft`,Gn.value=e.participant_may_edit!==!1,j.player_name=e.player_name||``,j.school=e.school||``,j.degree=e.degree||``,j.contact_email=e.contact_email||``,j.contact_mobile=e.contact_mobile||``,j.entry_group=e.entry_group||``,j.company_name=e.company_name||``,j.project_name=e.project_name||``,j.track=e.track||``,j.location_country=e.location_country||``,j.location_province=e.location_province||``,j.location_city=e.location_city||``,j.oversea_country=e.oversea_country||``,j.intro=e.intro||``;let t=typeof e.promise_signature==`string`?e.promise_signature:``;j.promise_signature=t,j.commitment_accepted=t.trim()&&e.promise_signed_at?`1`:``,rr(),N.value=(e.files||[]).filter(e=>e.kind===`plan`).map(e=>{let t=ae(e.url);return{id:e.id,fromServer:!0,original_name:e.original_name,size:e.size,url:t,previewUrl:t}}),P.value=(e.files||[]).filter(e=>e.kind===`supporting`).map(e=>{let t=ae(e.url);return{id:e.id,fromServer:!0,original_name:e.original_name,size:e.size,url:t,previewUrl:t}}),Q(),$()}async function $r(){if(!localStorage.getItem(`cxxfds_token`))return!1;let e=await fetch(`${w()}/api/applications/current${T()}`,{headers:E(!1)});return e.status===401?(localStorage.removeItem(oe),D(),!1):e.ok?(Qr(await e.json()),!0):!1}async function ei(){let e=await fetch(`${w()}/api/applications/current${T()}`,{method:`PUT`,headers:E(!0),body:JSON.stringify(Br())});if(e.status===401)return D(),!1;if(!e.ok)return e.json().catch(()=>({})),G(`草稿未能保存,请检查网络或稍后重试。`,`保存失败`,`warning`),!1;try{Qr(await e.json())}catch{}return!0}function ti(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 ni(e){let t=e.trim();return t===`The given data was invalid.`||t===`The given data was invalid`||t===`给定的数据无效。`||t===`给定的数据无效`}function ri(e,t){let n=ti(t.errors);if(n.length>0)return n[0];let r=t.message;if(typeof r==`string`&&r.trim()){let e=r.trim();if(!ni(e))return e}return e===404?`赛事不存在或未发布,请返回重新进入报名页。`:e===403?`当前账号无权限提交,请确认登录状态或联系管理员。`:e===409?`报名状态已变更或发生冲突,请刷新页面后重试。`:e===429?`请求过于频繁,请稍后再试。`:e>=500?`服务暂时不可用,请稍后重试。`:e===422?`提交失败,请填写完整信息。`:`报名未能提交,请检查网络或稍后重试。`}async function ii(){let e=await fetch(`${w()}/api/applications/current/submit${T()}`,{method:`POST`,headers:E(!0),body:JSON.stringify(Br())});if(e.status===401)return D(),!1;if(!e.ok){let t={};try{t=await e.json()}catch{}return G(ri(e.status,t),`提交失败`,`warning`),!1}return Qr(await e.json()),!0}async function ai(){if(!localStorage.getItem(`cxxfds_token`)){D();return}await ei()&&(Yr(),G(`已保存草稿(按当前已填写信息暂存)。`,`保存成功`,`success`))}async function oi(){if(!localStorage.getItem(`cxxfds_token`)){D();return}Wr()&&await ii()&&G(`已提交报名`,`提交成功`,`success`)}return a(()=>{Z?.(),Dr()}),o(()=>{(async()=>{await Zr(),!A.value&&(await $r()||Xr(),rr())})()}),(r,i)=>(g(),_(`div`,be,[v(`div`,xe,[v(`h5`,Se,h(sr.value),1),!A.value&&cr.value?(g(),_(`p`,Ce,h(cr.value),1)):t(``,!0),A.value?(g(),_(`p`,we,h(A.value),1)):Ln.value&&k.value.length===0&&O.value.some(e=>e.key===`track`)?(g(),_(`p`,Te,` 本场赛事尚未在「赛道管理」中配置可用赛道,提交时可能会失败,请联系管理员。 `)):t(``,!0)]),A.value?t(``,!0):(g(),_(`div`,Ee,[v(`div`,De,[v(`div`,Oe,[v(`form`,{id:`applyForm`,ref_key:`applyFormEl`,ref:ir,class:e([`row g-3`,{"was-validated":z.value}]),onSubmit:i[4]||=ne(()=>{},[`prevent`])},[(g(!0),_(p,null,s(fr.value,r=>(g(),_(p,{key:r.type===`file`?`f-`+r.key:r.key},[r.key===`track`?(g(),_(`div`,ke,[v(`label`,Ae,[n(h(r.label)+` `,1),U(r)?(g(),_(`span`,je,`*`)):t(``,!0),C(r)?(g(),_(`span`,Me,h(C(r)),1)):t(``,!0)]),v(`div`,Ne,[f(v(`select`,{id:`track`,ref_for:!0,ref_key:`trackHiddenSelect`,ref:qn,"onUpdate:modelValue":i[0]||=e=>j.track=e,class:`visually-hidden`,required:U(r),tabindex:`-1`,"aria-hidden":`true`,disabled:B.value},[(g(!0),_(p,null,s(k.value,e=>(g(),_(`option`,{key:e.track_code,value:e.track_code},h(e.title),9,Fe))),128))],8,Pe),[[ie,j.track]]),v(`div`,Ie,[v(`button`,{ref_for:!0,ref_key:`trackDropdownBtn`,ref:Jn,type:`button`,class:e([`dropdown-toggle form-select track-custom-toggle editable w-100 text-start`,{"is-invalid":Kn.value&&z.value}]),"aria-labelledby":`trackFieldLabel`,"aria-expanded":`false`,"data-bs-toggle":`dropdown`,"data-bs-display":`static`,"data-bs-auto-close":`true`,disabled:B.value},[v(`span`,Re,[v(`span`,{class:e(Xn.value)},h(Yn.value),3),Zn.value?(g(),_(`span`,ze,h(Zn.value),1)):t(``,!0)])],10,Le),v(`ul`,Be,[(g(!0),_(p,null,s(k.value,e=>(g(),_(`li`,{key:e.track_code},[v(`button`,{type:`button`,class:`dropdown-item track-pick border-0 w-100 text-start rounded-0`,onClick:t=>$n(e.track_code)},[v(`span`,He,[v(`span`,Ue,h(e.title),1),Qn(e.description)?(g(),_(`span`,We,h(Qn(e.description)),1)):t(``,!0)])],8,Ve)]))),128))]),i[5]||=v(`div`,{class:`invalid-feedback`},`请选择主题赛道`,-1)])]),S(r.help)?(g(),_(`small`,Ge,h(S(r.help)),1)):t(``,!0)])):r.type===`file`&&r.key===`plan`?(g(),_(`div`,Ke,[v(`label`,qe,[n(h(r.label)+` `,1),U(r)?(g(),_(`span`,Je,`*`)):t(``,!0),C(r)?(g(),_(`span`,Ye,h(C(r)),1)):t(``,!0)]),v(`input`,{ref_for:!0,ref_key:`planFileInput`,ref:V,type:`file`,class:e([`form-control editable`,{"is-invalid":z.value&&!!L.value}]),accept:`.pdf,.ppt,.pptx,.doc,.docx,.wps,.rar,.zip`,multiple:``,disabled:B.value,onChange:i[1]||=e=>qr(e.target.files,`plan`)},null,42,Xe),S(r.help)?(g(),_(`small`,Ze,h(S(r.help)),1)):t(``,!0),N.value.length?(g(),_(`div`,Qe,[(g(!0),_(p,null,s(N.value,e=>(g(),_(`div`,{key:String(e.id),class:`supporting-file-item`},[v(`div`,$e,[v(`span`,{class:`supporting-file-name`,title:W(e)},h(W(e)),9,et),v(`span`,tt,h(hr(e.file?e.file.size:e.size||0)),1)]),v(`div`,nt,[v(`a`,{class:`btn btn-sm btn-outline-primary`,href:e.previewUrl||e.url||`#`,download:gr(e),target:`_blank`,rel:`noopener`},`预览`,8,rt),v(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,disabled:B.value,onClick:t=>Kr(e.id,`plan`)},` 删除 `,8,it)])]))),128))])):t(``,!0),v(`small`,at,h(F.value),1),z.value&&L.value?(g(),_(`div`,ot,h(L.value),1)):t(``,!0)])):r.type===`file`&&r.key===`supporting`?(g(),_(`div`,st,[v(`label`,ct,[n(h(r.label)+` `,1),U(r)?(g(),_(`span`,lt,`*`)):t(``,!0),C(r)?(g(),_(`span`,ut,h(C(r)),1)):t(``,!0)]),v(`input`,{ref_for:!0,ref_key:`supportingFileInput`,ref:ar,type:`file`,class:e([`form-control editable`,{"is-invalid":z.value&&!!R.value}]),accept:`.pdf,.ppt,.pptx,.doc,.docx,.wps,.rar,.zip`,multiple:``,disabled:B.value,onChange:i[2]||=e=>qr(e.target.files,`supporting`)},null,42,dt),S(r.help)?(g(),_(`small`,ft,h(S(r.help)),1)):t(``,!0),P.value.length?(g(),_(`div`,pt,[(g(!0),_(p,null,s(P.value,e=>(g(),_(`div`,{key:String(e.id),class:`supporting-file-item`},[v(`div`,mt,[v(`span`,{class:`supporting-file-name`,title:W(e)},h(W(e)),9,ht),v(`span`,gt,h(hr(e.file?e.file.size:e.size||0)),1)]),v(`div`,_t,[v(`a`,{class:`btn btn-sm btn-outline-primary`,href:e.previewUrl||e.url||`#`,download:gr(e),target:`_blank`,rel:`noopener`},`预览`,8,vt),v(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,disabled:B.value,onClick:t=>Kr(e.id,`supporting`)},` 删除 `,8,yt)])]))),128))])):t(``,!0),v(`small`,bt,h(I.value),1),z.value&&R.value?(g(),_(`div`,xt,h(R.value),1)):t(``,!0)])):r.type===`select`&&!mr(r)?(g(),_(`div`,{key:3,class:e(H(r))},[v(`label`,St,[n(h(r.label)+` `,1),U(r)?(g(),_(`span`,Ct,`*`)):t(``,!0),C(r)?(g(),_(`span`,wt,h(C(r)),1)):t(``,!0)]),f(v(`select`,{"onUpdate:modelValue":e=>j[r.key]=e,class:`form-select editable`,required:U(r),disabled:B.value},[(g(!0),_(p,null,s(pr(r),e=>(g(),_(`option`,{key:`${r.key}-${e.value}`,value:e.value},h(e.label),9,Et))),128))],8,Tt),[[ie,j[r.key]]]),v(`div`,Dt,`请选择`+h(r.label),1),S(r.help)?(g(),_(`small`,Ot,h(S(r.help)),1)):t(``,!0)],2)):mr(r)?(g(),_(`div`,{key:4,class:e(H(r))},[v(`label`,kt,[n(h(r.label)+` `,1),U(r)?(g(),_(`span`,At,`*`)):t(``,!0),C(r)?(g(),_(`span`,jt,h(C(r)),1)):t(``,!0)]),f(v(`select`,{"onUpdate:modelValue":i[3]||=e=>j.location_city=e,class:`form-select editable`,required:U(r),disabled:B.value||!M.value||!String(j.location_province??``).trim()},[(g(!0),_(p,null,s(pr(r),e=>(g(),_(`option`,{key:e.value,value:e.value},h(e.label),9,Nt))),128))],8,Mt),[[ie,j.location_city]]),v(`div`,Pt,`请选择`+h(r.label),1),S(r.help)?(g(),_(`small`,Ft,h(S(r.help)),1)):t(``,!0)],2)):r.type===`checkbox`&&r.key===`commitment_accepted`?(g(),_(`div`,{key:5,class:e(H(r))},[v(`label`,It,[n(h(r.label)+` `,1),U(r)?(g(),_(`span`,Lt,`*`)):t(``,!0),C(r)?(g(),_(`span`,Rt,h(C(r)),1)):t(``,!0)]),i[6]||=v(`p`,{class:`small text-secondary mb-2`},` 请点击按钮打开承诺书全文,阅读后在文末手写签名并点击「确认签署」。 `,-1),v(`div`,zt,[v(`button`,{type:`button`,class:`btn btn-outline-primary btn-sm editable`,disabled:B.value,onClick:Lr},h(Or.value?`重新查看承诺书`:`查看并签署参赛承诺书`),9,Bt),Or.value?(g(),_(`span`,Vt,`已完成签署`)):t(``,!0)]),S(r.help)?(g(),_(`small`,Ht,h(S(r.help)),1)):t(``,!0)],2)):r.type===`checkbox`?(g(),_(`div`,{key:6,class:e(H(r))},[v(`div`,Ut,[f(v(`input`,{id:`signup-field-`+r.key,"onUpdate:modelValue":e=>j[r.key]=e,type:`checkbox`,class:`form-check-input editable`,"true-value":`1`,"false-value":``,required:U(r),disabled:B.value},null,8,Wt),[[re,j[r.key]]]),v(`label`,{class:`form-check-label`,for:`signup-field-`+r.key},[n(h(r.label)+` `,1),U(r)?(g(),_(`span`,Kt,`*`)):t(``,!0),C(r)?(g(),_(`span`,qt,h(C(r)),1)):t(``,!0)],8,Gt),i[7]||=v(`div`,{class:`invalid-feedback`},`请勾选此项以继续`,-1)]),S(r.help)?(g(),_(`small`,Jt,h(S(r.help)),1)):t(``,!0)],2)):r.type===`textarea`?(g(),_(`div`,{key:7,class:e(H(r))},[v(`label`,Yt,[n(h(r.label)+` `,1),U(r)?(g(),_(`span`,Xt,`*`)):t(``,!0),C(r)?(g(),_(`span`,Zt,h(C(r)),1)):t(``,!0)]),f(v(`textarea`,{"onUpdate:modelValue":e=>j[r.key]=e,class:`form-control editable`,rows:`4`,placeholder:``,required:U(r),disabled:B.value},null,8,Qt),[[ee,j[r.key]]]),ur(r)||r.key===`intro`?(g(),_(`div`,$t,[ur(r)?(g(),_(`small`,en,h(ur(r)),1)):t(``,!0),r.key===`intro`?(g(),_(`small`,tn,h(or.value)+` 字`,1)):t(``,!0)])):t(``,!0),S(r.help)?(g(),_(`small`,{key:1,class:e([`text-secondary prototype-subtitle d-block`,{"mt-1":r.key===`intro`||ur(r)}])},h(S(r.help)),3)):t(``,!0)],2)):(g(),_(`div`,{key:8,class:e(H(r))},[v(`label`,nn,[n(h(r.label)+` `,1),U(r)?(g(),_(`span`,rn,`*`)):t(``,!0),C(r)?(g(),_(`span`,an,h(C(r)),1)):t(``,!0)]),f(v(`input`,{"onUpdate:modelValue":e=>j[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:B.value,placeholder:(r.placeholder??``).trim(),pattern:r.key===`contact_mobile`?Nn:void 0,autocomplete:r.key===`company_name`?`organization`:void 0},null,10,on),[[d,j[r.key]]]),v(`div`,sn,h(lr(r)),1),S(r.help)?(g(),_(`small`,cn,h(S(r.help)),1)):t(``,!0)],2))],64))),128)),v(`div`,ln,[v(`button`,{type:`button`,class:`btn btn-outline-primary`,disabled:B.value,onClick:ai},`保存`,8,un),v(`button`,{type:`button`,class:`btn btn-success`,disabled:B.value,onClick:oi},`提交报名`,8,dn)])],34)])])])),!A.value&&O.value.some(e=>e.key===`commitment_accepted`)?(g(),_(`div`,{key:1,id:`promiseSignModal`,ref_key:`promiseSignModalRef`,ref:Sr,class:`modal fade`,tabindex:`-1`,"aria-hidden":`true`,"data-bs-backdrop":`static`},[v(`div`,fn,[v(`div`,pn,[v(`div`,mn,[v(`div`,hn,[v(`h1`,gn,h(kr.value),1),v(`div`,_n,[v(`div`,{class:`promise-doc-body promise-doc-body--rich`,innerHTML:Bn.value},null,8,vn)]),v(`div`,yn,[v(`div`,bn,[i[8]||=v(`span`,{class:`promise-doc-signlabel`},`参赛人签名:`,-1),v(`div`,xn,[v(`div`,Sn,[v(`canvas`,{ref_key:`promiseCanvasRef`,ref:K,class:`promise-sig-canvas`,width:`520`,height:`140`,"aria-label":`手写签名区域`},null,512),v(`span`,{class:e([`promise-sig-hint`,{"d-none":!wr.value}])},`请在框内手写签名`,2)]),v(`div`,{class:`promise-sig-tools`},[v(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,onClick:Rr},` 清除签名 `)])])]),v(`div`,Cn,[v(`span`,wn,[i[9]||=n(`日期:`,-1),v(`strong`,null,h(Cr.value),1)])])]),v(`div`,{class:`promise-sign-actions`},[i[10]||=v(`button`,{type:`button`,class:`btn btn-light notice-cancel-btn`,"data-bs-dismiss":`modal`},`关闭`,-1),v(`button`,{type:`button`,class:`btn btn-primary`,onClick:zr},`确认签署`)])])])])])],512)):t(``,!0),v(`div`,{ref_key:`noticeModalEl`,ref:vr,id:`applyNoticeModal`,class:`modal fade`,tabindex:`-1`,"aria-hidden":`true`},[v(`div`,Tn,[v(`div`,{class:e([`modal-content notice-modal-content`,xr.value?`notice-success`:`notice-warning`])},[i[13]||=v(`div`,{class:`modal-header border-0 pb-0`},[v(`button`,{type:`button`,class:`btn-close ms-auto`,"data-bs-dismiss":`modal`,"aria-label":`关闭`})],-1),v(`div`,En,[v(`div`,Dn,[xr.value?(g(),_(`svg`,On,[...i[11]||=[v(`circle`,{cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`1.8`},null,-1),v(`path`,{d:`M7 12.2l3.1 3.1L17.2 8.8`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):(g(),_(`svg`,kn,[...i[12]||=[v(`path`,{d:`M12 3.6L2.9 19.2a1 1 0 0 0 .86 1.5h16.48a1 1 0 0 0 .86-1.5L12 3.6z`,stroke:`currentColor`,"stroke-width":`1.8`},null,-1),v(`path`,{d:`M12 9v5`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`},null,-1),v(`circle`,{cx:`12`,cy:`16.8`,r:`1.1`,fill:`currentColor`},null,-1)]]))]),v(`h5`,An,h(yr.value),1),br.value.trim()?(g(),_(`p`,jn,h(br.value),1)):t(``,!0)]),i[14]||=v(`div`,{class:`modal-footer notice-modal-footer border-0`},[v(`button`,{type:`button`,class:`btn btn-light notice-cancel-btn`,"data-bs-dismiss":`modal`},`取消`),v(`button`,{type:`button`,class:`btn btn-primary notice-ok-btn`,"data-bs-dismiss":`modal`},`确定`)],-1)],2)])],512)]))}}),[[`__scopeId`,`data-v-dc56f4fc`]]),x=te({__name:`ApplyView`,setup(e){return(e,t)=>(g(),i(In))}});export{x as default}; \ No newline at end of file diff --git a/public/admin/assets/ApplyView-C3Wr-eKC.js b/public/admin/assets/ApplyView-C3Wr-eKC.js deleted file mode 100644 index 2d4d6b8..0000000 --- a/public/admin/assets/ApplyView-C3Wr-eKC.js +++ /dev/null @@ -1 +0,0 @@ -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 f,g as p,ht as te,in as m,k as ne,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{h as oe,l as se,p as ce}from"./api-DouN6RcT.js";import{A as le,C as ue,k as de,w as fe}from"./index-CRGTFVkR.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(`.`),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:`请填写工商注册全称`},{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 be(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,d=e.required_when;if(typeof d==`object`&&d&&!Array.isArray(d)){let e=d,t=String(e.field??``).trim(),n=e.values,r=Array.isArray(n)?n.map(e=>String(e).trim()).filter(e=>e!==``):[];t&&r.length&&(ee={field:t,values:r})}let f;if(i===`select`&&Array.isArray(e.options)&&(f=y(e.options)),r===`track`&&(f=[]),i===`select`&&r!==`track`&&(!f||f.length===0))if(r===`location_province`)f=ye.map(e=>({label:e,value:e}));else{let e=v.find(e=>e.key===r);e?.options?.length&&(f=e.options.map(e=>({...e})))}t.push({key:r,type:i,label:a,required:o,placeholder:c,help:u,options:f,required_when:ee})}return t.length?t:v.map(e=>({...e}))}var xe={class:`apply-form-page`},Se={class:`form-page-header flex-shrink-0 mb-3`},Ce={class:`mb-0 form-page-title`},we={key:0,class:`text-secondary prototype-subtitle mb-0 mt-2`},Te={key:1,class:`text-danger small mb-0 mt-2`},Ee={key:2,class:`text-warning small mb-0 mt-2`},De={key:0,class:`apply-form-scroll`},Oe={class:`card mb-0`},ke={class:`card-body`},Ae={key:0,class:`col-md-4`},je={class:`form-label`,id:`trackFieldLabel`},Me={key:0,class:`text-danger`},Ne={class:`track-custom-select w-100`},Pe=[`required`,`disabled`],Fe=[`value`],Ie={class:`dropdown w-100`},Le=[`disabled`],Re={class:`track-toggle-label text-truncate`},ze={key:0,class:`track-custom-note`},Be={class:`dropdown-menu w-100 border shadow-sm rounded-2 py-0 my-1 track-custom-menu`},Ve=[`onClick`],He={class:`track-pick-inline`},Ue={class:`text-body`},We={key:0,class:`track-custom-note`},Ge={key:0,class:`text-secondary prototype-subtitle d-block`},Ke={key:1,class:`col-12`},qe={class:`form-label`},Je={key:0,class:`text-danger`},Ye=[`disabled`],Xe={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},Ze={key:1,class:`supporting-file-list mt-2`,"aria-live":`polite`},Qe={class:`supporting-file-meta`},$e=[`title`],et={class:`supporting-file-size`},tt={class:`supporting-file-actions`},nt=[`href`,`download`],rt=[`disabled`,`onClick`],it={class:`text-secondary prototype-subtitle d-block`},at={key:2,class:`invalid-feedback d-block`},ot={key:2,class:`col-12`},st={class:`form-label`},ct=[`disabled`],lt={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},ut={key:1,class:`supporting-file-list mt-2`,"aria-live":`polite`},dt={class:`supporting-file-meta`},ft=[`title`],pt={class:`supporting-file-size`},mt={class:`supporting-file-actions`},ht=[`href`,`download`],gt=[`disabled`,`onClick`],_t={class:`text-secondary prototype-subtitle d-block`},vt={key:2,class:`invalid-feedback d-block`},yt={class:`form-label`},bt={key:0,class:`text-danger`},xt=[`onUpdate:modelValue`,`required`,`disabled`],St=[`value`],Ct={class:`invalid-feedback`},wt={key:0,class:`text-secondary prototype-subtitle d-block`},Tt={class:`form-label`},Et={key:0,class:`text-danger`},Dt=[`required`,`disabled`],Ot=[`value`],kt={class:`invalid-feedback`},At={key:0,class:`text-secondary prototype-subtitle d-block`},jt={class:`form-label`},Mt={key:0,class:`text-danger`},Nt={class:`d-flex flex-wrap align-items-center gap-2 mb-1`},Pt=[`disabled`],Ft={key:0,class:`badge rounded-pill px-3 py-2 promise-signed-badge`},It={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},Lt={class:`form-check`},Rt=[`id`,`onUpdate:modelValue`,`required`,`disabled`],zt=[`for`],Bt={key:0,class:`text-danger`},Vt={key:0,class:`text-secondary prototype-subtitle d-block mt-1`},Ht={class:`form-label`},Ut={key:0,class:`text-danger`},Wt=[`onUpdate:modelValue`,`required`,`disabled`],Gt={key:0,class:`d-flex flex-wrap align-items-baseline gap-2 mt-1 w-100`},Kt={key:0,class:`apply-textarea-placeholder-hint mb-0`},qt={key:1,class:`text-secondary prototype-subtitle intro-char-count mb-0 ms-auto`},Jt={class:`form-label`},Yt={key:0,class:`text-danger`},Xt=[`onUpdate:modelValue`,`type`,`required`,`disabled`,`placeholder`,`pattern`,`autocomplete`],Zt={class:`invalid-feedback`},Qt={key:0,class:`text-secondary prototype-subtitle d-block`},$t={class:`col-12 apply-form-actions mt-3 pt-3 border-top d-flex gap-2 flex-wrap`},en=[`disabled`],tn=[`disabled`],nn={class:`modal-dialog modal-dialog-centered promise-sign-modal`},rn={class:`modal-content promise-sign-sheet`},an={class:`modal-body pt-2`},on={class:`promise-doc-paper`},sn={class:`promise-doc-heading text-center`},cn={class:`promise-doc-scroll`},ln=[`innerHTML`],un={class:`promise-doc-signblock`},dn={class:`promise-doc-signrow`},fn={class:`promise-sig-wrap`},pn={class:`promise-sig-box`},mn={class:`promise-doc-daterow`},hn={class:`promise-doc-dateline`},gn={class:`modal-dialog modal-dialog-centered notice-modal-dialog`},_n={class:`modal-body notice-modal-body`},vn={class:`notice-icon`,"aria-hidden":`true`},yn={key:0,viewBox:`0 0 24 24`,width:`36`,height:`36`,fill:`none`,"aria-hidden":`true`},bn={key:1,viewBox:`0 0 24 24`,width:`36`,height:`36`,fill:`none`,"aria-hidden":`true`},xn={class:`notice-title`},Sn={key:0,class:`notice-text text-break`,style:{"white-space":`pre-wrap`}},Cn=20*1024*1024,wn=`^1[3-9]\\d{9}$`,Tn=`本项目申报信息中所填写的各栏目内容真实、准确。本项目负责人(团队)对申报材料的真实性负完全责任。
若申报信息中存在虚假、伪造等不实情况,本项目负责人(团队)将积极配合调查,并按照有关规定接受处理。
`,En=2097152,Dn=pe(ne({__name:`ApplyFormView`,setup(i){let ne=de,pe=fe(),v=ue(),y=u(()=>String(v.params.slug??``).trim()),Dn=[`pdf`,`ppt`,`pptx`,`doc`,`docx`,`wps`,`rar`,`zip`];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(){return ce()}function C(){let e=y.value;return e?`?competition_slug=${encodeURIComponent(e)}`:``}function w(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(be([])),D=c([]),On=c(!1),kn=c(``),An=c(``),jn=u(()=>An.value.trim()||Tn),Mn=c(ge()),O=c(``),k=te({});function Nn(e){for(let t of e)t.type!==`file`&&(t.key in k||(k[t.key]=``));e.some(e=>e.key===`commitment_accepted`)&&!(`promise_signature`in k)&&(k.promise_signature=``)}let Pn=u(()=>`jscc_signup_form_draft_v2_${y.value||`x`}`),Fn=c(`draft`),In=c(!0),Ln=c(!1),Rn=c(null),zn=c(null),Bn=u(()=>{let e=k.track,t=D.value.find(t=>t.track_code===e);return t?t.title:e||`请选择主题赛道`}),Vn=u(()=>k.track?`text-body`:`text-secondary`),Hn=u(()=>{let e=k.track;return(D.value.find(t=>t.track_code===e)?.description??``).trim()});function Un(e){return(e??``).trim()}function Wn(e){k.track=e,Ln.value=!1;let t=b(zn);t&&ne.getInstance(t)?.hide()}let A=u(()=>k.location_country===`中国`),Gn=u(()=>k.location_country===`海外`),Kn=u(()=>ye.map(e=>({label:e,value:e}))),qn=u(()=>{let e=k.location_province;return e?(ve[e]||[]).map(e=>({label:e,value:e})):[]});function j(){Gn.value?(k.location_province=``,k.location_city=``):A.value||(k.location_province=``,k.location_city=``,k.oversea_country=``)}l(()=>k.location_country,()=>{j()}),l(()=>k.location_province,(e,t)=>{A.value&&e!==t&&(t==null||String(t).trim()===``||(k.location_city=``))}),l(()=>k.entry_group,e=>{e===`创新组`&&(k.company_name=``)});let M=c([]),N=c([]),P=c(``),F=c(``),I=c(``),L=c(``),R=c(!1),z=u(()=>!In.value),Jn=c(null),B=c(null),V=c(null),Yn=u(()=>(k.intro||``).length),Xn=u(()=>me(Mn.value,kn.value)),Zn=u(()=>{let e=Mn.value.apply?.headerSubtitle;return he(e)?String(e).trim():``});function Qn(e){let t=String(k[e.key]??``).trim();return e.type===`email`||e.key===`contact_email`?t?`请输入正确的邮箱格式`:`请填写${e.label}`:(e.type===`tel`||e.key===`contact_mobile`)&&t?`请输入正确的11位中国大陆手机号`:`请填写${e.label}`}function H(e){return e.type===`textarea`||e.type===`file`||e.type===`checkbox`?`col-12`:`col-md-4`}function U(e){return e.type===`textarea`?String(e.placeholder??``).trim():``}function $n(e){return e.type===`file`?!0:e.key===`company_name`?k.entry_group!==`创新组`:e.key===`location_province`||e.key===`location_city`?A.value:e.key===`oversea_country`?Gn.value:!0}function W(e){if(e.key===`location_province`||e.key===`location_city`)return A.value;if(e.key===`oversea_country`)return Gn.value;let t=e.required_when;if(t?.field&&t.values?.length){let e=String(k[t.field]??``).trim();if(t.values.includes(e))return!0}return e.required}let er=u(()=>E.value.filter(e=>$n(e)));function tr(e){return e.key===`track`?D.value.map(e=>({label:e.title,value:e.track_code})):e.key===`location_province`?Kn.value:e.key===`location_city`&&A.value?qn.value:e.options??[]}function nr(e){return e.key===`location_city`&&A.value}function rr(e){return e>=1024*1024?`${(e/1024/1024).toFixed(1).replace(/\.0$/,``)}M`:e>=1024?`${Math.ceil(e/1024)}K`:`${e}B`}function G(e){return e.file?e.file.name:e.original_name||``}function ir(e){return G(e).trim()||void 0}function ar(e){let t=e.message||``,n=e.errors;return n&&Object.keys(n).length?`${t}\n${JSON.stringify(n)}`:t||`操作失败`}let or=c(null),sr=c(`提示`),cr=c(``),lr=c(!1);function K(e,t=`提示`,n=`warning`){sr.value=t,cr.value=e,lr.value=n===`success`,r(()=>{let e=or.value;e&&le.getOrCreateInstance(e).show()})}let ur=c(null),q=c(null),dr=c(``),fr=c(!0),J=null,Y=520,X=140,pr=!1,mr=!1,hr=null,Z=null;function gr(){hr?.abort(),hr=null}let _r=u(()=>k.commitment_accepted===`1`&&String(k.promise_signature??``).trim()!==``),vr=u(()=>{let e=kn.value.trim();return e?`${e} 赛事承诺书`:`赛事承诺书`});function yr(e){return`${e.getFullYear()}年${e.getMonth()+1}月${e.getDate()}日`}function br(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 xr(){let e=q.value;if(!e)return;let t=e.closest(`.promise-sig-wrap`),n=window.devicePixelRatio||1,r=window.getComputedStyle(e);Y=Math.max(280,Math.floor(t?.clientWidth||520)),X=Math.max(76,Math.floor(parseFloat(r.height)||110)),e.style.width=`${Y}px`,e.style.height=`${X}px`,e.width=Math.floor(Y*n),e.height=Math.floor(X*n),J=e.getContext(`2d`),J&&(J.setTransform(1,0,0,1,0,0),J.scale(n,n),J.fillStyle=`#ffffff`,J.fillRect(0,0,Y,X),J.strokeStyle=`#111111`,J.lineWidth=2,J.lineCap=`round`,J.lineJoin=`round`,mr=!1,fr.value=!0)}function Sr(){let e=String(k.promise_signature??``).trim();if(!e||!J)return;let t=new Image;t.onload=()=>{J&&(J.drawImage(t,0,0,Y,X),mr=!0,fr.value=!1)},t.src=e}function Cr(){let e=q.value;if(!e||!J)return;gr(),hr=new AbortController;let{signal:t}=hr,n=t=>{if(`touches`in t&&t.preventDefault(),!J)return;pr=!0;let n=br(t,e);J.beginPath(),J.moveTo(n.x,n.y)},r=t=>{if(!pr||!J)return;`touches`in t&&t.preventDefault();let n=br(t,e);J.lineTo(n.x,n.y),J.stroke(),mr=!0,fr.value=!1},i=()=>{pr=!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 wr(){dr.value=yr(new Date);let e=t=>{if(!q.value){t<40&&requestAnimationFrame(()=>e(t+1));return}xr(),Cr(),String(k.promise_signature??``).trim()&&k.commitment_accepted===`1`&&Sr()};r(()=>{requestAnimationFrame(()=>e(0))})}function Tr(e){Z?.();let t=()=>{wr()},n=()=>{gr()};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(ur,e=>{Z?.(),e&&Tr(e)},{flush:`post`});function Er(){if(z.value)return;let e=ur.value;e&&le.getOrCreateInstance(e).show()}function Dr(){xr(),Cr()}function Or(){let e=q.value;if(!mr||!e){K(`请先在签名区域内手写签名后再确认。`,`请确认`,`warning`);return}let t=e.toDataURL(`image/png`);if(t.length>En){K(`签名数据过大,请清除后重新签名或联系管理员。`,`提示`,`warning`);return}k.promise_signature=t,k.commitment_accepted=`1`;let n=ur.value;n&&le.getInstance(n)?.hide()}function kr(){let e={};for(let t of E.value)if(t.type!==`file`){if(t.type===`checkbox`){e[t.key]=k[t.key]===`1`;continue}e[t.key]=k[t.key]??``}return E.value.some(e=>e.key===`commitment_accepted`)&&(e.promise_signature=k.promise_signature??``),e}function Ar(e,t,n){let r=e.filter(e=>e.file),i=e.filter(e=>e.fromServer&&!e.file);if(!r.length&&!i.length)return{ok:n,feedback:n?``:t};let a=r.map(e=>e.file).find(e=>{let t=(e.name.split(`.`).pop()||``).toLowerCase();return!Dn.includes(t)});if(a)return{ok:!1,feedback:`“${a.name}”格式不支持,请上传 PDF/PPT/PPTX/DOC/DOCX/WPS/RAR/ZIP`};let o=r.map(e=>e.file).find(e=>e.size>Cn);return o?{ok:!1,feedback:`“${o.name}”大小不能超过20M`}:{ok:!0,feedback:``}}function jr(){return E.value.some(e=>e.key===`plan`&&e.type===`file`)}function Mr(){return E.value.some(e=>e.key===`supporting`&&e.type===`file`)}function Q(){if(!jr())return b(B)?.setCustomValidity(``),!0;let e=Ar(M.value,`请上传商业计划书`,!1);return I.value=e.feedback,b(B)?.setCustomValidity(e.ok?``:`missing`),e.ok}function $(){if(!Mr())return b(V)?.setCustomValidity(``),!0;let e=Ar(N.value,`文件格式或大小不符合要求`,!0);return L.value=e.feedback,b(V)?.setCustomValidity(e.ok?``:`bad`),e.ok}function Nr(){R.value=!0,Q(),$();let e=E.value.find(e=>e.key===`track`);if(e&&$n(e)){Ln.value=!k.track;let e=b(Rn);e&&e.setCustomValidity(k.track?``:`请选择主题赛道`)}else Ln.value=!1,b(Rn)?.setCustomValidity(``);return!(Jn.value?.checkValidity()??!1)||e&&W(e)&&!k.track||!Q()||!$()?!1:E.value.find(e=>e.key===`commitment_accepted`)&&(k.commitment_accepted!==`1`||!String(k.promise_signature??``).trim())?(K(`请先阅读并完成参赛承诺书的手写签署。`,`提示`,`warning`),!1):!0}async function Pr(e){let t=localStorage.getItem(se);if(!t)return;let n=(e===`plan`?M.value:N.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(`${S()}/api/applications/current/files${C()}`,{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){K(ar(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=oe(String(a.url??``));r.url=s,r.previewUrl=s,o&&String(o).startsWith(`blob:`)&&URL.revokeObjectURL(o),delete r.file}K(`文件已上传。`,`上传成功`,`success`),e===`plan`?Q():$()}}async function Fr(e,t){let n=t===`plan`?[...M.value]:[...N.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(`${S()}/api/applications/current/files/${r.id}${C()}`,{method:`DELETE`,headers:w(!1)});if(e.status===401){T();return}if(!e.ok){K(`删除失败`,`提示`,`warning`);return}}r.previewUrl&&String(r.previewUrl).startsWith(`blob:`)&&URL.revokeObjectURL(r.previewUrl),n=n.filter(t=>String(t.id)!==String(e)),t===`plan`?M.value=n:N.value=n,R.value=!0,t===`plan`?Q():$()}}function Ir(e,t){if(!e?.length)return;let n=t===`plan`?M.value:N.value;if(Array.from(e).forEach(e=>{n.push({id:`tmp-${Date.now()}-${Math.random().toString(16).slice(2)}`,file:e,previewUrl:URL.createObjectURL(e),fromServer:!1})}),t===`plan`){M.value=[...n],P.value=``;let e=b(B);e&&(e.value=``),R.value=!0,Q()}else{N.value=[...n],F.value=``;let e=b(V);e&&(e.value=``),R.value=!0,$()}Pr(t)}function Lr(){return{formModel:{...k},planFileNames:M.value.map(G).filter(Boolean),supportingFileNames:N.value.map(G).filter(Boolean)}}function Rr(){let e=Lr();localStorage.setItem(Pn.value,JSON.stringify(e)),e.planFileNames.length?P.value=`已保存商业计划书名称:${e.planFileNames.join(`、`)}`:P.value=``,e.supportingFileNames.length?F.value=`已保存其他佐证材料名称:${e.supportingFileNames.join(`、`)}`:F.value=``}function zr(){let e=localStorage.getItem(Pn.value);if(e)try{let t=JSON.parse(e);if(t.formModel&&typeof t.formModel==`object`)for(let e of Object.keys(t.formModel))k[e]=t.formModel[e]??``;let n=t.planFileNames||[];n.length&&(P.value=`上次保存商业计划书名称:${n.join(`、`)}(浏览器限制,需重新选择后预览或删除)`);let r=t.supportingFileNames;r?.length&&(F.value=`上次保存其他佐证材料名称:${r.join(`、`)}(浏览器限制,需重新选择后预览或删除)`),j()}catch{localStorage.removeItem(Pn.value)}}async function Br(){On.value=!1;let e=y.value;if(!e){O.value=`缺少赛事地址`;return}O.value=``;try{let t=await fetch(`${S()}/api/v1/public/competitions/by-slug/${encodeURIComponent(e)}`,{headers:{Accept:`application/json`}});if(!t.ok){O.value=t.status===404?`赛事不存在或未发布`:`无法加载赛事配置`;return}let n=await t.json(),r=n.data!=null&&typeof n.data==`object`&&!Array.isArray(n.data)?n.data:n;kn.value=String(r.name??``),An.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=be(a),Nn(E.value),Mn.value=_e(r.branding_json??null);let o=Mn.value.documentTitle;he(o)&&typeof document<`u`&&(document.title=o.trim()),On.value=!0}catch{O.value=`网络错误,无法加载赛事`}}function Vr(e){Fn.value=e.status||`draft`,In.value=e.participant_may_edit!==!1,k.player_name=e.player_name||``,k.school=e.school||``,k.degree=e.degree||``,k.contact_email=e.contact_email||``,k.contact_mobile=e.contact_mobile||``,k.entry_group=e.entry_group||``,k.company_name=e.company_name||``,k.project_name=e.project_name||``,k.track=e.track||``,k.location_country=e.location_country||``,k.location_province=e.location_province||``,k.location_city=e.location_city||``,k.oversea_country=e.oversea_country||``,k.intro=e.intro||``;let t=typeof e.promise_signature==`string`?e.promise_signature:``;k.promise_signature=t,k.commitment_accepted=t.trim()&&e.promise_signed_at?`1`:``,j(),M.value=(e.files||[]).filter(e=>e.kind===`plan`).map(e=>{let t=oe(e.url);return{id:e.id,fromServer:!0,original_name:e.original_name,size:e.size,url:t,previewUrl:t}}),N.value=(e.files||[]).filter(e=>e.kind===`supporting`).map(e=>{let t=oe(e.url);return{id:e.id,fromServer:!0,original_name:e.original_name,size:e.size,url:t,previewUrl:t}}),Q(),$()}async function Hr(){if(!localStorage.getItem(`cxxfds_token`))return!1;let e=await fetch(`${S()}/api/applications/current${C()}`,{headers:w(!1)});return e.status===401?(localStorage.removeItem(se),T(),!1):e.ok?(Vr(await e.json()),!0):!1}async function Ur(){let e=await fetch(`${S()}/api/applications/current${C()}`,{method:`PUT`,headers:w(!0),body:JSON.stringify(kr())});if(e.status===401)return T(),!1;if(!e.ok)return e.json().catch(()=>({})),K(`草稿未能保存,请检查网络或稍后重试。`,`保存失败`,`warning`),!1;try{Vr(await e.json())}catch{}return!0}function Wr(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 Gr(e){let t=e.trim();return t===`The given data was invalid.`||t===`The given data was invalid`||t===`给定的数据无效。`||t===`给定的数据无效`}function Kr(e,t){let n=Wr(t.errors);if(n.length>0)return n[0];let r=t.message;if(typeof r==`string`&&r.trim()){let e=r.trim();if(!Gr(e))return e}return e===404?`赛事不存在或未发布,请返回重新进入报名页。`:e===403?`当前账号无权限提交,请确认登录状态或联系管理员。`:e===409?`报名状态已变更或发生冲突,请刷新页面后重试。`:e===429?`请求过于频繁,请稍后再试。`:e>=500?`服务暂时不可用,请稍后重试。`:e===422?`提交失败,请填写完整信息。`:`报名未能提交,请检查网络或稍后重试。`}async function qr(){let e=await fetch(`${S()}/api/applications/current/submit${C()}`,{method:`POST`,headers:w(!0),body:JSON.stringify(kr())});if(e.status===401)return T(),!1;if(!e.ok){let t={};try{t=await e.json()}catch{}return K(Kr(e.status,t),`提交失败`,`warning`),!1}return Vr(await e.json()),!0}async function Jr(){if(!localStorage.getItem(`cxxfds_token`)){T();return}await Ur()&&(Rr(),K(`已保存草稿(按当前已填写信息暂存)。`,`保存成功`,`success`))}async function Yr(){if(!localStorage.getItem(`cxxfds_token`)){T();return}Nr()&&await qr()&&K(`已提交报名`,`提交成功`,`success`)}return a(()=>{Z?.(),gr()}),o(()=>{(async()=>{await Br(),!O.value&&(await Hr()||zr(),j())})()}),(r,i)=>(h(),g(`div`,xe,[_(`div`,Se,[_(`h5`,Ce,m(Xn.value),1),!O.value&&Zn.value?(h(),g(`p`,we,m(Zn.value),1)):t(``,!0),O.value?(h(),g(`p`,Te,m(O.value),1)):On.value&&D.value.length===0&&E.value.some(e=>e.key===`track`)?(h(),g(`p`,Ee,` 本场赛事尚未在「赛道管理」中配置可用赛道,提交时可能会失败,请联系管理员。 `)):t(``,!0)]),O.value?t(``,!0):(h(),g(`div`,De,[_(`div`,Oe,[_(`div`,ke,[_(`form`,{id:`applyForm`,ref_key:`applyFormEl`,ref:Jn,class:e([`row g-3`,{"was-validated":R.value}]),onSubmit:i[4]||=re(()=>{},[`prevent`])},[(h(!0),g(p,null,s(er.value,r=>(h(),g(p,{key:r.type===`file`?`f-`+r.key:r.key},[r.key===`track`?(h(),g(`div`,Ae,[_(`label`,je,[n(m(r.label)+` `,1),W(r)?(h(),g(`span`,Me,`*`)):t(``,!0)]),_(`div`,Ne,[d(_(`select`,{id:`track`,ref_for:!0,ref_key:`trackHiddenSelect`,ref:Rn,"onUpdate:modelValue":i[0]||=e=>k.track=e,class:`visually-hidden`,required:W(r),tabindex:`-1`,"aria-hidden":`true`,disabled:z.value},[(h(!0),g(p,null,s(D.value,e=>(h(),g(`option`,{key:e.track_code,value:e.track_code},m(e.title),9,Fe))),128))],8,Pe),[[ae,k.track]]),_(`div`,Ie,[_(`button`,{ref_for:!0,ref_key:`trackDropdownBtn`,ref:zn,type:`button`,class:e([`dropdown-toggle form-select track-custom-toggle editable w-100 text-start`,{"is-invalid":Ln.value&&R.value}]),"aria-labelledby":`trackFieldLabel`,"aria-expanded":`false`,"data-bs-toggle":`dropdown`,"data-bs-display":`static`,"data-bs-auto-close":`true`,disabled:z.value},[_(`span`,Re,[_(`span`,{class:e(Vn.value)},m(Bn.value),3),Hn.value?(h(),g(`span`,ze,m(Hn.value),1)):t(``,!0)])],10,Le),_(`ul`,Be,[(h(!0),g(p,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=>Wn(e.track_code)},[_(`span`,He,[_(`span`,Ue,m(e.title),1),Un(e.description)?(h(),g(`span`,We,m(Un(e.description)),1)):t(``,!0)])],8,Ve)]))),128))]),i[5]||=_(`div`,{class:`invalid-feedback`},`请选择主题赛道`,-1)])]),x(r.help)?(h(),g(`small`,Ge,m(x(r.help)),1)):t(``,!0)])):r.type===`file`&&r.key===`plan`?(h(),g(`div`,Ke,[_(`label`,qe,[n(m(r.label)+` `,1),r.required?(h(),g(`span`,Je,`*`)):t(``,!0)]),_(`input`,{ref_for:!0,ref_key:`planFileInput`,ref:B,type:`file`,class:e([`form-control editable`,{"is-invalid":R.value&&!!I.value}]),accept:`.pdf,.ppt,.pptx,.doc,.docx,.wps,.rar,.zip`,multiple:``,disabled:z.value,onChange:i[1]||=e=>Ir(e.target.files,`plan`)},null,42,Ye),x(r.help)?(h(),g(`small`,Xe,m(x(r.help)),1)):t(``,!0),M.value.length?(h(),g(`div`,Ze,[(h(!0),g(p,null,s(M.value,e=>(h(),g(`div`,{key:String(e.id),class:`supporting-file-item`},[_(`div`,Qe,[_(`span`,{class:`supporting-file-name`,title:G(e)},m(G(e)),9,$e),_(`span`,et,m(rr(e.file?e.file.size:e.size||0)),1)]),_(`div`,tt,[_(`a`,{class:`btn btn-sm btn-outline-primary`,href:e.previewUrl||e.url||`#`,download:ir(e),target:`_blank`,rel:`noopener`},`预览`,8,nt),_(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,disabled:z.value,onClick:t=>Fr(e.id,`plan`)},` 删除 `,8,rt)])]))),128))])):t(``,!0),_(`small`,it,m(P.value),1),R.value&&I.value?(h(),g(`div`,at,m(I.value),1)):t(``,!0)])):r.type===`file`&&r.key===`supporting`?(h(),g(`div`,ot,[_(`label`,st,m(r.label),1),_(`input`,{ref_for:!0,ref_key:`supportingFileInput`,ref:V,type:`file`,class:e([`form-control editable`,{"is-invalid":R.value&&!!L.value}]),accept:`.pdf,.ppt,.pptx,.doc,.docx,.wps,.rar,.zip`,multiple:``,disabled:z.value,onChange:i[2]||=e=>Ir(e.target.files,`supporting`)},null,42,ct),x(r.help)?(h(),g(`small`,lt,m(x(r.help)),1)):t(``,!0),N.value.length?(h(),g(`div`,ut,[(h(!0),g(p,null,s(N.value,e=>(h(),g(`div`,{key:String(e.id),class:`supporting-file-item`},[_(`div`,dt,[_(`span`,{class:`supporting-file-name`,title:G(e)},m(G(e)),9,ft),_(`span`,pt,m(rr(e.file?e.file.size:e.size||0)),1)]),_(`div`,mt,[_(`a`,{class:`btn btn-sm btn-outline-primary`,href:e.previewUrl||e.url||`#`,download:ir(e),target:`_blank`,rel:`noopener`},`预览`,8,ht),_(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,disabled:z.value,onClick:t=>Fr(e.id,`supporting`)},` 删除 `,8,gt)])]))),128))])):t(``,!0),_(`small`,_t,m(F.value),1),R.value&&L.value?(h(),g(`div`,vt,m(L.value),1)):t(``,!0)])):r.type===`select`&&!nr(r)?(h(),g(`div`,{key:3,class:e(H(r))},[_(`label`,yt,[n(m(r.label)+` `,1),W(r)?(h(),g(`span`,bt,`*`)):t(``,!0)]),d(_(`select`,{"onUpdate:modelValue":e=>k[r.key]=e,class:`form-select editable`,required:W(r),disabled:z.value},[(h(!0),g(p,null,s(tr(r),e=>(h(),g(`option`,{key:`${r.key}-${e.value}`,value:e.value},m(e.label),9,St))),128))],8,xt),[[ae,k[r.key]]]),_(`div`,Ct,`请选择`+m(r.label),1),x(r.help)?(h(),g(`small`,wt,m(x(r.help)),1)):t(``,!0)],2)):nr(r)?(h(),g(`div`,{key:4,class:e(H(r))},[_(`label`,Tt,[n(m(r.label)+` `,1),W(r)?(h(),g(`span`,Et,`*`)):t(``,!0)]),d(_(`select`,{"onUpdate:modelValue":i[3]||=e=>k.location_city=e,class:`form-select editable`,required:W(r),disabled:z.value||!A.value||!String(k.location_province??``).trim()},[(h(!0),g(p,null,s(tr(r),e=>(h(),g(`option`,{key:e.value,value:e.value},m(e.label),9,Ot))),128))],8,Dt),[[ae,k.location_city]]),_(`div`,kt,`请选择`+m(r.label),1),x(r.help)?(h(),g(`small`,At,m(x(r.help)),1)):t(``,!0)],2)):r.type===`checkbox`&&r.key===`commitment_accepted`?(h(),g(`div`,{key:5,class:e(H(r))},[_(`label`,jt,[n(m(r.label)+` `,1),W(r)?(h(),g(`span`,Mt,`*`)):t(``,!0)]),i[6]||=_(`p`,{class:`small text-secondary mb-2`},` 请点击按钮打开承诺书全文,阅读后在文末手写签名并点击「确认签署」。 `,-1),_(`div`,Nt,[_(`button`,{type:`button`,class:`btn btn-outline-primary btn-sm editable`,disabled:z.value,onClick:Er},m(_r.value?`重新查看承诺书`:`查看并签署参赛承诺书`),9,Pt),_r.value?(h(),g(`span`,Ft,`已完成签署`)):t(``,!0)]),x(r.help)?(h(),g(`small`,It,m(x(r.help)),1)):t(``,!0)],2)):r.type===`checkbox`?(h(),g(`div`,{key:6,class:e(H(r))},[_(`div`,Lt,[d(_(`input`,{id:`signup-field-`+r.key,"onUpdate:modelValue":e=>k[r.key]=e,type:`checkbox`,class:`form-check-input editable`,"true-value":`1`,"false-value":``,required:W(r),disabled:z.value},null,8,Rt),[[ie,k[r.key]]]),_(`label`,{class:`form-check-label`,for:`signup-field-`+r.key},[n(m(r.label),1),W(r)?(h(),g(`span`,Bt,` *`)):t(``,!0)],8,zt),i[7]||=_(`div`,{class:`invalid-feedback`},`请勾选此项以继续`,-1)]),x(r.help)?(h(),g(`small`,Vt,m(x(r.help)),1)):t(``,!0)],2)):r.type===`textarea`?(h(),g(`div`,{key:7,class:e(H(r))},[_(`label`,Ht,[n(m(r.label)+` `,1),W(r)?(h(),g(`span`,Ut,`*`)):t(``,!0)]),d(_(`textarea`,{"onUpdate:modelValue":e=>k[r.key]=e,class:`form-control editable`,rows:`4`,placeholder:``,required:W(r),disabled:z.value},null,8,Wt),[[f,k[r.key]]]),U(r)||r.key===`intro`?(h(),g(`div`,Gt,[U(r)?(h(),g(`small`,Kt,m(U(r)),1)):t(``,!0),r.key===`intro`?(h(),g(`small`,qt,m(Yn.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`||U(r)}])},m(x(r.help)),3)):t(``,!0)],2)):(h(),g(`div`,{key:8,class:e(H(r))},[_(`label`,Jt,[n(m(r.label)+` `,1),W(r)?(h(),g(`span`,Yt,`*`)):t(``,!0)]),d(_(`input`,{"onUpdate:modelValue":e=>k[r.key]=e,type:r.type===`email`?`email`:r.key===`contact_mobile`?`tel`:`text`,class:e([`form-control editable`,{"company-name-input":r.key===`company_name`}]),required:W(r),disabled:z.value,placeholder:(r.placeholder??``).trim(),pattern:r.key===`contact_mobile`?wn:void 0,autocomplete:r.key===`company_name`?`organization`:void 0},null,10,Xt),[[ee,k[r.key]]]),_(`div`,Zt,m(Qn(r)),1),x(r.help)?(h(),g(`small`,Qt,m(x(r.help)),1)):t(``,!0)],2))],64))),128)),_(`div`,$t,[_(`button`,{type:`button`,class:`btn btn-outline-primary`,disabled:z.value,onClick:Jr},`保存`,8,en),_(`button`,{type:`button`,class:`btn btn-success`,disabled:z.value,onClick:Yr},`提交报名`,8,tn)])],34)])])])),!O.value&&E.value.some(e=>e.key===`commitment_accepted`)?(h(),g(`div`,{key:1,id:`promiseSignModal`,ref_key:`promiseSignModalRef`,ref:ur,class:`modal fade`,tabindex:`-1`,"aria-hidden":`true`,"data-bs-backdrop":`static`},[_(`div`,nn,[_(`div`,rn,[_(`div`,an,[_(`div`,on,[_(`h1`,sn,m(vr.value),1),_(`div`,cn,[_(`div`,{class:`promise-doc-body promise-doc-body--rich`,innerHTML:jn.value},null,8,ln)]),_(`div`,un,[_(`div`,dn,[i[8]||=_(`span`,{class:`promise-doc-signlabel`},`参赛人签名:`,-1),_(`div`,fn,[_(`div`,pn,[_(`canvas`,{ref_key:`promiseCanvasRef`,ref:q,class:`promise-sig-canvas`,width:`520`,height:`140`,"aria-label":`手写签名区域`},null,512),_(`span`,{class:e([`promise-sig-hint`,{"d-none":!fr.value}])},`请在框内手写签名`,2)]),_(`div`,{class:`promise-sig-tools`},[_(`button`,{type:`button`,class:`btn btn-sm btn-outline-secondary`,onClick:Dr},` 清除签名 `)])])]),_(`div`,mn,[_(`span`,hn,[i[9]||=n(`日期:`,-1),_(`strong`,null,m(dr.value),1)])])]),_(`div`,{class:`promise-sign-actions`},[i[10]||=_(`button`,{type:`button`,class:`btn btn-light notice-cancel-btn`,"data-bs-dismiss":`modal`},`关闭`,-1),_(`button`,{type:`button`,class:`btn btn-primary`,onClick:Or},`确认签署`)])])])])])],512)):t(``,!0),_(`div`,{ref_key:`noticeModalEl`,ref:or,id:`applyNoticeModal`,class:`modal fade`,tabindex:`-1`,"aria-hidden":`true`},[_(`div`,gn,[_(`div`,{class:e([`modal-content notice-modal-content`,lr.value?`notice-success`:`notice-warning`])},[i[13]||=_(`div`,{class:`modal-header border-0 pb-0`},[_(`button`,{type:`button`,class:`btn-close ms-auto`,"data-bs-dismiss":`modal`,"aria-label":`关闭`})],-1),_(`div`,_n,[_(`div`,vn,[lr.value?(h(),g(`svg`,yn,[...i[11]||=[_(`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`,bn,[...i[12]||=[_(`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`,xn,m(sr.value),1),cr.value.trim()?(h(),g(`p`,Sn,m(cr.value),1)):t(``,!0)]),i[14]||=_(`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-dc1267d5`]]),b=ne({__name:`ApplyView`,setup(e){return(e,t)=>(h(),i(Dn))}});export{b as default}; \ No newline at end of file diff --git a/public/admin/assets/ApplyView-Cdiv5f6_.css b/public/admin/assets/ApplyView-Cdiv5f6_.css deleted file mode 100644 index ad087f7..0000000 --- a/public/admin/assets/ApplyView-Cdiv5f6_.css +++ /dev/null @@ -1 +0,0 @@ -.promise-doc-body--rich[data-v-dc1267d5]{color:var(--bs-body-color,#212529);text-align:justify;font-size:.95rem;line-height:1.65}.promise-doc-body--rich[data-v-dc1267d5] p{margin-bottom:.75rem}.promise-doc-body--rich[data-v-dc1267d5] p:last-child{margin-bottom:0}.promise-doc-body--rich[data-v-dc1267d5] ul,.promise-doc-body--rich[data-v-dc1267d5] ol{margin-bottom:.75rem;padding-left:1.25rem}.promise-doc-body--rich[data-v-dc1267d5] h1,.promise-doc-body--rich[data-v-dc1267d5] h2,.promise-doc-body--rich[data-v-dc1267d5] h3{margin:.75rem 0 .5rem;font-size:1rem;font-weight:600} diff --git a/public/admin/assets/ApplyView-Du3WuhCV.css b/public/admin/assets/ApplyView-Du3WuhCV.css new file mode 100644 index 0000000..982909e --- /dev/null +++ b/public/admin/assets/ApplyView-Du3WuhCV.css @@ -0,0 +1 @@ +.promise-doc-body--rich[data-v-dc56f4fc]{color:var(--bs-body-color,#212529);text-align:justify;font-size:.95rem;line-height:1.65}.promise-doc-body--rich[data-v-dc56f4fc] p{margin-bottom:.75rem}.promise-doc-body--rich[data-v-dc56f4fc] p:last-child{margin-bottom:0}.promise-doc-body--rich[data-v-dc56f4fc] ul,.promise-doc-body--rich[data-v-dc56f4fc] ol{margin-bottom:.75rem;padding-left:1.25rem}.promise-doc-body--rich[data-v-dc56f4fc] h1,.promise-doc-body--rich[data-v-dc56f4fc] h2,.promise-doc-body--rich[data-v-dc56f4fc] h3{margin:.75rem 0 .5rem;font-size:1rem;font-weight:600} diff --git a/public/admin/assets/CompetitionFormView-BDMYIDNU.js b/public/admin/assets/CompetitionFormView-B_UgdpfD.js similarity index 99% rename from public/admin/assets/CompetitionFormView-BDMYIDNU.js rename to public/admin/assets/CompetitionFormView-B_UgdpfD.js index 8a20781..9a7c3fa 100644 --- a/public/admin/assets/CompetitionFormView-BDMYIDNU.js +++ b/public/admin/assets/CompetitionFormView-B_UgdpfD.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 A,at as j,b as M,bt as ee,cn as te,ct as ne,g as re,i as ie,in as ae,jt as oe,k as se,kt as N,ln as ce,nn as le,nt as ue,o as de,on as fe,ot as pe,q as me,qt as he,rn as ge,sn as _e,st as P,un as ve,w as ye,x as F,xt as be}from"./vue.runtime.esm-bundler-6_koQ1g6.js";import{u as xe}from"./api-DouN6RcT.js";import{C as Se,E as I,O as Ce,T as we,a as Te,c as Ee,h as De,p as Oe,r as ke,w as Ae,y as je}from"./index-CRGTFVkR.js";import{t as Me}from"./_plugin-vue_export-helper-S3RvzygF.js";import{c as Ne,i as Pe,l as Fe,n as Ie,o as Le,r as Re,s as ze,t as Be}from"./competitions-BEygMXF9.js";import{t as Ve}from"./adminCompetition-CvIvFQuM.js";import{n as He,r as Ue,t as We}from"./competitionBranding-BQASm1w0.js";async function Ge(e,t){if(xe())return De(e,t);let{data:n}=await ke.get(`/competitions/${e}/form-schemas`,{params:t?{purpose:t}:{}});return n.data??[]}async function Ke(e,t){if(xe())return Oe(e,t);let{data:n}=await ke.get(`/competitions/${e}/form-schemas/${t}`),r=n?.data??n;if(!r||typeof r!=`object`||!(`id`in r))throw Error(`表单详情无效`);return r}async function qe(e,t){if(xe())return Te(e,t);let{data:n}=await ke.post(`/competitions/${e}/form-schemas`,t);return n}async function Je(e,t,n){if(xe())return je(e,t,n);let{data:r}=await ke.patch(`/competitions/${e}/form-schemas/${t}`,n);return r}async function Ye(e,t){if(xe()){Ee(e,t);return}await ke.delete(`/competitions/${e}/form-schemas/${t}`)}function Xe(e){Object.getOwnPropertySymbols(e).forEach(t=>{Zr[t]=e[t]})}function Ze(e,t=``){return{type:0,source:t,children:e,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:[],temps:0,codegenNode:void 0,loc:ni}}function Qe(e,t,n,r,i,a,o,s=!1,c=!1,l=!1,u=ni){return e&&(s?(e.helper(_r),e.helper(gt(e.inSSR,l))):e.helper(ht(e.inSSR,l)),o&&e.helper(kr)),{type:13,tag:t,props:n,children:r,patchFlag:i,dynamicProps:a,directives:o,isBlock:s,disableTracking:c,isComponent:l,loc:u}}function $e(e,t=ni){return{type:17,loc:t,elements:e}}function et(e,t=ni){return{type:15,loc:t,properties:e}}function tt(e,t){return{type:16,loc:ni,key:E(e)?nt(e,!0):e,value:t}}function nt(e,t=!1,n=ni,r=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:r}}function rt(e,t){return{type:5,loc:t,content:E(e)?nt(e,!1,t):e}}function it(e,t=ni){return{type:8,loc:t,children:e}}function at(e,t=[],n=ni){return{type:14,loc:n,callee:e,arguments:t}}function ot(e,t=void 0,n=!1,r=!1,i=ni){return{type:18,params:e,returns:t,newline:n,isSlot:r,loc:i}}function st(e,t,n,r=!0){return{type:19,test:e,consequent:t,alternate:n,newline:r,loc:ni}}function ct(e,t,n=!1,r=!1){return{type:20,index:e,value:t,needPauseTracking:n,inVOnce:r,needArraySpread:!1,loc:ni}}function lt(e){return{type:21,body:e,loc:ni}}function ut(e){return{type:22,elements:e,loc:ni}}function dt(e,t,n){return{type:23,test:e,consequent:t,alternate:n,loc:ni}}function ft(e,t){return{type:24,left:e,right:t,loc:ni}}function pt(e){return{type:25,expressions:e,loc:ni}}function mt(e){return{type:26,returns:e,loc:ni}}function ht(e,t){return e||t?br:xr}function gt(e,t){return e||t?vr:yr}function _t(e,{helper:t,removeHelper:n,inSSR:r}){e.isBlock||(e.isBlock=!0,n(ht(r,e.isComponent)),t(_r),t(gt(r,e.isComponent)))}function vt(e){return e>=97&&e<=122||e>=65&&e<=90}function yt(e){return e===32||e===10||e===9||e===12||e===13}function bt(e){return e===47||e===62||yt(e)}function xt(e){let t=new Uint8Array(e.length);for(let n=0;n1){var h=xo(vc),g=To(vc,`:not(.`+this.options.selectedClass+`)`);if(!hc&&l.animation&&(vc.thisAnimationDuration=null),c.captureAnimationState(),!hc&&(l.animation&&(vc.fromRect=h,dc.forEach(function(e){if(e.thisAnimationDuration=null,e!==vc){var t=gc?xo(e):h;e.fromRect=t,c.addAnimationState({target:e,rect:t})}})),Ko(),dc.forEach(function(e){u[g]?r.insertBefore(e,u[g]):r.appendChild(e),g++}),o===To(vc))){var _=!1;dc.forEach(function(e){if(e.sortableIndex!==To(e)){_=!0;return}}),_&&a(`update`)}dc.forEach(function(e){No(e)}),c.animateAll()}mc=c}(n===r||s&&s.lastPutMode!==`clone`)&&fc.forEach(function(e){e.parentNode&&e.parentNode.removeChild(e)})}},nullingGlobal:function(){this.isMultiDrag=_c=!1,fc.length=0},destroyGlobal:function(){this._deselectMultiDrag(),mo(document,`pointerup`,this._deselectMultiDrag),mo(document,`mouseup`,this._deselectMultiDrag),mo(document,`touchend`,this._deselectMultiDrag),mo(document,`keydown`,this._checkKeyDown),mo(document,`keyup`,this._checkKeyUp)},_deselectMultiDrag:function(e){if(!(_c!==void 0&&_c)&&mc===this.sortable&&!(e&&go(e.target,this.options.draggable,this.sortable.el,!1))&&!(e&&e.button!==0))for(;dc.length;){var t=dc[0];_o(t,this.options.selectedClass,!1),dc.shift(),Po({sortable:this.sortable,rootEl:this.sortable.el,name:`deselect`,targetEl:t,originalEvt:e})}},_checkKeyDown:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(e){e.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},co(e,{pluginName:`multiDrag`,utils:{select:function(e){var t=e.parentNode[rs];!t||!t.options.multiDrag||~dc.indexOf(e)||(mc&&mc!==t&&(mc.multiDrag._deselectMultiDrag(),mc=t),_o(e,t.options.selectedClass,!0),dc.push(e))},deselect:function(e){var t=e.parentNode[rs],n=dc.indexOf(e);!t||!t.options.multiDrag||!~n||(_o(e,t.options.selectedClass,!1),dc.splice(n,1))}},eventProperties:function(){var e=this,t=[],n=[];return dc.forEach(function(r){t.push({multiDragElement:r,index:r.sortableIndex});var i=gc&&r!==vc?-1:gc?To(r,`:not(.`+e.options.selectedClass+`)`):To(r);n.push({multiDragElement:r,index:i})}),{items:Nee(dc),clones:[].concat(fc),oldIndicies:t,newIndicies:n}},optionListeners:{multiDragKey:function(e){return e=e.toLowerCase(),e===`ctrl`?e=`Control`:e.length>1&&(e=e.charAt(0).toUpperCase()+e.substr(1)),e}}})}function rte(e,t){dc.forEach(function(n,r){var i=t.children[n.sortableIndex+(e?Number(r):0)];i?t.insertBefore(n,i):t.appendChild(n)})}function Go(e,t){fc.forEach(function(n,r){var i=t.children[n.sortableIndex+(e?Number(r):0)];i?t.insertBefore(n,i):t.appendChild(n)})}function Ko(){dc.forEach(function(e){e!==vc&&e.parentNode&&e.parentNode.removeChild(e)})}var qo,Jo,Yo,Xo,Zo,Qo,$o,es,ts,ns,rs,is,as,os,ss,cs,R,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es,Ds,Os,ks,As,js,Ms,Ns,Ps,Fs,Is,Ls,Rs,zs,Bs,Vs,Hs,Us,Ws,Gs,Ks,qs,Js,Ys,Xs,Zs,Qs,$s,ec,tc,nc,rc,ic,ac,oc,sc,cc,lc,uc,dc,fc,pc,mc,hc,gc,_c,vc,yc,bc,xc=_e((()=>{qo=`1.14.0`,Jo=fo(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Yo=fo(/Edge/i),Xo=fo(/firefox/i),Zo=fo(/safari/i)&&!fo(/chrome/i)&&!fo(/android/i),Qo=fo(/iP(ad|od|hone)/i),$o=fo(/chrome/i)&&fo(/android/i),es={capture:!1,passive:!1},ts=/\s+/g,rs=`Sortable`+new Date().getTime(),is=[],as={initializeByDefault:!0},os={mount:function(e){for(var t in as)as.hasOwnProperty(t)&&!(t in e)&&(e[t]=as[t]);is.forEach(function(t){if(t.pluginName===e.pluginName)throw`Sortable: Cannot mount plugin ${e.pluginName} more than once`}),is.push(e)},pluginEvent:function(e,t,n){var r=this;this.eventCanceled=!1,n.cancel=function(){r.eventCanceled=!0};var i=e+`Global`;is.forEach(function(r){t[r.pluginName]&&(t[r.pluginName][i]&&t[r.pluginName][i](ao({sortable:t},n)),t.options[r.pluginName]&&t[r.pluginName][e]&&t[r.pluginName][e](ao({sortable:t},n)))})},initializePlugins:function(e,t,n,r){for(var i in is.forEach(function(r){var i=r.pluginName;if(!(!e.options[i]&&!r.initializeByDefault)){var a=new r(e,t,e.options);a.sortable=e,a.options=e.options,e[i]=a,co(n,a.defaults)}}),e.options)if(e.options.hasOwnProperty(i)){var a=this.modifyOption(e,i,e.options[i]);a!==void 0&&(e.options[i]=a)}},getEventProperties:function(e,t){var n={};return is.forEach(function(r){typeof r.eventProperties==`function`&&co(n,r.eventProperties.call(t[r.pluginName],e))}),n},modifyOption:function(e,t,n){var r;return is.forEach(function(i){e[i.pluginName]&&i.optionListeners&&typeof i.optionListeners[t]==`function`&&(r=i.optionListeners[t].call(e[i.pluginName],n))}),r}},ss=[`evt`],cs=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.evt,i=Mee(n,ss);os.pluginEvent.bind(Io)(e,t,ao({dragEl:R,parentEl:ls,ghostEl:us,rootEl:ds,nextEl:fs,lastDownEl:ps,cloneEl:ms,cloneHidden:hs,dragStarted:js,putSortable:xs,activeSortable:Io.active,originalEvent:r,oldIndex:gs,oldDraggableIndex:vs,newIndex:_s,newDraggableIndex:ys,hideGhostForTarget:Xs,unhideGhostForTarget:Zs,cloneNowHidden:function(){hs=!0},cloneNowShown:function(){hs=!1},dispatchSortableEvent:function(e){Fo({sortable:t,name:e,originalEvent:r})}},i))},Ss=!1,Cs=!1,ws=[],Ps=!1,Fs=!1,Rs=[],zs=!1,Bs=[],Vs=typeof document<`u`,Hs=Qo,Us=Yo||Jo?`cssFloat`:`float`,Ws=Vs&&!$o&&!Qo&&`draggable`in document.createElement(`div`),Gs=function(){if(Vs){if(Jo)return!1;var e=document.createElement(`x`);return e.style.cssText=`pointer-events:auto`,e.style.pointerEvents===`auto`}}(),Ks=function(e,t){var n=L(e),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=Co(e,0,t),a=Co(e,1,t),o=i&&L(i),s=a&&L(a),c=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+xo(i).width,l=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+xo(a).width;if(n.display===`flex`)return n.flexDirection===`column`||n.flexDirection===`column-reverse`?`vertical`:`horizontal`;if(n.display===`grid`)return n.gridTemplateColumns.split(` `).length<=1?`vertical`:`horizontal`;if(i&&o.float&&o.float!==`none`){var u=o.float===`left`?`left`:`right`;return a&&(s.clear===`both`||s.clear===u)?`vertical`:`horizontal`}return i&&(o.display===`block`||o.display===`flex`||o.display===`table`||o.display===`grid`||c>=r&&n[Us]===`none`||a&&n[Us]===`none`&&c+l>r)?`vertical`:`horizontal`},qs=function(e,t,n){var r=n?e.left:e.top,i=n?e.right:e.bottom,a=n?e.width:e.height,o=n?t.left:t.top,s=n?t.right:t.bottom,c=n?t.width:t.height;return r===o||i===s||r+a/2===o+c/2},Js=function(e,t){var n;return ws.some(function(r){var i=r[rs].options.emptyInsertThreshold;if(!(!i||wo(r))){var a=xo(r),o=e>=a.left-i&&e<=a.right+i,s=t>=a.top-i&&t<=a.bottom+i;if(o&&s)return n=r}}),n},Ys=function(e){function t(e,n){return function(r,i,a,o){var s=r.options.group.name&&i.options.group.name&&r.options.group.name===i.options.group.name;if(e==null&&(n||s))return!0;if(e==null||e===!1)return!1;if(n&&e===`clone`)return e;if(typeof e==`function`)return t(e(r,i,a,o),n)(r,i,a,o);var c=(n?r:i).options.group.name;return e===!0||typeof e==`string`&&e===c||e.join&&e.indexOf(c)>-1}}var n={},r=e.group;(!r||oo(r)!=`object`)&&(r={name:r}),n.name=r.name,n.checkPull=t(r.pull,!0),n.checkPut=t(r.put),n.revertClone=r.revertClone,e.group=n},Xs=function(){!Gs&&us&&L(us,`display`,`none`)},Zs=function(){!Gs&&us&&L(us,`display`,``)},Vs&&document.addEventListener(`click`,function(e){if(Cs)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),Cs=!1,!1},!0),Qs=function(e){if(R){e=e.touches?e.touches[0]:e;var t=Js(e.clientX,e.clientY);if(t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[rs]._onDragOver(n)}}},$s=function(e){R&&R.parentNode[rs]._isOutsideThisEl(e.target)},Io.prototype={constructor:Io,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(Ms=null)},_getDirection:function(e,t){return typeof this.options.direction==`function`?this.options.direction.call(this,e,t,R):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,r=this.options,i=r.preventOnFilter,a=e.type,o=e.touches&&e.touches[0]||e.pointerType&&e.pointerType===`touch`&&e,s=(o||e).target,c=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||s,l=r.filter;if(Qee(n),!R&&!(/mousedown|pointerdown/.test(a)&&e.button!==0||r.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&Zo&&s&&s.tagName.toUpperCase()===`SELECT`)&&(s=go(s,r.draggable,n,!1),!(s&&s.animated)&&ps!==s)){if(gs=To(s),vs=To(s,r.draggable),typeof l==`function`){if(l.call(this,e,s,this)){Fo({sortable:t,rootEl:c,name:`filter`,targetEl:s,toEl:n,fromEl:n}),cs(`filter`,t,{evt:e}),i&&e.cancelable&&e.preventDefault();return}}else if(l&&(l=l.split(`,`).some(function(r){if(r=go(c,r.trim(),n,!1),r)return Fo({sortable:t,rootEl:r,name:`filter`,targetEl:s,fromEl:n,toEl:n}),cs(`filter`,t,{evt:e}),!0}),l)){i&&e.cancelable&&e.preventDefault();return}r.handle&&!go(c,r.handle,n,!1)||this._prepareDragStart(e,o,s)}}},_prepareDragStart:function(e,t,n){var r=this,i=r.el,a=r.options,o=i.ownerDocument,s;if(n&&!R&&n.parentNode===i){var c=xo(n);if(ds=i,R=n,ls=R.parentNode,fs=R.nextSibling,ps=n,bs=a.group,Io.dragged=R,Ts={target:R,clientX:(t||e).clientX,clientY:(t||e).clientY},ks=Ts.clientX-c.left,As=Ts.clientY-c.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,R.style[`will-change`]=`all`,s=function(){if(cs(`delayEnded`,r,{evt:e}),Io.eventCanceled){r._onDrop();return}r._disableDelayedDragEvents(),!Xo&&r.nativeDraggable&&(R.draggable=!0),r._triggerDragStart(e,t),Fo({sortable:r,name:`choose`,originalEvent:e}),_o(R,a.chosenClass,!0)},a.ignore.split(`,`).forEach(function(e){yo(R,e.trim(),Ro)}),po(o,`dragover`,Qs),po(o,`mousemove`,Qs),po(o,`touchmove`,Qs),po(o,`mouseup`,r._onDrop),po(o,`touchend`,r._onDrop),po(o,`touchcancel`,r._onDrop),Xo&&this.nativeDraggable&&(this.options.touchStartThreshold=4,R.draggable=!0),cs(`delayStart`,this,{evt:e}),a.delay&&(!a.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(Yo||Jo))){if(Io.eventCanceled){this._onDrop();return}po(o,`mouseup`,r._disableDelayedDrag),po(o,`touchend`,r._disableDelayedDrag),po(o,`touchcancel`,r._disableDelayedDrag),po(o,`mousemove`,r._delayedDragTouchMoveHandler),po(o,`touchmove`,r._delayedDragTouchMoveHandler),a.supportPointer&&po(o,`pointermove`,r._delayedDragTouchMoveHandler),r._dragStartTimer=setTimeout(s,a.delay)}else s()}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){R&&Ro(R),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;mo(e,`mouseup`,this._disableDelayedDrag),mo(e,`touchend`,this._disableDelayedDrag),mo(e,`touchcancel`,this._disableDelayedDrag),mo(e,`mousemove`,this._delayedDragTouchMoveHandler),mo(e,`touchmove`,this._delayedDragTouchMoveHandler),mo(e,`pointermove`,this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t||=e.pointerType==`touch`&&e,!this.nativeDraggable||t?this.options.supportPointer?po(document,`pointermove`,this._onTouchMove):t?po(document,`touchmove`,this._onTouchMove):po(document,`mousemove`,this._onTouchMove):(po(R,`dragend`,this),po(ds,`dragstart`,this._onDragStart));try{document.selection?zo(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(Ss=!1,ds&&R){cs(`dragStarted`,this,{evt:t}),this.nativeDraggable&&po(document,`dragover`,$s);var n=this.options;!e&&_o(R,n.dragClass,!1),_o(R,n.ghostClass,!0),Io.active=this,e&&this._appendGhost(),Fo({sortable:this,name:`start`,originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(Es){this._lastX=Es.clientX,this._lastY=Es.clientY,Xs();for(var e=document.elementFromPoint(Es.clientX,Es.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(Es.clientX,Es.clientY),e!==t);)t=e;if(R.parentNode[rs]._isOutsideThisEl(e),t)do{if(t[rs]){var n=void 0;if(n=t[rs]._onDragOver({clientX:Es.clientX,clientY:Es.clientY,target:e,rootEl:t}),n&&!this.options.dragoverBubble)break}e=t}while(t=t.parentNode);Zs()}},_onTouchMove:function(e){if(Ts){var t=this.options,n=t.fallbackTolerance,r=t.fallbackOffset,i=e.touches?e.touches[0]:e,a=us&&vo(us,!0),o=us&&a&&a.a,s=us&&a&&a.d,c=Hs&&Ls&&Eo(Ls),l=(i.clientX-Ts.clientX+r.x)/(o||1)+(c?c[0]-Rs[0]:0)/(o||1),u=(i.clientY-Ts.clientY+r.y)/(s||1)+(c?c[1]-Rs[1]:0)/(s||1);if(!Io.active&&!Ss){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))