Merge branch 'old' into wpf

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
This commit is contained in:
weipengfei 2023-09-28 15:47:03 +08:00
commit e8008930fe
86 changed files with 7856 additions and 4627 deletions

View File

@ -161,9 +161,10 @@
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)
}) })
// //
// jpushModule.setAlias({ // jpushModule.setAlias({
// 'alias': uni.getStorageSync('userId'), // 'alias': uni.getStorageSync('userId'),
@ -222,6 +223,7 @@
}, },
onShow() { onShow() {
let that = this let that = this
// H5 // H5
if (this.$store.state.app.token) { if (this.$store.state.app.token) {

View File

@ -5,7 +5,7 @@ import request from "@/utils/request.js";
* *
*/ */
export function cloudWarehouse(data) { export function cloudWarehouse(data) {
return request.get("store/product/cloudWarehouse", data); return request.get("store/product/cloudWarehouse", data, { noAuth: true });
} }
/** /**
* 获取云仓分类 * 获取云仓分类
@ -291,3 +291,22 @@ export function village(data) {
export function brigade(data) { export function brigade(data) {
return request.get('v2/system/brigade', data, { noAuth: true }); return request.get('v2/system/brigade', data, { noAuth: true });
} }
/*
生产 -- 获取商户保证金信息支付接口
*/
export function paymerchant() {
return request.post(`user/margin`,{});
}
/*
生产 -- 获取商户保证金信息接口
*/
export function merchant(data) {
return request.get(`store/merchant/margin`, data);
}
//获取保证金缴纳列表
export function marginlist(data) {
return request.get(`user/margin/list`,data);
}

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

@ -303,8 +303,8 @@ export function getDeliveryType(merId) {
/* /*
商品 -- 获取交易协议内容 商品 -- 获取交易协议内容
*/ */
export function business() { export function business(data) {
return request.get(`business/agree?type=business_apply_agree`, {}, { return request.get(`business/agree`, data, {
noAuth: true noAuth: true
}); });
} }
@ -319,5 +319,5 @@ export function intention(data) {
商品 -- 同意提交申请 商品 -- 同意提交申请
*/ */
export function intentionbus(data) { export function intentionbus(data) {
return request.post(`intention/business`, {}); return request.post(`intention/business`, 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";
/** /**
* 扫码查询商品 * 扫码查询商品
@ -577,6 +578,8 @@ export function vicinityStoreApi(data) {
/* /*
商家入驻 -- 获取商户入驻申请协议内容 商家入驻 -- 获取商户入驻申请协议内容
*/ */
export function agreeiness() { export function agreeiness(data) {
return request.get(`business/agree?type=sys_intention_agree`, {}, { 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

@ -8,6 +8,8 @@
// | Author: CRMEB Team <admin@crmeb.com> // | Author: CRMEB Team <admin@crmeb.com>
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
import request from "@/utils/request.js"; import request from "@/utils/request.js";
import request1 from "@/utils/requestb.js";
import Cache from '@/utils/cache' import Cache from '@/utils/cache'
/** /**
* 获取版本信息 * 获取版本信息
@ -721,3 +723,10 @@ export function getBillDetil() {
return request.get(`mer/financial_record`) return request.get(`mer/financial_record`)
} }
//获取商户入驻所签署公司
export function merstreet(data) {
return request1.get(`company/street_company`, 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

@ -108,7 +108,6 @@
type = 'alipayQr'; type = 'alipayQr';
// #endif // #endif
} else if (paytype == 'creditBuy') { } else if (paytype == 'creditBuy') {
console.log('123123');
type = 'creditBuy' type = 'creditBuy'
} }
if (!that.order_id) return that.$util.Tips({ if (!that.order_id) return that.$util.Tips({
@ -371,6 +370,10 @@
break; break;
// #endif // #endif
} }
}).catch(err => { }).catch(err => {
uni.hideLoading(); uni.hideLoading();
return that.$util.Tips({ return that.$util.Tips({

View File

@ -6,33 +6,35 @@ let openPlantGrass = '-openPlantGrass-'
let httpApi let httpApi
let httpApiTwo let httpApiTwo
let httpApiThree let httpApiThree
// 网络接口修改此字符 小程序域名要求https let httpApiFour
// let httpApi = 'http://192.168.31.110:8324' // 测试
if (process.env.NODE_ENV === "development") { // 在打包之前请检查当前环境是否正确
// httpApi = 'https://shop.lihaink.cn' // 生产 const env = 'dev'; // 开发
httpApi = "https://crmeb-test.shop.lihaink.cn" // const env = 'prod'; // 生产
// httpApi = "http://192.168.0.222" // const env = 'prew'; // 预上线
// httpApi = "http://192.168.0.108:8325"
// httpApi = 'http://192.168.0.108:8325' switch (env) {
// #ifdef MP-WEIXIN case 'prod':
httpApi = 'https://shop.lihaink.cn' // 生产
httpApiTwo = 'https://nk.lihaink.cn'
httpApiThree = 'http://ceshi-oa.lihaink.cn'
httpApiFour = 'https://worker-task.lihaink.cn'
break;
case 'prew':
httpApi = 'https://test.shop.lihaink.cn' //预发布环境
httpApiTwo = "https://nk.lihaink.cn" httpApiTwo = "https://nk.lihaink.cn"
httpApiThree = 'http://ceshi-oa.lihaink.cn' httpApiThree = 'http://ceshi-oa.lihaink.cn'
// #endif httpApiFour = 'https://preview-worker-task.lihaink.cn'
// #ifdef H5 break;
// httpApiTwo = "baseUrl" // h5跨域配置 default:
httpApiTwo = "https://nk.lihaink.cn" // h5跨域配置 httpApi = "https://crmeb-test.shop.lihaink.cn" // 测试
// httpApiThree = 'baseUrlTest' // h5跨域配置 httpApiTwo = "https://nk.lihaink.cn"
httpApiThree = 'http://ceshi-oa.lihaink.cn'
// #endif httpApiFour = 'https://ceshi-worker-task.lihaink.cn'
} else if (process.env.NODE_ENV === 'production') {
httpApi = 'https://shop.lihaink.cn' // 生产
// httpApi = "https://crmeb-test.shop.lihaink.cn"
httpApiTwo = 'https://nk.lihaink.cn' // 生产
httpApiThree = 'http://ceshi-oa.lihaink.cn' //生产
} }
// httpApi = 'https://shop.lihaink.cn' // 生产
// httpApiTwo = 'https://nk.lihaink.cn' // 生产
// 聊天接口修改此字符 小程序聊天要求wss 例如wss://mer.crmeb.net // 聊天接口修改此字符 小程序聊天要求wss 例如wss://mer.crmeb.net
// let wsApi = 'ws://192.168.3.20:8324' // let wsApi = 'ws://192.168.3.20:8324'
@ -45,11 +47,13 @@ module.exports = {
HTTP_REQUEST_URL: httpApi, HTTP_REQUEST_URL: httpApi,
HTTP_REQUEST_URL_TWO: httpApiTwo, HTTP_REQUEST_URL_TWO: httpApiTwo,
HTTP_REQUEST_URL_THREE: httpApiThree, HTTP_REQUEST_URL_THREE: httpApiThree,
HTTP_REQUEST_URL_FOUR: httpApiFour,
VUE_APP_WS_URL: `${wsApi}?type=user`, VUE_APP_WS_URL: `${wsApi}?type=user`,
// #endif // #endif
// #ifdef H5 // #ifdef H5
//H5接口是浏览器地址 //H5接口是浏览器地址
HTTP_REQUEST_URL_FOUR: httpApiFour|| window.location.protocol + "//" + window.location.host,
HTTP_REQUEST_URL: httpApi || window.location.protocol + "//" + window.location.host, HTTP_REQUEST_URL: httpApi || window.location.protocol + "//" + window.location.host,
HTTP_REQUEST_URL_TWO: httpApiTwo || window.location.protocol + "//" + window.location.host, HTTP_REQUEST_URL_TWO: httpApiTwo || window.location.protocol + "//" + window.location.host,
// 聊天长连接地址 // 聊天长连接地址

View File

@ -130,6 +130,7 @@ export function Modal(title = '提示', content = '这是一个模态弹窗!', o
}) { }) {
return new Promise((reslove, reject) => { return new Promise((reslove, reject) => {
uni.showModal({ uni.showModal({
...obj,
title: title, title: title,
content: content, content: content,
success: (res) => { success: (res) => {

View File

@ -2,8 +2,8 @@
"name" : "惠农生活", "name" : "惠农生活",
"appid" : "__UNI__3A527D1", "appid" : "__UNI__3A527D1",
"description" : "", "description" : "",
"versionName" : "1.4.1", "versionName" : "1.4.7",
"versionCode" : 141, "versionCode" : 147,
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */
"app-plus" : { "app-plus" : {
@ -31,7 +31,8 @@
"UniMP" : { "UniMP" : {
"description" : "uni小程序" "description" : "uni小程序"
}, },
"Maps" : {} "Maps" : {},
"Push" : {}
}, },
"safearea" : { "safearea" : {
"bottom" : { "bottom" : {
@ -103,13 +104,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" : {
@ -120,7 +121,8 @@
} }
}, },
"oauth" : {}, "oauth" : {},
"ad" : {} "ad" : {},
"push" : {}
}, },
"icons" : { "icons" : {
"android" : { "android" : {
@ -160,8 +162,8 @@
}, },
"nativePlugins" : { "nativePlugins" : {
"JG-JCore" : { "JG-JCore" : {
"JPUSH_APPKEY_IOS" : "b5f679f4357018605ea6fd2e", "JPUSH_APPKEY_IOS" : "8a5efd65cda14fafa6e64ad3",
"JPUSH_CHANNEL_IOS" : "", "JPUSH_CHANNEL_IOS" : "8a5efd65cda14fafa6e64ad3",
"JPUSH_APPKEY_ANDROID" : "b5f679f4357018605ea6fd2e", "JPUSH_APPKEY_ANDROID" : "b5f679f4357018605ea6fd2e",
"JPUSH_CHANNEL_ANDROID" : "", "JPUSH_CHANNEL_ANDROID" : "",
"__plugin_info__" : { "__plugin_info__" : {
@ -178,7 +180,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 +201,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

@ -124,7 +124,8 @@
}, { }, {
"path": "pages/moreProject/moreProject", "path": "pages/moreProject/moreProject",
"style": { "style": {
"navigationBarTitleText": "更多功能", "navigationBarTitleText": "商户平台",
"navigationStyle": "custom",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
@ -146,6 +147,15 @@
"navigationStyle": "custom" "navigationStyle": "custom"
} }
} }
,{
"path" : "pages/margin/margin",
"style" :
{
"navigationBarTitleText":"缴纳保证金",
"enablePullDownRefresh": false
}
}
], ],
"subPackages": [{ "subPackages": [{
"root": "pages/goods_cate", "root": "pages/goods_cate",
@ -829,7 +839,7 @@
}, { }, {
"path": "payment/payment", "path": "payment/payment",
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "支付",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
@ -981,6 +991,8 @@
{ {
"path": "settled/index", "path": "settled/index",
"style": { "style": {
"navigationStyle": "custom",
"navigationBarTitleText": "商家入驻" "navigationBarTitleText": "商家入驻"
} }
}, { }, {
@ -1122,18 +1134,6 @@
"navigationBarTitleText": "商品管理", "navigationBarTitleText": "商品管理",
"enablePullDownRefresh": true "enablePullDownRefresh": true
} }
},{
"path": "transactionApplication/index",
"style": {
"navigationBarTitleText": "交易申请",
"enablePullDownRefresh": false
}
},{
"path": "transactionApplication/application",
"style": {
"navigationBarTitleText": "申请记录",
"enablePullDownRefresh": false
}
}, },
{ {
"path": "goodsOnSale/index", "path": "goodsOnSale/index",

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

@ -109,8 +109,8 @@
</view> </view>
<view class="content_bootm"> <view class="content_bootm">
<view class="content_bootm_txt"> <view class="content_bootm_txt" v-if="objinfo.product_list.length>0">
查看TA提到的宝贝(2) 查看TA提到的宝贝({{objinfo.product_list.length}})
</view> </view>
@ -124,7 +124,7 @@
</view> </view>
</view> </view>
<button class="release_btn button" v-if="objinfo.mer_status==1&&type==1" @click="submit(objinfo)">发布</button> <!-- <button class="release_btn button" v-if="objinfo.mer_status==1&&type==1" @click="submit(objinfo)">发布</button> -->
</view> </view>
</template> </template>

View File

@ -227,6 +227,7 @@
import emptyPage from '@/components/emptyPage.vue'; import emptyPage from '@/components/emptyPage.vue';
import { import {
entrustlist, entrustlist,
addEntrustCart,
finishchain, finishchain,
checkchain checkchain
} from '@/api/sale.js' } from '@/api/sale.js'
@ -365,9 +366,25 @@
}, },
// //
order(item) { order(item) {
uni.navigateTo({ // uni.navigateTo({
url: '/pages/commissionedSales/delegation_details/index?id=' + item.community_id + '&type=1' // url: '/pages/commissionedSales/delegation_details/index?id=' + item.community_id + '&type=1'
// })
addEntrustCart({
community_id: item.community_id
}).then(res => {
if (res.status == 200) {
this.$util.Tips({
title: res.message,
icon: 'success'
}) })
uni.navigateTo({
url: '/pages/users/order_confirm/index?cartId=' + res.data.cart_id.toString()
})
}
})
}, },
// //
deteragrss(item) { deteragrss(item) {

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>
@ -141,7 +133,6 @@
}, },
prefix: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/luzhou/static4/11/', prefix: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/luzhou/static4/11/',
isShow: false, isShow: false,
isFshow: false, isFshow: false,
street: '', street: '',
// //
@ -150,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,
}, },
@ -159,6 +151,60 @@
data: '__UNI__B5B1EDD', data: '__UNI__B5B1EDD',
type: 1, type: 1,
}, },
{
name: '农业咨询',
icon: '/static/applet/ny.png',
data: {
id: '__UNI__9620511',
url: 'https://ceshi-worker-task.lihaink.cn/api/common/getMiniProgramInfo?name=nongye',
},
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: '',
@ -225,9 +271,7 @@
} else if (scrollTop > 100) { } else if (scrollTop > 100) {
this.backColor = 'rgba(252, 252, 252, 1)' this.backColor = 'rgba(252, 252, 252, 1)'
this.isFshow = true this.isFshow = true
} }
}, },
// #endif // #endif
@ -286,15 +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) {
@ -315,16 +351,35 @@
this.editFlag = false; this.editFlag = false;
uni.setStorageSync('gatherNowMenuList', JSON.stringify(this.nowMenuList)); uni.setStorageSync('gatherNowMenuList', JSON.stringify(this.nowMenuList));
}, },
getUniMp(appid) { getUniMp(type, data) {
console.log('点击供销平台');
// #ifdef APP-PLUS // #ifdef APP-PLUS
uniMP.loadMP(appid); switch (type) {
case 1:
uniMP.loadMP(data);
break;
// case 2: uniMP.loadMPx(data); break;
case 2:
this.navigator(data);
break;
case 3:
uniMP.loadMPurl(data);
break;
}
return; return;
// #endif // #endif
// #ifdef H5
if (type == 2) {
this.navigator(data);
} else {
uni.showToast({ uni.showToast({
icon: 'none', icon: 'none',
title: 'H5不支持打开小程序' title: 'H5不支持打开小程序'
}) })
}
// #endif
}, },
changeHandler(e) { changeHandler(e) {
const { const {
@ -419,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');
@ -459,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;
@ -473,6 +530,7 @@
left: 20rpx; left: 20rpx;
z-index: 999; z-index: 999;
// //
.place_wrapper { .place_wrapper {
color: #fff; color: #fff;
@ -488,8 +546,8 @@
.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 */
@ -510,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,10 +348,6 @@
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
}
}, },
// //

343
pages/margin/margin.vue Normal file
View File

@ -0,0 +1,343 @@
<template>
<view class="">
<view class="info">
<view class="bg"></view>
<view class="card">
<view class="title">店铺保证金信息</view>
<view class="item">
<text>已缴纳保证金</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 class="price">
<view class="title">缴纳金额</view>
<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="text">充值后帐户的金额不能提现可用于商城消费使用佣金导入账户之后不能再次导出不可提现账户充值出现问题可联系商城客服也可拨打商城客服热线<text @click="copyPhone('4008888888')">4008888888</text>
</view>
</view> -->
<view class="content-order" v-for="(item,i ) in productList">
<view class="">订单编号{{item.order_sn}}</view>
<view class="">支付金额{{item.total_price}}</view>
<view class="">支付状态{{item.paid==1?'已支付':'待支付'}}</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>
</template>
<script>
import {
merchant,
paymerchant,
marginlist
} from '@/api/api.js'
export default {
data() {
return {
mer_id: 0,
merchant_Data: {},
where: {
page: 1,
limit: 10
},
productList: [],
loadend: false,
loading: false,
loadTitle: '加载更多',
}
},
onLoad(e) {
this.mer_id = e.mer_id
this.decimal()
this.list(true)
},
onReachBottom() {
if (this.productList.length > 0) {
setTimeout(() => {
this.list(false);
}, 1000)
}
},
methods: {
list(isPage) {
let that = this;
if (that.loadend) return;
if (that.loading) return;
if (isPage === true) that.$set(that, 'productList', []);
that.loading = true;
that.loadTitle = '';
marginlist(that.where).then(res => {
let list = res.data.list;
let productList = that.$util.SplitArray(list, that.productList);
let loadend = list.length < that.where.limit;
that.loadend = loadend;
that.loading = false;
that.loadTitle = loadend ? '已全部加载' : '加载更多';
setTimeout(() => {
that.$set(that, 'productList', productList);
}, 500)
that.$set(that.where, 'page', that.where.page + 1);
if (that.where.page == 1 && res.data.list.length <= 0) that.emptyShow = true
}).catch(err => {
that.loading = false;
that.loadTitle = '加载更多';
});
},
//
decimal() {
merchant({
id: this.mer_id
}).then((res) => {
this.merchant_Data = res.data
});
},
//
paydecimal() {
let that = this
uni.showModal({
title: '提示',
content: '商户' + this.merchant_Data.mer_name + '是否同意缴纳保证金',
success: (res) => {
if (res.confirm) {
// console.log('');
paymerchant().then((res) => {
uni.requestPayment({
provider: 'wxpay',
orderInfo: res.data
.config, //
success: (res) => {
that.$util.Tips({
title: '支付成功'
});
that.decimal()
that.list(true)
},
fail: (err) => {
that.$util.Tips({
title: '支付失败'
});
console.log('fail:' + JSON.stringify(err));
}
});
}).catch((err) => {
console.log(err)
this.$util.Tips(()=>{
})
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
}
}
</script>
<style>
</style>
<style lang="scss">
page {
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 {
background-color: #FF5C2D;
height: 170rpx;
width: 100vw;
border-radius: 0rpx 0rpx 28rpx 28rpx;
position: absolute;
top: 0;
left: 0;
}
.card {
width: 694rpx;
min-height: 180rpx;
background: #FFFFFF;
margin-top: 38.55rpx;
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;
.title {
font-size: 32rpx;
font-weight: 600;
color: #333333;
padding-bottom: 10rpx;
}
.item {
display: flex;
justify-content: space-between;
font-size: 32rpx;
font-weight: 400;
color: #333333;
margin-bottom: 10rpx;
text:nth-child(1) {
flex-shrink: 0;
margin-right: 18rpx;
}
}
}
}
.price {
display: flex;
flex-direction: column;
padding: 0 28rpx;
margin-top: 85rpx;
.title {
font-size: 32rpx;
font-weight: 600;
color: #333333;
line-height: 39rpx;
margin-bottom: 42rpx;
}
.tab {
display: flex;
flex-wrap: wrap;
justify-content: left;
width: 694rpx;
.item {
width: 217rpx;
height: 131rpx;
margin: 0 auto;
margin-bottom: 20rpx;
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;
}
.active {
border: 2rpx solid #FF5C2D;
color: #FF5C2D;
}
}
.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>

File diff suppressed because it is too large Load Diff

View File

@ -1,70 +1,41 @@
<template> <template>
<view class=""> <view class="">
<!-- <view class="cloud_entrepot" :style="{'min-height': winHeight + 'px'}">
<view class="head-wrapper"></view>
<view class="town-title">{{town}}里海云仓</view>
<view class="body-wrapper">
<block v-for="(item,index) in cloudList" :key="index">
<navigator class="item"
:url="`/pages/nongKe/goods_list/index?cate_id=${item.category_id}&street=${street_code}&name=${item.category_name}`"
:style="{'background-image': `url(${item.background})`}">
<text class="item-title">{{item.category_name}}云仓服务</text>
<text>{{item.description}}</text>
<view class="chakan-btn">查看</view>
</navigator>
</block>
</view>
</view> -->
<view class=""> <view class="">
<view class=""> <view class="">
<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> -->
<view class="head_tit" :style="{color:cloudList.length>0?'':'black'}">
<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"
style="font-size: 40rpx;transform: skewX(-10deg);font-weight: bold;"
:style="{color:cloudList.length>0?'':'black'}">
{{town}}里海云仓 {{town}}里海云仓
</view> </view>
<view class="sl" :class="{actsl:showSelect}" @click="showSelect=!showSelect">
<u--image :showLoading="true" src="/static/images/GXSC/BSL.png" width="33.29rpx"
height="33.29rpx"></u--image>
</view>
</view> </view>
<view class="" style="display: flex;align-items: center;"> <view class="" style="display: flex;align-items: center;">
<view style="display: flex;align-items: center;z-index: 999999;"> <view class="head_r" @click="showPop=true" v-if="cloudList.length>0">
<u--image :showLoading="true" src="/static/images/LHYC/DWB.png" width="50.82rpx"
height="50.82rpx"></u--image>
<view class="town_name" :style="{color:cloudList.length>0?'':'black'}"
@click="showpick">{{street}}</view>
</view>
<view class="head_r" @click="showPop=true">
<u--image v-if="cloudList.length>0" :showLoading="true" src="/static/images/LHYC/QB.png" <u--image v-if="cloudList.length>0" :showLoading="true" src="/static/images/LHYC/QB.png"
width="50.82rpx" height="50.82rpx"></u--image> width="50.82rpx" height="50.82rpx"></u--image>
<u--image v-else :showLoading="true" src="/static/images/LHYC/QB.png" width="50.82rpx" <u--image v-else :showLoading="true" src="/static/images/LHYC/QB1.png" width="50.82rpx"
height="50.82rpx"></u--image> height="50.82rpx"></u--image>
<text :style="{color:cloudList.length>0?'':'black'}">全部</text>
</view> </view>
</view> </view>
</view> </view>
<view class="selected-list" :style="`top:${headtop}px`" :class="{actSel:showSelect}">
<div class="triangle-up"></div>
<view
@click="navgo(`/pages/nongKe/supply_chain/supplier?type_id=10&street_id=${street_code}&townName=${street}`)">
供销综合云市场 <text></text>
</view>
<view class="selected-li">
供销综合云商品 <text> <u--image style="margin-left: 40rpx;" :showLoading="true"
src="/static/images/GXSC/XZ.png" width="24.53rpx" height="24.53rpx"></u--image>
</text>
</view>
</view>
</view> </view>
@ -76,24 +47,33 @@
<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);font-weight: 700;">
供销综合云市场 {town}}
</view> -->
<view class="head_tit" v-if="cloudList.length"
style="font-size: 40rpx;transform: skewX(-10deg);font-weight: bold;"
:style="{color:cloudList.length>0?'':'black'}">
{{town}}里海云仓
</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"></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="">全部</text> <text class="" style="height: 5px;"></text>
<view class="flags"> <view class="flags">
</view> </view>
@ -108,28 +88,29 @@
:disable-touch="true"> :disable-touch="true">
<swiper-item v-for="(item,index) in cloudList"> <swiper-item v-for="(item,index) in cloudList">
<u--image :showLoading="true" :src="item.cover" :class="act_img" width="750rpx" <u--image :showLoading="true" :src="item.cover" :class="act_img" width="750rpx"
height="998.83rpx"></u--image> height="718.46rpx"></u--image>
</swiper-item> </swiper-item>
</swiper> </swiper>
</view> </view>
<view class="" style="height:998.83rpx;" v-if="act_swiper"> <view class="" style="height:989.46rpx;" v-if="act_swiper">
</view> </view>
<view class="menu" v-if="showtit" style="transition: 1s;"> <view class="menu" v-if="showtit" style="transition: 1s;">
<swiper :autoplay="false" :active-class="activeClass" :interval="3000" class="swiper" <swiper :autoplay="false" :active-class="activeClass" :interval="3000" class="swiper"
:circular="true" previous-margin='270rpx' next-margin='270rpx' :current="current" :circular="true" previous-margin='280rpx' next-margin='280rpx' :current="current"
@change="test"> @change="test">
<swiper-item v-for="(item,index) in cloudList" :key="index" @click="clickSwiperFn(index)"> <swiper-item v-for="(item,index) in cloudList" :key="index" @click="clickSwiperFn(index)">
<view class="swiper_item" :class="{swiper_item_act:index==current}"> <view class="swiper_item" :class="{'swiper_item_act':index==current, 'swiper_item_act2':index==current-1||index==current+1}">
<u--image :showLoading="true" :src="item.background" class="swiper_b" <u--image :showLoading="true" :src="item.background" class="swiper_b"
width="175.23rpx" height="175.23rpx"></u--image> width="140.19rpx" height="140.19rpx"></u--image>
</view> </view>
</swiper-item> </swiper-item>
</swiper> </swiper>
</view> </view>
<!-- 商品列表 --> <!-- 商品列表 -->
<view class="content"> <view class="content">
<view class="content_sift" :style="{position:pocls,top:(headtop)+'px'}" v-if="!showtit"> <view class="content_sift" :style="{position:pocls,top:(headtop)+'px'}" v-if="!showtit">
@ -284,8 +265,17 @@
</view> </view>
</view> </view>
<view class="empty" style="" v-if="cloudList.length<=0"> <view class="empty" style="" v-if="cloudList.length<=0">
<view style="height: var(--status-bar-height);"></view> <view style="height: var(--status-bar-height);"></view>
<view style="padding: 10rpx;"> <view style="padding: 10rpx;">
<view class="info"> <view class="info">
@ -297,16 +287,21 @@
</view> </view>
</view> </view>
<!-- 多规格购物车 --> <!-- 多规格购物车 -->
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"> <authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse">
</authorize> </authorize>
<view class="" :style="`height:${appInfo.bottom}px;background-color:white`"> <view class="" :style="`height:${appInfo.bottom}px;`">
</view> </view>
</view> </view>
<view class=""> <view class="">
<u-picker :defaultIndex="defaInd" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm" <u-picker :defaultIndex="defaInd" :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>
@ -483,13 +478,7 @@
this.Area() this.Area()
let that = this let that = this
setTimeout(() => { setTimeout(() => {
uni.createSelectorQuery()
.in(this)
.select('.flags')
.boundingClientRect(rect => {
that.headtop = rect.top
})
.exec();
uni.createSelectorQuery() uni.createSelectorQuery()
.in(this) .in(this)
.select('.flags') .select('.flags')
@ -502,10 +491,11 @@
.select('.cart') .select('.cart')
.boundingClientRect(rect => { .boundingClientRect(rect => {
// console.log(this.cartTagInfo, 6666) // console.log(this.cartTagInfo, 6666)
this.cartTagInfo = rect that.cartTagInfo = rect
// console.log(rect)
}) })
.exec(); .exec();
// console.log(that.headtop) console.log(that.headtop)
}, 500) }, 500)
// console.log(this.appInfo, "") // console.log(this.appInfo, "")
@ -553,11 +543,16 @@
}, },
onPageScroll(e) { onPageScroll(e) {
let that = this let that = this
// if (e.scrollTop > 0) {
this.showtit = !Boolean(e.scrollTop) this.showtit = !Boolean(e.scrollTop)
// }
// console.log(e)
uni.createSelectorQuery() uni.createSelectorQuery()
.in(this) .in(this)
.select('.content') .select('.content')
.boundingClientRect(rect => { .boundingClientRect(rect => {
console.log(rect);
if (rect.top <= (this.headtop)) { if (rect.top <= (this.headtop)) {
this.pocls = 'fixed' this.pocls = 'fixed'
this.act_swiper = 'act_swiper' this.act_swiper = 'act_swiper'
@ -571,6 +566,15 @@
} }
}) })
.exec(); .exec();
uni.createSelectorQuery()
.in(this)
.select('.cart')
.boundingClientRect(rect => {
// console.log(this.cartTagInfo, 6666)
that.cartTagInfo = rect
// console.log(rect)
})
.exec();
}, },
onPullDownRefresh() { onPullDownRefresh() {
this.getCloundShop() this.getCloundShop()
@ -781,7 +785,7 @@
}, },
navgo(url) { navgo(url) {
uni.navigateTo({ uni.redirectTo({
url url
}) })
}, },
@ -824,9 +828,10 @@
spread_id: "", spread_id: "",
} }
let that = this let that = this
uni.createSelectorQuery().in(this).select(`.act_class${i}`).boundingClientRect(data1 => { uni.createSelectorQuery().in(this).select(`.act_class${i}`).boundingClientRect(data1 => {
that.trnList[i].left = this.cartTagInfo.left - data1.left; that.trnList[i].left = that.cartTagInfo.left - data1.left;
that.trnList[i].bottom = this.cartTagInfo.top - data1.top; that.trnList[i].bottom = that.cartTagInfo.top - data1.top;
let timer = setTimeout(() => { let timer = setTimeout(() => {
that.trnList[i].left = 0 that.trnList[i].left = 0
@ -917,7 +922,18 @@
opacity: 0, opacity: 0,
} }
} }
.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;
@ -1039,6 +1055,9 @@
.swiper_item_act { .swiper_item_act {
transform: scale(1.2); transform: scale(1.2);
} }
.swiper_item_act2 {
transform: scale(1.1);
}
// .swiper_item:hover {} // .swiper_item:hover {}
@ -1150,7 +1169,7 @@
.img_cls { .img_cls {
position: absolute; position: absolute;
top: 50%; top: 50%;
right: 7rpx; right: 5rpx;
transform: translateY(-50%); transform: translateY(-50%);
} }
@ -1230,11 +1249,11 @@
.menu { .menu {
position: absolute; position: absolute;
top: 748rpx; top: 490rpx;
width: 750rpx; width: 750rpx;
// background-color: rgba(255, 255, 255, 0.7); // background-color: rgba(255, 255, 255, 0.7);
height: 250rpx; height: 250rpx;
// height: 175.23rpx; // height: 140.19rpx;
// box-shadow: 0 0 100px 100px rgba(255, 255, 255, 0.5); // box-shadow: 0 0 100px 100px rgba(255, 255, 255, 0.5);
// box-shadow: 0 0 100rpx 30rpx rgba(255, 255, 255, 0.9); // box-shadow: 0 0 100rpx 30rpx rgba(255, 255, 255, 0.9);
@ -1359,7 +1378,7 @@
.swipers { .swipers {
width: 750rpx; width: 750rpx;
height: 998.83rpx; height: 718.46rpx;
} }
.card { .card {
@ -1396,7 +1415,7 @@
font-size: 33.29rpx; font-size: 33.29rpx;
line-height: 50px; line-height: 50px;
background: linear-gradient(to right, #F84221, #FF6D20); background: linear-gradient(to right, #F84221, #FF6D20);
width: 175.23rpx; width: 140.19rpx;
text-align: center; text-align: center;
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -9,9 +9,12 @@
<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;font-weight: 700;transform: skewX(-10deg);"> <view style="font-size: 40rpx;">
<!-- {{titName}} --> <!-- {{titName}} -->
当地美食 当地美食
</view> </view>
@ -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/SS.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,9 +9,13 @@
<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;font-weight: 700;transform: skewX(-10deg);"> <view style="font-size: 40rpx;">
<!-- {{titName}} --> <!-- {{titName}} -->
名优特产 名优特产
</view> </view>
@ -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/SS.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

@ -4,70 +4,89 @@
<view class='productList' :style="viewColor"> <view class='productList' :style="viewColor">
<!-- 顶部 --> <!-- 顶部 -->
<view class="top"> <view class="top">
<view style="height: 10px;">
</view>
<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;"> <!-- <u--image :showLoading="true" src="/static/images/LHYC/PFH.png" width="50.82rpx"
<view class="iconfont icon-xiangzuo" style="color: #333333;"></view> height="50.82rpx" @click='backjJump'></u--image> -->
</view> <i class="iconfont icon-xiangzuo" style="font-size: 40rpx;text-align: left;" @click='backjJump'></i>
<view class="" style="font-size: 40rpx;font-weight: 700;"> <view class=""
style="font-size: 36.8rpx;font-weight: 700;transform: skewX(-10deg);margin-left: 20rpx;color: #F84221;">
供销综合云市场 供销综合云市场
</view> </view>
<view style="margin-left: 20rpx;transition: 0.3s;" @click="showSelect=!showSelect" <view class=""
@click="navGoto(`/pages/nongKe/cloud_entrepot/indexa?street=${street_id}&town=${street}`)"
style="font-size: 36.8rpx;font-weight: 700;transform: skewX(-10deg);margin-left: 60rpx;">
供销综合云商品
</view>
<!-- <view style="margin-left: 20rpx;transition: 0.3s;" @click="showSelect=!showSelect"
:class="{selects:showSelect}"> :class="{selects:showSelect}">
<u--image :showLoading="true" src="/static/images/GXSC/XL.png" width="33.29rpx" <u--image :showLoading="true" src="/static/images/GXSC/XL.png" width="33.29rpx"
height="33.29rpx"></u--image> height="33.29rpx"></u--image>
</view> -->
</view> </view>
</view>
<view class="">
</view>
<!-- 搜索框 --> <!-- 搜索框 -->
<view style="position: relative;width: 289.14rpx;" v-if="showSerch"> <!-- <view style="position: relative;width: 289.14rpx;" v-if="showSerch">
<u-search borderColor="#FF6D20" bgColor="white" @change="test" :showAction="false" <u-search borderColor="#FF6D20" bgColor="white" @change="test" :showAction="false"
placeholder="请输入..." v-model="sotreParam.keyword" @search="onInputConfirm" placeholder="请输入..." v-model="sotreParam.keyword" @search="onInputConfirm"
class="serch_cls"></u-search> class="serch_cls"></u-search>
<u--image @tap="searchSubmit" class="img_cls" :showLoading="true" <u--image @tap="searchSubmit" class="img_cls" :showLoading="true"
src="/static/images/GXSC/SSBT.png" width="115.65rpx" height="56.82rpx"></u--image> src="/static/images/GXSC/SSBT.png" width="115.65rpx" height="56.82rpx"></u--image>
</view> </view> -->
<!-- 位置 --> <!-- 位置 -->
<view v-else style="display: flex;align-items: center;" @click="showPicker=!showPicker"> <!-- <view v-else style="display: flex;align-items: center;">
<u--image @tap="showSerch=!showSerch" style="margin-right: 30rpx;" :showLoading="true" <u--image @tap="showSerch=!showSerch" style="margin-right: 30rpx;" :showLoading="true"
src="/static/images/GXSC/SS.png" width="49rpx" height="49rpx"></u--image> src="/static/images/GXSC/SS.png" width="49rpx" height="49rpx"></u--image>
<u--image @click="showPicker=!showPicker" :showLoading="true" src="/static/images/GXSC/DW1.png"
width="50.82rpx" height="50.82rpx"></u--image>
<view class="town_name">{{street}}</view>
</view> -->
</view>
<view class="sswz">
<view style="position: relative;width: 501.17rpx;">
<u-search borderColor="#FF6D20" bgColor="white" @change="test" :showAction="false"
placeholder="搜索店铺或者名称" v-model="sotreParam.keyword" @search="onInputConfirm"
class="serch_cls"></u-search>
<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 style="display: flex;align-items: center;" @click="showPicker=!showPicker">
<u--image :showLoading="true" src="/static/images/GXSC/DW1.png" width="50.82rpx" <u--image :showLoading="true" src="/static/images/GXSC/DW1.png" width="50.82rpx"
height="50.82rpx"></u--image> height="50.82rpx"></u--image>
<view class="town_name">{{street}}</view> <view class="town_name">{{street}}</view>
</view> </view>
</view> </view>
<view class="selected-list" :class="{actSel:showSelect}"> <!-- <view class="selected-list" :class="{actSel:showSelect}">
<div class="triangle-up"></div> <div class="triangle-up"></div>
<view class="selected-li"> <view class="selected-li">
供销综合云市场 <text> <u--image style="margin-left: 40rpx;" :showLoading="true" 供销综合云市场 <text> <u--image style="margin-left: 40rpx;" :showLoading="true"
src="/static/images/GXSC/XZ.png" width="24.53rpx" height="24.53rpx"></u--image> </text> src="/static/images/GXSC/XZ.png" width="24.53rpx" height="24.53rpx"></u--image> </text>
</view> </view>
<view class="" <view class=""
@click="navGoto(`/pages/nongKe/cloud_entrepot/index?street=${street_id}&town=${street}`)"> @click="navGoto(`/pages/nongKe/cloud_entrepot/indexa?street=${street_id}&town=${street}`)">
供销综合云商品 供销综合云商品
</view> </view>
</view> -->
<view class="flags">
</view>
</view> </view>
</view>
<view class="content"> <view class="content">
<view style="height: 10px"> <view class="" :style="`height:${headTop}px`">
</view> </view>
<view class="hot_serch"> <view class="hot_serch">
<text>热搜:</text> <!-- <text>热搜:</text>
<text @click="hotSerchFn('小张副食')">小张副食</text> <text @click="hotSerchFn('小张副食')">小张副食</text>
<text @click="hotSerchFn('正新酒店')">正新酒店</text> <text @click="hotSerchFn('正新酒店')">正新酒店</text>
<text @click="hotSerchFn('麻辣鸡')">麻辣鸡</text> <text @click="hotSerchFn('麻辣鸡')">麻辣鸡</text>
<text @click="hotSerchFn('手撕椒麻鸡')">手撕椒麻鸡</text> <text @click="hotSerchFn('手撕椒麻鸡')">手撕椒麻鸡</text> -->
</view> </view>
<view class="menu_cls"> <view class="menu_cls">
@ -123,7 +142,7 @@
</view> </view>
<u-loadmore :status="status" />
</view> </view>
<!-- 热搜 --> <!-- 热搜 -->
@ -356,6 +375,7 @@
defaInd: [0, 0], defaInd: [0, 0],
columnData: [], columnData: [],
showSerch: false, showSerch: false,
headTop: 0,
imgList: [ imgList: [
"/static/images/GXSC/BBY.png", "/static/images/GXSC/BBY.png",
"/static/images/GXSC/NYSC.png", "/static/images/GXSC/NYSC.png",
@ -395,6 +415,7 @@
menuList: [], menuList: [],
street: "", street: "",
showPicker: false, showPicker: false,
status: "loadmore",
// //
downMenu: [{ downMenu: [{
title: '默认', title: '默认',
@ -473,6 +494,19 @@
this.menuList = res.data this.menuList = res.data
}) })
this.Area() this.Area()
let that = this
setTimeout(() => {
uni.createSelectorQuery()
.in(this)
.select('.flags')
.boundingClientRect(rect => {
// console.log(this.cartTagInfo, 6666)
// that.cartTagInfo = rect
that.headTop = rect.top
console.log(that.headTop)
})
.exec();
}, 100)
}, },
computed: { computed: {
downMenus: function() { downMenus: function() {
@ -531,7 +565,7 @@
city_code: 510500 city_code: 510500
}).then(res => { }).then(res => {
this.$refs.uPicker.setColumnValues(0, res.data); this.$refs.uPicker.setColumnValues(0, res.data);
// this.Street(res.data[0]['code']); this.Street(res.data[0]['code']);
// console.log(res.data, 66666) // console.log(res.data, 66666)
}); });
}, },
@ -540,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)
}); });
}, },
@ -587,10 +621,10 @@
}, },
test() { test() {
if (this.sotreParam.keyword.length > 3) { // if (this.sotreParam.keyword.length > 3) {
this.sotreParam.keyword.slice(0, 3) // this.sotreParam.keyword.slice(0, 3)
this.sotreParam.keyword = this.sotreParam.keyword.slice(0, 3) + "..." // this.sotreParam.keyword = this.sotreParam.keyword.slice(0, 3) + "..."
} // }
// console.log(this.sotreParam.keyword.length) // console.log(this.sotreParam.keyword.length)
}, },
hotSerchFn(keywords) { hotSerchFn(keywords) {
@ -888,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()
}
} }
} }
@ -933,6 +981,7 @@
align-items: center; align-items: center;
box-sizing: border-box; box-sizing: border-box;
padding: 0 20rpx; padding: 0 20rpx;
} }
.productList { .productList {
@ -941,9 +990,7 @@
.top { .top {
padding-top: var(--status-bar-height); padding-top: var(--status-bar-height);
/* #ifdef H5 */
padding-top: 30rpx;
/* #endif */
// padding-top: 80rpx; // padding-top: 80rpx;
background-color: #F0F2F5; background-color: #F0F2F5;
position: fixed; position: fixed;
@ -954,6 +1001,7 @@
.content { .content {
padding: 20rpx; padding: 20rpx;
padding-top: 0;
} }
.menu_cls { .menu_cls {
@ -1066,24 +1114,7 @@
} }
.hot_serch { .hot_serch {
color: #B3B3B3; height: 20rpx;
display: flex;
justify-content: space-around;
margin-top: 40rpx;
flex-wrap: wrap;
// margin-top: 50rpx;
// padding-top: 100rpx;
padding-top: var(--status-bar-height);
// margin-top: 10px;
/* #ifdef H5 */
padding-top: 50rpx;
/* #endif */
// margin-top: 200rpx;
text {
margin: 10rpx;
}
} }
.productList .search .input { .productList .search .input {
@ -1577,4 +1608,12 @@
.pop { .pop {
z-index: 1; z-index: 1;
} }
.sswz {
margin-top: 30rpx;
display: flex;
justify-content: space-between;
box-sizing: border-box;
padding: 0 20rpx;
}
</style> </style>

View File

@ -15,7 +15,8 @@
<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> <view class="iconfont icon-xiangzuo" style="color: #333333;"></view>
</view> </view>
<view class="" style="font-size: 40rpx;font-weight: 700;transform: skewX(-10deg);"> <view class=""
style="font-size: 36.8rpx;font-weight: 700;transform: skewX(-10deg);margin-left: 20rpx;">
{{titName}} {{titName}}
</view> </view>
</view> </view>

View File

@ -9,9 +9,12 @@
<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;font-weight: 700;transform: skewX(-10deg);"> <view style="font-size: 40rpx;">
<!-- {{titName}} --> <!-- {{titName}} -->
特色文旅 特色文旅
</view> </view>
@ -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/SS.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

@ -130,7 +130,7 @@
selHeight="250upx"> selHeight="250upx">
</avatar> </avatar>
<!-- 提到的宝贝弹窗 --> <!-- 提到的宝贝弹窗 -->
<uni-popup ref="associated" type="bottom"> <uni-popup ref="associated" type="bottom" style="z-index: 9999;">
<associated @close="close" @getProduct="getProduct" :checkedObj="productList"></associated> <associated @close="close" @getProduct="getProduct" :checkedObj="productList"></associated>
</uni-popup> </uni-popup>
<!-- 话题弹窗 --> <!-- 话题弹窗 -->

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,695 @@
<template>
<view class=" writeBg ">
<view class="content_list">
<view class="content_list_item">
<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: ''
},
showCommodity: {
type: Boolean,
default: false
},
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:""},
store_name:'',
moreThanFlag: true,
};
},
mounted() {
this.initData();
// this.$nextTick(()=>{
// this.initData();
// })
},
updated() {
// this.initData();
},
watch: {
addGoodsSecoundData: {
handler(val) {
setTimeout(() => {
setStorage('editCommodity', 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');
editGoodsDetils = this.$store.state.storage.storage;
console.log(editGoodsDetils);
// editGoodsDetils = getStorage('editGoodsDetils');
// console.log('',editGoodsDetils);
Object.keys(this.addGoodsSecoundData).forEach(item => {
console.log(item, editGoodsDetils[item]);
this.addGoodsSecoundData[item] = editGoodsDetils[item];
});
if (editGoodsDetils.content) {
this.goodsDis.imageList = editGoodsDetils.content.image;
this.goodsDis.store_name = editGoodsDetils.content.title;
this.store_name = editGoodsDetils.content.title;
// console.log(this.goodsDis, editGoodsDetils.content);
setStorage('goodsDis', {
store_name: editGoodsDetils.content.title,
imageList: editGoodsDetils.content.image
});
this.disModel = true;
}
setStorage('canChangeSecound', true);
return;
}else {
setStorage('goodsDis', {
store_name: '',
imageList: []
});
}
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: 2;
}
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

@ -9,8 +9,8 @@
placeholder-class="inputPlaceHolder" /> placeholder-class="inputPlaceHolder" />
</view> </view>
<view class="input_content_textarea"> <view class="input_content_textarea">
<textarea v-model="setFormData.store_name" placeholder="请输入商品名称" <textarea v-model="setFormData.store_name" placeholder="请输入商品名称" placeholder-class="placeholderStyle"
placeholder-class="placeholderStyle" maxlength="60" /> maxlength="60" />
<view> <view>
<text v-if="setFormData.store_name">{{ setFormData.store_name.length }}</text> <text v-if="setFormData.store_name">{{ setFormData.store_name.length }}</text>
<text v-else>0</text> <text v-else>0</text>
@ -20,15 +20,13 @@
<view class="photo_count"> <view class="photo_count">
<text class="photo_size">建议图片尺寸为750*750px</text> <text class="photo_size">建议图片尺寸为750*750px</text>
<view class="input_content_photo"> <view class="input_content_photo">
<view class="input_content_photo_adPh" v-for="(item, index) in setFormData.imageList" <view class="input_content_photo_adPh" v-for="(item, index) in setFormData.imageList" :key="index">
:key="index">
<image :src="item" class="myimg2 photos" @click="pop(item)"></image> <image :src="item" class="myimg2 photos" @click="pop(item)"></image>
<view class="input_content_photo_adPh_jiao" @click="deleteImage(index)"> <view class="input_content_photo_adPh_jiao" @click="deleteImage(index)">
<image src="../static/images/close.png" mode=""></image> <image src="../static/images/close.png" mode=""></image>
</view> </view>
</view> </view>
<view v-if="setFormData.imageList.length < 9" class="input_content_photo_adPh addBtn" <view v-if="setFormData.imageList.length < 9" class="input_content_photo_adPh addBtn" @click="clk">
@click="clk">
<view> <view>
<image src="../static/images/creamer.png" mode="widthFix"></image> <image src="../static/images/creamer.png" mode="widthFix"></image>
</view> </view>
@ -40,26 +38,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 +53,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 +63,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>
@ -106,7 +84,9 @@
</view> </view>
</view> </view>
<view class="popup_group"> <priceComponent :product_id="product_id" v-if="showCommodity"></priceComponent>
<!-- <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,20 +134,9 @@
<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>
@ -179,7 +148,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 +160,62 @@
</view> </view>
<view><span class="iconfont">&#xe6bd;</span></view> <view><span class="iconfont">&#xe6bd;</span></view>
</view> </view>
</view> -->
</view>
<commodityComponent v-if="showCommodity" :key="showCommodity" :showCommodity="showCommodity" :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>
</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">
<view class="handle_button" @click="handleNextStep">下一步</view> <!-- <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>
@ -223,9 +244,8 @@
<uni-popup ref="tempId" type="bottom"> <uni-popup ref="tempId" type="bottom">
<linkage-assembly selectProductTitle="选择运费模板" :form="setFormData" :classifiedData="classified['temp_id']" <linkage-assembly selectProductTitle="选择运费模板" :form="setFormData" :classifiedData="classified['temp_id']"
:selectProductItem="productItem" :mer_id="merId" @getLinkageData="getTempIdData" :selectProductItem="productItem" :mer_id="merId" @getLinkageData="getTempIdData" @multipleList="multipleList"
@multipleList="multipleList" @close="$refs.tempId.close()" @close="$refs.tempId.close()" @scrolltolower="scrolltolower"></linkage-assembly>
@scrolltolower="scrolltolower"></linkage-assembly>
</uni-popup> </uni-popup>
<uni-popup ref="attr" type="bottom"> <uni-popup ref="attr" type="bottom">
<attr @close="$refs.attr.close()" :mer_id="merId" :attrList="classified['attr']" @selectAttr="selectAttr"> <attr @close="$refs.attr.close()" :mer_id="merId" :attrList="classified['attr']" @selectAttr="selectAttr">
@ -269,6 +289,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,10 +299,13 @@
platfrom, // platfrom, //
storeClassification, storeClassification,
secound, secound,
avatar avatar,
priceComponent,
commodityComponent
}, },
data() { data() {
return { return {
showCommodity: false, // ,
step: 1, step: 1,
bar_code: '', bar_code: '',
bar_code_dis: false, bar_code_dis: false,
@ -304,12 +329,13 @@
specifica: '', // specifica: '', //
setSpecificaValue: '', // setSpecificaValue: '', //
setSpecificaValue2: '', setSpecificaValue2: '',
delivery_way: [1,2], // 1 2 delivery_way: [1, 2], // 1 2
delivery_free: '1', // 0 1 delivery_free: '1', // 0 1
temp_id: '', // ID temp_id: '', // ID
tempName: '' // tempName: '' //
}, },
popupContainerKey: false, popupContainerKey: false,
showMoreInfo: false,
productItem: {} || [], productItem: {} || [],
selectProductTitle: '选择平台分类', selectProductTitle: '选择平台分类',
specificationsRadioList: [{ specificationsRadioList: [{
@ -402,6 +428,7 @@
// console.log(opt); // console.log(opt);
this.merId = Number(opt.mer_id); this.merId = Number(opt.mer_id);
this.product_id = opt.product_id; this.product_id = opt.product_id;
if(!opt.product_id)this.showCommodity=true;
if (opt.code) { if (opt.code) {
this.code = opt.code; this.code = opt.code;
this.bar_code_dis = true this.bar_code_dis = true
@ -412,6 +439,16 @@
this.initDataEditData(); this.initDataEditData();
} }
}, },
onBackPress() {
let waitDeleteData = ['addGoodsFormData', 'singleSpecification', 'attrValue', 'modifyPriceData',
'addGoodsSecoundData', 'goodsDis', 'editGoodsDetils', 'canChange', 'canChangeSecound', 'editCommodity'
];
waitDeleteData.forEach(item => {
if (getStorage(item)) {
removeStorage(item);
}
});
},
onShow() { onShow() {
this.setFormData.setSpecificaValue = ''; this.setFormData.setSpecificaValue = '';
this.setFormData.setSpecificaValue2 = ''; this.setFormData.setSpecificaValue2 = '';
@ -453,6 +490,7 @@
} }
}, },
methods: { methods: {
// //
pop(e) { pop(e) {
this.show = true this.show = true
@ -546,6 +584,7 @@
} }
productDetail(this.merId, this.product_id).then(res => { productDetail(this.merId, this.product_id).then(res => {
setStorage('editGoodsDetils', res.data); setStorage('editGoodsDetils', res.data);
this.$store.commit('setStorage', res.data);
let editGoodsDetils = res.data; let editGoodsDetils = res.data;
Object.keys(this.setFormData).forEach(item => { Object.keys(this.setFormData).forEach(item => {
this.setFormData[item] = editGoodsDetils[item]; this.setFormData[item] = editGoodsDetils[item];
@ -579,6 +618,8 @@
editGoodsDetils.temp && (this.setFormData.tempName = editGoodsDetils.temp.name); editGoodsDetils.temp && (this.setFormData.tempName = editGoodsDetils.temp.name);
setStorage('canChange', true); setStorage('canChange', true);
hideLoading(); hideLoading();
this.showCommodity = true;
}); });
}, },
// //
@ -828,6 +869,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 +880,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 +901,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;
@ -882,10 +929,10 @@
.pop { .pop {
z-index: 1; z-index: 1;
} }
.guanbi { .guanbi {
width: 20px; width: 20px;
height: 20px; height: 20px;
margin: 30px auto; margin: 30px auto;
} }
</style> </style>

View File

@ -0,0 +1,230 @@
<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
},
props: ['product_id'],
data() {
return {
singleSpecification: {
price: '', //
cost: '', //
stock: '', //
ot_price: '', //
bar_code: '', //
weight: '', //
volume: '', //
image: '',
extension_one: '',
extension_two: ''
},
moreThanFlag: true,
formList: [{
id: 1,
label: '售价',
type: 'digit',
model: 'price',
holder: '请填写售价'
}, {
id: 10,
label: '库存',
type: 'digit',
model: 'stock',
holder: '请填写库存',
disable: true
}],
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'
// });
// },
mounted() {
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]
}
})
}
// if (!this.$props.product_id) {
// this.formList.push({
// id: 10,
// label: '',
// type: 'digit',
// model: 'stock',
// holder: '',
// disable: true
// })
// }
},
destroyed() {
setStorage('singleSpecification', {});
},
methods: {
selectMoreThan() {
this.formList = this.formList.concat(this.moreThanList);
this.moreThanFlag = false;
},
spliceMoreThan() {
this.moreThanFlag = true;
// this.formList.splice(!this.$props.product_id ? 2 : 1, this.formList.length);
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,4 +1,6 @@
<template> <template>
<view>
<block v-if="showComponent">
<view class=" writeBg "> <view class=" writeBg ">
<view class="container_input marginTop_none"> <view class="container_input marginTop_none">
<view class="container_input_item"> <view class="container_input_item">
@ -55,7 +57,8 @@
<video :src="addGoodsSecoundData.video_link"></video> <video :src="addGoodsSecoundData.video_link"></video>
<!--#endif--> <!--#endif-->
<!--#ifdef APP-PLUS--> <!--#ifdef APP-PLUS-->
<img src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/luzhou/static4/3/video_bg.png" style=" width:150rpx" ></img> <img src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/luzhou/static4/3/video_bg.png"
style=" width:150rpx"></img>
<!--#endif--> <!--#endif-->
<image src="../static/images/close.png" mode="widthFix"></image> <image src="../static/images/close.png" mode="widthFix"></image>
</view> </view>
@ -108,6 +111,9 @@
<view class="handle_button" @click="submitCreatedGoods">提交</view> <view class="handle_button" @click="submitCreatedGoods">提交</view>
</view> </view>
</view> </view>
</block>
<view class="handle_button" @click="submitCreatedGoods">提交</view>
</view>
</template> </template>
<script> <script>
import { TOKENNAME, HTTP_REQUEST_URL } from '@/config/app.js'; import { TOKENNAME, HTTP_REQUEST_URL } from '@/config/app.js';
@ -148,7 +154,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`,
@ -235,7 +242,7 @@
submitCreatedGoods() { submitCreatedGoods() {
Loading(); Loading();
let waitDeleteData = ['addGoodsFormData', 'singleSpecification', 'attrValue', 'modifyPriceData', let waitDeleteData = ['addGoodsFormData', 'singleSpecification', 'attrValue', 'modifyPriceData',
'addGoodsSecoundData', 'goodsDis', 'editGoodsDetils', 'canChange', 'canChangeSecound' 'addGoodsSecoundData', 'goodsDis', 'editGoodsDetils', 'canChange', 'canChangeSecound', 'editCommodity'
]; ];
let attrValue = getStorage('addGoodsFormData').spec_type == 0 ? [getStorage('singleSpecification')] : let attrValue = getStorage('addGoodsFormData').spec_type == 0 ? [getStorage('singleSpecification')] :
getStorage('attrValue'); getStorage('attrValue');
@ -248,12 +255,25 @@
}, },
video_link: this.addGoodsSecoundData.video_link video_link: this.addGoodsSecoundData.video_link
}; };
if (attrValue) {
if(attrValue){
postData.attrValue = attrValue.filter(item => item != ''); postData.attrValue = attrValue.filter(item => item != '');
postData.attrValue[0].bar_code postData.attrValue[0].bar_code
} }
// console.log(postData); let info = getStorage('editCommodity');
Object.keys(info).forEach(key=>{
postData[key]=info[key];
})
postData.stock = postData.attrValue[0].stock;
console.log(postData);
if(postData.store_name.trim().length<=0)return Toast('请输入商品名称');
if(postData.imageList.length<=0)return Toast('请上传商品图片');
if(postData.cate_name.trim().length<=0)return Toast('请选择平台分类');
if(postData.unit_name.trim().length<=0)return Toast('请输入商品单位');
if(!postData.attrValue[0].price||postData.attrValue[0].price<0)return Toast('价格不能小于0');
if(!postData.stock||postData.stock<0)return Toast('库存不能小于0');
if(postData.content.title.trim().length<=0)return Toast('请输入商品详情');
if(postData.content.image.length<=0)return Toast('请上传商品图片');
// return Toast('');
if (getStorage('addGoodsFormData').spec_type == 0) { if (getStorage('addGoodsFormData').spec_type == 0) {
// postData.attr = [getStorage('singleSpecification')]; // postData.attr = [getStorage('singleSpecification')];
} }
@ -413,6 +433,7 @@
} }
} }
} }
.videoHover { .videoHover {
width: 180rpx; width: 180rpx;
height: 180rpx; height: 180rpx;
@ -439,6 +460,7 @@
} }
} }
} }
.photo { .photo {
border: 1px solid #dddddd; border: 1px solid #dddddd;
opacity: 1; opacity: 1;
@ -481,10 +503,12 @@
height: 150rpx; height: 150rpx;
} }
} }
.preview_video{
.preview_video {
position: absolute; position: absolute;
} }
.container_input { .container_input {
background: #fff; background: #fff;
padding: 0 20rpx; padding: 0 20rpx;
@ -603,6 +627,7 @@
.marginTop_none { .marginTop_none {
margin-top: 0; margin-top: 0;
} }
.video-count { .video-count {
position: fixed; position: fixed;
width: 600rpx; width: 600rpx;
@ -621,6 +646,7 @@
height: 500rpx; height: 500rpx;
} }
} }
// .writeBg { // .writeBg {
// background: #fff; // background: #fff;
// } // }

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

@ -7,8 +7,10 @@
<view class="store_bg"> <view class="store_bg">
<view class="text flex_a_c"><i class="iconfont icon-xinghao"></i>上传店铺背景图</view> <view class="text flex_a_c"><i class="iconfont icon-xinghao"></i>上传店铺背景图</view>
<block v-if="images[0].img"> <block v-if="images[0].img">
<u--image :showLoading="true" :src="images[0].img" width="388px" height="210.53rpx" radius="4px" <!-- <u--image :showLoading="true" :src="images[0].img" width="388px" height="210.53rpx" radius="4px"
@click="delImg(0)" mode="aspectFit"></u--image> @click="delImg(0)" mode="aspectFit"></u--image> -->
<u--image :showLoading="true" :src="images[0].img" width="360px" height="210.53rpx" radius="4px"
@click="delImg(2)"></u--image>
</block> </block>
<view v-else class="upload" @click="seleckImage(0)"> <view v-else class="upload" @click="seleckImage(0)">
<view class="iconfont icon-tupian1"></view> <view class="iconfont icon-tupian1"></view>
@ -136,9 +138,9 @@
<!-- <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>
@ -146,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>
@ -31,7 +31,8 @@
<text v-else>0</text>/200 <text v-else>0</text>/200
</view> </view>
</view> </view>
<view class="input_content_describe_textarea"><textarea v-model="prodectContent.store_info" value="" <view class="input_content_describe_textarea">
<textarea v-model="prodectContent.store_info" value=""
placeholder="请填写商品简介" placeholderClass="placeholderClass" maxlength="200" /></view> placeholder="请填写商品简介" placeholderClass="placeholderClass" maxlength="200" /></view>
</view> </view>
@ -40,7 +41,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>
@ -110,7 +111,7 @@
} }
}, },
mounted() { mounted() {
console.log(this.$props.prodectContent);
}, },
methods: { methods: {
handleChooseImage() { handleChooseImage() {

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,7 +47,8 @@
<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"
:url="`/pages/product/addGoods/freightTemplate?mer_id=${mer_id}`"
hover-class='none'> hover-class='none'>
<image mode='widthFix' class="image" src="../static/images/product_freight.png"> <image mode='widthFix' class="image" src="../static/images/product_freight.png">
</image> </image>
@ -245,7 +246,8 @@
on_line: '', on_line: '',
isshow: false, isshow: false,
num: -1, num: -1,
ll: 0 ll: 0,
} }
}, },
onLoad(options) { onLoad(options) {
@ -265,7 +267,7 @@
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
if (item.spec_type == 1) {
this.show = true 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({

View File

@ -1,163 +0,0 @@
<template>
<view class="content">
<view class="">
<view class="content_con" v-for="(item,index) in datalist" :key='index'>
<view class="content_title">
<view class="content_title_a" v-if="item.status==1">
已通过
</view>
<view class="content_title_c" v-else-if="item.status==2">
已拒绝
</view>
<view class="content_title_b" v-else-if="item.status==0">
审核中
</view>
<view class="content_title_d">
{{item.mer_name}}
</view>
</view>
<view class="" v-if="item.fail_msg" style="margin-top: -50rpx;color: red;">
拒绝原因{{item.fail_msg}}
</view>
<view class="content_detail">
<view class="" style="display: flex;">
<view style="width:150rpx;"> 申请人</view>
<span>{{item.name}}</span><text style="margin-left: 20rpx;">{{item.phone}}</text>
</view>
<view class="" style="display: flex;">
<view style="width:150rpx;"> 申请时间</view>
<span>{{item.create_time}}</span>
</view>
</view>
</view>
</view>
<view class="" style="padding-top: 1px;" v-if='datalist.length==0'>
<emptyPage title="暂无申请信息"></emptyPage>
</view>
</view>
</template>
<script>
import emptyPage from '@/components/emptyPage.vue';
import {
intention
} from "@/api/product"
export default {
components: {
emptyPage
},
data() {
return {
datalist: [],
where: {
type: 2,
page: 1,
limit: 10
},
}
},
onLoad() {
this.list()
},
methods: {
list() {
intention(this.where).then(res => {
this.datalist = res.data.list
})
}
}
}
</script>
<style lang="scss">
.content {
padding: 12rpx 12rpx;
}
.content_con {
padding: 42rpx 32rpx;
height: 294rpx;
background: #FFFFFF;
border-radius: 21rpx 21rpx;
margin-top: 20rpx;
}
.content_title {
display: flex;
margin-bottom: 70rpx;
}
.content_title_a {
width: 89rpx;
height: 37rpx;
line-height: 37rpx;
text-align: center;
background: #16C295;
font-size: 23rpx;
font-family: DingTalk JinBuTi-Regular, DingTalk JinBuTi;
font-weight: 400;
color: #FFFFFF;
border-radius: 15rpx 0 15rpx 0;
}
.content_title_b {
width: 89rpx;
height: 37rpx;
line-height: 37rpx;
text-align: center;
background: #3274F9;
font-size: 23rpx;
font-family: DingTalk JinBuTi-Regular, DingTalk JinBuTi;
font-weight: 400;
color: #FFFFFF;
border-radius: 15rpx 0 15rpx 0;
}
.content_title_c {
width: 89rpx;
height: 37rpx;
line-height: 37rpx;
text-align: center;
background: #ff0000;
font-size: 23rpx;
font-family: DingTalk JinBuTi-Regular, DingTalk JinBuTi;
font-weight: 400;
color: #FFFFFF;
border-radius: 15rpx 0 15rpx 0;
}
.content_title_d {
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
margin-left: 20rpx;
margin-top: -7rpx;
}
.content_detail {
font-size: 30rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
view {
margin-bottom: 10rpx;
}
}
</style>

View File

@ -1,241 +0,0 @@
<template>
<view v-if="!successful" class="content">
<view class="content-detail">
<view class="content-title">
<view class="content-title-a">
交易申请协议
</view>
<view class="content-title-b" @click="navation">
申请记录
</view>
</view>
<view class="">
<view v-html="detail.business_apply_agree">
</view>
</view>
</view>
<view class="content-bottom" v-if="type==0">
<view class="bottombtn_no" @click="noagree">拒绝</view>
<view class="bottom_agree" @click="agree">同意</view>
</view>
<view class="content-bottom" v-if="type==1||type==3">
<view class="bottom_agree" @click="agree">重新申请</view>
</view>
</view>
<view class="settledSuccessMain" v-else>
<view class="settledSuccessful">
<image class="image" src="@/pages/store/static/images/settledSuccessful.svg">
<view class="title">恭喜您的资料提交成功</view>
<view class="info">预计15个工作日内审核完毕平台客服会及时与您联系</view>
<view class="goHome" hover-class="none" @click="goHome">
返回首页
</view>
</view>
</view>
</template>
<script>
import {
business,
intentionbus
} from "@/api/product"
export default {
data() {
return {
detail: {},
type: 0,
successful: false
}
},
onLoad(e) {
this.type = e.business_status
this.list()
},
methods: {
//
list() {
business().then(res => {
this.detail = res.data
})
},
//
goHome() {
uni.switchTab({
url: '/pages/index/index'
});
},
//
navation() {
uni.navigateTo({
url: '/pages/product/transactionApplication/application'
})
},
//
noagree() {
uni.navigateTo({
url: '/pages/moreProject/moreProject'
})
},
//
agree() {
intentionbus().then(res => {
if (res.status == 200) {
this.$util.Tips({
title: res.message,
icon: 'success',
})
this.successful=true
}
}).catch((err) => {
this.$util.Tips({
title: err,
icon: 'error',
})
})
},
}
}
</script>
<style lang="scss" scoped>
.content {
position: relative;
}
.content-detail {
padding: 20rpx 20rpx;
color: #333333;
font-size: 28rpx;
margin-bottom: 155rpx;
.content-title {
color: #333333;
font-size: 32rpx;
text-align: center;
margin-top: 40rpx;
margin-bottom: 40rpx;
.content-title-b {
width: 165rpx;
height: 70rpx;
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #FFFFFF;
text-align: center;
line-height: 70rpx;
background: linear-gradient(90deg, #F84221 0%, #FF6D20 100%);
box-shadow: 0px 4rpx 11rpx 2rpx rgba(252, 89, 32, 0.49);
border-radius: 37rpx 0px 0px 37rpx;
opacity: 1;
position: absolute;
top: 40rpx;
right: 0;
}
}
}
.content-bottom {
position: absolute;
width: 100%;
bottom: 0;
position: fixed;
height: 175rpx;
background: #FFFFFF;
display: flex;
justify-content: space-around;
.bottombtn_no {
margin-top: 42rpx;
width: 249rpx;
height: 84rpx;
text-align: center;
line-height: 84rpx;
border-radius: 46rpx 46rpx;
opacity: 1;
border: 2rpx solid #B3B3B3;
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #737373;
}
.bottom_agree {
margin-top: 42rpx;
width: 249rpx;
height: 84rpx;
text-align: center;
line-height: 84rpx;
background: linear-gradient(270deg, #FF6D20 0%, #F84221 100%);
border-radius: 46rpx 46rpx;
opacity: 1;
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #fff;
}
}
.settledSuccessMain {
height: 100vh;
display: flex;
flex-direction: column;
background: #fff;
}
.settledSuccessful {
flex: 1;
width: 100%;
padding: 0 56px;
height: auto;
background: #fff;
text-align: center;
}
.settledSuccessful .image {
width: 189px;
height: 157px;
margin-top: 66px;
}
.settledSuccessful .title {
color: #333333;
font-size: 16px;
font-weight: bold;
margin-top: 35px;
}
.settledSuccessful .info {
color: #A0A0A0;
font-size: 13px;
margin-top: 12px;
}
.settledSuccessful .goHome {
margin: 60px auto 0;
line-height: 43px;
color: #282828;
font-size: 15px;
border: 1px solid #B4B4B4;
border-radius: 60px;
}
</style>

View File

@ -309,7 +309,7 @@
</view> </view>
</uni-popup> </uni-popup>
<!-- 他提到的宝贝弹窗 --> <!-- 他提到的宝贝弹窗 -->
<uni-popup type="bottom" ref="pinglunMentioned" style="background-color: rebeccapurple;"> <uni-popup type="bottom" ref="pinglunMentioned" >
<mentioned ref="mentioned" @close="closePopup" :list="moreList" :uid="authorUid" ></mentioned> <mentioned ref="mentioned" @close="closePopup" :list="moreList" :uid="authorUid" ></mentioned>
@ -718,12 +718,14 @@
// }); // });
// })' // })'
// that.isUser ? // that.isUser ?
videoList({ videoList({
page: that.page, page: that.page,
limit: that.limit, limit: that.limit,
id: this.videoID id: this.videoID
}).then(res => { }).then(res => {
console.log(res.data,'1')
that.getVideoData(res.data.list); that.getVideoData(res.data.list);
}) })
@ -899,7 +901,7 @@
deoList(this.videoID).then(async (res) => { deoList(this.videoID).then(async (res) => {
this.loadVideo = false this.loadVideo = false
this.userUid = res.data.uid this.userUid = res.data.uid
this.page = this.page + 1; this.page = 1;
var msg = [res.data]; var msg = [res.data];
for (let i = 0; i < msg.length; i++) { for (let i = 0; i < msg.length; i++) {
msg[i]['isMore'] = false msg[i]['isMore'] = false

View File

@ -26,10 +26,12 @@
<!-- #endif --> <!-- #endif -->
<view v-show="navShow && tabActive === 3" class="nav" :style="viewColor"> <view v-show="navShow && tabActive === 3" class="nav" :style="viewColor">
<view class="nav-cont"> <view class="nav-cont">
<view :class="{ active: navActive === 0 }" class="item" @click="navActive = 0;select.show = !select.show"> <view :class="{ active: navActive === 0 }" class="item"
@click="navActive = 0;select.show = !select.show">
<view class="cont"> <view class="cont">
{{ select.selected ? '评分' : '默认' }} {{ select.selected ? '评分' : '默认' }}
<text :class="['arrow-icon', 'iconfont', select.show ? 'icon-xiangshang' : 'icon-xiangxia']"></text> <text
:class="['arrow-icon', 'iconfont', select.show ? 'icon-xiangshang' : 'icon-xiangxia']"></text>
</view> </view>
</view> </view>
<view :class="{ active: navActive === 1 }" class="item" @click="set_where(2,0)"> <view :class="{ active: navActive === 1 }" class="item" @click="set_where(2,0)">
@ -45,7 +47,8 @@
</view> </view>
<view class="item" @click="select.show = false;navActive = 4;isColumn = !isColumn"> <view class="item" @click="select.show = false;navActive = 4;isColumn = !isColumn">
<view class="cont"> <view class="cont">
<text :class="['layout-icon', 'iconfont', isColumn ? 'icon-pailie' : 'icon-tupianpailie']"></text> <text
:class="['layout-icon', 'iconfont', isColumn ? 'icon-pailie' : 'icon-tupianpailie']"></text>
</view> </view>
</view> </view>
</view> </view>
@ -74,7 +77,8 @@
</view> </view>
</view> </view>
</view> </view>
<scroll-view @refresherrefresh="onRefresh" refresher-enabled="true" :refresher-triggered="isTriggered" class="main" scroll-y="true" @scroll="scrollHome" catchtouchmove :style="viewColor"> <scroll-view @refresherrefresh="onRefresh" refresher-enabled="true" :refresher-triggered="isTriggered"
class="main" scroll-y="true" @scroll="scrollHome" catchtouchmove :style="viewColor">
<!-- 店铺信息 --> <!-- 店铺信息 -->
<view id="store" class="store"> <view id="store" class="store">
<image :src="store.mer_avatar"></image> <image :src="store.mer_avatar"></image>
@ -121,10 +125,12 @@
</view> </view>
<view v-show="!navShow && tabActive === 3 || tabActive === 7" class="nav"> <view v-show="!navShow && tabActive === 3 || tabActive === 7" class="nav">
<view class="nav-cont"> <view class="nav-cont">
<view :class="{ active: navActive === 0 }" class="item" @click="navActive = 0;select.show = !select.show"> <view :class="{ active: navActive === 0 }" class="item"
@click="navActive = 0;select.show = !select.show">
<view class="cont"> <view class="cont">
{{ select.selected ? '评分' : '默认' }} {{ select.selected ? '评分' : '默认' }}
<text :class="['arrow-icon', 'iconfont', select.show ? 'icon-xiangshang' : 'icon-xiangxia']"></text> <text
:class="['arrow-icon', 'iconfont', select.show ? 'icon-xiangshang' : 'icon-xiangxia']"></text>
</view> </view>
</view> </view>
<view :class="{ active: navActive === 1 }" class="item" @click="set_where(2,0)"> <view :class="{ active: navActive === 1 }" class="item" @click="set_where(2,0)">
@ -143,7 +149,8 @@
</view> </view>
<view class="item" @click="select.show = false;navActive = 4;isColumn = !isColumn"> <view class="item" @click="select.show = false;navActive = 4;isColumn = !isColumn">
<view class="cont"> <view class="cont">
<text :class="['layout-icon', 'iconfont', isColumn ? 'icon-pailie' : 'icon-tupianpailie']"></text> <text
:class="['layout-icon', 'iconfont', isColumn ? 'icon-pailie' : 'icon-tupianpailie']"></text>
</view> </view>
</view> </view>
</view> </view>
@ -184,7 +191,8 @@
<!-- #ifdef H5 --> <!-- #ifdef H5 -->
<view v-for="(item, index) in styleConfig" :key="index"> <view v-for="(item, index) in styleConfig" :key="index">
<block v-if="item.name != 'headerSerch' && item.name != 'tabNav'"> <block v-if="item.name != 'headerSerch' && item.name != 'tabNav'">
<component :is="item.name" :index="index" :dataConfig="item" :merId="id" @detail="goGoodsDetail"> <component :is="item.name" :index="index" :dataConfig="item" :merId="id"
@detail="goGoodsDetail">
</component> </component>
</block> </block>
</block> </block>
@ -200,10 +208,12 @@
<combination v-if="item.name == 'combination'" :merId="id" :dataConfig="item"></combination> <combination v-if="item.name == 'combination'" :merId="id" :dataConfig="item"></combination>
<topic v-if="item.name == 'topic'" :merId="id" :dataConfig="item"></topic> <topic v-if="item.name == 'topic'" :merId="id" :dataConfig="item"></topic>
<coupon v-if="item.name == 'coupon'" :merId="id" :dataConfig="item"></coupon> <coupon v-if="item.name == 'coupon'" :merId="id" :dataConfig="item"></coupon>
<goodList v-if="item.name == 'goodList'" :merId="id" :dataConfig="item" @detail="goGoodsDetail"> <goodList v-if="item.name == 'goodList'" :merId="id" :dataConfig="item"
@detail="goGoodsDetail">
</goodList> </goodList>
<guide v-if="item.name == 'guide'" :merId="id" :dataConfig="item"></guide> <guide v-if="item.name == 'guide'" :merId="id" :dataConfig="item"></guide>
<liveBroadcast v-if="item.name == 'liveBroadcast'" :merId="id" :dataConfig="item"></liveBroadcast> <liveBroadcast v-if="item.name == 'liveBroadcast'" :merId="id" :dataConfig="item">
</liveBroadcast>
<menus v-if="item.name == 'menus'" :merId="id" :dataConfig="item"></menus> <menus v-if="item.name == 'menus'" :merId="id" :dataConfig="item"></menus>
<presellList v-if="item.name == 'presellList'" :merId="id" :dataConfig="item"></presellList> <presellList v-if="item.name == 'presellList'" :merId="id" :dataConfig="item"></presellList>
<richText v-if="item.name == 'richText'" :merId="id" :dataConfig="item"></richText> <richText v-if="item.name == 'richText'" :merId="id" :dataConfig="item"></richText>
@ -221,7 +231,8 @@
<!-- 商品 --> <!-- 商品 -->
<view v-if="goods.length" class="goods-wrap" id="goods" @touchmove="onTouchmove"> <view v-if="goods.length" class="goods-wrap" id="goods" @touchmove="onTouchmove">
<view v-if="isColumn" class="goods column"> <view v-if="isColumn" class="goods column">
<view v-for="item in goods" :key="item.product_id" class="item" @click="goGoodsDetail(item)"> <view v-for="item in goods" :key="item.product_id" class="item"
@click="goGoodsDetail(item)">
<view class="image"> <view class="image">
<easy-loadimage mode="widthFix" :image-src="item.image"></easy-loadimage> <easy-loadimage mode="widthFix" :image-src="item.image"></easy-loadimage>
<view v-if="item.stock == 0" class="sell_out">已售罄</view> <view v-if="item.stock == 0" class="sell_out">已售罄</view>
@ -237,7 +248,8 @@
<view class="money"> <view class="money">
¥<text>{{ item.price }}</text> ¥<text>{{ item.price }}</text>
</view> </view>
<view v-if="item.show_svip_info && item.show_svip_info.show_svip_price && item.svip_price" <view
v-if="item.show_svip_info && item.show_svip_info.show_svip_price && item.svip_price"
class="acea-row row-middle"> class="acea-row row-middle">
<text class='vip-money'>{{item.svip_price}}</text> <text class='vip-money'>{{item.svip_price}}</text>
<view class="vipImg"> <view class="vipImg">
@ -245,7 +257,8 @@
</view> </view>
</view> </view>
</view> </view>
<view v-if="item.product_type != 0 || item.issetCoupon || item.delivery_free == 1" <view
v-if="item.product_type != 0 || item.issetCoupon || item.delivery_free == 1"
class="item_tags"> class="item_tags">
<text v-if="item.product_type != 0" <text v-if="item.product_type != 0"
:class="'font_bg-red type'+item.product_type">{{item.product_type == 1 ? "秒杀" : item.product_type == 2 ? "预售" : item.product_type == 3 ? "助力" : item.product_type == 4 ? "拼团" : ""}}</text> :class="'font_bg-red type'+item.product_type">{{item.product_type == 1 ? "秒杀" : item.product_type == 2 ? "预售" : item.product_type == 3 ? "助力" : item.product_type == 4 ? "拼团" : ""}}</text>
@ -255,7 +268,8 @@
<view class="score">{{ item.rate }}评分 {{ item.reply_count }}条评论</view> <view class="score">{{ item.rate }}评分 {{ item.reply_count }}条评论</view>
</view> </view>
</view> </view>
<view v-if="item.max_extension>0 && (item.product_type == 0 || item.product_type == 2)" class="foot"> <view v-if="item.max_extension>0 && (item.product_type == 0 || item.product_type == 2)"
class="foot">
<text v-show="!isColumn" class="iconfont"></text> <text v-show="!isColumn" class="iconfont"></text>
最高赚 ¥{{ item.max_extension }} 最高赚 ¥{{ item.max_extension }}
</view> </view>
@ -299,7 +313,8 @@
<!--生活服务--> <!--生活服务-->
<view v-show="tabActive === 5" id="product" @touchmove="onTouchmoves"> <view v-show="tabActive === 5" id="product" @touchmove="onTouchmoves">
<view v-if="productList.length" class="goods column"> <view v-if="productList.length" class="goods column">
<view v-for="item in productList" :key="item.product_id" class="item" @click="goGoodsDetail(item)"> <view v-for="item in productList" :key="item.product_id" class="item"
@click="goGoodsDetail(item)">
<view class="image"> <view class="image">
<easy-loadimage mode="widthFix" :image-src="item.image"></easy-loadimage> <easy-loadimage mode="widthFix" :image-src="item.image"></easy-loadimage>
</view> </view>
@ -313,14 +328,16 @@
¥ ¥
<text>{{ item.price }}</text> <text>{{ item.price }}</text>
</view> </view>
<view v-if="item.show_svip_info.show_svip_price && item.svip_price" class="acea-row row-middle"> <view v-if="item.show_svip_info.show_svip_price && item.svip_price"
class="acea-row row-middle">
<text class='vip-money'>{{item.svip_price}}</text> <text class='vip-money'>{{item.svip_price}}</text>
<view class="vipImg"> <view class="vipImg">
<image class="image" src="/static/images/svip.png"></image> <image class="image" src="/static/images/svip.png"></image>
</view> </view>
</view> </view>
</view> </view>
<view v-if="item.product_type != 0 || item.issetCoupon || item.delivery_free == 1" class="item_tags"> <view v-if="item.product_type != 0 || item.issetCoupon || item.delivery_free == 1"
class="item_tags">
<text v-if="item.product_type != 0" <text v-if="item.product_type != 0"
:class="'font_bg-red type'+item.product_type">{{item.product_type == 1 ? "秒杀" : item.product_type == 2 ? "预售" : item.product_type == 3 ? "助力" : item.product_type == 4 ? "拼团" : ""}}</text> :class="'font_bg-red type'+item.product_type">{{item.product_type == 1 ? "秒杀" : item.product_type == 2 ? "预售" : item.product_type == 3 ? "助力" : item.product_type == 4 ? "拼团" : ""}}</text>
<text class="tags_item ticket" v-if="item.issetCoupon">领券</text> <text class="tags_item ticket" v-if="item.issetCoupon">领券</text>
@ -329,7 +346,8 @@
<view class="score">{{ item.rate }}评分 {{ item.reply_count }}条评论</view> <view class="score">{{ item.rate }}评分 {{ item.reply_count }}条评论</view>
</view> </view>
</view> </view>
<view v-if="item.max_extension && (item.product_type == 0 || item.product_type == 2)" class="foot"> <view v-if="item.max_extension && (item.product_type == 0 || item.product_type == 2)"
class="foot">
<text v-show="!isColumn" class="iconfont"></text> <text v-show="!isColumn" class="iconfont"></text>
最高赚 ¥{{ item.max_extension }} 最高赚 ¥{{ item.max_extension }}
</view> </view>
@ -367,7 +385,8 @@
</view> </view>
<view class="time-wrap" style="justify-content: space-between;"> <view class="time-wrap" style="justify-content: space-between;">
<block v-if="item.coupon_type == 1"> <block v-if="item.coupon_type == 1">
<view class="time">{{ item.use_start_time | dateFormat }}-{{ item.use_end_time | dateFormat }} <view class="time">
{{ item.use_start_time | dateFormat }}-{{ item.use_end_time | dateFormat }}
</view> </view>
</block> </block>
<block v-if="item.coupon_type == 0"> <block v-if="item.coupon_type == 0">
@ -429,17 +448,35 @@
unfollowStore, unfollowStore,
storeServiceList storeServiceList
} from '@/api/store.js'; } from '@/api/store.js';
import { initiateAssistApi, getTopicList } from '@/api/activity.js'; import {
import { getShopCoupons, setCouponReceive, getDiy, getProductSpuAPI } from '@/api/api.js'; initiateAssistApi,
import { getUserInfo } from '@/api/user.js'; getTopicList
import { configMap } from "@/utils"; } from '@/api/activity.js';
import { mapGetters } from "vuex"; import {
import { goShopDetail } from '@/libs/order.js'; getShopCoupons,
setCouponReceive,
getDiy,
getProductSpuAPI
} from '@/api/api.js';
import {
getUserInfo
} from '@/api/user.js';
import {
configMap
} from "@/utils";
import {
mapGetters
} from "vuex";
import {
goShopDetail
} from '@/libs/order.js';
import authorize from '@/components/Authorize'; import authorize from '@/components/Authorize';
import history from "@/mixins/history"; import history from "@/mixins/history";
import emptyPage from '@/components/emptyPage.vue' import emptyPage from '@/components/emptyPage.vue'
import shareScence from "@/libs/spread"; import shareScence from "@/libs/spread";
import { HTTP_REQUEST_URL } from '@/config/app'; import {
HTTP_REQUEST_URL
} from '@/config/app';
import mConfig from '../component/index.js'; import mConfig from '../component/index.js';
// #ifdef MP || APP-PLUS // #ifdef MP || APP-PLUS
import activeParty from '@/pages/index/component/activeParty'; import activeParty from '@/pages/index/component/activeParty';
@ -497,7 +534,7 @@
data() { data() {
return { return {
// //
isTriggered:false, isTriggered: false,
domain: HTTP_REQUEST_URL, domain: HTTP_REQUEST_URL,
// #ifdef MP // #ifdef MP
menuButtonInfo: uni.getMenuButtonBoundingClientRect(), menuButtonInfo: uni.getMenuButtonBoundingClientRect(),
@ -594,7 +631,7 @@
], ],
tabs3: [{ tabs3: [{
icon: 'icon-yizhan_o', icon: 'icon-yizhan_o',
name: '云商品', name: '综合云商品',
value: 7, value: 7,
}, { }, {
icon: 'icon-gouwu_o', icon: 'icon-gouwu_o',
@ -620,10 +657,9 @@
], ],
tabs5: [{ tabs5: [{
icon: 'icon-yizhan_o', icon: 'icon-yizhan_o',
name: '云商品', name: '综合云商品',
value: 7, value: 7,
} }],
],
tabs: [], tabs: [],
storeScroll: true, storeScroll: true,
storeTop: 0, storeTop: 0,
@ -634,7 +670,7 @@
type: 3, type: 3,
statusBarHeight: 0, statusBarHeight: 0,
isLihaiYun: '', isLihaiYun: '',
business_status:0
} }
}, },
computed: { computed: {
@ -645,7 +681,8 @@
number: 0 number: 0
}; };
if ('postage_score' in store) { if ('postage_score' in store) {
score.number = (parseFloat(store.postage_score) + parseFloat(store.product_score) + parseFloat(store score.number = (parseFloat(store.postage_score) + parseFloat(store.product_score) + parseFloat(
store
.service_score)) / .service_score)) /
3; 3;
score.star = score.number / 5 * 100; score.star = score.number / 5 * 100;
@ -723,7 +760,10 @@
} }
} }
// #endif // #endif
this.getStore(); this.getStore();
this.diyData(); this.diyData();
shareScence(this.currSpid, this.isLogin) shareScence(this.currSpid, this.isLogin)
if (this.isLogin) { if (this.isLogin) {
@ -775,15 +815,10 @@
this.storeHeight = data.height; this.storeHeight = data.height;
this.storeTop = data.top; this.storeTop = data.top;
}).exec(); }).exec();
this.userinfo()
}, },
methods: { methods: {
userinfo(){
getUserInfo().then(res => {
this.business_status=res.data.mer_info.business_status
})
},
getProductSpu() { getProductSpu() {
let that = this; let that = this;
if (that.loadend) return; if (that.loadend) return;
@ -874,7 +909,9 @@
// diy // diy
diyData() { diyData() {
let that = this; let that = this;
getDiy({ id: that.id }).then(res => { getDiy({
id: that.id
}).then(res => {
let data = res.data; let data = res.data;
that.styleConfig = that.objToArr(res.data.value); that.styleConfig = that.objToArr(res.data.value);
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
@ -968,9 +1005,10 @@
// this.tabs = this.tabs2 // this.tabs = this.tabs2
// this.service_open = false // this.service_open = false
// } // }
if(this.business_status==2){
if (res.data.business_status == 2) {
this.isLihaiYun === 'Lihai' ? this.tabs = this.tabs4 : this.tabs = this.tabs3 this.isLihaiYun === 'Lihai' ? this.tabs = this.tabs4 : this.tabs = this.tabs3
}else{ } else {
this.tabs = this.tabs5 this.tabs = this.tabs5
} }
@ -1046,7 +1084,10 @@
if (this.topicList.length) { if (this.topicList.length) {
return; return;
} }
getTopicList(this.id, { page: 1, limit: 999 }).then(res => { getTopicList(this.id, {
page: 1,
limit: 999
}).then(res => {
this.topicList = res.data; this.topicList = res.data;
}); });
}, },
@ -1172,7 +1213,7 @@
return false; return false;
} }
this.goods = [] this.goods = []
this.where.page=1 this.where.page = 1
this.goodsLoading = this.loadend = this.loading = false this.goodsLoading = this.loadend = this.loading = false
this.tabActive = param; this.tabActive = param;
// console.log(this.goods); // console.log(this.goods);
@ -1213,7 +1254,7 @@
} }
}, },
//#endif //#endif
onRefresh(){ onRefresh() {
this.isTriggered = true; this.isTriggered = true;
const newList = this.goods.reverse(); const newList = this.goods.reverse();
this.goods = newList; this.goods = newList;

View File

@ -6,7 +6,7 @@
恭喜您的申请已通过 恭喜您的申请已通过
</view> </view>
</view> </view>
<view class="msg" v-if="mer_id > 0 && resData.login_url"> <!-- <view class="msg" v-if="mer_id > 0 && resData.login_url">
<view class="url"> <view class="url">
<text class="head">登录地址</text> <text class="head">登录地址</text>
<text class="content">{{resData.login_url}}</text> <text class="content">{{resData.login_url}}</text>
@ -18,7 +18,7 @@
</view> </view>
<text class="cope" @click="copyTBL()">复制</text> <text class="cope" @click="copyTBL()">复制</text>
</view> </view>
</view> </view> -->
<view class="btn" v-if="mer_id > 0"> <view class="btn" v-if="mer_id > 0">
<view class=""> <view class="">
温馨提示初始密码默认为手机号后六位请初次登录后及时修改 温馨提示初始密码默认为手机号后六位请初次登录后及时修改

View File

@ -1,4 +1,18 @@
<template> <template>
<view class="">
<!-- #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 -->
<view v-if="!successful" :style="viewColor"> <view v-if="!successful" :style="viewColor">
<form report-submit='true'> <form report-submit='true'>
<view class='merchantsSettled'> <view class='merchantsSettled'>
@ -24,8 +38,8 @@
<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.phone" @input="validateBtn" <input type="text" placeholder="请输入手机号" v-model="merchantData.phone"
placeholder-class='placeholder' /> @input="validateBtn" placeholder-class='placeholder' />
</view> </view>
</view> </view>
<view class="item rel"> <view class="item rel">
@ -126,8 +140,8 @@
<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="validateBtn" <input type="text" placeholder="请输入法人名称" v-model="merchantData.user_name"
placeholder-class='placeholder' /> @input="validateBtn" placeholder-class='placeholder' />
</view> </view>
</view> </view>
<view class="item"> <view class="item">
@ -182,7 +196,7 @@
</view> </view>
</form> </form>
<view class="settlementAgreement" v-if="showProtocol"> <view class="settlementAgreement" v-if="showProtocol">
<view class="setAgCount"> <view class="setAgCount" style="width: 656rpx;height: 458px;">
<i class="icon iconfont icon-cha" @click="showProtocol = false"></i> <i class="icon iconfont icon-cha" @click="showProtocol = false"></i>
<div class="title">{{isType ? '店铺类型说明' : '商户入驻协议'}}</div> <div class="title">{{isType ? '店铺类型说明' : '商户入驻协议'}}</div>
<view class="content"> <view class="content">
@ -192,11 +206,20 @@
</view> </view>
</view> </view>
<view class="settlementAgreement" v-if="isshow"> <view class="settlementAgreement" v-if="isshow">
<view class="setAgCount"> <view class="setAgCount" style="width: 100%;height: 100%;padding-top: 180rpx;">
<i class="icon iconfont icon-cha" @click="recuo"></i> <!-- <i class="icon iconfont icon-cha" @click="recuo"></i> -->
<div class="title">商户入驻协议</div> <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>
<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"> <view class="contenta">
<jyf-parser :html="detail.sys_intention_agree" ref="article" :tag-style="tagStyle"></jyf-parser> <jyf-parser :html="detail.mer_services_agree" ref="article" :tag-style="tagStyle"></jyf-parser>
</view> </view>
<view class="setAgCountbtn"> <view class="setAgCountbtn">
@ -204,8 +227,7 @@
拒绝 拒绝
</button> </button>
<button :class="num>0?'setAgCountbtnb':'setAgCountbtnc'" :disabled="num!=0" @click="agree">
<button :class="num>0?'setAgCountbtnb':'setAgCountbtnc'" :disabled="num!=0" @click="isshow=false">
<text v-if="num>0">请仔细阅读协议{{num}}S</text> <text v-if="num>0">请仔细阅读协议{{num}}S</text>
<text v-else>同意</text> <text v-else>同意</text>
@ -216,12 +238,13 @@
<view class='loadingicon acea-row row-center-wrapper' v-if="loading"> <view class='loadingicon acea-row row-center-wrapper' v-if="loading">
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text> <text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>
</view> </view>
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize> <authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse">
</authorize>
<Verify @success="success" :captchaType="'blockPuzzle'" :imgSize="{ width: '330px', height: '155px' }" <Verify @success="success" :captchaType="'blockPuzzle'" :imgSize="{ width: '330px', height: '155px' }"
ref="verify"> ref="verify">
</Verify> </Verify>
</view> </view>
<view class="settledSuccessMain" v-else :style="viewColor"> <view class="settledSuccessMain " v-else :style="viewColor">
<view class="settledSuccessful"> <view class="settledSuccessful">
<image class="image" src="../static/images/settledSuccessful.svg" alt=""> <image class="image" src="../static/images/settledSuccessful.svg" alt="">
<view class="title">恭喜您的资料提交成功</view> <view class="title">恭喜您的资料提交成功</view>
@ -231,6 +254,7 @@
</view> </view>
</view> </view>
</view> </view>
</view>
</template> </template>
<script> <script>
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
@ -253,7 +277,8 @@
} from '@/api/store.js'; } from '@/api/store.js';
import { import {
getCaptcha, getCaptcha,
getAgreementApi getAgreementApi,
merstreet
} from "@/api/user"; } from "@/api/user";
import { import {
getStreet, getStreet,
@ -266,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';
@ -281,6 +309,8 @@
}, },
data() { data() {
return { return {
company: '',
organization_code: '',
domain: HTTP_REQUEST_URL, domain: HTTP_REQUEST_URL,
cartId: '', //id cartId: '', //id
pinkId: 0, //id pinkId: 0, //id
@ -343,8 +373,15 @@
}, },
mer_i_id: null, // id mer_i_id: null, // id
isType: false, isType: false,
num: 30, num: 10,
detail: {} detail: {},
statusBarHeight: 0,
where: {
type: 1,
page: 1,
limit: 10
},
codenote: []
}; };
}, },
beforeDestroy() { beforeDestroy() {
@ -373,17 +410,32 @@
} }
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) {
this.num = 30 this.num = 10
this.isshow = false this.isshow = false
} else { } else {
this.num = 0 this.num = 10
this.isshow = false this.isshow = false
} }
}, },
@ -409,7 +461,7 @@
return return
} }
if (this.isshow == false && this.num > 0) { if (this.isshow == false && this.num > 0) {
this.num = 30 this.num = 10
return return
} }
this.countDown(); this.countDown();
@ -420,8 +472,9 @@
// //
shoplist() { shoplist() {
agreeiness().then(res => { agreeiness({
// console.log(res) type: 'mer_services_agree'
}).then(res => {
this.detail = res.data this.detail = res.data
}) })
}, },
@ -488,6 +541,8 @@
that.isType = true that.isType = true
getAgreementApi('sys_merchant_type').then(res => { getAgreementApi('sys_merchant_type').then(res => {
that.protocol = res.data.sys_merchant_type that.protocol = res.data.sys_merchant_type
}) })
}, },
// //
@ -550,12 +605,32 @@
}, },
bindPickerChange2: function(e) { bindPickerChange2: function(e) {
// console.log(e.detail)
this.index2 = e.detail.value this.index2 = e.detail.value
this.business_name = this.business_name =
`${this.business[0][this.index2[0]].name} ${this.business[1][this.index2[1]].name} ${this.business[2][this.index2[2]].name}` `${this.business[0][this.index2[0]].name} ${this.business[1][this.index2[1]].name} ${this.business[2][this.index2[2]].name}`
this.area_id = this.business[0][this.index2[0]].code this.area_id = this.business[0][this.index2[0]].code
this.street_id = this.business[1][this.index2[1]].code this.street_id = this.business[1][this.index2[1]].code
this.village_id = this.business[2][this.index2[2]].id
merstreet({
street_code: this.street_id
}).then((res) => {
if (res.code == 0) {
this.company = ''
this.organization_code = ''
this.$util.Tips({
title: res.msg
});
return false;
} else {
this.company = res.data.title
this.organization_code = res.data.organization_code
}
}).catch(res => {
console.log(res)
})
}, },
// //
getClassfication: function() { getClassfication: function() {
@ -716,17 +791,16 @@
this.isAgree = !this.isAgree; this.isAgree = !this.isAgree;
this.validateBtn(); this.validateBtn();
}, },
//
// //
showxy() { showxy() {
this.isshow = true this.isshow = true
}, },
//
formSubmit: function(e) { agree() {
if (this.num == 0) {
let that = this; let that = this;
if (that.validateForm() && that.validate) {
let requestData = { let requestData = {
phone: that.merchantData.phone, phone: that.merchantData.phone,
mer_name: that.merchantData.enterprise_name, mer_name: that.merchantData.enterprise_name,
@ -756,6 +830,7 @@
}, 1000) }, 1000)
} }
}).catch(res => { }).catch(res => {
this.isshow = false
that.validate = true; that.validate = true;
that.$util.Tips({ that.$util.Tips({
title: res title: res
@ -773,19 +848,95 @@
} }
}).catch(res => { }).catch(res => {
this.isshow = false
that.validate = true; that.validate = true;
that.$util.Tips({ that.$util.Tips({
title: res title: res
}); });
}) })
} }
} },
formSubmit() {
if (this.validateForm() && this.validate) {
if (this.codenote.length == 0) {
this.isshow = true
this.countDown()
} else {
if (this.codenote[0].status == 0) {
uni.showModal({
title: '申请正在审核中,请勿重复提交'
})
} else { } else {
this.isshow = true this.isshow = true
this.countDown() 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()
// }
// }
}, },
validateBtn: function() { validateBtn: function() {
@ -838,6 +989,7 @@
if (!value.classification) return that.$util.Tips({ if (!value.classification) return that.$util.Tips({
title: '请选择商户分类' title: '请选择商户分类'
}); });
if (!this.mer_storeType) return that.$util.Tips({ if (!this.mer_storeType) return that.$util.Tips({
title: '请选择商户类型' title: '请选择商户类型'
}) })
@ -850,6 +1002,11 @@
if (that.isShowCode && !that.codeVal) return that.$util.Tips({ if (that.isShowCode && !that.codeVal) return that.$util.Tips({
title: '请填写图片验证码' title: '请填写图片验证码'
}); });
if (that.pics.length == 0) return that.$util.Tips({
title: '请上传一张或者多张图片'
});
that.validate = true; that.validate = true;
return true; return true;
}, },
@ -887,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;
} }
@ -917,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 {
@ -1229,8 +1398,7 @@
position: absolute; position: absolute;
top: 50%; top: 50%;
left: 50%; left: 50%;
border-radius: 12rpx;
-webkit-border-radius: 12rpx;
padding: 52rpx; padding: 52rpx;
-webkit-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%);
@ -1268,32 +1436,25 @@
} }
.settlementAgreement .setAgCount .content { .settlementAgreement .setAgCount .content {
margin-top: 32rpx;
color: #333; color: #333;
font-size: 26rpx; font-size: 26rpx;
line-height: 22px; line-height: 22px;
text-align: justify; text-align: justify;
text-justify: distribute-all-lines; text-justify: distribute-all-lines;
height: 756rpx;
overflow-y: scroll; overflow-y: scroll;
} }
.settlementAgreement .setAgCount .contenta { .settlementAgreement .setAgCount .contenta {
margin-top: 32rpx;
color: #333; color: #333;
font-size: 26rpx; font-size: 26rpx;
line-height: 22px; line-height: 22px;
text-align: justify; text-align: justify;
text-justify: distribute-all-lines; text-justify: distribute-all-lines;
height: 75%;
/*#ifdef H5*/
height: 600rpx;
/*#endif*/
/*#ifdef APP-PLUS*/
height: 530rpx;
/*#endif*/
overflow-y: scroll; overflow-y: scroll;
@ -1305,7 +1466,7 @@
.setAgCountbtna { .setAgCountbtna {
margin-top: 40rpx; margin-top: 40rpx;
width: 150rpx; width: 200rpx;
height: 74rpx; height: 74rpx;
text-align: center; text-align: center;
line-height: 74rpx; line-height: 74rpx;
@ -1326,7 +1487,7 @@
height: 74rpx; height: 74rpx;
text-align: center; text-align: center;
line-height: 74rpx; line-height: 74rpx;
background:#cecece; background: #cecece;
border-radius: 46rpx 46rpx; border-radius: 46rpx 46rpx;
opacity: 1; opacity: 1;
@ -1339,7 +1500,7 @@
.setAgCountbtnc { .setAgCountbtnc {
margin-top: 40rpx; margin-top: 40rpx;
width: 150rpx; width: 200rpx;
height: 74rpx; height: 74rpx;
text-align: center; text-align: center;
line-height: 74rpx; line-height: 74rpx;

View File

@ -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,16 +270,14 @@
}) })
}, },
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

@ -196,10 +196,14 @@
<view v-if="copyright.status !== -1" class="copy-right"> <view v-if="copyright.status !== -1" class="copy-right">
<image class="img-copyright" :src="copyright.image" mode="widthFix"></image> <image class="img-copyright" :src="copyright.image" mode="widthFix"></image>
<view class="text">{{copyright.Copyright}}</view> <view class="text">{{copyright.Copyright}}</view>
<view class="">备案号:蜀ICP备2022030133号-2A</view>
<view class="">增值电信营业许可证号:川B2-20221250</view>
</view> </view>
<view v-else class="copy-right"> <view v-else class="copy-right">
<view class="iconfont icon-crmeb"></view> <view class="iconfont icon-crmeb"></view>
<view class="text">众邦科技提供技术支持</view> <view class="text">众邦科技提供技术支持</view>
</view> </view>
<view style="height: 50rpx;"></view> <view style="height: 50rpx;"></view>
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse" <authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"
@ -590,6 +594,7 @@
that.is_promoter = res.data.is_promoter; that.is_promoter = res.data.is_promoter;
that.extension_status = res.data.extension_status; that.extension_status = res.data.extension_status;
that.getMyMenus(); that.getMyMenus();
that.$store.commit('SET_USERINFO', that.userInfo);
}); });
}, },
// //

View File

@ -8,13 +8,13 @@
</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 }}
</div> </div>
</div> </div>
<div class="list" :hidden="current !== 0"> <div class="list" :hidden="current !== 1">
<form @submit.prevent="submit"> <form @submit.prevent="submit">
<div class="item"> <div class="item">
<div class="acea-row row-middle"> <div class="acea-row row-middle">
@ -39,7 +39,7 @@
</div> </div>
</div> </div>
<div class="list" :hidden="current !== 1"> <div class="list" :hidden="current !== 0">
<div class="item"> <div class="item">
<div class="acea-row row-middle"> <div class="acea-row row-middle">
<image src="/static/images/phone_1.png"></image> <image src="/static/images/phone_1.png"></image>
@ -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>
@ -70,8 +72,8 @@
</div> </div>
</div> </div>
<div class="logon" @click="loginMobile" :hidden="current !== 1">登录</div> <div class="logon" @click="loginMobile" :hidden="current !== 0">登录</div>
<div class="logon" @click="submit" :hidden="current === 1">登录</div> <div class="logon" @click="submit" :hidden="current === 0">登录</div>
<div class="protocol acea-row row-between-wrapper"> <div class="protocol acea-row row-between-wrapper">
<checkbox-group class="checkgroup" @change='isAgree=!isAgree'> <checkbox-group class="checkgroup" @change='isAgree=!isAgree'>
<checkbox class="checkbox" :checked="isAgree ? true : false" /> <checkbox class="checkbox" :checked="isAgree ? true : false" />
@ -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,9 +160,11 @@
<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 }}
@ -260,7 +266,7 @@
}, },
data: function() { data: function() {
return { return {
navList: ["账号登录", "快速登录"], navList: ["快速登录","账号登录"],
current: 0, current: 0,
account: "", account: "",
password: "", password: "",
@ -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>
@ -283,6 +283,12 @@
去付款 去付款
</view> </view>
</block> </block>
<block v-if="item.order_status == 2 ">
<view class='bnt b-color' @click.stop='goOrderDetails(item.order_id)'>
去发货
</view>
</block>
<block v-if="item.order_status == 9 "> <block v-if="item.order_status == 9 ">
<view class='bnt b-color' v-if="item.status==12" @click.stop='dePay'> <view class='bnt b-color' v-if="item.status==12" @click.stop='dePay'>

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) {
// //
@ -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,40 @@
}); });
// #endif // #endif
} else {
if (res.status == 200) {
// uni.navigateBack({
// delta: 1
// })
uni.showToast({
icon: 'none',
title: res.message
})
if(res.data.status='error'){
}else{
setTimeout(() => {
uni.navigateBack({
delta: 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

@ -103,13 +103,13 @@
<text class='iconfont icon-you'></text> <text class='iconfont icon-you'></text>
</navigator> </navigator>
</view> </view>
<!-- <view class='item acea-row row-between-wrapper'> <view class='item acea-row row-between-wrapper'>
<view>注销账号</view> <view>注销账号</view>
<view class='input acea-row row-between-wrapper' @click="changeCancel"> <view class='input acea-row row-between-wrapper' @click="changeCancel">
<input type='text' placeholder="账号注销后不能恢复" disabled='true' class='id'></input> <input type='text' placeholder="账号注销后不能恢复" disabled='true' class='id'></input>
<text class='iconfont icon-you'></text> <text class='iconfont icon-you'></text>
</view> </view>
</view> --> </view>
<!--#ifdef APP-PLUS--> <!--#ifdef APP-PLUS-->
<view class='item acea-row row-between-wrapper'> <view class='item acea-row row-between-wrapper'>
<view>当前版本</view> <view>当前版本</view>

BIN
static/applet/fl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
static/applet/jy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
static/applet/ny.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
static/applet/qg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
static/applet/yz.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

BIN
static/applet/zz.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
static/images/LHYC/DWB1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
static/images/LHYC/DWBG.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
static/images/LHYC/K.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
static/images/LHYC/QB1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
static/images/SFFF.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
static/images/SFZZ.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
static/images/YHKF.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
static/images/YHKZ.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
static/images/de1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 938 B

BIN
static/images/de2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 997 B

BIN
static/images/de3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 956 B

Binary file not shown.

View File

@ -4,12 +4,10 @@ import {
} from "../../api/user.js"; } from "../../api/user.js";
import { import {
LOGIN_STATUS, LOGIN_STATUS,
UID UID,
} from '../../config/cache';
import Cache from '../../utils/cache';
import {
USER_INFO USER_INFO
} from '../../config/cache'; } from '../../config/cache';
import Cache from '../../utils/cache';
// #ifdef APP-PLUS // #ifdef APP-PLUS
import Updater from '@/uni_modules/guyue-updater/index'; import Updater from '@/uni_modules/guyue-updater/index';
// #endif // #endif
@ -18,7 +16,7 @@ const state = {
location: Cache.get('LOCATION_DATA', true) || {}, location: Cache.get('LOCATION_DATA', true) || {},
token: Cache.get(LOGIN_STATUS) || null, token: Cache.get(LOGIN_STATUS) || null,
backgroundColor: "#fff", backgroundColor: "#fff",
userInfo: null, userInfo: Cache.get(USER_INFO)||null,
uid: Cache.get(UID) || null, uid: Cache.get(UID) || null,
globalData: uni.getStorageSync('GLOBAL_DATA') || {}, globalData: uni.getStorageSync('GLOBAL_DATA') || {},
homeActive: false, homeActive: false,
@ -39,6 +37,10 @@ const mutations = {
Cache.set(LOGIN_STATUS, opt.token, opt.time); Cache.set(LOGIN_STATUS, opt.token, opt.time);
uni.removeStorageSync('auth_token'); uni.removeStorageSync('auth_token');
}, },
SET_USERINFO(state, opt){
state.userInfo = opt;
Cache.set(USER_INFO, opt);
},
SETUID(state, val) { SETUID(state, val) {
state.uid = val; state.uid = val;
Cache.set(UID, val); Cache.set(UID, val);

View File

@ -8,6 +8,8 @@
// | Author: CRMEB Team <admin@crmeb.com> // | Author: CRMEB Team <admin@crmeb.com>
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
import app from "./app"; import app from "./app";
import storage from "./storage.js";
export default { export default {
app app,
storage
}; };

29
store/modules/storage.js Normal file
View File

@ -0,0 +1,29 @@
import {
getUserInfo,
Appversion
} from "../../api/user.js";
import {
LOGIN_STATUS,
UID,
USER_INFO
} from '../../config/cache';
import Cache from '../../utils/cache';
const state = {
storage: {},
};
const mutations = {
setStorage(state, data) {
state.storage = data;
},
};
const actions = {
};
export default {
state,
mutations,
actions
};

View File

@ -2,9 +2,9 @@
const version = '2.0.36' const version = '2.0.36'
// 开发环境才提示,生产环境不会提示 // 开发环境才提示,生产环境不会提示
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV == 'development') {
// console.log(`\n %c uView V${version} %c https://uviewui.com/ \n\n`, 'color: #ffffff; background: #3c9cff; padding:5px 0; border-radius: 5px;'); // console.log(`\n %c uView V${version} %c https://uviewui.com/ \n\n`, 'color: #ffffff; background: #3c9cff; padding:5px 0; border-radius: 5px;');
console.log('当前属于测试环境') console.log(process.env.NODE_ENV,'当前属于开发环境')
} }
export default { export default {

82
utils/requestb.js Normal file
View File

@ -0,0 +1,82 @@
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import {
HTTP_REQUEST_URL,
HTTP_REQUEST_URL_FOUR,
HEADER,
TOKENNAME
} from '@/config/app';
import {
checkLogin
} from '../libs/login';
import store from '../store';
// console.log(HTTP_REQUEST_URL_FOUR)
/**
* 发送请求
*/
function baseRequest(url, method, data, {
noAuth = false,
noVerify = false
}) {
let Url = HTTP_REQUEST_URL_FOUR,
header = HEADER;
if (store.state.app.token) header[TOKENNAME] = 'Bearer ' + store.state.app.token;
return new Promise((reslove, reject) => {
uni.request({
url: Url + '/api/' + url,
method: method || 'GET',
// header: header,
data: data || {},
success: (res) => {
// #ifdef APP-PLUS
// console.log('app', Url + '/api/' + url, res.data);
// #endif
// console.log(res.data.code)
if (noVerify)
reslove(res.data, res);
else if (res.data.status == 200)
reslove(res.data, res);
else if ([410000, 410001, 410002, 40000].indexOf(res.data.status) !== -1) {
reject(res.data);
} else if (res.data.status == 501) {
uni.reLaunch({
url: '/pages/error/index'
})
reject(res.data);
} else if (res.statusCode==200) {
reslove(res.data,res.data);
} else
reject(res.data.message || '系统错误');
},
fail: (message) => {
reject('请求失败');
}
})
});
}
const request = {};
['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => {
request[method] = (api, data, opt) => baseRequest(api, method, data, opt || {})
});
export default request;

View File

@ -1,10 +1,12 @@
import { import {
getGXconfig getGXconfig,
miniapp
} from "@/api/uniMP.js"; } from "@/api/uniMP.js";
import { import {
HTTP_REQUEST_URL HTTP_REQUEST_URL
} from '@/config/app'; } from '@/config/app';
const mp = uni.requireNativePlugin('uniMP'); const mp = uni.requireNativePlugin('uniMP');
import store from "@/store/modules/app.js"
let appid = ''; // 应用id let appid = ''; // 应用id
let wgtFile = ''; // 应用文件地址 let wgtFile = ''; // 应用文件地址
@ -84,6 +86,136 @@ const loadMP = async (id) => {
} }
}); });
}; };
//加载商城小程序
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) => {
// console.log('初始化进度' + res.progress);
if (res.progress > count) count += 10;
if (count >= 90) {
clearInterval(timer);
timer = null;
}
});
} else {
open()
}
});
};
// 按URL加载小程序
const loadMPurl = async (e) => {
appid = e.id;
let FURL = e.url;
uni.showLoading({
title: '初始化中...',
mask: true
})
uni.request({
url: FURL,
method: 'GET',
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);
}
})
};
// 小程序版本信息 // 小程序版本信息
const getVersion = (id) => { const getVersion = (id) => {
appid = id; appid = id;
@ -117,7 +249,7 @@ const doInstallMP = () => {
showCancel: false showCancel: false
}); });
} }
console.log('初始化供销: ' + JSON.stringify(r)); console.log('初始化: ' + JSON.stringify(r));
}); });
}; };
@ -127,11 +259,13 @@ const open = (id = null) => {
icon: 'none', icon: 'none',
title: '请先登录' title: '请先登录'
}) })
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,
} }
}, (ret) => { }, (ret) => {
uni.hideLoading(); uni.hideLoading();
@ -148,6 +282,8 @@ const open = (id = null) => {
export default { export default {
loadMP, loadMP,
loadMPurl,
loadMPx,
installMP, installMP,
doInstallMP, doInstallMP,
getVersion, getVersion,