erp-frontend/assets/Package-CFnVrxqs.js
2026-04-06 21:14:31 +08:00

1 line
9.3 KiB
JavaScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{F as e,L as t,V as ee}from"./dist-CxIYsDur.js";import{B as n,F as te,Gt as r,H as i,R as a,U as ne,a as o,b as s,ct as c,d as l,et as u,f as d,m as f,p,t as m,tt as re,ut as h,v as g,vt as _,y as v}from"./_plugin-vue_export-helper-BmDUjPB3.js";import{n as y,r as b}from"./index-BdquF2dM.js";import"./request-D2yY8ZUb.js";import{a as x,b as S,d as C,m as w,n as T}from"./superAdmin-DRegPzth.js";var ie={class:`package-container`},ae={class:`card-header`},E={class:`package-name`},D={class:`price`},O={class:`features-list`},k={key:0,class:`more`},oe={class:`pagination-wrapper`},A=m(s({__name:`Package`,setup(s){let m=h(!1),A=h(!1),j=h(!1),M=h(!1),N=h(),P=c({type:``,status:null}),F=c({page:1,limit:15,total:0}),I=h([]),L=[`多店铺管理`,`订单自动同步`,`电子面单`,`物流追踪`,`库存预警`,`数据分析报表`,`API接口`,`自定义打印模板`,`多用户协作`,`数据导出`],R=c({name:``,code:``,type:`month`,price:0,period_days:30,trial_days:0,sort:0,features:[],limits_text:``}),z={name:[{required:!0,message:`请输入套餐名称`,trigger:`blur`}],code:[{required:!0,message:`请输入套餐编码`,trigger:`blur`}],type:[{required:!0,message:`请选择类型`,trigger:`change`}],price:[{required:!0,message:`请输入价格`,trigger:`blur`}],period_days:[{required:!0,message:`请输入周期天数`,trigger:`blur`}]};async function B(){m.value=!0;try{let e=await C({page:F.page,limit:F.limit,...P});e.code===200&&(I.value=e.data.list,F.total=e.data.total)}catch(e){console.error(`获取套餐列表失败`,e)}finally{m.value=!1}}function V(){F.page=1,B()}function H(){P.type=``,P.status=null,V()}function U(){F.page=1,B()}function W(){B()}function G(){M.value=!1,X.value=`创建套餐`,J(),j.value=!0}function K(e){M.value=!0,X.value=`编辑套餐`,Object.assign(R,{name:e.name,code:e.code,type:e.type,price:e.price,period_days:e.period_days,trial_days:e.trial_days,sort:e.sort,features:e.features||[],limits_text:e.limits?JSON.stringify(e.limits,null,2):``}),q.value=e.id,j.value=!0}let q=h(null);async function se(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{let e={...R,limits:R.limits_text?JSON.parse(R.limits_text):{}},t=await(M.value?S:T)(...M.value?[q.value,e]:[e]);t.code===200?(b.success(M.value?`更新成功`:`创建成功`),j.value=!1,B()):b.error(t.message)}catch(e){b.error(e.message||`操作失败`)}finally{A.value=!1}}})}function ce(){N.value?.resetFields(),J()}function J(){Object.assign(R,{name:``,code:``,type:`month`,price:0,period_days:30,trial_days:0,sort:0,features:[],limits_text:``})}async function le(e){try{(await S(e.id,{status:e.status===1?0:1})).code===200&&(b.success(`更新成功`),B())}catch{b.error(`操作失败`)}}async function ue(e){try{(await w(e.id)).code===200&&(b.success(`设置成功`),B())}catch{b.error(`操作失败`)}}async function Y(e){try{await y.confirm(`确定要删除该套餐吗?`,`警告`,{type:`warning`});let t=await x(e.id);t.code===200?(b.success(`删除成功`),B()):b.error(t.message)}catch(e){e!==`cancel`&&b.error(`删除失败`)}}let X=h(`创建套餐`);return te(()=>{B()}),(te,s)=>{let c=i(`el-option`),h=i(`el-select`),y=i(`el-form-item`),b=i(`el-icon`),x=i(`el-button`),S=i(`el-form`),C=i(`el-card`),w=i(`el-table-column`),T=i(`el-tag`),B=i(`el-switch`),q=i(`el-table`),J=i(`el-pagination`),Z=i(`el-input`),Q=i(`el-radio`),de=i(`el-radio-group`),$=i(`el-input-number`),fe=i(`el-dialog`),pe=ne(`loading`);return a(),f(`div`,ie,[v(C,{class:`search-card`},{default:u(()=>[v(S,{inline:!0,model:P},{default:u(()=>[v(y,{label:`类型`},{default:u(()=>[v(h,{modelValue:P.type,"onUpdate:modelValue":s[0]||=e=>P.type=e,placeholder:`全部`,clearable:``},{default:u(()=>[v(c,{label:`月付`,value:`month`}),v(c,{label:`年付`,value:`year`}),v(c,{label:`永久`,value:`perpetual`})]),_:1},8,[`modelValue`])]),_:1}),v(y,{label:`状态`},{default:u(()=>[v(h,{modelValue:P.status,"onUpdate:modelValue":s[1]||=e=>P.status=e,placeholder:`全部`,clearable:``},{default:u(()=>[v(c,{label:`启用`,value:1}),v(c,{label:`禁用`,value:0})]),_:1},8,[`modelValue`])]),_:1}),v(y,null,{default:u(()=>[v(x,{type:`primary`,onClick:V},{default:u(()=>[v(b,null,{default:u(()=>[v(_(ee))]),_:1}),s[15]||=g(` 搜索 `,-1)]),_:1}),v(x,{onClick:H},{default:u(()=>[v(b,null,{default:u(()=>[v(_(t))]),_:1}),s[16]||=g(` 重置 `,-1)]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1}),v(C,{class:`table-card`},{header:u(()=>[l(`div`,ae,[s[18]||=l(`span`,null,`套餐列表`,-1),v(x,{type:`primary`,onClick:G},{default:u(()=>[v(b,null,{default:u(()=>[v(_(e))]),_:1}),s[17]||=g(` 新建套餐 `,-1)]),_:1})])]),default:u(()=>[re((a(),d(q,{data:I.value,stripe:``},{default:u(()=>[v(w,{prop:`id`,label:`ID`,width:`80`}),v(w,{prop:`name`,label:`套餐名称`,"min-width":`150`},{default:u(({row:e})=>[l(`div`,E,[l(`span`,null,r(e.name),1),e.is_default?(a(),d(T,{key:0,type:`success`,size:`small`},{default:u(()=>[...s[19]||=[g(`默认`,-1)]]),_:1})):p(``,!0)])]),_:1}),v(w,{prop:`code`,label:`编码`,width:`120`}),v(w,{prop:`type`,label:`类型`,width:`100`},{default:u(({row:e})=>[v(T,null,{default:u(()=>[g(r(e.type_label),1)]),_:2},1024)]),_:1}),v(w,{prop:`price`,label:`价格`,width:`120`},{default:u(({row:e})=>[l(`span`,D,`¥`+r(e.price),1)]),_:1}),v(w,{prop:`period_days`,label:`周期`,width:`100`},{default:u(({row:e})=>[g(r(e.period_days)+``,1)]),_:1}),v(w,{prop:`trial_days`,label:`试用`,width:`100`},{default:u(({row:e})=>[g(r(e.trial_days>0?e.trial_days+``:`-`),1)]),_:1}),v(w,{prop:`tenant_count`,label:`租户数`,width:`100`}),v(w,{prop:`status`,label:`状态`,width:`100`},{default:u(({row:e})=>[v(B,{"model-value":e.status===1,onChange:t=>le(e),"active-text":`启用`,"inactive-text":`禁用`},null,8,[`model-value`,`onChange`])]),_:1}),v(w,{prop:`features`,label:`功能`,"min-width":`200`},{default:u(({row:e})=>[l(`div`,O,[(a(!0),f(o,null,n((e.features||[]).slice(0,3),(e,t)=>(a(),d(T,{key:t,size:`small`},{default:u(()=>[g(r(e),1)]),_:2},1024))),128)),(e.features||[]).length>3?(a(),f(`span`,k,` +`+r(e.features.length-3),1)):p(``,!0)])]),_:1}),v(w,{label:`操作`,width:`180`,fixed:`right`},{default:u(({row:e})=>[v(x,{type:`primary`,link:``,size:`small`,onClick:t=>K(e)},{default:u(()=>[...s[20]||=[g(`编辑`,-1)]]),_:1},8,[`onClick`]),e.is_default?p(``,!0):(a(),d(x,{key:0,type:`primary`,link:``,size:`small`,onClick:t=>ue(e)},{default:u(()=>[...s[21]||=[g(` 设为默认 `,-1)]]),_:1},8,[`onClick`])),v(x,{type:`danger`,link:``,size:`small`,onClick:t=>Y(e)},{default:u(()=>[...s[22]||=[g(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[pe,m.value]]),l(`div`,oe,[v(J,{"current-page":F.page,"onUpdate:currentPage":s[2]||=e=>F.page=e,"page-size":F.limit,"onUpdate:pageSize":s[3]||=e=>F.limit=e,total:F.total,"page-sizes":[10,20,50],layout:`total, sizes, prev, pager, next`,onSizeChange:U,onCurrentChange:W},null,8,[`current-page`,`page-size`,`total`])])]),_:1}),v(fe,{modelValue:j.value,"onUpdate:modelValue":s[14]||=e=>j.value=e,title:X.value,width:`700px`,onClose:ce},{footer:u(()=>[v(x,{onClick:s[13]||=e=>j.value=!1},{default:u(()=>[...s[26]||=[g(`取消`,-1)]]),_:1}),v(x,{type:`primary`,onClick:se,loading:A.value},{default:u(()=>[...s[27]||=[g(` 确定 `,-1)]]),_:1},8,[`loading`])]),default:u(()=>[v(S,{ref_key:`formRef`,ref:N,model:R,rules:z,"label-width":`100px`},{default:u(()=>[v(y,{label:`套餐名称`,prop:`name`},{default:u(()=>[v(Z,{modelValue:R.name,"onUpdate:modelValue":s[4]||=e=>R.name=e,placeholder:`请输入套餐名称`},null,8,[`modelValue`])]),_:1}),v(y,{label:`套餐编码`,prop:`code`},{default:u(()=>[v(Z,{modelValue:R.code,"onUpdate:modelValue":s[5]||=e=>R.code=e,placeholder:`唯一标识`,disabled:M.value},null,8,[`modelValue`,`disabled`])]),_:1}),v(y,{label:`类型`,prop:`type`},{default:u(()=>[v(de,{modelValue:R.type,"onUpdate:modelValue":s[6]||=e=>R.type=e},{default:u(()=>[v(Q,{label:`month`},{default:u(()=>[...s[23]||=[g(`月付`,-1)]]),_:1}),v(Q,{label:`year`},{default:u(()=>[...s[24]||=[g(`年付`,-1)]]),_:1}),v(Q,{label:`perpetual`},{default:u(()=>[...s[25]||=[g(`永久`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),v(y,{label:`价格`,prop:`price`},{default:u(()=>[v($,{modelValue:R.price,"onUpdate:modelValue":s[7]||=e=>R.price=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),v(y,{label:`周期天数`,prop:`period_days`},{default:u(()=>[v($,{modelValue:R.period_days,"onUpdate:modelValue":s[8]||=e=>R.period_days=e,min:1,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),v(y,{label:`试用天数`},{default:u(()=>[v($,{modelValue:R.trial_days,"onUpdate:modelValue":s[9]||=e=>R.trial_days=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),v(y,{label:`排序`},{default:u(()=>[v($,{modelValue:R.sort,"onUpdate:modelValue":s[10]||=e=>R.sort=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),v(y,{label:`功能特性`},{default:u(()=>[v(h,{modelValue:R.features,"onUpdate:modelValue":s[11]||=e=>R.features=e,multiple:``,filterable:``,"allow-create":``,"default-first-option":``,placeholder:`输入回车添加`},{default:u(()=>[(a(),f(o,null,n(L,e=>v(c,{key:e,label:e,value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),v(y,{label:`使用限制`},{default:u(()=>[v(Z,{modelValue:R.limits_text,"onUpdate:modelValue":s[12]||=e=>R.limits_text=e,type:`textarea`,rows:`3`,placeholder:`JSON格式如: {"users": 10}`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}}),[[`__scopeId`,`data-v-93d81e67`]]);export{A as default};