Merge branch 'sit-Carl' of https://gitee.com/carl_Ming_1/smart-admin into sit-Carl-V3

This commit is contained in:
Carl 2022-01-23 18:25:50 +08:00
commit a7f61f9fb4
13 changed files with 434 additions and 449 deletions

View File

@ -56,7 +56,7 @@ export const getleckCourse = (name, offset) => {
* 加入购物车 * 加入购物车
*/ */
export const postCourseId = (productCode,buyCount,memberId, mobile,productImg,productName,productPrice,specifications) => { export const postCourseId = (productCode, buyCount, memberId, mobile, productImg, productName, productPrice, specifications, leftAllotment) => {
var data = { var data = {
buyCount: buyCount, buyCount: buyCount,
memberId: memberId, memberId: memberId,
@ -65,7 +65,8 @@ export const postCourseId = (productCode,buyCount,memberId, mobile,productImg,pr
productImg: productImg, productImg: productImg,
productName: productName, productName: productName,
productPrice: productPrice, productPrice: productPrice,
specifications:specifications specifications: specifications,
leftAllotment: leftAllotment
} }
return fetch('/insertCartProductInfo', data, 'POST') return fetch('/insertCartProductInfo', data, 'POST')
} }
@ -81,10 +82,11 @@ export const postCourseId = (productCode,buyCount,memberId, mobile,productImg,pr
* 删除购物车 * 删除购物车
*/ */
export const deleteCart = ( productCode) => { export const deleteCart = ( productCode) => {
debugger;
var data = { var data = {
productCode:productCode productCode
} }
return fetch('cancelCartProductInfo',data,'POST') return fetch('cancelCartProductInfo',productCode,'POST')
} }
/** /**
* 购物车批量提交 * 购物车批量提交
@ -187,16 +189,14 @@ export const userquery = (stype, ) => {
return fetch('goods?petType=' + stype, data, 'POST') return fetch('goods?petType=' + stype, data, 'POST')
} }
//处方信息 //处方信息
export const userque = (stype, curPage,curRow) => { export const userque = (goodsName, curPage,curRow) => {
if(!curPage) if(!curPage)
curPage=1; curPage=1;
if(!curRow) if(!curRow)
curRow=10; curRow=10;
let queryTail='page='+curPage+'&rows='+curRow; let queryTail='page='+curPage+'&rows='+curRow;
if(stype) if(goodsName)
queryTail = '?stype='+queryTail+'&'+queryTail; queryTail = '?goodsName='+goodsName;
else
queryTail = '?'+queryTail;
var data = { var data = {
} }
return fetch('goods' + queryTail, data, 'POST') return fetch('goods' + queryTail, data, 'POST')
@ -620,9 +620,12 @@ export const getOrderList = (user, status) => {
return fetch('memberAddress?type=' + type, data, 'POST') return fetch('memberAddress?type=' + type, data, 'POST')
} }
//微信支付二维码
export const updateOrderWX = (data) => {
return fetch('updateOrderWX', data, 'POST')
}
//支付宝支付二维码 //支付宝支付二维码
export const generateOrderAlipay = (data) => { export const generateOrderAlipay = (data) => {
return fetch('generateOrderAlipay', data, 'POST') return fetch('generateOrderAlipay', data, 'POST')
} }

View File

@ -22,8 +22,9 @@
.rc-button{ .rc-button{
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: flex-end;
width: 375px; width: 100%;
height: 80px; height: 80px;
background: #FFFFFF; background: #FFFFFF;
box-shadow: 0px -3px 6px rgba(0, 0, 0, 0.1); box-shadow: 0px -3px 6px rgba(0, 0, 0, 0.1);
@ -38,6 +39,7 @@ opacity: 1;
border-radius: 30px; border-radius: 30px;
background: #E2001A; background: #E2001A;
display: flex; display: flex;
margin-right: 20px;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
font-size: 16px; font-size: 16px;

View File

@ -1,12 +1,11 @@
<template> <template>
<div class="crumbs" v-if="showTab"> <div class="crumbs" v-if="showTab">
<el-breadcrumb separator-class="el-icon-arrow-right"> <el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item :to=item.path v-for="(item, index) in titleLists" <el-breadcrumb-item to="/" >{{ this.homepageName }}</el-breadcrumb-item>
:key="index">{{ item.meta.title }}</el-breadcrumb-item>
<!-- <el-breadcrumb-item>商品管理</el-breadcrumb-item>
<el-breadcrumb-item>商品分类</el-breadcrumb-item> -->
</el-breadcrumb>
<el-breadcrumb-item :to=item.path v-for="(item, index) in crumbs"
:key="index">{{ item.title }}</el-breadcrumb-item>
</el-breadcrumb>
</div> </div>
</template> </template>
@ -14,93 +13,25 @@
import { mapState, mapMutations } from "vuex"; import { mapState, mapMutations } from "vuex";
export default { export default {
props:["crumbs"],
name:"crumbs",
data() { data() {
return { return {
title: "", homepageName:'首页'
path: "",
titleLists: [
{
path: '/',
name: 'index',
meta:{
title: '首页',
}
}
],
showTab: true,
isShow: true,
}; };
}, },
created(){
if(this.showTab != false)
watch: { this.showTab=true;
$route() {
this.setTitle();
}, },
watch: {
}, },
mounted() { mounted() {
this.setTitle();
}, },
methods: { methods: {
...mapMutations(["changemessage",'selectMenu']), ...mapMutations(["changemessage",'selectMenu'])
setTitle() {
console.log(this.$route.matched);
console.log(this.titleLists);
let userinfo=[]
let saveUserInfo={
path:'admin',
name:'1',
meta:'b341181c-aced-11e9-89bf-00163e0e8daf',
} }
userinfo.push(this.$route.matched);
let list=[];
console.log(userinfo);
userinfo.map(item=>{
console.log(item);
list=item;
})
console.log(list);
let anlist={
path:'admin',
name:'1',
meta:'b341181c-aced-11e9-89bf-00163e0e8daf',
}
list.forEach(element=>{
console.log(element);
anlist=element
})
for(let i in list){
saveUserInfo.path=list[i].path;
saveUserInfo.name=list[i].name;
saveUserInfo.meta=list[i].meta;
}
console.log(saveUserInfo);
// store.commit('se', current.name);
this.selectMenu({ data: saveUserInfo });
console.log(this.$store.state.tabsList);
this.titleLists=this.$store.state.tabsList;
// console.log(userlisa);
console.log(this.titleLists);
},
},
// created(){
// let user=this.$store.state.tabsList;
// this.tags=user;
// console.log(this.tags);
// console.log(user);
// console.log(this.$store.state.tabsList)
// },
// mounted(){
// }
}; };
</script> </script>

View File

@ -1468,9 +1468,9 @@
this.dataLoaded=false; this.dataLoaded=false;
let data=[]; let data=[];
if(stype==undefined||stype==null){ if(stype==undefined||stype==null){
data = await biaomessage(0,'',1,6); data = await biaomessage(0,'',1,12);
}else{ }else{
data = await biaomessage(this.userserachlist,'',1,6); data = await biaomessage(this.userserachlist,'',1,12);
} }
if(data){ if(data){
let userlist=[]; let userlist=[];
@ -1546,12 +1546,14 @@
}, },
// //
async userchufang() { async userchufang(item) {
if(!item)
item = this.discounchufang[0].title;
this.dataLoaded=false; this.dataLoaded=false;
let list=[]; let list=[];
let data = await userque(); let data = await userque(item,1,8);
if(data){ if(data){
list=data.slice(0,6); list=data.slice(0,8);
this.processinformation=list; this.processinformation=list;
this.chufanlist=data; this.chufanlist=data;
this.dataLoaded=true; this.dataLoaded=true;
@ -1560,15 +1562,17 @@
// //
async userquery(item) { async userquery(item) {
this.dataLoaded=false; this.dataLoaded=false;
let list=[];
let data = await userquery(item); let data = await userquery(item);
if(data){ if(data){
this.processinformation=data; list=data.slice(0,8);
this.processinformation=list;
this.dataLoaded=true; this.dataLoaded=true;
} }
}, },
// //
userclick(item,index){ userclick(item,index){
this.userquery(index) this.userchufang(index)
}, },
// //
catclickGan(){ catclickGan(){

View File

@ -146,6 +146,7 @@
<script> <script>
import Myheader from "~/components/header.vue"; import Myheader from "~/components/header.vue";
import { mapMutations } from "vuex";
import { userin} from "../../ajax/getData"; import { userin} from "../../ajax/getData";
import MyFooter from '~/components/rc-footer.vue' import MyFooter from '~/components/rc-footer.vue'
import {selectaddress,canceldanhao,generateOrderWX} from "../../ajax/getData"; import {selectaddress,canceldanhao,generateOrderWX} from "../../ajax/getData";
@ -168,6 +169,7 @@ export default {
usersalesAmount:'', usersalesAmount:'',
leftico: require("../../assets/image/rc-left.png"), leftico: require("../../assets/image/rc-left.png"),
orderNumber:'', orderNumber:'',
userdata:"",
usermessage:null, usermessage:null,
userid: null, userid: null,
useralllist:[], useralllist:[],
@ -196,7 +198,11 @@ export default {
}; };
}, },
methods: { methods: {
...mapMutations(["checkIsLogin"]),
refreshDesktopNav:function(){
RCDL.navigation.currentState=null;
RCDL.navigation.rebuild();
},
// //
async canceldanhao(orderNumber) { async canceldanhao(orderNumber) {
let data = await canceldanhao(this.userphone,this.orderNumber); let data = await canceldanhao(this.userphone,this.orderNumber);
@ -221,6 +227,12 @@ userpay(){
if(this.goldastates==0){ if(this.goldastates==0){
this.canceldanhao(); this.canceldanhao();
} }
else if( this.customer='联系客服申请售后'){
var option = {
customer: {id: '', name: '', email: '', mobile: '', memberId: this.userdata.data.id}
}
dis_livchat(option);
}
}, },
// //
onceagain(){ onceagain(){
@ -317,6 +329,9 @@ if(data){
}, },
mounted() { mounted() {
this.checkIsLogin();
this.userdata=this.$store.state.userInfo;
console.log(this.userdata);
this.usermessage = JSON.parse(localStorage.getItem("userInfo")); this.usermessage = JSON.parse(localStorage.getItem("userInfo"));
this.userid = this.usermessage.data.id; this.userid = this.usermessage.data.id;
this.userphone=this.usermessage.data.mobile; this.userphone=this.usermessage.data.mobile;

View File

@ -97,7 +97,12 @@
</div> </div>
</div> </div>
</div> </div>
<el-dialog :visible.sync="dialogAdd" class="diallog_width" width="'100%" :title="dialogAddTitle"> <el-dialog
:visible.sync="dialogAdd"
class="diallog_width"
width="'100%"
:title="dialogAddTitle"
>
<div class="tc dl_cont" v-if="dialogAdd"> <div class="tc dl_cont" v-if="dialogAdd">
<myAddress <myAddress
@isClose="dialogCtrl" @isClose="dialogCtrl"
@ -111,7 +116,7 @@
width="'100%" width="'100%"
title="选择收货地址" title="选择收货地址"
> >
<div class="tc dl_cont" style="padding-bottom: 50px;position: relative;"> <div class="tc dl_cont" style="padding-bottom: 50px; position: relative">
<div class="pop_list"> <div class="pop_list">
<el-row <el-row
class="mypersonal" class="mypersonal"
@ -120,7 +125,10 @@
:class="item.isDefault ? 'active' : ''" :class="item.isDefault ? 'active' : ''"
> >
<el-col :span="4" <el-col :span="4"
><input type="checkbox" v-model="item.checked" @click="selectPopAddress(item)" ><input
type="checkbox"
v-model="item.checked"
@click="selectPopAddress(item)"
/></el-col> /></el-col>
<el-col :span="16" class="tl"> <el-col :span="16" class="tl">
<div> <div>
@ -213,7 +221,7 @@ export default {
this.useraddress = data; this.useraddress = data;
}, },
editAddress(item) { editAddress(item) {
this.dialogAddTitle='修改收货地址' this.dialogAddTitle = "修改收货地址";
this.editAddressData = { this.editAddressData = {
memberId: item.memberId, memberId: item.memberId,
name: item.recipient, name: item.recipient,
@ -231,7 +239,7 @@ export default {
this.dialogAdd = true; this.dialogAdd = true;
}, },
addAddress() { addAddress() {
this.dialogAddTitle='新增收货地址' this.dialogAddTitle = "新增收货地址";
this.editAddressData = {}; this.editAddressData = {};
this.dialogAdd = true; this.dialogAdd = true;
}, },
@ -239,9 +247,9 @@ export default {
this.useraddress.forEach((item) => { this.useraddress.forEach((item) => {
if (item.id == cur.id) { if (item.id == cur.id) {
item.isDefault = true; item.isDefault = true;
item.checked=true item.checked = true;
} else { } else {
item.checked=false item.checked = false;
item.isDefault = false; item.isDefault = false;
} }
}); });
@ -250,9 +258,9 @@ export default {
this.useraddress.forEach((item) => { this.useraddress.forEach((item) => {
if (item.id == cur.id) { if (item.id == cur.id) {
item.isDefault = true; item.isDefault = true;
item.checked=true item.checked = true;
} else { } else {
item.checked=false item.checked = false;
item.isDefault = false; item.isDefault = false;
} }
}); });
@ -344,7 +352,8 @@ export default {
postData[0].orderAddress.addressUserName + postData[0].orderAddress.addressUserName +
" " + " " +
postData[0].orderAddress.addressPhoneNumber, postData[0].orderAddress.addressPhoneNumber,
wxPay: "weixin://wxpay/bizpayurl?pr=4RJbokxzz", // wxPay: "weixin://wxpay/bizpayurl?pr=4RJbokxzz",
wxPay: res.data,
}; };
this.$router.push({ this.$router.push({
path: "/personal/userpay", path: "/personal/userpay",
@ -384,9 +393,7 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import url("../../assets/css/global.less"); @import url("../../assets/css/global.less");
@import "./settlement.less"; @import "./settlement.less";
// @import url("../../assets/css/settlement.less"); // @import url("../../assets/css/settlement.less");
</style> </style>

View File

@ -54,7 +54,7 @@
</div> </div>
<div class="rc-userbottom"> <div class="rc-userbottom">
<span>数量:{{ item.pcs }}</span> <span>数量:{{ item.pcs }}</span>
<i>{{ }}</i> <i>10</i>
</div> </div>
<div class="rc-userbottomm"> <div class="rc-userbottomm">
<i>{{ item.userprice }}</i> <i>{{ item.userprice }}</i>
@ -289,6 +289,9 @@ export default {
this.goldmedal = data; this.goldmedal = data;
this.alllist=[]; this.alllist=[];
this.useralllist=[]; this.useralllist=[];
this.obligation=[];
this.receiving=[];
this.pending=[];
for (let i = 0; i < this.goldmedal.length; i++) { for (let i = 0; i < this.goldmedal.length; i++) {
this.useralllist.push(this.goldmedal[i].orderDetailList[0]); this.useralllist.push(this.goldmedal[i].orderDetailList[0]);
this.alllist.push(this.goldmedal[i].orderDetailList[0]) this.alllist.push(this.goldmedal[i].orderDetailList[0])
@ -299,10 +302,11 @@ export default {
}else if(this.goldmedal[i].status==1){ }else if(this.goldmedal[i].status==1){
this.receiving.push(this.goldmedal[i].orderDetailList[0]); this.receiving.push(this.goldmedal[i].orderDetailList[0]);
} }
else if(this.goldmedal[i].status==4){ else if(this.useralllist[i].status==2){
this.pending.push(this.goldmedal[i].orderDetailList[0]); this.pending.push(this.goldmedal[i].orderDetailList[0]);
} }
} }
for (var i = 0; i < this.useralllist.length; i++) { for (var i = 0; i < this.useralllist.length; i++) {
this.useralllist[i].orderNumber = this.goldmedal[i].orderNumber; this.useralllist[i].orderNumber = this.goldmedal[i].orderNumber;
this.useralllist[i].status = this.goldmedal[i].status; this.useralllist[i].status = this.goldmedal[i].status;
@ -346,7 +350,7 @@ export default {
// addressDetailInfo: orderAddress[0].detailAddress, // addressDetailInfo: orderAddress[0].detailAddress,
// }, // },
// }; // };
postData.push(oneProduct); // postData.push(oneProduct);
let res = await generateOrderWX(postData); let res = await generateOrderWX(postData);
let userPayData = { let userPayData = {
orderId: res.data, orderId: res.data,
@ -383,7 +387,7 @@ export default {
message: "取消订单成功", message: "取消订单成功",
}); });
setTimeout(() => { setTimeout(() => {
this.indet(); this.indet(this.userdata);
this.activeIndex=0; this.activeIndex=0;
this.useralllist=[]; this.useralllist=[];
}, 500); }, 500);

View File

@ -113,7 +113,8 @@ export default {
computed: {}, computed: {},
mounted() { mounted() {
this.userPayData = JSON.parse(this.$route.query.userPayData); this.userPayData = JSON.parse(this.$route.query.userPayData);
this.qrtext=this.userPayData.wxPay this.qrtext=this.userPayData.wxPay;
this.payOrderWX()
}, },
methods: { methods: {
closeDialogSuccess() { closeDialogSuccess() {
@ -141,15 +142,15 @@ export default {
} }
}, },
// //
async updateOrderWX() { async payOrderWX() {
let res = await updateOrderWX(); let res = await updateOrderWX();
if (res.success) { if (res.success) {
this.qrtext = '成功加入群的二维码'; this.qrtext = '成功加入群的二维码';
this.dialogSuccess = true; this.dialogSuccess = true;
clearInterval(this.time); } else if (res.fail) {
} else {
this.dialogFail = true; this.dialogFail = true;
clearInterval(this.time); }else{
this.payOrderWX()
} }
}, },
}, },

View File

@ -568,7 +568,8 @@ export default {
item.picFile, item.picFile,
item.productName, item.productName,
item.basePrice, item.basePrice,
item.specifications item.specifications,
item.leftAllotment
); );
if (data) { if (data) {
this.productlist = data; this.productlist = data;

View File

@ -2,6 +2,7 @@
<div> <div>
<Myheader></Myheader> <Myheader></Myheader>
<div class="rc-top"></div> <div class="rc-top"></div>
<tabs :crumbs="crumbs"></tabs>
<div class="rc-max-width--xl rc-main"> <div class="rc-max-width--xl rc-main">
<div class="usersearch"> <div class="usersearch">
<div class="usercontentshow" ref="usercontent"> <div class="usercontentshow" ref="usercontent">
@ -310,6 +311,7 @@
import Myheader from "~/components/header.vue"; import Myheader from "~/components/header.vue";
import MyFooter from '~/components/rc-footer.vue' import MyFooter from '~/components/rc-footer.vue'
import FixRight from "~/components/fixed-right.vue"; import FixRight from "~/components/fixed-right.vue";
import tabs from "~/components/tabs.vue";
import { import {
userstype, userstype,
biaome, biaome,
@ -320,6 +322,12 @@ import {
export default { export default {
data() { data() {
return { return {
crumbs:[
{
path:'/productdetails/productlist/',
title:'产品列表',
}
],
value: "", value: "",
isLoading: false, isLoading: false,
userstype: [], userstype: [],
@ -343,6 +351,7 @@ export default {
activeIndexd: "-1", activeIndexd: "-1",
activeIndexe: "-1", activeIndexe: "-1",
activeIndexf: "-1", activeIndexf: "-1",
inRxGoods:false,
isadrond: true, isadrond: true,
isshow: false, isshow: false,
openshow: false, openshow: false,
@ -476,7 +485,8 @@ export default {
components: { components: {
Myheader, Myheader,
MyFooter, MyFooter,
FixRight FixRight,
tabs
}, },
created() { created() {
this.routeParams=this.$route.query; this.routeParams=this.$route.query;
@ -527,7 +537,7 @@ export default {
} }
} }
} }
data = await searchchanpin(searchCriteria, usertype, 1, 12); data = await searchchanpin(searchCriteria, usertype, 1, 120);
} }
if (data) { if (data) {
this.rccontair = data; this.rccontair = data;
@ -698,9 +708,12 @@ export default {
tmp.checked=true; tmp.checked=true;
} }
}); });
this.inRxGoods=true;
} }
else else {
this.prefecture[this.rxGoodsIndexPointer].checked=false; this.prefecture[this.rxGoodsIndexPointer].checked=false;
this.inRxGoods=false;
}
}, },
resetAllOptions(){ resetAllOptions(){
let _self = this; let _self = this;
@ -736,7 +749,7 @@ export default {
let isRxGoods=false; let isRxGoods=false;
let productCode = []; let productCode = [];
let mainProductCode = item.productCode; let mainProductCode = item.productCode;
if(!item.ecPrice && !item.price) if(this.inRxGoods)
{ {
isRxGoods=1; isRxGoods=1;
productCode = [item.productCode]; productCode = [item.productCode];

View File

@ -104,23 +104,23 @@ export default {
register(){ register(){
console.log(this.tel) console.log(this.tel)
if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") { if ( this.alladdress==='') {
this.$message({
type: 'warning',
message: '手机号码输入有误'
});
return
}else if(this.alladdress===''){
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '请输入详细地址 ' message: '请输入详细地址 '
}); });
return return
}if(!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === ""){
this.$message({
type: 'warning',
message: '手机号码输入有误'
});
return
} }
else if(this.userpeople===''){ else if(this.userpeople===''){
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '请输入姓名' message: '请填写收货人'
}); });
return return
} }

View File

@ -158,7 +158,7 @@ export default {
if(data){ if(data){
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '删除成功' message: '地址删除成功'
}); });
} }
this.editaddress(); this.editaddress();

View File

@ -363,6 +363,7 @@ export default {
activeIndexd: "-1", activeIndexd: "-1",
activeIndexe: "-1", activeIndexe: "-1",
activeIndexf: "-1", activeIndexf: "-1",
inRxGoods:false,
isadrond: true, isadrond: true,
isshow: false, isshow: false,
openshow: false, openshow: false,
@ -590,7 +591,7 @@ export default {
} }
} }
} }
data = await searchchanpin(searchCriteria, usertype, 1, 12); data = await searchchanpin(searchCriteria, usertype, 1, 120);
} }
if (data) { if (data) {
this.rccontair = data; this.rccontair = data;
@ -706,9 +707,12 @@ export default {
tmp.checked=true; tmp.checked=true;
} }
}); });
this.inRxGoods=true;
} }
else else {
this.prefecture[this.rxGoodsIndexPointer].checked=false; this.prefecture[this.rxGoodsIndexPointer].checked=false;
this.inRxGoods=false;
}
}, },
resetAllOptions(){ resetAllOptions(){
let _self = this; let _self = this;