This commit is contained in:
weipengfei 2024-03-21 11:23:03 +08:00
commit b832389a2c
12 changed files with 1047 additions and 680 deletions

View File

@ -9,6 +9,17 @@
// +----------------------------------------------------------------------
import request from "@/utils/request.js";
/**
* 商户类型列表
*/
export const intentionList = (data) => request.get('intention/detail', data)
/**
* 商户类型申请
*/
export const shopTypeChange = (data) => request.post('intention/change', data)
/**
* 获取商品详情
*/
@ -329,4 +340,3 @@ export function intention(data) {
export function intentionbus(data) {
return request.post(`intention/business`, data);
}

View File

@ -1459,8 +1459,14 @@
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
},
{
}, {
"path": "shop_type_change/list",
"style": {
"navigationBarTitleText": "申请记录",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
}, {
"path": "addGood/addGood",
"style": {
"navigationBarTitleText": "商品设置",

View File

@ -50,7 +50,8 @@
<view v-if="val.product" class="goods acea-row row-between-wrapper">
<view class="picTxt acea-row row-between-wrapper">
<view class="pictrue">
<image :src="val.product.cart_info.productAttr.image||val.product.cart_info.product.image" />
<image
:src="val.product.cart_info.productAttr.image||val.product.cart_info.product.image" />
</view>
<view class="text acea-row row-between row-column">
<view class="info line1 refund-info">
@ -100,8 +101,8 @@
<text v-else-if="item.activity_type != 0" class="activity_type">
{{ item.activity_type == 1 ? '秒杀' : item.activity_type == 2 ? '预售' : item.activity_type == 3 ? '助力' : item.activity_type == 4 ? '拼团' : item.activity_type == 10 ? '套餐' :'' }}
</text>
订单号{{ item.order_sn }}
<text class="time">下单时间{{ item.create_time }}</text>
订单号{{ item.order_sn }}
<text class="time">下单时间{{ item.create_time }}</text>
<text class="order-status"
v-if="item.refunding != 0 && where.status != 1">{{item.refunding==1 ? '退款中' : item.refunding==2 ? '部分退款' : '全部退款'}}</text>
</view>
@ -120,9 +121,10 @@
<view class="attr" v-if="val.cart_info.productAttr.sku">
{{ val.cart_info.productAttr.sku }}
</view>
<view class="attr" @click.stop="showBarCode(val.cart_info.productAttr.product)" v-if="val.cart_info.productAttr.product&&val.cart_info.productAttr.product.bar_code">
商品条码: {{ val.cart_info.productAttr.product.bar_code }}
</view>
<view class="attr" @click.stop="showBarCode(val.cart_info.productAttr.product)"
v-if="val.cart_info.productAttr.product&&val.cart_info.productAttr.product.bar_code">
商品条码: {{ val.cart_info.productAttr.product.bar_code }}
</view>
</view>
</view>
<view class="money">
@ -174,10 +176,12 @@
一键改价
</view>
<view class="bnt" @click="modify(item, 1)">订单备注</view>
<view class="bnt bnt_color" v-if="where.status == 2 && item.order_type == 0&&(item.activity_type==98||item.activity_type==99)"
<view class="bnt bnt_color"
v-if="where.status == 2 && item.order_type == 0&&(item.activity_type==98||item.activity_type==99)"
@click="toPostage(item)">去发货
</view>
<view class="bnt bnt_color" v-if="where.status == 2 && item.order_type == 0&& item.order_type !=1 &&item.activity_type==0"
<view class="bnt bnt_color"
v-if="where.status == 2 && item.order_type == 0&& item.order_type !=1 &&item.activity_type==0"
@click="toPostagequ(item)">去发货
</view>
<view class="bnt bnt_color"
@ -209,18 +213,48 @@
</view>
<view class="mask" @touchmove.prevent v-show="refundMark === true"></view>
</view>
<u-popup :show="popUpShow" mode="center" :closeOnClickOverlay="true" round="12" @close="popUpClose">
<view style="text-align: center;margin-top: 30rpx;">
<!-- <view style="text-align: center;margin-top: 30rpx;">
请把二维码展示给取货人员
</view>
<view style="padding: 28.07rpx;">
<image :src="payCodeUrl" style="width:400rpx;height: 400rpx;"></image>
</view> -->
<view class="form">
<view class="form-item">
<view class="form-item-label">送货人姓名</view>
<view class="form-item-val">
<u-input placeholder="请输入送货人姓名" placeholderStyle="color:#999;font-size:26rpx;"
border="surround"></u-input>
</view>
</view>
<view class="form-item">
<view class="form-item-label">送货人电话</view>
<view class="form-item-val">
<u-input placeholder="请输入送货人电话" placeholderStyle="color:#999;font-size:26rpx;"
border="surround"></u-input>
</view>
</view>
<view class="form-item">
<view class="form-item-label">备注</view>
<view class="form-item-val">
<u-input placeholder="请输入备注" placeholderStyle="color:#999;font-size:26rpx;"></u-input>
</view>
</view>
<view class="form-btn">
<view class="form-btn-cancel" @click="popUpShow = false">取消</view>
<view class="form-btn-confirm">确认</view>
</view>
</view>
</u-popup>
<view class="bar-code" v-show="showBar" @click="showBar=false">
<barcode ref="code"></barcode>
</view>
<view class="bar-code" v-show="showBar" @click="showBar=false">
<barcode ref="code"></barcode>
</view>
</view>
</template>
@ -260,7 +294,7 @@
},
data() {
return {
showBar: false,
showBar: false,
current: "",
change: false,
refundMark: false,
@ -271,7 +305,7 @@
status: 1,
search_info: '',
product_type: '',
pay_time: null,
pay_time: null,
},
list: [],
loaded: false,
@ -300,9 +334,9 @@
this.where.status = option.types
this.current = "";
this.merId = option.merId;
if(option.pay_time){
this.where.pay_time = option.pay_time;
}
if (option.pay_time) {
this.where.pay_time = option.pay_time;
}
this.getIndex();
},
@ -312,13 +346,13 @@
this.popUpShow = false
},
showBarCode(val){
this.showBar = true
this.$refs['code'].init({
name: val.store_name,
code: val.bar_code
});
},
showBarCode(val) {
this.showBar = true
this.$refs['code'].init({
name: val.store_name,
code: val.bar_code
});
},
//
tongyi(id, number) {
let data = {
@ -342,8 +376,8 @@
},
handleSearch() {
this.loaded = false;
this.where.page = 1;
this.list = [];
this.where.page = 1;
this.list = [];
this.getIndex();
},
//
@ -402,12 +436,12 @@
if (val != 'verify') {
if (this.where.status != val) {
this.where.status = val;
this.where.search_info=''
this.where.search_info = ''
delete this.where.is_verify;
this.init();
}
} else {
this.where.search_info=''
this.where.search_info = ''
this.where.is_verify = 1;
delete this.where.status;
this.init();
@ -477,6 +511,7 @@
}
})
},
//
toPostagequ(item) {
this.popUpShow = true
@ -486,7 +521,12 @@
this.payCodeUrl = res.data.qrcode
}
})
},
toPostage(item) {
let that = this;
if (item.refunding != 0) {
@ -590,6 +630,63 @@
</script>
<style lang="scss">
.form {
padding: 40rpx 60rpx;
.form-item {
display: flex;
align-items: center;
.form-item-label {
width: 140rpx;
font-size: 28rpx;
color: #333;
font-weight: bold;
margin-right: 20rpx;
}
.form-item-val {
flex: 1;
}
}
.form-btn {
display: flex;
justify-content: center;
margin-top: 50rpx;
.form-btn-cancel {
width: 83px;
height: 60rpx;
line-height: 60rpx;
border-radius: 30rpx;
text-align: center;
color: #2291F8;
border: 2rpx solid #2291F8;
margin-right: 40rpx;
}
.form-btn-confirm {
width: 83px;
height: 60rpx;
line-height: 60rpx;
background: linear-gradient(90deg, #2291F8 0%, #1CD1DC 100%);
border-radius: 30rpx;
text-align: center;
color: #fff;
font-size: 28rpx;
}
.form-btn-cancel:active {
background: rgba(209, 220, 255, .3);
}
.form-btn-confirm:active {
opacity: .8;
}
}
}
.pos-order-list .top-header {
position: fixed;
top: 0;
@ -1017,25 +1114,27 @@
flex: 1;
}
}
.bar-code{
position: fixed;
top: 0;
left: 0;
z-index: 999999;
width: 100vw;
height: 100vh;
background-color: rgba(0,0,0,0.2);
display: flex;
align-items: center;
justify-content: center;
}
.cloud-tag{
font-size: 20rpx;
padding: 2rpx 5rpx;
font-weight: 400;
background-color: #ff4c3c;
border-radius: 8rpx;
margin-right: 6rpx;
color: #fff;
}
.bar-code {
position: fixed;
top: 0;
left: 0;
z-index: 999999;
width: 100vw;
height: 100vh;
background-color: rgba(0, 0, 0, 0.2);
display: flex;
align-items: center;
justify-content: center;
}
.cloud-tag {
font-size: 20rpx;
padding: 2rpx 5rpx;
font-weight: 400;
background-color: #ff4c3c;
border-radius: 8rpx;
margin-right: 6rpx;
color: #fff;
}
</style>

View File

@ -617,6 +617,10 @@
name: '收付明细',
type: 22,
image: require('@/static/images/index14.png')
}, {
name: '商户类型',
type: 23,
image: require('@/static/images/index14.png')
},
@ -695,6 +699,10 @@
name: '收付明细',
type: 22,
image: require('@/static/images/index14.png')
}, {
name: '商户类型',
type: 23,
image: require('@/static/images/index14.png')
},
// {
// name: '',
@ -741,6 +749,10 @@
name: '收付明细',
type: 22,
image: require('@/static/images/index14.png')
}, {
name: '商户类型',
type: 23,
image: require('@/static/images/index14.png')
},
{
name: '扫码付款',
@ -1534,6 +1546,14 @@
url: '/pages/payment/payment_detail?mer_id=' + this.userInfoData.service.mer_id
})
break;
case 23:
if (this.userInfoData.mer_info.mer_settlement_agree_status == 0) Toast('暂无权限');
else uni.navigateTo({
url: '/pages/product/shop_type_change/index?mer_id=' + this.userInfoData
.service.mer_id
})
break;
case 17:
if (this.userInfoData.mer_info.mer_settlement_agree_status == 0) Toast('暂无权限');
else uni.navigateTo({

View File

@ -44,7 +44,17 @@
qrcode({
mer_id: merid
}).then(res => {
this.img = res.data.url;
if (!res.data.count || res.data.count == 0) {
this.$util.Tips({
title: "您还没有添加商品,请添加!"
}, () => {
uni.redirectTo({
url: "/pages/product/addGood/addGood?mer_id=" + merid
})
})
} else {
this.img = res.data.url;
}
})
},
@ -112,12 +122,10 @@
}
.v-qrcode {
position: absolute;
top: 400rpx;
left: 50%;
transform: translateX(-50%);
width: 650rpx;
height: 650rpx;
margin-top: 100rpx;
margin: 100rpx auto 0;
background-color: #fff;
display: flex;
justify-content: center;
@ -131,16 +139,12 @@
}
.v-btn {
position: absolute;
top: 1080rpx;
left: 50%;
transform: translateX(-50%);
display: flex;
align-items: center;
justify-content: center;
width: 690rpx;
height: 100rpx;
margin: 0 auto;
margin: 70rpx auto 0;
text {
font-weight: 400;

View File

@ -80,13 +80,6 @@
<view>建议尺寸:710*134px或710*460px(请根据平台要求选择尺寸此图如未上传默认展示店铺背景图)</view>
</view>
</view>
<view class="street_bg">
<view class="text flex_a_c"> <i class="iconfont icon-xinghao"></i> 商户类型变更</view>
<view class="street_img flex_a_c" @click="changeType">
类型变更
</view>
</view>
</view>
<view class="basice_item">
@ -100,8 +93,7 @@
<checkbox-group name="" @change="checkboxChange">
<checkbox disabled :checked="isZiti" :value="check.ziti" /><text
class="text ziti">到店自提</text>
<checkbox :checked="isKuaidi" :value="check.kuaidi" /><text
class="text">商家配送</text>
<checkbox :checked="isKuaidi" :value="check.kuaidi" /><text class="text">商家配送</text>
</checkbox-group>
</view>
</view>
@ -482,16 +474,6 @@
});
},
//
changeType() {
uni.navigateTo({
url: "/pages/product/shop_type_change/index",
fail(err) {
console.log(err);
}
})
},
seleckImage(i) {
let that = this;
that.$util.uploadImageOne('upload/image', function(res) {

View File

@ -10,17 +10,22 @@
</view>
</view>
<view class="apply-record" @click="handleToRecord">
<text>申请记录</text>
<u-icon name="arrow-right" size="12" color="#fff" style="margin-top: 4rpx;" />
</view>
<view class="shop-type-con">
<view class="shop-type-con-title">点击选择变更的商户类型</view>
<view class="pifa" @click="handleChoose(1)">
<image v-if="selected == '' ||selected == 2"
<image v-if="selected == '' || selected == 2"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/b0811202403191613185951.webp" mode="">
</image>
<image v-if="selected == 1"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/d7d97202403191611433157.webp" mode=""></image>
</view>
<view class="pifalingshou" @click="handleChoose(2)">
<image v-if="selected == '' ||selected == 1"
<image v-if="selected == '' || selected == 1"
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/39776202403191612456811.webp" mode="">
</image>
<image v-if="selected == 2"
@ -35,28 +40,74 @@
</template>
<script>
import {
shopTypeChange
} from "@/api/product.js";
export default {
data() {
return {
selected: ''
selected: '',
mer_id: ''
}
},
onLoad(opt) {
if (opt.mer_id)
this.mer_id = opt.mer_id;
},
methods: {
handleToRecord() {
uni.navigateTo({
url: "/pages/product/shop_type_change/list",
fail(err) {
console.log(err);
}
})
},
handleChoose(e) {
this.selected = e;
},
handleJump() {
if (!this.selected) return this.$util.Tips({
title: "请选择一种类型"
})
uni.navigateTo({
url: "/pages/product/shop_type_change/progress",
fail(err) {
console.log(err);
if (!this.mer_id) return this.$util.Tips({
title: "申请商户不能为空!"
})
shopTypeChange({
type: 3,
mer_id: this.mer_id
}).then(res => {
if (res.status == 200) {
this.$util.Tips({
title: res.message
}, () => {
uni.navigateTo({
url: "/pages/product/shop_type_change/list",
fail(err) {
console.log(err);
},
success(res) {
}
})
})
} else {
return this.$util.Tips({
title: res.message
})
}
}).catch((err) => {
this.$util.Tips({
title: err
})
})
},
@ -90,9 +141,26 @@
}
}
.apply-record {
position: absolute;
top: calc(128rpx + var(--status-bar-height));
right: 0;
display: flex;
justify-content: center;
align-items: center;
width: 154rpx;
height: 50rpx;
background: #A1A1A1;
border-radius: 40rpx 0rpx 0rpx 40rpx;
text {
font-weight: 400;
font-size: 26rpx;
color: #FFFFFF;
}
}
.shop-type-con {
.shop-type-con-title {
margin-bottom: 74rpx;
font-weight: 400;
@ -110,7 +178,6 @@
width: 690rpx;
height: 178rpx;
}
}
.pifalingshou {

View File

@ -0,0 +1,154 @@
<template>
<view class="shopTypeList">
<view class="shop_type-head">
<view style="height: var(--status-bar-height);"></view>
<view class="shop-type-navbar">
<u-icon name="arrow-left" size="18" color="#fff" @click="handleBack" />
<text class="shop-type-navbar-title">申请记录</text>
<text></text>
</view>
</view>
<view class="shop-type-list">
<block v-for="item in 4">
<view class="shop-type-list-item">
<view class="shop-type-list-item-title" @click='hanldeTo'>
<!-- #40AE36 审核通过 #F55726 审核未通过 #666666 审核中-->
<view class="shop-type-list-item-title-status">审核通过</view>
<view class="shop-type-list-item-title-detail">
查看详情
<u-icon name="arrow-right" size="13" color="#666"></u-icon>
</view>
</view>
<view class="shop-type-list-item-con">
<view class="shop-type-list-item-con-item">
<view class="shop-type-list-item-con-key">变更商户</view>
<view class="shop-type-list-item-con-val">这是一段店铺名称</view>
</view>
<view class="shop-type-list-item-con-item">
<view class="shop-type-list-item-con-key">变更类型</view>
<view class="shop-type-list-item-con-val">批发零售商户</view>
</view>
<view class="shop-type-list-item-con-item">
<view class="shop-type-list-item-con-key">申请时间</view>
<view class="shop-type-list-item-con-val">2024-3-14 14:00</view>
</view>
<view class="shop-type-list-item-con-item">
<view class="shop-type-list-item-con-key">审核人</view>
<view class="shop-type-list-item-con-val">2024-</view>
</view>
</view>
</view>
</block>
</view>
</view>
</template>
<script>
import {
intentionList
} from "@/api/product.js";
export default {
data() {
return {
list: []
}
},
onLoad() {
this.getData();
},
methods: {
hanldeTo() {
uni.navigateTo({
url: "/pages/product/shop_type_change/progress"
})
},
getData() {
intentionList().then(res => {
this.list = res.data;
})
}
}
}
</script>
<style lang="scss">
page {
background-color: #F8F9FA;
}
.shopTypeList {
.shop_type-head {
background-color: #40AE36;
margin-bottom: 40rpx;
.shop-type-navbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx;
height: 88rpx;
.shop-type-navbar-title {
font-size: 32rpx;
color: #FFFFFF;
}
}
}
.shop-type-list {
height: calc(100vh - 130rpx - var(--status-bar-height));
overflow: auto;
.shop-type-list-item {
margin: 0 30rpx 30rpx;
padding: 0rpx 30rpx 30rpx 30rpx;
background: #FFFFFF;
box-shadow: 0rpx 4rpx 6rpx 2rpx rgba(0, 0, 0, 0.16);
border-radius: 20rpx;
.shop-type-list-item-title {
display: flex;
justify-content: space-between;
align-items: center;
height: 90rpx;
padding: 0 10rpx;
border-bottom: 2rpx solid #F8F9FA;
margin-bottom: 20rpx;
.shop-type-list-item-title-status {
font-size: 28rpx;
color: #666666;
}
.shop-type-list-item-title-detail {
display: flex;
align-items: center;
font-size: 28rpx;
color: #666666;
}
}
.shop-type-list-item-con {
.shop-type-list-item-con-item {
display: flex;
margin-bottom: 20rpx;
.shop-type-list-item-con-key {
min-width: 130rpx;
font-size: 26rpx;
color: #666666;
text-align: left;
}
.shop-type-list-item-con-val {
font-size: 26rpx;
color: #333333;
}
}
}
}
}
}
</style>

View File

@ -124,7 +124,7 @@
.shop_type {
.shop_type-head {
background-color: #40AE36;
margin-bottom: 70rpx;
margin-bottom: 40rpx;
.shop-type-navbar {
display: flex;

View File

@ -1,11 +1,9 @@
<template>
<view>
<view class="content-top">
<view
:style="{ 'background-image': `linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.5) 100%),url(${store.mer_banner})` }"
class="store-home">
</view>
<!-- 搜索 -->
<!-- #ifdef MP || APP-PLUS -->
@ -1081,7 +1079,7 @@
this.isLihaiYun === 'Lihai' ? this.tabs = this.tabs4 : this.tabs = this.tabs3
} else {
this.tabs = this.tabs5
this.type=7
this.type = 7
}
this.tab(this.type)
// #ifdef H5

View File

@ -8,10 +8,10 @@
<text class='phone'>{{addressInfo.phone}}</text>
</view>
<view>
<text class='default t-color'
v-if="addressInfo.is_default">[默认]</text>{{addressInfo.province}}{{addressInfo.city}}{{addressInfo.district}}{{addressInfo.street || ''}}
<text v-if='addressInfo.brigade'>{{typeof(addressInfo.brigade)=='string'?addressInfo.brigade:addressInfo.brigade.name }}{{addressInfo.detail}}</text>
<text
v-if='addressInfo.brigade'>{{typeof(addressInfo.brigade)=='string'?addressInfo.brigade:addressInfo.brigade.name }}{{addressInfo.detail}}</text>
</view>
</view>
<navigator v-else :url="'/pages/users/user_address/index?cartId='+cartId" hover-class="none"
@ -1028,10 +1028,10 @@
takes: that.take,
use_coupon: that.subCoupon,
use_integral: that.use_integral,
// source: 0
// source: 0
}).then(res => {
//
that.product_type=res.data.order_type
that.product_type = res.data.order_type
that.is_take = false
res.data.order.forEach(el => {
if (el.order.isTake == 1) that.is_take = true
@ -1085,8 +1085,9 @@
that.cartArr[4].title =
`结算周期:${res.data.order[0].settle_cycle}天 日利率:${res.data.order[0].interest_rate}%`
// console.log(res.data);
if (res.data.order[0].credit_buy == 1 && (this.type_id == 12||this.type_id == 10||this.type_id == 17) && (res.data.order_type==99||res.data.order_type==98)) {
// console.log(res.data);
if (res.data.order[0].credit_buy == 1 && (this.type_id == 12 || this.type_id == 10 || this
.type_id == 17) && (res.data.order_type == 99 || res.data.order_type == 98)) {
this.cartArr[4].payStatus = 1
} else {
this.cartArr[4].payStatus = 0
@ -1104,7 +1105,7 @@
})
uni.hideLoading();
}).catch(err => {
console.log('err', err);
console.log('err', err);
return this.$util.Tips({
title: err
}, {
@ -1155,7 +1156,7 @@
let that = this;
let active = e;
that.active = active;
// console.log(this.active);
// console.log(this.active);
that.animated = true;
that.payType = that.cartArr[active].value;
if (that.payType == 'weixin') {
@ -1191,14 +1192,14 @@
that.address.address = true;
// that.pagesUrl = '/pages/users/user_address/index?cartId=' + this.cartId + '&pinkId=' + this
// .pinkId + '&couponId=' + this.couponId;
that.pagesUrl = '/pages/users/user_address_list/index'
that.pagesUrl = '/pages/users/user_address_list/index'
} else {
// uni.navigateTo({
// url: `/pages/users/user_address/index?cartId=${this.cartId}`,
// });
uni.navigateTo({
url: `pages/users/user_address_list/index`,
});
uni.navigateTo({
url: `pages/users/user_address_list/index`,
});
}
},
/**
@ -1308,7 +1309,7 @@
});
},
fail: (e) => {
console.log(e,'111111111')
console.log(e, '111111111')
//
let url = '/pages/order_pay_status/index?order_id=' + orderId +
'&msg=取消支付' + '&product_type=' + that.product_type;
@ -1320,7 +1321,7 @@
});
},
complete: (res) => {
uni.hideLoading();
uni.hideLoading();
//
// let url = '/pages/order_pay_status/index?order_id=' + orderId +
// '&msg=' + '&product_type=' + that.product_type;
@ -1634,6 +1635,10 @@
// return
// }
// balance
uni.showLoading({
title: '订单支付中',
mask: true
@ -2161,7 +2166,7 @@
border-radius: 50rpx;
text-align: center;
line-height: 70rpx;
flex-shrink: 0;
flex-shrink: 0;
&.disabled {
background-color: #cccccc;

File diff suppressed because it is too large Load Diff