# 2022-03-22

### 1.4.1 开源社区版:
无
### 0.3.1 专业版:
【新增】前端全局配置增加不同海报类型的全局配置,方便调用。
【修复】修复拼团订单详情分享他人参团的异常问题。
【修复】修复个人服务码列表,点击不弹出弹窗的问题。
【修复】商家中心核销服务码界面显示异常的问题。#I4YR6N
【修复】修复自定义交易组件维护商品选择品牌数据未关联的问题。
This commit is contained in:
JianWeie
2022-03-22 01:08:27 +08:00
parent 37c3ff7bf3
commit c5a5d808b7
17 changed files with 307 additions and 87 deletions

View File

@@ -2559,22 +2559,22 @@ namespace CoreCms.Net.Configuration
/// 正常 /// 正常
/// </summary> /// </summary>
[Description("<button type='button' class='layui-btn layui-btn-normal layui-btn-xs'>正常</button>")] [Description("<button type='button' class='layui-btn layui-btn-normal layui-btn-xs'>正常</button>")]
Normal = 0, = 0,
/// <summary> /// <summary>
/// 过期 /// 过期
/// </summary> /// </summary>
[Description("<button type='button' class='layui-btn layui-btn-warm layui-btn-disabled layui-btn-xs'>过期</button>")] [Description("<button type='button' class='layui-btn layui-btn-warm layui-btn-disabled layui-btn-xs'>过期</button>")]
Overdue = 1, = 1,
/// <summary> /// <summary>
/// 作废 /// 作废
/// </summary> /// </summary>
[Description("<button type='button' class='layui-btn layui-btn-primary layui-btn-disabled layui-btn-xs'>作废</button>")] [Description("<button type='button' class='layui-btn layui-btn-primary layui-btn-disabled layui-btn-xs'>作废</button>")]
Cancellation = 2, = 2,
/// <summary> /// <summary>
/// 已核销 /// 已核销
/// </summary> /// </summary>
[Description("<button type='button' class='layui-btn layui-btn-disabled layui-btn-xs'>已核销</button>")] [Description("<button type='button' class='layui-btn layui-btn-disabled layui-btn-xs'>已核销</button>")]
Verification = 3 = 3
} }
/// <summary> /// <summary>

View File

@@ -92,7 +92,7 @@ namespace CoreCms.Net.Services
tk.redeemCode = CommonHelper.GetSerialNumberType((int)GlobalEnumVars.SerialNumberType.); tk.redeemCode = CommonHelper.GetSerialNumberType((int)GlobalEnumVars.SerialNumberType.);
tk.serviceId = model.servicesId; tk.serviceId = model.servicesId;
tk.userId = model.userId; tk.userId = model.userId;
tk.status = (int)GlobalEnumVars.ServicesTicketStatus.Normal; tk.status = (int)GlobalEnumVars.ServicesTicketStatus.;
tk.validityType = servicesModel.validityType; tk.validityType = servicesModel.validityType;
tk.validityStartTime = servicesModel.validityStartTime; tk.validityStartTime = servicesModel.validityStartTime;
tk.validityEndTime = servicesModel.validityEndTime; tk.validityEndTime = servicesModel.validityEndTime;

View File

@@ -45,6 +45,36 @@ export const paymentType = {
formOrder: 302, formOrder: 302,
}; };
//分享链接及海报类型
export const shareType = {
// 首页
index: 1,
// 2商品详情页
goods: 2,
// 3拼团详情页
pinTuan: 3,
// 4店铺邀请
inv: 4,
// 5文章页面
article: 5,
// 6参团页面
addPinTuan: 6,
// 7自定义页面
page: 7,
// 8智能表单
form: 8,
// 9团购
group: 9,
// 10秒杀
seckill: 10,
// 11代理
agent: 11,
// 12接龙
solitaire: 12,
};
// #ifdef MP-TOUTIAO // #ifdef MP-TOUTIAO
export const ttPlatform = 'toutiao'; //toutiao=今日头条小程序, douyin=抖音小程序, pipixia=皮皮虾小程序, huoshan=火山小视频小程序 export const ttPlatform = 'toutiao'; //toutiao=今日头条小程序, douyin=抖音小程序, pipixia=皮皮虾小程序, huoshan=火山小视频小程序
// #endif // #endif

View File

@@ -55,7 +55,7 @@
//分享类型 //分享类型
shareType: { shareType: {
type: Number, type: Number,
default: 2 default: 1
}, },
//拼团id //拼团id
groupId: { groupId: {
@@ -74,7 +74,7 @@
} }
}, },
mounted() { mounted() {
// console.log("类型:" + this.shareType);
}, },
methods: { methods: {
// 关闭弹出层 // 关闭弹出层
@@ -84,7 +84,7 @@
// 生成海报 // 生成海报
createPoster() { createPoster() {
let data = {}; let data = {};
if (this.shareType == 2) { if (this.shareType == this.$globalConstVars.shareType.index) {
data = { data = {
page: this.shareType, //商品 page: this.shareType, //商品
url: 'pages/share/jump/jump', url: 'pages/share/jump/jump',
@@ -98,7 +98,24 @@
if (userToken) { if (userToken) {
data.token = userToken data.token = userToken
} }
} else if (this.shareType == 3) { } else if (this.shareType == this.$globalConstVars.shareType.pinTuan) {
data = {
page: this.shareType, //拼团
url: 'pages/share/jump/jump',
params: {
goodsId: this.goodsId,
teamId: this.teamId
},
type: 3,//参团
client: 2
}
let userToken = this.$db.get('userToken')
if (userToken) {
data.token = userToken
}
console.log(data);
}
else if (this.shareType == this.$globalConstVars.shareType.addPinTuan) {
data = { data = {
page: this.shareType, //拼团 page: this.shareType, //拼团
url: 'pages/share/jump/jump', url: 'pages/share/jump/jump',
@@ -107,16 +124,17 @@
groupId: this.groupId, groupId: this.groupId,
teamId: this.teamId teamId: this.teamId
}, },
type: 3,//海报 type: 3,//参团
client: 2 client: 2
} }
let userToken = this.$db.get('userToken') let userToken = this.$db.get('userToken')
if (userToken) { if (userToken) {
data.token = userToken data.token = userToken
} }
} else if (this.shareType == 12) { console.log(data);
} else if (this.shareType == this.$globalConstVars.shareType.solitaire) {
data = { data = {
page: this.shareType, //拼团 page: this.shareType,
url: 'pages/share/jump/jump', url: 'pages/share/jump/jump',
params: { params: {
id: this.objectId id: this.objectId

View File

@@ -294,19 +294,19 @@
<view class="coreshop-padding-0"> <view class="coreshop-padding-0">
<u-popup mode="bottom" :show="shareBox" ref="share"> <u-popup mode="bottom" :show="shareBox" ref="share">
<!-- #ifdef H5 --> <!-- #ifdef H5 -->
<coreshop-share-h5 :goodsId="goodsInfo.id" :shareImg="goodsInfo.image" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref" @close="closeShare()"></coreshop-share-h5> <coreshop-share-h5 :shareType='$globalConstVars.shareType.pinTuan' :goodsId="goodsInfo.id" :shareImg="goodsInfo.image" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref" @close="closeShare()"></coreshop-share-h5>
<!-- #endif --> <!-- #endif -->
<!-- #ifdef MP-WEIXIN --> <!-- #ifdef MP-WEIXIN -->
<coreshop-share-wx :goodsId="goodsInfo.id" :shareImg="goodsInfo.image" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref" @close="closeShare()"></coreshop-share-wx> <coreshop-share-wx :shareType='$globalConstVars.shareType.pinTuan' :goodsId="goodsInfo.id" :shareImg="goodsInfo.image" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref" @close="closeShare()"></coreshop-share-wx>
<!-- #endif --> <!-- #endif -->
<!-- #ifdef MP-ALIPAY --> <!-- #ifdef MP-ALIPAY -->
<coreshop-share-alipay :goodsId="goodsInfo.id" :shareImg="goodsInfo.image" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref" @close="closeShare()"></coreshop-share-alipay> <coreshop-share-alipay :shareType='$globalConstVars.shareType.pinTuan' :goodsId="goodsInfo.id" :shareImg="goodsInfo.image" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref" @close="closeShare()"></coreshop-share-alipay>
<!-- #endif --> <!-- #endif -->
<!-- #ifdef MP-TOUTIAO --> <!-- #ifdef MP-TOUTIAO -->
<coreshop-share-tt :goodsId="goodsInfo.id" :shareImg="goodsInfo.image" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref" @close="closeShare()"></coreshop-share-tt> <coreshop-share-tt :shareType='$globalConstVars.shareType.pinTuan' :goodsId="goodsInfo.id" :shareImg="goodsInfo.image" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref" @close="closeShare()"></coreshop-share-tt>
<!-- #endif --> <!-- #endif -->
<!-- #ifdef APP-PLUS || APP-PLUS-NVUE --> <!-- #ifdef APP-PLUS || APP-PLUS-NVUE -->
<coreshop-share-app :goodsId="goodsInfo.id" :shareImg="goodsInfo.image" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref" @close="closeShare()"></coreshop-share-app> <coreshop-share-app :shareType='$globalConstVars.shareType.pinTuan' :goodsId="goodsInfo.id" :shareImg="goodsInfo.image" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref" @close="closeShare()"></coreshop-share-app>
<!-- #endif --> <!-- #endif -->
</u-popup> </u-popup>
<div id="qrCode" ref="qrCodeDiv"></div> <div id="qrCode" ref="qrCodeDiv"></div>
@@ -566,7 +566,7 @@
console.log(e); console.log(e);
this.goodsId = e.id; this.goodsId = e.id;
this.pinTuanId = e.pinTuanId; this.pinTuanId = e.pinTuanId;
if (e.teamId) { if (e.teamId && e.teamId > 0) {
this.teamId = e.teamId; this.teamId = e.teamId;
this.getTeam(this.teamId); this.getTeam(this.teamId);
} }

View File

@@ -11,9 +11,7 @@
</view> </view>
</u-navbar> </u-navbar>
<!--幻灯片--> <!--幻灯片-->
<view class="coreshop-full-screen-banner-swiper-box"> <u-swiper height="calc(750rpx * 6 / 6)" radius="0" :list="bannerList" :autoplay="autoplay" indicator indicatorMode="line" circular @click="clickImg"></u-swiper>
<u-swiper height="calc(750rpx * 6 / 6)" radius="0" :list="goodsInfo.album" :autoplay="autoplay" indicator indicatorMode="line" circular @click="clickImg"></u-swiper>
</view>
<!--限时秒杀--> <!--限时秒杀-->
<view class="coreshop-limited-seckill-box coreshop-bg-red"> <view class="coreshop-limited-seckill-box coreshop-bg-red">
<text class="coreshop-text-price coreshop-font-20">{{ product.price || '0.00' }}</text> <text class="coreshop-text-price coreshop-font-20">{{ product.price || '0.00' }}</text>
@@ -427,6 +425,7 @@
goodsId: 0, // 商品id goodsId: 0, // 商品id
goodsInfo: {}, // 商品详情 goodsInfo: {}, // 商品详情
cartNums: 0, // 购物车数量 cartNums: 0, // 购物车数量
bannerList: [], // 幻灯片
product: {}, // 货品详情 product: {}, // 货品详情
shopRecommendData: [], // 本店推荐数据 shopRecommendData: [], // 本店推荐数据
otherRecommendData: [], // 其他数据 otherRecommendData: [], // 其他数据
@@ -610,11 +609,20 @@
_this.goodsInfo = info; _this.goodsInfo = info;
if (_this.goodsInfo.album && _this.goodsInfo.video) { if (_this.goodsInfo.album && _this.goodsInfo.video) {
var sw = [];
var videoObj = { var videoObj = {
url: _this.goodsInfo.video, url: _this.goodsInfo.video,
poster: _this.goodsInfo.image poster: _this.goodsInfo.image
}; };
_this.goodsInfo.album.unshift(videoObj); sw.push(videoObj);
for (var i = 0; i < _this.goodsInfo.album.length; i++) {
let img = {
url: _this.goodsInfo.album[i]
};
sw.push(img);
}
_this.bannerList = sw;
console.log(_this.bannerList);
_this.autoplay = false; _this.autoplay = false;
} }

View File

@@ -28,14 +28,16 @@
<view class="store">服务单号{{ticket.serviceOrderId}}</view> <view class="store">服务单号{{ticket.serviceOrderId}}</view>
</view> </view>
<view> <view>
<u-button :text="ticket.statusStr" size="mini" type="success" v-if="ticket.status==0" /> <!--正常--> <u-button text="正常" size="mini" type="success" v-if="ticket.status==0" /> <!--正常-->
<u-button :text="ticket.statusStr" size="mini" type="error" v-if="ticket.status==1" /> <!--过期--> <u-button text="过期" size="mini" type="error" v-if="ticket.status==1" /> <!--过期-->
<u-button :text="ticket.statusStr" size="mini" type="primary" v-if="ticket.status==2" /> <!--作废--> <u-button text="作废" size="mini" type="primary" v-if="ticket.status==2" /> <!--作废-->
<u-button :text="ticket.statusStr" size="mini" type="info" v-if="ticket.status==3" /> <!--已核销--> <u-button text="已核销" size="mini" type="info" v-if="ticket.status==3" /> <!--已核销-->
</view> </view>
</view> </view>
<view class="item"> <view class="item">
<view class="left"><image :src="service.thumbnail && service.thumbnail!='null' ? service.thumbnail : '/static/images/common/empty-banner.png'" mode="aspectFill"></image></view> <view class="left">
<u--image :showLoading="true" :src="service.thumbnail && service.thumbnail!='null' ? service.thumbnail : '/static/images/common/empty-banner.png'" width="80px" height="80px" mode="aspectFill"></u--image>
</view>
<view class="content"> <view class="content">
<view class="title u-line-2">{{service.title}}</view> <view class="title u-line-2">{{service.title}}</view>
<view class="type">是否核销{{ticket.isVerification?'是':'否'}}</view> <view class="type">是否核销{{ticket.isVerification?'是':'否'}}</view>
@@ -43,12 +45,12 @@
<view class="delivery-time">服务券状态{{ ticket.statusStr }}</view> <view class="delivery-time">服务券状态{{ ticket.statusStr }}</view>
</view> </view>
</view> </view>
<view class="bottom coreshop-margin-0" v-if="ticket.validityStartTime && ticket.validityEndTime"> <view class="bottom coreshop-margin-10" v-if="ticket.validityStartTime && ticket.validityEndTime">
<view class="coreshop-font-xs"> <view class="coreshop-font-xs">
可核销时间{{ticket.validityStartTime}} {{ticket.validityEndTime}} 可核销时间{{ticket.validityStartTime}} {{ticket.validityEndTime}}
</view> </view>
</view> </view>
<view class="bottom coreshop-margin-0"> <view class="bottom coreshop-margin-10">
<view class="more coreshop-font-xs" v-if="ticket.createTime && ticket.status>0"> <view class="more coreshop-font-xs" v-if="ticket.createTime && ticket.status>0">
下单时间{{ $u.timeFormat(ticket.createTime, 'mm-dd hh:MM:ss') }} 下单时间{{ $u.timeFormat(ticket.createTime, 'mm-dd hh:MM:ss') }}
</view> </view>

View File

@@ -13,7 +13,7 @@
<view class="content"> <view class="content">
<view class="coreshop-text-center coreshop-bg-white coreshop-padding-10 coreshop-flex coreshop-flex-wrap"> <view class="coreshop-text-center coreshop-bg-white coreshop-padding-10 coreshop-flex coreshop-flex-wrap">
<view class="ig-top-t coreshop-margin-bottom-10 coreshop-percent-100 coreshop-text-center coreshop-flex coreshop-flex-nowrap coreshop-justify-center coreshop-align-center"> <view class="ig-top-t coreshop-margin-bottom-10 coreshop-percent-100 coreshop-text-center coreshop-flex coreshop-flex-nowrap coreshop-justify-center coreshop-align-center">
剩余 <u-count-down :time="teamInfo.lastTime * 1000" format="HH:mm:ss"></u-count-down> 剩余 <u-count-down :time="teamInfo.lastTime * 1000" format="HH:mm:ss"></u-count-down>
</view> </view>
<view class="coreshop-margin-bottom-10 coreshop-percent-100 coreshop-text-center coreshop-flex coreshop-flex-nowrap coreshop-justify-center"> <view class="coreshop-margin-bottom-10 coreshop-percent-100 coreshop-text-center coreshop-flex coreshop-flex-nowrap coreshop-justify-center">
<view class="user-head-img-c" v-for="(item, index) in teamInfo.list" :key="index"> <view class="user-head-img-c" v-for="(item, index) in teamInfo.list" :key="index">
@@ -41,29 +41,19 @@
<view class="coreshop-padding-10"> <view class="coreshop-padding-10">
<u-popup mode="bottom" :show="shareBox" ref="share"> <u-popup mode="bottom" :show="shareBox" ref="share">
<!-- #ifdef H5 --> <!-- #ifdef H5 -->
<coreshop-share-h5 :shareType='3' :goodsId="goodsInfo.goodsId" :teamId="teamInfo.teamId" :groupId="teamInfo.ruleId" <coreshop-share-h5 :shareType='$globalConstVars.shareType.addPinTuan' :goodsId="goodsInfo.goodsId" :teamId="teamInfo.teamId" :groupId="teamInfo.ruleId" :shareImg="goodsInfo.imageUrl" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.addon" :shareHref="shareHref" @close="closeShare()"></coreshop-share-h5>
:shareImg="goodsInfo.image_url" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref"
@close="closeShare()"></coreshop-share-h5>
<!-- #endif --> <!-- #endif -->
<!-- #ifdef MP-WEIXIN --> <!-- #ifdef MP-WEIXIN -->
<coreshop-share-wx :shareType='3' :goodsId="goodsInfo.goodsId" :teamId="teamInfo.teamId" :groupId="teamInfo.ruleId" <coreshop-share-wx :shareType='$globalConstVars.shareType.addPinTuan' :goodsId="goodsInfo.goodsId" :teamId="teamInfo.teamId" :groupId="teamInfo.ruleId" :shareImg="goodsInfo.imageUrl" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.addon" :shareHref="shareHref" @close="closeShare()"></coreshop-share-wx>
:shareImg="goodsInfo.image_url" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref"
@close="closeShare()"></coreshop-share-wx>
<!-- #endif --> <!-- #endif -->
<!-- #ifdef MP-ALIPAY --> <!-- #ifdef MP-ALIPAY -->
<coreshop-share-alipay :shareType='3' :goodsId="goodsInfo.goodsId" :teamId="teamInfo.teamId" :groupId="teamInfo.ruleId" <coreshop-share-alipay :shareType='$globalConstVars.shareType.addPinTuan' :goodsId="goodsInfo.goodsId" :teamId="teamInfo.teamId" :groupId="teamInfo.ruleId" :shareImg="goodsInfo.imageUrl" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.addon" :shareHref="shareHref" @close="closeShare()"></coreshop-share-alipay>
:shareImg="goodsInfo.image_url" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref"
@close="closeShare()"></coreshop-share-alipay>
<!-- #endif --> <!-- #endif -->
<!-- #ifdef MP-TOUTIAO --> <!-- #ifdef MP-TOUTIAO -->
<coreshop-share-tt :shareType='3' :goodsId="goodsInfo.goodsId" :teamId="teamInfo.teamId" :groupId="teamInfo.ruleId" <coreshop-share-tt :shareType='$globalConstVars.shareType.addPinTuan' :goodsId="goodsInfo.goodsId" :teamId="teamInfo.teamId" :groupId="teamInfo.ruleId" :shareImg="goodsInfo.imageUrl" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.addon" :shareHref="shareHref" @close="closeShare()"></coreshop-share-tt>
:shareImg="goodsInfo.image_url" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref"
@close="closeShare()"></coreshop-share-tt>
<!-- #endif --> <!-- #endif -->
<!-- #ifdef APP-PLUS || APP-PLUS-NVUE --> <!-- #ifdef APP-PLUS || APP-PLUS-NVUE -->
<coreshop-share-app :shareType='3' :goodsId="goodsInfo.goodsId" :teamId="teamInfo.teamId" :groupId="teamInfo.ruleId" <coreshop-share-app :shareType='$globalConstVars.shareType.addPinTuan' :goodsId="goodsInfo.goodsId" :teamId="teamInfo.teamId" :groupId="teamInfo.ruleId" :shareImg="goodsInfo.imageUrl" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.addon" :shareHref="shareHref" @close="closeShare()"></coreshop-share-app>
:shareImg="goodsInfo.image_url" :shareTitle="goodsInfo.name" :shareContent="goodsInfo.brief" :shareHref="shareHref"
@close="closeShare()"></coreshop-share-app>
<!-- #endif --> <!-- #endif -->
</u-popup> </u-popup>
</view> </view>
@@ -219,10 +209,11 @@
client: 2, client: 2,
url: "/pages/share/jump/jump", url: "/pages/share/jump/jump",
type: 1, type: 1,
page: 3, page: this.$globalConstVars.shareType.addPinTuan,
params: { params: {
goodsId: this.goodsInfo.goodsId, goodsId: this.goodsInfo.goodsId,
teamId: this.teamInfo.list[0].teamId teamId: this.teamInfo.teamId,
groupId: this.teamInfo.ruleId
} }
}; };
let userToken = this.$db.get('userToken'); let userToken = this.$db.get('userToken');
@@ -234,32 +225,33 @@
}); });
} }
}, },
//watch: { watch: {
// goodsInfo: { goodsInfo: {
// handler() { handler() {
// this.getShareUrl(); this.getShareUrl();
// }, },
// deep: true deep: true
// }, },
// teamInfo: { teamInfo: {
// handler() { handler() {
// this.getShareUrl(); this.getShareUrl();
// }, },
// deep: true deep: true
// } }
//}, },
//分享 //分享
onShareAppMessage(res) { onShareAppMessage(res) {
console.log(this.shareUrl);
return { return {
title: this.$store.state.config.shareTitle, title: this.goodsInfo.name,
imageUrl: this.$store.state.config.shareImage, imageUrl: this.goodsInfo.imageUrl,
path: this.shareUrl path: this.shareUrl
} }
}, },
onShareTimeline(res) { onShareTimeline(res) {
return { return {
title: this.$store.state.config.shareTitle, title: this.goodsInfo.name,
imageUrl: this.$store.state.config.shareImage, imageUrl: this.goodsInfo.imageUrl,
path: this.shareUrl path: this.shareUrl
} }
}, },

View File

@@ -64,7 +64,7 @@
</view> </view>
<u-loadmore :status="status" :icon-type="iconType" :load-text="loadText" margin-top="20" margin-bottom="20" /> <u-loadmore :status="status" :icon-type="iconType" :load-text="loadText" margin-top="20" margin-bottom="20" />
</view> </view>
<u-popup v-model="show" mode="center" width="180px" height="180px" :closeable="true"> <u-popup :show="show" mode="center" width="180px" height="180px" @close="close">
<canvas canvas-id="qrcode" style="width: 180px; height: 180px; " /> <canvas canvas-id="qrcode" style="width: 180px; height: 180px; " />
</u-popup> </u-popup>
</view> </view>
@@ -132,6 +132,9 @@
} }
}) })
}, },
close() {
this.show = false
},
showQrcodeBox(index) { showQrcodeBox(index) {
let _this = this; let _this = this;
var item = _this.list[index]; var item = _this.list[index];
@@ -141,6 +144,8 @@
} }
}, },
make(textStr) { make(textStr) {
console.log(textStr);
console.log(uQRCode);
uQRCode.make({ uQRCode.make({
canvasId: 'qrcode', canvasId: 'qrcode',
componentInstance: this, componentInstance: this,

View File

@@ -128,15 +128,14 @@
} }
}, },
//跳转到参团 //跳转到参团
//todo:: 功能暂无后续开发 gotoInvitationGroup(goodsId, groupId, teamId) {
// gotoInvitationGroup(id, groupId, teamId) { if (goodsId && groupId && teamId) {
// if(id && id != '' && groupId && groupId != '' && teamId && teamId != ''){ let url = '/pages/activity/pinTuan/pinTuanDetails/pinTuanDetails?id=' + goodsId + '&pinTuanId=' + groupId + '&teamId=' + teamId;
// let url = '/pages/member/order/invitationGroup/invitationGroup?id=' + id + '&groupId=' + groupId + '&teamId=' + teamId; this.$u.route({ type: 'redirectTo', url: url });
// this.$u.route({ type: 'redirectTo', url: url }); } else {
// }else{ this.gotoIndex();
// this.gotoIndex(); }
// } },
// },
//跳转到自定义页 //跳转到自定义页
gotoCustom(pageCode) { gotoCustom(pageCode) {
if (pageCode && pageCode != '') { if (pageCode && pageCode != '') {

View File

@@ -919,7 +919,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
jm.msg = "不存在此信息"; jm.msg = "不存在此信息";
return jm; return jm;
} }
oldModel.status = (int)GlobalEnumVars.ServicesTicketStatus.Cancellation; oldModel.status = (int)GlobalEnumVars.ServicesTicketStatus.;
var bl = await _coreCmsUserServicesTicketServices.UpdateAsync(oldModel); var bl = await _coreCmsUserServicesTicketServices.UpdateAsync(oldModel);

View File

@@ -56,12 +56,15 @@ namespace CoreCms.Net.Web.Admin.Controllers
private readonly ICoreCmsProductsServices _productsServices; private readonly ICoreCmsProductsServices _productsServices;
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory; private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
private readonly IWeChatTransactionComponentBrandAuditServices _weChatTransactionComponentBrandAuditServices;
/// <summary> /// <summary>
/// 构造函数 /// 构造函数
///</summary> ///</summary>
public WeChatTransactionComponentGoodController(IWebHostEnvironment webHostEnvironment public WeChatTransactionComponentGoodController(IWebHostEnvironment webHostEnvironment
, IWeChatTransactionComponentGoodServices weChatTransactionComponentGoodsServices, IWeChatTransactionComponentGoodSKUServices weChatTransactionComponentGoodSkuServices, ICoreCmsProductsServices productsServices, IWeChatApiHttpClientFactory weChatApiHttpClientFactory, IWeChatTransactionComponentAuditCategoryServices weChatTransactionComponentAuditCategoryServices) , IWeChatTransactionComponentGoodServices weChatTransactionComponentGoodsServices, IWeChatTransactionComponentGoodSKUServices weChatTransactionComponentGoodSkuServices, ICoreCmsProductsServices productsServices, IWeChatApiHttpClientFactory weChatApiHttpClientFactory, IWeChatTransactionComponentAuditCategoryServices weChatTransactionComponentAuditCategoryServices, IWeChatTransactionComponentBrandAuditServices weChatTransactionComponentBrandAuditServices)
{ {
_webHostEnvironment = webHostEnvironment; _webHostEnvironment = webHostEnvironment;
_weChatTransactionComponentGoodsServices = weChatTransactionComponentGoodsServices; _weChatTransactionComponentGoodsServices = weChatTransactionComponentGoodsServices;
@@ -69,6 +72,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
_productsServices = productsServices; _productsServices = productsServices;
_weChatApiHttpClientFactory = weChatApiHttpClientFactory; _weChatApiHttpClientFactory = weChatApiHttpClientFactory;
_weChatTransactionComponentAuditCategoryServices = weChatTransactionComponentAuditCategoryServices; _weChatTransactionComponentAuditCategoryServices = weChatTransactionComponentAuditCategoryServices;
_weChatTransactionComponentBrandAuditServices = weChatTransactionComponentBrandAuditServices;
} }
#region ============================================================ #region ============================================================
@@ -279,10 +283,18 @@ namespace CoreCms.Net.Web.Admin.Controllers
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Description("创建数据")] [Description("创建数据")]
public AdminUiCallBack GetCreate() public async Task<AdminUiCallBack> GetCreate()
{ {
//返回数据 //返回数据
var jm = new AdminUiCallBack { code = 0 }; var jm = new AdminUiCallBack { code = 0 };
var brand = await _weChatTransactionComponentBrandAuditServices.QueryListByClauseAsync(p => p.brandId > 0 && p.status == (int)AuditEnum.AuditCategoryStatus.);
jm.data = new
{
brand
};
return jm; return jm;
} }
#endregion #endregion
@@ -328,13 +340,15 @@ namespace CoreCms.Net.Web.Admin.Controllers
var products = await _productsServices.QueryListByClauseAsync(p => p.goodsId == goodId && p.isDel == false, p => p.id, OrderByType.Asc, true); var products = await _productsServices.QueryListByClauseAsync(p => p.goodsId == goodId && p.isDel == false, p => p.id, OrderByType.Asc, true);
var sku = await _weChatTransactionComponentGoodSkuServices.QueryListByClauseAsync(p => p.outProductId == model.outProductId, p => p.id, OrderByType.Asc, true); var sku = await _weChatTransactionComponentGoodSkuServices.QueryListByClauseAsync(p => p.outProductId == model.outProductId, p => p.id, OrderByType.Asc, true);
var brand = await _weChatTransactionComponentBrandAuditServices.QueryListByClauseAsync(p => p.brandId > 0 && p.status == (int)AuditEnum.AuditCategoryStatus.);
jm.code = 0; jm.code = 0;
jm.data = new jm.data = new
{ {
model, model,
products, products,
sku sku,
brand
}; };
return jm; return jm;
@@ -418,7 +432,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
request.HeadImageUrlList = new List<string>(model.headImg.Split(",")); request.HeadImageUrlList = new List<string>(model.headImg.Split(","));
var category = await _weChatTransactionComponentAuditCategoryServices.QueryByClauseAsync(p => p.level3 == model.thirdCatId, true); var category = await _weChatTransactionComponentAuditCategoryServices.QueryByClauseAsync(p => p.level3 == model.thirdCatId, true);
if (category!=null && !string.IsNullOrEmpty(category.certificateImage)) if (category != null && !string.IsNullOrEmpty(category.certificateImage))
{ {
request.QualificationPictureUrlList = new List<string>(category.certificateImage.Split(",")); request.QualificationPictureUrlList = new List<string>(category.certificateImage.Split(","));
} }

View File

@@ -625,6 +625,12 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.ToolsController.GetGoodWxCode(CoreCms.Net.Model.FromBody.FMIntId)">
<summary>
后台生成商品小程序码
</summary>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.ToolsController.GetPageWxCode(CoreCms.Net.Model.FromBody.FMStringId)"> <member name="M:CoreCms.Net.Web.Admin.Controllers.ToolsController.GetPageWxCode(CoreCms.Net.Model.FromBody.FMStringId)">
<summary> <summary>
后台生成预览页面设计小程序码 后台生成预览页面设计小程序码
@@ -3121,6 +3127,41 @@
<param name="entity"></param> <param name="entity"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:CoreCms.Net.Web.Admin.Controllers.Shop.CoreCmsCheckInController">
<summary>
日历签到设置
</summary>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.Shop.CoreCmsCheckInController.#ctor(CoreCms.Net.IServices.ICoreCmsSettingServices,CoreCms.Net.IServices.ICoreCmsUserGradeServices,CoreCms.Net.IServices.ICoreCmsContinuousCheckInRuleDetailsServices,CoreCms.Net.IServices.ICoreCmsContinuousCheckInRulesServices,CoreCms.Net.IServices.ICoreCmsCumulativeCheckInRulesServices)">
<summary>
构造函数
</summary>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.Shop.CoreCmsCheckInController.GetIndex">
<summary>
首页数据
</summary>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.Shop.CoreCmsCheckInController.DoSave(CoreCms.Net.Model.FromBody.FMCoreCmsSettingDoSaveModel)">
<summary>
保存提交
</summary>
<param name="model"></param>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.Shop.CoreCmsCheckInController.DoSaveCumulativeCheckInRules(CoreCms.Net.Model.FromBody.FMDoSaveCumulativeCheckInRules)">
<summary>
保存累计签到规则
</summary>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.Shop.CoreCmsCheckInController.DoSaveContinuousCheckInRules(CoreCms.Net.Model.FromBody.FMDoSaveContinuousCheckInRules)">
<summary>
保存连续签到规则
</summary>
<returns></returns>
</member>
<member name="T:CoreCms.Net.Web.Admin.Controllers.CoreCmsLogisticsController"> <member name="T:CoreCms.Net.Web.Admin.Controllers.CoreCmsLogisticsController">
<summary> <summary>
物流公司表 物流公司表
@@ -5303,6 +5344,76 @@
<param name="entity"></param> <param name="entity"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentBrandAuditController">
<summary>
自定义交易组件上传品牌信息
</summary>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentBrandAuditController.#ctor(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.IWeChatTransactionComponentBrandAuditServices,CoreCms.Net.WeChat.Service.HttpClients.IWeChatApiHttpClientFactory)">
<summary>
构造函数
</summary>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentBrandAuditController.GetPageList">
<summary>
获取列表
</summary>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentBrandAuditController.GetIndex">
<summary>
首页数据
</summary>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentBrandAuditController.GetCreate">
<summary>
创建数据
</summary>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentBrandAuditController.DoCreate(CoreCms.Net.Model.Entities.WeChatTransactionComponentBrandAudit)">
<summary>
创建提交
</summary>
<param name="entity"></param>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentBrandAuditController.GetEdit(CoreCms.Net.Model.FromBody.FMIntId)">
<summary>
编辑数据
</summary>
<param name="entity"></param>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentBrandAuditController.DoEdit(CoreCms.Net.Model.Entities.WeChatTransactionComponentBrandAudit)">
<summary>
编辑提交
</summary>
<param name="entity"></param>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentBrandAuditController.DoDelete(CoreCms.Net.Model.FromBody.FMIntId)">
<summary>
单选删除
</summary>
<param name="entity"></param>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentBrandAuditController.GetDetails(CoreCms.Net.Model.FromBody.FMIntId)">
<summary>
预览数据
</summary>
<param name="entity"></param>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentBrandAuditController.DoAudit(CoreCms.Net.Model.FromBody.FMIntId)">
<summary>
提交审核
</summary>
<param name="entity"></param>
<returns></returns>
</member>
<member name="T:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentDeliveryCompanyController"> <member name="T:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentDeliveryCompanyController">
<summary> <summary>
自定义交易组件快递公司 自定义交易组件快递公司
@@ -5336,7 +5447,7 @@
自定义交易组件商品列表 自定义交易组件商品列表
</summary> </summary>
</member> </member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.#ctor(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.IWeChatTransactionComponentGoodServices,CoreCms.Net.IServices.IWeChatTransactionComponentGoodSKUServices,CoreCms.Net.IServices.ICoreCmsProductsServices,CoreCms.Net.WeChat.Service.HttpClients.IWeChatApiHttpClientFactory)"> <member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.#ctor(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.IWeChatTransactionComponentGoodServices,CoreCms.Net.IServices.IWeChatTransactionComponentGoodSKUServices,CoreCms.Net.IServices.ICoreCmsProductsServices,CoreCms.Net.WeChat.Service.HttpClients.IWeChatApiHttpClientFactory,CoreCms.Net.IServices.IWeChatTransactionComponentAuditCategoryServices,CoreCms.Net.IServices.IWeChatTransactionComponentBrandAuditServices)">
<summary> <summary>
构造函数 构造函数
</summary> </summary>
@@ -5443,6 +5554,13 @@
<param name="entity"></param> <param name="entity"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentGoodController.WithoutAuditUpdateSKU(CoreCms.Net.Model.FromBody.FMIntId)">
<summary>
提交更新
</summary>
<param name="entity"></param>
<returns></returns>
</member>
<member name="T:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentThirdCategoryController"> <member name="T:CoreCms.Net.Web.Admin.Controllers.WeChatTransactionComponentThirdCategoryController">
<summary> <summary>
自定义交易组件三级类目 自定义交易组件三级类目

View File

@@ -30,7 +30,10 @@
<label for="brand_id" class="layui-form-label layui-form-required">品牌id</label> <label for="brand_id" class="layui-form-label layui-form-required">品牌id</label>
<div class="layui-input-inline layui-inline-4"> <div class="layui-input-inline layui-inline-4">
<select name="brandId"> <select name="brandId">
<option value="2100000000" selected="selected">无品牌</option> <option value="0" selected="selected">无品牌</option>
{{# layui.each(d.params.data.brand, function(index, item){ }}
<option value="{{ item.brandId }}" {{d.params.data.model.brandId == item.brandId ? 'selected="selected"' :''}}>{{ item.brand_wording }}</option>
{{# }); }}
</select> </select>
</div> </div>
<label for="thirdCatId" class="layui-form-label layui-form-required">所属类目</label> <label for="thirdCatId" class="layui-form-label layui-form-required">所属类目</label>

View File

@@ -23,7 +23,10 @@
<label for="brand_id" class="layui-form-label layui-form-required">品牌id</label> <label for="brand_id" class="layui-form-label layui-form-required">品牌id</label>
<div class="layui-input-inline layui-inline-4"> <div class="layui-input-inline layui-inline-4">
<select name="brandId"> <select name="brandId">
<option value="2100000000" selected="selected">无品牌</option> <option value="0" selected="selected">无品牌</option>
{{# layui.each(d.params.data.brand, function(index, item){ }}
<option value="{{ item.brandId }}">{{ item.brand_wording }}</option>
{{# }); }}
</select> </select>
</div> </div>
<label for="thirdCatId" class="layui-form-label layui-form-required">所属类目</label> <label for="thirdCatId" class="layui-form-label layui-form-required">所属类目</label>

View File

@@ -296,8 +296,8 @@ namespace CoreCms.Net.Web.WebApi.Controllers
jm.msg = "未查询到服务券"; jm.msg = "未查询到服务券";
return jm; return jm;
} }
var enumModel = EnumHelper.GetEnumberEntity<GlobalEnumVars.ServicesTicketStatus>(ticket.status);
ticket.statusStr = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.ServicesTicketStatus>(ticket.status); ticket.statusStr = enumModel.title;
var service = await _servicesServices.QueryByClauseAsync(p => p.id == ticket.serviceId); var service = await _servicesServices.QueryByClauseAsync(p => p.id == ticket.serviceId);
var serviceOrder = var serviceOrder =
@@ -338,7 +338,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
return jm; return jm;
} }
if (ticket.status != (int)GlobalEnumVars.ServicesTicketStatus.Normal) if (ticket.status != (int)GlobalEnumVars.ServicesTicketStatus.)
{ {
jm.msg = "服务券状态不支持核销"; jm.msg = "服务券状态不支持核销";
return jm; return jm;
@@ -383,7 +383,7 @@ namespace CoreCms.Net.Web.WebApi.Controllers
isDel = false isDel = false
}; };
ticket.status = (int)GlobalEnumVars.ServicesTicketStatus.Verification; ticket.status = (int)GlobalEnumVars.ServicesTicketStatus.;
ticket.verificationTime = DateTime.Now; ticket.verificationTime = DateTime.Now;
ticket.isVerification = true; ticket.isVerification = true;
var up = await _userServicesTicketServices.UpdateAsync(ticket); var up = await _userServicesTicketServices.UpdateAsync(ticket);

View File

@@ -176,6 +176,34 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:CoreCms.Net.Web.WebApi.Controllers.CheckInController">
<summary>
签到控制器
</summary>
</member>
<member name="M:CoreCms.Net.Web.WebApi.Controllers.CheckInController.#ctor(CoreCms.Net.Auth.HttpContextUser.IHttpContextUser,CoreCms.Net.IServices.ICoreCmsUserCheckInDetailsServices)">
<summary>
构造函数
</summary>
</member>
<member name="M:CoreCms.Net.Web.WebApi.Controllers.CheckInController.DoUserCheckIn(CoreCms.Net.Model.FromBody.FMDoUserCheckIn)">
<summary>
用户签到
</summary>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.WebApi.Controllers.CheckInController.GetUserCheckCount">
<summary>
获取用户总签到次数
</summary>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.WebApi.Controllers.CheckInController.GetUserCheckByMonth(CoreCms.Net.Model.FromBody.FMGetUserCheckInByMonth)">
<summary>
获取用户按月签到数据
</summary>
<returns></returns>
</member>
<member name="T:CoreCms.Net.Web.WebApi.Controllers.CommonController"> <member name="T:CoreCms.Net.Web.WebApi.Controllers.CommonController">
<summary> <summary>
通用调用接口数据 通用调用接口数据