极光推送配置 以及新增协议弹窗 等功能

This commit is contained in:
jia 2023-09-27 22:56:06 +08:00
parent 232f7710bd
commit 23e0d533d4
48 changed files with 4490 additions and 3011 deletions

View File

@ -161,7 +161,7 @@
jpushModule.initJPushService() jpushModule.initJPushService()
jpushModule.addConnectEventListener(result => { jpushModule.addConnectEventListener(result => {
let connectEnable = result.connectEnable let connectEnable = result.connectEnable
// console.log("jpush", connectEnable) console.log("jpush连接", connectEnable)
}) })
@ -222,7 +222,8 @@
}, },
onShow() { onShow() {
let that = this let that = this
// H5 // H5
if (this.$store.state.app.token) { if (this.$store.state.app.token) {

View File

@ -7,7 +7,7 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com> // | Author: CRMEB Team <admin@crmeb.com>
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
import request from "@/utils/request.js"; import request from "@/utils/requesta.js";
/** 获取话题分类*/ /** 获取话题分类*/
export function getTopicList() { export function getTopicList() {
@ -83,7 +83,9 @@ export function videoList(data) {
} }
/**自己的视频列表*/ /**自己的视频列表*/
export function deoList(id) { export function deoList(id) {
return request.get(`community/show/${id}`); return request.get(`community/show/${id}`, {
noAuth: true
});
} }
export function myVideoList(id,data) { export function myVideoList(id,data) {

View File

@ -1,4 +1,5 @@
import request from "@/utils/request.js"; import request from "@/utils/request.js";
import requestb from "@/utils/requestb.js";
/** /**
* 扫码查询商品 * 扫码查询商品
@ -578,8 +579,7 @@ export function vicinityStoreApi(data) {
商家入驻 -- 获取商户入驻申请协议内容 商家入驻 -- 获取商户入驻申请协议内容
*/ */
export function agreeiness(data) { export function agreeiness(data) {
return request.get(`business/agree`, data, { noAuth: true }); return request.get(`business/agree`, data, {
} noAuth: true
});
}

View File

@ -16,3 +16,12 @@ export function getGXconfig(data) {
return request.get("global/config", data); return request.get("global/config", data);
} }
/**
* 获取商城小程序信息
*/
export function miniapp(data) {
return request.get("miniapp/version?version=1", data);
}

View File

@ -2,7 +2,7 @@
<view class="orderGoods" :style="viewColor"> <view class="orderGoods" :style="viewColor">
<view class='goodWrapper' :class="'item'+orderData.order_type"> <view class='goodWrapper' :class="'item'+orderData.order_type">
<view v-if="orderData.order_type == 1" class="title acea-row row-between-wrapper"> <view v-if="orderData.order_type == 1" class="title acea-row row-between-wrapper">
<view class="item-status" :class="'status'+evaluate">{{evaluate == 0 ? '待核销' : '已核销'}}</view> <view class="item-status" :class="'status'+evaluate">{{evaluate == 7 ? '待核销' : '已核销'}}</view>
<view v-if="evaluate != 0 && orderData.verify_time" class="item-date">{{orderData.verify_time}}</view> <view v-if="evaluate != 0 && orderData.verify_time" class="item-date">{{orderData.verify_time}}</view>
</view> </view>
<view v-for="(item,index) in cartInfo" :key="index"> <view v-for="(item,index) in cartInfo" :key="index">

View File

@ -6,10 +6,11 @@ let openPlantGrass = '-openPlantGrass-'
let httpApi let httpApi
let httpApiTwo let httpApiTwo
let httpApiThree let httpApiThree
let httpApiFour
// 在打包之前请检查当前环境是否正确 // 在打包之前请检查当前环境是否正确
// const env = 'dev'; // 开发 const env = 'dev'; // 开发
const env = 'prod'; // 生产 // const env = 'prod'; // 生产
// const env = 'prew'; // 预上线 // const env = 'prew'; // 预上线
switch (env) { switch (env) {

View File

@ -2,8 +2,8 @@
"name" : "惠农生活", "name" : "惠农生活",
"appid" : "__UNI__3A527D1", "appid" : "__UNI__3A527D1",
"description" : "", "description" : "",
"versionName" : "1.4.4", "versionName" : "1.4.7",
"versionCode" : 144, "versionCode" : 147,
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */
"app-plus" : { "app-plus" : {
@ -103,13 +103,13 @@
"weixin" : { "weixin" : {
"__platform__" : [ "ios", "android" ], "__platform__" : [ "ios", "android" ],
"appid" : "wx9d68c92b550ddd1e", "appid" : "wx9d68c92b550ddd1e",
"UniversalLinks" : "https://mer.crmeb.net/" "UniversalLinks" : "https://shop.lihaink.cn/"
} }
}, },
"share" : { "share" : {
"weixin" : { "weixin" : {
"appid" : "wx9d68c92b550ddd1e", "appid" : "wx9d68c92b550ddd1e",
"UniversalLinks" : "https://mer.crmeb.net/" "UniversalLinks" : "https://shop.lihaink.cn/"
} }
}, },
"geolocation" : { "geolocation" : {
@ -160,7 +160,7 @@
}, },
"nativePlugins" : { "nativePlugins" : {
"JG-JCore" : { "JG-JCore" : {
"JPUSH_APPKEY_IOS" : "b5f679f4357018605ea6fd2e", "JPUSH_APPKEY_IOS" : "8a5efd65cda14fafa6e64ad3",
"JPUSH_CHANNEL_IOS" : "", "JPUSH_CHANNEL_IOS" : "",
"JPUSH_APPKEY_ANDROID" : "b5f679f4357018605ea6fd2e", "JPUSH_APPKEY_ANDROID" : "b5f679f4357018605ea6fd2e",
"JPUSH_CHANNEL_ANDROID" : "", "JPUSH_CHANNEL_ANDROID" : "",
@ -178,7 +178,7 @@
"JPUSH_APPKEY_IOS" : { "JPUSH_APPKEY_IOS" : {
"des" : "[iOS]极光portal配置应用信息时分配的AppKey", "des" : "[iOS]极光portal配置应用信息时分配的AppKey",
"key" : "JCore:APP_KEY", "key" : "JCore:APP_KEY",
"value" : "7869a2f94b120cfb4431b96f" "value" : "daebe19b547c43128796a078"
}, },
"JPUSH_CHANNEL_IOS" : { "JPUSH_CHANNEL_IOS" : {
"des" : "[iOS]用于统计分发渠道不需要可填默认值developer-default", "des" : "[iOS]用于统计分发渠道不需要可填默认值developer-default",
@ -199,9 +199,9 @@
} }
}, },
"JG-JPush" : { "JG-JPush" : {
"JPUSH_ISPRODUCTION_IOS" : "", "JPUSH_ISPRODUCTION_IOS" : "true",
"JPUSH_ADVERTISINGID_IOS" : "", "JPUSH_ADVERTISINGID_IOS" : "",
"JPUSH_DEFAULTINITJPUSH_IOS" : "", "JPUSH_DEFAULTINITJPUSH_IOS" : "true",
"JPUSH_OPPO_APPKEY" : "", "JPUSH_OPPO_APPKEY" : "",
"JPUSH_OPPO_APPID" : "", "JPUSH_OPPO_APPID" : "",
"JPUSH_OPPO_APPSECRET" : "", "JPUSH_OPPO_APPSECRET" : "",

View File

@ -125,6 +125,7 @@
"path": "pages/moreProject/moreProject", "path": "pages/moreProject/moreProject",
"style": { "style": {
"navigationBarTitleText": "商户平台", "navigationBarTitleText": "商户平台",
"navigationStyle": "custom",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
@ -150,7 +151,7 @@
"path" : "pages/margin/margin", "path" : "pages/margin/margin",
"style" : "style" :
{ {
"navigationBarTitleText": "", "navigationBarTitleText":"缴纳保证金",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
@ -838,7 +839,7 @@
}, { }, {
"path": "payment/payment", "path": "payment/payment",
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "支付",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
@ -990,6 +991,8 @@
{ {
"path": "settled/index", "path": "settled/index",
"style": { "style": {
"navigationStyle": "custom",
"navigationBarTitleText": "商家入驻" "navigationBarTitleText": "商家入驻"
} }
}, { }, {

View File

@ -146,7 +146,7 @@
</view> </view>
</view> </view>
<view style="height:120upx;"></view> <view style="height:120upx;"></view>
<view class="footer acea-row row-right row-middle" v-if="goname != 'looks'" style="margin-bottom: var(--status-bar-height);"> <view class="footer acea-row row-right row-middle" v-if="goname != 'looks'" style="padding-bottom: var(--status-bar-height);">
<view class="more"></view> <view class="more"></view>
<view class="bnt cancel" v-if="orderInfo.pay_type == 8 && orderInfo.status == 12" @click="tongyi(order_id,1)"> <view class="bnt cancel" v-if="orderInfo.pay_type == 8 && orderInfo.status == 12" @click="tongyi(order_id,1)">
同意 同意
@ -376,8 +376,11 @@
/*核销订单*/ /*核销订单*/
goCancellation() { goCancellation() {
let that = this; let that = this;
// uni.navigateTo({
// url: '/pages/admin/cancellate_result/index?mer_id='+that.mer_id+'&code='+that.orderInfo.verify_code,
// })
uni.navigateTo({ uni.navigateTo({
url: '/pages/admin/cancellate_result/index?mer_id='+that.mer_id+'&code='+that.orderInfo.verify_code, url: `/pages/admin/order_cancellation/index?mer_id=${that.mer_id}`
}) })
// uni.showModal({ // uni.showModal({
// title: '', // title: '',

View File

@ -553,6 +553,7 @@
uni.navigateTo({ uni.navigateTo({
url: `/pages/admin/orderDetail/index?id=${item.order_id}&mer_id=${item.mer_id}` url: `/pages/admin/orderDetail/index?id=${item.order_id}&mer_id=${item.mer_id}`
}) })
}, },
toRefundDetail(item) { toRefundDetail(item) {
uni.navigateTo({ uni.navigateTo({

View File

@ -131,8 +131,12 @@
// console.log(self.verify_code); // console.log(self.verify_code);
verifierOrder(self.mer_id,self.verify_code) verifierOrder(self.mer_id,self.verify_code)
.then(res => { .then(res => {
// uni.navigateTo({
// url: '/pages/admin/cancellate_result/index?code='+self.verify_code+'&mer_id='+self.mer_id
// });
uni.navigateTo({ uni.navigateTo({
url: '/pages/admin/cancellate_result/index?code='+self.verify_code+'&mer_id='+self.mer_id url: '/pages/admin/orderList/index?types=2'+'&mer_id='+self.mer_id
}); });
}) })
.catch(res => { .catch(res => {
@ -161,8 +165,11 @@
scanType: ["qrCode", "barCode"] scanType: ["qrCode", "barCode"]
}).then(res=>{ }).then(res=>{
this.verify_code = res.resultStr this.verify_code = res.resultStr
// uni.navigateTo({
// url: '/pages/admin/cancellate_result/index?code='+self.verify_code+'&mer_id='+self.mer_id
// });
uni.navigateTo({ uni.navigateTo({
url: '/pages/admin/cancellate_result/index?code='+self.verify_code+'&mer_id='+self.mer_id url: '/pages/admin/orderList/index?types=2'+'&mer_id='+self.mer_id
}); });
// this.codeChange(); // this.codeChange();
}).catch(res => { }).catch(res => {

View File

@ -62,6 +62,9 @@
serviceList, serviceList,
serviceUserList serviceUserList
} from "@/api/user"; } from "@/api/user";
import {
getUserInfo
} from '@/api/user.js';
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
export default { export default {
name: "CustomerList", name: "CustomerList",
@ -88,13 +91,9 @@
computed: mapGetters(['isLogin','viewColor']), computed: mapGetters(['isLogin','viewColor']),
onLoad(optios) { onLoad(optios) {
this.type = optios.type; this.type = optios.type;
this.mer_id = optios.mer_id;
if(this.isLogin){
this.getList(this.mer_id) this.getindex()
} else {
this.isAuto = true;
this.isShowAuth = true
}
}, },
onShow(option) { onShow(option) {
if(this.isLogin){ if(this.isLogin){
@ -119,6 +118,21 @@
this.clear = true; this.clear = true;
}, },
methods: { methods: {
//
getindex(){
getUserInfo().then(res => {
this.mer_id = res.data.service.mer_id;
if(this.isLogin){
this.getList(this.mer_id)
} else {
this.isAuto = true;
this.isShowAuth = true
}
// this.getList(this.mer_id)
// this.getList(res.data.service.mer_id, true);
});
},
onLoadFun() { onLoadFun() {
this.isShowAuth = false; this.isShowAuth = false;
this.getList(this.mer_id); this.getList(this.mer_id);
@ -217,7 +231,7 @@
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
.CustomerList { .CustomerList {
.spin { .spin {
display: block; display: block;

View File

@ -1,11 +1,9 @@
<template> <template>
<view class="gather"> <view class="gather">
<view v-if="isFshow"> <view v-if="isFshow">
<view class="site-box flex_a_c_j_sb" :style="{ 'opacity': backColor,}" @click="selectLocation"> <view class="site-box flex_a_c_j_sb" :style="{ opacity: backColor }" @click="selectLocation">
<view :class="['place_wrapper', 'flex_a_c', isFshow ? 'sitebox' : '']" @click="selectLocation"> <view :class="['place_wrapper', 'flex_a_c', isFshow ? 'sitebox' : '']" @click="selectLocation">
<view :class="['iconfont', 'icon-weizhi', isFshow ? 'sitebox' : '']" style=" margin-left: 20rpx"> <view :class="['iconfont', 'icon-weizhi', isFshow ? 'sitebox' : '']" style="margin-left: 20rpx">
</view> </view>
<view class="town_name">{{ street }}</view> <view class="town_name">{{ street }}</view>
</view> </view>
@ -13,24 +11,20 @@
<view :class="['iconfont', 'icon-xiaoxi', isFshow ? 'sitebox' : '']"></view> <view :class="['iconfont', 'icon-xiaoxi', isFshow ? 'sitebox' : '']"></view>
</navigator> </navigator>
</view> </view>
</view> </view>
<view class="" v-if="!isFshow"> <view class="" v-if="!isFshow">
<view class="site-box1 flex_a_c_j_sb"> <view class="site-box1 flex_a_c_j_sb">
<view class="place_wrapper flex_a_c" @click="selectLocation"> <view class="place_wrapper flex_a_c" @click="selectLocation">
<view class="iconfont icon-weizhi"></view> <view class="iconfont icon-weizhi"></view>
<view class="town_name">{{street}}</view> <view class="town_name">{{ street }}</view>
</view> </view>
<navigator url="/pages/chat/customer_list/index?type=0" hover-class="none"> <navigator url="/pages/chat/customer_list/index?type=0" hover-class="none">
<view class="iconfont icon-xiaoxi" style="color:#fff;"> </view> <view class="iconfont icon-xiaoxi" style="color: #fff"> </view>
</navigator> </navigator>
</view> </view>
</view> </view>
<zbpSwiper :isSelectPlace="true" :location_Arr="locationArr" :town="street"></zbpSwiper>
<zbpSwiper :isSelectPlace="true" :location_Arr="locationArr" :town="street" ></zbpSwiper>
<u-empty :show="jurisdiction" mode="permission" :text="emptyText" <u-empty :show="jurisdiction" mode="permission" :text="emptyText"
icon="http://cdn.uviewui.com/uview/empty/permission.png"></u-empty> icon="http://cdn.uviewui.com/uview/empty/permission.png"></u-empty>
<view class="business com special_work" v-if="jurisdiction == false"> <view class="business com special_work" v-if="jurisdiction == false">
@ -64,8 +58,7 @@
<view class="content"> <view class="content">
<u-transition v-for="(item, index) in AllMenuList" :key="item.name" show> <u-transition v-for="(item, index) in AllMenuList" :key="item.name" show>
<view class="examine" @click="pushMenu(item)"> <view class="examine" @click="pushMenu(item)">
<image class="icon_img" :src="item.icon" mode="aspectFit"> <image class="icon_img" :src="item.icon" mode="aspectFit"> </image>
</image>
<u-icon class="icon" name="plus-circle-fill"></u-icon> <u-icon class="icon" name="plus-circle-fill"></u-icon>
<text class="text">{{ item.name }}</text> <text class="text">{{ item.name }}</text>
</view> </view>
@ -73,8 +66,7 @@
</view> </view>
</view> </view>
<u-picker :defaultIndex="[0, 0]" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm"
<u-picker :defaultIndex="[0,0]" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm"
@cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker> @cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker>
<!-- <m-tabbar native> <!-- <m-tabbar native>
<template v-slot:tabbar_index_2> <template v-slot:tabbar_index_2>
@ -126,7 +118,7 @@
components: { components: {
mTabbar, mTabbar,
zbpSwiper zbpSwiper
}, },
data() { data() {
return { return {
@ -149,6 +141,7 @@
AllMenuList: [{ AllMenuList: [{
name: '商户平台', name: '商户平台',
icon: '/static/applet/shop_app.png', icon: '/static/applet/shop_app.png',
// data: "__UNI__1EE148C",
data: '/pages/moreProject/moreProject', data: '/pages/moreProject/moreProject',
type: 2, type: 2,
}, },
@ -158,21 +151,66 @@
data: '__UNI__B5B1EDD', data: '__UNI__B5B1EDD',
type: 1, type: 1,
}, },
{ {
name: '农业咨询', name: '农业咨询',
icon: '/static/applet/ny.png', icon: '/static/applet/ny.png',
data: { data: {
id: '__UNI__9620511', id: '__UNI__9620511',
url: '/static/wgt/__UNI__9620511.wgt', url: 'https://ceshi-worker-task.lihaink.cn/api/common/getMiniProgramInfo?name=nongye',
}, },
type: 1, type: 3,
} },
{
name: '教育咨询',
icon: '/static/applet/jy.png',
data: {
id: '__UNI__7AA205C',
url: 'https://ceshi-worker-task.lihaink.cn/api/common/getMiniProgramInfo?name=jiaoyu',
},
type: 3,
},
{
name: '法律咨询',
icon: '/static/applet/fl.png',
data: {
id: '__UNI__358D505',
url: 'https://ceshi-worker-task.lihaink.cn/api/common/getMiniProgramInfo?name=falv',
},
type: 3,
},
{
name: '情感咨询',
icon: '/static/applet/qg.png',
data: {
id: '__UNI__8080F14',
url: 'https://ceshi-worker-task.lihaink.cn/api/common/getMiniProgramInfo?name=qinggan',
},
type: 3,
},
{
name: '种植分析',
icon: '/static/applet/zz.png',
data: {
id: '__UNI__9EDFE40',
url: 'https://ceshi-worker-task.lihaink.cn/api/common/getMiniProgramInfo?name=zhongzhi',
},
type: 3,
},
{
name: '养殖分析',
icon: '/static/applet/yz.png',
data: {
id: '__UNI__EEA7DC9',
url: 'https://ceshi-worker-task.lihaink.cn/api/common/getMiniProgramInfo?name=yangzhi',
},
type: 3,
}
], ],
nowMenuList: [], nowMenuList: [],
street: '', street: '',
showPicker: false, showPicker: false,
columnData: [], columnData: [],
isFshow: false, isFshow: false,
backColor: 'rgba(252, 252, 252, 0)' backColor: 'rgba(252, 252, 252, 0)'
}; };
@ -292,14 +330,7 @@
} }
}, },
clickMenu(e, data) { clickMenu(e, data) {
switch (e) { this.getUniMp(e, data);
case 1:
this.getUniMp(data);
break;
case 2:
this.navigator(data);
break;
}
}, },
// //
pushMenu(data) { pushMenu(data) {
@ -320,19 +351,35 @@
this.editFlag = false; this.editFlag = false;
uni.setStorageSync('gatherNowMenuList', JSON.stringify(this.nowMenuList)); uni.setStorageSync('gatherNowMenuList', JSON.stringify(this.nowMenuList));
}, },
getUniMp(data) { getUniMp(type, data) {
// #ifdef APP-PLUS // #ifdef APP-PLUS
console.log(data, typeof data == 'string'); switch (type) {
if(typeof data == 'string') uniMP.loadMP(data); case 1:
else uniMP.loadMPurl(data); uniMP.loadMP(data);
// uniMP.loadMPurl(data); break;
// uniMP.open(data.id); // case 2: uniMP.loadMPx(data); break;
case 2:
this.navigator(data);
break;
case 3:
uniMP.loadMPurl(data);
break;
}
return; return;
// #endif // #endif
uni.showToast({ // #ifdef H5
icon: 'none',
title: 'H5不支持打开小程序' if (type == 2) {
}) this.navigator(data);
} else {
uni.showToast({
icon: 'none',
title: 'H5不支持打开小程序'
})
}
// #endif
}, },
changeHandler(e) { changeHandler(e) {
const { const {
@ -427,6 +474,7 @@
let that = this; let that = this;
getUserInfo().then(res => { getUserInfo().then(res => {
that.userInfoData = res.data; that.userInfoData = res.data;
that.$store.commit('SET_USERINFO', res.data);
// console.log(res.data.service); // console.log(res.data.service);
if (res.data.service == null) { if (res.data.service == null) {
// console.log('123'); // console.log('123');
@ -467,7 +515,8 @@
opacity: 1; opacity: 1;
} }
} }
.site-box1 {
.site-box1 {
width: 706rpx; width: 706rpx;
/* #ifdef MP || APP-PLUS */ /* #ifdef MP || APP-PLUS */
height: 160rpx; height: 160rpx;
@ -479,25 +528,26 @@
position: absolute; position: absolute;
top: 45rpx; top: 45rpx;
left: 20rpx; left: 20rpx;
z-index: 999; z-index: 999;
// //
.place_wrapper { .place_wrapper {
color: #fff; color: #fff;
margin-right: 0rpx; margin-right: 0rpx;
font-size: 30rpx; font-size: 30rpx;
.town_name { .town_name {
margin-left: 21rpx; margin-left: 21rpx;
} }
} }
.iconfont { .iconfont {
font-size: 35.09rpx; font-size: 35.09rpx;
} }
} }
.site-box { .site-box {
width: 100%; width: 100%;
/* #ifdef MP || APP-PLUS */ /* #ifdef MP || APP-PLUS */
@ -518,7 +568,7 @@
padding-top: 25rpx; padding-top: 25rpx;
/* #endif */ /* #endif */
// background-color: #e5e5e5; // background-color: #e5e5e5;
background: url('@/static/images/bg2.png') no-repeat; background: url("@/static/images/bg2.png") no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
padding-right: 20rpx; padding-right: 20rpx;

View File

@ -290,8 +290,8 @@
<view v-if="description.content && description.content.title" class="title"> <view v-if="description.content && description.content.title" class="title">
{{description.content.title}} {{description.content.title}}
</view> </view>
<view v-if="description.content && description.content.image" class="pictures"> <view v-if="description.content && description.content.image" class="pictures" style="background-color: #fff;">
<image v-for="(item,index) in description.content.image" :key="index" :src="item"> <image v-for="(item,index) in description.content.image" :key="index" :src="item" mode="aspectFit">
</image> </image>
</view> </view>
</view> </view>
@ -704,11 +704,6 @@
that.getConfig(); that.getConfig();
uni.hideLoading(); uni.hideLoading();
}, },
onHide() {
this.CartCount = 0
},
/** /**
* 用户点击右上角分享 * 用户点击右上角分享
*/ */

View File

@ -129,6 +129,7 @@
getIndexData, getIndexData,
getDiy, getDiy,
getArticleList, getArticleList,
cloudWarehouse,
getArticleCategoryLists getArticleCategoryLists
} from '@/api/api.js' } from '@/api/api.js'
import { import {
@ -332,7 +333,7 @@
// //
itemTap(item) { itemTap(item) {
if (this.userid) {
if (item.video_link.length > 0) { if (item.video_link.length > 0) {
uni.navigateTo({ uni.navigateTo({
// #ifdef MP || H5 // #ifdef MP || H5
@ -347,11 +348,7 @@
url: `/pages/plantGrass/plant_detail/index?id=${item.community_id}` url: `/pages/plantGrass/plant_detail/index?id=${item.community_id}`
}) })
} }
} else {
this.isAuto = true;
this.isShowAuth = true
}
}, },
// //
authColse: function(e) { authColse: function(e) {

View File

@ -1,60 +1,65 @@
<template> <template>
<view class=""> <view class="">
<view class="info"> <view class="info">
<view class="bg"></view> <view class="bg"></view>
<view class="card"> <view class="card">
<view class="title">店铺保证金信息</view> <view class="title">店铺保证金信息</view>
<view class="item"> <view class="item">
<text>已缴纳保证金</text> <text>已缴纳保证金</text>
<text>{{merchant_Data.paid_margin}}</text> <text>{{merchant_Data.paid_margin}}</text>
</view>
<view class="item">
<text>剩余缴纳保证金</text>
<text>{{merchant_Data.unpaid_margin}}</text>
</view>
<view class="item">
<text>缴纳店铺账户</text>
<text>{{merchant_Data.mer_name}}</text>
</view>
</view>
</view> </view>
<view class="item"> <view class="price">
<text>缴纳店铺账户</text> <view class="title">缴纳金额</view>
<text>{{merchant_Data.mer_name}}</text> <view class="tab">
</view> <view class="item active" style="margin: 0;">{{merchant_Data.margin}}</view>
</view> </view>
</view> <button class="btn" @click="paydecimal">缴纳</button>
<view class="price"> </view>
<view class="title">缴纳金额</view> <!-- <view class="tip">
<view class="tab">
<view class="item active" style="margin: 0;">{{merchant_Data.margin}}</view>
</view>
<button class="btn" @click="paydecimal">缴纳</button>
</view>
<!-- <view class="tip">
<view class="title">注意事项</view> <view class="title">注意事项</view>
<view class="text">充值后帐户的金额不能提现可用于商城消费使用佣金导入账户之后不能再次导出不可提现账户充值出现问题可联系商城客服也可拨打商城客服热线<text @click="copyPhone('4008888888')">4008888888</text> <view class="text">充值后帐户的金额不能提现可用于商城消费使用佣金导入账户之后不能再次导出不可提现账户充值出现问题可联系商城客服也可拨打商城客服热线<text @click="copyPhone('4008888888')">4008888888</text>
</view> </view>
</view> --> </view> -->
<view class="content-order" v-for="(item,i ) in productList"> <view class="content-order" v-for="(item,i ) in productList">
<view class="">订单编号{{item.order_sn}}</view> <view class="">订单编号{{item.order_sn}}</view>
<view class="">支付金额{{item.total_price}}</view> <view class="">支付金额{{item.total_price}}</view>
<view class="">支付状态{{item.pay_type==1?'已支付':'待支付'}}</view> <view class="">支付状态{{item.paid==1?'已支付':'待支付'}}</view>
<view class="">支付时间{{item.pay_time}}</view> <view class="">支付时间{{item.pay_time}}</view>
</view>
<view class='loadingicon acea-row row-center-wrapper' v-if='productList.length > 0'>
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
</view>
</view> </view>
<view class='loadingicon acea-row row-center-wrapper' v-if='productList.length > 0'>
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
</view>
</view>
</template> </template>
<script> <script>
import { import {
merchant, merchant,
paymerchant, paymerchant,
marginlist marginlist
} from '@/api/api.js' } from '@/api/api.js'
export default { export default {
data() { data() {
return { return {
mer_id:0, mer_id: 0,
merchant_Data: {}, merchant_Data: {},
where:{ where: {
page:1, page: 1,
limit:10 limit: 10
}, },
productList:[], productList: [],
loadend: false, loadend: false,
loading: false, loading: false,
loadTitle: '加载更多', loadTitle: '加载更多',
@ -63,26 +68,26 @@
onLoad(e) { onLoad(e) {
this.mer_id = e.mer_id this.mer_id = e.mer_id
this.decimal() this.decimal()
this.list(false) this.list(true)
}, },
onReachBottom() { onReachBottom() {
if (this.productList.length > 0) { if (this.productList.length > 0) {
setTimeout(() => { setTimeout(() => {
this.list(false); this.list(false);
}, 1000) }, 1000)
} }
}, },
methods: { methods: {
list(isPage){ list(isPage) {
let that = this; let that = this;
if (that.loadend) return; if (that.loadend) return;
if (that.loading) return; if (that.loading) return;
if (isPage === true) that.$set(that, 'productList', []); if (isPage === true) that.$set(that, 'productList', []);
that.loading = true; that.loading = true;
that.loadTitle = ''; that.loadTitle = '';
marginlist(that.where).then(res => { marginlist(that.where).then(res => {
let list = res.data.list; let list = res.data.list;
let productList = that.$util.SplitArray(list, that.productList); let productList = that.$util.SplitArray(list, that.productList);
let loadend = list.length < that.where.limit; let loadend = list.length < that.where.limit;
@ -92,21 +97,22 @@
setTimeout(() => { setTimeout(() => {
that.$set(that, 'productList', productList); that.$set(that, 'productList', productList);
}, 500) }, 500)
// console.log(that.productList)
that.$set(that.where, 'page', that.where.page + 1); that.$set(that.where, 'page', that.where.page + 1);
if (that.where.page == 1 && res.data.list.length <= 0) that.emptyShow = true if (that.where.page == 1 && res.data.list.length <= 0) that.emptyShow = true
}).catch(err => { }).catch(err => {
that.loading = false; that.loading = false;
that.loadTitle = '加载更多'; that.loadTitle = '加载更多';
}); });
}, },
// //
decimal() { decimal() {
merchant({ merchant({
id: this.mer_id id: this.mer_id
}).then((res) => { }).then((res) => {
this.merchant_Data = res.data this.merchant_Data = res.data
}); });
}, },
@ -117,23 +123,32 @@
title: '暂时无需缴纳保证金' title: '暂时无需缴纳保证金'
}); });
} else { } else {
let that = this
uni.showModal({ uni.showModal({
title: '提示', title: '提示',
content: '商户' + this.merchant_Data.mer_name + '是否同意缴纳保证金', content: '商户' + this.merchant_Data.mer_name + '是否同意缴纳保证金',
success: function(res) { success: (res) => {
if (res.confirm) { if (res.confirm) {
// console.log(''); // console.log('');
paymerchant().then((res) => { paymerchant().then((res) => {
console.log(res.data)
uni.requestPayment({ uni.requestPayment({
provider: 'wxpay', provider: 'wxpay',
orderInfo: res.data orderInfo: res.data
.config, // .config, //
success: function(res) { success: (res) => {
console.log('success:' + JSON.stringify(res)); that.$util.Tips({
title: '支付成功'
});
that.decimal()
that.list(true)
}, },
fail: function(err) { fail: (err) => {
that.$util.Tips({
title: '支付失败'
});
console.log('fail:' + JSON.stringify(err)); console.log('fail:' + JSON.stringify(err));
} }
}); });
@ -145,9 +160,9 @@
} }
} }
}); });
} }
}, },
} }
} }
@ -157,172 +172,174 @@
</style> </style>
<style lang="scss"> <style lang="scss">
page { page {
background-color: #fff; background-color: #fff;
}
.content-order{
background: #F4F4F4;
border-radius: 21rpx 21rpx ;
margin-top: 30rpx;
padding: 10rpx;
margin-left: 10rpx;
margin-right: 10rpx;
view{
font-size: 30rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
margin: 20rpx;
} }
}
.info {
display: flex;
flex-direction: column;
align-items: center;
position: relative;
height: 250rpx;
.bg { .content-order {
background-color: #FF5C2D; background: #F4F4F4;
height: 170rpx; border-radius: 21rpx 21rpx;
width: 100vw; margin-top: 30rpx;
border-radius: 0rpx 0rpx 28rpx 28rpx; padding: 10rpx;
position: absolute; margin-left: 10rpx;
top: 0; margin-right: 10rpx;
left: 0;
}
.card { view {
width: 694rpx; font-size: 30rpx;
min-height: 180rpx; font-family: PingFang SC-Regular, PingFang SC;
background: #FFFFFF; font-weight: 400;
margin-top: 38.55rpx; color: #333333;
box-shadow: 0rpx 0rpx 18rpx 2rpx rgba(50, 116, 249, 0.1); margin: 20rpx;
border-radius: 14rpx 14rpx 14rpx 14rpx;
opacity: 1;
padding: 31.5rpx 28rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
position: absolute;
top: 0;
.title { }
font-size: 32rpx; }
font-weight: 600;
color: #333333;
padding-bottom: 10rpx;
}
.item { .info {
display: flex; display: flex;
justify-content: space-between; flex-direction: column;
font-size: 32rpx; align-items: center;
font-weight: 400; position: relative;
color: #333333; height: 250rpx;
margin-bottom: 10rpx;
text:nth-child(1){
flex-shrink: 0;
margin-right: 18rpx;
}
}
}
}
.price { .bg {
display: flex; background-color: #FF5C2D;
flex-direction: column; height: 170rpx;
padding: 0 28rpx; width: 100vw;
margin-top: 50rpx; border-radius: 0rpx 0rpx 28rpx 28rpx;
position: absolute;
top: 0;
left: 0;
}
.title { .card {
font-size: 32rpx; width: 694rpx;
font-weight: 600; min-height: 180rpx;
color: #333333; background: #FFFFFF;
line-height: 39rpx; margin-top: 38.55rpx;
margin-bottom: 42rpx; box-shadow: 0rpx 0rpx 18rpx 2rpx rgba(50, 116, 249, 0.1);
} border-radius: 14rpx 14rpx 14rpx 14rpx;
opacity: 1;
padding: 31.5rpx 28rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
position: absolute;
top: 0;
.tab { .title {
display: flex; font-size: 32rpx;
flex-wrap: wrap; font-weight: 600;
justify-content: left; color: #333333;
width: 694rpx; padding-bottom: 10rpx;
}
.item { .item {
width: 217rpx; display: flex;
height: 131rpx; justify-content: space-between;
margin: 0 auto; font-size: 32rpx;
margin-bottom: 20rpx; font-weight: 400;
border-radius: 7rpx 7rpx 7rpx 7rpx; color: #333333;
border: 2rpx solid #F5F5F5; margin-bottom: 10rpx;
display: flex;
justify-content: center;
align-items: center;
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
}
.active { text:nth-child(1) {
border: 2rpx solid #FF5C2D; flex-shrink: 0;
color: #FF5C2D; margin-right: 18rpx;
} }
} }
}
}
.input { .price {
width: 100%; display: flex;
height: 112rpx; flex-direction: column;
background: #F5F5F5; padding: 0 28rpx;
border-radius: 56rpx 56rpx 56rpx 56rpx; margin-top: 85rpx;
opacity: 1;
padding: 0 45.56rpx;
box-sizing: border-box;
font-size: 28rpx;
font-weight: 400;
color: #333;
line-height: 35rpx;
}
.btn { .title {
width: 694rpx; font-size: 32rpx;
height: 84rpx; font-weight: 600;
margin-top: 73.6rpx; color: #333333;
background: #FF5C2D; line-height: 39rpx;
box-shadow: 0rpx 14rpx 44rpx 2rpx #E9EFF5; margin-bottom: 42rpx;
border-radius: 42rpx 42rpx 42rpx 42rpx; }
display: flex;
justify-content: center;
align-items: center;
font-size: 32rpx;
font-weight: 400;
color: #FFFFFF;
}
}
.tip { .tab {
display: flex; display: flex;
flex-direction: column; flex-wrap: wrap;
padding: 0 28rpx; justify-content: left;
margin-top: 84rpx; width: 694rpx;
.title { .item {
font-size: 32rpx; width: 217rpx;
font-weight: 500; height: 131rpx;
color: #FF5C2D; margin: 0 auto;
line-height: 32rpx; margin-bottom: 20rpx;
margin-bottom: 21rpx; border-radius: 7rpx 7rpx 7rpx 7rpx;
} border: 2rpx solid #F5F5F5;
display: flex;
justify-content: center;
align-items: center;
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
}
.text { .active {
font-size: 28rpx; border: 2rpx solid #FF5C2D;
font-weight: 400; color: #FF5C2D;
color: rgba(0, 0, 0, 0.6); }
line-height: 42rpx; }
-webkit-background-clip: text;
} .input {
} width: 100%;
height: 112rpx;
background: #F5F5F5;
border-radius: 56rpx 56rpx 56rpx 56rpx;
opacity: 1;
padding: 0 45.56rpx;
box-sizing: border-box;
font-size: 28rpx;
font-weight: 400;
color: #333;
line-height: 35rpx;
}
.btn {
width: 694rpx;
height: 84rpx;
margin-top: 73.6rpx;
background: #FF5C2D;
box-shadow: 0rpx 14rpx 44rpx 2rpx #E9EFF5;
border-radius: 42rpx 42rpx 42rpx 42rpx;
display: flex;
justify-content: center;
align-items: center;
font-size: 32rpx;
font-weight: 400;
color: #FFFFFF;
}
}
.tip {
display: flex;
flex-direction: column;
padding: 0 28rpx;
margin-top: 84rpx;
.title {
font-size: 32rpx;
font-weight: 500;
color: #FF5C2D;
line-height: 32rpx;
margin-bottom: 21rpx;
}
.text {
font-size: 28rpx;
font-weight: 400;
color: rgba(0, 0, 0, 0.6);
line-height: 42rpx;
-webkit-background-clip: text;
}
}
</style> </style>

View File

@ -1,5 +1,20 @@
<template> <template>
<view class="gather"> <view class="gather">
<!-- #ifdef MP || APP-PLUS -->
<view class="conten-top" :style="'height:'+statusBarHeight+'px'">
<view class="" style="position: absolute;left: 30rpx;bottom: 15rpx;" @click="logout"><i
class="iconfont icon-xiangzuo" style="font-size: 40rpx;text-align: left;"></i></view>
<view class=""
style="position: absolute;left: 30rpx;bottom: 15rpx;width: 120rpx; left:50%;margin-left:-60rpx;">
商家平台
</view>
</view>
<view :style="'height:'+statusBarHeight+'px'"></view>
<!-- #endif -->
<block v-if="isShow&&userInfoData.mer_info.mer_name"> <block v-if="isShow&&userInfoData.mer_info.mer_name">
<view class="" v-if="userInfoData.mer_info.setting_status==1"> <view class="" v-if="userInfoData.mer_info.setting_status==1">
<view class="special_work com" v-if="userInfoData.mer_info.type_code === 'TypeSupplyChain'"> <view class="special_work com" v-if="userInfoData.mer_info.type_code === 'TypeSupplyChain'">
@ -70,7 +85,7 @@
<view class="examine" @click="navigator(`/pages/margin/margin`)"> <view class="examine" @click="navigator(`/pages/margin/margin`)">
<image class="icon_img" src="@/static/images/jy.png"> <image class="icon_img" src="@/static/images/jy.png">
</image> </image>
<text class="text">保证缴纳</text> <text class="text">缴纳保证金</text>
</view> </view>
<!-- <view class="examine" <!-- <view class="examine"
@click="navigator(`/pages/commissionedSales/index/index?mer_id=${mer_id}`)"> @click="navigator(`/pages/commissionedSales/index/index?mer_id=${mer_id}`)">
@ -186,10 +201,10 @@
<view class="examine" @click="margin(`/pages/margin/margin`)"> <view class="examine" @click="margin(`/pages/margin/margin`)">
<image class="icon_img" src="@/static/images/jy.png"> <image class="icon_img" src="@/static/images/jy.png">
</image> </image>
<text class="text">保证缴纳</text> <text class="text">缴纳保证金</text>
</view> </view>
<!--
<view class="examine" <!-- <view class="examine"
@click="navigator(`/pages/users/trading_hall/index?mer_id=${mer_id}`)"> @click="navigator(`/pages/users/trading_hall/index?mer_id=${mer_id}`)">
<image class="icon_img" src="@/static/images/diaohuo.png" mode="aspectFill"> <image class="icon_img" src="@/static/images/diaohuo.png" mode="aspectFill">
</image> </image>
@ -306,7 +321,7 @@
<view class="examine" @click="navigator(`/pages/margin/margin`)"> <view class="examine" @click="navigator(`/pages/margin/margin`)">
<image class="icon_img" src="@/static/images/jy.png"> <image class="icon_img" src="@/static/images/jy.png">
</image> </image>
<text class="text">保证缴纳</text> <text class="text">缴纳保证金</text>
</view> </view>
<!-- <view class="examine" @click="navigator(`/pages/users/user_invoice_Finance/index?mer_id=${mer_id}`)"> <!-- <view class="examine" @click="navigator(`/pages/users/user_invoice_Finance/index?mer_id=${mer_id}`)">
<image class="icon_img" src="@/static/images/cwgk.png" mode="aspectFill"> <image class="icon_img" src="@/static/images/cwgk.png" mode="aspectFill">
@ -377,7 +392,7 @@
<view class="examine" @click="navigator(`/pages/margin/margin`)"> <view class="examine" @click="navigator(`/pages/margin/margin`)">
<image class="icon_img" src="@/static/images/jy.png"> <image class="icon_img" src="@/static/images/jy.png">
</image> </image>
<text class="text">保证缴纳</text> <text class="text">缴纳保证金</text>
</view> </view>
</view> </view>
</view> </view>
@ -410,11 +425,12 @@
<emptyPage title="暂无信息"></emptyPage> <emptyPage title="暂无信息"></emptyPage>
</view> </view>
<view class="settlementAgreement" v-if="isFshow"> <view class="settlementAgreement" v-if="isFshow">
<view class="setAgCount" style="width: 100%;height: 100%;"> <view class="setAgCount" style="width: 100%;height: 100%; padding-top:120rpx ;">
<!-- <i class="icon iconfont icon-cha" @click="recuo"></i> -->
<view class="" style="width: 60rpx;height: 60rpx; position: absolute;right: 30rpx; top:20rpx" <view class="" style="width: 60rpx;height: 60rpx; position: absolute;left: 30rpx; top:80rpx"
@click="recuo"> @click="recuo">
<image src="@/static/images/close.png" mode="aspectFit" style="width: 60rpx;height: 60rpx;"></image> <i class="iconfont icon-xiangzuo" style="width: 60rpx;height: 60rpx;font-size: 40rpx;"></i>
<!-- <image src="@/static/images/close.png" mode="aspectFit" style="width: 60rpx;height: 60rpx;"></image> -->
</view> </view>
<div class="title">{{detail.title}}</div> <div class="title">{{detail.title}}</div>
<view style="margin: 20rpx 0;">甲方公司:{{company?company:"暂无公司信息"}}</view> <view style="margin: 20rpx 0;">甲方公司:{{company?company:"暂无公司信息"}}</view>
@ -440,9 +456,9 @@
<view class="userpage"> <view class="userpage">
<view class="userpage-icon" @click="close"> <view class="userpage-icon" @click="close">
<image src="@/static/images/close.png" mode=""></image> <!-- <image src="@/static/images/close.png" mode=""></image> -->
<i class="iconfont icon-xiangzuo" style="width: 60rpx;height: 60rpx;font-size: 40rpx;"></i>
</view> </view>
<form report-submit='true' style="height: 90%;"> <form report-submit='true' style="height: 90%;">
<view class='merchantsSettled' :style="{'height':Fheight}"> <view class='merchantsSettled' :style="{'height':Fheight}">
<view class="title">填写信息</view> <view class="title">填写信息</view>
@ -606,7 +622,7 @@
cardno_back: '' cardno_back: ''
}, },
Fheight: 0, Fheight: 0,
statusBarHeight: 0
}; };
}, },
computed: { computed: {
@ -615,7 +631,7 @@
created() {}, created() {},
onLoad() { onLoad() {
this.Fheight = uni.getSystemInfoSync().windowHeight + 'px'; this.Fheight = uni.getSystemInfoSync().windowHeight + 'px';
console.log(this.Fheight) this.statusBarHeight = uni.getSystemInfoSync().statusBarHeight+45;
}, },
onShow() { onShow() {
if (this.isLogin) { if (this.isLogin) {
@ -628,9 +644,6 @@
this.getUserInfo() this.getUserInfo()
this.codelist() this.codelist()
this.list() this.list()
}, },
@ -855,6 +868,12 @@
} }
}, },
//
logout() {
uni.switchTab({
url: '/pages/gather/gather'
})
},
// //
buyserset() { buyserset() {
uni.navigateTo({ uni.navigateTo({
@ -864,7 +883,6 @@
navigator(url, t) { navigator(url, t) {
if (this.userInfoData.mer_info.mer_settlement_agree_status == 0) { if (this.userInfoData.mer_info.mer_settlement_agree_status == 0) {
// console.log(this.codenote)
if (this.codenote.length == 0) { if (this.codenote.length == 0) {
@ -880,7 +898,6 @@
this.countDown() this.countDown()
} }
} }
} else { } else {
uni.navigateTo({ uni.navigateTo({
@ -939,6 +956,16 @@
background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%); background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%);
} }
.conten-top {
width: 100%;
text-align: center;
background-color: #fff;
position: absolute;
top: 0;
position: fixed;
z-index: 10;
}
.userpage { .userpage {
width: 100%; width: 100%;
@ -952,7 +979,7 @@
height: 60rpx; height: 60rpx;
position: absolute; position: absolute;
top: 65rpx; top: 65rpx;
right: 60rpx; left: 60rpx;
image { image {
width: 100%; width: 100%;

View File

@ -6,10 +6,18 @@
<view v-if="showtit"> <view v-if="showtit">
<view :class="{'head':true,'show':showtit}" style="padding-top: var(--status-bar-height);"> <view :class="{'head':true,'show':showtit}" style="padding-top: var(--status-bar-height);">
<view style="display: flex;align-items: center;"> <view style="display: flex;align-items: center;">
<u--image :showLoading="true" v-if="cloudList.length>0" src="/static/images/LHYC/FH.png" <!-- <u--image :showLoading="true" v-if="cloudList.length>0" src="/static/images/LHYC/FH.png"
width="50.82rpx" height="50.82rpx" @click='goBack'></u--image> width="50.82rpx" height="50.82rpx" @click='goBack'></u--image>
<u--image v-else :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx" <u--image v-else :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx"
height="50.82rpx" @click='goBack'></u--image> height="50.82rpx" @click='goBack'></u--image> -->
<i class="iconfont icon-xiangzuo" v-if="cloudList.length>0"
style="font-size: 40rpx;text-align: left;" @click='goBack'></i>
<i class="iconfont icon-xiangzuo" v-else style="font-size: 40rpx;text-align: left;"
@click='goBack'></i>
<view class="head_tit" v-if="cloudList.length" <view class="head_tit" v-if="cloudList.length"
style="font-size: 40rpx;transform: skewX(-10deg);font-weight: bold;" style="font-size: 40rpx;transform: skewX(-10deg);font-weight: bold;"
:style="{color:cloudList.length>0?'':'black'}"> :style="{color:cloudList.length>0?'':'black'}">
@ -39,8 +47,10 @@
<view style="align-items: center;display: flex;justify-content: space-between;"> <view style="align-items: center;display: flex;justify-content: space-between;">
<view class="" style="display: flex;align-items: center;"> <view class="" style="display: flex;align-items: center;">
<view class="back" style="margin-right: 17rpx;"> <view class="back" style="margin-right: 17rpx;">
<u--image :showLoading="true" src="/static/images/LHYC/FH.png" width="50.82rpx" <!-- <u--image :showLoading="true" src="/static/images/LHYC/FH.png" width="50.82rpx"
height="50.82rpx" @click='goBack'></u--image> height="50.82rpx" @click='goBack'></u--image> -->
<i class="iconfont icon-xiangzuo" style="font-size: 40rpx;text-align: left;"
@click='goBack'></i>
</view> </view>
<view class="" style="font-size: 40rpx;transform: skewX(-10deg);font-weight: 700;"> <view class="" style="font-size: 40rpx;transform: skewX(-10deg);font-weight: 700;">
供销综合云市场 供销综合云市场

View File

@ -22,10 +22,15 @@
<view :class="{'head':true,'show':showtit}" <view :class="{'head':true,'show':showtit}"
style="padding-top: var(--status-bar-height);display: block;"> style="padding-top: var(--status-bar-height);display: block;">
<view style="display: flex;align-items: center;"> <view style="display: flex;align-items: center;">
<u--image :showLoading="true" v-if="cloudList.length>0" src="/static/images/LHYC/FH.png" <!-- <u--image :showLoading="true" v-if="cloudList.length>0" src="/static/images/LHYC/FH.png"
width="50.82rpx" height="50.82rpx" @click='goBack'></u--image> width="50.82rpx" height="50.82rpx" @click='goBack'></u--image>
<u--image v-else :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx" <u--image v-else :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx"
height="50.82rpx" @click='goBack'></u--image> height="50.82rpx" @click='goBack'></u--image> -->
<i class="iconfont icon-xiangzuo" v-if="cloudList.length>0"
style="font-size: 40rpx;text-align: left;" @click='goBack'></i>
<i class="iconfont icon-xiangzuo" v-else style="font-size: 40rpx;text-align: left;"
@click='goBack'></i>
<view class="head_tit" style="font-size: 36.8rpx;font-weight: 700;transform: skewX(-10deg);" <view class="head_tit" style="font-size: 36.8rpx;font-weight: 700;transform: skewX(-10deg);"
:style="{color:cloudList.length>0?'':'black'}" :style="{color:cloudList.length>0?'':'black'}"
@click="navgo(`/pages/nongKe/supply_chain/supplier?type_id=10&street_id=${street_code}&townName=${street}`)"> @click="navgo(`/pages/nongKe/supply_chain/supplier?type_id=10&street_id=${street_code}&townName=${street}`)">
@ -70,7 +75,6 @@
</view> </view>
--> -->
<view class="flags1"> <view class="flags1">
</view> </view>
</view> </view>
@ -110,24 +114,28 @@
<view style="align-items: center;display: flex;justify-content: space-between;"> <view style="align-items: center;display: flex;justify-content: space-between;">
<view class="" style="display: flex;align-items: center;"> <view class="" style="display: flex;align-items: center;">
<view class="back" style="margin-right: 17rpx;"> <view class="back" style="margin-right: 17rpx;">
<u--image :showLoading="true" src="/static/images/LHYC/FH.png" width="50.82rpx" <!-- <u--image :showLoading="true" src="/static/images/LHYC/FH.png" width="50.82rpx"
height="50.82rpx" @click='goBack'></u--image> height="50.82rpx" @click='goBack'></u--image> -->
<i class="iconfont icon-xiangzuo" style="font-size: 40rpx;text-align: left;"
@click='goBack'></i>
</view> </view>
<view class="" style="font-size: 40rpx;transform: skewX(-10deg);"> <view class="" style="font-size: 40rpx;transform: skewX(-10deg);">
供销综合云市场 供销综合云商品
</view> </view>
</view> </view>
<view style="position: relative;width: 289.14rpx;"> <view style="position: relative;width: 289.14rpx;">
<u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="请输入..." <u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="请输入..."
v-model="keyword" class="serch_cls"></u-search> v-model="keyword" class="serch_cls" style="height: 56.82rpx;"></u-search>
<u--image class="img_cls" :showLoading="true" src="/static/images/GXSC/SSBT.png" <!-- <u--image class="img_cls" :showLoading="true" src="/static/images/GXSC/SSBT.png"
width="115.65rpx" height="56.82rpx" @click="serch"></u--image> width="115.65rpx" height="56.82rpx" @click="serch"></u--image> -->
<view class="serchbtn img_cls" @click="serch">搜索</view>
</view> </view>
<view class='head_r' @click="showPop=true"> <view class='head_r' @click="showPop=true">
<u--image :showLoading="true" src="/static/images/LHYC/QB.png" width="50.82rpx" <u--image :showLoading="true" src="/static/images/LHYC/QB.png" width="50.82rpx"
height="50.82rpx"></u--image> height="50.82rpx"></u--image>
<text class="" style="height: 5px;"></text> <text class="" style="height: 10px;"></text>
<view class="flags"> <view class="flags">
</view> </view>
@ -225,7 +233,7 @@
</view> </view>
</view> </view>
<view style="height: 100rpx;"> <view style="height: 100rpx;">
<u-loadmore :status="status" /> <!-- <u-loadmore :status="status" /> -->
</view> </view>
</view> </view>
<!-- --> <!-- -->
@ -523,13 +531,7 @@
let that = this let that = this
setTimeout(() => { setTimeout(() => {
uni.createSelectorQuery()
.in(this)
.select('.flags')
.boundingClientRect(rect => {
this.headtop = rect.top
})
.exec();
uni.createSelectorQuery() uni.createSelectorQuery()
.in(this) .in(this)
.select('.flags1') .select('.flags1')
@ -581,6 +583,14 @@
onPageScroll(e) { onPageScroll(e) {
let that = this let that = this
this.showtit = !Boolean(e.scrollTop) this.showtit = !Boolean(e.scrollTop)
uni.createSelectorQuery()
.in(this)
.select('.flags')
.boundingClientRect(rect => {
this.headtop = rect.top
console.log(rect.top)
})
.exec();
uni.createSelectorQuery() uni.createSelectorQuery()
.in(this) .in(this)
.select('.content') .select('.content')
@ -960,6 +970,19 @@
} }
} }
.serchbtn {
// position: absolute;
// right: 5rpx;
// top: 5rpx;
width: 100rpx;
height: 50rpx;
border-radius: 30rpx;
text-align: center;
line-height: 50rpx;
// background-color: #FEAB00;
background: linear-gradient(to right, #F84221, #FF6D20);
}
.selected-list { .selected-list {
padding: 24rpx 14rpx; padding: 24rpx 14rpx;
border-radius: 10.51rpx 10.51rpx 10.51rpx 10.51rpx; border-radius: 10.51rpx 10.51rpx 10.51rpx 10.51rpx;
@ -1192,7 +1215,7 @@
.img_cls { .img_cls {
position: absolute; position: absolute;
top: 50%; top: 50%;
right: 7rpx; right: 5rpx;
transform: translateY(-50%); transform: translateY(-50%);
} }

View File

@ -9,7 +9,10 @@
<view class="head_tit"> <view class="head_tit">
<view class="" style="display: flex;align-items: center;"> <view class="" style="display: flex;align-items: center;">
<view class="back" @click='backjJump()' style="margin-right:17rpx ;"> <view class="back" @click='backjJump()' style="margin-right:17rpx ;">
<view class="iconfont icon-xiangzuo" style="color: #333333;"></view> <!-- <u--image :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx"
height="50.82rpx"></u--image> -->
<i class="iconfont icon-xiangzuo" style="font-size: 40rpx;text-align: left;"
></i>
</view> </view>
<view style="font-size: 40rpx;"> <view style="font-size: 40rpx;">
<!-- {{titName}} --> <!-- {{titName}} -->
@ -23,8 +26,9 @@
:value='sotreParam.keyword' @confirm="searchSubmit"></input> --> :value='sotreParam.keyword' @confirm="searchSubmit"></input> -->
<u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索店铺名称" <u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索店铺名称"
v-model="sotreParam.keyword" class="serch_cls"></u-search> v-model="sotreParam.keyword" class="serch_cls"></u-search>
<u--image @tap="searchSubmit" class="img_cls" :showLoading="true" <view class="serchbtn img_cls" @tap="searchSubmit">搜索</view>
src="/static/images/GXSC/SSBT.png" width="115.65rpx" height="56.82rpx"></u--image> <!-- <u--image @tap="searchSubmit" class="img_cls" :showLoading="true"
src="/static/images/GXSC/SSBT.png" width="115.65rpx" height="56.82rpx"></u--image> -->
</view> </view>
</view> </view>
@ -700,7 +704,19 @@
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
.serchbtn {
// position: absolute;
// right: 5rpx;
// top: 5rpx;
width: 100rpx;
height: 50rpx;
border-radius: 30rpx;
text-align: center;
line-height: 50rpx;
// background-color: #FEAB00;
color: #fff;
background: linear-gradient(to right, #F84221, #FF6D20);
}
.com_name { .com_name {
font-size: 32rpx; font-size: 32rpx;
// background-color: red; // background-color: red;
@ -1301,7 +1317,7 @@
.img_cls { .img_cls {
position: absolute; position: absolute;
top: 50%; top: 50%;
right: 7rpx; right: 5rpx;
transform: translateY(-50%); transform: translateY(-50%);
} }

View File

@ -9,7 +9,11 @@
<view class="head_tit"> <view class="head_tit">
<view class="" style="display: flex;align-items: center;"> <view class="" style="display: flex;align-items: center;">
<view class="back" @click='backjJump()' style="margin-right: 17rpx;"> <view class="back" @click='backjJump()' style="margin-right: 17rpx;">
<view class="iconfont icon-xiangzuo" style="color: #333333;"></view> <!-- <u--image :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx"
height="50.82rpx"></u--image> -->
<i class="iconfont icon-xiangzuo" style="font-size: 40rpx;text-align: left;"
></i>
</view> </view>
<view style="font-size: 40rpx;"> <view style="font-size: 40rpx;">
<!-- {{titName}} --> <!-- {{titName}} -->
@ -26,8 +30,9 @@
:value='sotreParam.keyword' @confirm="searchSubmit"></input> --> :value='sotreParam.keyword' @confirm="searchSubmit"></input> -->
<u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索店铺名称" <u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索店铺名称"
v-model="sotreParam.keyword" class="serch_cls"></u-search> v-model="sotreParam.keyword" class="serch_cls"></u-search>
<u--image @tap="searchSubmit" class="img_cls" :showLoading="true" <view class="serchbtn img_cls" @tap="searchSubmit">搜索</view>
src="/static/images/GXSC/SSBT.png" width="115.65rpx" height="56.82rpx"></u--image> <!-- <u--image @tap="searchSubmit" class="img_cls" :showLoading="true"
src="/static/images/GXSC/SSBT.png" width="115.65rpx" height="56.82rpx"></u--image> -->
</view> </view>
</view> </view>
@ -699,6 +704,19 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.serchbtn {
// position: absolute;
// right: 5rpx;
// top: 5rpx;
width: 100rpx;
height: 50rpx;
border-radius: 30rpx;
text-align: center;
line-height: 50rpx;
// background-color: #FEAB00;
color: #fff;
background: linear-gradient(to right, #F84221, #FF6D20);
}
* { * {
margin: 0; margin: 0;
padding: 0; padding: 0;
@ -1304,7 +1322,7 @@
.img_cls { .img_cls {
position: absolute; position: absolute;
top: 50%; top: 50%;
right: 7rpx; right: 5rpx;
transform: translateY(-50%); transform: translateY(-50%);
} }

View File

@ -8,8 +8,9 @@
<view class="head_tit"> <view class="head_tit">
<view class="" style="display: flex;align-items: center;"> <view class="" style="display: flex;align-items: center;">
<u--image :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx" <!-- <u--image :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx"
height="50.82rpx" @click='backjJump'></u--image> height="50.82rpx" @click='backjJump'></u--image> -->
<i class="iconfont icon-xiangzuo" style="font-size: 40rpx;text-align: left;" @click='backjJump'></i>
<view class="" <view class=""
style="font-size: 36.8rpx;font-weight: 700;transform: skewX(-10deg);margin-left: 20rpx;color: #F84221;"> style="font-size: 36.8rpx;font-weight: 700;transform: skewX(-10deg);margin-left: 20rpx;color: #F84221;">
供销综合云市场 供销综合云市场
@ -141,7 +142,7 @@
</view> </view>
<u-loadmore :status="status" />
</view> </view>
<!-- 热搜 --> <!-- 热搜 -->
@ -414,6 +415,7 @@
menuList: [], menuList: [],
street: "", street: "",
showPicker: false, showPicker: false,
status: "loadmore",
// //
downMenu: [{ downMenu: [{
title: '默认', title: '默认',
@ -572,7 +574,7 @@
area_code: code area_code: code
}).then(res => { }).then(res => {
this.$refs.uPicker.setColumnValues(1, res.data); this.$refs.uPicker.setColumnValues(1, res.data);
console.log(res.data, 9999)
}); });
}, },
@ -920,19 +922,33 @@
}, },
// //
onReachBottom() { onReachBottom() {
if (this.count === this.storeList.length) { this.sotreParam.page += 1
if (this.count === 0) {
let rqData = {
keyword: this.sotreParam.keyword,
page: this.sotreParam.page,
limit: 10,
order: this.sotreParam.order,
category_id: this.sotreParam.category_id,
type_id: this.sotreParam.type_id,
street_id: this.sotreParam.street_id,
credit_buy: this.credit_buy
}
if (this.latitude) {
rqData.location = this.latitude + ',' + this.longitude
}
// console.log(rqData)
storeMerchantList(rqData).then(res => {
if (res.data.list == 0) {
this.status = "nomore"
return return
} }
uni.showToast({ this.count = res.data.count
title: '已加载全部', this.storeList.push(...res.data.list)
icon: 'none',
duration: 1000 })
});
} else {
this.sotreParam.page += 1
this.storeMerchantList()
}
} }
} }

View File

@ -9,7 +9,10 @@
<view class="head_tit"> <view class="head_tit">
<view class="" style="display: flex;align-items: center;"> <view class="" style="display: flex;align-items: center;">
<view class="back" @click='backjJump()' style="margin-right: 17rpx;"> <view class="back" @click='backjJump()' style="margin-right: 17rpx;">
<view class="iconfont icon-xiangzuo" style="color: #333333;"></view> <!-- <u--image :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx"
height="50.82rpx"></u--image> -->
<i class="iconfont icon-xiangzuo" style="font-size: 40rpx;text-align: left;"
></i>
</view> </view>
<view style="font-size: 40rpx;"> <view style="font-size: 40rpx;">
<!-- {{titName}} --> <!-- {{titName}} -->
@ -26,8 +29,9 @@
:value='sotreParam.keyword' @confirm="searchSubmit"></input> --> :value='sotreParam.keyword' @confirm="searchSubmit"></input> -->
<u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索店铺名称" <u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索店铺名称"
v-model="sotreParam.keyword" class="serch_cls"></u-search> v-model="sotreParam.keyword" class="serch_cls"></u-search>
<u--image @tap="searchSubmit" class="img_cls" :showLoading="true" <view class="serchbtn img_cls" @tap="searchSubmit">搜索</view>
src="/static/images/GXSC/SSBT.png" width="115.65rpx" height="56.82rpx"></u--image> <!-- <u--image @tap="searchSubmit" class="img_cls" :showLoading="true"
src="/static/images/GXSC/SSBT.png" width="115.65rpx" height="56.82rpx"></u--image> -->
</view> </view>
</view> </view>
@ -701,7 +705,19 @@
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
.serchbtn {
// position: absolute;
// right: 5rpx;
// top: 5rpx;
width: 100rpx;
height: 50rpx;
border-radius: 30rpx;
text-align: center;
line-height: 50rpx;
// background-color: #FEAB00;
color: #fff;
background: linear-gradient(to right, #F84221, #FF6D20);
}
.com_name { .com_name {
font-size: 32rpx; font-size: 32rpx;
// background-color: red; // background-color: red;
@ -1302,7 +1318,7 @@
.img_cls { .img_cls {
position: absolute; position: absolute;
top: 50%; top: 50%;
right: 7rpx; right: 5rpx;
transform: translateY(-50%); transform: translateY(-50%);
} }

View File

@ -306,7 +306,7 @@
<view class="content-clip"></view> <view class="content-clip"></view>
<view class='footer acea-row row-right row-middle' v-if="isGoodsReturn==false"> <view class='footer acea-row row-right row-middle' v-if="isGoodsReturn==false">
<!-- <view class='bnt cancel' @click="cancelSales">取消售后</view> --> <!-- <view class='bnt cancel' @click="cancelSales">取消售后</view> -->
<!-- <view v-if="!orderInfo.receipt && !isGoodsReturn" class='bnt cancel' @click="applyInvoice">申请开票</view> --> <view v-if="!orderInfo.receipt && !isGoodsReturn" class='bnt cancel' @click="applyInvoice">申请开票</view>
<view v-if="orderInfo.activity_type == 2 && (orderInfo.status == 10 || orderInfo.status == 11)" <view v-if="orderInfo.activity_type == 2 && (orderInfo.status == 10 || orderInfo.status == 11)"
class=" acea-row row-right row-middle"> class=" acea-row row-right row-middle">
<view v-if="orderInfo.presellOrder.activeStatus == 0" class='bnt b-color btn_auto'> <view v-if="orderInfo.presellOrder.activeStatus == 0" class='bnt b-color btn_auto'>

View File

@ -363,7 +363,7 @@
}, },
mapGetters(['isLogin', 'uid', 'viewColor', 'keyColor', ])), mapGetters(['isLogin', 'uid', 'viewColor', 'keyColor', ])),
onLoad: function(options) { onLoad: function(options) {
console.log('11111111')
this.credit_buy = options.credit_buy this.credit_buy = options.credit_buy
// console.log(options.product_type) // console.log(options.product_type)
if (options.product_type) { if (options.product_type) {

View File

@ -28,7 +28,8 @@
<view class="list_count"> <view class="list_count">
<view v-if="followDetail.author" class="title"> <view v-if="followDetail.author" class="title">
<view class="head-menu"> <view class="head-menu">
<image src="@/static/images/right.png" mode="aspectFill" @click="returns"></image> <i class="iconfont icon-xiangzuo" style="font-size: 40rpx;text-align: left;" @click="returns"></i>
<!-- <image src="@/static/images/right.png" mode="aspectFill" @click="returns"></image> -->
</view> </view>
<view class="author"> <view class="author">

View File

@ -32,7 +32,7 @@
getProductContent(obj) { getProductContent(obj) {
// console.log(obj); // console.log(obj);
this.goodsDis = obj; this.goodsDis = obj;
this.a=obj.store_name this.a=obj.store_name;
}, },
save() { save() {
setStorage('goodsDis', this.goodsDis); setStorage('goodsDis', this.goodsDis);

View File

@ -0,0 +1,677 @@
<template>
<view class=" writeBg ">
<view class="content_list">
<view class="content_list_item" @click="inputGoodsDetils">
<view>商品详情</view>
<!-- <view class="content_list_item_han">
<span v-if="disModel" style="color: #000000">去修改</span>
<span v-else>设置详情</span>
<span class="iconfont">&#xe6bd;</span>
</view> -->
</view>
<input-goods-detils class="input-goods-detils" @getProductContent="getProductContent" :title="store_name" :prodectContent="goodsDis" :maxLength="200"></input-goods-detils>
<block v-if="!moreThanFlag">
<view class="content_list_video input-goods-detils">
<view class="content_list_video_title">商品视频</view>
<view class="video_list">
<view class="video_list_item photo" v-if="addGoodsSecoundData.video_link">
<view class="jiao" @click="deleteImage()">
<!-- video标签在app端层级过高 -->
<!--#ifndef APP-PLUS-->
<video :src="addGoodsSecoundData.video_link"></video>
<!--#endif-->
<!--#ifdef APP-PLUS-->
<img src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/luzhou/static4/3/video_bg.png"
style=" width:150rpx"></img>
<!--#endif-->
<image src="../static/images/close.png" mode="widthFix"></image>
</view>
<!--#ifndef APP-PLUS-->
<view style="position: absolute;">
<view class="videoHover" @click="videoshow">
</view>
<text class="video-text">点击可预览视频</text>
</view>
<!--#endif-->
<!--#ifdef APP-PLUS-->
<view class='preview_video'>
<view class="videoHover" @click="videoshow">
</view>
<text class="video-text">点击可预览视频</text>
</view>
<!--#endif-->
</view>
<view class="photo" @click="uploadVideo" v-else>
<view>
<image src="../static/images/creamer.png" mode="widthFix"></image>
</view>
<view>添加视频</view>
</view>
</view>
</view>
<view class="container_input marginTop_none input-goods-detils">
<view class="container_input_item">
<view class="container_input_item_label"><span>是否推荐</span></view>
<view class="container_input_item_value">
<switch :checked="addGoodsSecoundData.is_good == 1" color="#E93323" style="transform:scale(0.8)"
@change="isGood" />
</view>
</view>
<!-- <view class="container_input_item">
<view class="container_input_item_label"><span>是否开启礼包</span></view>
<view class="container_input_item_value">
<switch :checked="addGoodsSecoundData.is_gift_bag == 1" color="#E93323" style="transform:scale(0.8)"
@change="isGiftBag" />
</view>
</view> -->
</view>
<!-- <view class="tip input-goods-detils">
<span class="iconfont">&#xe688;</span>
<span>开启后此商品只能在分销礼包中展示并销售</span>
</view> -->
<view class="container_input marginTop_none input-goods-detils">
<view class="container_input_item">
<view class="container_input_item_label"><span>限购数量</span></view>
<view class="container_input_item_value">
<input v-model="addGoodsSecoundData.once_count" type="number" value="" placeholder="请输入限购数量"
placeholder-class="inputPlaceHolder" />
</view>
</view>
<view class="container_input_item">
<view class="container_input_item_label"><span>商品排序</span></view>
<view class="container_input_item_value">
<input v-model="addGoodsSecoundData.sort" type="number" value="" placeholder="请输入商品排序"
placeholder-class="inputPlaceHolder" />
</view>
</view>
</view>
</block>
<view class="more_than" @click="moreThanFlag=!moreThanFlag" >
<view v-if="moreThanFlag">更多</view>
<view v-else>收起</view>
</view>
</view>
<view v-if="showVideo" class="video-count">
<!--#ifndef APP-PLUS-->
<video id="myVideo" class="videoLink" autoplay loop muted :src="addGoodsSecoundData.video_link"></video>
<!--#endif-->
<!--#ifdef APP-PLUS-->
<video id="myVideo" class="videoLink" autoplay loop
:src='addGoodsSecoundData.video_link && (addGoodsSecoundData.video_link.substring(0,4) == "http" || addGoodsSecoundData.video_link.substring(0,5) == "https") ?addGoodsSecoundData.video_link : "http:" + addGoodsSecoundData.video_link'></video>
<!--#endif-->
</view>
<view class='mask' catchtouchmove="true" :hidden='showVideo==false' @tap="showVideo=false"></view>
<view class="handle dobuButton">
<view class="handle_button margin_right" @click="lastStep">上一步</view>
<view class="handle_button" @click="submitCreatedGoods">提交</view>
</view>
</view>
</template>
<script>
import { TOKENNAME, HTTP_REQUEST_URL } from '@/config/app.js';
import store from 'store';
import {
navigateTo,
setStorage,
getStorage,
removeStorage,
navigateBack,
Toast,
Loading,
hideLoading,
Modal
} from '../../../libs/uniApi.js';
import { productCreate, productUpdate } from 'api/product.js';
import inputGoodsDetils from '../components/inputGoodsDetils.vue';
export default {
components: {
inputGoodsDetils
},
props: {
merId: {
type: [String, Number],
default: ''
},
product_id: {
type: [String, Number],
default: ''
},
resetKey: {
type: Boolean,
default: false
},
code: {
type: [String, Number],
default: 0
}
},
data() {
return {
showVideo: false,
disModel: false,
upload_max: 10,
uploadUrl: `${HTTP_REQUEST_URL}/api/upload/video`,
addGoodsSecoundData: {
is_good: 0, //
is_gift_bag: 0,
sort: '',
once_count: '', //
video_link: ''
},
goodsDis: {imageList: []},
store_name:'',
moreThanFlag: true,
};
},
created() {
// console.log('123');
this.initData();
},
watch: {
addGoodsSecoundData: {
handler(val) {
setTimeout(() => {
setStorage(this.product_id ? 'editGoodsDetils' : 'addGoodsSecoundData', val)
});
},
deep: true
},
resetKey: {
handler(val) {
// console.log(1);
this.initData();
}
},
goodsDis: {
handler(val) {
setTimeout(() => {
setStorage('goodsDis', this.goodsDis);
});
},
deep: true
},
},
methods: {
videoshow() {
this.showVideo = true
this.videoContext = uni.createVideoContext('myVideo', this);
this.$nextTick(() => {
this.videoContext.play();
})
// this.video_link = this.formData.video_link;
// this.videoContext.requestFullScreen({ direction: 90 });
// this.videoContext.play(); this.videoplay = true;
},
initData() {
let editGoodsDetils = {};
if (getStorage('goodsDis')) {
this.disModel = true;
}
if (this.product_id) {
editGoodsDetils = getStorage('editGoodsDetils');
Object.keys(this.addGoodsSecoundData).forEach(item => {
this.addGoodsSecoundData[item] = editGoodsDetils[item];
});
if (editGoodsDetils.content) {
setStorage('goodsDis', {
store_name: editGoodsDetils.content.title,
imageList: editGoodsDetils.content.image
});
this.disModel = true;
}
setStorage('canChangeSecound', true);
return;
}
if (getStorage('addGoodsSecoundData')) {
Object.keys(this.addGoodsSecoundData).forEach(item => {
if (getStorage('addGoodsSecoundData')[item] || getStorage('addGoodsSecoundData')[item] == 0) {
this.addGoodsSecoundData[item] = getStorage('addGoodsSecoundData')[item];
}
});
}
},
lastStep() {
this.$emit('lastStep');
},
//
submitCreatedGoods() {
Loading();
let waitDeleteData = ['addGoodsFormData', 'singleSpecification', 'attrValue', 'modifyPriceData',
'addGoodsSecoundData', 'goodsDis', 'editGoodsDetils', 'canChange', 'canChangeSecound'
];
let attrValue = getStorage('addGoodsFormData').spec_type == 0 ? [getStorage('singleSpecification')] :
getStorage('attrValue');
let postData = {
...this.addGoodsSecoundData,
...getStorage('addGoodsFormData'),
content: {
title: getStorage('goodsDis') ? getStorage('goodsDis').store_name : '',
image: getStorage('goodsDis') ? getStorage('goodsDis').imageList : []
},
video_link: this.addGoodsSecoundData.video_link
};
if (attrValue) {
postData.attrValue = attrValue.filter(item => item != '');
postData.attrValue[0].bar_code
}
// console.log(postData);
if (getStorage('addGoodsFormData').spec_type == 0) {
// postData.attr = [getStorage('singleSpecification')];
}
if (this.product_id) {
productUpdate(this.merId, this.product_id, postData)
.then(res => {
waitDeleteData.forEach(item => {
if (getStorage(item)) {
removeStorage(item);
}
});
hideLoading()
Modal('提交成功', '点击确定,返回商品管理', {
showCancel: false
}).then(() => {
uni.removeStorageSync('singleSpecification')
uni.redirectTo({
url: '/pages/product/goodsOnSale/index?mer_id=' + this.merId
})
})
})
.catch(rej => {
Toast(rej);
});
} else {
productCreate(this.merId, postData)
.then(res => {
waitDeleteData.forEach(item => {
if (getStorage(item)) {
removeStorage(item);
}
});
hideLoading();
Modal('提交成功', '点击确定,返回商品管理', {
showCancel: false,
}).then(() => {
uni.redirectTo({
url: '/pages/product/goodsOnSale/index?mer_id=' + this.merId
})
})
})
.catch(rej => {
Toast(rej);
});
}
},
//
isGood(e) {
this.addGoodsSecoundData.is_good = e.detail.value ? 1 : 0;
},
//
isGiftBag(e) {
this.addGoodsSecoundData.is_gift_bag = e.detail.value ? 1 : 0;
},
switchChange(value, item) {
this.addGoodsSecoundData[item.model] = value ? 1 : 0;
},
//
inputGoodsDetils() {
navigateTo(1, '/pages/product/addGoods/addGoodDetils', { mer_id: this.merId });
},
//
uploadVideo() {
uni.chooseVideo({
sourceType: ['camera', 'album'],
success: res => {
console.log(res)
if (Math.ceil(res.size / 1024) < this.upload_max * 1024) {
uni.uploadFile({
url: this.uploadUrl, //
filePath: res.tempFilePath,
name: 'file',
//
formData: {
user: 'test'
},
header: {
// #ifdef MP
'Content-Type': 'multipart/form-data',
// #endif
[TOKENNAME]: 'Bearer ' + store.state.app.token
},
success: uploadFileRes => {
let data = JSON.parse(uploadFileRes.data);
this.addGoodsSecoundData.video_link = (data.data.src);
},
complete: a => {
// console.log(a);
}
});
} else {
uni.showModal({
title: '提示',
content: `视频超出限制${this.upload_max}MB,已过滤`
});
}
},
fail: err => {
//
// uni.showModal({
// content: JSON.stringify(err)
// });
console.log(err)
}
});
},
deleteImage(index) {
this.addGoodsSecoundData.video_link = '';
},
getProductContent(obj) {
// console.log(obj);
this.goodsDis = obj;
this.a=obj.store_name
},
}
};
</script>
<style lang="scss" scoped>
@import './scss/index.scss';
.content_list {
width: 710rpx;
margin: auto;
padding: 0 20rpx;
box-sizing: border-box;
background: #fff;
margin-top: 31rpx;
border-radius: 10rpx;
.input-goods-detils{
width: 100%;
padding: 20rpx 10rpx !important;
}
.more_than{
background: #FFFFFF;
border-radius: 0 0 10rpx 10rpx;
margin: auto;
// margin-top: 30rpx;
border-top: 1px solid #f5f5f5;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 84rpx;
color: #333333;
font-size: 30rpx;
}
.content_list_item {
padding: 32rpx 10rpx;
display: flex;
justify-content: space-between;
border-bottom: 1px solid #eee;
.content_list_item_han {
color: #bbbbbb;
display: flex;
align-items: center;
}
}
.content_list_video {
min-height: 154rpx;
padding: 23rpx 10rpx;
display: flex;
justify-content: space-between;
.content_list_video_title {
padding-top: 10rpx;
}
.video_list {
flex: 1;
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
}
}
}
.videoHover {
width: 180rpx;
height: 180rpx;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 0;
left: 0;
z-index: 10;
view {
width: 50rpx;
height: 50rpx;
background: #000000;
border-radius: 50rpx;
display: flex;
align-items: center;
justify-content: center;
.iconfont {
color: #ffffff;
font-size: 21rpx;
}
}
}
.photo {
border: 1px solid #dddddd;
opacity: 1;
border-radius: 8rpx;
font-size: 28rpx;
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
// padding: 27rpx 21rpx 24rpx 21rpx;
width: 150rpx;
height: 150rpx;
box-sizing: border-box;
color: #bbbbbb;
margin-left: 16rpx;
position: relative;
margin-bottom: 12rpx;
image {
width: 62rpx;
margin-bottom: 10rpx;
}
}
.jiao {
image {
position: absolute;
top: -14rpx;
right: -14rpx;
width: 40rpx;
height: 40rpx;
border-radius: 50%;
padding: 8rpx;
background: #e93323;
z-index: 999;
}
video {
width: 150rpx;
height: 150rpx;
}
}
.preview_video {
position: absolute;
}
.container_input {
background: #fff;
padding: 0 20rpx;
width: 710rpx;
margin: auto;
margin-top: 31rpx;
border-radius: 10rpx;
&_item {
display: flex;
height: 106rpx;
align-items: center;
.select_and_input {
display: flex;
align-items: center;
justify-content: space-between;
.greyColor {
color: #bbbbbb;
}
}
.radio {
padding: 30rpx 0;
}
&_label {
padding-left: 10rpx;
color: #333333;
font-size: 30rpx;
display: flex;
align-items: center;
.select_check {
display: flex;
align-items: center;
justify-content: center;
width: 40rpx;
height: 40rpx;
border: 1px solid #cccccc;
border-radius: 50%;
margin-right: 20rpx;
.iconfont {
font-size: 24rpx;
}
}
.select {
background: #e93323;
border: none;
.iconfont {
color: #fff;
}
}
}
&_value {
padding-right: 10rpx;
flex: 1;
display: flex;
align-items: center;
justify-content: flex-end;
>span:nth-child(1) {
display: inline-block;
margin-right: 15rpx;
}
.text {
color: #000;
display: inline-block;
max-width: 400rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
input {
text-align: right;
}
.select_group {
display: flex;
}
&_select {
display: flex;
margin-right: 110rpx;
}
}
.flex_start {
padding: 0 10rpx;
margin-top: 40rpx;
justify-content: flex-start;
}
}
>view:not(:last-child) {
border-bottom: 1px solid #eeeeee;
}
}
.inputPlaceHolder {
color: #bbbbbb;
}
.paddingTop_none {
padding-top: 0 !important;
}
.marginTop_none {
margin-top: 0;
}
.video-count {
position: fixed;
width: 600rpx;
height: 500rpx;
top: 50%;
left: 50%;
margin-left: -300rpx;
margin-top: -250rpx;
z-index: 100;
display: flex;
align-items: center;
justify-content: center;
.videoLink {
width: 600rpx;
height: 500rpx;
}
}
// .writeBg {
// background: #fff;
// }
.tip{
padding: 0 !important;
margin: 0 !important;
}
</style>

View File

@ -40,26 +40,6 @@
<image :src="image"></image> <image :src="image"></image>
<image src="@/static/images/guanbi.png" class="guanbi" @click="close"></image> <image src="@/static/images/guanbi.png" class="guanbi" @click="close"></image>
</u-popup> </u-popup>
<view class="input_content_describe">
<view class="input_content_describe_title">
<view class="input_content_describe_title_msg">商品简介</view>
<view class="input_content_describe_title_num">
<text v-if="setFormData.store_info">{{ setFormData.store_info.length }}</text>
<text v-else>0</text>
/200
</view>
</view>
<view class="input_content_describe_textarea">
<textarea v-model="setFormData.store_info" value="" placeholder="请填写商品简介"
placeholderClass="placeholderClass" maxlength="200" />
</view>
</view>
<view class="input_content_keyword">
<view class="input_content_keyword_label">关键字</view>
<view class="input_content_keyword_value"><input v-model="setFormData.keyword" type="text" value=""
placeholder="填写关键字" /></view>
</view>
</view> </view>
<view class="popup_group"> <view class="popup_group">
@ -75,7 +55,7 @@
</view> </view>
</view> </view>
<view class="popup_group_item" @click="selectStoreClass"> <!-- <view class="popup_group_item" @click="selectStoreClass">
<view class="popup_group_item_label">店铺分类</view> <view class="popup_group_item_label">店铺分类</view>
<view class="popup_group_item_value"> <view class="popup_group_item_value">
<view class="popup_group_item_message"> <view class="popup_group_item_message">
@ -85,7 +65,7 @@
</view> </view>
<view><span class="iconfont">&#xe6bd;</span></view> <view><span class="iconfont">&#xe6bd;</span></view>
</view> </view>
</view> </view> -->
<!-- <view class="popup_group_item" @click="selectBrand"> <!-- <view class="popup_group_item" @click="selectBrand">
<view class="popup_group_item_label">商品品牌</view> <view class="popup_group_item_label">商品品牌</view>
@ -105,8 +85,10 @@
placeholder="请填写商品单位" /></view> placeholder="请填写商品单位" /></view>
</view> </view>
</view> </view>
<priceComponent></priceComponent>
<view class="popup_group"> <!-- <view class="popup_group">
<view class="radio"> <view class="radio">
<view class="radio_label ">规格选择</view> <view class="radio_label ">规格选择</view>
<radio-group class="select_group flex_start" @change="specificationsRadioChange($event)"> <radio-group class="select_group flex_start" @change="specificationsRadioChange($event)">
@ -154,21 +136,10 @@
<view><span class="iconfont">&#xe6bd;</span></view> <view><span class="iconfont">&#xe6bd;</span></view>
</view> </view>
</view> </view>
</view> </view> -->
<view class="popup_group"> <view class="popup_group">
<view class="radio">
<view class="radio_label ">送货方式</view>
<checkbox-group class="select_group flex_start" @change="deliveryWayChange">
<label class="radio_select" v-for="(val, i) in deliveryFreeList" :key="val.value">
<view>
<checkbox :value="val.value" disabled :checked="val.value" />
</view>
<view>{{ val.name }}</view>
</label>
</checkbox-group>
</view>
<!-- <view v-if="setFormData.delivery_way.includes('2')" class="popup_group_item"> <!-- <view v-if="setFormData.delivery_way.includes('2')" class="popup_group_item">
<view class="popup_group_item_label">是否包邮</view> <view class="popup_group_item_label">是否包邮</view>
<view class="popup_group_item_value"> <view class="popup_group_item_value">
@ -179,7 +150,7 @@
</view> </view>
</view> --> </view> -->
<view class="popup_group_item" <!-- <view class="popup_group_item"
v-if="setFormData.delivery_way.includes('2') && setFormData.delivery_free == 0" v-if="setFormData.delivery_way.includes('2') && setFormData.delivery_free == 0"
@click="tempIdSelect"> @click="tempIdSelect">
<view class="popup_group_item_label">运费模板</view> <view class="popup_group_item_label">运费模板</view>
@ -191,10 +162,61 @@
</view> </view>
<view><span class="iconfont">&#xe6bd;</span></view> <view><span class="iconfont">&#xe6bd;</span></view>
</view> </view>
</view> </view> -->
</view> </view>
<view class="handle">
<view class="handle_button" @click="handleNextStep">下一步</view> <commodityComponent :resetKey="secoundModel" :product_id="product_id" :merId="merId" :code="code" @lastStep="lastStep">
</commodityComponent>
<view class="popup_group">
<view class="popup_group_item" @click="showMoreInfo=!showMoreInfo">
<view class="popup_group_item_label">更多信息</view>
<view class="popup_group_item_value" :class="showMoreInfo?'icon_bottom':'icon_top'">
<view><span class="iconfont">&#xe6bd;</span></view>
</view>
</view>
<block v-if="showMoreInfo">
<view class="input_content">
<view class="input_content_describe" style="border-top: none">
<view class="input_content_describe_title">
<view class="input_content_describe_title_msg">商品简介</view>
<view class="input_content_describe_title_num">
<text v-if="setFormData.store_info">{{ setFormData.store_info.length }}</text>
<text v-else>0</text>
/200
</view>
</view>
<view class="input_content_describe_textarea">
<textarea v-model="setFormData.store_info" value="" placeholder="请填写商品简介"
placeholderClass="placeholderClass" maxlength="200" />
</view>
</view>
<view class="input_content_keyword">
<view class="input_content_keyword_label">关键字</view>
<view class="input_content_keyword_value"><input v-model="setFormData.keyword" type="text" value=""
placeholder="填写关键字" /></view>
</view>
</view>
<view class="radio">
<view class="radio_label ">送货方式</view>
<checkbox-group class="select_group flex_start" @change="deliveryWayChange">
<label class="radio_select" v-for="(val, i) in deliveryFreeList" :key="val.value">
<view>
<checkbox :value="val.value" disabled :checked="val.value" />
</view>
<view>{{ val.name }}</view>
</label>
</checkbox-group>
</view>
</block>
</view>
<view class="handle">
<!-- <view class="handle_button" @click="handleNextStep">下一步</view> -->
<secound :resetKey="secoundModel" :product_id="product_id" :merId="merId" :code="code" @lastStep="lastStep">
</secound>
</view> </view>
</view> </view>
@ -269,6 +291,8 @@
HTTP_REQUEST_URL HTTP_REQUEST_URL
} from '@/config/app.js'; } from '@/config/app.js';
import store from '@/store'; import store from '@/store';
import priceComponent from "./price.vue";
import commodityComponent from "./commodity.vue";
export default { export default {
components: { components: {
inputGoodsDetils, inputGoodsDetils,
@ -277,7 +301,9 @@
platfrom, // platfrom, //
storeClassification, storeClassification,
secound, secound,
avatar avatar,
priceComponent,
commodityComponent
}, },
data() { data() {
return { return {
@ -310,6 +336,7 @@
tempName: '' // tempName: '' //
}, },
popupContainerKey: false, popupContainerKey: false,
showMoreInfo: false,
productItem: {} || [], productItem: {} || [],
selectProductTitle: '选择平台分类', selectProductTitle: '选择平台分类',
specificationsRadioList: [{ specificationsRadioList: [{
@ -828,6 +855,8 @@
// //
handleNextStep() { handleNextStep() {
this.step = 2;
return ;
// console.log(this.setFormData.setSpecificaValue) // console.log(this.setFormData.setSpecificaValue)
let canJumpFlag = true; let canJumpFlag = true;
let requireData = { let requireData = {
@ -837,9 +866,9 @@
mer_cate_id: '请选择店铺分类', // mer_cate_id: '请选择店铺分类', //
unit_name: '请输入商品单位', // unit_name: '请输入商品单位', //
}; };
console.log({ // console.log({
...this.setFormData // ...this.setFormData
}) // })
Object.keys(requireData).some(item => { Object.keys(requireData).some(item => {
if (!this.setFormData[item]) { if (!this.setFormData[item]) {
Toast(requireData[item]); Toast(requireData[item]);
@ -858,6 +887,10 @@
Toast('请选择送货方式'); Toast('请选择送货方式');
return; return;
} }
if (!this.setFormData.mer_cate_id.length) {
Toast('请选择店铺分类');
return;
}
if (this.setFormData.imageList.length < 2) { if (this.setFormData.imageList.length < 2) {
Toast('请添加最少两张图片用于展示'); Toast('请添加最少两张图片用于展示');
return; return;

View File

@ -0,0 +1,202 @@
<template>
<view class="container">
<select-form style="border-radius: 10rpx 10rpx 0 0;" :platformClassification="formList" :form="singleSpecification" @input="input"></select-form>
<view class="more_than" @click="moreThanFlag?selectMoreThan():spliceMoreThan()" >
<view v-if="moreThanFlag">更多</view>
<view v-else>收起</view>
</view>
<!-- <view class="handle">
<view class="button" @click="saveSingleSpecification">
保存
</view>
</view> -->
</view>
</template>
<script>
import selectForm from '../components/selectForm.vue';
import { navigateTo, navigateBack, serialize, setStorage, getStorage } from '../../../libs/uniApi.js';
// attrValue
export default {
components:{
selectForm
},
data() {
return {
singleSpecification: {
price: '', //
cost: '', //
ot_price: '', //
bar_code: '', //
weight: '', //
volume: '', //
image: '',
extension_one: '',
extension_two: ''
},
moreThanFlag: true,
formList: [
{
id: 1,
label: '售价',
type: 'digit',
model: 'price',
holder: '请填写售价'
},
{
id: 0,
label: '库存',
type: 'digit',
model: 'stock_num',
holder: '请填写库存'
},
],
moreThanList: [
{
id: 2,
label: '成本价',
type: 'digit',
holder: '请填写成本价',
model: 'cost'
},
{
id: 3,
label: '原价',
type: 'digit',
holder: '请填写原价',
model: 'ot_price'
},
{
id: 5,
label: '商品编号',
type: 'input',
holder: '请填写商品编号',
model: 'bar_code'
},
{
id: 6,
label: '重量',
type: 'digit',
holder: '请输入重量',
model: 'weight'
},
{
id: 7,
label: '体积',
type: 'digit',
holder: '请输入体积',
model: 'volume'
},
// {
// id: 8,
// label: '',
// type: 'digit',
// holder: '',
// model: 'extension_one'
// },
// {
// id: 9,
// label: '',
// type: 'digit',
// holder: '',
// model: 'extension_two'
// }
],
}
},
watch: {
singleSpecification: {
handler(val) {
this.singleSpecification = val;
this.saveSingleSpecification();
},
deep: true
}
},
// onLoad(option) {
// console.log(option);
// this.singleSpecification.bar_code=option.code
// },
// onShow() {
// if(getStorage('addGoodsFormData').image) {
// this.singleSpecification.image = getStorage('addGoodsFormData').image;
// }
// if(getStorage('singleSpecification')) {
// Object.keys(this.singleSpecification).forEach(item => {
// if(getStorage('singleSpecification')[item]) {
// this.singleSpecification[item] = getStorage('singleSpecification')[item]
// }
// })
// }
// },
// beforeDestroy() {
// console.log('123');
// uni.removeStorage({
// key: 'singleSpecification'
// });
// },
methods: {
selectMoreThan() {
this.formList = this.formList.concat(this.moreThanList);
this.moreThanFlag = false;
},
spliceMoreThan() {
this.moreThanFlag = true;
this.formList.splice(2, this.formList.length);
},
input(val) {
this.singleSpecification = val
},
//
saveSingleSpecification() {
setStorage('singleSpecification', this.singleSpecification);
// navigateBack(1);
}
}
}
</script>
<style lang="scss" scoped>
.container {
padding: 0 !important;
}
.more_than {
background: #FFFFFF;
border-radius: 0 0 10rpx 10rpx;
margin: auto;
// margin-top: 30rpx;
margin-top: 1px;
display: flex;
align-items: center;
justify-content: center;
width: 710rpx;
height: 84rpx;
color: #333333;
font-size: 30rpx;
}
.handle {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
height: 126rpx;
background: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
.button {
display: flex;
align-items: center;
justify-content: center;
color: #FFFFFF;
font-size: 32rpx;
width: 690rpx;
height: 86rpx;
background: #E93323;
border-radius: 43rpx;
}
}
</style>

View File

@ -18,7 +18,7 @@
} }
} }
.tip { .tip {
padding: 16rpx 0 0 40rpx; padding: 16rpx 0 0 20rpx;
font-size: 22rpx; font-size: 22rpx;
color: #e93323; color: #e93323;
display: flex; display: flex;
@ -36,6 +36,14 @@
width: 710rpx; width: 710rpx;
font-size: 30rpx; font-size: 30rpx;
border-radius: 10rpx; border-radius: 10rpx;
.icon_top{
transform: rotate(-90deg);
}
.icon_bottom{
transform: rotate(90deg);
}
.popup_group_item { .popup_group_item {
padding: 32rpx 30rpx; padding: 32rpx 30rpx;
display: flex; display: flex;

View File

@ -1,112 +1,117 @@
<template> <template>
<view class=" writeBg "> <view>
<view class="container_input marginTop_none"> <block v-if="showComponent">
<view class="container_input_item"> <view class=" writeBg ">
<view class="container_input_item_label"><span>是否推荐</span></view> <view class="container_input marginTop_none">
<view class="container_input_item_value"> <view class="container_input_item">
<switch :checked="addGoodsSecoundData.is_good == 1" color="#E93323" style="transform:scale(0.8)" <view class="container_input_item_label"><span>是否推荐</span></view>
@change="isGood" /> <view class="container_input_item_value">
</view> <switch :checked="addGoodsSecoundData.is_good == 1" color="#E93323" style="transform:scale(0.8)"
</view> @change="isGood" />
<view class="container_input_item">
<view class="container_input_item_label"><span>是否开启礼包</span></view>
<view class="container_input_item_value">
<switch :checked="addGoodsSecoundData.is_gift_bag == 1" color="#E93323" style="transform:scale(0.8)"
@change="isGiftBag" />
</view>
</view>
</view>
<view class="tip">
<span class="iconfont">&#xe688;</span>
<span>开启后此商品只能在分销礼包中展示并销售</span>
</view>
<view class="container_input marginTop_none">
<view class="container_input_item">
<view class="container_input_item_label"><span>限购数量</span></view>
<view class="container_input_item_value">
<input v-model="addGoodsSecoundData.once_count" type="number" value="" placeholder="请输入限购数量"
placeholder-class="inputPlaceHolder" />
</view>
</view>
<view class="container_input_item">
<view class="container_input_item_label"><span>商品排序</span></view>
<view class="container_input_item_value">
<input v-model="addGoodsSecoundData.sort" type="number" value="" placeholder="请输入商品排序"
placeholder-class="inputPlaceHolder" />
</view>
</view>
</view>
<view class="content_list">
<view class="content_list_item" @click="inputGoodsDetils">
<view>商品详情</view>
<view class="content_list_item_han">
<span v-if="disModel" style="color: #000000">去修改</span>
<span v-else>设置详情</span>
<span class="iconfont">&#xe6bd;</span>
</view>
</view>
<view class="content_list_video">
<view class="content_list_video_title">商品视频</view>
<view class="video_list">
<view class="video_list_item photo" v-if="addGoodsSecoundData.video_link">
<view class="jiao" @click="deleteImage()">
<!-- video标签在app端层级过高 -->
<!--#ifndef APP-PLUS-->
<video :src="addGoodsSecoundData.video_link"></video>
<!--#endif-->
<!--#ifdef APP-PLUS-->
<img src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/luzhou/static4/3/video_bg.png" style=" width:150rpx" ></img>
<!--#endif-->
<image src="../static/images/close.png" mode="widthFix"></image>
</view> </view>
<!--#ifndef APP-PLUS-->
<view style="position: absolute;">
<view class="videoHover" @click="videoshow">
</view>
<text class="video-text">点击可预览视频</text>
</view>
<!--#endif-->
<!--#ifdef APP-PLUS-->
<view class='preview_video'>
<view class="videoHover" @click="videoshow">
</view>
<text class="video-text">点击可预览视频</text>
</view>
<!--#endif-->
</view> </view>
<view class="container_input_item">
<view class="container_input_item_label"><span>是否开启礼包</span></view>
<view class="container_input_item_value">
<switch :checked="addGoodsSecoundData.is_gift_bag == 1" color="#E93323" style="transform:scale(0.8)"
@change="isGiftBag" />
<view class="photo" @click="uploadVideo" v-else>
<view>
<image src="../static/images/creamer.png" mode="widthFix"></image>
</view> </view>
<view>添加视频</view>
</view> </view>
</view> </view>
<view class="tip">
<span class="iconfont">&#xe688;</span>
<span>开启后此商品只能在分销礼包中展示并销售</span>
</view>
<view class="container_input marginTop_none">
<view class="container_input_item">
<view class="container_input_item_label"><span>限购数量</span></view>
<view class="container_input_item_value">
<input v-model="addGoodsSecoundData.once_count" type="number" value="" placeholder="请输入限购数量"
placeholder-class="inputPlaceHolder" />
</view>
</view>
<view class="container_input_item">
<view class="container_input_item_label"><span>商品排序</span></view>
<view class="container_input_item_value">
<input v-model="addGoodsSecoundData.sort" type="number" value="" placeholder="请输入商品排序"
placeholder-class="inputPlaceHolder" />
</view>
</view>
</view>
<view class="content_list">
<view class="content_list_item" @click="inputGoodsDetils">
<view>商品详情</view>
<view class="content_list_item_han">
<span v-if="disModel" style="color: #000000">去修改</span>
<span v-else>设置详情</span>
<span class="iconfont">&#xe6bd;</span>
</view>
</view>
<view class="content_list_video">
<view class="content_list_video_title">商品视频</view>
<view class="video_list">
<view class="video_list_item photo" v-if="addGoodsSecoundData.video_link">
<view class="jiao" @click="deleteImage()">
<!-- video标签在app端层级过高 -->
<!--#ifndef APP-PLUS-->
<video :src="addGoodsSecoundData.video_link"></video>
<!--#endif-->
<!--#ifdef APP-PLUS-->
<img src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/luzhou/static4/3/video_bg.png" style=" width:150rpx" ></img>
<!--#endif-->
<image src="../static/images/close.png" mode="widthFix"></image>
</view>
<!--#ifndef APP-PLUS-->
<view style="position: absolute;">
<view class="videoHover" @click="videoshow">
</view>
<text class="video-text">点击可预览视频</text>
</view>
<!--#endif-->
<!--#ifdef APP-PLUS-->
<view class='preview_video'>
<view class="videoHover" @click="videoshow">
</view>
<text class="video-text">点击可预览视频</text>
</view>
<!--#endif-->
</view>
<view class="photo" @click="uploadVideo" v-else>
<view>
<image src="../static/images/creamer.png" mode="widthFix"></image>
</view>
<view>添加视频</view>
</view>
</view>
</view>
</view> </view>
</view> <view v-if="showVideo" class="video-count">
<view v-if="showVideo" class="video-count"> <!--#ifndef APP-PLUS-->
<!--#ifndef APP-PLUS--> <video id="myVideo" class="videoLink" autoplay loop muted :src="addGoodsSecoundData.video_link"></video>
<video id="myVideo" class="videoLink" autoplay loop muted :src="addGoodsSecoundData.video_link"></video> <!--#endif-->
<!--#endif--> <!--#ifdef APP-PLUS-->
<!--#ifdef APP-PLUS-->
<video id="myVideo" class="videoLink" autoplay loop
<video id="myVideo" class="videoLink" autoplay loop :src='addGoodsSecoundData.video_link && (addGoodsSecoundData.video_link.substring(0,4) == "http" || addGoodsSecoundData.video_link.substring(0,5) == "https") ?addGoodsSecoundData.video_link : "http:" + addGoodsSecoundData.video_link'></video>
:src='addGoodsSecoundData.video_link && (addGoodsSecoundData.video_link.substring(0,4) == "http" || addGoodsSecoundData.video_link.substring(0,5) == "https") ?addGoodsSecoundData.video_link : "http:" + addGoodsSecoundData.video_link'></video> <!--#endif-->
<!--#endif--> </view>
<view class='mask' catchtouchmove="true" :hidden='showVideo==false' @tap="showVideo=false"></view>
<view class="handle dobuButton">
<view class="handle_button margin_right" @click="lastStep">上一步</view>
<view class="handle_button" @click="submitCreatedGoods">提交</view>
</view>
</view> </view>
<view class='mask' catchtouchmove="true" :hidden='showVideo==false' @tap="showVideo=false"></view> </block>
<view class="handle dobuButton"> <view class="handle_button" @click="submitCreatedGoods">提交</view>
<view class="handle_button margin_right" @click="lastStep">上一步</view>
<view class="handle_button" @click="submitCreatedGoods">提交</view>
</view>
</view> </view>
</template> </template>
<script> <script>
@ -148,7 +153,8 @@
}, },
data() { data() {
return { return {
showVideo:false, showComponent: false,
showVideo:false,
disModel: false, disModel: false,
upload_max: 10, upload_max: 10,
uploadUrl: `${HTTP_REQUEST_URL}/api/upload/video`, uploadUrl: `${HTTP_REQUEST_URL}/api/upload/video`,

View File

@ -14,7 +14,7 @@
<script> <script>
import selectForm from '../components/selectForm.vue'; import selectForm from '../components/selectForm.vue';
import { navigateTo, navigateBack, serialize, setStorage, getStorage} from '../../../libs/uniApi.js'; import { navigateTo, navigateBack, serialize, setStorage, getStorage } from '../../../libs/uniApi.js';
// attrValue // attrValue
export default { export default {
components:{ components:{

View File

@ -135,12 +135,12 @@
<input class="com_input" type="number" v-model="servicePhone" placeholder="输入客服电话"> <input class="com_input" type="number" v-model="servicePhone" placeholder="输入客服电话">
</view> </view>
<!-- <view class="item_cell flex_a_c" v-if="type_code!='TypeFamousSpecialties'||type_code!='TypeLocalCuisine'||type_code!='TypeFeaturedCultural'" > <!-- <view class="item_cell flex_a_c" v-if="type_code!='TypeFamousSpecialties'||type_code!='TypeLocalCuisine'||type_code!='TypeFeaturedCultural'" >
<view class="sub_title flex_a_c"><i class="iconfont icon-xinghao" v-if="credit_buy"></i>开启先货后款</view> <view class="sub_title flex_a_c"><i class="iconfont icon-xinghao" v-if="credit_buy"></i>开启先货后款</view>
<u-switch v-model="credit_buy" @change="change"></u-switch> <u-switch v-model="credit_buy" @change="change"></u-switch>
</view> --> </view>
<!-- <view class="item_cell flex_a_c" v-if="credit_buy"> <view class="item_cell flex_a_c" v-if="credit_buy">
<view class="sub_title flex_a_c"><i class="iconfont icon-xinghao"></i>先货后款结算周期</view> <view class="sub_title flex_a_c"><i class="iconfont icon-xinghao"></i>先货后款结算周期</view>
<input type="number" v-model="settle_cycle" placeholder="请输入 /周期单位为:天"> <input type="number" v-model="settle_cycle" placeholder="请输入 /周期单位为:天">
</view> </view>
@ -148,8 +148,8 @@
<view class="item_cell flex_a_c" v-if="credit_buy"> <view class="item_cell flex_a_c" v-if="credit_buy">
<view class="sub_title flex_a_c"><i class="iconfont icon-xinghao"></i>先货后款结算利率</view> <view class="sub_title flex_a_c"><i class="iconfont icon-xinghao"></i>先货后款结算利率</view>
<input type="number" maxlength="5" v-model="interest_rate" placeholder="请输入 /利率单位为: %"> <input type="number" maxlength="5" v-model="interest_rate" placeholder="请输入 /利率单位为: %">
</view> --> </view>
<!-- <view class="remarks">*利率结算范围为:0.01 ~ 0.1 利率单位为:%</view> --> <view class="remarks">*利率结算范围为:0.01 ~ 0.1 利率单位为:%</view> -->
<!-- <view class="item_cell"> <!-- <view class="item_cell">
<view class="if_btn flex_a_c_j_sb"> <view class="if_btn flex_a_c_j_sb">
<text class="sub_title">是否开启商户</text> <text class="sub_title">是否开启商户</text>

View File

@ -1,7 +1,7 @@
<template> <template>
<view class="input_content"> <view class="input_content">
<view class="input_content_textarea"> <view class="input_content_textarea">
<textarea v-model="prodectContent.store_name" placeholder="请输入简介" placeholder-class="placeholderStyle" <textarea v-model="prodectContent.store_name" placeholder="请输入商品详情" placeholder-class="placeholderStyle"
:maxlength="maxLength" /> :maxlength="maxLength" />
<view><text v-if="prodectContent.store_name">{{prodectContent.store_name.length}}</text><text <view><text v-if="prodectContent.store_name">{{prodectContent.store_name.length}}</text><text
v-else>0</text>/{{maxLength}}</view> v-else>0</text>/{{maxLength}}</view>
@ -40,7 +40,7 @@
<view class="input_content_keyword_value"><input v-model="prodectContent.keyword" type="text" value="" <view class="input_content_keyword_value"><input v-model="prodectContent.keyword" type="text" value=""
placeholder="填写关键字" /></view> placeholder="填写关键字" /></view>
</view> </view>
<avatar @upload="doUpload" @getName="getImgName" quality="1" ref="avatar" selWidth="250upx" selHeight="250upx"> <avatar style="height: 1px;" @upload="doUpload" @getName="getImgName" quality="1" ref="avatar" selWidth="250upx" selHeight="250upx">
</avatar> </avatar>
</view> </view>
</template> </template>
@ -90,7 +90,7 @@
prodectContent: { prodectContent: {
handler(val) { handler(val) {
// console.log(val.store_name); // console.log(val.store_name);
this.upstore=val.store_name this.upstore=val.store_name
this.$emit('getProductContent', val); this.$emit('getProductContent', val);
}, },

View File

@ -5,7 +5,7 @@
<view class="title_search"> <view class="title_search">
<span class="iconfont">&#xe67d;</span> <span class="iconfont">&#xe67d;</span>
<form @submit="search" report-submit="true"> <form @submit="search" report-submit="true">
<input type="text" :name="where.keyword" v-model="where.keyword" placeholder="搜索商品" confirm-type='search'/> <input type="text" v-model="where.keyword" placeholder="搜索商品" confirm-type='search'/>
</form> </form>
</view> </view>
</view> </view>

View File

@ -47,12 +47,13 @@
<swiper-item :class="{ active: 1 == swiperCur }"> <swiper-item :class="{ active: 1 == swiperCur }">
<view class="slide-navigator"> <view class="slide-navigator">
<!-- 隐藏暂时不需要 --> <!-- 隐藏暂时不需要 -->
<navigator class="item" :url="`/pages/product/addGoods/freightTemplate?mer_id=${mer_id}`" <!-- <navigator class="item"
hover-class='none'> :url="`/pages/product/addGoods/freightTemplate?mer_id=${mer_id}`"
<image mode='widthFix' class="image" src="../static/images/product_freight.png"> hover-class='none'>
</image> <image mode='widthFix' class="image" src="../static/images/product_freight.png">
<text class="text">运费模板</text> </image>
</navigator> <text class="text">运费模板</text>
</navigator> -->
<navigator class="item" <navigator class="item"
:url="`/pages/product/addGoods/mulSpecification?mer_id=${mer_id}`" :url="`/pages/product/addGoods/mulSpecification?mer_id=${mer_id}`"
hover-class='none'> hover-class='none'>
@ -60,12 +61,12 @@
src="../static/images/product_specification.png"></image> src="../static/images/product_specification.png"></image>
<text class="text">规格模板</text> <text class="text">规格模板</text>
</navigator> </navigator>
<navigator class="item" <!-- <navigator class="item"
:url="`/pages/users/online_warehousing/index?mer_id=${mer_id}&product_id=${data.product_id}&unique=${data.unique}`" :url="`/pages/users/online_warehousing/index?mer_id=${mer_id}&product_id=${data.product_id}&unique=${data.unique}`"
hover-class='none'> hover-class='none'>
<image mode='widthFix' class="image" src="@/static/images/daoru.png"></image> <image mode='widthFix' class="image" src="@/static/images/daoru.png"></image>
<text class="text">商品导入</text> <text class="text">商品导入</text>
</navigator> </navigator> -->
</view> </view>
</swiper-item> </swiper-item>
</block> </block>
@ -124,9 +125,9 @@
</view> </view>
<view class="operation acea-row row-between-wrapper"> <view class="operation acea-row row-between-wrapper">
<view class="acea-row row-middle"> <view class="acea-row row-middle">
<view class="" class="bnt" @click="Fonline(item)" style="width:150rpx"> <!-- <view class="" class="bnt" @click="Fonline(item)" style="width:150rpx">
线上入库 线上入库
</view> </view> -->
<view class="" class="bnt" @click="Fline(item)" style="width:150rpx"> <view class="" class="bnt" @click="Fline(item)" style="width:150rpx">
线下入库 线下入库
</view> </view>
@ -169,7 +170,7 @@
</view> </view>
</scroll-view> </scroll-view>
</view> </view>
<view class="shuru" v-if="this.on_line == 1"> <view class="shuru" v-if="this.on_line == 1">
数量: <input type="number" v-model="data.number" placeholder="请输入"> 数量: <input type="number" v-model="data.number" placeholder="请输入">
</view> </view>
@ -245,7 +246,8 @@
on_line: '', on_line: '',
isshow: false, isshow: false,
num: -1, num: -1,
ll: 0 ll: 0,
} }
}, },
onLoad(options) { onLoad(options) {
@ -262,10 +264,10 @@
}, },
onReachBottom() { onReachBottom() {
// console.log(this.status, '222222222') // console.log(this.status, '222222222')
if (this.status == 'nomore') return; if (this.status == 'nomore') return;
this.status = 'loading'; this.status = 'loading';
this.where.page = ++this.where.page; this.where.page = ++this.where.page;
this.getList(this.mer_id, true); this.getList(this.mer_id, false);
}, },
methods: { methods: {
@ -342,7 +344,17 @@
this.checkboxList1 = item.attrValue this.checkboxList1 = item.attrValue
this.data.product_id = item.attrValue[0].product_id this.data.product_id = item.attrValue[0].product_id
this.data.unique = item.attrValue[0].unique this.data.unique = item.attrValue[0].unique
this.show = true if (item.spec_type == 1) {
this.show = true
} else {
navigateTo(1, '/pages/users/online_warehousing/index', {
mer_id: this.mer_id,
product_id: this.data.product_id,
unique: this.data.unique,
});
}
}, },
//线 //线
@ -381,8 +393,8 @@
} else { } else {
postImport(this.mer_id, this.data).then(res => { postImport(this.mer_id, this.data).then(res => {
this.data.unique = '' this.data.unique = ''
this.data.product_id='' this.data.product_id = ''
this.data.number=1 this.data.number = 1
this.loading = false this.loading = false
this.loaded = false this.loaded = false
this.getList(this.mer_id, true); this.getList(this.mer_id, true);
@ -391,15 +403,15 @@
title: res.message title: res.message
}) })
this.data.unique = '' this.data.unique = ''
this.data.product_id='' this.data.product_id = ''
this.data.number=1 this.data.number = 1
}).catch(err => { }).catch(err => {
this.show = false this.show = false
this.data.unique = '' this.data.unique = ''
this.data.product_id='' this.data.product_id = ''
this.data.number=1 this.data.number = 1
this.$util.Tips({ this.$util.Tips({
title: '请选择规格后再次进行入库' title: '请选择规格后再次进行入库'
}) })
@ -414,12 +426,15 @@
title: '请选择规格' title: '请选择规格'
}) })
} else { } else {
navigateTo(1, '/pages/users/online_warehousing/index', { navigateTo(1, '/pages/users/online_warehousing/index', {
mer_id: this.mer_id, mer_id: this.mer_id,
product_id: this.data.product_id, product_id: this.data.product_id,
unique: this.data.unique, unique: this.data.unique,
}); });
} }
} }
@ -474,8 +489,8 @@
res => { res => {
that.loading = false; that.loading = false;
that.loaded = res.data.list.length < that.where.limit; that.loaded = res.data.list.length < that.where.limit;
// that.productList.push.apply(that.productList, res.data.list); that.productList.push.apply(that.productList, res.data.list);
that.productList.push(...res.data.list);
that.where.page = that.where.page + 1; that.where.page = that.where.page + 1;
}, },
@ -541,6 +556,7 @@
title: '下架成功', title: '下架成功',
icon: 'none' icon: 'none'
}) })
that.getList(this.mer_id,false)
} else if (res.cancel) { } else if (res.cancel) {
// console.log(''); // console.log('');
} }
@ -561,6 +577,7 @@
icon: 'success' icon: 'success'
}, () => { }, () => {
that.$set(item, 'is_show', item.is_show == 0 ? 1 : 0); that.$set(item, 'is_show', item.is_show == 0 ? 1 : 0);
that.getList(this.mer_id,false)
}); });
}).catch(err => { }).catch(err => {
return that.$util.Tips({ return that.$util.Tips({

File diff suppressed because one or more lines are too long

View File

@ -1,242 +1,259 @@
<template> <template>
<view v-if="!successful" :style="viewColor"> <view class="">
<form report-submit='true'> <!-- #ifdef MP || APP-PLUS -->
<view class='merchantsSettled'>
<view class="merchantBgCount">
<image mode="widthFix" class="merchantBg" :src="domain+'/static/diy/merchantBg'+keyColor+'.jpg'"
alt="">
</view>
<view class="application-record" @click="jumpToList">
申请记录
<text class="iconfont icon-xiangyou"></text>
</view>
<view class='list'>
<view class="item">
<view class="acea-row row-middle">
<text class="item-name">商户名称</text>
<input type="text" maxlength="30" placeholder="请输入商户名称"
v-model="merchantData.enterprise_name" @input="validateBtn"
placeholder-class='placeholder' />
</view>
</view>
<view class="conten-top" :style="'height:'+statusBarHeight+'px'">
<view class="" style="position: absolute;left: 30rpx;bottom: 15rpx;" @click="logout"><i
class="iconfont icon-xiangzuo" style="font-size: 40rpx;text-align: left;"></i></view>
<view class=""
style="position: absolute;left: 30rpx;bottom: 15rpx;width: 120rpx; left:50%;margin-left:-60rpx;">
商家入驻
</view>
</view>
<view :style="'height:'+statusBarHeight+'px'"></view>
<!-- #endif -->
<view class="item"> <view v-if="!successful" :style="viewColor">
<view class="acea-row row-middle"> <form report-submit='true'>
<text class="item-name">联系电话</text> <view class='merchantsSettled'>
<input type="text" placeholder="请输入手机号" v-model="merchantData.phone" @input="validateBtn" <view class="merchantBgCount">
placeholder-class='placeholder' /> <image mode="widthFix" class="merchantBg" :src="domain+'/static/diy/merchantBg'+keyColor+'.jpg'"
</view> alt="">
</view> </view>
<view class="item rel"> <view class="application-record" @click="jumpToList">
<view class="acea-row row-middle"> 申请记录
<text class="item-name">验证码</text> <text class="iconfont icon-xiangyou"></text>
<input type="text" placeholder="填写验证码" v-model="merchantData.yanzhengma"
@input="validateBtn" class="codeIput" placeholder-class='placeholder' />
<button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''"
@click="handleVerify">
{{ text }}
</button>
</view>
</view> </view>
<view class="item" v-if="isShowCode"> <view class='list'>
<view class="acea-row row-middle"> <view class="item">
<text class="item-name">验证码</text> <view class="acea-row row-middle">
<input type="text" placeholder="请输入验证码" class="codeIput" v-model="codeVal" <text class="item-name">商户名称</text>
@input="validateBtn" placeholder-class='placeholder' /> <input type="text" maxlength="30" placeholder="请输入商户名称"
<view class="imageCode" @click="again"> v-model="merchantData.enterprise_name" @input="validateBtn"
<image :src="codeUrl" /> placeholder-class='placeholder' />
</view> </view>
</view> </view>
</view>
<view class="item">
<view class="uni-list"> <view class="item">
<view class="uni-list-cell"> <view class="acea-row row-middle">
<view class="uni-list-cell-db acea-row row-middle"> <text class="item-name">联系电话</text>
<text class="item-name">商户分类</text> <input type="text" placeholder="请输入手机号" v-model="merchantData.phone"
<picker @change="bindPickerChange" :value="index" :range="array" @input="validateBtn" placeholder-class='placeholder' />
range-key="category_name"> </view>
<input placeholder="请选择商户分类" type="text" readonly disabled </view>
v-model="mer_classification"> <view class="item rel">
<view class='iconfont icon-jiantou'></view> <view class="acea-row row-middle">
</picker> <text class="item-name">验证码</text>
<input type="text" placeholder="填写验证码" v-model="merchantData.yanzhengma"
@input="validateBtn" class="codeIput" placeholder-class='placeholder' />
<button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''"
@click="handleVerify">
{{ text }}
</button>
</view>
</view>
<view class="item" v-if="isShowCode">
<view class="acea-row row-middle">
<text class="item-name">验证码</text>
<input type="text" placeholder="请输入验证码" class="codeIput" v-model="codeVal"
@input="validateBtn" placeholder-class='placeholder' />
<view class="imageCode" @click="again">
<image :src="codeUrl" />
</view> </view>
</view> </view>
</view> </view>
</view> <view class="item">
<view class="item"> <view class="uni-list">
<view class="uni-list"> <view class="uni-list-cell">
<view class="uni-list-cell"> <view class="uni-list-cell-db acea-row row-middle">
<view class="uni-list-cell-db acea-row row-middle"> <text class="item-name">商户分类</text>
<text class="item-name">店铺类型</text> <picker @change="bindPickerChange" :value="index" :range="array"
<text class="iconfont wenhao" @click="getAgreement">?</text> range-key="category_name">
<picker @change="bindPickerChange1" :value="index1" :range="storeTypeArr" <input placeholder="请选择商户分类" type="text" readonly disabled
range-key="type_name"> v-model="mer_classification">
<input placeholder="请选择店铺类型" type="text" disabled readonly <view class='iconfont icon-jiantou'></view>
v-model="mer_storeType"> </picker>
<view v-if="mer_storeType" @tap.stop="mer_storeType=''" </view>
class="iconfont icon-guanbi2"></view>
<view class='iconfont icon-jiantou'></view>
</picker>
</view> </view>
</view> </view>
</view> </view>
</view> <view class="item">
<view class="item"> <view class="uni-list">
<view class="uni-list"> <view class="uni-list-cell">
<view class="uni-list-cell"> <view class="uni-list-cell-db acea-row row-middle">
<view class="uni-list-cell-db acea-row row-middle"> <text class="item-name">店铺类型</text>
<text class="item-name businessBox">店铺所在地</text> <text class="iconfont wenhao" @click="getAgreement">?</text>
<picker mode=multiSelector @change="bindPickerChange2" :value="index2" <picker @change="bindPickerChange1" :value="index1" :range="storeTypeArr"
:range="business" range-key="name" @columnchange="pickerColumnchange"> range-key="type_name">
<input class="businessBox" placeholder="请选择商圈" type="text" readonly disabled <input placeholder="请选择店铺类型" type="text" disabled readonly
v-model="business_name"> v-model="mer_storeType">
<view class='iconfont icon-jiantou'></view> <view v-if="mer_storeType" @tap.stop="mer_storeType=''"
</picker> class="iconfont icon-guanbi2"></view>
<view class='iconfont icon-jiantou'></view>
</picker>
</view>
</view> </view>
</view> </view>
</view> </view>
</view> <view class="item">
<view class="item"> <view class="uni-list">
<view class="uni-list"> <view class="uni-list-cell">
<view class="uni-list-cell"> <view class="uni-list-cell-db acea-row row-middle">
<view class="uni-list-cell-db acea-row row-middle"> <text class="item-name businessBox">店铺所在地</text>
<text class="item-name businessBox">详细地址</text> <picker mode=multiSelector @change="bindPickerChange2" :value="index2"
<input type="text" maxlength="30" placeholder="请输入详细地址" :range="business" range-key="name" @columnchange="pickerColumnchange">
v-model="merchantData.address" @input="validateBtn" <input class="businessBox" placeholder="请选择商圈" type="text" readonly disabled
placeholder-class='placeholder' /> v-model="business_name">
<view class='iconfont icon-jiantou'></view>
</picker>
</view>
</view>
</view>
</view>
<view class="item">
<view class="uni-list">
<view class="uni-list-cell">
<view class="uni-list-cell-db acea-row row-middle">
<text class="item-name businessBox">详细地址</text>
<input type="text" maxlength="30" placeholder="请输入详细地址"
v-model="merchantData.address" @input="validateBtn"
placeholder-class='placeholder' />
</view>
</view> </view>
</view> </view>
</view> </view>
</view> <view class="item">
<view class="item"> <view class="uni-list">
<view class="uni-list"> <view class="uni-list-cell">
<view class="uni-list-cell"> <view class="uni-list-cell-db acea-row row-middle">
<view class="uni-list-cell-db acea-row row-middle"> <text class="item-name businessBox">公司名称</text>
<text class="item-name businessBox">公司名称</text> <input type="text" maxlength="30" placeholder="请输入公司名称"
<input type="text" maxlength="30" placeholder="请输入公司名称" v-model="merchantData.company_name" @input="validateBtn"
v-model="merchantData.company_name" @input="validateBtn" placeholder-class='placeholder' />
placeholder-class='placeholder' />
</view>
</view> </view>
</view> </view>
</view> </view>
</view> <view class="item">
<view class="item"> <view class="acea-row row-middle">
<view class="acea-row row-middle"> <text class="item-name">法人名称</text>
<text class="item-name">法人名称</text> <input type="text" placeholder="请输入法人名称" v-model="merchantData.user_name"
<input type="text" placeholder="请输入法人名称" v-model="merchantData.user_name" @input="validateBtn" placeholder-class='placeholder' />
@input="validateBtn" placeholder-class='placeholder' /> </view>
</view> </view>
</view> <view class="item">
<view class="item"> <view class="uni-list">
<view class="uni-list"> <view class="uni-list-cell">
<view class="uni-list-cell"> <view class="uni-list-cell-db acea-row row-middle">
<view class="uni-list-cell-db acea-row row-middle"> <text class="item-name businessBox">社会信用代码</text>
<text class="item-name businessBox">社会信用代码</text> <input type="text" maxlength="30" placeholder="请输入社会信用代码"
<input type="text" maxlength="30" placeholder="请输入社会信用代码" v-model="merchantData.social_credit_code" @input="validateBtn"
v-model="merchantData.social_credit_code" @input="validateBtn" placeholder-class='placeholder' />
placeholder-class='placeholder' />
</view>
</view> </view>
</view> </view>
</view> </view>
</view>
<!-- <view class="item"> <!-- <view class="item">
<view class="acea-row row-middle"> <view class="acea-row row-middle">
<text class="item-name">是否农贸市场</text> <text class="item-name">是否农贸市场</text>
<u-switch v-model="isnm" @change="change" activeColor="#42CA4C"></u-switch> <u-switch v-model="isnm" @change="change" activeColor="#42CA4C"></u-switch>
</view> </view>
</view> --> </view> -->
<view class="item no-border"> <view class="item no-border">
<view class='acea-row row-middle'> <view class='acea-row row-middle'>
<text class="item-title">请上传营业执照及行业相关资质证明图片</text> <text class="item-title">请上传营业执照及行业相关资质证明图片</text>
<text class="item-desc">(图片最多可上传10张,图片格式支持JPGPNGJPEG)</text> <text class="item-desc">(图片最多可上传10张,图片格式支持JPGPNGJPEG)</text>
<view class="upload"> <view class="upload">
<view class='pictrue' v-for="(item,index) in pics" :key="index" :data-index="index" <view class='pictrue' v-for="(item,index) in pics" :key="index" :data-index="index"
@click="getPhotoClickIdx"> @click="getPhotoClickIdx">
<image :src='item'></image> <image :src='item'></image>
<text class='iconfont icon-guanbi1' @click.stop='DelPic(index)'></text> <text class='iconfont icon-guanbi1' @click.stop='DelPic(index)'></text>
</view> </view>
<view class='pictrue acea-row row-center-wrapper row-column' @click='uploadpic' <view class='pictrue acea-row row-center-wrapper row-column' @click='uploadpic'
v-if="pics.length < 10"> v-if="pics.length < 10">
<text class='iconfont icon-icon25201'></text> <text class='iconfont icon-icon25201'></text>
<view>上传图片</view> <view>上传图片</view>
</view>
</view> </view>
</view> </view>
</view> </view>
<view class="item no-border">
<checkbox-group @change='ChangeIsAgree'>
<checkbox class="checkbox" :checked="isAgree ? true : false" />已阅读并同意
</checkbox-group>
<button class="settleAgree" @click="getConfig">入驻协议</button>
</view>
<button class='submitBtn' :class="validate === true? 'on':''" @click="formSubmit">
提交申请
</button>
</view> </view>
<view class="item no-border"> </view>
<checkbox-group @change='ChangeIsAgree'> </form>
<checkbox class="checkbox" :checked="isAgree ? true : false" />已阅读并同意 <view class="settlementAgreement" v-if="showProtocol">
</checkbox-group> <view class="setAgCount" style="width: 656rpx;height: 458px;">
<button class="settleAgree" @click="getConfig">入驻协议</button> <i class="icon iconfont icon-cha" @click="showProtocol = false"></i>
<div class="title">{{isType ? '店铺类型说明' : '商户入驻协议'}}</div>
<view class="content">
<jyf-parser :html="protocol" ref="article" :tag-style="tagStyle"></jyf-parser>
<!-- <view v-html="protocol"></view> -->
</view>
</view>
</view>
<view class="settlementAgreement" v-if="isshow">
<view class="setAgCount" style="width: 100%;height: 100%;padding-top: 180rpx;">
<!-- <i class="icon iconfont icon-cha" @click="recuo"></i> -->
<view class="" style="width: 60rpx;height: 60rpx; position: absolute;left: 30rpx; top:90rpx"
@click="recuo">
<i class="iconfont icon-xiangzuo" style="width: 60rpx;height: 60rpx;font-size: 40rpx;"></i>
<!-- <image src="@/static/images/close.png" mode="aspectFit" style="width: 60rpx;height: 60rpx;"></image> -->
</view> </view>
<button class='submitBtn' :class="validate === true? 'on':''" @click="formSubmit"> <div class="title">{{detail.title}}</div>
提交申请 <view style="margin: 20rpx 0;">甲方公司:{{company?company:"暂无公司信息"}}</view>
</button> <view style="margin: 20rpx 0;">机构代码:{{organization_code?organization_code:"暂无公司信息"}}</view>
<view class="contenta">
<jyf-parser :html="detail.mer_services_agree" ref="article" :tag-style="tagStyle"></jyf-parser>
</view>
<view class="setAgCountbtn">
<button class="setAgCountbtna" @click="refuse">
拒绝
</button>
<button :class="num>0?'setAgCountbtnb':'setAgCountbtnc'" :disabled="num!=0" @click="agree">
<text v-if="num>0">请仔细阅读协议{{num}}S</text>
<text v-else>同意</text>
</button>
</view>
</view> </view>
</view> </view>
</form> <view class='loadingicon acea-row row-center-wrapper' v-if="loading">
<view class="settlementAgreement" v-if="showProtocol"> <text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>
<view class="setAgCount" style="width: 656rpx;height: 458px;">
<i class="icon iconfont icon-cha" @click="showProtocol = false"></i>
<div class="title">{{isType ? '店铺类型说明' : '商户入驻协议'}}</div>
<view class="content">
<jyf-parser :html="protocol" ref="article" :tag-style="tagStyle"></jyf-parser>
<!-- <view v-html="protocol"></view> -->
</view>
</view> </view>
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse">
</authorize>
<Verify @success="success" :captchaType="'blockPuzzle'" :imgSize="{ width: '330px', height: '155px' }"
ref="verify">
</Verify>
</view> </view>
<view class="settlementAgreement" v-if="isshow"> <view class="settledSuccessMain " v-else :style="viewColor">
<view class="setAgCount" style="width: 100%;height: 100%;"> <view class="settledSuccessful">
<!-- <i class="icon iconfont icon-cha" @click="recuo"></i> --> <image class="image" src="../static/images/settledSuccessful.svg" alt="">
<view class="" style="width: 60rpx;height: 60rpx; position: absolute;right: 30rpx; top:20rpx" <view class="title">恭喜您的资料提交成功</view>
@click="recuo"> <view class="info">预计15个工作日内审核完毕平台客服会及时与您联系</view>
<image src="@/static/images/close.png" mode="aspectFit" style="width: 60rpx;height: 60rpx;"></image> <view class="goHome" hover-class="none" @click="goHome">
</view> 返回首页
</view>
<div class="title">{{detail.title}}</div>
<view style="margin: 20rpx 0;">甲方公司:{{company?company:"暂无公司信息"}}</view>
<view style="margin: 20rpx 0;">机构代码:{{organization_code?organization_code:"暂无公司信息"}}</view>
<view class="contenta">
<jyf-parser :html="detail.mer_services_agree" ref="article" :tag-style="tagStyle"></jyf-parser>
</view>
<view class="setAgCountbtn">
<button class="setAgCountbtna" @click="refuse">
拒绝
</button>
<button :class="num>0?'setAgCountbtnb':'setAgCountbtnc'" :disabled="num!=0" @click="formSubmit">
<text v-if="num>0">请仔细阅读协议{{num}}S</text>
<text v-else>同意</text>
</button>
</view>
</view> </view>
</view> </view>
<view class='loadingicon acea-row row-center-wrapper' v-if="loading">
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>
</view>
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
<Verify @success="success" :captchaType="'blockPuzzle'" :imgSize="{ width: '330px', height: '155px' }"
ref="verify">
</Verify>
</view>
<view class="settledSuccessMain" v-else :style="viewColor">
<view class="settledSuccessful">
<image class="image" src="../static/images/settledSuccessful.svg" alt="">
<view class="title">恭喜您的资料提交成功</view>
<view class="info">预计15个工作日内审核完毕平台客服会及时与您联系</view>
<view class="goHome" hover-class="none" @click="goHome">
返回首页
</view>
</view>
</view> </view>
</template> </template>
<script> <script>
@ -274,6 +291,9 @@
import { import {
configMap configMap
} from "@/utils"; } from "@/utils";
import {
intention,
} from "@/api/product"
import parser from "@/components/jyf-parser/jyf-parser"; import parser from "@/components/jyf-parser/jyf-parser";
import authorize from '@/components/Authorize'; import authorize from '@/components/Authorize';
import Verify from '@/components/verify/verify.vue'; import Verify from '@/components/verify/verify.vue';
@ -354,7 +374,14 @@
mer_i_id: null, // id mer_i_id: null, // id
isType: false, isType: false,
num: 10, num: 10,
detail: {} detail: {},
statusBarHeight: 0,
where: {
type: 1,
page: 1,
limit: 10
},
codenote: []
}; };
}, },
beforeDestroy() { beforeDestroy() {
@ -383,12 +410,25 @@
} }
this.getArea() this.getArea()
this.shoplist() this.shoplist()
this.statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 45;
}, },
onShow() { onShow() {
}, },
onReady() {}, onReady() {},
methods: { methods: {
//
codelist() {
intention(this.where).then(res => {
this.codenote = res.data.list
})
},
//退
logout() {
uni.switchTab({
url: '/pages/user/index'
})
},
// //
recuo() { recuo() {
if (this.num > 0) { if (this.num > 0) {
@ -576,13 +616,18 @@
street_code: this.street_id street_code: this.street_id
}).then((res) => { }).then((res) => {
if (res.code == 0) { if (res.code == 0) {
this.company = ''
this.organization_code = ''
this.$util.Tips({ this.$util.Tips({
title: res.msg title: res.msg
}); });
return false; return false;
} else {
this.company = res.data.title
this.organization_code = res.data.organization_code
} }
this.company = res.data.title
this.organization_code = res.data.organization_code
}).catch(res => { }).catch(res => {
console.log(res) console.log(res)
}) })
@ -753,75 +798,144 @@
showxy() { showxy() {
this.isshow = true this.isshow = true
}, },
//
formSubmit: function(e) { agree() {
let that = this; let that = this;
if (that.validateForm() && that.validate) { let requestData = {
if (this.num == 0) { phone: that.merchantData.phone,
let requestData = { mer_name: that.merchantData.enterprise_name,
phone: that.merchantData.phone, name: that.merchantData.user_name,
mer_name: that.merchantData.enterprise_name, code: that.merchantData.yanzhengma,
name: that.merchantData.user_name, company_name: that.merchantData.company_name,
code: that.merchantData.yanzhengma, address: that.merchantData.address,
company_name: that.merchantData.company_name, social_credit_code: that.merchantData.social_credit_code,
address: that.merchantData.address, merchant_category_id: that.merchantData.classification,
social_credit_code: that.merchantData.social_credit_code, mer_type_id: that.merchantData.mer_type,
merchant_category_id: that.merchantData.classification, mer_storeType: this.mer_storeType,
mer_type_id: that.merchantData.mer_type, area_id: this.area_id,
mer_storeType: this.mer_storeType, street_id: this.street_id,
area_id: this.area_id, village_id: this.village_id,
street_id: this.street_id, is_nmsc: this.isnum,
village_id: this.village_id, images: that.pics
is_nmsc: this.isnum, }
images: that.pics that.validate = false;
} if (that.mer_i_id) {
that.validate = false; updateGoodsRecord(that.mer_i_id, requestData).then(res => {
if (that.mer_i_id) { if (res.status == 200) {
updateGoodsRecord(that.mer_i_id, requestData).then(res => { title: '提交成功',
if (res.status == 200) { that.loading = true;
title: '提交成功', that.timer = setTimeout(() => {
that.loading = true; that.successful = true;
that.timer = setTimeout(() => {
that.successful = true;
that.validate = true;
}, 1000)
}
}).catch(res => {
this.isshow = false
that.validate = true; that.validate = true;
that.$util.Tips({ }, 1000)
title: res }
}); }).catch(res => {
}) this.isshow = false
} else { that.validate = true;
create(requestData).then(data => { that.$util.Tips({
if (data.status == 200) { title: res
title: '提交成功', });
that.loading = true; })
this.timer = setTimeout(() => { } else {
that.successful = true; create(requestData).then(data => {
that.validate = true; if (data.status == 200) {
}, 1000) title: '提交成功',
} that.loading = true;
this.timer = setTimeout(() => {
that.successful = true;
that.validate = true;
}, 1000)
}
}).catch(res => { }).catch(res => {
that.validate = true; this.isshow = false
that.$util.Tips({ that.validate = true;
title: res that.$util.Tips({
}); title: res
}) });
} })
} else { }
},
formSubmit() {
if (this.validateForm() && this.validate) {
if (this.codenote.length == 0) {
this.isshow = true this.isshow = true
this.countDown() this.countDown()
} else {
if (this.codenote[0].status == 0) {
uni.showModal({
title: '申请正在审核中,请勿重复提交'
})
} else {
this.isshow = true
this.countDown()
}
} }
} }
// let that = this;
// if (that.validateForm() && that.validate) {
// if (this.num == 0) {
// let requestData = {
// phone: that.merchantData.phone,
// mer_name: that.merchantData.enterprise_name,
// name: that.merchantData.user_name,
// code: that.merchantData.yanzhengma,
// company_name: that.merchantData.company_name,
// address: that.merchantData.address,
// social_credit_code: that.merchantData.social_credit_code,
// merchant_category_id: that.merchantData.classification,
// mer_type_id: that.merchantData.mer_type,
// mer_storeType: this.mer_storeType,
// area_id: this.area_id,
// street_id: this.street_id,
// village_id: this.village_id,
// is_nmsc: this.isnum,
// images: that.pics
// }
// that.validate = false;
// if (that.mer_i_id) {
// updateGoodsRecord(that.mer_i_id, requestData).then(res => {
// if (res.status == 200) {
// title: '',
// that.loading = true;
// that.timer = setTimeout(() => {
// that.successful = true;
// that.validate = true;
// }, 1000)
// }
// }).catch(res => {
// this.isshow = false
// that.validate = true;
// that.$util.Tips({
// title: res
// });
// })
// } else {
// create(requestData).then(data => {
// if (data.status == 200) {
// title: '',
// that.loading = true;
// this.timer = setTimeout(() => {
// that.successful = true;
// that.validate = true;
// }, 1000)
// }
// }).catch(res => {
// that.validate = true;
// that.$util.Tips({
// title: res
// });
// })
// }
// } else {
// this.isshow = true
// this.countDown()
// }
// }
}, },
@ -930,6 +1044,16 @@
color: #fff !important; color: #fff !important;
} }
.conten-top {
width: 100%;
text-align: center;
background-color: #fff;
position: absolute;
top: 0;
position: fixed;
z-index: 10;
}
.uni-input-placeholder { .uni-input-placeholder {
color: #B2B2B2; color: #B2B2B2;
} }
@ -960,7 +1084,9 @@
.merchantsSettled { .merchantsSettled {
background-image: linear-gradient(var(--view-bntColor21) 0%, var(--view-bntColor22) 100%); background-image: linear-gradient(var(--view-bntColor21) 0%, var(--view-bntColor22) 100%);
height: 140vh; height: 140vh;
position: relative;
} }
.merchantsSettled .merchantBg { .merchantsSettled .merchantBg {

View File

@ -20,7 +20,7 @@
<view class="" v-if="!isFshow"> <view class="" v-if="!isFshow">
<view class="site-box1 flex_a_c_j_sb"> <view class="site-box1 flex_a_c_j_sb">
<view class="place_wrapper flex_a_c" @click="selectLocation"> <view class="place_wrapper flex_a_c" @click="selectLocation">
<view class="iconfont icon-weizhi"></view> <view class="iconfont icon-weizhi"></view>
<view class="town_name">{{street}}</view> <view class="town_name">{{street}}</view>
</view> </view>
@ -175,7 +175,7 @@
import { import {
getIndexData, getIndexData,
getDiy, getDiy,
cloudWarehouse
} from '@/api/api.js' } from '@/api/api.js'
import { import {
@ -183,8 +183,7 @@
} from '@/api/product.js'; } from '@/api/product.js';
import { import {
getGeocoder, getGeocoder,
merClassifly, merClassifly
getProductHot
} from '@/api/store.js'; } from '@/api/store.js';
import { import {
getArea, getArea,
@ -247,19 +246,17 @@
loadTitle: '加载更多', loadTitle: '加载更多',
} }
}, },
onPullDownRefresh() { onPullDownRefresh() {
this.list(true); this.list(true, this.street_id);
this.Area() this.Area()
uni.stopPullDownRefresh() uni.stopPullDownRefresh()
}, },
onShow() {
this.selfLocation()
},
onLoad() { onLoad() {
this.list()
this.Area() this.Area()
this.selfLocation()
// this.openTongZhi() // this.openTongZhi()
uni.$on('connectstatusChange', (connectstatus) => { uni.$on('connectstatusChange', (connectstatus) => {
var connectstr = '' var connectstr = ''
@ -273,15 +270,13 @@
}) })
}, },
onReachBottom() { onReachBottom() {
if (this.productList.length > 0) { if (this.productList.length > 0) {
setTimeout(() => { setTimeout(() => {
this.list(false); this.list(false, this.street_id);
}, 500) }, 500)
} else { }
this.list()
}
}, },
beforeDestroy() { beforeDestroy() {
@ -300,13 +295,12 @@
this.street = newValue.split(',')[0] this.street = newValue.split(',')[0]
this.town = newValue.split(',')[0] this.town = newValue.split(',')[0]
this.street_id = newValue.split(',')[1] this.street_id = newValue.split(',')[1]
}); });
if (this.street.length <= 0) {
this.selfLocation()
}
}, },
// #ifdef APP-PLUS // #ifdef APP-PLUS
@ -336,7 +330,6 @@
}, },
// //
list(isPage, id) { list(isPage, id) {
let that = this; let that = this;
if (that.loadend) return; if (that.loadend) return;
if (that.loading) return; if (that.loading) return;
@ -345,7 +338,13 @@
that.loading = true; that.loading = true;
that.loadTitle = ''; that.loadTitle = '';
getProductHot(that.where.page, that.where.limit).then(res => { cloudWarehouse({
page: that.where.page,
limit: that.where.limit,
street_code: id,
category_id: 0
}).then(res => {
// console.log(222)
let list = res.data.list; let list = res.data.list;
let productList = that.$util.SplitArray(list, that.productList); let productList = that.$util.SplitArray(list, that.productList);
let loadend = list.length < that.where.limit; let loadend = list.length < that.where.limit;
@ -400,25 +399,16 @@
} else if (scrollTop > 100) { } else if (scrollTop > 100) {
this.backColor = 1 this.backColor = 1
this.isFshow = true this.isFshow = true
} }
}, },
getCloudShopMerId(id) { getCloudShopMerId(id) {
get_cloud_shop(id).then(res => { get_cloud_shop(id).then(res => {
res.data.length > 0 ? this.isYunCang = 1 : this.isYunCang = 0 res.data.length > 0 ? this.isYunCang = 1 : this.isYunCang = 0
}) })
}, },
selectLocation() { selectLocation() {
this.showPicker = true this.showPicker = true
}, },
confirm(e) { confirm(e) {
@ -426,7 +416,8 @@
this.street = e.value[1].name this.street = e.value[1].name
this.street_id = e.value[1].code this.street_id = e.value[1].code
this.town = e.value[1].name this.town = e.value[1].name
this.productList = [] this.loadend = false;
this.$set(this.where, 'page', 1)
this.list(true, this.street_id) this.list(true, this.street_id)
this.$nextTick(() => { this.$nextTick(() => {
this.$bus.$emit('value-updated', e.value[1].name + ',' + e.value[1].code); this.$bus.$emit('value-updated', e.value[1].name + ',' + e.value[1].code);
@ -517,7 +508,8 @@
this.street = e.value[1].name this.street = e.value[1].name
this.street_id = e.value[1].code this.street_id = e.value[1].code
this.town = e.value[1].name this.town = e.value[1].name
this.productList = [] this.loadend = false;
this.$set(this.where, 'page', 1)
this.list(true, this.street_id) this.list(true, this.street_id)
}, },
selfLocation() { selfLocation() {
@ -544,12 +536,13 @@
this.town = res.data.address_reference.town.title this.town = res.data.address_reference.town.title
this.street_id = res.data.address_reference.town.id this.street_id = res.data.address_reference.town.id
this.street = res.data.address_component.street this.street = res.data.address_component.street
this.list(true,this.street_id)
this.$nextTick(() => { this.$nextTick(() => {
this.$bus.$emit('value-updated', this.street + ',' + this this.$bus.$emit('value-updated', this.street + ',' + this
.street_id); .street_id);
}) })
this.list(this.street_id)
}).catch(err => { }).catch(err => {
this.isshow = false this.isshow = false
uni.showToast({ uni.showToast({

View File

@ -8,7 +8,7 @@
</div> </div>
</div> </div>
<div class="whiteBg" v-if="formItem === 1"> <div class="whiteBg" v-if="formItem === 1">
<div class="title acea-row row-center-wrapper"> <div class="title acea-row row-center-wrappe">
<div class="item" :class="current === index ? 'on' : ''" v-for="(item, index) in navList" <div class="item" :class="current === index ? 'on' : ''" v-for="(item, index) in navList"
@click="navTap(index)" :key="index"> @click="navTap(index)" :key="index">
{{ item }} {{ item }}
@ -47,11 +47,13 @@
v-model="account" /> v-model="account" />
</div> </div>
</div> </div>
<div class="item"> <div class="item">
<div class="acea-row row-middle"> <div class="acea-row row-middle">
<image src="/static/images/code_2.png"></image> <image src="/static/images/code_2.png"></image>
<input type="text" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput"
v-model="captcha" /> <input type="number" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput"
v-model="captcha" maxlength="4" />
<button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''" <button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''"
@click="handleVerify"> @click="handleVerify">
{{ text }} {{ text }}
@ -61,8 +63,8 @@
<div class="item" v-if="isShowCode"> <div class="item" v-if="isShowCode">
<div class="acea-row row-middle"> <div class="acea-row row-middle">
<image src="/static/images/code_2.png"></image> <image src="/static/images/code_2.png"></image>
<input type="text" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput" <input type="number" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput"
v-model="codeVal" /> v-model="codeVal" maxlength="4" />
<div class="code" @click="getcaptcha"> <div class="code" @click="getcaptcha">
<image class="code-img" style="width: 100%;height: 100%;" :src="codeUrl" /> <image class="code-img" style="width: 100%;height: 100%;" :src="codeUrl" />
</div> </div>
@ -95,8 +97,9 @@
<div class="item"> <div class="item">
<div class="acea-row row-middle"> <div class="acea-row row-middle">
<image src="/static/images/code_2.png"></image> <image src="/static/images/code_2.png"></image>
<input type="text" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput" <input type="number" placeholder="填写验证码" maxLength='4' placeholder-class="placeholder" class="codeIput"
v-model="captcha" /> v-model="captcha" />
<button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''" <button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''"
@click="handleVerify"> @click="handleVerify">
{{ text }} {{ text }}
@ -110,10 +113,11 @@
v-model="password" /> v-model="password" />
</div> </div>
</div> </div>
<div class="item" v-if="isShowCode"> <div class="item" v-if="isShowCode">
<div class="acea-row row-middle"> <div class="acea-row row-middle">
<image src="/static/images/code_2.png"></image> <image src="/static/images/code_2.png"></image>
<input type="text" placeholder="填写验证码" placeholder-class="placeholder" class="codeIput" <input type="number" placeholder="填写验证码" maxlength="4" placeholder-class="placeholder" class="codeIput"
v-model="codeVal" /> v-model="codeVal" />
<div class="code" @click="getcaptcha"> <div class="code" @click="getcaptcha">
<image class="code-img" style="width: 100%;height: 100%;" :src="codeUrl" /> <image class="code-img" style="width: 100%;height: 100%;" :src="codeUrl" />
@ -156,16 +160,18 @@
<input type='number' placeholder='填写手机号码' placeholder-class='placeholder' <input type='number' placeholder='填写手机号码' placeholder-class='placeholder'
v-model="account"></input> v-model="account"></input>
</view> </view>
<view class="item acea-row row-between-wrapper"> <view class="item acea-row row-between-wrapper">
<input type='number' placeholder='填写验证码' placeholder-class='placeholder' class="codeIput" <input type='number' placeholder='填写验证码' maxlength="4" placeholder-class='placeholder' class="codeIput"
v-model="captcha"></input> v-model="captcha"></input>
<button class="code" :class="disabled === true ? 'on' : ''" :disabled='disabled' <button class="code" :class="disabled === true ? 'on' : ''" :disabled='disabled'
@click="handleVerify"> @click="handleVerify">
{{ text }} {{ text }}
</button> </button>
</view> </view>
<view class="item"> <view class="item">
<input type='password' placeholder='填写登录密码' placeholder-class='placeholder' <input type='password' placeholder='填写登录密码' placeholder-class='placeholder'
v-model="password"></input> v-model="password"></input>
</view> </view>
<view class="protocol acea-row row-between-wrapper"> <view class="protocol acea-row row-between-wrapper">
@ -892,7 +898,9 @@
// #ifdef APP-PLUS // #ifdef APP-PLUS
jpushModule.initJPushService() jpushModule.initJPushService()
jpushModule.getRegistrationID(result => { jpushModule.getRegistrationID(result => {
if (result.registerID) { if (result.registerID) {
bindJG({ bindJG({
phone: this.account, phone: this.account,
jg_register_id: result.registerID jg_register_id: result.registerID

View File

@ -150,7 +150,7 @@
</view> </view>
<view class='discount' v-else>免运费</view> <view class='discount' v-else>免运费</view>
</view> </view>
<view class='item acea-row row-between-wrapper' <!-- <view class='item acea-row row-between-wrapper'
v-if="!seckillId && order_type != 3 && order_type != 4 && item.order.enabledCoupon"> v-if="!seckillId && order_type != 3 && order_type != 4 && item.order.enabledCoupon">
<view>店铺优惠券</view> <view>店铺优惠券</view>
<block v-if="item.coupon.length>0"> <block v-if="item.coupon.length>0">
@ -163,14 +163,15 @@
<block v-else> <block v-else>
<view class='discount'>暂无优惠券</view> <view class='discount'>暂无优惠券</view>
</block> </block>
</view> </view> -->
<!-- <view v-if="item.openReceipt == 1" class='item acea-row row-between-wrapper'> <view class='item acea-row row-between-wrapper'>
<view>开具发票 <text @tap="showInvoice" class="iconfont icon-wenhao1"></text></view> <view>开具发票 <text @tap="showInvoice" class="iconfont icon-wenhao1"></text></view>
<view class='discount discount_voice' @tap="goInvoice(item.mer_id)"> <view class='discount discount_voice' @tap="goInvoice(item.mer_id)">
{{(item.invoiceData && item.invoiceData.receipt_title) ? item.invoiceData.receipt_title : '不开发票'}} {{(item.invoiceData && item.invoiceData.receipt_title) ? item.invoiceData.receipt_title : '不开发票'}}
<text class='iconfont icon-jiantou'></text> <text class='iconfont icon-jiantou'></text>
</view> </view>
</view> --> </view>
<view v-if="order_type === 2 && item.list[0].productPresell.presell_type ==2" <view v-if="order_type === 2 && item.list[0].productPresell.presell_type ==2"
class="item acea-row row-between-wrapper" class="item acea-row row-between-wrapper"
style="border-top: 1px solid #f5f5f5; border-bottom: 1px solid #f5f5f5;"> style="border-top: 1px solid #f5f5f5; border-bottom: 1px solid #f5f5f5;">
@ -382,6 +383,7 @@
</view> </view>
</view> </view>
<view style='height:140rpx;'></view> <view style='height:140rpx;'></view>
<view class='footer acea-row row-between-wrapper'> <view class='footer acea-row row-between-wrapper'>
<view class="footer_count"> <view class="footer_count">
<view> <view>

View File

@ -250,8 +250,8 @@
</view> </view>
</view> </view>
<view class='bottom acea-row row-right row-middle'> <view class='bottom acea-row row-right row-middle'>
<!-- <view v-if="!item.receipt && item.status != -1" class='bnt cancelBnt' <view v-if="!item.receipt && item.status != -1" class='bnt cancelBnt'
@click.stop='applyInvoice(item.order_id)'>申请开票</view> --> @click.stop='applyInvoice(item.order_id)'>申请开票</view>
<block v-if="item.status == 0 || item.status == 9 || item.status == -1"> <block v-if="item.status == 0 || item.status == 9 || item.status == -1">
<view class='bnt b-color' @click='goOrderDetails(item.order_id)'>查看详情</view> <view class='bnt b-color' @click='goOrderDetails(item.order_id)'>查看详情</view>
</block> </block>

View File

@ -259,8 +259,8 @@
</view> </view>
</view> </view>
<view class='bottom acea-row row-right row-middle'> <view class='bottom acea-row row-right row-middle'>
<!-- <view v-if="!item.receipt && item.status != -1" class='bnt cancelBnt' <view v-if="!item.receipt && item.status != -1" class='bnt cancelBnt'
@click.stop='applyInvoice(item.order_id)'>申请开票</view> --> @click.stop='applyInvoice(item.order_id)'>申请开票</view>
<block v-if="item.status == 0 || item.status == 9 || item.status == -1"> <block v-if="item.status == 0 || item.status == 9 || item.status == -1">
<view class='bnt b-color' @click='goOrderDetails(item.order_id)'>查看详情</view> <view class='bnt b-color' @click='goOrderDetails(item.order_id)'>查看详情</view>
</block> </block>

View File

@ -247,8 +247,8 @@
</view> </view>
</view> </view>
<view class='bottom acea-row row-right row-middle'> <view class='bottom acea-row row-right row-middle'>
<!-- <view v-if="!item.receipt && item.status != -1" class='bnt cancelBnt' <view v-if="!item.receipt && item.status != -1" class='bnt cancelBnt'
@click.stop='applyInvoice(item.order_id)'>申请开票</view> --> @click.stop='applyInvoice(item.order_id)'>申请开票</view>
<block v-if="item.status == 0 || item.status == 9 || item.status == -1"> <block v-if="item.status == 0 || item.status == 9 || item.status == -1">
<view v-if="!item.receipt && item.status != -1" class="bnt cancelBnt">一键转卖</view> <view v-if="!item.receipt && item.status != -1" class="bnt cancelBnt">一键转卖</view>
<view class='bnt b-color' @click='goOrderDetails(item.order_id)'>查看详情</view> <view class='bnt b-color' @click='goOrderDetails(item.order_id)'>查看详情</view>

View File

@ -257,8 +257,8 @@
</view> </view>
</view> </view>
<view class='bottom acea-row row-right row-middle'> <view class='bottom acea-row row-right row-middle'>
<!-- <view v-if="!item.receipt && item.status != -1" class='bnt cancelBnt' <view v-if="!item.receipt && item.status != -1" class='bnt cancelBnt'
@click.stop='applyInvoice(item.order_id)'>申请开票</view> --> @click.stop='applyInvoice(item.order_id)'>申请开票</view>
<block v-if="item.status == 0 || item.status == 9 || item.status == -1"> <block v-if="item.status == 0 || item.status == 9 || item.status == -1">
<view class='bnt b-color' @click='goOrderDetails(item.order_id)'>查看详情</view> <view class='bnt b-color' @click='goOrderDetails(item.order_id)'>查看详情</view>
</block> </block>

View File

@ -172,7 +172,7 @@
}, },
getOrderInfo() { getOrderInfo() {
groupOrderDetail(this.order_id, this.product_type).then(res => { groupOrderDetail(this.order_id, this.product_type).then(res => {
console.log(res)
this.couponData = res.data this.couponData = res.data
this.$nextTick(() => { this.$nextTick(() => {
if (this.couponData.interest !== null) { if (this.couponData.interest !== null) {
@ -189,6 +189,7 @@
pay_type: this.payType pay_type: this.payType
} }
).then(res => { ).then(res => {
if (res.data.paid === false) { if (res.data.paid === false) {
// //
@ -204,7 +205,7 @@
}, 1000) }, 1000)
} }
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
title: err.message title: err.message
}) })
@ -213,7 +214,10 @@
orderPay(this.order_id, { orderPay(this.order_id, {
type: this.payType type: this.payType
}).then(res => { }).then(res => {
let jsConfig = res.data.result.config let jsConfig = res.data.result.config
if (res.data.status === 'weixinApp') { if (res.data.status === 'weixinApp') {
// //
// #ifdef APP-PLUS // #ifdef APP-PLUS
@ -257,15 +261,35 @@
}); });
// #endif // #endif
} else {
if (res.status == 200) {
// uni.navigateBack({
// delta: 1
// })
uni.showToast({
icon: 'none',
title: res.message
})
setTimeout(() => {
uni.navigateTo({
url:'/pages/users/order_list/index?status=2'
})
}, 1000)
}
} }
// setTimeout(() => { // setTimeout(() => {
// uni.navigateBack({ // uni.navigateBack({
// delta: 1 // delta: 1
// }) // })
// }, 1000) // }, 1000)
uni.showToast({ // uni.showToast({
title: res.message // icon:'none' ,
}) // title: res.message
// })
}) })
} }

View File

@ -1,5 +1,6 @@
import { import {
getGXconfig getGXconfig,
miniapp
} from "@/api/uniMP.js"; } from "@/api/uniMP.js";
import { import {
HTTP_REQUEST_URL HTTP_REQUEST_URL
@ -66,11 +67,73 @@ const loadMP = async (id) => {
console.log('初始化完成', wgtFile); console.log('初始化完成', wgtFile);
installMP(); installMP();
}, },
fail(res) { fail(res) {
clearInterval(timer); clearInterval(timer);
timer = null; timer = null;
uni.hideLoading(); uni.hideLoading();
} }
});
downloadTask.onProgressUpdate((res) => {
// console.log('初始化进度' + res.progress);
if (res.progress > count) count += 10;
if (count >= 90) {
clearInterval(timer);
timer = null;
}
});
} else {
open()
}
});
};
//加载商城小程序
const loadMPx = async (id) => {
appid = id;
let info = await miniapp();
console.log('最新版本', info.data);
console.log(mp, uni);
// return ;
uni.showLoading({
title: '初始化中...',
mask: true
})
mp.getUniMPVersion(id, (ret) => {
console.log('当前版本', ret);
let flag;
if (HTTP_REQUEST_URL == 'https://shop.lihaink.cn') {
flag = false
} else {
flag = true
}
if (0 != ret.code || compareVersions(info.data.appInfo.version, ret.versionInfo.name) == 1 ||
flag ==
true) {
let count = 0;
timer = setInterval(() => {
if (count < 100) uni.showLoading({
title: `初始化中... ${count}%`,
mask: true
})
else uni.showLoading({
title: '初始化中...100%',
mask: true
})
}, 600)
let downloadTask = uni.downloadFile({
url: info.data.appInfo.dow_url,
success(res) {
wgtFile = res.tempFilePath;
console.log('初始化完成', wgtFile);
installMP();
},
fail(res) {
clearInterval(timer);
timer = null;
uni.hideLoading();
}
}); });
downloadTask.onProgressUpdate((res) => { downloadTask.onProgressUpdate((res) => {
// console.log('初始化进度' + res.progress); // console.log('初始化进度' + res.progress);
@ -89,17 +152,68 @@ const loadMP = async (id) => {
// 按URL加载小程序 // 按URL加载小程序
const loadMPurl = async (e) => { const loadMPurl = async (e) => {
appid = e.id; appid = e.id;
mp.getUniMPVersion(appid, (ret) => { let FURL = e.url;
console.log('当前版本', ret); uni.showLoading({
wgtFile = e.url; title: '初始化中...',
doInstallMP(); mask: true
// if (0 != ret.code) { })
// wgtFile = e.url; uni.request({
// installMP(); url: FURL,
// } else { method: 'GET',
// open() success: (fileInfo) => {
// } mp.getUniMPVersion(appid, (ret) => {
}); console.log('当前版本', ret);
let flag;
if (HTTP_REQUEST_URL == 'https://shop.lihaink.cn') {
flag = false
} else {
flag = true
}
if (0 != ret.code || compareVersions(fileInfo.data?.data?.version, ret.versionInfo.name) == 1 || flag ==
true) {
let count = 0;
timer = setInterval(() => {
if (count < 100) uni.showLoading({
title: `初始化中... ${count}%`,
mask: true
})
else uni.showLoading({
title: '初始化中...100%',
mask: true
})
}, 600)
let downloadTask = uni.downloadFile({
url: fileInfo.data?.data?.down_url,
success(res) {
wgtFile = res.tempFilePath;
console.log('初始化完成', wgtFile);
installMP();
},
fail(res) {
clearInterval(timer);
timer = null;
uni.hideLoading();
}
});
downloadTask.onProgressUpdate((res) => {
// console.log('初始化进度' + res.progress);
if (res.progress > count) count += 10;
if (count >= 90) {
clearInterval(timer);
timer = null;
}
});
} else {
open()
}
});
},
fail:(err)=> {
console.log('错误:', err);
}
})
}; };
// 小程序版本信息 // 小程序版本信息
@ -127,8 +241,8 @@ const doInstallMP = () => {
open(); open();
} else { } else {
uni.hideLoading(); uni.hideLoading();
clearInterval(timer); clearInterval(timer);
timer = null; timer = null;
uni.showModal({ uni.showModal({
title: '初始化失败', title: '初始化失败',
content: JSON.stringify(r), content: JSON.stringify(r),
@ -145,13 +259,13 @@ const open = (id = null) => {
icon: 'none', icon: 'none',
title: '请先登录' title: '请先登录'
}) })
let avatar = store?.state?.userInfo?.avatar; let avatar = store?.state?.userInfo?.avatar;
mp.openUniMP({ mp.openUniMP({
appid: id || appid, appid: id || appid,
extraData: { extraData: {
uniMP: true, uniMP: true,
token: token, token: token,
avatar: avatar, avatar: avatar,
} }
}, (ret) => { }, (ret) => {
uni.hideLoading(); uni.hideLoading();
@ -168,7 +282,8 @@ const open = (id = null) => {
export default { export default {
loadMP, loadMP,
loadMPurl, loadMPurl,
loadMPx,
installMP, installMP,
doInstallMP, doInstallMP,
getVersion, getVersion,