2 lines
6.7 KiB
JavaScript
2 lines
6.7 KiB
JavaScript
var M=Object.defineProperty,j=Object.defineProperties;var U=Object.getOwnPropertyDescriptors;var w=Object.getOwnPropertySymbols;var Y=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable;var W=(o,e,i)=>e in o?M(o,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):o[e]=i,P=(o,e)=>{for(var i in e||(e={}))Y.call(e,i)&&W(o,i,e[i]);if(w)for(var i of w(e))z.call(e,i)&&W(o,i,e[i]);return o},D=(o,e)=>j(o,U(e));var l=(o,e,i)=>new Promise((f,d)=>{var b=c=>{try{m(i.next(c))}catch(h){d(h)}},k=c=>{try{m(i.throw(c))}catch(h){d(h)}},m=c=>c.done?f(c.value):Promise.resolve(c.value).then(b,k);m((i=i.apply(o,e)).next())});import{V as H,ae as J,$ as u,av as $,a9 as g}from"./bootstrap-CW2RsBQq.js";import"./vxe-table-D615zg_B.js";import{c as K,e as Q,g as X,f as Z,h as N}from"./index-DTsisiJ7.js";import{g as ee}from"./index-OiX9Zrnb.js";import{g as te}from"./rangePickerProps-ChXrdImK.js";import{dI as ae,d1 as v,d9 as ne,m as ie,b9 as A,v as oe,ab as L,b2 as T,bJ as p,j as y,u as a,ad as re,I as le,bb as ce,di as ue}from"../jse/index-index-Cy8amzIl.js";import{_ as R}from"./table-action.vue_vue_type_script_setup_true_lang-BVHphgi_.js";import{P as _}from"./biz-mall-enum-Bmxc7Ei7.js";import{_ as se}from"./doc-alert.vue_vue_type_script_setup_true_lang-CYz8B0VI.js";import{_ as de}from"./page.vue_vue_type_script_setup_true_lang-T8l68R_0.js";import{u as me}from"./use-vxe-grid-2epdwiL1.js";import{A as s}from"./icons-CieLeI1V.js";import{v as V}from"./AlertBuilder-DRlP5VnG.js";import"./dict-tag.vue_vue_type_script_setup_true_lang-DVL6Wnh1.js";import"./index-DqrKARmc.js";import"./circle-check-big-BrzCNNIV.js";import"./x-DsiLb8yz.js";let x=[];ee({}).then(o=>{x=ne(o,"id","parentId","children")});function pe(){return[{fieldName:"name",label:"商品名称",component:"Input",componentProps:{placeholder:"请输入商品名称",allowClear:!0}},{fieldName:"categoryId",label:"商品分类",component:"ApiTreeSelect",componentProps:{placeholder:"请选择商品分类",allowClear:!0,options:x,fieldNames:{label:"name",value:"id",children:"children"}}},{fieldName:"createTime",label:"创建时间",component:"RangePicker",componentProps:D(P({},te()),{allowClear:!0})}]}function fe(o){return[{field:"id",title:"商品编号",fixed:"left",minWidth:100},{field:"name",title:"商品名称",fixed:"left",minWidth:200},{field:"picUrl",title:"商品图片",minWidth:100,cellRender:{name:"CellImage"}},{field:"categoryId",title:"商品分类",minWidth:150,formatter:({row:e})=>ae(x,e.categoryId)},{field:"status",title:"销售状态",minWidth:100,cellRender:{attrs:{beforeChange:o},name:"CellSwitch",props:{checkedValue:1,checkedChildren:"上架",unCheckedValue:0,unCheckedChildren:"下架"}}},{field:"price",title:"价格",minWidth:100,formatter:"formatAmount2"},{field:"marketPrice",title:"市场价",minWidth:100,formatter:({row:e})=>`${v(e.marketPrice)} 元`},{field:"costPrice",title:"成本价",minWidth:100,formatter:({row:e})=>`${v(e.costPrice)} 元`},{field:"salesCount",title:"销量",minWidth:80},{field:"virtualSalesCount",title:"虚拟销量",minWidth:100},{field:"stock",title:"库存",minWidth:80},{field:"browseCount",title:"浏览量",minWidth:100},{field:"sort",title:"排序",minWidth:80},{field:"createTime",title:"创建时间",minWidth:160,formatter:"formatDateTime"},{title:"操作",width:300,fixed:"right",slots:{default:"actions"}}]}const ve=ie({__name:"index",setup(o){const{push:e}=H(),i=J(),f=A(0),d=A([{name:"出售中",type:0,count:0},{name:"仓库中",type:1,count:0},{name:"已售罄",type:2,count:0},{name:"警戒库存",type:3,count:0},{name:"回收站",type:4,count:0}]);function b(){return l(this,null,function*(){yield C.query(),yield m()})}function k(){return l(this,null,function*(){const t=yield Q(yield C.formApi.getValues());ue({fileName:"商品.xls",source:t})})}function m(){return l(this,null,function*(){const t=yield X();for(const r in t){const n=Number(r);d.value[n]&&(d.value[n].count=t[r])}})}function c(){e({name:"ProductSpuAdd"})}function h(t){e({name:"ProductSpuEdit",params:{id:t.id}})}function O(t){return l(this,null,function*(){const r=g.loading({content:u("ui.actionMessage.deleting",[t.name]),duration:0});try{yield Z(t.id),g.success(u("ui.actionMessage.deleteSuccess",[t.name])),yield b()}finally{r()}})}function q(t,r){return l(this,null,function*(){return new Promise((n,S)=>{const I=t?"上架":"下架";V({content:`确认要${I+r.name}吗?`}).then(()=>l(null,null,function*(){yield N({id:r.id,status:t}),g.success(`${I}成功`),n(!0)})).catch(()=>{S(new Error("取消操作"))})})})}function E(t,r){return l(this,null,function*(){const n=r===_.RECYCLE.status?"加入到回收站":"恢复到仓库";yield V({content:`确认要"${t.name}"${n}吗?`});const S=g.loading({content:`正在${n}中...`,duration:0});try{yield N({id:t.id,status:r}),g.success(`${n}成功`),yield b()}finally{S()}})}function B(t){e({name:"ProductSpuDetail",params:{id:t.id}})}const[F,C]=me({formOptions:{schema:pe()},gridOptions:{columns:fe(q),height:"auto",keepSource:!0,proxyConfig:{ajax:{query:(n,S)=>l(null,[n,S],function*({page:t},r){return yield K(P({pageNo:t.currentPage,pageSize:t.pageSize,tabType:f.value},r))})}},rowConfig:{keyField:"id",isHover:!0},toolbarConfig:{refresh:!0,search:!0}}});function G(t){f.value=Number(t),C.query()}return oe(()=>l(null,null,function*(){i.query.categoryId&&(yield C.formApi.setValues({categoryId:Number(i.query.categoryId)})),yield m()})),(t,r)=>(T(),L(a(de),{"auto-content-height":""},{doc:p(()=>[y(a(se),{title:"【商品】商品 SPU 与 SKU",url:"https://doc.iocoder.cn/mall/product-spu-sku/"})]),default:p(()=>[y(a(F),null,{"toolbar-actions":p(()=>[y(a($),{onChange:G,class:"w-full"},{default:p(()=>[(T(!0),re(le,null,ce(d.value,n=>(T(),L(a($).TabPane,{key:n.type,tab:`${n.name} (${n.count})`},null,8,["tab"]))),128))]),_:1})]),"toolbar-tools":p(()=>[y(a(R),{actions:[{label:a(u)("ui.actionTitle.create",["商品"]),type:"primary",icon:a(s).ADD,auth:["product:spu:create"],onClick:c},{label:a(u)("ui.actionTitle.export"),type:"primary",icon:a(s).DOWNLOAD,auth:["product:spu:export"],onClick:k}]},null,8,["actions"])]),actions:p(({row:n})=>[y(a(R),{actions:[{label:a(u)("common.edit"),type:"link",icon:a(s).EDIT,auth:["product:spu:update"],onClick:h.bind(null,n)},{label:a(u)("common.detail"),type:"link",icon:a(s).VIEW,onClick:B.bind(null,n)},{label:a(u)("common.delete"),type:"link",danger:!0,icon:a(s).DELETE,auth:["product:spu:delete"],ifShow:()=>f.value===4,popConfirm:{title:a(u)("ui.actionMessage.deleteConfirm",[n.name]),confirm:O.bind(null,n)}},{label:"恢复",type:"link",icon:a(s).EDIT,auth:["product:spu:update"],onClick:E.bind(null,n,a(_).DISABLE.status)},{label:"回收",type:"link",icon:a(s).EDIT,auth:["product:spu:update"],onClick:E.bind(null,n,a(_).RECYCLE.status)}]},null,8,["actions"])]),_:1})]),_:1}))}});export{ve as default};
|