Compare commits
13 Commits
803da4b933
...
f5171c9498
Author | SHA1 | Date |
---|---|---|
weipengfei | f5171c9498 | |
weipengfei | f65aed1e0c | |
weipengfei | 74912345fc | |
weipengfei | b5fee1a606 | |
weipengfei | 48a9fee620 | |
weipengfei | 06573b8e0d | |
weipengfei | a5c4046453 | |
weipengfei | cb44f976e3 | |
weipengfei | 7f94d55df0 | |
weipengfei | 44c7223ca0 | |
weipengfei | 2583f984d3 | |
weipengfei | a16e229580 | |
weipengfei | b94a4006e6 |
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
.body[data-v-f9ff2ce9]{width:100vw;height:100vh;box-sizing:border-box;background-image:url(https://lihai001.oss-cn-chengdu.aliyuncs.com/def/b84ef202404101425077785.png);background-size:100% 100%;background-repeat:no-repeat;display:flex;justify-content:center;align-items:center}.body .login[data-v-f9ff2ce9]{width:18rem;background-color:#fff;border-radius:2rem;padding:2rem 3rem}.body .login .title[data-v-f9ff2ce9]{text-align:center;font-size:1.3rem;padding-bottom:2rem;color:#333}
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
@charset "UTF-8";.put-storage{background-color:#fff;border-radius:1.2rem;box-sizing:border-box;padding:1rem;height:100%;display:flex;flex-direction:column}.put-storage .image{width:4rem;height:4rem}.put-storage .order-lists{flex:1;width:100%}::-webkit-scrollbar{width:.315rem}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.315rem}::-webkit-scrollbar-thumb:hover{background-color:#999}
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
@charset "UTF-8";.my-order[data-v-42ec4cb4]{border-radius:1.2rem;height:100%;background-color:#fff;width:30rem;position:relative;overflow:hidden}.my-order .header-nav[data-v-42ec4cb4]{display:flex;flex-direction:column;justify-content:space-between;padding:1rem;height:3.5rem}.my-order .header-nav span[data-v-42ec4cb4]{color:#ff4a00}.my-order .header-nav .nav-item[data-v-42ec4cb4]{font-weight:700}.my-order .header-nav .nav-item-btn[data-v-42ec4cb4]{display:flex;justify-content:space-between;align-items:center}.my-order .header-input[data-v-42ec4cb4]{padding:1rem;padding-top:0;height:2.5rem;border-bottom:.0625rem solid #eee}.my-order .order-lists[data-v-42ec4cb4]{height:calc(100vh - 16.45rem);overflow-y:auto}.my-order .order-lists .item[data-v-42ec4cb4]{padding:1rem;border-bottom:.0625rem solid #eee}.my-order .order-lists .item .top[data-v-42ec4cb4]{display:flex;justify-content:space-between;align-items:flex-end}.my-order .order-lists .item .top .sn[data-v-42ec4cb4]{font-weight:700;font-size:.9rem}.my-order .order-lists .item .top .cahier[data-v-42ec4cb4]:before{content:"平台";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #2ec479;color:#2ec479;border-radius:.187rem}.my-order .order-lists .item .top .cahier2[data-v-42ec4cb4]:before{content:"平台";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #ff4a00;color:#ff4a00;border-radius:.187rem}.my-order .order-lists .item .top .create-time[data-v-42ec4cb4]{font-size:.8rem}.my-order .order-lists .item .shop[data-v-42ec4cb4]{display:flex;justify-content:space-between}.my-order .order-lists .item .shop .right[data-v-42ec4cb4]{flex-shrink:0;display:flex;flex-direction:column;justify-content:center}.my-order .order-lists .item .shop .right .money[data-v-42ec4cb4]{font-size:1rem;color:#ff4a00;font-weight:700}.my-order .order-lists .item .shop .right .count[data-v-42ec4cb4]{font-size:.7rem;color:#999}.my-order .order-lists .item .shop .left[data-v-42ec4cb4]{height:4.5rem;display:flex;align-items:center}.my-order .order-lists .item .shop .left .shop-img[data-v-42ec4cb4]{width:3.5rem;height:3.5rem;border-radius:.3rem;margin-right:.4rem}.my-order .order-lists .item .shop .left .shop-name[data-v-42ec4cb4]{font-size:.9rem;color:#333;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3}.my-order .order-lists .item .bottom[data-v-42ec4cb4]{display:flex;justify-content:space-between;font-size:.9rem;color:#777}.my-order .order-lists .item .bottom .manage-btn[data-v-42ec4cb4]{color:#fff;background-color:#e6a23c;border-radius:.2rem;padding:0 .2rem;margin-left:.5rem}.my-order .order-lists .item-active[data-v-42ec4cb4]{background-color:#efefef}.my-order .load-end[data-v-42ec4cb4]{text-align:center;padding:1rem;color:#333;font-size:.8rem}.my-order[data-v-bd1f9589]{border-radius:1.2rem;height:100%;flex:1;background-color:#fff;position:relative;overflow:hidden}.my-order .detail[data-v-bd1f9589]{height:100%;box-sizing:border-box;position:relative}.my-order .detail .table[data-v-bd1f9589]{padding:1rem;box-sizing:border-box;overflow-y:auto;height:100%}.my-order .detail .table .table-title[data-v-bd1f9589]{font-weight:700}.my-order .detail .table .table-info[data-v-bd1f9589]{display:flex;flex-wrap:wrap;color:#777;font-size:.9rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:.0625rem solid #eee}.my-order .detail .table .table-info[data-v-bd1f9589]:last-child{border-bottom:none}.my-order .detail .table .table-info .info-item[data-v-bd1f9589]{width:33%;display:flex;padding-top:1rem}.my-order .detail .table .table-info .info-item .info-item-title[data-v-bd1f9589]{flex-shrink:0;padding-right:1rem}.my-order .detail .footer[data-v-bd1f9589]{position:absolute;bottom:0;left:0;z-index:1;width:100%;height:6rem;box-sizing:border-box;background-color:#fff;display:flex;justify-content:flex-end;align-items:center;padding:0 2rem;border-top:.0625rem solid #eee}.my-card{display:flex}::-webkit-scrollbar{width:.315rem}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.315rem}::-webkit-scrollbar-thumb:hover{background-color:#999}
|
|
|
@ -1 +0,0 @@
|
||||||
@charset "UTF-8";.my-order[data-v-e01d9d71]{border-radius:1.2rem;height:100%;background-color:#fff;width:30rem;position:relative;overflow:hidden;display:flex;flex-direction:column}.my-order .header-nav[data-v-e01d9d71]{display:flex;flex-direction:column;justify-content:space-between;padding:1rem;height:7.5rem}.my-order .header-nav .nav-item[data-v-e01d9d71]{font-weight:700}.my-order .header-nav .nav-body .my-money[data-v-e01d9d71]{padding:.4rem 0;height:4rem}.my-order .header-nav .nav-body .my-money span[data-v-e01d9d71]{font-size:1.5rem;font-weight:700}.my-order .header-nav .nav-body .my-count[data-v-e01d9d71]{height:1.4rem;display:flex;justify-content:space-between;color:#777}.my-order .order-lists[data-v-e01d9d71]{flex:1;overflow-y:auto}.my-order .order-lists .item[data-v-e01d9d71]{padding:1rem;border-bottom:.0625rem solid #eee}.my-order .order-lists .item .own[data-v-e01d9d71]{font-size:.7rem;padding:.1rem .2rem;background-color:#2ec479;color:#fff;margin-left:1rem;border-radius:.2rem}.my-order .order-lists .item-active[data-v-e01d9d71]{background-color:#efefef}.my-order .order-footer[data-v-e01d9d71]{position:absolute;bottom:0;left:0;width:100%;box-shadow:0 -.0625rem .625rem #eee;background-color:#fff}.my-order .order-footer .input-btn[data-v-e01d9d71]{display:flex;padding:1rem 1.5rem;padding-bottom:0}.my-order .order-footer .input-btn .btn[data-v-e01d9d71]{margin-left:1rem}.my-order .order-footer .order-btn[data-v-e01d9d71]{height:3.2rem;padding:1rem 1.5rem}.my-order .order-footer .order-btn .btn[data-v-e01d9d71]{width:100%;height:100%;font-size:1.2rem;border-radius:3rem}input[data-v-e01d9d71]::-webkit-outer-spin-button,input[data-v-e01d9d71]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.my-order[data-v-b27fe34a]{border-radius:1.2rem;height:100%;flex:1;background-color:#fff;position:relative;overflow:hidden}.my-order .date[data-v-b27fe34a]{padding:1rem 1rem 0;display:flex;justify-content:space-between}.my-order .detail[data-v-b27fe34a]{height:calc(100vh - 10.25rem);box-sizing:border-box;position:relative}.my-order .detail .table[data-v-b27fe34a]{padding:1rem 1rem 6rem;overflow-y:auto;height:100%}.my-order .detail .table .table-title[data-v-b27fe34a]{font-weight:700}.my-order .detail .table .table-info[data-v-b27fe34a]{display:flex;flex-wrap:wrap;color:#777;font-size:.9rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:.0625rem solid #eee}.my-order .detail .table .table-info[data-v-b27fe34a]:last-child{border-bottom:none}.my-order .detail .table .table-info .info-item[data-v-b27fe34a]{width:33%;display:flex;padding-top:1rem}.my-order .detail .table .table-info .info-item .info-item-title[data-v-b27fe34a]{flex-shrink:0;padding-right:1rem}.my-card{display:flex}::-webkit-scrollbar{width:.315rem}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.315rem}::-webkit-scrollbar-thumb:hover{background-color:#999}
|
|
|
@ -1 +0,0 @@
|
||||||
@charset "UTF-8";.my-order[data-v-d25755c6]{box-sizing:border-box}.my-order .from[data-v-d25755c6]{width:100%;padding-bottom:1.25rem;display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem}.my-order .from .form-card[data-v-d25755c6]{border-radius:.8rem;height:5rem;background-color:#fff;font-size:1.3rem;font-weight:700;display:flex;flex-direction:column;justify-content:center;align-items:center}.my-order .from .form-card .tips[data-v-d25755c6]{font-size:.9rem;color:#999;font-weight:400}.my-order .from .red[data-v-d25755c6]{color:#ff4a00}.my-order .from .green[data-v-d25755c6]{color:#01c86f}.my-order .table[data-v-d25755c6]{background-color:#fff;border-radius:1.2rem;box-sizing:border-box;padding:1rem;overflow-y:scroll}[data-v-d25755c6]::-webkit-scrollbar{width:.315rem}[data-v-d25755c6]::-webkit-scrollbar-track{background-color:#f1f1f1;margin:1.25rem 0}[data-v-d25755c6]::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.315rem}[data-v-d25755c6]::-webkit-scrollbar-thumb:hover{background-color:#999}
|
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
.dra-body[data-v-d3c8ffa2]{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.dra-body .header[data-v-d3c8ffa2]{width:30rem;display:flex}.dra-body .header>div[data-v-d3c8ffa2]{flex:1;border:.0625rem solid #ccc;text-align:center;padding:.6rem 0;cursor:pointer}.dra-body .header .left[data-v-d3c8ffa2]{border-right:none;border-radius:5rem 0 0 5rem}.dra-body .header .right[data-v-d3c8ffa2]{border-left:none;border-radius:0 5rem 5rem 0}.dra-body .header .active[data-v-d3c8ffa2]{background-color:#1890ff;color:#fff;transition:.3s;border-color:#1890ff}.dra-body .card1 .code-input[data-v-d3c8ffa2]{width:100%;height:3rem;font-size:1.2rem}.dra-body .card1 .tips[data-v-d3c8ffa2]{width:38rem;height:16rem;background:url(./pay-De0xbdxm.png);background-size:100% 100%;background-repeat:no-repeat}.dra-body .card3 .codes[data-v-d3c8ffa2]{width:38rem;display:flex;align-items:center}.dra-body .card3 .codes .code-input[data-v-d3c8ffa2]{flex:1;height:3rem;font-size:1.2rem}.dra-body .card3 .codes .get-code-btn[data-v-d3c8ffa2]{height:3rem;margin-left:1rem}.dra-body .card3 .code-pay[data-v-d3c8ffa2]{margin-top:4rem;width:100%;height:3rem;border-radius:3rem}.cancel-btn[data-v-d3c8ffa2]{width:60%;border-color:#1890ff;color:#1890ff;border-radius:5rem;height:3rem;font-size:1.2rem}.drawer-body[data-v-d3c8ffa2]{width:100%;overflow-x:hidden}.counter[data-v-d3c8ffa2]{padding:1.25rem;border-radius:1.25rem;background-color:#f3f9ff}.counter .received[data-v-d3c8ffa2]{height:3rem;padding:0 1.25rem;border:.0625rem solid #1890ff;box-shadow:0 0 .18rem #1890ff;border-radius:.5rem;background-color:#fff;font-size:1.62rem;line-height:3rem;color:#333}.counter .balance[data-v-d3c8ffa2]{width:100%;box-sizing:border-box;padding:1.12rem 0 1.12rem .625rem;text-align:start;font-size:.95rem;color:#303133;display:flex;justify-content:space-between}.counter .balance .money[data-v-d3c8ffa2]{color:#ff4a00}.counter .balance .tips[data-v-d3c8ffa2]{font-size:.8rem;color:#999}.counter .keypad[data-v-d3c8ffa2]{display:grid;grid-template-columns:auto auto auto auto;grid-gap:.625rem}.counter .keypad .left[data-v-d3c8ffa2]{grid-column-end:span 3;display:grid;grid-template-columns:auto auto auto;grid-gap:.625rem}.counter .keypad .right[data-v-d3c8ffa2]{display:grid;grid-template-columns:auto;grid-gap:.625rem}.counter .keypad .el-button[data-v-d3c8ffa2]{height:3.875rem;width:8.125rem;margin:0!important;border:0;border-radius:.5rem;font-weight:500;font-size:1.75rem!important;line-height:3.87rem;color:#1890ff}.counter .keypad .el-button[data-v-d3c8ffa2]:focus{box-shadow:none}.counter .keypad .enter[data-v-d3c8ffa2]{grid-row-end:span 4;height:8.37rem;line-height:8.37rem;background-color:#1890ff;font-weight:500;font-size:1.35rem!important;color:#fff;position:relative}.counter .keypad .enter-disable[data-v-d3c8ffa2]{background-color:#ccc}
|
|
Binary file not shown.
Before Width: | Height: | Size: 215 KiB |
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
import{H as e}from"./index-BMBzhgd2.js";function o(r){return e.post("/cart/cart/create",r)}function s(r){return e.get("/cart/cart/list",{params:r})}function a(r){return e.post("/store_order/StoreOrder/checkOrder",r)}function i(r){return e.post("/cart/cart/delete",r)}function n(r){return e.post("/store_order/StoreOrder/createOrder",r)}function c(r){return e.post("/store_order/StoreOrder/pay",r)}function d(r){return e.get("/store_order/StoreOrder/lists",{params:r})}function p(r){return e.get("/store_order/storeOrder/detail",{params:r})}function u(r){return e.get("/store_order/storeOrder/writeoff_list",{params:r})}function f(r){return e.post("/store_order/StoreOrder/writeoff_order",r)}function O(r){return e.post("/store_order/StoreOrder/checkSms",r)}function A(r){return e.get("/store_order/StoreOrder/print",{params:r})}export{s as a,o as b,i as c,p as d,n as e,c as f,O as g,A as h,u as i,a as o,d as s,f as w};
|
|
|
@ -1 +0,0 @@
|
||||||
#receipt{padding:.625rem .625rem 1.25rem;font-size:.75rem;border:.0625rem solid #ccc;width:12.5rem}
|
|
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 31.92 32"><defs><style>.cls-1{fill:#333;fill-opacity:0;}.cls-2,.cls-3{fill:#1890ff;fill-rule:evenodd;isolation:isolate;}.cls-2{opacity:0.8;}</style></defs><title>cashier</title><rect class="cls-1" width="31.92" height="32"/><path class="cls-2" d="M23,12.36,12.28,23.11c-4.83,4.83,2.47,12.13,7.3,7.31L30.33,19.66C35.16,14.83,27.86,7.53,23,12.36Z"/><path class="cls-2" d="M19.64,23.11,8.89,12.36c-4.83-4.83-12.13,2.47-7.31,7.3L12.34,30.42c4.83,4.82,12.13-2.48,7.3-7.31Z"/><path class="cls-3" d="M20.58,11.16,16,15.79l-4.62-4.63a6.21,6.21,0,0,1,0-9.13A6.71,6.71,0,0,1,16,0C20.94.06,25.22,6.52,20.58,11.16Z"/></svg>
|
|
Before Width: | Height: | Size: 699 B |
|
@ -1,65 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<link rel="icon" type="image/svg+xml" href="./cashier.svg" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>里海收银系统</title>
|
|
||||||
<script
|
|
||||||
type="text/javascript"
|
|
||||||
src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"
|
|
||||||
></script>
|
|
||||||
<script type="text/javascript">
|
|
||||||
document.addEventListener("UniAppJSBridgeReady", function () {});
|
|
||||||
function receiveData(data) {
|
|
||||||
try {
|
|
||||||
data = JSON.parse(data);
|
|
||||||
if (data.type === "connect") {
|
|
||||||
window.postMessage(data);
|
|
||||||
}
|
|
||||||
} catch (error) {}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
/* 小屏幕 */
|
|
||||||
@media screen and (max-width: 576px) {
|
|
||||||
html {
|
|
||||||
font-size: 0.625rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 中等屏幕 */
|
|
||||||
@media screen and (min-width: 577px) and (max-width: 992px) {
|
|
||||||
html {
|
|
||||||
font-size: 0.625rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 大屏幕 */
|
|
||||||
@media screen and (min-width: 993px) and (max-width: 1336px) {
|
|
||||||
html {
|
|
||||||
font-size: 0.875rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 大屏幕 */
|
|
||||||
@media screen and (min-width: 1336px) and (max-width: 1900px) {
|
|
||||||
html {
|
|
||||||
font-size: 0.9375rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* 大屏幕 */
|
|
||||||
@media screen and (min-width: 1900px) {
|
|
||||||
html {
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<script type="module" crossorigin src="./assets/index-BMBzhgd2.js"></script>
|
|
||||||
<link rel="stylesheet" crossorigin href="./assets/index-F8CM97a-.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="app"></div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
|
Before Width: | Height: | Size: 1.5 KiB |
|
@ -0,0 +1 @@
|
||||||
|
import{r as n,b as r,c,d as m,w as y,g as f,t as p,K as v}from"./index-QWlmoZOY.js";const w={__name:"authCode",props:{type:{type:String,default:"primary"},start:{type:Boolean,default:!0},time:{type:Number,default:60},text:{type:String,default:"发送验证码"},timeText:{type:String,default:"秒重新获取"},width:{type:String,default:"100px"},disabled:{type:Boolean,default:!1}},emits:["sendCode"],setup(t,{emit:o}){const a=t,s=o,i=()=>{s("sendCode"),a.start&&d()},e=n(0),l=n(null),d=()=>{e.value=a.time,l.value=setInterval(()=>{e.value--,e.value<=0&&(clearInterval(l.value),e.value=0)},1e3)};return(x,b)=>{const u=r("el-button");return c(),m(u,{type:t.type,style:v({width:t.width}),onClick:i,disabled:e.value>0||t.disabled},{default:y(()=>[f(p(e.value>0?`${e.value}${t.timeText}`:t.text),1)]),_:1},8,["type","style","disabled"])}}};export{w as _};
|
|
@ -1 +1 @@
|
||||||
import{K as o,L as s,E as r,u as d,M as g}from"./index-BMBzhgd2.js";const m=o.create({baseURL:s.api,timeout:6e4});m.interceptors.request.use(t=>{const a=localStorage.getItem("Token");return a&&(t.headers.token=a),t},t=>(console.error(t),Promise.reject(t)));m.interceptors.response.use(t=>{var a;if(t.data.code===-1&&(t.data.msg=="登录过期"||t.data.msg=="登录超时,请重新登录"))throw r({message:t.data.msg,type:"error"}),setTimeout(()=>{const e=d();e.setUserInfo({}),e.setToken(""),g.push("/login")},500),new Error(t.data.msg);if(t.data.code===400)throw r({message:t.data.msg,type:"error"}),new Error(t.data.msg);if(t.data.show&&r({message:t.data.msg,type:"error"}),t.data.code===500)throw t.data.msg=JSON.parse(t.data.msg),r({message:((a=t.data.msg)==null?void 0:a.msg)||t.data.msg,type:"error"}),new Error(t.data.msg);return t.data.code===0?Promise.reject(t.data):t.data},t=>{var a,e;return console.error(t),r({message:((e=(a=t.response)==null?void 0:a.data)==null?void 0:e.msg)||t,type:"error"}),Promise.reject(t)});export{m as r};
|
import{L as o,M as s,E as r,u as d,N as g}from"./index-QWlmoZOY.js";const m=o.create({baseURL:s.api,timeout:6e4});m.interceptors.request.use(t=>{const a=localStorage.getItem("Token");return a&&(t.headers.token=a),t},t=>(console.error(t),Promise.reject(t)));m.interceptors.response.use(t=>{var a;if(t.data.code===-1&&(t.data.msg=="登录过期"||t.data.msg=="登录超时,请重新登录"))throw r({message:t.data.msg,type:"error"}),setTimeout(()=>{const e=d();e.setUserInfo({}),e.setToken(""),g.push("/login")},500),new Error(t.data.msg);if(t.data.code===400)throw r({message:t.data.msg,type:"error"}),new Error(t.data.msg);if(t.data.show&&r({message:t.data.msg,type:"error"}),t.data.code===500)throw t.data.msg=JSON.parse(t.data.msg),r({message:((a=t.data.msg)==null?void 0:a.msg)||t.data.msg,type:"error"}),new Error(t.data.msg);return t.data.code===0?Promise.reject(t.data):t.data},t=>{var a,e;return console.error(t),r({message:((e=(a=t.response)==null?void 0:a.data)==null?void 0:e.msg)||t,type:"error"}),Promise.reject(t)});export{m as r};
|
|
@ -1 +0,0 @@
|
||||||
import{K as o,L as s,E as r,u as d,M as g}from"./index-BVz4Ohfy.js";const m=o.create({baseURL:s.api,timeout:6e4});m.interceptors.request.use(t=>{const a=localStorage.getItem("Token");return a&&(t.headers.token=a),t},t=>(console.error(t),Promise.reject(t)));m.interceptors.response.use(t=>{var a;if(t.data.code===-1&&(t.data.msg=="登录过期"||t.data.msg=="登录超时,请重新登录"))throw r({message:t.data.msg,type:"error"}),setTimeout(()=>{const e=d();e.setUserInfo({}),e.setToken(""),g.push("/login")},500),new Error(t.data.msg);if(t.data.code===400)throw r({message:t.data.msg,type:"error"}),new Error(t.data.msg);if(t.data.show&&r({message:t.data.msg,type:"error"}),t.data.code===500)throw t.data.msg=JSON.parse(t.data.msg),r({message:((a=t.data.msg)==null?void 0:a.msg)||t.data.msg,type:"error"}),new Error(t.data.msg);return t.data.code===0?Promise.reject(t.data):t.data},t=>{var a,e;return console.error(t),r({message:((e=(a=t.response)==null?void 0:a.data)==null?void 0:e.msg)||t,type:"error"}),Promise.reject(t)});export{m as r};
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
@charset "UTF-8";.my-order[data-v-74a6e87a]{border-radius:1.2rem;height:100%;background-color:#fff;width:30rem;position:relative;overflow:hidden}.my-order .header-nav[data-v-74a6e87a]{display:flex;flex-direction:column;justify-content:space-between;padding:1rem;height:3.5rem}.my-order .header-nav span[data-v-74a6e87a]{color:#ff4a00}.my-order .header-nav .nav-item[data-v-74a6e87a]{font-weight:700}.my-order .header-nav .nav-item-btn[data-v-74a6e87a]{display:flex;justify-content:space-between;align-items:center}.my-order .header-input[data-v-74a6e87a]{padding:1rem;padding-top:0;height:2.5rem;border-bottom:.0625rem solid #eee}.my-order .order-lists[data-v-74a6e87a]{height:calc(100vh - 16.45rem);overflow-y:auto}.my-order .order-lists .item[data-v-74a6e87a]{padding:1rem;border-bottom:.0625rem solid #eee}.my-order .order-lists .item .top[data-v-74a6e87a]{display:flex;justify-content:space-between;align-items:flex-end}.my-order .order-lists .item .top .sn[data-v-74a6e87a]{font-weight:700;font-size:.9rem}.my-order .order-lists .item .top .cahier[data-v-74a6e87a]:before{content:"收银";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #2ec479;color:#2ec479;border-radius:.187rem}.my-order .order-lists .item .top .cahier2[data-v-74a6e87a]:before{content:"平台";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #ff4a00;color:#ff4a00;border-radius:.187rem}.my-order .order-lists .item .top .create-time[data-v-74a6e87a]{font-size:.8rem}.my-order .order-lists .item .shop[data-v-74a6e87a]{display:flex;justify-content:space-between}.my-order .order-lists .item .shop .right[data-v-74a6e87a]{flex-shrink:0;display:flex;flex-direction:column;justify-content:center}.my-order .order-lists .item .shop .right .money[data-v-74a6e87a]{font-size:1rem;color:#ff4a00;font-weight:700}.my-order .order-lists .item .shop .right .count[data-v-74a6e87a]{font-size:.7rem;color:#999}.my-order .order-lists .item .shop .left[data-v-74a6e87a]{height:4.5rem;display:flex;align-items:center}.my-order .order-lists .item .shop .left .shop-img[data-v-74a6e87a]{width:3.5rem;height:3.5rem;border-radius:.3rem;margin-right:.4rem}.my-order .order-lists .item .shop .left .shop-name[data-v-74a6e87a]{font-size:.9rem;color:#333;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3}.my-order .order-lists .item .bottom[data-v-74a6e87a]{display:flex;justify-content:space-between;font-size:.9rem;color:#777}.my-order .order-lists .item .bottom .manage-btn[data-v-74a6e87a]{color:#fff;background-color:#e6a23c;border-radius:.2rem;padding:0 .2rem;margin-left:.5rem}.my-order .order-lists .item-active[data-v-74a6e87a]{background-color:#efefef}.my-order .load-end[data-v-74a6e87a]{text-align:center;padding:1rem;color:#333;font-size:.8rem}.my-order[data-v-e0380861]{border-radius:1.2rem;height:100%;flex:1;background-color:#fff;position:relative;overflow:hidden}.my-order .detail[data-v-e0380861]{height:100%;box-sizing:border-box;position:relative}.my-order .detail .table[data-v-e0380861]{padding:1rem;overflow-y:auto;height:100%}.my-order .detail .table .table-title[data-v-e0380861]{font-weight:700}.my-order .detail .table .table-info[data-v-e0380861]{display:flex;flex-wrap:wrap;color:#777;font-size:.9rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:.0625rem solid #eee}.my-order .detail .table .table-info[data-v-e0380861]:last-child{border-bottom:none}.my-order .detail .table .table-info .info-item[data-v-e0380861]{width:33%;display:flex;padding-top:1rem}.my-order .detail .table .table-info .info-item .info-item-title[data-v-e0380861]{flex-shrink:0;padding-right:1rem}.my-order .detail .footer[data-v-e0380861]{position:absolute;bottom:0;left:0;z-index:1;width:100%;height:6rem;box-sizing:border-box;background-color:#fff;display:flex;justify-content:flex-end;align-items:center;padding:0 2rem;border-top:.0625rem solid #eee}.my-card{display:flex}::-webkit-scrollbar{width:.315rem}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.315rem}::-webkit-scrollbar-thumb:hover{background-color:#999}
|
|
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
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
@charset "UTF-8";.my-order[data-v-90e829d8]{border-radius:1.2rem;height:100%;background-color:#fff;width:30rem;position:relative;overflow:hidden;display:flex;flex-direction:column}.my-order .header-nav[data-v-90e829d8]{display:flex;justify-content:space-between;padding:1rem;height:1.5rem}.my-order .header-nav .nav-item[data-v-90e829d8]{font-weight:700}.my-order .header-nav span[data-v-90e829d8]{color:#ff4a00}.my-order .header-nav .nav-item-clear[data-v-90e829d8]{display:flex;align-items:center;font-size:.8rem;cursor:pointer}.my-order .header-input[data-v-90e829d8]{padding:1rem;padding-top:0;height:2.5rem;border-bottom:.0625rem solid #eee}.my-order .order-lists[data-v-90e829d8]{flex:1;overflow-y:auto}.my-order .order-lists .item[data-v-90e829d8]{padding:1rem;border-bottom:.0625rem solid #eee}.my-order .order-lists .item .top[data-v-90e829d8]{display:flex;justify-content:space-between;align-items:flex-end}.my-order .order-lists .item .top .sn[data-v-90e829d8]{font-weight:700;font-size:.9rem}.my-order .order-lists .item .top .cahier[data-v-90e829d8]:before{content:"收银";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #2ec479;color:#2ec479;border-radius:.187rem}.my-order .order-lists .item .top .cahier2[data-v-90e829d8]:before{content:"平台";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #ff4a00;color:#ff4a00;border-radius:.187rem}.my-order .order-lists .item .top .create-time[data-v-90e829d8]{font-size:.8rem}.my-order .order-lists .item .shop[data-v-90e829d8]{display:flex;justify-content:space-between}.my-order .order-lists .item .shop .right[data-v-90e829d8]{flex-shrink:0;display:flex;flex-direction:column;justify-content:center}.my-order .order-lists .item .shop .right .money[data-v-90e829d8]{font-size:1rem;color:#ff4a00;font-weight:700}.my-order .order-lists .item .shop .right .count[data-v-90e829d8]{font-size:.7rem;color:#999}.my-order .order-lists .item .shop .left[data-v-90e829d8]{height:4.5rem;display:flex;align-items:center}.my-order .order-lists .item .shop .left .shop-img[data-v-90e829d8]{width:3.5rem;height:3.5rem;border-radius:.3rem;margin-right:.4rem}.my-order .order-lists .item .shop .left .shop-name[data-v-90e829d8]{font-size:.9rem;color:#333;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3}.my-order .order-lists .item .bottom[data-v-90e829d8]{display:flex;justify-content:space-between;font-size:.9rem;color:#777}.my-order .order-lists .item .bottom .manage-btn[data-v-90e829d8]{color:#fff;background-color:#e6a23c;border-radius:.2rem;padding:0 .2rem;margin-left:.5rem}.my-order .order-lists .item-active[data-v-90e829d8]{background-color:#efefef}.my-order .load-end[data-v-90e829d8]{text-align:center;padding:1rem;color:#333;font-size:.8rem}.my-order[data-v-f5ee51ef]{border-radius:1.2rem;height:100%;flex:1;background-color:#fff;position:relative;overflow:hidden}.my-order .detail[data-v-f5ee51ef]{height:100%;box-sizing:border-box;position:relative}.my-order .detail .table[data-v-f5ee51ef]{padding:1rem;overflow-y:auto;height:100%}.my-order .detail .table .table-title[data-v-f5ee51ef]{font-weight:700}.my-order .detail .table .table-info[data-v-f5ee51ef]{display:flex;flex-wrap:wrap;color:#777;font-size:.9rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:.0625rem solid #eee}.my-order .detail .table .table-info[data-v-f5ee51ef]:last-child{border-bottom:none}.my-order .detail .table .table-info .info-item[data-v-f5ee51ef]{width:33%;display:flex;padding-top:1rem}.my-order .detail .table .table-info .info-item .info-item-title[data-v-f5ee51ef]{flex-shrink:0;padding-right:1rem}.my-order .detail .footer[data-v-f5ee51ef]{position:absolute;bottom:0;left:0;z-index:1;width:100%;height:6rem;box-sizing:border-box;background-color:#fff;display:flex;justify-content:flex-end;align-items:center;padding:0 2rem;border-top:.0625rem solid #eee}.my-card{display:flex}.my-card .my-code{height:70%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.my-card .my-code .box{width:38rem;position:relative}.my-card .my-code .box .input{width:100%;height:3rem;box-sizing:border-box;border-radius:4rem;border:.0625rem solid #1890ff;padding:0 1rem;font-size:1.1rem}.my-card .my-code .box .input:focus{outline:none;box-shadow:0 0 .31rem #1890ff;transition:all .2s ease-in-out}.my-card .my-code .box .btn{position:absolute;right:0;top:0;width:5rem;height:100%;border-radius:0 4rem 4rem 0;background:#1890ff;color:#fff;display:flex;justify-content:center;align-items:center;cursor:pointer}.my-card .my-code .to-list{width:auto;color:#1890ff;font-size:1.1rem;margin-top:3rem;text-align:center;display:flex;align-items:center;cursor:pointer}::-webkit-scrollbar{width:.31rem}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.31rem}::-webkit-scrollbar-thumb:hover{background-color:#999}
|
|
File diff suppressed because one or more lines are too long
|
@ -1 +1 @@
|
||||||
@charset "UTF-8";.my-order[data-v-74a6e87a]{border-radius:1.2rem;height:100%;background-color:#fff;width:30rem;position:relative;overflow:hidden}.my-order .header-nav[data-v-74a6e87a]{display:flex;flex-direction:column;justify-content:space-between;padding:1rem;height:3.5rem}.my-order .header-nav span[data-v-74a6e87a]{color:#ff4a00}.my-order .header-nav .nav-item[data-v-74a6e87a]{font-weight:700}.my-order .header-nav .nav-item-btn[data-v-74a6e87a]{display:flex;justify-content:space-between;align-items:center}.my-order .header-input[data-v-74a6e87a]{padding:1rem;padding-top:0;height:2.5rem;border-bottom:.0625rem solid #eee}.my-order .order-lists[data-v-74a6e87a]{height:calc(100vh - 16.45rem);overflow-y:auto}.my-order .order-lists .item[data-v-74a6e87a]{padding:1rem;border-bottom:.0625rem solid #eee}.my-order .order-lists .item .top[data-v-74a6e87a]{display:flex;justify-content:space-between;align-items:flex-end}.my-order .order-lists .item .top .sn[data-v-74a6e87a]{font-weight:700;font-size:.9rem}.my-order .order-lists .item .top .cahier[data-v-74a6e87a]:before{content:"收银";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #2ec479;color:#2ec479;border-radius:.187rem}.my-order .order-lists .item .top .cahier2[data-v-74a6e87a]:before{content:"平台";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #ff4a00;color:#ff4a00;border-radius:.187rem}.my-order .order-lists .item .top .create-time[data-v-74a6e87a]{font-size:.8rem}.my-order .order-lists .item .shop[data-v-74a6e87a]{display:flex;justify-content:space-between}.my-order .order-lists .item .shop .right[data-v-74a6e87a]{flex-shrink:0;display:flex;flex-direction:column;justify-content:center}.my-order .order-lists .item .shop .right .money[data-v-74a6e87a]{font-size:1rem;color:#ff4a00;font-weight:700}.my-order .order-lists .item .shop .right .count[data-v-74a6e87a]{font-size:.7rem;color:#999}.my-order .order-lists .item .shop .left[data-v-74a6e87a]{height:4.5rem;display:flex;align-items:center}.my-order .order-lists .item .shop .left .shop-img[data-v-74a6e87a]{width:3.5rem;height:3.5rem;border-radius:.3rem;margin-right:.4rem}.my-order .order-lists .item .shop .left .shop-name[data-v-74a6e87a]{font-size:.9rem;color:#333;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3}.my-order .order-lists .item .bottom[data-v-74a6e87a]{display:flex;justify-content:space-between;font-size:.9rem;color:#777}.my-order .order-lists .item .bottom .manage-btn[data-v-74a6e87a]{color:#fff;background-color:#e6a23c;border-radius:.2rem;padding:0 .2rem;margin-left:.5rem}.my-order .order-lists .item-active[data-v-74a6e87a]{background-color:#efefef}.my-order .load-end[data-v-74a6e87a]{text-align:center;padding:1rem;color:#333;font-size:.8rem}.my-order[data-v-a7693450]{border-radius:1.2rem;height:100%;flex:1;background-color:#fff;position:relative;overflow:hidden}.my-order .detail[data-v-a7693450]{height:100%;box-sizing:border-box;position:relative}.my-order .detail .table[data-v-a7693450]{padding:1rem;overflow-y:auto;height:100%}.my-order .detail .table .table-title[data-v-a7693450]{font-weight:700}.my-order .detail .table .table-info[data-v-a7693450]{display:flex;flex-wrap:wrap;color:#777;font-size:.9rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:.0625rem solid #eee}.my-order .detail .table .table-info[data-v-a7693450]:last-child{border-bottom:none}.my-order .detail .table .table-info .info-item[data-v-a7693450]{width:33%;display:flex;padding-top:1rem}.my-order .detail .table .table-info .info-item .info-item-title[data-v-a7693450]{flex-shrink:0;padding-right:1rem}.my-order .detail .footer[data-v-a7693450]{position:absolute;bottom:0;left:0;z-index:1;width:100%;height:6rem;box-sizing:border-box;background-color:#fff;display:flex;justify-content:flex-end;align-items:center;padding:0 2rem;border-top:.0625rem solid #eee}.my-card{display:flex}::-webkit-scrollbar{width:.315rem}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.315rem}::-webkit-scrollbar-thumb:hover{background-color:#999}
|
@charset "UTF-8";.my-order[data-v-74a6e87a]{border-radius:1.2rem;height:100%;background-color:#fff;width:30rem;position:relative;overflow:hidden}.my-order .header-nav[data-v-74a6e87a]{display:flex;flex-direction:column;justify-content:space-between;padding:1rem;height:3.5rem}.my-order .header-nav span[data-v-74a6e87a]{color:#ff4a00}.my-order .header-nav .nav-item[data-v-74a6e87a]{font-weight:700}.my-order .header-nav .nav-item-btn[data-v-74a6e87a]{display:flex;justify-content:space-between;align-items:center}.my-order .header-input[data-v-74a6e87a]{padding:1rem;padding-top:0;height:2.5rem;border-bottom:.0625rem solid #eee}.my-order .order-lists[data-v-74a6e87a]{height:calc(100vh - 16.45rem);overflow-y:auto}.my-order .order-lists .item[data-v-74a6e87a]{padding:1rem;border-bottom:.0625rem solid #eee}.my-order .order-lists .item .top[data-v-74a6e87a]{display:flex;justify-content:space-between;align-items:flex-end}.my-order .order-lists .item .top .sn[data-v-74a6e87a]{font-weight:700;font-size:.9rem}.my-order .order-lists .item .top .cahier[data-v-74a6e87a]:before{content:"收银";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #2ec479;color:#2ec479;border-radius:.187rem}.my-order .order-lists .item .top .cahier2[data-v-74a6e87a]:before{content:"平台";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #ff4a00;color:#ff4a00;border-radius:.187rem}.my-order .order-lists .item .top .create-time[data-v-74a6e87a]{font-size:.8rem}.my-order .order-lists .item .shop[data-v-74a6e87a]{display:flex;justify-content:space-between}.my-order .order-lists .item .shop .right[data-v-74a6e87a]{flex-shrink:0;display:flex;flex-direction:column;justify-content:center}.my-order .order-lists .item .shop .right .money[data-v-74a6e87a]{font-size:1rem;color:#ff4a00;font-weight:700}.my-order .order-lists .item .shop .right .count[data-v-74a6e87a]{font-size:.7rem;color:#999}.my-order .order-lists .item .shop .left[data-v-74a6e87a]{height:4.5rem;display:flex;align-items:center}.my-order .order-lists .item .shop .left .shop-img[data-v-74a6e87a]{width:3.5rem;height:3.5rem;border-radius:.3rem;margin-right:.4rem}.my-order .order-lists .item .shop .left .shop-name[data-v-74a6e87a]{font-size:.9rem;color:#333;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3}.my-order .order-lists .item .bottom[data-v-74a6e87a]{display:flex;justify-content:space-between;font-size:.9rem;color:#777}.my-order .order-lists .item .bottom .manage-btn[data-v-74a6e87a]{color:#fff;background-color:#e6a23c;border-radius:.2rem;padding:0 .2rem;margin-left:.5rem}.my-order .order-lists .item-active[data-v-74a6e87a]{background-color:#efefef}.my-order .load-end[data-v-74a6e87a]{text-align:center;padding:1rem;color:#333;font-size:.8rem}.my-order[data-v-b5c92dd9]{border-radius:1.2rem;height:100%;flex:1;background-color:#fff;position:relative;overflow:hidden}.my-order .detail[data-v-b5c92dd9]{height:100%;box-sizing:border-box;position:relative}.my-order .detail .table[data-v-b5c92dd9]{padding:1rem;overflow-y:auto;height:100%}.my-order .detail .table .table-title[data-v-b5c92dd9]{font-weight:700}.my-order .detail .table .table-info[data-v-b5c92dd9]{display:flex;flex-wrap:wrap;color:#777;font-size:.9rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:.0625rem solid #eee}.my-order .detail .table .table-info[data-v-b5c92dd9]:last-child{border-bottom:none}.my-order .detail .table .table-info .info-item[data-v-b5c92dd9]{width:33%;display:flex;padding-top:1rem}.my-order .detail .table .table-info .info-item .info-item-title[data-v-b5c92dd9]{flex-shrink:0;padding-right:1rem}.my-order .detail .footer[data-v-b5c92dd9]{position:absolute;bottom:0;left:0;z-index:1;width:100%;height:6rem;box-sizing:border-box;background-color:#fff;display:flex;justify-content:flex-end;align-items:center;padding:0 2rem;border-top:.0625rem solid #eee}.my-card{display:flex}::-webkit-scrollbar{width:.315rem}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.315rem}::-webkit-scrollbar-thumb:hover{background-color:#999}
|
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 +0,0 @@
|
||||||
@charset "UTF-8";.my-order[data-v-42ec4cb4]{border-radius:1.2rem;height:100%;background-color:#fff;width:30rem;position:relative;overflow:hidden}.my-order .header-nav[data-v-42ec4cb4]{display:flex;flex-direction:column;justify-content:space-between;padding:1rem;height:3.5rem}.my-order .header-nav span[data-v-42ec4cb4]{color:#ff4a00}.my-order .header-nav .nav-item[data-v-42ec4cb4]{font-weight:700}.my-order .header-nav .nav-item-btn[data-v-42ec4cb4]{display:flex;justify-content:space-between;align-items:center}.my-order .header-input[data-v-42ec4cb4]{padding:1rem;padding-top:0;height:2.5rem;border-bottom:.0625rem solid #eee}.my-order .order-lists[data-v-42ec4cb4]{height:calc(100vh - 16.45rem);overflow-y:auto}.my-order .order-lists .item[data-v-42ec4cb4]{padding:1rem;border-bottom:.0625rem solid #eee}.my-order .order-lists .item .top[data-v-42ec4cb4]{display:flex;justify-content:space-between;align-items:flex-end}.my-order .order-lists .item .top .sn[data-v-42ec4cb4]{font-weight:700;font-size:.9rem}.my-order .order-lists .item .top .cahier[data-v-42ec4cb4]:before{content:"平台";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #2ec479;color:#2ec479;border-radius:.187rem}.my-order .order-lists .item .top .cahier2[data-v-42ec4cb4]:before{content:"平台";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #ff4a00;color:#ff4a00;border-radius:.187rem}.my-order .order-lists .item .top .create-time[data-v-42ec4cb4]{font-size:.8rem}.my-order .order-lists .item .shop[data-v-42ec4cb4]{display:flex;justify-content:space-between}.my-order .order-lists .item .shop .right[data-v-42ec4cb4]{flex-shrink:0;display:flex;flex-direction:column;justify-content:center}.my-order .order-lists .item .shop .right .money[data-v-42ec4cb4]{font-size:1rem;color:#ff4a00;font-weight:700}.my-order .order-lists .item .shop .right .count[data-v-42ec4cb4]{font-size:.7rem;color:#999}.my-order .order-lists .item .shop .left[data-v-42ec4cb4]{height:4.5rem;display:flex;align-items:center}.my-order .order-lists .item .shop .left .shop-img[data-v-42ec4cb4]{width:3.5rem;height:3.5rem;border-radius:.3rem;margin-right:.4rem}.my-order .order-lists .item .shop .left .shop-name[data-v-42ec4cb4]{font-size:.9rem;color:#333;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3}.my-order .order-lists .item .bottom[data-v-42ec4cb4]{display:flex;justify-content:space-between;font-size:.9rem;color:#777}.my-order .order-lists .item .bottom .manage-btn[data-v-42ec4cb4]{color:#fff;background-color:#e6a23c;border-radius:.2rem;padding:0 .2rem;margin-left:.5rem}.my-order .order-lists .item-active[data-v-42ec4cb4]{background-color:#efefef}.my-order .load-end[data-v-42ec4cb4]{text-align:center;padding:1rem;color:#333;font-size:.8rem}.my-order[data-v-18a74f9a]{border-radius:1.2rem;height:100%;flex:1;background-color:#fff;position:relative;overflow:hidden}.my-order .detail[data-v-18a74f9a]{height:100%;box-sizing:border-box;position:relative}.my-order .detail .table[data-v-18a74f9a]{padding:1rem;box-sizing:border-box;overflow-y:auto;height:100%}.my-order .detail .table .table-title[data-v-18a74f9a]{font-weight:700}.my-order .detail .table .table-info[data-v-18a74f9a]{display:flex;flex-wrap:wrap;color:#777;font-size:.9rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:.0625rem solid #eee}.my-order .detail .table .table-info[data-v-18a74f9a]:last-child{border-bottom:none}.my-order .detail .table .table-info .info-item[data-v-18a74f9a]{width:33%;display:flex;padding-top:1rem}.my-order .detail .table .table-info .info-item .info-item-title[data-v-18a74f9a]{flex-shrink:0;padding-right:1rem}.my-order .detail .footer[data-v-18a74f9a]{position:absolute;bottom:0;left:0;z-index:1;width:100%;height:6rem;box-sizing:border-box;background-color:#fff;display:flex;justify-content:flex-end;align-items:center;padding:0 2rem;border-top:.0625rem solid #eee}.my-card{display:flex}::-webkit-scrollbar{width:.315rem}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.315rem}::-webkit-scrollbar-thumb:hover{background-color:#999}
|
|
|
@ -1 +1 @@
|
||||||
@charset "UTF-8";.my-order[data-v-8d729586]{border-radius:1.2rem;height:100%;background-color:#fff;width:30rem;position:relative;overflow:hidden;display:flex;flex-direction:column}.my-order .header-nav[data-v-8d729586]{display:flex;justify-content:space-between;padding:1rem;height:1.5rem}.my-order .header-nav .nav-item[data-v-8d729586]{font-weight:700}.my-order .header-nav span[data-v-8d729586]{color:#ff4a00}.my-order .header-nav .nav-item-clear[data-v-8d729586]{display:flex;align-items:center;font-size:.8rem;cursor:pointer}.my-order .header-input[data-v-8d729586]{padding:1rem;padding-top:0;height:2.5rem;border-bottom:.0625rem solid #eee}.my-order .order-lists[data-v-8d729586]{flex:1;overflow-y:auto}.my-order .order-lists .item[data-v-8d729586]{padding:1rem;border-bottom:.0625rem solid #eee}.my-order .order-lists .item .top[data-v-8d729586]{display:flex;justify-content:space-between;align-items:flex-end}.my-order .order-lists .item .top .sn[data-v-8d729586]{font-weight:700;font-size:.9rem}.my-order .order-lists .item .top .cahier[data-v-8d729586]:before{content:"收银";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #2ec479;color:#2ec479;border-radius:.187rem}.my-order .order-lists .item .top .cahier2[data-v-8d729586]:before{content:"平台";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #ff4a00;color:#ff4a00;border-radius:.187rem}.my-order .order-lists .item .top .create-time[data-v-8d729586]{font-size:.8rem}.my-order .order-lists .item .shop[data-v-8d729586]{display:flex;justify-content:space-between}.my-order .order-lists .item .shop .right[data-v-8d729586]{flex-shrink:0;display:flex;flex-direction:column;justify-content:center}.my-order .order-lists .item .shop .right .money[data-v-8d729586]{font-size:1rem;color:#ff4a00;font-weight:700}.my-order .order-lists .item .shop .right .count[data-v-8d729586]{font-size:.7rem;color:#999}.my-order .order-lists .item .shop .left[data-v-8d729586]{height:4.5rem;display:flex;align-items:center}.my-order .order-lists .item .shop .left .shop-img[data-v-8d729586]{width:3.5rem;height:3.5rem;border-radius:.3rem;margin-right:.4rem}.my-order .order-lists .item .shop .left .shop-name[data-v-8d729586]{font-size:.9rem;color:#333;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3}.my-order .order-lists .item .bottom[data-v-8d729586]{display:flex;justify-content:space-between;font-size:.9rem;color:#777}.my-order .order-lists .item .bottom .manage-btn[data-v-8d729586]{color:#fff;background-color:#e6a23c;border-radius:.2rem;padding:0 .2rem;margin-left:.5rem}.my-order .order-lists .item-active[data-v-8d729586]{background-color:#efefef}.my-order .load-end[data-v-8d729586]{text-align:center;padding:1rem;color:#333;font-size:.8rem}.my-order[data-v-ea87d657]{border-radius:1.2rem;height:100%;flex:1;background-color:#fff;position:relative;overflow:hidden}.my-order .detail[data-v-ea87d657]{height:100%;box-sizing:border-box;position:relative}.my-order .detail .table[data-v-ea87d657]{padding:1rem;overflow-y:auto;height:100%}.my-order .detail .table .table-title[data-v-ea87d657]{font-weight:700}.my-order .detail .table .table-info[data-v-ea87d657]{display:flex;flex-wrap:wrap;color:#777;font-size:.9rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:.0625rem solid #eee}.my-order .detail .table .table-info[data-v-ea87d657]:last-child{border-bottom:none}.my-order .detail .table .table-info .info-item[data-v-ea87d657]{width:33%;display:flex;padding-top:1rem}.my-order .detail .table .table-info .info-item .info-item-title[data-v-ea87d657]{flex-shrink:0;padding-right:1rem}.my-order .detail .footer[data-v-ea87d657]{position:absolute;bottom:0;left:0;z-index:1;width:100%;height:6rem;box-sizing:border-box;background-color:#fff;display:flex;justify-content:flex-end;align-items:center;padding:0 2rem;border-top:.0625rem solid #eee}.my-card{display:flex}.my-card .my-code{height:70%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.my-card .my-code .box{width:38rem;position:relative}.my-card .my-code .box .input{width:100%;height:3rem;box-sizing:border-box;border-radius:4rem;border:.0625rem solid #1890ff;padding:0 1rem;font-size:1.1rem}.my-card .my-code .box .input:focus{outline:none;box-shadow:0 0 .31rem #1890ff;transition:all .2s ease-in-out}.my-card .my-code .box .btn{position:absolute;right:0;top:0;width:5rem;height:100%;border-radius:0 4rem 4rem 0;background:#1890ff;color:#fff;display:flex;justify-content:center;align-items:center;cursor:pointer}.my-card .my-code .to-list{width:auto;color:#1890ff;font-size:1.1rem;margin-top:3rem;text-align:center;display:flex;align-items:center;cursor:pointer}::-webkit-scrollbar{width:.31rem}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.31rem}::-webkit-scrollbar-thumb:hover{background-color:#999}
|
@charset "UTF-8";.my-order[data-v-8d729586]{border-radius:1.2rem;height:100%;background-color:#fff;width:30rem;position:relative;overflow:hidden;display:flex;flex-direction:column}.my-order .header-nav[data-v-8d729586]{display:flex;justify-content:space-between;padding:1rem;height:1.5rem}.my-order .header-nav .nav-item[data-v-8d729586]{font-weight:700}.my-order .header-nav span[data-v-8d729586]{color:#ff4a00}.my-order .header-nav .nav-item-clear[data-v-8d729586]{display:flex;align-items:center;font-size:.8rem;cursor:pointer}.my-order .header-input[data-v-8d729586]{padding:1rem;padding-top:0;height:2.5rem;border-bottom:.0625rem solid #eee}.my-order .order-lists[data-v-8d729586]{flex:1;overflow-y:auto}.my-order .order-lists .item[data-v-8d729586]{padding:1rem;border-bottom:.0625rem solid #eee}.my-order .order-lists .item .top[data-v-8d729586]{display:flex;justify-content:space-between;align-items:flex-end}.my-order .order-lists .item .top .sn[data-v-8d729586]{font-weight:700;font-size:.9rem}.my-order .order-lists .item .top .cahier[data-v-8d729586]:before{content:"收银";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #2ec479;color:#2ec479;border-radius:.187rem}.my-order .order-lists .item .top .cahier2[data-v-8d729586]:before{content:"平台";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #ff4a00;color:#ff4a00;border-radius:.187rem}.my-order .order-lists .item .top .create-time[data-v-8d729586]{font-size:.8rem}.my-order .order-lists .item .shop[data-v-8d729586]{display:flex;justify-content:space-between}.my-order .order-lists .item .shop .right[data-v-8d729586]{flex-shrink:0;display:flex;flex-direction:column;justify-content:center}.my-order .order-lists .item .shop .right .money[data-v-8d729586]{font-size:1rem;color:#ff4a00;font-weight:700}.my-order .order-lists .item .shop .right .count[data-v-8d729586]{font-size:.7rem;color:#999}.my-order .order-lists .item .shop .left[data-v-8d729586]{height:4.5rem;display:flex;align-items:center}.my-order .order-lists .item .shop .left .shop-img[data-v-8d729586]{width:3.5rem;height:3.5rem;border-radius:.3rem;margin-right:.4rem}.my-order .order-lists .item .shop .left .shop-name[data-v-8d729586]{font-size:.9rem;color:#333;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3}.my-order .order-lists .item .bottom[data-v-8d729586]{display:flex;justify-content:space-between;font-size:.9rem;color:#777}.my-order .order-lists .item .bottom .manage-btn[data-v-8d729586]{color:#fff;background-color:#e6a23c;border-radius:.2rem;padding:0 .2rem;margin-left:.5rem}.my-order .order-lists .item-active[data-v-8d729586]{background-color:#efefef}.my-order .load-end[data-v-8d729586]{text-align:center;padding:1rem;color:#333;font-size:.8rem}.my-order[data-v-1950b4ed]{border-radius:1.2rem;height:100%;flex:1;background-color:#fff;position:relative;overflow:hidden}.my-order .detail[data-v-1950b4ed]{height:100%;box-sizing:border-box;position:relative}.my-order .detail .table[data-v-1950b4ed]{padding:1rem;overflow-y:auto;height:100%}.my-order .detail .table .table-title[data-v-1950b4ed]{font-weight:700}.my-order .detail .table .table-info[data-v-1950b4ed]{display:flex;flex-wrap:wrap;color:#777;font-size:.9rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:.0625rem solid #eee}.my-order .detail .table .table-info[data-v-1950b4ed]:last-child{border-bottom:none}.my-order .detail .table .table-info .info-item[data-v-1950b4ed]{width:33%;display:flex;padding-top:1rem}.my-order .detail .table .table-info .info-item .info-item-title[data-v-1950b4ed]{flex-shrink:0;padding-right:1rem}.my-order .detail .footer[data-v-1950b4ed]{position:absolute;bottom:0;left:0;z-index:1;width:100%;height:6rem;box-sizing:border-box;background-color:#fff;display:flex;justify-content:flex-end;align-items:center;padding:0 2rem;border-top:.0625rem solid #eee}.my-card{display:flex}.my-card .my-code{height:70%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.my-card .my-code .box{width:38rem;position:relative}.my-card .my-code .box .input{width:100%;height:3rem;box-sizing:border-box;border-radius:4rem;border:.0625rem solid #1890ff;padding:0 1rem;font-size:1.1rem}.my-card .my-code .box .input:focus{outline:none;box-shadow:0 0 .31rem #1890ff;transition:all .2s ease-in-out}.my-card .my-code .box .btn{position:absolute;right:0;top:0;width:5rem;height:100%;border-radius:0 4rem 4rem 0;background:#1890ff;color:#fff;display:flex;justify-content:center;align-items:center;cursor:pointer}.my-card .my-code .to-list{width:auto;color:#1890ff;font-size:1.1rem;margin-top:3rem;text-align:center;display:flex;align-items:center;cursor:pointer}::-webkit-scrollbar{width:.31rem}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.31rem}::-webkit-scrollbar-thumb:hover{background-color:#999}
|
|
@ -1 +1 @@
|
||||||
import{a as B,b as L}from"./shop-BTJKDwH3.js";import{r as f,b as s,h as v,c as i,k as b,f as e,w as a,j as N,g as r,d,p as y,E as A}from"./index-BMBzhgd2.js";import"./axiosAPI-DiwKH9qZ.js";const D={class:"my-card put-storage"},I={class:"order-lists","infinite-scroll-distance":300,"infinite-scroll-delay":500,"infinite-scroll-immediate":!1,style:{overflow:"auto"}},U={__name:"index",setup(S){const u=f([]),t=f({page_no:1,page_size:20,loadend:!1,type:1}),_=f(!1),c=()=>{t.value.loadend||(_.value=!0,B({page_no:t.value.page_no,page_size:t.value.page_size,type:t.value.type}).then(n=>{u.value=[...u.value,...n.data.lists],n.data.lists.length<t.value.page_size&&(t.value.loadend=!0),t.value.page_no++,_.value=!1}))};c();const h=()=>{t.value.page_no=1,t.value.loadend=!1,u.value=[],c()},k=async n=>{L({id:n.id}).then(p=>{n.status=1,A.success("入库成功")})};return(n,p)=>{const g=s("el-radio-button"),x=s("el-radio-group"),o=s("el-table-column"),C=s("el-image"),m=s("el-tag"),V=s("el-button"),E=s("el-table"),w=v("loading"),z=v("infinite-scroll");return i(),b("div",D,[e(x,{style:{"margin-bottom":"20px"},modelValue:t.value.type,"onUpdate:modelValue":p[0]||(p[0]=l=>t.value.type=l),onChange:h},{default:a(()=>[e(g,{label:1,value:1},{default:a(()=>[r("售卖库存")]),_:1}),e(g,{label:2,value:2},{default:a(()=>[r("兑换库存")]),_:1})]),_:1},8,["modelValue"]),N((i(),b("div",I,[e(E,{data:u.value},{default:a(()=>[e(o,{label:"导入人员",prop:"admin_name"}),e(o,{label:"门店确认人员",prop:"staff_name"}),e(o,{label:"商品图",prop:"image"},{default:a(({row:l})=>[e(C,{class:"image",src:l.image},null,8,["src"])]),_:1}),e(o,{label:"商品",prop:"store_name"}),e(o,{label:"数量",prop:"nums"}),e(o,{label:"状态",prop:"status"},{default:a(({row:l})=>[l.status===1?(i(),d(m,{key:0,type:"success"},{default:a(()=>[r("已入库")]),_:1})):l.status===0?(i(),d(m,{key:1,type:"warning"},{default:a(()=>[r("待确认")]),_:1})):l.status===-1?(i(),d(m,{key:2,type:"danger"},{default:a(()=>[r("库存不足")]),_:1})):y("",!0)]),_:1}),e(o,{label:"备注",prop:"mark"}),e(o,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[l.status==0?(i(),d(V,{key:0,type:"success",onClick:j=>k(l)},{default:a(()=>[r(" 确认入库 ")]),_:2},1032,["onClick"])):y("",!0)]),_:1})]),_:1},8,["data"])])),[[w,_.value],[z,c]])])}}};export{U as default};
|
import{a as B,b as L}from"./shop-C9NEbBkK.js";import{r as f,b as s,h as v,c as i,k as b,f as e,w as a,j as N,g as r,d,p as y,E as A}from"./index-QWlmoZOY.js";import"./axiosAPI-CcLrXseV.js";const D={class:"my-card put-storage"},I={class:"order-lists","infinite-scroll-distance":300,"infinite-scroll-delay":500,"infinite-scroll-immediate":!1,style:{overflow:"auto"}},U={__name:"index",setup(S){const u=f([]),t=f({page_no:1,page_size:20,loadend:!1,type:1}),_=f(!1),c=()=>{t.value.loadend||(_.value=!0,B({page_no:t.value.page_no,page_size:t.value.page_size,type:t.value.type}).then(n=>{u.value=[...u.value,...n.data.lists],n.data.lists.length<t.value.page_size&&(t.value.loadend=!0),t.value.page_no++,_.value=!1}))};c();const h=()=>{t.value.page_no=1,t.value.loadend=!1,u.value=[],c()},k=async n=>{L({id:n.id}).then(p=>{n.status=1,A.success("入库成功")})};return(n,p)=>{const g=s("el-radio-button"),x=s("el-radio-group"),o=s("el-table-column"),C=s("el-image"),m=s("el-tag"),V=s("el-button"),E=s("el-table"),w=v("loading"),z=v("infinite-scroll");return i(),b("div",D,[e(x,{style:{"margin-bottom":"20px"},modelValue:t.value.type,"onUpdate:modelValue":p[0]||(p[0]=l=>t.value.type=l),onChange:h},{default:a(()=>[e(g,{label:1,value:1},{default:a(()=>[r("售卖库存")]),_:1}),e(g,{label:2,value:2},{default:a(()=>[r("兑换库存")]),_:1})]),_:1},8,["modelValue"]),N((i(),b("div",I,[e(E,{data:u.value},{default:a(()=>[e(o,{label:"导入人员",prop:"admin_name"}),e(o,{label:"门店确认人员",prop:"staff_name"}),e(o,{label:"商品图",prop:"image"},{default:a(({row:l})=>[e(C,{class:"image",src:l.image},null,8,["src"])]),_:1}),e(o,{label:"商品",prop:"store_name"}),e(o,{label:"数量",prop:"nums"}),e(o,{label:"状态",prop:"status"},{default:a(({row:l})=>[l.status===1?(i(),d(m,{key:0,type:"success"},{default:a(()=>[r("已入库")]),_:1})):l.status===0?(i(),d(m,{key:1,type:"warning"},{default:a(()=>[r("待确认")]),_:1})):l.status===-1?(i(),d(m,{key:2,type:"danger"},{default:a(()=>[r("库存不足")]),_:1})):y("",!0)]),_:1}),e(o,{label:"备注",prop:"mark"}),e(o,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[l.status==0?(i(),d(V,{key:0,type:"success",onClick:j=>k(l)},{default:a(()=>[r(" 确认入库 ")]),_:2},1032,["onClick"])):y("",!0)]),_:1})]),_:1},8,["data"])])),[[w,_.value],[z,c]])])}}};export{U as default};
|
|
@ -0,0 +1 @@
|
||||||
|
@charset "UTF-8";.my-order[data-v-44aa5565]{border-radius:1.2rem;height:100%;background-color:#fff;width:30rem;position:relative;overflow:hidden}.my-order .header-nav[data-v-44aa5565]{display:flex;flex-direction:column;justify-content:space-between;padding:1rem;height:3.5rem}.my-order .header-nav span[data-v-44aa5565]{color:#ff4a00}.my-order .header-nav .nav-item[data-v-44aa5565]{font-weight:700}.my-order .header-nav .nav-item-btn[data-v-44aa5565]{display:flex;justify-content:space-between;align-items:center}.my-order .header-input[data-v-44aa5565]{padding:1rem;padding-top:0;height:2.5rem;border-bottom:.0625rem solid #eee}.my-order .order-lists[data-v-44aa5565]{height:calc(100vh - 16.45rem);overflow-y:auto}.my-order .order-lists .item[data-v-44aa5565]{padding:1rem;border-bottom:.0625rem solid #eee}.my-order .order-lists .item .top[data-v-44aa5565]{display:flex;justify-content:space-between;align-items:flex-end}.my-order .order-lists .item .top .sn[data-v-44aa5565]{font-weight:700;font-size:.9rem}.my-order .order-lists .item .top .cahier[data-v-44aa5565]:before{content:"平台";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #2ec479;color:#2ec479;border-radius:.187rem}.my-order .order-lists .item .top .cahier2[data-v-44aa5565]:before{content:"平台";font-weight:400;font-size:.7rem;padding:.1rem;margin-right:.2rem;border:.0625rem solid #ff4a00;color:#ff4a00;border-radius:.187rem}.my-order .order-lists .item .top .create-time[data-v-44aa5565]{font-size:.8rem}.my-order .order-lists .item .shop[data-v-44aa5565]{display:flex;justify-content:space-between}.my-order .order-lists .item .shop .right[data-v-44aa5565]{flex-shrink:0;display:flex;flex-direction:column;justify-content:center}.my-order .order-lists .item .shop .right .money[data-v-44aa5565]{font-size:1rem;color:#ff4a00;font-weight:700}.my-order .order-lists .item .shop .right .count[data-v-44aa5565]{font-size:.7rem;color:#999}.my-order .order-lists .item .shop .left[data-v-44aa5565]{height:4.5rem;display:flex;align-items:center}.my-order .order-lists .item .shop .left .shop-img[data-v-44aa5565]{width:3.5rem;height:3.5rem;border-radius:.3rem;margin-right:.4rem}.my-order .order-lists .item .shop .left .shop-name[data-v-44aa5565]{font-size:.9rem;color:#333;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3}.my-order .order-lists .item .bottom[data-v-44aa5565]{display:flex;justify-content:space-between;font-size:.9rem;color:#777}.my-order .order-lists .item .bottom .manage-btn[data-v-44aa5565]{color:#fff;background-color:#e6a23c;border-radius:.2rem;padding:0 .2rem;margin-left:.5rem}.my-order .order-lists .item-active[data-v-44aa5565]{background-color:#efefef}.my-order .load-end[data-v-44aa5565]{text-align:center;padding:1rem;color:#333;font-size:.8rem}.my-order[data-v-0f1c9a1a]{border-radius:1.2rem;height:100%;flex:1;background-color:#fff;position:relative;overflow:hidden}.my-order .detail[data-v-0f1c9a1a]{height:100%;box-sizing:border-box;position:relative}.my-order .detail .table[data-v-0f1c9a1a]{padding:1rem;box-sizing:border-box;overflow-y:auto;height:100%}.my-order .detail .table .table-title[data-v-0f1c9a1a]{font-weight:700}.my-order .detail .table .table-info[data-v-0f1c9a1a]{display:flex;flex-wrap:wrap;color:#777;font-size:.9rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:.0625rem solid #eee}.my-order .detail .table .table-info[data-v-0f1c9a1a]:last-child{border-bottom:none}.my-order .detail .table .table-info .info-item[data-v-0f1c9a1a]{width:33%;display:flex;padding-top:1rem}.my-order .detail .table .table-info .info-item .info-item-title[data-v-0f1c9a1a]{flex-shrink:0;padding-right:1rem}.my-order .detail .footer[data-v-0f1c9a1a]{position:absolute;bottom:0;left:0;z-index:1;width:100%;height:6rem;box-sizing:border-box;background-color:#fff;display:flex;justify-content:flex-end;align-items:center;padding:0 2rem;border-top:.0625rem solid #eee}.my-card{display:flex}::-webkit-scrollbar{width:.315rem}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.315rem}::-webkit-scrollbar-thumb:hover{background-color:#999}
|
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 +0,0 @@
|
||||||
import{_ as U,u as I,r as u,o as R,b as n,c as S,k as b,e as v,f as e,w as t,i as m,g as C,q as L,s as B,C as E,E as w}from"./index-BVz4Ohfy.js";import{l as K}from"./user-CmzBi8Mn.js";const N=l=>(L("data-v-f9ff2ce9"),l=l(),B(),l),M={class:"body"},T={class:"login"},q=N(()=>v("div",{class:"title"},"里海收银系统 - 登录",-1)),$={__name:"index",setup(l){const d=I(),y=E(),k=u(null),p=u(null),s=u({account:"",password:"",terminal:1}),_=()=>{if(!s.value.account)return w({message:"请填写账号",type:"error"});if(!s.value.password)return w({message:"请填写密码",type:"error"});K(s.value).then(a=>{var o;(o=a.data)!=null&&o.token&&(d.setToken(a.data.token),d.setUserInfo(a.data),y.push("/"))}).catch(a=>{})};return R(()=>{}),(a,o)=>{const h=n("User"),f=n("el-icon"),i=n("el-input"),c=n("el-form-item"),x=n("Lock"),V=n("el-button"),g=n("el-form");return S(),b("div",M,[v("div",T,[q,e(g,null,{default:t(()=>[e(c,null,{default:t(()=>[e(i,{ref_key:"accRef",ref:k,modelValue:s.value.account,"onUpdate:modelValue":o[0]||(o[0]=r=>s.value.account=r),placeholder:"请输入账号",onKeydown:o[1]||(o[1]=m(r=>p.value.focus(),["enter"]))},{prefix:t(()=>[e(f,null,{default:t(()=>[e(h)]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(c,null,{default:t(()=>[e(i,{ref_key:"pwdRef",ref:p,modelValue:s.value.password,"onUpdate:modelValue":o[2]||(o[2]=r=>s.value.password=r),type:"password",placeholder:"请输入密码","show-password":"",onKeydown:m(_,["enter"])},{prefix:t(()=>[e(f,null,{default:t(()=>[e(x)]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(c,null,{default:t(()=>[e(V,{style:{width:"100%"},type:"primary",onClick:_},{default:t(()=>[C("登录")]),_:1})]),_:1})]),_:1})])])}}},A=U($,[["__scopeId","data-v-f9ff2ce9"]]);export{A as default};
|
|
|
@ -1 +0,0 @@
|
||||||
import{b as t,c,k as a,e,f as o,w as d,g as l}from"./index-BVz4Ohfy.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"}},p=e("div",{style:{"font-size":"5rem","font-weight":"bold"}},"404",-1),h=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,[p,h,o(i,{type:"primary",onClick:s},{default:d(()=>[l("返回首页")]),_:1})])])])}}};export{v as default};
|
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
import{a as B,b as L}from"./shop-DqnXs3CE.js";import{r as f,b as s,h as v,c as i,k as b,f as e,w as a,j as N,g as r,d,p as y,E as A}from"./index-BVz4Ohfy.js";import"./axiosAPI-Cd-ap3gb.js";const D={class:"my-card put-storage"},I={class:"order-lists","infinite-scroll-distance":300,"infinite-scroll-delay":500,"infinite-scroll-immediate":!1,style:{overflow:"auto"}},U={__name:"index",setup(S){const u=f([]),t=f({page_no:1,page_size:20,loadend:!1,type:1}),_=f(!1),c=()=>{t.value.loadend||(_.value=!0,B({page_no:t.value.page_no,page_size:t.value.page_size,type:t.value.type}).then(n=>{u.value=[...u.value,...n.data.lists],n.data.lists.length<t.value.page_size&&(t.value.loadend=!0),t.value.page_no++,_.value=!1}))};c();const h=()=>{t.value.page_no=1,t.value.loadend=!1,u.value=[],c()},k=async n=>{L({id:n.id}).then(p=>{n.status=1,A.success("入库成功")})};return(n,p)=>{const g=s("el-radio-button"),x=s("el-radio-group"),o=s("el-table-column"),C=s("el-image"),m=s("el-tag"),V=s("el-button"),E=s("el-table"),w=v("loading"),z=v("infinite-scroll");return i(),b("div",D,[e(x,{style:{"margin-bottom":"20px"},modelValue:t.value.type,"onUpdate:modelValue":p[0]||(p[0]=l=>t.value.type=l),onChange:h},{default:a(()=>[e(g,{label:1,value:1},{default:a(()=>[r("售卖库存")]),_:1}),e(g,{label:2,value:2},{default:a(()=>[r("兑换库存")]),_:1})]),_:1},8,["modelValue"]),N((i(),b("div",I,[e(E,{data:u.value},{default:a(()=>[e(o,{label:"导入人员",prop:"admin_name"}),e(o,{label:"门店确认人员",prop:"staff_name"}),e(o,{label:"商品图",prop:"image"},{default:a(({row:l})=>[e(C,{class:"image",src:l.image},null,8,["src"])]),_:1}),e(o,{label:"商品",prop:"store_name"}),e(o,{label:"数量",prop:"nums"}),e(o,{label:"状态",prop:"status"},{default:a(({row:l})=>[l.status===1?(i(),d(m,{key:0,type:"success"},{default:a(()=>[r("已入库")]),_:1})):l.status===0?(i(),d(m,{key:1,type:"warning"},{default:a(()=>[r("待确认")]),_:1})):l.status===-1?(i(),d(m,{key:2,type:"danger"},{default:a(()=>[r("库存不足")]),_:1})):y("",!0)]),_:1}),e(o,{label:"备注",prop:"mark"}),e(o,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[l.status==0?(i(),d(V,{key:0,type:"success",onClick:j=>k(l)},{default:a(()=>[r(" 确认入库 ")]),_:2},1032,["onClick"])):y("",!0)]),_:1})]),_:1},8,["data"])])),[[w,_.value],[z,c]])])}}};export{U 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{_ as U,u as I,r as u,o as R,b as n,c as S,k as b,e as v,f as e,w as t,i as m,g as L,q as B,s as C,D as E,E as w}from"./index-BMBzhgd2.js";import{l as K}from"./user-dRm6MYdG.js";const N=l=>(B("data-v-f9ff2ce9"),l=l(),C(),l),M={class:"body"},T={class:"login"},q=N(()=>v("div",{class:"title"},"里海收银系统 - 登录",-1)),D={__name:"index",setup(l){const d=I(),y=E(),k=u(null),p=u(null),s=u({account:"",password:"",terminal:1}),_=()=>{if(!s.value.account)return w({message:"请填写账号",type:"error"});if(!s.value.password)return w({message:"请填写密码",type:"error"});K(s.value).then(a=>{var o;(o=a.data)!=null&&o.token&&(d.setToken(a.data.token),d.setUserInfo(a.data),y.push("/"))}).catch(a=>{})};return R(()=>{}),(a,o)=>{const h=n("User"),f=n("el-icon"),i=n("el-input"),c=n("el-form-item"),x=n("Lock"),V=n("el-button"),g=n("el-form");return S(),b("div",M,[v("div",T,[q,e(g,null,{default:t(()=>[e(c,null,{default:t(()=>[e(i,{ref_key:"accRef",ref:k,modelValue:s.value.account,"onUpdate:modelValue":o[0]||(o[0]=r=>s.value.account=r),placeholder:"请输入账号",onKeydown:o[1]||(o[1]=m(r=>p.value.focus(),["enter"]))},{prefix:t(()=>[e(f,null,{default:t(()=>[e(h)]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(c,null,{default:t(()=>[e(i,{ref_key:"pwdRef",ref:p,modelValue:s.value.password,"onUpdate:modelValue":o[2]||(o[2]=r=>s.value.password=r),type:"password",placeholder:"请输入密码","show-password":"",onKeydown:m(_,["enter"])},{prefix:t(()=>[e(f,null,{default:t(()=>[e(x)]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(c,null,{default:t(()=>[e(V,{style:{width:"100%"},type:"primary",onClick:_},{default:t(()=>[L("登录")]),_:1})]),_:1})]),_:1})])])}}},z=U(D,[["__scopeId","data-v-f9ff2ce9"]]);export{z as default};
|
import{_ as U,u as I,r as u,o as R,b as n,c as S,k as b,e as v,f as e,w as t,i as m,g as L,q as B,s as C,D as E,E as w}from"./index-QWlmoZOY.js";import{l as K}from"./user-67Kj74w6.js";const N=l=>(B("data-v-f9ff2ce9"),l=l(),C(),l),M={class:"body"},T={class:"login"},q=N(()=>v("div",{class:"title"},"里海收银系统 - 登录",-1)),D={__name:"index",setup(l){const d=I(),y=E(),k=u(null),p=u(null),s=u({account:"",password:"",terminal:1}),_=()=>{if(!s.value.account)return w({message:"请填写账号",type:"error"});if(!s.value.password)return w({message:"请填写密码",type:"error"});K(s.value).then(a=>{var o;(o=a.data)!=null&&o.token&&(d.setToken(a.data.token),d.setUserInfo(a.data),y.push("/"))}).catch(a=>{})};return R(()=>{}),(a,o)=>{const h=n("User"),f=n("el-icon"),i=n("el-input"),c=n("el-form-item"),x=n("Lock"),V=n("el-button"),g=n("el-form");return S(),b("div",M,[v("div",T,[q,e(g,null,{default:t(()=>[e(c,null,{default:t(()=>[e(i,{ref_key:"accRef",ref:k,modelValue:s.value.account,"onUpdate:modelValue":o[0]||(o[0]=r=>s.value.account=r),placeholder:"请输入账号",onKeydown:o[1]||(o[1]=m(r=>p.value.focus(),["enter"]))},{prefix:t(()=>[e(f,null,{default:t(()=>[e(h)]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(c,null,{default:t(()=>[e(i,{ref_key:"pwdRef",ref:p,modelValue:s.value.password,"onUpdate:modelValue":o[2]||(o[2]=r=>s.value.password=r),type:"password",placeholder:"请输入密码","show-password":"",onKeydown:m(_,["enter"])},{prefix:t(()=>[e(f,null,{default:t(()=>[e(x)]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(c,null,{default:t(()=>[e(V,{style:{width:"100%"},type:"primary",onClick:_},{default:t(()=>[L("登录")]),_:1})]),_:1})]),_:1})])])}}},z=U(D,[["__scopeId","data-v-f9ff2ce9"]]);export{z as default};
|
|
@ -1 +1 @@
|
||||||
import{b as t,c,k as a,e,f as o,w as d,g as l}from"./index-BMBzhgd2.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"}},p=e("div",{style:{"font-size":"5rem","font-weight":"bold"}},"404",-1),h=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,[p,h,o(i,{type:"primary",onClick:s},{default:d(()=>[l("返回首页")]),_:1})])])])}}};export{v as default};
|
import{b as t,c,k as a,e,f as o,w as d,g as l}from"./index-QWlmoZOY.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"}},p=e("div",{style:{"font-size":"5rem","font-weight":"bold"}},"404",-1),h=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,[p,h,o(i,{type:"primary",onClick:s},{default:d(()=>[l("返回首页")]),_:1})])])])}}};export{v as default};
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
import{f as i}from"./merchant-CYIKGKiv.js";import{_ as d,r as a,b as l,h as p,j as m,c as u,k as h,e as f,f as e,w as v}from"./index-BVz4Ohfy.js";const b={"element-loading-text":"加载中",class:"my-order"},g={class:"table"},x={__name:"indexCount",setup(w){const o=a([]),n=a({page_no:1,page_size:15}),r=a(!1);return(()=>{i(n.value).then(s=>{o.value=s.data.lists})})(),(s,k)=>{const t=l("el-table-column"),c=l("el-table"),_=p("loading");return m((u(),h("div",b,[f("div",g,[e(c,{data:o.value,style:{width:"100%"}},{default:v(()=>[e(t,{prop:"record_date",label:"时间",width:"260"}),e(t,{prop:"cashier_cash_total_amount",label:"现金收银金额(元)"}),e(t,{prop:"cashier_total_amount",label:"线上收银金额(元)"}),e(t,{prop:"platofrm_total_amount",label:"平台订单金额(元)"}),e(t,{prop:"total_amount",label:"总金额(元)"})]),_:1},8,["data"])])])),[[_,r.value]])}}},y=d(x,[["__scopeId","data-v-d25755c6"]]);export{y as default};
|
|
|
@ -1 +1 @@
|
||||||
import{f as i}from"./merchant-D4huy5DX.js";import{_ as d,r as a,b as l,h as p,j as m,c as u,k as h,e as f,f as e,w as v}from"./index-BMBzhgd2.js";const b={"element-loading-text":"加载中",class:"my-order"},g={class:"table"},x={__name:"indexCount",setup(w){const o=a([]),n=a({page_no:1,page_size:15}),r=a(!1);return(()=>{i(n.value).then(s=>{o.value=s.data.lists})})(),(s,k)=>{const t=l("el-table-column"),c=l("el-table"),_=p("loading");return m((u(),h("div",b,[f("div",g,[e(c,{data:o.value,style:{width:"100%"}},{default:v(()=>[e(t,{prop:"record_date",label:"时间",width:"260"}),e(t,{prop:"cashier_cash_total_amount",label:"现金收银金额(元)"}),e(t,{prop:"cashier_total_amount",label:"线上收银金额(元)"}),e(t,{prop:"platofrm_total_amount",label:"平台订单金额(元)"}),e(t,{prop:"total_amount",label:"总金额(元)"})]),_:1},8,["data"])])])),[[_,r.value]])}}},y=d(x,[["__scopeId","data-v-d25755c6"]]);export{y as default};
|
import{f as i}from"./merchant-BPay2tTH.js";import{_ as d,r as a,b as l,h as p,j as m,c as u,k as h,e as f,f as e,w as v}from"./index-QWlmoZOY.js";const b={"element-loading-text":"加载中",class:"my-order"},g={class:"table"},x={__name:"indexCount",setup(w){const o=a([]),n=a({page_no:1,page_size:15}),r=a(!1);return(()=>{i(n.value).then(s=>{o.value=s.data.lists})})(),(s,k)=>{const t=l("el-table-column"),c=l("el-table"),_=p("loading");return m((u(),h("div",b,[f("div",g,[e(c,{data:o.value,style:{width:"100%"}},{default:v(()=>[e(t,{prop:"record_date",label:"时间",width:"260"}),e(t,{prop:"cashier_cash_total_amount",label:"现金收银金额(元)"}),e(t,{prop:"cashier_total_amount",label:"线上收银金额(元)"}),e(t,{prop:"platofrm_total_amount",label:"平台订单金额(元)"}),e(t,{prop:"total_amount",label:"总金额(元)"})]),_:1},8,["data"])])])),[[_,r.value]])}}},y=d(x,[["__scopeId","data-v-d25755c6"]]);export{y as default};
|
|
@ -1 +1 @@
|
||||||
import{H as a}from"./index-BMBzhgd2.js";function i(){return a.get("/merchant/Merchant/amount_account")}function r(n){return a.get("/merchant/Merchant/taking_lists",{params:n})}function c(){return a.get("/merchant/Merchant/taking_info")}function e(n){return a.post("/merchant/Merchant/withdraw",n)}function o(n){return a.get("/financial/FinancialRecord/lists",{params:n})}function s(n){return a.get("/financial/FinancialRecord/api_lists",{params:n})}export{i as a,c as b,e as c,r as d,s as e,o as f};
|
import{H as a}from"./index-QWlmoZOY.js";function i(){return a.get("/merchant/Merchant/amount_account")}function r(n){return a.get("/merchant/Merchant/taking_lists",{params:n})}function c(){return a.get("/merchant/Merchant/taking_info")}function e(n){return a.post("/merchant/Merchant/withdraw",n)}function o(n){return a.get("/financial/FinancialRecord/lists",{params:n})}function s(n){return a.get("/financial/FinancialRecord/api_lists",{params:n})}export{i as a,c as b,e as c,r as d,s as e,o as f};
|
|
@ -1 +0,0 @@
|
||||||
import{G as a}from"./index-BVz4Ohfy.js";function i(){return a.get("/merchant/Merchant/amount_account")}function r(n){return a.get("/merchant/Merchant/taking_lists",{params:n})}function c(){return a.get("/merchant/Merchant/taking_info")}function e(n){return a.post("/merchant/Merchant/withdraw",n)}function o(n){return a.get("/financial/FinancialRecord/lists",{params:n})}function s(n){return a.get("/financial/FinancialRecord/api_lists",{params:n})}export{i as a,c as b,e as c,r as d,s as e,o as f};
|
|
|
@ -1 +1 @@
|
||||||
import{_ as e,c as t,k as c}from"./index-BMBzhgd2.js";const n={},o={style:{width:"1rem",height:"100%"}};function r(s,_){return t(),c("div",o)}const i=e(n,[["render",r]]);export{i as p};
|
import{_ as e,c as t,k as c}from"./index-QWlmoZOY.js";const n={},o={style:{width:"1rem",height:"100%"}};function r(s,_){return t(),c("div",o)}const i=e(n,[["render",r]]);export{i as p};
|
|
@ -1 +0,0 @@
|
||||||
import{_ as e,c as t,k as c}from"./index-BVz4Ohfy.js";const n={},o={style:{width:"1rem",height:"100%"}};function r(s,_){return t(),c("div",o)}const i=e(n,[["render",r]]);export{i as p};
|
|
|
@ -1 +0,0 @@
|
||||||
.dra-body[data-v-3ea085c1]{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.dra-body .header[data-v-3ea085c1]{width:30rem;display:flex}.dra-body .header>div[data-v-3ea085c1]{flex:1;border:.0625rem solid #ccc;text-align:center;padding:.6rem 0;cursor:pointer}.dra-body .header .left[data-v-3ea085c1]{border-right:none;border-radius:5rem 0 0 5rem}.dra-body .header .right[data-v-3ea085c1]{border-left:none;border-radius:0 5rem 5rem 0}.dra-body .header .active[data-v-3ea085c1]{background-color:#1890ff;color:#fff;transition:.3s;border-color:#1890ff}.dra-body .card1 .code-input[data-v-3ea085c1]{width:100%;height:3rem;font-size:1.2rem}.dra-body .card1 .tips[data-v-3ea085c1]{width:38rem;height:16rem;background:url(./pay-De0xbdxm.png);background-size:100% 100%;background-repeat:no-repeat}.dra-body .card3 .codes[data-v-3ea085c1]{width:38rem;display:flex;align-items:center}.dra-body .card3 .codes .code-input[data-v-3ea085c1]{flex:1;height:3rem;font-size:1.2rem}.dra-body .card3 .codes .get-code-btn[data-v-3ea085c1]{height:3rem;margin-left:1rem}.dra-body .card3 .code-pay[data-v-3ea085c1]{margin-top:4rem;width:100%;height:3rem;border-radius:3rem}.cancel-btn[data-v-3ea085c1]{width:60%;border-color:#1890ff;color:#1890ff;border-radius:5rem;height:3rem;font-size:1.2rem}.drawer-body[data-v-3ea085c1]{width:100%;overflow-x:hidden}.counter[data-v-3ea085c1]{padding:1.25rem;border-radius:1.25rem;background-color:#f3f9ff}.counter .received[data-v-3ea085c1]{height:3rem;padding:0 1.25rem;border:.0625rem solid #1890ff;box-shadow:0 0 .18rem #1890ff;border-radius:.5rem;background-color:#fff;font-size:1.62rem;line-height:3rem;color:#333}.counter .balance[data-v-3ea085c1]{width:100%;box-sizing:border-box;padding:1.12rem 0 1.12rem .625rem;text-align:start;font-size:.95rem;color:#303133;display:flex;justify-content:space-between}.counter .balance .money[data-v-3ea085c1]{color:#ff4a00}.counter .balance .tips[data-v-3ea085c1]{font-size:.8rem;color:#999}.counter .keypad[data-v-3ea085c1]{display:grid;grid-template-columns:auto auto auto auto;grid-gap:.625rem}.counter .keypad .left[data-v-3ea085c1]{grid-column-end:span 3;display:grid;grid-template-columns:auto auto auto;grid-gap:.625rem}.counter .keypad .right[data-v-3ea085c1]{display:grid;grid-template-columns:auto;grid-gap:.625rem}.counter .keypad .el-button[data-v-3ea085c1]{height:3.875rem;width:8.125rem;margin:0!important;border:0;border-radius:.5rem;font-weight:500;font-size:1.75rem!important;line-height:3.87rem;color:#1890ff}.counter .keypad .el-button[data-v-3ea085c1]:focus{box-shadow:none}.counter .keypad .enter[data-v-3ea085c1]{grid-row-end:span 4;height:8.37rem;line-height:8.37rem;background-color:#1890ff;font-weight:500;font-size:1.35rem!important;color:#fff;position:relative}.counter .keypad .enter-disable[data-v-3ea085c1]{background-color:#ccc}
|
|
|
@ -0,0 +1 @@
|
||||||
|
.dra-body[data-v-a76a4ead]{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.dra-body .header[data-v-a76a4ead]{width:30rem;display:flex}.dra-body .header>div[data-v-a76a4ead]{flex:1;border:.0625rem solid #ccc;text-align:center;padding:.6rem 0;cursor:pointer}.dra-body .header .left[data-v-a76a4ead]{border-right:none;border-radius:5rem 0 0 5rem}.dra-body .header .right[data-v-a76a4ead]{border-left:none;border-radius:0 5rem 5rem 0}.dra-body .header .active[data-v-a76a4ead]{background-color:#1890ff;color:#fff;transition:.3s;border-color:#1890ff}.dra-body .card1 .code-input[data-v-a76a4ead]{width:100%;height:3rem;font-size:1.2rem}.dra-body .card1 .tips[data-v-a76a4ead]{width:38rem;height:16rem;background:url(./pay-De0xbdxm.png);background-size:100% 100%;background-repeat:no-repeat}.dra-body .card3 .codes[data-v-a76a4ead]{width:38rem;display:flex;align-items:center}.dra-body .card3 .codes .code-input[data-v-a76a4ead]{flex:1;height:3rem;font-size:1.2rem}.dra-body .card3 .codes .get-code-btn[data-v-a76a4ead]{height:3rem;margin-left:1rem}.dra-body .card3 .code-pay[data-v-a76a4ead]{margin-top:4rem;width:100%;height:3rem;border-radius:3rem}.cancel-btn[data-v-a76a4ead]{width:60%;border-color:#1890ff;color:#1890ff;border-radius:5rem;height:3rem;font-size:1.2rem}.drawer-body[data-v-a76a4ead]{width:100%;overflow-x:hidden}.counter[data-v-a76a4ead]{padding:1.25rem;border-radius:1.25rem;background-color:#f3f9ff}.counter .received[data-v-a76a4ead]{height:3rem;padding:0 1.25rem;border:.0625rem solid #1890ff;box-shadow:0 0 .18rem #1890ff;border-radius:.5rem;background-color:#fff;font-size:1.62rem;line-height:3rem;color:#333}.counter .balance[data-v-a76a4ead]{width:100%;box-sizing:border-box;padding:1.12rem 0 1.12rem .625rem;text-align:start;font-size:.95rem;color:#303133;display:flex;justify-content:space-between}.counter .balance .money[data-v-a76a4ead]{color:#ff4a00}.counter .balance .tips[data-v-a76a4ead]{font-size:.8rem;color:#999}.counter .keypad[data-v-a76a4ead]{display:grid;grid-template-columns:auto auto auto auto;grid-gap:.625rem}.counter .keypad .left[data-v-a76a4ead]{grid-column-end:span 3;display:grid;grid-template-columns:auto auto auto;grid-gap:.625rem}.counter .keypad .right[data-v-a76a4ead]{display:grid;grid-template-columns:auto;grid-gap:.625rem}.counter .keypad .el-button[data-v-a76a4ead]{height:3.875rem;width:8.125rem;margin:0!important;border:0;border-radius:.5rem;font-weight:500;font-size:1.75rem!important;line-height:3.87rem;color:#1890ff}.counter .keypad .el-button[data-v-a76a4ead]:focus{box-shadow:none}.counter .keypad .enter[data-v-a76a4ead]{grid-row-end:span 4;height:8.37rem;line-height:8.37rem;background-color:#1890ff;font-weight:500;font-size:1.35rem!important;color:#fff;position:relative}.counter .keypad .enter-disable[data-v-a76a4ead]{background-color:#ccc}
|
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{H as s}from"./index-BMBzhgd2.js";import{r}from"./axiosAPI-DiwKH9qZ.js";function a(t){return r.get("/product/product/lists",{params:t})}function i(t){return s.get("/cate/cate/lists",{params:t})}function n(t){return s.get("/system_store_storage/systemstorestorage/lists",{params:t})}function m(t){return s.post("/system_store_storage/systemstorestorage/edit",t)}export{n as a,m as b,i as m,a as s};
|
import{H as s}from"./index-QWlmoZOY.js";import{r}from"./axiosAPI-CcLrXseV.js";function a(t){return r.get("/product/product/lists",{params:t})}function i(t){return s.get("/cate/cate/lists",{params:t})}function n(t){return s.get("/system_store_storage/systemstorestorage/lists",{params:t})}function m(t){return s.post("/system_store_storage/systemstorestorage/edit",t)}export{n as a,m as b,i as m,a as s};
|
|
@ -1 +0,0 @@
|
||||||
import{G as s}from"./index-BVz4Ohfy.js";import{r}from"./axiosAPI-Cd-ap3gb.js";function a(t){return r.get("/product/product/lists",{params:t})}function i(t){return s.get("/cate/cate/lists",{params:t})}function n(t){return s.get("/system_store_storage/systemstorestorage/lists",{params:t})}function m(t){return s.post("/system_store_storage/systemstorestorage/edit",t)}export{n as a,m as b,i as m,a as s};
|
|
|
@ -1 +0,0 @@
|
||||||
import{G as e}from"./index-BVz4Ohfy.js";function o(r){return e.post("/cart/cart/create",r)}function s(r){return e.get("/cart/cart/list",{params:r})}function a(r){return e.post("/store_order/StoreOrder/checkOrder",r)}function i(r){return e.post("/cart/cart/delete",r)}function n(r){return e.post("/store_order/StoreOrder/createOrder",r)}function c(r){return e.post("/store_order/StoreOrder/pay",r)}function d(r){return e.get("/store_order/StoreOrder/lists",{params:r})}function p(r){return e.get("/store_order/storeOrder/detail",{params:r})}function u(r){return e.get("/store_order/storeOrder/writeoff_list",{params:r})}function f(r){return e.post("/store_order/StoreOrder/writeoff_order",r)}function O(r){return e.post("/store_order/StoreOrder/checkSms",r)}function A(r){return e.get("/store_order/StoreOrder/print",{params:r})}export{s as a,o as b,i as c,p as d,n as e,c as f,O as g,A as h,u as i,a as o,d as s,f as w};
|
|
|
@ -0,0 +1 @@
|
||||||
|
import{H as e}from"./index-QWlmoZOY.js";function o(r){return e.post("/cart/cart/create",r)}function s(r){return e.get("/cart/cart/list",{params:r})}function a(r){return e.post("/store_order/StoreOrder/checkOrder",r)}function i(r){return e.post("/cart/cart/delete",r)}function n(r){return e.post("/store_order/StoreOrder/createOrder",r)}function u(r){return e.post("/store_order/StoreOrder/pay",r)}function c(r){return e.get("/store_order/StoreOrder/lists",{params:r})}function p(r){return e.get("/store_order/storeOrder/detail",{params:r})}function d(r){return e.get("/store_order/storeOrder/writeoff_list",{params:r})}function f(r){return e.post("/store_order/StoreOrder/writeoff_order",r)}function O(r){return e.post("/store_order/StoreOrder/checkSms",r)}function _(r){return e.get("/store_order/StoreOrder/print",{params:r})}function A(r){return e.get("/user_product_storage/UserProductStorage/lists",{params:r})}function S(r){return e.post("/user_product_storage/UserProductStorage/supply",r)}export{s as a,o as b,i as c,p as d,n as e,u as f,O as g,_ as h,d as i,S as j,a as o,c as s,A as u,f as w};
|
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{H as e}from"./index-BMBzhgd2.js";function u(s){return e.post("/login/account",s)}function t(s){return e.get("/user/UserShip/lists",{params:s})}function i(s){return e.post("/user/user/add",s)}function n(s){return e.post("/user/user/archives_sms",s)}function a(s){return e.get("/user/user/lists",{params:s})}function p(s){return e.get("/user/user/detail",{params:s})}function o(s){return e.get("/user/Address/detail",{params:s})}function d(s){return e.post("/user/Address/edit",s)}function c(s){return e.post("/store_order/StoreOrder/rechange_amount",s)}function A(s){return e.post("/user/user/user_ship",s)}function l(s){return e.get("/user/UserLabel/lists",{params:s})}function f(s){return e.post("/user/user/user_label",s)}export{t as a,i as b,n as c,c as d,p as e,A as f,l as g,f as h,o as i,d as j,u as l,a as u};
|
import{H as e}from"./index-QWlmoZOY.js";function u(s){return e.post("/login/account",s)}function t(s){return e.get("/user/UserShip/lists",{params:s})}function i(s){return e.post("/user/user/add",s)}function n(s){return e.post("/user/user/archives_sms",s)}function a(s){return e.get("/user/user/lists",{params:s})}function p(s){return e.get("/user/user/detail",{params:s})}function o(s){return e.get("/user/Address/detail",{params:s})}function d(s){return e.post("/user/Address/edit",s)}function c(s){return e.post("/store_order/StoreOrder/rechange_amount",s)}function A(s){return e.post("/user/user/user_ship",s)}function l(s){return e.get("/user/UserLabel/lists",{params:s})}function f(s){return e.post("/user/user/user_label",s)}export{t as a,i as b,n as c,c as d,p as e,A as f,l as g,f as h,o as i,d as j,u as l,a as u};
|
|
@ -1 +0,0 @@
|
||||||
import{G as e}from"./index-BVz4Ohfy.js";function u(s){return e.post("/login/account",s)}function t(s){return e.get("/user/UserShip/lists",{params:s})}function i(s){return e.post("/user/user/add",s)}function n(s){return e.post("/user/user/archives_sms",s)}function a(s){return e.get("/user/user/lists",{params:s})}function p(s){return e.get("/user/user/detail",{params:s})}function o(s){return e.get("/user/Address/detail",{params:s})}function d(s){return e.post("/user/Address/edit",s)}function c(s){return e.post("/store_order/StoreOrder/rechange_amount",s)}function A(s){return e.post("/user/user/user_ship",s)}function l(s){return e.get("/user/UserLabel/lists",{params:s})}function f(s){return e.post("/user/user/user_label",s)}export{t as a,i as b,n as c,c as d,p as e,A as f,l as g,f as h,o as i,d as j,u as l,a as u};
|
|
|
@ -56,8 +56,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<script type="module" crossorigin src="./assets/index-BVz4Ohfy.js"></script>
|
<script type="module" crossorigin src="./assets/index-QWlmoZOY.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="./assets/index-F8CM97a-.css">
|
<link rel="stylesheet" crossorigin href="./assets/index-DoF3Xcqg.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|
Binary file not shown.
|
@ -99,4 +99,11 @@ export function storeStorageInfoListsApi(data) {
|
||||||
*/
|
*/
|
||||||
export function storeStorageInfoEditApi(data) {
|
export function storeStorageInfoEditApi(data) {
|
||||||
return request.post('/system_store_storage/systemstorestorage/edit', data)
|
return request.post('/system_store_storage/systemstorestorage/edit', data)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 门店库存列表
|
||||||
|
*/
|
||||||
|
export function storeProductListsApi(data) {
|
||||||
|
return request.get('/store_product/storeProduct/lists', { params: data })
|
||||||
}
|
}
|
|
@ -191,3 +191,18 @@ export function storeOrderCheckSmsApi(data) {
|
||||||
export function storeOrderPrintApi(data) {
|
export function storeOrderPrintApi(data) {
|
||||||
return request.get(`/store_order/StoreOrder/print`, { params: data })
|
return request.get(`/store_order/StoreOrder/print`, { params: data })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 用户商品存储列表
|
||||||
|
*/
|
||||||
|
export function userProductStorageApi(data) {
|
||||||
|
return request.get(`/user_product_storage/UserProductStorage/lists`, { params: data })
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 用户商品存储出库
|
||||||
|
*/
|
||||||
|
export function userProductStorageSupplyApi(data) {
|
||||||
|
return request.post(`/user_product_storage/UserProductStorage/supply`, data)
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
<script setup>
|
||||||
|
import { ref } from 'vue';
|
||||||
|
const props = defineProps({
|
||||||
|
type: {
|
||||||
|
type: String,
|
||||||
|
default: 'primary'
|
||||||
|
},
|
||||||
|
start:{ // 是否开始倒计时
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
time: {
|
||||||
|
type: Number,
|
||||||
|
default: 60
|
||||||
|
},
|
||||||
|
text: {
|
||||||
|
type: String,
|
||||||
|
default: '发送验证码'
|
||||||
|
},
|
||||||
|
timeText: {
|
||||||
|
type: String,
|
||||||
|
default: '秒重新获取'
|
||||||
|
},
|
||||||
|
width: {
|
||||||
|
type: String,
|
||||||
|
default: '100px'
|
||||||
|
},
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const emit = defineEmits(['sendCode'])
|
||||||
|
|
||||||
|
const onSendCode = () => {
|
||||||
|
emit('sendCode');
|
||||||
|
if(props.start) startCountDown();
|
||||||
|
}
|
||||||
|
|
||||||
|
const countDown = ref(0)
|
||||||
|
const timer = ref(null)
|
||||||
|
|
||||||
|
const startCountDown = () => {
|
||||||
|
countDown.value = props.time
|
||||||
|
timer.value = setInterval(() => {
|
||||||
|
countDown.value--
|
||||||
|
if (countDown.value <= 0) {
|
||||||
|
clearInterval(timer.value)
|
||||||
|
countDown.value = 0
|
||||||
|
}
|
||||||
|
}, 1000)
|
||||||
|
}
|
||||||
|
|
||||||
|
const resetDown = ()=>{
|
||||||
|
clearInterval(timer.value)
|
||||||
|
countDown.value = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
defineExpose({
|
||||||
|
startCountDown,
|
||||||
|
resetDown
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<el-button :type="type" :style="{ width: width }" @click="onSendCode" :disabled="countDown>0 || disabled">
|
||||||
|
{{ countDown > 0 ? `${countDown}${timeText}` : text }}
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -4,6 +4,7 @@ import { orderCreateApi, orderStatusApi, orderPayApi, storeOrderCheckSmsApi } fr
|
||||||
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 authCode from "@/components/authCode.vue";
|
||||||
import {
|
import {
|
||||||
storeOrderPrintApi
|
storeOrderPrintApi
|
||||||
} from "@/api/store.js";
|
} from "@/api/store.js";
|
||||||
|
@ -61,10 +62,12 @@ const form = ref({});
|
||||||
const cart_id = ref([]);
|
const cart_id = ref([]);
|
||||||
const uid = ref('');
|
const uid = ref('');
|
||||||
const isRePay = ref(false);
|
const isRePay = ref(false);
|
||||||
|
let is_storage = 0;
|
||||||
const setForm = (e) => {
|
const setForm = (e) => {
|
||||||
form.value = e.data;
|
form.value = e.data;
|
||||||
cart_id.value = e.cart_id;
|
cart_id.value = e.cart_id;
|
||||||
uid.value = e.uid;
|
uid.value = e.uid;
|
||||||
|
is_storage = e.is_storage || 0;
|
||||||
console.log('选择了用户==', uid.value || '游客');
|
console.log('选择了用户==', uid.value || '游客');
|
||||||
isRePay.value = e.isRePay || false;
|
isRePay.value = e.isRePay || false;
|
||||||
};
|
};
|
||||||
|
@ -72,6 +75,7 @@ const setForm = (e) => {
|
||||||
const setRePay = (e) => {
|
const setRePay = (e) => {
|
||||||
form.value.pay_price = e.price;
|
form.value.pay_price = e.price;
|
||||||
order_id.value = e.order_id;
|
order_id.value = e.order_id;
|
||||||
|
is_storage = e.is_storage || 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
const emit = defineEmits(["paySuccess"]);
|
const emit = defineEmits(["paySuccess"]);
|
||||||
|
@ -113,13 +117,13 @@ const handleEnter = () => {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
input.value = "";
|
input.value = "";
|
||||||
codeRef.value.focus();
|
codeRef.value.focus();
|
||||||
console.log("=====", 22);
|
|
||||||
return ElMessage.error("请输入正确的支付码");
|
return ElMessage.error("请输入正确的支付码");
|
||||||
}
|
}
|
||||||
orderCreateApi({
|
orderCreateApi({
|
||||||
key: form.value.key,
|
key: form.value.key,
|
||||||
cart_id: cart_id.value,
|
cart_id: cart_id.value,
|
||||||
pay_type: pay_type,
|
pay_type: pay_type,
|
||||||
|
is_storage: is_storage,
|
||||||
auth_code: input.value,
|
auth_code: input.value,
|
||||||
uid: uid.value
|
uid: uid.value
|
||||||
})
|
})
|
||||||
|
@ -176,6 +180,7 @@ const orderPay = () => {
|
||||||
orderPayApi({
|
orderPayApi({
|
||||||
order_id: form.value.order_id,
|
order_id: form.value.order_id,
|
||||||
pay_type: pay_type,
|
pay_type: pay_type,
|
||||||
|
is_storage: is_storage,
|
||||||
auth_code: input.value,
|
auth_code: input.value,
|
||||||
uid: uid.value
|
uid: uid.value
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
|
@ -345,6 +350,7 @@ const cashBnt = () => {
|
||||||
orderCreateApi({
|
orderCreateApi({
|
||||||
cart_id: cart_id.value,
|
cart_id: cart_id.value,
|
||||||
pay_type: "17", //现金支付 17
|
pay_type: "17", //现金支付 17
|
||||||
|
is_storage: is_storage,
|
||||||
uid: uid.value
|
uid: uid.value
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
@ -354,7 +360,7 @@ const cashBnt = () => {
|
||||||
type: "success",
|
type: "success",
|
||||||
});
|
});
|
||||||
onPrint(res.data.id);
|
onPrint(res.data.id);
|
||||||
changeActive(1);
|
active.value = 1;
|
||||||
beforeClose();
|
beforeClose();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
@ -450,8 +456,10 @@ const handlecodeEnter = () => {
|
||||||
if (!uid.value) return ElMessage.error('请先选择用户');
|
if (!uid.value) return ElMessage.error('请先选择用户');
|
||||||
let pay_type = 18; // 采购款支付
|
let pay_type = 18; // 采购款支付
|
||||||
if (active.value == 4) pay_type = 19; //礼品券兑换
|
if (active.value == 4) pay_type = 19; //礼品券兑换
|
||||||
|
if (active.value == 5) pay_type = 3; //余额支付
|
||||||
orderCreateApi({
|
orderCreateApi({
|
||||||
pay_type: pay_type,
|
pay_type: pay_type,
|
||||||
|
is_storage: is_storage,
|
||||||
sms_code: smsCode.value,
|
sms_code: smsCode.value,
|
||||||
cart_id: cart_id.value,
|
cart_id: cart_id.value,
|
||||||
uid: uid.value
|
uid: uid.value
|
||||||
|
@ -476,7 +484,7 @@ const aleft = () => {
|
||||||
};
|
};
|
||||||
const aright = () => {
|
const aright = () => {
|
||||||
if (!drawer.value || (isFocus.value && input.value.length > 0)) return;
|
if (!drawer.value || (isFocus.value && input.value.length > 0)) return;
|
||||||
if (active.value != 4) return changeActive(active.value + 1);
|
if (active.value != 5) return changeActive(active.value + 1);
|
||||||
};
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
mitt.on("left", aleft);
|
mitt.on("left", aleft);
|
||||||
|
@ -506,9 +514,12 @@ onUnmounted(() => {
|
||||||
<div class="center" style="border-left: none;" :class="{ active: active == 3 }" @click="changeActive(3)">
|
<div class="center" style="border-left: none;" :class="{ active: active == 3 }" @click="changeActive(3)">
|
||||||
采购款
|
采购款
|
||||||
</div>
|
</div>
|
||||||
<div class="right" :class="{ active: active == 4 }" @click="changeActive(4)">
|
<div class="center" style="border-left: none;" :class="{ active: active == 4 }" @click="changeActive(4)">
|
||||||
礼品券兑换
|
礼品券兑换
|
||||||
</div>
|
</div>
|
||||||
|
<div class="right" :class="{ active: active == 5 }" @click="changeActive(5)">
|
||||||
|
余额
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div v-if="form.activities == 1 && active != 4" style="display: inline-block;margin-right: 20px">
|
<div v-if="form.activities == 1 && active != 4" style="display: inline-block;margin-right: 20px">
|
||||||
|
@ -581,11 +592,12 @@ onUnmounted(() => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card3" v-else-if="active == 3 || active == 4">
|
<div class="card3" v-else-if="active == 3 || active == 4 || active == 5">
|
||||||
<div class="codes">
|
<div class="codes">
|
||||||
<el-input v-model="smsCode" autofocus class="code-input" placeholder="请输入验证码"
|
<el-input v-model="smsCode" autofocus class="code-input" placeholder="请输入验证码"
|
||||||
@keyup.enter="handlecodeEnter" @focus="isFocus = true" @blur="isFocus = false" />
|
@keyup.enter="handlecodeEnter" @focus="isFocus = true" @blur="isFocus = false" />
|
||||||
<el-button type="primary" @click="getSms" class="get-code-btn">获取验证码</el-button>
|
<!-- <el-button type="primary" @click="getSms" class="get-code-btn">获取验证码</el-button> -->
|
||||||
|
<authCode style="margin-left: 1rem;" @sendCode="getSms" :start="uid>0" :key="form.order_id" class="get-code-btn"></authCode>
|
||||||
</div>
|
</div>
|
||||||
<el-button type="primary" @click="handlecodeEnter" class="code-pay">确认支付</el-button>
|
<el-button type="primary" @click="handlecodeEnter" class="code-pay">确认支付</el-button>
|
||||||
<!-- <div class="tips"></div> -->
|
<!-- <div class="tips"></div> -->
|
||||||
|
@ -609,7 +621,7 @@ onUnmounted(() => {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
width: 30rem;
|
width: 35rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
&>div {
|
&>div {
|
||||||
|
|
|
@ -31,6 +31,7 @@ const open = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const changeActive = (e) => {
|
const changeActive = (e) => {
|
||||||
|
if(e!=1) codeRef.value.blur();
|
||||||
active.value = e;
|
active.value = e;
|
||||||
console.log(active.value);
|
console.log(active.value);
|
||||||
if (active.value == 2) {
|
if (active.value == 2) {
|
||||||
|
@ -47,7 +48,8 @@ const changeActive = (e) => {
|
||||||
|
|
||||||
const form = ref({
|
const form = ref({
|
||||||
price: 0,
|
price: 0,
|
||||||
uid: ''
|
uid: '',
|
||||||
|
user_ship: '',
|
||||||
});
|
});
|
||||||
const cart_id = ref([]);
|
const cart_id = ref([]);
|
||||||
const isRePay = ref(false);
|
const isRePay = ref(false);
|
||||||
|
@ -106,6 +108,7 @@ const handleEnter = () => {
|
||||||
}
|
}
|
||||||
userRechangeAmountApi({
|
userRechangeAmountApi({
|
||||||
uid: form.value.uid,
|
uid: form.value.uid,
|
||||||
|
user_ship: form.value.user_ship,
|
||||||
price: form.value.price,
|
price: form.value.price,
|
||||||
pay_type: pay_type,
|
pay_type: pay_type,
|
||||||
auth_code: input.value,
|
auth_code: input.value,
|
||||||
|
@ -122,13 +125,13 @@ const handleEnter = () => {
|
||||||
} else {
|
} else {
|
||||||
if (res.msg == "用户支付中" && res.code == 1) {
|
if (res.msg == "用户支付中" && res.code == 1) {
|
||||||
ElMessage.warning(res.msg);
|
ElMessage.warning(res.msg);
|
||||||
mitt.on("pay_success", (e) => {
|
mitt.on("pay_user_success", (e) => {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
message: "支付成功",
|
message: "支付成功",
|
||||||
type: "success",
|
type: "success",
|
||||||
});
|
});
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
mitt.off("pay_success");
|
mitt.off("pay_user_success");
|
||||||
}, 200);
|
}, 200);
|
||||||
drawer.value = false;
|
drawer.value = false;
|
||||||
beforeClose(e);
|
beforeClose(e);
|
||||||
|
@ -170,17 +173,17 @@ const orderPay = () => {
|
||||||
type: "success",
|
type: "success",
|
||||||
});
|
});
|
||||||
// if(res.data.message) audioplay(res.data.message);
|
// if(res.data.message) audioplay(res.data.message);
|
||||||
beforeClose();
|
beforeClose({msg: '支付成功'});
|
||||||
} else {
|
} else {
|
||||||
if (res.msg == "用户支付中" && res.code == 1) {
|
if (res.msg == "用户支付中" && res.code == 1) {
|
||||||
ElMessage.warning(res.msg);
|
ElMessage.warning(res.msg);
|
||||||
mitt.on("pay_success", (e) => {
|
mitt.on("pay_user_success", (e) => {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
message: "支付成功",
|
message: "支付成功",
|
||||||
type: "success",
|
type: "success",
|
||||||
});
|
});
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
mitt.off("pay_success");
|
mitt.off("pay_user_success");
|
||||||
}, 200);
|
}, 200);
|
||||||
drawer.value = false;
|
drawer.value = false;
|
||||||
beforeClose(e);
|
beforeClose(e);
|
||||||
|
@ -212,7 +215,7 @@ const getOrderStatus = (id) => {
|
||||||
type: "success",
|
type: "success",
|
||||||
});
|
});
|
||||||
// if(res.data.message) audioplay(res.data.message);
|
// if(res.data.message) audioplay(res.data.message);
|
||||||
beforeClose();
|
beforeClose({msg: '支付成功'});
|
||||||
} else {
|
} else {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
message:
|
message:
|
||||||
|
@ -246,7 +249,7 @@ const getOrderStatus = (id) => {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const beforeClose = (data) => {
|
const beforeClose = (data=null) => {
|
||||||
window.removeEventListener("keydown", keyboard);
|
window.removeEventListener("keydown", keyboard);
|
||||||
reLoad.value = false;
|
reLoad.value = false;
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
|
@ -254,6 +257,7 @@ const beforeClose = (data) => {
|
||||||
collection.value = "";
|
collection.value = "";
|
||||||
collectionArray.value = [];
|
collectionArray.value = [];
|
||||||
codeRef.value?.blur();
|
codeRef.value?.blur();
|
||||||
|
if(typeof data === 'function') data = null;
|
||||||
emit("paySuccess", data);
|
emit("paySuccess", data);
|
||||||
drawer.value = false;
|
drawer.value = false;
|
||||||
};
|
};
|
||||||
|
@ -318,20 +322,22 @@ const cashBnt = () => {
|
||||||
)
|
)
|
||||||
return ElMessage.error("收款金额应该大于等于应收金额");
|
return ElMessage.error("收款金额应该大于等于应收金额");
|
||||||
if (isRePay.value) orderPay();
|
if (isRePay.value) orderPay();
|
||||||
else
|
else
|
||||||
userRechangeAmountApi({
|
userRechangeAmountApi({
|
||||||
uid: form.value.uid,
|
uid: form.value.uid,
|
||||||
|
user_ship: form.value.user_ship,
|
||||||
price: form.value.price,
|
price: form.value.price,
|
||||||
pay_type: 17,
|
pay_type: 17,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
console.log("========");
|
||||||
drawer.value = false;
|
drawer.value = false;
|
||||||
ElMessage({
|
ElMessage({
|
||||||
message: res.msg,
|
message: res.msg,
|
||||||
type: "success",
|
type: "success",
|
||||||
});
|
});
|
||||||
changeActive(1);
|
active.value = 1;
|
||||||
beforeClose();
|
beforeClose({msg:'收款成功'});
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
|
|
|
@ -48,7 +48,8 @@ const setForm = (item, index) => {
|
||||||
dialogVisible.value = false;
|
dialogVisible.value = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
const open = () => {
|
const open = (uid=null) => {
|
||||||
|
if(!uid) where.value.mobile = "";
|
||||||
dialogVisible.value = true;
|
dialogVisible.value = true;
|
||||||
getOrderList(true);
|
getOrderList(true);
|
||||||
};
|
};
|
||||||
|
@ -93,7 +94,8 @@ defineExpose({
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom flex" style="justify-content: space-between;">
|
<div class="bottom flex" style="justify-content: space-between;">
|
||||||
<div>采购款: <span class="red">{{ item.purchase_funds }}</span></div>
|
<div>采购款: <span class="red">{{ item.purchase_funds }}</span></div>
|
||||||
<div>礼品券: <span class="red">{{ item.get_frozen }}</span></div>
|
<div>礼品券: <span class="red">{{ item.get_frozen?.toFixed(2) || item.get_frozen }}</span></div>
|
||||||
|
<div>余额: <span class="red">{{ item.now_money }}</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -146,7 +148,7 @@ defineExpose({
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
width: 45%;
|
width: 45%;
|
||||||
height: 6rem;
|
height: 7rem;
|
||||||
border-radius: 0.5rem;
|
border-radius: 0.5rem;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
@ -184,7 +186,7 @@ defineExpose({
|
||||||
|
|
||||||
.bottom {
|
.bottom {
|
||||||
&>div{
|
&>div{
|
||||||
flex: 1;
|
width: 50%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import { ref, nextTick, onMounted, onUnmounted } from "vue";
|
||||||
import mitt from "@/utils/mitt.js";
|
import mitt from "@/utils/mitt.js";
|
||||||
import { useUserStore } from "@/store/user.js";
|
import { useUserStore } from "@/store/user.js";
|
||||||
import { Push } from "@/common/push.js";
|
import { Push } from "@/common/push.js";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
|
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const connection = new Push({
|
const connection = new Push({
|
||||||
|
@ -30,6 +31,9 @@ user_channel.on('message', function (data) {
|
||||||
if (data?.content?.type == 'platform_print') {
|
if (data?.content?.type == 'platform_print') {
|
||||||
mitt.emit('letPrintReceipt', data?.content?.data);
|
mitt.emit('letPrintReceipt', data?.content?.data);
|
||||||
}
|
}
|
||||||
|
if (data?.content?.msg == '订单支付成功') {
|
||||||
|
mitt.emit('pay_user_success', data?.content?.data);
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -45,6 +49,7 @@ user_channel.on('close', function () {
|
||||||
|
|
||||||
const KeyboardEvent = (e) => {
|
const KeyboardEvent = (e) => {
|
||||||
console.log('按下', e.keyCode);
|
console.log('按下', e.keyCode);
|
||||||
|
// ElMessage.warning('按下', e.keyCode)
|
||||||
if (e.keyCode == 16) mitt.emit('shift');
|
if (e.keyCode == 16) mitt.emit('shift');
|
||||||
if (e.keyCode == 120) mitt.emit('F9');
|
if (e.keyCode == 120) mitt.emit('F9');
|
||||||
if (e.keyCode == 13) mitt.emit('enter');
|
if (e.keyCode == 13) mitt.emit('enter');
|
||||||
|
|
|
@ -31,7 +31,7 @@ const newOrder = (e) => {
|
||||||
ElMessage.success('您有新的订单');
|
ElMessage.success('您有新的订单');
|
||||||
if (isPlaying) return; //正在播放时有新订单直接跳过播放
|
if (isPlaying) return; //正在播放时有新订单直接跳过播放
|
||||||
// 创建音频对象
|
// 创建音频对象
|
||||||
var audio = new Audio("/src/assets/order.mp3");
|
var audio = new Audio("/public/order.mp3");
|
||||||
// 播放音频
|
// 播放音频
|
||||||
audio.play();
|
audio.play();
|
||||||
isPlaying = true;
|
isPlaying = true;
|
||||||
|
@ -51,7 +51,7 @@ const newOrder = (e) => {
|
||||||
// newOrder({
|
// newOrder({
|
||||||
// msg: "您有一笔新的订单",
|
// msg: "您有一笔新的订单",
|
||||||
// });
|
// });
|
||||||
// }, 2000);
|
// }, 3000);
|
||||||
|
|
||||||
const navTo = (name) => {
|
const navTo = (name) => {
|
||||||
router.push({ name });
|
router.push({ name });
|
||||||
|
@ -77,6 +77,12 @@ const list = ref([
|
||||||
ico: "Van",
|
ico: "Van",
|
||||||
count: 0,
|
count: 0,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "stock",
|
||||||
|
title: "商品库存",
|
||||||
|
ico: "Box",
|
||||||
|
count: 0,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "user",
|
name: "user",
|
||||||
title: "用户",
|
title: "用户",
|
||||||
|
|
|
@ -53,6 +53,12 @@ const routes = [
|
||||||
meta: { title: '入库登记' },
|
meta: { title: '入库登记' },
|
||||||
component: () => import('@/views/putStorage/index.vue'),
|
component: () => import('@/views/putStorage/index.vue'),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/stock',
|
||||||
|
name: 'stock',
|
||||||
|
meta: { title: '入库登记' },
|
||||||
|
component: () => import('@/views/stock/index.vue'),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/user',
|
path: '/user',
|
||||||
name: 'user',
|
name: 'user',
|
||||||
|
|
|
@ -113,10 +113,10 @@ const testObj = {
|
||||||
|
|
||||||
export const printTicket = (obj = {}, test = false) => {
|
export const printTicket = (obj = {}, test = false) => {
|
||||||
let str = "";
|
let str = "";
|
||||||
if(!obj || !obj.order_id) obj = testObj;
|
if (!obj || !obj.order_id) obj = testObj;
|
||||||
str += Esc.Size2(2) + Esc.Center() + Esc.boldFontOn() + obj.system_store_name + Esc.Size1() + "\n";
|
str += Esc.Size2(2) + Esc.Center() + Esc.boldFontOn() + obj.system_store_name + Esc.Size1() + "\n";
|
||||||
str += Esc.fillLine(" ") + Esc.boldFontOff() + "\n";
|
str += Esc.fillLine(" ") + Esc.boldFontOff() + "\n";
|
||||||
if(obj.shipping_type) str += Esc.Left() + "核销码: " + Esc.boldFontOn() + obj.verify_code + Esc.boldFontOff() + "\n";
|
if (obj.shipping_type) str += Esc.Left() + "核销码: " + Esc.boldFontOn() + obj.verify_code + Esc.boldFontOff() + "\n";
|
||||||
str += Esc.Left() + "单号: " + obj.order_id + "\n";
|
str += Esc.Left() + "单号: " + obj.order_id + "\n";
|
||||||
str += Esc.Left() + "下单时间: " + obj.create_time + "\n";
|
str += Esc.Left() + "下单时间: " + obj.create_time + "\n";
|
||||||
|
|
||||||
|
@ -128,19 +128,22 @@ export const printTicket = (obj = {}, test = false) => {
|
||||||
str += Esc.Left() + item.store_name + "\n";
|
str += Esc.Left() + item.store_name + "\n";
|
||||||
let total = +item.price || 0;
|
let total = +item.price || 0;
|
||||||
total *= +item.cart_num;
|
total *= +item.cart_num;
|
||||||
str += Esc.inline3(`${item.price || '0.00'}元`, `${item.cart_num}${item.unit_name||''}`, `${total}元`, " ", 1) + "\n";
|
str += Esc.inline3(`${item.price || '0.00'}元`, `${item.cart_num}${item.unit_name || ''}`, `${total}元`, " ", 1) + "\n";
|
||||||
})
|
})
|
||||||
|
|
||||||
str += Esc.fillLine("=") + "\n";
|
str += Esc.fillLine("=") + "\n";
|
||||||
|
|
||||||
// str += Esc.Left() + "合计: " + obj.total_price + "元" + "\n";
|
if (obj.deduction_price) { // 有优惠
|
||||||
str += Esc.Left() + "合计: " + obj.pay_price + "元" + "\n";
|
str += Esc.Left() + "合计: " + obj.total_price + "元" + "\n";
|
||||||
|
str += Esc.Left() + "优惠: " + obj.deduction_price + "元" + "\n";
|
||||||
|
}
|
||||||
|
else str += Esc.Left() + "合计: " + obj.pay_price + "元" + "\n";
|
||||||
str += Esc.Left() + "实付款: " + obj.pay_price + "元" + "\n";
|
str += Esc.Left() + "实付款: " + obj.pay_price + "元" + "\n";
|
||||||
str += Esc.Left() + "支付方式: " + obj.pay_type_name + "\n";
|
str += Esc.Left() + "支付方式: " + obj.pay_type_name + "\n";
|
||||||
// str += Esc.Left() + "支付单号: " + obj.order_id + "\n";
|
// str += Esc.Left() + "支付单号: " + obj.order_id + "\n";
|
||||||
str += Esc.Left() + "店铺电话: " + obj.system_store_phone + "\n";
|
str += Esc.Left() + "店铺电话: " + obj.system_store_phone + "\n";
|
||||||
|
|
||||||
if(obj.shipping_type == 1){ // 快递
|
if (obj.shipping_type == 1) { // 快递
|
||||||
str += Esc.fillLine("=") + "\n";
|
str += Esc.fillLine("=") + "\n";
|
||||||
str += Esc.Left() + "收货人: " + obj.real_name + "\n";
|
str += Esc.Left() + "收货人: " + obj.real_name + "\n";
|
||||||
str += Esc.Left() + "收货电话: " + obj.user_phone + "\n";
|
str += Esc.Left() + "收货电话: " + obj.user_phone + "\n";
|
||||||
|
|
|
@ -229,7 +229,7 @@ onUnmounted(() => {
|
||||||
<el-table-column label="商品信息">
|
<el-table-column label="商品信息">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
<el-image style="height: 3rem; width: 3rem" :src="row.cart_info?.image"></el-image>
|
<el-image style="height: 3rem; width: 3rem;flex-shrink: 0;" :src="row.cart_info?.image"></el-image>
|
||||||
<span style="margin-left: 0.5rem">{{ row.cart_info?.name }}</span>
|
<span style="margin-left: 0.5rem">{{ row.cart_info?.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -48,7 +48,7 @@ onMounted(() => {
|
||||||
<span>查看核销记录</span><el-icon><ArrowRightBold /></el-icon>
|
<span>查看核销记录</span><el-icon><ArrowRightBold /></el-icon>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<order v-show="type != 1" :type="type" style="flex-shrink: 0" ref="orderRef" @backOne="type = 1" />
|
<order v-show="type != 1" :type="type" style="flex-shrink: 0" ref="orderRef" @backOne="type = 1;code = '';" />
|
||||||
<padding v-show="type != 1" />
|
<padding v-show="type != 1" />
|
||||||
<detail v-show="type != 1" ref="detailRef" @reInit="reInit" />
|
<detail v-show="type != 1" ref="detailRef" @reInit="reInit" />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -214,7 +214,7 @@ onUnmounted(() => {
|
||||||
<el-table-column label="商品信息">
|
<el-table-column label="商品信息">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
<el-image style="height: 3rem; width: 3rem" :src="row.cart_info?.image"></el-image>
|
<el-image style="height: 3rem; width: 3rem;flex-shrink: 0;" :src="row.cart_info?.image"></el-image>
|
||||||
<span style="margin-left: 0.5rem">{{ row.cart_info?.name }}</span>
|
<span style="margin-left: 0.5rem">{{ row.cart_info?.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -123,7 +123,8 @@ onUnmounted(() => {
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<el-date-picker v-model="date" type="daterange" start-placeholder="开始时间" end-placeholder="结束时间"
|
<el-date-picker v-model="date" type="daterange" start-placeholder="开始时间" end-placeholder="结束时间"
|
||||||
size="small" value-format="YYYY/MM/DD" :disabled-date="disabledDate" @change="changeDate"
|
size="small" value-format="YYYY/MM/DD" :disabled-date="disabledDate" @change="changeDate"
|
||||||
:clearable="false" style="width: 14rem; margin-left: 1rem" />
|
:clearable="false" style="width: 10rem; margin: 0 0 0 1rem" />
|
||||||
|
<!-- <el-button size="small">重置</el-button> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-input">
|
<div class="header-input">
|
||||||
|
|
|
@ -46,12 +46,13 @@ const getList = () => {
|
||||||
cartListApi().then((res) => {
|
cartListApi().then((res) => {
|
||||||
extend.value = res.data.extend;
|
extend.value = res.data.extend;
|
||||||
list.value = res.data.lists || [];
|
list.value = res.data.lists || [];
|
||||||
|
if (!extend.value?.pay_price) userInfo.value.uid = "";
|
||||||
// if (res.data?.lists?.length > 0) {
|
// if (res.data?.lists?.length > 0) {
|
||||||
// list.value = res.data.lists;
|
// list.value = res.data.lists;
|
||||||
// allPrice.value = res.data?.lists.reduce((previous, current) => {
|
// allPrice.value = res.data?.lists.reduce((previous, current) => {
|
||||||
// return previous + Number(current.total_price);
|
// return previous + Number(current.total_price);
|
||||||
// }, 0)
|
// }, 0)
|
||||||
// costPrice.value = allPrice.value;
|
// costPrice.value = allPrice.value;
|
||||||
// } else list.value = [];
|
// } else list.value = [];
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -74,11 +75,11 @@ const changeCartNum = (val, old) => {
|
||||||
// allPrice.value += item.price * item.cart_num;
|
// allPrice.value += item.price * item.cart_num;
|
||||||
// });
|
// });
|
||||||
// costPrice.value = allPrice.value;
|
// costPrice.value = allPrice.value;
|
||||||
}).catch((err)=>{
|
}).catch((err) => {
|
||||||
let match = err?.msg?.match(/\b\d+(\.\d+)?\b/);
|
let match = err?.msg?.match(/\b\d+(\.\d+)?\b/);
|
||||||
if(match){
|
if (match) {
|
||||||
val.cart_num = +match[0];
|
val.cart_num = +match[0];
|
||||||
}else val.cart_num = 1;
|
} else val.cart_num = 1;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -111,12 +112,21 @@ const setUser = (row) => {
|
||||||
userInfo.value.uid = row.id;
|
userInfo.value.uid = row.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const is_storage = ref(false)
|
||||||
|
|
||||||
|
const resetView = () => {
|
||||||
|
is_storage.value = false;
|
||||||
|
getList();
|
||||||
|
}
|
||||||
|
|
||||||
defineExpose({
|
defineExpose({
|
||||||
getList,
|
getList,
|
||||||
|
resetView,
|
||||||
list,
|
list,
|
||||||
discounts,
|
discounts,
|
||||||
allPrice,
|
allPrice,
|
||||||
userInfo
|
userInfo,
|
||||||
|
is_storage
|
||||||
});
|
});
|
||||||
|
|
||||||
// 键盘事件
|
// 键盘事件
|
||||||
|
@ -146,18 +156,24 @@ onUnmounted(() => {
|
||||||
<div class="info" v-if="userInfo.uid">
|
<div class="info" v-if="userInfo.uid">
|
||||||
<div class="flex-bewteen">
|
<div class="flex-bewteen">
|
||||||
<div>手机号: {{ userInfo.mobile || userInfo.account }}</div>
|
<div>手机号: {{ userInfo.mobile || userInfo.account }}</div>
|
||||||
<el-button type="primary" link class="change-user" @click="userListRef.open()">切换用户<el-icon>
|
<el-button type="primary" link class="change-user"
|
||||||
|
@click="userListRef.open(userInfo.uid)">切换用户<el-icon>
|
||||||
<ArrowRight />
|
<ArrowRight />
|
||||||
</el-icon></el-button>
|
</el-icon></el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-bewteen" style="align-items: flex-end;">
|
<div class="flex-bewteen" style="align-items: flex-start;">
|
||||||
<div style="display:flex;">
|
<div class="user-money">
|
||||||
<div style="margin-right: 0.5rem;">采购款: <span style="color: #f70;">{{ userInfo.purchase_funds }}</span></div>
|
<div style="margin-right: 0.5rem;">采购款: <span style="color: #f70;">{{
|
||||||
<div>礼品券: <span style="color: #f70;">{{ userInfo.get_frozen }}</span></div>
|
userInfo.purchase_funds }}</span></div>
|
||||||
|
<div style="margin-right: 0.5rem;">礼品券: <span style="color: #f70;">{{ userInfo.get_frozen?.toFixed(2) || userInfo.get_frozen
|
||||||
|
}}</span></div>
|
||||||
|
<div>余额: <span style="color: #f70;">{{ userInfo.now_money }}</span></div>
|
||||||
</div>
|
</div>
|
||||||
<el-button link @click="userInfo.uid = ''">重置<el-icon>
|
<el-button style="margin-top:0.2rem;" link @click="userInfo.uid = ''">
|
||||||
|
重置<el-icon>
|
||||||
<RefreshLeft />
|
<RefreshLeft />
|
||||||
</el-icon></el-button>
|
</el-icon>
|
||||||
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="info" v-else style="align-items: center;display:flex;justify-content: space-between;">
|
<div class="info" v-else style="align-items: center;display:flex;justify-content: space-between;">
|
||||||
|
@ -198,8 +214,8 @@ onUnmounted(() => {
|
||||||
¥<span>{{ item.price }}</span>
|
¥<span>{{ item.price }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<el-input-number v-model="item.cart_num" :min="+item.batch > 0 ? +item.batch : 1" :step="1" step-strictly
|
<el-input-number v-model="item.cart_num" :min="+item.batch > 0 ? +item.batch : 1" :step="1"
|
||||||
@change="changeCartNum(item)" />
|
step-strictly @change="changeCartNum(item)" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -207,28 +223,28 @@ onUnmounted(() => {
|
||||||
</div>
|
</div>
|
||||||
<div class="order-footer">
|
<div class="order-footer">
|
||||||
<div class="order-total">
|
<div class="order-total">
|
||||||
<div class="price">
|
<div class="price" style="flex-direction: column; align-items: flex-start;">
|
||||||
<div class="total-item" style="flex-shrink: 0;">
|
<div class="total-item" style="flex-shrink: 0;">
|
||||||
合计:
|
合计:
|
||||||
<span>¥<span style="font-size: 1.4rem">
|
<span>¥<span style="font-size: 1.4rem">
|
||||||
{{ extend.pay_price || '0.00' }}</span></span>
|
{{ extend.pay_price || '0.00' }}</span></span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="extend.msg" class="total-item" style="padding-right: 0;line-height: 0.8rem;"><span style="font-size: 0.8rem">{{ extend.msg }}</span></div>
|
<div v-if="extend.msg" class="total-item" style="padding-right: 0;line-height: 0.8rem;"><span
|
||||||
|
style="font-size: 0.8rem">{{ extend.msg }}</span></div>
|
||||||
<!-- <div class="total-item">
|
<!-- <div class="total-item">
|
||||||
优惠:
|
优惠:
|
||||||
<span
|
<span
|
||||||
>¥<span>{{ discounts.toFixed(2) }}</span></span
|
>¥<span>{{ discounts.toFixed(2) }}</span></span
|
||||||
>
|
>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="update-price">
|
<div class="update-price">
|
||||||
<el-button class="btn" type="primary" @click="showPrice"
|
<el-switch v-model="is_storage" size="large" inline-prompt active-text="存货" inactive-text="不存" />
|
||||||
>改价 (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">{{ "立即结账 (F9)" }}</el-button>
|
<el-button class="btn" type="primary" @click="goPay" :disabled="list.length == 0">{{ "立即结账 (F9)"
|
||||||
|
}}</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<price ref="priceRef" @changeAllPrice="changeAllPrice"></price>
|
<price ref="priceRef" @changeAllPrice="changeAllPrice"></price>
|
||||||
|
@ -275,6 +291,16 @@ onUnmounted(() => {
|
||||||
.change-user {
|
.change-user {
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.user-money {
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
&>div {
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -361,7 +387,7 @@ onUnmounted(() => {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
||||||
.order-total {
|
.order-total {
|
||||||
height: 2.5rem;
|
height: 3.5rem;
|
||||||
padding: 1rem 2rem;
|
padding: 1rem 2rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
|
@ -108,7 +108,7 @@ const checkOut = () => {
|
||||||
let cart_id = orderRef.value.list.map((item) => item.id);
|
let cart_id = orderRef.value.list.map((item) => item.id);
|
||||||
let query = {
|
let query = {
|
||||||
cart_id: cart_id,
|
cart_id: cart_id,
|
||||||
uid: orderRef.value?.userInfo?.uid || ""
|
uid: orderRef.value?.userInfo?.uid || "",
|
||||||
};
|
};
|
||||||
if (orderRef.value.discounts > 0) {
|
if (orderRef.value.discounts > 0) {
|
||||||
query.deduction_price = orderRef.value.discounts.toFixed(2);
|
query.deduction_price = orderRef.value.discounts.toFixed(2);
|
||||||
|
@ -119,12 +119,14 @@ const checkOut = () => {
|
||||||
payRef.value.setForm({
|
payRef.value.setForm({
|
||||||
data: res.data.order,
|
data: res.data.order,
|
||||||
cart_id: cart_id,
|
cart_id: cart_id,
|
||||||
uid: orderRef.value?.userInfo?.uid || ""
|
uid: orderRef.value?.userInfo?.uid || "",
|
||||||
|
is_storage: orderRef.value?.is_storage ? 1 : 0,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const goPay = () => {
|
const goPay = () => {
|
||||||
|
if(orderRef.value?.is_storage && !orderRef.value?.userInfo?.uid) return ElMessage.error("选择用户才可以存货");
|
||||||
checkOut();
|
checkOut();
|
||||||
payRef.value.drawer = true;
|
payRef.value.drawer = true;
|
||||||
};
|
};
|
||||||
|
@ -138,7 +140,7 @@ const paySuccess = (data = null) => {
|
||||||
// }
|
// }
|
||||||
// if(data) onPrint(data);
|
// if(data) onPrint(data);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
orderRef.value.getList();
|
orderRef.value.resetView();
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -224,7 +224,7 @@ onUnmounted(() => {
|
||||||
<el-table-column label="商品信息">
|
<el-table-column label="商品信息">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
<el-image style="height: 3rem; width: 3rem" :src="row.cart_info?.image"></el-image>
|
<el-image style="height: 3rem; width: 3rem;flex-shrink: 0;" :src="row.cart_info?.image"></el-image>
|
||||||
<span style="margin-left: 0.5rem">{{ row.cart_info?.name }}</span>
|
<span style="margin-left: 0.5rem">{{ row.cart_info?.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,293 +0,0 @@
|
||||||
<script setup>
|
|
||||||
import { ref, watch, nextTick, computed, onMounted, onUnmounted } from "vue";
|
|
||||||
import { ElMessage } from "element-plus";
|
|
||||||
import mitt from "@/utils/mitt.js";
|
|
||||||
import { useUserStore } from "@/store/user.js";
|
|
||||||
import config from "@/config";
|
|
||||||
import {
|
|
||||||
categoryListApi,
|
|
||||||
productCreateApi,
|
|
||||||
productDetailApi,
|
|
||||||
productUpdateApi,
|
|
||||||
} from "@/api/shop.js";
|
|
||||||
|
|
||||||
const drawer = ref(false);
|
|
||||||
const table = {
|
|
||||||
store_name: "",
|
|
||||||
image: [],
|
|
||||||
slider_image: [],
|
|
||||||
attrValue: [
|
|
||||||
{
|
|
||||||
bar_code: "",
|
|
||||||
price: "",
|
|
||||||
stock: "",
|
|
||||||
cost: "",
|
|
||||||
ot_price: "",
|
|
||||||
wholesale_price: "0",
|
|
||||||
extension_one: "",
|
|
||||||
extension_two: "",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
content: {
|
|
||||||
image: [],
|
|
||||||
},
|
|
||||||
unit_name: "",
|
|
||||||
delivery_way: ["1"],
|
|
||||||
};
|
|
||||||
const formData = ref(table);
|
|
||||||
|
|
||||||
const userStore = useUserStore();
|
|
||||||
|
|
||||||
const emit = defineEmits(["reload"]);
|
|
||||||
|
|
||||||
const dialogImgVisible = ref(false);
|
|
||||||
const dialogImageUrl = ref("");
|
|
||||||
|
|
||||||
const handlePictureCardPreview = (uploadFile) => {
|
|
||||||
dialogImageUrl.value = uploadFile.url;
|
|
||||||
dialogImgVisible.value = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
const showType = ref("add");
|
|
||||||
const show = (type, data) => {
|
|
||||||
formData.value = table;
|
|
||||||
showType.value = type;
|
|
||||||
if (type == "add") {
|
|
||||||
drawer.value = true;
|
|
||||||
} else if (type == "edit") {
|
|
||||||
drawer.value = true;
|
|
||||||
getProductDetail(data.product_id);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const getProductDetail = (id) => {
|
|
||||||
productDetailApi(userStore.userInfo.service.store_id, id).then((res) => {
|
|
||||||
res.data.image = [
|
|
||||||
{
|
|
||||||
url: res.data.image,
|
|
||||||
uid: res.data.image,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
if(res.data.content?.image) res.data.content.image = res.data.content.image.map((item) => {
|
|
||||||
return {
|
|
||||||
url: item,
|
|
||||||
uid: res.data.image,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
else res.data.content = {
|
|
||||||
image: []
|
|
||||||
};
|
|
||||||
res.data.slider_image = res.data.slider_image.map((item) => {
|
|
||||||
return {
|
|
||||||
url: item,
|
|
||||||
uid: res.data.image,
|
|
||||||
};
|
|
||||||
});
|
|
||||||
formData.value = res.data;
|
|
||||||
console.log(formData.value);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const categoryList = ref([]);
|
|
||||||
const getCategoryList = () => {
|
|
||||||
categoryListApi(userStore.userInfo.service.store_id).then((res) => {
|
|
||||||
categoryList.value = res.data;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
getCategoryList();
|
|
||||||
|
|
||||||
const uploadImage = (res) => {
|
|
||||||
formData.value.image = res.data.path;
|
|
||||||
};
|
|
||||||
const uploadSliderImage = (res) => {
|
|
||||||
console.log(formData.value.slider_image);
|
|
||||||
};
|
|
||||||
const handleRemove = (file) => {
|
|
||||||
console.log(file);
|
|
||||||
};
|
|
||||||
|
|
||||||
const formRef = ref(null);
|
|
||||||
const submit = () => {
|
|
||||||
let data = JSON.parse(JSON.stringify(formData.value));
|
|
||||||
console.log(data.cate_id);
|
|
||||||
if (data.cate_id && typeof data.cate_id == "object" && data.cate_id.length > 0)
|
|
||||||
data.cate_id = data.cate_id[data.cate_id.length - 1] || '';
|
|
||||||
else data.cate_id = data.cate_id || '';
|
|
||||||
if (data.image == "") return ElMessage.error("请上传商品封面图");
|
|
||||||
// if (data.content.image.length == 0)
|
|
||||||
// return ElMessage.error("请上传商品详情图");
|
|
||||||
if (data.slider_image.length == 0) return ElMessage.error("请上传商品轮播图");
|
|
||||||
data.content.image = data.content.image.map((item) => {
|
|
||||||
return item?.response?.data?.path ? item?.response?.data?.path : item.url;
|
|
||||||
});
|
|
||||||
data.image = data.image[0]?.response?.data?.path
|
|
||||||
? data.image[0]?.response?.data?.path
|
|
||||||
: data.image[0].url;
|
|
||||||
data.slider_image = data.slider_image.map((item) => {
|
|
||||||
return item?.response?.data?.path ? item?.response?.data?.path : item.url;
|
|
||||||
});
|
|
||||||
if (data.store_name == "") return ElMessage.error("请输入商品名称");
|
|
||||||
if (data.cate_id == "") return ElMessage.error("请选择平台分类");
|
|
||||||
if (data.attrValue[0].bar_code == "")
|
|
||||||
return ElMessage.error("请输入商品条码");
|
|
||||||
if (data.attrValue[0].stock<=0) return ElMessage.error("请输入商品库存");
|
|
||||||
if (data.attrValue[0].price<=0) return ElMessage.error("请输入商品价格");
|
|
||||||
if (showType.value == "add")
|
|
||||||
productCreateApi(userStore.userInfo.service.store_id, data).then((res) => {
|
|
||||||
ElMessage.success(res.message);
|
|
||||||
emit("reload", true);
|
|
||||||
beforeClose();
|
|
||||||
});
|
|
||||||
else
|
|
||||||
productUpdateApi(
|
|
||||||
userStore.userInfo.service.store_id,
|
|
||||||
data.product_id,
|
|
||||||
data
|
|
||||||
).then((res) => {
|
|
||||||
ElMessage.success(res.message);
|
|
||||||
emit("reload", true);
|
|
||||||
beforeClose();
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const cancelClick = () => {
|
|
||||||
beforeClose();
|
|
||||||
};
|
|
||||||
const beforeClose = () => {
|
|
||||||
drawer.value = false;
|
|
||||||
};
|
|
||||||
const open = () => {};
|
|
||||||
|
|
||||||
defineExpose({
|
|
||||||
drawer,
|
|
||||||
show,
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<el-drawer
|
|
||||||
size="60rem"
|
|
||||||
v-model="drawer"
|
|
||||||
direction="rtl"
|
|
||||||
@open="open"
|
|
||||||
:before-close="beforeClose"
|
|
||||||
>
|
|
||||||
<template #header>
|
|
||||||
<h4 v-if="showType=='add'">添加商品</h4>
|
|
||||||
<h4 v-else>编辑商品 [{{formData.product_id}}]</h4>
|
|
||||||
</template>
|
|
||||||
<template #default>
|
|
||||||
<div class="dra-body">
|
|
||||||
<el-form ref="formRef" :model="formData" label-width="150px">
|
|
||||||
<el-form-item label="商品条码" required>
|
|
||||||
<el-input
|
|
||||||
v-model="formData.attrValue[0].bar_code"
|
|
||||||
type="number"
|
|
||||||
placeholder="请输入商品条码"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="商品名称" required>
|
|
||||||
<el-input
|
|
||||||
v-model="formData.store_name"
|
|
||||||
placeholder="请输入商品名称"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="平台分类" required>
|
|
||||||
<el-cascader
|
|
||||||
v-model="formData.cate_id"
|
|
||||||
class="pageWidth"
|
|
||||||
:options="categoryList"
|
|
||||||
filterable
|
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="商品封面图" required>
|
|
||||||
<el-upload
|
|
||||||
v-model:file-list="formData.image"
|
|
||||||
:action="config.upload"
|
|
||||||
name="field"
|
|
||||||
list-type="picture-card"
|
|
||||||
:on-preview="handlePictureCardPreview"
|
|
||||||
:page_size="1"
|
|
||||||
>
|
|
||||||
<el-icon><Plus /></el-icon>
|
|
||||||
</el-upload>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="商品轮播图" required>
|
|
||||||
<el-upload
|
|
||||||
v-model:file-list="formData.slider_image"
|
|
||||||
:action="config.upload"
|
|
||||||
name="field"
|
|
||||||
list-type="picture-card"
|
|
||||||
:on-preview="handlePictureCardPreview"
|
|
||||||
:page_size="9"
|
|
||||||
>
|
|
||||||
<el-icon><Plus /></el-icon>
|
|
||||||
</el-upload>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="商品详情">
|
|
||||||
<el-upload
|
|
||||||
v-model:file-list="formData.content.image"
|
|
||||||
:action="config.upload"
|
|
||||||
name="field"
|
|
||||||
list-type="picture-card"
|
|
||||||
:on-preview="handlePictureCardPreview"
|
|
||||||
:page_size="9"
|
|
||||||
>
|
|
||||||
<el-icon><Plus /></el-icon>
|
|
||||||
</el-upload>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="商品单位" required>
|
|
||||||
<el-input
|
|
||||||
v-model="formData.unit_name"
|
|
||||||
placeholder="请输入商品单位"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="零售价" required>
|
|
||||||
<el-input
|
|
||||||
v-model="formData.attrValue[0].price"
|
|
||||||
type="number"
|
|
||||||
placeholder="请输入零售价"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="库存" required>
|
|
||||||
<el-input
|
|
||||||
v-model="formData.attrValue[0].stock"
|
|
||||||
type="number"
|
|
||||||
placeholder="请输入库存"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
</div>
|
|
||||||
<el-dialog v-model="dialogImgVisible">
|
|
||||||
<img
|
|
||||||
style="width: 100%; height: 100%"
|
|
||||||
w-full
|
|
||||||
:src="dialogImageUrl"
|
|
||||||
alt="Preview Image"
|
|
||||||
/>
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
|
||||||
<template #footer>
|
|
||||||
<el-button @click="cancelClick">取消</el-button>
|
|
||||||
<el-button type="primary" @click="submit">确认</el-button>
|
|
||||||
</template>
|
|
||||||
</el-drawer>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.dra-body {
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
/* align-items: center; */
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
::v-deep .el-upload--picture-card {
|
|
||||||
--el-upload-picture-card-size: 60px !important;
|
|
||||||
}
|
|
||||||
::v-deep .el-upload-list--picture-card .el-upload-list__item {
|
|
||||||
height: 60px !important;
|
|
||||||
width: 60px !important;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -1,284 +0,0 @@
|
||||||
<script setup>
|
|
||||||
import { onMounted, ref } from "vue";
|
|
||||||
import { storeListApi, userFreeTrialApi, productTitleApi, productStatusApi } from "@/api/shop.js";
|
|
||||||
import { useUserStore } from "@/store/user.js";
|
|
||||||
import { ElMessage } from "element-plus";
|
|
||||||
import add from "./component/add.vue";
|
|
||||||
|
|
||||||
const orderList = ref([]);
|
|
||||||
const userStore = useUserStore();
|
|
||||||
|
|
||||||
const where = ref({
|
|
||||||
page_no: 1,
|
|
||||||
page_size: 15,
|
|
||||||
type: 1,
|
|
||||||
keyword: "",
|
|
||||||
staff_id: userStore.userInfo.service.service_id,
|
|
||||||
});
|
|
||||||
|
|
||||||
const loading = ref(false);
|
|
||||||
const total = ref(0);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const productTitle = ref([]);
|
|
||||||
const getProductTitleApi = () => {
|
|
||||||
productTitleApi(userStore.userInfo.service.store_id).then((res) => {
|
|
||||||
productTitle.value = res.data;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
getProductTitleApi()
|
|
||||||
|
|
||||||
const getShopList = (loadmore = false) => {
|
|
||||||
loading.value = true;
|
|
||||||
getProductTitleApi();
|
|
||||||
storeListApi(userStore.userInfo.service.store_id, where.value).then((res) => {
|
|
||||||
orderList.value = res.data.list;
|
|
||||||
total.value = res.data.count;
|
|
||||||
loading.value = false;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
getShopList();
|
|
||||||
|
|
||||||
const prevClick = (e) => {
|
|
||||||
where.value.page_no = e;
|
|
||||||
getShopList();
|
|
||||||
};
|
|
||||||
|
|
||||||
const nextClick = (e) => {
|
|
||||||
where.value.page_no = e;
|
|
||||||
getShopList();
|
|
||||||
};
|
|
||||||
|
|
||||||
const currentChange = (e) => {
|
|
||||||
where.value.page_no = e;
|
|
||||||
getShopList();
|
|
||||||
};
|
|
||||||
|
|
||||||
const dialogFormVisible = ref(false);
|
|
||||||
const form = ref({});
|
|
||||||
const edit = (row) => {
|
|
||||||
form.value = row;
|
|
||||||
dialogFormVisible.value = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
const submitUpdate = () => {
|
|
||||||
let obj = {
|
|
||||||
attr: form.value.attr || [],
|
|
||||||
attrValue: form.value.attrValue,
|
|
||||||
mer_cate_id: form.value.merCateId || [],
|
|
||||||
spec_type: form.value.spec_type,
|
|
||||||
is_stock: 1,
|
|
||||||
};
|
|
||||||
userFreeTrialApi(form.value.product_id, obj)
|
|
||||||
.then((res) => {
|
|
||||||
ElMessage({
|
|
||||||
message: res.message,
|
|
||||||
type: "success",
|
|
||||||
});
|
|
||||||
dialogFormVisible.value = false;
|
|
||||||
getShopList();
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
ElMessage({
|
|
||||||
message: err,
|
|
||||||
type: "error",
|
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
const activeIndex = ref('1');
|
|
||||||
|
|
||||||
const handleSelect = (key) => {
|
|
||||||
where.value.type = key;
|
|
||||||
where.value.page_no = 1;
|
|
||||||
getShopList();
|
|
||||||
};
|
|
||||||
|
|
||||||
const updateShow = (row) => {
|
|
||||||
productStatusApi(userStore.userInfo.service.store_id, row.product_id, {
|
|
||||||
status: row.is_show ? 1 : 0
|
|
||||||
}).then(res=>{
|
|
||||||
ElMessage.success(res.message);
|
|
||||||
getShopList(true);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const addRef = ref(null);
|
|
||||||
const showAdd = (type='add', data)=>{
|
|
||||||
addRef.value.show(type, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div v-loading="loading" element-loading-text="加载中" class="my-shop">
|
|
||||||
<el-form :inline="true">
|
|
||||||
<el-form-item label="关键字:">
|
|
||||||
<el-input v-model="where.keyword" placeholder="请输入关键字搜索" style="width: 20rem;" clearable @clear="getShopList(true)" @keydown.enter="getShopList(true)"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item >
|
|
||||||
<el-button type="primary" @click="getShopList(true)">搜索</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item >
|
|
||||||
<el-button type="primary" @click="showAdd('add')">新增</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
|
|
||||||
<el-menu
|
|
||||||
:default-active="activeIndex"
|
|
||||||
class="el-menu-top"
|
|
||||||
mode="horizontal"
|
|
||||||
@select="handleSelect"
|
|
||||||
>
|
|
||||||
<el-menu-item
|
|
||||||
:index="item.type+''"
|
|
||||||
v-for="(item, index) in productTitle"
|
|
||||||
:key="index"
|
|
||||||
>{{ `${item.name}(${item.count})` }}</el-menu-item
|
|
||||||
>
|
|
||||||
</el-menu>
|
|
||||||
|
|
||||||
<el-table :data="orderList" style="width: 100%">
|
|
||||||
<el-table-column prop="product_id" label="ID" width="100" />
|
|
||||||
<el-table-column prop="image" label="图片" width="120">
|
|
||||||
<template #default="scope">
|
|
||||||
<el-image
|
|
||||||
loading="lazy"
|
|
||||||
style="width: 3.75rem; height: 3.75rem;"
|
|
||||||
:src="scope.row.image"
|
|
||||||
></el-image>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="store_name" label="商品名称" width="500" />
|
|
||||||
<el-table-column prop="price" label="售价" />
|
|
||||||
<el-table-column prop="stock" label="库存" />
|
|
||||||
<el-table-column label="上/下架" v-if="where.type<=2" width="100">
|
|
||||||
<template #default="scope">
|
|
||||||
<el-switch
|
|
||||||
v-model="scope.row.is_show"
|
|
||||||
:active-value="1"
|
|
||||||
inline-prompt
|
|
||||||
active-text="上架"
|
|
||||||
inactive-text="下架"
|
|
||||||
@click="updateShow(scope.row)"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="商品状态" v-if="where.type<=4" width="100">
|
|
||||||
<template #default="scope">
|
|
||||||
<span v-if="!scope.row.is_used" style="color: #ff4a00">平台关闭</span>
|
|
||||||
<span v-else-if="scope.row.is_show">上架显示</span>
|
|
||||||
<span v-else>下架</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作" width="120">
|
|
||||||
<template #default="scope">
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
v-if="where.type != 5"
|
|
||||||
link
|
|
||||||
@click="edit(scope.row)"
|
|
||||||
>修改库存</el-button
|
|
||||||
>
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
v-if="where.type != 1 && where.type != 5"
|
|
||||||
link
|
|
||||||
@click="showAdd('edit', scope.row)"
|
|
||||||
>编辑</el-button
|
|
||||||
>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
|
|
||||||
<el-pagination
|
|
||||||
:page_no-size="where.page_size"
|
|
||||||
layout="prev, pager, next"
|
|
||||||
:total="total"
|
|
||||||
@prev-click="prevClick"
|
|
||||||
@next-click="nextClick"
|
|
||||||
@current-change="currentChange"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<el-dialog v-model="dialogFormVisible" title="编辑商品库存" width="800">
|
|
||||||
<el-table
|
|
||||||
v-if="form.attrValue"
|
|
||||||
:data="form.attrValue"
|
|
||||||
stripe
|
|
||||||
style="width: 100%"
|
|
||||||
>
|
|
||||||
<el-table-column prop="image" label="图片" width="180">
|
|
||||||
<template #default="scope">
|
|
||||||
<el-image
|
|
||||||
loading="lazy"
|
|
||||||
style="width: 5rem; height: 5rem"
|
|
||||||
:src="scope.row.image || form.image"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="sku" label="名称" width="180">
|
|
||||||
<template #default="scope">
|
|
||||||
<span>{{ scope.row.sku || form.store_name }}</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="price" label="价格" />
|
|
||||||
<el-table-column prop="stock" label="库存">
|
|
||||||
<template #default="scope">
|
|
||||||
<el-input-number
|
|
||||||
v-model="scope.row.stock"
|
|
||||||
step-strictly
|
|
||||||
:min="0"
|
|
||||||
:step="1"
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
<template #footer>
|
|
||||||
<div class="dialog-footer">
|
|
||||||
<el-button @click="dialogFormVisible = false">取消</el-button>
|
|
||||||
<el-button type="primary" @click="submitUpdate"> 确定 </el-button>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-dialog>
|
|
||||||
<add ref="addRef" @reload="getShopList"></add>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.my-shop {
|
|
||||||
background-color: #fff;
|
|
||||||
border-radius: 1.2rem;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 1rem;
|
|
||||||
overflow-y: scroll;
|
|
||||||
}
|
|
||||||
/* 修改滚动条的样式 */
|
|
||||||
::-webkit-scrollbar {
|
|
||||||
width: 0.315rem; /* 设置滚动条的宽度 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 设置滚动条的轨道样式 */
|
|
||||||
::-webkit-scrollbar-track {
|
|
||||||
background-color: #f1f1f1; /* 设置轨道的背景色 */
|
|
||||||
margin: 1.25rem 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 设置滚动条的滑块样式 */
|
|
||||||
::-webkit-scrollbar-thumb {
|
|
||||||
background-color: #ccc; /* 设置滑块的背景色 */
|
|
||||||
border-radius: 0.315rem; /* 设置滑块的圆角 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 设置滚动条鼠标悬停时的滑块样式 */
|
|
||||||
::-webkit-scrollbar-thumb:hover {
|
|
||||||
background-color: #999; /* 设置鼠标悬停时滑块的背景色 */
|
|
||||||
}
|
|
||||||
.el-menu--horizontal {
|
|
||||||
height: 2.5rem;
|
|
||||||
}
|
|
||||||
.el-form--inline .el-form-item{
|
|
||||||
margin-right: 1rem;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -0,0 +1,125 @@
|
||||||
|
<script setup>
|
||||||
|
import { ref, nextTick } from "vue";
|
||||||
|
import { storeProductListsApi } from "@/api/shop.js"
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
|
|
||||||
|
const orderList = ref([]);
|
||||||
|
|
||||||
|
const where = ref({
|
||||||
|
page_no: 1,
|
||||||
|
page_size: 20,
|
||||||
|
loadend: false,
|
||||||
|
type: 1
|
||||||
|
});
|
||||||
|
|
||||||
|
const loading = ref(false);
|
||||||
|
|
||||||
|
const getOrderList = () => {
|
||||||
|
if (where.value.loadend) return;
|
||||||
|
loading.value = true;
|
||||||
|
storeProductListsApi({
|
||||||
|
page_no: where.value.page_no,
|
||||||
|
page_size: where.value.page_size,
|
||||||
|
type: where.value.type
|
||||||
|
}).then((res) => {
|
||||||
|
orderList.value = [...orderList.value, ...res.data.lists];
|
||||||
|
if (res.data.lists.length < where.value.page_size) where.value.loadend = true;
|
||||||
|
where.value.page_no++;
|
||||||
|
loading.value = false;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
getOrderList();
|
||||||
|
|
||||||
|
const reload = ()=>{
|
||||||
|
where.value.page_no = 1;
|
||||||
|
where.value.loadend = false;
|
||||||
|
orderList.value = [];
|
||||||
|
getOrderList();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="my-card put-storage">
|
||||||
|
<el-radio-group style="margin-bottom: 20px" v-model="where.type" @change="reload">
|
||||||
|
<el-radio-button :label="1" :value="1">售卖库存</el-radio-button>
|
||||||
|
<el-radio-button :label="2" :value="2">兑换库存</el-radio-button>
|
||||||
|
</el-radio-group>
|
||||||
|
<div class="order-lists" v-loading="loading" v-infinite-scroll="getOrderList" :infinite-scroll-distance="300"
|
||||||
|
:infinite-scroll-delay="500" :infinite-scroll-immediate="false" style="overflow: auto">
|
||||||
|
<el-table :data="orderList">
|
||||||
|
<el-table-column label="导入人员" prop="admin_name" />
|
||||||
|
<el-table-column label="门店确认人员" prop="staff_name" />
|
||||||
|
<el-table-column label="商品图" prop="image">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-image class="image" :src="row.image" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="商品" prop="store_name" />
|
||||||
|
<el-table-column label="数量" prop="nums" />
|
||||||
|
<el-table-column label="状态" prop="status">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-tag type="success" v-if="row.status === 1">已入库</el-tag>
|
||||||
|
<el-tag type="warning" v-else-if="row.status === 0">待确认</el-tag>
|
||||||
|
<el-tag type="danger" v-else-if="row.status === -1">库存不足</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="备注" prop="mark" />
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.put-storage {
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 1.2rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 1rem;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
|
||||||
|
.image {
|
||||||
|
width: 4rem;
|
||||||
|
height: 4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.order-lists {
|
||||||
|
flex: 1;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.my-card {}
|
||||||
|
|
||||||
|
/* 修改滚动条的样式 */
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
width: 0.315rem;
|
||||||
|
/* 设置滚动条的宽度 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 设置滚动条的轨道样式 */
|
||||||
|
::-webkit-scrollbar-track {
|
||||||
|
background-color: #f1f1f1;
|
||||||
|
/* 设置轨道的背景色 */
|
||||||
|
/* margin: 1.25rem 0; */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 设置滚动条的滑块样式 */
|
||||||
|
::-webkit-scrollbar-thumb {
|
||||||
|
background-color: #ccc;
|
||||||
|
/* 设置滑块的背景色 */
|
||||||
|
border-radius: 0.315rem;
|
||||||
|
/* 设置滑块的圆角 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 设置滚动条鼠标悬停时的滑块样式 */
|
||||||
|
::-webkit-scrollbar-thumb:hover {
|
||||||
|
background-color: #999;
|
||||||
|
/* 设置鼠标悬停时滑块的背景色 */
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -3,8 +3,10 @@ import { ref, onMounted, onUnmounted, reactive } from "vue";
|
||||||
import { apiProvince, apiCity, apiArea, apiStreet, apiVillage, apiBrigade } from '@/api/public'
|
import { apiProvince, apiCity, apiArea, apiStreet, apiVillage, apiBrigade } from '@/api/public'
|
||||||
import { userShipApi, userAddApi, userArchivesSmsApi } from "@/api/user"
|
import { userShipApi, userAddApi, userArchivesSmsApi } from "@/api/user"
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
|
import authCode from "@/components/authCode.vue";
|
||||||
|
import { useUserStore } from "@/store/user";
|
||||||
|
|
||||||
|
const userStore = useUserStore();
|
||||||
const formDataRef = ref(null);
|
const formDataRef = ref(null);
|
||||||
const formDataInfo = reactive({
|
const formDataInfo = reactive({
|
||||||
mobile: '',
|
mobile: '',
|
||||||
|
@ -118,7 +120,9 @@ const props = {
|
||||||
const userShip = ref([])
|
const userShip = ref([])
|
||||||
const getUserShip = () => {
|
const getUserShip = () => {
|
||||||
userShipApi().then(res => {
|
userShipApi().then(res => {
|
||||||
userShip.value = res.data.lists;
|
userShip.value = res.data.lists?.filter((item) => {
|
||||||
|
return item.id == 0 || item.id == 4
|
||||||
|
});
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
getUserShip()
|
getUserShip()
|
||||||
|
@ -138,7 +142,14 @@ const addUser = () => {
|
||||||
forms.street = formDataInfo.selectedValues[2]
|
forms.street = formDataInfo.selectedValues[2]
|
||||||
forms.village = formDataInfo.selectedValues[3]
|
forms.village = formDataInfo.selectedValues[3]
|
||||||
forms.brigade = formDataInfo.selectedValues[4]
|
forms.brigade = formDataInfo.selectedValues[4]
|
||||||
|
forms.store_id = userStore.userInfo.store_id;
|
||||||
userAddApi(forms).then(res=>{
|
userAddApi(forms).then(res=>{
|
||||||
|
formDataInfo.mobile = '';
|
||||||
|
formDataInfo.code = '';
|
||||||
|
formDataInfo.user_ship = '';
|
||||||
|
formDataInfo.real_name = '';
|
||||||
|
formDataInfo.selectedValues = [];
|
||||||
|
formDataRef.value.resetFields();
|
||||||
emit('close')
|
emit('close')
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -146,6 +157,7 @@ const addUser = () => {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const authCodeRef = ref(null)
|
||||||
const getSms = ()=>{
|
const getSms = ()=>{
|
||||||
formDataRef.value.validateField('mobile',(valid)=>{
|
formDataRef.value.validateField('mobile',(valid)=>{
|
||||||
if(valid){
|
if(valid){
|
||||||
|
@ -153,6 +165,7 @@ const getSms = ()=>{
|
||||||
mobile:formDataInfo.mobile
|
mobile:formDataInfo.mobile
|
||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
ElMessage.success('发送成功')
|
ElMessage.success('发送成功')
|
||||||
|
authCodeRef.value.startCountDown();
|
||||||
}).catch(err=>{
|
}).catch(err=>{
|
||||||
ElMessage.error('发送失败')
|
ElMessage.error('发送失败')
|
||||||
})
|
})
|
||||||
|
@ -175,14 +188,15 @@ defineExpose({
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="验证码" prop="code">
|
<el-form-item label="验证码" prop="code">
|
||||||
<el-input v-model="formDataInfo.code" placeholder="请输入验证码" style="flex: 1;"/>
|
<el-input v-model="formDataInfo.code" placeholder="请输入验证码" style="flex: 1;"/>
|
||||||
<el-button type="primary" style="margin-left: 1rem;" @click="getSms">获取验证码</el-button>
|
<!-- <el-button type="primary" style="margin-left: 1rem;" @click="getSms">获取验证码</el-button> -->
|
||||||
|
<authCode ref="authCodeRef" style="margin-left: 1rem;" @sendCode="getSms" :start="false"></authCode>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="用户姓名" prop="real_name">
|
<el-form-item label="用户姓名" prop="real_name">
|
||||||
<el-input v-model="formDataInfo.real_name" placeholder="请输入用户姓名" />
|
<el-input v-model="formDataInfo.real_name" placeholder="请输入用户姓名" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="用户类型" prop="user_ship">
|
<el-form-item label="用户类型" prop="user_ship">
|
||||||
<el-select v-model="formDataInfo.user_ship" placeholder="请选择用户类型" style="width: 100%;">
|
<el-select v-model="formDataInfo.user_ship" placeholder="请选择用户类型" style="width: 100%;">
|
||||||
<el-option v-for="item in userShip" :key="item.id" :label="item.title" :value="item.id" :disabled="item.id==1" />
|
<el-option v-for="item in userShip" :key="item.id" :label="item.title" :value="item.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="用户地址" prop="selectedValues">
|
<el-form-item label="用户地址" prop="selectedValues">
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { onMounted, onUnmounted, ref } from "vue";
|
import { nextTick, onMounted, onUnmounted, ref } from "vue";
|
||||||
import { useUserStore } from "@/store/user.js";
|
import { useUserStore } from "@/store/user.js";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import mitt from "@/utils/mitt.js";
|
import mitt from "@/utils/mitt.js";
|
||||||
import payUser from "@/components/payUser.vue";
|
import payUser from "@/components/payUser.vue";
|
||||||
import { userAddressDetailApi, userAddressEditApi, userDetailApi } from "@/api/user"
|
import { userAddressDetailApi, userAddressEditApi, userDetailApi } from "@/api/user"
|
||||||
|
import { userProductStorageApi, userProductStorageSupplyApi } from "@/api/store"
|
||||||
import { apiProvince, apiCity, apiArea, apiStreet, apiVillage, apiBrigade } from '@/api/public'
|
import { apiProvince, apiCity, apiArea, apiStreet, apiVillage, apiBrigade } from '@/api/public'
|
||||||
import { userShipApi, userShipUpdateApi, userLabelListApi, userLabelUpdateApi } from "@/api/user"
|
import { userShipApi, userShipUpdateApi, userLabelListApi, userLabelUpdateApi } from "@/api/user"
|
||||||
|
import authCode from "@/components/authCode.vue";
|
||||||
|
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
@ -33,13 +35,14 @@ const toPay = () => {
|
||||||
data: {
|
data: {
|
||||||
uid: formData.value.id,
|
uid: formData.value.id,
|
||||||
price: payInfo.value.price,
|
price: payInfo.value.price,
|
||||||
|
user_ship: formData.value.user_ship
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
payRef.value.drawer = true;
|
payRef.value.drawer = true;
|
||||||
}
|
}
|
||||||
const paySuccess = () => {
|
const paySuccess = (e = null) => {
|
||||||
console.log('支付成功');
|
getUserInfo();
|
||||||
mitt.emit('re-load-user-list');
|
// mitt.emit('re-load-user-list', e ? true : false);
|
||||||
}
|
}
|
||||||
|
|
||||||
const updateShip = ref(false);
|
const updateShip = ref(false);
|
||||||
|
@ -64,27 +67,27 @@ const cancelUserShip = () => {
|
||||||
updateShip.value = false;
|
updateShip.value = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const updateLable = ref(false);
|
// const updateLable = ref(false);
|
||||||
const userLable = ref([]);
|
// const userLable = ref([]);
|
||||||
const getLableList = () => {
|
// const getLableList = () => {
|
||||||
userLabelListApi().then(res => {
|
// userLabelListApi().then(res => {
|
||||||
userLable.value = res.data.lists;
|
// userLable.value = res.data.lists;
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
getLableList()
|
// getLableList()
|
||||||
const updateUserLable = () => {
|
// const updateUserLable = () => {
|
||||||
userLabelUpdateApi({
|
// userLabelUpdateApi({
|
||||||
id: formData.value.id,
|
// id: formData.value.id,
|
||||||
label_id: formData.value.label_id
|
// label_id: formData.value.label_id
|
||||||
}).then(res => {
|
// }).then(res => {
|
||||||
ElMessage.success('修改成功');
|
// ElMessage.success('修改成功');
|
||||||
formData.value.label_name = userLable.value.find(item => item.label_id == formData.value.label_id)?.label_name;
|
// formData.value.label_name = userLable.value.find(item => item.label_id == formData.value.label_id)?.label_name;
|
||||||
updateLable.value = false;
|
// updateLable.value = false;
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
const cancelLable = () => {
|
// const cancelLable = () => {
|
||||||
updateLable.value = false;
|
// updateLable.value = false;
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
const addressInfo = ref({
|
const addressInfo = ref({
|
||||||
|
@ -216,16 +219,163 @@ const cancelUpdate = () => {
|
||||||
|
|
||||||
const isDisabled = ref(true);
|
const isDisabled = ref(true);
|
||||||
|
|
||||||
|
const activeStore = ref(0);
|
||||||
|
const activeStoreList = ref(["基本信息", "用户资产"]);
|
||||||
|
|
||||||
|
const isOut = ref(false); // 是否为出库状态
|
||||||
|
const productList = ref([]); // 商品列表
|
||||||
|
const whereProduct = ref({
|
||||||
|
page_no: 1,
|
||||||
|
page_size: 10,
|
||||||
|
loading: false,
|
||||||
|
loadend: false
|
||||||
|
})
|
||||||
|
let info = []; // 出库列表
|
||||||
|
const initProduct = (re = false) => {
|
||||||
|
if (re) {
|
||||||
|
productList.value = [];
|
||||||
|
whereProduct.value.page_no = 1;
|
||||||
|
whereProduct.value.loadend = false;
|
||||||
|
}
|
||||||
|
if (whereProduct.value.loadend || whereProduct.value.loading) return;
|
||||||
|
whereProduct.value.loading = true;
|
||||||
|
userProductStorageApi({
|
||||||
|
uid: formData.value.id,
|
||||||
|
page_no: whereProduct.value.page_no,
|
||||||
|
page_size: whereProduct.value.page_size
|
||||||
|
}).then(res => {
|
||||||
|
productList.value = [...productList.value, ...res.data.lists];
|
||||||
|
whereProduct.value.loading = false;
|
||||||
|
whereProduct.value.page_no++;
|
||||||
|
if (res.data.lists.length < whereProduct.value.page_size) {
|
||||||
|
whereProduct.value.loadend = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const outForm = ref({
|
||||||
|
mobile: '',
|
||||||
|
code: ''
|
||||||
|
})
|
||||||
|
const dialogFormVisible = ref(false);
|
||||||
|
// 预出库
|
||||||
|
const onOutAll = () => {
|
||||||
|
outForm.value.mobile = formData.value.phone;
|
||||||
|
outForm.value.code = '';
|
||||||
|
info = productList.value.filter(item => item.n_num).map(item => {
|
||||||
|
return {
|
||||||
|
product_id: item.product_id,
|
||||||
|
nums: item.n_num
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (info.length == 0) return ElMessage.error("请选择商品");
|
||||||
|
dialogFormVisible.value = true;
|
||||||
|
// onOutPut();
|
||||||
|
}
|
||||||
|
// 发送短信验证码
|
||||||
|
const onSendCode = () => {
|
||||||
|
console.log('发送短信验证码');
|
||||||
|
ElMessage.success("验证码已发送");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 出库
|
||||||
|
const onOutPut = () => {
|
||||||
|
if (outForm.value.code == '') return ElMessage.error("请输入验证码")
|
||||||
|
userProductStorageSupplyApi({
|
||||||
|
uid: formData.value.id,
|
||||||
|
info: info
|
||||||
|
}).then(res => {
|
||||||
|
isOut.value = false;
|
||||||
|
ElMessage.success("出库成功");
|
||||||
|
dialogFormVisible.value = false;
|
||||||
|
initProduct(true);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const getUserInfo = () => {
|
||||||
|
userDetailApi({
|
||||||
|
id: formData.value.id
|
||||||
|
}).then(({ data }) => {
|
||||||
|
data.phone = data.mobile + '';
|
||||||
|
delete data.mobile;
|
||||||
|
formData.value = Object.assign(formData.value, data);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 成为会员
|
||||||
|
const dialogFormShip = ref(false);
|
||||||
|
const shipForm = ref({
|
||||||
|
user_ship: '',
|
||||||
|
user_ship_name: '',
|
||||||
|
limit: '',
|
||||||
|
money: '',
|
||||||
|
type: '',
|
||||||
|
})
|
||||||
|
const onUpdateShip = () => {
|
||||||
|
shipForm.value.money = Number(shipForm.value.money).toFixed(2);
|
||||||
|
if (+shipForm.value.money < +shipForm.value.limit || +shipForm.value.money > 10000) {
|
||||||
|
+shipForm.value.limit > 0 ? shipForm.value.money = shipForm.value.limit : shipForm.value.money = '';
|
||||||
|
// return ElMessage.error(`该类型至少需要充值${shipForm.value.limit}元`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const changeShip = (e) => {
|
||||||
|
let t = userShip.value.find(item => item.id == e);
|
||||||
|
if (t) {
|
||||||
|
shipForm.value.limit = t.limit;
|
||||||
|
shipForm.value.user_ship_name = t.title;
|
||||||
|
shipForm.value.money = t.limit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const shipRecharge = () => {
|
||||||
|
if (shipForm.value.user_ship === '' || shipForm.value.user_ship === null || shipForm.value.user_ship === undefined) return ElMessage.error("请选择会员类型");
|
||||||
|
if (shipForm.value.money == 0 || shipForm.value.money == '') return ElMessage.error("请输入充值金额");
|
||||||
|
if (+shipForm.value.money < +shipForm.value.limit || +shipForm.value.money > 10000) {
|
||||||
|
+shipForm.value.limit > 0 ? shipForm.value.money = shipForm.value.limit : shipForm.value.money = '';
|
||||||
|
return ElMessage.error(`该类型至少需要充值${shipForm.value.limit}元`)
|
||||||
|
}
|
||||||
|
payRef.value.setForm({
|
||||||
|
data: {
|
||||||
|
uid: formData.value.id,
|
||||||
|
price: shipForm.value.money,
|
||||||
|
user_ship: shipForm.value.user_ship
|
||||||
|
}
|
||||||
|
});
|
||||||
|
payRef.value.drawer = true;
|
||||||
|
nextTick(() => {
|
||||||
|
dialogFormShip.value = false;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const rechargeMoney = (type) => {
|
||||||
|
shipForm.value.type = type;
|
||||||
|
if (type == 'add') {
|
||||||
|
shipForm.value.user_ship = formData.value.user_ship;
|
||||||
|
shipForm.value.user_ship_name = formData.value.user_ship_name;
|
||||||
|
changeShip(shipForm.value.user_ship)
|
||||||
|
}
|
||||||
|
dialogFormShip.value = true;
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
mitt.on("set-user-detail", (res) => {
|
mitt.on("set-user-detail", (res) => {
|
||||||
formData.value = res;
|
formData.value = res;
|
||||||
|
isOut.value = false;
|
||||||
userDetailApi({
|
userDetailApi({
|
||||||
id: res.id
|
id: formData.value.id
|
||||||
}).then(({ data }) => {
|
}).then(({ data }) => {
|
||||||
|
data.phone = data.mobile + '';
|
||||||
|
delete data.mobile;
|
||||||
formData.value = Object.assign(res, data);
|
formData.value = Object.assign(res, data);
|
||||||
console.log(formData.value);
|
console.log(formData.value);
|
||||||
})
|
})
|
||||||
getAddress();
|
getAddress();
|
||||||
|
initProduct(true);
|
||||||
|
shipForm.value = {
|
||||||
|
user_ship: '',
|
||||||
|
user_ship_name: '',
|
||||||
|
limit: '',
|
||||||
|
money: '',
|
||||||
|
type: ''
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -236,7 +386,19 @@ onUnmounted(() => {
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="my-order">
|
<div class="my-order">
|
||||||
<div class="detail" v-if="formData.id">
|
<div class="header-nav">
|
||||||
|
<div v-for="(item, index) in activeStoreList" :key="index" class="nav-item" :class="{
|
||||||
|
'nav-item-active': activeStore == index,
|
||||||
|
'nav-item-radius1': activeStore == index + 1,
|
||||||
|
'nav-item-radius2': activeStore == index - 1,
|
||||||
|
}" @click="activeStore = index">
|
||||||
|
{{ item }}
|
||||||
|
</div>
|
||||||
|
<div class="nav-item" :class="{
|
||||||
|
'nav-item-radius2': activeStore == activeStoreList.length - 1,
|
||||||
|
}" style="flex: 1"></div>
|
||||||
|
</div>
|
||||||
|
<div class="detail" v-if="formData.id && activeStore == 0">
|
||||||
<div class="table">
|
<div class="table">
|
||||||
<div class="table-title">用户信息</div>
|
<div class="table-title">用户信息</div>
|
||||||
<div class="table-info">
|
<div class="table-info">
|
||||||
|
@ -276,7 +438,7 @@ onUnmounted(() => {
|
||||||
</div>
|
</div>
|
||||||
<div class="info-item">
|
<div class="info-item">
|
||||||
<div class="info-item-title">用户电话:</div>
|
<div class="info-item-title">用户电话:</div>
|
||||||
<div class="info-item-info">{{ formData.mobile }}</div>
|
<div class="info-item-info">{{ formData.phone }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="info-item">
|
<div class="info-item">
|
||||||
<div class="info-item-title">用户账号:</div>
|
<div class="info-item-title">用户账号:</div>
|
||||||
|
@ -294,17 +456,18 @@ onUnmounted(() => {
|
||||||
<div class="info-item-title">用户类型:</div>
|
<div class="info-item-title">用户类型:</div>
|
||||||
<div class="info-item-info">
|
<div class="info-item-info">
|
||||||
<template v-if="updateShip == false">
|
<template v-if="updateShip == false">
|
||||||
<el-tag type="primary" size="large" v-if="formData.user_ship != 1">{{
|
<el-tag type="primary" size="large"
|
||||||
formData.user_ship_name
|
v-if="formData.user_ship == 0 || formData.user_ship == 4">{{
|
||||||
|
formData.user_ship_name
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag type="success" size="large" v-else>{{ formData.user_ship_name }}</el-tag>
|
<el-tag type="success" size="large" v-else>{{ formData.user_ship_name }}</el-tag>
|
||||||
<el-button type="primary" v-if="formData.user_ship != 1" style="margin-left: 1rem;"
|
<el-button type="primary" v-if="formData.user_ship == 0 || formData.user_ship == 4"
|
||||||
@click="updateShip = true">修改</el-button>
|
style="margin-left: 1rem;" @click="updateShip = true">修改</el-button>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<el-select v-model="formData.user_ship" placeholder="请选择用户类型" style="width: 10rem;">
|
<el-select v-model="formData.user_ship" placeholder="请选择用户类型" style="width: 10rem;">
|
||||||
<el-option v-for="item in userShip" :key="item.id" :label="item.title"
|
<el-option v-for="item in userShip" :key="item.id" :label="item.title"
|
||||||
:value="item.id" :disabled="item.id == 1" />
|
:value="item.id" :disabled="item.id != 0 && item.id != 4" />
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-button type="primary" style="margin-left: 1rem;"
|
<el-button type="primary" style="margin-left: 1rem;"
|
||||||
@click="updateUserShip">确认</el-button>
|
@click="updateUserShip">确认</el-button>
|
||||||
|
@ -312,7 +475,7 @@ onUnmounted(() => {
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="info-item" v-if="formData.user_ship == 1"
|
<!-- <div class="info-item" v-if="formData.user_ship == 1"
|
||||||
style="width: 100%;flex-shrink: 0;align-items: center;">
|
style="width: 100%;flex-shrink: 0;align-items: center;">
|
||||||
<div class="info-item-title">用户标签:</div>
|
<div class="info-item-title">用户标签:</div>
|
||||||
<div class="info-item-info">
|
<div class="info-item-info">
|
||||||
|
@ -334,7 +497,7 @@ onUnmounted(() => {
|
||||||
<el-button style="margin-left: 1rem;" @click="cancelLable">取消</el-button>
|
<el-button style="margin-left: 1rem;" @click="cancelLable">取消</el-button>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="info-item" style="width: 100%;flex-shrink: 0;align-items: center;">
|
<div class="info-item" style="width: 100%;flex-shrink: 0;align-items: center;">
|
||||||
<div class="info-item-title">用户地址:</div>
|
<div class="info-item-title">用户地址:</div>
|
||||||
<el-cascader :key="formData.id" style="flex: 1;" v-model="selectedValues" :options="options"
|
<el-cascader :key="formData.id" style="flex: 1;" v-model="selectedValues" :options="options"
|
||||||
|
@ -345,9 +508,13 @@ onUnmounted(() => {
|
||||||
@click="updateAddress">确认</el-button>
|
@click="updateAddress">确认</el-button>
|
||||||
<el-button v-if="!isDisabled" style="margin-left: 1rem;" @click="cancelUpdate">取消</el-button>
|
<el-button v-if="!isDisabled" style="margin-left: 1rem;" @click="cancelUpdate">取消</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
<el-button v-if="formData.user_ship != 0 && formData.user_ship != 4" type="success" class="big-btn"
|
||||||
|
size="large" @click="rechargeMoney('add')">增加经营资金</el-button>
|
||||||
|
<el-button v-else type="primary" class="big-btn" size="large"
|
||||||
|
@click="rechargeMoney('recharge')">成为会员</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="table-title">供销经营礼包<span class="tips">首次购买1000元以上成为行业会员</span></div>
|
<!-- <div class="table-title" v-if="formData.user_ship != 0 && formData.user_ship != 4">供销经营礼包</div>
|
||||||
<div class="table-info">
|
<div class="table-info" v-if="formData.user_ship != 0 && formData.user_ship != 4">
|
||||||
<div class="pay-btn">
|
<div class="pay-btn">
|
||||||
<div class="pay-item" :class="{ 'pay-item-active': payInfo.type == 1 }"
|
<div class="pay-item" :class="{ 'pay-item-active': payInfo.type == 1 }"
|
||||||
@click="payInfo.type = 1">
|
@click="payInfo.type = 1">
|
||||||
|
@ -367,6 +534,44 @@ onUnmounted(() => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-button type="primary" size="large" class="pay" @click="toPay">立即支付</el-button>
|
<el-button type="primary" size="large" class="pay" @click="toPay">立即支付</el-button>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="detail" v-if="formData.id && activeStore == 1" v-loading="whereProduct.loading">
|
||||||
|
<div class="table" v-infinite-scroll="initProduct" :infinite-scroll-distance="300"
|
||||||
|
:infinite-scroll-delay="300" style="overflow: auto" :infinite-scroll-immediate="false">
|
||||||
|
<el-table :data="productList">
|
||||||
|
<el-table-column label="商品信息">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<div style="display: flex; align-items: center">
|
||||||
|
<el-image style="height: 3rem; width: 3rem;flex-shrink: 0;" :src="row.image"></el-image>
|
||||||
|
<span style="margin-left: 0.5rem">{{ row.store_name }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="price" label="单价" :width="isOut ? 130 : 200" />
|
||||||
|
<el-table-column prop="nums" label="存量" :width="isOut ? 100 : 200" />
|
||||||
|
<el-table-column prop="nums" v-if="isOut" label="出库量" width="250">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<div style="display: flex; align-items: center" v-if="row.nums">
|
||||||
|
<el-input-number v-model="row.n_num" step-strictly :min="0" :max="row.nums" />
|
||||||
|
<el-button type="primary" style="margin-left: 1rem;"
|
||||||
|
@click="row.n_num = row.nums">全部</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column prop="pay_price" label="总价" width="150" /> -->
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div class="footer">
|
||||||
|
<div v-if="!isOut">
|
||||||
|
<el-button type="warning" size="large" @click="isOut = true"
|
||||||
|
:disabled="productList.length == 0">商品出库</el-button>
|
||||||
|
<!-- <el-button type="primary" size="large" @click="onOutAll">全部出库</el-button> -->
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<el-button type="primary" size="large" @click="onOutAll">确认出库</el-button>
|
||||||
|
<el-button size="large" @click="isOut = false">取消</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -374,6 +579,59 @@ onUnmounted(() => {
|
||||||
<el-empty></el-empty>
|
<el-empty></el-empty>
|
||||||
</div>
|
</div>
|
||||||
<payUser ref="payRef" @paySuccess="paySuccess"></payUser>
|
<payUser ref="payRef" @paySuccess="paySuccess"></payUser>
|
||||||
|
<el-dialog v-model="dialogFormVisible" title="出库验证" width="500">
|
||||||
|
<el-form :model="outForm">
|
||||||
|
<el-form-item label="手机号:">
|
||||||
|
<el-input v-model="outForm.mobile" autocomplete="off" readonly />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="验证码:">
|
||||||
|
<el-input v-model="outForm.code" autocomplete="off" placeholder="请输入验证码" style="flex: 1;" />
|
||||||
|
<authCode style="margin-left: 1rem;" @sendCode="onSendCode" :key="outForm.mobile"></authCode>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button @click="dialogFormVisible = false">取消</el-button>
|
||||||
|
<el-button type="primary" @click="onOutPut">
|
||||||
|
确认
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
<el-dialog v-model="dialogFormShip" :title="shipForm.type == 'add' ? '增加经营资金' : '成为会员'" width="500">
|
||||||
|
<el-form :model="shipForm" label-width="80px">
|
||||||
|
<el-form-item label="手机号:">
|
||||||
|
<el-input v-model="formData.phone" autocomplete="off" readonly />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="手机号:" v-if="shipForm.type == 'add'">
|
||||||
|
<el-input v-model="shipForm.user_ship_name" autocomplete="off" readonly />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="会员类型:" v-else required>
|
||||||
|
<el-select v-model="shipForm.user_ship" placeholder="请选择用户类型" style="flex: 1" @change="changeShip">
|
||||||
|
<el-option v-for="item in userShip" :key="item.id" :label="item.title" :value="item.id"
|
||||||
|
:disabled="item.id == 0 || item.id == 4" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="充值金额:" required>
|
||||||
|
<!-- <input type="number" class="ship-input" v-model="payInfo.price" placeholder="自定义金额"> -->
|
||||||
|
<el-input v-model="shipForm.money" type="number" @blur="onUpdateShip" @focus="shipForm.money = ''"
|
||||||
|
autocomplete="off">
|
||||||
|
<template #prepend>¥</template>
|
||||||
|
<template #append>元</template>
|
||||||
|
</el-input>
|
||||||
|
<span v-if="shipForm.limit">{{ `${shipForm.user_ship_name}角色至少要充值${shipForm.limit}元, 最大不超过10000元`
|
||||||
|
}}</span>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button @click="dialogFormShip = false">取消</el-button>
|
||||||
|
<el-button type="primary" @click="shipRecharge">
|
||||||
|
确认
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -386,14 +644,48 @@ onUnmounted(() => {
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
|
.header-nav {
|
||||||
|
display: flex;
|
||||||
|
background: linear-gradient(to bottom,
|
||||||
|
#f5f5f5 50%,
|
||||||
|
#fff 50%);
|
||||||
|
|
||||||
|
/* 创建渐变背景 */
|
||||||
|
.nav-item {
|
||||||
|
height: 4rem;
|
||||||
|
width: 8rem;
|
||||||
|
cursor: pointer;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
border-radius: 1rem 1rem 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-item-active {
|
||||||
|
background-color: #fff;
|
||||||
|
position: relative;
|
||||||
|
transition: 300ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-item-radius1 {
|
||||||
|
border-radius: 0 0 1rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-item-radius2 {
|
||||||
|
border-radius: 0 0 0 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.detail {
|
.detail {
|
||||||
height: 100%;
|
height: calc(100% - 4rem);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.table {
|
.table {
|
||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
padding-bottom: 6rem;
|
padding-bottom: 7rem;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
@ -489,10 +781,17 @@ onUnmounted(() => {
|
||||||
margin: 0.5rem;
|
margin: 0.5rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.big-btn {
|
||||||
|
margin-top: 1rem;
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 3rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
z-index: 1000;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -524,5 +823,15 @@ onUnmounted(() => {
|
||||||
/* 防止输入框在聚焦时出现阴影或特殊样式 */
|
/* 防止输入框在聚焦时出现阴影或特殊样式 */
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ship-input {
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 2rem;
|
||||||
|
border: 0.2rem solid #67c23a !important;
|
||||||
|
padding: 1rem 0 !important;
|
||||||
|
color: #67c23a;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -10,6 +10,7 @@ import { useRouter } from "vue-router";
|
||||||
import mitt from "@/utils/mitt.js";
|
import mitt from "@/utils/mitt.js";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import add from './add.vue';
|
import add from './add.vue';
|
||||||
|
import { apiProvince, apiCity, apiArea, apiStreet, apiVillage, apiBrigade } from '@/api/public'
|
||||||
|
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
@ -29,7 +30,8 @@ const where = ref({
|
||||||
page_no: 1,
|
page_no: 1,
|
||||||
page_size: 20,
|
page_size: 20,
|
||||||
mobile: "",
|
mobile: "",
|
||||||
user_ship: ""
|
user_ship: "",
|
||||||
|
street: null
|
||||||
});
|
});
|
||||||
|
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
|
@ -42,6 +44,9 @@ const getOrderList = (reload = false) => {
|
||||||
if (reload) where.value.page_no = 1;
|
if (reload) where.value.page_no = 1;
|
||||||
else if (loadEnd.value || loading.value) return;
|
else if (loadEnd.value || loading.value) return;
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
|
if(where.value.mobile == '' && where.value.user_ship == ''){
|
||||||
|
where.value.store_id = userStore.userInfo.store_id;
|
||||||
|
} else where.value.store_id = null;
|
||||||
userListsApi(where.value)
|
userListsApi(where.value)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (reload) orderList.value = res.data.lists;
|
if (reload) orderList.value = res.data.lists;
|
||||||
|
@ -83,9 +88,110 @@ const getUserShip = () => {
|
||||||
}
|
}
|
||||||
getUserShip()
|
getUserShip()
|
||||||
|
|
||||||
|
const resetWhere = ()=>{
|
||||||
|
where.value.mobile = "";
|
||||||
|
where.value.user_ship = "";
|
||||||
|
where.value.street = null;
|
||||||
|
selectedValues.value = [];
|
||||||
|
getOrderList(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const selectedValues = ref([])
|
||||||
|
const options = ref([]);
|
||||||
|
// 异步加载数据的方法
|
||||||
|
const loadOptions = async (node, resolve) => {
|
||||||
|
const level = node.level;
|
||||||
|
let response;
|
||||||
|
if (level !== 0 && !node.data.code) return resolve([]);
|
||||||
|
// if (level === 0) {
|
||||||
|
// response = await apiProvince();
|
||||||
|
// response = response.data.map((item) => {
|
||||||
|
// return {
|
||||||
|
// code: item.province_code,
|
||||||
|
// name: item.province_name
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// } else
|
||||||
|
if (level === 0) {
|
||||||
|
response = await apiCity({
|
||||||
|
province_code: 510000 // 四川省
|
||||||
|
});
|
||||||
|
response = response.data.map((item) => {
|
||||||
|
return {
|
||||||
|
code: item.city_code,
|
||||||
|
name: item.city_name
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else if (level === 1) {
|
||||||
|
response = await apiArea({
|
||||||
|
city_code: node.data.code
|
||||||
|
});
|
||||||
|
response = response.data.map((item) => {
|
||||||
|
return {
|
||||||
|
code: item.area_code,
|
||||||
|
name: item.area_name
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else if (level === 2) {
|
||||||
|
response = await apiStreet({
|
||||||
|
area_code: node.data.code
|
||||||
|
});
|
||||||
|
response = response.data.map((item) => {
|
||||||
|
return {
|
||||||
|
code: item.street_code,
|
||||||
|
name: item.street_name,
|
||||||
|
leaf: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else if (level === 3) {
|
||||||
|
response = await apiVillage({
|
||||||
|
street_code: node.data.code
|
||||||
|
});
|
||||||
|
response = response.data.map((item) => {
|
||||||
|
return {
|
||||||
|
code: item.village_code,
|
||||||
|
name: item.village_name,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else if (level === 4) {
|
||||||
|
response = await apiBrigade({
|
||||||
|
village_code: node.data.code
|
||||||
|
});
|
||||||
|
response = response.data.map((item) => {
|
||||||
|
return {
|
||||||
|
code: item.id,
|
||||||
|
name: item.brigade_name,
|
||||||
|
leaf: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
resolve(response);
|
||||||
|
};
|
||||||
|
const propOptions = {
|
||||||
|
value: 'code',
|
||||||
|
label: 'name',
|
||||||
|
children: 'children',
|
||||||
|
multiple: false,
|
||||||
|
lazy: true,
|
||||||
|
lazyLoad: loadOptions
|
||||||
|
};
|
||||||
|
const changeAddress = ()=>{
|
||||||
|
if(selectedValues.value.length){
|
||||||
|
where.value.street = selectedValues.value[selectedValues.value.length - 1];
|
||||||
|
}else{
|
||||||
|
where.value.street = "";
|
||||||
|
}
|
||||||
|
getOrderList(true);
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
mitt.on('re-load-user-list', () => {
|
mitt.on('re-load-user-list', (e) => {
|
||||||
getOrderList(true);
|
if(e) getOrderList(true);
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
|
@ -108,9 +214,15 @@ onUnmounted(() => {
|
||||||
<el-select v-model="where.user_ship" @change="getOrderList(true)" placeholder="请选择用户类型" style="flex: 1">
|
<el-select v-model="where.user_ship" @change="getOrderList(true)" placeholder="请选择用户类型" style="flex: 1">
|
||||||
<el-option v-for="item in userShip" :key="item.id" :label="item.title" :value="item.id" />
|
<el-option v-for="item in userShip" :key="item.id" :label="item.title" :value="item.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
|
<el-button @click="resetWhere" style="margin-left: 1rem;">重置</el-button>
|
||||||
|
</div>
|
||||||
|
<div class="header-row">
|
||||||
|
<div class="label">用户地区</div>
|
||||||
|
<el-cascader style="flex: 1;" :options="options" v-model="selectedValues"
|
||||||
|
:props="propOptions" :load="loadOptions" class="w-full" @change="changeAddress" />
|
||||||
</div>
|
</div>
|
||||||
<div class="header-input">
|
<div class="header-input">
|
||||||
<el-input v-model="where.mobile" placeholder="搜索手机号/ID" @keydown.enter="getOrderList(true)"
|
<el-input v-model="where.mobile" placeholder="搜索手机号" @keydown.enter="getOrderList(true)"
|
||||||
@clear="getOrderList(true)" clearable>
|
@clear="getOrderList(true)" clearable>
|
||||||
<template #append>
|
<template #append>
|
||||||
<el-button type="primary" style="
|
<el-button type="primary" style="
|
||||||
|
@ -128,7 +240,7 @@ onUnmounted(() => {
|
||||||
<el-avatar class="avatar" :src="item.avatar" />
|
<el-avatar class="avatar" :src="item.avatar" />
|
||||||
<div style="display: flex; flex-direction: column; justify-content: space-around;flex:1;">
|
<div style="display: flex; flex-direction: column; justify-content: space-around;flex:1;">
|
||||||
<div class="top flex">
|
<div class="top flex">
|
||||||
<div class="r-1"><span class="bold">{{ item.nickname }}</span><span>{{ ' (ID:' + item.id
|
<div class="r-1"><span class="bold">{{ item.real_name || item.nickname }}</span><span>{{ ' (ID:' + item.id
|
||||||
+')'}}</span>
|
+')'}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div>手机号: {{ item.mobile }}</div>
|
<div>手机号: {{ item.mobile }}</div>
|
||||||
|
@ -140,7 +252,7 @@ onUnmounted(() => {
|
||||||
<div>返还金: <span class="red">{{ item.return_money?.toFixed(2) }}</span></div>
|
<div>返还金: <span class="red">{{ item.return_money?.toFixed(2) }}</span></div>
|
||||||
<div>礼品券: <span class="red">{{ item.get_frozen?.toFixed(2) }}</span></div>
|
<div>礼品券: <span class="red">{{ item.get_frozen?.toFixed(2) }}</span></div>
|
||||||
<div>
|
<div>
|
||||||
<el-tag type="primary" v-if="item.user_ship != 1">{{ item.user_ship_name }}</el-tag>
|
<el-tag type="primary" v-if="item.user_ship == 0 || item.user_ship == 4">{{ item.user_ship_name }}</el-tag>
|
||||||
<el-tag type="success" v-else>{{ item.user_ship_name }}</el-tag>
|
<el-tag type="success" v-else>{{ item.user_ship_name }}</el-tag>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue