master
parent
938310e573
commit
c3a8f7c4c1
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('study_tours', function (Blueprint $table) {
|
||||
$table->string('cover_image', 255)->nullable()->after('venue_ids');
|
||||
$table->json('gallery_media')->nullable()->after('cover_image');
|
||||
});
|
||||
}
|
||||
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('study_tours', function (Blueprint $table) {
|
||||
$table->dropColumn(['cover_image', 'gallery_media']);
|
||||
});
|
||||
}
|
||||
};
|
||||
@ -1 +1 @@
|
||||
.cover-preview[data-v-47f03da7]{object-fit:cover;cursor:zoom-in;border:1px solid #e5e6eb;border-radius:4px;width:240px;height:140px}
|
||||
.cover-preview[data-v-e062fcf2]{object-fit:cover;cursor:zoom-in;border:1px solid #e5e6eb;border-radius:4px;width:240px;height:140px}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-0iDIbJ_3.js";var i=n({__name:`Alerts`,setup(n){return(n,i)=>(e(),t(r,{title:`客流监控 / 异常告警`}))}});export{i as default};
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-NUaa9K4l.js";var i=n({__name:`Alerts`,setup(n){return(n,i)=>(e(),t(r,{title:`客流监控 / 异常告警`}))}});export{i as default};
|
||||
@ -1 +1 @@
|
||||
import{n as e}from"./axios-CiYFffbI.js";import{I as t,N as n,V as r,Y as i,_ as a,d as o,it as s,kt as c,nt as l,ut as u,v as d,y as f}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{n as p}from"./index-BbRh5og5.js";import{t as m}from"./datetime-3T8f3S0H.js";import{t as h}from"./listTable-Djel28e5.js";var g=f({__name:`AuditLogs`,setup(f){let g=s(!1),_=s([]),v=l({current:1,pageSize:20,total:0}),y=l({keyword:``,method:`all`,status_code:void 0,dateRange:[]});async function b(){g.value=!0;try{let{data:e}=await p.get(`/audit-logs`,{params:{keyword:y.keyword||void 0,method:y.method,status_code:y.status_code||void 0,start_date:y.dateRange?.[0]||void 0,end_date:y.dateRange?.[1]||void 0,page:v.current,page_size:v.pageSize}});_.value=e.data,v.total=e.total}catch(t){e.error(t?.response?.data?.message??`加载操作日志失败`)}finally{g.value=!1}}function x(){v.current=1,b()}function S(e){v.current=e,b()}function C(e){return e===`super_admin`?`超级管理员`:e===`venue_admin`?`场馆管理员`:`-`}return n(b),(e,n)=>{let s=r(`a-input`),l=r(`a-option`),f=r(`a-select`),p=r(`a-input-number`),w=r(`a-range-picker`),T=r(`a-button`),E=r(`a-space`),D=r(`a-table-column`),O=r(`a-typography-paragraph`),k=r(`a-table`),A=r(`a-card`);return t(),o(A,{title:`用户与权限 / 操作日志`},{default:i(()=>[d(E,{wrap:``,size:12,style:{"margin-bottom":`12px`}},{default:i(()=>[d(s,{modelValue:y.keyword,"onUpdate:modelValue":n[0]||=e=>y.keyword=e,placeholder:`操作人/路径/动作`,"allow-clear":``,style:{width:`240px`}},null,8,[`modelValue`]),d(f,{modelValue:y.method,"onUpdate:modelValue":n[1]||=e=>y.method=e,style:{width:`120px`}},{default:i(()=>[d(l,{value:`all`},{default:i(()=>[...n[4]||=[a(`全部方法`,-1)]]),_:1}),d(l,{value:`POST`},{default:i(()=>[...n[5]||=[a(`POST`,-1)]]),_:1}),d(l,{value:`PUT`},{default:i(()=>[...n[6]||=[a(`PUT`,-1)]]),_:1}),d(l,{value:`PATCH`},{default:i(()=>[...n[7]||=[a(`PATCH`,-1)]]),_:1}),d(l,{value:`DELETE`},{default:i(()=>[...n[8]||=[a(`DELETE`,-1)]]),_:1})]),_:1},8,[`modelValue`]),d(p,{modelValue:y.status_code,"onUpdate:modelValue":n[2]||=e=>y.status_code=e,min:100,max:599,placeholder:`状态码`,style:{width:`120px`}},null,8,[`modelValue`]),d(w,{modelValue:y.dateRange,"onUpdate:modelValue":n[3]||=e=>y.dateRange=e,style:{width:`260px`}},null,8,[`modelValue`]),d(T,{type:`primary`,onClick:x},{default:i(()=>[...n[9]||=[a(`查询`,-1)]]),_:1}),d(T,{onClick:b},{default:i(()=>[...n[10]||=[a(`刷新`,-1)]]),_:1})]),_:1}),d(k,{class:`list-data-table`,scroll:{x:u(h)},data:_.value,loading:g.value,"row-key":`id`,pagination:{current:v.current,pageSize:v.pageSize,total:v.total,showTotal:!0},onPageChange:S},{columns:i(()=>[d(D,{title:`ID`,"data-index":`id`,width:88}),d(D,{title:`操作人`,"data-index":`username`,width:140,ellipsis:!0,tooltip:!0}),d(D,{title:`角色`,width:120},{cell:i(({record:e})=>[a(c(C(e.role)),1)]),_:1}),d(D,{title:`方法`,"data-index":`method`,width:90}),d(D,{title:`路径`,"data-index":`path`,width:260,ellipsis:!0,tooltip:!0}),d(D,{title:`动作`,"data-index":`action`,width:220,ellipsis:!0,tooltip:!0}),d(D,{title:`状态码`,"data-index":`status_code`,width:100}),d(D,{title:`IP`,"data-index":`ip`,width:140,ellipsis:!0,tooltip:!0}),d(D,{title:`时间`,width:190},{cell:i(({record:e})=>[a(c(u(m)(e.created_at)),1)]),_:1}),d(D,{title:`请求参数`,"min-width":260},{cell:i(({record:e})=>[d(O,{ellipsis:{rows:2}},{default:i(()=>[a(c(e.request_payload?JSON.stringify(e.request_payload):`-`),1)]),_:2},1024)]),_:1})]),_:1},8,[`scroll`,`data`,`loading`,`pagination`])]),_:1})}}});export{g as default};
|
||||
import{n as e}from"./axios-CiYFffbI.js";import{I as t,N as n,V as r,Y as i,_ as a,d as o,it as s,kt as c,nt as l,ut as u,v as d,y as f}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{n as p}from"./index-DeKOCEHV.js";import{t as m}from"./datetime-3T8f3S0H.js";import{t as h}from"./listTable-CVMJfkhr.js";var g=f({__name:`AuditLogs`,setup(f){let g=s(!1),_=s([]),v=l({current:1,pageSize:20,total:0}),y=l({keyword:``,method:`all`,status_code:void 0,dateRange:[]});async function b(){g.value=!0;try{let{data:e}=await p.get(`/audit-logs`,{params:{keyword:y.keyword||void 0,method:y.method,status_code:y.status_code||void 0,start_date:y.dateRange?.[0]||void 0,end_date:y.dateRange?.[1]||void 0,page:v.current,page_size:v.pageSize}});_.value=e.data,v.total=e.total}catch(t){e.error(t?.response?.data?.message??`加载操作日志失败`)}finally{g.value=!1}}function x(){v.current=1,b()}function S(e){v.current=e,b()}function C(e){return e===`super_admin`?`超级管理员`:e===`venue_admin`?`场馆管理员`:`-`}return n(b),(e,n)=>{let s=r(`a-input`),l=r(`a-option`),f=r(`a-select`),p=r(`a-input-number`),w=r(`a-range-picker`),T=r(`a-button`),E=r(`a-space`),D=r(`a-table-column`),O=r(`a-typography-paragraph`),k=r(`a-table`),A=r(`a-card`);return t(),o(A,{title:`用户与权限 / 操作日志`},{default:i(()=>[d(E,{wrap:``,size:12,style:{"margin-bottom":`12px`}},{default:i(()=>[d(s,{modelValue:y.keyword,"onUpdate:modelValue":n[0]||=e=>y.keyword=e,placeholder:`操作人/路径/动作`,"allow-clear":``,style:{width:`240px`}},null,8,[`modelValue`]),d(f,{modelValue:y.method,"onUpdate:modelValue":n[1]||=e=>y.method=e,style:{width:`120px`}},{default:i(()=>[d(l,{value:`all`},{default:i(()=>[...n[4]||=[a(`全部方法`,-1)]]),_:1}),d(l,{value:`POST`},{default:i(()=>[...n[5]||=[a(`POST`,-1)]]),_:1}),d(l,{value:`PUT`},{default:i(()=>[...n[6]||=[a(`PUT`,-1)]]),_:1}),d(l,{value:`PATCH`},{default:i(()=>[...n[7]||=[a(`PATCH`,-1)]]),_:1}),d(l,{value:`DELETE`},{default:i(()=>[...n[8]||=[a(`DELETE`,-1)]]),_:1})]),_:1},8,[`modelValue`]),d(p,{modelValue:y.status_code,"onUpdate:modelValue":n[2]||=e=>y.status_code=e,min:100,max:599,placeholder:`状态码`,style:{width:`120px`}},null,8,[`modelValue`]),d(w,{modelValue:y.dateRange,"onUpdate:modelValue":n[3]||=e=>y.dateRange=e,style:{width:`260px`}},null,8,[`modelValue`]),d(T,{type:`primary`,onClick:x},{default:i(()=>[...n[9]||=[a(`查询`,-1)]]),_:1}),d(T,{onClick:b},{default:i(()=>[...n[10]||=[a(`刷新`,-1)]]),_:1})]),_:1}),d(k,{class:`list-data-table`,scroll:{x:u(h)},data:_.value,loading:g.value,"row-key":`id`,pagination:{current:v.current,pageSize:v.pageSize,total:v.total,showTotal:!0},onPageChange:S},{columns:i(()=>[d(D,{title:`ID`,"data-index":`id`,width:88}),d(D,{title:`操作人`,"data-index":`username`,width:140,ellipsis:!0,tooltip:!0}),d(D,{title:`角色`,width:120},{cell:i(({record:e})=>[a(c(C(e.role)),1)]),_:1}),d(D,{title:`方法`,"data-index":`method`,width:90}),d(D,{title:`路径`,"data-index":`path`,width:260,ellipsis:!0,tooltip:!0}),d(D,{title:`动作`,"data-index":`action`,width:220,ellipsis:!0,tooltip:!0}),d(D,{title:`状态码`,"data-index":`status_code`,width:100}),d(D,{title:`IP`,"data-index":`ip`,width:140,ellipsis:!0,tooltip:!0}),d(D,{title:`时间`,width:190},{cell:i(({record:e})=>[a(c(u(m)(e.created_at)),1)]),_:1}),d(D,{title:`请求参数`,"min-width":260},{cell:i(({record:e})=>[d(O,{ellipsis:{rows:2}},{default:i(()=>[a(c(e.request_payload?JSON.stringify(e.request_payload):`-`),1)]),_:2},1024)]),_:1})]),_:1},8,[`scroll`,`data`,`loading`,`pagination`])]),_:1})}}});export{g as default};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-0iDIbJ_3.js";var i=n({__name:`Categories`,setup(n){return(n,i)=>(e(),t(r,{title:`数据统计 / 类别分析`}))}});export{i as default};
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-NUaa9K4l.js";var i=n({__name:`Categories`,setup(n){return(n,i)=>(e(),t(r,{title:`数据统计 / 类别分析`}))}});export{i as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-0iDIbJ_3.js";var i=n({__name:`Exports`,setup(n){return(n,i)=>(e(),t(r,{title:`数据统计 / 报表导出`,desc:`后续接入按时间/区域/类别筛选与 Excel 导出下载。`}))}});export{i as default};
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-NUaa9K4l.js";var i=n({__name:`Exports`,setup(n){return(n,i)=>(e(),t(r,{title:`数据统计 / 报表导出`,desc:`后续接入按时间/区域/类别筛选与 Excel 导出下载。`}))}});export{i as default};
|
||||
@ -1 +1 @@
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-0iDIbJ_3.js";var i=n({__name:`Leaderboard`,setup(n){return(n,i)=>(e(),t(r,{title:`客流监控 / 活跃指数排行榜`}))}});export{i as default};
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-NUaa9K4l.js";var i=n({__name:`Leaderboard`,setup(n){return(n,i)=>(e(),t(r,{title:`客流监控 / 活跃指数排行榜`}))}});export{i as default};
|
||||
@ -1 +1 @@
|
||||
import{n as e}from"./axios-CiYFffbI.js";import{I as t,V as n,Y as r,_ as i,it as a,nt as o,p as s,v as c,y as l}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{i as u,n as d,t as f}from"./index-BbRh5og5.js";var p={style:{height:`100vh`,display:`grid`,"place-items":`center`,background:`var(--color-fill-2)`}},m=l({__name:`Login`,setup(l){let m=u(),h=a(!1),g=o({username:`admin`,password:`admin123456`});async function _(){h.value=!0;try{let{data:t}=await d.post(`/auth/login`,g);localStorage.setItem(f,t.token),e.success(`登录成功`),m.replace(`/dashboard`)}catch(t){e.error(t?.response?.data?.message??`登录失败`)}finally{h.value=!1}}return(e,a)=>{let o=n(`a-input`),l=n(`a-form-item`),u=n(`a-input-password`),d=n(`a-button`),f=n(`a-form`),m=n(`a-card`);return t(),s(`div`,p,[c(m,{title:`苏科普管理后台登录`,style:{width:`380px`}},{default:r(()=>[c(f,{model:g,layout:`vertical`,onSubmitSuccess:_},{default:r(()=>[c(l,{field:`username`,label:`用户名`},{default:r(()=>[c(o,{modelValue:g.username,"onUpdate:modelValue":a[0]||=e=>g.username=e,placeholder:`请输入用户名`},null,8,[`modelValue`])]),_:1}),c(l,{field:`password`,label:`密码`},{default:r(()=>[c(u,{modelValue:g.password,"onUpdate:modelValue":a[1]||=e=>g.password=e,placeholder:`请输入密码`},null,8,[`modelValue`])]),_:1}),c(d,{type:`primary`,long:``,loading:h.value,onClick:_},{default:r(()=>[...a[2]||=[i(`登录`,-1)]]),_:1},8,[`loading`])]),_:1},8,[`model`])]),_:1})])}}});export{m as default};
|
||||
import{n as e}from"./axios-CiYFffbI.js";import{I as t,V as n,Y as r,_ as i,it as a,nt as o,p as s,v as c,y as l}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{i as u,n as d,t as f}from"./index-DeKOCEHV.js";var p={style:{height:`100vh`,display:`grid`,"place-items":`center`,background:`var(--color-fill-2)`}},m=l({__name:`Login`,setup(l){let m=u(),h=a(!1),g=o({username:`admin`,password:`admin123456`});async function _(){h.value=!0;try{let{data:t}=await d.post(`/auth/login`,g);localStorage.setItem(f,t.token),e.success(`登录成功`),m.replace(`/dashboard`)}catch(t){e.error(t?.response?.data?.message??`登录失败`)}finally{h.value=!1}}return(e,a)=>{let o=n(`a-input`),l=n(`a-form-item`),u=n(`a-input-password`),d=n(`a-button`),f=n(`a-form`),m=n(`a-card`);return t(),s(`div`,p,[c(m,{title:`苏科普管理后台登录`,style:{width:`380px`}},{default:r(()=>[c(f,{model:g,layout:`vertical`,onSubmitSuccess:_},{default:r(()=>[c(l,{field:`username`,label:`用户名`},{default:r(()=>[c(o,{modelValue:g.username,"onUpdate:modelValue":a[0]||=e=>g.username=e,placeholder:`请输入用户名`},null,8,[`modelValue`])]),_:1}),c(l,{field:`password`,label:`密码`},{default:r(()=>[c(u,{modelValue:g.password,"onUpdate:modelValue":a[1]||=e=>g.password=e,placeholder:`请输入密码`},null,8,[`modelValue`])]),_:1}),c(d,{type:`primary`,long:``,loading:h.value,onClick:_},{default:r(()=>[...a[2]||=[i(`登录`,-1)]]),_:1},8,[`loading`])]),_:1},8,[`model`])]),_:1})])}}});export{m as default};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-0iDIbJ_3.js";var i=n({__name:`Monitor`,setup(n){return(n,i)=>(e(),t(r,{title:`客流监控 / 实时客流监控`,desc:`后续接入 50 个重点场馆实时客流数据源。`}))}});export{i as default};
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-NUaa9K4l.js";var i=n({__name:`Monitor`,setup(n){return(n,i)=>(e(),t(r,{title:`客流监控 / 实时客流监控`,desc:`后续接入 50 个重点场馆实时客流数据源。`}))}});export{i as default};
|
||||
@ -1 +1 @@
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-0iDIbJ_3.js";var i=n({__name:`Notifications`,setup(n){return(n,i)=>(e(),t(r,{title:`系统设置 / 消息通知`}))}});export{i as default};
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-NUaa9K4l.js";var i=n({__name:`Notifications`,setup(n){return(n,i)=>(e(),t(r,{title:`系统设置 / 消息通知`}))}});export{i as default};
|
||||
@ -1 +1 @@
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-0iDIbJ_3.js";var i=n({__name:`Overview`,setup(n){return(n,i)=>(e(),t(r,{title:`数据统计 / 综合统计`}))}});export{i as default};
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-NUaa9K4l.js";var i=n({__name:`Overview`,setup(n){return(n,i)=>(e(),t(r,{title:`数据统计 / 综合统计`}))}});export{i as default};
|
||||
@ -1 +1 @@
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-0iDIbJ_3.js";var i=n({__name:`Regions`,setup(n){return(n,i)=>(e(),t(r,{title:`数据统计 / 区域分析`}))}});export{i as default};
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-NUaa9K4l.js";var i=n({__name:`Regions`,setup(n){return(n,i)=>(e(),t(r,{title:`数据统计 / 区域分析`}))}});export{i as default};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
import{it as e,n as t}from"./axios-CiYFffbI.js";import{E as n,G as r,I as i,V as a,Y as o,_ as s,d as c,it as l,kt as u,l as d,p as f,ut as p,v as m,y as h}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{o as g}from"./index-BbRh5og5.js";import{t as _}from"./vue-quill.snow-BT2oa_xL.js";function v(e){let t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}}function y(e){if(!e?.trim())return``;if(typeof document>`u`)return e;let t=document.createElement(`div`);t.innerHTML=e,t.querySelectorAll(`*`).forEach(e=>{e.removeAttribute(`style`),e.removeAttribute(`class`)}),t.querySelectorAll(`font`).forEach(e=>v(e));let n=0;for(;n<5;){let e=t.querySelectorAll(`span`),r=!1;if(e.forEach(e=>{e.attributes.length===0&&(v(e),r=!0)}),!r)break;n++}return t.innerHTML}var b={class:`rich-editor-field`},x=g(h({__name:`RichEditorField`,props:n({editorOptions:{},fieldKey:{},minHeight:{default:180}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(n){e(e=>({f58dc364:v.value}));let h=r(n,`modelValue`),g=n,v=d(()=>`${g.minHeight}px`),x=l(!1),S=l(0),C=l(``);function w(){x.value?(h.value=C.value,S.value+=1,x.value=!1):(C.value=h.value||``,x.value=!0)}function T(){let e=y(h.value||``);h.value=e,C.value=e,S.value+=1,t.success(`已清除样式`)}return(e,t)=>{let r=a(`a-button`),l=a(`a-space`),d=a(`a-textarea`);return i(),f(`div`,b,[m(l,{style:{"margin-bottom":`8px`,"flex-wrap":`wrap`}},{default:o(()=>[m(r,{size:`small`,onClick:w},{default:o(()=>[s(u(x.value?`返回可视化`:`查看源代码`),1)]),_:1}),m(r,{size:`small`,onClick:T},{default:o(()=>[...t[2]||=[s(`一键清除样式`,-1)]]),_:1})]),_:1}),x.value?(i(),c(d,{key:0,modelValue:C.value,"onUpdate:modelValue":t[0]||=e=>C.value=e,"auto-size":{minRows:14,maxRows:32},placeholder:`HTML 源代码`,style:{"font-family":`ui-monospace, monospace`,"font-size":`12px`}},null,8,[`modelValue`])):(i(),c(p(_),{key:`${n.fieldKey}-${S.value}`,content:h.value,"onUpdate:content":t[1]||=e=>h.value=e,"content-type":`html`,theme:`snow`,options:n.editorOptions},null,8,[`content`,`options`]))])}}}),[[`__scopeId`,`data-v-8ed53dd2`]]);export{x as t};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
.rich-editor-field[data-v-8ed53dd2],.rich-editor-field[data-v-8ed53dd2] .ql-toolbar,.rich-editor-field[data-v-8ed53dd2] .ql-container{width:100%}.rich-editor-field[data-v-8ed53dd2] .ql-container{min-height:var(--f58dc364)}.rich-editor-field[data-v-8ed53dd2] .ql-editor{min-height:140px}
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{n as e}from"./axios-CiYFffbI.js";import{I as t,N as n,V as r,Y as i,_ as a,d as o,f as s,i as c,it as l,kt as u,l as d,p as f,v as p,y as m,z as h}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{n as g}from"./index-BbRh5og5.js";var _=m({__name:`Roles`,setup(m){let _=l(!1),v=l(!1),y=l(!1),b=l([]),x=l([]),S=l(`super_admin`),C=l([]),w=d(()=>{let e=new Map;b.value.forEach(t=>e.set(t.id,{key:t.id,title:t.name,children:[]}));let t=[];return b.value.forEach(n=>{let r=e.get(n.id);n.parent_id>0&&e.has(n.parent_id)?e.get(n.parent_id).children.push(r):t.push(r)}),t}),T=d(()=>x.value.find(e=>e.role===S.value));async function E(){let{data:e}=await g.get(`/me`);y.value=e?.role===`super_admin`}async function D(){_.value=!0;try{let{data:e}=await g.get(`/role-menu-permissions`);b.value=e.menus||[],x.value=e.roles||[];let t=x.value[0];t&&(S.value=t.role,C.value=[...t.menu_ids||[]])}catch(t){e.error(t?.response?.data?.message??`加载角色菜单权限失败`)}finally{_.value=!1}}function O(e){S.value=e,C.value=[...x.value.find(t=>t.role===e)?.menu_ids||[]]}function k(e){C.value=e.map(e=>Number(e))}async function A(){if(y.value){v.value=!0;try{await g.put(`/role-menu-permissions/${S.value}`,{menu_ids:C.value});let t=x.value.find(e=>e.role===S.value);t&&(t.menu_ids=[...C.value]),e.success(`角色菜单权限保存成功`)}catch(t){e.error(t?.response?.data?.message??`保存失败`)}finally{v.value=!1}}}return n(async()=>{await E(),await D()}),(e,n)=>{let l=r(`a-alert`),d=r(`a-button`),m=r(`a-space`),g=r(`a-card`),b=r(`a-tree`),E=r(`a-spin`);return t(),o(g,{title:`用户与权限 / 角色管理(菜单权限)`},{default:i(()=>[p(l,{style:{"margin-bottom":`12px`}},{default:i(()=>[...n[0]||=[a(` 当前仅控制“每个角色可查看哪些菜单”;接口级细粒度权限后续可继续扩展。 `,-1)]]),_:1}),y.value?s(``,!0):(t(),o(l,{key:0,type:`info`,style:{"margin-bottom":`12px`}},{default:i(()=>[...n[1]||=[a(` 当前为只读模式,仅超级管理员可以修改角色菜单权限。 `,-1)]]),_:1})),p(E,{loading:_.value},{default:i(()=>[p(m,{align:`start`,fill:``},{default:i(()=>[p(g,{title:`角色列表`,size:`small`,style:{width:`220px`}},{default:i(()=>[p(m,{direction:`vertical`,fill:``},{default:i(()=>[(t(!0),f(c,null,h(x.value,e=>(t(),o(d,{key:e.role,type:S.value===e.role?`primary`:`secondary`,long:``,onClick:t=>O(e.role)},{default:i(()=>[a(u(e.label),1)]),_:2},1032,[`type`,`onClick`]))),128))]),_:1})]),_:1}),p(g,{title:`${T.value?.label||``} - 菜单权限`,size:`small`,style:{flex:`1`}},{extra:i(()=>[p(d,{type:`primary`,disabled:!y.value,loading:v.value,onClick:A},{default:i(()=>[...n[2]||=[a(`保存当前角色`,-1)]]),_:1},8,[`disabled`,`loading`])]),default:i(()=>[p(b,{checkable:``,"block-node":``,data:w.value,"checked-keys":C.value,"default-expand-all":!0,onCheck:k},null,8,[`data`,`checked-keys`])]),_:1},8,[`title`])]),_:1})]),_:1},8,[`loading`])]),_:1})}}});export{_ as default};
|
||||
import{n as e}from"./axios-CiYFffbI.js";import{I as t,N as n,V as r,Y as i,_ as a,d as o,f as s,i as c,it as l,kt as u,l as d,p as f,v as p,y as m,z as h}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{n as g}from"./index-DeKOCEHV.js";var _=m({__name:`Roles`,setup(m){let _=l(!1),v=l(!1),y=l(!1),b=l([]),x=l([]),S=l(`super_admin`),C=l([]),w=d(()=>{let e=new Map;b.value.forEach(t=>e.set(t.id,{key:t.id,title:t.name,children:[]}));let t=[];return b.value.forEach(n=>{let r=e.get(n.id);n.parent_id>0&&e.has(n.parent_id)?e.get(n.parent_id).children.push(r):t.push(r)}),t}),T=d(()=>x.value.find(e=>e.role===S.value));async function E(){let{data:e}=await g.get(`/me`);y.value=e?.role===`super_admin`}async function D(){_.value=!0;try{let{data:e}=await g.get(`/role-menu-permissions`);b.value=e.menus||[],x.value=e.roles||[];let t=x.value[0];t&&(S.value=t.role,C.value=[...t.menu_ids||[]])}catch(t){e.error(t?.response?.data?.message??`加载角色菜单权限失败`)}finally{_.value=!1}}function O(e){S.value=e,C.value=[...x.value.find(t=>t.role===e)?.menu_ids||[]]}function k(e){C.value=e.map(e=>Number(e))}async function A(){if(y.value){v.value=!0;try{await g.put(`/role-menu-permissions/${S.value}`,{menu_ids:C.value});let t=x.value.find(e=>e.role===S.value);t&&(t.menu_ids=[...C.value]),e.success(`角色菜单权限保存成功`)}catch(t){e.error(t?.response?.data?.message??`保存失败`)}finally{v.value=!1}}}return n(async()=>{await E(),await D()}),(e,n)=>{let l=r(`a-alert`),d=r(`a-button`),m=r(`a-space`),g=r(`a-card`),b=r(`a-tree`),E=r(`a-spin`);return t(),o(g,{title:`用户与权限 / 角色管理(菜单权限)`},{default:i(()=>[p(l,{style:{"margin-bottom":`12px`}},{default:i(()=>[...n[0]||=[a(` 当前仅控制“每个角色可查看哪些菜单”;接口级细粒度权限后续可继续扩展。 `,-1)]]),_:1}),y.value?s(``,!0):(t(),o(l,{key:0,type:`info`,style:{"margin-bottom":`12px`}},{default:i(()=>[...n[1]||=[a(` 当前为只读模式,仅超级管理员可以修改角色菜单权限。 `,-1)]]),_:1})),p(E,{loading:_.value},{default:i(()=>[p(m,{align:`start`,fill:``},{default:i(()=>[p(g,{title:`角色列表`,size:`small`,style:{width:`220px`}},{default:i(()=>[p(m,{direction:`vertical`,fill:``},{default:i(()=>[(t(!0),f(c,null,h(x.value,e=>(t(),o(d,{key:e.role,type:S.value===e.role?`primary`:`secondary`,long:``,onClick:t=>O(e.role)},{default:i(()=>[a(u(e.label),1)]),_:2},1032,[`type`,`onClick`]))),128))]),_:1})]),_:1}),p(g,{title:`${T.value?.label||``} - 菜单权限`,size:`small`,style:{flex:`1`}},{extra:i(()=>[p(d,{type:`primary`,disabled:!y.value,loading:v.value,onClick:A},{default:i(()=>[...n[2]||=[a(`保存当前角色`,-1)]]),_:1},8,[`disabled`,`loading`])]),default:i(()=>[p(b,{checkable:``,"block-node":``,data:w.value,"checked-keys":C.value,"default-expand-all":!0,onCheck:k},null,8,[`data`,`checked-keys`])]),_:1},8,[`title`])]),_:1})]),_:1},8,[`loading`])]),_:1})}}});export{_ as default};
|
||||
@ -1 +0,0 @@
|
||||
.intro-editor-wrap[data-v-ff8dae37],.intro-editor[data-v-ff8dae37]{width:100%}[data-v-ff8dae37] .intro-editor .ql-container{height:258px!important}[data-v-ff8dae37] .intro-editor .ql-editor{min-height:258px!important}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-0iDIbJ_3.js";var i=n({__name:`SystemLogs`,setup(n){return(n,i)=>(e(),t(r,{title:`系统设置 / 系统日志`}))}});export{i as default};
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-NUaa9K4l.js";var i=n({__name:`SystemLogs`,setup(n){return(n,i)=>(e(),t(r,{title:`系统设置 / 系统日志`}))}});export{i as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{n as e}from"./axios-CiYFffbI.js";import{I as t,N as n,V as r,Y as i,_ as a,d as o,it as s,kt as c,u as l,ut as u,v as d,y as f}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{n as p,o as m}from"./index-BbRh5og5.js";import{n as h,t as g}from"./datetime-3T8f3S0H.js";import{t as _}from"./listTable-Djel28e5.js";import{t as v}from"./reservationStatus-JhCfFMzX.js";var y={class:`verify-list-toolbar`},b=m(f({__name:`Verify`,setup(f){let m=s(!1),b=s([]),x=s(``),S=s(!1),C=s(`all`),w=s(``),T=s([]);async function E(){m.value=!0;try{let{data:e}=await p.get(`/reservations`,{params:{status:C.value,keyword:w.value||void 0,start_date:T.value?.[0]||void 0,end_date:T.value?.[1]||void 0}});b.value=e}catch(t){e.error(t?.response?.data?.message??`加载预约列表失败`)}finally{m.value=!1}}function D(){E()}function O(){C.value=`all`,w.value=``,T.value=[],E()}async function k(){if(!x.value){e.warning(`请输入二维码 token`);return}S.value=!0;try{await p.post(`/reservations/verify`,{qr_token:x.value}),e.success(`核销成功`),x.value=``,await E()}catch(t){e.error(t?.response?.data?.message??`核销失败`)}finally{S.value=!1}}return n(E),(e,n)=>{let s=r(`a-alert`),f=r(`a-input`),p=r(`a-button`),A=r(`a-space`),j=r(`a-radio`),M=r(`a-radio-group`),N=r(`a-range-picker`),P=r(`a-table-column`),F=r(`a-tag`),I=r(`a-table`),L=r(`a-card`);return t(),o(L,{title:`活动管理 / 现场核销`},{default:i(()=>[d(A,{direction:`vertical`,fill:``},{default:i(()=>[d(s,null,{default:i(()=>[...n[4]||=[a(` 输入预约二维码 token 进行核销。场馆管理员仅可核销自己绑定场馆的预约。 `,-1)]]),_:1}),d(A,{wrap:``,size:12},{default:i(()=>[d(f,{modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,style:{width:`min(100%, 420px)`},placeholder:`请输入二维码 token`,"allow-clear":``},null,8,[`modelValue`]),d(p,{type:`primary`,loading:S.value,onClick:k},{default:i(()=>[...n[5]||=[a(`立即核销`,-1)]]),_:1},8,[`loading`])]),_:1}),l(`div`,y,[d(A,{wrap:``,size:12},{default:i(()=>[d(M,{modelValue:C.value,"onUpdate:modelValue":n[1]||=e=>C.value=e,type:`button`,size:`small`,onChange:E},{default:i(()=>[d(j,{value:`all`},{default:i(()=>[...n[6]||=[a(`全部`,-1)]]),_:1}),d(j,{value:`pending`},{default:i(()=>[...n[7]||=[a(`待核销`,-1)]]),_:1}),d(j,{value:`verified`},{default:i(()=>[...n[8]||=[a(`已核销`,-1)]]),_:1}),d(j,{value:`cancelled`},{default:i(()=>[...n[9]||=[a(`已取消`,-1)]]),_:1})]),_:1},8,[`modelValue`]),d(f,{modelValue:w.value,"onUpdate:modelValue":n[2]||=e=>w.value=e,placeholder:`报名人/手机/身份证/token`,"allow-clear":``,style:{width:`220px`}},null,8,[`modelValue`]),d(N,{modelValue:T.value,"onUpdate:modelValue":n[3]||=e=>T.value=e,style:{width:`260px`}},null,8,[`modelValue`]),d(p,{type:`primary`,onClick:D},{default:i(()=>[...n[10]||=[a(`查询`,-1)]]),_:1}),d(p,{onClick:O},{default:i(()=>[...n[11]||=[a(`重置`,-1)]]),_:1}),d(p,{onClick:E},{default:i(()=>[...n[12]||=[a(`刷新列表`,-1)]]),_:1})]),_:1})]),d(I,{class:`list-data-table verify-table`,scroll:{x:u(_)},data:b.value,loading:m.value,"row-key":`id`,pagination:{pageSize:10,showTotal:!0}},{columns:i(()=>[d(P,{title:`ID`,"data-index":`id`,width:88}),d(P,{title:`活动`,width:240,"min-width":180,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[a(c(e.activity?.title??`-`),1)]),_:1}),d(P,{title:`场馆`,width:200,"min-width":160,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[a(c(e.venue?.name??`-`),1)]),_:1}),d(P,{title:`报名人`,"data-index":`visitor_name`,width:120,ellipsis:!0,tooltip:!0}),d(P,{title:`手机号`,"data-index":`visitor_phone`,width:130,ellipsis:!0,tooltip:!0}),d(P,{title:`身份证`,"data-index":`id_card`,width:180,ellipsis:!0,tooltip:!0}),d(P,{title:`预约票数`,width:100},{cell:i(({record:e})=>[a(c(e.ticket_count??1),1)]),_:1}),d(P,{title:`预约入馆日期`,width:140,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[a(c(e.activity_day?.activity_date?u(h)(e.activity_day.activity_date):`-`),1)]),_:1}),d(P,{title:`状态`,width:100},{cell:i(({record:e})=>[d(F,{color:e.status===`verified`?`green`:e.status===`pending`?`arcoblue`:`gray`},{default:i(()=>[a(c(u(v)(e.status)),1)]),_:2},1032,[`color`])]),_:1}),d(P,{title:`预约时间`,width:175,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[a(c(u(g)(e.created_at)),1)]),_:1}),d(P,{title:`核销时间`,width:175,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[a(c(u(g)(e.verified_at)),1)]),_:1}),d(P,{title:`二维码 token`,"data-index":`qr_token`,width:220,"min-width":180,ellipsis:!0,tooltip:!0,fixed:`right`,align:`left`})]),_:1},8,[`scroll`,`data`,`loading`])]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-07ab0f2b`]]);export{b as default};
|
||||
import{n as e}from"./axios-CiYFffbI.js";import{I as t,N as n,V as r,Y as i,_ as a,d as o,it as s,kt as c,u as l,ut as u,v as d,y as f}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{n as p,o as m}from"./index-DeKOCEHV.js";import{n as h,t as g}from"./datetime-3T8f3S0H.js";import{t as _}from"./listTable-CVMJfkhr.js";import{t as v}from"./reservationStatus-4wzuGRD4.js";var y={class:`verify-list-toolbar`},b=m(f({__name:`Verify`,setup(f){let m=s(!1),b=s([]),x=s(``),S=s(!1),C=s(`all`),w=s(``),T=s([]);async function E(){m.value=!0;try{let{data:e}=await p.get(`/reservations`,{params:{status:C.value,keyword:w.value||void 0,start_date:T.value?.[0]||void 0,end_date:T.value?.[1]||void 0}});b.value=e}catch(t){e.error(t?.response?.data?.message??`加载预约列表失败`)}finally{m.value=!1}}function D(){E()}function O(){C.value=`all`,w.value=``,T.value=[],E()}async function k(){if(!x.value){e.warning(`请输入二维码 token`);return}S.value=!0;try{await p.post(`/reservations/verify`,{qr_token:x.value}),e.success(`核销成功`),x.value=``,await E()}catch(t){e.error(t?.response?.data?.message??`核销失败`)}finally{S.value=!1}}return n(E),(e,n)=>{let s=r(`a-alert`),f=r(`a-input`),p=r(`a-button`),A=r(`a-space`),j=r(`a-radio`),M=r(`a-radio-group`),N=r(`a-range-picker`),P=r(`a-table-column`),F=r(`a-tag`),I=r(`a-table`),L=r(`a-card`);return t(),o(L,{title:`活动管理 / 现场核销`},{default:i(()=>[d(A,{direction:`vertical`,fill:``},{default:i(()=>[d(s,null,{default:i(()=>[...n[4]||=[a(` 输入预约二维码 token 进行核销。场馆管理员仅可核销自己绑定场馆的预约。 `,-1)]]),_:1}),d(A,{wrap:``,size:12},{default:i(()=>[d(f,{modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,style:{width:`min(100%, 420px)`},placeholder:`请输入二维码 token`,"allow-clear":``},null,8,[`modelValue`]),d(p,{type:`primary`,loading:S.value,onClick:k},{default:i(()=>[...n[5]||=[a(`立即核销`,-1)]]),_:1},8,[`loading`])]),_:1}),l(`div`,y,[d(A,{wrap:``,size:12},{default:i(()=>[d(M,{modelValue:C.value,"onUpdate:modelValue":n[1]||=e=>C.value=e,type:`button`,size:`small`,onChange:E},{default:i(()=>[d(j,{value:`all`},{default:i(()=>[...n[6]||=[a(`全部`,-1)]]),_:1}),d(j,{value:`pending`},{default:i(()=>[...n[7]||=[a(`待核销`,-1)]]),_:1}),d(j,{value:`verified`},{default:i(()=>[...n[8]||=[a(`已核销`,-1)]]),_:1}),d(j,{value:`cancelled`},{default:i(()=>[...n[9]||=[a(`已取消`,-1)]]),_:1})]),_:1},8,[`modelValue`]),d(f,{modelValue:w.value,"onUpdate:modelValue":n[2]||=e=>w.value=e,placeholder:`报名人/手机/身份证/token`,"allow-clear":``,style:{width:`220px`}},null,8,[`modelValue`]),d(N,{modelValue:T.value,"onUpdate:modelValue":n[3]||=e=>T.value=e,style:{width:`260px`}},null,8,[`modelValue`]),d(p,{type:`primary`,onClick:D},{default:i(()=>[...n[10]||=[a(`查询`,-1)]]),_:1}),d(p,{onClick:O},{default:i(()=>[...n[11]||=[a(`重置`,-1)]]),_:1}),d(p,{onClick:E},{default:i(()=>[...n[12]||=[a(`刷新列表`,-1)]]),_:1})]),_:1})]),d(I,{class:`list-data-table verify-table`,scroll:{x:u(_)},data:b.value,loading:m.value,"row-key":`id`,pagination:{pageSize:10,showTotal:!0}},{columns:i(()=>[d(P,{title:`ID`,"data-index":`id`,width:88}),d(P,{title:`活动`,width:240,"min-width":180,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[a(c(e.activity?.title??`-`),1)]),_:1}),d(P,{title:`场馆`,width:200,"min-width":160,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[a(c(e.venue?.name??`-`),1)]),_:1}),d(P,{title:`报名人`,"data-index":`visitor_name`,width:120,ellipsis:!0,tooltip:!0}),d(P,{title:`手机号`,"data-index":`visitor_phone`,width:130,ellipsis:!0,tooltip:!0}),d(P,{title:`身份证`,"data-index":`id_card`,width:180,ellipsis:!0,tooltip:!0}),d(P,{title:`预约票数`,width:100},{cell:i(({record:e})=>[a(c(e.ticket_count??1),1)]),_:1}),d(P,{title:`预约入馆日期`,width:140,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[a(c(e.activity_day?.activity_date?u(h)(e.activity_day.activity_date):`-`),1)]),_:1}),d(P,{title:`状态`,width:100},{cell:i(({record:e})=>[d(F,{color:e.status===`verified`?`green`:e.status===`pending`?`arcoblue`:`gray`},{default:i(()=>[a(c(u(v)(e.status)),1)]),_:2},1032,[`color`])]),_:1}),d(P,{title:`预约时间`,width:175,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[a(c(u(g)(e.created_at)),1)]),_:1}),d(P,{title:`核销时间`,width:175,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[a(c(u(g)(e.verified_at)),1)]),_:1}),d(P,{title:`二维码 token`,"data-index":`qr_token`,width:220,"min-width":180,ellipsis:!0,tooltip:!0,fixed:`right`,align:`left`})]),_:1},8,[`scroll`,`data`,`loading`])]),_:1})]),_:1})}}}),[[`__scopeId`,`data-v-07ab0f2b`]]);export{b as default};
|
||||
@ -1 +1 @@
|
||||
import{n as e}from"./axios-CiYFffbI.js";import{I as t,V as n,Y as r,_ as i,it as a,nt as o,p as s,u as c,v as l,y as u}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{i as d,o as f,r as p}from"./index-BbRh5og5.js";import{n as m,t as h}from"./h5Http-CCovTImr.js";var g={class:`m-verify-page`},_={class:`m-verify-card`},v=f(u({__name:`VerifyLogin`,setup(u){let f=d(),v=p(),y=a(!1),b=o({username:``,password:``});function x(){return v.path.startsWith(`/m/`)?`/m/verify`:`/h5/verify/scan`}async function S(){y.value=!0;try{let{data:t}=await m.post(`/auth/login`,{...b,client:`h5_verify`});localStorage.setItem(h,t.token),localStorage.setItem(`${h}_saved_at`,String(Date.now())),e.success(`登录成功`),f.replace(x())}catch(t){e.error(t?.response?.data?.message??`登录失败`)}finally{y.value=!1}}return(e,a)=>{let o=n(`a-input`),u=n(`a-form-item`),d=n(`a-input-password`),f=n(`a-button`),p=n(`a-form`);return t(),s(`div`,g,[a[4]||=c(`div`,{class:`m-verify-hero`},[c(`div`,{class:`m-verify-title`},`苏州科普场馆地图`),c(`div`,{class:`m-verify-sub`},`移动端核销登录`)],-1),c(`div`,_,[l(p,{model:b,layout:`vertical`,onSubmitSuccess:S},{default:r(()=>[l(u,{label:`用户名`},{default:r(()=>[l(o,{modelValue:b.username,"onUpdate:modelValue":a[0]||=e=>b.username=e,placeholder:`请输入账号`,size:`large`,"allow-clear":``},null,8,[`modelValue`])]),_:1}),l(u,{label:`密码`},{default:r(()=>[l(d,{modelValue:b.password,"onUpdate:modelValue":a[1]||=e=>b.password=e,placeholder:`请输入密码`,size:`large`,"allow-clear":``},null,8,[`modelValue`])]),_:1}),l(f,{type:`primary`,long:``,size:`large`,loading:y.value,onClick:S},{default:r(()=>[...a[2]||=[i(`登录`,-1)]]),_:1},8,[`loading`])]),_:1},8,[`model`]),a[3]||=c(`p`,{class:`m-verify-tip`},`登录状态将保持较长时间;若已失效会自动回到本页。`,-1)])])}}}),[[`__scopeId`,`data-v-a78462a1`]]);export{v as default};
|
||||
import{n as e}from"./axios-CiYFffbI.js";import{I as t,V as n,Y as r,_ as i,it as a,nt as o,p as s,u as c,v as l,y as u}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{i as d,o as f,r as p}from"./index-DeKOCEHV.js";import{n as m,t as h}from"./h5Http-Bi2shxbg.js";var g={class:`m-verify-page`},_={class:`m-verify-card`},v=f(u({__name:`VerifyLogin`,setup(u){let f=d(),v=p(),y=a(!1),b=o({username:``,password:``});function x(){return v.path.startsWith(`/m/`)?`/m/verify`:`/h5/verify/scan`}async function S(){y.value=!0;try{let{data:t}=await m.post(`/auth/login`,{...b,client:`h5_verify`});localStorage.setItem(h,t.token),localStorage.setItem(`${h}_saved_at`,String(Date.now())),e.success(`登录成功`),f.replace(x())}catch(t){e.error(t?.response?.data?.message??`登录失败`)}finally{y.value=!1}}return(e,a)=>{let o=n(`a-input`),u=n(`a-form-item`),d=n(`a-input-password`),f=n(`a-button`),p=n(`a-form`);return t(),s(`div`,g,[a[4]||=c(`div`,{class:`m-verify-hero`},[c(`div`,{class:`m-verify-title`},`苏州科普场馆地图`),c(`div`,{class:`m-verify-sub`},`移动端核销登录`)],-1),c(`div`,_,[l(p,{model:b,layout:`vertical`,onSubmitSuccess:S},{default:r(()=>[l(u,{label:`用户名`},{default:r(()=>[l(o,{modelValue:b.username,"onUpdate:modelValue":a[0]||=e=>b.username=e,placeholder:`请输入账号`,size:`large`,"allow-clear":``},null,8,[`modelValue`])]),_:1}),l(u,{label:`密码`},{default:r(()=>[l(d,{modelValue:b.password,"onUpdate:modelValue":a[1]||=e=>b.password=e,placeholder:`请输入密码`,size:`large`,"allow-clear":``},null,8,[`modelValue`])]),_:1}),l(f,{type:`primary`,long:``,size:`large`,loading:y.value,onClick:S},{default:r(()=>[...a[2]||=[i(`登录`,-1)]]),_:1},8,[`loading`])]),_:1},8,[`model`]),a[3]||=c(`p`,{class:`m-verify-tip`},`登录状态将保持较长时间;若已失效会自动回到本页。`,-1)])])}}}),[[`__scopeId`,`data-v-a78462a1`]]);export{v as default};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-0iDIbJ_3.js";var i=n({__name:`Wechat`,setup(n){return(n,i)=>(e(),t(r,{title:`系统设置 / 微信配置`}))}});export{i as default};
|
||||
import{I as e,d as t,y as n}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{t as r}from"./PagePlaceholder-NUaa9K4l.js";var i=n({__name:`Wechat`,setup(n){return(n,i)=>(e(),t(r,{title:`系统设置 / 微信配置`}))}});export{i as default};
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
function e(e){let t=String(e||``).trim();if(!t)return``;try{if(/^https?:\/\//i.test(t)){let e=new URL(t);return e.pathname.includes(`/storage/`)?`${window.location.origin}${e.pathname}${e.search}`:t}if(t.startsWith(`/storage/`)||t.startsWith(`/`))return`${window.location.origin}${t}`;let e=t.replace(/^\/+/,``);return`${window.location.origin}/storage/${e}`}catch{return t}}export{e as t};
|
||||
@ -1 +1 @@
|
||||
import{h as t}from"./index-BGcsYrai.js";function n(n={}){return t.get("/h5/activities",n,{withAuth:!1})}function i(n){return t.get(`/h5/activities/${n}`,{},{withAuth:!1})}function e(){return t.get("/h5/venues",{},{withAuth:!1})}function s(){return t.get("/h5/venue-dicts",{},{withAuth:!1})}function u(n){return t.get(`/h5/venues/${n}`,{},{withAuth:!1})}function h(n){return t.get(`/h5/study-tours/${n}`,{},{withAuth:!1})}function r(){return t.get("/h5/study-tours",{},{withAuth:!1})}function o(n){return t.get(`/h5/activities/${n}/booking-info`,{},{withAuth:!1})}function a(n,i){return t.post(`/h5/activities/${n}/reservations`,i,{withAuth:!0})}function c(n){const i={};return n&&/^1\d{10}$/.test(n)&&(i.visitor_phone=n),t.get("/h5/my/reservations",i,{withAuth:!0})}function f(n,i){const e={};return i&&/^1\d{10}$/.test(i)&&(e.visitor_phone=i),t.get(`/h5/my/reservations/${n}`,e,{withAuth:!0})}function v(n,i){const e={};return i&&/^1\d{10}$/.test(i)&&(e.visitor_phone=i),t.post(`/h5/my/reservations/${n}/cancel`,e,{withAuth:!0})}export{e as a,n as b,r as c,c as d,v as e,i as f,s as g,o as h,a as i,f as j,h as k,u as l};
|
||||
import{h as t}from"./index-BBl9NF8i.js";function n(n={}){return t.get("/h5/activities",n,{withAuth:!1})}function i(n){return t.get(`/h5/activities/${n}`,{},{withAuth:!1})}function e(){return t.get("/h5/venues",{},{withAuth:!1})}function s(){return t.get("/h5/venue-dicts",{},{withAuth:!1})}function u(n){return t.get(`/h5/venues/${n}`,{},{withAuth:!1})}function h(n){return t.get(`/h5/study-tours/${n}`,{},{withAuth:!1})}function r(){return t.get("/h5/study-tours",{},{withAuth:!1})}function o(n){return t.get(`/h5/activities/${n}/booking-info`,{},{withAuth:!1})}function a(n,i){return t.post(`/h5/activities/${n}/reservations`,i,{withAuth:!0})}function c(n){const i={};return n&&/^1\d{10}$/.test(n)&&(i.visitor_phone=n),t.get("/h5/my/reservations",i,{withAuth:!0})}function f(n,i){const e={};return i&&/^1\d{10}$/.test(i)&&(e.visitor_phone=i),t.get(`/h5/my/reservations/${n}`,e,{withAuth:!0})}function v(n,i){const e={};return i&&/^1\d{10}$/.test(i)&&(e.visitor_phone=i),t.post(`/h5/my/reservations/${n}/cancel`,e,{withAuth:!0})}export{e as a,n as b,r as c,c as d,v as e,i as f,s as g,o as h,a as i,f as j,h as k,u as l};
|
||||
@ -1 +0,0 @@
|
||||
uni-page-body[data-v-b9bc3caa]{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif;background:#f7f8fa;color:#1d2129;--brand-color: #05c9ac;--font-s: .75rem;--font-m: .9375rem;--font-l: 1.125rem}body[data-v-b9bc3caa]{background:#f7f8fa}.font-s[data-v-b9bc3caa]{font-size:var(--font-s)}.font-m[data-v-b9bc3caa]{font-size:var(--font-m)}.font-l[data-v-b9bc3caa]{font-size:var(--font-l)}.page[data-v-b9bc3caa]{height:100vh;background:#f3f5f7;box-sizing:border-box;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top);display:flex;flex-direction:column}.scroll[data-v-b9bc3caa]{flex:1;height:0;min-height:0}.map[data-v-b9bc3caa]{width:100%;height:15rem;display:block}.main-card[data-v-b9bc3caa]{margin:-.875rem 0 0;padding:.75rem .75rem .625rem;width:100%;box-sizing:border-box;background:#fff;border-radius:.75rem .75rem 0 0;position:relative;z-index:2;box-shadow:0 -.125rem .75rem rgba(0,0,0,.04)}.tour-title[data-v-b9bc3caa]{display:block;font-size:1.125rem;font-weight:700;color:#1d2129;line-height:1.35}.chip-row[data-v-b9bc3caa]{margin-top:.4375rem;display:flex;flex-wrap:wrap;gap:.375rem}.chip[data-v-b9bc3caa]{font-size:.6875rem;padding:.1875rem .4375rem;border-radius:.25rem;color:#05c9ac;background:rgba(5,201,172,.12)}.venue-row[data-v-b9bc3caa]{position:relative;margin-top:.5625rem;padding:.375rem 3.125rem .4375rem 1.375rem;border-bottom:.03125rem dashed #e9edf2}.venue-row[data-v-b9bc3caa]:last-child{border-bottom:none}.idx[data-v-b9bc3caa]{position:absolute;left:0;top:.4375rem;width:1rem;height:1rem;line-height:1rem;border-radius:.5rem;text-align:center;font-size:.625rem;color:#fff;background:#05c9ac}.venue-mid[data-v-b9bc3caa]{min-width:0}.name[data-v-b9bc3caa]{font-size:.9375rem;color:#1d2129;font-weight:600}.addr[data-v-b9bc3caa]{margin-top:.1875rem;font-size:.6875rem;color:#86909c;line-height:1.45}.go[data-v-b9bc3caa]{position:absolute;right:0;top:.4375rem;font-size:.75rem;color:#05c9ac;font-weight:500}.intro-card[data-v-b9bc3caa]{margin:.5rem;padding:.625rem;background:#fff;border-radius:.5rem}.sec-title-row[data-v-b9bc3caa]{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:.375rem}.sec-title[data-v-b9bc3caa]{font-size:.9375rem;font-weight:700;color:#1d2129}.expand-link[data-v-b9bc3caa]{font-size:.8125rem;color:#05c9ac;flex-shrink:0;padding:.125rem 0 .125rem .5rem}.intro-rich-wrap[data-v-b9bc3caa]{width:100%;box-sizing:border-box;position:relative}.intro-rich-wrap.is-collapsed[data-v-b9bc3caa]{max-height:5.625rem;overflow:hidden}.intro-rich-wrap.is-collapsed[data-v-b9bc3caa]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.75rem;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}.intro-rich[data-v-b9bc3caa]{display:block;width:100%}.safe-bottom[data-v-b9bc3caa]{height:1.5rem}
|
||||
@ -0,0 +1 @@
|
||||
uni-page-body[data-v-bac5e49e]{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif;background:#f7f8fa;color:#1d2129;--brand-color: #05c9ac;--font-s: .75rem;--font-m: .9375rem;--font-l: 1.125rem}body[data-v-bac5e49e]{background:#f7f8fa}.font-s[data-v-bac5e49e]{font-size:var(--font-s)}.font-m[data-v-bac5e49e]{font-size:var(--font-m)}.font-l[data-v-bac5e49e]{font-size:var(--font-l)}.page[data-v-bac5e49e]{height:100vh;background:#f3f5f7;box-sizing:border-box;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top);display:flex;flex-direction:column}.scroll[data-v-bac5e49e]{flex:1;height:0;min-height:0}.map[data-v-bac5e49e]{width:100%;height:21.25rem;display:block}.main-card[data-v-bac5e49e]{margin:-.875rem 0 0;padding:.75rem .75rem .625rem;width:100%;box-sizing:border-box;background:#fff;border-radius:.75rem .75rem 0 0;position:relative;z-index:2;box-shadow:0 -.125rem .75rem rgba(0,0,0,.04)}.tour-title[data-v-bac5e49e]{display:block;font-size:1.125rem;font-weight:700;color:#1d2129;line-height:1.35}.chip-row[data-v-bac5e49e]{margin-top:.4375rem;display:flex;flex-wrap:wrap;gap:.375rem}.chip[data-v-bac5e49e]{font-size:.6875rem;padding:.1875rem .4375rem;border-radius:.25rem;color:#05c9ac;background:rgba(5,201,172,.12)}.venue-row[data-v-bac5e49e]{position:relative;margin-top:.5625rem;padding:.375rem 3.125rem .4375rem 1.375rem;border-bottom:.03125rem dashed #e9edf2}.venue-row[data-v-bac5e49e]:last-child{border-bottom:none}.idx[data-v-bac5e49e]{position:absolute;left:0;top:.4375rem;width:1rem;height:1rem;line-height:1rem;border-radius:.5rem;text-align:center;font-size:.625rem;color:#fff;background:#05c9ac}.venue-mid[data-v-bac5e49e]{min-width:0}.name[data-v-bac5e49e]{font-size:.9375rem;color:#1d2129;font-weight:600}.addr[data-v-bac5e49e]{margin-top:.1875rem;font-size:.6875rem;color:#86909c;line-height:1.45}.go[data-v-bac5e49e]{position:absolute;right:0;top:.4375rem;font-size:.75rem;color:#05c9ac;font-weight:500}.intro-card[data-v-bac5e49e]{margin:.5rem;padding:.625rem;background:#fff;border-radius:.5rem}.sec-title-row[data-v-bac5e49e]{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:.375rem}.sec-title[data-v-bac5e49e]{font-size:.9375rem;font-weight:700;color:#1d2129}.expand-link[data-v-bac5e49e]{font-size:.8125rem;color:#05c9ac;flex-shrink:0;padding:.125rem 0 .125rem .5rem}.intro-rich-wrap[data-v-bac5e49e]{width:100%;box-sizing:border-box;position:relative}.intro-rich-wrap.is-collapsed[data-v-bac5e49e]{max-height:5.625rem;overflow:hidden}.intro-rich-wrap.is-collapsed[data-v-bac5e49e]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.75rem;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}.intro-rich[data-v-bac5e49e]{display:block;width:100%}.safe-bottom[data-v-bac5e49e]{height:1.5rem}
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{h as t,g as n,S as r,b as e}from"./index-BGcsYrai.js";function o(){return t.get("/h5/me/profile",{},{withAuth:!0})}function i(n){return t.put("/h5/me/profile",n,{withAuth:!0})}function u(){try{const t=n(r.localProfile);if(!t)return null;const e="string"==typeof t?JSON.parse(t):t;return e&&"object"==typeof e?e:null}catch{return null}}function l(t){e(r.localProfile,JSON.stringify(t))}export{o as g,u as l,l as s,i as u};
|
||||
import{h as t,g as n,S as r,b as e}from"./index-BBl9NF8i.js";function o(){return t.get("/h5/me/profile",{},{withAuth:!0})}function i(n){return t.put("/h5/me/profile",n,{withAuth:!0})}function u(){try{const t=n(r.localProfile);if(!t)return null;const e="string"==typeof t?JSON.parse(t):t;return e&&"object"==typeof e?e:null}catch{return null}}function l(t){e(r.localProfile,JSON.stringify(t))}export{o as g,u as l,l as s,i as u};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{d as a,e as t,f as e,o as l,O as s,P as n,Q as u,j as i,k as r,q as c,v as o,t as d,u as v,B as f,F as _,C as y,H as g,y as m,z as p,x as h,G as k,J as w,D as b,L as M}from"./index-BGcsYrai.js";import{b as j}from"./content.CxzBwpG2.js";import{f as P,i as x}from"./activity.k1jR9V-B.js";import{_ as A}from"./_plugin-vue_export-helper.BCo6x5W8.js";const F=A(a({__name:"index",setup(a){const A=t([]),F=t(null),N=t(1),C=t(0),D=t(!1),q=t(!1),T=e(()=>C.value>0&&N.value<C.value);async function z(a,t){if(!D.value||t){if(t){if(q.value||!T.value)return;q.value=!0}else D.value=!0;try{const e=await j({page:a,page_size:10}),{list:l,lastPage:s}=function(a){if(!a||"object"!=typeof a)return{list:[],lastPage:1};const t=a;if(Array.isArray(t))return{list:t,lastPage:1};const e=t.data;if(Array.isArray(e))return{list:e,lastPage:Number(t.last_page??1)||1};if(e&&"object"==typeof e){const a=e;if(Array.isArray(a.data)){const e=Number(a.last_page??t.last_page??1)||1;return{list:a.data,lastPage:e}}}return{list:[],lastPage:1}}(e);C.value=s,A.value=t?[...A.value,...l]:l,N.value=a}catch{t||(A.value=[])}finally{D.value=!1,q.value=!1}}}function I(a){M({url:`/pages/activity/detail?id=${a}`})}function $(a){if(!(null==a?void 0:a.start_at))return"活动进行中";const t=(new Date).getTime(),e=new Date(a.start_at).getTime(),l=a.end_at?new Date(a.end_at).getTime():e;return Number.isFinite(l)&&l<t?"活动已结束":e>t?"活动即将开始":"活动进行中"}function B(a){const t=Number(a);return Number.isFinite(t)?t:0}function G(a){if(!F.value)return"距离 --";const t=B((null==a?void 0:a.lat)||(null==a?void 0:a.venue_lat)),e=B((null==a?void 0:a.lng)||(null==a?void 0:a.venue_lng));if(!t||!e)return"距离 --";const l=function(a,t,e,l){const s=a=>a*Math.PI/180,n=s(e-a),u=s(l-t),i=Math.sin(n/2)*Math.sin(n/2)+Math.cos(s(a))*Math.cos(s(e))*Math.sin(u/2)*Math.sin(u/2);return 12742*Math.atan2(Math.sqrt(i),Math.sqrt(1-i))}(F.value.lat,F.value.lng,t,e);return Number.isFinite(l)?`距离 ${l.toFixed(1)}km`:"距离 --"}return l(()=>{!async function(){N.value=1,await z(1,!1)}(),async function(){try{const a=await new Promise((a,t)=>{c({type:"gcj02",success:a,fail:t})});F.value={lat:a.latitude,lng:a.longitude}}catch{F.value=null}}()}),s(()=>{D.value||q.value||!T.value||z(N.value+1,!0)}),n(async()=>{try{await async function(){N.value=1,await z(1,!1)}()}finally{u()}}),(a,t)=>{const e=g,l=o,s=h;return d(),i(l,{class:"page"},{default:r(()=>[v(l,{class:"list-inner"},{default:r(()=>[(d(!0),f(_,null,y(A.value,a=>(d(),i(l,{key:a.id,class:"item",onClick:t=>I(a.id)},{default:r(()=>[v(l,{class:"poster-wrap"},{default:r(()=>[a.image?(d(),i(e,{key:0,class:"poster",src:a.image,mode:"aspectFill"},null,8,["src"])):(d(),i(l,{key:1,class:"poster placeholder"})),v(l,{class:"status"},{default:r(()=>[m(p($(a)),1)]),_:2},1024),v(l,{class:"joined"},{default:r(()=>[m("已报名 "+p(a.registered_count||0),1)]),_:2},1024)]),_:2},1024),v(l,{class:"body"},{default:r(()=>{var t;return[v(l,{class:"title"},{default:r(()=>[m(p(a.title),1)]),_:2},1024),(null==(t=a.tags)?void 0:t.length)?(d(),i(l,{key:0,class:"chip-row"},{default:r(()=>[(d(!0),f(_,null,y(a.tags,(t,e)=>(d(),i(s,{key:"t-"+a.id+"-"+e,class:"chip"},{default:r(()=>[m(p(t),1)]),_:2},1024))),128))]),_:2},1024)):k("",!0),v(l,{class:"meta"},{default:r(()=>[m(p(w(P)(a.start_at,a.end_at)),1)]),_:2},1024),v(l,{class:"meta venue-line"},{default:r(()=>[m(p(a.venue_name||"场馆待定"),1)]),_:2},1024),v(l,{class:"action-row"},{default:r(()=>{return[v(s,{class:"meta distance"},{default:r(()=>[m(p(G(a)),1)]),_:2},1024),(t=a,x(null==t?void 0:t.end_at)?k("",!0):(d(),i(l,{key:0,class:"btn",onClick:b(t=>I(a.id),["stop"])},{default:r(()=>[m("立即报名")]),_:2},1032,["onClick"])))];var t}),_:2},1024)]}),_:2},1024)]),_:2},1032,["onClick"]))),128)),D.value&&!A.value.length?(d(),i(l,{key:0,class:"hint"},{default:r(()=>[m("加载中…")]),_:1})):k("",!0),q.value?(d(),i(l,{key:1,class:"hint"},{default:r(()=>[m("加载更多…")]),_:1})):k("",!0),T.value||!A.value.length||D.value?k("",!0):(d(),i(l,{key:2,class:"hint muted"},{default:r(()=>[m("没有更多了")]),_:1})),D.value||A.value.length?k("",!0):(d(),i(l,{key:3,class:"hint muted"},{default:r(()=>[m("暂无活动")]),_:1}))]),_:1})]),_:1})}}}),[["__scopeId","data-v-437981e0"]]);export{F as default};
|
||||
import{d as a,e as t,f as e,o as l,O as s,P as n,Q as u,j as i,k as r,q as c,v as o,t as d,u as v,B as f,F as _,C as y,H as g,y as m,z as p,x as h,G as k,J as w,D as b,L as M}from"./index-BBl9NF8i.js";import{b as j}from"./content.DVkGYAJC.js";import{f as P,i as x}from"./activity.k1jR9V-B.js";import{_ as A}from"./_plugin-vue_export-helper.BCo6x5W8.js";const F=A(a({__name:"index",setup(a){const A=t([]),F=t(null),N=t(1),C=t(0),D=t(!1),q=t(!1),T=e(()=>C.value>0&&N.value<C.value);async function z(a,t){if(!D.value||t){if(t){if(q.value||!T.value)return;q.value=!0}else D.value=!0;try{const e=await j({page:a,page_size:10}),{list:l,lastPage:s}=function(a){if(!a||"object"!=typeof a)return{list:[],lastPage:1};const t=a;if(Array.isArray(t))return{list:t,lastPage:1};const e=t.data;if(Array.isArray(e))return{list:e,lastPage:Number(t.last_page??1)||1};if(e&&"object"==typeof e){const a=e;if(Array.isArray(a.data)){const e=Number(a.last_page??t.last_page??1)||1;return{list:a.data,lastPage:e}}}return{list:[],lastPage:1}}(e);C.value=s,A.value=t?[...A.value,...l]:l,N.value=a}catch{t||(A.value=[])}finally{D.value=!1,q.value=!1}}}function I(a){M({url:`/pages/activity/detail?id=${a}`})}function $(a){if(!(null==a?void 0:a.start_at))return"活动进行中";const t=(new Date).getTime(),e=new Date(a.start_at).getTime(),l=a.end_at?new Date(a.end_at).getTime():e;return Number.isFinite(l)&&l<t?"活动已结束":e>t?"活动即将开始":"活动进行中"}function B(a){const t=Number(a);return Number.isFinite(t)?t:0}function G(a){if(!F.value)return"距离 --";const t=B((null==a?void 0:a.lat)||(null==a?void 0:a.venue_lat)),e=B((null==a?void 0:a.lng)||(null==a?void 0:a.venue_lng));if(!t||!e)return"距离 --";const l=function(a,t,e,l){const s=a=>a*Math.PI/180,n=s(e-a),u=s(l-t),i=Math.sin(n/2)*Math.sin(n/2)+Math.cos(s(a))*Math.cos(s(e))*Math.sin(u/2)*Math.sin(u/2);return 12742*Math.atan2(Math.sqrt(i),Math.sqrt(1-i))}(F.value.lat,F.value.lng,t,e);return Number.isFinite(l)?`距离 ${l.toFixed(1)}km`:"距离 --"}return l(()=>{!async function(){N.value=1,await z(1,!1)}(),async function(){try{const a=await new Promise((a,t)=>{c({type:"gcj02",success:a,fail:t})});F.value={lat:a.latitude,lng:a.longitude}}catch{F.value=null}}()}),s(()=>{D.value||q.value||!T.value||z(N.value+1,!0)}),n(async()=>{try{await async function(){N.value=1,await z(1,!1)}()}finally{u()}}),(a,t)=>{const e=g,l=o,s=h;return d(),i(l,{class:"page"},{default:r(()=>[v(l,{class:"list-inner"},{default:r(()=>[(d(!0),f(_,null,y(A.value,a=>(d(),i(l,{key:a.id,class:"item",onClick:t=>I(a.id)},{default:r(()=>[v(l,{class:"poster-wrap"},{default:r(()=>[a.image?(d(),i(e,{key:0,class:"poster",src:a.image,mode:"aspectFill"},null,8,["src"])):(d(),i(l,{key:1,class:"poster placeholder"})),v(l,{class:"status"},{default:r(()=>[m(p($(a)),1)]),_:2},1024),v(l,{class:"joined"},{default:r(()=>[m("已报名 "+p(a.registered_count||0),1)]),_:2},1024)]),_:2},1024),v(l,{class:"body"},{default:r(()=>{var t;return[v(l,{class:"title"},{default:r(()=>[m(p(a.title),1)]),_:2},1024),(null==(t=a.tags)?void 0:t.length)?(d(),i(l,{key:0,class:"chip-row"},{default:r(()=>[(d(!0),f(_,null,y(a.tags,(t,e)=>(d(),i(s,{key:"t-"+a.id+"-"+e,class:"chip"},{default:r(()=>[m(p(t),1)]),_:2},1024))),128))]),_:2},1024)):k("",!0),v(l,{class:"meta"},{default:r(()=>[m(p(w(P)(a.start_at,a.end_at)),1)]),_:2},1024),v(l,{class:"meta venue-line"},{default:r(()=>[m(p(a.venue_name||"场馆待定"),1)]),_:2},1024),v(l,{class:"action-row"},{default:r(()=>{return[v(s,{class:"meta distance"},{default:r(()=>[m(p(G(a)),1)]),_:2},1024),(t=a,x(null==t?void 0:t.end_at)?k("",!0):(d(),i(l,{key:0,class:"btn",onClick:b(t=>I(a.id),["stop"])},{default:r(()=>[m("立即报名")]),_:2},1032,["onClick"])))];var t}),_:2},1024)]}),_:2},1024)]),_:2},1032,["onClick"]))),128)),D.value&&!A.value.length?(d(),i(l,{key:0,class:"hint"},{default:r(()=>[m("加载中…")]),_:1})):k("",!0),q.value?(d(),i(l,{key:1,class:"hint"},{default:r(()=>[m("加载更多…")]),_:1})):k("",!0),T.value||!A.value.length||D.value?k("",!0):(d(),i(l,{key:2,class:"hint muted"},{default:r(()=>[m("没有更多了")]),_:1})),D.value||A.value.length?k("",!0):(d(),i(l,{key:3,class:"hint muted"},{default:r(()=>[m("暂无活动")]),_:1}))]),_:1})]),_:1})}}}),[["__scopeId","data-v-437981e0"]]);export{F as default};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{d as a,e as t,o as s,P as e,Q as l,j as u,k as r,v as o,t as n,u as c,B as i,F as d,C as _,H as f,x as v,y as m,z as y,G as p,L as g}from"./index-BGcsYrai.js";import{c as k}from"./content.CxzBwpG2.js";import{_ as h}from"./_plugin-vue_export-helper.BCo6x5W8.js";const w=h(a({__name:"index",setup(a){const h=t([]),w=t(!1);async function x(){w.value=!0;try{h.value=await k()||[]}catch{h.value=[]}finally{w.value=!1}}return s(()=>{x()}),e(async()=>{try{await x()}finally{l()}}),(a,t)=>{const s=f,e=o,l=v;return n(),u(e,{class:"page"},{default:r(()=>[c(e,{class:"section"},{default:r(()=>[(n(!0),i(d,null,_(h.value,a=>(n(),u(e,{key:a.id,class:"tour-card",onClick:t=>{return s=a.id,void g({url:`/pages/study-tour/detail?id=${s}`});var s}},{default:r(()=>[c(e,{class:"tour-img-wrap"},{default:r(()=>[a.cover_image?(n(),u(s,{key:0,class:"tour-img",src:a.cover_image,mode:"aspectFill"},null,8,["src"])):(n(),u(e,{key:1,class:"tour-img tour-ph"})),c(e,{class:"tour-overlay-title-wrap"},{default:r(()=>[c(l,{class:"tour-overlay-title"},{default:r(()=>[m(y(a.name),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),c(e,{class:"tour-body"},{default:r(()=>{var t;return[c(l,{class:"tour-title"},{default:r(()=>[m(y(a.name),1)]),_:2},1024),c(e,{class:"tour-stops-timeline"},{default:r(()=>[(n(!0),i(d,null,_(a.venue_names||[],(t,s)=>(n(),u(e,{key:"v-"+a.id+"-"+s,class:"tour-stop-row"},{default:r(()=>[c(e,{class:"tour-timeline-axis"},{default:r(()=>{var t;return[c(e,{class:"tour-dot-cell"},{default:r(()=>[c(e,{class:"tour-tl-dot"})]),_:1}),Number(s)<((null==(t=a.venue_names)?void 0:t.length)||0)-1?(n(),u(e,{key:0,class:"tour-tl-line"})):p("",!0)]}),_:2},1024),c(l,{class:"tour-stop-name"},{default:r(()=>[m(y(t),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),(null==(t=a.tags)?void 0:t.length)?(n(),u(e,{key:0,class:"tour-tags-row"},{default:r(()=>[(n(!0),i(d,null,_(a.tags,(t,s)=>(n(),u(l,{key:"t-"+a.id+"-"+s,class:"tour-tag"},{default:r(()=>[m(y(t),1)]),_:2},1024))),128))]),_:2},1024)):p("",!0)]}),_:2},1024)]),_:2},1032,["onClick"]))),128)),w.value&&!h.value.length?(n(),u(e,{key:0,class:"hint"},{default:r(()=>[m("加载中…")]),_:1})):p("",!0),w.value||h.value.length?p("",!0):(n(),u(e,{key:1,class:"hint muted"},{default:r(()=>[m("暂无研学线路")]),_:1}))]),_:1}),c(e,{class:"bottom-safe"})]),_:1})}}}),[["__scopeId","data-v-6f1b91a9"]]);export{w as default};
|
||||
import{d as a,e as t,o as s,P as e,Q as l,j as u,k as r,v as o,t as n,u as c,B as i,F as d,C as _,H as f,x as v,y as m,z as y,G as p,L as g}from"./index-BBl9NF8i.js";import{c as k}from"./content.DVkGYAJC.js";import{_ as h}from"./_plugin-vue_export-helper.BCo6x5W8.js";const w=h(a({__name:"index",setup(a){const h=t([]),w=t(!1);async function x(){w.value=!0;try{h.value=await k()||[]}catch{h.value=[]}finally{w.value=!1}}return s(()=>{x()}),e(async()=>{try{await x()}finally{l()}}),(a,t)=>{const s=f,e=o,l=v;return n(),u(e,{class:"page"},{default:r(()=>[c(e,{class:"section"},{default:r(()=>[(n(!0),i(d,null,_(h.value,a=>(n(),u(e,{key:a.id,class:"tour-card",onClick:t=>{return s=a.id,void g({url:`/pages/study-tour/detail?id=${s}`});var s}},{default:r(()=>[c(e,{class:"tour-img-wrap"},{default:r(()=>[a.cover_image?(n(),u(s,{key:0,class:"tour-img",src:a.cover_image,mode:"aspectFill"},null,8,["src"])):(n(),u(e,{key:1,class:"tour-img tour-ph"})),c(e,{class:"tour-overlay-title-wrap"},{default:r(()=>[c(l,{class:"tour-overlay-title"},{default:r(()=>[m(y(a.name),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),c(e,{class:"tour-body"},{default:r(()=>{var t;return[c(l,{class:"tour-title"},{default:r(()=>[m(y(a.name),1)]),_:2},1024),c(e,{class:"tour-stops-timeline"},{default:r(()=>[(n(!0),i(d,null,_(a.venue_names||[],(t,s)=>(n(),u(e,{key:"v-"+a.id+"-"+s,class:"tour-stop-row"},{default:r(()=>[c(e,{class:"tour-timeline-axis"},{default:r(()=>{var t;return[c(e,{class:"tour-dot-cell"},{default:r(()=>[c(e,{class:"tour-tl-dot"})]),_:1}),Number(s)<((null==(t=a.venue_names)?void 0:t.length)||0)-1?(n(),u(e,{key:0,class:"tour-tl-line"})):p("",!0)]}),_:2},1024),c(l,{class:"tour-stop-name"},{default:r(()=>[m(y(t),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),(null==(t=a.tags)?void 0:t.length)?(n(),u(e,{key:0,class:"tour-tags-row"},{default:r(()=>[(n(!0),i(d,null,_(a.tags,(t,s)=>(n(),u(l,{key:"t-"+a.id+"-"+s,class:"tour-tag"},{default:r(()=>[m(y(t),1)]),_:2},1024))),128))]),_:2},1024)):p("",!0)]}),_:2},1024)]),_:2},1032,["onClick"]))),128)),w.value&&!h.value.length?(n(),u(e,{key:0,class:"hint"},{default:r(()=>[m("加载中…")]),_:1})):p("",!0),w.value||h.value.length?p("",!0):(n(),u(e,{key:1,class:"hint muted"},{default:r(()=>[m("暂无研学线路")]),_:1}))]),_:1}),c(e,{class:"bottom-safe"})]),_:1})}}}),[["__scopeId","data-v-6f1b91a9"]]);export{w as default};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{d as e,e as a,f as l,o as s,j as t,k as u,q as r,v as c,t as i,u as n,I as o,H as d,J as v,x as m,y as f,z as p,B as _,F as b,C as g,G as y,K as k,L as h}from"./index-BGcsYrai.js";import{g as x,a as j}from"./content.CxzBwpG2.js";import{s as w}from"./search.BJnl3YRK.js";import{d as C}from"./down.BCKq9i8s.js";import{h as F,f as N}from"./geo.BHVFNtB7.js";import{_ as I}from"./_plugin-vue_export-helper.BCo6x5W8.js";const L=I(e({__name:"index",setup(e){const I=a([]),L=a(null),$=a(""),V=a("全部区域"),q=a(""),z=a("全部类型"),B=a(""),G=a("收费类型"),H=a(""),J=a(null),K=l(()=>{var e;return[{label:"全部区域",value:""},...((null==(e=L.value)?void 0:e.district)??[]).map(e=>({label:e.label,value:e.value}))]}),P=l(()=>{var e;return[{label:"全部类型",value:""},...((null==(e=L.value)?void 0:e.venue_type)??[]).map(e=>({label:e.label,value:e.value}))]}),U=l(()=>{var e;return[{label:"收费类型",value:""},...((null==(e=L.value)?void 0:e.ticket_type)??[]).map(e=>({label:e.label,value:e.value}))]}),A=l(()=>{const e=$.value.trim();return I.value.filter(a=>{if(q.value&&(a.district||"")!==q.value)return!1;if(B.value&&(a.venue_type||"")!==B.value)return!1;if("free"===H.value&&"free"!==(a.ticket_type||""))return!1;if("paid"===H.value&&"paid"!==(a.ticket_type||""))return!1;if(e){if(!`${a.name||""}${a.address||""}`.includes(e))return!1}return!0})}),D=l(()=>{const e=[...A.value],a=J.value;return a?e.sort((e,l)=>{const s=Number(e.lat),t=Number(e.lng),u=Number(l.lat),r=Number(l.lng);if(!s||!t)return 1;if(!u||!r)return-1;return F(a.lat,a.lng,s,t)-F(a.lat,a.lng,u,r)}):e});function E(e){if("district"===e){const e=K.value;k({itemList:e.map(e=>e.label),success:a=>{const l=e[a.tapIndex];V.value=l.label,q.value=l.value}})}else if("type"===e){const e=P.value;k({itemList:e.map(e=>e.label),success:a=>{const l=e[a.tapIndex];z.value=l.label,B.value=l.value}})}else{const e=U.value;k({itemList:e.map(e=>e.label),success:a=>{const l=e[a.tapIndex];G.value=l.label,H.value=l.value}})}}function M(e){const a=J.value;if(!a)return"距离 --";const l=Number(e.lat),s=Number(e.lng);if(!l||!s)return"距离 --";const t=F(a.lat,a.lng,l,s);return`距您 ${N(t)}`}return s(()=>{!async function(){const[e,a]=await Promise.all([x(),j()]);L.value=e,I.value=a||[]}(),r({type:"gcj02",success:e=>{J.value={lat:e.latitude,lng:e.longitude}},fail:()=>{J.value=null}})}),(e,a)=>{const l=o,s=d,r=c,k=m;return i(),t(r,{class:"page"},{default:u(()=>[n(r,{class:"map-section"},{default:u(()=>[n(r,{class:"toolbar"},{default:u(()=>[n(r,{class:"search-wrap"},{default:u(()=>[n(l,{modelValue:$.value,"onUpdate:modelValue":a[0]||(a[0]=e=>$.value=e),class:"search-input",placeholder:"请输入你要搜索的内容","placeholder-class":"ph"},null,8,["modelValue"]),n(s,{class:"search-icon-img",src:v(w),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1}),n(r,{class:"filters"},{default:u(()=>[n(r,{class:"f-item",onClick:a[1]||(a[1]=e=>E("district"))},{default:u(()=>[n(k,{class:"f-item-text"},{default:u(()=>[f(p(V.value),1)]),_:1}),n(s,{class:"f-item-arrow",src:v(C),mode:"aspectFit"},null,8,["src"])]),_:1}),n(r,{class:"f-item",onClick:a[2]||(a[2]=e=>E("type"))},{default:u(()=>[n(k,{class:"f-item-text"},{default:u(()=>[f(p(z.value),1)]),_:1}),n(s,{class:"f-item-arrow",src:v(C),mode:"aspectFit"},null,8,["src"])]),_:1}),n(r,{class:"f-item",onClick:a[3]||(a[3]=e=>E("ticket"))},{default:u(()=>[n(k,{class:"f-item-text"},{default:u(()=>[f(p(G.value),1)]),_:1}),n(s,{class:"f-item-arrow",src:v(C),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1})]),_:1}),n(r,{class:"list"},{default:u(()=>[(i(!0),_(b,null,g(D.value,e=>(i(),t(r,{key:e.id,class:"item",onClick:a=>{return l=e.id,void h({url:`/pages/venue/detail?id=${l}`});var l}},{default:u(()=>[e.cover_image?(i(),t(s,{key:0,class:"img",src:e.cover_image,mode:"aspectFill"},null,8,["src"])):(i(),t(r,{key:1,class:"img placeholder"})),n(r,{class:"body"},{default:u(()=>[n(r,{class:"name"},{default:u(()=>[f(p(e.name),1)]),_:2},1024),n(r,{class:"addr"},{default:u(()=>[f(p(e.address||"-"),1)]),_:2},1024),n(r,{class:"dist"},{default:u(()=>[f(p(M(e)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),D.value.length?y("",!0):(i(),t(r,{key:0,class:"empty-tip"},{default:u(()=>[f("暂无符合条件的场馆")]),_:1}))]),_:1})]),_:1})}}}),[["__scopeId","data-v-ba778cf3"]]);export{L as default};
|
||||
import{d as e,e as a,f as l,o as s,j as t,k as u,q as r,v as c,t as i,u as n,I as o,H as d,J as v,x as m,y as f,z as p,B as _,F as b,C as g,G as y,K as k,L as h}from"./index-BBl9NF8i.js";import{g as x,a as j}from"./content.DVkGYAJC.js";import{s as w}from"./search.BJnl3YRK.js";import{d as C}from"./down.BCKq9i8s.js";import{h as F,f as N}from"./geo.BHVFNtB7.js";import{_ as I}from"./_plugin-vue_export-helper.BCo6x5W8.js";const L=I(e({__name:"index",setup(e){const I=a([]),L=a(null),$=a(""),V=a("全部区域"),q=a(""),z=a("全部类型"),B=a(""),G=a("收费类型"),H=a(""),J=a(null),K=l(()=>{var e;return[{label:"全部区域",value:""},...((null==(e=L.value)?void 0:e.district)??[]).map(e=>({label:e.label,value:e.value}))]}),P=l(()=>{var e;return[{label:"全部类型",value:""},...((null==(e=L.value)?void 0:e.venue_type)??[]).map(e=>({label:e.label,value:e.value}))]}),U=l(()=>{var e;return[{label:"收费类型",value:""},...((null==(e=L.value)?void 0:e.ticket_type)??[]).map(e=>({label:e.label,value:e.value}))]}),A=l(()=>{const e=$.value.trim();return I.value.filter(a=>{if(q.value&&(a.district||"")!==q.value)return!1;if(B.value&&(a.venue_type||"")!==B.value)return!1;if("free"===H.value&&"free"!==(a.ticket_type||""))return!1;if("paid"===H.value&&"paid"!==(a.ticket_type||""))return!1;if(e){if(!`${a.name||""}${a.address||""}`.includes(e))return!1}return!0})}),D=l(()=>{const e=[...A.value],a=J.value;return a?e.sort((e,l)=>{const s=Number(e.lat),t=Number(e.lng),u=Number(l.lat),r=Number(l.lng);if(!s||!t)return 1;if(!u||!r)return-1;return F(a.lat,a.lng,s,t)-F(a.lat,a.lng,u,r)}):e});function E(e){if("district"===e){const e=K.value;k({itemList:e.map(e=>e.label),success:a=>{const l=e[a.tapIndex];V.value=l.label,q.value=l.value}})}else if("type"===e){const e=P.value;k({itemList:e.map(e=>e.label),success:a=>{const l=e[a.tapIndex];z.value=l.label,B.value=l.value}})}else{const e=U.value;k({itemList:e.map(e=>e.label),success:a=>{const l=e[a.tapIndex];G.value=l.label,H.value=l.value}})}}function M(e){const a=J.value;if(!a)return"距离 --";const l=Number(e.lat),s=Number(e.lng);if(!l||!s)return"距离 --";const t=F(a.lat,a.lng,l,s);return`距您 ${N(t)}`}return s(()=>{!async function(){const[e,a]=await Promise.all([x(),j()]);L.value=e,I.value=a||[]}(),r({type:"gcj02",success:e=>{J.value={lat:e.latitude,lng:e.longitude}},fail:()=>{J.value=null}})}),(e,a)=>{const l=o,s=d,r=c,k=m;return i(),t(r,{class:"page"},{default:u(()=>[n(r,{class:"map-section"},{default:u(()=>[n(r,{class:"toolbar"},{default:u(()=>[n(r,{class:"search-wrap"},{default:u(()=>[n(l,{modelValue:$.value,"onUpdate:modelValue":a[0]||(a[0]=e=>$.value=e),class:"search-input",placeholder:"请输入你要搜索的内容","placeholder-class":"ph"},null,8,["modelValue"]),n(s,{class:"search-icon-img",src:v(w),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1}),n(r,{class:"filters"},{default:u(()=>[n(r,{class:"f-item",onClick:a[1]||(a[1]=e=>E("district"))},{default:u(()=>[n(k,{class:"f-item-text"},{default:u(()=>[f(p(V.value),1)]),_:1}),n(s,{class:"f-item-arrow",src:v(C),mode:"aspectFit"},null,8,["src"])]),_:1}),n(r,{class:"f-item",onClick:a[2]||(a[2]=e=>E("type"))},{default:u(()=>[n(k,{class:"f-item-text"},{default:u(()=>[f(p(z.value),1)]),_:1}),n(s,{class:"f-item-arrow",src:v(C),mode:"aspectFit"},null,8,["src"])]),_:1}),n(r,{class:"f-item",onClick:a[3]||(a[3]=e=>E("ticket"))},{default:u(()=>[n(k,{class:"f-item-text"},{default:u(()=>[f(p(G.value),1)]),_:1}),n(s,{class:"f-item-arrow",src:v(C),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1})]),_:1}),n(r,{class:"list"},{default:u(()=>[(i(!0),_(b,null,g(D.value,e=>(i(),t(r,{key:e.id,class:"item",onClick:a=>{return l=e.id,void h({url:`/pages/venue/detail?id=${l}`});var l}},{default:u(()=>[e.cover_image?(i(),t(s,{key:0,class:"img",src:e.cover_image,mode:"aspectFill"},null,8,["src"])):(i(),t(r,{key:1,class:"img placeholder"})),n(r,{class:"body"},{default:u(()=>[n(r,{class:"name"},{default:u(()=>[f(p(e.name),1)]),_:2},1024),n(r,{class:"addr"},{default:u(()=>[f(p(e.address||"-"),1)]),_:2},1024),n(r,{class:"dist"},{default:u(()=>[f(p(M(e)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),D.value.length?y("",!0):(i(),t(r,{key:0,class:"empty-tip"},{default:u(()=>[f("暂无符合条件的场馆")]),_:1}))]),_:1})]),_:1})}}}),[["__scopeId","data-v-ba778cf3"]]);export{L as default};
|
||||
@ -1 +1 @@
|
||||
import{d as a,e as l,R as e,j as s,k as n,g as u,S as t,v as o,t as r,u as c,H as i,y as d,z as f,x as _,L as p}from"./index-BGcsYrai.js";import{g as v,l as m}from"./localProfile.9aru8Fu9.js";import{_ as h}from"./_plugin-vue_export-helper.BCo6x5W8.js";const k=h(a({__name:"index",setup(a){const h=l("游客"),k=l(""),g=l("");function x(a){return a&&11===a.length?`${a.slice(0,3)}****${a.slice(7)}`:a||""}function y(){p({url:"/pages/mine/profile"})}function j(){p({url:"/pages/mine/orders"})}return e(()=>{!async function(){var a;if(u(t.accessToken))try{const a=await v();return h.value=(a.real_name||a.nickname||"用户").trim()||"用户",k.value=a.phone?x(a.phone):"",void(g.value=a.avatar_url||"")}catch{}const l=m();h.value=(null==(a=null==l?void 0:l.real_name)?void 0:a.trim())||"游客",k.value=(null==l?void 0:l.phone)?x(l.phone):"",g.value=(null==l?void 0:l.avatar_url)||""}()}),(a,l)=>{const e=i,u=o,t=_;return r(),s(u,{class:"page"},{default:n(()=>[c(u,{class:"header"},{default:n(()=>[c(u,{class:"profile",onClick:y},{default:n(()=>[g.value?(r(),s(e,{key:0,class:"avatar",src:g.value,mode:"aspectFill"},null,8,["src"])):(r(),s(u,{key:1,class:"avatar placeholder"})),c(u,{class:"profile-info"},{default:n(()=>[c(u,{class:"name"},{default:n(()=>[d(f(h.value),1)]),_:1}),c(u,{class:"phone"},{default:n(()=>[d(f(k.value||"完善信息方便预约"),1)]),_:1})]),_:1})]),_:1})]),_:1}),c(u,{class:"panel"},{default:n(()=>[c(u,{class:"menu-item",onClick:y},{default:n(()=>[c(t,null,{default:n(()=>[d("我的信息")]),_:1}),c(t,null,{default:n(()=>[d(">")]),_:1})]),_:1}),c(u,{class:"menu-item",onClick:j},{default:n(()=>[c(t,null,{default:n(()=>[d("预约记录")]),_:1}),c(t,null,{default:n(()=>[d(">")]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-8b642866"]]);export{k as default};
|
||||
import{d as a,e as l,R as e,j as s,k as n,g as u,S as t,v as o,t as r,u as c,H as i,y as d,z as f,x as _,L as p}from"./index-BBl9NF8i.js";import{g as v,l as m}from"./localProfile.DGtNIMzd.js";import{_ as h}from"./_plugin-vue_export-helper.BCo6x5W8.js";const k=h(a({__name:"index",setup(a){const h=l("游客"),k=l(""),g=l("");function x(a){return a&&11===a.length?`${a.slice(0,3)}****${a.slice(7)}`:a||""}function y(){p({url:"/pages/mine/profile"})}function j(){p({url:"/pages/mine/orders"})}return e(()=>{!async function(){var a;if(u(t.accessToken))try{const a=await v();return h.value=(a.real_name||a.nickname||"用户").trim()||"用户",k.value=a.phone?x(a.phone):"",void(g.value=a.avatar_url||"")}catch{}const l=m();h.value=(null==(a=null==l?void 0:l.real_name)?void 0:a.trim())||"游客",k.value=(null==l?void 0:l.phone)?x(l.phone):"",g.value=(null==l?void 0:l.avatar_url)||""}()}),(a,l)=>{const e=i,u=o,t=_;return r(),s(u,{class:"page"},{default:n(()=>[c(u,{class:"header"},{default:n(()=>[c(u,{class:"profile",onClick:y},{default:n(()=>[g.value?(r(),s(e,{key:0,class:"avatar",src:g.value,mode:"aspectFill"},null,8,["src"])):(r(),s(u,{key:1,class:"avatar placeholder"})),c(u,{class:"profile-info"},{default:n(()=>[c(u,{class:"name"},{default:n(()=>[d(f(h.value),1)]),_:1}),c(u,{class:"phone"},{default:n(()=>[d(f(k.value||"完善信息方便预约"),1)]),_:1})]),_:1})]),_:1})]),_:1}),c(u,{class:"panel"},{default:n(()=>[c(u,{class:"menu-item",onClick:y},{default:n(()=>[c(t,null,{default:n(()=>[d("我的信息")]),_:1}),c(t,null,{default:n(()=>[d(">")]),_:1})]),_:1}),c(u,{class:"menu-item",onClick:j},{default:n(()=>[c(t,null,{default:n(()=>[d("预约记录")]),_:1}),c(t,null,{default:n(()=>[d(">")]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-8b642866"]]);export{k as default};
|
||||
@ -1 +1 @@
|
||||
import{d as a,e,o as l,j as s,k as t,g as u,S as r,v as n,t as c,y as o,u as d,H as i,z as v,x as _,I as p,T as m,s as f,U as h,a as y,V,c as b}from"./index-BGcsYrai.js";import{g,l as k,u as w,s as x}from"./localProfile.9aru8Fu9.js";import{_ as j}from"./_plugin-vue_export-helper.BCo6x5W8.js";const T=j(a({__name:"profile",setup(a){const j=e(!0),T=e(!1),U=e(!1),z=e({real_name:"",phone:"",id_card:"",avatar_url:""});function C(a){z.value.real_name=a.real_name||"",z.value.phone=a.phone||"",z.value.id_card=a.id_card||"",z.value.avatar_url=a.avatar_url||""}function F(){U.value?h({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:async a=>{const e=a.tempFilePaths[0];if(e)try{y({title:"上传中"});const{url:a}=await V(e);z.value.avatar_url=a}catch(l){f({title:(null==l?void 0:l.message)||"上传失败",icon:"none"})}finally{b()}}}):f({title:"请先通过微信登录后再上传头像",icon:"none"})}async function I(){if(z.value.real_name.trim())if(/^1\d{10}$/.test(z.value.phone.trim()))if(!z.value.id_card||/^\d{17}[\dXx]$/.test(z.value.id_card.trim())){T.value=!0;try{const a={real_name:z.value.real_name.trim(),phone:z.value.phone.trim(),id_card:z.value.id_card.trim()||void 0,avatar_url:z.value.avatar_url||void 0};U.value&&await w(a),x({real_name:a.real_name,phone:a.phone,id_card:a.id_card,avatar_url:a.avatar_url}),f({title:"保存成功",icon:"success"})}catch(a){f({title:(null==a?void 0:a.message)||"保存失败",icon:"none"})}finally{T.value=!1}}else f({title:"身份证号格式不正确",icon:"none"});else f({title:"请填写11位手机号",icon:"none"});else f({title:"请填写姓名",icon:"none"})}return l(()=>{!async function(){j.value=!0,U.value=!!u(r.accessToken);try{if(U.value)try{const a=await g();z.value.real_name=a.real_name||"",z.value.phone=a.phone||"",z.value.id_card=a.id_card||"",z.value.avatar_url=a.avatar_url||""}catch{const a=k();a&&C(a)}else{const a=k();a&&C(a)}}finally{j.value=!1}}()}),(a,e)=>{const l=n,u=i,r=_,f=p,h=m;return c(),s(l,{class:"page"},{default:t(()=>[j.value?(c(),s(l,{key:0,class:"loading"},{default:t(()=>[o("加载中…")]),_:1})):(c(),s(l,{key:1,class:"content"},{default:t(()=>[d(l,{class:"avatar-block"},{default:t(()=>[d(l,{class:"avatar-wrap",onClick:F},{default:t(()=>[z.value.avatar_url?(c(),s(u,{key:0,class:"avatar",src:z.value.avatar_url,mode:"aspectFill"},null,8,["src"])):(c(),s(l,{key:1,class:"avatar placeholder"})),d(l,{class:"avatar-tip"},{default:t(()=>[o(v(U.value?"点击更换头像":"登录后可上传头像"),1)]),_:1})]),_:1})]),_:1}),d(l,{class:"card"},{default:t(()=>[d(l,{class:"row"},{default:t(()=>[d(r,{class:"label"},{default:t(()=>[o("姓名")]),_:1}),d(f,{modelValue:z.value.real_name,"onUpdate:modelValue":e[0]||(e[0]=a=>z.value.real_name=a),class:"input",placeholder:"必填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1}),d(l,{class:"row"},{default:t(()=>[d(r,{class:"label"},{default:t(()=>[o("手机号")]),_:1}),d(f,{modelValue:z.value.phone,"onUpdate:modelValue":e[1]||(e[1]=a=>z.value.phone=a),class:"input",type:"number",maxlength:"11",placeholder:"必填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1}),d(l,{class:"row last"},{default:t(()=>[d(r,{class:"label"},{default:t(()=>[o("身份证")]),_:1}),d(f,{modelValue:z.value.id_card,"onUpdate:modelValue":e[2]||(e[2]=a=>z.value.id_card=a),class:"input",maxlength:"18",placeholder:"选填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1})]),_:1}),d(h,{class:"btn",disabled:T.value,onClick:I},{default:t(()=>[o(v(T.value?"保存中…":"保存"),1)]),_:1},8,["disabled"])]),_:1}))]),_:1})}}}),[["__scopeId","data-v-569d5554"]]);export{T as default};
|
||||
import{d as a,e,o as l,j as s,k as t,g as u,S as r,v as n,t as c,y as o,u as d,H as i,z as v,x as _,I as p,T as m,s as f,U as h,a as y,V,c as b}from"./index-BBl9NF8i.js";import{g,l as k,u as w,s as x}from"./localProfile.DGtNIMzd.js";import{_ as j}from"./_plugin-vue_export-helper.BCo6x5W8.js";const T=j(a({__name:"profile",setup(a){const j=e(!0),T=e(!1),U=e(!1),z=e({real_name:"",phone:"",id_card:"",avatar_url:""});function C(a){z.value.real_name=a.real_name||"",z.value.phone=a.phone||"",z.value.id_card=a.id_card||"",z.value.avatar_url=a.avatar_url||""}function F(){U.value?h({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:async a=>{const e=a.tempFilePaths[0];if(e)try{y({title:"上传中"});const{url:a}=await V(e);z.value.avatar_url=a}catch(l){f({title:(null==l?void 0:l.message)||"上传失败",icon:"none"})}finally{b()}}}):f({title:"请先通过微信登录后再上传头像",icon:"none"})}async function I(){if(z.value.real_name.trim())if(/^1\d{10}$/.test(z.value.phone.trim()))if(!z.value.id_card||/^\d{17}[\dXx]$/.test(z.value.id_card.trim())){T.value=!0;try{const a={real_name:z.value.real_name.trim(),phone:z.value.phone.trim(),id_card:z.value.id_card.trim()||void 0,avatar_url:z.value.avatar_url||void 0};U.value&&await w(a),x({real_name:a.real_name,phone:a.phone,id_card:a.id_card,avatar_url:a.avatar_url}),f({title:"保存成功",icon:"success"})}catch(a){f({title:(null==a?void 0:a.message)||"保存失败",icon:"none"})}finally{T.value=!1}}else f({title:"身份证号格式不正确",icon:"none"});else f({title:"请填写11位手机号",icon:"none"});else f({title:"请填写姓名",icon:"none"})}return l(()=>{!async function(){j.value=!0,U.value=!!u(r.accessToken);try{if(U.value)try{const a=await g();z.value.real_name=a.real_name||"",z.value.phone=a.phone||"",z.value.id_card=a.id_card||"",z.value.avatar_url=a.avatar_url||""}catch{const a=k();a&&C(a)}else{const a=k();a&&C(a)}}finally{j.value=!1}}()}),(a,e)=>{const l=n,u=i,r=_,f=p,h=m;return c(),s(l,{class:"page"},{default:t(()=>[j.value?(c(),s(l,{key:0,class:"loading"},{default:t(()=>[o("加载中…")]),_:1})):(c(),s(l,{key:1,class:"content"},{default:t(()=>[d(l,{class:"avatar-block"},{default:t(()=>[d(l,{class:"avatar-wrap",onClick:F},{default:t(()=>[z.value.avatar_url?(c(),s(u,{key:0,class:"avatar",src:z.value.avatar_url,mode:"aspectFill"},null,8,["src"])):(c(),s(l,{key:1,class:"avatar placeholder"})),d(l,{class:"avatar-tip"},{default:t(()=>[o(v(U.value?"点击更换头像":"登录后可上传头像"),1)]),_:1})]),_:1})]),_:1}),d(l,{class:"card"},{default:t(()=>[d(l,{class:"row"},{default:t(()=>[d(r,{class:"label"},{default:t(()=>[o("姓名")]),_:1}),d(f,{modelValue:z.value.real_name,"onUpdate:modelValue":e[0]||(e[0]=a=>z.value.real_name=a),class:"input",placeholder:"必填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1}),d(l,{class:"row"},{default:t(()=>[d(r,{class:"label"},{default:t(()=>[o("手机号")]),_:1}),d(f,{modelValue:z.value.phone,"onUpdate:modelValue":e[1]||(e[1]=a=>z.value.phone=a),class:"input",type:"number",maxlength:"11",placeholder:"必填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1}),d(l,{class:"row last"},{default:t(()=>[d(r,{class:"label"},{default:t(()=>[o("身份证")]),_:1}),d(f,{modelValue:z.value.id_card,"onUpdate:modelValue":e[2]||(e[2]=a=>z.value.id_card=a),class:"input",maxlength:"18",placeholder:"选填","placeholder-class":"ph"},null,8,["modelValue"])]),_:1})]),_:1}),d(h,{class:"btn",disabled:T.value,onClick:I},{default:t(()=>[o(v(T.value?"保存中…":"保存"),1)]),_:1},8,["disabled"])]),_:1}))]),_:1})}}}),[["__scopeId","data-v-569d5554"]]);export{T as default};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{d as a,j as s,k as e,v as r,t as n,u as l,B as t,F as c,C as o,y as u,z as d}from"./index-BGcsYrai.js";import{_}from"./_plugin-vue_export-helper.BCo6x5W8.js";const f=_(a({__name:"index",setup(a){const _=[{rank:1,name:"苏州青少年科技馆",score:4912},{rank:2,name:"苏州科普体验中心",score:4911},{rank:3,name:"苏州未来科幻馆",score:4860},{rank:4,name:"苏州自然资源馆",score:4720},{rank:5,name:"苏州农业科普园",score:4618}];return(a,f)=>{const m=r;return n(),s(m,{class:"page"},{default:e(()=>[l(m,{class:"list"},{default:e(()=>[(n(),t(c,null,o(_,a=>l(m,{key:a.rank,class:"row"},{default:e(()=>[l(m,{class:"left"},{default:e(()=>[l(m,{class:"rank"},{default:e(()=>[u("TOP"+d(a.rank),1)]),_:2},1024),l(m,{class:"name"},{default:e(()=>[u(d(a.name),1)]),_:2},1024)]),_:2},1024),l(m,{class:"score"},{default:e(()=>[u(d(a.score),1)]),_:2},1024)]),_:2},1024)),64))]),_:1})]),_:1})}}}),[["__scopeId","data-v-8df1afeb"]]);export{f as default};
|
||||
import{d as a,j as s,k as e,v as r,t as n,u as l,B as t,F as c,C as o,y as u,z as d}from"./index-BBl9NF8i.js";import{_}from"./_plugin-vue_export-helper.BCo6x5W8.js";const f=_(a({__name:"index",setup(a){const _=[{rank:1,name:"苏州青少年科技馆",score:4912},{rank:2,name:"苏州科普体验中心",score:4911},{rank:3,name:"苏州未来科幻馆",score:4860},{rank:4,name:"苏州自然资源馆",score:4720},{rank:5,name:"苏州农业科普园",score:4618}];return(a,f)=>{const m=r;return n(),s(m,{class:"page"},{default:e(()=>[l(m,{class:"list"},{default:e(()=>[(n(),t(c,null,o(_,a=>l(m,{key:a.rank,class:"row"},{default:e(()=>[l(m,{class:"left"},{default:e(()=>[l(m,{class:"rank"},{default:e(()=>[u("TOP"+d(a.rank),1)]),_:2},1024),l(m,{class:"name"},{default:e(()=>[u(d(a.name),1)]),_:2},1024)]),_:2},1024),l(m,{class:"score"},{default:e(()=>[u(d(a.score),1)]),_:2},1024)]),_:2},1024)),64))]),_:1})]),_:1})}}}),[["__scopeId","data-v-8df1afeb"]]);export{f as default};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
import{d as e,e as a,f as l,w as t,W as s,j as n,k as i,v as r,t as u,u as o,n as d,M as c,x as v,y as g,z as f,B as m,F as p,C as h,G as _,D as b,E as k,_ as y,L as w,s as x,$,a0 as C,a1 as S,a2 as N,a3 as j}from"./index-BGcsYrai.js";import{k as z}from"./content.CxzBwpG2.js";import{g as B}from"./markerPin.DdplcbG_.js";import{_ as R}from"./_plugin-vue_export-helper.BCo6x5W8.js";const I="#05c9ac",L=R(e({__name:"detail",setup(e){const R=a(null),L=a(!0),P=a(!1),W=l(()=>{var e;const a=null==(e=R.value)?void 0:e.intro_html;if(null==a||""===a)return"";const l=String(a);let t="";if(/<[a-z][\s\S]*>/i.test(l))t=function(e){if(!e||"string"!=typeof e)return"";const a="max-width:100%;height:auto;display:block;vertical-align:top;";return e.replace(/<img\b([\s\S]*?)(\/>|>)/gi,(e,l,t)=>{const s=String(l).trim();return/style\s*=/i.test(s)?/max-width\s*:/i.test(s)?e:e.replace(/style\s*=\s*(["'])([\s\S]*?)\1/i,(e,l,t)=>/max-width/i.test(t)?e:`style=${l}${t};${a}${l}`):`<img ${s} style="${a}"${"/>"===t?" />":">"}`})}(l);else{const e=function(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}(l);t=`<div style="white-space:pre-wrap;font-size:14px;color:#4e5969;line-height:1.65;">${e}</div>`}return(s=t)&&String(s).trim()&&String(s).replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/\s+/g," ").trim().length>0?t:"";var s}),Y=l(()=>{var e,a;const l=null==(a=null==(e=R.value)?void 0:e.venues)?void 0:a[0];return{latitude:Number((null==l?void 0:l.lat)||31.2989),longitude:Number((null==l?void 0:l.lng)||120.5853)}}),q=l(()=>B(I)),D=l(()=>{var e;const a=q.value;return((null==(e=R.value)?void 0:e.venues)||[]).map((e,l)=>{const t=Number(e.lat),s=Number(e.lng);return t&&s?{id:Number(e.id)||l+1,latitude:t,longitude:s,width:32,height:38,iconPath:a||void 0,anchor:{x:.5,y:1},label:{content:String(l+1),color:"#ffffff",fontSize:11,anchorX:0,anchorY:0,borderWidth:0,bgColor:I,borderRadius:20,padding:4},callout:{content:`${l+1}. ${e.name||"场馆"}`,color:"#333333",fontSize:12,borderRadius:8,bgColor:"#ffffff",padding:8,display:"BYCLICK"}}:null}).filter(Boolean)});function E(){C(()=>{setTimeout(()=>{var e;const a=null==(e=S())?void 0:e.proxy,l=N();a&&l.in(a);const t=j(180);l.select(".judge-intro").boundingClientRect(),l.exec(e=>{const[a]=e||[];P.value=!!(a&&a.height&&a.height>t+1)})},120)})}return t(W,()=>{L.value=!0,E()}),t(R,()=>{E()}),s(async e=>{const a=Number((null==e?void 0:e.id)||0);a&&(R.value=await z(a))}),(e,a)=>{const l=c,t=v,s=r,C=y,S=d;return u(),n(s,{class:"page"},{default:i(()=>[o(S,{"scroll-y":"",class:"scroll"},{default:i(()=>[o(l,{class:"map",latitude:Y.value.latitude,longitude:Y.value.longitude,markers:D.value,scale:12,"show-location":""},null,8,["latitude","longitude","markers"]),o(s,{class:"main-card"},{default:i(()=>{var e,a,l;return[o(t,{class:"tour-title"},{default:i(()=>{var e;return[g(f((null==(e=R.value)?void 0:e.name)||"-"),1)]}),_:1}),(null==(a=null==(e=R.value)?void 0:e.tags)?void 0:a.length)?(u(),n(s,{key:0,class:"chip-row"},{default:i(()=>[(u(!0),m(p,null,h(R.value.tags,e=>(u(),n(t,{key:e,class:"chip"},{default:i(()=>[g(f(e),1)]),_:2},1024))),128))]),_:1})):_("",!0),(u(!0),m(p,null,h((null==(l=R.value)?void 0:l.venues)||[],(e,a)=>(u(),n(s,{key:e.id,class:"venue-row",onClick:a=>{return l=e.id,void w({url:`/pages/venue/detail?id=${l}`});var l}},{default:i(()=>[o(s,{class:"idx"},{default:i(()=>[g(f(Number(a)+1),1)]),_:2},1024),o(s,{class:"venue-mid"},{default:i(()=>[o(s,{class:"name"},{default:i(()=>[g(f(e.name),1)]),_:2},1024),o(s,{class:"addr"},{default:i(()=>[g(f(e.address||"-"),1)]),_:2},1024)]),_:2},1024),o(s,{class:"go",onClick:b(a=>function(e){(null==e?void 0:e.lat)&&(null==e?void 0:e.lng)?$({latitude:Number(e.lat),longitude:Number(e.lng),name:e.name||"站点",address:e.address||""}):x({title:"暂无导航坐标",icon:"none"})}(e),["stop"])},{default:i(()=>[g("导航")]),_:2},1032,["onClick"])]),_:2},1032,["onClick"]))),128))]}),_:1}),W.value?(u(),n(s,{key:0,class:"intro-card"},{default:i(()=>[o(s,{class:"sec-title-row"},{default:i(()=>[o(t,{class:"sec-title"},{default:i(()=>[g("线路简介")]),_:1}),P.value?(u(),n(t,{key:0,class:"expand-link",onClick:a[0]||(a[0]=e=>L.value=!L.value)},{default:i(()=>[g(f(L.value?"收起":"展开"),1)]),_:1})):_("",!0)]),_:1}),o(s,{class:k(["intro-rich-wrap judge-intro",{"is-collapsed":P.value&&!L.value}])},{default:i(()=>[o(C,{class:"intro-rich",nodes:W.value},null,8,["nodes"])]),_:1},8,["class"])]),_:1})):_("",!0),o(s,{class:"safe-bottom"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-b9bc3caa"]]);export{L as default};
|
||||
@ -1 +1 @@
|
||||
import{d as a,e,f as l,o as t,a0 as s,w as u,j as d,k as v,a7 as c,v as n,t as r,u as i,x as o,y as f,E as h,z as _,a8 as x,a6 as y,B as m,F as p,C as g}from"./index-BGcsYrai.js";import{_ as k}from"./_plugin-vue_export-helper.BCo6x5W8.js";const S="trafficLineChart",w=k(a({__name:"index",setup(a){const k=e("week"),w={week:[{date:"04-03",value:12358},{date:"04-04",value:15540},{date:"04-05",value:14200},{date:"04-06",value:18680},{date:"04-07",value:14820},{date:"04-08",value:20550},{date:"04-09",value:32100}],month:[{date:"04-01",value:12800},{date:"04-05",value:18800},{date:"04-10",value:17600},{date:"04-15",value:22900},{date:"04-20",value:19600},{date:"04-25",value:26400},{date:"04-30",value:30100}],year:[{date:"01月",value:268e3},{date:"03月",value:292e3},{date:"05月",value:318e3},{date:"07月",value:346e3},{date:"09月",value:332e3},{date:"11月",value:368e3},{date:"12月",value:392e3}]},b=l(()=>w[k.value]),C=l(()=>{var a,e;return`${(null==(a=b.value[0])?void 0:a.date)||"-"} 至 ${(null==(e=b.value[b.value.length-1])?void 0:e.date)||"-"}`}),T=l(()=>b.value.reduce((a,e)=>e.value>a.value?e:a,b.value[0]));function F(){const a=b.value;if(!a.length)return;const e=c(S),l=24,t=18,s=24,u=18,d=260,v=Math.min(...a.map(a=>a.value)),n=Math.max(...a.map(a=>a.value)),r=Math.max(1,n-v),i=680-u-t,o=d-l-s;e.clearRect(0,0,680,d);const f=e.createLinearGradient(0,l,0,d);f.addColorStop(0,"rgba(5,201,172,0.35)"),f.addColorStop(1,"rgba(5,201,172,0.02)");const h=a.map((e,t)=>({x:u+i*t/Math.max(1,a.length-1),y:l+(n-e.value)/r*o,value:e.value,date:e.date}));e.beginPath(),h.forEach((a,l)=>0===l?e.moveTo(a.x,a.y):e.lineTo(a.x,a.y)),e.lineTo(h[h.length-1].x,252),e.lineTo(h[0].x,252),e.closePath(),e.setFillStyle(f),e.fill(),e.beginPath(),h.forEach((a,l)=>0===l?e.moveTo(a.x,a.y):e.lineTo(a.x,a.y)),e.setStrokeStyle("#05c9ac"),e.setLineWidth(5),e.stroke(),e.setFillStyle("#ff7d00"),h.forEach(a=>{e.beginPath(),e.arc(a.x,a.y,6,0,2*Math.PI),e.fill(),e.setFillStyle("#4e5969"),e.setFontSize(20),e.fillText(a.value.toLocaleString(),a.x-34,a.y-12),e.setFillStyle("#ff7d00")}),e.draw()}return t(async()=>{await s(),F()}),u(k,async()=>{await s(),F()}),(a,e)=>{const l=n,t=o,s=x;return r(),d(l,{class:"page"},{default:v(()=>[i(l,{class:"section-title"},{default:v(()=>[i(l,{class:"bar"}),i(t,{class:"title"},{default:v(()=>[f("全市参观人数")]),_:1}),i(l,{class:"period"},{default:v(()=>[i(t,{class:h({active:"week"===k.value}),onClick:e[0]||(e[0]=a=>k.value="week")},{default:v(()=>[f("周")]),_:1},8,["class"]),i(t,{class:h({active:"month"===k.value}),onClick:e[1]||(e[1]=a=>k.value="month")},{default:v(()=>[f("月")]),_:1},8,["class"]),i(t,{class:h({active:"year"===k.value}),onClick:e[2]||(e[2]=a=>k.value="year")},{default:v(()=>[f("年")]),_:1},8,["class"])]),_:1})]),_:1}),i(l,{class:"date-range"},{default:v(()=>[f(_(C.value),1)]),_:1}),i(l,{class:"chart-card"},{default:v(()=>[i(s,{"canvas-id":S,id:S,class:"chart-canvas",style:y("width:680rpx;height:260rpx;")},null,8,["style"]),i(l,{class:"x-axis"},{default:v(()=>[(r(!0),m(p,null,g(b.value,a=>(r(),d(t,{key:a.date},{default:v(()=>[f(_(a.date),1)]),_:2},1024))),128))]),_:1})]),_:1}),i(l,{class:"list-card"},{default:v(()=>[i(l,{class:"list-title"},{default:v(()=>[f("参观人数列表")]),_:1}),(r(!0),m(p,null,g(b.value,a=>(r(),d(l,{key:a.date,class:"row"},{default:v(()=>{var e;return[i(t,{class:"d"},{default:v(()=>[f(_(a.date),1)]),_:2},1024),i(t,{class:h(["c",{hot:a.date===(null==(e=T.value)?void 0:e.date)}])},{default:v(()=>{return[f(_((e=a.value,`${e.toLocaleString()}人`)),1)];var e}),_:2},1032,["class"])]}),_:2},1024))),128))]),_:1})]),_:1})}}}),[["__scopeId","data-v-bc58d322"]]);export{w as default};
|
||||
import{d as a,e,f as l,o as t,a0 as s,w as u,j as d,k as v,a7 as c,v as n,t as r,u as i,x as o,y as f,E as h,z as _,a8 as x,a6 as y,B as m,F as p,C as g}from"./index-BBl9NF8i.js";import{_ as k}from"./_plugin-vue_export-helper.BCo6x5W8.js";const S="trafficLineChart",w=k(a({__name:"index",setup(a){const k=e("week"),w={week:[{date:"04-03",value:12358},{date:"04-04",value:15540},{date:"04-05",value:14200},{date:"04-06",value:18680},{date:"04-07",value:14820},{date:"04-08",value:20550},{date:"04-09",value:32100}],month:[{date:"04-01",value:12800},{date:"04-05",value:18800},{date:"04-10",value:17600},{date:"04-15",value:22900},{date:"04-20",value:19600},{date:"04-25",value:26400},{date:"04-30",value:30100}],year:[{date:"01月",value:268e3},{date:"03月",value:292e3},{date:"05月",value:318e3},{date:"07月",value:346e3},{date:"09月",value:332e3},{date:"11月",value:368e3},{date:"12月",value:392e3}]},b=l(()=>w[k.value]),C=l(()=>{var a,e;return`${(null==(a=b.value[0])?void 0:a.date)||"-"} 至 ${(null==(e=b.value[b.value.length-1])?void 0:e.date)||"-"}`}),T=l(()=>b.value.reduce((a,e)=>e.value>a.value?e:a,b.value[0]));function F(){const a=b.value;if(!a.length)return;const e=c(S),l=24,t=18,s=24,u=18,d=260,v=Math.min(...a.map(a=>a.value)),n=Math.max(...a.map(a=>a.value)),r=Math.max(1,n-v),i=680-u-t,o=d-l-s;e.clearRect(0,0,680,d);const f=e.createLinearGradient(0,l,0,d);f.addColorStop(0,"rgba(5,201,172,0.35)"),f.addColorStop(1,"rgba(5,201,172,0.02)");const h=a.map((e,t)=>({x:u+i*t/Math.max(1,a.length-1),y:l+(n-e.value)/r*o,value:e.value,date:e.date}));e.beginPath(),h.forEach((a,l)=>0===l?e.moveTo(a.x,a.y):e.lineTo(a.x,a.y)),e.lineTo(h[h.length-1].x,252),e.lineTo(h[0].x,252),e.closePath(),e.setFillStyle(f),e.fill(),e.beginPath(),h.forEach((a,l)=>0===l?e.moveTo(a.x,a.y):e.lineTo(a.x,a.y)),e.setStrokeStyle("#05c9ac"),e.setLineWidth(5),e.stroke(),e.setFillStyle("#ff7d00"),h.forEach(a=>{e.beginPath(),e.arc(a.x,a.y,6,0,2*Math.PI),e.fill(),e.setFillStyle("#4e5969"),e.setFontSize(20),e.fillText(a.value.toLocaleString(),a.x-34,a.y-12),e.setFillStyle("#ff7d00")}),e.draw()}return t(async()=>{await s(),F()}),u(k,async()=>{await s(),F()}),(a,e)=>{const l=n,t=o,s=x;return r(),d(l,{class:"page"},{default:v(()=>[i(l,{class:"section-title"},{default:v(()=>[i(l,{class:"bar"}),i(t,{class:"title"},{default:v(()=>[f("全市参观人数")]),_:1}),i(l,{class:"period"},{default:v(()=>[i(t,{class:h({active:"week"===k.value}),onClick:e[0]||(e[0]=a=>k.value="week")},{default:v(()=>[f("周")]),_:1},8,["class"]),i(t,{class:h({active:"month"===k.value}),onClick:e[1]||(e[1]=a=>k.value="month")},{default:v(()=>[f("月")]),_:1},8,["class"]),i(t,{class:h({active:"year"===k.value}),onClick:e[2]||(e[2]=a=>k.value="year")},{default:v(()=>[f("年")]),_:1},8,["class"])]),_:1})]),_:1}),i(l,{class:"date-range"},{default:v(()=>[f(_(C.value),1)]),_:1}),i(l,{class:"chart-card"},{default:v(()=>[i(s,{"canvas-id":S,id:S,class:"chart-canvas",style:y("width:680rpx;height:260rpx;")},null,8,["style"]),i(l,{class:"x-axis"},{default:v(()=>[(r(!0),m(p,null,g(b.value,a=>(r(),d(t,{key:a.date},{default:v(()=>[f(_(a.date),1)]),_:2},1024))),128))]),_:1})]),_:1}),i(l,{class:"list-card"},{default:v(()=>[i(l,{class:"list-title"},{default:v(()=>[f("参观人数列表")]),_:1}),(r(!0),m(p,null,g(b.value,a=>(r(),d(l,{key:a.date,class:"row"},{default:v(()=>{var e;return[i(t,{class:"d"},{default:v(()=>[f(_(a.date),1)]),_:2},1024),i(t,{class:h(["c",{hot:a.date===(null==(e=T.value)?void 0:e.date)}])},{default:v(()=>{return[f(_((e=a.value,`${e.toLocaleString()}人`)),1)];var e}),_:2},1032,["class"])]}),_:2},1024))),128))]),_:1})]),_:1})}}}),[["__scopeId","data-v-bc58d322"]]);export{w as default};
|
||||
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue