前端重构 Vite

This commit is contained in:
2026-05-29 17:30:26 +08:00
parent cbd5d98993
commit 5bb9bc84ea
44 changed files with 7289 additions and 8769 deletions
@@ -0,0 +1 @@
import{E as e,_ as t,t as n,y as r}from"./index-DkoUSxK0.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`div`,{class:`page-header`},[t(`h1`,{class:`page-title`},`设计体系`),t(`p`,{class:`page-subtitle`},`迁移中...`)],-1)]])}var o=n(i,[[`render`,a]]);export{o as default};
+1
View File
@@ -0,0 +1 @@
.hero-section[data-v-a374362f]{text-align:center;padding:var(--space-16) 0}.hero-title[data-v-a374362f]{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-4)}.hero-subtitle[data-v-a374362f]{font-size:var(--text-lg);color:var(--text-tertiary);max-width:600px;margin:0 auto var(--space-8)}.features-grid[data-v-a374362f]{gap:var(--space-6);margin-top:var(--space-12);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.feature-card[data-v-a374362f]{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6);text-align:left}.feature-icon[data-v-a374362f]{background:var(--primary-50);border-radius:var(--radius-lg);width:40px;height:40px;color:var(--primary-500);font-size:var(--text-lg);margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.feature-title[data-v-a374362f]{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.feature-desc[data-v-a374362f]{font-size:var(--text-sm);color:var(--text-tertiary);line-height:1.6}
+1
View File
@@ -0,0 +1 @@
import{E as e,b as t,t as n,y as r}from"./index-DkoUSxK0.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`<div class="hero-section" data-v-a374362f><h1 class="hero-title" data-v-a374362f>Gemold 模具制造管理系统</h1><p class="hero-subtitle" data-v-a374362f>智能模具设计与制造一体化平台,从零件分析到模具生成,全流程数字化解决方案</p></div><div class="features-grid" data-v-a374362f><div class="feature-card" data-v-a374362f><div class="feature-icon" data-v-a374362f>◈</div><h3 class="feature-title" data-v-a374362f>MoldInsight</h3><p class="feature-desc" data-v-a374362f>智能模具分析引擎,支持 STP/STEP 文件解析、分模设计、CAM 刀路规划</p></div><div class="feature-card" data-v-a374362f><div class="feature-icon" data-v-a374362f>⊞</div><h3 class="feature-title" data-v-a374362f>进销存管理</h3><p class="feature-desc" data-v-a374362f>产品管理、采购销售、库存管理、财务管理,一站式 ERP 解决方案</p></div><div class="feature-card" data-v-a374362f><div class="feature-icon" data-v-a374362f>⚙</div><h3 class="feature-title" data-v-a374362f>AI 驱动</h3><p class="feature-desc" data-v-a374362f>AI 分型面检测、模具方案评分、智能设计建议,提升设计效率</p></div></div>`,2)]])}var o=n(i,[[`render`,a],[`__scopeId`,`data-v-a374362f`]]);export{o as default};
+1
View File
@@ -0,0 +1 @@
.mb-12[data-v-15993ef5]{margin-bottom:12px}.mb-16[data-v-15993ef5]{margin-bottom:16px}.mt-16[data-v-15993ef5]{margin-top:16px}.mr-8[data-v-15993ef5]{margin-right:8px}.text-secondary[data-v-15993ef5]{color:var(--text-secondary)}.flex-row-center[data-v-15993ef5]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.w-260[data-v-15993ef5]{width:260px}.w-inline-120[data-v-15993ef5]{width:120px;display:inline-block}.w-inline-140[data-v-15993ef5]{width:140px;display:inline-block}.info-display[data-v-15993ef5]{background:var(--bg-secondary);padding:8px 12px}.form-group-spaced[data-v-15993ef5]{margin-bottom:var(--space-4)}.bom-add-btn[data-v-15993ef5]{margin-bottom:8px}.btn-disabled[data-v-15993ef5]{opacity:.5;cursor:not-allowed}.datetime-field[data-v-15993ef5]{cursor:pointer;position:relative}.air-datetime-input[data-v-15993ef5]{cursor:pointer;background:var(--bg-primary)}.datetime-native[data-v-15993ef5]{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.datetime-field-icon[data-v-15993ef5]{pointer-events:none;font-size:1rem;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.required[data-v-15993ef5]{color:var(--error);font-weight:var(--font-bold)}.sales-order-items[data-v-15993ef5]{flex-direction:column;gap:16px;display:flex}.sales-order-item[data-v-15993ef5]{border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.sales-order-item-header[data-v-15993ef5]{background:var(--bg-tertiary);border-bottom:1px solid var(--border-default);gap:0;display:flex}.sales-order-item-header .btn[data-v-15993ef5]{color:var(--text-secondary);background:0 0;border:none;border-radius:0}.sales-order-item-header .btn.active[data-v-15993ef5]{background:var(--primary-500);color:#fff}.sales-order-item-content[data-v-15993ef5]{padding:12px 16px}.sales-order-item-row[data-v-15993ef5]{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.sales-order-item-column[data-v-15993ef5]{flex:1;min-width:120px}.sales-order-item-actions[data-v-15993ef5]{align-items:flex-end;padding-bottom:4px;display:flex}.purchase-order-items[data-v-15993ef5]{flex-direction:column;gap:16px;display:flex}.purchase-order-item[data-v-15993ef5]{border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.purchase-order-item-content[data-v-15993ef5]{padding:12px 16px}.purchase-order-item-row[data-v-15993ef5]{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.purchase-order-item-column[data-v-15993ef5]{flex:1;min-width:120px}.purchase-order-item-actions[data-v-15993ef5]{align-items:flex-end;padding-bottom:4px;display:flex}.material-consumption-list[data-v-15993ef5]{border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.material-consumption-header[data-v-15993ef5]{background:var(--bg-tertiary);font-weight:var(--font-semibold);border-bottom:1px solid var(--border-default);display:flex}.material-consumption-row[data-v-15993ef5]{border-bottom:1px solid var(--border-light);display:flex}.material-consumption-row[data-v-15993ef5]:last-child{border-bottom:none}.material-consumption-total[data-v-15993ef5]{background:var(--bg-tertiary);font-weight:var(--font-bold);border-top:1px solid var(--border-default);display:flex}.material-consumption-item[data-v-15993ef5]{flex:1;min-width:80px;padding:8px 12px}.bom-section[data-v-15993ef5]{border-top:1px solid var(--border-default);margin-top:12px;padding-top:12px}.form-section[data-v-15993ef5]{margin-bottom:16px}.section-header[data-v-15993ef5]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.restock-modal[data-v-15993ef5]{max-width:900px}.restock-col-material[data-v-15993ef5]{flex:2}
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
.login-container[data-v-792eed9c]{background:var(--bg-secondary);min-height:100vh;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.login-card[data-v-792eed9c]{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);width:100%;max-width:400px;padding:var(--space-8)}.login-header[data-v-792eed9c]{text-align:center;margin-bottom:var(--space-8)}.login-logo[data-v-792eed9c]{background:var(--primary-500);border-radius:var(--radius-lg);color:#fff;width:48px;height:48px;font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 auto var(--space-4);justify-content:center;align-items:center;display:flex}.login-title[data-v-792eed9c]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.login-subtitle[data-v-792eed9c]{font-size:var(--text-sm);color:var(--text-tertiary)}
+1
View File
@@ -0,0 +1 @@
import{E as e,O as t,P as n,S as r,_ as i,a,f as o,k as s,l as c,m as l,n as u,o as d,t as f,v as p,y as m}from"./index-DkoUSxK0.js";var h={class:`login-container`},g={class:`login-card`},_={class:`form-group`},v={class:`form-group`},y={key:0,class:`form-error`},b=[`disabled`],x=f(r({__name:`LoginView`,setup(r){let f=c(),x=s({username:``,password:``,error:``,loading:!1}),S=async()=>{x.error=``,x.loading=!0;try{let e=await d(`/api/auth/login`,{method:`POST`,body:JSON.stringify({username:x.username,password:x.password})});a(e.access_token,e.user),u(`登录成功`,`success`),f.push(`/`)}catch(e){x.error=e.message||`登录失败`}finally{x.loading=!1}};return(r,a)=>(e(),m(`div`,h,[i(`div`,g,[a[4]||=i(`div`,{class:`login-header`},[i(`div`,{class:`login-logo`},`G`),i(`h1`,{class:`login-title`},`Gemold`),i(`p`,{class:`login-subtitle`},`模具制造管理系统`)],-1),i(`form`,{onSubmit:l(S,[`prevent`])},[i(`div`,_,[a[2]||=i(`label`,{class:`form-label`},`用户名`,-1),t(i(`input`,{"onUpdate:modelValue":a[0]||=e=>x.username=e,type:`text`,class:`form-input`,placeholder:`请输入用户名`,required:``},null,512),[[o,x.username]])]),i(`div`,v,[a[3]||=i(`label`,{class:`form-label`},`密码`,-1),t(i(`input`,{"onUpdate:modelValue":a[1]||=e=>x.password=e,type:`password`,class:`form-input`,placeholder:`请输入密码`,required:``},null,512),[[o,x.password]])]),x.error?(e(),m(`div`,y,n(x.error),1)):p(``,!0),i(`button`,{type:`submit`,class:`btn btn-primary w-full mt-4`,disabled:x.loading},n(x.loading?`登录中...`:`登录`),9,b)],32)])]))}}),[[`__scopeId`,`data-v-792eed9c`]]);export{x as default};
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
import{E as e,_ as t,t as n,y as r}from"./index-DkoUSxK0.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`div`,{class:`page-header`},[t(`h1`,{class:`page-title`},`灰度发布与回滚`),t(`p`,{class:`page-subtitle`},`迁移中...`)],-1)]])}var o=n(i,[[`render`,a]]);export{o as default};
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
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
function e(e){if(!e||e===0)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**r).toFixed(2))+` `+n[r]}function t(e){return e==null?`N/A`:e>=1e6?(e/1e6).toFixed(2)+`M`:e>=1e3?(e/1e3).toFixed(2)+`K`:e.toFixed?e.toFixed(2):String(e)}function n(e){if(!e)return`N/A`;try{let t=new Date(e);return isNaN(t.getTime())?e:`${t.getFullYear()}/${String(t.getMonth()+1).padStart(2,`0`)}/${String(t.getDate()).padStart(2,`0`)} ${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}catch{return e}}function r(e){if(!e)return`N/A`;try{return new Date(e).toLocaleDateString(`zh-CN`)}catch{return e}}function i(e){return e==null?`¥0.00`:`¥`+Number(e).toFixed(2)}export{t as a,e as i,r as n,n as r,i as t};