y%_1QI>9&}=!)e+M%KHgT_^nqFR}8^H-I$MCL`C;i*)_2%US{xAV&|s#jQkDO
zi>LQ|f(gc;-FW*(xCMb<&?Q4RAs;pVDR@Dsc*m6B45SUB%?+ipDr!NwaWR#RqDr2l
zu3tZ85N%tRl|X0{XBaNmlk0yB6y{5LOr=C}fw1At3EKpCdS9_mc6Q(p;1?;tv!~()
z@onlu&q-8uf%XOl4)j9~Dqx?4WipM83>jNrT$`8C4}Q=*O%QoXxg1brxOzQpZcZ7}m0q{kIvlJ!0YHnYEC-6(PQ
zwRr=J%-8CKMUA$eefN(k;ZX~eM905N qMkZ+J29FeH`8Z>(^y&{N1@hHeutko&vI;aE@!|!fyt6IcSIQRxBg-z9tfCa^YD4bdfSY36NE
z$_gRXPBP3W4y0=PHI&MQKTuJja1K&9eO3}S%ZaBx$^2!i=a*}Pf(`$T*`{}9iEwtfTkL9@3!W-_2%=HU-=bV)e=SGy+o=!nu=a2f%etT9
zh-TQ^Ih0A(@?|tk-DQWrouO3bUSKpVq-Pv@
z-CYsEH(MIq_1uY*fPm5Wues|J&b;l&2INR1&s{^afzB3Wf*op+7*UwFD#|It8L)tiBJUTc?m@z+gq$~Ngj`_hZ9syYLn<5$Tn+si>uz0Q=?u4G;-9??or
z;87whQqg>=sBIc>g?P*}7WA`9YnfSG3cqD#)m37sB7krHY%=2GNKE-dY>R4Hl@k&3
z?Dw?e?_*@>x@8DgD;q7<2ObCZ>N$37$POJ#%f0J4bg#{hC1isxO1-6G<&1RSQAp)+
z>CXrpZIMufMv|@Fq<1PQZrF6SU5rASh>&iCd9Sz5H+RI}#RKeOWH2@ixCCIDNr&sq
zB3%luji1Be+e|s>q%}rCu`jAq&Dk?xghlIIl!>$WYEhX1S75dj+t07o!EPHDAU>NR
z;te!E`CuczRkU0EBGRVtg)~vKJBr
zUqQFCN<$4Vg@M(54(DY3e67V-h>K`RH{A(3rH=+aYccMV)$Jk^_y-y><{Qkh;kkL?
zq>pp-WQ@7gZt`8O2;Qg0TqExDbRzS#_Tvx9ELtQV%xq8RSEjquc-y*ph>5VHdO-Kw
z_4kh?JV5HdA)zD;({GLB6g*yV3ZZ&D8OIob3IeT!582t@ZD~Y3q|m4k)}|IZhIh3l
zIyySIFMXaWj@Ol8wU47SU?<+1P!NNn9^br{|jdG6@vIlRq)V>~TG
zCtOg(PLIW>zwT-G$=uGw@v>>zA>MxP$YIJxX`a`nuPT<}b@0VR;X+s1PMCh6?FC5+
z=Ea<9nI$92T}{4SMx`NMDqnoFCYj%~T48
zeD|`mQyuB0(Qvno_`EcZ^=IE)(@K6HjCG2C42{_{`Kq`OM3L#wAf0oKXgYl^5J)c^
z71315=k{J<6-$rB#_PGAhePNO0>C%K<@XPsMC3`7T8U`f4kJD^GL?f8uPNLKN^#XYE4iNgRajo?o6B-6T}5}
zl;u4!?bKn$AGd3-R{*aKWzzN&Hf4>W=FSh~Nv|&^1SGK5iJ77>Q+#P&RRBPmmyMoz
z6PJItf}84>W@{TRcPSf<_T&d~C9K5q;e^jYofiQezs+%Yrk*)4I5@B{fWxO6_cH<)
z9K&9We<{@`G9bJ63UxN}@vYz5lfk!**9qA}EYY862g#jx-hDz(G(!P<(iNH_i!yk{
zKdA?qPCO4?`FD4Xwis)PYMmEwF!_U0K3@fPsuc0J9Kdnu>FpYr6t>bG_#F6lF4V^y
zC-PsF`+URoaT9l1&Mfou|2r~|A|POiA+utSD4RUIuPl8q(D}W7Wedc~Dox(#wbPXC
zEzvXlC^+JBWZ*3`GlF3OKPl)ML8$Z*F3HQfvSwxc-8o5ul+&(St14Zxsom+-Ri`Z8
zGJ@Ivp(YyvZEX~l!bi*=A^ngY`@a4`ygEM}WE1FZ!0yy6S;0NKBLc0jDXa{n7R1{W
z@rECz^~S1Kde5&sN^qZ=riC8$lODpQ4=A_dn?k}9A5V^E;h|)&t!o!z
z)j5{d6|d*5>f3;3yRpkzpUwQ1)n2zaKcilXs3PwocW1C16_sE4t{sy0G^kDHTgc8}
z@DV&hzjl5}zhN@P88f7_ftN
zlK>;P!*Nu-$H^rA#h>I?`k1kK_jx^qXF^6TuK8~npS36Re@$Dk$S#2#FW3g<7kb26
z59dBC&+#S7)ktr4s=2fjzc8qxT)sxII{VpS5@3M8(o0i3g)IB6I7Aw5EN_f|GUxrW
z>}Nn`PM}UW{bqkS=rEy=NkPCg38!eSOn*p*BBaFjJB@X7i}Y@$eZacn{Eca>^x_;4
zX@H<`H)@la#sMbUSDQNJ#FHZnld=MnpFX~R|S);3Gw4DiDN{cs~kCRcE}jHmM^$5
z;3SdRe{2lFXdqoOXZ4xq>LVpqFENDn1hn6fC)lG5Pj>!BG+qiO>+(yST5t=*XGeA<
z9K`wo55{67^~(&|`IlI9H(M0ie#i@A6NL6f0=d17?3$SFL*}J26>0)t`Ad8=k-{{M
zHwpe%fFuGG{txbAZK&QMOCHG!RvP@T*l{il#P4uW?MqIZW_Zc5T>2ydC=q+#GVDwAriPwryEIQ=`o{ObD!q-j0{g&FlR$>oU*EKR(smi<@c&E*-LkO>N|Gy0}&LIk0b|FCS7H
zuAN&rchlZzCrp%hn1io)RjB$BIq)ym*bzBYF?gOo2D8y#g&YVgZ0_|;Q
zILzT8u(EJs3c0bl^$pSvl23=9jWrsweytyU5I4RzZ%XU0daO)S0A^g6s~etm@e`t
z-%Y0^w%bZF|E7JA4&S|jMBSBfHz4pbk)1^2c*Ff#f+1Hq4yZhaw?9SyP}+CQCfZO_8x9iK5UzVe4oETm5s1;J~48`+Cd(JsCPD;PuWU@84~VKp*_
z!J&&v>kJ>Sxrw&(e-zX(Z#%htJ0gxNl`@g!=mJ?Od|$p9&UCrXSwdXTH+7(Fw+p
zZZ19fKAIOlbSL2}*Ucr2W`GJ2wr1az#y^(5S{nElu4{gOIe{|{Ar%&SOn2F}S>c%@
zXgJdsGn7NZAD;^TP(M)0DCi%GP^*5oS-20cQS4w}LvTh$(zSPOI$x^FNNemeU*otY
zz)1MZ+lN`lbe2WPh{YBBI1G34Ja!h^5PiuwmzjhvKT5fz&1NzUpP64^f*b=iNYBG*
zm<41mvsBv#jp9zKIuY~-DhhwBTp4)xAJNDh_LG3ZUl=c})49HDVcVbe^Y~9gZy^7g
z({O3`uPJ+H`Tlno(|~W>$hq}+5y@b1j<9haFmaDsZ@JIPweI^#1w0qFIZ#iz_Ix_Z
zhe;h*XlT!2W8!GtF{GM^``G2Dkp{g=x
zPzO=}^a6WWbR4`Z(ZG4-dqt@f!!=QJk-opow@)+}F#6i;?E=Mb7N0ou@pWuVbo6<+
zQyuw>zT@!+B5R9}yi!n7b{d*SdL8!W0?sRwfu%+0cNWTS-vyXPo}8`svj3TDble1d
z)7YI1$x~Bu%J@W8fDCj4NpiGg(Z<7xG`&d&7>0e=qVcP#xCF~2{@&VA_^wmM$Uy!3
z`)?ZA>Dp|~*(foNwIG%{ivlEyE0ok{my6jgO{BM
z6bz^-wYFk4Q9Pg3GBWM#@Jvv|hD1?)sBIsvK7M35kr*nK+{T;9OePVXQs)(5
zBH%2{+K|E%W8bk7L`#oml7NJMWv3bHo9JmW^nW$%)1jdR9okMDBzJazttO^Z6gzLf
z{(IEfG3>Stv3~vv7V{}bTmD5JOLP<>avFKee$}N&9CyYe65-_Pv=SMRp{n+%oD^YVa7mmEo;R`t+nu5`Kq<2UoBEBus6!PdhrGAT2RzSa
z`nXBdcpSg%^+Y0HxoI+}ia9$UK0-Spm=vKgKMC*qb3$%W{nGqF17~x5E?Grt@|bm4N+^!7iXgv=hf!{t$4<
z;GtqESH2U+$QrE*IwX~ti4!J2TdT{#z_NP>;6Jhs^U>$)Ds{W_l?@)XQK}jnf_(oq
zNr%_b{%A}tAUS*IfIM3NvKoC;Ny+TDV61w0ZNJYGc~ZscU*SecC>B_m223xyv~wkw
zN#aI35wC9^U(EkW4Vt}1)>xp!)A87O-ScJ1I&ORVbNqiA_5bwiyJ6L`nB+dgi)T;6
zzIu}HMcF$twb1+hT2V`NMmt#Q@&5BU9E}|vW_0Bl48DPQ=%Bl1Q~Q=#XM&|Wu+qr2
zg52t0gp+wj6?!o#9HZyGb7P&?7x@o4;$T(A7O@Sdc5oJkR<9}mbKPe<<*H>w{7NMI
zAL_nVBvPAL=o)a1m)Z7g8+SuDe
zXU&7?C!dVF%O^PdE*YAv_c!eHnk^}tS^fPXG+Eksl_^x*H^;f$|Lyg@1!uXPCAeA&
zd6R4~E?e*^)YePyViu{XM9HYr#@_daoTy=E<5XwKeb&VMqi!})vv;i`dSz=hJIWjl
z31Rh>8Wz^W_>C1iG8{rY$G@CaQp|{W2R3=m$5q?4&1V6JbLsk;fN2D$dhyHR_CNgXlU~PzziKAozfxLKf>%AlgO#UOtXW8``rUB
z9sX9@`S%h#4W6aSY}Ds^CLZqnEY+1c^pg^7ylh?NX;A*__5Se5p0pWz-rLUChNMm0
z#Qr)(?Zc*{IzXSx^?3|wGayAU^6_)JlKb2#m*$RT4>vzYsKTBf;%^vlS|c%=F4DPP
ziW>NA-hn30xVdMSOGPP$Gcxs6o*jhoxTX_q^?J=k(}j3z>^E|DH0gcpIkKbdlz%t3
z2*Op>4e#(+$8eEqLm9-6;WBa4ct;qioZy847
zc~HlNQGkA)l)IaP(JBoz!~N?UO0VJE*9$RG5j5n#g5V29WqtpnB;7siYjxk!M|G%l
ze_-~FQEa8175FS*qqx0nv-MXI1KazEcwF$LcFzf{J@+f$Ei#<{DG%|84Mn6}MUvlV
zA#N-6c5@Aadyz}NkGU27J2t`jfG@M^7B>3x$3cq2FCkm)ymy*S{DQ)V@g-x>3-Vu8
z$+r-8e)g-wKWrHOALLF6r1Lnv9O1ad*{8VI0jM9zPb3w5cU(A&Qgw9rYnTpadXLOM
zo^5Jg^WC5kOM*JO^Qiwom;cTI#!J>!6I)V4``~AH4M6|jh@J@2?_#1Bd*?j55B>+<
zLJ>xL?PZ=oThLv__p8MAE~j?QcguMH35Os~2c&2A!B6hY5XZd@xH%>PmE0j!TArZ0>&lfb{%_K_(BsB<{QMq@j8I-&leM*8kuaF9Y#2
z=@)l+xol~&^e<49rnlw?hX93bMQ$jtQmL7jxv3La69?DexC7T$|JQ(nMwE6YY?aFh
z;k%_x0h$0rNJzg(x-Blh)6v}gcardHMrKZxTilI~Z(rZar*YYmuwWTMb*JINSVE{E
zCUa_LH33PuYl+bAaFI1*3D?B((>twHkDc|w*TsR|Ag;SA)BGwsl{=}1^X>nPV!;2Pe_EZHf62$e{|yL^CEeq%81zS;7yk|%X>Xb4
zHNow^MWG)=vhP_sUGc@0pnt|mpw^xKO$MhnnWv*K>;5~gEV6qW=PV=4@6tH(wMD0W
zmq3|whvRusM9*E#Zl^Vd;B^EE$mTyQVSyWxX{h@CHr2B1XM#o6?pw^9FK)}D1H2d~
zApQ~ur?{ITi-4l!D`i>FHqRa_-i@jFQgs;lGRIC2)S=D%Hy{o(7v<&(1?%I%?4=mB2DC4}#=0Hj$JFwB$
gQQPh=XcRN@a5XD5^2P`KVk {
+export const getLiveList = (params) => {
return getRequest('/broadcast/studio', params)
}
+// 添加直播间
+export const addLive = (params) => {
+ return postRequest('/broadcast/studio', params)
+}
+
+// 获取直播间详情
+export const getLiveInfo = (studioId) => {
+ return getRequest(`/broadcast/studio/studioInfo/${studioId}`)
+}
+
+// 修改直播间
+export const editLive = (params) => {
+ return putRequest('/broadcast/studio/edit', params)
+}
// 获取店铺直播商品
export const getLiveGoods = (params) => {
return getRequest('/broadcast/commodity', params)
}
+// 店铺直播间删除商品
+export const delLiveGoods = (goodsId) => {
+ return deleteRequest(`/broadcast/commodity/${goodsId}`)
+}
+
+// 直播间删除商品
+export const delRoomLiveGoods = (roomId,liveGoodsId) => {
+ return deleteRequest(`/broadcast/studio/deleteInRoom/${roomId}/${liveGoodsId}`)
+}
+
// 添加店铺直播商品
-export const addLiveGoods = (params) => {
+export const addLiveStoreGoods = (params) => {
return postRequestWithNoForm('/broadcast/commodity', params)
}
+// 店铺直播间添加
+export const addLiveGoods = (params) => {
+ return putRequest(`/broadcast/studio/push/${params.roomId}/${params.liveGoodsId}`)
+}
// 获取拼团列表
export const getPintuanList = (params) => {
diff --git a/seller/src/config/index.js b/seller/src/config/index.js
index d0a31bb8..f468ec53 100644
--- a/seller/src/config/index.js
+++ b/seller/src/config/index.js
@@ -22,10 +22,10 @@ export default {
// buyer: 'https://buyer-api.pickmall.cn',
// seller: 'https://store-api.pickmall.cn',
// manager: 'https://admin-api.pickmall.cn'
- common: 'http://192.168.0.103:8890',
- buyer: 'http://192.168.0.103:8888',
- seller: 'http://192.168.0.103:8889',
- manager: 'http://192.168.0.103:8887'
+ common: 'http://192.168.0.109:8890',
+ buyer: 'http://192.168.0.109:8888',
+ seller: 'http://192.168.0.109:8889',
+ manager: 'http://192.168.0.109:8887'
},
api_prod: {
common: 'https://common-api.pickmall.cn',
diff --git a/seller/src/views/goods/goods-seller/goods.vue b/seller/src/views/goods/goods-seller/goods.vue
index 165f9944..8e12694d 100644
--- a/seller/src/views/goods/goods-seller/goods.vue
+++ b/seller/src/views/goods/goods-seller/goods.vue
@@ -718,6 +718,9 @@ export default {
});
},
},
+ mounted () {
+ this.init();
+ },
activated () {
this.init();
},
diff --git a/seller/src/views/promotion/live/addLive.vue b/seller/src/views/promotion/live/addLive.vue
index a345e731..cfa0c37e 100644
--- a/seller/src/views/promotion/live/addLive.vue
+++ b/seller/src/views/promotion/live/addLive.vue
@@ -1,8 +1,9 @@
-
+
+
- 创建直播
+
为了方便在创建直播间时从选择商品,请尽量提前提审直播商品
@@ -10,21 +11,23 @@
+ :on-format-error="handleFormatError" :max-size="1024" :on-exceeded-size="handleMaxSize" type="drag" :action="action" :headers="accessToken" style="display: inline-block;width:58px;">
@@ -59,28 +61,77 @@
-
-
+
+
+ :on-format-error="handleFormatError" :max-size="2048" :on-exceeded-size="handleMaxSize" type="drag" :action="action" :headers="accessToken" style="display: inline-block;width:58px;">
直播间背景图,图片规则:建议像素1080*1920,大小不超过2M
-
- 添加商品
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 直播间分享图,图片规则:建议像素800*640,大小不超过1M
+
+
+
+ 添加商品
+
+
+
+
+
+ {{ row.goodsName || row.name }}
+
+
+
+
+
{{row.price | unitPrice('¥')}}
+
{{row.price | unitPrice('¥')}}至{{row.price2 | unitPrice('¥')}}
+
{{row.price | unitPrice('¥')}}{{row.price2 | unitPrice('¥')}}
+
+
+
+ {{row.quantity}}
+
+
+
+ 删除
+ 上移
+ 下移
+
+
+
+
+ 直播间商品中前两个商品将自动被选为封面,伴随直播间在直播列表中显示
+
保存
- 取消
+
@@ -88,19 +139,37 @@
+
+
+
+
diff --git a/seller/src/views/promotion/live/liveGoods.vue b/seller/src/views/promotion/live/liveGoods.vue
index 62c7780f..0073af23 100644
--- a/seller/src/views/promotion/live/liveGoods.vue
+++ b/seller/src/views/promotion/live/liveGoods.vue
@@ -1,72 +1,102 @@
-
+
+ 搜索
+
+
+ 由于直播商品需经过小程序直播平台的审核,你需要在此先提审商品,为了不影响直播间选取商品,请提前1天提审商品;
+
-
+
-
-
- 选择商品
+ 选择商品
+ 更新状态
+
+
+
+
-
-
-
-
- {{ row.goodsName }}
-
-
-
-
-
+
+
+ 一口价:
+
+
+
+ 区间价:
+ 至
+
+
+
+
+ 折扣价: 原价 现价
+
+
+
+
+
+
{{row.price | unitPrice('¥')}}
+
{{row.price | unitPrice('¥')}}至{{row.price2 | unitPrice('¥')}}
+
{{row.price | unitPrice('¥')}}{{row.price2 | unitPrice('¥')}}
+
+
+
+
+
+ {liveGoodsData.splice(index,1)}">删除
+ {$router.push({path:'/goods-operation-edit',query:{id:row.goodsId}})}">查看
+ {{row.__selected ? '已':''}}选择
+
+
+
+
+
+
+
-
diff --git a/seller/src/views/promotion/seckill/seckill.vue b/seller/src/views/promotion/seckill/seckill.vue
index b2448ac9..7516938c 100644
--- a/seller/src/views/promotion/seckill/seckill.vue
+++ b/seller/src/views/promotion/seckill/seckill.vue
@@ -2,29 +2,12 @@
-
-
+
{{ unixDate(row.applyEndTime) }}
@@ -63,36 +33,14 @@
}}
- 管理
- 查看
+ 管理
+ 查看
-
+
@@ -193,8 +141,8 @@ export default {
this.getDataList();
},
handleReset() {
- this.searchForm = {}
- this.selectDate = ''
+ this.searchForm = {};
+ this.selectDate = "";
this.searchForm.pageNumber = 0;
this.searchForm.pageSize = 10;
this.getDataList();
@@ -234,9 +182,12 @@ export default {
return hourArr;
},
},
- activated () {
+ activated() {
this.init();
- }
+ },
+ mounted() {
+ this.init();
+ },
};
diff --git a/manager/src/views/my-components/verify/verify.js b/manager/src/views/my-components/verify/verify.js
new file mode 100644
index 00000000..9282f5b3
--- /dev/null
+++ b/manager/src/views/my-components/verify/verify.js
@@ -0,0 +1,13 @@
+
+import {commonUrl, getRequestWithNoToken, postRequestWithNoToken} from '@/libs/axios';
+
+
+// 获取拼图验证
+export const getVerifyImg = (verificationEnums) => {
+ return getRequestWithNoToken(`${commonUrl}/common/slider/${verificationEnums}`);
+};
+
+// 拼图验证
+export const postVerifyImg = (params) => {
+ return postRequestWithNoToken(`${commonUrl}/common/slider/${params.verificationEnums}`, params);
+};
diff --git a/seller/package.json b/seller/package.json
index 39448129..dee8c0ed 100644
--- a/seller/package.json
+++ b/seller/package.json
@@ -44,7 +44,8 @@
"vuex": "^3.4.0",
"wangeditor": "^4.6.13",
"xlsx": "^0.16.2",
- "xss": "^1.0.7"
+ "xss": "^1.0.7",
+ "uuid": "^8.3.2"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.4.4",
diff --git a/seller/src/App.vue b/seller/src/App.vue
index 2a6fc3f5..1f841906 100644
--- a/seller/src/App.vue
+++ b/seller/src/App.vue
@@ -5,13 +5,15 @@
diff --git a/seller/src/libs/axios.js b/seller/src/libs/axios.js
index 037a4c0f..56d3afd8 100644
--- a/seller/src/libs/axios.js
+++ b/seller/src/libs/axios.js
@@ -24,6 +24,8 @@ service.interceptors.request.use(
...config.params
}
}
+ const uuid = getStore('uuid');
+ config.headers['uuid'] = uuid;
return config;
},
err => {
diff --git a/seller/src/router/router.js b/seller/src/router/router.js
index 1a1828a3..5bb9b88e 100644
--- a/seller/src/router/router.js
+++ b/seller/src/router/router.js
@@ -5,7 +5,7 @@ export const loginRouter = {
path: "/login",
name: "login",
meta: {
- title: "登录 - lili "
+ title: "登录 - lili商家后台 "
},
component: () => import("@/views/login.vue")
};
diff --git a/seller/src/views/login.vue b/seller/src/views/login.vue
index 8f9dd33d..93747100 100644
--- a/seller/src/views/login.vue
+++ b/seller/src/views/login.vue
@@ -55,6 +55,13 @@
+
+
@@ -72,11 +79,13 @@ import Header from "@/views/main-components/header";
import Footer from "@/views/main-components/footer";
import LangSwitch from "@/views/main-components/lang-switch";
import util from "@/libs/util.js";
+import verify from '@/views/my-components/verify';
export default {
components: {
LangSwitch,
Header,
Footer,
+ verify
},
data() {
return {
@@ -154,23 +163,27 @@ export default {
}
});
},
- submitLogin() {
- // 正常逻辑
+ submitLogin() { // 登录提交
this.$refs.usernameLoginForm.validate((valid) => {
if (valid) {
- this.loading = true;
- login({
- username: this.form.username,
- password: this.md5(this.form.password),
- }).then((res) => {
- this.loading = false;
- if (res && res.success) {
- this.afterLogin(res);
- }
- }).catch(()=>{this.loading = false})
+ this.$refs.verify.show = true;
}
})
},
+ verifyChange (con) { // 拼图验证码回显
+ if (!con.status) return;
+
+ this.loading = true;
+ login({
+ username: this.form.username,
+ password: this.md5(this.form.password),
+ }).then((res) => {
+ this.loading = false;
+ if (res && res.success) {
+ this.afterLogin(res);
+ }
+ }).catch(()=>{this.loading = false})
+ }
}
};
@@ -203,6 +216,12 @@ export default {
display: flex;
flex-direction: column !important;
}
+ .verify-con{
+ position: absolute;
+ top: 126px;
+ z-index: 10;
+ left: 20px;
+ }
.form {
padding-top: 1vh;
diff --git a/seller/src/views/my-components/verify/README.md b/seller/src/views/my-components/verify/README.md
new file mode 100644
index 00000000..b1fa811e
--- /dev/null
+++ b/seller/src/views/my-components/verify/README.md
@@ -0,0 +1,14 @@
+### 滑动拼图验证
+
+### 在页面中引入 .vue文件
+
+#### 参数
+
+#### 在组件上添加v-if来判断组件显隐
+
+#### verifyType 验证格式[ 'LOGIN' ,'REGISTER' ]
+
+#### @change方法 获取回调,参数为对象 {status:false,distance:100} status 为回调状态,distance为移动距离
+
+
+####
\ No newline at end of file
diff --git a/seller/src/views/my-components/verify/index.vue b/seller/src/views/my-components/verify/index.vue
new file mode 100644
index 00000000..2ce1ef45
--- /dev/null
+++ b/seller/src/views/my-components/verify/index.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{verifyText}}
+
+
+
+
+
diff --git a/seller/src/views/my-components/verify/verify.js b/seller/src/views/my-components/verify/verify.js
new file mode 100644
index 00000000..9282f5b3
--- /dev/null
+++ b/seller/src/views/my-components/verify/verify.js
@@ -0,0 +1,13 @@
+
+import {commonUrl, getRequestWithNoToken, postRequestWithNoToken} from '@/libs/axios';
+
+
+// 获取拼图验证
+export const getVerifyImg = (verificationEnums) => {
+ return getRequestWithNoToken(`${commonUrl}/common/slider/${verificationEnums}`);
+};
+
+// 拼图验证
+export const postVerifyImg = (params) => {
+ return postRequestWithNoToken(`${commonUrl}/common/slider/${params.verificationEnums}`, params);
+};
From e1c14af914ffdfe69de7b54d990058f757420a84 Mon Sep 17 00:00:00 2001
From: mabo
Date: Thu, 3 Jun 2021 16:17:11 +0800
Subject: [PATCH 08/22] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B9=B0=E5=AE=B6?=
=?UTF-8?q?=E7=AB=AF=E6=B3=A8=E9=87=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
buyer/src/components/drawer/Drawer.vue | 2 -
buyer/src/components/drawer/Main.vue | 6 +-
buyer/src/components/empty/Main.vue | 5 -
buyer/src/components/footer/Footer.vue | 2 +-
.../src/components/goodsDetail/Promotion.vue | 8 +-
.../src/components/goodsDetail/ShowGoods.vue | 23 ++-
.../goodsDetail/ShowGoodsDetail.vue | 35 ++--
.../goodsDetail/ShowGoodsQuestion.vue | 53 ------
.../goodsDetail/ShowProductWarranty.vue | 85 ---------
buyer/src/components/header/Header.vue | 18 +-
buyer/src/components/header/ShopHeader.vue | 2 +-
buyer/src/components/header/hoverSearch.vue | 2 +-
.../indexDecorate/modelList/carousel.vue | 4 +-
.../modelList/firstPageAdvert.vue | 1 -
.../indexDecorate/modelList/notEnough.vue | 3 +-
.../indexDecorate/modelList/seckill.vue | 2 +-
buyer/src/pages/PointGoods.vue | 171 ------------------
buyer/src/pages/PointMall.vue | 6 +-
18 files changed, 56 insertions(+), 372 deletions(-)
delete mode 100644 buyer/src/components/goodsDetail/ShowGoodsQuestion.vue
delete mode 100644 buyer/src/components/goodsDetail/ShowProductWarranty.vue
delete mode 100644 buyer/src/pages/PointGoods.vue
diff --git a/buyer/src/components/drawer/Drawer.vue b/buyer/src/components/drawer/Drawer.vue
index 54db455f..d7990232 100644
--- a/buyer/src/components/drawer/Drawer.vue
+++ b/buyer/src/components/drawer/Drawer.vue
@@ -151,8 +151,6 @@ export default {
]
};
},
- components: {},
- mounted () {},
methods: {
getCartList () { // 获取购物车列表
this.loading = true
diff --git a/buyer/src/components/drawer/Main.vue b/buyer/src/components/drawer/Main.vue
index c5c32162..78252f5a 100644
--- a/buyer/src/components/drawer/Main.vue
+++ b/buyer/src/components/drawer/Main.vue
@@ -44,12 +44,12 @@ export default {
}
},
methods: {
- showCartNum (item) {
+ showCartNum (item) { // 获取购物车数量
if (this.userInfo && item.title === '购物车') {
this.getCartList()
}
},
- clickBar (val) {
+ clickBar (val) { // tabbar点击操作
if (!this.userInfo) {
this.$Modal.confirm({
title: '请登录',
@@ -83,7 +83,7 @@ export default {
}
}
},
- openBlank (path) {
+ openBlank (path) { // 新页面打开地址
let routerUrl = this.$router.resolve({
path: path
})
diff --git a/buyer/src/components/empty/Main.vue b/buyer/src/components/empty/Main.vue
index a1af93a8..4b0a0555 100644
--- a/buyer/src/components/empty/Main.vue
+++ b/buyer/src/components/empty/Main.vue
@@ -13,11 +13,6 @@
@@ -283,14 +276,12 @@ export default {
}
.item-intro-detail{
margin: 0 30px;
- // min-height: 1500px;
width: 100%;
}
.item-intro-nav{
width: 100%;
height: 38px;
background-color: #F7F7F7;
- // border-bottom: 1px solid $theme_color;
}
.item-intro-nav ul{
margin: 0px;
@@ -329,8 +320,6 @@ export default {
width: 240px;
height: 36px;
font-size: 14px;
- /* text-align: center; */
- /* background-color: #ccc; */
}
.item-param-title {
color: #232323;
diff --git a/buyer/src/components/goodsDetail/ShowGoodsQuestion.vue b/buyer/src/components/goodsDetail/ShowGoodsQuestion.vue
deleted file mode 100644
index bd70c809..00000000
--- a/buyer/src/components/goodsDetail/ShowGoodsQuestion.vue
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
-
-
-
- 问
- 有屏幕调节亮度吗
-
-
2020年10月21日17:03:35
-
-
-
-
- 答
- 能调节,点屏幕上方有一条调整带,可正负2调整。
-
-
2020年10月21日17:03:35
-
-
-
-
-
-
-
-
-
-
diff --git a/buyer/src/components/goodsDetail/ShowProductWarranty.vue b/buyer/src/components/goodsDetail/ShowProductWarranty.vue
deleted file mode 100644
index 3bbb7550..00000000
--- a/buyer/src/components/goodsDetail/ShowProductWarranty.vue
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
-
-
- 卖家服务
-
-
- 高品质敢承诺:7天无理由退货,30天免费换新,质量问题商家承担来回运费换新;如需发票,请在确认收货无误后联系商家开出。(注*发票不随货品一同发出)
-
-
-
-
-
- 平台承诺
-
-
- 平台卖家销售并发货的商品,由平台卖家提供发票和相应的售后服务。请您放心购买! 注:因厂家会在没有任何提前通知的情况下更改产品包装、产地或者一些附件,本司不能确保客户收到的货物与商城图片、产地、附件说明完全一致。只能确保为原厂正货!并且保证与当时市场上同样主流新品一致。若本商城没有及时更新,请大家谅解!
-
-
-
-
-
- 正品行货
-
-
- BIT商城向您保证所售商品均为正品行货,BIT自营商品开具机打发票或电子发票。
-
-
-
-
-
- 全国联保
-
-
- 凭质保证书及BIT商城发票,可享受全国联保服务(奢侈品、钟表除外;奢侈品、钟表由BIT联系保修,享受法定三包售后服务),与您亲临商场选购的商品享受相同的质量保证。BIT商城还为您提供具有竞争力的商品价格和运费政策,请您放心购买! 注:因厂家会在没有任何提前通知的情况下更改产品包装、产地或者一些附件,本司不能确保客户收到的货物与商城图片、产地、附件说明完全一致。只能确保为原厂正货!并且保证与当时市场上同样主流新品一致。若本商城没有及时更新,请大家谅解!
-
-
-
-
-
-
-
-
-
diff --git a/buyer/src/components/header/Header.vue b/buyer/src/components/header/Header.vue
index 8293b17a..55281fbf 100644
--- a/buyer/src/components/header/Header.vue
+++ b/buyer/src/components/header/Header.vue
@@ -25,7 +25,6 @@
-
请登录
@@ -148,31 +147,22 @@ export default {
}
},
methods: {
- handleClickTheme () {
- this.themeType === 'light'
- ? (this.themeType = 'dark')
- : (this.themeType = 'light');
- window.document.documentElement.setAttribute(
- 'data-theme',
- this.themeType
- );
- },
- changeCity (city) {
+ changeCity (city) { // 选择所在城市
this.city = city;
},
- goToPay () {
+ goToPay () { // 跳转购物车
let url = this.$router.resolve({
path: '/cart'
})
window.open(url.href, '_blank')
},
- myInfo () {
+ myInfo () { // 跳转会员中心
let url = this.$router.resolve({
path: '/home'
})
window.open(url.href, '_blank')
},
- signOutFun () {
+ signOutFun () { // 退出登录
storage.removeItem('accessToken');
storage.removeItem('refreshToken');
storage.removeItem('userInfo');
diff --git a/buyer/src/components/header/ShopHeader.vue b/buyer/src/components/header/ShopHeader.vue
index 0b2bda67..33f32a02 100644
--- a/buyer/src/components/header/ShopHeader.vue
+++ b/buyer/src/components/header/ShopHeader.vue
@@ -20,7 +20,7 @@ export default {
}
},
computed: {
- storeDetail () {
+ storeDetail () { // 店铺详情
return this.detail;
}
}
diff --git a/buyer/src/components/header/hoverSearch.vue b/buyer/src/components/header/hoverSearch.vue
index 5c9e21a0..a81980b8 100644
--- a/buyer/src/components/header/hoverSearch.vue
+++ b/buyer/src/components/header/hoverSearch.vue
@@ -23,7 +23,7 @@ export default {
}
},
methods: {
- goCartList () {
+ goCartList () { // 跳转购物车页面
let routerUrl = this.$router.resolve({
path: '/cart'
})
diff --git a/buyer/src/components/indexDecorate/modelList/carousel.vue b/buyer/src/components/indexDecorate/modelList/carousel.vue
index 0c737399..45c6be95 100644
--- a/buyer/src/components/indexDecorate/modelList/carousel.vue
+++ b/buyer/src/components/indexDecorate/modelList/carousel.vue
@@ -67,14 +67,14 @@ export default {
};
},
methods: {
- getArticleList () {
+ getArticleList () { // 获取常见问题列表
articleList(this.params).then(res => {
if (res.success) {
this.articleList = res.result.records
}
})
},
- goArticle (id) {
+ goArticle (id) { // 跳转文章详情
let routeUrl = this.$router.resolve({
path: '/article',
query: {id}
diff --git a/buyer/src/components/indexDecorate/modelList/firstPageAdvert.vue b/buyer/src/components/indexDecorate/modelList/firstPageAdvert.vue
index 270e6377..7d35c935 100644
--- a/buyer/src/components/indexDecorate/modelList/firstPageAdvert.vue
+++ b/buyer/src/components/indexDecorate/modelList/firstPageAdvert.vue
@@ -32,7 +32,6 @@ export default {
options: this.data.options // 装修数据
};
},
- methods: {}
};
diff --git a/buyer/src/pages/PointMall.vue b/buyer/src/pages/PointMall.vue
index 7cf5ae32..e72d219b 100644
--- a/buyer/src/pages/PointMall.vue
+++ b/buyer/src/pages/PointMall.vue
@@ -63,7 +63,8 @@ export default {
pageNumber: 1,
pageSize: 20,
pointsGoodsCategoryId: ''
- }
+ },
+ total: 0 // 商品总数
}
},
mounted () {
@@ -76,6 +77,7 @@ export default {
pointGoods(this.params).then(res => {
if (res.success) {
this.goodsList = res.result.records
+ this.total = res.result.total
}
})
},
@@ -94,7 +96,7 @@ export default {
goGoodsDetail (skuId, goodsId) { // 跳转商品详情
let routerUrl = this.$router.resolve({
path: '/goodsDetail',
- query: {skuId, goodsId}
+ query: {skuId, goodsId, way: 'POINT'}
})
window.open(routerUrl.href, '_blank')
},
From f97282ad44299878a6fdc86e19e5c4146d224dda Mon Sep 17 00:00:00 2001
From: mabo
Date: Thu, 3 Jun 2021 17:32:38 +0800
Subject: [PATCH 09/22] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
buyer/src/components/Search.vue | 6 +-
.../indexDecorate/modelList/seckill.vue | 2 +-
buyer/src/components/invoiceModal/README.md | 2 -
buyer/src/components/invoiceModal/index.vue | 4 +-
buyer/src/components/map/index.vue | 2 +-
buyer/src/components/map/region.vue | 6 +-
buyer/src/components/nav/GoodsClassNav.vue | 3 +-
buyer/src/components/verify/index.vue | 10 +-
buyer/src/pages/GoodsDetail.vue | 1 +
.../pages/home/memberCenter/AccountBind.vue | 7 --
.../pages/home/memberCenter/AccountSafe.vue | 98 +------------------
.../pages/home/memberCenter/CommentList.vue | 13 +--
.../home/memberCenter/ComplainDetail.vue | 8 +-
.../pages/home/memberCenter/ComplainList.vue | 12 +--
.../pages/home/memberCenter/Distribution.vue | 10 +-
.../src/pages/home/memberCenter/Favorites.vue | 14 +--
buyer/src/pages/home/memberCenter/Invoice.vue | 6 +-
.../home/memberCenter/evaluation/AddEval.vue | 14 +--
.../memberCenter/evaluation/EvalDetail.vue | 6 +-
.../goods/goods-seller/goodsOperation.vue | 2 +-
20 files changed, 60 insertions(+), 166 deletions(-)
diff --git a/buyer/src/components/Search.vue b/buyer/src/components/Search.vue
index 3a3653a1..0354bcf4 100644
--- a/buyer/src/components/Search.vue
+++ b/buyer/src/components/Search.vue
@@ -63,17 +63,17 @@ export default {
};
},
methods: {
- selectTags (item) {
+ selectTags (item) { // 选择热门标签
this.searchData = item;
this.search();
},
- search () {
+ search () { // 全平台搜索商品
this.$router.push({
path: '/goodsList',
query: { keyword: this.searchData }
});
},
- searchStore () {
+ searchStore () { // 店铺搜索商品
this.$emit('search', this.searchData)
}
},
diff --git a/buyer/src/components/indexDecorate/modelList/seckill.vue b/buyer/src/components/indexDecorate/modelList/seckill.vue
index 5c8efd83..c1f16dd8 100644
--- a/buyer/src/components/indexDecorate/modelList/seckill.vue
+++ b/buyer/src/components/indexDecorate/modelList/seckill.vue
@@ -139,7 +139,7 @@ export default {
}, 1000);
}
},
- goPromotion () {
+ goPromotion () { // 跳转秒杀页面
let routeUrl = this.$router.resolve({
path: '/seckill'
});
diff --git a/buyer/src/components/invoiceModal/README.md b/buyer/src/components/invoiceModal/README.md
index 3abb8783..94507dbe 100644
--- a/buyer/src/components/invoiceModal/README.md
+++ b/buyer/src/components/invoiceModal/README.md
@@ -1,3 +1 @@
## 此组件为结算页面修改发票信息使用 后续可以复用到个人信息添加发票页面
-
-### 目前没有参数,之后会设置一个参数接收历史的单位发票数据
\ No newline at end of file
diff --git a/buyer/src/components/invoiceModal/index.vue b/buyer/src/components/invoiceModal/index.vue
index e332635b..7c44115e 100644
--- a/buyer/src/components/invoiceModal/index.vue
+++ b/buyer/src/components/invoiceModal/index.vue
@@ -69,7 +69,7 @@ export default {
receiptContent: '不开发票', // 发票内容
type: 1 // 1 个人 2 单位
},
- ruleInline: {
+ ruleInline: { // 验证规则
receiptTitle: [{ required: true, message: '请填写公司名称' }],
taxpayerId: [
{ required: true, message: '请填写纳税人识别号' },
@@ -79,7 +79,7 @@ export default {
};
},
methods: {
- save () {
+ save () { // 保存发票
if (this.invoiceForm.type === 1) {
// 个人
let flag = true;
diff --git a/buyer/src/components/map/index.vue b/buyer/src/components/map/index.vue
index 534a3f68..f408d1e8 100644
--- a/buyer/src/components/map/index.vue
+++ b/buyer/src/components/map/index.vue
@@ -85,7 +85,7 @@ export default {
this.$emit('getAddress', this.addrContent);
}
},
- init () {
+ init () { // 初始化地图
AMapLoader.load({
key: 'b440952723253aa9fe483e698057bf7d', // 申请好的Web端开发者Key,首次调用 load 时必填
version: '', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
diff --git a/buyer/src/components/map/region.vue b/buyer/src/components/map/region.vue
index f7682cb2..3545e7d8 100644
--- a/buyer/src/components/map/region.vue
+++ b/buyer/src/components/map/region.vue
@@ -21,7 +21,7 @@ export default {
props: ['addressId'],
mounted () {},
methods: {
- change (val, selectedData) {
+ change (val, selectedData) { // 选择地区
/**
* @returns [regionId,region]
*/
@@ -30,7 +30,7 @@ export default {
selectedData[selectedData.length - 1].__label.split('/')
]);
},
- loadData (item, callback) {
+ loadData (item, callback) { // 加载数据
item.loading = true;
getRegion(item.value).then((res) => {
if (res.result.length <= 0) {
@@ -59,7 +59,7 @@ export default {
}
});
},
- async init () {
+ async init () { // 初始化地图数据
let data = await getRegion(0);
let arr = [];
data.result.forEach((item) => {
diff --git a/buyer/src/components/nav/GoodsClassNav.vue b/buyer/src/components/nav/GoodsClassNav.vue
index 134de723..43457c2c 100644
--- a/buyer/src/components/nav/GoodsClassNav.vue
+++ b/buyer/src/components/nav/GoodsClassNav.vue
@@ -209,7 +209,7 @@ export default {
},
deep: true
},
- '$route': {
+ '$route': { // 监听路由
handler (val, oVal) {
if (this.$route.query.categoryId) {
let cateId = this.$route.query.categoryId.split(',')
@@ -373,6 +373,7 @@ export default {
}
},
mounted () {
+ // 有分类id就根据id搜索
if (this.$route.query.categoryId) {
let cateId = this.$route.query.categoryId.split(',')
Object.assign(this.params, this.$route.query)
diff --git a/buyer/src/components/verify/index.vue b/buyer/src/components/verify/index.vue
index 2ce1ef45..6fb6b735 100644
--- a/buyer/src/components/verify/index.vue
+++ b/buyer/src/components/verify/index.vue
@@ -43,11 +43,11 @@ export default {
};
},
methods: {
- mouseDown (e) {
+ mouseDown (e) { // 鼠标按下操作,
this.downX = e.clientX;
this.flag = true;
},
- mouseMove (e) {
+ mouseMove (e) { // 鼠标移动
if (this.flag) {
let offset = e.clientX - this.downX;
@@ -60,7 +60,7 @@ export default {
}
}
},
- mouseUp () {
+ mouseUp () { // 鼠标抬起
if (!this.flag) return false;
this.flag = false;
let params = {
@@ -83,7 +83,7 @@ export default {
}
});
},
- refresh () {
+ refresh () { // 刷新验证图片
this.flag = false;
this.downX = 0;
this.distance = 0;
@@ -91,7 +91,7 @@ export default {
this.verifyText = '拖动滑块解锁';
this.getImg();
},
- getImg () {
+ getImg () { // 获取验证图片
getVerifyImg(this.type).then(res => {
this.data = res.result;
});
diff --git a/buyer/src/pages/GoodsDetail.vue b/buyer/src/pages/GoodsDetail.vue
index f065d152..9f5fff3b 100644
--- a/buyer/src/pages/GoodsDetail.vue
+++ b/buyer/src/pages/GoodsDetail.vue
@@ -78,6 +78,7 @@ export default {
name: cateName[index]
});
});
+ console.log(cateArr);
this.categoryBar = cateArr;
this.goodsMsg = res.result;
// 判断是否收藏
diff --git a/buyer/src/pages/home/memberCenter/AccountBind.vue b/buyer/src/pages/home/memberCenter/AccountBind.vue
index 114f7d90..f645538c 100644
--- a/buyer/src/pages/home/memberCenter/AccountBind.vue
+++ b/buyer/src/pages/home/memberCenter/AccountBind.vue
@@ -25,13 +25,6 @@
diff --git a/buyer/src/pages/home/memberCenter/AccountSafe.vue b/buyer/src/pages/home/memberCenter/AccountSafe.vue
index b39ff66c..61d7b9a4 100644
--- a/buyer/src/pages/home/memberCenter/AccountSafe.vue
+++ b/buyer/src/pages/home/memberCenter/AccountSafe.vue
@@ -1,7 +1,6 @@
-
@@ -16,102 +15,11 @@
修改密码
-
-
-
-
-
-
-
-
-
-
diff --git a/manager/src/views/lili-floor-renovation/wap/advertising.vue b/manager/src/views/lili-floor-renovation/wap/advertising.vue
index a6b5c53b..adfe9a9e 100644
--- a/manager/src/views/lili-floor-renovation/wap/advertising.vue
+++ b/manager/src/views/lili-floor-renovation/wap/advertising.vue
@@ -8,7 +8,7 @@
-
+
@@ -16,7 +16,7 @@
全屏广告
-
+
-
\ No newline at end of file
diff --git a/manager/src/views/lili-floor-renovation/wap/index.js b/manager/src/views/lili-floor-renovation/wap/index.js
index c7aa1a99..37aa9768 100644
--- a/manager/src/views/lili-floor-renovation/wap/index.js
+++ b/manager/src/views/lili-floor-renovation/wap/index.js
@@ -1,5 +1,5 @@
import index from './index.vue' //首页
-import btn from './btn.vue' //按钮
+
import advertising from './advertising.vue' //全屏活动
import alertAdvertising from './alertAdvertising.vue' //弹窗活动
@@ -7,7 +7,7 @@ import alertAdvertising from './alertAdvertising.vue' //弹窗活动
const templates = {
index,
- btn,
+
advertising,
alertAdvertising
}
diff --git a/manager/src/views/lili-floor-renovation/wap/navbar.vue b/manager/src/views/lili-floor-renovation/wap/navbar.vue
index a777e892..20be9547 100644
--- a/manager/src/views/lili-floor-renovation/wap/navbar.vue
+++ b/manager/src/views/lili-floor-renovation/wap/navbar.vue
@@ -67,11 +67,7 @@ export default {
name: "index",
selected: true,
},
- {
- title: "悬浮按钮",
- name: "btn",
- selected: false,
- },
+
{
title: "全屏广告",
name: "advertising",
diff --git a/manager/src/views/member/list/index.vue b/manager/src/views/member/list/index.vue
index 73d13435..fec0be21 100644
--- a/manager/src/views/member/list/index.vue
+++ b/manager/src/views/member/list/index.vue
@@ -21,11 +21,11 @@
添加会员
-
+
-
+
@@ -137,12 +137,14 @@ export default {
loading: true, // 表单加载状态
addFlag: false, // modal显隐控制
updateRegion: false, // 地区
- addMemberForm: { // 添加用户表单
+ addMemberForm: {
+ // 添加用户表单
mobile: "",
username: "",
password: "",
},
- searchForm: { // 请求参数
+ searchForm: {
+ // 请求参数
pageNumber: 1,
pageSize: 10,
order: "desc",
@@ -152,7 +154,8 @@ export default {
},
picModelFlag: false, // 选择图片
formValidate: {}, // 表单数据
- addRule: { // 验证规则
+ addRule: {
+ // 验证规则
mobile: [
{ required: true, message: "请输入手机号码" },
{
@@ -229,6 +232,7 @@ export default {
{
props: {
size: "small",
+ type: params.row.___selected ? "primary" : "",
},
style: {
marginRight: "5px",
@@ -236,11 +240,11 @@ export default {
},
on: {
click: () => {
- this.callback(params.row);
+ this.callback(params.row, params.index);
},
},
},
- "选择"
+ params.row.___selected ? "已选择" : "选择"
),
h(
@@ -251,7 +255,8 @@ export default {
size: "small",
},
style: {
- marginRight: "5px", display: this.selectedMember ? "none" : "block",
+ marginRight: "5px",
+ display: this.selectedMember ? "none" : "block",
},
on: {
click: () => {
@@ -270,7 +275,8 @@ export default {
ghost: true,
},
style: {
- marginRight: "5px", display: this.selectedMember ? "none" : "block",
+ marginRight: "5px",
+ display: this.selectedMember ? "none" : "block",
},
on: {
click: () => {
@@ -308,9 +314,17 @@ export default {
total: 0, // 表单数据总数
};
},
+ props: {
+ // 是否为选中模式
+ selectedMember: {
+ type: Boolean,
+ default: false,
+ },
+ },
methods: {
// 回调给父级
- callback(val) {
+ callback(val, index) {
+ val.___selected = !val.___selected;
this.$emit("callback", val);
},
init() {
@@ -378,6 +392,9 @@ export default {
API_Member.getMemberListData(this.searchForm).then((res) => {
if (res.result.records) {
this.loading = false;
+ res.result.records.forEach((item) => {
+ item.___selected = false;
+ });
this.data = res.result.records;
this.total = res.result.total;
}
@@ -476,7 +493,7 @@ export default {
/deep/ .ivu-table-wrapper {
width: 100%;
}
-/deep/ .ivu-card{
+/deep/ .ivu-card {
width: 100%;
}
.face {
diff --git a/manager/src/views/promotion/coupon/coupon.vue b/manager/src/views/promotion/coupon/coupon.vue
index 5ea885b3..c10a40a7 100644
--- a/manager/src/views/promotion/coupon/coupon.vue
+++ b/manager/src/views/promotion/coupon/coupon.vue
@@ -4,21 +4,10 @@
- 添加
+ 添加优惠券
+ {$router.push({path:'/promotion/add-coupon-specify'})}">精准发劵
批量下架
-
-
- 编辑
-
- 下架
-
+
+
+ 编辑
+
+ 下架
+
+ {{row.___selected ?'已':''}}选中
+
-
+
@@ -94,7 +47,6 @@
+
+
+
diff --git a/manager/src/views/promotion/seckill/seckill.vue b/manager/src/views/promotion/seckill/seckill.vue
index c22f8af0..3b2531ab 100644
--- a/manager/src/views/promotion/seckill/seckill.vue
+++ b/manager/src/views/promotion/seckill/seckill.vue
@@ -2,29 +2,12 @@
-
添加活动
+
+
+
+
+ 编辑
-
-
- 编辑
+ 查看
- 查看
+ 管理
- 管理
-
-
- 下架
-
- 删除
-
-
+ " class="mr_5" @click="off(row)">下架
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
diff --git a/manager/src/views/promotion/seckill/setupSeckill.vue b/manager/src/views/promotion/seckill/setupSeckill.vue
new file mode 100644
index 00000000..9ad7c77b
--- /dev/null
+++ b/manager/src/views/promotion/seckill/setupSeckill.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
diff --git a/manager/src/views/seller/shop/shopOperation.vue b/manager/src/views/seller/shop/shopOperation.vue
index 05295e05..ccafc805 100644
--- a/manager/src/views/seller/shop/shopOperation.vue
+++ b/manager/src/views/seller/shop/shopOperation.vue
@@ -224,7 +224,6 @@ import memberLayout from "@/views/member/list/index";
import ossManage from "@/views/sys/oss-manage/ossManage";
import { getCategoryTree } from "@/api/goods";
import { shopDetail, shopAdd, shopEdit, getShopByMemberId } from "@/api/shops";
-import * as filters from "@/utils/filters";
import uploadPicInput from "@/views/my-components/lili/upload-pic-input";
import region from "@/views/lili-components/region";
import liliMap from "@/views/my-components/map/index";
diff --git a/manager/src/views/sys/message/sms.vue b/manager/src/views/sys/message/sms.vue
index b863d8ee..3583b5f5 100644
--- a/manager/src/views/sys/message/sms.vue
+++ b/manager/src/views/sys/message/sms.vue
@@ -116,7 +116,7 @@
@@ -181,7 +181,7 @@ export default {
this.liveGoodsData.forEach((item, index) => {
val.forEach((callback) => {
if (item.id == callback.id) {
- this.$set(this.liveGoodsData[index], "__selected", true);
+ this.$set(this.liveGoodsData[index], "___selected", true);
// this.selectedGoods.push(item);
}
});
@@ -208,15 +208,15 @@ export default {
* 回调参数补充
*/
selectedLiveGoods(val, index) {
- if (!val.__selected) {
- val.__selected = true;
- this.$set(this.liveGoodsData[index], "__selected", true);
+ if (!val.___selected) {
+ val.___selected = true;
+ this.$set(this.liveGoodsData[index], "___selected", true);
this.selectedGoods.push(this.liveGoodsData[index]);
} else {
this.$nextTick(() => {
- val.__selected = false;
+ val.___selected = false;
- this.$set(this.liveGoodsData[index], "__selected", true);
+ this.$set(this.liveGoodsData[index], "___selected", true);
this.selectedGoods.splice(index, 1);
});
}
diff --git a/seller/src/views/statistics/traffic.vue b/seller/src/views/statistics/traffic.vue
index 236e381e..131f30f0 100644
--- a/seller/src/views/statistics/traffic.vue
+++ b/seller/src/views/statistics/traffic.vue
@@ -64,8 +64,8 @@ export default {
return {
// 时间
- uvs: "", // 访客数
- pvs: "", // 浏览量
+ uvs: 0, // 访客数
+ pvs: 0, // 浏览量
dateList: [
// 日期选择列表
@@ -198,8 +198,8 @@ export default {
if (res.result) {
this.data = res.result;
res.result.forEach((item) => {
- this.uvs += item.uvNum;
- this.pvs += item.pvNum;
+ this.uvs += parseInt(item.uvNum);
+ this.pvs += parseInt(item.pvNum);
});
if (!this.orderChart) {
From c9ea7ba8986766042663e0d1d20f598ef0773ff0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?lemon=E6=A9=AA?= <17633066053@163.com>
Date: Thu, 10 Jun 2021 18:31:54 +0800
Subject: [PATCH 12/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86?=
=?UTF-8?q?=E6=A0=B7=E5=BC=8F=E9=97=AE=E9=A2=98=EF=BC=8C=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E9=83=A8=E5=88=86=E5=8A=9F=E8=83=BD=EF=BC=8C=E8=A7=A3=E5=86=B3?=
=?UTF-8?q?=E5=8F=91=E7=8E=B0=E7=9A=84bug=EF=BC=8C=E6=9A=82=E6=9C=AA?=
=?UTF-8?q?=E5=AE=8C=E5=85=A8=E6=B5=8B=E8=AF=95=E9=80=9A=E8=BF=87=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
buyer/src/plugins/request.js | 281 +++---
.../lili-floor-renovation/wap/navbar.vue | 32 +-
.../wap/template/tpl.scss | 4 +-
.../wap/template/tpl_flex_five.vue | 19 +-
.../wap/template/tpl_flex_four.vue | 11 +-
.../wap/template/tpl_flex_three.vue | 6 +-
.../wap/template/tpl_left_one_right_two.vue | 4 +-
.../wap/template/tpl_left_two_right_one.vue | 14 +-
manager/src/views/login.vue | 50 +-
manager/src/views/main-components/header.vue | 5 +-
.../src/views/my-components/lili/editor.vue | 63 +-
.../views/page/article-manage/articleList.vue | 30 +-
.../src/views/sys/app-version/appVersion.vue | 1 +
seller/src/api/order.js | 17 +-
seller/src/assets/download.png | Bin 0 -> 2620 bytes
seller/src/assets/goodsType1.png | Bin 0 -> 2900 bytes
seller/src/assets/goodsType2.png | Bin 0 -> 754 bytes
seller/src/assets/goodsTypeTpl.png | Bin 0 -> 3697 bytes
seller/src/assets/logo.png | Bin 239866 -> 398960 bytes
seller/src/assets/success.png | Bin 0 -> 4471 bytes
seller/src/assets/upload.png | Bin 0 -> 2506 bytes
seller/src/config/index.js | 8 +-
seller/src/router/router.js | 7 +
.../views/goods/goods-seller/addGoods.scss | 125 ++-
.../goods/goods-seller/goodsOperation.vue | 809 +++++++-----------
seller/src/views/login.vue | 138 ++-
seller/src/views/main-components/header.vue | 6 +-
.../views/order/order/exportOrderDeliver.vue | 122 +++
seller/src/views/order/order/orderDetail.vue | 2 +-
seller/src/views/order/order/orderList.vue | 520 +++++------
30 files changed, 1143 insertions(+), 1131 deletions(-)
create mode 100644 seller/src/assets/download.png
create mode 100644 seller/src/assets/goodsType1.png
create mode 100644 seller/src/assets/goodsType2.png
create mode 100644 seller/src/assets/goodsTypeTpl.png
create mode 100644 seller/src/assets/success.png
create mode 100644 seller/src/assets/upload.png
create mode 100644 seller/src/views/order/order/exportOrderDeliver.vue
diff --git a/buyer/src/plugins/request.js b/buyer/src/plugins/request.js
index c2c2b108..d650d2a7 100644
--- a/buyer/src/plugins/request.js
+++ b/buyer/src/plugins/request.js
@@ -1,77 +1,133 @@
// import Vue from 'vue';
-import axios from 'axios';
-import https from 'https';
-import {
- Message,
- Spin,
- Modal
-} from 'view-design';
-import Storage from './storage';
-import config from '@/config';
-import router from '../router/index.js';
-import store from '../vuex/store';
-import {
- handleRefreshToken
-} from '@/api/index';
-const qs = require('qs');
-
-export const buyerUrl = (process.env.NODE_ENV === 'development' ? config.api_dev.buyer : config.api_prod.buyer);
-export const commonUrl = (process.env.NODE_ENV === 'development' ? config.api_dev.common : config.api_prod.common);
-export const managerUrl = (process.env.NODE_ENV === 'development' ? config.api_dev.manager : config.api_prod.manager);
-export const sellerUrl = (process.env.NODE_ENV === 'development' ? config.api_dev.seller : config.api_prod.seller);
+import axios from "axios";
+import https from "https";
+import { Message, Spin, Modal } from "view-design";
+import Storage from "./storage";
+import config from "@/config";
+import router from "../router/index.js";
+import store from "../vuex/store";
+import { handleRefreshToken } from "@/api/index";
+const qs = require("qs");
+export const buyerUrl =
+ process.env.NODE_ENV === "development"
+ ? config.api_dev.buyer
+ : config.api_prod.buyer;
+export const commonUrl =
+ process.env.NODE_ENV === "development"
+ ? config.api_dev.common
+ : config.api_prod.common;
+export const managerUrl =
+ process.env.NODE_ENV === "development"
+ ? config.api_dev.manager
+ : config.api_prod.manager;
+export const sellerUrl =
+ process.env.NODE_ENV === "development"
+ ? config.api_dev.seller
+ : config.api_prod.seller;
// 创建axios实例
var isRefreshToken = 0;
-const refreshToken = getTokenDebounce()
+const refreshToken = getTokenDebounce();
const service = axios.create({
timeout: 10000, // 请求超时时间
baseURL: buyerUrl, // API
httpsAgent: new https.Agent({
rejectUnauthorized: false
}),
- paramsSerializer: params => qs.stringify(params, {
- arrayFormat: 'repeat'
- })
+ paramsSerializer: params =>
+ qs.stringify(params, {
+ arrayFormat: "repeat"
+ })
});
// request拦截器
-service.interceptors.request.use(config => {
- const {
- loading
- } = config;
- // 如果是put/post请求,用qs.stringify序列化参数
- const isPutPost = config.method === 'put' || config.method === 'post';
- const isJson = config.headers['Content-Type'] === 'application/json';
- const isFile = config.headers['Content-Type'] === 'multipart/form-data';
- if (isPutPost && isJson) {
- config.data = JSON.stringify(config.data);
+service.interceptors.request.use(
+ config => {
+ const { loading } = config;
+ // 如果是put/post请求,用qs.stringify序列化参数
+ const isPutPost = config.method === "put" || config.method === "post";
+ const isJson = config.headers["Content-Type"] === "application/json";
+ const isFile = config.headers["Content-Type"] === "multipart/form-data";
+ if (isPutPost && isJson) {
+ config.data = JSON.stringify(config.data);
+ }
+ if (isPutPost && !isFile && !isJson) {
+ config.data = qs.stringify(config.data, {
+ arrayFormat: "repeat"
+ });
+ }
+ /** 配置全屏加载 */
+ if (process.client && loading !== false) {
+ config.loading = Spin.show();
+ }
+
+ const uuid = Storage.getItem("uuid");
+ config.headers["uuid"] = uuid;
+
+ // 获取访问Token
+ let accessToken = Storage.getItem("accessToken");
+ if (accessToken && config.needToken) {
+ config.headers["accessToken"] = accessToken;
+ // 解析当前token时间
+ let jwtData = JSON.parse(
+ decodeURIComponent(escape(window.atob(accessToken.split(".")[1])))
+ );
+ if (jwtData.exp < new Date().getTime() / 1000) {
+ refresh()
+ }
+ }
+
+ return config;
+ },
+ error => {
+ Promise.reject(error);
}
- if (isPutPost && !isFile && !isJson) {
- config.data = qs.stringify(config.data, {
- arrayFormat: 'repeat'
+);
+
+async function refresh() {
+ const getTokenRes = await refreshToken();
+ if (getTokenRes === "success") {
+ // 刷新token
+ if (isRefreshToken === 1) {
+ error.response.config.headers.accessToken = Storage.getItem(
+ "accessToken"
+ );
+ return service(error.response.config);
+ } else {
+ router.go(0);
+ }
+ } else {
+ Storage.removeItem("accessToken");
+ Storage.removeItem("refreshToken");
+ Storage.removeItem("userInfo");
+ Storage.setItem("cartNum", 0);
+ store.commit("SET_CARTNUM", 0);
+ console.log("1111");
+ Modal.confirm({
+ title: "请登录",
+ content: "
请登录后执行此操作
",
+ okText: "立即登录",
+ cancelText: "继续浏览",
+ onOk: () => {
+ router.push({
+ path: "/login",
+ query: {
+ rePath: router.history.current.path,
+ query: JSON.stringify(router.history.current.query)
+ }
+ });
+ },
+ onCancel: () => {
+ Modal.remove();
+ }
});
}
- /** 配置全屏加载 */
- if (process.client && loading !== false) {
- config.loading = Spin.show();
- }
-
- const uuid = Storage.getItem('uuid');
- config.headers['uuid'] = uuid;
-
- // 获取访问Token
- let accessToken = Storage.getItem('accessToken');
- if (accessToken && config.needToken) {
- config.headers['accessToken'] = accessToken;
- }
- return config;
-}, error => {
- Promise.reject(error);
-});
+}
// respone拦截器
service.interceptors.response.use(
async response => {
await closeLoading(response);
+
return response.data;
},
async error => {
@@ -84,45 +140,15 @@ service.interceptors.response.use(
isRefreshToken++;
if (isRefreshToken === 1) {
- const getTokenRes = await refreshToken();
- if (getTokenRes === 'success') { // 刷新token
- if (isRefreshToken === 1) {
- error.response.config.headers.accessToken = Storage.getItem('accessToken')
- return service(error.response.config)
- } else {
- router.go(0)
- }
- } else {
- Storage.removeItem('accessToken');
- Storage.removeItem('refreshToken');
- Storage.removeItem('userInfo');
- Storage.setItem('cartNum', 0)
- store.commit('SET_CARTNUM', 0)
- console.log('1111');
- Modal.confirm({
- title: '请登录',
- content: '
请登录后执行此操作
',
- okText: '立即登录',
- cancelText: '继续浏览',
- onOk: () => {
- router.push({
- path: '/login',
- query: {
- rePath: router.history.current.path,
- query: JSON.stringify(router.history.current.query)
- }
- });
- },
- onCancel: () => {
- Modal.remove();
- }
- });
- }
- isRefreshToken = 0
+ refresh()
+ isRefreshToken = 0;
}
} else {
if (error.message) {
- let _message = error.code === 'ECONNABORTED' ? '连接超时,请稍候再试!' : '网络错误,请稍后再试!';
+ let _message =
+ error.code === "ECONNABORTED"
+ ? "连接超时,请稍候再试!"
+ : "网络错误,请稍后再试!";
Message.error(errorData.message || _message);
}
}
@@ -134,7 +160,7 @@ service.interceptors.response.use(
* 关闭全局加载
* @param target
*/
-const closeLoading = (target) => {
+const closeLoading = target => {
if (!target.config || !target.config.loading) return true;
return new Promise((resolve, reject) => {
setTimeout(() => {
@@ -145,13 +171,13 @@ const closeLoading = (target) => {
};
export const Method = {
- GET: 'get',
- POST: 'post',
- PUT: 'put',
- DELETE: 'delete'
+ GET: "get",
+ POST: "post",
+ PUT: "put",
+ DELETE: "delete"
};
-export default function request (options) {
+export default function request(options) {
// 如果是服务端或者是请求的刷新token,不需要检查token直接请求。
// if (process.server || options.url.indexOf('passport/token') !== -1) {
return service(options);
@@ -160,47 +186,46 @@ export default function request (options) {
}
// 防抖闭包来一波
-function getTokenDebounce () {
- let lock = false
- let success = false
- return function () {
+function getTokenDebounce() {
+ let lock = false;
+ let success = false;
+ return function() {
if (!lock) {
- lock = true
- let oldRefreshToken = Storage.getItem('refreshToken');
- handleRefreshToken(oldRefreshToken).then(res => {
- if (res.success) {
- let {
- accessToken,
- refreshToken
- } = res.result;
- Storage.setItem('accessToken', accessToken);
- Storage.setItem('refreshToken', refreshToken);
+ lock = true;
+ let oldRefreshToken = Storage.getItem("refreshToken");
+ handleRefreshToken(oldRefreshToken)
+ .then(res => {
+ if (res.success) {
+ let { accessToken, refreshToken } = res.result;
+ Storage.setItem("accessToken", accessToken);
+ Storage.setItem("refreshToken", refreshToken);
- success = true
- lock = false
- } else {
- success = false
- lock = false
- // router.push('/login')
- }
- }).catch((err) => {
- console.log(err);
- success = false
- lock = false
- })
+ success = true;
+ lock = false;
+ } else {
+ success = false;
+ lock = false;
+ // router.push('/login')
+ }
+ })
+ .catch(err => {
+ console.log(err);
+ success = false;
+ lock = false;
+ });
}
return new Promise(resolve => {
// 一直看lock,直到请求失败或者成功
const timer = setInterval(() => {
if (!lock) {
- clearInterval(timer)
+ clearInterval(timer);
if (success) {
- resolve('success')
+ resolve("success");
} else {
- resolve('fail')
+ resolve("fail");
}
}
- }, 500) // 轮询时间间隔
- })
- }
+ }, 500); // 轮询时间间隔
+ });
+ };
}
diff --git a/manager/src/views/lili-floor-renovation/wap/navbar.vue b/manager/src/views/lili-floor-renovation/wap/navbar.vue
index 20be9547..ef7050c5 100644
--- a/manager/src/views/lili-floor-renovation/wap/navbar.vue
+++ b/manager/src/views/lili-floor-renovation/wap/navbar.vue
@@ -3,13 +3,7 @@
店铺装修
-
+
{{ item.title }}
@@ -21,17 +15,9 @@
-
保存模板
+
保存模板
-
+
模板名称
@@ -61,7 +47,8 @@ export default {
progress: true, // 展示进度
num: 20, // 提交进度
saveDialog: false, // 加载状态
- way: [ // 装修tab栏切换
+ way: [
+ // 装修tab栏切换
{
title: "首页",
name: "index",
@@ -80,7 +67,8 @@ export default {
},
],
qrcode: "", // 二维码
- submitWay: { // 表单信息
+ submitWay: {
+ // 表单信息
pageShow: this.$route.query.type || false,
name: this.$route.query.name || "模板名称",
pageClientType: "H5",
@@ -124,11 +112,13 @@ export default {
// 更新
update() {
- this.progress = false;
+ this.progress = false;
API_Other.updateHome(this.$route.query.id, {
pageData: JSON.stringify(this.$store.state.styleStore),
name: this.submitWay.name,
pageShow: this.submitWay.pageShow,
+ pageType: "INDEX",
+ pageClientType: "H5",
})
.then((res) => {
this.num = 50;
@@ -171,7 +161,7 @@ export default {
this.goback();
}, 1000);
} else {
- this.progress = true;
+ this.progress = true;
this.saveDialog = false;
this.$Message.error("保存失败,请稍后重试");
}
diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl.scss b/manager/src/views/lili-floor-renovation/wap/template/tpl.scss
index b8e63cf7..638dd1cc 100644
--- a/manager/src/views/lili-floor-renovation/wap/template/tpl.scss
+++ b/manager/src/views/lili-floor-renovation/wap/template/tpl.scss
@@ -1,6 +1,6 @@
.image-mode {
- max-width: 100%;
- height: auto;
+ width: 100%;
+ height: 100%;
display: block;
padding: 1px;
}
diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_flex_five.vue b/manager/src/views/lili-floor-renovation/wap/template/tpl_flex_five.vue
index 8abfba18..7b405c4a 100644
--- a/manager/src/views/lili-floor-renovation/wap/template/tpl_flex_five.vue
+++ b/manager/src/views/lili-floor-renovation/wap/template/tpl_flex_five.vue
@@ -1,11 +1,11 @@
@@ -13,21 +13,18 @@
export default {
title: "五列单行图片模块",
props: ["res"],
- mounted() {
- console.log(this.res);
- }
};
\ No newline at end of file
+
diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_flex_four.vue b/manager/src/views/lili-floor-renovation/wap/template/tpl_flex_four.vue
index 4ef37368..a3ac9350 100644
--- a/manager/src/views/lili-floor-renovation/wap/template/tpl_flex_four.vue
+++ b/manager/src/views/lili-floor-renovation/wap/template/tpl_flex_four.vue
@@ -12,21 +12,22 @@
export default {
title: "四列单行图片模块",
props: ["res"],
- mounted() {
- console.log(this.res);
- }
+
};
\ No newline at end of file
+
diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_flex_three.vue b/manager/src/views/lili-floor-renovation/wap/template/tpl_flex_three.vue
index 262313ce..e0916e1b 100644
--- a/manager/src/views/lili-floor-renovation/wap/template/tpl_flex_three.vue
+++ b/manager/src/views/lili-floor-renovation/wap/template/tpl_flex_three.vue
@@ -11,14 +11,12 @@
export default {
title: "三列单行图片模块",
props: ["res"],
- mounted() {
- console.log(this.res);
- }
};
\ No newline at end of file
+
diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_left_one_right_two.vue b/manager/src/views/lili-floor-renovation/wap/template/tpl_left_one_right_two.vue
index 378b07a3..fcf0936f 100644
--- a/manager/src/views/lili-floor-renovation/wap/template/tpl_left_one_right_two.vue
+++ b/manager/src/views/lili-floor-renovation/wap/template/tpl_left_one_right_two.vue
@@ -20,7 +20,7 @@ export default {
title: "左一右二",
props: ["res"],
mounted() {
- console.log(this.res);
+
}
};
@@ -34,4 +34,4 @@ export default {
background-size: cover;
}
-
\ No newline at end of file
+
diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_left_two_right_one.vue b/manager/src/views/lili-floor-renovation/wap/template/tpl_left_two_right_one.vue
index 884c01a3..e77470cf 100644
--- a/manager/src/views/lili-floor-renovation/wap/template/tpl_left_two_right_one.vue
+++ b/manager/src/views/lili-floor-renovation/wap/template/tpl_left_two_right_one.vue
@@ -10,7 +10,7 @@
-
+
@@ -21,18 +21,22 @@ export default {
props: ["res"],
mounted() {
console.log(this.res);
- }
+ },
};
\ No newline at end of file
+.view-height-75 {
+ .image-mode {
+ height: 75px;
+ }
+}
+
diff --git a/manager/src/views/login.vue b/manager/src/views/login.vue
index d2ea2e2f..f428e847 100644
--- a/manager/src/views/login.vue
+++ b/manager/src/views/login.vue
@@ -23,12 +23,7 @@
-
+
@@ -48,7 +43,7 @@ import LangSwitch from "@/views/main-components/lang-switch";
import RectLoading from "@/views/my-components/lili/rect-loading";
import CountDownButton from "@/views/my-components/lili/count-down-button";
import util from "@/libs/util.js";
-import verify from '@/views/my-components/verify';
+import verify from "@/views/my-components/verify";
export default {
components: {
@@ -57,18 +52,20 @@ export default {
LangSwitch,
Header,
Footer,
- verify
+ verify,
},
data() {
return {
loading: false, // 加载状态
- form: { // 表单数据
+ form: {
+ // 表单数据
username: "",
password: "",
mobile: "",
code: "",
},
- rules: { // 验证规则
+ rules: {
+ // 验证规则
username: [
{
required: true,
@@ -88,7 +85,8 @@ export default {
},
methods: {
mounted() {},
- afterLogin(res) { // 登录成功后处理
+ afterLogin(res) {
+ // 登录成功后处理
let accessToken = res.result.accessToken;
let refreshToken = res.result.refreshToken;
this.setStore("accessToken", accessToken);
@@ -109,28 +107,35 @@ export default {
}
});
},
- submitLogin() { // 登录操作
+ submitLogin() {
+ // 登录操作
this.$refs.usernameLoginForm.validate((valid) => {
if (valid) {
this.$refs.verify.show = true;
}
});
},
- verifyChange (con) { // 拼图验证码回显
+ verifyChange(con) {
+ // 拼图验证码回显
if (!con.status) return;
-
+
this.loading = true;
login({
username: this.form.username,
password: this.md5(this.form.password),
- }).then((res) => {
- if (res && res.success) {
- this.afterLogin(res);
- } else {
+ })
+ .then((res) => {
+ if (res && res.success) {
+ this.afterLogin(res);
+ } else {
+ this.loading = false;
+ }
+ })
+ .catch(() => {
this.loading = false;
- }
- }).catch(()=>{this.loading = false});
- }
+ });
+ this.$refs.verify.show = false;
+ },
},
};
@@ -154,7 +159,7 @@ export default {
position: relative;
zoom: 1;
}
- .verify-con{
+ .verify-con {
position: absolute;
top: 90px;
z-index: 10;
@@ -198,5 +203,4 @@ export default {
.flex {
justify-content: center;
}
-
diff --git a/manager/src/views/main-components/header.vue b/manager/src/views/main-components/header.vue
index dcfef0bd..1eeb107b 100644
--- a/manager/src/views/main-components/header.vue
+++ b/manager/src/views/main-components/header.vue
@@ -2,7 +2,6 @@
@@ -15,13 +14,13 @@ export default {
diff --git a/manager/src/views/my-components/lili/editor.vue b/manager/src/views/my-components/lili/editor.vue
index bc7811a2..697bc9ed 100644
--- a/manager/src/views/my-components/lili/editor.vue
+++ b/manager/src/views/my-components/lili/editor.vue
@@ -15,20 +15,8 @@
-
-
+
+
全屏开/关
@@ -56,21 +44,21 @@ export default {
props: {
id: {
type: String,
- default: "editor"
+ default: "editor",
},
value: String,
base64: {
type: Boolean,
- default: false
+ default: false,
},
showExpand: {
type: Boolean,
- default: true
+ default: true,
},
openXss: {
type: Boolean,
- default: false
- }
+ default: false,
+ },
},
data() {
return {
@@ -79,16 +67,17 @@ export default {
dataEdit: "", // 编辑数据
showHTMLModal: false, // 显示html
full: false, // html全屏开关
- fullscreenModal: false // 显示全屏预览
+ fullscreenModal: false, // 显示全屏预览
};
},
methods: {
+
initEditor() {
let that = this;
// 详见wangeditor3官网文档 https://www.kancloud.cn/wangfupeng/wangeditor3/332599
editor = new E(`#${this.id}`);
// 编辑内容绑定数据
- editor.config.onchange = html => {
+ editor.config.onchange = (html) => {
if (this.openXss) {
this.data = xss(html);
} else {
@@ -108,30 +97,30 @@ export default {
editor.config.uploadImgServer = uploadFile;
// lili如要header中传入token鉴权
editor.config.uploadImgHeaders = {
- accessToken: that.getStore("accessToken")
+ accessToken: that.getStore("accessToken"),
};
editor.config.uploadFileName = "file";
editor.config.uploadImgHooks = {
- before: function(xhr, editor, files) {
+ before: function (xhr, editor, files) {
// 图片上传之前触发
},
- success: function(xhr, editor, result) {
+ success: function (xhr, editor, result) {
// 图片上传并返回结果,图片插入成功之后触发
},
- fail: function(xhr, editor, result) {
+ fail: function (xhr, editor, result) {
// 图片上传并返回结果,但图片插入错误时触发
that.$Message.error("上传图片失败");
},
- error: function(xhr, editor) {
+ error: function (xhr, editor) {
// 图片上传出错时触发
that.$Message.error("上传图片出错");
},
- timeout: function(xhr, editor) {
+ timeout: function (xhr, editor) {
// 图片上传超时时触发
that.$Message.error("上传图片超时");
},
// 如果服务器端返回的不是 {errno:0, data: [...]} 这种格式,可使用该配置
- customInsert: function(insertImg, result, editor) {
+ customInsert: function (insertImg, result, editor) {
if (result.success == true) {
let url = result.result;
insertImg(url);
@@ -139,10 +128,11 @@ export default {
} else {
that.$Message.error(result.message);
}
- }
+ },
};
}
- editor.config.customAlert = function(info) {
+
+ editor.config.customAlert = function (info) {
// info 是需要提示的内容
// that.$Message.info(info);
};
@@ -156,8 +146,8 @@ export default {
// type -> 'emoji' / 'image'
type: "image",
// content -> 数组
- content: sina
- }
+ content: sina,
+ },
];
editor.create();
if (this.value) {
@@ -187,7 +177,7 @@ export default {
editor.txt.html(this.data);
this.$emit("input", this.data);
this.$emit("on-change", this.data);
- }
+ },
});
},
setData(value) {
@@ -200,22 +190,21 @@ export default {
this.$emit("input", this.data);
this.$emit("on-change", this.data);
}
- }
+ },
},
watch: {
value(val) {
this.setData(val);
- }
+ },
},
mounted() {
this.initEditor();
- }
+ },
};
diff --git a/seller/src/views/main-components/header.vue b/seller/src/views/main-components/header.vue
index e3727242..5f3bac1a 100644
--- a/seller/src/views/main-components/header.vue
+++ b/seller/src/views/main-components/header.vue
@@ -1,7 +1,7 @@
@@ -14,13 +14,13 @@ export default {
diff --git a/seller/src/views/order/order/exportOrderDeliver.vue b/seller/src/views/order/order/exportOrderDeliver.vue
new file mode 100644
index 00000000..ab0d7c51
--- /dev/null
+++ b/seller/src/views/order/order/exportOrderDeliver.vue
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
{{item.title}}
+
+
+
+
+
+
+
+
+ 下载导入模板
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/seller/src/views/order/order/orderDetail.vue b/seller/src/views/order/order/orderDetail.vue
index cfda0899..740dfa33 100644
--- a/seller/src/views/order/order/orderDetail.vue
+++ b/seller/src/views/order/order/orderDetail.vue
@@ -527,7 +527,7 @@ export default {
orderTakeSubmit() {
this.$refs.orderTakeForm.validate((valid) => {
if (valid) {
- API_Order.orderTake(this.sn, this.orderTakeForm).then((res) => {
+ API_Order.orderTake(this.sn, this.orderTakeForm.qrCode).then((res) => {
if (res.success) {
this.$Message.success("订单核销成功");
this.orderTakeModal = false;
diff --git a/seller/src/views/order/order/orderList.vue b/seller/src/views/order/order/orderList.vue
index 7b53d2c3..9451e16f 100644
--- a/seller/src/views/order/order/orderList.vue
+++ b/seller/src/views/order/order/orderList.vue
@@ -4,22 +4,10 @@
-
+
+
+ 批量发货
+
+
+
+
+ 核验订单
+
+
+
+
+
+
-
+
From eb2b3a66a06da41c20d7d7f3234306a81fa08d30 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?lemon=E6=A9=AA?= <17633066053@163.com>
Date: Fri, 11 Jun 2021 09:52:47 +0800
Subject: [PATCH 13/22] =?UTF-8?q?=E5=90=88=E5=B9=B6Master?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
manager/src/config/index.js | 16 ++++++++--------
manager/src/views/order/order/orderList.vue | 3 ---
2 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/manager/src/config/index.js b/manager/src/config/index.js
index 8b6b162f..680fb1b1 100644
--- a/manager/src/config/index.js
+++ b/manager/src/config/index.js
@@ -17,14 +17,14 @@ export default {
* @description api请求基础路径
*/
api_dev: {
- // common: "https://common-api.pickmall.cn",
- // buyer: "https://buyer-api.pickmall.cn",
- // seller: "https://store-api.pickmall.cn",
- // manager: "https://admin-api.pickmall.cn"
- common: 'http://192.168.0.109:8890',
- buyer: 'http://192.168.0.109:8888',
- seller: 'http://192.168.0.109:8889',
- manager: 'http://192.168.0.109:8887'
+ common: "https://common-api.pickmall.cn",
+ buyer: "https://buyer-api.pickmall.cn",
+ seller: "https://store-api.pickmall.cn",
+ manager: "https://admin-api.pickmall.cn"
+ // common: 'http://192.168.0.109:8890',
+ // buyer: 'http://192.168.0.109:8888',
+ // seller: 'http://192.168.0.109:8889',
+ // manager: 'http://192.168.0.109:8887'
},
api_prod: {
common: "https://common-api.pickmall.cn",
diff --git a/manager/src/views/order/order/orderList.vue b/manager/src/views/order/order/orderList.vue
index 144cbb69..e3112e29 100644
--- a/manager/src/views/order/order/orderList.vue
+++ b/manager/src/views/order/order/orderList.vue
@@ -56,10 +56,7 @@ export default {
},
data() {
return {
-
// 表格的表头以及内容
-
-
fields:{
"订单编号":"sn",
"下单时间":"createTime",
From 0837f5d9d9f986af28c00f80730689299c0acf37 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?lemon=E6=A9=AA?= <17633066053@163.com>
Date: Fri, 11 Jun 2021 19:01:05 +0800
Subject: [PATCH 14/22] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=80=E4=BA=9B?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
buyer/src/plugins/request.js | 2 +-
manager/src/views/order/order/orderList.vue | 206 +++++++++++-------
manager/src/views/promotion/coupon/coupon.vue | 2 -
.../goods/goods-seller/goodsOperation.vue | 1 +
.../views/order/order/exportOrderDeliver.vue | 16 +-
seller/src/views/order/order/orderList.vue | 16 +-
6 files changed, 149 insertions(+), 94 deletions(-)
diff --git a/buyer/src/plugins/request.js b/buyer/src/plugins/request.js
index d650d2a7..b937df34 100644
--- a/buyer/src/plugins/request.js
+++ b/buyer/src/plugins/request.js
@@ -71,7 +71,7 @@ service.interceptors.request.use(
let jwtData = JSON.parse(
decodeURIComponent(escape(window.atob(accessToken.split(".")[1])))
);
- if (jwtData.exp < new Date().getTime() / 1000) {
+ if (jwtData.exp < Math.round(new Date() / 1000)) {
refresh()
}
}
diff --git a/manager/src/views/order/order/orderList.vue b/manager/src/views/order/order/orderList.vue
index e3112e29..19bb9905 100644
--- a/manager/src/views/order/order/orderList.vue
+++ b/manager/src/views/order/order/orderList.vue
@@ -1,47 +1,58 @@
-
-
-
-
+
-
-
-
-
-
-
+
+
+
+
@@ -57,49 +68,53 @@ export default {
data() {
return {
// 表格的表头以及内容
- fields:{
- "订单编号":"sn",
- "下单时间":"createTime",
- "客户名称":"memberName",
- "客户账号":"",
- "收货人":"",
- "收货人手机号":"",
- "收货人地址":"",
- "支付方式":{
+ fields: {
+ 订单编号: "sn",
+ 下单时间: "createTime",
+ 客户名称: "memberName",
+ 客户账号: "",
+ 收货人: "",
+ 收货人手机号: "",
+ 收货人地址: "",
+ 支付方式: {
field: "clientType",
- callback:value=>{
+ callback: (value) => {
if (value == "H5") {
- return "移动端"
+ return "移动端";
} else if (value == "PC") {
- return "PC端"
- } else if (value== "WECHAT_MP") {
- return "小程序端"
+ return "PC端";
+ } else if (value == "WECHAT_MP") {
+ return "小程序端";
} else if (value == "APP") {
- return "移动应用端"
+ return "移动应用端";
} else {
return value;
}
- }
+ },
},
- "配送方式":"",
- "配送费用":"",
- "订单商品金额":"",
- "订单优惠金额":"",
- "订单应付金额":"",
- "商品SKU编号":"",
- "商品数量":"groupNum",
- "买家备注":"",
- "订单状态":"",
- "付款状态":{
- field:"payStatus",
- callback:value=>{
- return value == "UNPAID" ? "未付款" : value == "PAID" ? "已付款" : ""
- }
+ 配送方式: "",
+ 配送费用: "",
+ 订单商品金额: "",
+ 订单优惠金额: "",
+ 订单应付金额: "",
+ 商品SKU编号: "",
+ 商品数量: "groupNum",
+ 买家备注: "",
+ 订单状态: "",
+ 付款状态: {
+ field: "payStatus",
+ callback: (value) => {
+ return value == "UNPAID"
+ ? "未付款"
+ : value == "PAID"
+ ? "已付款"
+ : "";
+ },
},
- "发货状态":"",
- "发票类型":"",
- "发票抬头":"",
- "店铺":"storeName",
+ 发货状态: "",
+ 发票类型: "",
+ 发票抬头: "",
+ 店铺: "storeName",
},
loading: true, // 表单加载状态
searchForm: {
@@ -123,18 +138,14 @@ export default {
{
title: "订单号",
key: "sn",
- minWidth: 230,
+ minWidth: 240,
tooltip: true,
},
- {
- title: "下单时间",
- key: "createTime",
- width: 200,
- },
+
{
title: "订单来源",
key: "clientType",
- width: 95,
+ width: 120,
render: (h, params) => {
if (params.row.clientType == "H5") {
return h("div", {}, "移动端");
@@ -149,15 +160,34 @@ export default {
}
},
},
+ {
+ title: "订单类型",
+ key: "orderType",
+ width: 120,
+ render: (h, params) => {
+ if (params.row.orderType == "NORMAL") {
+ return h("div", [h("span", {}, "普通订单")]);
+ } else if (params.row.orderType == "PINTUAN") {
+ return h("div", [h("span", {}, "拼团订单")]);
+ } else if (params.row.orderType == "GIFT") {
+ return h("div", [h("span", {}, "赠品订单")]);
+ } else if (params.row.orderType == "VIRTUAL") {
+ return h("div", [h("tag", {}, "核验订单")]);
+ }
+ },
+ },
{
title: "买家名称",
key: "memberName",
- width: 130,
+ minWidth: 130,
+ tooltip: true,
},
+
{
title: "订单金额",
key: "flowPrice",
- minWidth: 120,
+ minWidth: 100,
+ tooltip: true,
render: (h, params) => {
return h(
"div",
@@ -169,7 +199,7 @@ export default {
{
title: "订单状态",
key: "orderStatus",
- width: 95,
+ minWidth: 100,
render: (h, params) => {
if (params.row.orderStatus == "UNPAID") {
return h("div", [h("span", {}, "未付款")]);
@@ -188,12 +218,19 @@ export default {
}
},
},
+ {
+ title: "下单时间",
+ key: "createTime",
+ width: 170,
+ sortable: true,
+ sortType: "desc",
+ },
{
title: "操作",
key: "action",
align: "center",
- width: 180,
+ width: 100,
render: (h, params) => {
return h("div", [
h(
@@ -337,4 +374,11 @@ export default {
diff --git a/manager/src/views/promotion/coupon/coupon.vue b/manager/src/views/promotion/coupon/coupon.vue
index c49959e7..9e439e8b 100644
--- a/manager/src/views/promotion/coupon/coupon.vue
+++ b/manager/src/views/promotion/coupon/coupon.vue
@@ -232,9 +232,7 @@ export default {
methods: {
// 选中优惠券 父级传值
check(val,index) {
-
this.data[index].___selected = !this.data[index].___selected
-
this.$emit("selected", val);
},
init() {
diff --git a/seller/src/views/goods/goods-seller/goodsOperation.vue b/seller/src/views/goods/goods-seller/goodsOperation.vue
index dfcac8cc..fc7417d4 100644
--- a/seller/src/views/goods/goods-seller/goodsOperation.vue
+++ b/seller/src/views/goods/goods-seller/goodsOperation.vue
@@ -381,6 +381,7 @@
+
diff --git a/seller/src/views/order/order/exportOrderDeliver.vue b/seller/src/views/order/order/exportOrderDeliver.vue
index cac35602..2340a62b 100644
--- a/seller/src/views/order/order/exportOrderDeliver.vue
+++ b/seller/src/views/order/order/exportOrderDeliver.vue
@@ -17,8 +17,8 @@
-
+
选择或拖拽文件上传
@@ -42,12 +42,15 @@
+
diff --git a/manager/src/views/lili-dialog/index.vue b/manager/src/views/lili-dialog/index.vue
index 49b3b1c1..bc5a47d8 100644
--- a/manager/src/views/lili-dialog/index.vue
+++ b/manager/src/views/lili-dialog/index.vue
@@ -1,7 +1,7 @@
- {goodsData = val;}"
+ {goodsData = val;}"
v-if="goodsFlag" ref="goodsDialog" :selectedWay='goodsData'/>
{
@@ -14,10 +14,12 @@
+
+
diff --git a/manager/src/views/promotion/coupon/coupon.vue b/manager/src/views/promotion/coupon/coupon.vue
index c10a40a7..8be37e1a 100644
--- a/manager/src/views/promotion/coupon/coupon.vue
+++ b/manager/src/views/promotion/coupon/coupon.vue
@@ -4,7 +4,7 @@
-
+
@@ -15,30 +15,32 @@
-
+
搜索
添加优惠券
- {$router.push({path:'/promotion/add-coupon-specify'})}">精准发劵
批量下架
-
+
- 编辑
+ 编辑
- 下架
-
- {{row.___selected ?'已':''}}选中
+ 下架
-
+
@@ -53,6 +55,7 @@ import {
export default {
name: "coupon",
components: {},
+
data() {
return {
loading: true, // 表单加载状态
@@ -65,6 +68,7 @@ export default {
pageSize: 10, // 页面大小
sort: "startTime", // 默认排序字段
order: "desc", // 默认排序方式
+ getType: '', // 默认排序方式
},
form: {
// 添加或编辑表单对象初始化数据
@@ -73,7 +77,7 @@ export default {
// 表单验证规则
formValidate: {
promotionName: [
- { required: true, message: "不能为空", trigger: "blur" },
+ {required: true, message: "不能为空", trigger: "blur"},
],
},
submitLoading: false, // 添加或编辑提交状态
@@ -162,11 +166,16 @@ export default {
title: "活动时间",
width: 120,
render: (h, params) => {
- return h("div", {
- domProps: {
- innerHTML: params.row.startTime + " " + params.row.endTime,
- },
- });
+
+ if (params.row.getType === "ACTIVITY") {
+ return h("div", "长期有效");
+ } else {
+ return h("div", {
+ domProps: {
+ innerHTML: params.row.startTime + " " + params.row.endTime,
+ },
+ });
+ }
},
},
{
@@ -221,6 +230,16 @@ export default {
type: Boolean,
default: false,
},
+ //优惠券类型 查询参数
+ getType: {
+ type: String,
+ default: ''
+ },
+ //已选择优惠券
+ selectList: {
+ type: Array,
+ default: []
+ }
},
watch: {
$route(to, from) {
@@ -231,24 +250,21 @@ export default {
},
methods: {
// 选中优惠券 父级传值
- check(val,index) {
-
- this.data[index].___selected = !this.data[index].___selected
-
- this.$emit("selected", val);
+ check() {
+ this.$emit("selected", this.selectList);
},
init() {
this.getDataList();
},
add() {
- this.$router.push({ name: "add-platform-coupon" });
+ this.$router.push({name: "add-platform-coupon"});
},
/** 跳转至领取详情页面 */
receiveInfo(v) {
- this.$router.push({ name: "member-receive-coupon", query: { id: v.id } });
+ this.$router.push({name: "member-receive-coupon", query: {id: v.id}});
},
info(v) {
- this.$router.push({ name: "platform-coupon-info", query: { id: v.id } });
+ this.$router.push({name: "platform-coupon-info", query: {id: v.id}});
},
changePage(v) {
this.searchForm.pageNumber = v - 1;
@@ -278,6 +294,7 @@ export default {
changeSelect(e) {
this.selectList = e;
this.selectCount = e.length;
+ this.checked ? this.check() : '';
},
getDataList() {
this.loading = true;
@@ -292,7 +309,7 @@ export default {
getPlatformCouponList(this.searchForm).then((res) => {
this.loading = false;
if (res.success) {
- res.result.records.forEach(item=>{
+ res.result.records.forEach(item => {
item.___selected = false
})
this.data = res.result.records;
@@ -336,7 +353,7 @@ export default {
});
},
edit(v) {
- this.$router.push({ name: "edit-platform-coupon", query: { id: v.id } });
+ this.$router.push({name: "edit-platform-coupon", query: {id: v.id}});
},
remove(v) {
this.$Modal.confirm({
@@ -425,6 +442,10 @@ export default {
},
},
mounted() {
+ //如果作为组件方式,传入了类型值,则搜索参数附加类型
+ if (this.getType) {
+ this.searchForm.getType = this.getType;
+ }
this.init();
},
};
diff --git a/manager/src/views/promotion/coupon/couponPublish.vue b/manager/src/views/promotion/coupon/couponPublish.vue
index 9eb93caf..7b06efec 100644
--- a/manager/src/views/promotion/coupon/couponPublish.vue
+++ b/manager/src/views/promotion/coupon/couponPublish.vue
@@ -6,10 +6,10 @@
基本信息
-
+
-
+
@@ -18,11 +18,11 @@
-
+
请输入0-10之间数字,可以输入一位小数
-
+
@@ -33,21 +33,25 @@
- %
+ %
店铺承担比例,输入0-100之间数值
-
-
+
+
+
+
+
+
+
+
使用限制
-
+
-
+
-
-
-
-
返回
提交
@@ -118,8 +120,8 @@ import {
getPlatformCoupon,
editPlatformCoupon,
} from "@/api/promotion";
-import { getCategoryTree } from "@/api/goods";
-import { regular } from "@/utils";
+import {getCategoryTree} from "@/api/goods";
+import {regular} from "@/utils";
import skuSelect from "@/views/lili-dialog";
export default {
@@ -167,7 +169,7 @@ export default {
/** 店铺承担比例 */
storeCommission: 0,
/** 发行数量 */
- publishNum: 1,
+ publishNum: 0,
/** 运费承担者 */
scopeType: "ALL",
/** 限领数量 */
@@ -193,38 +195,37 @@ export default {
value: "id",
}, // 级联选择器配置项
formRule: {
- promotionName: [{ required: true, message: "活动名称不能为空" }],
- couponName: [{ required: true, message: "优惠券名称不能为空" }],
- couponLimitNum: [{ required: true, message: "领取限制不能为空" }],
+ promotionName: [{required: true, message: "活动名称不能为空"}],
+ couponName: [{required: true, message: "优惠券名称不能为空"}],
price: [
- { required: true, message: "请输入面额" },
- { validator: checkPrice },
+ {required: true, message: "请输入面额"},
+ {validator: checkPrice},
],
- rangeTime: [{ required: true, message: "请选择优惠券有效期" }],
+ rangeTime: [{required: true, message: "请选择优惠券有效期"}],
consumeThreshold: [
- { required: true, message: "请输入消费门槛" },
- { validator: checkWeight },
+ {required: true, message: "请输入消费门槛"},
+ {validator: checkWeight},
],
couponDiscount: [
- { required: true, message: "请输入折扣" },
+ {required: true, message: "请输入折扣"},
{
pattern: regular.discount,
message: "请输入0-10的数字,可有一位小数",
},
],
storeCommission: [
- { required: true, message: "请输入店铺承担比例" },
- { pattern: regular.rate, message: "请输入0-100的正整数" },
+ {required: true, message: "请输入店铺承担比例"},
+ {pattern: regular.rate, message: "请输入0-100的正整数"},
],
publishNum: [
- { required: true, message: "请输入发放数量" },
- { pattern: regular.integer, message: "请输入正整数" },
+ {required: true, message: "请输入发放数量"},
+ {pattern: regular.integer, message: "请输入正整数"},
],
couponLimitNum: [
- { required: true, message: "请输入领取限制" },
- { pattern: regular.integer, message: "请输入正整数" },
+ {required: true, message: "领取限制不能为空"},
+ {pattern: regular.integer, message: "请输入正整数"},
],
- description: [{ required: true, message: "请输入范围描述" }],
+ description: [{required: true, message: "请输入范围描述"}],
},
columns: [
{
@@ -301,6 +302,7 @@ export default {
if (!data.promotionGoodsList) data.promotionGoodsList = [];
if (data.scopeType == "PORTION_GOODS_CATEGORY") {
let prevCascader = data.scopeId.split(",");
+
// console.log(prevCascader);
function next(params, prev) {
for (let i = 0; i < params.length; i++) {
@@ -325,6 +327,7 @@ export default {
}
}
}
+
next(this.goodsCategoryList, []);
data.scopeIdGoods = prevCascader;
}
@@ -338,7 +341,7 @@ export default {
this.$refs.form.validate((valid) => {
if (valid) {
const params = JSON.parse(JSON.stringify(this.form));
- // 判断当前活动类型
+ // 判断当前活动类型
params.getType != "ACTIVITY" ? delete params.effectiveDays : "";
//判断当前时间类型
@@ -363,7 +366,7 @@ export default {
(!params.promotionGoodsList ||
params.promotionGoodsList.length == 0)
) {
- this.$Modal.warning({ title: "提示", content: "请选择指定商品" });
+ this.$Modal.warning({title: "提示", content: "请选择指定商品"});
return;
}
@@ -371,7 +374,7 @@ export default {
params.scopeType == "PORTION_GOODS_CATEGORY" &&
(!params.scopeIdGoods || params.scopeIdGoods.length == 0)
) {
- this.$Modal.warning({ title: "提示", content: "请选择商品分类" });
+ this.$Modal.warning({title: "提示", content: "请选择商品分类"});
return;
}
@@ -516,7 +519,7 @@ export default {
}
});
}
- return { value: item.id, label: item.name, children: item.children };
+ return {value: item.id, label: item.name, children: item.children};
});
},
filterCategory(list) {
@@ -558,14 +561,17 @@ h4 {
line-height: 40px;
text-align: left;
}
+
.describe {
font-size: 12px;
margin-left: 10px;
color: #999;
}
+
.effectiveDays {
font-size: 12px;
color: #999;
+
> * {
margin: 0 4px;
}
diff --git a/manager/src/views/promotion/couponActivity/coupon.vue b/manager/src/views/promotion/couponActivity/coupon.vue
new file mode 100644
index 00000000..0be79c4a
--- /dev/null
+++ b/manager/src/views/promotion/couponActivity/coupon.vue
@@ -0,0 +1,360 @@
+
+
+
+
+
+
diff --git a/manager/src/views/promotion/couponActivity/couponInfo.vue b/manager/src/views/promotion/couponActivity/couponInfo.vue
new file mode 100644
index 00000000..87061b89
--- /dev/null
+++ b/manager/src/views/promotion/couponActivity/couponInfo.vue
@@ -0,0 +1,240 @@
+
+
+
+
+
+
平台券活动详情
+
+
+ {{ form.promotionName }}
+
+
+ {{
+ getCouponType(form.couponType)
+ }}
+
+
+ ¥{{ form.price | unitPrice }}
+
+
+ {{ form.description }}
+
+
+ {{ form.publishNum }}
+
+
+ {{ form.limitNum }}
+
+
+ {{ form.startTime }}
+
+
+ {{
+ form.consumptionLimit
+ }}
+
+
+ {{ form.startTime }} 至 {{ form.endTime }}
+
+
+ {{
+ getScopeType(form.scopeType)
+ }}
+
+
+ {{ form.couponName }}
+
+
+ {{
+ getStatus(form.status)
+ }}
+
+
+ {{
+ getType(form.getType)
+ }}
+
+
+ {{ form.createTime }}
+
+
+ {{ form.updateTime }}
+
+
+ {{ form.updateBy }}
+
+
+ {{ form.receivedNum }}
+
+
+ {{ form.usedNum }}
+
+
+
适用品类范围
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manager/src/views/promotion/couponActivity/couponPublish.scss b/manager/src/views/promotion/couponActivity/couponPublish.scss
new file mode 100644
index 00000000..a4eb33ed
--- /dev/null
+++ b/manager/src/views/promotion/couponActivity/couponPublish.scss
@@ -0,0 +1,257 @@
+/*选择商品品类*/
+.content-goods-publish {
+ padding: 15px;
+ margin: 0 auto;
+ text-align: center;
+ border: 1px solid #ddd;
+ background: none repeat 0 0 #fff;
+ height: 100%;
+ margin-bottom: 20px;
+
+ /*商品品类*/
+ .goods-category {
+ text-align: left;
+ padding: 10px;
+ background: #fafafa;
+ border: 1px solid #e6e6e6;
+
+ ul {
+ padding: 8px 4px 8px 8px;
+ list-style: none;
+ width: 300px;
+ background: none repeat 0 0 #fff;
+ border: 1px solid #e6e6e6;
+ display: inline-block;
+ letter-spacing: normal;
+ margin-right: 15px;
+ vertical-align: top;
+ word-spacing: normal;
+
+ li {
+ line-height: 20px;
+ padding: 5px;
+ cursor: pointer;
+ color: #333;
+ font-size: 12px;
+ display: flex;
+ flex-wrap: nowrap;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+ }
+ }
+ }
+
+ /** 当前品类被选中的样式 */
+ .activeClass {
+ background-color: #d9edf7;
+ border: 1px solid #bce8f1;
+ color: #3a87ad;
+ }
+
+ /*!*当前选择的商品品类文字*!*/
+ .current-goods-category {
+ text-align: left;
+ padding: 10px;
+ width: 100%;
+ border: 1px solid #fbeed5;
+ color: #c09853;
+ background-color: #fcf8e3;
+ margin: 10px auto;
+ padding: 8px 35px 8px 14px;
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+ font-size: 12px;
+ font-weight: bold;
+ }
+}
+
+/*编辑基本信息*/
+.el-form {
+ padding-bottom: 80px;
+
+ .el-form-item {
+ width: 100%;
+ color: gray;
+ text-align: left;
+ }
+}
+
+div.base-info-item {
+
+ h4 {
+ margin-bottom: 10px;
+ padding: 0 10px;
+ border: 1px solid #ddd;
+ background-color: #f8f8f8;
+ font-weight: bold;
+ color: #333;
+ font-size: 14px;
+ line-height: 40px;
+ text-align: left;
+ }
+
+ .form-item-view {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: space-between;
+ padding-left: 80px;
+
+ .shop-category-text {
+ font-size: 12px;
+ }
+ }
+
+ .item-goods-properts-row {
+ display: flex;
+ flex-direction: row;
+ word-break: break-all;
+ white-space: normal;
+ width: 300px;
+ height: 100px;
+ }
+
+ .item-goods-properts {
+ display: flex;
+ flex-direction: row;
+ margin-bottom: 10px;
+ }
+
+ .form-item {
+ display: flex;
+ align-items: center;
+ }
+
+
+ /** 审核信息-拒绝原因 */
+ .auth-info {
+ color: red;
+ }
+
+ .el-form-item {
+ width: 30%;
+ min-width: 300px;
+ }
+
+ .goods-name-width {
+ width: 50%;
+ min-width: 300px;
+ }
+
+ .el-form-item__content {
+ margin-left: 120px;
+ text-align: left;
+ }
+
+ p.goods-group-manager {
+ padding-left: 7.5%;
+ text-align: left;
+ color: #999;
+ font-size: 13px;
+ }
+
+ /*teatarea*/
+ /deep/ .el-textarea {
+ width: 150%;
+ }
+
+ .seo-text {
+ width: 150%;
+ }
+}
+
+/*折叠面板*/
+.el-collapse-item {
+ /deep/ .el-collapse-item__header {
+ text-align: left;
+ background-color: #f8f8f8;
+ padding: 0 10px;
+ font-weight: bold;
+ color: #333;
+ font-size: 14px;
+ }
+
+ .el-form-item {
+ margin-left: 5%;
+ width: 25%;
+ }
+
+ /deep/ .el-form-item__content {
+ margin-left: 120px;
+ text-align: left;
+ }
+
+ p.goods-group-manager {
+ padding-left: 12%;
+ text-align: left;
+ color: #999;
+ }
+
+ /deep/ .el-collapse-item__content {
+ padding: 10px 0;
+ text-align: left;
+ }
+}
+
+/*商品描述*/
+.goods-intro {
+ line-height: 40;
+}
+
+/** 底部步骤 */
+.footer {
+ width: 88.7%;
+ padding: 10px;
+ background-color: #ffc;
+ position: fixed;
+ bottom: 0px;
+ left: 10%;
+ text-align: center;
+ z-index: 9999;
+}
+
+/*图片上传组件第一张图设置封面*/
+.goods-images {
+ /deep/ li.el-upload-list__item:first-child {
+ position: relative;
+ }
+
+ /deep/ li.el-upload-list__item:first-child:after {
+ content: "封";
+ color: #fff;
+ font-weight: bold;
+ font-size: 12px;
+ position: absolute;
+ left: -15px;
+ top: -6px;
+ width: 40px;
+ height: 24px;
+ padding-top: 6px;
+ background: #13ce66;
+ text-align: center;
+ -webkit-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ -webkit-box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 0 1pc 1px rgba(0, 0, 0, 0.2);
+ }
+}
+
+.el-form-item__label {
+ word-break: break-all;
+}
+
+.step-view {
+ width: 33%;
+ height: 40px;
+ font-size: 19px;
+ text-align: center;
+ display: flex;
+ background-color: #fff;
+ justify-content: center;
+ align-items: center;
+}
+
+.page {
+ margin-top: 2vh;
+ margin-bottom: 5vh;
+}
diff --git a/manager/src/views/promotion/couponActivity/couponPublish.vue b/manager/src/views/promotion/couponActivity/couponPublish.vue
new file mode 100644
index 00000000..1e42bf67
--- /dev/null
+++ b/manager/src/views/promotion/couponActivity/couponPublish.vue
@@ -0,0 +1,354 @@
+
+
+
+
+
+
活动信息
+
+
+
+
+
+
+
+
+
+
+
+
+ 新人发券
+ 精确发券
+
+
+
+
+ 全部会员
+ 指定会员
+
+
+
+ 选择会员
+
+ {{ selectedMember }}
+
+
+
+
+
+
配置优惠券
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manager/src/views/promotion/couponActivity/couponSpecify.vue b/manager/src/views/promotion/couponActivity/couponSpecify.vue
new file mode 100644
index 00000000..a4553e87
--- /dev/null
+++ b/manager/src/views/promotion/couponActivity/couponSpecify.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
优惠券将在指定发放时间发放到用户账号中
+
+
+
+ 返回
+ 提交
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manager/src/views/promotion/couponActivity/memberReceiveCoupon.vue b/manager/src/views/promotion/couponActivity/memberReceiveCoupon.vue
new file mode 100644
index 00000000..4291c1e3
--- /dev/null
+++ b/manager/src/views/promotion/couponActivity/memberReceiveCoupon.vue
@@ -0,0 +1,250 @@
+
+
+
+
+
+ {{ row.startTime }} ~ {{ row.endTime }}
+
+
+ 作废
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manager/src/views/sys/menu-manage/menuManage.vue b/manager/src/views/sys/menu-manage/menuManage.vue
index b2e07467..57bfcd58 100644
--- a/manager/src/views/sys/menu-manage/menuManage.vue
+++ b/manager/src/views/sys/menu-manage/menuManage.vue
@@ -70,7 +70,7 @@
size="16"
style="margin-right: 5px"
>
-
顶部菜单
+
顶级菜单
- 顶部菜单
+ 顶级菜单
Date: Wed, 16 Jun 2021 18:21:11 +0800
Subject: [PATCH 17/22] =?UTF-8?q?=E6=8E=A8=E8=8D=90=E7=9B=B4=E6=92=AD?=
=?UTF-8?q?=E9=97=B4=EF=BC=8C=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=8A=B5=E6=B4=BB=E5=8A=A8?=
=?UTF-8?q?=E4=B8=80=E4=BA=9B=E9=83=A8=E5=88=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
manager/src/api/promotion.js | 2 +-
manager/src/config/index.js | 8 +-
.../lili-floor-renovation/renovation.vue | 320 +++++++++---------
.../shrinkable-menu/shrinkable-menu.vue | 1 +
manager/src/views/member/list/index.vue | 63 +++-
manager/src/views/promotion/coupon/coupon.vue | 84 ++---
.../couponActivity/couponPublish.vue | 151 ++++++---
.../src/views/{ => promotion}/live/live.vue | 24 +-
.../views/{ => promotion}/live/liveDetail.vue | 0
seller/src/config/index.js | 8 +-
.../goods/goods-seller/goodsOperation.vue | 2 +
seller/src/views/promotion/live/addLive.vue | 1 -
seller/src/views/promotion/live/liveGoods.vue | 4 +-
13 files changed, 394 insertions(+), 274 deletions(-)
rename manager/src/views/{ => promotion}/live/live.vue (92%)
rename manager/src/views/{ => promotion}/live/liveDetail.vue (100%)
diff --git a/manager/src/api/promotion.js b/manager/src/api/promotion.js
index fca59f8a..9c0ccdd0 100644
--- a/manager/src/api/promotion.js
+++ b/manager/src/api/promotion.js
@@ -14,7 +14,7 @@ export const getPromotionSeckill = params => {
// 是否推荐直播间
export const whetherStar = params => {
- return getRequest(`/broadcast/studio/id/${params.id}&recommend=${params.recommend}`);
+ return putRequest(`/broadcast/studio/recommend/${params.id}`,params);
};
// 添加优惠券活动
diff --git a/manager/src/config/index.js b/manager/src/config/index.js
index 1a28698c..8b6b162f 100644
--- a/manager/src/config/index.js
+++ b/manager/src/config/index.js
@@ -21,10 +21,10 @@ export default {
// buyer: "https://buyer-api.pickmall.cn",
// seller: "https://store-api.pickmall.cn",
// manager: "https://admin-api.pickmall.cn"
- common: 'http://192.168.0.100:8890',
- buyer: 'http://192.168.0.100:8888',
- seller: 'http://192.168.0.100:8889',
- manager: 'http://192.168.0.100:8887'
+ common: 'http://192.168.0.109:8890',
+ buyer: 'http://192.168.0.109:8888',
+ seller: 'http://192.168.0.109:8889',
+ manager: 'http://192.168.0.109:8887'
},
api_prod: {
common: "https://common-api.pickmall.cn",
diff --git a/manager/src/views/lili-floor-renovation/renovation.vue b/manager/src/views/lili-floor-renovation/renovation.vue
index d5074863..dc969508 100644
--- a/manager/src/views/lili-floor-renovation/renovation.vue
+++ b/manager/src/views/lili-floor-renovation/renovation.vue
@@ -1,172 +1,180 @@
-
-
-
-
基础模块
-
-
-
- {{model.name}}
-
-
-
-
-
-
-
-
-
保存模板 还原模板
+
+
+
+
基础模块
+
+
+
+ {{model.name}}
+
+
+
+
+
+
+
+
保存模板 还原模板
+
\ No newline at end of file
+.show-content {
+ margin-left: 150px;
+ margin-top: 60px;
+}
+.ghost {
+ background: #fff;
+ height: 30px;
+ position: relative;
+ &::after {
+ content: "松开鼠标添加模块";
+ position: absolute;
+ background: #fff;
+ border: 1px dashed #409eff;
+ color: #409eff;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 50px;
+ text-align: center;
+ line-height: 50px;
+ }
+}
+.btn-bar {
+ position: fixed;
+ width: 100%;
+ background: #fff;
+ height: 50px;
+ padding: 10px;
+ box-shadow: 1px 1px 10px #999;
+ z-index: 99;
+ top: 100px;
+}
+
diff --git a/manager/src/views/main-components/shrinkable-menu/shrinkable-menu.vue b/manager/src/views/main-components/shrinkable-menu/shrinkable-menu.vue
index 68738da7..aabb380e 100644
--- a/manager/src/views/main-components/shrinkable-menu/shrinkable-menu.vue
+++ b/manager/src/views/main-components/shrinkable-menu/shrinkable-menu.vue
@@ -55,6 +55,7 @@ export default {
},
methods: {
changeMenu(name) { //二级路由点击
+ console.log(name)
this.$router.push({
name: name
});
diff --git a/manager/src/views/member/list/index.vue b/manager/src/views/member/list/index.vue
index fec0be21..fdffb632 100644
--- a/manager/src/views/member/list/index.vue
+++ b/manager/src/views/member/list/index.vue
@@ -312,6 +312,7 @@ export default {
],
data: [], // 表单数据
total: 0, // 表单数据总数
+ selectMember: [], //保存选中的用户
};
},
props: {
@@ -320,18 +321,66 @@ export default {
type: Boolean,
default: false,
},
+ // 已选择用户数据
+ selectedList: {
+ type: null,
+ default: "",
+ },
+ },
+ watch: {
+ selectedList: {
+ handler(val) {
+ this.$set(this, "selectMember", JSON.parse(JSON.stringify(val)));
+ this.init(this.data);
+ // 将父级数据与当前组件数据进行匹配
+
+ },
+ deep: true,
+ immediate: true,
+ },
},
methods: {
// 回调给父级
callback(val, index) {
- val.___selected = !val.___selected;
+ this.$set(val, "___selected", !val.___selected);
+ console.log(val.___selected);
+ let findUser = this.selectMember.find((item) => {
+ return item.id == val.id;
+ });
+ // 如果没有则添加
+ if (!findUser) {
+ this.selectMember.push(val);
+ } else {
+ // 有重复数据就删除
+ this.selectMember.map((item, index) => {
+ if (item.id == findUser.id) {
+ this.selectMember.splice(index, 1);
+ }
+ });
+ }
+
this.$emit("callback", val);
},
- init() {
- this.getData();
+ // 初始化信息
+ init(data) {
+ data.forEach((item) => {
+ if (this.selectMember.length != 0) {
+ this.selectMember.forEach((member) => {
+ if (member.id == item.id) {
+ this.$set(item, "___selected", true);
+ }
+ });
+ } else {
+ this.$set(item, "___selected", false);
+ }
+ });
+ this.data = data;
},
changePage(v) {
this.searchForm.pageNumber = v;
+ // 此处如果是父子级传值的时候需要做一下处理
+ //selectedMember
+
this.getData();
},
changePageSize(v) {
@@ -387,15 +436,13 @@ export default {
}
});
},
+
//查询会员列表
getData() {
API_Member.getMemberListData(this.searchForm).then((res) => {
if (res.result.records) {
this.loading = false;
- res.result.records.forEach((item) => {
- item.___selected = false;
- });
- this.data = res.result.records;
+ this.init(res.result.records);
this.total = res.result.total;
}
});
@@ -484,7 +531,7 @@ export default {
},
},
mounted() {
- this.init();
+ this.getData();
},
};
diff --git a/manager/src/views/promotion/coupon/coupon.vue b/manager/src/views/promotion/coupon/coupon.vue
index 262d3588..7db021f4 100644
--- a/manager/src/views/promotion/coupon/coupon.vue
+++ b/manager/src/views/promotion/coupon/coupon.vue
@@ -4,7 +4,7 @@
-
+
@@ -15,8 +15,7 @@
-
+
搜索
@@ -26,21 +25,17 @@
批量下架
-
+
-
+
@@ -68,7 +63,7 @@ export default {
pageSize: 10, // 页面大小
sort: "startTime", // 默认排序字段
order: "desc", // 默认排序方式
- getType: '', // 默认排序方式
+ getType: "", // 默认排序方式
},
form: {
// 添加或编辑表单对象初始化数据
@@ -77,7 +72,7 @@ export default {
// 表单验证规则
formValidate: {
promotionName: [
- {required: true, message: "不能为空", trigger: "blur"},
+ { required: true, message: "不能为空", trigger: "blur" },
],
},
submitLoading: false, // 添加或编辑提交状态
@@ -94,15 +89,16 @@ export default {
{
title: "活动名称",
key: "promotionName",
- width: 120,
+ minWidth: 100,
fixed: "left",
},
{
title: "优惠券名称",
key: "couponName",
- width: 120,
- tooltip: true
- }, {
+ minWidth: 100,
+ tooltip: true,
+ },
+ {
title: "面额/折扣",
key: "price",
width: 120,
@@ -124,9 +120,11 @@ export default {
width: 150,
render: (h, params) => {
return h(
- "div", params.row.receivedNum + "/" + params.row.publishNum)
+ "div",
+ params.row.receivedNum + "/" + params.row.publishNum
+ );
},
- minWidth:130,
+ minWidth: 130,
},
{
title: "优惠券类型",
@@ -162,20 +160,19 @@ export default {
},
{
title: "活动时间",
- width: 120,
- render: (h, params) => {
+ render: (h, params) => {
if (params.row.getType === "ACTIVITY") {
return h("div", "长期有效");
} else {
return h("div", {
domProps: {
- innerHTML: params.row.startTime + " " + params.row.endTime,
+ innerHTML:
+ params.row.startTime + " " + params.row.endTime,
},
});
}
},
- minWidth:150,
},
{
title: "状态",
@@ -210,14 +207,14 @@ export default {
),
]);
},
- minWidth:70,
+ minWidth: 70,
},
{
title: "操作",
slot: "action",
align: "center",
fixed: "right",
- minWidth: 140
+ maxWidth: 140,
},
],
data: [], // 表单数据
@@ -233,13 +230,13 @@ export default {
//优惠券类型 查询参数
getType: {
type: String,
- default: ''
+ default: "",
},
//已选择优惠券
- selectList: {
+ selectedList: {
type: Array,
- default: []
- }
+ default: [],
+ },
},
watch: {
$route(to, from) {
@@ -255,16 +252,27 @@ export default {
},
init() {
this.getDataList();
+
+ // 判断是否是父级回调给自己已选择优惠券
+ if (this.selectedList.length != 0) {
+ // console.log(this.selectedList);
+ this.selectedList.forEach((item) => {
+ item._checked = true;
+ item.___selected = true;
+ });
+ this.$set(this, "data", this.selectedList);
+ console.log(this.data);
+ }
},
add() {
- this.$router.push({name: "add-platform-coupon"});
+ this.$router.push({ name: "add-platform-coupon" });
},
/** 跳转至领取详情页面 */
receiveInfo(v) {
- this.$router.push({name: "member-receive-coupon", query: {id: v.id}});
+ this.$router.push({ name: "member-receive-coupon", query: { id: v.id } });
},
info(v) {
- this.$router.push({name: "platform-coupon-info", query: {id: v.id}});
+ this.$router.push({ name: "platform-coupon-info", query: { id: v.id } });
},
changePage(v) {
this.searchForm.pageNumber = v - 1;
@@ -294,7 +302,7 @@ export default {
changeSelect(e) {
this.selectList = e;
this.selectCount = e.length;
- this.checked ? this.check() : '';
+ this.checked ? this.check() : "";
},
getDataList() {
this.loading = true;
@@ -309,9 +317,9 @@ export default {
getPlatformCouponList(this.searchForm).then((res) => {
this.loading = false;
if (res.success) {
- res.result.records.forEach(item => {
- item.___selected = false
- })
+ res.result.records.forEach((item) => {
+ item.___selected = false;
+ });
this.data = res.result.records;
this.total = res.result.total;
}
@@ -353,7 +361,7 @@ export default {
});
},
edit(v) {
- this.$router.push({name: "edit-platform-coupon", query: {id: v.id}});
+ this.$router.push({ name: "edit-platform-coupon", query: { id: v.id } });
},
remove(v) {
this.$Modal.confirm({
diff --git a/manager/src/views/promotion/couponActivity/couponPublish.vue b/manager/src/views/promotion/couponActivity/couponPublish.vue
index 1e42bf67..61fbc7bc 100644
--- a/manager/src/views/promotion/couponActivity/couponPublish.vue
+++ b/manager/src/views/promotion/couponActivity/couponPublish.vue
@@ -6,12 +6,11 @@
活动信息
配置优惠券
@@ -47,8 +47,8 @@
@@ -61,12 +61,12 @@
-
-
+ {this.showCouponSelect = false}" @on-cancel="()=>{this.showCouponSelect = false}" v-model="showCouponSelect" width="80%">
+
-
+
@@ -76,10 +76,7 @@ import couponTemplate from "@/views/promotion/coupon/coupon";
import userList from "@/views/member/list/index";
-import {
- saveActivityCoupon,
- updateCouponActivity,
-} from "@/api/promotion";
+import { saveActivityCoupon, updateCouponActivity } from "@/api/promotion";
export default {
name: "addCouponActivity",
@@ -89,30 +86,72 @@ export default {
},
data() {
return {
- showCouponSelect: false,//显示优惠券选择框
+ showCouponSelect: false, //显示优惠券选择框
modalType: 0, // 是否编辑
- rangeTime: '',//时间区间
- checkUserList: false,//会员选择器
- selectedMember: [],//选择的会员
+ rangeTime: "", //时间区间
+ checkUserList: false, //会员选择器
+ selectedMember: [], //选择的会员
form: {
- promotionName: '', //活动名称
- activityScope: 'ALL', //活动范围
- couponActivityType: 'REGISTERED', //触发活动方式
- activityScopeInfo: '', //活动描述
- startTime: '', //开始时间
- endTime: '', //结束时间
- couponActivityItems: []
-
+ promotionName: "", //活动名称
+ activityScope: "ALL", //活动范围
+ couponActivityType: "REGISTERED", //触发活动方式
+ activityScopeInfo: "", //活动描述
+ startTime: "", //开始时间
+ endTime: "", //结束时间
+ couponActivityItems: [],
}, // 表单
id: this.$route.query.id, // 优惠券活动id
submitLoading: false, // 添加或编辑提交状态
- selectCouponList: [],//选择的优惠券列表
+ selectCouponList: [], //选择的优惠券列表
formRule: {
- promotionName: [{required: true, message: "活动名称不能为空"}],
- rangeTime: [{required: true, message: "请选择活动有效期"}],
- description: [{required: true, message: "请输入范围描述"}],
+ promotionName: [{ required: true, message: "活动名称不能为空" }],
+ rangeTime: [{ required: true, message: "请选择活动有效期" }],
+ description: [{ required: true, message: "请输入范围描述" }],
},
- //优惠券表哥
+ // 用户表格
+ userColumns: [
+ {
+ title: "用户名称",
+ key: "nickName",
+ minWidth: 120,
+ },
+ {
+ title: "手机号",
+ key: "mobile",
+ render: (h, params) => {
+ return h("div", params.row.mobile || "暂未填写");
+ },
+ },
+ {
+ title: "最后登录时间",
+ key: "lastLoginDate",
+ },
+ {
+ title: "操作",
+ key: "action",
+ minWidth: 50,
+ align: "center",
+ render: (h, params) => {
+ return h(
+ "Button",
+ {
+ props: {
+ size: "small",
+ type: "error",
+ ghost: true,
+ },
+ on: {
+ click: () => {
+ this.delUser(params.index);
+ },
+ },
+ },
+ "删除"
+ );
+ },
+ },
+ ],
+ //优惠券表格
columns: [
{
title: "优惠券名称",
@@ -175,7 +214,7 @@ export default {
},
on: {
click: () => {
- // this.delGoods(params.index);
+ this.delCoupon(params.index);
},
},
},
@@ -194,14 +233,32 @@ export default {
}
},
methods: {
+ // 删除选择的优惠券
+ delUser(index) {
+ this.selectedMember.splice(index, 1);
+ },
+ // 删除选择的优惠券
+ delCoupon(index) {
+ this.selectCouponList.splice(index, 1);
+ },
// 返回已选择的用户
callbackSelectUser(val) {
- let index = this.selectedMember.indexOf(val)
- if (index > 0) {
- this.selectedMember.remove(val);
+ // 每次将返回的数据回调判断
+ let findUser = this.selectedMember.find((item) => {
+ return item.id == val.id;
+ });
+ // 如果没有则添加
+ if (!findUser) {
+ this.selectedMember.push(val);
+ } else {
+ // 有重复数据就删除
+ this.selectedMember.map((item, index) => {
+ if (item.id == findUser.id) {
+ this.selectedMember.splice(index, 1);
+ }
+ });
}
- this.selectedMember.push(val);
},
// 添加指定用户
@@ -218,17 +275,16 @@ export default {
/**
* 返回优惠券*/
selectedCoupon(val) {
- this.selectCouponList = val
+ this.selectCouponList = val;
//清空原有数据
this.form.couponActivityItems = [];
val.forEach((item, index) => {
-
this.form.couponActivityItems.push({
num: 0,
- couponId: item.id
- })
- })
- console.log(val)
+ couponId: item.id,
+ });
+ });
+ console.log(val);
},
getCoupon() {
@@ -276,7 +332,6 @@ export default {
},
/** 保存平台优惠券 */
handleSubmit() {
-
this.form.startTime = this.$options.filters.unixToDate(
this.rangeTime[0] / 1000
);
@@ -287,7 +342,7 @@ export default {
this.$refs.form.validate((valid) => {
if (valid) {
const params = JSON.parse(JSON.stringify(this.form));
- console.log(params)
+ console.log(params);
this.submitLoading = true;
if (this.modalType === 0) {
// 添加 避免编辑后传入id等数据 记得删除
@@ -318,7 +373,7 @@ export default {
this.$store.state.app.pageOpenedList
);
this.$router.go(-1);
- }
+ },
},
};
diff --git a/manager/src/views/live/live.vue b/manager/src/views/promotion/live/live.vue
similarity index 92%
rename from manager/src/views/live/live.vue
rename to manager/src/views/promotion/live/live.vue
index 25614680..b7d7498c 100644
--- a/manager/src/views/live/live.vue
+++ b/manager/src/views/promotion/live/live.vue
@@ -93,7 +93,7 @@ export default {
},
on: {
"on-change": () => {
- this.star(params.row,params.index);
+ this.star(params.row, params.index);
},
},
},
@@ -183,19 +183,19 @@ export default {
/**
* 是否推荐
*/
- async star(val,index) {
- let switched
- if(this.liveData[index].recommend){
- this.$set(this.liveData[index],'recommend',false)
- switched = false
- }
- else{
-
- this.$set(this.liveData[index],'recommend',true)
- switched = true
+ async star(val, index) {
+ let switched;
+ if (this.liveData[index].recommend) {
+ this.$set(this.liveData[index], "recommend", false);
+ switched = false;
+ } else {
+ this.$set(this.liveData[index], "recommend", true);
+ switched = true;
}
- await whetherStar({id:val.id,recommend:switched});
+ await whetherStar({ id: val.id, recommend: switched });
+
+ this.getStoreLives();
},
/**
diff --git a/manager/src/views/live/liveDetail.vue b/manager/src/views/promotion/live/liveDetail.vue
similarity index 100%
rename from manager/src/views/live/liveDetail.vue
rename to manager/src/views/promotion/live/liveDetail.vue
diff --git a/seller/src/config/index.js b/seller/src/config/index.js
index 17f824e8..27da5927 100644
--- a/seller/src/config/index.js
+++ b/seller/src/config/index.js
@@ -22,10 +22,10 @@ export default {
// buyer: 'https://buyer-api.pickmall.cn',
// seller: 'https://store-api.pickmall.cn',
// manager: 'https://admin-api.pickmall.cn',
- common: 'http://192.168.0.100:8890',
- buyer: 'http://192.168.0.100:8888',
- seller: 'http://192.168.0.100:8889',
- manager: 'http://192.168.0.100:8887'
+ common: 'http://192.168.0.109:8890',
+ buyer: 'http://192.168.0.109:8888',
+ seller: 'http://192.168.0.109:8889',
+ manager: 'http://192.168.0.109:8887'
},
api_prod: {
common: 'https://common-api.pickmall.cn',
diff --git a/seller/src/views/goods/goods-seller/goodsOperation.vue b/seller/src/views/goods/goods-seller/goodsOperation.vue
index fc7417d4..5c434575 100644
--- a/seller/src/views/goods/goods-seller/goodsOperation.vue
+++ b/seller/src/views/goods/goods-seller/goodsOperation.vue
@@ -25,6 +25,8 @@
+
+
diff --git a/seller/src/views/promotion/live/addLive.vue b/seller/src/views/promotion/live/addLive.vue
index cfa0c37e..f2d9327f 100644
--- a/seller/src/views/promotion/live/addLive.vue
+++ b/seller/src/views/promotion/live/addLive.vue
@@ -153,7 +153,6 @@ import {
addLiveGoods,
editLive,
getLiveInfo,
- delLiveGoods,
delRoomLiveGoods,
} from "@/api/promotion";
import liveGoods from "./liveGoods";
diff --git a/seller/src/views/promotion/live/liveGoods.vue b/seller/src/views/promotion/live/liveGoods.vue
index 31fcf0e4..eb2def25 100644
--- a/seller/src/views/promotion/live/liveGoods.vue
+++ b/seller/src/views/promotion/live/liveGoods.vue
@@ -276,10 +276,10 @@ export default {
async saveLiveGoods() {
this.saveGoodsLoading = true;
let submit = this.liveGoodsData.map((element) => {
- console.log(element.priceType);
+ console.log(element);
return {
goodsId: element.goodsId, //商品id
- goodsImage: element.small, //商品图片
+ goodsImage: element.small, //商品图片 必须为 300 * 300
name: element.goodsName, //商品昵称
price: parseInt(element.price), //商品价格
quantity: element.quantity, //库存
From 44da0ec700bdda4b744d22028c3dd2bd43164919 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?lemon=E6=A9=AA?= <17633066053@163.com>
Date: Thu, 17 Jun 2021 09:09:19 +0800
Subject: [PATCH 18/22] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF?=
=?UTF-8?q?=E8=B7=AF=E5=BE=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
manager/src/router/router.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/manager/src/router/router.js b/manager/src/router/router.js
index bdc3d361..65cb5f1b 100644
--- a/manager/src/router/router.js
+++ b/manager/src/router/router.js
@@ -332,7 +332,7 @@ export const otherRouter = {
path: "liveDetail",
title: "查看直播",
name: "liveDetail",
- component: () => import("@/views/live/liveDetail.vue")
+ component: () => import("@/views/promotion/live/liveDetail.vue")
}
]
};
From 63e5808a6b0b2a4379afec1ed2c27eceefb4e23f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?lemon=E6=A9=AA?= <17633066053@163.com>
Date: Thu, 17 Jun 2021 10:42:10 +0800
Subject: [PATCH 19/22] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=B5=E6=B4=BB?=
=?UTF-8?q?=E5=8A=A8=E7=9A=84=E4=BC=98=E6=83=A0=E5=88=B8=E5=9B=9E=E6=98=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
manager/src/config/index.js | 8 +-
manager/src/views/promotion/coupon/coupon.vue | 75 ++++++++++++++-----
.../couponActivity/couponPublish.vue | 2 +-
3 files changed, 61 insertions(+), 24 deletions(-)
diff --git a/manager/src/config/index.js b/manager/src/config/index.js
index 8b6b162f..1a28698c 100644
--- a/manager/src/config/index.js
+++ b/manager/src/config/index.js
@@ -21,10 +21,10 @@ export default {
// buyer: "https://buyer-api.pickmall.cn",
// seller: "https://store-api.pickmall.cn",
// manager: "https://admin-api.pickmall.cn"
- common: 'http://192.168.0.109:8890',
- buyer: 'http://192.168.0.109:8888',
- seller: 'http://192.168.0.109:8889',
- manager: 'http://192.168.0.109:8887'
+ common: 'http://192.168.0.100:8890',
+ buyer: 'http://192.168.0.100:8888',
+ seller: 'http://192.168.0.100:8889',
+ manager: 'http://192.168.0.100:8887'
},
api_prod: {
common: "https://common-api.pickmall.cn",
diff --git a/manager/src/views/promotion/coupon/coupon.vue b/manager/src/views/promotion/coupon/coupon.vue
index 7db021f4..7f2ae93d 100644
--- a/manager/src/views/promotion/coupon/coupon.vue
+++ b/manager/src/views/promotion/coupon/coupon.vue
@@ -25,7 +25,7 @@
批量下架
-
+
-
+
@@ -59,7 +59,7 @@ export default {
modalTitle: "", // 添加或编辑标题
searchForm: {
// 搜索框初始化对象
- pageNumber: 0, // 当前页数
+ pageNumber: 1, // 当前页数
pageSize: 10, // 页面大小
sort: "startTime", // 默认排序字段
order: "desc", // 默认排序方式
@@ -219,6 +219,7 @@ export default {
],
data: [], // 表单数据
total: 0, // 表单数据总数
+ selectCoupon: [], //本级选中的优惠券
};
},
props: {
@@ -247,22 +248,22 @@ export default {
},
methods: {
// 选中优惠券 父级传值
+ selectedList: {
+ handler(val) {
+ // 判断是否是父级回调给自己已选择优惠券
+ if (val.length != 0) {
+ this.selectCoupon = val;
+ }
+ },
+ deep: true,
+ immediate: true,
+ },
check() {
- this.$emit("selected", this.selectList);
+ // this.selectCoupon.push(this.selectList)
+ this.$emit("selected", this.selectCoupon);
},
init() {
this.getDataList();
-
- // 判断是否是父级回调给自己已选择优惠券
- if (this.selectedList.length != 0) {
- // console.log(this.selectedList);
- this.selectedList.forEach((item) => {
- item._checked = true;
- item.___selected = true;
- });
- this.$set(this, "data", this.selectedList);
- console.log(this.data);
- }
},
add() {
this.$router.push({ name: "add-platform-coupon" });
@@ -275,9 +276,9 @@ export default {
this.$router.push({ name: "platform-coupon-info", query: { id: v.id } });
},
changePage(v) {
- this.searchForm.pageNumber = v - 1;
+ this.searchForm.pageNumber = v;
this.getDataList();
- this.clearSelectAll();
+ // this.clearSelectAll();
},
changePageSize(v) {
this.searchForm.pageSize = v;
@@ -299,10 +300,37 @@ export default {
clearSelectAll() {
this.$refs.table.selectAll(false);
},
+
+ /**
+ * 取消已选择的数据
+ */
+ cancelSelect(selection, row) {
+ console.log(row)
+ let findCoupon = this.selectCoupon.find((item) => {
+ return item.id == row.id;
+ });
+ // 如果没有则添加
+ if (!findCoupon) {
+ this.selectCoupon.push(row);
+ } else {
+ // 有重复数据就删除
+ this.selectCoupon.map((item, index) => {
+ if (item.id == findCoupon.id) {
+ this.selectCoupon.splice(index, 1);
+ }
+ });
+ }
+ },
+ /**
+ * 选择优惠券
+ */
changeSelect(e) {
+ if (this.checked && e.length != 0) {
+ this.selectCoupon.push(...e);
+ this.check();
+ }
this.selectList = e;
this.selectCount = e.length;
- this.checked ? this.check() : "";
},
getDataList() {
this.loading = true;
@@ -318,8 +346,17 @@ export default {
this.loading = false;
if (res.success) {
res.result.records.forEach((item) => {
+ if (this.selectCoupon.length != 0) {
+ this.selectCoupon.forEach((child) => {
+ if (item.id == child.id) {
+ item.___selected = true;
+ item._checked = true;
+ }
+ });
+ }
item.___selected = false;
});
+
this.data = res.result.records;
this.total = res.result.total;
}
diff --git a/manager/src/views/promotion/couponActivity/couponPublish.vue b/manager/src/views/promotion/couponActivity/couponPublish.vue
index 61fbc7bc..1f7077e5 100644
--- a/manager/src/views/promotion/couponActivity/couponPublish.vue
+++ b/manager/src/views/promotion/couponActivity/couponPublish.vue
@@ -62,7 +62,7 @@
{this.showCouponSelect = false}" @on-cancel="()=>{this.showCouponSelect = false}" v-model="showCouponSelect" width="80%">
-
+
From 76d09c05595a71ec87957bccdc612ff2b42796a1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?lemon=E6=A9=AA?= <17633066053@163.com>
Date: Thu, 17 Jun 2021 14:45:14 +0800
Subject: [PATCH 20/22] =?UTF-8?q?=E5=8A=B5=E6=B4=BB=E5=8A=A8=E6=96=B0?=
=?UTF-8?q?=E5=A2=9E=E6=B4=BB=E5=8A=A8=E8=8C=83=E5=9B=B4=E5=88=A4=E6=96=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
manager/src/config/index.js | 8 ++++----
.../src/views/promotion/couponActivity/couponPublish.vue | 7 ++++++-
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/manager/src/config/index.js b/manager/src/config/index.js
index 1a28698c..8b6b162f 100644
--- a/manager/src/config/index.js
+++ b/manager/src/config/index.js
@@ -21,10 +21,10 @@ export default {
// buyer: "https://buyer-api.pickmall.cn",
// seller: "https://store-api.pickmall.cn",
// manager: "https://admin-api.pickmall.cn"
- common: 'http://192.168.0.100:8890',
- buyer: 'http://192.168.0.100:8888',
- seller: 'http://192.168.0.100:8889',
- manager: 'http://192.168.0.100:8887'
+ common: 'http://192.168.0.109:8890',
+ buyer: 'http://192.168.0.109:8888',
+ seller: 'http://192.168.0.109:8889',
+ manager: 'http://192.168.0.109:8887'
},
api_prod: {
common: "https://common-api.pickmall.cn",
diff --git a/manager/src/views/promotion/couponActivity/couponPublish.vue b/manager/src/views/promotion/couponActivity/couponPublish.vue
index 1f7077e5..677ee392 100644
--- a/manager/src/views/promotion/couponActivity/couponPublish.vue
+++ b/manager/src/views/promotion/couponActivity/couponPublish.vue
@@ -10,7 +10,7 @@
-
+
@@ -86,6 +86,11 @@ export default {
},
data() {
return {
+ options: {
+ disabledDate(date) {
+ return date && date.valueOf() < Date.now() - 86400000;
+ },
+ },
showCouponSelect: false, //显示优惠券选择框
modalType: 0, // 是否编辑
rangeTime: "", //时间区间
From b3fda143220289c90ed553a6f68e4293164defa8 Mon Sep 17 00:00:00 2001
From: Chopper
Date: Fri, 18 Jun 2021 16:38:10 +0800
Subject: [PATCH 21/22] =?UTF-8?q?=E5=88=B8=E6=B4=BB=E5=8A=A8=E5=AE=8C?=
=?UTF-8?q?=E5=96=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
manager/src/api/promotion.js | 4 +-
manager/src/router/router.js | 8 +-
.../views/promotion/couponActivity/coupon.vue | 175 ++----------
.../promotion/couponActivity/couponInfo.vue | 261 +++++-------------
.../couponActivity/couponPublish.scss | 4 -
.../couponActivity/couponPublish.vue | 185 +++++--------
.../couponActivity/couponSpecify.vue | 172 ------------
.../couponActivity/memberReceiveCoupon.vue | 250 -----------------
8 files changed, 180 insertions(+), 879 deletions(-)
delete mode 100644 manager/src/views/promotion/couponActivity/couponSpecify.vue
delete mode 100644 manager/src/views/promotion/couponActivity/memberReceiveCoupon.vue
diff --git a/manager/src/api/promotion.js b/manager/src/api/promotion.js
index 9c0ccdd0..42173562 100644
--- a/manager/src/api/promotion.js
+++ b/manager/src/api/promotion.js
@@ -119,8 +119,8 @@ export const getCouponActivityList = params => {
return getRequest("/promotion/couponActivity", params);
};
// 作废优惠券
-export const deleteCouponActivity = ids => {
- return deleteRequest(`/promotion/couponActivity/${ids}`);
+export const closeActivity = id => {
+ return deleteRequest(`/promotion/couponActivity/${id}`);
};
// 更新优惠券活动
export const updateCouponActivity = params => {
diff --git a/manager/src/router/router.js b/manager/src/router/router.js
index 65cb5f1b..d60e240f 100644
--- a/manager/src/router/router.js
+++ b/manager/src/router/router.js
@@ -251,10 +251,16 @@ export const otherRouter = {
},
{
path: "coupon-activity/edit",
- title: "编辑平台优惠券",
+ title: "编辑平台优惠券活动",
name: "edit-coupon-activity",
component: () => import("@/views/promotion/couponActivity/couponPublish.vue")
},
+ {
+ path: "promotion/coupon-activity-info",
+ title: "券活动详情",
+ name: "coupon-activity-info",
+ component: () => import("@/views/promotion/couponActivity/couponInfo.vue")
+ },
{
path: "promotion/member-receive-coupon",
title: "领取详情",
diff --git a/manager/src/views/promotion/couponActivity/coupon.vue b/manager/src/views/promotion/couponActivity/coupon.vue
index 0be79c4a..aac1d820 100644
--- a/manager/src/views/promotion/couponActivity/coupon.vue
+++ b/manager/src/views/promotion/couponActivity/coupon.vue
@@ -4,8 +4,17 @@
添加活动
-
+
import {
getCouponActivityList,
- updatePlatformCouponStatus,
+ closeActivity,
} from "@/api/promotion";
export default {
- name: "coupon",
+ name: "couponActivity",
components: {},
data() {
return {
@@ -148,63 +157,36 @@ export default {
default: false,
},
},
- watch: {
- $route(to, from) {
- if (to.fullPath == "/promotion/manager-coupon") {
- this.init();
- }
- },
- },
methods: {
- // 选中优惠券 父级传值
- check(val, index) {
-
- this.data[index].___selected = !this.data[index].___selected
-
- this.$emit("selected", val);
- },
+ //获取数据 初始化
init() {
this.getDataList();
},
+ //增加券活动
add() {
this.$router.push({name: "add-coupon-activity"});
},
- /** 跳转至领取详情页面 */
- receiveInfo(v) {
- this.$router.push({name: "member-receive-coupon", query: {id: v.id}});
- },
+ //查看详情
info(v) {
- this.$router.push({name: "platform-coupon-info", query: {id: v.id}});
+ this.$router.push({name: "coupon-activity-info", query: {id: v.id}});
},
+ //跳转页面
changePage(v) {
this.searchForm.pageNumber = v - 1;
this.getDataList();
- this.clearSelectAll();
},
+ //修改分页
changePageSize(v) {
this.searchForm.pageSize = v;
this.getDataList();
},
+ //搜索活动
handleSearch() {
this.searchForm.pageNumber = 0;
this.searchForm.pageSize = 10;
this.getDataList();
},
- changeSort(e) {
- this.searchForm.sort = e.key;
- this.searchForm.order = e.order;
- if (e.order === "normal") {
- this.searchForm.order = "";
- }
- this.getDataList();
- },
- clearSelectAll() {
- this.$refs.table.selectAll(false);
- },
- changeSelect(e) {
- this.selectList = e;
- this.selectCount = e.length;
- },
+ //数据获取
getDataList() {
this.loading = true;
if (this.selectDate && this.selectDate[0] && this.selectDate[1]) {
@@ -218,133 +200,32 @@ export default {
getCouponActivityList(this.searchForm).then((res) => {
this.loading = false;
if (res.success) {
- res.result.records.forEach(item => {
- item.___selected = false
- })
this.data = res.result.records;
this.total = res.result.total;
}
});
- this.total = this.data.length;
this.loading = false;
},
- handleSubmit() {
- this.$refs.form.validate((valid) => {
- if (valid) {
- this.submitLoading = true;
- if (this.modalType === 0) {
- // 添加 避免编辑后传入id等数据 记得删除
- delete this.form.id;
- this.postRequest("/coupon/insertOrUpdate", this.form).then(
- (res) => {
- this.submitLoading = false;
- if (res.success) {
- this.$Message.success("操作成功");
- this.getDataList();
- this.modalVisible = false;
- }
- }
- );
- } else {
- // 编辑
- this.postRequest("/coupon/insertOrUpdate", this.form).then(
- (res) => {
- this.submitLoading = false;
- if (res.success) {
- this.$Message.success("操作成功");
- this.getDataList();
- this.modalVisible = false;
- }
- }
- );
- }
- }
- });
- },
+ //跳转编辑
edit(v) {
this.$router.push({name: "edit-platform-coupon", query: {id: v.id}});
},
+ //下架活动
remove(v) {
this.$Modal.confirm({
title: "确认下架",
// 记得确认修改此处
- content: "确认要下架此优惠券么?",
+ content: "确认要下架此优惠券活动么?下架活动只能重新创建",
loading: true,
onOk: () => {
// 删除
- updatePlatformCouponStatus({
- couponIds: v.id,
- promotionStatus: "CLOSE",
- })
- .then((res) => {
- this.$Modal.remove();
- if (res.success) {
- this.$Message.success("优惠券已作废");
- this.getDataList();
- }
- })
- .catch(() => {
- this.$Modal;
- });
- },
- });
- },
- delAll() {
- if (this.selectCount <= 0) {
- this.$Message.warning("您还未选择要下架的优惠券");
- return;
- }
- this.$Modal.confirm({
- title: "确认下架",
- content: "您确认要下架所选的 " + this.selectCount + " 条数据?",
- loading: true,
- onOk: () => {
- let ids = [];
- this.selectList.forEach(function (e) {
- ids.push(e.id);
- });
- let params = {
- couponIds: ids.toString(),
- promotionStatus: "CLOSE",
- };
- // 批量删除
- updatePlatformCouponStatus(params).then((res) => {
- this.$Modal.remove();
+ closeActivity(v.id).then((res) => {
if (res.success) {
- this.$Message.success("下架成功");
- this.clearSelectAll();
- this.getDataList();
- }
- });
- },
- });
- },
- upAll() {
- if (this.selectCount <= 0) {
- this.$Message.warning("请选择要上架的优惠券");
- return;
- }
- this.$Modal.confirm({
- title: "确认上架",
- content: "您确认要上架所选的 " + this.selectCount + " 条数据?",
- loading: true,
- onOk: () => {
- let ids = [];
- this.selectList.forEach(function (e) {
- ids.push(e.id);
- });
- let params = {
- couponIds: ids.toString(),
- promotionStatus: "START",
- };
- // 批量上架
- updatePlatformCouponStatus(params).then((res) => {
- this.$Modal.remove();
- if (res.success) {
- this.$Message.success("上架成功");
- this.clearSelectAll();
+ this.$Message.success("优惠券活动已作废");
this.getDataList();
}
+ }).catch(() => {
+ this.$Modal;
});
},
});
diff --git a/manager/src/views/promotion/couponActivity/couponInfo.vue b/manager/src/views/promotion/couponActivity/couponInfo.vue
index 87061b89..2b800adf 100644
--- a/manager/src/views/promotion/couponActivity/couponInfo.vue
+++ b/manager/src/views/promotion/couponActivity/couponInfo.vue
@@ -3,81 +3,37 @@
-
平台券活动详情
+
优惠券活动详情
- {{ form.promotionName }}
+ {{ couponActivity.promotionName }}
- {{
- getCouponType(form.couponType)
- }}
+ 新人发券
+ 精确发券
-
- ¥{{ form.price | unitPrice }}
+
+ 全部会员
+ 指定会员
-
- {{ form.description }}
+
+ {{ couponActivity.startTime }}~{{ couponActivity.endTime }}
-
- {{ form.publishNum }}
-
-
- {{ form.limitNum }}
-
-
- {{ form.startTime }}
-
-
- {{
- form.consumptionLimit
- }}
-
-
- {{ form.startTime }} 至 {{ form.endTime }}
-
-
- {{
- getScopeType(form.scopeType)
- }}
-
-
- {{ form.couponName }}
-
-
- {{
- getStatus(form.status)
- }}
-
-
- {{
- getType(form.getType)
- }}
-
-
- {{ form.createTime }}
-
-
- {{ form.updateTime }}
-
-
- {{ form.updateBy }}
-
-
- {{ form.receivedNum }}
-
-
- {{ form.usedNum }}
+
+
+ 新建
+ 已开始
+ 已结束
+ 已废弃
-
适用品类范围
-
+
优惠券列表
+
+
会员列表列表
+
@@ -89,145 +45,78 @@
-
-
-
diff --git a/manager/src/views/promotion/couponActivity/memberReceiveCoupon.vue b/manager/src/views/promotion/couponActivity/memberReceiveCoupon.vue
deleted file mode 100644
index 4291c1e3..00000000
--- a/manager/src/views/promotion/couponActivity/memberReceiveCoupon.vue
+++ /dev/null
@@ -1,250 +0,0 @@
-
-
-
-
-
- {{ row.startTime }} ~ {{ row.endTime }}
-
-
- 作废
-
-
-
-
-
-
-
-
-
-
-
From c4cc07868023e086eecf40198974cf1651274cfd Mon Sep 17 00:00:00 2001
From: Chopper
Date: Fri, 18 Jun 2021 17:06:25 +0800
Subject: [PATCH 22/22] =?UTF-8?q?=E5=88=86=E7=B1=BB=E4=BF=A1=E6=81=AF?=
=?UTF-8?q?=E7=BC=93=E5=AD=98=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4=E8=AE=BE?=
=?UTF-8?q?=E5=AE=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
buyer/src/components/nav/cateNav.vue | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/buyer/src/components/nav/cateNav.vue b/buyer/src/components/nav/cateNav.vue
index e4fd092c..07a6b4eb 100644
--- a/buyer/src/components/nav/cateNav.vue
+++ b/buyer/src/components/nav/cateNav.vue
@@ -93,6 +93,11 @@ export default {
getCategory(0).then(res => {
if (res.success) {
this.cateList = res.result;
+ // 过期时间
+ var expirationTime = new Date().setHours(new Date().getHours() + 1);
+ // 存放过期时间
+ localStorage.setItem('category_expiration_time', expirationTime);
+ // 存放分类信息
localStorage.setItem('category', JSON.stringify(res.result))
}
});
@@ -117,7 +122,12 @@ export default {
}
},
mounted () {
- if (localStorage.getItem('category')) {
+ if (localStorage.getItem('category') && localStorage.getItem('category_expiration_time')) {
+ // 如果缓存过期,则获取最新的信息
+ if (new Date() > localStorage.getItem('category_expiration_time')) {
+ this.getCate();
+ return;
+ }
this.cateList = JSON.parse(localStorage.getItem('category'))
} else {
this.getCate()