Commit 144b67c9 authored by 000's avatar 000

Merge branch 'dev' into 'feature_recommend_q'

Dev

See merge request !6
parents d7b08afb a9f20e26
......@@ -64,7 +64,6 @@
var rsult=hgService.checkIfLimited(); //检测是否限制后台运行
if(rsult.isLimit){ //限制了后台运行
hgService.requestIgnoreLimit(); //申请
......@@ -76,7 +75,6 @@
//var globalEvent = uni.requireNativePlugin('globalEvent'); //全局事件回调 任务启动时间,会有一定延时 一般一分钟内。
},
// hgServiceFun(){
// const pushLive = uni.requireNativePlugin('push-live');
// pushLive.startService({ //启动服务
......
......@@ -176,11 +176,8 @@
var platform = uni.getSystemInfoSync().platform
//根据当前平台去后台检测版本号
//这是我的逻辑,自己自定义
if(debug.isdebug){
}else {
if(!debug.isdebug) {
//正式版的APP更新处理
uni.request({
......@@ -192,30 +189,11 @@
user_token:this.$store.state.token,
},
success: (result) => {
console.log(result,"result");
var str = widgetInfo.version;
var str1 = "";
var dian = 0;
for(let i =0;i<str.length;i++){
if(str[i]=="."){
if(dian==1){
}else{
str1+=str[i];
}
dian++;
}else{
str1+=str[i];
}
}
let appVersion = parseFloat(str1);//当前版本
let nesVersion = parseFloat(result.data.data.version);//最新版本
let appVersion = widgetInfo.versionCode;//当前版本
let nesVersion = result.data.data.version;//最新版本
if (nesVersion > appVersion) {
if (result.data.data.pkgurl != '' && result.data.data.downloadurl == '') {
this.type="pkg";
this.url=result.data.data.pkgurl;
this.title="1";
......
......@@ -3,12 +3,12 @@
//"appid" : "__UNI__FC9419E",
"appid" : "__UNI__1EA80F1", //这个是 web
"description" : "商家",
"versionName" : "1.0.99",
"versionCode" : 199,
"versionName" : "1.102",
"versionCode" : 1102,
"transformPx" : false,
"compatible" : {
"ignoreVersion" : true, //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持
"runtimeVersion" : "2.9.3,2.9.7,2.9.8", //兼容的uni-app运行环境版本号,多个版本使用,分割
"runtimeVersion" : "2.9.8,2.9.11,3.0.0,3.0.1", //兼容的uni-app运行环境版本号,多个版本使用,分割
"compilerVersion" : "2.9.8" //兼容的编译器版本号
},
/* 5+App特有相关weex */
......@@ -164,7 +164,22 @@
}
},
"compilerVersion" : 2,
"nativePlugins" : {}
"nativePlugins" : {
"HG-Background" : {
"__plugin_info__" : {
"name" : "保活 前台运行",
"description" : "用于提高app存活概率或添加前台显示 q群:219508489",
"platforms" : "Android",
"url" : "https://ext.dcloud.net.cn/plugin?id=2203",
"android_package_name" : "com.app.lumastore",
"ios_bundle_id" : "",
"isCloud" : true,
"bought" : 1,
"pid" : "2203",
"parameters" : {}
}
}
}
},
/* 快应用特有相关 */
"quickapp" : {},
......
......@@ -341,6 +341,7 @@
},
data() {
return {
linkage_id:'',
is_datashow:true,
bools:'',
......@@ -429,7 +430,13 @@
{}
],
isShow:false,
chindformList:[],
chindformList:[],
myProps:{
label:'cate_name',
value: 'cate_id',
children: '',
},
//上传图片相关的
c_pics: [],
c_pics1:[],
......@@ -611,6 +618,7 @@
}
},
async findEleProduct(results){
console.log('查找商品')
uni.showLoading({title:'请稍后'});
let res=await findEleProduct({code:results.code});
......@@ -662,6 +670,8 @@
this.codeDisabled=true;//条形码输入框是否禁止输入
this.c_pics=[{code:0,data:res.data.photo,msg:"success",time:"1587101904"}];
// console.log(this.chindformList);
for(var i = 0; i < this.chindformList.length; i++) {
if(this.chindformList[i].cate_id==res.data.cate_id){
this.cate_name=this.chindformList[i].cate_name;
......@@ -669,6 +679,9 @@
}
}
}
},
myProps(){
},
saoma(e){
uni.scanCode({
......@@ -725,11 +738,11 @@
},
confirm(e){
console.log(e)
this.cate_name = e.item.cate_name;
this.form.cate_id =e.item.cate_id;
this.index = e.index;
},
},
pickerone(){
this.$refs.picker.show() // 显示
},
......@@ -741,7 +754,8 @@
},
//分类选中
bindPickerChange(e){
console.info(e.detail.value);
console.info(e.detail.value);
console.log(this.chindformList)
this.cate_name = this.chindformList[e.detail.value].cate_name;
this.form.cate_id = this.chindformList[e.detail.value].cate_id;
this.index = e.detail.value;
......@@ -760,7 +774,8 @@
},
//修改的时候赋初始值
async eleProductInfofun(){
async eleProductInfofun(){
let that=this;
let res = await eleProductInfo({
product_id:this.product_id,
});
......@@ -800,24 +815,32 @@
this.form.commission = res.data.commission, //返佣比例
this.form.sell_type = res.data.sell_type, // 售卖类型
this.form.mandatory = res.data.mandatory
this.video_photos=res.data.video_photos;//轮播
this.detail_photos=res.data.detail_photos;//详情
res.data.video_photos.map(item=>{ //轮播
this.c_pics1.push({
code:0,
data:item,
msg:"success",
time:"1587101904"
})
})
res.data.detail_photos.map(item=>{ //详情
this.c_pics2.push({
code:0,
data:item,
msg:"success",
time:"1587101904"
})
})
if(typeof res.data.video_photos == 'object'){
this.video_photos=res.data.video_photos;//轮播
for(let i in res.data.video_photos){
this.c_pics1.push({
code:0,
data:res.data.video_photos[i],
msg:"success",
time:"1587101904"
});
}
}
if(typeof res.data.detail_photos == 'object'){
this.detail_photos=res.data.detail_photos;//详情
for(let i in res.data.detail_photos){
this.c_pics2.push({
code:0,
data:res.data.detail_photos[i],
msg:"success",
time:"1587101904"
});
}
}
//下拉分类 初始值
this.chindformList.forEach((item,index)=>{
if(item.cate_id==res.data.cate_id){
......@@ -826,6 +849,8 @@
}
});
if(res.data.commodity_type == 'ordinary') {
this.ordinary.map(item=>{
if(this.linkage_product_id == item.product_id){
......@@ -890,6 +915,7 @@
// this.$api.msg("秒杀库存或限购数量不能为小数");
// return false;
// }
let can = {
action:this.product_id==''?'add':'edit',
linkage_id:this.linkage_id,
......@@ -982,7 +1008,8 @@
async typeManagerfun(){
let res = await typeManager({});
if(res.code==0){
this.chindformList = res.data;
this.chindformList = res.data;
if(this.product_id!=undefined && this.product_id!=""){
this.eleProductInfofun();
}
......
......@@ -230,9 +230,11 @@
this.goods_list = [];
this.page = 1;
this.isallshow=false;
this.tabactive = 1,
// this.goods_product_list();
this.searchProduct();
},
},
computed: {
staticUrl () {//静态资源地址
return this.$store.state.staticUrl;
......
......@@ -368,15 +368,6 @@
}
},
onLoad() {
getskipShop({
type: 'bld'
}).then(res => {
if (res.code == 0) {
this.is_bld = res.data.is_bld
// this.is_bld = 1
}
})
//显示欢迎回来~
setTimeout(() => {
this.$refs.Welcome.show();
......@@ -410,6 +401,16 @@
// uni.stopPullDownRefresh();//结束下拉刷新
},
onShow() {
getskipShop({
type: 'bld'
}).then(res => {
if (res.code == 0) {
this.is_bld = res.data.is_bld
// this.is_bld = 1
}
})
this.storeIndexfun();
......@@ -439,13 +440,21 @@
activity_nucleus(param).then(res => {
if (res.code == 0) {
this.$api.msg(res.msg);
uni.showModal({
title:'提示',
content:res.msg,
showCancel:false,
confirmText:'确定',
success() {
}
})
}else{
this.$api.msg(res.msg);
}
})
return;
} else if (res.scanType == 'EAN_13') {
} else{
uni.request({
url: 'https://www.mxnzp.com/api/barcode/goods/details', //仅为示例,并非真实接口地址。
data: {
......@@ -456,9 +465,7 @@
},
method: 'GET',
success: (results) => {
// console.log(results);
if (results.data.code == 0) {
// this.$api.msg(results.data.msg);
results.isScanCode = false;
results.code = res.result;
uni.navigateTo({
......@@ -470,12 +477,9 @@
uni.navigateTo({
url: '/pages/addEditEleProduct/addEditEleProduct?results=' + JSON.stringify(results)
})
// console.log(results)
}
},
fail: (results) => {
// console.log(results);
results.isScanCode = false;
results.code = res.result;
uni.navigateTo({
......@@ -564,7 +568,6 @@
this.is_luck_draw = res.data.shop_info.is_luck_draw
this.money_type = res.data.shop_info.money_type
this.activity_type = res.data.shop_info.activity_type //判断是否有秒杀资格
console.log(this.shop_type,'aa')
} else {
this.$api.msg(res.msg);
}
......
......@@ -333,6 +333,6 @@
}
.orderlist{
padding: 100upx 24upx 0 24upx;box-sizing: border-box;
padding: 40upx 24upx 0 24upx;box-sizing: border-box;
}
</style>
......@@ -27,7 +27,7 @@ export default {
name: '',
mobile: '',
address: '',
type: '',//退款退款 退款
type: 1,//同意
refund_id: ''
}
},
......@@ -42,10 +42,8 @@ export default {
},
onLoad(option){
// console.log(option)
this.type = option.type;
console.log(option)
this.refund_id = option.refund_id;
// console.log(this.refund_id,this.type)
},
methods: {
refundExamine(){//提交
......
......@@ -223,6 +223,7 @@ export default {
this.is_loading_done = false;
this.pageNum = 0;
this.order = [];
this.refundOrder=[];
this.initializedata();
},
onUnload() {
......@@ -355,6 +356,7 @@ export default {
let is_dianping = event.currentTarget.dataset.is_dianping;
let sale_status = event.currentTarget.dataset.sale_status;
this.order = [];
this.refundOrder=[];
this.statusTab = statusTab;
this.tabactive = statusTab;
this.status = status;
......@@ -363,6 +365,9 @@ export default {
this.is_loading_done = false;
this.currentTab = event.target.dataset.current;
this.pageNum = 0;
console.log(this.refundOrder,'aaaa');
this.initializedata();
},
// 拒绝退款原因关闭弹窗
......@@ -637,7 +642,7 @@ export default {
duration: 2000,
icon: 'none'
});
this.listDeal2(); //确认收货成功自动刷新售后列表
// this.listDeal2(); //确认收货成功自动刷新售后列表
} else {
this.$api.msg(res.msg);
}
......
<template>
<!-- 商家查看自己店铺的订单详情 -->
<!-- 订单 order -->
<view class="shoporderdetale xiangq yocode">
<view class="beijingimg" style="height:80px">
<!-- <view class="onetitle">{{detail.orderstatus}}</view>
<view class="twotitle">{{detail.statusdesc}}</view> -->
</view>
<view class="boxs">
<view class="topbox_20 addresone" v-if="detail.delivery_type>=1">
<view class="ali-c">
<view class="weizhiimg">
<image class="imgs" src="/static/news/address.png"></image>
</view>
<view class="flex1 ml-20 addrnamesv">
<view class="sz_30 bt_hei">{{detail.addr.name}} {{detail.addr.mobile}}</view>
<view class="sz_30 bt_hei mt-10">{{detail.addr.addr}}</view>
</view>
</view>
</view>
<view class="topbox_20 mt-60 addresone" v-else>
<view class="ali-c">
<view class="weizhiimg">
<image class="imgs" src="/static/news/storeicon.png"></image>
</view>
<view class="flex1 ml-20">
<view class="sz_30 bt_hei">到店支付</view>
</view>
</view>
</view>
<view class="topbox_20 mt-20">
<view class="ali-c">
<view class="tubiimg mr-20">
<image class="imgs" src="/static/news/storeicon.png"></image>
</view>
<view class="bt_min flex1">{{detail.shop_name}}</view>
</view>
<view class="flex mt-30" v-for='(item,index) in detail.products' :key='index' >
<view class="tuimg br_10 ov">
<image class="imgs" :src="staticUrl+item.photo" v-if="item.photo"></image>
<image class="imgs" :src="staticUrl+detail.photo" v-else ></image>
</view>
<view class="flex1 ml-25 goodsboxs">
<view class="sz_30 bt_hei twoline names" style="height:65upx">{{item.goods_name}}</view>
<view class="sz_26 bt_hei mt-10 prices">价格{{item.fprice}}
<!-- <text class="ml-20 prices" v-if="detail.buytype==0 && item.recprice >0">充值价{{item.recprice}}</text> -->
</view>
<view class="sz_26 inp_hui mt-10 skunames">规格:{{item.sku_name}}<text class="ml-20"></text>
</view>
<view class="sz_26 inp_hui mt-10 sumns">数量: x {{item.goodsnum}}</view>
</view>
</view>
</view>
<view class="topbox_20 mt-20 ">
<view class="ali-z sz_30 bt_hei flex ali-c jus-b">
<view>已优惠:</view>
<view style="color: red;font-size: 20upx;">{{detail.cprice}}</view>
</view>
</view>
<view class="topbox_20 mt-20 ">
<view class="ali-z sz_30 bt_hei flex ali-c jus-b">
<view>总计:</view>
<view style="color: red;">¥{{detail.total}}</view>
</view>
</view>
<!-- 第二排 -->
<view class="cellboxs cellboxstow" v-if='logs'>
<view class="subsbox cellitems flex ali-c jus-b">
<view class="name">订单信息</view>
</view>
<view class="cellitems flex ali-c jus-b">
<view class="name">订单编号</view>
<view class="vlas">{{logs.order_sn}}</view>
</view>
<view class="cellitems flex ali-c jus-b">
<view class="name">创建时间</view>
<view class="vlas">{{logs.createtime}}</view>
</view>
<view class="cellitems flex ali-c jus-b" v-if="detail.status==4">
<view class="name">退款原因</view>
<view class="vlas">{{detail.refund_details}}</view>
</view>
</view>
<!-- 订单信息 -->
<!-- 联系客服 -->
<view class="ordertelbox flex ">
<view class="itemboxss flex1 flex flexc" @tap="xlsj" :data-tel='detail.addr.mobile'>
<image class="img" src="/static/news/telicon1.png" mode=""></image>
<view class="name">联系客户</view>
</view>
<view class="itemboxss flex1 flex flexc" @tap="lxpt">
<image class="img" src="/static/news/kefuicon.png" mode=""></image>
<view class="name">联系平台</view>
</view>
</view>
<!-- 猜你会买 -->
</view>
</view>
</template>
<script>
import { orderDetails } from "@/utils/api/api.js";
export default {
data(){
return {
order_id:"",
detail:{addr:{mobile:""}},
logs:{},
}
},
computed: {
staticUrl () {//静态资源地址
return this.$store.state.staticUrl;
}
},
onLoad(options) {
this.order_id = options.order_id;
this.initializedata();
},
methods:{
xlsj(){//联系客户
uni.makePhoneCall({
phoneNumber: this.detail.addr.mobile //仅为示例
});
},
//联系平台
lxpt(){
uni.makePhoneCall({
phoneNumber: '15907083784' //仅为示例
});
},
initializedata() {
var that = this;
let params = {
order_id: that.order_id,
};
orderDetails(params).then(res => {
console.log(res);
if(res.code<0){
// app.showToast({title: res.msg});
this.$api.msg(res.msg);
}else{
// that.setData({
// detail: res.data.detail,
// logs:res.data.logs,
// CONFIG: app.globalData.CONFIG
// })
this.detail = res.data.detail;
this.logs = res.data.logs;
//this.CONFIG =
}
})
},
callTel: function (e) {
uni.makePhoneCall({
phoneNumber: e.currentTarget.dataset.tel // 仅为示例,并非真实的电话号码
})
},
},
}
</script>
<style lang="scss">
/* pages/shop//order/weidianorder/weidianLine_item/weidianLine_item.wxss */
.ml-20{
margin-left: 20upx;
}
.mt-20{
margin-top: 20upx;
}
.mr-20{
margin-right: 20upx;
}
.mt-30{
margin-top: 30upx;
}
.ml-25{
margin-left: 25upx;
}
.sz_30{
font-size: 30upx;
}
.beijingimg {
background: linear-gradient(#FF5A03,#FF4216);
width: 100%;
height: 300upx;
position: absolute;
top: 0;
z-index: 1;
padding-left: 20upx;
padding-top: 25px;
.onetitle{
color:#FFFFFF;
font-size: 30upx;
}
.twotitle{
color:#FFFFFF;
font-size: 28upx;
}
}
.addresone{
margin-top: 20px;
}
.boxs {
position: relative;
z-index:2;
width: 100%;
padding: 24upx;
box-sizing: border-box;
}
.bt_min{
font-size: 30upx;
}
.addrnamesv{
font-size: 30upx;
}
.topbox_20 {
width: 100%;
background: rgba(255,255,255,1);
border-radius: 14rpx;
padding: 20upx;
box-sizing: border-box;
font-size: 30upx;
}
.skunames{
font-size: 24upx;
}
page{
position: relative;
padding-bottom: 100upx;
background: #F5F5F5;
}
.weizhiimg{
width: 30upx;
height: 46upx;
.imgs{
width: 30upx;
height: 46upx;
}
}
.shuwuimg{
width:67upx;
height:67upx;
border-radius:4upx;
overflow: hidden;
}
.btbox{
width:190upx;
height:77upx;
background:rgba(255,255,255,1);
border-radius:4upx;
}
.xiangyouimg{
width:14upx;
height:24upx;
}
.dianhuimg{
width:42upx;
height:42upx;
}
.kuai{
width:40upx;
height:40upx;
text-align: center;
line-height: 40upx;
font-size:24upx;
font-weight:500;
color:rgba(255,255,255,1);
}
.dibu_qr{
position: fixed;
bottom: 0;
width:100%;
background:rgba(255,255,255,1);
padding: 10upx 24upx;
box-sizing: border-box;
}
.beizhu{
width: 150upx;
text-align: right;
}
.tubiimg{
width:27upx;
height:24upx;
.imgs{
width:27upx;
height:24upx;
}
}
.tuimg{
width:183upx;
height:183upx;
.imgs{
width:183upx;
height:183upx;
}
}
view{
line-height: 112%;
letter-spacing:3upx
}
.dianhuimg{
width:43upx;
height:43upx;
}
.shuxian{
width:1px;
height:100upx;
background:rgba(242,242,242,1);
}
.duanxian{
width:45upx;
height:1px;
background: rgba(181,181,181,1);
}
.cptjimg{
width:100%;
height:310upx;
}
/* 取消弹窗 */
.zan-dialog__mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 10;
background: rgba(0, 0, 0, .5);
display: none;
}
.zan-dialog__container {
position: fixed;
bottom: 400upx;
width: 650upx;
height: 350upx;
margin-left: 50upx;
background: #f8f8f8;
transform: translateY(300%);
transition: all 0.4s ease;
z-index: 12;
border-radius: 20upx;
/* box-shadow: 0px 3px 3px 2px gainsboro; */
}
.zan-dialog--show .zan-dialog__container {
transform: translateY(0);
}
.zan-dialog--show .zan-dialog__mask {
display: block;
}
.goodsboxs{
font-size: 30upx;
.names{
font-size: 30upx;
}
.prices{
font-size: 30upx;
}
.sumns{
color:rgb(192, 190, 190);
}
}
//联系kefu 客服
.ordertelbox{
margin: 0 24upx;
margin-top: 20upx;
height:89upx;
background:rgba(255,255,255,1);
border-radius:0px 0px 14upx 14upx;
.itemboxss{
position: relative;
height: 89upx;
line-height: 89upx;
.img{
width:43upx;
height:43upx;
margin-right: 20upx;
}
.name{
font-size:30upx;
color:rgba(0,0,0,1);
}
}
.itemboxss:nth-child(1):after{
content: "";
width:1px;
height:89px;
background:rgba(242,242,242,1);
position: absolute;
top:0;
right: 0;
}
}
//客服end
//价格明细列表
.cellboxs{
margin: 20upx 0;
margin-top: 20upx;
.cellitems{
padding: 0 20upx;
height: 88upx;
line-height: 88upx;
border-bottom: 1px solid #F5F1F1;
background: #FFFFFF;
.name{
font-size:30upx;
color:rgba(0,0,0,1);
}
.vlas{
font-size:30upx;
color:rgba(0,0,0,1);
}
}
.cellitems:nth-last-child(1){
border:0;
}
.subsbox{
.name{
font-size:30upx;
font-family:PingFang SC;
font-weight:bold;
color:rgba(0,0,0,1);
}
.vlas{
color:#FF6900;
.fuhao{
font-size: 30upx;
}
.shuzi{
font-family:PingFang SC;
font-weight:bold;
font-size: 36upx;
}
}
}
}
// .cellboxstow{
// margin-top: 0;
// margin-bottom: 0;
// }
<template>
<!-- 商家查看自己店铺的订单详情 -->
<!-- 订单 order -->
<view class="shoporderdetale xiangq yocode">
<view class="beijingimg" style="height:80px">
<!-- <view class="onetitle">{{detail.orderstatus}}</view>
<view class="twotitle">{{detail.statusdesc}}</view> -->
</view>
<view class="boxs">
<view class="topbox_20 addresone" v-if="detail.delivery_type>=1">
<view class="ali-c">
<view class="weizhiimg">
<image class="imgs" src="/static/news/address.png"></image>
</view>
<view class="flex1 ml-20 addrnamesv">
<view class="sz_30 bt_hei">{{detail.addr.name}} {{detail.addr.mobile}}</view>
<view class="sz_30 bt_hei mt-10">{{detail.addr.addr}}</view>
</view>
</view>
</view>
<view class="topbox_20 mt-60 addresone" v-else>
<view class="ali-c">
<view class="weizhiimg">
<image class="imgs" src="/static/news/storeicon.png"></image>
</view>
<view class="flex1 ml-20">
<view class="sz_30 bt_hei">到店支付</view>
</view>
</view>
</view>
<view class="topbox_20 mt-20">
<view class="ali-c">
<view class="tubiimg mr-20">
<image class="imgs" src="/static/news/storeicon.png"></image>
</view>
<view class="bt_min flex1">{{detail.shop_name}}</view>
</view>
<view class="flex mt-30" v-for='(item,index) in detail.products' :key='index'>
<view class="tuimg br_10 ov">
<image class="imgs" :src="staticUrl+item.photo" v-if="item.photo"></image>
<image class="imgs" :src="staticUrl+detail.photo" v-else></image>
</view>
<view class="flex1 ml-25 goodsboxs">
<view class="sz_30 bt_hei twoline names" style="height:65upx">{{item.goods_name}}</view>
<view class="sz_26 bt_hei mt-10 prices">价格{{item.fprice}}
<!-- <text class="ml-20 prices" v-if="detail.buytype==0 && item.recprice >0">充值价{{item.recprice}}</text> -->
</view>
<view class="sz_26 inp_hui mt-10 skunames">规格:{{item.sku_name}}<text class="ml-20"></text>
</view>
<view class="sz_26 inp_hui mt-10 sumns">数量: x {{item.goodsnum}}</view>
</view>
</view>
</view>
<view class="topbox_20 mt-20 ">
<view class="ali-z sz_30 bt_hei flex ali-c jus-b">
<view>已优惠:</view>
<view style="color: red;font-size: 20upx;">{{detail.cprice}}</view>
</view>
</view>
<view class="topbox_20 mt-20 ">
<view class="ali-z sz_30 bt_hei flex ali-c jus-b">
<view>总计:</view>
<view style="color: red;">¥{{detail.total}}</view>
</view>
</view>
<!-- 第二排 -->
<view class="cellboxs cellboxstow" v-if='logs'>
<view class="subsbox cellitems flex ali-c jus-b">
<view class="name">订单信息</view>
</view>
<view class="cellitems flex ali-c jus-b">
<view class="name">订单编号</view>
<view class="vlas">{{logs.order_sn}}</view>
</view>
<view class="cellitems flex ali-c jus-b">
<view class="name">创建时间</view>
<view class="vlas">{{logs.createtime}}</view>
</view>
<view class="cellitems flex ali-c jus-b" v-if="detail.status==4">
<view class="name">退款原因</view>
<view class="vlas">{{detail.refund_details}}</view>
</view>
<view class="cellitems flex ali-c jus-b" >
<view class="name" style="width: 30%;">订单备注:</view>
<view class="vlas" style="text-align: left;">{{detail.message==''?'':detail.message}}</view>
</view>
</view>
<!-- 订单信息 -->
<!-- 联系客服 -->
<view class="ordertelbox flex ">
<view class="itemboxss flex1 flex flexc" @tap="xlsj" :data-tel='detail.addr.mobile'>
<image class="img" src="/static/news/telicon1.png" mode=""></image>
<view class="name">联系客户</view>
</view>
<view class="itemboxss flex1 flex flexc" @tap="lxpt">
<image class="img" src="/static/news/kefuicon.png" mode=""></image>
<view class="name">联系平台</view>
</view>
</view>
<!-- 猜你会买 -->
</view>
</view>
</template>
<script>
import {
orderDetails
} from "@/utils/api/api.js";
export default {
data() {
return {
order_id: "",
detail: {
addr: {
mobile: ""
}
},
logs: {},
}
},
computed: {
staticUrl() { //静态资源地址
return this.$store.state.staticUrl;
}
},
onLoad(options) {
this.order_id = options.order_id;
this.initializedata();
},
methods: {
xlsj() { //联系客户
uni.makePhoneCall({
phoneNumber: this.detail.addr.mobile //仅为示例
});
},
//联系平台
lxpt() {
uni.makePhoneCall({
phoneNumber: '15907083784' //仅为示例
});
},
initializedata() {
var that = this;
let params = {
order_id: that.order_id,
};
orderDetails(params).then(res => {
console.log(res);
if (res.code < 0) {
// app.showToast({title: res.msg});
this.$api.msg(res.msg);
} else {
// that.setData({
// detail: res.data.detail,
// logs:res.data.logs,
// CONFIG: app.globalData.CONFIG
// })
this.detail = res.data.detail;
this.logs = res.data.logs;
//this.CONFIG =
}
})
},
callTel: function(e) {
uni.makePhoneCall({
phoneNumber: e.currentTarget.dataset.tel // 仅为示例,并非真实的电话号码
})
},
},
}
</script>
<style lang="scss">
/* pages/shop//order/weidianorder/weidianLine_item/weidianLine_item.wxss */
.ml-20 {
margin-left: 20upx;
}
.mt-20 {
margin-top: 20upx;
}
.mr-20 {
margin-right: 20upx;
}
.mt-30 {
margin-top: 30upx;
}
.ml-25 {
margin-left: 25upx;
}
.sz_30 {
font-size: 30upx;
}
.beijingimg {
background: linear-gradient(#FF5A03, #FF4216);
width: 100%;
height: 300upx;
position: absolute;
top: 0;
z-index: 1;
padding-left: 20upx;
padding-top: 25px;
.onetitle {
color: #FFFFFF;
font-size: 30upx;
}
.twotitle {
color: #FFFFFF;
font-size: 28upx;
}
}
.addresone {
margin-top: 20px;
}
.boxs {
position: relative;
z-index: 2;
width: 100%;
padding: 24upx;
box-sizing: border-box;
}
.bt_min {
font-size: 30upx;
}
.addrnamesv {
font-size: 30upx;
}
.topbox_20 {
width: 100%;
background: rgba(255, 255, 255, 1);
border-radius: 14rpx;
padding: 20upx;
box-sizing: border-box;
font-size: 30upx;
}
.skunames {
font-size: 24upx;
}
page {
position: relative;
padding-bottom: 100upx;
background: #F5F5F5;
}
.weizhiimg {
width: 30upx;
height: 46upx;
.imgs {
width: 30upx;
height: 46upx;
}
}
.shuwuimg {
width: 67upx;
height: 67upx;
border-radius: 4upx;
overflow: hidden;
}
.btbox {
width: 190upx;
height: 77upx;
background: rgba(255, 255, 255, 1);
border-radius: 4upx;
}
.xiangyouimg {
width: 14upx;
height: 24upx;
}
.dianhuimg {
width: 42upx;
height: 42upx;
}
.kuai {
width: 40upx;
height: 40upx;
text-align: center;
line-height: 40upx;
font-size: 24upx;
font-weight: 500;
color: rgba(255, 255, 255, 1);
}
.dibu_qr {
position: fixed;
bottom: 0;
width: 100%;
background: rgba(255, 255, 255, 1);
padding: 10upx 24upx;
box-sizing: border-box;
}
.beizhu {
width: 150upx;
text-align: right;
}
.tubiimg {
width: 27upx;
height: 24upx;
.imgs {
width: 27upx;
height: 24upx;
}
}
.tuimg {
width: 183upx;
height: 183upx;
.imgs {
width: 183upx;
height: 183upx;
}
}
view {
line-height: 112%;
letter-spacing: 3upx
}
.dianhuimg {
width: 43upx;
height: 43upx;
}
.shuxian {
width: 1px;
height: 100upx;
background: rgba(242, 242, 242, 1);
}
.duanxian {
width: 45upx;
height: 1px;
background: rgba(181, 181, 181, 1);
}
.cptjimg {
width: 100%;
height: 310upx;
}
/* 取消弹窗 */
.zan-dialog__mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 10;
background: rgba(0, 0, 0, .5);
display: none;
}
.zan-dialog__container {
position: fixed;
bottom: 400upx;
width: 650upx;
height: 350upx;
margin-left: 50upx;
background: #f8f8f8;
transform: translateY(300%);
transition: all 0.4s ease;
z-index: 12;
border-radius: 20upx;
/* box-shadow: 0px 3px 3px 2px gainsboro; */
}
.zan-dialog--show .zan-dialog__container {
transform: translateY(0);
}
.zan-dialog--show .zan-dialog__mask {
display: block;
}
.goodsboxs {
font-size: 30upx;
.names {
font-size: 30upx;
}
.prices {
font-size: 30upx;
}
.sumns {
color: rgb(192, 190, 190);
}
}
//联系kefu 客服
.ordertelbox {
margin: 0 24upx;
margin-top: 20upx;
height: 89upx;
background: rgba(255, 255, 255, 1);
border-radius: 0px 0px 14upx 14upx;
.itemboxss {
position: relative;
height: 89upx;
line-height: 89upx;
.img {
width: 43upx;
height: 43upx;
margin-right: 20upx;
}
.name {
font-size: 30upx;
color: rgba(0, 0, 0, 1);
}
}
.itemboxss:nth-child(1):after {
content: "";
width: 1px;
height: 89px;
background: rgba(242, 242, 242, 1);
position: absolute;
top: 0;
right: 0;
}
}
//客服end
//价格明细列表
.cellboxs {
margin: 20upx 0;
margin-top: 20upx;
.cellitems {
padding: 0 20upx;
height: 88upx;
line-height: 88upx;
border-bottom: 1px solid #F5F1F1;
background: #FFFFFF;
.name {
font-size: 30upx;
color: rgba(0, 0, 0, 1);
}
.vlas {
font-size: 30upx;
color: rgba(0, 0, 0, 1);
}
}
.cellitems:nth-last-child(1) {
border: 0;
}
.subsbox {
.name {
font-size: 30upx;
font-family: PingFang SC;
font-weight: bold;
color: rgba(0, 0, 0, 1);
}
.vlas {
color: #FF6900;
.fuhao {
font-size: 30upx;
}
.shuzi {
font-family: PingFang SC;
font-weight: bold;
font-size: 36upx;
}
}
}
}
// .cellboxstow{
// margin-top: 0;
// margin-bottom: 0;
// }
</style>
......@@ -2,12 +2,12 @@
<!-- 商家查看自己店铺的售后订单详情 -->
<!-- 订单 order -->
<view class="shoporderdetale xiangq yocode">
<view class="beijingimg" style="height:80px">
<!-- <view class="onetitle">{{detail.orderstatus}}</view>
<view class="twotitle">{{detail.statusdesc}}</view> -->
<view class="beijingimg">
<image src="https://luma.jxdsy.cn/static/applet5/2020/index/group_img/defeated.png" mode="" style="width: 100%;height: 240upx;"></image>
<view class="twotitle">{{detail.desc}}</view>
</view>
<view class="boxs">
<view class="topbox_20 addresone">
<view class="topbox_20 mt-20">
<view class="ali-c">
<view class="weizhiimg"><image class="imgs" src="/static/news/address.png"></image></view>
<view class="flex1 ml-20 addrnamesv">
......@@ -26,15 +26,15 @@
</view> -->
<!-- 售后说明 -->
<view class="topbox_20 mt-20">
<view class="topbox_20 mt-20" v-if="detail.refund_datail != '' || detail.refund_pics.length>0 ">
<view style="font-size: 30upx;font-weight: 500;">售后说明</view>
<view class="mt-20">{{ detail.refund_datail ? detail.refund_datail : '暂无说明' }}</view>
<view v-if="detail.refund_pics.length>0">
<view class="mt-20 refund_datail">{{ detail.refund_datail }}</view>
<view class="datail_img">
<image
:src="staticUrl + item"
mode=""
v-for="(item, index) in detail.refund_pics"
style="width: 244upx;height: 220upx;padding: 0 20upx 0 0;margin: 10upx 0upx;"
style="width: 220upx;height: 196upx;flex-grow: 1;padding: 4upx;"
></image>
</view>
</view>
......@@ -126,7 +126,7 @@ export default {
data() {
return {
refund_id: '',
detail: '' //售后详情
detail: {adress:{}} //售后详情
// logs:{},
};
},
......@@ -200,24 +200,21 @@ export default {
font-size: 30upx;
}
.beijingimg {
background: linear-gradient(#ff5a03, #ff4216);
// background: linear-gradient(#ff5a03, #ff4216);
width: 100%;
height: 300upx;
position: absolute;
top: 0;
z-index: 1;
padding-left: 20upx;
padding-top: 25px;
.onetitle {
color: #ffffff;
font-size: 30upx;
}
// padding: 30upx 24upx;
position: relative;
.twotitle {
color: #ffffff;
font-size: 28upx;
position: absolute;
z-index: 99;
top: 60upx;
color: rgba(255, 255, 255, 1);
font-size: 38upx;
font-weight: 500;
line-height: 40upx;
margin-left: 40upx;
}
}
.addresone {
margin-top: 20px;
}
......@@ -225,7 +222,8 @@ export default {
position: relative;
z-index: 2;
width: 100%;
padding: 24upx;
padding: 0upx 24upx;
// margin-top: 60upx;
box-sizing: border-box;
}
.bt_min {
......@@ -463,9 +461,15 @@ view {
}
}
}
// .cellboxstow{
// margin-top: 0;
// margin-bottom: 0;
// }
.datail_img{
// width: 100%;
display: flex;
flex-direction: row;
justify-content: start;
align-items: center;
flex-wrap: wrap;
}
.refund_datail{
margin-top: 20upx;
}
</style>
<template>
<view>
<view class="">
<view class="" style="text-align: center;height: 120upx;line-height: 120upx;font-weight: bold;font-size: 32upx;">
已有 <text style="color: #21B94C;font-size: 60upx;">{{receivePeopleNumber}}</text>人领取 还剩{{unreceivePeopleNumber}}人未核销
<view class="projuctTab flex">
<view class="tabitems flex1" :class="{active:tabactive==1}" @tap="taggletab(1)">
<view class="tabtitle">参与人员</view>
<!-- ({{count[0]}}) -->
</view>
<view class="tabitems flex1" :class="{active:tabactive==2}" @tap="taggletab(2)">
<view class="tabtitle">核销人员</view>
<!-- ({{count[1]}}) -->
</view>
</view>
<view class="" style="height: 160upx;padding: 0 24upx;background-color: rgb(255, 255, 255);margin-bottom: 20upx;" v-if="getDetail.length > 0 " v-for="(item,index) in getDetail">
<view class="fx " style="justify-content: space-between;background-color: #fff; align-items: center;
height: 100%">
<view class="fx" style="width: 75%;align-items: center;" >
<view style="height: 120upx;width: 120upx;border-radius: 120upx;text-align: center;line-height: 80upx;overflow: hidden;">
<image :src="item.face" style="display: inline;"></image>
<view class="" style="margin-top:90upx ;" :hidden="!(tabactive==1)">
<view class="">
<view class="" style="text-align: center;height: 120upx;line-height: 120upx;font-weight: bold;font-size: 32upx;">
已有 <text style="color: #21B94C;font-size: 60upx;">{{receivePeopleNumber}}</text>人参与
</view>
</view>
<view class="" style="height: 100upx;padding: 0 24upx;background-color: rgb(255, 255, 255);margin-bottom: 2upx;"v-for="(item,index) in getAllDetail">
<view class="fx " style="justify-content: space-between;background-color: #fff; align-items: center;height: 100%">
<view class="fx" style="width: 75%;align-items: center;">
<view style="height: 80upx;width: 80upx;border-radius: 120upx;text-align: center;line-height: 80upx;overflow: hidden;">
<image :src="item.face" style="display: inline;"></image>
</view>
<view style="margin:0 0 0 10upx;width: 75%;padding: 20upx 10upx;">
<view style="font: 34upx 微软雅黑;padding-bottom:10upx ;" class="oneline">{{item.nickname}}</view>
<view style="font-size:20upx;color:rgb(116, 113, 113);padding-top: 10upx;">{{item.create_time}}</view>
</view>
</view>
<view style="margin:0 0 0 10upx;width: 75%;padding: 20upx 10upx;">
<view style="font: 34upx 微软雅黑;padding-bottom:10upx ;" class="oneline">{{item.nickname}}</view>
<view style="font-size:20upx;color:rgb(116, 113, 113);padding-top: 10upx;">{{item.verification_time}}</view>
<view style="width: 15%;height: 104upx;">
<!-- <image src="/static/lingqu.png" mode="" style="width:100% ;height: 100%;display: inline;"></image> -->
</view>
<!-- 关注插槽 -->
<!-- <slot name="before"></slot> -->
</view>
<view style="width: 15%;height: 104upx;">
<!-- <text style="color:#DC143C;padding: 0 12upx;border-radius: 10upx;font-size: 32upx;">
</text> -->
<image src="/static/lingqu.png" mode="" style="width:100% ;height: 100%;display: inline;"></image>
</view>
<!-- 关注插槽 -->
<!-- <slot name="before"></slot> -->
<!-- <slot name="content"> </slot> -->
</view>
<view v-if="getAllDetail.length <= 0" style="text-align: center;width: 100%;height:1000upx;line-height: 1000upx;font-size: 50upx;color:#8C8C8C ;">
<image src="https://luma.jxdsy.cn//static/applet5/images/uts/meiyoule.png" mode=""></image>
</view>
</view>
<view class="" style="margin-top:90upx ;" :hidden="tabactive==1">
<view class="">
<view class="" style="text-align: center;height: 120upx;line-height: 120upx;font-weight: bold;font-size: 32upx;">
已有 <text style="color: #21B94C;font-size: 60upx;">{{enterPeopleNumber}}</text>人核销
</view>
</view>
<!-- <slot name="content"> </slot> -->
</view>
<view v-if="getDetail.length <= 0" style="text-align: center;width: 100%;height:1000upx;line-height: 1000upx;font-size: 50upx;color:#8C8C8C ;">
还没有人领取~~
<view class="" style="height: 100upx;padding: 0 24upx;background-color: rgb(255, 255, 255);margin-bottom: 2upx;"
v-for="(item,index) in getScanDetail">
<view class="fx " style="justify-content: space-between;background-color: #fff; align-items: center;
height: 100%">
<view class="fx" style="width: 75%;align-items: center;">
<view style="height: 80upx;width: 80upx;border-radius: 120upx;text-align: center;line-height: 80upx;overflow: hidden;">
<image :src="item.face" style="display: inline;"></image>
</view>
<view style="margin:0 0 0 10upx;width: 75%;padding: 20upx 10upx;">
<view style="font: 34upx 微软雅黑;padding-bottom:10upx ;" class="oneline">{{item.nickname}}</view>
<view style="font-size:20upx;color:rgb(116, 113, 113);padding-top: 10upx;">{{item.verification_time}}</view>
</view>
</view>
<view style="width: 10%;height: 70upx;">
<image src="/static/lingqu.png" mode="" style="width:100% ;height: 100%;display: inline;"></image>
</view>
<!-- 关注插槽 -->
<!-- <slot name="before"></slot> -->
</view>
<!-- <slot name="content"> </slot> -->
</view>
<view v-if="getScanDetail.length <= 0" style="text-align: center;width: 100%;height:1000upx;line-height: 1000upx;font-size: 50upx;color:#8C8C8C ;">
<image src="https://luma.jxdsy.cn//static/applet5/images/uts/meiyoule.png" mode=""></image>
</view>
</view>
</view>
</template>
......@@ -46,51 +105,22 @@
activity_user
} from '@/utils/api/merchant.js';
export default {
data(){
data() {
return {
shop_id:'',
activity_id:'',
getDetail:[],
page:1,
receivePeopleNumber:0,
unreceivePeopleNumber:0,
shop_id: '',
activity_id: '',
getAllDetail: [], // 参与人员列表
getScanDetail: [], //核销人员列表
allpage: 0, // 参与人员分页数
scanpage: 0, //核销人员分页数
enterPeopleNumber:0,//核销人数
receivePeopleNumber: 0, //参与人数
// unreceivePeopleNumber: 0,
tabactive: 1,
}
},
onReachBottom() {
activity_user({
shop_id:this.shop_id,
activity_id:this.activity_id,
nucleus:1,
page:this.page
}).then(res=>{
if(res.code==0&&res.data.list.length>0){
this.page++
this.getDetail = res.data.list;
this.receivePeopleNumber=res.data.receivePeopleNumber;
this.unreceivePeopleNumber=res.data.unreceivePeopleNumber;
uni.stopPullDownRefresh();
}else{
uni.$api.msg('没有更多数据了')
}
})
},
onPullDownRefresh() {
this.page = 1
activity_user({
shop_id:this.shop_id,
activity_id:this.activity_id,
nucleus:1
}).then(res=>{
if(res.code==0){
this.getDetail = res.data.list
this.receivePeopleNumber=res.data.receivePeopleNumber;
this.unreceivePeopleNumber=res.data.unreceivePeopleNumber;
uni.stopPullDownRefresh();
}
})
},
onLoad(options) {
let that = this
that.activity_id = options.activity_id
......@@ -100,28 +130,238 @@
that.shop_id = res.data.shop_id
}
})
activity_user({
shop_id:that.shop_id,
activity_id:that.activity_id,
nucleus:1
}).then(res=>{
if(res.code==0){
this.getDetail = res.data.list;
this.receivePeopleNumber=res.data.receivePeopleNumber;
this.unreceivePeopleNumber=res.data.unreceivePeopleNumber;
this.activityUserAll(that.shop_id, that.activity_id); //获取参与人员
},
/**
* 触底事件
*/
onReachBottom() {
// console.log('触底了',this.tabactive)
if (this.tabactive == 1) {
this.allpage++
// this.activityUserAll(this.shop_id, this.activity_id, 0, this.allpage)
activity_user({
shop_id: shop_id,
activity_id: activity_id,
nucleus: 0,
page: this.allpage
}).then(res => {
if (res.code == 0) {
this.getScanDetail =[...this.getScanDetail,...res.data.list]
this.receivePeopleNumber = res.data.receivePeopleNumber;
// this.unreceivePeopleNumber = res.data.unreceivePeopleNumber;
}
})
} else if (this.tabactive == 2) {
this.scanpage++
activity_user({
shop_id: shop_id,
activity_id: activity_id,
nucleus: 1,
page: this.scanpage
}).then(res => {
if (res.code == 0) {
this.getScanDetail =[this.getScanDetail,...res.data.list]
this.enterPeopleNumber = res.data.receivePeopleNumber;
// this.unreceivePeopleNumber = res.data.unreceivePeopleNumber;
}
})
// this.activityUserScan(this.shop_id, this.activity_id, 1, this.scanpage)
} else {
return false;
}
},
/**
* 下拉刷新
*/
onPullDownRefresh() {
this.allpage = 1
this.scanpage = 1
this.activityUserAll(this.shop_id, this.activity_id, )
this.activityUserScan(this.shop_id, this.activity_id)
uni.stopPullDownRefresh();
},
methods: {
taggletab(index) {
this.tabactive = index;
if (index == 1) {
this.activityUserAll(this.shop_id, this.activity_id, )
} else if (index == 2) {
this.activityUserScan(this.shop_id, this.activity_id)
}
})
},
/**
* @param {Number} nucleus
* @param {Number} activity_id
* @param {Number} shop_id
*/
activityUserAll(shop_id, activity_id, nucleus = 0, pages = 0) {
activity_user({
shop_id: shop_id,
activity_id: activity_id,
nucleus: nucleus,
page: pages
}).then(res => {
if (res.code == 0) {
this.getAllDetail =res.data.list
this.receivePeopleNumber = res.data.receivePeopleNumber;
// this.unreceivePeopleNumber = res.data.unreceivePeopleNumber;
}
})
},
/**
* @param {Number} nucleus
* @param {Number} activity_id
* @param {Number} shop_id
*/
activityUserScan(shop_id, activity_id, nucleus = 1, pages = 0) {
activity_user({
shop_id: shop_id,
activity_id: activity_id,
nucleus: nucleus,
page: pages
}).then(res => {
if (res.code == 0) {
this.getScanDetail =res.data.list
this.enterPeopleNumber = res.data.receivePeopleNumber;
// this.unreceivePeopleNumber = res.data.unreceivePeopleNumber;
}
})
}
},
}
</script>
<style>
page{
background-color: #EEEEEE;
<style lang="scss">
.projuctlist {
margin: 130upx 24upx;
padding-top: 18upx;
background: rgba(255, 255, 255, 1);
border-radius: 14upx;
.itempro {
position: relative;
border-bottom: 1px solid rgba(220, 220, 220, 1);
padding: 20upx;
.thumbnail {
width: 170upx;
height: 170upx;
border-radius: 6upx;
margin-right: 27upx;
margin-left: 20upx;
}
.infobox {
.title {
font-size: 34upx;
color: rgba(51, 51, 51, 1);
//margin-bottom: 5upx;
}
.time {
//margin-bottom: 5upx;
}
.time,
.price {
font-size: 30upx;
color: rgba(153, 153, 153, 1);
}
}
.btnbox {
position: absolute;
bottom: 5px;
right: 5px;
.btns {
width: 100upx;
height: 60upx;
line-height: 60upx;
text-align: center;
border: 1upx solid rgba(160, 160, 160, 1);
border-radius: 4upx;
font-size: 30upx;
color: rgba(0, 0, 0, 1);
}
.btnboxdel {
margin-left: 16upx;
}
.btnboxxj {
background: #FF6900;
color: #FFFFFF;
border: 0;
margin-left: 16upx;
}
}
}
}
.projuctTab {
background: #FFFFFF;
width: 100%;
height: 98upx;
line-height: 98upx;
position: fixed;
top: 0;
/* #ifdef H5 */
top: 86upx;
/* #endif */
left: 0;
z-index: 99;
.tabitems {
text-align: center;
.tabtitle {
text-align: center;
height: 98upx;
line-height: 98upx;
font-size: 30upx;
display: inline-block;
box-sizing: border-box;
color: #333333;
}
}
.tabitems.active {
.tabtitle {
font-family: PingFang SC;
font-weight: bold;
color: #FF6900;
border-bottom: 1px solid #FF6900;
}
}
}
.fx {
display: flex;
}
......
......@@ -15,7 +15,7 @@
<view class="projuctlist" :hidden="!(tabactive==1)">
<view class="" v-if="start_activity.length>0">
<checkbox-group >
<checkbox-group>
<!-- 单个商品 -->
<view class="itempro flex " v-for="(item,index) in start_activity" :key="index" @click="jumpDetail(item.activity_id)">
<!-- <label class="ali-c">
......@@ -23,40 +23,43 @@
</label> -->
<image class="thumbnail" :src="staticUrl + item.picture" mode=""></image>
<view class="infobox" style="width: 70%;">
<view class="title oneline" style="height:45upx ;">{{item.goods_name}}</view>
<!-- <view class="time">上架时间:{{item.create_time}}</view> -->
<view>
<view style="font-size:26rpx;font-weight:bold;">领取时间:</view>
<view style="font-size:24rpx;color:#656565">{{item.start}}{{item.end}}</view>
</view>
</view>
<view class="btnbox flex" >
<view class="btnbox flex">
<!-- <view class="btns btnboxdel" @tap="deleteEleProductfun(item,index)">删 除</view> -->
<!-- <view class="btns btnboxxj" @tap="Selectiondata(item)" v-if="tabactive==1 && isselect==1">加入活动</view> -->
<!-- <view class="btns btnboxxj" @tap="sold_outfun(item.id,1,index)" v-else-if="tabactive==1">下 架</view> -->
<!-- <view class="btns btnboxxj" @tap="sold_outfun(item.id,0,index)" v-show="tabactive==2">上 架</view> -->
<!-- <view class="btns btnboxxj" @click="setSpecs(item.product_id)" >规格</view> -->
<view >
<view class="btnboxdel flex" style="align-items: center;" @click.stop="switch1Change">
活动开关:<switch :data-activity_id="item.activity_id" :checked="item.state==1" @change="switch1Change" />
<view class="btns btnboxdel" @tap.stop="tochanges(item,index)">修 改</view>
<view>
<view class="btnboxdel flex" style="align-items: center;" @click.stop="switch1Change">
活动开关:
<switch :data-activity_id="item.activity_id" :checked="item.state==1" @change="switch1Change" />
<view class="btns btnboxdel" @tap.stop="tochanges(item,index)">修 改</view>
</view>
</view>
</view>
</view>
</checkbox-group>
</view>
<view v-if="start_activity.length <= 0" style="text-align: center;width: 100%;height:1000upx;line-height: 1000upx;font-size: 50upx;color:#8C8C8C ;">
还没有人领取~~
<image src="https://luma.jxdsy.cn//static/applet5/images/uts/meiyoule.png" mode=""></image>
</view>
</view>
<view class="projuctlist" :hidden="!(tabactive==2)">
<view class="" v-if="end_activity.length > 0">
<checkbox-group >
<checkbox-group>
<!-- 单个商品 -->
<view class="itempro flex " v-for="(item,index) in end_activity" :key="index" @click="jumpDetail(item.activity_id)">
<!-- <label class="ali-c">
......@@ -86,7 +89,7 @@
</checkbox-group>
</view>
<view v-if="end_activity.length <= 0" style="text-align: center;width: 100%;height:1000upx;line-height: 1000upx;font-size: 50upx;color:#8C8C8C ;">
还没有人领取~~
<image src="https://luma.jxdsy.cn//static/applet5/images/uts/meiyoule.png" mode=""></image>
</view>
</view>
......@@ -109,8 +112,8 @@
page: 0,
start_activity: [],
end_activity: [],
endpages:0,
startpages:0
endpages: 0,
startpages: 0
}
},
......@@ -130,8 +133,8 @@
})
},
//下拉刷新
onPullDownRefresh(){
if(this.tabactive == 1){
onPullDownRefresh() {
if (this.tabactive == 1) {
this.startpages = 0
activity_select({
shop_id: this.shop_id,
......@@ -143,8 +146,8 @@
uni.stopPullDownRefresh();
}
})
}else if(this.tabactive == 2){
} else if (this.tabactive == 2) {
this.endpages = 0
activity_select({
shop_id: this.shop_id,
......@@ -156,34 +159,34 @@
uni.stopPullDownRefresh();
}
})
}
},
//上拉触底
onReachBottom(){
onReachBottom() {
if (this.tabactive == 1) {
activity_select({
shop_id: this.shop_id,
page: ++this.startpages,
is_date: 2
}).then(res => {
if (res.code == 0) {
this.start_activity = [...this.start_activity,...res.data.data]
}
})
activity_select({
shop_id: this.shop_id,
page: ++this.startpages,
is_date: 2
}).then(res => {
if (res.code == 0) {
this.start_activity = [...this.start_activity, ...res.data.data]
}
})
} else if (this.tabactive == 2) {
activity_select({
shop_id: this.shop_id,
page: ++this.endpages,
is_date: 1
}).then(res => {
if (res.code == 0) {
this.end_activity = [...this.this.end_activity,...res.data.data]
}
})
}
activity_select({
shop_id: this.shop_id,
page: ++this.endpages,
is_date: 1
}).then(res => {
if (res.code == 0) {
this.end_activity = [...this.end_activity, ...res.data.data]
}
})
}
},
onShow() {
......@@ -214,10 +217,10 @@
},
methods: {
jumpDetail(activity_id){
jumpDetail(activity_id) {
uni.navigateTo({
url:`/pages/publishActivities/activityDetail/activityDetail?activity_id=${activity_id}`
url: `/pages/publishActivities/activityDetail/activityDetail?activity_id=${activity_id}`
})
},
//修改活动
......@@ -227,14 +230,14 @@
url: `/pages/publishActivities/publishActivity/publishActivity?id=${data.activity_id}&type=edit`,
})
},
// 查找产品
findEleProduct(){
findEleProduct() {
},
switch1Change(e) {
if(e.type=='change'){
if (e.type == 'change') {
console.log(e)
if (e.detail.value) {
activity_close({
......@@ -258,10 +261,10 @@
}
})
}
}else{
return ;
} else {
return;
}
},
//交互end
taggletab(index) {
......
<template>
<!-- 商家二维码 -->
<!-- 商家码 -->
<view class="content yocode">
<view class="submitbtn active" @tap="shareQrcode" v-if="!qrShow">生成</view>
<!-- <view class="submitbtn active" @tap="shareFc" v-if="!qrShow">生成</view> -->
<!-- @tap=" saveImage()" -->
<view class="flex_row_c_c modalView" v-if="qrShow" :class="qrShow?'show':''" >
<view class="flex_column">
<!-- backgroundColor-white -->
<view class=" padding1vh border_radius_10px">
<image :src="poster.finalPath" mode="widthFix" class="posterImage"></image>
<image class="bctpbtns" src="/static/bctp.png" mode="" @tap.prevent.stop="saveImage()"></image>
<image class="fxhbbtns" src="/static/fxhb.png" mode="" @tap.prevent.stop="share()"></image>
</view>
<view class="flex_row marginTop2vh">
<!-- <button type="primary" class="buttons" size="mini" @tap.prevent.stop="saveImage()">保存图片</button>
<button type="primary" class="buttons" size="mini" @tap.prevent.stop="hideQr()">关闭</button> -->
<!-- <button type="primary" class="buttons" size="mini" @tap.prevent.stop="share()">分享图片</button> -->
</view>
</view>
</view>
<!-- <button type="primary" class="buttons mt-40 ml-20 mr-20" @tap="shareFc()">生成店铺二维码</button> -->
<view class="hideCanvasView">
<canvas class="hideCanvas"
canvas-id="default_PosterCanvasId"
:style="{width: (poster.width||0) + 'px', height: (poster.height||0) + 'px'}"></canvas>
</view>
</view>
</template>
<script>
import _app from '@/utils/QS-SharePoster/app.js';
import getSharePoster from '@/utils/QS-SharePoster/QS-SharePoster.js';
// import {usersEquity} from "@/utils/api/partner_center.js";
// import {shareQrcode} from "@/utils/api/user.js"
import {createQrcode as shareQrcode} from "@/utils/api/api.js";
export default {
data() {
return {
poster: {},
qrShow: false,
canvasId: 'default_PosterCanvasId',
type:"1",
url:"",
shopInfo:{},
shop_name:"",
shop_id:0,//url传过来的
}
},
computed: {
staticUrl () {//静态资源地址 正式
return this.$store.state.staticUrl;
},
staticUrl1 () {//静态资源地址 测试
return this.$store.state.staticUrl1;
},
statictowUrl(){
return this.$store.state.statictowUrl;
},
userInfo () {
return this.$store.state.userInfo;
},
uploadurl(){
return this.$store.state.uploadurl;
}
},
onLoad(opdata) {
this.type = opdata.type;
this.shop_id = opdata.shop_id;
//this.shareFc();//自动生成
this.shopInfo = uni.getStorageSync('userInfo');
this.shop_name = this.shopInfo.shop_name;
this.shareQrcode();
},
methods: {
//生成二维码
async shareQrcode(){
// uni.showLoading({
// title: '加载中'
// });
let res = await shareQrcode({
type: 3,//固定的
//shareid: app.globalData.storeInfo.shop_id
shareid: this.$store.state.userInfo.shop_id,//店铺id
})
if(res.code==0){
this.url = res.data.file;
// let qrcodeurl = window.location.port=="8080"?this.staticUrl1+this.url:this.staticUrl+this.url;
// let qrcodeurl = window.location.port=="8080"?this.staticUrl1+this.url:this.staticUrl1+this.url;
// let qrcodeurl = this.staticUrl1+this.url;
let qrcodeurl = this.staticUrl1+this.url;
this.url = qrcodeurl;
// https://zxluma.jxdsy.cn/attachs/
//console.info(res.data.file,"路径");
// uni.showLoading({
// title: '生成成功'
// });
this.shareFc();
}else{
uni.showLoading({
title: '生成失败'
});
this.$api.msg(res.msg);
}
setTimeout(function () {
uni.hideLoading();
}, 2000);
},
//生成海报
async shareFc() {
//debugger
try {
if (!this.poster.finalPath) {
let backgroundImage;
let rqcodeobj = {}
// 二维码
rqcodeobj = {
text: '开发测试',
size: 150,//bgObj.width*0.2
dx: 380,//bgObj.width*0.05
dy: 765//bgObj.height - bgObj.width*0.25
}
//计算名称的x轴
let len = this.shop_name.length;
let cha = 0;//差值
let dxsss = 0;//xy 坐标
if(len<=10){
//小于
cha = 10-len;
dxsss = 160 + cha*12;
}else{
//大于
cha = len-10;
dxsss = 160 - cha*12;
}
console.log("计算出来的dx",dxsss);
const d = await getSharePoster({
// backgroundImage:"/static/news/sjrwm.png",
backgroundImage:this.statictowUrl+"static/applet5/images/uts/sjrwm.png",
//暂时使用这个
// backgroundImage:"http://q37tb0wtc.bkt.clouddn.com/sjrwm.png",
// backgroundImage:"https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png?where=super",
// backgroundImage:"https://luma.jxdsy.cn/attachs/2019/07/29/thumb_5d3ecaa81b681.jpg",
type: 'testShareType',
posterCanvasId: this.canvasId,
// qrCodeArray: ({bgObj, type, bgScale}) => {
// return [rqcodeobj]
// },
imagesArray: ({bgObj, type, bgScale}) => { //接收的第一个参数为背景图片的信息, 第二个参数是自定义标识(感觉这里用不到), 图片为示例图片
const dx = bgObj.width*0.3;
return [
//二维码
//二维码放进去
{
url: this.url,// //"https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png?qua=high&where=super",//
dx: 155,//bgObj.width*0.05
dy: 350,//bgObj.height - bgObj.width*0.25
dWidth: 250, // 因为设置了圆形图片 所以要乘以2
dHeight: 250
},
]
},
textArray: ({bgObj, type, bgScale}) => {
const fontSize = bgObj.width*0.045;
const lineHeight = bgObj.height*0.04;
return [
/**
* 商家名称居中 10个字 160/640 刚刚好
* 11个字
*
* 10个以后 每多加一个字 大概要 160- 多出来的个数- 12
*
*
* 10个以下 每少一个字 大概要 160 + 12
*
* ***/
// 文字 先干了
{
text: this.shop_name,//,`测试商家名称测试商家是遭`,//10个字正好
fontWeight: 'bold',
size: 24,
color: '#ffffff',
alpha: 1,
textAlign: 'left',
textBaseline: 'middle',
infoCallBack(textLength) {
//dx 160是侧面对齐
return {
dx: dxsss,//136,//bgObj.width - textLength - fontSize
dy:635 //bgObj.height - lineHeight*2
}
}
},
]
},
setCanvasWH: ({bgObj, type, bgScale}) => { // 为动态设置画布宽高的方法,
this.poster = bgObj;
},
setDraw: ({Context, bgObj, type, bgScale}) => {
// Context.setFillStyle('black');
// Context.setGlobalAlpha(0.3);
// Context.fillRect(0, bgObj.height - bgObj.height*0.2, bgObj.width, bgObj.height*0.2);
}
});
console.log('海报生成成功, 临时路径: ' + d.poster.tempFilePath)
this.poster.finalPath = d.poster.tempFilePath;
}
this.qrShow = true;
} catch (e) {
_app.hideLoading();
_app.showToast(JSON.stringify(e));
console.log(JSON.stringify(e));
}
},
saveImage() {
// #ifndef H5
uni.saveImageToPhotosAlbum({
filePath: this.poster.finalPath,
success(res) {
_app.showToast('保存成功');
}
})
// #endif
// #ifdef H5
_app.showToast('保存了');
// #endif
},
share() {
// #ifdef APP-PLUS
_app.getShare(false, false, 2, '', '', '', this.poster.finalPath, false, false);
// #endif
// #ifndef APP-PLUS
_app.showToast('分享了');
// #endif
},
hideQr() {
this.qrShow = false;
}
}
}
</script>
<style lang="scss">
.hideCanvasView {
position: relative;
}
.hideCanvas {
position: fixed;
top: -99999upx;
left: -99999upx;
z-index: -99999;
}
.flex_row_c_c {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.modalView {
width: 100%;
height: 100%;
// position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 0;
outline: 0;
transform: scale(3);
perspective: 2500upx;
// background: rgba(0, 0, 0, 0.6);
transition: all .3s ease-in-out;
pointer-events: none;
backface-visibility: hidden;
z-index: 999;
}
.modalView.show {
opacity: 1;
transform: scale(1);
pointer-events: auto;
}
.flex_column {
display: flex;
flex-direction: column;
}
.backgroundColor-white {
background-color: white;
}
.border_radius_10px {
border-radius: 10px;
position: relative;
.bctpbtns{
position: absolute;
z-index:10000;
right: 0;
bottom:200px;
width: 57upx;
height: 189upx;
}
.fxhbbtns{
position: absolute;
z-index:10000;
right: 0;
bottom:100px;
width: 57upx;
height: 189upx;
}
}
.padding1vh {
/* padding: 1vh; */
}
.posterImage {
/* width: 60vw; */
width: 100vw;
height: 100vh;
}
.flex_row {
display: flex;
flex-direction: row;
}
.marginTop2vh {
margin-top: 2vh;
}
.buttons{
background: #ff6900!important;
line-height: 40px !important;
}
</style>
<template >
<view :style="{height:windowHeight+'px',background:show?'#EC6919':''}">
<!-- 只要他得高度 -->
<image :src="avaterSrc" class="w1005 posf" style="left: -1000px;" mode="widthFix" @load='imgH'></image>
<view class="w1005">
<canvas :style="{height:bgHeight+'px',width:'100%'}" class="bgf" canvas-id="myCanvas"></canvas>
</view>
<image class="bctpbtns" v-if='show' src="/static/bctp.png" @tap.prevent.stop="saveImage()"></image>
<image class="fxhbbtns" v-if='show' src="/static/fxhb.png" @tap.prevent.stop="share()"></image>
<uni-popup type='bottom' :show='popupShow' @change="change" style="z-index: 999999999 !important;">
<view class="bgf mb-10" style="border-radius: 20upx;z-index: 999999999 !important;">
<view class="tc s30 lh90 br-b" @tap.stop="shareToFriend(1)">微信好友</view>
<view class="tc s30 lh90 br-b" @tap.stop="shareToFriend(2)">微信朋友圈</view>
<view class="tc s30 lh90" @tap.stop="shareToFriend(3)">微信收藏</view>
</view>
</uni-popup>
</view>
</template>
<script>
import {createQrcode as shareQrcode} from "@/utils/api/api.js";
import uniPopup from '@/components/uni-popup/uni-popup.vue';
export default {
components:{
uniPopup
},
data() {
return {
show:false,//是否显示隐藏
qrcode_url:'',//二维码路径
avaterSrc:'',//本地背景图片
qrcodeurl:'',//生成的二维码
bgHeight:667,//背景图的高度
windowHeight:0,//可视区域高度
windowWidth:375,//屏幕宽度
imgUrl:'',//生成的canvas图片
popupShow:false,//底部弹窗
rpx:0,
shopname:''
}
},
computed: {
staticUrl () {//静态资源地址 正式
return this.$store.state.staticUrl;
},
staticUrl1 () {//静态资源地址 测试
return this.$store.state.staticUrl1;
},
statictowUrl(){
return this.$store.state.statictowUrl;
},
userInfo () {
return this.$store.state.userInfo;
},
uploadurl(){
return this.$store.state.uploadurl;
}
},
onLoad(opdata) {
this.windowWidth=uni.getSystemInfoSync().windowWidth;
this.windowHeight=uni.getSystemInfoSync().windowHeight;
this.rpx=uni.getSystemInfoSync().windowWidth/375;
this.shop_id = opdata.shop_id;
this.shopname = opdata.shop_name;//商品名称
this.createGoodsQrcode();
},
methods: {
filePath(type,wxType){
if(this.imgUrl==''){ ///没保存
uni.showLoading({title:'正在保图片...'});
uni.canvasToTempFilePath({ //保存canvas
canvasId:'myCanvas',
success:(res)=>{
uni.hideLoading();
this.imgUrl=res.tempFilePath;
//#ifdef APP-PLUS
uni.showLoading({title:'请稍后...',mask:true});
uni.share({ //分享给朋友圈
provider: 'weixin',
scene: wxType, //WXSceneSession聊天界面 WXSenceTimeline朋友圈
type: 2,
imageUrl: res.tempFilePath,
success: ret => {
uni.hideLoading();
},
fail:err=>{
console.log(err)
}
});
//#endif
},
fail:(err)=>{
uni.hideLoading();
this.$api.msg('图片保存失败');
},
},this)
}else{ //保存过了
//#ifdef APP-PLUS
uni.showLoading({title:'请稍后...',mask:true});
uni.share({ //分享给朋友圈
provider: 'weixin',
scene: wxType, //WXSceneSession聊天界面 WXSenceTimeline朋友圈
type: 2,
imageUrl: this.imgUrl,
success: ret => {
uni.hideLoading();
},
fail:err=>{
console.log(err)
}
});
//#endif
}
},
shareToFriend(type){
let wxType='';
if(type==3){//收藏
wxType='WXSceneFavorite';
}else{ //1聊天界面 2朋友圈
if(type==1){
wxType='WXSceneSession';
}else{
wxType='WXSenceTimeline';
}
}
this.filePath(type,wxType);
},
change(e) {
if (!e.show) {
this.popupShow = false
}
},
share() { //分享到
this.popupShow=true;
},
saveImage(){ //保存图片
uni.showLoading({title:'正在保存图片...',mask:true});
if(this.imgUrl==''){
uni.canvasToTempFilePath({ //保存canvas
canvasId:'myCanvas',
success:(res)=>{
uni.hideLoading();
this.imgUrl=res.tempFilePath;
console.log(this.imgUrl)
uni.saveImageToPhotosAlbum({ //保存到相册
filePath:res.tempFilePath,
success:(res)=>{
uni.showToast({title:'图片保存成功',icon:'none'});
},
fail:function(err){
console.log(err)
this.$api.msg('图片保存失败');
}
})
},
fail:(err)=>{
uni.hideLoading();
this.$api.msg('图片保存失败');
},
},this)
}else{
uni.saveImageToPhotosAlbum({ //保存到相册
filePath:this.imgUrl,
success:(res)=>{
uni.hideLoading();
uni.showToast({title:'图片保存成功',icon:'none',duration:2000});
},
fail:function(res){
uni.hideLoading();
this.$api.msg('图片保存失败');
}
})
}
},
imgH(e){
this.bgHeight=e.detail.height/2; //得到背景图高度
},
createGoodsQrcode(){//生成二维码
uni.showLoading({title:'二维码生成中...',mask:true});
shareQrcode({
type:3, //店铺二维码
shareid: this.shop_id,//店铺id
}).then(res=>{
uni.hideLoading();
if(res.code==0){
this.qrcodeurl= this.staticUrl1+res.data.file;
this.avater();
}else{
this.qrcodeurl= '';
this.$api.msg("生成二维码失败");
this.avater();
}
})
},
avater(){ //主图下载
console.log(this.statictowUrl+"static/applet5/images/uts/sjrwm.png",)
uni.showLoading({title:'图片下载中...',mask:true});
uni.downloadFile({ //下载图片到本地
url:this.statictowUrl+"static/applet5/images/uts/sjrwm.png",//背景主图片, //主图
success:res=>{
uni.hideLoading();
if(res.statusCode==200){ //下载成功
this.avaterSrc=res.tempFilePath;
this.drawPosters(this.avaterSrc)
}else{
this.avaterSrc='';
this.drawPosters(this.avaterSrc)
}
},
fail:err=>{
uni.hideLoading();
this.avaterSrc='';
this.drawPosters(avaterSrc);
this.$api.msg("图片下载失败");
}
})
},
drawPosters(avaterSrc){
let rpx=this.rpx;
uni.showLoading({title:'正在绘制海报...',mask:true});
const ctx = uni.createCanvasContext('myCanvas',this);//创建画布
ctx.setFillStyle('#FFFFFF');
ctx.fillRect(0,0,this.windowWidth,this.bgHeight);
if(avaterSrc){//主图
ctx.drawImage(avaterSrc,0,0,this.windowWidth,this.bgHeight);
}
if(this.qrcodeurl){//二维码
ctx.drawImage(this.qrcodeurl, (this.windowWidth-210*rpx)/2, 220, 210*rpx, 220*rpx);
}
if(this.shopname){//店铺名字
ctx.setFillStyle('#ffffff');
ctx.setFontSize((18*rpx).toFixed(0));
ctx.fillText(this.shopname,(this.windowWidth-ctx.measureText(this.shopname).width)/2,470);
}
uni.hideLoading();
ctx.draw();
this.show=true;
},
}
}
</script>
<style>
.posf{
position: fixed;
}
.bctpbtns{
position: absolute;
z-index:10000;
right: 0;
bottom:240px;
width: 57upx;
height: 189upx;
}
.fxhbbtns{
position: absolute;
z-index:10000;
right: 0;
bottom:130px;
width: 57upx;
height: 189upx;
}
.br-b{
border-bottom: 1px solid #BCBCBC;
}
</style>
<template>
<!-- 商家二维码 -->
<!-- 商家码 -->
<view class="content yocode">
<view class="submitbtn active" @tap="shareQrcode" v-if="!qrShow">生成</view>
<!-- <view class="submitbtn active" @tap="shareFc" v-if="!qrShow">生成</view> -->
<!-- @tap=" saveImage()" -->
<view class="flex_row_c_c modalView" v-if="qrShow" :class="qrShow?'show':''" >
<view class="flex_column">
<!-- backgroundColor-white -->
<view class=" padding1vh border_radius_10px">
<image :src="poster.finalPath" mode="widthFix" class="posterImage"></image>
<image class="bctpbtns" src="/static/bctp.png" mode="" @tap.prevent.stop="saveImage()"></image>
<image class="fxhbbtns" src="/static/fxhb.png" mode="" @tap.prevent.stop="share()"></image>
</view>
<view class="flex_row marginTop2vh">
<!-- <button type="primary" class="buttons" size="mini" @tap.prevent.stop="saveImage()">保存图片</button>
<button type="primary" class="buttons" size="mini" @tap.prevent.stop="hideQr()">关闭</button> -->
<!-- <button type="primary" class="buttons" size="mini" @tap.prevent.stop="share()">分享图片</button> -->
</view>
</view>
</view>
<!-- <button type="primary" class="buttons mt-40 ml-20 mr-20" @tap="shareFc()">生成店铺二维码</button> -->
<view class="hideCanvasView">
<canvas class="hideCanvas"
canvas-id="default_PosterCanvasId"
:style="{width: (poster.width||0) + 'px', height: (poster.height||0) + 'px'}"></canvas>
</view>
</view>
</template>
<script>
import _app from '@/utils/QS-SharePoster/app.js';
import getSharePoster from '@/utils/QS-SharePoster/QS-SharePoster.js';
// import {usersEquity} from "@/utils/api/partner_center.js";
// import {shareQrcode} from "@/utils/api/user.js"
import {createQrcode as shareQrcode} from "@/utils/api/api.js";
export default {
data() {
return {
poster: {},
qrShow: false,
canvasId: 'default_PosterCanvasId',
type:"1",
url:"",
shopInfo:{},
shop_name:"",
shop_id:0,//url传过来的
}
},
onLoad(opdata) {
this.type = opdata.type;
this.shop_id = opdata.shop_id;
//this.shareFc();//自动生成
this.shopInfo = uni.getStorageSync('userInfo');
this.shop_name = this.shopInfo.shop_name;
this.shareQrcode();
},
methods: {
//生成二维码
async shareQrcode(){
// uni.showLoading({
// title: '加载中'
// });
let res = await shareQrcode({
type: 3,//固定的
//shareid: app.globalData.storeInfo.shop_id
shareid: this.$store.state.userInfo.shop_id,//店铺id
})
if(res.code==0){
this.url = res.data.file;
// let qrcodeurl = window.location.port=="8080"?this.staticUrl1+this.url:this.staticUrl+this.url;
// let qrcodeurl = window.location.port=="8080"?this.staticUrl1+this.url:this.staticUrl1+this.url;
// let qrcodeurl = this.staticUrl1+this.url;
let qrcodeurl = this.staticUrl1+this.url;
this.url = qrcodeurl;
// https://zxluma.jxdsy.cn/attachs/
//console.info(res.data.file,"路径");
// uni.showLoading({
// title: '生成成功'
// });
this.shareFc();
}else{
uni.showLoading({
title: '生成失败'
});
this.$api.msg(res.msg);
}
setTimeout(function () {
uni.hideLoading();
}, 2000);
},
//生成海报
async shareFc() {
//debugger
try {
if (!this.poster.finalPath) {
let backgroundImage;
let rqcodeobj = {}
// 二维码
rqcodeobj = {
text: '开发测试',
size: 150,//bgObj.width*0.2
dx: 380,//bgObj.width*0.05
dy: 765//bgObj.height - bgObj.width*0.25
}
//计算名称的x轴
let len = this.shop_name.length;
let cha = 0;//差值
let dxsss = 0;//xy 坐标
if(len<=10){
//小于
cha = 10-len;
dxsss = 160 + cha*12;
}else{
//大于
cha = len-10;
dxsss = 160 - cha*12;
}
console.log("计算出来的dx",dxsss);
const d = await getSharePoster({
// backgroundImage:"/static/news/sjrwm.png",
backgroundImage:this.statictowUrl+"static/applet5/images/uts/sjrwm.png",
//暂时使用这个
// backgroundImage:"http://q37tb0wtc.bkt.clouddn.com/sjrwm.png",
// backgroundImage:"https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png?where=super",
// backgroundImage:"https://luma.jxdsy.cn/attachs/2019/07/29/thumb_5d3ecaa81b681.jpg",
type: 'testShareType',
posterCanvasId: this.canvasId,
// qrCodeArray: ({bgObj, type, bgScale}) => {
// return [rqcodeobj]
// },
imagesArray: ({bgObj, type, bgScale}) => { //接收的第一个参数为背景图片的信息, 第二个参数是自定义标识(感觉这里用不到), 图片为示例图片
const dx = bgObj.width*0.3;
return [
//二维码
//二维码放进去
{
url: this.url,// //"https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png?qua=high&where=super",//
dx: 155,//bgObj.width*0.05
dy: 350,//bgObj.height - bgObj.width*0.25
dWidth: 250, // 因为设置了圆形图片 所以要乘以2
dHeight: 250
},
]
},
textArray: ({bgObj, type, bgScale}) => {
const fontSize = bgObj.width*0.045;
const lineHeight = bgObj.height*0.04;
return [
/**
* 商家名称居中 10个字 160/640 刚刚好
* 11个字
*
* 10个以后 每多加一个字 大概要 160- 多出来的个数- 12
*
*
* 10个以下 每少一个字 大概要 160 + 12
*
* ***/
// 文字 先干了
{
text: this.shop_name,//,`测试商家名称测试商家是遭`,//10个字正好
fontWeight: 'bold',
size: 24,
color: '#ffffff',
alpha: 1,
textAlign: 'left',
textBaseline: 'middle',
infoCallBack(textLength) {
//dx 160是侧面对齐
return {
dx: dxsss,//136,//bgObj.width - textLength - fontSize
dy:635 //bgObj.height - lineHeight*2
}
}
},
]
},
setCanvasWH: ({bgObj, type, bgScale}) => { // 为动态设置画布宽高的方法,
this.poster = bgObj;
},
setDraw: ({Context, bgObj, type, bgScale}) => {
// Context.setFillStyle('black');
// Context.setGlobalAlpha(0.3);
// Context.fillRect(0, bgObj.height - bgObj.height*0.2, bgObj.width, bgObj.height*0.2);
},
});
console.log('海报生成成功, 临时路径: ' + d.poster.tempFilePath)
this.poster.finalPath = d.poster.tempFilePath;
console.log(this.poster.finalPath)
}
this.qrShow = true;
} catch (e) {
_app.hideLoading();
_app.showToast(JSON.stringify(e));
console.log(JSON.stringify(e));
console.log('海报生成成功, 临时路径: ' + d.poster.tempFilePath)
}
},
saveImage() {
// #ifndef H5
uni.saveImageToPhotosAlbum({
filePath: this.poster.finalPath,
success(res) {
_app.showToast('保存成功');
}
})
// #endif
// #ifdef H5
_app.showToast('保存了');
// #endif
},
share() {
// #ifdef APP-PLUS
_app.getShare(false, false, 2, '', '', '', this.poster.finalPath, false, false);
// #endif
// #ifndef APP-PLUS
_app.showToast('分享了');
// #endif
},
hideQr() {
this.qrShow = false;
}
}
}
</script>
<style lang="scss">
.hideCanvasView {
position: relative;
}
.hideCanvas {
position: fixed;
top: -99999upx;
left: -99999upx;
z-index: -99999;
}
.flex_row_c_c {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.modalView {
width: 100%;
height: 100%;
// position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 0;
outline: 0;
transform: scale(3);
perspective: 2500upx;
// background: rgba(0, 0, 0, 0.6);
transition: all .3s ease-in-out;
pointer-events: none;
backface-visibility: hidden;
z-index: 999;
}
.modalView.show {
opacity: 1;
transform: scale(1);
pointer-events: auto;
}
.flex_column {
display: flex;
flex-direction: column;
}
.backgroundColor-white {
background-color: white;
}
.border_radius_10px {
border-radius: 10px;
position: relative;
.bctpbtns{
position: absolute;
z-index:10000;
right: 0;
bottom:200px;
width: 57upx;
height: 189upx;
}
.fxhbbtns{
position: absolute;
z-index:10000;
right: 0;
bottom:100px;
width: 57upx;
height: 189upx;
}
}
.padding1vh {
/* padding: 1vh; */
}
.posterImage {
/* width: 60vw; */
width: 100vw;
height: 100vh;
}
.flex_row {
display: flex;
flex-direction: row;
}
.marginTop2vh {
margin-top: 2vh;
}
.buttons{
background: #ff6900!important;
line-height: 40px !important;
}
</style>
......@@ -38,12 +38,12 @@ export function getActivityList(data){
//判断商家类型 商品入库
export function getskipShop(data){
return request.post("/user/skipShop", data, { noAuth: true});
return request.post("user/skipShop", data, { noAuth: true});
}
//获取分类 列表
export function getshopclass(data){
return request.post("/ele/weigh", data, { noAuth: true});
return request.post("ele/weigh", data, { noAuth: true});
}
......@@ -52,7 +52,7 @@ export function getshopclass(data){
*/
//获取分类 列表
export function activity_nucleus(data){
return request.post("/ele/activity_nucleus", data, { noAuth: true});
return request.post("ele/activity_nucleus", data, { noAuth: true});
}
/**
......@@ -60,7 +60,7 @@ export function activity_nucleus(data){
* @param {Object} data
*/
export function activity_add(data){
return request.post("/ele/activity_add", data, { noAuth: true});
return request.post("ele/activity_add", data, { noAuth: true});
}
/**
......@@ -68,7 +68,7 @@ export function activity_add(data){
* @param {Object} data
*/
export function activity_select(data){
return request.post("/ele/activity_select", data, { noAuth: true});
return request.post("ele/activity_select", data, { noAuth: true});
}
/**
......@@ -76,7 +76,7 @@ export function activity_select(data){
* @param {Object} data
*/
export function activity_close(data){
return request.post("/ele/activity_close", data, { noAuth: true});
return request.post("ele/activity_close", data, { noAuth: true});
}
/**
......@@ -84,7 +84,7 @@ export function activity_close(data){
* @param {} data
*/
export function activity_find(data){
return request.post("/ele/activity_find", data, { noAuth: true});
return request.post("ele/activity_find", data, { noAuth: true});
}
......@@ -93,7 +93,7 @@ export function activity_find(data){
* @param {} data
*/
export function activity_user(data){
return request.post("/ele/activity_user", data, { noAuth: true});
return request.post("ele/activity_user", data, { noAuth: true});
}
......@@ -102,5 +102,5 @@ export function activity_user(data){
* @param {} data
*/
export function activity_update(data){
return request.post("/ele/activity_update", data, { noAuth: true});
return request.post("ele/activity_update", data, { noAuth: true});
}
\ No newline at end of file
......@@ -4,18 +4,14 @@ module.exports = {
//是否为开发调试环境 true为本地环境 false 为正式环境
// isdebug:false,//正式
isdebug:true,//测试
isdebug:false,//正式
// isdebug:true,//测试
// xqdebug:false,//正式权限
xqdebug:true,//发布审核权限 也是测试环境的 主要用于ios
/**
* PS
*
* 正式环境 选 false !
* 本地开发环境 选 true
*
* */
xqdebug:true,//发布审核权限 也是测试环境的 主要用于ios
// #ifdef APP-PLUS
// isdebug:false,//正式 APP里面绝对是正式
// #endif
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment