This commit is contained in:
weipengfei 2024-04-10 10:22:20 +08:00
parent 30183581ee
commit 680192349d
36 changed files with 76 additions and 59 deletions

View File

@ -1,4 +1,4 @@
VITE_NOW_TYPE = 'dist' VITE_NOW_TYPE = 'dist'
# VITE_BASE_URL = 'http://192.168.1.22:8324' VITE_BASE_URL = 'http://192.168.1.22:8324'
VITE_BASE_URL = 'https://crmeb-test.shop.lihaink.cn' # VITE_BASE_URL = 'https://crmeb-test.shop.lihaink.cn'

File diff suppressed because one or more lines are too long

1
dist/assets/index-BHNczGBs.css vendored Normal file

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

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
.body[data-v-00c0f4e8]{width:100vw;height:100vh;box-sizing:border-box;background-image:url(https://lihai001.oss-cn-chengdu.aliyuncs.com/def/78559202404051452598712.png);background-size:100% 100%;background-repeat:no-repeat;display:flex;justify-content:center;align-items:center}.body .login[data-v-00c0f4e8]{width:18rem;background-color:#fff;border-radius:2rem;padding:2rem 3rem}.body .login .title[data-v-00c0f4e8]{text-align:center;font-size:1.3rem;padding-bottom:2rem} .body[data-v-271611c3]{width:100vw;height:100vh;box-sizing:border-box;background-image:url(https://lihai001.oss-cn-chengdu.aliyuncs.com/def/78559202404051452598712.png);background-size:100% 100%;background-repeat:no-repeat;display:flex;justify-content:center;align-items:center}.body .login[data-v-271611c3]{width:18rem;background-color:#fff;border-radius:2rem;padding:2rem 3rem}.body .login .title[data-v-271611c3]{text-align:center;font-size:1.3rem;padding-bottom:2rem}

View File

@ -1 +0,0 @@
import{_ as x,x as V,r as y,o as k,b as n,c as U,h as I,e as i,f as e,w as o,g as S,s as b,u as L,z as B,E as u,G as C,H as E}from"./index-CxOzLThu.js";const N=l=>(b("data-v-00c0f4e8"),l=l(),L(),l),M={class:"body"},T={class:"login"},z=N(()=>i("div",{class:"title"},"里海收银系统 - 登录",-1)),G={__name:"index",setup(l){const d=V(),m=B(),t=y({account:"",password:"",key:"",captchaVerification:"",code:""}),f=()=>{if(!t.value.account)return u({message:"请填写账号",type:"error"});if(!t.value.password)return u({message:"请填写密码",type:"error"});C(t.value).then(a=>{console.log(a),a.data&&(d.setToken(a.data.token),E().then(({data:s})=>{if(!s.service)return u({message:"请联系管理员开通服务",type:"error"});d.setUserInfo(s),m.push("/")}))}).catch(a=>{})};return k(()=>{}),(a,s)=>{const v=n("User"),_=n("el-icon"),p=n("el-input"),c=n("el-form-item"),h=n("Lock"),w=n("el-button"),g=n("el-form");return U(),I("div",M,[i("div",T,[z,e(g,null,{default:o(()=>[e(c,null,{default:o(()=>[e(p,{modelValue:t.value.account,"onUpdate:modelValue":s[0]||(s[0]=r=>t.value.account=r),placeholder:"请输入账号"},{prefix:o(()=>[e(_,null,{default:o(()=>[e(v)]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(c,null,{default:o(()=>[e(p,{modelValue:t.value.password,"onUpdate:modelValue":s[1]||(s[1]=r=>t.value.password=r),type:"password",placeholder:"请输入密码","show-password":""},{prefix:o(()=>[e(_,null,{default:o(()=>[e(h)]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(c,null,{default:o(()=>[e(w,{style:{width:"100%"},type:"primary",onClick:f},{default:o(()=>[S("登录")]),_:1})]),_:1})]),_:1})])])}}},R=x(G,[["__scopeId","data-v-00c0f4e8"]]);export{R as default};

View File

@ -1 +1 @@
import{s as L,u as S}from"./shop-CSB11RIS.js";import{_ as j,r as i,x as A,b as r,j as F,p as T,c as w,h as $,f as e,w as l,g as m,e as k,d as q,t as M,q as O,E as y}from"./index-CxOzLThu.js";const P={"element-loading-text":"加载中",class:"my-shop"},G={class:"dialog-footer"},H={__name:"index",setup(J){const v=i([]),V=A(),u=i({page:1,limit:15}),d=i(!1),g=i(0),c=()=>{d.value=!0,L(V.userInfo.service.mer_id,u.value).then(t=>{v.value=t.data.list,g.value=t.data.count,d.value=!1})};c();const C=t=>{u.value.page=t,c()},x=t=>{u.value.page=t,c()},N=t=>{u.value.page=t,c()},p=i(!1),o=i({}),U=t=>{o.value=t,p.value=!0},z=()=>{let t={attr:o.value.attr||[],attrValue:o.value.attrValue,mer_cate_id:o.value.merCateId||[],spec_type:o.value.spec_type,is_stock:1};S(o.value.product_id,t).then(n=>{y({message:n.message,type:"success"}),p.value=!1,c()}).catch(n=>{y({message:n,type:"error"})})};return(t,n)=>{const s=r("el-table-column"),f=r("el-image"),_=r("el-button"),h=r("el-table"),B=r("el-pagination"),D=r("el-input-number"),I=r("el-dialog"),E=F("loading");return T((w(),$("div",P,[e(h,{data:v.value,style:{width:"100%"}},{default:l(()=>[e(s,{prop:"product_id",label:"ID",width:"100"}),e(s,{prop:"image",label:"图片",width:"120"},{default:l(a=>[e(f,{loading:"lazy",style:{width:"60px",height:"60px"},src:a.row.image},null,8,["src"])]),_:1}),e(s,{prop:"store_name",label:"商品名称",width:"500"}),e(s,{prop:"price",label:"售价"}),e(s,{prop:"stock",label:"库存"}),e(s,{label:"操作",width:"120"},{default:l(a=>[e(_,{type:"primary",link:"",onClick:b=>U(a.row)},{default:l(()=>[m("编辑")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"]),e(B,{"page-size":u.value.limit,layout:"prev, pager, next",total:g.value,onPrevClick:C,onNextClick:x,onCurrentChange:N},null,8,["page-size","total"]),e(I,{modelValue:p.value,"onUpdate:modelValue":n[1]||(n[1]=a=>p.value=a),title:"编辑商品库存",width:"800"},{footer:l(()=>[k("div",G,[e(_,{onClick:n[0]||(n[0]=a=>p.value=!1)},{default:l(()=>[m("取消")]),_:1}),e(_,{type:"primary",onClick:z},{default:l(()=>[m(" 确定 ")]),_:1})])]),default:l(()=>[o.value.attrValue?(w(),q(h,{key:0,data:o.value.attrValue,stripe:"",style:{width:"100%"}},{default:l(()=>[e(s,{prop:"image",label:"图片",width:"180"},{default:l(a=>[e(f,{loading:"lazy",style:{width:"5rem",height:"5rem"},src:a.row.image||o.value.image},null,8,["src"])]),_:1}),e(s,{prop:"sku",label:"名称",width:"180"},{default:l(a=>[k("span",null,M(a.row.sku||o.value.store_name),1)]),_:1}),e(s,{prop:"price",label:"价格"}),e(s,{prop:"stock",label:"库存"},{default:l(a=>[e(D,{modelValue:a.row.stock,"onUpdate:modelValue":b=>a.row.stock=b,"step-strictly":"",min:0,step:1},null,8,["modelValue","onUpdate:modelValue"])]),_:1})]),_:1},8,["data"])):O("",!0)]),_:1},8,["modelValue"])])),[[E,d.value]])}}},R=j(H,[["__scopeId","data-v-33636025"]]);export{R as default}; import{s as L,u as S}from"./shop-Bj2-5fHC.js";import{_ as j,r as i,u as A,b as r,j as F,p as T,c as w,h as $,f as e,w as l,g as m,e as k,d as q,t as M,q as O,E as y}from"./index-BSeKe2ro.js";const P={"element-loading-text":"加载中",class:"my-shop"},G={class:"dialog-footer"},H={__name:"index",setup(J){const v=i([]),V=A(),u=i({page:1,limit:15}),d=i(!1),g=i(0),c=()=>{d.value=!0,L(V.userInfo.service.mer_id,u.value).then(t=>{v.value=t.data.list,g.value=t.data.count,d.value=!1})};c();const C=t=>{u.value.page=t,c()},x=t=>{u.value.page=t,c()},N=t=>{u.value.page=t,c()},p=i(!1),o=i({}),U=t=>{o.value=t,p.value=!0},z=()=>{let t={attr:o.value.attr||[],attrValue:o.value.attrValue,mer_cate_id:o.value.merCateId||[],spec_type:o.value.spec_type,is_stock:1};S(o.value.product_id,t).then(n=>{y({message:n.message,type:"success"}),p.value=!1,c()}).catch(n=>{y({message:n,type:"error"})})};return(t,n)=>{const s=r("el-table-column"),f=r("el-image"),_=r("el-button"),h=r("el-table"),B=r("el-pagination"),D=r("el-input-number"),I=r("el-dialog"),E=F("loading");return T((w(),$("div",P,[e(h,{data:v.value,style:{width:"100%"}},{default:l(()=>[e(s,{prop:"product_id",label:"ID",width:"100"}),e(s,{prop:"image",label:"图片",width:"120"},{default:l(a=>[e(f,{loading:"lazy",style:{width:"60px",height:"60px"},src:a.row.image},null,8,["src"])]),_:1}),e(s,{prop:"store_name",label:"商品名称",width:"500"}),e(s,{prop:"price",label:"售价"}),e(s,{prop:"stock",label:"库存"}),e(s,{label:"操作",width:"120"},{default:l(a=>[e(_,{type:"primary",link:"",onClick:b=>U(a.row)},{default:l(()=>[m("编辑")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"]),e(B,{"page-size":u.value.limit,layout:"prev, pager, next",total:g.value,onPrevClick:C,onNextClick:x,onCurrentChange:N},null,8,["page-size","total"]),e(I,{modelValue:p.value,"onUpdate:modelValue":n[1]||(n[1]=a=>p.value=a),title:"编辑商品库存",width:"800"},{footer:l(()=>[k("div",G,[e(_,{onClick:n[0]||(n[0]=a=>p.value=!1)},{default:l(()=>[m("取消")]),_:1}),e(_,{type:"primary",onClick:z},{default:l(()=>[m(" 确定 ")]),_:1})])]),default:l(()=>[o.value.attrValue?(w(),q(h,{key:0,data:o.value.attrValue,stripe:"",style:{width:"100%"}},{default:l(()=>[e(s,{prop:"image",label:"图片",width:"180"},{default:l(a=>[e(f,{loading:"lazy",style:{width:"5rem",height:"5rem"},src:a.row.image||o.value.image},null,8,["src"])]),_:1}),e(s,{prop:"sku",label:"名称",width:"180"},{default:l(a=>[k("span",null,M(a.row.sku||o.value.store_name),1)]),_:1}),e(s,{prop:"price",label:"价格"}),e(s,{prop:"stock",label:"库存"},{default:l(a=>[e(D,{modelValue:a.row.stock,"onUpdate:modelValue":b=>a.row.stock=b,"step-strictly":"",min:0,step:1},null,8,["modelValue","onUpdate:modelValue"])]),_:1})]),_:1},8,["data"])):O("",!0)]),_:1},8,["modelValue"])])),[[E,d.value]])}}},R=j(H,[["__scopeId","data-v-33636025"]]);export{R as default};

1
dist/assets/index-DVUNn34X.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/assets/index-DqzXjIW8.js vendored Normal file
View File

@ -0,0 +1 @@
import{_ as U,u as I,r as u,o as R,b as n,c as S,h as b,e as w,f as e,w as t,k as v,g as L,s as B,v as C,z as E,E as d,G as K,H as N}from"./index-BSeKe2ro.js";const M=l=>(B("data-v-271611c3"),l=l(),C(),l),T={class:"body"},z={class:"login"},G=M(()=>w("div",{class:"title"},"里海收银系统 - 登录",-1)),H={__name:"index",setup(l){const p=I(),y=E(),h=u(null),_=u(null),s=u({account:"",password:"",key:"",captchaVerification:"",code:""}),i=()=>{if(!s.value.account)return d({message:"请填写账号",type:"error"});if(!s.value.password)return d({message:"请填写密码",type:"error"});K(s.value).then(a=>{console.log(a),a.data&&(p.setToken(a.data.token),N().then(({data:o})=>{if(!o.service)return d({message:"请联系管理员开通服务",type:"error"});p.setUserInfo(o),y.push("/")}))}).catch(a=>{})};return R(()=>{}),(a,o)=>{const k=n("User"),f=n("el-icon"),m=n("el-input"),c=n("el-form-item"),g=n("Lock"),V=n("el-button"),x=n("el-form");return S(),b("div",T,[w("div",z,[G,e(x,null,{default:t(()=>[e(c,null,{default:t(()=>[e(m,{ref_key:"accRef",ref:h,modelValue:s.value.account,"onUpdate:modelValue":o[0]||(o[0]=r=>s.value.account=r),placeholder:"请输入账号",autofocus:!0,onKeydown:o[1]||(o[1]=v(r=>_.value.focus(),["enter"]))},{prefix:t(()=>[e(f,null,{default:t(()=>[e(k)]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(c,null,{default:t(()=>[e(m,{ref_key:"pwdRef",ref:_,modelValue:s.value.password,"onUpdate:modelValue":o[2]||(o[2]=r=>s.value.password=r),type:"password",placeholder:"请输入密码","show-password":"",onKeydown:v(i,["enter"])},{prefix:t(()=>[e(f,null,{default:t(()=>[e(g)]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(c,null,{default:t(()=>[e(V,{style:{width:"100%"},type:"primary",onClick:i},{default:t(()=>[L("登录")]),_:1})]),_:1})]),_:1})])])}}},j=U(H,[["__scopeId","data-v-271611c3"]]);export{j as default};

1
dist/assets/index-L1TMsAdx.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{b as t,c,h as a,e,f as o,w as d,g as l}from"./index-CxOzLThu.js";const r={style:{width:"100vw",height:"100vh"}},_={style:{display:"flex","justify-content":"center","padding-top":"20vh"}},m={style:{display:"flex","flex-direction":"column","justify-content":"center","padding-left":"3rem"}},h=e("div",{style:{"font-size":"5rem","font-weight":"bold"}},"404",-1),p=e("div",{style:{"padding-bottom":"1rem"}},"您的页面没有找到",-1),v={__name:"index",setup(f){const s=()=>{window.location="/"};return(y,g)=>{const n=t("el-image"),i=t("el-button");return c(),a("div",r,[e("div",_,[o(n,{loading:"lazy",style:{width:"30rem",height:"20rem"},src:"/src/assets/icon-404-color.svg"}),e("div",m,[h,p,o(i,{type:"primary",onClick:s},{default:d(()=>[l("返回首页")]),_:1})])])])}}};export{v as default}; import{b as t,c,h as a,e,f as o,w as d,g as l}from"./index-BSeKe2ro.js";const r={style:{width:"100vw",height:"100vh"}},_={style:{display:"flex","justify-content":"center","padding-top":"20vh"}},m={style:{display:"flex","flex-direction":"column","justify-content":"center","padding-left":"3rem"}},h=e("div",{style:{"font-size":"5rem","font-weight":"bold"}},"404",-1),p=e("div",{style:{"padding-bottom":"1rem"}},"您的页面没有找到",-1),v={__name:"index",setup(f){const s=()=>{window.location="/"};return(y,g)=>{const n=t("el-image"),i=t("el-button");return c(),a("div",r,[e("div",_,[o(n,{loading:"lazy",style:{width:"30rem",height:"20rem"},src:"/src/assets/icon-404-color.svg"}),e("div",m,[h,p,o(i,{type:"primary",onClick:s},{default:d(()=>[l("返回首页")]),_:1})])])])}}};export{v as default};

1
dist/assets/indexList-B-91xBrU.js vendored Normal file
View File

@ -0,0 +1 @@
import{e as F,a as G,p as J,g as K,f as Q}from"./pay-BcpR4WJS.js";import{_ as W,u as X,r as s,b as d,j as Y,p as Z,c as u,h as v,f as t,w as o,g as r,t as ee,e as P,d as I,z as te,E as h,s as ae,v as oe}from"./index-BSeKe2ro.js";const le=m=>(ae("data-v-80048b20"),m=m(),oe(),m),se={"element-loading-text":"加载中",class:"my-order"},ne={key:0},re={key:1,style:{color:"#ff4a00"}},ie={key:0},de={key:1,class:"flex"},ue=le(()=>P("span",null,"提单前请清空购物车, 避免提单的商品与购物车商品混合, 请确保购物车内无数据后再进行提单",-1)),ce={class:"dialog-footer"},pe={__name:"indexList",setup(m){const k=X(),C=s([]),b=te(),g=s(1),f=s(null),n=s({page:1,limit:20}),y=s(!1),w=s(0),i=()=>{y.value=!0,g.value==1&&(n.value.paid=null),g.value==2&&(n.value.paid=0),F(k.userInfo.service.mer_id,n.value).then(e=>{C.value=e.data.list,w.value=e.data.count,y.value=!1})};i();const x=s(0);(()=>{G({staff_id:k.userInfo.service.service_id}).then(e=>{var a;x.value=(a=e.data.list)==null?void 0:a.length})})();const A=e=>{n.value.page=1,i()},B=e=>{n.value.page=e,i()},D=e=>{n.value.page=e,i()},N=e=>{n.value.page=e,i()},R=()=>{i()},$=e=>{f.value.setRePay({price:e.pay_price,order_id:e.group_order_id}),f.value.drawer=!0},z=e=>{K({order_sn:e}).then(a=>{a.data.paid==1||a.message=="支付成功"?(h({message:a.message,type:"success"}),i()):h({message:a.message,type:"error"})}).catch(a=>{})},L=s(""),E=()=>{_.value=!1,Q({order_sn:L.value}).then(e=>{h({message:e.message,type:"success"}),b.push({name:"home"})})},_=s(!1),U=e=>{L.value=e,_.value=!0},O=()=>{b.push({name:"home"})};return(e,a)=>{const S=d("el-radio-button"),T=d("el-radio-group"),c=d("el-table-column"),p=d("el-button"),j=d("el-table"),H=d("el-pagination"),M=d("el-dialog"),q=Y("loading");return Z((u(),v("div",se,[t(T,{modelValue:g.value,"onUpdate:modelValue":a[0]||(a[0]=l=>g.value=l),style:{"margin-bottom":"30px"},onChange:A},{default:o(()=>[t(S,{value:1},{default:o(()=>[r("全部")]),_:1}),t(S,{value:2},{default:o(()=>[r("未支付")]),_:1})]),_:1},8,["modelValue"]),t(j,{data:C.value,style:{width:"100%"}},{default:o(()=>[t(c,{prop:"group_order_id",label:"ID",width:"100"}),t(c,{prop:"order_sn",label:"订单号",width:"260"}),t(c,{prop:"total_price",label:"订单金额"}),t(c,{prop:"paid",label:"支付状态"},{default:o(l=>[l.row.paid==1?(u(),v("span",ne,"已支付")):(u(),v("span",re,"未支付"))]),_:1}),t(c,{prop:"create_time",label:"订单创建时间"}),t(c,{prop:"pay_time",label:"订单支付时间"},{default:o(l=>[l.row.pay_time?(u(),v("span",ie,ee(l.row.pay_time),1)):(u(),v("div",de,[t(p,{type:"primary",link:"",onClick:V=>$(l.row)},{default:o(()=>[r("重新支付")]),_:2},1032,["onClick"]),t(p,{type:"primary",link:"",onClick:V=>z(l.row.order_sn)},{default:o(()=>[r("检测状态")]),_:2},1032,["onClick"]),t(p,{type:"primary",link:"",onClick:V=>U(l.row.order_sn)},{default:o(()=>[r("提单")]),_:2},1032,["onClick"])]))]),_:1})]),_:1},8,["data"]),t(H,{"page-size":n.value.limit,layout:"prev, pager, next",total:w.value,onPrevClick:B,onNextClick:D,onCurrentChange:N},null,8,["page-size","total"]),t(J,{ref_key:"payRef",ref:f,onPaySuccess:R},null,512),t(M,{modelValue:_.value,"onUpdate:modelValue":a[2]||(a[2]=l=>_.value=l),title:"提示",width:"500"},{footer:o(()=>[P("div",ce,[t(p,{onClick:a[1]||(a[1]=l=>_.value=!1)},{default:o(()=>[r("取消")]),_:1}),x.value>0?(u(),I(p,{key:0,onClick:O},{default:o(()=>[r(" 前去清空购物车 ")]),_:1})):(u(),I(p,{key:1,type:"primary",onClick:E},{default:o(()=>[r(" 确认提单 ")]),_:1}))])]),default:o(()=>[ue]),_:1},8,["modelValue"])])),[[q,y.value]])}}},ge=W(pe,[["__scopeId","data-v-80048b20"]]);export{ge as default};

View File

@ -1 +0,0 @@
import{e as F,a as G,p as J,g as K,f as Q}from"./pay-C2kOlX-6.js";import{_ as W,x as X,r as s,b as d,j as Y,p as Z,c,h as m,f as t,w as o,g as r,t as ee,e as I,d as V,z as te,E as h,s as ae,u as oe}from"./index-CxOzLThu.js";const le=v=>(ae("data-v-f71c3ce9"),v=v(),oe(),v),se={"element-loading-text":"加载中",class:"my-order"},ne={key:0},re={key:1,style:{color:"#ff4a00"}},ie={key:0},de={key:1,class:"flex"},ce=le(()=>I("span",null,"提单前请清空购物车, 避免提单的商品与购物车商品混合, 请确保购物车内无数据后再进行提单",-1)),ue={class:"dialog-footer"},pe={__name:"indexList",setup(v){const P=X(),k=s([]),C=te(),g=s(1),f=s(null),n=s({page:1,limit:20}),y=s(!1),b=s(0),i=()=>{y.value=!0,g.value==1&&(n.value.paid=null),g.value==2&&(n.value.paid=0),F(P.userInfo.service.mer_id,n.value).then(e=>{k.value=e.data.list,b.value=e.data.count,y.value=!1})};i();const w=s(0);(()=>{G({source:300}).then(e=>{var a;w.value=(a=e.data.list)==null?void 0:a.length})})();const A=e=>{n.value.page=1,i()},B=e=>{n.value.page=e,i()},D=e=>{n.value.page=e,i()},N=e=>{n.value.page=e,i()},R=()=>{i()},$=e=>{f.value.setRePay({price:e.pay_price,order_id:e.group_order_id}),f.value.drawer=!0},z=e=>{K({order_sn:e}).then(a=>{a.data.paid==1||a.message=="支付成功"?(h({message:a.message,type:"success"}),i()):h({message:a.message,type:"error"})}).catch(a=>{})},x=s(""),E=()=>{_.value=!1,Q({order_sn:x.value}).then(e=>{h({message:e.message,type:"success"}),C.push({name:"home"})})},_=s(!1),U=e=>{x.value=e,_.value=!0},O=()=>{C.push({name:"home"})};return(e,a)=>{const L=d("el-radio-button"),T=d("el-radio-group"),u=d("el-table-column"),p=d("el-button"),j=d("el-table"),H=d("el-pagination"),M=d("el-dialog"),q=Y("loading");return Z((c(),m("div",se,[t(T,{modelValue:g.value,"onUpdate:modelValue":a[0]||(a[0]=l=>g.value=l),style:{"margin-bottom":"30px"},onChange:A},{default:o(()=>[t(L,{value:1},{default:o(()=>[r("全部")]),_:1}),t(L,{value:2},{default:o(()=>[r("未支付")]),_:1})]),_:1},8,["modelValue"]),t(j,{data:k.value,style:{width:"100%"}},{default:o(()=>[t(u,{prop:"group_order_id",label:"ID",width:"100"}),t(u,{prop:"order_sn",label:"订单号",width:"260"}),t(u,{prop:"total_price",label:"订单金额"}),t(u,{prop:"paid",label:"支付状态"},{default:o(l=>[l.row.paid==1?(c(),m("span",ne,"已支付")):(c(),m("span",re,"未支付"))]),_:1}),t(u,{prop:"create_time",label:"订单创建时间"}),t(u,{prop:"pay_time",label:"订单支付时间"},{default:o(l=>[l.row.pay_time?(c(),m("span",ie,ee(l.row.pay_time),1)):(c(),m("div",de,[t(p,{type:"primary",link:"",onClick:S=>$(l.row)},{default:o(()=>[r("重新支付")]),_:2},1032,["onClick"]),t(p,{type:"primary",link:"",onClick:S=>z(l.row.order_sn)},{default:o(()=>[r("检测状态")]),_:2},1032,["onClick"]),t(p,{type:"primary",link:"",onClick:S=>U(l.row.order_sn)},{default:o(()=>[r("提单")]),_:2},1032,["onClick"])]))]),_:1})]),_:1},8,["data"]),t(H,{"page-size":n.value.limit,layout:"prev, pager, next",total:b.value,onPrevClick:B,onNextClick:D,onCurrentChange:N},null,8,["page-size","total"]),t(J,{ref_key:"payRef",ref:f,onPaySuccess:R},null,512),t(M,{modelValue:_.value,"onUpdate:modelValue":a[2]||(a[2]=l=>_.value=l),title:"提示",width:"500"},{footer:o(()=>[I("div",ue,[t(p,{onClick:a[1]||(a[1]=l=>_.value=!1)},{default:o(()=>[r("取消")]),_:1}),w.value>0?(c(),V(p,{key:0,onClick:O},{default:o(()=>[r(" 前去清空购物车 ")]),_:1})):(c(),V(p,{key:1,type:"primary",onClick:E},{default:o(()=>[r(" 确认提单 ")]),_:1}))])]),default:o(()=>[ce]),_:1},8,["modelValue"])])),[[q,y.value]])}}},ge=W(pe,[["__scopeId","data-v-f71c3ce9"]]);export{ge as default};

View File

@ -1 +0,0 @@
@charset "UTF-8";.my-order[data-v-f71c3ce9]{background-color:#fff;border-radius:1.2rem;box-sizing:border-box;padding:1rem;overflow-y:scroll}[data-v-f71c3ce9]::-webkit-scrollbar{width:5px}[data-v-f71c3ce9]::-webkit-scrollbar-track{background-color:#f1f1f1;margin:20px 0}[data-v-f71c3ce9]::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:5px}[data-v-f71c3ce9]::-webkit-scrollbar-thumb:hover{background-color:#999}

1
dist/assets/indexList-Cdt8gTOX.css vendored Normal file
View File

@ -0,0 +1 @@
@charset "UTF-8";.my-order[data-v-80048b20]{background-color:#fff;border-radius:1.2rem;box-sizing:border-box;padding:1rem;overflow-y:scroll}[data-v-80048b20]::-webkit-scrollbar{width:5px}[data-v-80048b20]::-webkit-scrollbar-track{background-color:#f1f1f1;margin:20px 0}[data-v-80048b20]::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:5px}[data-v-80048b20]::-webkit-scrollbar-thumb:hover{background-color:#999}

View File

@ -1 +1 @@
import{_ as e,c as t,h as c}from"./index-CxOzLThu.js";const n={},o={style:{width:"20px",height:"100%"}};function s(r,_){return t(),c("div",o)}const i=e(n,[["render",s]]);export{i as p}; import{_ as e,c as t,h as c}from"./index-BSeKe2ro.js";const n={},o={style:{width:"20px",height:"100%"}};function s(r,_){return t(),c("div",o)}const i=e(n,[["render",s]]);export{i as p};

1
dist/assets/pay-BcpR4WJS.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
.dra-body[data-v-448c5090]{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.dra-body .header[data-v-448c5090]{width:25rem;display:flex}.dra-body .header>div[data-v-448c5090]{flex:1;border:1px solid #ccc;text-align:center;padding:.6rem 0;cursor:pointer}.dra-body .header .left[data-v-448c5090]{border-right:none;border-radius:5rem 0 0 5rem}.dra-body .header .right[data-v-448c5090]{border-left:none;border-radius:0 5rem 5rem 0}.dra-body .header .active[data-v-448c5090]{background-color:#1890ff;color:#fff;transition:.3s;border-color:#1890ff}.dra-body .card1 .code-input[data-v-448c5090]{width:100%;height:3rem}.dra-body .card1 .tips[data-v-448c5090]{width:38rem;height:16rem;background:url(https://lihai001.oss-cn-chengdu.aliyuncs.com/def/a4971202404051443356430.png);background-size:100% 100%;background-repeat:no-repeat}.cancel-btn[data-v-448c5090]{width:60%;border-color:#1890ff;color:#1890ff;border-radius:5rem;height:3rem;font-size:1.2rem}.drawer-body[data-v-448c5090]{width:100%;overflow-x:hidden}.counter[data-v-448c5090]{padding:20px;border-radius:20px;background-color:#f3f9ff}.counter .received[data-v-448c5090]{height:58px;padding:0 20px;border:1px solid #1890ff;box-shadow:0 0 3px #1890ff;border-radius:8px;background-color:#fff;font-size:26px;line-height:58px;color:#333}.counter .balance[data-v-448c5090]{width:100%;box-sizing:border-box;padding:18px 0 18px 10px;text-align:start;font-size:15px;color:#303133}.counter .balance .money[data-v-448c5090]{color:#ff4a00}.counter .keypad[data-v-448c5090]{display:grid;grid-template-columns:auto auto auto auto;grid-gap:10px}.counter .keypad .left[data-v-448c5090]{grid-column-end:span 3;display:grid;grid-template-columns:auto auto auto;grid-gap:10px}.counter .keypad .right[data-v-448c5090]{display:grid;grid-template-columns:auto;grid-gap:10px}.counter .keypad .el-button[data-v-448c5090]{height:62px;width:130px;margin:0!important;border:0;border-radius:8px;font-weight:500;font-size:28px!important;line-height:62px;color:#1890ff}.counter .keypad .el-button[data-v-448c5090]:focus{box-shadow:none}.counter .keypad .enter[data-v-448c5090]{grid-row-end:span 4;height:134px;background-color:#1890ff;font-weight:500;font-size:22px!important;line-height:134px;color:#fff}.counter .keypad .enter-disable[data-v-448c5090]{background-color:#ccc}

1
dist/assets/pay-DhaR4dEp.css vendored Normal file
View File

@ -0,0 +1 @@
.dra-body[data-v-f7abe660]{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.dra-body .header[data-v-f7abe660]{width:25rem;display:flex}.dra-body .header>div[data-v-f7abe660]{flex:1;border:1px solid #ccc;text-align:center;padding:.6rem 0;cursor:pointer}.dra-body .header .left[data-v-f7abe660]{border-right:none;border-radius:5rem 0 0 5rem}.dra-body .header .right[data-v-f7abe660]{border-left:none;border-radius:0 5rem 5rem 0}.dra-body .header .active[data-v-f7abe660]{background-color:#1890ff;color:#fff;transition:.3s;border-color:#1890ff}.dra-body .card1 .code-input[data-v-f7abe660]{width:100%;height:3rem}.dra-body .card1 .tips[data-v-f7abe660]{width:38rem;height:16rem;background:url(https://lihai001.oss-cn-chengdu.aliyuncs.com/def/a4971202404051443356430.png);background-size:100% 100%;background-repeat:no-repeat}.cancel-btn[data-v-f7abe660]{width:60%;border-color:#1890ff;color:#1890ff;border-radius:5rem;height:3rem;font-size:1.2rem}.drawer-body[data-v-f7abe660]{width:100%;overflow-x:hidden}.counter[data-v-f7abe660]{padding:20px;border-radius:20px;background-color:#f3f9ff}.counter .received[data-v-f7abe660]{height:58px;padding:0 20px;border:1px solid #1890ff;box-shadow:0 0 3px #1890ff;border-radius:8px;background-color:#fff;font-size:26px;line-height:58px;color:#333}.counter .balance[data-v-f7abe660]{width:100%;box-sizing:border-box;padding:18px 0 18px 10px;text-align:start;font-size:.95rem;color:#303133;display:flex;justify-content:space-between}.counter .balance .money[data-v-f7abe660]{color:#ff4a00}.counter .balance .tips[data-v-f7abe660]{font-size:.8rem;color:#999}.counter .keypad[data-v-f7abe660]{display:grid;grid-template-columns:auto auto auto auto;grid-gap:10px}.counter .keypad .left[data-v-f7abe660]{grid-column-end:span 3;display:grid;grid-template-columns:auto auto auto;grid-gap:10px}.counter .keypad .right[data-v-f7abe660]{display:grid;grid-template-columns:auto;grid-gap:10px}.counter .keypad .el-button[data-v-f7abe660]{height:62px;width:130px;margin:0!important;border:0;border-radius:8px;font-weight:500;font-size:28px!important;line-height:62px;color:#1890ff}.counter .keypad .el-button[data-v-f7abe660]:focus{box-shadow:none}.counter .keypad .enter[data-v-f7abe660]{grid-row-end:span 4;height:134px;line-height:134px;background-color:#1890ff;font-weight:500;font-size:1.35rem!important;color:#fff;position:relative}.counter .keypad .enter-disable[data-v-f7abe660]{background-color:#ccc}

View File

@ -1 +1 @@
import{A as e}from"./index-CxOzLThu.js";function u(r,t){return e.get(`server/${r}/product/lst`,{params:t})}function a(r,t){return e.get(`store/product/detail/${r}`,{params:t})}function o(r,t){return e.post(`user_free_trial/${r}`,t)}export{a as g,u as s,o as u}; import{A as e}from"./index-BSeKe2ro.js";function u(r,t){return e.get(`server/${r}/product/lst`,{params:t})}function a(r,t){return e.get(`store/product/detail/${r}`,{params:t})}function o(r,t){return e.post(`user_free_trial/${r}`,t)}export{a as g,u as s,o as u};

4
dist/index.html vendored
View File

@ -5,8 +5,8 @@
<link rel="icon" type="image/svg+xml" href="./vite.svg" /> <link rel="icon" type="image/svg+xml" href="./vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>里海收银系统</title> <title>里海收银系统</title>
<script type="module" crossorigin src="./assets/index-CxOzLThu.js"></script> <script type="module" crossorigin src="./assets/index-BSeKe2ro.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-C_fr554D.css"> <link rel="stylesheet" crossorigin href="./assets/index-DVUNn34X.css">
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>

View File

@ -14,4 +14,10 @@ onMounted(() => {
.el-button:focus{ .el-button:focus{
outline: none; outline: none;
} }
// input
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
</style> </style>

View File

@ -4,12 +4,15 @@ import { orderCreateApi, orderStatusApi, orderPayApi } from "@/api/store.js";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import { audioplay } from "@/utils/audio.js"; import { audioplay } from "@/utils/audio.js";
import mitt from "@/utils/mitt.js"; import mitt from "@/utils/mitt.js";
import { useUserStore } from "@/store/user.js";
const drawer = ref(false); const drawer = ref(false);
const active = ref(1); const active = ref(1);
const input = ref(""); const input = ref("");
const codeRef = ref(""); const codeRef = ref("");
const userStore = useUserStore();
const cancelClick = () => { const cancelClick = () => {
beforeClose(); beforeClose();
}; };
@ -99,7 +102,7 @@ const handleEnter = () => {
cart_id: cart_id.value, cart_id: cart_id.value,
pay_type: pay_type, pay_type: pay_type,
auth_code: input.value, auth_code: input.value,
source: 300, staff_id: userStore.userInfo.service.service_id,
}) })
.then((res) => { .then((res) => {
if (res.status == 200 && (res.message == "支付成功" || res.message == "success")) { if (res.status == 200 && (res.message == "支付成功" || res.message == "success")) {
@ -304,7 +307,7 @@ const cashBnt = () => {
key: form.value.key, key: form.value.key,
cart_id: cart_id.value, cart_id: cart_id.value,
pay_type: "cash_payment", pay_type: "cash_payment",
source: 300, staff_id: userStore.userInfo.service.service_id,
}) })
.then((res) => { .then((res) => {
if (res.status == 200 && res.message == "支付成功") { if (res.status == 200 && res.message == "支付成功") {
@ -484,9 +487,13 @@ onUnmounted(() => {
> >
</div> </div>
<div class="balance" v-if="changePrice >= 0"> <div class="balance" v-if="changePrice >= 0">
需找零()<span class="money">{{ changePrice }}</span> <div>需找零()<span class="money">{{ changePrice }}</span></div>
<div class="tips">按回车(Enter)确认支付</div>
</div>
<div class="balance" v-else>
<div>不够找零, 请支付更多金额</div>
<div class="tips">按下小键盘输入金额</div>
</div> </div>
<div class="balance" v-else>不够找零, 请支付更多金额</div>
<div class="keypad"> <div class="keypad">
<div class="left"> <div class="left">
<el-button <el-button
@ -501,7 +508,9 @@ onUnmounted(() => {
><el-icon><Delete /></el-icon ><el-icon><Delete /></el-icon
></el-button> ></el-button>
<el-button @click="delNum(-1)">C</el-button> <el-button @click="delNum(-1)">C</el-button>
<el-button class="enter" :class="{'enter-disable': +collection < +form.order_price}" :disabled="+collection < +form.order_price" @click="cashBnt">确认</el-button> <el-button class="enter" :class="{'enter-disable': +collection < +form.order_price}" :disabled="+collection < +form.order_price" @click="cashBnt">
确认
</el-button>
</div> </div>
</div> </div>
</div> </div>
@ -600,12 +609,18 @@ onUnmounted(() => {
box-sizing: border-box; box-sizing: border-box;
padding: 18px 0 18px 10px; padding: 18px 0 18px 10px;
text-align: start; text-align: start;
font-size: 15px; font-size: 0.95rem;
color: #303133; color: #303133;
display: flex;
justify-content: space-between;
.money { .money {
color: #ff4a00; color: #ff4a00;
} }
.tips{
font-size: 0.8rem;
color: #999;
}
} }
.keypad { .keypad {
@ -645,11 +660,12 @@ onUnmounted(() => {
.enter { .enter {
grid-row-end: span 4; grid-row-end: span 4;
height: 134px; height: 134px;
line-height: 134px;
background-color: #1890ff; background-color: #1890ff;
font-weight: 500; font-weight: 500;
font-size: 22px !important; font-size: 1.35rem !important;
line-height: 134px;
color: #ffffff; color: #ffffff;
position: relative;
} }
.enter-disable { .enter-disable {
background-color: #ccc; background-color: #ccc;

View File

@ -6,7 +6,7 @@ import { ref, nextTick, onMounted } from "vue";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
const type = ref(1); const type = ref(1);
const code = ref("1372640275688400"); const code = ref("2439926081480600");
const inputRef = ref(null); const inputRef = ref(null);
const orderRef = ref(null); const orderRef = ref(null);

View File

@ -3,12 +3,15 @@ import { ref, onMounted, onUnmounted } from "vue";
import { cartListApi, cartDeleteApi, cartChangeApi } from "@/api/store.js"; import { cartListApi, cartDeleteApi, cartChangeApi } from "@/api/store.js";
import price from "./price.vue"; import price from "./price.vue";
import mitt from "@/utils/mitt.js"; import mitt from "@/utils/mitt.js";
import { useUserStore } from "@/store/user.js"
const list = ref([]); const list = ref([]);
const allPrice = ref(0); // const allPrice = ref(0); //
const costPrice = ref(0); // const costPrice = ref(0); //
const discounts = ref(0); // const discounts = ref(0); //
const userStore = useUserStore();
const clearAll = () => { const clearAll = () => {
let cart_id = []; let cart_id = [];
list.value.map((item) => { list.value.map((item) => {
@ -37,7 +40,7 @@ const getList = () => {
costPrice.value = 0; costPrice.value = 0;
discounts.value = 0; discounts.value = 0;
cartListApi({ cartListApi({
source: 300, staff_id: userStore.userInfo.service.service_id,
}).then((res) => { }).then((res) => {
if (res.data?.list?.length > 0) { if (res.data?.list?.length > 0) {
list.value = res.data.list[0].list; list.value = res.data.list[0].list;
@ -125,7 +128,7 @@ onUnmounted(() => {
已选购 <span>{{ list.length }}</span> 已选购 <span>{{ list.length }}</span>
</div> </div>
<div class="nav-item-clear" @click="clearAll"> <div class="nav-item-clear" @click="clearAll">
<el-icon><Delete /></el-icon> <el-icon><Delete /></el-icon> (Delete)
</div> </div>
</div> </div>
<div class="order-list"> <div class="order-list">
@ -181,12 +184,12 @@ onUnmounted(() => {
</div> </div>
</div> </div>
<div class="update-price"> <div class="update-price">
<el-button class="btn" type="primary" @click="showPrice">改价</el-button> <el-button class="btn" type="primary" @click="showPrice">改价 (Insert)</el-button>
</div> </div>
</div> </div>
<div class="order-btn"> <div class="order-btn">
<el-button class="btn" type="primary" @click="goPay" :disabled="list.length == 0" <el-button class="btn" type="primary" @click="goPay" :disabled="list.length == 0"
>立即结账</el-button >立即结账 (F9)</el-button
> >
</div> </div>
</div> </div>

View File

@ -70,10 +70,10 @@ onUnmounted(() => {
> >
<div class="price"> <div class="price">
<div class="flex"> <div class="flex">
<el-input ref="priceRef" style="flex: 3;margin: 10px;height: 2.5rem;" v-model="priceInfo.nowPrice" :min="0.01" type="number" placeholder="请输入改价后的价格" @input="inputPrice"> <el-input ref="priceRef" style="flex: 3;margin: 10px;height: 2.5rem;" v-model="priceInfo.nowPrice" type="number" placeholder="请输入改价后的价格" @input="inputPrice">
<template #suffix></template> <template #suffix></template>
</el-input> </el-input>
<el-input style="flex: 2;margin: 10px;height: 2.5rem;" v-model="priceInfo.percentage" :step="0.01" type="number" placeholder="请输入比例" @input="inputPercentage"> <el-input style="flex: 2;margin: 10px;height: 2.5rem;" v-model="priceInfo.percentage" type="number" placeholder="请输入比例" @input="inputPercentage">
<template #suffix>%</template> <template #suffix>%</template>
</el-input> </el-input>
</div> </div>
@ -82,7 +82,7 @@ onUnmounted(() => {
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button class="ok-btn" type="primary" @click="submit"> <el-button class="ok-btn" type="primary" @click="submit">
确定 确定 (Enter)
</el-button> </el-button>
</div> </div>
</template> </template>
@ -104,18 +104,5 @@ onUnmounted(() => {
display: flex; display: flex;
} }
} }
// css
// input
input::-webkit-inner-spin-button {
-webkit-appearance: none !important;
}
input::-webkit-outer-spin-button{
-webkit-appearance: none !important;
}
input[type="number"]{
-moz-appearance: textfield;
}
</style> </style>

View File

@ -118,7 +118,7 @@ const close = ()=>{
<template #footer v-if="!(mode != 'add' && form.attr && form.attr.length==1)"> <template #footer v-if="!(mode != 'add' && form.attr && form.attr.length==1)">
<div class="dialog-footer"> <div class="dialog-footer">
<el-button class="ok-btn" type="primary" @click="changeItem"> <el-button class="ok-btn" type="primary" @click="changeItem">
确定 确定 (Enter)
</el-button> </el-button>
</div> </div>
</template> </template>

View File

@ -63,11 +63,11 @@ onUnmounted(() => {
<template> <template>
<div class="my-order"> <div class="my-order">
<div class="header-nav" :class="{ 'input-focus': isfocus }"> <div class="header-nav" :class="{ 'input-focus': isfocus }">
<div class="nav-item-label">搜索</div> <div class="nav-item-label">搜索 (Shift)</div>
<div class="nav-item-input"> <div class="nav-item-input">
<el-input <el-input
v-model="bar_code" v-model="bar_code"
placeholder="搜索商品名称/ID/唯一码或点击聚焦扫码" placeholder=" 搜索商品名称/ID/唯一码或点击聚焦扫码, 按回车(Enter)搜索"
clearable clearable
ref="codeRef" ref="codeRef"
@focus="focus" @focus="focus"
@ -130,7 +130,7 @@ onUnmounted(() => {
border: 1px solid rgba($color: #000000, $alpha: 0); border: 1px solid rgba($color: #000000, $alpha: 0);
.nav-item-label { .nav-item-label {
width: 5rem; width: 7rem;
height: 3rem; height: 3rem;
box-sizing: border-box; box-sizing: border-box;
text-align: center; text-align: center;

View File

@ -27,7 +27,7 @@ const where = ref({
}); });
const getStoreList = (data) => { const getStoreList = (data) => {
where.value = { where.value = {
source: 300, staff_id: userStore.userInfo.service.service_id,
...where.value, ...where.value,
...data, ...data,
}; };
@ -72,7 +72,7 @@ const cartAddInfo = (item, change = "") => {
cart_num: 1, cart_num: 1,
product_attr_unique: product_attr_unique:
item.sku[change] !== undefined ? item.sku[change].unique : "", item.sku[change] !== undefined ? item.sku[change].unique : "",
source: 300, // staff_id: userStore.userInfo.service.service_id,
product_type: 0, product_type: 0,
// spread_id: this.currSpid, // spread_id: this.currSpid,
// sale_type: 1 // sale_type: 1

View File

@ -8,6 +8,9 @@ import { useRouter } from "vue-router";
const userStore = useUserStore(); const userStore = useUserStore();
const router = useRouter(); const router = useRouter();
const accRef = ref(null);
const pwdRef = ref(null);
const formLogin = ref({ const formLogin = ref({
account: "", account: "",
password: "", password: "",
@ -73,7 +76,7 @@ onMounted(() => {
<div class="title">里海收银系统 - 登录</div> <div class="title">里海收银系统 - 登录</div>
<el-form> <el-form>
<el-form-item> <el-form-item>
<el-input v-model="formLogin.account" placeholder="请输入账号"> <el-input ref="accRef" v-model="formLogin.account" placeholder="请输入账号" :autofocus="true" @keydown.enter="pwdRef.focus()">
<template #prefix> <template #prefix>
<el-icon><User /></el-icon> <el-icon><User /></el-icon>
</template> </template>
@ -81,10 +84,12 @@ onMounted(() => {
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-input <el-input
ref="pwdRef"
v-model="formLogin.password" v-model="formLogin.password"
type="password" type="password"
placeholder="请输入密码" placeholder="请输入密码"
show-password show-password
@keydown.enter="onLogin"
> >
<template #prefix> <template #prefix>
<el-icon><Lock /></el-icon> <el-icon><Lock /></el-icon>

View File

@ -43,7 +43,7 @@ getOrderList();
const cartCount = ref(0); const cartCount = ref(0);
const getCartList = () => { const getCartList = () => {
cartListApi({ cartListApi({
source: 300, staff_id: userStore.userInfo.service.service_id,
}).then((res) => { }).then((res) => {
cartCount.value = res.data.list?.length; cartCount.value = res.data.list?.length;
}); });