更新
This commit is contained in:
commit
5b6c3a5b4b
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,6 +2,7 @@
|
|||||||
node_modules
|
node_modules
|
||||||
/dist
|
/dist
|
||||||
.hbuilderx
|
.hbuilderx
|
||||||
|
unpackage
|
||||||
|
|
||||||
# local env files
|
# local env files
|
||||||
.env.local
|
.env.local
|
||||||
|
784
App.vue
784
App.vue
@ -1,371 +1,453 @@
|
|||||||
<script>
|
<script>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Author: CRMEB Team <admin@crmeb.com>
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
var jpushModule = uni.requireNativePlugin("JG-JPush");
|
let jpushModule = uni.requireNativePlugin("JG-JPush");
|
||||||
// #endif import {
|
const mp = uni.requireNativePlugin('uniMP');
|
||||||
checkLogin
|
// #endif
|
||||||
} from "./libs/login";
|
import {
|
||||||
import {
|
checkLogin
|
||||||
HTTP_REQUEST_URL
|
} from "./libs/login";
|
||||||
} from './config/app';
|
import {
|
||||||
import {
|
HTTP_REQUEST_URL
|
||||||
getconfig,
|
} from './config/app';
|
||||||
history
|
import {
|
||||||
} from '@/api/public.js'
|
getconfig,
|
||||||
import Routine from './libs/routine.js';
|
history
|
||||||
export default {
|
} from '@/api/public.js'
|
||||||
globalData: {
|
import Routine from './libs/routine.js';
|
||||||
spid: 0,
|
|
||||||
code: 0,
|
|
||||||
isLogin: false,
|
|
||||||
userInfo: {},
|
|
||||||
MyMenus: [],
|
|
||||||
balance_func_status: 0, //余额开关
|
|
||||||
recharge_switch: 0, // 充值开关
|
|
||||||
store_user_min_recharge: 0, //最小充值
|
|
||||||
yue_pay_status: 0, //余额支付开关
|
|
||||||
alipay_open: 0, //支付宝支付开关
|
|
||||||
routine_logo: '', //首页logo
|
|
||||||
share_pic: '',
|
|
||||||
site_logo: '',
|
|
||||||
site_name: '', //名称
|
|
||||||
fid: '', //一级分类id
|
|
||||||
uid: '',
|
|
||||||
hide_mer_status: 0,
|
|
||||||
member_status: 0,
|
|
||||||
copy_command_status: 0, //是否开启自动获取剪切板内容
|
|
||||||
arrival_notice: 0, //是否开启到货通知
|
|
||||||
is_phone_login: 0,
|
|
||||||
auto_arrival: 0,
|
|
||||||
mer_location: 0,
|
|
||||||
statusBarHeight: 0,
|
|
||||||
mer_location: 0,
|
|
||||||
store_street_theme: 1,
|
|
||||||
sys_intention_agree: '',
|
|
||||||
copyright_status: '',
|
|
||||||
copyright_context: '',
|
|
||||||
copyright_image: '',
|
|
||||||
open_update_info: 0,
|
|
||||||
recommend_switch: 0,
|
|
||||||
svip_switch_status: 0,
|
|
||||||
community_reply_status: 0,
|
|
||||||
community_reply_auth: 0,
|
|
||||||
margin_ico_switch: 0,
|
|
||||||
margin_ico: '',
|
|
||||||
community_app_switch: [],
|
|
||||||
navigation: {},
|
|
||||||
imgColor: '',
|
|
||||||
...uni.getStorageSync('GLOBAL_DATA') || {}
|
|
||||||
},
|
|
||||||
onLaunch: function(option) {
|
|
||||||
this.globalData.statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 'px';
|
|
||||||
this.globalData.uid = this.$store.state.app.uid
|
|
||||||
let that = this;
|
|
||||||
// #ifdef MP
|
|
||||||
if (HTTP_REQUEST_URL == '') {
|
|
||||||
console.error(
|
|
||||||
"请配置根目录下的config.js文件中的 'HTTP_REQUEST_URL'\n\n请修改开发者工具中【详情】->【AppID】改为自己的Appid\n\n请前往后台【小程序】->【小程序配置】填写自己的 appId and AppSecret"
|
|
||||||
);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (option.query.hasOwnProperty('scene')) {
|
|
||||||
switch (option.scene) {
|
|
||||||
//扫描小程序码
|
|
||||||
case 1047:
|
|
||||||
// console.log(option, 'val')
|
|
||||||
let val = that.$util.getUrlParams(decodeURIComponent(option.query.scene));
|
|
||||||
that.globalData.code = val;
|
|
||||||
that.globalData.uid = val
|
|
||||||
break;
|
|
||||||
//长按图片识别小程序码
|
|
||||||
case 1048:
|
|
||||||
that.globalData.code = option.query.scene;
|
|
||||||
break;
|
|
||||||
//手机相册选取小程序码
|
|
||||||
case 1049:
|
|
||||||
that.globalData.code = option.query.scene;
|
|
||||||
break;
|
|
||||||
//直接进入小程序
|
|
||||||
case 1001:
|
|
||||||
that.globalData.spid = option.query.scene;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// #endif
|
|
||||||
// 获取导航高度;
|
|
||||||
uni.getSystemInfo({
|
|
||||||
success: function(res) {
|
|
||||||
that.globalData.navHeight = res.statusBarHeight * (750 / res.windowWidth) + 91;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// #ifdef MP
|
|
||||||
let menuButtonInfo = uni.getMenuButtonBoundingClientRect();
|
|
||||||
that.globalData.navH = menuButtonInfo.top * 2 + menuButtonInfo.height / 2;
|
|
||||||
const version = uni.getSystemInfoSync().SDKVersion
|
|
||||||
if (Routine.compareVersion(version, '2.21.2') >= 0) {
|
|
||||||
that.$Cache.set('MP_VERSION_ISNEW', true)
|
|
||||||
} else {
|
|
||||||
that.$Cache.set('MP_VERSION_ISNEW', false)
|
|
||||||
}
|
|
||||||
// #endif
|
|
||||||
that.getConfigData()
|
|
||||||
|
|
||||||
|
|
||||||
//#ifdef APP-PLUS
|
|
||||||
jpushModule.setLoggerEnable(true);
|
|
||||||
jpushModule.initJPushService()
|
|
||||||
jpushModule.addConnectEventListener(result=>{
|
|
||||||
let connectEnable = result.connectEnable
|
|
||||||
// console.log("jpush连接", connectEnable)
|
|
||||||
})
|
|
||||||
|
|
||||||
// 设置别名
|
|
||||||
// jpushModule.setAlias({
|
|
||||||
// 'alias': uni.getStorageSync('userId'),
|
|
||||||
// 'sequence': 1
|
|
||||||
// })
|
|
||||||
//
|
|
||||||
// jpushModule.addTagAliasListener(result => {
|
|
||||||
// let code = result.code
|
|
||||||
// let sequence = result.sequence
|
|
||||||
// let tags = result.tags
|
|
||||||
// let tag = result.tag
|
|
||||||
// let tagEnable = result.tagEnable
|
|
||||||
// let alias = result.alias
|
|
||||||
// console.log(alias, '别名')
|
|
||||||
// })
|
|
||||||
// 通知事件回调
|
|
||||||
jpushModule.addNotificationListener(result => {
|
|
||||||
let notificationEventType = result.notificationEventType
|
|
||||||
let messageID = result.messageID
|
|
||||||
let title = result.title
|
|
||||||
let content = result.content
|
|
||||||
let extras = result.extras
|
|
||||||
|
|
||||||
console.log("通知", result)
|
export default {
|
||||||
// 点击事件
|
data() {
|
||||||
if (notificationEventType == 'notificationOpened') {
|
return {
|
||||||
uni.navigateTo({
|
audioTeam: []
|
||||||
url: result.extras.route
|
}
|
||||||
})
|
},
|
||||||
}
|
globalData: {
|
||||||
})
|
spid: 0,
|
||||||
|
code: 0,
|
||||||
// jpushModule.addCustomMessageListener(result => {
|
isLogin: false,
|
||||||
// let messageID = result.messageID
|
userInfo: {},
|
||||||
// let content = result.content
|
MyMenus: [],
|
||||||
// let extras = result.extras
|
balance_func_status: 0, //余额开关
|
||||||
// console.log("自定义消息", result)
|
recharge_switch: 0, // 充值开关
|
||||||
// })
|
store_user_min_recharge: 0, //最小充值
|
||||||
//#endif
|
yue_pay_status: 0, //余额支付开关
|
||||||
|
alipay_open: 0, //支付宝支付开关
|
||||||
|
routine_logo: '', //首页logo
|
||||||
|
share_pic: '',
|
||||||
|
site_logo: '',
|
||||||
|
site_name: '', //名称
|
||||||
|
fid: '', //一级分类id
|
||||||
|
uid: '',
|
||||||
|
hide_mer_status: 0,
|
||||||
|
member_status: 0,
|
||||||
|
copy_command_status: 0, //是否开启自动获取剪切板内容
|
||||||
|
arrival_notice: 0, //是否开启到货通知
|
||||||
|
is_phone_login: 0,
|
||||||
|
auto_arrival: 0,
|
||||||
|
mer_location: 0,
|
||||||
|
statusBarHeight: 0,
|
||||||
|
mer_location: 0,
|
||||||
|
store_street_theme: 1,
|
||||||
|
sys_intention_agree: '',
|
||||||
|
copyright_status: '',
|
||||||
|
copyright_context: '',
|
||||||
|
copyright_image: '',
|
||||||
|
open_update_info: 0,
|
||||||
|
recommend_switch: 0,
|
||||||
|
svip_switch_status: 0,
|
||||||
|
community_reply_status: 0,
|
||||||
|
community_reply_auth: 0,
|
||||||
|
margin_ico_switch: 0,
|
||||||
|
margin_ico: '',
|
||||||
|
community_app_switch: [],
|
||||||
|
navigation: {},
|
||||||
|
imgColor: '',
|
||||||
|
...uni.getStorageSync('GLOBAL_DATA') || {}
|
||||||
|
},
|
||||||
|
onLaunch: function(option) {
|
||||||
|
this.globalData.statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 'px';
|
||||||
|
this.globalData.uid = this.$store.state.app.uid;
|
||||||
|
|
||||||
},
|
// #ifdef APP-PLUS
|
||||||
onShow() {
|
//监听uni小程序发送的事件
|
||||||
let that = this
|
mp.onUniMPEventReceive(ret => {
|
||||||
// 记录H5和公众号
|
console.log('小程序事件: ', ret);
|
||||||
if (this.$store.state.app.token) {
|
if (ret.event == 'closeApp') {
|
||||||
// 浏览记录
|
mp.closeUniMP(ret.fromAppid, (ret) => {
|
||||||
// #ifdef H5
|
console.log('closeUniMP: ' + JSON.stringify(ret));
|
||||||
history({
|
});
|
||||||
page: location.pathname + location.search,
|
}
|
||||||
}).then(() => {});
|
});
|
||||||
//#endif
|
// #endif
|
||||||
};
|
|
||||||
// #ifndef H5
|
let that = this;
|
||||||
setTimeout(() => {
|
// #ifdef MP
|
||||||
if (that.globalData.copy_command_status == 1) {
|
if (HTTP_REQUEST_URL == '') {
|
||||||
uni.getClipboardData({
|
console.error(
|
||||||
success: function(res) {
|
"请配置根目录下的config.js文件中的 'HTTP_REQUEST_URL'\n\n请修改开发者工具中【详情】->【AppID】改为自己的Appid\n\n请前往后台【小程序】->【小程序配置】填写自己的 appId and AppSecret"
|
||||||
if (/^(\/@[1-9]{1}).*\*\//.test(res.data)) {
|
);
|
||||||
that.$store.commit("PARSE_PWD", res.data)
|
return false;
|
||||||
}
|
}
|
||||||
},
|
if (option.query.hasOwnProperty('scene')) {
|
||||||
fail: function(res) {
|
switch (option.scene) {
|
||||||
// 内容获取失败
|
//扫描小程序码
|
||||||
}
|
case 1047:
|
||||||
})
|
// console.log(option, 'val')
|
||||||
}
|
let val = that.$util.getUrlParams(decodeURIComponent(option.query.scene));
|
||||||
}, 1500)
|
that.globalData.code = val;
|
||||||
// #endif
|
that.globalData.uid = val
|
||||||
},
|
break;
|
||||||
methods: {
|
//长按图片识别小程序码
|
||||||
// 微信分享;
|
case 1048:
|
||||||
setOpenShare: function(data) {
|
that.globalData.code = option.query.scene;
|
||||||
let that = this;
|
break;
|
||||||
let href = location.href;
|
//手机相册选取小程序码
|
||||||
href = href.indexOf("?") === -1 ? href + "?spid=" + this.globalData.uid : href + "&spid=" + this.globalData
|
case 1049:
|
||||||
.uid;
|
that.globalData.code = option.query.scene;
|
||||||
if (that.$wechat.isWeixin()) {
|
break;
|
||||||
let configAppMessage = {
|
//直接进入小程序
|
||||||
desc: data.share_info,
|
case 1001:
|
||||||
title: data.share_title,
|
that.globalData.spid = option.query.scene;
|
||||||
link: href,
|
break;
|
||||||
imgUrl: data.share_pic
|
}
|
||||||
};
|
}
|
||||||
that.$wechat.wechatEvevt(["updateAppMessageShareData", "updateTimelineShareData"], configAppMessage);
|
// #endif
|
||||||
}
|
// 获取导航高度;
|
||||||
},
|
uni.getSystemInfo({
|
||||||
// 获取配置
|
success: function(res) {
|
||||||
getConfigData() {
|
that.globalData.navHeight = res.statusBarHeight * (750 / res.windowWidth) + 91;
|
||||||
getconfig().then(res => {
|
}
|
||||||
uni.$emit('update', res.data)
|
});
|
||||||
this.$store.commit('GLOBAL_DATA', res.data);
|
// #ifdef MP
|
||||||
this.globalData.balance_func_status = res.data.balance_func_status
|
let menuButtonInfo = uni.getMenuButtonBoundingClientRect();
|
||||||
this.globalData.recharge_switch = res.data.recharge_switch
|
that.globalData.navH = menuButtonInfo.top * 2 + menuButtonInfo.height / 2;
|
||||||
this.globalData.routine_logo = res.data.routine_logo
|
const version = uni.getSystemInfoSync().SDKVersion
|
||||||
this.globalData.share_pic = res.data.share_pic
|
if (Routine.compareVersion(version, '2.21.2') >= 0) {
|
||||||
this.globalData.community_reply_status = res.data.community_reply_status
|
that.$Cache.set('MP_VERSION_ISNEW', true)
|
||||||
this.globalData.site_logo = res.data.site_logo
|
} else {
|
||||||
this.globalData.login_logo = res.data.login_logo
|
that.$Cache.set('MP_VERSION_ISNEW', false)
|
||||||
this.globalData.site_name = res.data.site_name
|
}
|
||||||
this.globalData.store_user_min_recharge = res.data.store_user_min_recharge
|
// #endif
|
||||||
this.globalData.yue_pay_status = res.data.yue_pay_status
|
that.getConfigData()
|
||||||
this.globalData.sys_intention_agree = res.data.sys_intention_agree
|
|
||||||
this.globalData.mer_intention_open = res.data.mer_intention_open
|
//#ifdef APP-PLUS
|
||||||
this.globalData.alipay_open = res.data.alipay_open
|
|
||||||
this.globalData.hide_mer_status = res.data.hide_mer_status
|
|
||||||
this.globalData.mer_location = res.data.mer_location
|
jpushModule.setLoggerEnable(true);
|
||||||
this.globalData.arrival_notice = res.data.procudt_increase_status
|
jpushModule.initJPushService()
|
||||||
this.globalData.auto_arrival = res.data.sys_extension_type
|
jpushModule.addConnectEventListener(result => {
|
||||||
this.globalData.member_status = res.data.member_status
|
let connectEnable = result.connectEnable
|
||||||
this.globalData.copy_command_status = res.data.copy_command_status
|
// console.log("jpush连接", connectEnable)
|
||||||
this.globalData.is_phone_login = res.data.is_phone_login
|
})
|
||||||
this.globalData.mer_location = res.data.mer_location
|
|
||||||
this.globalData.store_street_theme = res.data.store_street_theme
|
// 设置别名
|
||||||
this.globalData.copyright_status = res.data.copyright_status
|
// jpushModule.setAlias({
|
||||||
this.globalData.copyright_image = res.data.copyright_image
|
// 'alias': uni.getStorageSync('userId'),
|
||||||
this.globalData.copyright_context = res.data.copyright_context
|
// 'sequence': 1
|
||||||
this.globalData.open_update_info = res.data.open_update_info
|
// })
|
||||||
this.globalData.recommend_switch = res.data.recommend_switch
|
//
|
||||||
this.globalData.svip_switch_status = res.data.svip_switch_status
|
// jpushModule.addTagAliasListener(result => {
|
||||||
this.globalData.navigation = res.data.navigation
|
// let code = result.code
|
||||||
this.globalData.community_app_switch = res.data.community_app_switch
|
// let sequence = result.sequence
|
||||||
this.globalData.community_reply_auth = res.data.community_reply_auth
|
// let tags = result.tags
|
||||||
this.globalData.margin_ico_switch = res.data.margin_ico_switch
|
// let tag = result.tag
|
||||||
this.globalData.margin_ico = res.data.margin_ico
|
// let tagEnable = result.tagEnable
|
||||||
this.$store.commit("VIEW_COLOR", res.data.global_theme.theme)
|
// let alias = result.alias
|
||||||
this.$store.commit("KEY_COLOR", '_' + res.data.global_theme.type)
|
// console.log(alias, '别名')
|
||||||
try {
|
// })
|
||||||
uni.setStorageSync('SUBSCRIBE_MESSAGE', res.data.tempid);
|
// 通知事件回调
|
||||||
} catch (e) {
|
jpushModule.addNotificationListener(result => {
|
||||||
// error
|
let notificationEventType = result.notificationEventType
|
||||||
}
|
let messageID = result.messageID
|
||||||
// #ifdef H5
|
let title = result.title
|
||||||
this.setOpenShare(res.data);
|
let content = result.content
|
||||||
// #endif
|
let extras = result.extras
|
||||||
}).catch(err => {});
|
|
||||||
}
|
console.log("通知", result)
|
||||||
},
|
|
||||||
onHide: function() {
|
if (result.extras.type == 'ORDER_CREATE') {
|
||||||
//console.log('App Hide')
|
if (this.audioTeam.length > 0) {
|
||||||
},
|
this.audioTeam.push(result.extras.type);
|
||||||
watch: {
|
} else {
|
||||||
// 记录H5和公众号
|
this.audio()
|
||||||
$route(n) {
|
this.audioTeam.push(result.extras.type);
|
||||||
if (this.$store.state.app.token) {
|
}
|
||||||
// 浏览记录
|
|
||||||
history({
|
|
||||||
page: location.pathname + location.search,
|
}
|
||||||
}).then(() => {});
|
// 点击事件
|
||||||
}
|
if (notificationEventType == 'notificationOpened') {
|
||||||
},
|
uni.navigateTo({
|
||||||
}
|
url: result.extras.route
|
||||||
}
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// jpushModule.addCustomMessageListener(result => {
|
||||||
|
// let messageID = result.messageID
|
||||||
|
// let content = result.content
|
||||||
|
// let extras = result.extras
|
||||||
|
// console.log("自定义消息", result)
|
||||||
|
// })
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
let that = this
|
||||||
|
// 记录H5和公众号
|
||||||
|
if (this.$store.state.app.token) {
|
||||||
|
// 浏览记录
|
||||||
|
// #ifdef H5
|
||||||
|
history({
|
||||||
|
page: location.pathname + location.search,
|
||||||
|
}).then(() => {});
|
||||||
|
//#endif
|
||||||
|
};
|
||||||
|
// #ifndef H5
|
||||||
|
setTimeout(() => {
|
||||||
|
if (that.globalData.copy_command_status == 1) {
|
||||||
|
uni.getClipboardData({
|
||||||
|
success: function(res) {
|
||||||
|
if (/^(\/@[1-9]{1}).*\*\//.test(res.data)) {
|
||||||
|
that.$store.commit("PARSE_PWD", res.data)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fail: function(res) {
|
||||||
|
// 内容获取失败
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}, 1500)
|
||||||
|
// #endif
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
uni.onTabBarMidButtonTap((e) => {
|
||||||
|
// console.log("点击了", e);
|
||||||
|
uni.switchTab({
|
||||||
|
url: '/pages/plant_release/index'
|
||||||
|
})
|
||||||
|
// uni.navigateTo({
|
||||||
|
// url: '/pages/plant_release/index'
|
||||||
|
// })
|
||||||
|
|
||||||
|
});
|
||||||
|
uni.setTabBarItem((e) => { console.log("点击了", e)});
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
/**
|
||||||
|
* 语音播报
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
async audio() {
|
||||||
|
const innerAudioContext = uni.createInnerAudioContext();
|
||||||
|
innerAudioContext.autoplay = true;
|
||||||
|
innerAudioContext.src = `/static/audio/order.mp3`;
|
||||||
|
innerAudioContext.onPlay(() => {
|
||||||
|
console.log('开始播放')
|
||||||
|
});
|
||||||
|
innerAudioContext.onEnded(() => {
|
||||||
|
console.log('语音播报结束')
|
||||||
|
innerAudioContext.destroy() //销毁
|
||||||
|
if (this.audioTeam.length > 1) {
|
||||||
|
this.audioTeam.splice(0, 1);
|
||||||
|
console.log('队列中');
|
||||||
|
this.audio()
|
||||||
|
} else {
|
||||||
|
console.log('队列为零');
|
||||||
|
this.audioTeam = []
|
||||||
|
}
|
||||||
|
});
|
||||||
|
innerAudioContext.onError(() => {
|
||||||
|
console.log('语音播报失败')
|
||||||
|
innerAudioContext.destroy() // 销毁
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
// 微信分享;
|
||||||
|
setOpenShare: function(data) {
|
||||||
|
let that = this;
|
||||||
|
let href = location.href;
|
||||||
|
href = href.indexOf("?") === -1 ? href + "?spid=" + this.globalData.uid : href + "&spid=" + this
|
||||||
|
.globalData
|
||||||
|
.uid;
|
||||||
|
if (that.$wechat.isWeixin()) {
|
||||||
|
let configAppMessage = {
|
||||||
|
desc: data.share_info,
|
||||||
|
title: data.share_title,
|
||||||
|
link: href,
|
||||||
|
imgUrl: data.share_pic
|
||||||
|
};
|
||||||
|
that.$wechat.wechatEvevt(["updateAppMessageShareData", "updateTimelineShareData"],
|
||||||
|
configAppMessage);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 获取配置
|
||||||
|
getConfigData() {
|
||||||
|
getconfig().then(res => {
|
||||||
|
uni.$emit('update', res.data)
|
||||||
|
this.$store.commit('GLOBAL_DATA', res.data);
|
||||||
|
this.globalData.balance_func_status = res.data.balance_func_status
|
||||||
|
this.globalData.recharge_switch = res.data.recharge_switch
|
||||||
|
this.globalData.routine_logo = res.data.routine_logo
|
||||||
|
this.globalData.share_pic = res.data.share_pic
|
||||||
|
this.globalData.community_reply_status = res.data.community_reply_status
|
||||||
|
this.globalData.site_logo = res.data.site_logo
|
||||||
|
this.globalData.login_logo = res.data.login_logo
|
||||||
|
this.globalData.site_name = res.data.site_name
|
||||||
|
this.globalData.store_user_min_recharge = res.data.store_user_min_recharge
|
||||||
|
this.globalData.yue_pay_status = res.data.yue_pay_status
|
||||||
|
this.globalData.sys_intention_agree = res.data.sys_intention_agree
|
||||||
|
this.globalData.mer_intention_open = res.data.mer_intention_open
|
||||||
|
this.globalData.alipay_open = res.data.alipay_open
|
||||||
|
this.globalData.hide_mer_status = res.data.hide_mer_status
|
||||||
|
this.globalData.mer_location = res.data.mer_location
|
||||||
|
this.globalData.arrival_notice = res.data.procudt_increase_status
|
||||||
|
this.globalData.auto_arrival = res.data.sys_extension_type
|
||||||
|
this.globalData.member_status = res.data.member_status
|
||||||
|
this.globalData.copy_command_status = res.data.copy_command_status
|
||||||
|
this.globalData.is_phone_login = res.data.is_phone_login
|
||||||
|
this.globalData.mer_location = res.data.mer_location
|
||||||
|
this.globalData.store_street_theme = res.data.store_street_theme
|
||||||
|
this.globalData.copyright_status = res.data.copyright_status
|
||||||
|
this.globalData.copyright_image = res.data.copyright_image
|
||||||
|
this.globalData.copyright_context = res.data.copyright_context
|
||||||
|
this.globalData.open_update_info = res.data.open_update_info
|
||||||
|
this.globalData.recommend_switch = res.data.recommend_switch
|
||||||
|
this.globalData.svip_switch_status = res.data.svip_switch_status
|
||||||
|
this.globalData.navigation = res.data.navigation
|
||||||
|
this.globalData.community_app_switch = res.data.community_app_switch
|
||||||
|
this.globalData.community_reply_auth = res.data.community_reply_auth
|
||||||
|
this.globalData.margin_ico_switch = res.data.margin_ico_switch
|
||||||
|
this.globalData.margin_ico = res.data.margin_ico
|
||||||
|
// console.log(res.data.global_theme.theme + "我是")
|
||||||
|
this.$store.commit("VIEW_COLOR", res.data.global_theme.theme)
|
||||||
|
this.$store.commit("KEY_COLOR", '_' + res.data.global_theme.type)
|
||||||
|
try {
|
||||||
|
uni.setStorageSync('SUBSCRIBE_MESSAGE', res.data.tempid);
|
||||||
|
} catch (e) {
|
||||||
|
// error
|
||||||
|
}
|
||||||
|
// #ifdef H5
|
||||||
|
this.setOpenShare(res.data);
|
||||||
|
// #endif
|
||||||
|
}).catch(err => {});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onHide: function() {
|
||||||
|
//console.log('App Hide')
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
// 记录H5和公众号
|
||||||
|
$route(n) {
|
||||||
|
if (this.$store.state.app.token) {
|
||||||
|
// 浏览记录
|
||||||
|
history({
|
||||||
|
page: location.pathname + location.search,
|
||||||
|
}).then(() => {});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
/* #ifndef APP-PLUS-NVUE || APP-NVUE */
|
/* #ifndef APP-PLUS-NVUE || APP-NVUE */
|
||||||
@import "@/plugin/animate/animate.min.css";
|
@import "@/plugin/animate/animate.min.css";
|
||||||
@import 'static/css/base.css';
|
@import 'static/css/base.css';
|
||||||
@import 'static/iconfont/iconfont.css';
|
@import 'static/iconfont/iconfont.css';
|
||||||
@import 'static/iconfont/iconlihai.css';
|
@import 'static/iconfont/iconlihai.css';
|
||||||
@import 'static/css/style.scss';
|
@import 'static/iconfont/icontan.css';
|
||||||
|
@import 'static/css/style.scss';
|
||||||
|
|
||||||
view {
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom_style {
|
view {
|
||||||
color: #fff;
|
box-sizing: border-box;
|
||||||
display: flex;
|
}
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
font-size: 24rpx;
|
|
||||||
|
|
||||||
&_icon {
|
.custom_style {
|
||||||
background-image: url('static/tabbar_icon/d.png');
|
color: #fff;
|
||||||
background-repeat: no-repeat;
|
display: flex;
|
||||||
background-size: cover;
|
flex-direction: column;
|
||||||
font-size: 80rpx;
|
align-items: center;
|
||||||
width: 100rpx;
|
justify-content: center;
|
||||||
height: 100rpx;
|
font-size: 24rpx;
|
||||||
border-radius: 100%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
margin-top: -40rpx;
|
|
||||||
// box-shadow: 0px 5px 10px 1px rgba(32, 161, 98, 0.3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.bg-color-red {
|
&_icon {
|
||||||
background-color: #e93323 !important;
|
background-image: url('static/tabbar_icon/d.png');
|
||||||
}
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
font-size: 80rpx;
|
||||||
|
width: 100rpx;
|
||||||
|
height: 100rpx;
|
||||||
|
border-radius: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: -40rpx;
|
||||||
|
// box-shadow: 0px 5px 10px 1px rgba(32, 161, 98, 0.3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.syspadding {
|
.bg-color-red {
|
||||||
padding-top: var(--status-bar-height);
|
background-color: #e93323 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex {
|
.syspadding {
|
||||||
display: flex;
|
padding-top: var(--status-bar-height);
|
||||||
}
|
}
|
||||||
|
|
||||||
.uni-scroll-view::-webkit-scrollbar {
|
.flex {
|
||||||
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
|
display: flex;
|
||||||
display: none
|
}
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-scrollbar {
|
.uni-scroll-view::-webkit-scrollbar {
|
||||||
width: 0;
|
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
|
||||||
height: 0;
|
display: none
|
||||||
color: transparent;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
::-moz-scrollbar {
|
::-webkit-scrollbar {
|
||||||
width: 0;
|
width: 0;
|
||||||
height: 0;
|
height: 0;
|
||||||
color: transparent;
|
color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.empty-txt {
|
::-moz-scrollbar {
|
||||||
line-height: 100rpx;
|
width: 0;
|
||||||
font-size: 22rpx;
|
height: 0;
|
||||||
color: #999;
|
color: transparent;
|
||||||
text-align: center;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.product-con .conter img {
|
.empty-txt {
|
||||||
display: block;
|
line-height: 100rpx;
|
||||||
}
|
font-size: 22rpx;
|
||||||
|
color: #999;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
.open-location {
|
.product-con .conter img {
|
||||||
height: 100vh;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
uni-tabbar {
|
.open-location {
|
||||||
bottom: 0;
|
height: 100vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*#endif*/
|
uni-tabbar {
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*#endif*/
|
||||||
</style>
|
</style>
|
@ -1,27 +1,27 @@
|
|||||||
{
|
{
|
||||||
"version": "1",
|
"version" : "1",
|
||||||
"prompt": "template",
|
"prompt" : "template",
|
||||||
"title": "服务协议和隐私政策",
|
"title" : "服务协议与隐私政策",
|
||||||
"message": " 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/> 你可阅读<a href=\"https://shop.lihaink.cn/pages/users/user_about/index?from=sys_user_agree\">《服务协议》</a>和<a href=\"https://shop.lihaink.cn/pages/users/user_about/index?from=sys_userr_privacy\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
|
"message" : "\t请务必审慎阅读、充分理解“服务协议与 隐私政策”各条款,包括但不限于:为了 向你提供即时通讯、内容分享等服务,我 们需要收集你的设备信息、操作日志、OAID等个 人信息。你可以在“设置”中查看、变更、删除个人信息并管理你的授权。<br/>\r\r\t你可以阅读 <a href=\"https://shop.lihaink.cn/pages/users/user_about/index?from=sys_user_agree\">《用户协议》</a> 与 <a href=\"https://shop.lihaink.cn/pages/users/user_about/index?from=sys_userr_privacy\">《隐私政策》</a>了解详细信息。如你同意,请点击“我同意”开始接受我们的服务。",
|
||||||
"buttonAccept": "同意并接受",
|
"buttonAccept" : "同意并接受",
|
||||||
"buttonRefuse": "暂不同意",
|
"buttonRefuse" : "暂不同意",
|
||||||
"second": {
|
"second" : {
|
||||||
"title": "确认提示",
|
"title" : "确认提示",
|
||||||
"message": " 进入应用前,你需先同意<a href=\"https://shop.lihaink.cn/pages/users/user_about/index?from=sys_user_agree\">《服务协议》</a>和<a href=\"https://shop.lihaink.cn/pages/users/user_about/index?from=sys_userr_privacy\">《隐私政策》</a>,否则将退出应用。",
|
"message" : "进入应用前,你需先同意<a href=\"https://shop.lihaink.cn/pages/users/user_about/index?from=sys_user_agree\">《用户协议》</a> 与 <a href=\"https://shop.lihaink.cn/pages/users/user_about/index?from=sys_userr_privacy\">《隐私政策》</a>,否则将退出应用。",
|
||||||
"buttonAccept": "同意并继续",
|
"buttonAccept" : "同意并继续",
|
||||||
"buttonRefuse": "退出应用"
|
"buttonRefuse" : "退出应用"
|
||||||
},
|
|
||||||
"styles": {
|
|
||||||
"backgroundColor": "#fff",
|
|
||||||
"borderRadius":"5px",
|
|
||||||
"title": {
|
|
||||||
"color": "#000"
|
|
||||||
},
|
},
|
||||||
"buttonAccept": {
|
"styles" : {
|
||||||
"color": "#fff"
|
"backgroundColor" : "#fff",
|
||||||
},
|
"borderRadius" : "5px",
|
||||||
"buttonRefuse": {
|
"title" : {
|
||||||
"color": "#ccc"
|
"color" : "#000"
|
||||||
|
},
|
||||||
|
"buttonAccept" : {
|
||||||
|
"color" : "#fff"
|
||||||
|
},
|
||||||
|
"buttonRefuse" : {
|
||||||
|
"color" : "#ccc"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
143
api/admin.js
143
api/admin.js
@ -13,68 +13,107 @@ import request from "@/utils/request.js";
|
|||||||
* 统计数据
|
* 统计数据
|
||||||
*/
|
*/
|
||||||
export function getStatisticsInfo() {
|
export function getStatisticsInfo() {
|
||||||
return request.get("admin/order/statistics", {}, { login: true });
|
return request.get("admin/order/statistics", {}, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单月统计
|
* 订单月统计
|
||||||
*/
|
*/
|
||||||
export function getStatisticsMonth(where) {
|
export function getStatisticsMonth(where) {
|
||||||
return request.get("admin/order/data", where, { login: true });
|
return request.get("admin/order/data", where, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 订单月统计
|
* 订单月统计
|
||||||
*/
|
*/
|
||||||
export function getAdminOrderList(where) {
|
export function getAdminOrderList(where) {
|
||||||
return request.get("admin/order/list", where, { login: true });
|
return request.get("admin/order/list", where, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 订单改价
|
* 订单改价
|
||||||
*/
|
*/
|
||||||
export function setAdminOrderPrice(merId, id, data) {
|
export function setAdminOrderPrice(merId, id, data) {
|
||||||
return request.post("admin/" + merId + "/price/" + id, data, { login: true });
|
return request.post("admin/" + merId + "/price/" + id, data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 同意先货后款
|
||||||
|
*/
|
||||||
|
export function postconfirm(merId, data) {
|
||||||
|
return request.post("admin/" + merId + "/confirm", data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 先货后款订单结算
|
||||||
|
*/
|
||||||
|
export function postsettle(merId, data) {
|
||||||
|
return request.post("admin/" + merId + "/settle", data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 订单备注
|
* 订单备注
|
||||||
*/
|
*/
|
||||||
export function setAdminOrderRemark(merId, id, data) {
|
export function setAdminOrderRemark(merId, id, data) {
|
||||||
return request.post("admin/" + merId + "/mark/" + id, data, { login: true });
|
return request.post("admin/" + merId + "/mark/" + id, data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 订单详情
|
* 订单详情
|
||||||
*/
|
*/
|
||||||
export function getAdminOrderDetail(merId, orderId) {
|
export function getAdminOrderDetail(merId, orderId) {
|
||||||
return request.get("admin/" + merId + "/order/" + orderId, {}, { login: true });
|
return request.get("admin/" + merId + "/order/" + orderId, {}, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 订单发货信息获取
|
* 订单发货信息获取
|
||||||
*/
|
*/
|
||||||
export function getAdminOrderDelivery(orderId) {
|
export function getAdminOrderDelivery(orderId) {
|
||||||
return request.get("admin/order/delivery/gain/" + orderId, {}, { login: true });
|
return request.get("admin/order/delivery/gain/" + orderId, {}, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单发货保存
|
* 订单发货保存
|
||||||
*/
|
*/
|
||||||
export function setAdminOrderDelivery(merId, id, data) {
|
export function setAdminOrderDelivery(merId, id, data) {
|
||||||
return request.post("admin/" + merId + "/delivery/" + id, data, { login: true });
|
return request.post("admin/" + merId + "/delivery/" + id, data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 订单统计图
|
* 订单统计图
|
||||||
*/
|
*/
|
||||||
export function getStatisticsTime(data) {
|
export function getStatisticsTime(data) {
|
||||||
return request.get("admin/order/time", data, { login: true });
|
return request.get("admin/order/time", data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 线下付款订单确认付款
|
* 线下付款订单确认付款
|
||||||
*/
|
*/
|
||||||
export function setOfflinePay(merId, data) {
|
export function setOfflinePay(merId, data) {
|
||||||
return request.post("admin/" + merId + "/order/offline", data, { login: true });
|
return request.post("admin/" + merId + "/order/offline", data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 订单确认退款
|
* 订单确认退款
|
||||||
*/
|
*/
|
||||||
export function setOrderRefund(merId, data) {
|
export function setOrderRefund(merId, data) {
|
||||||
return request.post("admin/" + merId + "/order/refund", data, { login: true });
|
return request.post("admin/" + merId + "/order/refund", data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -82,7 +121,9 @@ export function setOrderRefund(merId, data) {
|
|||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function getLogistics() {
|
export function getLogistics() {
|
||||||
return request.get("logistics", {}, { login: false });
|
return request.get("logistics", {}, {
|
||||||
|
login: false
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -90,7 +131,7 @@ export function getLogistics() {
|
|||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function orderVerific(merId, id, data) {
|
export function orderVerific(merId, id, data) {
|
||||||
return request.post(`verifier/${merId}/${id}`, data);
|
return request.post(`verifier/${merId}/${id}`, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -98,7 +139,7 @@ export function orderVerific(merId, id, data) {
|
|||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function verifierOrder(mer_id, code) {
|
export function verifierOrder(mer_id, code) {
|
||||||
return request.get("verifier/" + mer_id + "/order/" + code);
|
return request.get("verifier/" + mer_id + "/order/" + code);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -106,108 +147,150 @@ export function verifierOrder(mer_id, code) {
|
|||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function orderStatistics(mer_id, data) {
|
export function orderStatistics(mer_id, data) {
|
||||||
return request.get("admin/" + mer_id + "/statistics", data);
|
return request.get("admin/" + mer_id + "/statistics", data);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 订单
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
export function orderStat(data) {
|
||||||
|
return request.get("admin/1/statistics", data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 每日成交额
|
* 每日成交额
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function orderPrice(where, mer_id) {
|
export function orderPrice(where, mer_id) {
|
||||||
return request.get("admin/" + mer_id + "/order_price", where, { login: true });
|
return request.get("admin/" + mer_id + "/order_price", where, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 订单列表
|
* 订单列表
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function getOrderList(where, merId) {
|
export function getOrderList(where, merId) {
|
||||||
return request.get(`admin/${merId}/order_list`, where, { login: true });
|
return request.get(`admin/${merId}/order_list`, where, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 退款订单列表
|
* 退款订单列表
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function getRefundOrderList(where, merId) {
|
export function getRefundOrderList(where, merId) {
|
||||||
return request.get(`server/${merId}/refund/lst`, where, { login: true });
|
return request.get(`server/${merId}/refund/lst`, where, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 营业额统计
|
* 营业额统计
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function turnoverStatistics(where, merId) {
|
export function turnoverStatistics(where, merId) {
|
||||||
return request.get(`admin/${merId}/pay_price`, where, { login: true });
|
return request.get(`admin/${merId}/pay_price`, where, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 订单统计
|
* 订单统计
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function orderNumberStatistics(where, merId) {
|
export function orderNumberStatistics(where, merId) {
|
||||||
return request.get(`admin/${merId}/pay_number`, where, { login: true });
|
return request.get(`admin/${merId}/pay_number`, where, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取订单打印默认配置
|
* 获取订单打印默认配置
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function orderDeliveryInfo(merId) {
|
export function orderDeliveryInfo(merId) {
|
||||||
return request.get(`admin/${merId}/mer_form`);
|
return request.get(`admin/${merId}/mer_form`);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取电子面单列表
|
* 获取电子面单列表
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function orderExportTemp(data) {
|
export function orderExportTemp(data) {
|
||||||
return request.get("store/expr/temps", data);
|
return request.get("store/expr/temps", data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 是否开始电子面单和同城配送
|
* 是否开始电子面单和同城配送
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function getTempAndDelivery(merId) {
|
export function getTempAndDelivery(merId) {
|
||||||
return request.get(`admin/${merId}/delivery_config`);
|
return request.get(`admin/${merId}/delivery_config`);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取同城配送门店列表
|
* 获取同城配送门店列表
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function getDeliveryStoreLst(merId) {
|
export function getDeliveryStoreLst(merId) {
|
||||||
return request.get(`admin/${merId}/delivery_options`);
|
return request.get(`admin/${merId}/delivery_options`);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 退款订单信息
|
* 退款订单信息
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function getRefundOrderInfo(merId, id) {
|
export function getRefundOrderInfo(merId, id) {
|
||||||
return request.get(`server/${merId}/refund/get/${id}`);
|
return request.get(`server/${merId}/refund/get/${id}`);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 提交退款订单信息
|
* 提交退款订单信息
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function refundOrderSubmit(merId, id, data) {
|
export function refundOrderSubmit(merId, id, data) {
|
||||||
return request.post(`server/${merId}/refund/status/${id}`, data, { login: true });
|
return request.post(`server/${merId}/refund/status/${id}`, data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 退款单确认收货
|
* 退款单确认收货
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function refundOrderReceive(merId, id) {
|
export function refundOrderReceive(merId, id) {
|
||||||
return request.post(`server/${merId}/refund/confirm/${id}`, {}, { login: true });
|
return request.post(`server/${merId}/refund/confirm/${id}`, {}, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 退款单详情
|
* 退款单详情
|
||||||
*/
|
*/
|
||||||
export function getRefundOrderDetail(merId, orderId) {
|
export function getRefundOrderDetail(merId, orderId) {
|
||||||
return request.get(`server/${merId}/refund/detail/${orderId}`, {}, { login: true });
|
return request.get(`server/${merId}/refund/detail/${orderId}`, {}, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 添加退款单备注信息
|
* 添加退款单备注信息
|
||||||
*/
|
*/
|
||||||
export function setRefundMark(merId, orderId, data) {
|
export function setRefundMark(merId, orderId, data) {
|
||||||
return request.post(`server/${merId}/refund/mark/${orderId}`, data, { login: true });
|
return request.post(`server/${merId}/refund/mark/${orderId}`, data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 去核销
|
* 去核销
|
||||||
* @param object data
|
* @param object data
|
||||||
*/
|
*/
|
||||||
export function orderCancellation(merId, id) {
|
export function orderCancellation(merId, id) {
|
||||||
return request.post(`admin/${merId}/verify/${id}`);
|
return request.post(`admin/${merId}/verify/${id}`);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 去核销
|
||||||
|
* @param object data
|
||||||
|
*/
|
||||||
|
export function purchaseOrder(where, merId) {
|
||||||
|
return request.get(`admin/${merId}/purchaseOrder`, where, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商家物流取件二维码
|
||||||
|
* @param object data
|
||||||
|
*/
|
||||||
|
export function logisticsCode(id) {
|
||||||
|
return request.get(`order/logistics_code/${id}`);
|
||||||
}
|
}
|
22
api/api.js
22
api/api.js
@ -103,6 +103,10 @@ export function getUserCoupons(data) {
|
|||||||
export function getArticleCategoryList() {
|
export function getArticleCategoryList() {
|
||||||
return request.get('article/category/lst', {}, { noAuth: true })
|
return request.get('article/category/lst', {}, { noAuth: true })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getArticleCategoryLists() {
|
||||||
|
return request.get('article/category/lst?is_home='+1, {}, { noAuth: true })
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 文章列表
|
* 文章列表
|
||||||
* @param int cid
|
* @param int cid
|
||||||
@ -268,4 +272,22 @@ export function ajcaptchaCheck(data) {
|
|||||||
return request.post("ajcheck", data, {
|
return request.post("ajcheck", data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所在的地区数据
|
||||||
|
* @param {Object} data
|
||||||
|
*/
|
||||||
|
export function village(data) {
|
||||||
|
return request.get('v2/system/geo/lst', data, { noAuth: true });
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所在的村队数据
|
||||||
|
* @param {Object} data
|
||||||
|
*/
|
||||||
|
export function brigade(data) {
|
||||||
|
return request.get('v2/system/brigade', data, { noAuth: true });
|
||||||
}
|
}
|
@ -82,11 +82,16 @@ export function videoList(data) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**自己的视频列表*/
|
/**自己的视频列表*/
|
||||||
|
export function deoList(id) {
|
||||||
|
return request.get(`community/show/${id}`);
|
||||||
|
}
|
||||||
|
|
||||||
export function myVideoList(id,data) {
|
export function myVideoList(id,data) {
|
||||||
return request.get(`community/user/community_video/${id}`, data, {
|
return request.get(`community/user/community_video/${id}`, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**文章点赞*/
|
/**文章点赞*/
|
||||||
export function graphicStartApi(id, status) {
|
export function graphicStartApi(id, status) {
|
||||||
return request.post(`community/start/${id}`, status);
|
return request.post(`community/start/${id}`, status);
|
||||||
|
16
api/order.js
16
api/order.js
@ -107,7 +107,7 @@ export function orderDel(id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单详情
|
* 已付款订单详情
|
||||||
* @param string uni
|
* @param string uni
|
||||||
*/
|
*/
|
||||||
export function getOrderDetail(uni) {
|
export function getOrderDetail(uni) {
|
||||||
@ -115,11 +115,11 @@ export function getOrderDetail(uni) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单详情
|
* 未付款订单详情
|
||||||
* @param string uni
|
* @param string uni
|
||||||
*/
|
*/
|
||||||
export function groupOrderDetail(uni) {
|
export function groupOrderDetail(uni,product_type) {
|
||||||
return request.get('order/group_order_detail/' + uni);
|
return request.get('order/group_order_detail/' + uni+'?product_type=' + product_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 支付状态订单
|
// 支付状态订单
|
||||||
@ -326,4 +326,12 @@ export function applyInvoiceApi(id, data) {
|
|||||||
*/
|
*/
|
||||||
export function refundCancelApi(id) {
|
export function refundCancelApi(id) {
|
||||||
return request.post(`refund/cancel/${id}`);
|
return request.post(`refund/cancel/${id}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 售后
|
||||||
|
* @param object data
|
||||||
|
*/
|
||||||
|
export function refundlist(data) {
|
||||||
|
return request.get(`refund/list`,data);
|
||||||
}
|
}
|
@ -14,6 +14,18 @@ import request from "@/utils/request.js";
|
|||||||
*/
|
*/
|
||||||
export const getProductDetailsAPI = (data) => request.get('micro/product_details', data)
|
export const getProductDetailsAPI = (data) => request.get('micro/product_details', data)
|
||||||
|
|
||||||
|
/**
|
||||||
|
*商品列表
|
||||||
|
*/
|
||||||
|
export const spuInfo = (id,data) => request.get('product/spu/street/'+id, data)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 线下导入
|
||||||
|
*/
|
||||||
|
export function postImport(merid,data) {
|
||||||
|
return request.post(`server/${merid}/product/stockIn`, data);
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 获取商户基本信息 http://127.0.0.1:8324/api/store/merchant/info?id=4
|
* 获取商户基本信息 http://127.0.0.1:8324/api/store/merchant/info?id=4
|
||||||
*/
|
*/
|
||||||
|
43
api/release.js
Normal file
43
api/release.js
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
import request from "@/utils/request.js";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取发布管理转售商品列表
|
||||||
|
* @param numType boolean true 购物车数量,false=购物车产品数量
|
||||||
|
*/
|
||||||
|
export function getResale(data) {
|
||||||
|
return request.get("community/resale/lst", data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 清除发布管理转售商品
|
||||||
|
* @param object ids
|
||||||
|
*/
|
||||||
|
export function getResaledelete(id) {
|
||||||
|
return request.post('community/resale/delete/'+ id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户是否同意转售商品折扣价
|
||||||
|
* @param object ids
|
||||||
|
*/
|
||||||
|
export function getResalecheck(id,data) {
|
||||||
|
return request.post('community/resale/check/'+ id,data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取转售商品详情
|
||||||
|
* @param object ids
|
||||||
|
*/
|
||||||
|
export function getResaleid(id) {
|
||||||
|
return request.get('community/resale/' + id);
|
||||||
|
}
|
10
api/sale.js
Normal file
10
api/sale.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
import request from "@/utils/request.js";
|
357
api/store.js
357
api/store.js
@ -5,14 +5,14 @@ import request from "@/utils/request.js";
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function microSeachBarCode(data) {
|
export function microSeachBarCode(data) {
|
||||||
return request.get('micro/seach_bar_code', data);
|
return request.get('micro/seach_bar_code', data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取收款二维码
|
* 获取收款二维码
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function createtApi(data) {
|
export function createtApi(data) {
|
||||||
return request.post('v2/micropay/create', data);
|
return request.post('v2/micropay/create', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -20,7 +20,7 @@ export function createtApi(data) {
|
|||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function addCartApi(data) {
|
export function addCartApi(data) {
|
||||||
return request.post('v2/micropay/addCart', data);
|
return request.post('v2/micropay/addCart', data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取产品详情
|
* 获取产品详情
|
||||||
@ -28,9 +28,9 @@ export function addCartApi(data) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getProductDetail(id, data) {
|
export function getProductDetail(id, data) {
|
||||||
return request.get('store/product/detail/' + id, data, {
|
return request.get('store/product/detail/' + id, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取预览商品详情
|
* 获取预览商品详情
|
||||||
@ -38,16 +38,16 @@ export function getProductDetail(id, data) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getPreviewProDetail(data) {
|
export function getPreviewProDetail(data) {
|
||||||
return request.get('store/product/preview', data, {
|
return request.get('store/product/preview', data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 产品分享二维码 推广员
|
* 产品分享二维码 推广员
|
||||||
* @param int id
|
* @param int id
|
||||||
*/
|
*/
|
||||||
export function getProductCode(id, data) {
|
export function getProductCode(id, data) {
|
||||||
return request.get('store/product/qrcode/' + id, data);
|
return request.get('store/product/qrcode/' + id, data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 添加收藏
|
* 添加收藏
|
||||||
@ -55,7 +55,7 @@ export function getProductCode(id, data) {
|
|||||||
* @param string category product=普通产品,product_seckill=秒杀产品
|
* @param string category product=普通产品,product_seckill=秒杀产品
|
||||||
*/
|
*/
|
||||||
export function collectAdd(data) {
|
export function collectAdd(data) {
|
||||||
return request.post('user/relation/create', data);
|
return request.post('user/relation/create', data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 删除收藏产品
|
* 删除收藏产品
|
||||||
@ -63,14 +63,14 @@ export function collectAdd(data) {
|
|||||||
* @param string category product=普通产品,product_seckill=秒杀产品
|
* @param string category product=普通产品,product_seckill=秒杀产品
|
||||||
*/
|
*/
|
||||||
export function collectDel(data) {
|
export function collectDel(data) {
|
||||||
return request.post('user/relation/delete', data);
|
return request.post('user/relation/delete', data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 购车添加
|
* 购车添加
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function postCartAdd(data) {
|
export function postCartAdd(data) {
|
||||||
return request.post('user/cart/create', data);
|
return request.post('user/cart/create', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -78,73 +78,73 @@ export function postCartAdd(data) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getCategoryList() {
|
export function getCategoryList() {
|
||||||
return request.get('store/product/category/lst', {}, {
|
return request.get('store/product/category/lst', {}, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取产品列表
|
* 获取产品列表
|
||||||
* @param object data
|
* @param object data
|
||||||
*/
|
*/
|
||||||
export function getProductslist(data) {
|
export function getProductslist(data) {
|
||||||
if (data.brand_id && Array.isArray(data.brand_id)) {
|
if (data.brand_id && Array.isArray(data.brand_id)) {
|
||||||
data = {
|
data = {
|
||||||
...data
|
...data
|
||||||
}
|
}
|
||||||
data.brand_id = data.brand_id.toString()
|
data.brand_id = data.brand_id.toString()
|
||||||
}
|
}
|
||||||
return request.get('product/spu/lst', data, {
|
return request.get('product/spu/lst', data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取优惠券商品列表
|
* 获取优惠券商品列表
|
||||||
* @param object data
|
* @param object data
|
||||||
*/
|
*/
|
||||||
export function getCouponProductlist(data) {
|
export function getCouponProductlist(data) {
|
||||||
if (data.brand_id && Array.isArray(data.brand_id)) {
|
if (data.brand_id && Array.isArray(data.brand_id)) {
|
||||||
data = {
|
data = {
|
||||||
...data
|
...data
|
||||||
}
|
}
|
||||||
data.brand_id = data.brand_id.toString()
|
data.brand_id = data.brand_id.toString()
|
||||||
}
|
}
|
||||||
return request.get('product/spu/coupon_product', data, {
|
return request.get('product/spu/coupon_product', data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取品牌列表
|
* 获取品牌列表
|
||||||
* @param object data
|
* @param object data
|
||||||
*/
|
*/
|
||||||
export function getBrandlist(data) {
|
export function getBrandlist(data) {
|
||||||
return request.get('store/product/brand/lst', data, {
|
return request.get('store/product/brand/lst', data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取推荐产品
|
* 获取推荐产品
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getProductHot(page, limit) {
|
export function getProductHot(page, limit) {
|
||||||
return request.get("product/spu/recommend", {
|
return request.get("product/spu/recommend", {
|
||||||
page: page === undefined ? 1 : page,
|
page: page === undefined ? 1 : page,
|
||||||
limit: limit === undefined ? 10 : limit
|
limit: limit === undefined ? 10 : limit
|
||||||
}, {
|
}, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取商户推荐产品
|
* 获取商户推荐产品
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getMerProductHot(id, data) {
|
export function getMerProductHot(id, data) {
|
||||||
return request.get(`product/spu/recommend`, {
|
return request.get(`product/spu/recommend`, {
|
||||||
page: data.page === undefined ? 1 : data.page,
|
page: data.page === undefined ? 1 : data.page,
|
||||||
limit: data.limit === undefined ? 10 : data.limit,
|
limit: data.limit === undefined ? 10 : data.limit,
|
||||||
mer_id: id || ''
|
mer_id: id || ''
|
||||||
}, {
|
}, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 批量收藏
|
* 批量收藏
|
||||||
@ -153,7 +153,7 @@ export function getMerProductHot(id, data) {
|
|||||||
* @param string category
|
* @param string category
|
||||||
*/
|
*/
|
||||||
export function collectAll(data) {
|
export function collectAll(data) {
|
||||||
return request.post('user/relation/batch/create', data);
|
return request.post('user/relation/batch/create', data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 首页产品的轮播图和产品信息
|
* 首页产品的轮播图和产品信息
|
||||||
@ -161,23 +161,23 @@ export function collectAll(data) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getGroomList(type, data) {
|
export function getGroomList(type, data) {
|
||||||
return request.get('product/spu/hot/' + type, data, {
|
return request.get('product/spu/hot/' + type, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取商品收藏列表
|
* 获取商品收藏列表
|
||||||
* @param object data
|
* @param object data
|
||||||
*/
|
*/
|
||||||
export function getCollectUserList(data) {
|
export function getCollectUserList(data) {
|
||||||
return request.get('user/relation/product/lst', data)
|
return request.get('user/relation/product/lst', data)
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取商品收藏列表 -- 删除
|
* 获取商品收藏列表 -- 删除
|
||||||
* @param object data
|
* @param object data
|
||||||
*/
|
*/
|
||||||
export function userCollectDel(data) {
|
export function userCollectDel(data) {
|
||||||
return request.post('user/relation/batch/delete', data)
|
return request.post('user/relation/batch/delete', data)
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取产品评论
|
* 获取产品评论
|
||||||
@ -186,43 +186,43 @@ export function userCollectDel(data) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getReplyList(id, data) {
|
export function getReplyList(id, data) {
|
||||||
return request.get('store/product/reply/lst/' + id, data, {
|
return request.get('store/product/reply/lst/' + id, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 产品评价数量和好评度
|
* 产品评价数量和好评度
|
||||||
* @param int id
|
* @param int id
|
||||||
*/
|
*/
|
||||||
export function getReplyConfig(id) {
|
export function getReplyConfig(id) {
|
||||||
return request.get('reply/config/' + id);
|
return request.get('reply/config/' + id);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取搜索关键字获取
|
* 获取搜索关键字获取
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getSearchKeyword() {
|
export function getSearchKeyword() {
|
||||||
return request.get('common/hot_keyword', {}, {
|
return request.get('common/hot_keyword', {}, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 门店列表
|
* 门店列表
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function storeListApi(data) {
|
export function storeListApi(data) {
|
||||||
return request.get("store_list", data, {
|
return request.get("store_list", data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 商户列表
|
* 商户列表
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function storeMerchantList(data) {
|
export function storeMerchantList(data) {
|
||||||
return request.get("store/merchant/lst", data, {
|
return request.get("store/merchant/lst", data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取商铺详情
|
* 获取商铺详情
|
||||||
@ -230,9 +230,9 @@ export function storeMerchantList(data) {
|
|||||||
* @param {Object} data 商铺数据
|
* @param {Object} data 商铺数据
|
||||||
*/
|
*/
|
||||||
export function getStoreDetail(id, data) {
|
export function getStoreDetail(id, data) {
|
||||||
return request.get("store/merchant/detail/" + id, data, {
|
return request.get("store/merchant/detail/" + id, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取商铺商品列表
|
* 获取商铺商品列表
|
||||||
@ -240,9 +240,9 @@ export function getStoreDetail(id, data) {
|
|||||||
* @param {Object} data 商铺商品列表数据
|
* @param {Object} data 商铺商品列表数据
|
||||||
*/
|
*/
|
||||||
export function getStoreGoods(id, data) {
|
export function getStoreGoods(id, data) {
|
||||||
return request.get("product/spu/merchant/" + id, data, {
|
return request.get("product/spu/merchant/" + id, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取商铺分类列表
|
* 获取商铺分类列表
|
||||||
@ -250,77 +250,77 @@ export function getStoreGoods(id, data) {
|
|||||||
* @param {Object} data
|
* @param {Object} data
|
||||||
*/
|
*/
|
||||||
export function getStoreCategory(id, data) {
|
export function getStoreCategory(id, data) {
|
||||||
return request.get("store/merchant/category/lst/" + id, data, {
|
return request.get("store/merchant/category/lst/" + id, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 关注商铺
|
* 关注商铺
|
||||||
* @param {Object} type_id 商铺 id
|
* @param {Object} type_id 商铺 id
|
||||||
*/
|
*/
|
||||||
export function followStore(type_id) {
|
export function followStore(type_id) {
|
||||||
return request.post("user/relation/create", {
|
return request.post("user/relation/create", {
|
||||||
type: 10,
|
type: 10,
|
||||||
type_id: type_id
|
type_id: type_id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 取消商铺关注
|
* 取消商铺关注
|
||||||
* @param {Object} type_id 商铺 id
|
* @param {Object} type_id 商铺 id
|
||||||
*/
|
*/
|
||||||
export function unfollowStore(type_id) {
|
export function unfollowStore(type_id) {
|
||||||
return request.post("user/relation/delete", {
|
return request.post("user/relation/delete", {
|
||||||
type: 10,
|
type: 10,
|
||||||
type_id: type_id
|
type_id: type_id
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取商铺优惠券
|
* 获取商铺优惠券
|
||||||
* @param {Object} id
|
* @param {Object} id
|
||||||
*/
|
*/
|
||||||
export function getStoreCoupon(id) {
|
export function getStoreCoupon(id) {
|
||||||
return request.get("coupon/store/" + id, {
|
return request.get("coupon/store/" + id, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取商铺优惠券
|
* 获取商铺优惠券
|
||||||
*/
|
*/
|
||||||
export function getMerchantLst(data) {
|
export function getMerchantLst(data) {
|
||||||
return request.get("user/relation/merchant/lst", data, {
|
return request.get("user/relation/merchant/lst", data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 物流信息
|
* 物流信息
|
||||||
*/
|
*/
|
||||||
export function express(id) {
|
export function express(id) {
|
||||||
return request.post("ordero/express/" + id, {
|
return request.post("ordero/express/" + id, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 子集分类
|
* 子集分类
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function storeCategory(pid) {
|
export function storeCategory(pid) {
|
||||||
return request.get("store/product/category", pid, {
|
return request.get("store/product/category", pid, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 分销说明
|
* 分销说明
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function bagExplain() {
|
export function bagExplain() {
|
||||||
return request.get("store/product/bag/explain");
|
return request.get("store/product/bag/explain");
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 分销礼包推荐列表
|
* 分销礼包推荐列表
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function bagRecommend() {
|
export function bagRecommend() {
|
||||||
return request.get("product/spu/bag/recommend");
|
return request.get("product/spu/bag/recommend");
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 分销礼包列表
|
* 分销礼包列表
|
||||||
@ -328,56 +328,56 @@ export function bagRecommend() {
|
|||||||
*/
|
*/
|
||||||
export function productBag(data) {
|
export function productBag(data) {
|
||||||
|
|
||||||
return request.get("product/spu/bag", data, {
|
return request.get("product/spu/bag", data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 商铺二维码
|
* 商铺二维码
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function merchantQrcode(id, data) {
|
export function merchantQrcode(id, data) {
|
||||||
return request.get("store/merchant/qrcode/" + id, data, {
|
return request.get("store/merchant/qrcode/" + id, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 推荐商品
|
* 推荐商品
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function merchantProduct(id, data) {
|
export function merchantProduct(id, data) {
|
||||||
if (data.brand_id && Array.isArray(data.brand_id)) {
|
if (data.brand_id && Array.isArray(data.brand_id)) {
|
||||||
data = {
|
data = {
|
||||||
...data
|
...data
|
||||||
}
|
}
|
||||||
data.brand_id = data.brand_id.toString()
|
data.brand_id = data.brand_id.toString()
|
||||||
}
|
}
|
||||||
return request.get("product/spu/merchant/" + id, data, {
|
return request.get("product/spu/merchant/" + id, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 推荐商品banner
|
* 推荐商品banner
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function getHotBanner(type) {
|
export function getHotBanner(type) {
|
||||||
return request.get("common/hot_banner/" + type, {}, {
|
return request.get("common/hot_banner/" + type, {}, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 商户入驻表单
|
* 商户入驻表单
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function create(data) {
|
export function create(data) {
|
||||||
return request.post("intention/create", data);
|
return request.post("intention/create", data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 商户入驻短信验证码
|
* 商户入驻短信验证码
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function verify(data) {
|
export function verify(data) {
|
||||||
return request.post("auth/verify", data);
|
return request.post("auth/verify", data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取秒杀商品详情
|
* 获取秒杀商品详情
|
||||||
@ -385,36 +385,36 @@ export function verify(data) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getSeckillProductDetail(id) {
|
export function getSeckillProductDetail(id) {
|
||||||
return request.get('store/product/seckill/detail/' + id, {}, {
|
return request.get('store/product/seckill/detail/' + id, {}, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 直播推荐列表
|
* 直播推荐列表
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function getLiveList(data) {
|
export function getLiveList(data) {
|
||||||
return request.get(`broadcast/hot`, data, {
|
return request.get(`broadcast/hot`, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 直播列表
|
* 直播列表
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function getBroadcastListApi(data) {
|
export function getBroadcastListApi(data) {
|
||||||
return request.get("broadcast/lst", data, {
|
return request.get("broadcast/lst", data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 商户分类
|
* 商户分类
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function merClassifly() {
|
export function merClassifly() {
|
||||||
return request.get("intention/cate", {}, {
|
return request.get("intention/cate", {}, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取预售商品详情
|
* 获取预售商品详情
|
||||||
@ -422,9 +422,9 @@ export function merClassifly() {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getPresellProductDetail(id) {
|
export function getPresellProductDetail(id) {
|
||||||
return request.get('store/product/presell/detail/' + id, {}, {
|
return request.get('store/product/presell/detail/' + id, {}, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取商户申请记录
|
* 获取商户申请记录
|
||||||
@ -432,7 +432,7 @@ export function getPresellProductDetail(id) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getApplicationRecordList(data) {
|
export function getApplicationRecordList(data) {
|
||||||
return request.get('intention/lst', data);
|
return request.get('intention/lst', data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取商户申请详情
|
* 获取商户申请详情
|
||||||
@ -440,7 +440,7 @@ export function getApplicationRecordList(data) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getGoodsDetails(id) {
|
export function getGoodsDetails(id) {
|
||||||
return request.get('intention/detail/' + id, {});
|
return request.get('intention/detail/' + id, {});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -449,7 +449,7 @@ export function getGoodsDetails(id) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function updateGoodsRecord(id, data) {
|
export function updateGoodsRecord(id, data) {
|
||||||
return request.post('intention/update/' + id, data);
|
return request.post('intention/update/' + id, data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取定位详细地址
|
* 获取定位详细地址
|
||||||
@ -457,9 +457,9 @@ export function updateGoodsRecord(id, data) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getGeocoder(data) {
|
export function getGeocoder(data) {
|
||||||
return request.get(`lbs/geocoder?location=${data.lat},${data.long}`, {}, {
|
return request.get(`lbs/geocoder?location=${data.lat},${data.long}`, {}, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 获取店铺类型
|
* 获取店铺类型
|
||||||
@ -467,80 +467,109 @@ export function getGeocoder(data) {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function getStoreTypeApi() {
|
export function getStoreTypeApi() {
|
||||||
return request.get('intention/type', {}, {
|
return request.get('intention/type', {
|
||||||
noAuth: true
|
sift_store: 0
|
||||||
});
|
}, {
|
||||||
|
noAuth: true
|
||||||
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 到货通知
|
* 到货通知
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export function arrivalNoticeApi(data) {
|
export function arrivalNoticeApi(data) {
|
||||||
return request.post('store/product/increase_take', data);
|
return request.post('store/product/increase_take', data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
获取图片验证码
|
获取图片验证码
|
||||||
*/
|
*/
|
||||||
export function getCaptcha() {
|
export function getCaptcha() {
|
||||||
return request.get('captcha');
|
return request.get('captcha');
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
获取店铺资质
|
获取店铺资质
|
||||||
*/
|
*/
|
||||||
export function storeCertificate(data) {
|
export function storeCertificate(data) {
|
||||||
return request.post(`store/certificate/${data.merId}`, data)
|
return request.post(`store/certificate/${data.merId}`, data)
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 本地服务列表
|
* 本地服务列表
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function storeServiceList(id, data) {
|
export function storeServiceList(id, data) {
|
||||||
return request.get(`product/spu/local/${id}`, data, {
|
return request.get(`product/spu/local/${id}`, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 复制口令
|
* 复制口令
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function copyPasswordApi(data) {
|
export function copyPasswordApi(data) {
|
||||||
return request.get(`product/spu/copy`, data, {
|
return request.get(`product/spu/copy`, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 口令搜索
|
* 口令搜索
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function copyPasswordSearch(data) {
|
export function copyPasswordSearch(data) {
|
||||||
return request.get(`command/copy`, data, {
|
return request.get(`command/copy`, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 套餐列表
|
* 套餐列表
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function getDiscountsLst(data) {
|
export function getDiscountsLst(data) {
|
||||||
return request.get(`discounts/lst`, data, {
|
return request.get(`discounts/lst`, data, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 套餐--立即购买
|
* 套餐--立即购买
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function discountsCartAdd(data) {
|
export function discountsCartAdd(data) {
|
||||||
return request.post('user/cart/batchCreate', data);
|
return request.post('user/cart/batchCreate', data);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 商品--价格说明
|
* 商品--价格说明
|
||||||
* @returns {*}
|
* @returns {*}
|
||||||
*/
|
*/
|
||||||
export function priceRuleApi(id) {
|
export function priceRuleApi(id) {
|
||||||
return request.get(`store/product/price_rule/${id}`, {}, {
|
return request.get(`store/product/price_rule/${id}`, {}, {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 供销市场标签
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
export function supMenuApi(data) {
|
||||||
|
return request.get('intention/v2/cate', data);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 供销市场标签
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
export function supAgoodsApi(data) {
|
||||||
|
return request.get('store/merchant/lst', data);
|
||||||
|
}
|
||||||
|
// /api/store / merchant / lst ? page = 1 & limit = 10 & order = & category_id = 22 & type_id = 10 & street_id = &
|
||||||
|
// credit_buy =
|
||||||
|
// /api/region/:street_id/merchant
|
||||||
|
/**
|
||||||
|
* 附近商家
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
// export function supAgoodsApi(data) {
|
||||||
|
// return request.get('store/merchant/lst', data);
|
||||||
|
// }
|
||||||
|
export function vicinityStoreApi(data) {
|
||||||
|
return request.get(`region/${data}/merchant`);
|
||||||
}
|
}
|
88
api/trading-floor.js
Normal file
88
api/trading-floor.js
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
import request from "@/utils/request.js";
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调货列表
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export function getCommunityList(data) {
|
||||||
|
return request.get('community/lst', data, {
|
||||||
|
noAuth: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 商品详情
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export function getCommunityshow(data) {
|
||||||
|
|
||||||
|
return request.get('community/show/' + data, {}, {
|
||||||
|
noAuth: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可转售的订单列表
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export function getCommunitygetOrderList(data) {
|
||||||
|
return request.get('community/product/lst', data, {
|
||||||
|
noAuth: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发起转售
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export function getCommunitycreate(data) {
|
||||||
|
return request.post(`community/create`, data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改转售
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export function getCommunityUpdate(data) {
|
||||||
|
return request.post(`community/update`, data, {
|
||||||
|
login: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 加入购物车
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
export function getCommunityaddCart(data) {
|
||||||
|
return request.post('community/addCart', data, {
|
||||||
|
noAuth: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//商品宝贝详情
|
||||||
|
|
||||||
|
export function getProductDetail(id) {
|
||||||
|
return request.get('store/product/detail/' + id,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
//获取转售商品详情
|
||||||
|
export function getresaleDetail(id) {
|
||||||
|
return request.get('community/resale/' + id,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//编辑转售商品
|
||||||
|
export function getresaleEdit(id,data) {
|
||||||
|
return request.post('community/resale/edit/' + id,data
|
||||||
|
);
|
||||||
|
}
|
18
api/uniMP.js
Normal file
18
api/uniMP.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
import request from "@/utils/request.js";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取供销平台版本信息
|
||||||
|
*/
|
||||||
|
export function getGXconfig(data) {
|
||||||
|
return request.get("global/config", data);
|
||||||
|
}
|
||||||
|
|
@ -707,4 +707,8 @@ export function hasServiceApi(id) {
|
|||||||
*/
|
*/
|
||||||
export function getBankInfo() {
|
export function getBankInfo() {
|
||||||
return request.get(`user/extract/history_bank`)
|
return request.get(`user/extract/history_bank`)
|
||||||
|
}
|
||||||
|
// 商户账单管理
|
||||||
|
export function getBillDetil() {
|
||||||
|
return request.get(`mer/financial_record`)
|
||||||
}
|
}
|
208
components/WaterfallsFlow/WaterfallsFlowo.vue
Normal file
208
components/WaterfallsFlow/WaterfallsFlowo.vue
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
<template>
|
||||||
|
<view :class="'wf-page wf-page'+type">
|
||||||
|
<!-- left -->
|
||||||
|
|
||||||
|
|
||||||
|
<view>
|
||||||
|
|
||||||
|
<view id="left" v-if="leftList.length">
|
||||||
|
<view v-for="(item,index) in leftList" :key="index"
|
||||||
|
class="wf-itema" @tap="itemTap(item)">
|
||||||
|
<WaterfallsFlowItem :item="item" :isStore="isStore" :type="type" @goShop="goShop"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- right -->
|
||||||
|
<view>
|
||||||
|
<view id="right" v-if="rightList.length">
|
||||||
|
<view v-for="(item,index) in rightList" :key="index"
|
||||||
|
class="wf-itemb" @tap="itemTap(item)">
|
||||||
|
<WaterfallsFlowItem :item="item" :isStore="isStore" :type="type" @goShop="goShop"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import WaterfallsFlowItem from '../WaterfallsFlowItem/WaterfallsFlowItemo.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
WaterfallsFlowItem
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
// 瀑布流列表
|
||||||
|
wfList: {
|
||||||
|
type: Array,
|
||||||
|
require: true
|
||||||
|
},
|
||||||
|
updateNum: {
|
||||||
|
type: Number,
|
||||||
|
default: 10
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
|
isStore: {
|
||||||
|
type: [String, Number],
|
||||||
|
default: '1'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
allList: [], // 全部列表
|
||||||
|
leftList: [], // 左边列表
|
||||||
|
rightList: [], // 右边列表
|
||||||
|
mark: 0, // 列表标记
|
||||||
|
boxHeight: [], // 下标0和1分别为左列和右列高度
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
// 监听列表数据变化
|
||||||
|
wfList: {
|
||||||
|
|
||||||
|
handler(nVal,oVal){
|
||||||
|
|
||||||
|
// 如果数据为空或新的列表数据少于旧的列表数据(通常为下拉刷新或切换排序或使用筛选器),初始化变量
|
||||||
|
if (!this.wfList.length ||
|
||||||
|
(this.wfList.length === this.updateNum && this.wfList.length <= this.allList.length)) {
|
||||||
|
this.allList = [];
|
||||||
|
this.leftList = [];
|
||||||
|
this.rightList = [];
|
||||||
|
this.boxHeight = [];
|
||||||
|
this.mark = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果列表有值,调用waterfall方法
|
||||||
|
if (this.wfList.length) {
|
||||||
|
this.allList = this.wfList;
|
||||||
|
this.leftList = [];
|
||||||
|
this.rightList = [];
|
||||||
|
this.boxHeight = [];
|
||||||
|
this.allList.forEach((v, i) => {
|
||||||
|
if(this.allList.length < 3 || (this.allList.length <= 7 && this.allList.length - i > 1) || (this.allList.length > 7 && this.allList.length - i > 2)) {
|
||||||
|
if(i % 2){
|
||||||
|
this.rightList.push(v);
|
||||||
|
}else{
|
||||||
|
this.leftList.push(v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if(this.allList.length < 3){
|
||||||
|
this.mark = this.allList.length+1;
|
||||||
|
}else if(this.allList.length <= 7){
|
||||||
|
this.mark = this.allList.length - 1;
|
||||||
|
}else{
|
||||||
|
this.mark = this.allList.length - 2;
|
||||||
|
}
|
||||||
|
if(this.mark < this.allList.length){
|
||||||
|
this.waterFall()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
deep:true
|
||||||
|
},
|
||||||
|
mounted(){
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
// 监听标记,当标记发生变化,则执行下一个item排序
|
||||||
|
mark() {
|
||||||
|
const len = this.allList.length;
|
||||||
|
if (this.mark < len && this.mark !== 0 && this.boxHeight.length) {
|
||||||
|
this.waterFall();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 瀑布流排序
|
||||||
|
waterFall() {
|
||||||
|
const i = this.mark;
|
||||||
|
|
||||||
|
if (i == 0) {
|
||||||
|
// 初始化,从左边开始插入
|
||||||
|
this.leftList.push(this.allList[i]);
|
||||||
|
// 更新左边列表高度
|
||||||
|
this.getViewHeight(0);
|
||||||
|
} else if (i == 1) {
|
||||||
|
// 第二个item插入,默认为右边插入
|
||||||
|
this.rightList.push(this.allList[i]);
|
||||||
|
// 更新右边列表高度
|
||||||
|
this.getViewHeight(1);
|
||||||
|
} else {
|
||||||
|
// 根据左右列表高度判断下一个item应该插入哪边
|
||||||
|
if(!this.boxHeight.length){
|
||||||
|
this.rightList.length < this.leftList.length
|
||||||
|
? this.rightList.push(this.allList[i])
|
||||||
|
: this.leftList.push(this.allList[i]);
|
||||||
|
} else {
|
||||||
|
const leftOrRight = this.boxHeight[0] > this.boxHeight[1] ? 1 : 0;
|
||||||
|
if (leftOrRight) {
|
||||||
|
this.rightList.push(this.allList[i])
|
||||||
|
} else {
|
||||||
|
this.leftList.push(this.allList[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 更新插入列表高度
|
||||||
|
this.getViewHeight();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 获取列表高度
|
||||||
|
getViewHeight() {
|
||||||
|
// 使用nextTick,确保页面更新结束后,再请求高度
|
||||||
|
this.$nextTick(() => {
|
||||||
|
setTimeout(()=>{
|
||||||
|
uni.createSelectorQuery().in(this).select('#right').boundingClientRect(res => {
|
||||||
|
res ? this.boxHeight[1] = res.height : '';
|
||||||
|
uni.createSelectorQuery().in(this).select('#left').boundingClientRect(res => {
|
||||||
|
res ? this.boxHeight[0] = res.height : '';
|
||||||
|
this.mark = this.mark + 1;
|
||||||
|
}).exec();
|
||||||
|
}).exec();
|
||||||
|
},100)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// item点击
|
||||||
|
itemTap(item) {
|
||||||
|
// this.$emit('itemTap', item)
|
||||||
|
},
|
||||||
|
// item点击
|
||||||
|
goShop(item) {
|
||||||
|
this.$emit('goShop', item)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
$page-padding: 10px;
|
||||||
|
$grid-gap: 5px;
|
||||||
|
|
||||||
|
.wf-page {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
grid-gap: $grid-gap;
|
||||||
|
}
|
||||||
|
.wf-itema {
|
||||||
|
width: 356rpx;
|
||||||
|
padding-bottom: $grid-gap;
|
||||||
|
}
|
||||||
|
.wf-itemb {
|
||||||
|
width: 356rpx;
|
||||||
|
padding-bottom: $grid-gap;
|
||||||
|
}
|
||||||
|
.wf-page1 .wf-item{
|
||||||
|
margin-top: 20rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
.wf-item-page{
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
</style>
|
209
components/WaterfallsFlow/WaterfallsFlows.vue
Normal file
209
components/WaterfallsFlow/WaterfallsFlows.vue
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
<template>
|
||||||
|
<view :class="'wf-page wf-page'+type">
|
||||||
|
<!-- left -->
|
||||||
|
|
||||||
|
|
||||||
|
<view>
|
||||||
|
|
||||||
|
<view id="left" v-if="leftList.length">
|
||||||
|
<view v-for="(item,index) in leftList" :key="index"
|
||||||
|
class="wf-itema" @tap="itemTap(item)">
|
||||||
|
<WaterfallsFlowItem :item="item" :isStore="isStore" :type="type" @goShop="goShop"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- right -->
|
||||||
|
<view>
|
||||||
|
<view id="right" v-if="rightList.length">
|
||||||
|
<view v-for="(item,index) in rightList" :key="index"
|
||||||
|
class="wf-itemb" @tap="itemTap(item)">
|
||||||
|
<WaterfallsFlowItem :item="item" :isStore="isStore" :type="type" @goShop="goShop"/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import WaterfallsFlowItem from '../WaterfallsFlowItem/WaterfallsFlowItems.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
WaterfallsFlowItem
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
// 瀑布流列表
|
||||||
|
wfList: {
|
||||||
|
type: Array,
|
||||||
|
require: true
|
||||||
|
},
|
||||||
|
updateNum: {
|
||||||
|
type: Number,
|
||||||
|
default: 10
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
|
isStore: {
|
||||||
|
type: [String, Number],
|
||||||
|
default: '1'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
allList: [], // 全部列表
|
||||||
|
leftList: [], // 左边列表
|
||||||
|
rightList: [], // 右边列表
|
||||||
|
mark: 0, // 列表标记
|
||||||
|
boxHeight: [], // 下标0和1分别为左列和右列高度
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
// 监听列表数据变化
|
||||||
|
wfList: {
|
||||||
|
|
||||||
|
handler(nVal,oVal){
|
||||||
|
|
||||||
|
// 如果数据为空或新的列表数据少于旧的列表数据(通常为下拉刷新或切换排序或使用筛选器),初始化变量
|
||||||
|
if (!this.wfList.length ||
|
||||||
|
(this.wfList.length === this.updateNum && this.wfList.length <= this.allList.length)) {
|
||||||
|
this.allList = [];
|
||||||
|
this.leftList = [];
|
||||||
|
this.rightList = [];
|
||||||
|
this.boxHeight = [];
|
||||||
|
this.mark = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果列表有值,调用waterfall方法
|
||||||
|
if (this.wfList.length) {
|
||||||
|
this.allList = this.wfList;
|
||||||
|
this.leftList = [];
|
||||||
|
this.rightList = [];
|
||||||
|
this.boxHeight = [];
|
||||||
|
this.allList.forEach((v, i) => {
|
||||||
|
if(this.allList.length < 3 || (this.allList.length <= 7 && this.allList.length - i > 1) || (this.allList.length > 7 && this.allList.length - i > 2)) {
|
||||||
|
if(i % 2){
|
||||||
|
this.rightList.push(v);
|
||||||
|
}else{
|
||||||
|
this.leftList.push(v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if(this.allList.length < 3){
|
||||||
|
this.mark = this.allList.length+1;
|
||||||
|
}else if(this.allList.length <= 7){
|
||||||
|
this.mark = this.allList.length - 1;
|
||||||
|
}else{
|
||||||
|
this.mark = this.allList.length - 2;
|
||||||
|
}
|
||||||
|
if(this.mark < this.allList.length){
|
||||||
|
this.waterFall()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
deep:true
|
||||||
|
},
|
||||||
|
mounted(){
|
||||||
|
this.getUserInfo()
|
||||||
|
},
|
||||||
|
|
||||||
|
// 监听标记,当标记发生变化,则执行下一个item排序
|
||||||
|
mark() {
|
||||||
|
const len = this.allList.length;
|
||||||
|
if (this.mark < len && this.mark !== 0 && this.boxHeight.length) {
|
||||||
|
this.waterFall();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
// 瀑布流排序
|
||||||
|
waterFall() {
|
||||||
|
const i = this.mark;
|
||||||
|
if (i == 0) {
|
||||||
|
// 初始化,从左边开始插入
|
||||||
|
this.leftList.push(this.allList[i]);
|
||||||
|
// 更新左边列表高度
|
||||||
|
this.getViewHeight(0);
|
||||||
|
} else if (i == 1) {
|
||||||
|
// 第二个item插入,默认为右边插入
|
||||||
|
this.rightList.push(this.allList[i]);
|
||||||
|
// 更新右边列表高度
|
||||||
|
this.getViewHeight(1);
|
||||||
|
} else {
|
||||||
|
// 根据左右列表高度判断下一个item应该插入哪边
|
||||||
|
if(!this.boxHeight.length){
|
||||||
|
this.rightList.length < this.leftList.length
|
||||||
|
? this.rightList.push(this.allList[i])
|
||||||
|
: this.leftList.push(this.allList[i]);
|
||||||
|
} else {
|
||||||
|
const leftOrRight = this.boxHeight[0] > this.boxHeight[1] ? 1 : 0;
|
||||||
|
if (leftOrRight) {
|
||||||
|
this.rightList.push(this.allList[i])
|
||||||
|
} else {
|
||||||
|
this.leftList.push(this.allList[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 更新插入列表高度
|
||||||
|
this.getViewHeight();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 获取列表高度
|
||||||
|
getViewHeight() {
|
||||||
|
// 使用nextTick,确保页面更新结束后,再请求高度
|
||||||
|
this.$nextTick(() => {
|
||||||
|
setTimeout(()=>{
|
||||||
|
uni.createSelectorQuery().in(this).select('#right').boundingClientRect(res => {
|
||||||
|
res ? this.boxHeight[1] = res.height : '';
|
||||||
|
uni.createSelectorQuery().in(this).select('#left').boundingClientRect(res => {
|
||||||
|
res ? this.boxHeight[0] = res.height : '';
|
||||||
|
this.mark = this.mark + 1;
|
||||||
|
}).exec();
|
||||||
|
}).exec();
|
||||||
|
},100)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// item点击
|
||||||
|
itemTap(item) {
|
||||||
|
// this.$emit('itemTap', item)
|
||||||
|
},
|
||||||
|
// item点击
|
||||||
|
goShop(item) {
|
||||||
|
this.$emit('goShop', item)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
$page-padding: 10px;
|
||||||
|
$grid-gap: 5px;
|
||||||
|
|
||||||
|
.wf-page {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
grid-gap: $grid-gap;
|
||||||
|
}
|
||||||
|
.wf-itema {
|
||||||
|
width: 356rpx;
|
||||||
|
padding-bottom: $grid-gap;
|
||||||
|
}
|
||||||
|
.wf-itemb {
|
||||||
|
width: 356rpx;
|
||||||
|
padding-bottom: $grid-gap;
|
||||||
|
}
|
||||||
|
.wf-page1 .wf-item{
|
||||||
|
margin-top: 20rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
.wf-item-page{
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
</style>
|
206
components/WaterfallsFlowItem/WaterfallsFlowItemo.vue
Normal file
206
components/WaterfallsFlowItem/WaterfallsFlowItemo.vue
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
<template>
|
||||||
|
<view class="wf-item-page" @click="gogogo(item)">
|
||||||
|
|
||||||
|
<image :src="item.image" mode="widthFix" class="item-img" />
|
||||||
|
|
||||||
|
<view class="title">{{item.store_name}}</view>
|
||||||
|
<!-- <view class="tag">
|
||||||
|
<view class="tag-one">
|
||||||
|
自营商品
|
||||||
|
</view>
|
||||||
|
<view class="tag-two">
|
||||||
|
|
||||||
|
<text class="tag-twoa">折</text>
|
||||||
|
<text class="tag-twob">满20包邮</text>
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
<view class="relase">
|
||||||
|
<view class="relase-one">
|
||||||
|
{{item.rate}}
|
||||||
|
</view>
|
||||||
|
<view class="relase-two">
|
||||||
|
{{item.reply_count}}评论
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="price">
|
||||||
|
<span>¥</span>{{item.price.split('.')[0]}}.<text>{{item.price.split('.')[1]}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="item-info">
|
||||||
|
<view class="info-title" style="margin-right: 10rpx;">
|
||||||
|
{{item.merchant.mer_name}}
|
||||||
|
</view>
|
||||||
|
<view class="info-img">
|
||||||
|
<image src="@/static/images/you.png" mode="aspectFit"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
item: {
|
||||||
|
type: Object,
|
||||||
|
require: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
gogogo(item) {
|
||||||
|
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/goods_details/index?id=' + item.product_id
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.wf-item-page {
|
||||||
|
background: #fff;
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 5px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-img {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-info {}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
margin: 12px 0;
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
|
||||||
|
margin-left: 21rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tag {
|
||||||
|
display: flex;
|
||||||
|
margin-left: 21rpx;
|
||||||
|
|
||||||
|
.tag-one {
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
padding: 2rpx 9rpx;
|
||||||
|
border-radius: 11rpx 11rpx 11rpx 11rpx;
|
||||||
|
border: 1px solid #3274F9;
|
||||||
|
font-size: 19rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
margin-right: 15rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tag-two {
|
||||||
|
|
||||||
|
.tag-twoa {
|
||||||
|
width: 130rpx;
|
||||||
|
text-align: center;
|
||||||
|
padding-left: 15rpx;
|
||||||
|
padding-right: 7rpx;
|
||||||
|
border-radius: 11rpx 0px 0px 0rpx;
|
||||||
|
border: 1px solid #F84221;
|
||||||
|
font-size: 19rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tag-twob {
|
||||||
|
width: 130rpx;
|
||||||
|
text-align: center;
|
||||||
|
padding: 2rpx 9rpx;
|
||||||
|
border-radius: 0px 11rpx 11rpx 0px;
|
||||||
|
border: 1px solid #F84221;
|
||||||
|
font-size: 19rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.relase {
|
||||||
|
display: flex;
|
||||||
|
margin-left: 21rpx;
|
||||||
|
margin-top: 12rpx;
|
||||||
|
height: 26rpx;
|
||||||
|
line-height: 26rpx;
|
||||||
|
.relase-one {
|
||||||
|
// font-style: italic;
|
||||||
|
transform: skewX(-15deg);
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-family: SF Pro Display-Regular Italic, SF Pro Display;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #FF6D20;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.relase-two {
|
||||||
|
font-size: 23rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #B3B3B3;
|
||||||
|
margin-left: 13rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.price {
|
||||||
|
margin-left: 21rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
color: #F84221;
|
||||||
|
font-size: 44rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: #F84221;
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
text {
|
||||||
|
color: #F84221;
|
||||||
|
font-size: 37rpx;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-info {
|
||||||
|
margin-left: 21rpx;
|
||||||
|
margin-bottom: 25rpx;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
width: 280rpx;
|
||||||
|
height: 39rpx;
|
||||||
|
line-height: 39rpx;
|
||||||
|
background: #F4F7FE;
|
||||||
|
border-radius: 19rpx 19rpx;
|
||||||
|
opacity: 1;
|
||||||
|
font-size: 23rpx;
|
||||||
|
padding-left: 11rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #737373;
|
||||||
|
|
||||||
|
.info-img {
|
||||||
|
width: 21rpx;
|
||||||
|
height: 21rpx;
|
||||||
|
margin-top: 5rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
134
components/WaterfallsFlowItem/WaterfallsFlowItems.vue
Normal file
134
components/WaterfallsFlowItem/WaterfallsFlowItems.vue
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
<template>
|
||||||
|
<view class="wf-item-page" @click="gogogo(item)">
|
||||||
|
|
||||||
|
<image :src="item.image[0]" mode="widthFix" class="item-img" />
|
||||||
|
|
||||||
|
<view class="goods_item_img" v-if="item.video_link.length>0">
|
||||||
|
<image src="@/static/images/sp.png" mode="aspectFit"></image>
|
||||||
|
</view>
|
||||||
|
<view class="title">{{item.title}}</view>
|
||||||
|
<view class="item-info">
|
||||||
|
<image :src="(item.author && item.author.avatar) || '/static/images/f.png'" mode="aspectFit"
|
||||||
|
class="info-avatar" />
|
||||||
|
<view class="info-nickname">{{ item.author.nickname }}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
getUserInfo
|
||||||
|
} from '@/api/user.js';
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
item: {
|
||||||
|
type: Object,
|
||||||
|
require: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
user_id: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
mounted() {
|
||||||
|
this.getUserInfo()
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
/**
|
||||||
|
* 获取个人用户信息
|
||||||
|
*/
|
||||||
|
getUserInfo: function() {
|
||||||
|
let that = this;
|
||||||
|
getUserInfo().then(res => {
|
||||||
|
this.user_id = res.data.uid
|
||||||
|
});
|
||||||
|
},
|
||||||
|
gogogo(item) {
|
||||||
|
if (item.video_link.length > 0) {
|
||||||
|
uni.navigateTo({
|
||||||
|
// #ifdef MP || H5
|
||||||
|
url: `/pages/short_video/nvueSwiper/index?id=${item.community_id}&uid=${this.user_id}&user=1`
|
||||||
|
// #endif
|
||||||
|
// #ifdef APP
|
||||||
|
url: `/pages/short_video/appSwiper/index?id=${item.community_id}&uid=${this.user_id}&user=1`
|
||||||
|
// #endif
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/plantGrass/plant_detail/index?id=${item.community_id}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.wf-item-page {
|
||||||
|
background: #fff;
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 5px;
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-img {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-info {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_item_img {
|
||||||
|
position: absolute;
|
||||||
|
top: 20rpx;
|
||||||
|
right: 18rpx;
|
||||||
|
width: 52rpx;
|
||||||
|
height: 52rpx;
|
||||||
|
z-index: 1 !important;
|
||||||
|
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
margin: 12px 0;
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-avatar {
|
||||||
|
width: 49rpx;
|
||||||
|
height: 49rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-nickname {
|
||||||
|
font-size: 12px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
</style>
|
@ -8,7 +8,7 @@
|
|||||||
<text class='iconfont icon-ditu' :class='active==index?"t-color":""'></text>
|
<text class='iconfont icon-ditu' :class='active==index?"t-color":""'></text>
|
||||||
<view class='address'>
|
<view class='address'>
|
||||||
<view class='name' :class='active==index?"t-color":""'>{{item.real_name}}<text class='phone'>{{item.phone}}</text></view>
|
<view class='name' :class='active==index?"t-color":""'>{{item.real_name}}<text class='phone'>{{item.phone}}</text></view>
|
||||||
<view class='line1'>{{item.province}}{{item.city}}{{item.district}}{{item.street || ''}}{{item.detail}}</view>
|
<view class='line1'>{{item.province}}{{item.city}}{{item.district}}{{item.street || ''}}{{item.brigade}}{{item.detail}}</view>
|
||||||
</view>
|
</view>
|
||||||
<text class='iconfont icon-complete' :class='active==index?"t-color":""'></text>
|
<text class='iconfont icon-complete' :class='active==index?"t-color":""'></text>
|
||||||
</view>
|
</view>
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
// | Author: CRMEB Team <admin@crmeb.com>
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
import {getAddressList} from '@/api/user.js';
|
import {getAddressList} from '@/api/user.js';
|
||||||
import { getCityV2 } from '@/api/api.js';
|
import { getCityV2,village } from '@/api/api.js';
|
||||||
import { mapGetters } from "vuex";
|
import { mapGetters } from "vuex";
|
||||||
const CACHE_ADDRESS = {};
|
const CACHE_ADDRESS = {};
|
||||||
export default {
|
export default {
|
||||||
@ -87,25 +87,74 @@
|
|||||||
this.loadAddress(0)
|
this.loadAddress(0)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
change(pid,index){
|
change(pid){
|
||||||
if(this.selectedIndex == index) return;
|
if(this.selectedIndex == index) return;
|
||||||
if(pid === -1){
|
if(pid === -1){
|
||||||
pid = this.selectedArr.length ? this.selectedArr[this.selectedArr.length -1].id : 0;
|
pid = this.selectedArr.length ? this.selectedArr[this.selectedArr.length -1].id : 0;
|
||||||
}
|
}
|
||||||
|
console.log(index)
|
||||||
this.selectedIndex = index;
|
this.selectedIndex = index;
|
||||||
this.loadAddress(pid);
|
this.loadAddress(pid);
|
||||||
},
|
},
|
||||||
loadAddress(pid){
|
loadAddress(pid,type){
|
||||||
if(CACHE_ADDRESS[pid]){
|
if(CACHE_ADDRESS[pid]){
|
||||||
this.addressList = CACHE_ADDRESS[pid];
|
this.addressList = CACHE_ADDRESS[pid];
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
this.is_loading = true;
|
this.is_loading = true;
|
||||||
getCityV2(pid).then(res=>{
|
// getCityV2(pid).then(res=>{
|
||||||
this.is_loading = false;
|
|
||||||
CACHE_ADDRESS[pid] = res.data;
|
// this.is_loading = false;
|
||||||
this.addressList = res.data;
|
// CACHE_ADDRESS[pid] = res.data;
|
||||||
})
|
// this.addressList = res.data;
|
||||||
|
// })
|
||||||
|
|
||||||
|
if(type=='province'){
|
||||||
|
|
||||||
|
village({province_code:pid}).then(res=>{
|
||||||
|
this.is_loading = false;
|
||||||
|
CACHE_ADDRESS[pid] = res.data;
|
||||||
|
this.addressList = res.data;
|
||||||
|
|
||||||
|
})
|
||||||
|
}else if(type=='city'){
|
||||||
|
village({city_code:pid}).then(res=>{
|
||||||
|
this.is_loading = false;
|
||||||
|
CACHE_ADDRESS[pid] = res.data;
|
||||||
|
this.addressList = res.data;
|
||||||
|
|
||||||
|
})
|
||||||
|
}else if(type=='area'){
|
||||||
|
village({area_code:pid}).then(res=>{
|
||||||
|
if(res.data.length>0){
|
||||||
|
this.is_loading = false;
|
||||||
|
CACHE_ADDRESS[pid] = res.data;
|
||||||
|
this.addressList = res.data;
|
||||||
|
}else{
|
||||||
|
this.$emit('submit', [...this.selectedArr]);
|
||||||
|
this.$emit('changeClose');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else if(type=='street'){
|
||||||
|
village({street_code:pid}).then(res=>{
|
||||||
|
if(res.data.length>0){
|
||||||
|
this.is_loading = false;
|
||||||
|
CACHE_ADDRESS[pid] = res.data;
|
||||||
|
this.addressList = res.data;
|
||||||
|
}else{
|
||||||
|
this.$emit('submit', [...this.selectedArr]);
|
||||||
|
this.$emit('changeClose');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
|
||||||
|
village().then(res=>{
|
||||||
|
this.is_loading = false;
|
||||||
|
CACHE_ADDRESS[pid] = res.data;
|
||||||
|
this.addressList = res.data;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
this.goTop()
|
this.goTop()
|
||||||
},
|
},
|
||||||
selected(item){
|
selected(item){
|
||||||
@ -114,17 +163,49 @@
|
|||||||
this.selectedArr.splice(this.selectedIndex + 1,999)
|
this.selectedArr.splice(this.selectedIndex + 1,999)
|
||||||
this.selectedArr[this.selectedIndex] = item;
|
this.selectedArr[this.selectedIndex] = item;
|
||||||
this.selectedIndex = -1;
|
this.selectedIndex = -1;
|
||||||
}else if(!item.parent_id){
|
}
|
||||||
|
|
||||||
|
// else if(!item.parent_id){
|
||||||
|
// this.selectedArr = [item];
|
||||||
|
// }else{
|
||||||
|
// this.selectedArr.push(item);
|
||||||
|
// }
|
||||||
|
else if(!item.id){
|
||||||
this.selectedArr = [item];
|
this.selectedArr = [item];
|
||||||
}else{
|
}else{
|
||||||
this.selectedArr.push(item);
|
|
||||||
|
if(this.selectedArr.length>4){
|
||||||
|
let arry=[]
|
||||||
|
arry.push(item)
|
||||||
|
this.selectedArr=arry
|
||||||
|
}else{
|
||||||
|
this.selectedArr.push(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
if(item.snum){
|
|
||||||
this.loadAddress(item.id);
|
if(item.type=="province"){
|
||||||
|
|
||||||
|
this.loadAddress(item.code,"province");
|
||||||
|
|
||||||
|
}else if(item.type=="city"){
|
||||||
|
this.loadAddress(item.code,"city");
|
||||||
|
}else if(item.type=="area"){
|
||||||
|
this.loadAddress(item.code,"area");
|
||||||
|
}else if(item.type=="street"){
|
||||||
|
this.loadAddress(item.code,"street");
|
||||||
} else {
|
} else {
|
||||||
this.$emit('submit', [...this.selectedArr]);
|
this.$emit('submit', [...this.selectedArr]);
|
||||||
this.$emit('changeClose');
|
this.$emit('changeClose');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if(item.snum){
|
||||||
|
// this.loadAddress(item.id);
|
||||||
|
// } else {
|
||||||
|
// this.$emit('submit', [...this.selectedArr]);
|
||||||
|
// this.$emit('changeClose');
|
||||||
|
// }
|
||||||
this.goTop()
|
this.goTop()
|
||||||
},
|
},
|
||||||
close: function() {
|
close: function() {
|
||||||
|
@ -9,9 +9,10 @@
|
|||||||
<view class="close" @click="closeShowBox"><text class="iconfont icon-guanbi"></text></view>
|
<view class="close" @click="closeShowBox"><text class="iconfont icon-guanbi"></text></view>
|
||||||
</view>
|
</view>
|
||||||
<view class="box">
|
<view class="box">
|
||||||
<view class="check-item" v-for="(item,index) in radioList" :key="index" :class="{on:index == radioIndex}">
|
<view class="check-item" v-for="(item,index) in radioList" :key="index"
|
||||||
|
:class="{on:index == radioIndex}">
|
||||||
<view>{{item.title}}</view>
|
<view>{{item.title}}</view>
|
||||||
<view class="radio" @click="bindCheck(item,index)">
|
<view class="radio" @click="bindCheck(item,index)">
|
||||||
<block v-if="index == newData.order.isTake">
|
<block v-if="index == newData.order.isTake">
|
||||||
<view class="iconfont icon-xuanzhong1"></view>
|
<view class="iconfont icon-xuanzhong1"></view>
|
||||||
</block>
|
</block>
|
||||||
@ -39,77 +40,79 @@
|
|||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Author: CRMEB Team <admin@crmeb.com>
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
import { mapGetters } from "vuex";
|
import {
|
||||||
export default{
|
mapGetters
|
||||||
name:'checkDelivery',
|
} from "vuex";
|
||||||
props:{
|
export default {
|
||||||
isShowBox:{
|
name: 'checkDelivery',
|
||||||
type:Boolean,
|
props: {
|
||||||
default:false
|
isShowBox: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
},
|
},
|
||||||
activeObj:{
|
activeObj: {
|
||||||
type:Object,
|
type: Object,
|
||||||
default:function(){
|
default: function() {
|
||||||
return {}
|
return {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
deliveryName:{
|
deliveryName: {
|
||||||
type:String,
|
type: String,
|
||||||
default:'快递配送'
|
default: '快递配送'
|
||||||
},
|
},
|
||||||
radioList:{
|
radioList: {
|
||||||
type:Array,
|
type: Array,
|
||||||
default: [
|
default: [{
|
||||||
{
|
title: '快递配送',
|
||||||
title:'快递配送',
|
check: true
|
||||||
check:true
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title:'到店核销',
|
title: '到店核销',
|
||||||
check:false
|
check: false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
computed: mapGetters(['viewColor']),
|
computed: mapGetters(['viewColor']),
|
||||||
data(){
|
data() {
|
||||||
return {
|
return {
|
||||||
radioIndex:0,
|
radioIndex: 0,
|
||||||
oldRadioIndex:'', //旧的索引
|
oldRadioIndex: '', //旧的索引
|
||||||
newData:{}
|
newData: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.newData = JSON.parse(JSON.stringify(this.activeObj))
|
this.newData = JSON.parse(JSON.stringify(this.activeObj))
|
||||||
},
|
},
|
||||||
methods:{
|
methods: {
|
||||||
// 关闭配送方式弹窗
|
// 关闭配送方式弹窗
|
||||||
closeShowBox(){
|
closeShowBox() {
|
||||||
this.$emit('close')
|
this.$emit('close')
|
||||||
},
|
},
|
||||||
// 选择配送方式
|
// 选择配送方式
|
||||||
bindCheck(item,index){
|
bindCheck(item, index) {
|
||||||
this.newData.order.isTake = index
|
this.newData.order.isTake = index
|
||||||
},
|
},
|
||||||
confirmBtn(){
|
confirmBtn() {
|
||||||
this.$emit('confirmBtn',this.newData)
|
this.$emit('confirmBtn', this.newData)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.mask-box{
|
.mask-box {
|
||||||
.bg{
|
.bg {
|
||||||
z-index: 30;
|
z-index: 30;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: rgba(0,0,0,0.5);
|
background: rgba(0, 0, 0, 0.5);
|
||||||
}
|
}
|
||||||
.mask-content{
|
|
||||||
|
.mask-content {
|
||||||
z-index: 40;
|
z-index: 40;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
@ -119,45 +122,54 @@
|
|||||||
border-radius: 16rpx 16rpx 0 0;
|
border-radius: 16rpx 16rpx 0 0;
|
||||||
transform: translate3d(0, 100%, 0);
|
transform: translate3d(0, 100%, 0);
|
||||||
transition: all .3s cubic-bezier(.25, .5, .5, .9);
|
transition: all .3s cubic-bezier(.25, .5, .5, .9);
|
||||||
.title-bar{
|
|
||||||
|
.title-bar {
|
||||||
position: relative;
|
position: relative;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 30rpx 0;
|
padding: 30rpx 0;
|
||||||
margin-bottom: 20rpx;
|
margin-bottom: 20rpx;
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #282828;
|
color: #282828;
|
||||||
.close{
|
|
||||||
|
.close {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 30rpx;
|
right: 30rpx;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
transform: translateY(-50%);
|
transform: translateY(-50%);
|
||||||
.iconfont{
|
|
||||||
|
.iconfont {
|
||||||
color: #8A8A8A;
|
color: #8A8A8A;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.box{
|
|
||||||
|
.box {
|
||||||
padding: 0 30rpx;
|
padding: 0 30rpx;
|
||||||
.check-item{
|
|
||||||
|
.check-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
height: 40rpx;
|
height: 40rpx;
|
||||||
margin-bottom: 50rpx;
|
margin-bottom: 50rpx;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
.iconfont{
|
|
||||||
|
.iconfont {
|
||||||
font-size: 38rpx;
|
font-size: 38rpx;
|
||||||
color: #CCCCCC;
|
color: #CCCCCC;
|
||||||
&.icon-xuanzhong1{
|
|
||||||
|
&.icon-xuanzhong1 {
|
||||||
color: var(--view-theme);
|
color: var(--view-theme);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.foot{
|
|
||||||
|
.foot {
|
||||||
padding: 15rpx 30rpx;
|
padding: 15rpx 30rpx;
|
||||||
border-top: 1px solid #F5F5F5;
|
border-top: 1px solid #F5F5F5;
|
||||||
.btn{
|
|
||||||
|
.btn {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 70rpx;
|
height: 70rpx;
|
||||||
line-height: 70rpx;
|
line-height: 70rpx;
|
||||||
@ -168,9 +180,10 @@
|
|||||||
background: var(--view-theme);
|
background: var(--view-theme);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.animated {
|
.animated {
|
||||||
animation-duration: .3s
|
animation-duration: .3s
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
129
components/cx-navTitle.vue
Normal file
129
components/cx-navTitle.vue
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
<template>
|
||||||
|
<!-- tab选项卡滑动切换 -->
|
||||||
|
<view class="my-tab" ref="myTabRef">
|
||||||
|
<view class="my-tab-item" v-for="(item, index) in tabs" :ref="`tab${item.name}Ref`"
|
||||||
|
:class="{ active: item.name === activeItem }" :key="index">
|
||||||
|
<view class="my-tab-text" ref="tabName" @click="tabClick(item,index)">
|
||||||
|
<view class="name">{{ item.label }}</view>
|
||||||
|
<view class="xian" v-if='isshow'></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
tabs -- 传入标签名 array类型 : tabs: [{name: "tabOne",label: "全部"},{...}]
|
||||||
|
activeItem -- 默认第一个class名 string
|
||||||
|
@tabClick -- 自定义点击事件 回传用到 做逻辑判断
|
||||||
|
标签大小、默认颜色、选中颜色,下边框线等样式,已在css中注释,请根据注释修改即可
|
||||||
|
*/
|
||||||
|
export default {
|
||||||
|
name: "cx-navTitle",
|
||||||
|
props: {
|
||||||
|
tabs: { //所有标签名
|
||||||
|
type: Array,
|
||||||
|
default: []
|
||||||
|
},
|
||||||
|
activeItem: { //默认第一个 选中的class类名
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
show: {
|
||||||
|
type: Boolean,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isshow: true,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.isshow = this.show
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// tab点击
|
||||||
|
tabClick(item, index) {
|
||||||
|
this.$emit('tabClick', item) //回传数据
|
||||||
|
// 触发滑动方法
|
||||||
|
this.scrollLeftTo(item.name);
|
||||||
|
},
|
||||||
|
// 滑动
|
||||||
|
scrollLeftTo(name) {
|
||||||
|
const ref = `tab${name}Ref`;
|
||||||
|
// 获取myTabRef的DOM元素,即类名为my-tab的标签
|
||||||
|
const nav = this.$refs.myTabRef.$el;
|
||||||
|
// 获取当前点击的某一个tab的的DOM元素,即类名为my-tab-item的标签
|
||||||
|
const title = this.$refs[ref][0].$el;
|
||||||
|
// 计算位移偏差
|
||||||
|
// #ifdef H5
|
||||||
|
const to = title.offsetLeft - (nav.offsetWidth - title.offsetWidth) / 2;
|
||||||
|
nav.scrollLeft = to;
|
||||||
|
// #endif
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.my-tab {
|
||||||
|
width: 720rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
// height:80rpx;
|
||||||
|
// background: #ffffff;
|
||||||
|
// line-height:80rpx;
|
||||||
|
// border:1px solid red;
|
||||||
|
display: flex;
|
||||||
|
overflow-x: scroll;
|
||||||
|
padding-right: 0rpx;
|
||||||
|
scroll-behavior: smooth; //平稳的滑动效果
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang-SC-Heavy;
|
||||||
|
|
||||||
|
.my-tab-item {
|
||||||
|
padding: 20rpx 35rpx; //标签上下左右距离 -- 在这里改
|
||||||
|
color: #707070; //标签默认颜色 -- 在这里改
|
||||||
|
// height: 0rpx;
|
||||||
|
text-align: center;
|
||||||
|
flex: 1 0 auto;
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
color: #333333; //标签选中颜色 -- 在这里改
|
||||||
|
font-family: PingFang-SC-Heavy;
|
||||||
|
font-weight: 600;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.my-tab-text {
|
||||||
|
.xian {
|
||||||
|
position: relative;
|
||||||
|
top: 0rpx; //下边框线和标签距离 -- 在这里改
|
||||||
|
z-index: 8;
|
||||||
|
width: 26px;
|
||||||
|
margin: 0 auto;
|
||||||
|
border: 1rpx solid #F84221; //标签底部下边框线 -- 在这里改
|
||||||
|
border-radius: 50rpx;
|
||||||
|
padding: 0rpx 30rpx;
|
||||||
|
opacity: 0.6; //下边框线透明度 -- 在这里改
|
||||||
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
position: relative;
|
||||||
|
z-index: 9;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
color: #F84221;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 隐藏滚动条
|
||||||
|
::-webkit-scrollbar {
|
||||||
|
height: 0;
|
||||||
|
width: 0;
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
</style>
|
448
components/e-select/e-select.vue
Normal file
448
components/e-select/e-select.vue
Normal file
@ -0,0 +1,448 @@
|
|||||||
|
<template>
|
||||||
|
<view
|
||||||
|
class="e-stat__select"
|
||||||
|
:style="{ width: width, minWidth: minWidth }">
|
||||||
|
<!-- 主体区域 -->
|
||||||
|
<view class="e-select-main">
|
||||||
|
<view
|
||||||
|
class="e-select"
|
||||||
|
:class="{ 'e-select-disabled': disabled }">
|
||||||
|
<view
|
||||||
|
class="e-select__input-box"
|
||||||
|
@click="toggleSelector">
|
||||||
|
<!-- 微信小程序input组件在部分安卓机型上会出现文字重影,placeholder抖动问题,2019年时微信小程序就有这个问题,一直没修复,估计短时间内也别指望修复了 -->
|
||||||
|
<input
|
||||||
|
class="e-select__input-text"
|
||||||
|
:placeholder="placeholder"
|
||||||
|
v-model="currentData"
|
||||||
|
@input="filter"
|
||||||
|
v-if="search && !disabled" />
|
||||||
|
<view
|
||||||
|
class="e-select__input-text"
|
||||||
|
v-else>
|
||||||
|
{{ currentData || currentData === 0 ? currentData : placeholder }}
|
||||||
|
</view>
|
||||||
|
<!-- 用一个更大的盒子包裹图标,便于点击 -->
|
||||||
|
<view
|
||||||
|
class="e-select-icon"
|
||||||
|
@click.stop="clearVal"
|
||||||
|
v-if="currentData && clear && !disabled">
|
||||||
|
<uni-icons
|
||||||
|
type="clear"
|
||||||
|
color="#e1e1e1"
|
||||||
|
size="18"></uni-icons>
|
||||||
|
</view>
|
||||||
|
<view
|
||||||
|
class="e-select-icon"
|
||||||
|
@click.stop="toggleSelector"
|
||||||
|
v-else>
|
||||||
|
<uni-icons
|
||||||
|
size="14"
|
||||||
|
color="#999"
|
||||||
|
type="top"
|
||||||
|
class="arrowAnimation"
|
||||||
|
:class="showSelector ? 'top' : 'bottom'"></uni-icons>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 全屏遮罩-->
|
||||||
|
<view
|
||||||
|
class="e-select--mask"
|
||||||
|
v-if="showSelector"
|
||||||
|
@click="toggleSelector" />
|
||||||
|
<!-- 选项列表 这里用v-show是因为微信小程序会报警告 [Component] slot "" is not found,v-if会导致开发工具不能正确识别到slot -->
|
||||||
|
<!-- https://developers.weixin.qq.com/community/minihome/doc/000c8295730700d1cd7c81b9656c00 -->
|
||||||
|
<view
|
||||||
|
class="e-select__selector"
|
||||||
|
v-show="showSelector">
|
||||||
|
<!-- 三角小箭头 -->
|
||||||
|
<view class="e-popper__arrow"></view>
|
||||||
|
<scroll-view
|
||||||
|
scroll-y="true"
|
||||||
|
:scroll-top="scrollTop"
|
||||||
|
class="e-select__selector-scroll"
|
||||||
|
:scroll-into-view="scrollToId"
|
||||||
|
:scroll-with-animation="scrollWithAnimation"
|
||||||
|
v-if="showSelector">
|
||||||
|
<view
|
||||||
|
class="e-select__selector-empty"
|
||||||
|
v-if="currentOptions.length === 0">
|
||||||
|
<text>{{ emptyTips }}</text>
|
||||||
|
</view>
|
||||||
|
<!-- 非空,渲染选项列表 -->
|
||||||
|
<view
|
||||||
|
v-else
|
||||||
|
class="e-select__selector-item"
|
||||||
|
:class="[
|
||||||
|
{ highlight: currentData == item[props.text] },
|
||||||
|
{
|
||||||
|
'e-select__selector-item-disabled': item[props.disabled],
|
||||||
|
},
|
||||||
|
]"
|
||||||
|
v-for="(item, index) in currentOptions"
|
||||||
|
:key="index"
|
||||||
|
@click="change(item, index)">
|
||||||
|
<text>{{ item[props.text] }}</text>
|
||||||
|
<view
|
||||||
|
id="scrollToId"
|
||||||
|
v-if="currentData == item[props.text]"></view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
<slot />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'e-select',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 是否显示下拉选择列表
|
||||||
|
showSelector: false,
|
||||||
|
// 当前选项
|
||||||
|
currentOptions: [],
|
||||||
|
// 当前值
|
||||||
|
currentData: '',
|
||||||
|
// 旧的滚动高度
|
||||||
|
oldScrollTop: 0,
|
||||||
|
// 最新的滚动高度
|
||||||
|
scrollTop: 0,
|
||||||
|
// 滚动至的id
|
||||||
|
scrollToId: '',
|
||||||
|
// 滚动动画
|
||||||
|
scrollWithAnimation: false,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
// 选项列表
|
||||||
|
options: {
|
||||||
|
type: Array,
|
||||||
|
default() {
|
||||||
|
return [];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// 配置选项
|
||||||
|
props: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {
|
||||||
|
text: 'text',
|
||||||
|
value: 'value',
|
||||||
|
disabled: 'disabled',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// vue2 v-model传值方式
|
||||||
|
value: {
|
||||||
|
type: [String, Number],
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
// vue3 v-model传值方式
|
||||||
|
modelValue: {
|
||||||
|
type: [String, Number],
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
// 占位
|
||||||
|
placeholder: {
|
||||||
|
type: String,
|
||||||
|
default: '请选择',
|
||||||
|
},
|
||||||
|
// 宽度
|
||||||
|
width: {
|
||||||
|
type: String,
|
||||||
|
default: '100%',
|
||||||
|
},
|
||||||
|
// 最小宽度
|
||||||
|
minWidth: {
|
||||||
|
type: String,
|
||||||
|
default: '120rpx',
|
||||||
|
},
|
||||||
|
// 空值占位
|
||||||
|
emptyTips: {
|
||||||
|
type: String,
|
||||||
|
default: '暂无选项',
|
||||||
|
},
|
||||||
|
// 是否可清除
|
||||||
|
clear: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
// 是否禁用
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
// 开启搜索
|
||||||
|
search: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
// 搜索开启滚动动画
|
||||||
|
animation: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
options: {
|
||||||
|
handler() {
|
||||||
|
this.currentOptions = this.options;
|
||||||
|
this.initData();
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
deep: true,
|
||||||
|
},
|
||||||
|
modelValue: {
|
||||||
|
handler() {
|
||||||
|
this.initData();
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
},
|
||||||
|
value: {
|
||||||
|
handler() {
|
||||||
|
this.initData();
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 处理数据,此函数用于兼容vue2 vue3 */
|
||||||
|
initData() {
|
||||||
|
this.currentData = '';
|
||||||
|
// vue2
|
||||||
|
if (this.value || this.value === 0) {
|
||||||
|
for (let item of this.options) {
|
||||||
|
if (item[this.props.value] === this.value) {
|
||||||
|
this.currentData = item[this.props.text];
|
||||||
|
this.$emit('getText', this.currentData);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// vue3
|
||||||
|
if (this.modelValue || this.modelValue === 0) {
|
||||||
|
for (let item of this.options) {
|
||||||
|
if (item[this.props.value] === this.modelValue) {
|
||||||
|
this.currentData = item[this.props.text];
|
||||||
|
this.$emit('getText', this.currentData);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 过滤选项列表,会自动回到顶部 */
|
||||||
|
filter() {
|
||||||
|
this.$emit('getText', this.currentData);
|
||||||
|
if (this.currentData) {
|
||||||
|
this.currentOptions = this.options.filter((item) => {
|
||||||
|
return item[this.props.text].indexOf(this.currentData) > -1;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.currentOptions = this.options;
|
||||||
|
}
|
||||||
|
// scrollTop变化,才能触发滚动顶部
|
||||||
|
this.scrollTop = 1;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.scrollTop = 0;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 改变值 */
|
||||||
|
change(item, index) {
|
||||||
|
if (item[this.props.disabled]) return;
|
||||||
|
const data = {
|
||||||
|
...item,
|
||||||
|
index,
|
||||||
|
};
|
||||||
|
this.$emit('change', data);
|
||||||
|
this.emit(data);
|
||||||
|
this.toggleSelector();
|
||||||
|
},
|
||||||
|
/** 传递父组件值 */
|
||||||
|
emit(item) {
|
||||||
|
this.$emit('input', item[this.props.value]);
|
||||||
|
this.$emit('update:modelValue', item[this.props.value]);
|
||||||
|
},
|
||||||
|
/** 清空值 */
|
||||||
|
clearVal() {
|
||||||
|
this.$emit('change', 'clear');
|
||||||
|
this.$emit('input', '');
|
||||||
|
this.$emit('update:modelValue', '');
|
||||||
|
},
|
||||||
|
/** 切换下拉显示 */
|
||||||
|
toggleSelector() {
|
||||||
|
if (this.disabled) return;
|
||||||
|
this.showSelector = !this.showSelector;
|
||||||
|
if (this.showSelector) {
|
||||||
|
this.currentOptions = this.options;
|
||||||
|
// scrollToId变化,才能触发scroll-to-view的滚动
|
||||||
|
this.scrollToId = '';
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.scrollToId = 'scrollToId';
|
||||||
|
// 设计理念:只在filter时触发滚动动画,因为每次打开就触发,用户体验不好
|
||||||
|
if (this.animation) {
|
||||||
|
setTimeout(() => {
|
||||||
|
// 开启滚动动画
|
||||||
|
this.scrollWithAnimation = true;
|
||||||
|
}, 100);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// 关闭时关闭动画
|
||||||
|
this.scrollWithAnimation = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.e-stat__select {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
.e-select-main {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.e-select-disabled {
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
.e-select {
|
||||||
|
font-size: 14px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 0 5px;
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
user-select: none;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
border: 1px solid #dcdfe6;
|
||||||
|
border-bottom: solid 1px #dddddd;
|
||||||
|
.e-select__input-box {
|
||||||
|
width: 100%;
|
||||||
|
min-height: 34px;
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
.e-select-icon {
|
||||||
|
width: 50px;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.arrowAnimation {
|
||||||
|
transition: transform 0.3s;
|
||||||
|
}
|
||||||
|
.top {
|
||||||
|
transform: rotateZ(0deg);
|
||||||
|
}
|
||||||
|
.bottom {
|
||||||
|
transform: rotateZ(180deg);
|
||||||
|
}
|
||||||
|
.e-select__input-text {
|
||||||
|
color: #303030;
|
||||||
|
padding-left: 7px;
|
||||||
|
width: 100%;
|
||||||
|
color: #333;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
-o-text-overflow: ellipsis;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.e-select__input-placeholder {
|
||||||
|
padding-left: 7px;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.e-select--mask {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
.e-select__selector {
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: absolute;
|
||||||
|
top: calc(100% + 12px);
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
background-color: #ffffff;
|
||||||
|
border: 1px solid #ebeef5;
|
||||||
|
border-radius: 6px;
|
||||||
|
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||||
|
z-index: 999;
|
||||||
|
padding: 4px 4px;
|
||||||
|
transition: all 2s;
|
||||||
|
.e-popper__arrow,
|
||||||
|
.e-popper__arrow::after {
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
left: 50%;
|
||||||
|
border-color: transparent;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 6px;
|
||||||
|
}
|
||||||
|
.e-popper__arrow {
|
||||||
|
filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
|
||||||
|
top: -6px;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
margin-right: 3px;
|
||||||
|
border-top-width: 0;
|
||||||
|
border-bottom-color: #ebeef5;
|
||||||
|
}
|
||||||
|
.e-popper__arrow::after {
|
||||||
|
content: ' ';
|
||||||
|
top: 1px;
|
||||||
|
margin-left: -6px;
|
||||||
|
border-top-width: 0;
|
||||||
|
border-bottom-color: #fff;
|
||||||
|
}
|
||||||
|
.e-select__selector-scroll {
|
||||||
|
max-height: 200px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.e-select__selector-empty,
|
||||||
|
.e-select__selector-item {
|
||||||
|
display: flex;
|
||||||
|
cursor: pointer;
|
||||||
|
line-height: 34px;
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: center;
|
||||||
|
padding: 0px 10px;
|
||||||
|
}
|
||||||
|
.e-select__selector-item:hover {
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
}
|
||||||
|
.e-select__selector-empty:last-child,
|
||||||
|
.e-select__selector-item:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
.e-select__selector-item-disabled {
|
||||||
|
color: #b1b1b1;
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
.highlight {
|
||||||
|
color: #409eff;
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
213
components/goodsCard.vue
Normal file
213
components/goodsCard.vue
Normal file
@ -0,0 +1,213 @@
|
|||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
<block>
|
||||||
|
<view class='lists'>
|
||||||
|
<view v-for="(item,index) in productList" class="card" :key="index" @click="godDetail(item)">
|
||||||
|
<view class='pictrue on'>
|
||||||
|
<u-image :src='item.image' width="336.45rpx" height="336.45rpx"> </u-image>
|
||||||
|
</view>
|
||||||
|
<view class="goods_content">
|
||||||
|
<view class='name line1'>
|
||||||
|
<text class="text-ellipsis">{{item.store_name}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="item_tags">
|
||||||
|
<text v-if="item.merchant.type_name && item.product_type == 0"
|
||||||
|
class="store_type">{{item.merchant.type_name}}</text>
|
||||||
|
<text v-else-if="item.merchant.is_trader && item.product_type == 0"
|
||||||
|
class="store_type">自营</text>
|
||||||
|
<text v-if="item.product_type != 0"
|
||||||
|
:class="'font_bg-red bt-color 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 delivery" v-if="item.delivery_free == 1">包邮</text>
|
||||||
|
</view>
|
||||||
|
<view class="score"><text
|
||||||
|
style="font-style: italic;color: #FF6D20;margin-right: 20rpx;font-size: 30rpx;">{{item.rate}}</text>
|
||||||
|
{{item.reply_count}}评论
|
||||||
|
</view>
|
||||||
|
<view class='money'>¥
|
||||||
|
<text
|
||||||
|
class='num'>{{item.price.substring(0, item.price.length - 2)}}</text><text>{{item.price.slice(-2)}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="company" v-if="item.merchant" @click.stop="goShop(item.mer_id)">
|
||||||
|
<text class="line1">{{item.merchant.mer_name}}</text>
|
||||||
|
<view class="flex">
|
||||||
|
<text class="iconfont icon-xiangyou"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 返佣 -->
|
||||||
|
<!-- <block v-if="item.max_extension>0 && (item.product_type == 0 || item.product_type == 2)">
|
||||||
|
<view class="foot-bar on">
|
||||||
|
最高赚 ¥{{item.max_extension}}
|
||||||
|
</view>
|
||||||
|
</block> -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- <view class='noCommodity' v-if="productList.length==0">
|
||||||
|
<view class='pictrue' style=" margin: 60rpx auto;">
|
||||||
|
<image src='/static/images/noCart.png'></image>
|
||||||
|
<view>暂无商品</view>
|
||||||
|
</view>
|
||||||
|
<recommend v-if="recommend_switch == 1" :hostProduct="hostProduct" :isLogin="isLogin"></recommend>
|
||||||
|
</view> -->
|
||||||
|
</block>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
cloudWarehouse
|
||||||
|
} from '@/api/api.js'
|
||||||
|
import {
|
||||||
|
goShopDetail
|
||||||
|
} from '@/libs/order.js'
|
||||||
|
export default {
|
||||||
|
name: "goodsCard",
|
||||||
|
props: {
|
||||||
|
where: {
|
||||||
|
type: Object,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
is_switch: false,
|
||||||
|
productList: "",
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.$watch('where', (newValue, oldValue) => {
|
||||||
|
newValue.category_id ? this.get_product_list() : this.productList = []
|
||||||
|
|
||||||
|
}, {
|
||||||
|
deep: true
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
test() {
|
||||||
|
// this.get_product_list()
|
||||||
|
// console.log(this.where)
|
||||||
|
},
|
||||||
|
godDetail(item) {
|
||||||
|
goShopDetail(item, this.uid).then(res => {
|
||||||
|
if (this.isLogin) {
|
||||||
|
initiateAssistApi(item.activity_id).then(res => {
|
||||||
|
let id = res.data.product_assist_set_id;
|
||||||
|
uni.hideLoading();
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/activity/assist_detail/index?id=' + id
|
||||||
|
});
|
||||||
|
}).catch((err) => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.isAuto = true;
|
||||||
|
this.isShowAuth = true
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 去店铺
|
||||||
|
goShop(id) {
|
||||||
|
if (this.hide_mer_status != 1) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/store/home/index?id=${id}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
get_product_list: function() {
|
||||||
|
let that = this;
|
||||||
|
cloudWarehouse(that.where).then(res => {
|
||||||
|
that.productList = res.data.list
|
||||||
|
}).catch(err => {
|
||||||
|
that.loading = false;
|
||||||
|
that.loadTitle = '加载更多';
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.lists {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
background-color: #F4F7FE;
|
||||||
|
|
||||||
|
.card {
|
||||||
|
border-radius: 21.03rpx 21.03rpx 21.03rpx 21.03rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
background-color: white;
|
||||||
|
|
||||||
|
// width: 336.45rpx;
|
||||||
|
.store_type {
|
||||||
|
background: linear-gradient(to bottom, #6DD5FA, #3274F9);
|
||||||
|
color: white;
|
||||||
|
border-radius: 10.51rpx 10.51rpx 10.51rpx 10.51rpx;
|
||||||
|
padding: 2rpx 8rpx;
|
||||||
|
font-size: 22rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_content {
|
||||||
|
background-color: white;
|
||||||
|
padding: 25rpx 15rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
.textellipsis {
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
// font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item_tags {
|
||||||
|
margin: 5rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.score {
|
||||||
|
color: #B3B3B3;
|
||||||
|
font-size: 22.78rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.money {
|
||||||
|
color: red;
|
||||||
|
margin: 5rpx 0;
|
||||||
|
|
||||||
|
.num {
|
||||||
|
font-size: 36rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.company {
|
||||||
|
background-color: #F4F7FE;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 5rpx 14rpx;
|
||||||
|
border-radius: 19.28rpx 19.28rpx 19.28rpx 19.28rpx;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// width: 40vw;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -7,77 +7,120 @@
|
|||||||
</view>
|
</view>
|
||||||
<view v-for="(item,index) in cartInfo" :key="index">
|
<view v-for="(item,index) in cartInfo" :key="index">
|
||||||
<view v-if="activityType === 2">
|
<view v-if="activityType === 2">
|
||||||
|
|
||||||
|
|
||||||
<view class='item presell_item'>
|
<view class='item presell_item'>
|
||||||
<view class="acea-row row-between-wrapper">
|
<view class="acea-row row-between-wrapper">
|
||||||
<view class='pictrue' @click="jumpCon(item)">
|
<view class='pictrue' @click="jumpCon(item)">
|
||||||
<image :src='(item.cart_info.productAttr && item.cart_info.productAttr.image) || item.cart_info.product.image' ></image>
|
<image
|
||||||
|
:src='(item.cart_info.productAttr && item.cart_info.productAttr.image) || item.cart_info.product.image'>
|
||||||
|
</image>
|
||||||
</view>
|
</view>
|
||||||
<view class='text'>
|
<view class='text'>
|
||||||
<view class='acea-row row-between-wrapper'>
|
<view class='acea-row row-between-wrapper'>
|
||||||
<view class='name line1' style="width: 360rpx;"><text class="event_name event_bg">预售</text>{{item.cart_info.product.store_name}}</view>
|
<view class='name line1' style="width: 360rpx;"><text
|
||||||
<view class='num'><text class="p-color">¥{{item.cart_info.productPresellAttr.presell_price}}</text><br/>x {{item.product_num}}</view>
|
class="event_name event_bg">预售</text>{{item.cart_info.product.store_name}}
|
||||||
|
</view>
|
||||||
|
<view class='num'><text
|
||||||
|
class="p-color">¥{{item.cart_info.productPresellAttr.presell_price}}</text><br />x
|
||||||
|
{{item.product_num}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class='attr line1' v-if="item.cart_info.productAttr.sku" style="margin-top: 0;">{{item.cart_info.productAttr.sku}}</view>
|
<view class='attr line1' v-if="item.cart_info.productAttr.sku" style="margin-top: 0;">
|
||||||
<view v-if="evaluate === 0 || evaluate === 10 || evaluate === 11" class="event_ship event_color">发货时间:
|
{{item.cart_info.productAttr.sku}}</view>
|
||||||
|
<view v-if="evaluate === 0 || evaluate === 10 || evaluate === 11"
|
||||||
|
class="event_ship event_color">发货时间:
|
||||||
<!--全款预售-->
|
<!--全款预售-->
|
||||||
<text v-if="item.cart_info.productPresell.presell_type === 1">{{ item.cart_info.productPresell.delivery_type === 1 ? '支付成功后' : '预售结束后' }}{{ item.cart_info.productPresell.delivery_day }}天内</text>
|
<text
|
||||||
|
v-if="item.cart_info.productPresell.presell_type === 1">{{ item.cart_info.productPresell.delivery_type === 1 ? '支付成功后' : '预售结束后' }}{{ item.cart_info.productPresell.delivery_day }}天内</text>
|
||||||
<!--定金预售-->
|
<!--定金预售-->
|
||||||
<text v-if="item.cart_info.productPresell.presell_type === 2">{{ item.cart_info.productPresell.delivery_type === 1 ? '支付尾款后' : '预售结束后' }}{{ item.cart_info.productPresell.delivery_day }}天内</text>
|
<text
|
||||||
</view>
|
v-if="item.cart_info.productPresell.presell_type === 2">{{ item.cart_info.productPresell.delivery_type === 1 ? '支付尾款后' : '预售结束后' }}{{ item.cart_info.productPresell.delivery_day }}天内</text>
|
||||||
|
</view>
|
||||||
<view class="right-btn-box event_box">
|
<view class="right-btn-box event_box">
|
||||||
<view class="btn-item" v-if="item.is_refund ==0 && (evaluate != 10 && evaluate != 11) && orderData.refund_status || item.refund_num > 0" @click.stop="refund(item)">申请退款</view>
|
|
||||||
<view class="btn-item err" v-if="item.is_refund ==1">退款中 x {{item.product_num - item.refund_num}}</view>
|
<view class="btn-item"
|
||||||
<view class='btn-item err' v-if="item.is_refund >1">已退款 x {{item.product_num - item.refund_num}}</view>
|
v-if="(item.is_refund ==0 && (evaluate != 10 && evaluate != 11) && orderData.refund_status || item.refund_num > 0)&&evaluate>=0 && evaluate != 1&& evaluate == 2"
|
||||||
<view class='btn-item' v-if='item.is_reply==0 && evaluate==2 && item.is_refund==0' @click.stop="evaluateTap(item.order_product_id,orderId)">去评价</view>
|
@click.stop="refund(item)">申请退款</view>
|
||||||
|
<view class="btn-item err" v-if="item.is_refund ==1">退款中 x
|
||||||
|
{{item.product_num - item.refund_num}}</view>
|
||||||
|
<view class='btn-item err' v-if="item.is_refund >1">已退款 x
|
||||||
|
{{item.product_num - item.refund_num}}</view>
|
||||||
|
|
||||||
|
<view class='btn-item' v-if='item.is_reply==0 && evaluate==2 && item.is_refund==0'
|
||||||
|
@click.stop="evaluateTap(item.order_product_id,orderId)">去评价</view>
|
||||||
<view class='btn-item on' v-else-if="item.is_reply==1 && evaluate==2">已评价</view>
|
<view class='btn-item on' v-else-if="item.is_reply==1 && evaluate==2">已评价</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="orderData.status >= 10" class="event_progress">
|
<view v-if="orderData.status >= 10" class="event_progress">
|
||||||
<view class="progress_list">
|
<view class="progress_list">
|
||||||
<view class="progress_name">阶段一: 买家已付款</view>
|
<view class="progress_name">阶段一: 买家已付款</view>
|
||||||
<view class="progress_price">商品定金 <text class="align_right">¥{{ orderData.pay_price }}</text></view>
|
<view class="progress_price">商品定金 <text
|
||||||
<view class="progress_pay">定金实付款<text class="align_right t-color">¥{{ orderData.pay_price }}</text></view>
|
class="align_right">¥{{ orderData.pay_price }}</text></view>
|
||||||
|
<view class="progress_pay">定金实付款<text
|
||||||
|
class="align_right t-color">¥{{ orderData.pay_price }}</text></view>
|
||||||
</view>
|
</view>
|
||||||
<view class="progress_list">
|
<view class="progress_list">
|
||||||
<view class="progress_name">阶段二:
|
<view class="progress_name">阶段二:
|
||||||
<text v-if="orderData.status == 10 && orderData.presellOrder.activeStatus == 0">未开始</text>
|
<text
|
||||||
<text v-if="orderData.status == 10 && orderData.presellOrder.activeStatus == 1">等待买家付尾款</text>
|
v-if="orderData.status == 10 && orderData.presellOrder.activeStatus == 0">未开始</text>
|
||||||
<text v-if="orderData.status == 11 || orderData.presellOrder.activeStatus == 2">交易已关闭</text>
|
<text
|
||||||
|
v-if="orderData.status == 10 && orderData.presellOrder.activeStatus == 1">等待买家付尾款</text>
|
||||||
|
<text
|
||||||
|
v-if="orderData.status == 11 || orderData.presellOrder.activeStatus == 2">交易已关闭</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="progress_price">商品尾款 <text class="align_right">¥{{ orderData.presellOrder.pay_price }}</text></view>
|
<view class="progress_price">商品尾款 <text
|
||||||
<view class="progress_pay">尾款需付款<text class="align_right t-color">¥{{ orderData.presellOrder.pay_price }}</text></view>
|
class="align_right">¥{{ orderData.presellOrder.pay_price }}</text></view>
|
||||||
|
<view class="progress_pay">尾款需付款<text
|
||||||
|
class="align_right t-color">¥{{ orderData.presellOrder.pay_price }}</text></view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-else class='item'>
|
<view v-else class='item'>
|
||||||
|
|
||||||
<view class="acea-row row-between-wrapper">
|
<view class="acea-row row-between-wrapper">
|
||||||
<view class='pictrue' @click="jumpCon(item)">
|
<view class='pictrue' @click="jumpCon(item)">
|
||||||
<image :src='(item.cart_info.productAttr && item.cart_info.productAttr.image) || item.cart_info.product.image' ></image>
|
<image
|
||||||
|
:src='(item.cart_info.productAttr && item.cart_info.productAttr.image) || item.cart_info.product.image'>
|
||||||
|
</image>
|
||||||
</view>
|
</view>
|
||||||
<view class='text'>
|
<view class='text'>
|
||||||
<view class='acea-row row-between-wrapper'>
|
<view class='acea-row row-between-wrapper'>
|
||||||
<view class='name line1'><text v-if="item.product_type != 0 && item.product_type != 10" :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>{{item.cart_info.product.store_name}}</view>
|
<view class='name line1'><text v-if="item.product_type != 0 && item.product_type != 10"
|
||||||
<view class='num'>x {{item.product_num}}</view>
|
: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>{{item.cart_info.product.store_name}}
|
||||||
</view>
|
|
||||||
<view class='attr line1' v-if="item.cart_info.productAttr.sku">{{item.cart_info.productAttr.sku}}</view>
|
|
||||||
<view class='money p-color' v-if="item.cart_info.product_type ==3">¥{{item.cart_info.productAssistAttr.assist_price}}</view>
|
|
||||||
<view class='money p-color' v-else-if="item.cart_info.product_type ==4">¥{{item.cart_info.activeSku.active_price}}</view>
|
|
||||||
<view class='money acea-row row-middle' v-else>
|
|
||||||
<text>¥{{item.cart_info.productAttr.price}}</text>
|
|
||||||
<image v-if="item.cart_info.productAttr.show_svip_price" class="svip-img" src="/static/images/svip.png"></image>
|
|
||||||
</view>
|
</view>
|
||||||
|
<view class='num'>x {{item.product_num}}</view>
|
||||||
|
</view>
|
||||||
|
<view class='attr line1' v-if="item.cart_info.productAttr.sku">
|
||||||
|
{{item.cart_info.productAttr.sku}}</view>
|
||||||
|
<view class='money p-color' v-if="item.cart_info.product_type ==3">
|
||||||
|
¥{{item.cart_info.productAssistAttr.assist_price}}</view>
|
||||||
|
<view class='money p-color' v-else-if="item.cart_info.product_type ==4">
|
||||||
|
¥{{item.cart_info.activeSku.active_price}}</view>
|
||||||
|
<view class='money acea-row row-middle' v-else>
|
||||||
|
<text>¥{{item.cart_info.productAttr.price}}</text>
|
||||||
|
<image v-if="item.cart_info.productAttr.show_svip_price" class="svip-img"
|
||||||
|
src="/static/images/svip.png"></image>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="right-btn-box">
|
<view class="right-btn-box">
|
||||||
<view class="btn-item err" v-if="item.is_refund ==1">退款中 x {{item.product_num - item.refund_num}}</view>
|
<view class="btn-item err" v-if="item.is_refund ==1">退款中 x
|
||||||
<view class='btn-item err' v-if="item.is_refund >1">已退款 x {{item.product_num - item.refund_num}}</view>
|
{{item.product_num - item.refund_num}}</view>
|
||||||
<view class="btn-item" v-if="(item.is_refund ==0 && evaluate!=9 && orderData.refund_status || item.refund_num > 0)&& evaluate!=3" @click.stop="refund(item)">申请退款</view>
|
<view class='btn-item err' v-if="item.is_refund >1">已退款 x {{item.product_num - item.refund_num}}
|
||||||
<view class='btn-item' v-if='item.is_reply==0 && evaluate==2 && item.refund_num > 0' @click.stop="evaluateTap(item.order_product_id,orderId)">去评价</view>
|
</view>
|
||||||
|
|
||||||
|
<view class="btn-item"
|
||||||
|
v-if="(item.is_refund ==0 && (evaluate != 10 && evaluate != 11) && orderData.refund_status || item.refund_num > 0)&& evaluate!=9 &&evaluate != 1&&evaluate !=4&& evaluate!=3 || evaluate==2"
|
||||||
|
@click.stop="refund(item)">申请退款</view>
|
||||||
|
<view class='btn-item'
|
||||||
|
v-if='item.is_reply==0 && evaluate!=2&& evaluate!=3&& evaluate!=7&& evaluate!=8&& evaluate!=9&& item.refund_num > 0'
|
||||||
|
@click.stop="evaluateTap(item.order_product_id,orderId)">去评价</view>
|
||||||
<view class='btn-item on' v-else-if="item.is_reply==1 && evaluate==2">已评价</view>
|
<view class='btn-item on' v-else-if="item.is_reply==1 && evaluate==2">已评价</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -93,10 +136,18 @@
|
|||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Author: CRMEB Team <admin@crmeb.com>
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
import { openOrderRefundSubscribe } from '@/utils/SubscribeMessage.js';
|
import {
|
||||||
import { goShopDetail } from '@/libs/order.js'
|
openOrderRefundSubscribe
|
||||||
import { initiateAssistApi } from '@/api/activity.js';
|
} from '@/utils/SubscribeMessage.js';
|
||||||
import { mapGetters } from "vuex";
|
import {
|
||||||
|
goShopDetail
|
||||||
|
} from '@/libs/order.js'
|
||||||
|
import {
|
||||||
|
initiateAssistApi
|
||||||
|
} from '@/api/activity.js';
|
||||||
|
import {
|
||||||
|
mapGetters
|
||||||
|
} from "vuex";
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
evaluate: {
|
evaluate: {
|
||||||
@ -131,14 +182,14 @@
|
|||||||
computed: mapGetters(['viewColor']),
|
computed: mapGetters(['viewColor']),
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
totalNmu:'',
|
totalNmu: '',
|
||||||
isTimePay: false, //是否到支付时间
|
isTimePay: false, //是否到支付时间
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
watch:{
|
watch: {
|
||||||
cartInfo:function(nVal,oVal){
|
cartInfo: function(nVal, oVal) {
|
||||||
let num = 0
|
let num = 0
|
||||||
nVal.forEach((item,index)=>{
|
nVal.forEach((item, index) => {
|
||||||
num += item.cart_num
|
num += item.cart_num
|
||||||
})
|
})
|
||||||
this.totalNmu = num
|
this.totalNmu = num
|
||||||
@ -149,52 +200,59 @@
|
|||||||
},
|
},
|
||||||
mounted() {},
|
mounted() {},
|
||||||
methods: {
|
methods: {
|
||||||
evaluateTap:function(unique,orderId){
|
evaluateTap: function(unique, orderId) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:`/pages/users/goods_comment_con/index?uni=${unique}&order_id=${orderId}`
|
url: `/pages/users/goods_comment_con/index?uni=${unique}&order_id=${orderId}`
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 判断是否到支付尾款时间
|
// 判断是否到支付尾款时间
|
||||||
isPayBalance(){
|
isPayBalance() {
|
||||||
let that = this;
|
let that = this;
|
||||||
if(that.orderData.status === 10){
|
if (that.orderData.status === 10) {
|
||||||
if(new Date() < new Date(that.orderData.presellOrder.final_start_time)){
|
if (new Date() < new Date(that.orderData.presellOrder.final_start_time)) {
|
||||||
that.isTimePay = false; //未开始
|
that.isTimePay = false; //未开始
|
||||||
}else if((new Date() >= new Date(that.orderData.presellOrder.final_start_time)) && (new Date() <= new Date(that.orderData.presellOrder.final_start_time)) ){
|
} else if ((new Date() >= new Date(that.orderData.presellOrder.final_start_time)) && (new Date() <=
|
||||||
|
new Date(that.orderData.presellOrder.final_start_time))) {
|
||||||
that.isTimePay = true; //立即支付
|
that.isTimePay = true; //立即支付
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
jumpCon:function(item){
|
jumpCon: function(item) {
|
||||||
if(item.product_type == 4)item.activity_id = item.cart_info && item.cart_info.activeSku.product_group_id
|
if (item.product_type == 4) item.activity_id = item.cart_info && item.cart_info.activeSku
|
||||||
if(item.product_type == 3)item.activity_id = item.cart_info && item.cart_info.productAssistAttr.product_assist_id
|
.product_group_id
|
||||||
|
if (item.product_type == 3) item.activity_id = item.cart_info && item.cart_info.productAssistAttr
|
||||||
|
.product_assist_id
|
||||||
goShopDetail(item).then(res => {
|
goShopDetail(item).then(res => {
|
||||||
initiateAssistApi(item.activity_id).then(res => {
|
initiateAssistApi(item.activity_id).then(res => {
|
||||||
let id = res.data.product_assist_set_id;
|
let id = res.data.product_assist_set_id;
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/activity/assist_detail/index?id=' + id
|
url: '/pages/activity/assist_detail/index?id=' + id
|
||||||
});
|
});
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: err,
|
title: err,
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 退款
|
// 退款
|
||||||
refund(item){
|
refund(item) {
|
||||||
// #ifdef MP
|
// #ifdef MP
|
||||||
openOrderRefundSubscribe().then(() => {
|
openOrderRefundSubscribe().then(() => {
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
if(this.evaluate == 0 || this.evaluate == 9 || this.orderData.is_virtual == 1){
|
if (this.evaluate == 0 || this.evaluate == 9 || this.orderData.is_virtual == 1) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:'/pages/users/refund/confirm?order_id='+this.orderId+'&type=1'+'&ids='+item.order_product_id+'&refund_type=1&order_type='+this.orderData.order_type
|
url: '/pages/users/refund/confirm?order_id=' + this.orderId + '&type=1' +
|
||||||
|
'&ids=' + item.order_product_id + '&refund_type=1&order_type=' + this
|
||||||
|
.orderData.order_type
|
||||||
})
|
})
|
||||||
}else{
|
} else {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:'/pages/users/refund/select?order_id='+this.orderId+'&type=1&order_type='+this.orderData.order_type+'&ids='+item.order_product_id
|
url: '/pages/users/refund/select?order_id=' + this.orderId +
|
||||||
|
'&type=1&order_type=' + this.orderData.order_type + '&ids=' + item
|
||||||
|
.order_product_id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
@ -202,13 +260,15 @@
|
|||||||
})
|
})
|
||||||
// #endif
|
// #endif
|
||||||
// #ifdef H5 || APP-PLUS
|
// #ifdef H5 || APP-PLUS
|
||||||
if(this.evaluate == 0 || this.evaluate == 9 || this.orderData.is_virtual == 1){
|
if (this.evaluate == 0 || this.evaluate == 9 || this.orderData.is_virtual == 1) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:'/pages/users/refund/confirm?order_id='+this.orderId+'&type=1'+'&ids='+item.order_product_id+'&refund_type=1&order_type='+this.orderData.order_type
|
url: '/pages/users/refund/confirm?order_id=' + this.orderId + '&type=1' + '&ids=' + item
|
||||||
|
.order_product_id + '&refund_type=1&order_type=' + this.orderData.order_type
|
||||||
})
|
})
|
||||||
}else{
|
} else {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:'/pages/users/refund/select?order_id='+this.orderId+'&type=1&order_type='+this.orderData.order_type+'&ids='+item.order_product_id
|
url: '/pages/users/refund/select?order_id=' + this.orderId + '&type=1&order_type=' + this
|
||||||
|
.orderData.order_type + '&ids=' + item.order_product_id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// #endif
|
// #endif
|
||||||
@ -221,83 +281,101 @@
|
|||||||
.orderGoods {
|
.orderGoods {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.p-color {
|
.p-color {
|
||||||
color: var(--view-priceColor);
|
color: var(--view-priceColor);
|
||||||
}
|
}
|
||||||
.t-color{
|
|
||||||
|
.t-color {
|
||||||
color: var(--view-theme);
|
color: var(--view-theme);
|
||||||
}
|
}
|
||||||
.svip-img{
|
|
||||||
|
.svip-img {
|
||||||
width: 65rpx;
|
width: 65rpx;
|
||||||
height: 28rpx;
|
height: 28rpx;
|
||||||
margin: 4rpx 0 0 4rpx;
|
margin: 4rpx 0 0 4rpx;
|
||||||
}
|
}
|
||||||
.title{
|
|
||||||
|
.title {
|
||||||
height: 86rpx;
|
height: 86rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 0 30rpx;
|
padding: 0 30rpx;
|
||||||
&::after{
|
|
||||||
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
width: 750rpx;
|
width: 750rpx;
|
||||||
border-bottom: 2rpx dotted #D8D8D8;
|
border-bottom: 2rpx dotted #D8D8D8;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
}
|
}
|
||||||
.item-status{
|
|
||||||
|
.item-status {
|
||||||
color: #999999;
|
color: #999999;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
&.status0{
|
|
||||||
|
&.status0 {
|
||||||
color: #2291F8;
|
color: #2291F8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.item-date{
|
|
||||||
|
.item-date {
|
||||||
color: #666666;
|
color: #666666;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.right-btn-box{
|
|
||||||
|
.right-btn-box {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
&.event_box{
|
|
||||||
|
&.event_box {
|
||||||
position: static;
|
position: static;
|
||||||
}
|
}
|
||||||
.btn-item{
|
|
||||||
|
.btn-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
width:140rpx;
|
width: 140rpx;
|
||||||
height:46rpx;
|
height: 46rpx;
|
||||||
margin-left: 10rpx;
|
margin-left: 10rpx;
|
||||||
border:1px solid rgba(187,187,187,1);
|
border: 1px solid rgba(187, 187, 187, 1);
|
||||||
border-radius:23rpx;
|
border-radius: 23rpx;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
color: #282828;
|
color: #282828;
|
||||||
&.on{
|
|
||||||
background:rgba(220,220,220,1);
|
&.on {
|
||||||
border-color: rgba(220,220,220,1);
|
background: rgba(220, 220, 220, 1);
|
||||||
|
border-color: rgba(220, 220, 220, 1);
|
||||||
}
|
}
|
||||||
&.err{
|
|
||||||
background:rgba(247,247,247,1);
|
&.err {
|
||||||
border-color: rgba(247,247,247,1);
|
background: rgba(247, 247, 247, 1);
|
||||||
|
border-color: rgba(247, 247, 247, 1);
|
||||||
color: #AAAAAA;
|
color: #AAAAAA;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.event_bg{
|
|
||||||
|
.event_bg {
|
||||||
background: #FF7F00;
|
background: #FF7F00;
|
||||||
}
|
}
|
||||||
.event_color{
|
|
||||||
|
.event_color {
|
||||||
color: #FF7F00;
|
color: #FF7F00;
|
||||||
}
|
}
|
||||||
.presell_item{
|
|
||||||
|
.presell_item {
|
||||||
height: auto;
|
height: auto;
|
||||||
padding-bottom: 15rpx;
|
padding-bottom: 15rpx;
|
||||||
}
|
}
|
||||||
.event_progress{
|
|
||||||
|
.event_progress {
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
|
||||||
.progress_name {
|
.progress_name {
|
||||||
padding-left: 30rpx;
|
padding-left: 30rpx;
|
||||||
height: 60rpx;
|
height: 60rpx;
|
||||||
@ -306,7 +384,8 @@
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
position: relative;
|
position: relative;
|
||||||
color: var(--view-theme);
|
color: var(--view-theme);
|
||||||
&::before{
|
|
||||||
|
&::before {
|
||||||
content: "";
|
content: "";
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 5rpx;
|
width: 5rpx;
|
||||||
@ -317,43 +396,49 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.align_right{
|
|
||||||
|
.align_right {
|
||||||
float: right;
|
float: right;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
.progress_price{
|
|
||||||
|
.progress_price {
|
||||||
padding: 20rpx 30rpx;
|
padding: 20rpx 30rpx;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
font-size: 22rpx;
|
font-size: 22rpx;
|
||||||
}
|
}
|
||||||
.progress_pay{
|
|
||||||
|
.progress_pay {
|
||||||
padding: 25rpx 30rpx;
|
padding: 25rpx 30rpx;
|
||||||
background: var(--view-minorColor);
|
background: var(--view-minorColor);
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
color: #282828;
|
color: #282828;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.event_name{
|
|
||||||
|
.event_name {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-right: 9rpx;
|
margin-right: 9rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 20rpx;
|
font-size: 20rpx;
|
||||||
padding: 0 8rpx;
|
padding: 0 8rpx;
|
||||||
line-height: 30rpx;
|
line-height: 30rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 6rpx;
|
border-radius: 6rpx;
|
||||||
}
|
}
|
||||||
.event_ship{
|
|
||||||
|
.event_ship {
|
||||||
font-size: 20rpx;
|
font-size: 20rpx;
|
||||||
margin-top: 10rpx;
|
margin-top: 10rpx;
|
||||||
}
|
}
|
||||||
.goodWrapper.item1{
|
|
||||||
&::after{
|
.goodWrapper.item1 {
|
||||||
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
display: block;
|
display: block;
|
||||||
width: 750rpx;
|
width: 750rpx;
|
||||||
height: 14rpx;
|
height: 14rpx;
|
||||||
background: #F0F0F0;
|
background: #F0F0F0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -4,8 +4,8 @@
|
|||||||
<view class="title acea-row row-center-wrapper">
|
<view class="title acea-row row-center-wrapper">
|
||||||
选择付款方式<text class="iconfont icon-guanbi" @click='close'></text>
|
选择付款方式<text class="iconfont icon-guanbi" @click='close'></text>
|
||||||
</view>
|
</view>
|
||||||
<view class="item acea-row row-between-wrapper" @click='goPay(item.number || 0 , item.value)' v-for="(item,index) in payMode"
|
<view class="item acea-row row-between-wrapper" @click='goPay(item.number || 0 , item.value)'
|
||||||
:key="index" v-if="item.payStatus == 1">
|
v-for="(item,index) in payMode" :key="index" v-if="item.payStatus == 1">
|
||||||
<view class="left acea-row row-between-wrapper">
|
<view class="left acea-row row-between-wrapper">
|
||||||
<view class="iconfont" :class="item.icon"></view>
|
<view class="iconfont" :class="item.icon"></view>
|
||||||
<view class="text">
|
<view class="text">
|
||||||
@ -78,6 +78,7 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
goPay: function(number, paytype) {
|
goPay: function(number, paytype) {
|
||||||
|
|
||||||
if (this.isCall) {
|
if (this.isCall) {
|
||||||
return this.$emit('onChangeFun', {
|
return this.$emit('onChangeFun', {
|
||||||
action: 'payCheck',
|
action: 'payCheck',
|
||||||
@ -98,13 +99,17 @@
|
|||||||
// #endif
|
// #endif
|
||||||
} else if (paytype == 'balance') {
|
} else if (paytype == 'balance') {
|
||||||
type = 'balance';
|
type = 'balance';
|
||||||
}else if(paytype == 'alipay'){
|
console.log('123');
|
||||||
|
} else if (paytype == 'alipay') {
|
||||||
// #ifndef MP
|
// #ifndef MP
|
||||||
type = 'alipay';
|
type = 'alipay';
|
||||||
// #endif
|
// #endif
|
||||||
// #ifdef MP
|
// #ifdef MP
|
||||||
type = 'alipayQr';
|
type = 'alipayQr';
|
||||||
// #endif
|
// #endif
|
||||||
|
} else if (paytype == 'creditBuy') {
|
||||||
|
console.log('123123');
|
||||||
|
type = 'creditBuy'
|
||||||
}
|
}
|
||||||
if (!that.order_id) return that.$util.Tips({
|
if (!that.order_id) return that.$util.Tips({
|
||||||
title: '请选择要支付的订单'
|
title: '请选择要支付的订单'
|
||||||
@ -115,20 +120,27 @@
|
|||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title: '支付中'
|
title: '支付中'
|
||||||
});
|
});
|
||||||
let orderApi = that.order_type === 1 ? presellOrderPay : orderPay
|
let orderApi = that.order_type === 1 ? presellOrderPay : orderPay
|
||||||
orderApi(that.order_id, {
|
orderApi(that.order_id, {
|
||||||
type: type,
|
type: type,
|
||||||
// #ifdef H5
|
// #ifdef H5
|
||||||
return_url: 'http://'+window.location.host+'/pages/users/order_list/index',
|
|
||||||
|
return_url: this.order_type == 98 ? 'http://' + window.location.host +
|
||||||
|
'/pages/users/order_list/indexCopy' : 'http://' + window.location.host +
|
||||||
|
'/pages/users/order_list/index',
|
||||||
|
|
||||||
|
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
let status = res.data.status,
|
let status = res.data.status,
|
||||||
orderId = res.data.result.order_id,
|
orderId = res.data.result.order_id,
|
||||||
jsConfig = res.data.result.config,
|
jsConfig = res.data.result.config,
|
||||||
callback_key = res.data.result.pay_key,
|
callback_key = res.data.result.pay_key,
|
||||||
goPages = '/pages/users/order_list/index';
|
|
||||||
switch (status) {
|
goPages = this.order_type == 98 ? '/pages/users/order_list/indexCopy' :
|
||||||
|
'/pages/users/order_list/index'
|
||||||
|
switch (status) {
|
||||||
case 'ORDER_EXIST':
|
case 'ORDER_EXIST':
|
||||||
case 'EXTEND_ORDER':
|
case 'EXTEND_ORDER':
|
||||||
case 'PAY_ERROR':
|
case 'PAY_ERROR':
|
||||||
@ -139,19 +151,19 @@
|
|||||||
});
|
});
|
||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
title: res.message
|
title: res.message
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case 'success':
|
case 'success':
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
this.$emit('onChangeFun', {
|
this.$emit('onChangeFun', {
|
||||||
action: 'payClose'
|
action: 'payClose'
|
||||||
});
|
});
|
||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
title: '支付成功',
|
title: '支付成功',
|
||||||
icon: 'success'
|
icon: 'success'
|
||||||
}, {
|
}, {
|
||||||
tab: 5,
|
tab: 5,
|
||||||
url: goPages + '?status=1'
|
url: goPages + '?status=2'
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case 'alipay':
|
case 'alipay':
|
||||||
@ -159,19 +171,20 @@
|
|||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
this.$emit('onChangeFun', {
|
this.$emit('onChangeFun', {
|
||||||
action: 'payClose'
|
action: 'payClose'
|
||||||
});
|
});
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/order_pay_back/index?keyCode='+callback_key+'&url='+jsConfig,
|
url: '/pages/order_pay_back/index?keyCode=' + callback_key + '&url=' +
|
||||||
})
|
jsConfig,
|
||||||
return
|
})
|
||||||
break;
|
return
|
||||||
// #ifndef MP
|
break;
|
||||||
|
// #ifndef MP
|
||||||
case "wechat":
|
case "wechat":
|
||||||
case "weixin":
|
case "weixin":
|
||||||
case "weixinApp":
|
case "weixinApp":
|
||||||
jsConfig.timeStamp = jsConfig.timestamp;
|
jsConfig.timeStamp = jsConfig.timestamp;
|
||||||
// #ifndef APP-PLUS
|
// #ifndef APP-PLUS
|
||||||
that.$wechat.pay(jsConfig).then(res => {
|
that.$wechat.pay(jsConfig).then(res => {
|
||||||
// console.log('测试支付数据无效的success:'+res.data)
|
// console.log('测试支付数据无效的success:'+res.data)
|
||||||
this.$emit('onChangeFun', {
|
this.$emit('onChangeFun', {
|
||||||
action: 'payClose'
|
action: 'payClose'
|
||||||
@ -180,35 +193,36 @@
|
|||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
title: '支付成功',
|
title: '支付成功',
|
||||||
icon: 'success'
|
icon: 'success'
|
||||||
}, {
|
}, {
|
||||||
tab: 5,
|
tab: 5,
|
||||||
url: goPages + 'status=1'
|
url: goPages + 'status=2'
|
||||||
});
|
});
|
||||||
}).catch(res => {
|
}).catch(res => {
|
||||||
// console.log('测试支付数据无效的catch:'+res.data)
|
// console.log('测试支付数据无效的catch:'+res.data)
|
||||||
if (res.errMsg == 'chooseWXPay:cancel'){
|
if (res.errMsg == 'chooseWXPay:cancel') {
|
||||||
if(that.isCall){
|
if (that.isCall) {
|
||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
title: '取消支付'
|
title: '取消支付'
|
||||||
});
|
});
|
||||||
}else{
|
} else {
|
||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
title: '取消支付'
|
title: '取消支付'
|
||||||
}, {
|
}, {
|
||||||
tab: 5,
|
tab: 5,
|
||||||
url: goPages + '?status=0'
|
url: goPages + '?status=1'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// #endif
|
// #endif
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
let mp_pay_name=''
|
let mp_pay_name = ''
|
||||||
if(uni.requestOrderPayment){
|
if (uni.requestOrderPayment) {
|
||||||
mp_pay_name='requestOrderPayment'
|
mp_pay_name = 'requestOrderPayment'
|
||||||
}else{
|
} else {
|
||||||
mp_pay_name='requestPayment'
|
mp_pay_name = 'requestPayment'
|
||||||
}
|
}
|
||||||
|
console.log(mp_pay_name, jsConfig)
|
||||||
uni[mp_pay_name]({
|
uni[mp_pay_name]({
|
||||||
provider: 'wxpay',
|
provider: 'wxpay',
|
||||||
orderInfo: jsConfig,
|
orderInfo: jsConfig,
|
||||||
@ -219,22 +233,23 @@
|
|||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
title: '支付成功',
|
title: '支付成功',
|
||||||
icon: 'success'
|
icon: 'success'
|
||||||
}, {
|
}, {
|
||||||
tab: 5,
|
tab: 5,
|
||||||
url: goPages + 'status=1'
|
url: goPages + 'status=2'
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
fail: (e) => {
|
fail: (e) => {
|
||||||
if(that.isCall){
|
console.log(e)
|
||||||
|
if (that.isCall) {
|
||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
title: '取消支付'
|
title: '取消支付'
|
||||||
});
|
});
|
||||||
}else{
|
} else {
|
||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
title: '取消支付'
|
title: '取消支付'
|
||||||
}, {
|
}, {
|
||||||
tab: 5,
|
tab: 5,
|
||||||
url: goPages + '?status=0'
|
url: goPages + '?status=1'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -244,16 +259,16 @@
|
|||||||
});
|
});
|
||||||
// #endif
|
// #endif
|
||||||
break;
|
break;
|
||||||
// #endif
|
// #endif
|
||||||
// #ifdef MP
|
// #ifdef MP
|
||||||
case "routine":
|
case "routine":
|
||||||
jsConfig.timeStamp = jsConfig.timestamp;
|
jsConfig.timeStamp = jsConfig.timestamp;
|
||||||
that.toPay = true;
|
that.toPay = true;
|
||||||
let mp_pay_name=''
|
let mp_pay_name = ''
|
||||||
if(uni.requestOrderPayment){
|
if (uni.requestOrderPayment) {
|
||||||
mp_pay_name='requestOrderPayment'
|
mp_pay_name = 'requestOrderPayment'
|
||||||
}else{
|
} else {
|
||||||
mp_pay_name='requestPayment'
|
mp_pay_name = 'requestPayment'
|
||||||
}
|
}
|
||||||
uni[mp_pay_name]({
|
uni[mp_pay_name]({
|
||||||
...jsConfig,
|
...jsConfig,
|
||||||
@ -262,21 +277,22 @@
|
|||||||
that.$emit('onChangeFun', {
|
that.$emit('onChangeFun', {
|
||||||
action: 'payClose'
|
action: 'payClose'
|
||||||
});
|
});
|
||||||
if (that.BargainId || that.combinationId || that.pinkId || that.seckillId)
|
if (that.BargainId || that.combinationId || that.pinkId || that
|
||||||
|
.seckillId)
|
||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
title: '支付成功',
|
title: '支付成功',
|
||||||
icon: 'success'
|
icon: 'success'
|
||||||
}, {
|
}, {
|
||||||
tab: 5,
|
tab: 5,
|
||||||
url: goPages + '?status=1'
|
url: goPages + '?status=2'
|
||||||
});
|
});
|
||||||
|
|
||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
title: '支付成功',
|
title: '支付成功',
|
||||||
icon: 'success'
|
icon: 'success'
|
||||||
}, {
|
}, {
|
||||||
tab: 5,
|
tab: 5,
|
||||||
url: goPages + '?status=1'
|
url: goPages + '?status=2'
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
fail: function(e) {
|
fail: function(e) {
|
||||||
@ -289,18 +305,19 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
complete: function(e) {
|
complete: function(e) {
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
//关闭当前页面跳转至订单状态
|
//关闭当前页面跳转至订单状态
|
||||||
if (res.errMsg == 'requestPayment:cancel') return that.$util.Tips({
|
if (res.errMsg == 'requestPayment:cancel') return that.$util
|
||||||
title: '取消支付'
|
.Tips({
|
||||||
});
|
title: '取消支付'
|
||||||
|
});
|
||||||
that.$emit('onChangeFun', {
|
that.$emit('onChangeFun', {
|
||||||
action: 'payClose'
|
action: 'payClose'
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
break;
|
break;
|
||||||
// #endif
|
// #endif
|
||||||
case "balance":
|
case "balance":
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
that.$emit('onChangeFun', {
|
that.$emit('onChangeFun', {
|
||||||
@ -311,9 +328,9 @@
|
|||||||
title: res.message
|
title: res.message
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
// #ifdef H5
|
// #ifdef H5
|
||||||
case 'h5':
|
case 'h5':
|
||||||
let host = window.location.protocol+"//"+window.location.host;
|
let host = window.location.protocol + "//" + window.location.host;
|
||||||
let url = `${host}/pages/order_pay_status/index?order_id=${orderId}`
|
let url = `${host}/pages/order_pay_status/index?order_id=${orderId}`
|
||||||
let eUrl = encodeURIComponent(url)
|
let eUrl = encodeURIComponent(url)
|
||||||
let jsurl = jsConfig.mweb_url || jsConfig.h5_url
|
let jsurl = jsConfig.mweb_url || jsConfig.h5_url
|
||||||
@ -322,9 +339,9 @@
|
|||||||
location.href = locations;
|
location.href = locations;
|
||||||
}, 100);
|
}, 100);
|
||||||
break;
|
break;
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
case 'alipayApp':
|
case 'alipayApp':
|
||||||
uni.requestPayment({
|
uni.requestPayment({
|
||||||
provider: 'alipay',
|
provider: 'alipay',
|
||||||
@ -336,11 +353,11 @@
|
|||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
title: '支付成功',
|
title: '支付成功',
|
||||||
icon: 'success'
|
icon: 'success'
|
||||||
}, {
|
}, {
|
||||||
tab: 5,
|
tab: 5,
|
||||||
url: goPages + 'status=1'
|
url: goPages + 'status=2'
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
fail: (e) => {
|
fail: (e) => {
|
||||||
return that.$util.Tips({
|
return that.$util.Tips({
|
||||||
@ -351,8 +368,8 @@
|
|||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
// #endif
|
// #endif
|
||||||
}
|
}
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
@ -375,7 +392,7 @@
|
|||||||
border-radius: 16rpx 16rpx 0 0;
|
border-radius: 16rpx 16rpx 0 0;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
padding-bottom: 60rpx;
|
padding-bottom: 60rpx;
|
||||||
z-index: 99;
|
z-index: 99999;
|
||||||
transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
|
transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
|
||||||
transform: translate3d(0, 100%, 0);
|
transform: translate3d(0, 100%, 0);
|
||||||
}
|
}
|
||||||
@ -456,4 +473,4 @@
|
|||||||
font-size: 0.3rpx;
|
font-size: 0.3rpx;
|
||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -360,27 +360,36 @@
|
|||||||
margin-right: 30rpx;
|
margin-right: 30rpx;
|
||||||
}
|
}
|
||||||
.product-window .cart .carnum .item {
|
.product-window .cart .carnum .item {
|
||||||
border: 1px solid #a4a4a4;
|
|
||||||
width: 84rpx;
|
width: 63rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
line-height: 54rpx;
|
line-height: 42rpx;
|
||||||
color: #a4a4a4;
|
color: #333333;
|
||||||
font-size: 45rpx;
|
font-weight: 400;
|
||||||
|
font-size: 26rpx;
|
||||||
|
|
||||||
}
|
}
|
||||||
.product-window .cart .carnum .reduce {
|
.product-window .cart .carnum .reduce {
|
||||||
border-right: 0;
|
border: 1px solid #a4a4a4;
|
||||||
border-radius: 6rpx 0 0 6rpx;
|
width: 44rpx;
|
||||||
line-height: 48rpx;
|
height: 42rpx;
|
||||||
|
// border-right: 0;
|
||||||
|
border-radius: 0 7rpx 7rpx 0;
|
||||||
|
line-height: 30rpx;
|
||||||
|
|
||||||
}
|
}
|
||||||
.product-window .cart .carnum .reduce.on {
|
.product-window .cart .carnum .reduce.on {
|
||||||
border-color: #e3e3e3;
|
border-color: #e3e3e3;
|
||||||
color: #dedede;
|
color: #dedede;
|
||||||
}
|
}
|
||||||
.product-window .cart .carnum .plus {
|
.product-window .cart .carnum .plus {
|
||||||
border-left: 0;
|
border: 1px solid #a4a4a4;
|
||||||
border-radius: 0 6rpx 6rpx 0;
|
width: 44rpx;
|
||||||
line-height: 46rpx;
|
height: 42rpx;
|
||||||
|
// border-right: 0;
|
||||||
|
border-radius: 0 7rpx 7rpx 0;
|
||||||
|
line-height: 30rpx
|
||||||
}
|
}
|
||||||
.product-window .cart .carnum .plus.on {
|
.product-window .cart .carnum .plus.on {
|
||||||
border-color: #e3e3e3;
|
border-color: #e3e3e3;
|
||||||
|
621
components/realselist/realselist.vue
Normal file
621
components/realselist/realselist.vue
Normal file
@ -0,0 +1,621 @@
|
|||||||
|
<template>
|
||||||
|
<view class="containers" :style="viewColor">
|
||||||
|
<view class="header">
|
||||||
|
|
||||||
|
<view class="search">
|
||||||
|
<text class="iconfont icon-xiazai5"></text>
|
||||||
|
<input type="text" placeholder="请输入商品名称" v-model="searchVal" @input="setValue" confirm-type="search"
|
||||||
|
@confirm="searchBut()" placeholder-class='placeholder'>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="iconclose" @click="close">
|
||||||
|
X
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="main">
|
||||||
|
<scroll-view scroll-y="true" @touchmove.stop>
|
||||||
|
<block>
|
||||||
|
<view v-if="bought.length" @touchmove="onTouchmove" id="goods" class="goods">
|
||||||
|
<view class="picTxt acea-row" v-for="(item, i) in bought" :key="i">
|
||||||
|
<view class="checkbox">
|
||||||
|
<text @click.stop="goodsCheck(item)" v-if="item.check"
|
||||||
|
class="iconfont icon-xuanzhong1"></text>
|
||||||
|
<text @click.stop="goodsCheck(item)" v-else
|
||||||
|
:class="checkedArr.length >=5 ? 'disabled': ''"
|
||||||
|
class="iconfont icon-weixuanzhong"></text>
|
||||||
|
</view>
|
||||||
|
<view class='pictrue'>
|
||||||
|
<image :src='item.image'></image>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class='text'>
|
||||||
|
<view class='line2 name'>{{item.store_name}}</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="picTxt_one" v-if="item.attrValue.length>0">
|
||||||
|
<picker class="slecte" v-if="item.attrValue.length>1"
|
||||||
|
@change="bindPickerChange($event,item.attrValue,i)" :value="index"
|
||||||
|
:range="item.attrValue" :range-key="'sku'">
|
||||||
|
<view class="uni-input">{{item.attrValue[index].sku}}</view>
|
||||||
|
</picker>
|
||||||
|
|
||||||
|
<view class="" style="margin-top: 10rpx;">
|
||||||
|
库存:{{item.attrValue[index].stock}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="picTxt_price">
|
||||||
|
<view class="price">
|
||||||
|
<span>委托价格</span>
|
||||||
|
<input type="text" :value="item.price" placeholder="输入出售价格"
|
||||||
|
@input="producrprice($event,i,item)" adjust-position=""
|
||||||
|
placeholder-style="color: #CCCCCC;" />
|
||||||
|
</view>
|
||||||
|
<view class="price_num">
|
||||||
|
<span>委托数量</span>
|
||||||
|
<subtractive v-if='item.number==0' style="margin-top: 10rpx;margin-left: 20rpx;"
|
||||||
|
class="step" :min="1" :max="item.attrValue[index].stock" :value="peicenumber"
|
||||||
|
:isMax="true" :isMin="true" index="11" @eventChange="numberChange($event,i)">
|
||||||
|
</subtractive>
|
||||||
|
|
||||||
|
<subtractive v-else style="margin-top: 10rpx;margin-left: 20rpx;" class="step"
|
||||||
|
:min="1" :max="item.attrValue[index].stock" :value="item.number" :isMax="true"
|
||||||
|
:isMin="true" index="11" @increment="incrementTotal($event,i,item)"
|
||||||
|
@eventChange="numberChange($event,i)"></subtractive>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-else class="empty">
|
||||||
|
<image src="/static/images/no_thing.png"></image>
|
||||||
|
<text>暂无内容哦~</text>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</scroll-view>
|
||||||
|
<view class="foot_bar">
|
||||||
|
<button class="confirm_btn" @click="submit">确定({{checkedArr.length}})</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import Loading from '@/components/Loading/index.vue';
|
||||||
|
import subtractive from '@/components/subtractive/subtractive.vue';
|
||||||
|
|
||||||
|
import {
|
||||||
|
getCommunitygetOrderList
|
||||||
|
} from "@/api/trading-floor";
|
||||||
|
import {
|
||||||
|
mapGetters
|
||||||
|
} from "vuex";
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
checkedObj: {
|
||||||
|
type: Array,
|
||||||
|
default: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: mapGetters(['viewColor']),
|
||||||
|
components: {
|
||||||
|
Loading,
|
||||||
|
subtractive
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isActive: 0,
|
||||||
|
loadedb: false,
|
||||||
|
loadingb: false,
|
||||||
|
loadedc: false,
|
||||||
|
loadingc: false,
|
||||||
|
loadeds: false,
|
||||||
|
loadings: false,
|
||||||
|
whereb: {
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
keyword: '',
|
||||||
|
},
|
||||||
|
peicenumber: 0,
|
||||||
|
|
||||||
|
searchVal: "",
|
||||||
|
checked: [],
|
||||||
|
list: [],
|
||||||
|
|
||||||
|
bought: [],
|
||||||
|
|
||||||
|
checkedArr: [],
|
||||||
|
aryys: [],
|
||||||
|
// picker下拉数据源
|
||||||
|
storageCustomList: [{
|
||||||
|
CustGoodsCode: "TEST001",
|
||||||
|
CustGoodsName: "测试货主001",
|
||||||
|
IfBoxId: 0,
|
||||||
|
IfProductId: 0,
|
||||||
|
}, {
|
||||||
|
CustGoodsCode: "TEST002",
|
||||||
|
CustGoodsName: "测试货主002",
|
||||||
|
IfBoxId: 0,
|
||||||
|
IfProductId: 0,
|
||||||
|
}, {
|
||||||
|
CustGoodsCode: "TEST003",
|
||||||
|
CustGoodsName: "测试货主003",
|
||||||
|
IfBoxId: 0,
|
||||||
|
IfProductId: 0,
|
||||||
|
}],
|
||||||
|
index: 0,
|
||||||
|
pickerData: '请选择',
|
||||||
|
itstock: '',
|
||||||
|
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
checkedObj: {
|
||||||
|
handler(n) {
|
||||||
|
|
||||||
|
this.checkedArr = n
|
||||||
|
},
|
||||||
|
deep: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.checkedArr = this.checkedObj
|
||||||
|
this.aryys = this.checkedObj
|
||||||
|
this.getBounht();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//价格
|
||||||
|
producrprice(e, i, item) {
|
||||||
|
this.bought[i].price = e.detail.value
|
||||||
|
this.$set(item, 'check', false);
|
||||||
|
for (let i in this.checkedArr) {
|
||||||
|
if (this.checkedArr[i].product_id == item.product_id) {
|
||||||
|
this.checkedArr.splice(i, 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
incrementTotal(e, i, item) {
|
||||||
|
this.$set(item, 'check', false);
|
||||||
|
for (let i in this.checkedArr) {
|
||||||
|
if (this.checkedArr[i].product_id == item.product_id) {
|
||||||
|
this.checkedArr.splice(i, 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
// picker修改事件
|
||||||
|
bindPickerChange: function(e, storage, num) {
|
||||||
|
this.bought[num].attrValue[this.index].sku = storage[e.detail.value].sku
|
||||||
|
this.bought[num].attrValue[this.index].stock = storage[e.detail.value].stock
|
||||||
|
this.bought[num].product_attr_unique = storage[e.detail.value].unique
|
||||||
|
this.pickerData = storage[this.index] // 这里就是选中的对象
|
||||||
|
|
||||||
|
if (this.bought[num].attrValue[this.index].stock == 0) {
|
||||||
|
this.$util.Tips({
|
||||||
|
title: '库存不足'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 点击关闭按钮
|
||||||
|
close() {
|
||||||
|
this.$emit('close');
|
||||||
|
},
|
||||||
|
numberChange(data, i) {
|
||||||
|
this.peicenumber = data.number;
|
||||||
|
this.bought[i].number = data.number
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
tabs(index) {
|
||||||
|
this.isActive = index
|
||||||
|
this.$set(this.whereb, 'keyword', '');
|
||||||
|
this.searchVal = ''
|
||||||
|
this.searchBut()
|
||||||
|
},
|
||||||
|
onTouchmove(e) {
|
||||||
|
if (this.loadendb) return;
|
||||||
|
if (this.loadingb) return;
|
||||||
|
const query = uni.createSelectorQuery().in(this);
|
||||||
|
query.select('#goods').boundingClientRect(data => {
|
||||||
|
if (data.bottom < 1500 && data.top < 0) {
|
||||||
|
this.getBounht();
|
||||||
|
}
|
||||||
|
}).exec();
|
||||||
|
|
||||||
|
// 模拟触底刷新
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
setValue: function(event) {
|
||||||
|
this.$set(this.whereb, 'keyword', event.detail.value);
|
||||||
|
if (!event.detail.value) {
|
||||||
|
this.whereb.page = 1
|
||||||
|
this.loadedb = false
|
||||||
|
this.getBounht()
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
searchBut() {
|
||||||
|
this.bought = []
|
||||||
|
this.whereb.page = 1
|
||||||
|
this.loadedb = false
|
||||||
|
this.getBounht()
|
||||||
|
},
|
||||||
|
getBounht() {
|
||||||
|
var that = this;
|
||||||
|
// console.log('1111111', that.loadingb, that.loadedb)
|
||||||
|
if (that.loadingb || that.loadedb) return;
|
||||||
|
that.loadingb = true;
|
||||||
|
|
||||||
|
getCommunitygetOrderList(that.whereb).then(
|
||||||
|
res => {
|
||||||
|
that.loadingb = false;
|
||||||
|
that.loadedb = res.data.list.length < that.whereb.limit;
|
||||||
|
that.bought.push.apply(that.bought, res.data.list);
|
||||||
|
that.whereb.page = that.whereb.page + 1;
|
||||||
|
that.getInitchecked(that.bought);
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: error.msg
|
||||||
|
})
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/*获取初始化选中的数据*/
|
||||||
|
getInitchecked(arr) {
|
||||||
|
let that = this;
|
||||||
|
arr.forEach((item, index) => {
|
||||||
|
that.$set(item, 'check', false);
|
||||||
|
that.checkedArr.forEach((val, i) => {
|
||||||
|
if (item.product_id == val.product_id) {
|
||||||
|
that.$set(item, 'check', true);
|
||||||
|
that.$set(item, 'number', val.number);
|
||||||
|
that.$set(item, 'price', val.price);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
/*已选中的商品打钩*/
|
||||||
|
getCheckedGoods() {
|
||||||
|
this.checked = []
|
||||||
|
this.checkedArr.forEach((item, index) => {
|
||||||
|
this.checkedArr.push(item)
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/*点击选中与否*/
|
||||||
|
goodsCheck(item) {
|
||||||
|
this.$set(item, 'check', !item.check);
|
||||||
|
if (item.check) {
|
||||||
|
if (this.peicenumber == 0) {
|
||||||
|
item.number = 1
|
||||||
|
}
|
||||||
|
if (!item.product_attr_unique) {
|
||||||
|
item.product_attr_unique = item.attrValue[0].unique
|
||||||
|
}
|
||||||
|
this.checkedArr.push(item)
|
||||||
|
this.arrayUnique(this.checkedArr, 'product_id')
|
||||||
|
} else {
|
||||||
|
this.checkedArr.splice(this.checkedArr.findIndex(itemn => ((itemn.product_id == item.product_id))), 1)
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//去重
|
||||||
|
arrayUnique(arr, name) {
|
||||||
|
let hash = {}
|
||||||
|
const result = arr.reduce((acc, cru, index) => {
|
||||||
|
if (!hash[cru[name]]) {
|
||||||
|
hash[cru[name]] = {
|
||||||
|
index: acc.length
|
||||||
|
}
|
||||||
|
acc.push(cru)
|
||||||
|
} else {
|
||||||
|
console.log(acc, hash[cru[name]])
|
||||||
|
acc.splice(hash[cru[name]]['index'], 1, cru)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return acc;
|
||||||
|
|
||||||
|
}, [])
|
||||||
|
this.checkedArr = result
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
/*确定提交*/
|
||||||
|
submit() {
|
||||||
|
|
||||||
|
this.$emit('getProduct', this.checkedArr);
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.containers {
|
||||||
|
background: #ffffff;
|
||||||
|
border-radius: 16rpx 16rpx 0 0;
|
||||||
|
padding: 40rpx 0;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.header {
|
||||||
|
position: relative;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
text {
|
||||||
|
position: relative;
|
||||||
|
margin: 0 50rpx;
|
||||||
|
color: #999999;
|
||||||
|
font-size: 30rpx;
|
||||||
|
|
||||||
|
&.on {
|
||||||
|
color: #333333;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 34rpx;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
display: inline-block;
|
||||||
|
width: 40rpx;
|
||||||
|
height: 5rpx;
|
||||||
|
background: var(--view-theme);
|
||||||
|
position: absolute;
|
||||||
|
bottom: -10rpx;
|
||||||
|
left: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconclose {
|
||||||
|
width: 44rpx;
|
||||||
|
height: 44rpx;
|
||||||
|
line-height: 44rpx;
|
||||||
|
border: 2rpx solid #fff;
|
||||||
|
border-radius: 50%;
|
||||||
|
text-align: center;
|
||||||
|
color: #fff;
|
||||||
|
position: absolute;
|
||||||
|
top: -150rpx;
|
||||||
|
right: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search {
|
||||||
|
margin-top: 44rpx;
|
||||||
|
background: #F5F5F5;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
padding: 12rpx 30rpx 12rpx 66rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #939393;
|
||||||
|
position: absolute;
|
||||||
|
top: 20rpx;
|
||||||
|
left: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.placeholder {
|
||||||
|
color: #999999;
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub_title {
|
||||||
|
color: #282828;
|
||||||
|
font-size: 26rpx;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
color: #8A8A8A;
|
||||||
|
font-size: 28rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
scroll-view {
|
||||||
|
height: 650rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
height: 650rpx;
|
||||||
|
margin: 40rpx 0 80rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.picTxt {
|
||||||
|
width: 100%;
|
||||||
|
padding: 25rpx 0;
|
||||||
|
position: relative;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
border-top: 2rpx solid #E7E6E4;
|
||||||
|
|
||||||
|
.picTxt_one {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.picTxt_one {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
|
||||||
|
|
||||||
|
.slecte {
|
||||||
|
margin-right: 30rpx;
|
||||||
|
width: 280rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #959595;
|
||||||
|
background-color: #E7E6E4;
|
||||||
|
border-radius: 10rpx 10rpx 10rpx 10rpx;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.picTxt_price {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 37rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
|
||||||
|
.price {
|
||||||
|
display: flex;
|
||||||
|
margin-right: 15rpx;
|
||||||
|
|
||||||
|
input {
|
||||||
|
width: 210rpx;
|
||||||
|
text-align: center;
|
||||||
|
height: 70rpx;
|
||||||
|
background: #F5F5F5;
|
||||||
|
border-radius: 7rpx 7rpx 7rpx 7rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
|
||||||
|
margin-left: 20rpx;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.price_num {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox {
|
||||||
|
margin-right: 30rpx;
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-size: 38rpx;
|
||||||
|
color: #CCCCCC;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-xuanzhong1 {
|
||||||
|
color: var(--view-theme);
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabled {
|
||||||
|
pointer-events: none;
|
||||||
|
cursor: default;
|
||||||
|
opacity: 0.3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pictrue {
|
||||||
|
width: 160rpx;
|
||||||
|
height: 160rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
width: 430rpx;
|
||||||
|
margin-left: 30rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #282828;
|
||||||
|
position: relative;
|
||||||
|
height: 160rpx;
|
||||||
|
|
||||||
|
.name {
|
||||||
|
color: #282828;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.money {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
color: var(--view-priceColor);
|
||||||
|
font-size: 22rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
text {
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.foot_bar {
|
||||||
|
width: 100%;
|
||||||
|
position: fixed;
|
||||||
|
// bottom: 54px;
|
||||||
|
left: 0;
|
||||||
|
padding: 20rpx 0;
|
||||||
|
z-index: 5;
|
||||||
|
|
||||||
|
.confirm_btn {
|
||||||
|
width: 710rpx;
|
||||||
|
height: 86rpx;
|
||||||
|
line-height: 86rpx;
|
||||||
|
color: #ffffff;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 32rpx;
|
||||||
|
background: var(--view-theme);
|
||||||
|
border-radius: 43rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty {
|
||||||
|
margin: 130rpx 0 150rpx;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
image,
|
||||||
|
uni-image {
|
||||||
|
display: inline-block;
|
||||||
|
width: 414rpx;
|
||||||
|
height: 305rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
text {
|
||||||
|
display: block;
|
||||||
|
color: #999999;
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
190
components/release/release.vue
Normal file
190
components/release/release.vue
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
<template>
|
||||||
|
<view class="mark" v-if="isShow" @click="close">
|
||||||
|
|
||||||
|
<view class="release">
|
||||||
|
<view class="release_content" v-for="(item,i) in list" :key="i" @click="navigtion(item)">
|
||||||
|
<view class="release_content_left">
|
||||||
|
<view :class="i==1?'release_imga':'release_img'">
|
||||||
|
<image :src="item.img" mode="aspectFit"></image>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="title">
|
||||||
|
<view class="title1">
|
||||||
|
{{item.title1}}
|
||||||
|
</view>
|
||||||
|
<view class="title2">
|
||||||
|
{{item.title2}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="release_content_right ">
|
||||||
|
<text class="iconfont icon-xiangyou"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="release_close" @click="close">
|
||||||
|
<image src="@/static/images/trad-close.png" mode="aspectFit"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
navigateTo
|
||||||
|
} from '../../libs/uniApi'
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
isShow: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
// 子组件接收一个布尔类型的bottom,如果为true则弹窗则在页面的底部,false为默认居中显示
|
||||||
|
bottom: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
list: [{
|
||||||
|
img: require('@/static/images/season.png'),
|
||||||
|
title1: '发布调货商品',
|
||||||
|
title2: '镇街店铺快捷调货',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
img: require('@/static/images/discounts.png'),
|
||||||
|
title1: '发布打折商品',
|
||||||
|
title2: '发布店铺打折商品',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
navigtion(item) {
|
||||||
|
|
||||||
|
if (item.title1 =='发布调货商品') {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/trading_hall/transfer_goods/index'
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/trading_hall/adddiscounts/index'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.$emit('close')
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
this.$emit('cancel')
|
||||||
|
},
|
||||||
|
confirm() {
|
||||||
|
this.$emit('confirm')
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.mark {
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: rgba(0, 0, 0, 0.3);
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.release {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.release_content {
|
||||||
|
width: 694rpx;
|
||||||
|
height: 137rpx;
|
||||||
|
background: #FCF3EE;
|
||||||
|
border-radius: 14rpx 14rpx 14rpx 14rpx;
|
||||||
|
opacity: 1;
|
||||||
|
margin-bottom: 21rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 0 26rpx;
|
||||||
|
|
||||||
|
.release_content_left {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.release_content_right {
|
||||||
|
height: 137rpx;
|
||||||
|
line-height: 137rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.release_img {
|
||||||
|
width: 111rpx;
|
||||||
|
height: 96rpx;
|
||||||
|
margin-top: 21rpx;
|
||||||
|
margin-right: 19rpx;
|
||||||
|
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 111rpx;
|
||||||
|
height: 96rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.release_imga {
|
||||||
|
|
||||||
|
width: 76rpx;
|
||||||
|
height: 113rpx;
|
||||||
|
|
||||||
|
margin-top: 5rpx;
|
||||||
|
margin-right: 50rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 76rpx;
|
||||||
|
height: 113rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
margin-top: 23rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title1 {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title2 {
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #666666;
|
||||||
|
margin-top: 11rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.release_close {
|
||||||
|
width: 248rpx;
|
||||||
|
height: 248rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 248rpx;
|
||||||
|
height: 248rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
571
components/shoppinglist/shoppinglist.vue
Normal file
571
components/shoppinglist/shoppinglist.vue
Normal file
@ -0,0 +1,571 @@
|
|||||||
|
<template>
|
||||||
|
<view class="containers" :style="viewColor">
|
||||||
|
<view class="header">
|
||||||
|
|
||||||
|
<view class="search">
|
||||||
|
<text class="iconfont icon-xiazai5"></text>
|
||||||
|
<input type="text" placeholder="请输入商品名称" v-model="searchVal" @input="setValue" confirm-type="search"
|
||||||
|
@confirm="searchBut()" placeholder-class='placeholder'>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="iconclose" @click="close">
|
||||||
|
X
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="main">
|
||||||
|
<scroll-view scroll-y="true" @touchmove.stop>
|
||||||
|
<block>
|
||||||
|
<view v-if="bought.length" @touchmove="onTouchmove" id="goods" class="goods">
|
||||||
|
<view class="picTxt acea-row" v-for="(item, i) in bought" :key="i">
|
||||||
|
<view class="checkbox">
|
||||||
|
<text @click.stop="goodsCheck(item)" v-if="item.check"
|
||||||
|
class="iconfont icon-xuanzhong1"></text>
|
||||||
|
<text @click.stop="goodsCheck(item)" v-else
|
||||||
|
:class="checkedArr.length >=5 ? 'disabled': ''"
|
||||||
|
class="iconfont icon-weixuanzhong"></text>
|
||||||
|
</view>
|
||||||
|
<view class='pictrue'>
|
||||||
|
<image :src='item.image'></image>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class='text'>
|
||||||
|
<view class='line2 name'>{{item.store_name}}</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="picTxt_one" v-if="item.attrValue.length>0">
|
||||||
|
<picker class="slecte" v-if="item.attrValue.length>1"
|
||||||
|
@change="bindPickerChange($event,item.attrValue,i)" :value="index"
|
||||||
|
:range="item.attrValue" :range-key="'sku'">
|
||||||
|
<view class="uni-input">{{item.attrValue[index].sku}}</view>
|
||||||
|
</picker>
|
||||||
|
|
||||||
|
<view class="" style="margin-top: 10rpx;">
|
||||||
|
库存:{{item.attrValue[index].stock}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="picTxt_price">
|
||||||
|
<view class="price">
|
||||||
|
<span>出售价格</span>
|
||||||
|
<input type="text" :value="item.price" placeholder="输入出售价格"
|
||||||
|
@input="producrprice($event,i,item)" adjust-position=""
|
||||||
|
placeholder-style="color: #CCCCCC;" />
|
||||||
|
</view>
|
||||||
|
<view class="price_num">
|
||||||
|
<span>出售数量</span>
|
||||||
|
<subtractive v-if='item.number==0' style="margin-top: 10rpx;margin-left: 20rpx;"
|
||||||
|
class="step" :min="1" :max="item.attrValue[index].stock" :value="peicenumber"
|
||||||
|
:isMax="true" :isMin="true" index="11" @eventChange="numberChange($event,i)" >
|
||||||
|
</subtractive>
|
||||||
|
|
||||||
|
<subtractive v-else style="margin-top: 10rpx;margin-left: 20rpx;" class="step"
|
||||||
|
:min="1" :max="item.attrValue[index].stock" :value="item.number" :isMax="true"
|
||||||
|
:isMin="true" index="11" @eventChange="numberChange($event,i)" ></subtractive>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-else class="empty">
|
||||||
|
<image src="/static/images/no_thing.png"></image>
|
||||||
|
<text>暂无内容哦~</text>
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</scroll-view>
|
||||||
|
<view class="foot_bar">
|
||||||
|
<button class="confirm_btn" @click="submit">确定({{checkedArr.length}})</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import Loading from '@/components/Loading/index.vue';
|
||||||
|
import subtractive from '@/components/subtractive/subtractive.vue';
|
||||||
|
|
||||||
|
import {
|
||||||
|
getCommunitygetOrderList
|
||||||
|
} from "@/api/trading-floor";
|
||||||
|
import {
|
||||||
|
mapGetters
|
||||||
|
} from "vuex";
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
checkedObj: {
|
||||||
|
type: Array,
|
||||||
|
default: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: mapGetters(['viewColor']),
|
||||||
|
components: {
|
||||||
|
Loading,
|
||||||
|
subtractive
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isActive: 0,
|
||||||
|
loadedb: false,
|
||||||
|
loadingb: false,
|
||||||
|
loadedc: false,
|
||||||
|
loadingc: false,
|
||||||
|
loadeds: false,
|
||||||
|
loadings: false,
|
||||||
|
whereb: {
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
keyword: '',
|
||||||
|
},
|
||||||
|
peicenumber: 0,
|
||||||
|
|
||||||
|
searchVal: "",
|
||||||
|
checked: [],
|
||||||
|
list: [],
|
||||||
|
|
||||||
|
bought: [],
|
||||||
|
|
||||||
|
checkedArr: [],
|
||||||
|
|
||||||
|
// picker下拉数据源
|
||||||
|
storageCustomList: [{
|
||||||
|
CustGoodsCode: "TEST001",
|
||||||
|
CustGoodsName: "测试货主001",
|
||||||
|
IfBoxId: 0,
|
||||||
|
IfProductId: 0,
|
||||||
|
}, {
|
||||||
|
CustGoodsCode: "TEST002",
|
||||||
|
CustGoodsName: "测试货主002",
|
||||||
|
IfBoxId: 0,
|
||||||
|
IfProductId: 0,
|
||||||
|
}, {
|
||||||
|
CustGoodsCode: "TEST003",
|
||||||
|
CustGoodsName: "测试货主003",
|
||||||
|
IfBoxId: 0,
|
||||||
|
IfProductId: 0,
|
||||||
|
}],
|
||||||
|
index: 0,
|
||||||
|
pickerData: '请选择',
|
||||||
|
itstock: '',
|
||||||
|
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
checkedObj: {
|
||||||
|
handler(n) {
|
||||||
|
|
||||||
|
this.checkedArr = n
|
||||||
|
},
|
||||||
|
deep: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.checkedArr = this.checkedObj
|
||||||
|
this.getBounht();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//价格
|
||||||
|
producrprice(e, i,item) {
|
||||||
|
|
||||||
|
this.bought[i].price = e.detail.value
|
||||||
|
this.$set(item, 'check',false);
|
||||||
|
},
|
||||||
|
// picker修改事件
|
||||||
|
bindPickerChange: function(e, storage, num) {
|
||||||
|
this.bought[num].attrValue[this.index].sku = storage[e.detail.value].sku
|
||||||
|
this.bought[num].attrValue[this.index].stock = storage[e.detail.value].stock
|
||||||
|
this.bought[num].product_attr_unique = storage[e.detail.value].unique
|
||||||
|
this.pickerData = storage[this.index] // 这里就是选中的对象
|
||||||
|
|
||||||
|
if (this.bought[num].attrValue[this.index].stock == 0) {
|
||||||
|
this.$util.Tips({
|
||||||
|
title: '库存不足'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 点击关闭按钮
|
||||||
|
close() {
|
||||||
|
this.$emit('close');
|
||||||
|
},
|
||||||
|
numberChange(data, i) {
|
||||||
|
this.peicenumber = data.number;
|
||||||
|
this.bought[i].number = data.number
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
tabs(index) {
|
||||||
|
this.isActive = index
|
||||||
|
this.$set(this.whereb, 'keyword', '');
|
||||||
|
this.searchVal = ''
|
||||||
|
this.searchBut()
|
||||||
|
},
|
||||||
|
onTouchmove(e) {
|
||||||
|
if (this.loadendb) return;
|
||||||
|
if (this.loadingb) return;
|
||||||
|
const query = uni.createSelectorQuery().in(this);
|
||||||
|
query.select('#goods').boundingClientRect(data => {
|
||||||
|
if (data.bottom < 1500 && data.top < 0) {
|
||||||
|
this.getBounht();
|
||||||
|
}
|
||||||
|
}).exec();
|
||||||
|
|
||||||
|
// 模拟触底刷新
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
setValue: function(event) {
|
||||||
|
this.$set(this.whereb, 'keyword', event.detail.value);
|
||||||
|
|
||||||
|
},
|
||||||
|
searchBut() {
|
||||||
|
this.whereb.page = this.wherec.page = this.wheres.page =
|
||||||
|
this.bought = []
|
||||||
|
this.isActive == 0 ? this.getBounht() : ''
|
||||||
|
},
|
||||||
|
getBounht() {
|
||||||
|
var that = this;
|
||||||
|
if (that.loadingb || that.loadedb) return;
|
||||||
|
that.loadingb = true;
|
||||||
|
|
||||||
|
getCommunitygetOrderList(that.whereb).then(
|
||||||
|
res => {
|
||||||
|
that.loadingb = false;
|
||||||
|
that.loadedb = res.data.list.length < that.whereb.limit;
|
||||||
|
that.bought.push.apply(that.bought, res.data.list);
|
||||||
|
that.whereb.page = that.whereb.page + 1;
|
||||||
|
that.getInitchecked(that.bought);
|
||||||
|
},
|
||||||
|
error => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: error.msg
|
||||||
|
})
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/*获取初始化选中的数据*/
|
||||||
|
getInitchecked(arr) {
|
||||||
|
let that = this;
|
||||||
|
arr.forEach((item, index) => {
|
||||||
|
that.$set(item, 'check', false);
|
||||||
|
that.checkedArr.forEach((val, i) => {
|
||||||
|
if (item.product_id == val.product_id) {
|
||||||
|
that.$set(item, 'check', true);
|
||||||
|
that.$set(item, 'number', val.number);
|
||||||
|
that.$set(item, 'price', val.price);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
/*已选中的商品打钩*/
|
||||||
|
getCheckedGoods() {
|
||||||
|
this.checked = []
|
||||||
|
this.checkedArr.forEach((item, index) => {
|
||||||
|
this.check.push(item)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/*点击选中与否*/
|
||||||
|
goodsCheck(item) {
|
||||||
|
this.$set(item, 'check', !item.check);
|
||||||
|
if (item.check) {
|
||||||
|
if (this.peicenumber == 0) {
|
||||||
|
item.number = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!item.product_attr_unique) {
|
||||||
|
item.product_attr_unique = item.attrValue[0].unique
|
||||||
|
}
|
||||||
|
this.checkedArr.push(item)
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.checkedArr.splice(this.checkedArr.findIndex(itemn => ((itemn.spu_id == item.spu_id) || (item
|
||||||
|
.spu_id == (
|
||||||
|
itemn.spu && itemn.spu.spu_id)))), 1)
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/*确定提交*/
|
||||||
|
submit() {
|
||||||
|
|
||||||
|
this.$emit('getProduct', this.checkedArr);
|
||||||
|
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.containers {
|
||||||
|
background: #ffffff;
|
||||||
|
border-radius: 16rpx 16rpx 0 0;
|
||||||
|
padding: 40rpx 0;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.header {
|
||||||
|
position: relative;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
text {
|
||||||
|
position: relative;
|
||||||
|
margin: 0 50rpx;
|
||||||
|
color: #999999;
|
||||||
|
font-size: 30rpx;
|
||||||
|
|
||||||
|
&.on {
|
||||||
|
color: #333333;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 34rpx;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
display: inline-block;
|
||||||
|
width: 40rpx;
|
||||||
|
height: 5rpx;
|
||||||
|
background: var(--view-theme);
|
||||||
|
position: absolute;
|
||||||
|
bottom: -10rpx;
|
||||||
|
left: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconclose {
|
||||||
|
width: 44rpx;
|
||||||
|
height: 44rpx;
|
||||||
|
line-height: 44rpx;
|
||||||
|
border: 2rpx solid #fff;
|
||||||
|
border-radius: 50%;
|
||||||
|
text-align: center;
|
||||||
|
color: #fff;
|
||||||
|
position: absolute;
|
||||||
|
top: -150rpx;
|
||||||
|
right: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search {
|
||||||
|
margin-top: 44rpx;
|
||||||
|
background: #F5F5F5;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
padding: 12rpx 30rpx 12rpx 66rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #939393;
|
||||||
|
position: absolute;
|
||||||
|
top: 20rpx;
|
||||||
|
left: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.placeholder {
|
||||||
|
color: #999999;
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub_title {
|
||||||
|
color: #282828;
|
||||||
|
font-size: 26rpx;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
color: #8A8A8A;
|
||||||
|
font-size: 28rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
scroll-view {
|
||||||
|
height: 650rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
height: 650rpx;
|
||||||
|
margin: 40rpx 0 80rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.picTxt {
|
||||||
|
width: 100%;
|
||||||
|
padding: 25rpx 0;
|
||||||
|
position: relative;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
border-top: 2rpx solid #E7E6E4;
|
||||||
|
|
||||||
|
.picTxt_one {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.picTxt_one {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
|
||||||
|
|
||||||
|
.slecte {
|
||||||
|
margin-right: 30rpx;
|
||||||
|
width: 280rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #959595;
|
||||||
|
background-color: #E7E6E4;
|
||||||
|
border-radius: 10rpx 10rpx 10rpx 10rpx;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.picTxt_price {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 37rpx;
|
||||||
|
height: 70rpx;
|
||||||
|
line-height: 70rpx;
|
||||||
|
|
||||||
|
.price {
|
||||||
|
display: flex;
|
||||||
|
margin-right: 15rpx;
|
||||||
|
|
||||||
|
input {
|
||||||
|
width: 210rpx;
|
||||||
|
text-align: center;
|
||||||
|
height: 70rpx;
|
||||||
|
background: #F5F5F5;
|
||||||
|
border-radius: 7rpx 7rpx 7rpx 7rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
|
||||||
|
margin-left: 20rpx;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.price_num {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox {
|
||||||
|
margin-right: 30rpx;
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-size: 38rpx;
|
||||||
|
color: #CCCCCC;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-xuanzhong1 {
|
||||||
|
color: var(--view-theme);
|
||||||
|
}
|
||||||
|
|
||||||
|
.disabled {
|
||||||
|
pointer-events: none;
|
||||||
|
cursor: default;
|
||||||
|
opacity: 0.3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pictrue {
|
||||||
|
width: 160rpx;
|
||||||
|
height: 160rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
width: 430rpx;
|
||||||
|
margin-left: 30rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #282828;
|
||||||
|
position: relative;
|
||||||
|
height: 160rpx;
|
||||||
|
|
||||||
|
.name {
|
||||||
|
color: #282828;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.money {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
color: var(--view-priceColor);
|
||||||
|
font-size: 22rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
text {
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.foot_bar {
|
||||||
|
width: 100%;
|
||||||
|
position: fixed;
|
||||||
|
// bottom: 54px;
|
||||||
|
left: 0;
|
||||||
|
padding: 20rpx 0;
|
||||||
|
z-index: 5;
|
||||||
|
|
||||||
|
.confirm_btn {
|
||||||
|
width: 710rpx;
|
||||||
|
height: 86rpx;
|
||||||
|
line-height: 86rpx;
|
||||||
|
color: #ffffff;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 32rpx;
|
||||||
|
background: var(--view-theme);
|
||||||
|
border-radius: 43rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty {
|
||||||
|
margin: 130rpx 0 150rpx;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
image,
|
||||||
|
uni-image {
|
||||||
|
display: inline-block;
|
||||||
|
width: 414rpx;
|
||||||
|
height: 305rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
text {
|
||||||
|
display: block;
|
||||||
|
color: #999999;
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
208
components/subtractive/subtractive.vue
Normal file
208
components/subtractive/subtractive.vue
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
<template>
|
||||||
|
<view class="uni-numbox">
|
||||||
|
<!-- -部分 -->
|
||||||
|
<view class="uni-numbox-minus" @click="_calcValue('subtract')">
|
||||||
|
<text :class="minDisabled?'uni-numbox-disabled': ''">-</text>
|
||||||
|
</view>
|
||||||
|
<!-- 中间输入数值部分 -->
|
||||||
|
<input class="uni-numbox-value" type="number" :disabled="disabled" :value="inputValue" @blur="_onBlur">
|
||||||
|
<!-- + 部分 -->
|
||||||
|
<view class="uni-numbox-plus" @click="_calcValue('add')">
|
||||||
|
<text :class="maxDisabled?'uni-numbox-disabled': ''">+</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'uni-number-box',
|
||||||
|
props: {
|
||||||
|
// isMax 是否有上限设置
|
||||||
|
isMax: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
// isMin 是否有下限设置
|
||||||
|
isMin: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
// index 唯一值,如果一个页面有多个数量增减组件时,起到唯一的作用
|
||||||
|
index: {
|
||||||
|
type: String,
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
|
// value 是数值
|
||||||
|
value: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
|
// min 最小值
|
||||||
|
min: {
|
||||||
|
type: Number,
|
||||||
|
default: -Infinity
|
||||||
|
},
|
||||||
|
// max 最大值
|
||||||
|
max: {
|
||||||
|
type: Number,
|
||||||
|
default: Infinity
|
||||||
|
},
|
||||||
|
// step 步长
|
||||||
|
step: {
|
||||||
|
type: Number,
|
||||||
|
default: 1
|
||||||
|
},
|
||||||
|
// disabled 是否禁用
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
inputValue: this.value,
|
||||||
|
minDisabled: false,
|
||||||
|
maxDisabled: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.maxDisabled = this.isMax;
|
||||||
|
this.minDisabled = this.isMin;
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
inputValue(number) {
|
||||||
|
const data = {
|
||||||
|
number: number,
|
||||||
|
index: this.index
|
||||||
|
}
|
||||||
|
this.$emit('eventChange', data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
_calcValue(type) {
|
||||||
|
const scale = this._getDecimalScale();
|
||||||
|
let value = this.inputValue * scale;
|
||||||
|
let newValue = 0;
|
||||||
|
let step = this.step * scale;
|
||||||
|
|
||||||
|
if (type === 'subtract') {
|
||||||
|
newValue = value - step;
|
||||||
|
if (newValue <= this.min) {
|
||||||
|
this.minDisabled = true;
|
||||||
|
}
|
||||||
|
if (newValue < this.min) {
|
||||||
|
newValue = this.min
|
||||||
|
}
|
||||||
|
if (newValue < this.max && this.maxDisabled === true) {
|
||||||
|
this.maxDisabled = false;
|
||||||
|
}
|
||||||
|
} else if (type === 'add') {
|
||||||
|
newValue = value + step;
|
||||||
|
if (newValue >= this.max) {
|
||||||
|
this.maxDisabled = true;
|
||||||
|
}
|
||||||
|
if (newValue > this.max) {
|
||||||
|
newValue = this.max
|
||||||
|
}
|
||||||
|
if (newValue > this.min && this.minDisabled === true) {
|
||||||
|
this.minDisabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (newValue === value) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.inputValue = newValue / scale;
|
||||||
|
},
|
||||||
|
_getDecimalScale() {
|
||||||
|
let scale = 1;
|
||||||
|
// 浮点型
|
||||||
|
if (~~this.step !== this.step) {
|
||||||
|
scale = Math.pow(10, (this.step + '').split('.')[1].length);
|
||||||
|
}
|
||||||
|
return scale;
|
||||||
|
},
|
||||||
|
_onBlur(event) {
|
||||||
|
let value = event.detail.value;
|
||||||
|
if (!value) {
|
||||||
|
this.inputValue = 0;
|
||||||
|
return
|
||||||
|
}
|
||||||
|
value = +value;
|
||||||
|
if (value > this.max) {
|
||||||
|
value = this.max;
|
||||||
|
} else if (value < this.min) {
|
||||||
|
value = this.min
|
||||||
|
}
|
||||||
|
|
||||||
|
this.inputValue = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style>
|
||||||
|
.uni-numbox {
|
||||||
|
/* position:absolute; */
|
||||||
|
/* left: 30upx;
|
||||||
|
bottom: 0; */
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
width: 200upx;
|
||||||
|
height: 50upx;
|
||||||
|
/* background:#f5f5f5; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-numbox-minus {
|
||||||
|
background: #EEEEEE !important;
|
||||||
|
|
||||||
|
color: #909399 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-numbox-minus,
|
||||||
|
.uni-numbox-plus {
|
||||||
|
margin: 0;
|
||||||
|
width: 53rpx;
|
||||||
|
height: 53rpx;
|
||||||
|
background-color: #F84221;
|
||||||
|
opacity: 1;
|
||||||
|
line-height: 53rpx;
|
||||||
|
text-align: center;
|
||||||
|
position: relative;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 40upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-numbox-minus .yticon,
|
||||||
|
.uni-numbox-plus .yticon {
|
||||||
|
font-size: 36upx;
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-numbox-minus {
|
||||||
|
/* border-right: none;
|
||||||
|
border-top-left-radius: 6upx;
|
||||||
|
border-bottom-left-radius: 6upx; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-numbox-plus {
|
||||||
|
/* border-left: none;
|
||||||
|
border-top-right-radius: 6upx;
|
||||||
|
border-bottom-right-radius: 6upx; */
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-numbox-value {
|
||||||
|
position: relative;
|
||||||
|
/* background-color: #f5f5f5; */
|
||||||
|
width: 90upx;
|
||||||
|
height: 50upx;
|
||||||
|
text-align: center;
|
||||||
|
padding: 0;
|
||||||
|
font-size: 30upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-numbox-disabled.yticon {
|
||||||
|
color: #d6d6d6;
|
||||||
|
}
|
||||||
|
</style>
|
261
components/villageTeam/villageTeam.vue
Normal file
261
components/villageTeam/villageTeam.vue
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
<template>
|
||||||
|
<view :style="viewColor">
|
||||||
|
<view class="address-window" :class="display==true?'on':''">
|
||||||
|
<view class='title'>请选择所在村队<text class='iconfont icon-guanbi' @tap='close'></text></view>
|
||||||
|
<view class="address-count">
|
||||||
|
<view class="address-selected">
|
||||||
|
<view v-for="(item,index) in selectedArr" :key="index" class="selected-list" :class="{active:index === selectedIndex}" @click="change(item.parent_id, index)">
|
||||||
|
{{item.name}}
|
||||||
|
<text class="iconfont icon-xiangyou"></text>
|
||||||
|
</view>
|
||||||
|
<view class="selected-list" :class="{active:-1 === selectedIndex}" v-if="showMore" @click="change(-1, -1)">
|
||||||
|
<text class="iconfont icon-xiangyou"></text>
|
||||||
|
请选择
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<scroll-view scroll-y="true" :scroll-top="scrollTop" class="address-list" @scroll="scroll">
|
||||||
|
<view v-for="(item,index) in addressList" :key="index" class="list" :class="{active:item.id === activeId}" @click="selected(item)">
|
||||||
|
<text class="item-name">{{item.name}}</text>
|
||||||
|
<text v-if="item.id === activeId" class="iconfont icon-duihao2"></text>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class='mask' catchtouchmove="true" :hidden='display==false' @tap='close'></view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
import {getAddressList} from '@/api/user.js';
|
||||||
|
import {brigade } from '@/api/api.js';
|
||||||
|
import { mapGetters } from "vuex";
|
||||||
|
const CACHE_ADDRESS = {};
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
display: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
address: Array,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
active: 0,
|
||||||
|
//地址列表
|
||||||
|
addressList: [],
|
||||||
|
selectedArr: [],
|
||||||
|
selectedIndex: -1,
|
||||||
|
is_loading: false,
|
||||||
|
old: { scrollTop: 0 },
|
||||||
|
scrollTop: 0
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
...mapGetters(['viewColor']),
|
||||||
|
activeId(){
|
||||||
|
return this.selectedIndex == -1 ? 0 : this.selectedArr[this.selectedIndex].id
|
||||||
|
},
|
||||||
|
showMore(){
|
||||||
|
return this.selectedArr.length ? this.selectedArr[this.selectedArr.length - 1].snum > 0 : true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
address(n){
|
||||||
|
this.selectedArr = n ? [...n] : []
|
||||||
|
},
|
||||||
|
display(n){
|
||||||
|
if(!n) {
|
||||||
|
this.addressList = [];
|
||||||
|
this.selectedArr = this.address ? [...this.address] : [];
|
||||||
|
this.selectedIndex = -1;
|
||||||
|
this.is_loading = false;
|
||||||
|
}else{
|
||||||
|
this.loadAddress()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.loadAddress()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
change(pid,index){
|
||||||
|
if(this.selectedIndex == index) return;
|
||||||
|
if(pid === -1){
|
||||||
|
pid = this.selectedArr.length ? this.selectedArr[this.selectedArr.length -1].id : 0;
|
||||||
|
}
|
||||||
|
console.log(index)
|
||||||
|
this.selectedIndex = index;
|
||||||
|
this.loadAddress();
|
||||||
|
},
|
||||||
|
loadAddress(pid){
|
||||||
|
if(CACHE_ADDRESS[pid]){
|
||||||
|
this.addressList = CACHE_ADDRESS[pid];
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
this.is_loading = true;
|
||||||
|
brigade(pid).then(res=>{
|
||||||
|
console.log(res.data)
|
||||||
|
this.is_loading = false;
|
||||||
|
CACHE_ADDRESS[pid] = res.data;
|
||||||
|
this.addressList = res.data;
|
||||||
|
})
|
||||||
|
this.goTop()
|
||||||
|
},
|
||||||
|
selected(item){
|
||||||
|
if(this.is_loading) return;
|
||||||
|
if(this.selectedIndex > -1){
|
||||||
|
this.selectedArr.splice(this.selectedIndex + 1,999)
|
||||||
|
this.selectedArr[this.selectedIndex] = item;
|
||||||
|
this.selectedIndex = -1;
|
||||||
|
}else if(!item.parent_id){
|
||||||
|
this.selectedArr = [item];
|
||||||
|
}else{
|
||||||
|
this.selectedArr.push(item);
|
||||||
|
}
|
||||||
|
if(item.snum){
|
||||||
|
this.loadAddress(item.id);
|
||||||
|
} else {
|
||||||
|
this.$emit('submit', [...this.selectedArr]);
|
||||||
|
this.$emit('changeClose');
|
||||||
|
}
|
||||||
|
this.goTop()
|
||||||
|
},
|
||||||
|
close: function() {
|
||||||
|
this.$emit('changeClose');
|
||||||
|
},
|
||||||
|
scroll : function(e) {
|
||||||
|
this.old.scrollTop = e.detail.scrollTop
|
||||||
|
},
|
||||||
|
goTop: function(e) {
|
||||||
|
this.scrollTop = this.old.scrollTop
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.scrollTop = 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.address-window {
|
||||||
|
background-color: #fff;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 101;
|
||||||
|
border-radius: 30rpx 30rpx 0 0;
|
||||||
|
transform: translate3d(0, 100%, 0);
|
||||||
|
transition: all .3s cubic-bezier(.25, .5, .5, .9);
|
||||||
|
}
|
||||||
|
.address-window.on {
|
||||||
|
transform: translate3d(0, 0, 0);
|
||||||
|
}
|
||||||
|
.address-window .title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
height: 123rpx;
|
||||||
|
line-height: 123rpx;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.address-window .title .iconfont {
|
||||||
|
position: absolute;
|
||||||
|
right: 30rpx;
|
||||||
|
color: #8a8a8a;
|
||||||
|
font-size: 35rpx;
|
||||||
|
}
|
||||||
|
.address-count{
|
||||||
|
.address-selected{
|
||||||
|
padding: 0 30rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
position: relative;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
border-bottom: 2rpx solid #f7f7f7;
|
||||||
|
}
|
||||||
|
.selected-list{
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #282828;
|
||||||
|
line-height: 50rpx;
|
||||||
|
padding-bottom: 10rpx;
|
||||||
|
padding-left: 60rpx;
|
||||||
|
position: relative;
|
||||||
|
&.active{
|
||||||
|
color: #e28d54;
|
||||||
|
}
|
||||||
|
&:before,&:after{
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
&:before{
|
||||||
|
width: 4rpx;
|
||||||
|
height: 100%;
|
||||||
|
background-color: var(--view-theme);
|
||||||
|
top: 0;
|
||||||
|
left: 10rpx;
|
||||||
|
}
|
||||||
|
&:after{
|
||||||
|
width: 12rpx;
|
||||||
|
height: 12rpx;
|
||||||
|
background: var(--view-theme);
|
||||||
|
border-radius: 100%;
|
||||||
|
left: 6rpx;
|
||||||
|
top: 50%;
|
||||||
|
margin-top: -8rpx;
|
||||||
|
}
|
||||||
|
&:first-child,&:last-child{
|
||||||
|
&:before{
|
||||||
|
height: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:first-child{
|
||||||
|
&:before{
|
||||||
|
top: auto;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.iconfont{
|
||||||
|
font-size: 20rpx;
|
||||||
|
float: right;
|
||||||
|
color: #dddddd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
scroll-view{
|
||||||
|
height: 550rpx;
|
||||||
|
}
|
||||||
|
.address-list{
|
||||||
|
padding: 0 30rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.list{
|
||||||
|
.iconfont{
|
||||||
|
float: right;
|
||||||
|
color: #ddd;
|
||||||
|
font-size: 22rpx;
|
||||||
|
}
|
||||||
|
.item-name{
|
||||||
|
display: inline-block;
|
||||||
|
line-height: 50rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
|
&.active{
|
||||||
|
color: #e28d54;
|
||||||
|
.iconfont{
|
||||||
|
color: #e28d54;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,285 +1,340 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="zbp-head-wrapper">
|
<view class="zbp-head-wrapper">
|
||||||
<view class="color-lump"></view>
|
<view class="color-lump"></view>
|
||||||
<view class="bg-img">
|
<view class="bg-img">
|
||||||
<img :src="bgColor" alt="">
|
<img :src="bgColor" alt="">
|
||||||
</view>
|
</view>
|
||||||
<view class="site-box flex_a_c_j_sb">
|
|
||||||
<view class="place_wrapper flex_a_c" @click="selectLocation">
|
<view class="site-box flex_a_c_j_sb">
|
||||||
<view class="iconfont icon-weizhi"></view>
|
|
||||||
<view class="town_name">{{street}}</view>
|
<view class="place_wrapper flex_a_c" @click="selectLocation">
|
||||||
</view>
|
<view class="iconfont icon-weizhi"></view>
|
||||||
<navigator url="/pages/chat/customer_list/index?type=0" hover-class="none">
|
<view class="town_name">{{street}}</view>
|
||||||
<view class="iconfont icon-xiaoxi" style="color:#fff;"></view>
|
</view>
|
||||||
</navigator>
|
<navigator url="/pages/chat/customer_list/index?type=0" hover-class="none">
|
||||||
</view>
|
<view class="iconfont icon-xiaoxi" style="color:#fff;"></view>
|
||||||
<!-- 搜索栏 -->
|
</navigator>
|
||||||
<navigator url="/pages/columnGoods/goods_search/index" hover-class="none" class="search_content flex_a_c_j_sb">
|
</view>
|
||||||
<view class="flex_a_c">
|
<!-- 搜索栏 -->
|
||||||
<view class="iconfont icon-sousuo"></view>
|
<navigator url="/pages/columnGoods/goods_search/index" hover-class="none" class="search_content flex_a_c_j_sb">
|
||||||
<input type="text" v-model="keyword" placeholder="搜索产品或店铺" disabled>
|
<view class="flex_a_c">
|
||||||
</view>
|
<view class="iconfont icon-sousuo" style="font-size: 39rpx;"></view>
|
||||||
<button class="search_btn">搜索</button>
|
<input type="text" v-model="keyword" placeholder="搜索产品或店铺" placeholder-style="font-size: 30rpx;"
|
||||||
</navigator>
|
disabled>
|
||||||
<!-- 轮播图 -->
|
</view>
|
||||||
<view class="supply_chains-head">
|
<button class="search_btn">搜索</button>
|
||||||
<swiper class="swiper l_center" @change="swiperChange" :indicator-dots="swiper.indicatorDots"
|
</navigator>
|
||||||
:autoplay="swiper.autoplay" :interval="swiper.interval" :duration="swiper.duration"
|
<!-- 轮播图 -->
|
||||||
indicator-active-color="#fff">
|
<view class="supply_chains-head">
|
||||||
<block v-for="(item,index) in swiper['url']" :key="index">
|
<swiper class="swiper l_center" @change="swiperChange" :indicator-dots="swiper.indicatorDots"
|
||||||
<swiper-item class="swi_item" @click="swiperClick(item)">
|
:autoplay="swiper.autoplay" :interval="swiper.interval" :duration="swiper.duration"
|
||||||
<u--image :showLoading="true" :src="item.img" width="694.74rpx" height="242.11rpx" mode="aspectFill">
|
indicator-active-color="#fff">
|
||||||
</u--image>
|
<block v-for="(item,index) in swiper['url']" :key="index">
|
||||||
</swiper-item>
|
<swiper-item class="swi_item" @click="swiperClick(item)">
|
||||||
</block>
|
<u--image :showLoading="true" :src="item.img" width="724rpx" height="259rpx" mode="aspectFit">
|
||||||
</swiper>
|
</u--image>
|
||||||
</view>
|
</swiper-item>
|
||||||
<u-picker :defaultIndex="defaInd" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm"
|
</block>
|
||||||
@cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker>
|
</swiper>
|
||||||
</view>
|
</view>
|
||||||
|
<u-picker :defaultIndex="defaInd" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm"
|
||||||
|
@cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker>
|
||||||
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getArea, getStreet } from '@/api/article.js';
|
import {
|
||||||
import { getIndexData, getDiy } from '@/api/api.js'
|
getArea,
|
||||||
import { getGeocoder } from '@/api/store.js';
|
getStreet
|
||||||
import { mapGetters } from 'vuex'
|
} from '@/api/article.js';
|
||||||
import { Toast } from '../libs/uniApi';
|
import {
|
||||||
import Cache from '@/utils/cache';
|
getIndexData,
|
||||||
export default {
|
getDiy
|
||||||
props: {
|
} from '@/api/api.js'
|
||||||
isSelectPlace: {
|
import {
|
||||||
type: Boolean,
|
getGeocoder
|
||||||
default: false
|
} from '@/api/store.js';
|
||||||
},
|
import {
|
||||||
location_Arr: {
|
mapGetters
|
||||||
type: Object,
|
} from 'vuex'
|
||||||
default: () => ({})
|
import {
|
||||||
}
|
Toast
|
||||||
},
|
} from '../libs/uniApi';
|
||||||
data() {
|
import Cache from '@/utils/cache';
|
||||||
return {
|
export default {
|
||||||
defaInd: [0, 0],
|
props: {
|
||||||
street: '',
|
isSelectPlace: {
|
||||||
showPicker: false,
|
type: Boolean,
|
||||||
styleConfig: [],
|
default: false
|
||||||
columnData: [],
|
},
|
||||||
homeCombData: [],
|
location_Arr: {
|
||||||
keyword: '',
|
type: Object,
|
||||||
bgColor: '',
|
default: () => ({})
|
||||||
swiper: {
|
},
|
||||||
url: [{
|
town: {
|
||||||
img: ''
|
type: String,
|
||||||
}],
|
default: false
|
||||||
indicatorDots: true, // 显示面板指示点
|
},
|
||||||
vertical: false, // 滑动方向是否为纵向
|
|
||||||
autoplay: true, // 是否自动切换
|
|
||||||
interval: 2000, // 自动切换时间间隔
|
|
||||||
duration: 400 // 滑动动画时长
|
|
||||||
},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
computed: mapGetters(['location']),
|
|
||||||
watch: {
|
|
||||||
location: {
|
|
||||||
handler(newVal, oldVal) {
|
|
||||||
if (newVal.address_component?.street) this.street = newVal.address_component.street
|
|
||||||
},
|
|
||||||
immediate: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.getBanner()
|
|
||||||
this.Area()
|
|
||||||
if (this.location.address_component?.street) this.street = this.location.address_component.street
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
swiperClick(item) {
|
|
||||||
const url = item.info[1].value
|
|
||||||
uni.navigateTo({
|
|
||||||
url: url
|
|
||||||
})
|
|
||||||
},
|
|
||||||
selectLocation() {
|
|
||||||
this.isSelectPlace ? this.showPicker = true : ''
|
|
||||||
},
|
|
||||||
confirm(e) {
|
|
||||||
this.street = e.value[1].name
|
|
||||||
this.showPicker = false
|
|
||||||
this.$emit('selectPlce', e)
|
|
||||||
let adress = Cache.get('LOCATION_DATA',true)
|
|
||||||
Cache.set('LOCATION_DATA',adress)
|
|
||||||
},
|
|
||||||
changeHandler(e) {
|
|
||||||
const {
|
|
||||||
columnIndex,
|
|
||||||
value,
|
|
||||||
values,
|
|
||||||
index,
|
|
||||||
picker = this.$refs.uPicker
|
|
||||||
} = e;
|
|
||||||
if (columnIndex === 0) {
|
|
||||||
getStreet({ area_code: value[0]['code'] }).then(res => {
|
|
||||||
picker.setColumnValues(1, res.data);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
Area() {
|
|
||||||
getArea({ city_code: 510500 }).then(res => {
|
|
||||||
this.$refs.uPicker.setColumnValues(0, res.data);
|
|
||||||
this.Street(res.data[0]['code']);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
Street(code) {
|
|
||||||
getStreet({ area_code: code }).then(res => {
|
|
||||||
this.$refs.uPicker.setColumnValues(1, res.data);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
swiperChange(e) {
|
},
|
||||||
let { current, source } = e.detail;
|
data() {
|
||||||
if (source === 'autoplay' || source === 'touch') {
|
return {
|
||||||
this.bgColor = this.swiper.url[e.detail.current]['img']
|
defaInd: [0, 0],
|
||||||
}
|
street: '',
|
||||||
},
|
|
||||||
// 对象转数组
|
showPicker: false,
|
||||||
objToArr(data) {
|
styleConfig: [],
|
||||||
let obj = Object.keys(data).sort();
|
columnData: [],
|
||||||
let m = obj.map(key => data[key]);
|
homeCombData: [],
|
||||||
return m;
|
keyword: '',
|
||||||
},
|
bgColor: '',
|
||||||
async getBanner(id) {
|
swiper: {
|
||||||
let that = this;
|
url: [{
|
||||||
const { data } = await getDiy({ id: 0 })
|
img: ''
|
||||||
that.styleConfig = that.objToArr(data.value);
|
}],
|
||||||
/* 循环数组得到数据*/
|
indicatorDots: true, // 显示面板指示点
|
||||||
that.styleConfig.forEach((item, index, arr) => {
|
vertical: false, // 滑动方向是否为纵向
|
||||||
if (item.name == 'headerSerch' || item.name == 'homeComb') {
|
autoplay: true, // 是否自动切换
|
||||||
if (item.name == 'homeComb') {
|
interval: 2000, // 自动切换时间间隔
|
||||||
that.swiper.url = item.swiperConfig.list
|
duration: 400 // 滑动动画时长
|
||||||
}
|
},
|
||||||
}
|
|
||||||
})
|
}
|
||||||
this.bgColor = this.swiper.url[0].img
|
},
|
||||||
},
|
watch: {
|
||||||
}
|
street(nval, val) {
|
||||||
}
|
this.street = nval
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
|
||||||
|
this.getBanner()
|
||||||
|
this.Area()
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
mounted() {
|
||||||
|
this.$bus.$on('value-updated', (newValue) => {
|
||||||
|
// 更新组件的值
|
||||||
|
this.street = newValue.split(',')[0]
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
swiperClick(item) {
|
||||||
|
const url = item.info[1].value
|
||||||
|
uni.navigateTo({
|
||||||
|
url: url
|
||||||
|
})
|
||||||
|
},
|
||||||
|
selectLocation() {
|
||||||
|
this.isSelectPlace ? this.showPicker = true : ''
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
confirm(e) {
|
||||||
|
|
||||||
|
this.showPicker = false
|
||||||
|
this.$emit('selectPlce', e)
|
||||||
|
this.$emit('change', e)
|
||||||
|
this.street = e.value[1].name
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$bus.$emit('value-updated',e.value[1].name + ',' +e.value[1].code);
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
changeHandler(e) {
|
||||||
|
const {
|
||||||
|
columnIndex,
|
||||||
|
value,
|
||||||
|
values,
|
||||||
|
index,
|
||||||
|
picker = this.$refs.uPicker
|
||||||
|
} = e;
|
||||||
|
if (columnIndex === 0) {
|
||||||
|
getStreet({
|
||||||
|
area_code: value[0]['code']
|
||||||
|
}).then(res => {
|
||||||
|
picker.setColumnValues(1, res.data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Area() {
|
||||||
|
getArea({
|
||||||
|
city_code: 510500
|
||||||
|
}).then(res => {
|
||||||
|
this.$refs.uPicker.setColumnValues(0, res.data);
|
||||||
|
this.Street(res.data[0]['code']);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
Street(code) {
|
||||||
|
getStreet({
|
||||||
|
area_code: code
|
||||||
|
}).then(res => {
|
||||||
|
this.$refs.uPicker.setColumnValues(1, res.data);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
swiperChange(e) {
|
||||||
|
let {
|
||||||
|
current,
|
||||||
|
source
|
||||||
|
} = e.detail;
|
||||||
|
if (source === 'autoplay' || source === 'touch') {
|
||||||
|
this.bgColor = this.swiper.url[e.detail.current]['img']
|
||||||
|
this.$emit('kkchange', this.bgColor)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 对象转数组
|
||||||
|
objToArr(data) {
|
||||||
|
let obj = Object.keys(data).sort();
|
||||||
|
let m = obj.map(key => data[key]);
|
||||||
|
return m;
|
||||||
|
},
|
||||||
|
async getBanner(id) {
|
||||||
|
let that = this;
|
||||||
|
const {
|
||||||
|
data
|
||||||
|
} = await getDiy({
|
||||||
|
id: 0
|
||||||
|
})
|
||||||
|
that.styleConfig = that.objToArr(data.value);
|
||||||
|
/* 循环数组得到数据*/
|
||||||
|
that.styleConfig.forEach((item, index, arr) => {
|
||||||
|
if (item.name == 'headerSerch' || item.name == 'homeComb') {
|
||||||
|
if (item.name == 'homeComb') {
|
||||||
|
that.swiper.url = item.swiperConfig.list
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.bgColor = this.swiper.url[0].img
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss" scoped>
|
||||||
.zbp-head-wrapper {
|
.zbp-head-wrapper {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-top: 78.95rpx;
|
padding-top: 78.95rpx;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
.color-lump {
|
.color-lump {
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: -86px;
|
bottom: -86px;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-50%, 0);
|
transform: translate(-50%, 0);
|
||||||
width: 102%;
|
width: 102%;
|
||||||
height: 133px;
|
height: 133px;
|
||||||
border-radius: 30px 30px 0 0;
|
border-radius: 30px 30px 0 0;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-img {
|
.bg-img {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
top: 0;
|
top: 0;
|
||||||
/* #ifdef MP || APP-PLUS */
|
/* #ifdef MP || APP-PLUS */
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
/* #ifdef H5 */
|
/* #ifdef H5 */
|
||||||
z-index: 0;
|
z-index: 0;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
z-index: 0;
|
z-index: 0;
|
||||||
filter: blur(0);
|
filter: blur(0);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
filter: blur(30rpx);
|
filter: blur(30rpx);
|
||||||
transform: scale(1.5);
|
transform: scale(1.5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.site-box {
|
.site-box {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 694.74rpx;
|
width: 694.74rpx;
|
||||||
height: 66.67rpx;
|
height: 66.67rpx;
|
||||||
margin-bottom: 26.32rpx;
|
margin-bottom: 26.32rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
z-index: 9999;
|
||||||
|
|
||||||
// 位置
|
|
||||||
.place_wrapper {
|
|
||||||
color: #fff;
|
|
||||||
margin-right: 24.56rpx;
|
|
||||||
font-size: 31.58rpx;
|
|
||||||
|
|
||||||
.town_name {
|
// 位置
|
||||||
margin-left: 10.53rpx;
|
.place_wrapper {
|
||||||
}
|
color: #fff;
|
||||||
}
|
margin-right: 24.56rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
|
||||||
.iconfont {
|
.town_name {
|
||||||
font-size: 35.09rpx;
|
margin-left: 21rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-main {
|
.iconfont {
|
||||||
transition: background-color .5s ease;
|
font-size: 35.09rpx;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.search_content {
|
.my-main {
|
||||||
margin: 0 auto;
|
transition: background-color .5s ease;
|
||||||
width: 694.74rpx;
|
}
|
||||||
height: 61.4rpx;
|
|
||||||
padding: 2px 2px 2px 21.05rpx;
|
|
||||||
border-radius: 100px;
|
|
||||||
background: #fff;
|
|
||||||
margin-bottom: 17.54rpx;
|
|
||||||
position: relative;
|
|
||||||
box-sizing: border-box;
|
|
||||||
|
|
||||||
.icon-sousuo {
|
.search_content {
|
||||||
font-size: 26.32rpx;
|
margin: 0 auto;
|
||||||
font-weight: bold;
|
width: 724rpx;
|
||||||
color: #c8c7c6;
|
height: 74rpx;
|
||||||
margin-right: 17.54rpx;
|
padding: 2px 2px 2px 21.05rpx;
|
||||||
}
|
border-radius: 175rpx;
|
||||||
|
background: #fff;
|
||||||
|
margin-bottom: 21rpx;
|
||||||
|
position: relative;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
.search_btn {
|
.icon-sousuo {
|
||||||
color: #fff;
|
font-size: 26.32rpx;
|
||||||
width: 105.26rpx;
|
font-weight: bold;
|
||||||
height: 52.63rpx;
|
color: #c8c7c6;
|
||||||
line-height: 52.63rpx;
|
margin-right: 17.54rpx;
|
||||||
background: #f84221;
|
}
|
||||||
border-radius: 100px;
|
|
||||||
font-size: 28.07rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.supply_chains-head {
|
.search_btn {
|
||||||
margin-bottom: 17.54rpx;
|
color: #fff;
|
||||||
position: relative;
|
width: 105.26rpx;
|
||||||
z-index: 2;
|
height: 52.63rpx;
|
||||||
|
line-height: 52.63rpx;
|
||||||
|
background: #f84221;
|
||||||
|
border-radius: 100px;
|
||||||
|
font-size: 28.07rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.swiper {
|
.supply_chains-head {
|
||||||
width: 694.74rpx;
|
margin-bottom: 17.54rpx;
|
||||||
height: 242.11rpx;
|
position: relative;
|
||||||
margin: 0 auto;
|
z-index: 2;
|
||||||
border-radius: 15px;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
.swi_item {
|
.swiper {
|
||||||
width: 100%;
|
width: 724rpx;
|
||||||
height: 242.11rpx;
|
height: 259rpx;
|
||||||
}
|
margin: 0 auto;
|
||||||
}
|
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||||
}
|
overflow: hidden;
|
||||||
}
|
|
||||||
|
.swi_item {
|
||||||
|
width: 100%;
|
||||||
|
height: 259rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
@ -9,23 +9,25 @@ let httpApiThree
|
|||||||
// 网络接口修改此字符 小程序域名要求https
|
// 网络接口修改此字符 小程序域名要求https
|
||||||
// let httpApi = 'http://192.168.31.110:8324' // 测试
|
// let httpApi = 'http://192.168.31.110:8324' // 测试
|
||||||
if (process.env.NODE_ENV === "development") {
|
if (process.env.NODE_ENV === "development") {
|
||||||
// httpApi = 'https://shop.lihaink.cn' // 生产
|
httpApi = 'https://shop.lihaink.cn' // 生产
|
||||||
httpApi = "https://crmeb-test.shop.lihaink.cn"
|
// httpApi = "https://crmeb-test.shop.lihaink.cn"
|
||||||
// httpApi = "http://192.168.0.222"
|
// httpApi = "http://192.168.0.222"
|
||||||
// #ifdef MP-WEIXIN
|
// httpApi = "http://192.168.0.108:8325"
|
||||||
httpApiTwo = "https://nk.lihaink.cn"
|
// httpApi = 'http://192.168.0.108:8325'
|
||||||
httpApiThree = 'http://ceshi-oa.lihaink.cn'
|
// #ifdef MP-WEIXIN
|
||||||
// #endif
|
httpApiTwo = "https://nk.lihaink.cn"
|
||||||
// #ifdef H5
|
httpApiThree = 'http://ceshi-oa.lihaink.cn'
|
||||||
// httpApiTwo = "baseUrl" // h5跨域配置
|
// #endif
|
||||||
httpApiTwo = "https://nk.lihaink.cn" // h5跨域配置
|
// #ifdef H5
|
||||||
// httpApiThree = 'baseUrlTest' // h5跨域配置
|
// httpApiTwo = "baseUrl" // h5跨域配置
|
||||||
// #endif
|
httpApiTwo = "https://nk.lihaink.cn" // h5跨域配置
|
||||||
|
// httpApiThree = 'baseUrlTest' // h5跨域配置
|
||||||
|
// #endif
|
||||||
} else if (process.env.NODE_ENV === 'production') {
|
} else if (process.env.NODE_ENV === 'production') {
|
||||||
// httpApi = 'https://shop.lihaink.cn' // 生产
|
httpApi = 'https://shop.lihaink.cn' // 生产
|
||||||
httpApi = "https://crmeb-test.shop.lihaink.cn"
|
// httpApi = "https://crmeb-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' //生产
|
||||||
}
|
}
|
||||||
// httpApi = 'https://shop.lihaink.cn' // 生产
|
// httpApi = 'https://shop.lihaink.cn' // 生产
|
||||||
// httpApiTwo = 'https://nk.lihaink.cn' // 生产
|
// httpApiTwo = 'https://nk.lihaink.cn' // 生产
|
||||||
@ -35,37 +37,37 @@ if (process.env.NODE_ENV === "development") {
|
|||||||
let wsApi = 'wss://shop.lihaink.cn'
|
let wsApi = 'wss://shop.lihaink.cn'
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
// 请求域名 格式: https://您的域名
|
// 请求域名 格式: https://您的域名
|
||||||
// #ifdef MP || APP-PLUS
|
// #ifdef MP || APP-PLUS
|
||||||
// HTTP_REQUEST_URL: httpApi,
|
// HTTP_REQUEST_URL: httpApi,
|
||||||
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,
|
||||||
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: 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,
|
||||||
// 聊天长连接地址
|
// 聊天长连接地址
|
||||||
VUE_APP_WS_URL: wsApi ? `${wsApi}?type=user` : VUE_APP_WS_URL,
|
VUE_APP_WS_URL: wsApi ? `${wsApi}?type=user` : VUE_APP_WS_URL,
|
||||||
// #endif
|
// #endif
|
||||||
openPlantGrass: openPlantGrass,
|
openPlantGrass: openPlantGrass,
|
||||||
HEADER: {
|
HEADER: {
|
||||||
'content-type': 'application/json',
|
'content-type': 'application/json',
|
||||||
//#ifdef H5
|
//#ifdef H5
|
||||||
'Form-type': navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1 ? 'wechat' : 'h5',
|
'Form-type': navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1 ? 'wechat' : 'h5',
|
||||||
//#endif
|
//#endif
|
||||||
//#ifdef MP
|
//#ifdef MP
|
||||||
'Form-type': 'routine',
|
'Form-type': 'routine',
|
||||||
//#endif
|
//#endif
|
||||||
//#ifdef APP-PLUS
|
//#ifdef APP-PLUS
|
||||||
'Form-type': 'app',
|
'Form-type': 'app',
|
||||||
//#endif
|
//#endif
|
||||||
},
|
},
|
||||||
// 回话密钥名称 请勿修改此配置
|
// 回话密钥名称 请勿修改此配置
|
||||||
TOKENNAME: 'X-Token',
|
TOKENNAME: 'X-Token',
|
||||||
// 缓存时间 0 永久
|
// 缓存时间 0 永久
|
||||||
EXPIRE: 0,
|
EXPIRE: 0,
|
||||||
};
|
};
|
@ -38,4 +38,6 @@ module.exports = {
|
|||||||
CACHE_LONGITUDE: 'LONGITUDE',
|
CACHE_LONGITUDE: 'LONGITUDE',
|
||||||
//缓存纬度
|
//缓存纬度
|
||||||
CACHE_LATITUDE: 'LATITUDE',
|
CACHE_LATITUDE: 'LATITUDE',
|
||||||
|
//缓存地址信息
|
||||||
|
ADRESS_LOCATION:'ADRESS_LOCATION'
|
||||||
}
|
}
|
||||||
|
2
main.js
2
main.js
@ -23,7 +23,7 @@ Vue.prototype.$util = util;
|
|||||||
Vue.prototype.$Cache = Cache;
|
Vue.prototype.$Cache = Cache;
|
||||||
Vue.prototype.$eventHub = new Vue();
|
Vue.prototype.$eventHub = new Vue();
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
|
Vue.prototype.$bus = new Vue();
|
||||||
// #ifdef H5
|
// #ifdef H5
|
||||||
import { parseQuery } from "./utils";
|
import { parseQuery } from "./utils";
|
||||||
import Auth from './libs/wechat';
|
import Auth from './libs/wechat';
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
"name" : "惠农生活",
|
"name" : "惠农生活",
|
||||||
"appid" : "__UNI__3A527D1",
|
"appid" : "__UNI__3A527D1",
|
||||||
"description" : "",
|
"description" : "",
|
||||||
"versionName" : "1.0.15",
|
"versionName" : "1.1.0",
|
||||||
"versionCode" : 138,
|
"versionCode" : 110,
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
"app-plus" : {
|
"app-plus" : {
|
||||||
@ -26,7 +26,12 @@
|
|||||||
"Camera" : {},
|
"Camera" : {},
|
||||||
"Geolocation" : {},
|
"Geolocation" : {},
|
||||||
"Payment" : {},
|
"Payment" : {},
|
||||||
"Share" : {}
|
"Share" : {},
|
||||||
|
"OAuth" : {},
|
||||||
|
"UniMP" : {
|
||||||
|
"description" : "uni小程序"
|
||||||
|
},
|
||||||
|
"Maps" : {}
|
||||||
},
|
},
|
||||||
"safearea" : {
|
"safearea" : {
|
||||||
"bottom" : {
|
"bottom" : {
|
||||||
@ -80,7 +85,8 @@
|
|||||||
"NSPhotoLibraryAddUsageDescription" : "上传用户头像保存分享海报",
|
"NSPhotoLibraryAddUsageDescription" : "上传用户头像保存分享海报",
|
||||||
"NSCameraUsageDescription" : "上传用户头像保存分享海报",
|
"NSCameraUsageDescription" : "上传用户头像保存分享海报",
|
||||||
"NSLocationWhenInUseUsageDescription" : "根据客户地理位置推荐最近门店",
|
"NSLocationWhenInUseUsageDescription" : "根据客户地理位置推荐最近门店",
|
||||||
"NSLocationAlwaysUsageDescription" : "根据客户地理位置推荐最近门店"
|
"NSLocationAlwaysUsageDescription" : "根据客户地理位置推荐最近门店",
|
||||||
|
"NSLocationAlwaysAndWhenInUseUsageDescription" : "根据客户地理位置推荐最近门店"
|
||||||
},
|
},
|
||||||
"idfa" : false,
|
"idfa" : false,
|
||||||
"dSYMs" : false
|
"dSYMs" : false
|
||||||
@ -89,13 +95,13 @@
|
|||||||
"sdkConfigs" : {
|
"sdkConfigs" : {
|
||||||
"maps" : {
|
"maps" : {
|
||||||
"amap" : {
|
"amap" : {
|
||||||
"appkey_ios" : "",
|
"appkey_ios" : "048d9f3f323eea894b49c3a7edbc8d87",
|
||||||
"appkey_android" : ""
|
"appkey_android" : "048d9f3f323eea894b49c3a7edbc8d87"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"payment" : {
|
"payment" : {
|
||||||
"weixin" : {
|
"weixin" : {
|
||||||
"__platform__" : [ "android" ],
|
"__platform__" : [ "ios", "android" ],
|
||||||
"appid" : "wx9d68c92b550ddd1e",
|
"appid" : "wx9d68c92b550ddd1e",
|
||||||
"UniversalLinks" : "https://mer.crmeb.net/"
|
"UniversalLinks" : "https://mer.crmeb.net/"
|
||||||
}
|
}
|
||||||
@ -111,9 +117,7 @@
|
|||||||
"__platform__" : [ "ios", "android" ]
|
"__platform__" : [ "ios", "android" ]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"oauth" : {
|
"oauth" : {},
|
||||||
"apple" : {}
|
|
||||||
},
|
|
||||||
"ad" : {}
|
"ad" : {}
|
||||||
},
|
},
|
||||||
"icons" : {
|
"icons" : {
|
||||||
@ -329,3 +333,6 @@
|
|||||||
"template" : "template.h5.html"
|
"template" : "template.h5.html"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//拨打电话权限关闭
|
||||||
|
/* ios打包配置 */
|
||||||
|
|
||||||
|
16
package.json
Normal file
16
package.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"id": "e-select",
|
||||||
|
"name": "e-select下拉选择器",
|
||||||
|
"displayName": "e-select下拉选择器",
|
||||||
|
"version": "1.0.7",
|
||||||
|
"description": "select下拉选择器,支持vue2、vue3,支持搜索过滤,支持滚动动画,内置插槽可用于搭配分页组件",
|
||||||
|
"keywords": [
|
||||||
|
"下拉选择框"
|
||||||
|
],
|
||||||
|
"dcloudext": {
|
||||||
|
"category": [
|
||||||
|
"前端组件",
|
||||||
|
"通用组件"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
2908
pages.json
2908
pages.json
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -280,6 +280,7 @@
|
|||||||
// console.log(res)
|
// console.log(res)
|
||||||
this.detaile_address = res.data.address;
|
this.detaile_address = res.data.address;
|
||||||
this.recommend_address = res.data.address.length > 4 ? res.data.address.slice(0,4) + '...' : res.data.address
|
this.recommend_address = res.data.address.length > 4 ? res.data.address.slice(0,4) + '...' : res.data.address
|
||||||
|
uni.setStorageSync('adress_location',res.data.address)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
fail: (res) => {
|
fail: (res) => {
|
||||||
|
@ -1,348 +1,578 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<view class="order-index" ref="container">
|
<view class="order-index" ref="container">
|
||||||
<view class="header acea-row">
|
<view class="header acea-row">
|
||||||
<navigator class="item" :url="`/pages/admin/orderList/index?types=1&merId=${mer_id}`" hover-class="none">
|
<navigator class="item" :url="`/pages/admin/orderList/index?types=1&merId=${mer_id}`"
|
||||||
<view class="num">{{ census.unpaid }}</view>
|
hover-class="none">
|
||||||
<view>待付款</view>
|
<view class="num">{{ census.unpaid }}</view>
|
||||||
</navigator>
|
<view>待付款</view>
|
||||||
<navigator class="item" :url="`/pages/admin/orderList/index?types=2&merId=${mer_id}`" hover-class="none">
|
</navigator>
|
||||||
<view class="num">{{ census.unshipped }}</view>
|
<navigator class="item" :url="`/pages/admin/orderList/index?types=2&merId=${mer_id}`"
|
||||||
<view>待发货</view>
|
hover-class="none">
|
||||||
</navigator>
|
<view class="num">{{ census.unshipped }}</view>
|
||||||
<navigator class="item" :url="`/pages/admin/orderList/index?types=3&merId=${mer_id}`" hover-class="none">
|
<view>待发货</view>
|
||||||
<view class="num">{{ census.untake }}</view>
|
</navigator>
|
||||||
<view>待收货</view>
|
<navigator class="item" :url="`/pages/admin/orderList/index?types=3&merId=${mer_id}`"
|
||||||
</navigator>
|
hover-class="none">
|
||||||
<navigator class="item" :url="`/pages/admin/orderList/index?types=4&merId=${mer_id}`" hover-class="none">
|
<view class="num">{{ census.untake }}</view>
|
||||||
<view class="num">{{ census.unevaluate }}</view>
|
<view>待收货</view>
|
||||||
<view>待评价</view>
|
</navigator>
|
||||||
</navigator>
|
<navigator class="item" :url="`/pages/admin/orderList/index?types=4&merId=${mer_id}`"
|
||||||
<navigator class="item" :url="`/pages/admin/orderList/index?types=6&merId=${mer_id}`" hover-class="none">
|
hover-class="none">
|
||||||
<view class="num">{{ census.refund }}</view>
|
<view class="num">{{ census.unevaluate }}</view>
|
||||||
<view>退款</view>
|
<view>待评价</view>
|
||||||
</navigator>
|
</navigator>
|
||||||
</view>
|
<navigator class="item" :url="`/pages/admin/orderList/index?types=6&merId=${mer_id}`"
|
||||||
<view class="wrapper">
|
hover-class="none">
|
||||||
<view class="title">
|
<view class="num">{{ census.refund }}</view>
|
||||||
<span class="iconfont icon-shujutongji"></span>数据统计
|
<view>退款</view>
|
||||||
</view>
|
</navigator>
|
||||||
<view class="list acea-row" v-if="orderData">
|
</view>
|
||||||
<navigator class="item" :url="`/pages/admin/statistics/index?type=price&time=today&merId=${mer_id}`"
|
<view class="wrapper">
|
||||||
hover-class="none">
|
<view class="title">
|
||||||
<view class="num">{{ orderData.today.payPrice }}</view>
|
<image src="@/static/images/sjtj.png" mode="widthFix" style="width:40rpx;translate: 0 10rpx;">
|
||||||
<view>今日成交额</view>
|
</image>数据统计
|
||||||
</navigator>
|
</view>
|
||||||
<navigator class="item" :url="`/pages/admin/statistics/index?type=price&time=yesterday&merId=${mer_id}`"
|
<view class="list acea-row" v-if="orderData">
|
||||||
hover-class="none">
|
<navigator class="item" :url="`/pages/admin/statistics/index?type=price&time=today&merId=${mer_id}`"
|
||||||
<view class="num">{{ orderData.yesterday.payPrice }}</view>
|
hover-class="none">
|
||||||
<view>昨日成交额</view>
|
<view class="num">{{ orderData.today.payPrice }}</view>
|
||||||
</navigator>
|
<view>今日成交额</view>
|
||||||
<navigator class="item" :url="`/pages/admin/statistics/index?type=price&time=month&merId=${mer_id}`"
|
</navigator>
|
||||||
hover-class="none">
|
<navigator class="item"
|
||||||
<view class="num">{{ orderData.month.payPrice }}</view>
|
:url="`/pages/admin/statistics/index?type=price&time=yesterday&merId=${mer_id}`"
|
||||||
<view>本月成交额</view>
|
hover-class="none">
|
||||||
</navigator>
|
<view class="num">{{ orderData.yesterday.payPrice }}</view>
|
||||||
<navigator class="item" :url="`/pages/admin/statistics/index?type=order&time=today&merId=${mer_id}`"
|
<view>昨日成交额</view>
|
||||||
hover-class="none">
|
</navigator>
|
||||||
<view class="num">{{ orderData.today.orderNum}}</view>
|
<navigator class="item" :url="`/pages/admin/statistics/index?type=price&time=month&merId=${mer_id}`"
|
||||||
<view>今日订单数</view>
|
hover-class="none">
|
||||||
</navigator>
|
<view class="num">{{ orderData.month.payPrice }}</view>
|
||||||
<navigator class="item" :url="`/pages/admin/statistics/index?type=order&time=yesterday&merId=${mer_id}`"
|
<view>本月成交额</view>
|
||||||
hover-class="none">
|
</navigator>
|
||||||
<view class="num">{{ orderData.yesterday.orderNum }}</view>
|
<navigator class="item" :url="`/pages/admin/statistics/index?type=order&time=today&merId=${mer_id}`"
|
||||||
<view>昨日订单数</view>
|
hover-class="none">
|
||||||
</navigator>
|
<view class="num">{{ orderData.today.orderNum}}</view>
|
||||||
<navigator class="item" :url="`/pages/admin/statistics/index?type=order&time=month&merId=${mer_id}`"
|
<view>今日订单数</view>
|
||||||
hover-class="none">
|
</navigator>
|
||||||
<view class="num">{{ orderData.month.orderNum}}</view>
|
<navigator class="item"
|
||||||
<view>本月订单数</view>
|
:url="`/pages/admin/statistics/index?type=order&time=yesterday&merId=${mer_id}`"
|
||||||
</navigator>
|
hover-class="none">
|
||||||
</view>
|
<view class="num">{{ orderData.yesterday.orderNum }}</view>
|
||||||
</view>
|
<view>昨日订单数</view>
|
||||||
<view class="public-wrapper">
|
</navigator>
|
||||||
<view class="title">
|
<navigator class="item" :url="`/pages/admin/statistics/index?type=order&time=month&merId=${mer_id}`"
|
||||||
<span class="iconfont icon-xiangxishuju"></span>详细数据
|
hover-class="none">
|
||||||
</view>
|
<view class="num">{{ orderData.month.orderNum}}</view>
|
||||||
<view class="nav acea-row row-between-wrapper">
|
<view>本月订单数</view>
|
||||||
<view class="data">日期</view>
|
</navigator>
|
||||||
<view class="browse">订单数</view>
|
</view>
|
||||||
<view class="turnover">成交额</view>
|
</view>
|
||||||
</view>
|
<view class="public-wrapper">
|
||||||
<view class="conter">
|
<view class="title">
|
||||||
<view class="item acea-row row-between-wrapper" v-for="(item, index) in list" :key="index">
|
<image src="@/static/images/xxsj.png" mode="widthFix" style="width:40rpx;translate: 0 10rpx;">
|
||||||
<view class="data">{{ item.day }}</view>
|
</image>详细数据
|
||||||
<view class="browse">{{ item.total }}</view>
|
</view>
|
||||||
<view class="turnover">{{ item.pay_price }}</view>
|
<view class="nav acea-row row-between-wrapper">
|
||||||
</view>
|
<view class="data">日期</view>
|
||||||
</view>
|
<view class="browse">订单数</view>
|
||||||
</view>
|
<view class="turnover">成交额</view>
|
||||||
<Loading :loaded="loaded" :loading="loading"></Loading>
|
</view>
|
||||||
</view>
|
<view class="conter">
|
||||||
</view>
|
<view class="item acea-row row-between-wrapper" v-for="(item, index) in list" :key="index">
|
||||||
|
<view class="data">{{ item.day }}</view>
|
||||||
|
<view class="browse">{{ item.total }}</view>
|
||||||
|
<view class="turnover">{{ item.pay_price }}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="public_footer" v-if="this.type_id == 12">
|
||||||
|
|
||||||
|
<view class="footer_bon">
|
||||||
|
<view class="footer_top public-wrapper ">
|
||||||
|
<image src="@/static/images/ddjk.png" mode="widthFix" style="width:40rpx;"></image>订单监控
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view v-for="(item,index) in OrderList" :key="index">
|
||||||
|
|
||||||
|
|
||||||
|
<view class="" v-for="(val, key) in item.orderProduct">
|
||||||
|
<view class="bon_top" :key="key" @click="toDetail(item)">
|
||||||
|
<view class="public_img">
|
||||||
|
<image class="public_img" :src="val.cart_info.product.image" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<view class="text_top">
|
||||||
|
<view class="text">
|
||||||
|
{{ val.cart_info.product.store_name }}
|
||||||
|
</view>
|
||||||
|
<view class="monry">
|
||||||
|
¥{{ val.total_price }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="text_order">
|
||||||
|
订单号: {{ item.order_sn }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="bon_bon" :key="key" @click="toDetail(item)">
|
||||||
|
<view class="order">
|
||||||
|
采购数量
|
||||||
|
<view class="txt">
|
||||||
|
{{ val.product_num }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="order"
|
||||||
|
style="border-left: 1px solid #999999;border-right: 1px solid #999999;">
|
||||||
|
已售数量
|
||||||
|
<view class="txt">
|
||||||
|
{{ val.sales_volume }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="order">
|
||||||
|
库存数量
|
||||||
|
<view class="txt">
|
||||||
|
{{ val.product_num - val.sales_volume }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<button v-if="this.type_id == 12" class="footer-bnt" @click="navigator()">查看更多 ></button>
|
||||||
|
<!-- <view class="public-wrapper">
|
||||||
|
<navigator class="item" :url="`/pages/admin/order/monitor?merId=${mer_id}`"
|
||||||
|
hover-class="none">
|
||||||
|
<view class="num">订单监控</view>
|
||||||
|
</navigator>
|
||||||
|
</view> -->
|
||||||
|
<Loading :loaded="loaded" :loading="loading"></Loading>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getStatisticsInfo, getStatisticsMonth, orderStatistics, orderPrice } from "@/api/admin";
|
import {
|
||||||
import Loading from '@/components/Loading/index.vue'
|
getStatisticsInfo,
|
||||||
export default {
|
getStatisticsMonth,
|
||||||
name: 'adminOrder',
|
orderStatistics,
|
||||||
components: {
|
orderPrice,
|
||||||
Loading
|
purchaseOrder
|
||||||
},
|
} from "@/api/admin";
|
||||||
data() {
|
import Loading from '@/components/Loading/index.vue'
|
||||||
return {
|
export default {
|
||||||
census: {},
|
name: 'adminOrder',
|
||||||
orderData: {
|
components: {
|
||||||
today: {},
|
Loading
|
||||||
yesterday: {},
|
},
|
||||||
month: {}
|
data() {
|
||||||
},
|
return {
|
||||||
list: [],
|
census: {},
|
||||||
where: {
|
orderData: {
|
||||||
page: 1,
|
today: {},
|
||||||
limit: 15,
|
yesterday: {},
|
||||||
product_type: ''
|
month: {}
|
||||||
},
|
},
|
||||||
loaded: false,
|
list: [],
|
||||||
loading: false,
|
OrderList: [], //订单数组
|
||||||
mer_id: '',
|
where: {
|
||||||
}
|
page: 1,
|
||||||
},
|
limit: 10,
|
||||||
onLoad(options) {
|
status: 1,
|
||||||
this.where.product_type = options.product_type ?? 0
|
keyword: '',
|
||||||
this.mer_id = options.mer_id
|
product_type: ''
|
||||||
options.product_type ? uni.setStorageSync("PRODUCT_TYPE", 98) : uni.removeStorageSync("PRODUCT_TYPE");
|
},
|
||||||
this.getOrderStatistics(this.mer_id);
|
loaded: false,
|
||||||
this.getList(this.mer_id)
|
loading: false,
|
||||||
},
|
mer_id: '',
|
||||||
methods: {
|
type_id: '', //店铺类型
|
||||||
getIndex: function() {
|
}
|
||||||
var that = this;
|
},
|
||||||
getStatisticsInfo().then(
|
onLoad(options) {
|
||||||
res => {
|
this.type_id = options.type_id
|
||||||
that.census = res.data;
|
this.where.product_type = options.product_type ?? 0
|
||||||
},
|
this.mer_id = options.mer_id
|
||||||
err => {
|
options.product_type ? uni.setStorageSync("PRODUCT_TYPE", 98) : uni.removeStorageSync("PRODUCT_TYPE");
|
||||||
that.$util.Tips({
|
this.getOrderStatistics(this.mer_id);
|
||||||
title: err.msg
|
this.getList(this.mer_id)
|
||||||
})
|
this.purchaseOrderList(this.mer_id)
|
||||||
}
|
},
|
||||||
);
|
methods: {
|
||||||
},
|
getIndex: function() {
|
||||||
getList: function(mer_id) {
|
var that = this;
|
||||||
var that = this;
|
getStatisticsInfo().then(
|
||||||
if (that.loading || that.loaded) return;
|
res => {
|
||||||
that.loading = true;
|
that.census = res.data;
|
||||||
orderPrice(that.where, mer_id).then(
|
},
|
||||||
res => {
|
err => {
|
||||||
that.loading = false;
|
that.$util.Tips({
|
||||||
that.loaded = res.data.length < that.where.limit;
|
title: err.msg
|
||||||
that.list.push.apply(that.list, res.data);
|
})
|
||||||
that.where.page = that.where.page + 1;
|
}
|
||||||
},
|
);
|
||||||
error => {
|
},
|
||||||
that.$util.Tips({
|
getList: function(mer_id) {
|
||||||
title: error.msg
|
var that = this;
|
||||||
})
|
if (that.loading || that.loaded) return;
|
||||||
},
|
that.loading = true;
|
||||||
300
|
orderPrice(that.where, mer_id).then(
|
||||||
);
|
res => {
|
||||||
},
|
that.loading = false;
|
||||||
getOrderStatistics: function(mer_id) {
|
that.loaded = res.data.length < that.where.limit;
|
||||||
let that = this;
|
that.list.push.apply(that.list, res.data);
|
||||||
const data = { product_type: this.where.product_type }
|
that.where.page = that.where.page + 1;
|
||||||
console.log('data', data);
|
},
|
||||||
orderStatistics(mer_id, data).then(
|
error => {
|
||||||
res => {
|
that.$util.Tips({
|
||||||
that.census = res.data.order;
|
title: error.msg
|
||||||
that.orderData = res.data.data;
|
})
|
||||||
},
|
},
|
||||||
err => {
|
300
|
||||||
that.$util.Tips({
|
);
|
||||||
title: err.msg
|
},
|
||||||
})
|
getOrderStatistics: function(mer_id) {
|
||||||
}
|
let that = this;
|
||||||
);
|
const data = {
|
||||||
}
|
product_type: this.where.product_type
|
||||||
},
|
}
|
||||||
onReachBottom() {
|
console.log('data', data);
|
||||||
this.getList(this.mer_id)
|
orderStatistics(mer_id, data).then(
|
||||||
}
|
res => {
|
||||||
}
|
that.census = res.data.order;
|
||||||
|
that.orderData = res.data.data;
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: err.msg
|
||||||
|
})
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
toDetail(item) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/admin/orderDetail/index?id=${item.order_id}&mer_id=${item.mer_id}`
|
||||||
|
})
|
||||||
|
},
|
||||||
|
navigator() {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/admin/order/monitor?merId=${this.mer_id}`
|
||||||
|
})
|
||||||
|
},
|
||||||
|
purchaseOrderList(mer_id) {
|
||||||
|
this.where.limit = 2
|
||||||
|
purchaseOrder(this.where, mer_id).then(res => {
|
||||||
|
// console.log(res);
|
||||||
|
this.OrderList = res.data
|
||||||
|
// console.log(this.OrderList);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onReachBottom() {
|
||||||
|
this.getList(this.mer_id)
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss" scoped>
|
||||||
.popupn {
|
.popupn {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
height: 90rpx;
|
height: 90rpx;
|
||||||
line-height: 90rpx;
|
line-height: 90rpx;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
|
|
||||||
.spin {
|
.spin {
|
||||||
display: block;
|
display: block;
|
||||||
transform: rotate(180deg);
|
transform: rotate(180deg);
|
||||||
font-size: 36rpx;
|
font-size: 36rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
max-width: 560rpx;
|
max-width: 560rpx;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
position: relative;
|
position: relative;
|
||||||
display: inline;
|
display: inline;
|
||||||
padding: 10rpx 30rpx 10rpx 50rpx;
|
padding: 10rpx 30rpx 10rpx 50rpx;
|
||||||
background-color: rgba(0, 0, 0, 0.15);
|
background-color: rgba(0, 0, 0, 0.15);
|
||||||
border-radius: 30rpx;
|
border-radius: 30rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.iconfont {
|
.supervisory_img {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
width: 500rpx;
|
||||||
top: 4rpx;
|
height: 500rpx;
|
||||||
right: 0;
|
background-color: red;
|
||||||
}
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
.mer_logo {
|
.iconfont {
|
||||||
width: 34rpx;
|
display: inline-block;
|
||||||
height: 34rpx;
|
position: relative;
|
||||||
position: relative;
|
top: 4rpx;
|
||||||
top: 6rpx;
|
right: 0;
|
||||||
right: 10px;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.mer_name {
|
.mer_logo {
|
||||||
display: inline-block;
|
width: 34rpx;
|
||||||
max-width: 650rpx;
|
height: 34rpx;
|
||||||
}
|
position: relative;
|
||||||
|
top: 6rpx;
|
||||||
|
right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.invoice-content {
|
.mer_name {
|
||||||
background-color: #ffffff;
|
display: inline-block;
|
||||||
}
|
max-width: 650rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*订单首页*/
|
.invoice-content {
|
||||||
.order-index .header {
|
background-color: #ffffff;
|
||||||
background-image: url("https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/beijing2.png");
|
}
|
||||||
background-size: 100% 100%;
|
}
|
||||||
width: 100%;
|
|
||||||
height: 280upx;
|
|
||||||
padding: 40upx 3upx 0 3upx;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
.order-index .header .item {
|
/*订单首页*/
|
||||||
flex: 1;
|
.order-index .header {
|
||||||
-webkit-flex: 1;
|
background: url("@/static/images/beijin.png") no-repeat;
|
||||||
-o-flex: 1;
|
background-size: 100% 100%;
|
||||||
-ms-flex: 1;
|
width: 100%;
|
||||||
text-align: center;
|
height: 280upx;
|
||||||
font-size: 24upx;
|
padding: 40upx 3upx 0 3upx;
|
||||||
color: #fff;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.order-index .header .item .num {
|
.order-index .header .item {
|
||||||
font-size: 40upx;
|
flex: 1;
|
||||||
margin-bottom: 7upx;
|
-webkit-flex: 1;
|
||||||
height: 60rpx;
|
-o-flex: 1;
|
||||||
}
|
-ms-flex: 1;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 24upx;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
.order-index .wrapper {
|
.order-index .header .item .num {
|
||||||
width: 690upx;
|
font-size: 40upx;
|
||||||
background-color: #fff;
|
margin-bottom: 7upx;
|
||||||
border-radius: 10upx;
|
height: 60rpx;
|
||||||
margin: -115upx auto 0 auto;
|
}
|
||||||
padding-top: 25upx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.order-index .wrapper .title {
|
.order-index .wrapper {
|
||||||
font-size: 30upx;
|
width: 690upx;
|
||||||
color: #282828;
|
background-color: #fff;
|
||||||
padding: 0 30upx;
|
border-radius: 10upx;
|
||||||
margin-bottom: 40upx;
|
margin: -115upx auto 0 auto;
|
||||||
}
|
padding-top: 25upx;
|
||||||
|
}
|
||||||
|
|
||||||
.order-index .wrapper .title .iconfont {
|
.order-index .wrapper .title {
|
||||||
color: #2291f8;
|
font-size: 30upx;
|
||||||
font-size: 40upx;
|
color: #282828;
|
||||||
margin-right: 13upx;
|
padding: 0 30upx;
|
||||||
vertical-align: middle;
|
margin-bottom: 40upx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.order-index .wrapper .list .item {
|
.order-index .wrapper .title .iconfont {
|
||||||
width: 33.33%;
|
color: #2291f8;
|
||||||
text-align: center;
|
font-size: 40upx;
|
||||||
font-size: 24upx;
|
margin-right: 13upx;
|
||||||
color: #999;
|
vertical-align: middle;
|
||||||
margin-bottom: 45upx;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.order-index .wrapper .list .item .num {
|
.order-index .wrapper .list .item {
|
||||||
font-size: 40upx;
|
width: 33.33%;
|
||||||
color: #333;
|
text-align: center;
|
||||||
}
|
font-size: 24upx;
|
||||||
|
color: #999;
|
||||||
|
margin-bottom: 45upx;
|
||||||
|
}
|
||||||
|
|
||||||
.public-wrapper .title {
|
.order-index .wrapper .list .item .num {
|
||||||
font-size: 30upx;
|
font-size: 40upx;
|
||||||
color: #282828;
|
color: #333;
|
||||||
padding: 0 30upx;
|
}
|
||||||
margin-bottom: 20upx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.public-wrapper .title .iconfont {
|
.public-wrapper .title {
|
||||||
color: #2291f8;
|
font-size: 30upx;
|
||||||
font-size: 40upx;
|
color: #282828;
|
||||||
margin-right: 13upx;
|
padding: 0 30upx;
|
||||||
vertical-align: middle;
|
margin-bottom: 20upx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.public-wrapper {
|
.public-wrapper .title .iconfont {
|
||||||
margin: 18upx auto 0 auto;
|
color: #2291f8;
|
||||||
width: 690upx;
|
font-size: 40upx;
|
||||||
background-color: #fff;
|
margin-right: 13upx;
|
||||||
border-radius: 10upx;
|
vertical-align: middle;
|
||||||
padding-top: 25upx;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.public-wrapper .nav {
|
.public-wrapper {
|
||||||
padding: 0 30upx;
|
margin: 18upx auto 0 auto;
|
||||||
height: 70upx;
|
width: 690upx;
|
||||||
line-height: 70upx;
|
background-color: #fff;
|
||||||
font-size: 24upx;
|
border-radius: 10upx;
|
||||||
color: #999;
|
padding-top: 25upx;
|
||||||
}
|
|
||||||
|
|
||||||
.public-wrapper .data {
|
.item {
|
||||||
width: 210upx;
|
.num {
|
||||||
text-align: left;
|
display: flex;
|
||||||
}
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.public-wrapper .browse {
|
.public-wrapper .nav {
|
||||||
width: 192upx;
|
padding: 0 30upx;
|
||||||
text-align: right;
|
height: 70upx;
|
||||||
}
|
line-height: 70upx;
|
||||||
|
font-size: 24upx;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
.public-wrapper .turnover {
|
.public-wrapper .data {
|
||||||
width: 227upx;
|
width: 210upx;
|
||||||
text-align: right;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.public-wrapper .conter {
|
.public-wrapper .browse {
|
||||||
padding: 0 30upx;
|
width: 192upx;
|
||||||
}
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
.public-wrapper .conter .item {
|
.public-wrapper .turnover {
|
||||||
border-bottom: 1px solid #f7f7f7;
|
width: 227upx;
|
||||||
height: 70upx;
|
text-align: right;
|
||||||
font-size: 24upx;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.public-wrapper .conter .item .turnover {
|
.public-wrapper .conter {
|
||||||
color: #d84242;
|
padding: 0 30upx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.public-wrapper .conter .item {
|
||||||
|
border-bottom: 1px solid #f7f7f7;
|
||||||
|
height: 70upx;
|
||||||
|
font-size: 24upx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.public-wrapper .conter .item .turnover {
|
||||||
|
color: #d84242;
|
||||||
|
}
|
||||||
|
|
||||||
|
.public_footer {
|
||||||
|
width: 90vw;
|
||||||
|
margin: auto;
|
||||||
|
|
||||||
|
.footer_top {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin: 16px 0 16px 25rpx;
|
||||||
|
|
||||||
|
.jk_img {
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
overflow: hidden;
|
||||||
|
// border: 1px solid red;
|
||||||
|
border-radius: 40px;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 22px;
|
||||||
|
height: 22px;
|
||||||
|
margin-right: 5px;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer_bon {
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 8px;
|
||||||
|
background-color: #fff;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
|
||||||
|
.bon_top {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.public_img {
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text_top {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
margin: 3px 0 3px 3px;
|
||||||
|
|
||||||
|
.text {
|
||||||
|
width: 140px;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.monry {
|
||||||
|
margin-left: 10px;
|
||||||
|
color: #F84221;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text_order {
|
||||||
|
width: 200px;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
margin-left: 3px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bon_bon {
|
||||||
|
width: 90%;
|
||||||
|
height: 66px;
|
||||||
|
background: #F5F5F5;
|
||||||
|
border-radius: 4px 4px 4px 4px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
margin: auto;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-top: 5px;
|
||||||
|
|
||||||
|
.order {
|
||||||
|
width: 120px;
|
||||||
|
|
||||||
|
.txt {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-bnt {
|
||||||
|
width: 100px;
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 15px;
|
||||||
|
margin: auto;
|
||||||
|
line-height: 40px;
|
||||||
|
border: 1px solid #CCCCCC;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
color: #999999;
|
||||||
|
font-size: 13px
|
||||||
|
}
|
||||||
</style>
|
</style>
|
663
pages/admin/order/monitor.vue
Normal file
663
pages/admin/order/monitor.vue
Normal file
@ -0,0 +1,663 @@
|
|||||||
|
<template>
|
||||||
|
<view class="pos-order-list" ref="container">
|
||||||
|
<view class="top-header">
|
||||||
|
<view class="search">
|
||||||
|
<view class="search-content acea-row row-middle">
|
||||||
|
<text class="iconfont icon-sousuo"></text>
|
||||||
|
<input v-model="where.keyword" confirm-type="search" placeholder="请输收货人手机号或订单号搜索" class="input"
|
||||||
|
@confirm="handleSearch" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="pubilc_footer">
|
||||||
|
<view class="footer_bon" v-for="(item,index) in list" :key="index">
|
||||||
|
<view class="" v-for="(val, key) in item.orderProduct">
|
||||||
|
<view class="bon_top" :key="key" @click="toDetail(item)">
|
||||||
|
<view class="public_img">
|
||||||
|
<image class="public_img" :src="val.cart_info.product.image" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<view class="text_top">
|
||||||
|
<view class="text">
|
||||||
|
{{ val.cart_info.product.store_name }}
|
||||||
|
</view>
|
||||||
|
<view class="monry">
|
||||||
|
¥{{ val.total_price }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="text_order">
|
||||||
|
订单号: {{ item.order_sn }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="bon_bon" :key="key" @click="toDetail(item)">
|
||||||
|
<view class="order">
|
||||||
|
采购数量
|
||||||
|
<view class="txt">
|
||||||
|
{{ val.product_num }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="order" style="border-left: 1px solid #999999;border-right: 1px solid #999999;">
|
||||||
|
已售数量
|
||||||
|
<view class="txt">
|
||||||
|
{{ val.sales_volume }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="order">
|
||||||
|
库存数量
|
||||||
|
<view class="txt">
|
||||||
|
{{ val.product_num - val.sales_volume }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<Loading :loaded="loaded" :loading="loading"></Loading>
|
||||||
|
<view v-if="!loading && list.length <= 0" class="nothing">
|
||||||
|
<image src="/static/images/no_thing.png" mode="widthFix"></image>
|
||||||
|
<view class="nothing_text">暂无订单~</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
purchaseOrder
|
||||||
|
} from "@/api/admin";
|
||||||
|
import Loading from '@/components/Loading/index'
|
||||||
|
export default {
|
||||||
|
name: "AdminOrderList",
|
||||||
|
components: {
|
||||||
|
Loading
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
current: "",
|
||||||
|
change: false,
|
||||||
|
refundMark: false,
|
||||||
|
types: 1,
|
||||||
|
where: {
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
status: 1,
|
||||||
|
keyword: '',
|
||||||
|
product_type: ''
|
||||||
|
},
|
||||||
|
list: [],
|
||||||
|
loaded: false,
|
||||||
|
loading: false,
|
||||||
|
refundInfo: {},
|
||||||
|
orderInfo: {},
|
||||||
|
status: "",
|
||||||
|
merId: ''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
"$route.params.types": function(newVal) {
|
||||||
|
let that = this;
|
||||||
|
if (newVal != undefined) {
|
||||||
|
that.where.status = newVal;
|
||||||
|
that.init();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
types: function() {
|
||||||
|
this.getIndex();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(option) {
|
||||||
|
this.where.product_type = uni.getStorageSync("PRODUCT_TYPE") ?? ""
|
||||||
|
this.current = "";
|
||||||
|
this.merId = option.merId;
|
||||||
|
this.getIndex();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleSearch() {
|
||||||
|
this.loaded = false;
|
||||||
|
this.where.page = 1;
|
||||||
|
this.list = [];
|
||||||
|
this.getIndex();
|
||||||
|
},
|
||||||
|
// 获取数据
|
||||||
|
getIndex() {
|
||||||
|
let that = this;
|
||||||
|
if (that.loading || that.loaded) return;
|
||||||
|
that.loading = true;
|
||||||
|
purchaseOrder(that.where, that.merId).then(
|
||||||
|
res => {
|
||||||
|
that.loading = false;
|
||||||
|
that.loaded = res.data.length < that.where.limit;
|
||||||
|
that.list.push.apply(that.list, res.data);
|
||||||
|
that.where.page = that.where.page + 1;
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: err
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
// 初始化
|
||||||
|
init: function() {
|
||||||
|
this.list = [];
|
||||||
|
this.where.page = 1;
|
||||||
|
this.loaded = false;
|
||||||
|
this.loading = false;
|
||||||
|
this.getIndex();
|
||||||
|
this.current = "";
|
||||||
|
},
|
||||||
|
toDetail(item) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/admin/orderDetail/index?id=${item.order_id}&mer_id=${item.mer_id}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onReachBottom() {
|
||||||
|
this.getIndex()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.pos-order-list .top-header {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 9999;
|
||||||
|
width: 100%;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .nav {
|
||||||
|
// width: 100%;
|
||||||
|
height: 96upx;
|
||||||
|
font-size: 30upx;
|
||||||
|
color: #282828;
|
||||||
|
width: 690rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .nav .item {
|
||||||
|
display: inline-block;
|
||||||
|
text-align: center;
|
||||||
|
color: #333333;
|
||||||
|
max-width: 160rpx;
|
||||||
|
margin-right: 50rpx;
|
||||||
|
line-height: 96upx;
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .nav .item.on {
|
||||||
|
color: #2291f8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list {
|
||||||
|
margin-top: 100upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item {
|
||||||
|
background-color: #fff;
|
||||||
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .item-status {
|
||||||
|
position: absolute;
|
||||||
|
top: 14rpx;
|
||||||
|
right: 20rpx;
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-size: 98rpx;
|
||||||
|
color: #CCCCCC;
|
||||||
|
|
||||||
|
&.on {
|
||||||
|
color: #FFE3BC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item~.item {
|
||||||
|
margin-top: 24upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .activity_type {
|
||||||
|
display: inline-block;
|
||||||
|
color: #E93323;
|
||||||
|
font-size: 20rpx;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 5rpx;
|
||||||
|
padding: 0 4rpx;
|
||||||
|
line-height: 28rpx;
|
||||||
|
margin-right: 8rpx;
|
||||||
|
border: 1rpx solid #E93323;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .order-num {
|
||||||
|
height: 124upx;
|
||||||
|
border-bottom: 1px solid #eee;
|
||||||
|
font-size: 30upx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #282828;
|
||||||
|
padding: 0 30upx;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .order-status {
|
||||||
|
color: #ff9600;
|
||||||
|
position: absolute;
|
||||||
|
top: 24rpx;
|
||||||
|
right: 20rpx;
|
||||||
|
text-align: right;
|
||||||
|
width: 160rpx;
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .order-num .time {
|
||||||
|
font-size: 26upx;
|
||||||
|
font-weight: normal;
|
||||||
|
color: #999;
|
||||||
|
margin-top: -40upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .operation {
|
||||||
|
padding: 20upx 30upx 20upx 0;
|
||||||
|
margin: 30upx 0 0 30upx;
|
||||||
|
border-top: 1rpx solid #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .operation .more {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .operation .icon-gengduo {
|
||||||
|
font-size: 50upx;
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .operation .order .arrow {
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-left: 11upx solid transparent;
|
||||||
|
border-right: 11upx solid transparent;
|
||||||
|
border-top: 20upx solid #e5e5e5;
|
||||||
|
position: absolute;
|
||||||
|
left: 15upx;
|
||||||
|
bottom: -18upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .operation .order .arrow:before {
|
||||||
|
content: '';
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-left: 7upx solid transparent;
|
||||||
|
border-right: 7upx solid transparent;
|
||||||
|
border-top: 20upx solid #fff;
|
||||||
|
position: absolute;
|
||||||
|
left: -7upx;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .operation .order {
|
||||||
|
width: 200upx;
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #eee;
|
||||||
|
border-radius: 10upx;
|
||||||
|
position: absolute;
|
||||||
|
top: -100upx;
|
||||||
|
z-index: 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .operation .order .items {
|
||||||
|
height: 77upx;
|
||||||
|
line-height: 77upx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .operation .order .items~.items {
|
||||||
|
border-top: 1px solid #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .operation .bnt {
|
||||||
|
font-size: 28upx;
|
||||||
|
color: #5c5c5c;
|
||||||
|
width: 170upx;
|
||||||
|
height: 60upx;
|
||||||
|
border-radius: 30upx;
|
||||||
|
border: 1px solid #bbb;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 60upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .operation .bnt_color {
|
||||||
|
border: none;
|
||||||
|
color: #fff;
|
||||||
|
background: linear-gradient(90deg, #2291F8 0%, #1CD1DC 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-list .list .item .operation .bnt~.bnt {
|
||||||
|
margin-left: 14upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods {
|
||||||
|
padding: 0 30upx;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods {
|
||||||
|
padding-top: 20rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods~.goods {
|
||||||
|
border-top: 1px dashed #e5e5e5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .cancellate {
|
||||||
|
font-size: 24rpx;
|
||||||
|
float: right;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
|
||||||
|
text {
|
||||||
|
margin-left: 26rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .cancelled {
|
||||||
|
color: #FF9600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .uncancell {
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .picTxt {
|
||||||
|
width: 515upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .picTxt .pictrue {
|
||||||
|
width: 130upx;
|
||||||
|
height: 130upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .picTxt .pictrue image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 6upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .picTxt .text {
|
||||||
|
flex-direction: column;
|
||||||
|
width: 365upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .picTxt .text .info {
|
||||||
|
font-size: 28upx;
|
||||||
|
color: #282828;
|
||||||
|
|
||||||
|
&.refund-info {
|
||||||
|
width: 460upx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.refund-y-money {
|
||||||
|
margin-top: 16rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .picTxt .text .attr {
|
||||||
|
margin-top: 5rpx;
|
||||||
|
font-size: 24upx;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .money {
|
||||||
|
width: 164upx;
|
||||||
|
text-align: right;
|
||||||
|
font-size: 28upx;
|
||||||
|
|
||||||
|
&.refund-money {
|
||||||
|
width: auto;
|
||||||
|
position: relative;
|
||||||
|
top: -50rpx;
|
||||||
|
|
||||||
|
.num {
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.refund-num {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #282828;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .money .x-money {
|
||||||
|
color: #282828;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .money .num {
|
||||||
|
color: #ff9600;
|
||||||
|
margin: 5upx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .money .y-money {
|
||||||
|
color: #999;
|
||||||
|
text-decoration: line-through;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-order-goods .goods .refund_num {
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.public-total {
|
||||||
|
font-size: 28upx;
|
||||||
|
color: #282828;
|
||||||
|
height: 92upx;
|
||||||
|
line-height: 92upx;
|
||||||
|
text-align: right;
|
||||||
|
padding: 0 30upx;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.public-total .money {
|
||||||
|
color: #ff4c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nothing {
|
||||||
|
margin-top: 200rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nothing_text {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceChange {
|
||||||
|
position: fixed;
|
||||||
|
width: 580upx;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 10upx;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -290upx;
|
||||||
|
margin-top: -335upx;
|
||||||
|
z-index: 666;
|
||||||
|
transition: all 0.3s ease-in-out 0s;
|
||||||
|
transform: scale(0);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceChange.on {
|
||||||
|
opacity: 1;
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceChange .priceTitle {
|
||||||
|
background: url("~@/static/images/pricetitle.jpg") no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
width: 100%;
|
||||||
|
height: 160upx;
|
||||||
|
border-radius: 10upx 10upx 0 0;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 40upx;
|
||||||
|
color: #fff;
|
||||||
|
line-height: 160upx;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceChange .priceTitle .iconfont {
|
||||||
|
position: absolute;
|
||||||
|
font-size: 40upx;
|
||||||
|
right: 26upx;
|
||||||
|
top: 23upx;
|
||||||
|
width: 40upx;
|
||||||
|
height: 40upx;
|
||||||
|
line-height: 40upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceChange .listChange {
|
||||||
|
padding: 0 40upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceChange .listChange textarea {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceChange .listChange .item {
|
||||||
|
height: 103upx;
|
||||||
|
border-bottom: 1px solid #e3e3e3;
|
||||||
|
font-size: 32upx;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceChange .modify {
|
||||||
|
font-size: 32upx;
|
||||||
|
color: #fff;
|
||||||
|
width: 490upx;
|
||||||
|
height: 90upx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 90upx;
|
||||||
|
border-radius: 45upx;
|
||||||
|
background-color: #2291f8;
|
||||||
|
margin: 53upx auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceChange .listChange textarea {
|
||||||
|
border: 1px solid #eee;
|
||||||
|
width: 100%;
|
||||||
|
height: 200upx;
|
||||||
|
margin-top: 50upx;
|
||||||
|
border-radius: 10upx;
|
||||||
|
color: #333;
|
||||||
|
padding: 20upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search {
|
||||||
|
padding: 17rpx 30rpx;
|
||||||
|
|
||||||
|
.search-content {
|
||||||
|
width: 100%;
|
||||||
|
height: 60rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
border-radius: 30rpx;
|
||||||
|
background-color: #F5F5F5;
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
margin-right: 10rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-placeholder {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pubilc_footer {
|
||||||
|
margin-top: 50px;
|
||||||
|
|
||||||
|
.footer_bon {
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 8px;
|
||||||
|
background-color: #fff;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
|
||||||
|
.bon_top {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.public_img {
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
margin: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text_top {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
margin: 3px 0 3px 3px;
|
||||||
|
|
||||||
|
.text {
|
||||||
|
width: 180px;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.monry {
|
||||||
|
margin-left: 20px;
|
||||||
|
color: #F84221;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text_order {
|
||||||
|
width: 200px;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
margin-left: 3px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bon_bon {
|
||||||
|
width: 90%;
|
||||||
|
height: 66px;
|
||||||
|
background: #F5F5F5;
|
||||||
|
border-radius: 4px 4px 4px 4px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
margin: auto;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-top: 5px;
|
||||||
|
|
||||||
|
.order {
|
||||||
|
width: 120px;
|
||||||
|
|
||||||
|
.txt {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -86,7 +86,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="item acea-row row-between">
|
<view class="item acea-row row-between">
|
||||||
<view>支付方式:</view>
|
<view>支付方式:</view>
|
||||||
<view class="conter">{{ orderInfo.pay_type == 0 ? "余额支付" : (orderInfo.pay_type == 1 || orderInfo.pay_type == 2 || orderInfo.pay_type == 3) ? "微信支付" : "支付宝支付" }}</view>
|
<view class="conter">{{ orderInfo.pay_type == 0 ? "余额支付" : (orderInfo.pay_type == 1 || orderInfo.pay_type == 2 || orderInfo.pay_type == 3) ? "微信支付" : "先货后款" }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="item acea-row row-between">
|
<view class="item acea-row row-between">
|
||||||
<view>买家留言:</view>
|
<view>买家留言:</view>
|
||||||
@ -148,6 +148,12 @@
|
|||||||
<view style="height:120upx;"></view>
|
<view style="height:120upx;"></view>
|
||||||
<view class="footer acea-row row-right row-middle" v-if="goname != 'looks'">
|
<view class="footer acea-row row-right row-middle" v-if="goname != 'looks'">
|
||||||
<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>
|
||||||
|
<view class="bnt cancel" v-if="orderInfo.pay_type == 8 && orderInfo.status == 12" @click="tongyi(order_id,2)">
|
||||||
|
拒绝
|
||||||
|
</view>
|
||||||
<view class="bnt cancel" @click="modify('0')" v-if="orderInfo.paid == 0">
|
<view class="bnt cancel" @click="modify('0')" v-if="orderInfo.paid == 0">
|
||||||
一键改价
|
一键改价
|
||||||
</view>
|
</view>
|
||||||
@ -158,11 +164,24 @@
|
|||||||
<view class="bnt cancel" v-if="orderInfo.pay_type === 'offline' && orderInfo.paid === 0" @click="offlinePay">
|
<view class="bnt cancel" v-if="orderInfo.pay_type === 'offline' && orderInfo.paid === 0" @click="offlinePay">
|
||||||
确认付款
|
确认付款
|
||||||
</view>
|
</view>
|
||||||
<navigator class="bnt delivery" v-if="orderInfo.paid == 1 && orderInfo.status == 0 && orderInfo.order_type == 0" :url="'/pages/admin/delivery/index?id='+orderInfo.order_id+'&merId='+mer_id">去发货</navigator>
|
|
||||||
|
<view class="bnt delivery" @click="toPostagequ(orderInfo)" v-if="orderInfo.status == 0&&orderInfo.activity_type==0&& orderInfo.order_type !=1 ">
|
||||||
|
收件码
|
||||||
|
</view>
|
||||||
|
<navigator class="bnt delivery" v-if="orderInfo.paid == 1 && orderInfo.status == 0 && orderInfo.order_type == 0&&orderInfo.activity_type==98" :url="'/pages/admin/delivery/index?id='+orderInfo.order_id+'&merId='+mer_id">去发货</navigator>
|
||||||
<view class="bnt delivery" v-if="orderInfo.paid == 1 && (orderInfo.status == 0 || orderInfo.status == 9) && orderInfo.order_type == 1" @click="goCancellation">去核销</view>
|
<view class="bnt delivery" v-if="orderInfo.paid == 1 && (orderInfo.status == 0 || orderInfo.status == 9) && orderInfo.order_type == 1" @click="goCancellation">去核销</view>
|
||||||
</view>
|
</view>
|
||||||
<PriceChange :change="change" :orderInfo="orderInfo" v-on:closechange="changeclose($event)" v-on:savePrice="savePrice"
|
<PriceChange :change="change" :orderInfo="orderInfo" v-on:closechange="changeclose($event)" v-on:savePrice="savePrice"
|
||||||
:status="status"></PriceChange>
|
:status="status"></PriceChange>
|
||||||
|
<u-popup :show="popUpShow" mode="center" :closeOnClickOverlay="true" round="12" @close="popUpClose">
|
||||||
|
<view style="text-align: center;margin-top: 30rpx;">
|
||||||
|
请把二维码展示给取货人员
|
||||||
|
</view>
|
||||||
|
<view style="padding: 28.07rpx;">
|
||||||
|
<image :src="payCodeUrl" style="width:400rpx;height: 400rpx;"></image>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</u-popup>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -185,7 +204,9 @@
|
|||||||
setAdminOrderRemark,
|
setAdminOrderRemark,
|
||||||
setOfflinePay,
|
setOfflinePay,
|
||||||
setOrderRefund,
|
setOrderRefund,
|
||||||
orderCancellation
|
orderCancellation,
|
||||||
|
logisticsCode,
|
||||||
|
postconfirm
|
||||||
} from "@/api/admin";
|
} from "@/api/admin";
|
||||||
import { isMoney } from '@/utils/validate.js'
|
import { isMoney } from '@/utils/validate.js'
|
||||||
import { HTTP_REQUEST_URL } from '@/config/app';
|
import { HTTP_REQUEST_URL } from '@/config/app';
|
||||||
@ -211,7 +232,10 @@
|
|||||||
payType: "",
|
payType: "",
|
||||||
types: "",
|
types: "",
|
||||||
clickNum: 1,
|
clickNum: 1,
|
||||||
goname:''
|
|
||||||
|
goname:'',
|
||||||
|
popUpShow: false,
|
||||||
|
payCodeUrl:''
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -225,12 +249,12 @@
|
|||||||
},
|
},
|
||||||
onLoad: function(option) {
|
onLoad: function(option) {
|
||||||
let self = this
|
let self = this
|
||||||
this.order_id = option.id
|
self.order_id = option.id
|
||||||
this.mer_id = option.mer_id
|
self.mer_id = option.mer_id
|
||||||
this.goname = option.goname
|
self.goname = option.goname
|
||||||
this.getIndex();
|
self.getIndex();
|
||||||
// #ifdef H5
|
// #ifdef H5
|
||||||
this.$nextTick(function() {
|
self.$nextTick(function() {
|
||||||
var clipboard = new ClipboardJS('.copy-data');
|
var clipboard = new ClipboardJS('.copy-data');
|
||||||
// var copybtn = document.getElementsByClassName("copy-data");
|
// var copybtn = document.getElementsByClassName("copy-data");
|
||||||
// var clipboard = new Clipboard(copybtn);
|
// var clipboard = new Clipboard(copybtn);
|
||||||
@ -249,6 +273,42 @@
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
|
//收件码
|
||||||
|
toPostagequ(item){
|
||||||
|
this.popUpShow = true
|
||||||
|
logisticsCode(item.order_id).then(res => {
|
||||||
|
|
||||||
|
if (res.status == 200) {
|
||||||
|
this.payCodeUrl = res.data.qrcode
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 关闭二维码弹窗
|
||||||
|
popUpClose() {
|
||||||
|
this.popUpShow = false
|
||||||
|
|
||||||
|
},
|
||||||
|
//同意先货后款订单
|
||||||
|
tongyi(id,number){
|
||||||
|
let data={
|
||||||
|
id:id,
|
||||||
|
type:number
|
||||||
|
}
|
||||||
|
if(number == 1){
|
||||||
|
this.$nextTick(()=>{
|
||||||
|
uni.navigateTo({
|
||||||
|
url:`/pages/admin/orderList/index?types=1&merId=${this.mer_id}`
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}else if(number == 2){
|
||||||
|
uni.navigateTo({
|
||||||
|
url:`/pages/admin/orderList/index?types=1&merId=${this.mer_id}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
postconfirm(this.mer_id,data).then(res=>{
|
||||||
|
})
|
||||||
|
},
|
||||||
more: function() {
|
more: function() {
|
||||||
this.order = !this.order;
|
this.order = !this.order;
|
||||||
},
|
},
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -2,19 +2,17 @@
|
|||||||
<view :style="viewColor">
|
<view :style="viewColor">
|
||||||
<view class='productList'>
|
<view class='productList'>
|
||||||
<view class='search acea-row row-between-wrapper'>
|
<view class='search acea-row row-between-wrapper'>
|
||||||
<!--#ifdef H5-->
|
|
||||||
<view class="back" @click='set_where(1)'>
|
<view class="back" @click='set_where(1)'>
|
||||||
<view class="iconfont icon-xiangzuo"></view>
|
<view class="iconfont icon-xiangzuo"></view>
|
||||||
</view>
|
</view>
|
||||||
<!--#endif-->
|
|
||||||
<view class='input acea-row row-between-wrapper'><text class='iconfont icon-sousuo'></text>
|
<view class='input acea-row row-between-wrapper'><text class='iconfont icon-sousuo'></text>
|
||||||
<input placeholder='搜索商品名称' placeholder-class='placeholder' confirm-type='search' name="search"
|
<input placeholder='搜索商品名称' placeholder-class='placeholder' confirm-type='search' name="search"
|
||||||
:value='where.keyword' @confirm="searchSubmit" @input="inputChange"></input>
|
:value='where.keyword' @confirm="searchSubmit" @input="inputChange"></input>
|
||||||
</view>
|
</view>
|
||||||
<view style="text-align: right;" v-if="tabIndex==1" class='iconfont'
|
<view style="text-align: right;" v-if="tabIndex==1" class='iconfont'
|
||||||
:class='is_switch==true?"icon-pailie":"icon-tupianpailie"' @click='Changswitch'></view>
|
:class='is_switch==true?"icon-pailie":"icon-tupianpailie"' @click='Changswitch'></view>
|
||||||
<view v-else-if="mer_location == 1" style="text-align: right;" class='iconfont icon-dingwei'
|
<!-- <view v-else-if="mer_location == 1" style="text-align: right;" class='iconfont icon-dingwei'
|
||||||
@click="showMaoLocation(latitude,longitude)"></view>
|
@click="showMaoLocation(latitude,longitude)"></view> -->
|
||||||
</view>
|
</view>
|
||||||
<view class="nav-wrapper">
|
<view class="nav-wrapper">
|
||||||
<view v-if="hide_mer_status == 0" class="tab-bar">
|
<view v-if="hide_mer_status == 0" class="tab-bar">
|
||||||
@ -22,7 +20,7 @@
|
|||||||
<view class="tab-item" :class="{on:tabIndex==2}" @click="tabIndex = 2">店铺</view>
|
<view class="tab-item" :class="{on:tabIndex==2}" @click="tabIndex = 2">店铺</view>
|
||||||
</view>
|
</view>
|
||||||
<block v-if="tabIndex==1">
|
<block v-if="tabIndex==1">
|
||||||
<view class='nav acea-row row-middle'>
|
<view class='nav acea-row row-middle' >
|
||||||
<view class='item' @click="downStatus = !downStatus"
|
<view class='item' @click="downStatus = !downStatus"
|
||||||
:class="{'t-color':downKey>0 && firstKey == 0}">
|
:class="{'t-color':downKey>0 && firstKey == 0}">
|
||||||
{{downMenu[downKey].title}}
|
{{downMenu[downKey].title}}
|
||||||
@ -413,7 +411,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.mTop = this.hide_mer_status == 0 ? '238rpx' : '170rpx'
|
this.mTop = this.hide_mer_status == 0 ? '308rpx' : '170rpx'
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
shopTab: function() {
|
shopTab: function() {
|
||||||
@ -561,9 +559,10 @@
|
|||||||
limit: this.sotreParam.limit,
|
limit: this.sotreParam.limit,
|
||||||
order: this.sotreParam.order,
|
order: this.sotreParam.order,
|
||||||
category_id: this.sotreParam.category_id,
|
category_id: this.sotreParam.category_id,
|
||||||
type_id: 10
|
type_id: this.sotreParam.type_id
|
||||||
|
|
||||||
}
|
}
|
||||||
|
console.log(this.sotreParam.category_id)
|
||||||
if (this.latitude) {
|
if (this.latitude) {
|
||||||
serachData.location = this.latitude + ',' + this.longitude
|
serachData.location = this.latitude + ',' + this.longitude
|
||||||
}
|
}
|
||||||
@ -578,7 +577,7 @@
|
|||||||
this.storeList = this.storeList.concat(res.data.list)
|
this.storeList = this.storeList.concat(res.data.list)
|
||||||
this.count = res.data.count
|
this.count = res.data.count
|
||||||
this.loading = false
|
this.loading = false
|
||||||
console.log(this.storeList);
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 店铺排序
|
// 店铺排序
|
||||||
@ -684,6 +683,7 @@
|
|||||||
},
|
},
|
||||||
// 组件确定
|
// 组件确定
|
||||||
confirm2(data) {
|
confirm2(data) {
|
||||||
|
|
||||||
let arr1 = [],
|
let arr1 = [],
|
||||||
arr2 = []
|
arr2 = []
|
||||||
if (data.storeTypeArr.length == 0) {
|
if (data.storeTypeArr.length == 0) {
|
||||||
@ -897,13 +897,14 @@
|
|||||||
|
|
||||||
.productList .search {
|
.productList .search {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 86rpx;
|
height: 170rpx;
|
||||||
padding: 0 20rpx;
|
padding: 0 20rpx;
|
||||||
box-sizing: border-box;
|
// box-sizing: border-box;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0rpx;
|
||||||
z-index: 9;
|
padding-top: 60rpx;
|
||||||
|
z-index: 9;
|
||||||
background-color: var(--view-theme);
|
background-color: var(--view-theme);
|
||||||
|
|
||||||
.icon-dingwei {
|
.icon-dingwei {
|
||||||
@ -966,7 +967,7 @@
|
|||||||
z-index: 9;
|
z-index: 9;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 70rpx;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 86rpx;
|
margin-top: 86rpx;
|
||||||
background-color: var(--view-theme);
|
background-color: var(--view-theme);
|
||||||
@ -1040,6 +1041,7 @@
|
|||||||
|
|
||||||
.productList .list {
|
.productList .list {
|
||||||
padding: 0 20rpx;
|
padding: 0 20rpx;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.productList .list.on {
|
.productList .list.on {
|
||||||
@ -1075,6 +1077,7 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 345rpx;
|
height: 345rpx;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.productList .list .item .pictrue.on {
|
.productList .list .item .pictrue.on {
|
||||||
@ -1417,7 +1420,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.store-wrapper {
|
.store-wrapper {
|
||||||
margin-top: 240rpx;
|
margin-top: 310rpx;
|
||||||
|
|
||||||
border-top: 1px solid #F6F6F6;
|
border-top: 1px solid #F6F6F6;
|
||||||
|
|
||||||
.star-box {
|
.star-box {
|
||||||
|
423
pages/commissionedSales/addDelegation/index.vue
Normal file
423
pages/commissionedSales/addDelegation/index.vue
Normal file
@ -0,0 +1,423 @@
|
|||||||
|
<template>
|
||||||
|
|
||||||
|
<!-- #ifdef APP || H5 -->
|
||||||
|
<view>
|
||||||
|
<!-- #endif -->
|
||||||
|
<form @submit="formSubmit" report-submit='true'>
|
||||||
|
<view class="release_content">
|
||||||
|
|
||||||
|
|
||||||
|
<view class="release_item">
|
||||||
|
<view class="release_item-one">
|
||||||
|
<view class="item-one">
|
||||||
|
被委托商家
|
||||||
|
</view>
|
||||||
|
<e-select v-model="value1" :options="options1" placeholder="选择选项"></e-select>
|
||||||
|
</view>
|
||||||
|
<view class="release_item-one">
|
||||||
|
<view class="item-one">
|
||||||
|
委托周期
|
||||||
|
</view>
|
||||||
|
<view class="" @click="calendar">
|
||||||
|
|
||||||
|
<input type="number" v-model="date" />
|
||||||
|
</view>
|
||||||
|
<!-- <e-select v-model="value1" :options="options1" placeholder="选择选项"></e-select> -->
|
||||||
|
</view>
|
||||||
|
<view class='item acea-row row-between-wrapper'>
|
||||||
|
<view class='name'><text class="iconfont icon-baobeilianjie"></text>添加产品({{productList.length}})
|
||||||
|
</view>
|
||||||
|
<view class="select">
|
||||||
|
<view class="select_count" @click.stop="addProduct">
|
||||||
|
<text v-if="productList.length == 0" class="text">选择产品</text>
|
||||||
|
<view v-else class="text">
|
||||||
|
<image class="image" v-for="(item,index) in productList" :key="index"
|
||||||
|
:src="item.image || (item.spu && item.spu.image)"></image>
|
||||||
|
</view>
|
||||||
|
<text class="iconfont icon-xiangyou"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content_center-one" v-for="(item,i) in productList" :key="i">
|
||||||
|
<view class="center-one">
|
||||||
|
<view class="center-one-img">
|
||||||
|
<image :src="item.image" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="center-one-txt">
|
||||||
|
<view class="one-txta">
|
||||||
|
{{item.store_name}}
|
||||||
|
</view>
|
||||||
|
<view class="one-txtb">
|
||||||
|
<view class="">
|
||||||
|
委托价:¥<span>{{item.price}}</span>
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
数量:{{item.number}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<button class="release_btn button" form-type="submit">发布</button>
|
||||||
|
</view>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<uni-calendar ref="calendar" :date="info.date" :insert="info.insert" :lunar="info.lunar"
|
||||||
|
:startDate="info.startDate" :endDate="info.endDate" :range="info.range" @confirm="confirm"
|
||||||
|
:showMonth="info.showMonth" @close="close" />
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 提到的宝贝弹窗 -->
|
||||||
|
<uni-popup ref="associated" type="bottom">
|
||||||
|
<associated @close="close" @getProduct="getProduct" :checkedObj="productList"></associated>
|
||||||
|
</uni-popup>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import associated from '@/components/realselist/realselist.vue';
|
||||||
|
import eselect from '@/components/e-select/e-select.vue';
|
||||||
|
// import {} from '@/api/sale.js'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
associated,
|
||||||
|
eselect
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
value1: 1,
|
||||||
|
value2: "",
|
||||||
|
options1: [{
|
||||||
|
text: "Shenzhen1",
|
||||||
|
value: 1
|
||||||
|
}, {
|
||||||
|
|
||||||
|
text: "Shenzhen2",
|
||||||
|
value: 2
|
||||||
|
}, {
|
||||||
|
|
||||||
|
|
||||||
|
text: "Shenzhen3",
|
||||||
|
value: 3
|
||||||
|
}],
|
||||||
|
date: 1,
|
||||||
|
productList: [],
|
||||||
|
info: {
|
||||||
|
startDate: '',
|
||||||
|
endDate: '',
|
||||||
|
lunar: false,
|
||||||
|
range: true,
|
||||||
|
insert: false,
|
||||||
|
selected: [],
|
||||||
|
showMonth: false
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
onLoad(options) {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
// 日历确定
|
||||||
|
confirm(e) {
|
||||||
|
|
||||||
|
let self = this
|
||||||
|
if (e.range.after && e.range.before) {
|
||||||
|
let star = new Date(e.range.after).getTime()
|
||||||
|
let stop = new Date(e.range.before).getTime()
|
||||||
|
let arr = stop - star
|
||||||
|
this.date = Math.floor(arr / (24 * 3600 * 1000));
|
||||||
|
// console.log(days)
|
||||||
|
if (this.date < 0) {
|
||||||
|
this.date = this.date * -1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
calendar() {
|
||||||
|
this.$refs.calendar.open()
|
||||||
|
},
|
||||||
|
//关闭商品弹窗
|
||||||
|
close() {
|
||||||
|
this.$refs.associated.close()
|
||||||
|
},
|
||||||
|
//打开商品弹窗
|
||||||
|
addProduct() {
|
||||||
|
this.$refs.associated.open()
|
||||||
|
},
|
||||||
|
//获取商品信息
|
||||||
|
getProduct(data) {
|
||||||
|
console.log(data)
|
||||||
|
this.$refs.associated.close()
|
||||||
|
},
|
||||||
|
//提交
|
||||||
|
formSubmit(e) {
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
page {
|
||||||
|
background: #F5F5F5;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.release_content {
|
||||||
|
|
||||||
|
padding: 0 28rpx;
|
||||||
|
margin-top: 28rpx;
|
||||||
|
|
||||||
|
.content_center-one {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
|
||||||
|
.center-one {
|
||||||
|
margin-top: 32rpx;
|
||||||
|
margin-bottom: 32rpx;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.center-one-img {
|
||||||
|
width: 154rpx;
|
||||||
|
height: 154rpx;
|
||||||
|
margin-right: 21rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 154rpx;
|
||||||
|
height: 154rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.center-one-txt {
|
||||||
|
.one-txta {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one-txtb {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 28rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: #F84221;
|
||||||
|
margin-right: 30rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.release_item {
|
||||||
|
background: #ffffff;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
padding-top: 20rpx;
|
||||||
|
|
||||||
|
.release_item-one {
|
||||||
|
.item-one {
|
||||||
|
margin-top: 32rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.photo_count {
|
||||||
|
padding: 30rpx 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/deep/.loading-img {
|
||||||
|
width: 180rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
border-radius: 12rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input_photo .pictrue {
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-text {
|
||||||
|
display: block;
|
||||||
|
width: 180rpx;
|
||||||
|
text-align: center;
|
||||||
|
color: #ffffff;
|
||||||
|
font-size: 18rpx;
|
||||||
|
z-index: 13;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
video {
|
||||||
|
width: 180rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
border-radius: 12rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.input_photo .add {
|
||||||
|
background: #f6f6f6;
|
||||||
|
color: #666666;
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-size: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
font-size: 27rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.textarea textarea {
|
||||||
|
font-size: 28rpx;
|
||||||
|
padding-bottom: 38rpx;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
height: 400rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.textarea .placeholder {
|
||||||
|
color: #BBBBBB;
|
||||||
|
}
|
||||||
|
|
||||||
|
.release_item .item {
|
||||||
|
height: 106rpx;
|
||||||
|
border-bottom: 1rpx solid #eee;
|
||||||
|
position: relative;
|
||||||
|
font-size: 30rpx;
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
color: #333333;
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
margin-right: 10rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.select {
|
||||||
|
color: #bbbbbb;
|
||||||
|
|
||||||
|
.select_count {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
margin-right: 15rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.image,
|
||||||
|
image,
|
||||||
|
uni-image {
|
||||||
|
width: 60rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
margin-right: 5rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text_name {
|
||||||
|
color: var(--view-theme);
|
||||||
|
padding: 5rpx 12rpx;
|
||||||
|
background: var(--view-minorColor);
|
||||||
|
border-radius: 23rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
color: var(--view-theme);
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
margin: 0 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-size: 16rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
width: 694rpx;
|
||||||
|
height: 84rpx;
|
||||||
|
line-height: 84rpx;
|
||||||
|
text-align: center;
|
||||||
|
background: linear-gradient(84deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 42px 42px 42px 42px;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.release_btn {
|
||||||
|
margin-top: 100rpx;
|
||||||
|
}
|
||||||
|
</style>
|
282
pages/commissionedSales/delegation_details/index.vue
Normal file
282
pages/commissionedSales/delegation_details/index.vue
Normal file
@ -0,0 +1,282 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<view class="content_top">
|
||||||
|
</view>
|
||||||
|
<view class="content_center">
|
||||||
|
<view class="content_center-one">
|
||||||
|
<view class="center-one">
|
||||||
|
<view class="center-one-img">
|
||||||
|
<image src="../../annex/static/left.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="center-one-txt">
|
||||||
|
<view class="one-txta">
|
||||||
|
良品铺子肉松饼1000g/箱 面...
|
||||||
|
</view>
|
||||||
|
<view class="one-txtb">
|
||||||
|
<view class="">
|
||||||
|
委托价:¥<span>34.90</span>
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
数量:100个
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="content_center-one">
|
||||||
|
<view class="center-one">
|
||||||
|
<view class="center-one-img">
|
||||||
|
<image src="../../annex/static/left.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="center-one-txt">
|
||||||
|
<view class="one-txta">
|
||||||
|
良品铺子肉松饼1000g/箱 面...
|
||||||
|
</view>
|
||||||
|
<view class="one-txtb">
|
||||||
|
<view class="">
|
||||||
|
委托价:¥<span>34.90</span>
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
数量:100个
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="content_center-two">
|
||||||
|
<view class="center-two">
|
||||||
|
<view class="center-twoa">
|
||||||
|
委托方:
|
||||||
|
</view>
|
||||||
|
<view class="center-twob">
|
||||||
|
通滩镇镇街店铺
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="center-two">
|
||||||
|
<view class="center-twoa">
|
||||||
|
被委托方:
|
||||||
|
</view>
|
||||||
|
<view class="center-twob">
|
||||||
|
通滩镇镇街店铺
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="center-two">
|
||||||
|
<view class="center-twoa">
|
||||||
|
委托周期:
|
||||||
|
</view>
|
||||||
|
<view class="center-twob">
|
||||||
|
通滩镇镇街店铺
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="center-two">
|
||||||
|
<view class="center-twoa">
|
||||||
|
结算周期:
|
||||||
|
</view>
|
||||||
|
<view class="center-twob">
|
||||||
|
通滩镇镇街店铺
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="center-two">
|
||||||
|
<view class="center-twoa">
|
||||||
|
状态:
|
||||||
|
</view>
|
||||||
|
<view class="center-twob">
|
||||||
|
通滩镇镇街店铺
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="center-two">
|
||||||
|
<view class="center-twoa">
|
||||||
|
是否结束委托:
|
||||||
|
</view>
|
||||||
|
<view class="center-twob">
|
||||||
|
通滩镇镇街店铺
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="center-two">
|
||||||
|
<view class="center-twoa">
|
||||||
|
拒绝原因:
|
||||||
|
</view>
|
||||||
|
<view class="center-twob">
|
||||||
|
通滩镇镇街店铺
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="content_bootm">
|
||||||
|
<view class="content_bootm_txt">
|
||||||
|
查看TA提到的宝贝(2)
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="content_bootm_one">
|
||||||
|
<view class="bootm_oneimg">
|
||||||
|
<image src="@/static/images/bg2.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
良品铺子肉松饼1000g/箱 面包糕...
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content_bootm_one">
|
||||||
|
<view class="bootm_oneimg">
|
||||||
|
<image src="@/static/images/bg2.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
良品铺子肉松饼1000g/箱 面包糕...
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<button class="release_btn button" form-type="submit">发布</button>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.content{
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.content_top {
|
||||||
|
height: 151rpx;
|
||||||
|
background: linear-gradient(84deg, #2352FA 0%, #6497FF 100%);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_center {
|
||||||
|
|
||||||
|
background: #FFFFFF;
|
||||||
|
border-radius: 14px 14px 14px 14px;
|
||||||
|
margin: 28rpx 28rpx;
|
||||||
|
|
||||||
|
.content_center-one {
|
||||||
|
display: flex;
|
||||||
|
padding: 0 28rpx;
|
||||||
|
|
||||||
|
.center-one {
|
||||||
|
margin-top: 32rpx;
|
||||||
|
margin-bottom: 32rpx;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.center-one-img {
|
||||||
|
width: 154rpx;
|
||||||
|
height: 154rpx;
|
||||||
|
margin-right: 21rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 154rpx;
|
||||||
|
height: 154rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.center-one-txt {
|
||||||
|
.one-txta {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one-txtb {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 28rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: #F84221;
|
||||||
|
margin-right: 30rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_center-two {
|
||||||
|
padding: 0 28rpx;
|
||||||
|
padding-bottom: 2rpx;
|
||||||
|
|
||||||
|
.center-two {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-top: 32rpx;
|
||||||
|
margin-bottom: 32rpx;
|
||||||
|
|
||||||
|
.center-twoa {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center-twob {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_bootm {
|
||||||
|
|
||||||
|
margin-bottom: 150rpx;
|
||||||
|
|
||||||
|
.content_bootm_txt {
|
||||||
|
margin-top: 42rpx;
|
||||||
|
padding-left: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_bootm_one {
|
||||||
|
height: 112rpx;
|
||||||
|
line-height: 112rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
display: flex;
|
||||||
|
margin-top: 21rpx;
|
||||||
|
|
||||||
|
.bootm_oneimg {
|
||||||
|
width: 80rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
margin: auto 0;
|
||||||
|
margin-left: 28rpx;
|
||||||
|
margin-right: 21rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 80rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
width: 694rpx;
|
||||||
|
height: 84rpx;
|
||||||
|
line-height: 84rpx;
|
||||||
|
text-align: center;
|
||||||
|
background: linear-gradient(84deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 42px 42px 42px 42px;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
margin-left:-347rpx;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 100rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
</style>
|
164
pages/commissionedSales/index/index.vue
Normal file
164
pages/commissionedSales/index/index.vue
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
<template>
|
||||||
|
<view class="select_warehouse">
|
||||||
|
<view class="wrapper flex_a_c_j_sb">
|
||||||
|
<block v-for="item in goodsData" :key="item.name">
|
||||||
|
<view class="select_item" @click="navigato(item.type)"
|
||||||
|
:style="{'background-image': `url(${item.src})`}">
|
||||||
|
<view class="select_itemimga" v-if='item.type==1'>
|
||||||
|
<image :src="item.img" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="select_itemimgb" v-else>
|
||||||
|
<image :src="item.img" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="title">
|
||||||
|
<view class="titlea">
|
||||||
|
{{ item.name }}
|
||||||
|
</view>
|
||||||
|
<view class="titleb">
|
||||||
|
{{ item.name1 }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</block>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
goodsData: [{
|
||||||
|
name: '我发起的',
|
||||||
|
name1: '委托销售商品',
|
||||||
|
type: 1,
|
||||||
|
src: require('@/static/images/wtbg1.png'),
|
||||||
|
img: require('@/static/images/wtt1.png')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '我收到的',
|
||||||
|
name1: '帮助销售商品',
|
||||||
|
type: 2,
|
||||||
|
src: require('@/static/images/wtbg2.png'),
|
||||||
|
img: require('@/static/images/wtt2.png')
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
navigato(type) {
|
||||||
|
if (type === 1) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/commissionedSales/initiateDelegation/index`
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/commissionedSales/receivedCommission/index`
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.select_warehouse {
|
||||||
|
padding-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wrapper {
|
||||||
|
width: 694.74rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods-wrapper {
|
||||||
|
.item {
|
||||||
|
display: flex;
|
||||||
|
height: 175.44rpx;
|
||||||
|
width: 100%;
|
||||||
|
background-color: #fff;
|
||||||
|
margin-top: 21.05rpx;
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 12px;
|
||||||
|
|
||||||
|
.l_cont {
|
||||||
|
image {
|
||||||
|
width: 133.33rpx;
|
||||||
|
height: 133.33rpx;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.r_cont {
|
||||||
|
margin-left: 17.54rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.select_item {
|
||||||
|
width: 336rpx;
|
||||||
|
height: 161rpx;
|
||||||
|
border-radius: 8px;
|
||||||
|
background-color: #eee;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
color: #fff;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
|
||||||
|
.select_itemimga {
|
||||||
|
width: 59rpx;
|
||||||
|
height: 63rpx;
|
||||||
|
margin-top: 49rpx;
|
||||||
|
margin-left: 42rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.select_itemimgb {
|
||||||
|
width: 75rpx;
|
||||||
|
height: 65rpx;
|
||||||
|
margin-top: 49rpx;
|
||||||
|
margin-left: 42rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
margin-left: 23rpx;
|
||||||
|
margin-top: 37rpx;
|
||||||
|
|
||||||
|
.titlea {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titleb {
|
||||||
|
margin-top: 5rpx;
|
||||||
|
font-size: 25rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
824
pages/commissionedSales/initiateDelegation/index.vue
Normal file
824
pages/commissionedSales/initiateDelegation/index.vue
Normal file
@ -0,0 +1,824 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
|
||||||
|
<view class="content_top">
|
||||||
|
<!--选项卡滑动切换-->
|
||||||
|
<cxNavTitle :tabs="tabs" :activeItem="activeItem" @tabClick="tabClick" :show='false'></cxNavTitle>
|
||||||
|
</view>
|
||||||
|
<!-- 审核通过 打折的拒绝、同意功能 ,调货不需要功能 -->
|
||||||
|
<view class="content-content" v-for="(item,i) in list" :key="i" >
|
||||||
|
|
||||||
|
<view class="content-one">
|
||||||
|
<view class="content-one-img">
|
||||||
|
<image src="@/static/images/bg2.png" mode="aspectFit"></image>
|
||||||
|
</view>
|
||||||
|
<view class="content-one-txt">
|
||||||
|
<view class="one-txt-a">
|
||||||
|
{{item.content}}
|
||||||
|
</view>
|
||||||
|
<view class="one-txt-b">
|
||||||
|
委托周期:{{item.day}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<view class="content-two_one" v-if="item.type==1">
|
||||||
|
|
||||||
|
<view class="content-two-edita" @click="soldEdit">
|
||||||
|
待处理
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="contentgn">
|
||||||
|
<view class="contentgn_a">
|
||||||
|
处理
|
||||||
|
</view>
|
||||||
|
<span></span>
|
||||||
|
<view class="contentgn_b">
|
||||||
|
详情
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content-two_oneq" v-if="item.type==2">
|
||||||
|
|
||||||
|
|
||||||
|
<view class="content-two-editb" @click="accepted">
|
||||||
|
已接受
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="contentgn">
|
||||||
|
<view class="contentgn_a" @click="closingorder">
|
||||||
|
结束委托
|
||||||
|
</view>
|
||||||
|
<span></span>
|
||||||
|
<view class="contentgn_b">
|
||||||
|
详情
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content-two_one" v-if="item.type==3">
|
||||||
|
|
||||||
|
|
||||||
|
<view class="content-two-editc" @click="declined">
|
||||||
|
已拒绝
|
||||||
|
</view>
|
||||||
|
<view class="contentgn">
|
||||||
|
<view class="contentgn_a">
|
||||||
|
删除
|
||||||
|
</view>
|
||||||
|
<span></span>
|
||||||
|
<view class="contentgn_b">
|
||||||
|
详情
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content-two_one" v-if="item.type==4">
|
||||||
|
|
||||||
|
|
||||||
|
<view class="content-two-editd" @click="soldEdit">
|
||||||
|
已完成
|
||||||
|
</view>
|
||||||
|
<view class="contentgn">
|
||||||
|
<view class="contentgn_a">
|
||||||
|
删除
|
||||||
|
</view>
|
||||||
|
<span></span>
|
||||||
|
<view class="contentgn_b">
|
||||||
|
详情
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view v-if="orderList.length == 0 && this.where.page > 1">
|
||||||
|
<emptyPage title="暂无订单~"></emptyPage>
|
||||||
|
</view>
|
||||||
|
<uni-popup ref="bindmobile" type="center" @click="close">
|
||||||
|
|
||||||
|
<view class="" style="position: relative;">
|
||||||
|
<view class="entrust">
|
||||||
|
<view class="entrust_close" @click="close">
|
||||||
|
<image src="@/static/images/wt_close.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="entrust_bg">
|
||||||
|
<view class="entrust_bg-content">
|
||||||
|
<view class="bg-content-a">
|
||||||
|
委托申请处理
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-b">
|
||||||
|
结算周期: <span>30天</span>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-c">
|
||||||
|
利息比例: <span>0.05%</span>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="entrust_bga_btn">
|
||||||
|
<view class="cancellation">
|
||||||
|
拒绝
|
||||||
|
</view>
|
||||||
|
<view class="determine">
|
||||||
|
接受
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
|
<uni-popup ref="bindmobile1" type="center" @click="close">
|
||||||
|
|
||||||
|
<view class="" style="position: relative;">
|
||||||
|
<view class="entrust">
|
||||||
|
<view class="entrust_close" @click="close">
|
||||||
|
<image src="@/static/images/wt_close.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="entrust_bga">
|
||||||
|
<view class="entrust_bg-content">
|
||||||
|
<view class="bg-content-a">
|
||||||
|
确定结束委托?
|
||||||
|
</view>
|
||||||
|
<view class="entrust_bga_btn">
|
||||||
|
<view class="cancellation">
|
||||||
|
取消
|
||||||
|
</view>
|
||||||
|
<view class="determine">
|
||||||
|
确定
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
|
<uni-popup ref="bindmobile2" type="center" @click="close">
|
||||||
|
|
||||||
|
<view class="" style="position: relative;">
|
||||||
|
<view class="entrust">
|
||||||
|
<view class="entrust_close" @click="close">
|
||||||
|
<image src="@/static/images/wt_close.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="entrust_bg">
|
||||||
|
<view class="entrust_bg-content">
|
||||||
|
<view class="bg-content-a" style="margin-left: 207rpx;">
|
||||||
|
结束委托申请处理
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-b">
|
||||||
|
结算周期: <span>30天</span>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-c">
|
||||||
|
利息比例: <span>0.05%</span>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="entrust_bga_btn">
|
||||||
|
<view class="cancellation">
|
||||||
|
拒绝
|
||||||
|
</view>
|
||||||
|
<view class="determine">
|
||||||
|
接受
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
|
<uni-popup ref="bindmobile3" type="center" @click="close">
|
||||||
|
|
||||||
|
<view class="" style="position: relative;">
|
||||||
|
<view class="entrust">
|
||||||
|
<view class="entrust_close" @click="close">
|
||||||
|
<image src="@/static/images/wt_close.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="entrust_bgb">
|
||||||
|
<view class="entrust_bg-content">
|
||||||
|
<view class="bg-content-a" style="margin-left: 207rpx;">
|
||||||
|
结束委托申请处理
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-b">
|
||||||
|
结算周期: <span>30天</span>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-c">
|
||||||
|
利息比例: <span>0.05%</span>
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-c">
|
||||||
|
|
||||||
|
拒绝原因:
|
||||||
|
<view class="" style="margin-top: 21rpx;">
|
||||||
|
|
||||||
|
<textarea value="" placeholder="输入拒绝原因" class="bg-content_textarea" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="entrust_bga_btn">
|
||||||
|
<view class="determine">
|
||||||
|
接受
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import cxNavTitle from '@/components/cx-navTitle.vue'
|
||||||
|
import emptyPage from '@/components/emptyPage.vue';
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
cxNavTitle,
|
||||||
|
emptyPage
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activeItem: "tabOne",
|
||||||
|
tabTitle: "",
|
||||||
|
orderList: [],
|
||||||
|
where: {
|
||||||
|
page: 1,
|
||||||
|
limit: 10
|
||||||
|
},
|
||||||
|
tabs: [{
|
||||||
|
name: "tabOne",
|
||||||
|
label: '待处理',
|
||||||
|
type: '1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "tabTwo",
|
||||||
|
label: '已接受',
|
||||||
|
type: '2'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "tabThree",
|
||||||
|
label: '已拒绝',
|
||||||
|
type: '3'
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
list: [{
|
||||||
|
content: '张三生产资料供销供应链',
|
||||||
|
day: 10,
|
||||||
|
type: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: '张三生产资料供销供应链',
|
||||||
|
day: 10,
|
||||||
|
type: 2
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: '张三生产资料供销供应链',
|
||||||
|
day: 10,
|
||||||
|
type: 3
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: '张三生产资料供销供应链',
|
||||||
|
day: 10,
|
||||||
|
type: 4
|
||||||
|
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.tabTitle = this.tabs[0].name
|
||||||
|
//有时进入页面需要获取默认的第一个标签做逻辑判断 -- 如下:
|
||||||
|
console.log(this.tabs[0])
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
nav(item) {
|
||||||
|
// uni.navigateTo({
|
||||||
|
// url: '/pages/commissionedSales/delegation_details/index'
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
tabClick(e) { //点击获取当前标签数据
|
||||||
|
this.activeItem = e.name; //当前class类名
|
||||||
|
this.tabTitle = e.name; //当前选的标签名
|
||||||
|
},
|
||||||
|
//管理弹窗
|
||||||
|
close() {
|
||||||
|
console.log('1111111')
|
||||||
|
this.$refs.bindmobile.close()
|
||||||
|
this.$refs.bindmobile1.close()
|
||||||
|
this.$refs.bindmobile2.close()
|
||||||
|
this.$refs.bindmobile3.close()
|
||||||
|
},
|
||||||
|
// 待处理
|
||||||
|
soldEdit() {
|
||||||
|
|
||||||
|
this.$refs.bindmobile.open()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
//已接受
|
||||||
|
accepted() {
|
||||||
|
this.$refs.bindmobile1.open()
|
||||||
|
},
|
||||||
|
//结束委托
|
||||||
|
closingorder() {
|
||||||
|
this.$refs.bindmobile3.open()
|
||||||
|
},
|
||||||
|
// 已拒绝
|
||||||
|
declined() {
|
||||||
|
this.$refs.bindmobile2.open()
|
||||||
|
},
|
||||||
|
|
||||||
|
// 审核未通过 编辑
|
||||||
|
auditEdit() {
|
||||||
|
|
||||||
|
},
|
||||||
|
//审核通过 拒绝
|
||||||
|
passDelete() {
|
||||||
|
|
||||||
|
},
|
||||||
|
//审核通过 同意
|
||||||
|
passagree() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.content_top {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.content_top {
|
||||||
|
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-content {
|
||||||
|
|
||||||
|
margin-top: 21rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
padding: 0 28rpx;
|
||||||
|
padding-top: 28rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
|
||||||
|
.content-one {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
padding-bottom: 23rpx;
|
||||||
|
|
||||||
|
.content-one-img {
|
||||||
|
width: 148rpx;
|
||||||
|
height: 148rpx;
|
||||||
|
margin-right: 28rpx;
|
||||||
|
border: 1px solid;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-one-txt {
|
||||||
|
|
||||||
|
|
||||||
|
.txt-b-a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one-txt-b {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
|
||||||
|
.txt-b-a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: SF Pro Display-Medium, SF Pro Display;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-right: 74rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-b-b {
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two_oneq {
|
||||||
|
position: absolute;
|
||||||
|
right: 20rpx;
|
||||||
|
text-align: right;
|
||||||
|
|
||||||
|
.content-two-edita {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-editb {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FE9A10;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-editc {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #20A162;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-editd {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #999999;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.contentgn {
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-top: 47rpx;
|
||||||
|
|
||||||
|
.contentgn_a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #F84221;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
span {
|
||||||
|
width: 0px;
|
||||||
|
height: 30rpx;
|
||||||
|
opacity: 1;
|
||||||
|
|
||||||
|
margin-top: 10rpx;
|
||||||
|
border: 2rpx solid #CCCCCC;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.contentgn_b {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two_one {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
text-align: right;
|
||||||
|
|
||||||
|
.content-two-edita {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-editb {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FE9A10;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-editc {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #20A162;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-editd {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #999999;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.contentgn {
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-top: 47rpx;
|
||||||
|
|
||||||
|
.contentgn_a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #F84221;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
span {
|
||||||
|
width: 0px;
|
||||||
|
height: 30rpx;
|
||||||
|
opacity: 1;
|
||||||
|
|
||||||
|
margin-top: 10rpx;
|
||||||
|
border: 2rpx solid #CCCCCC;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.contentgn_b {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust {
|
||||||
|
|
||||||
|
|
||||||
|
.entrust_close {
|
||||||
|
width: 44rpx;
|
||||||
|
height: 44rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
z-index: 99999;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust_bg {
|
||||||
|
width: 694rpx;
|
||||||
|
height: 676rpx;
|
||||||
|
background: url('@/static/images/wtbg3.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.entrust_bg-content {
|
||||||
|
position: absolute;
|
||||||
|
top: 284rpx;
|
||||||
|
|
||||||
|
.bg-content-a {
|
||||||
|
margin-left: 242rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-content-b {
|
||||||
|
margin-left: 35rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
margin-top: 32rpx;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-left: 18rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-content-c {
|
||||||
|
margin-left: 35rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
margin-top: 32rpx;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-left: 18rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust_bga_btn {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 53rpx;
|
||||||
|
|
||||||
|
.cancellation {
|
||||||
|
height: 95rpx;
|
||||||
|
line-height: 95rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
margin-left: 121rpx;
|
||||||
|
margin-right: 49rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.determine {
|
||||||
|
width: 249rpx;
|
||||||
|
height: 95rpx;
|
||||||
|
line-height: 95rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: linear-gradient(180deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 47rpx 47rpx 47rpx 47rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust_bga {
|
||||||
|
width: 694rpx;
|
||||||
|
height: 520rpx;
|
||||||
|
background: url('@/static/images/wtbg4.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.entrust_bg-content {
|
||||||
|
position: absolute;
|
||||||
|
top: 284rpx;
|
||||||
|
|
||||||
|
.bg-content-a {
|
||||||
|
margin-left: 242rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust_bga_btn {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 53rpx;
|
||||||
|
|
||||||
|
.cancellation {
|
||||||
|
height: 95rpx;
|
||||||
|
line-height: 95rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
margin-left: 121rpx;
|
||||||
|
margin-right: 49rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.determine {
|
||||||
|
width: 249rpx;
|
||||||
|
height: 95rpx;
|
||||||
|
line-height: 95rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: linear-gradient(180deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 47rpx 47rpx 47rpx 47rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust_bgb {
|
||||||
|
width: 694rpx;
|
||||||
|
height: 994rpx;
|
||||||
|
background: url('@/static/images/wtbg5.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
|
||||||
|
.entrust_bg-content {
|
||||||
|
position: absolute;
|
||||||
|
top: 404rpx;
|
||||||
|
|
||||||
|
.bg-content-a {
|
||||||
|
margin-left: 242rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-content-b {
|
||||||
|
margin-left: 35rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
margin-top: 32rpx;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-left: 18rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-content-c {
|
||||||
|
margin-left: 35rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
margin-top: 22rpx;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-left: 18rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-content_textarea {
|
||||||
|
width: 624rpx;
|
||||||
|
height: 152rpx;
|
||||||
|
padding: 25rpx 18rpx;
|
||||||
|
|
||||||
|
background: #F5F5F5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust_bga_btn {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 33rpx;
|
||||||
|
|
||||||
|
|
||||||
|
.determine {
|
||||||
|
margin-left: 188rpx;
|
||||||
|
width: 249rpx;
|
||||||
|
height: 95rpx;
|
||||||
|
line-height: 95rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: linear-gradient(180deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 47rpx 47rpx 47rpx 47rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
816
pages/commissionedSales/receivedCommission/index.vue
Normal file
816
pages/commissionedSales/receivedCommission/index.vue
Normal file
@ -0,0 +1,816 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
|
||||||
|
<view class="content_top">
|
||||||
|
<!--选项卡滑动切换-->
|
||||||
|
<cxNavTitle :tabs="tabs" :activeItem="activeItem" @tabClick="tabClick" :show='false'></cxNavTitle>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="content-content" v-for="(item,i) in list" :key="i" @click="nav(item)">
|
||||||
|
|
||||||
|
<view class="content-one">
|
||||||
|
<view class="content-one-img">
|
||||||
|
<image src="@/static/images/bg2.png" mode="aspectFit"></image>
|
||||||
|
</view>
|
||||||
|
<view class="content-one-txt">
|
||||||
|
<view class="one-txt-a">
|
||||||
|
{{item.content}}
|
||||||
|
</view>
|
||||||
|
<view class="one-txt-b">
|
||||||
|
委托周期:{{item.day}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="content-two_one" v-if="item.type==1">
|
||||||
|
<view class="content-two-edita" @click="soldEdit">
|
||||||
|
待处理
|
||||||
|
</view>
|
||||||
|
<view class="contentgn">
|
||||||
|
<view class="contentgn_a">
|
||||||
|
处理
|
||||||
|
</view>
|
||||||
|
<span></span>
|
||||||
|
<view class="contentgn_b">
|
||||||
|
详情
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content-two_oneq" v-if="item.type==2">
|
||||||
|
|
||||||
|
|
||||||
|
<view class="content-two-editb" @click="accepted">
|
||||||
|
已接受
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="contentgn">
|
||||||
|
<view class="contentgn_a" @click="closingorder">
|
||||||
|
结束委托
|
||||||
|
</view>
|
||||||
|
<span></span>
|
||||||
|
<view class="contentgn_b">
|
||||||
|
详情
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content-two_one" v-if="item.type==3">
|
||||||
|
|
||||||
|
|
||||||
|
<view class="content-two-editc" @click="declined">
|
||||||
|
已拒绝
|
||||||
|
</view>
|
||||||
|
<view class="contentgn">
|
||||||
|
<view class="contentgn_a">
|
||||||
|
删除
|
||||||
|
</view>
|
||||||
|
<span></span>
|
||||||
|
<view class="contentgn_b">
|
||||||
|
详情
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content-two_one" v-if="item.type==4">
|
||||||
|
|
||||||
|
|
||||||
|
<view class="content-two-editd" @click="soldEdit">
|
||||||
|
已完成
|
||||||
|
</view>
|
||||||
|
<view class="contentgn">
|
||||||
|
<view class="contentgn_a">
|
||||||
|
删除
|
||||||
|
</view>
|
||||||
|
<span></span>
|
||||||
|
<view class="contentgn_b">
|
||||||
|
详情
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view v-if="orderList.length == 0 && this.where.page > 1">
|
||||||
|
<emptyPage title="暂无订单~"></emptyPage>
|
||||||
|
</view>
|
||||||
|
<uni-popup ref="bindmobile" type="center" @click="close">
|
||||||
|
|
||||||
|
<view class="" style="position: relative;">
|
||||||
|
<view class="entrust">
|
||||||
|
<view class="entrust_close" @click="close">
|
||||||
|
<image src="@/static/images/wt_close.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="entrust_bg">
|
||||||
|
<view class="entrust_bg-content">
|
||||||
|
<view class="bg-content-a">
|
||||||
|
委托申请处理
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-b">
|
||||||
|
结算周期: <span>30天</span>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-c">
|
||||||
|
利息比例: <span>0.05%</span>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="entrust_bga_btn">
|
||||||
|
<view class="cancellation">
|
||||||
|
拒绝
|
||||||
|
</view>
|
||||||
|
<view class="determine">
|
||||||
|
接受
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
|
<uni-popup ref="bindmobile1" type="center" @click="close">
|
||||||
|
|
||||||
|
<view class="" style="position: relative;">
|
||||||
|
<view class="entrust">
|
||||||
|
<view class="entrust_close" @click="close">
|
||||||
|
<image src="@/static/images/wt_close.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="entrust_bga">
|
||||||
|
<view class="entrust_bg-content">
|
||||||
|
<view class="bg-content-a">
|
||||||
|
确定结束委托?
|
||||||
|
</view>
|
||||||
|
<view class="entrust_bga_btn">
|
||||||
|
<view class="cancellation">
|
||||||
|
取消
|
||||||
|
</view>
|
||||||
|
<view class="determine">
|
||||||
|
确定
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
|
<uni-popup ref="bindmobile2" type="center" @click="close">
|
||||||
|
|
||||||
|
<view class="" style="position: relative;">
|
||||||
|
<view class="entrust">
|
||||||
|
<view class="entrust_close" @click="close">
|
||||||
|
<image src="@/static/images/wt_close.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="entrust_bg">
|
||||||
|
<view class="entrust_bg-content">
|
||||||
|
<view class="bg-content-a" style="margin-left: 207rpx;">
|
||||||
|
结束委托申请处理
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-b">
|
||||||
|
结算周期: <span>30天</span>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-c">
|
||||||
|
利息比例: <span>0.05%</span>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="entrust_bga_btn">
|
||||||
|
<view class="cancellation">
|
||||||
|
拒绝
|
||||||
|
</view>
|
||||||
|
<view class="determine">
|
||||||
|
接受
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
|
<uni-popup ref="bindmobile3" type="center" @click="close">
|
||||||
|
|
||||||
|
<view class="" style="position: relative;">
|
||||||
|
<view class="entrust">
|
||||||
|
<view class="entrust_close" @click="close">
|
||||||
|
<image src="@/static/images/wt_close.png" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="entrust_bgb">
|
||||||
|
<view class="entrust_bg-content">
|
||||||
|
<view class="bg-content-a" style="margin-left: 207rpx;">
|
||||||
|
结束委托申请处理
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-b">
|
||||||
|
结算周期: <span>30天</span>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-c">
|
||||||
|
利息比例: <span>0.05%</span>
|
||||||
|
</view>
|
||||||
|
<view class="bg-content-c">
|
||||||
|
|
||||||
|
拒绝原因:
|
||||||
|
<view class="" style="margin-top: 21rpx;">
|
||||||
|
|
||||||
|
<textarea value="" placeholder="输入拒绝原因" class="bg-content_textarea" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="entrust_bga_btn">
|
||||||
|
<view class="determine">
|
||||||
|
接受
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import cxNavTitle from '@/components/cx-navTitle.vue'
|
||||||
|
import emptyPage from '@/components/emptyPage.vue';
|
||||||
|
import {} from '@/api/sale.js'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
cxNavTitle,
|
||||||
|
emptyPage
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activeItem: "tabOne",
|
||||||
|
tabTitle: "",
|
||||||
|
orderList: [],
|
||||||
|
where: {
|
||||||
|
page: 1,
|
||||||
|
limit: 10
|
||||||
|
},
|
||||||
|
tabs: [{
|
||||||
|
name: "tabOne",
|
||||||
|
label: '待处理',
|
||||||
|
type: '1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "tabTwo",
|
||||||
|
label: '已接受',
|
||||||
|
type: '2'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "tabThree",
|
||||||
|
label: '已拒绝',
|
||||||
|
type: '3'
|
||||||
|
},
|
||||||
|
|
||||||
|
],
|
||||||
|
list: [{
|
||||||
|
content: '张三生产资料供销供应链',
|
||||||
|
day: 10,
|
||||||
|
type: 1
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: '张三生产资料供销供应链',
|
||||||
|
day: 10,
|
||||||
|
type: 2
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: '张三生产资料供销供应链',
|
||||||
|
day: 10,
|
||||||
|
type: 3
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: '张三生产资料供销供应链',
|
||||||
|
day: 10,
|
||||||
|
type: 4
|
||||||
|
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.tabTitle = this.tabs[0].name
|
||||||
|
//有时进入页面需要获取默认的第一个标签做逻辑判断 -- 如下:
|
||||||
|
console.log(this.tabs[0])
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
nav(item) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/commissionedSales/delegation_details/index'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
tabClick(e) { //点击获取当前标签数据
|
||||||
|
this.activeItem = e.name; //当前class类名
|
||||||
|
this.tabTitle = e.name; //当前选的标签名
|
||||||
|
},
|
||||||
|
//管理弹窗
|
||||||
|
close() {
|
||||||
|
console.log('1111111')
|
||||||
|
this.$refs.bindmobile.close()
|
||||||
|
this.$refs.bindmobile1.close()
|
||||||
|
this.$refs.bindmobile2.close()
|
||||||
|
this.$refs.bindmobile3.close()
|
||||||
|
},
|
||||||
|
// 待处理
|
||||||
|
soldEdit() {
|
||||||
|
|
||||||
|
this.$refs.bindmobile.open()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
//已接受
|
||||||
|
accepted() {
|
||||||
|
this.$refs.bindmobile1.open()
|
||||||
|
},
|
||||||
|
//结束委托
|
||||||
|
closingorder() {
|
||||||
|
this.$refs.bindmobile3.open()
|
||||||
|
},
|
||||||
|
// 已拒绝
|
||||||
|
declined() {
|
||||||
|
this.$refs.bindmobile2.open()
|
||||||
|
},
|
||||||
|
|
||||||
|
// 审核未通过 编辑
|
||||||
|
auditEdit() {
|
||||||
|
|
||||||
|
},
|
||||||
|
//审核通过 拒绝
|
||||||
|
passDelete() {
|
||||||
|
|
||||||
|
},
|
||||||
|
//审核通过 同意
|
||||||
|
passagree() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.content_top {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_top {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-content {
|
||||||
|
|
||||||
|
margin-top: 21rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
padding: 0 28rpx;
|
||||||
|
padding-top: 28rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
|
||||||
|
.content-one {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
padding-bottom: 23rpx;
|
||||||
|
|
||||||
|
.content-one-img {
|
||||||
|
width: 148rpx;
|
||||||
|
height: 148rpx;
|
||||||
|
margin-right: 28rpx;
|
||||||
|
border: 1px solid;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-one-txt {
|
||||||
|
|
||||||
|
|
||||||
|
.txt-b-a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one-txt-b {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
|
||||||
|
.txt-b-a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: SF Pro Display-Medium, SF Pro Display;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-right: 74rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-b-b {
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two_oneq {
|
||||||
|
position: absolute;
|
||||||
|
right: 20rpx;
|
||||||
|
text-align: right;
|
||||||
|
|
||||||
|
.content-two-edita {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-editb {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FE9A10;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-editc {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #20A162;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-editd {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #999999;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.contentgn {
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-top: 47rpx;
|
||||||
|
|
||||||
|
.contentgn_a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #F84221;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
span {
|
||||||
|
width: 0px;
|
||||||
|
height: 30rpx;
|
||||||
|
opacity: 1;
|
||||||
|
|
||||||
|
margin-top: 10rpx;
|
||||||
|
border: 2rpx solid #CCCCCC;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.contentgn_b {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two_one {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
text-align: right;
|
||||||
|
|
||||||
|
.content-two-edita {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-editb {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FE9A10;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-editc {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #20A162;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-editd {
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #999999;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.contentgn {
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-top: 47rpx;
|
||||||
|
|
||||||
|
.contentgn_a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #F84221;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
span {
|
||||||
|
width: 0px;
|
||||||
|
height: 30rpx;
|
||||||
|
opacity: 1;
|
||||||
|
|
||||||
|
margin-top: 10rpx;
|
||||||
|
border: 2rpx solid #CCCCCC;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.contentgn_b {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust {
|
||||||
|
|
||||||
|
.entrust_close {
|
||||||
|
width: 44rpx;
|
||||||
|
height: 44rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
z-index: 99999;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust_bg {
|
||||||
|
width: 694rpx;
|
||||||
|
height: 676rpx;
|
||||||
|
background: url('@/static/images/wtbg3.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.entrust_bg-content {
|
||||||
|
position: absolute;
|
||||||
|
top: 284rpx;
|
||||||
|
|
||||||
|
.bg-content-a {
|
||||||
|
margin-left: 242rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-content-b {
|
||||||
|
margin-left: 35rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
margin-top: 32rpx;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-left: 18rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-content-c {
|
||||||
|
margin-left: 35rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
margin-top: 32rpx;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-left: 18rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust_bga_btn {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 53rpx;
|
||||||
|
|
||||||
|
.cancellation {
|
||||||
|
height: 95rpx;
|
||||||
|
line-height: 95rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
margin-left: 121rpx;
|
||||||
|
margin-right: 49rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.determine {
|
||||||
|
width: 249rpx;
|
||||||
|
height: 95rpx;
|
||||||
|
line-height: 95rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: linear-gradient(180deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 47rpx 47rpx 47rpx 47rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust_bga {
|
||||||
|
width: 694rpx;
|
||||||
|
height: 520rpx;
|
||||||
|
background: url('@/static/images/wtbg4.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.entrust_bg-content {
|
||||||
|
position: absolute;
|
||||||
|
top: 284rpx;
|
||||||
|
|
||||||
|
.bg-content-a {
|
||||||
|
margin-left: 242rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust_bga_btn {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 53rpx;
|
||||||
|
|
||||||
|
.cancellation {
|
||||||
|
height: 95rpx;
|
||||||
|
line-height: 95rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
margin-left: 121rpx;
|
||||||
|
margin-right: 49rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.determine {
|
||||||
|
width: 249rpx;
|
||||||
|
height: 95rpx;
|
||||||
|
line-height: 95rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: linear-gradient(180deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 47rpx 47rpx 47rpx 47rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust_bgb {
|
||||||
|
width: 694rpx;
|
||||||
|
height: 994rpx;
|
||||||
|
background: url('@/static/images/wtbg5.png') no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
|
||||||
|
.entrust_bg-content {
|
||||||
|
position: absolute;
|
||||||
|
top: 404rpx;
|
||||||
|
|
||||||
|
.bg-content-a {
|
||||||
|
margin-left: 242rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-content-b {
|
||||||
|
margin-left: 35rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
margin-top: 32rpx;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-left: 18rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-content-c {
|
||||||
|
margin-left: 35rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
margin-top: 22rpx;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-left: 18rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-content_textarea {
|
||||||
|
width: 624rpx;
|
||||||
|
height: 152rpx;
|
||||||
|
padding: 25rpx 18rpx;
|
||||||
|
|
||||||
|
background: #F5F5F5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.entrust_bga_btn {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 33rpx;
|
||||||
|
|
||||||
|
|
||||||
|
.determine {
|
||||||
|
margin-left: 188rpx;
|
||||||
|
width: 249rpx;
|
||||||
|
height: 95rpx;
|
||||||
|
line-height: 95rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: linear-gradient(180deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 47rpx 47rpx 47rpx 47rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,216 +1,94 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="gather">
|
<view class="gather">
|
||||||
<zbpSwiper></zbpSwiper>
|
<view @click="selectLocation" v-if="isFshow">
|
||||||
<u-empty :show="jurisdiction" marginTop="260" mode="permission" :text="emptyText"
|
|
||||||
|
<view class="site-box flex_a_c_j_sb" :style="{'background-color':backColor}">
|
||||||
|
|
||||||
|
<view :class="['place_wrapper','flex_a_c',isFshow?'sitebox':'']" @click="selectLocation">
|
||||||
|
<view :class="['iconfont','icon-weizhi',isFshow?'sitebox':'']"
|
||||||
|
style="color:#000;margin-left: 20rpx;">
|
||||||
|
</view>
|
||||||
|
<view class="town_name" style="color:#000;">{{street}}</view>
|
||||||
|
</view>
|
||||||
|
<navigator url="/pages/chat/customer_list/index?type=0" hover-class="none">
|
||||||
|
<view :class="['iconfont','icon-xiaoxi',isFshow?'sitebox':'']" style="color:#000;"></view>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="site-box ','flex_a_c_j_sb'" v-if="ishshow">
|
||||||
|
<view class="bg-img">
|
||||||
|
<img :src="bgColor" alt="">
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<zbpSwiper :isSelectPlace="true" :location_Arr="locationArr" :town="street" @kkchange="kkchange"></zbpSwiper>
|
||||||
|
<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>
|
||||||
<block v-if="isShow">
|
<view class="business com special_work" v-if="jurisdiction == false">
|
||||||
<view class="special_work com" v-if="userInfoData.mer_info.type_id === 12">
|
<view class="title project">
|
||||||
<view class="special_work com" v-if="true">
|
<view>更多功能</view>
|
||||||
<view class="title">市级供应链</view>
|
<view v-if="!editFlag" class="edit" @click="editFlag = true">编辑</view>
|
||||||
<view class="content">
|
<view v-else class="edit" @click="editComfirm">完成</view>
|
||||||
<view class="examine" @click="navigator(`/pages/nongKe/supply_chain/goods_list?merid=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}zsgl.png`" mode="aspectFill"></image>
|
|
||||||
<text class="text">在售管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine"
|
|
||||||
@click="navigator(`/pages/admin/order/index?mer_id=${mer_id}&product_type=98`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}cwgl.png`" mode="aspectFill"></image>
|
|
||||||
<text class="text">财务管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine"
|
|
||||||
@click="navigator(`/pages/nongKe/gather/select_warehouse?mer_id=${mer_id}&stype=1`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}rkgl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">入库管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine"
|
|
||||||
@click="navigator(`/pages/product/basicSet?mer_id=${mer_id}&product_type=98`, '商户设置')">
|
|
||||||
<image class="icon_img" :src="`${prefix}shsz.png`" mode="aspectFill"></image>
|
|
||||||
<text class="text">商户设置</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/product/list/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}spgl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">商品管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/users/embody/embody?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}txgl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">提现管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/nongKe/teach_video/teach_video`)">
|
|
||||||
<image class="icon_img" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/spjs.png"
|
|
||||||
mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">视频教学</text>
|
|
||||||
</view>
|
|
||||||
<!-- <view class="examine" @click="navigator(`/pages/users/user_invoice_Finance/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" src="@/static/images/cwgk.png" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">财务公开</text>
|
|
||||||
</view> -->
|
|
||||||
<!-- <view class="examine" @click="navigator(`/pages/admin/order/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}ddgl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">订单管理</text>
|
|
||||||
</view> -->
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
|
<view class="content">
|
||||||
|
<block v-if="nowMenuList.length > 0">
|
||||||
|
<u-transition v-for="(item, index) in nowMenuList" :key="item.name" show>
|
||||||
|
<view class="examine" @click="
|
||||||
|
editFlag ? removeMenu(item) : clickMenu(item.type, item.data)
|
||||||
|
">
|
||||||
|
<image class="icon_img" :src="item.icon" mode="aspectFit">
|
||||||
|
</image>
|
||||||
|
<u-icon v-if="editFlag" class="icon" name="minus-circle-fill" color="red"></u-icon>
|
||||||
|
<text class="text">{{ item.name }}</text>
|
||||||
|
</view>
|
||||||
|
</u-transition>
|
||||||
|
</block>
|
||||||
|
<view v-else-if="!editFlag" @click="editFlag = true"
|
||||||
|
style="text-align: center; width: 100%; color: #aaa">还没有应用,点我添加应用</view>
|
||||||
</view>
|
</view>
|
||||||
|
</view>
|
||||||
<view class="business com" v-if="userInfoData.mer_info.type_id === 10">
|
<view v-if="editFlag" class="business com special_work edit_card">
|
||||||
<view class="business com" v-if="true">
|
<view class="title project" style="padding: 0 28rpx">
|
||||||
<view class="special_work com">
|
<view>编辑功能</view>
|
||||||
<view class="title">我的店铺</view>
|
<view class="edit2" @click="editComfirm">完成</view>
|
||||||
<view class="content ">
|
</view>
|
||||||
<view class="examine"
|
<view class="content">
|
||||||
@click="navigator(`/pages/nongKe/supply_chain/supplier?type_id=12&isDetail=1&product_type=98&cate_id=${userInfoData.mer_info.category_id}`)">
|
<u-transition v-for="(item, index) in AllMenuList" :key="item.name" show>
|
||||||
<image class="icon_img" :src="`${prefix}ghcg.png`" mode="aspectFill"></image>
|
<view class="examine" @click="pushMenu(item)">
|
||||||
<text class="text">供货采购</text>
|
<image class="icon_img" :src="item.icon" mode="aspectFit">
|
||||||
</view>
|
</image>
|
||||||
<view class="examine" @click="navigator('/pages/users/order_list/index?status=-1')">
|
<u-icon class="icon" name="plus-circle-fill"></u-icon>
|
||||||
<image class="icon_img" :src="`${prefix}jhgl.png`" mode="aspectFill"></image>
|
<text class="text">{{ item.name }}</text>
|
||||||
<text class="text">进货管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/admin/stockOut/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}smck.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">扫码出库</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine"
|
|
||||||
@click="navigator(`/pages/nongKe/gather/select_warehouse?mer_id=${mer_id}&stype=2`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}rkgl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">入库管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/users/embody/embody?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}txgl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">提现管理</text>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="examine"
|
|
||||||
@click="navigator(`/pages/chat/customer_list/index?type=1&mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}kfjl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">客服记录</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine"
|
|
||||||
@click="navigator(`/pages/admin/order_cancellation/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}ddhx.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">订单核销</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/admin/order/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}ddgl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">订单管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/product/list/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}spgl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">商品管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/product/basicSet?mer_id=${mer_id}`, '商户设置')">
|
|
||||||
<image class="icon_img" :src="`${prefix}shsz.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">商户设置</text>
|
|
||||||
</view>
|
|
||||||
<!-- <view class="examine" @click="navigator(`/pages/users/user_invoice_Finance/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" src="@/static/images/cwgk.png" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">财务公开</text>
|
|
||||||
</view> -->
|
|
||||||
|
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</u-transition>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<!-- <gatherBusiness :userInfoData="userInfoData" /> -->
|
<view class="" v-if="jurisdiction == false && isShow == false">
|
||||||
</view>
|
<emptyPage title="暂无信息"></emptyPage>
|
||||||
</view>
|
</view>
|
||||||
<view class="business com" v-if="userInfoData.mer_info.type_id === 11">
|
<u-picker :defaultIndex="[0,0]" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm"
|
||||||
<view class="business com" v-if="true">
|
@cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker>
|
||||||
<view class="special_work com">
|
|
||||||
<view class="title">里海云仓</view>
|
|
||||||
<view class="content ">
|
|
||||||
<view class="examine"
|
|
||||||
@click="navigator(`/pages/nongKe/supply_chain/supplier?type_id=12&isDetail=1&product_type=98&cate_id=${userInfoData.mer_info.category_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}ghcg.png`" mode="aspectFill"></image>
|
|
||||||
<text class="text">供货采购</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator('/pages/users/order_list/index?status=-1')">
|
|
||||||
<image class="icon_img" :src="`${prefix}jhgl.png`" mode="aspectFill"></image>
|
|
||||||
<text class="text">进货管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/admin/stockOut/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}smck.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">扫码出库</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine"
|
|
||||||
@click="navigator(`/pages/nongKe/gather/select_warehouse?mer_id=${mer_id}&stype=2`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}rkgl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">入库管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/users/embody/embody?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}txgl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">提现管理</text>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="examine"
|
|
||||||
@click="navigator(`/pages/chat/customer_list/index?type=1&mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}kfjl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">客服记录</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine"
|
|
||||||
@click="navigator(`/pages/admin/order_cancellation/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}ddhx.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">订单核销</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/admin/order/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}ddgl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">订单管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/product/list/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" :src="`${prefix}spgl.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">商品管理</text>
|
|
||||||
</view>
|
|
||||||
<view class="examine" @click="navigator(`/pages/product/basicSet?mer_id=${mer_id}`, '商户设置')">
|
|
||||||
<image class="icon_img" :src="`${prefix}shsz.png`" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">商户设置</text>
|
|
||||||
</view>
|
|
||||||
<!-- <view class="examine" @click="navigator(`/pages/users/user_invoice_Finance/index?mer_id=${mer_id}`)">
|
|
||||||
<image class="icon_img" src="@/static/images/cwgk.png" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="text">财务公开</text>
|
|
||||||
</view> -->
|
|
||||||
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</block>
|
|
||||||
<!-- <m-tabbar native>
|
<!-- <m-tabbar native>
|
||||||
<template v-slot:tabbar_index_2>
|
<template v-slot:tabbar_index_2>
|
||||||
<view class="custom_style">
|
<view class="custom_style">
|
||||||
<view class="custom_style_icon"></view>
|
<view class="custom_style_icon"></view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</m-tabbar> -->
|
</m-tabbar> -->
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import Cache from '@/utils/cache';
|
||||||
import mTabbar from '@/components/m-tabbar/m-tabbar.vue'
|
import mTabbar from '@/components/m-tabbar/m-tabbar.vue'
|
||||||
|
import emptyPage from '@/components/emptyPage.vue';
|
||||||
import zbpSwiper from '@/components/zbpSwiper'
|
import zbpSwiper from '@/components/zbpSwiper'
|
||||||
|
import {
|
||||||
|
getArea,
|
||||||
|
getStreet
|
||||||
|
} from '@/api/article.js';
|
||||||
import {
|
import {
|
||||||
mapState,
|
mapState,
|
||||||
mapGetters
|
mapGetters
|
||||||
@ -224,6 +102,7 @@
|
|||||||
getUserInfo
|
getUserInfo
|
||||||
} from '@/api/user.js'
|
} from '@/api/user.js'
|
||||||
import {
|
import {
|
||||||
|
getGeocoder,
|
||||||
microSeachBarCode,
|
microSeachBarCode,
|
||||||
microEadtProduct
|
microEadtProduct
|
||||||
} from '@/api/store.js'
|
} from '@/api/store.js'
|
||||||
@ -232,14 +111,20 @@
|
|||||||
} from '@/libs/uniApi';
|
} from '@/libs/uniApi';
|
||||||
import {
|
import {
|
||||||
getDiy
|
getDiy
|
||||||
} from '@/api/api.js'
|
} from '@/api/api.js';
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
import uniMP from '@/utils/uniMP.js';
|
||||||
|
// #endif
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
mTabbar,
|
mTabbar,
|
||||||
zbpSwiper
|
zbpSwiper,
|
||||||
|
emptyPage
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
locationArr: ({}),
|
||||||
emptyText: '暂无可用应用',
|
emptyText: '暂无可用应用',
|
||||||
jurisdiction: false, // 是否有权限
|
jurisdiction: false, // 是否有权限
|
||||||
mer_id: '',
|
mer_id: '',
|
||||||
@ -249,14 +134,44 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
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,
|
||||||
|
bgColor: '',
|
||||||
|
isFshow: false,
|
||||||
|
street: '',
|
||||||
|
// 编辑中标记
|
||||||
|
editFlag: false,
|
||||||
|
// 所有菜单的按钮
|
||||||
|
AllMenuList: [{
|
||||||
|
name: '商户平台',
|
||||||
|
icon: '/static/applet/shop_app.png',
|
||||||
|
data: '/pages/moreProject/moreProject',
|
||||||
|
type: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '供销平台',
|
||||||
|
icon: '/static/applet/gx_app.png',
|
||||||
|
data: '__UNI__B5B1EDD',
|
||||||
|
type: 1,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
nowMenuList: [],
|
||||||
|
street: '',
|
||||||
|
showPicker: false,
|
||||||
|
columnData: [],
|
||||||
|
bgColor: '',
|
||||||
|
isFshow: false,
|
||||||
|
backColor: 'rgba(252, 252, 252, 0)'
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['userInfo', 'location', 'isLogin'])
|
...mapGetters(['userInfo', 'location', 'isLogin'])
|
||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
onLoad() {},
|
onLoad() {
|
||||||
|
this.Area()
|
||||||
|
this.initMenu();
|
||||||
|
},
|
||||||
|
|
||||||
onShow() {
|
onShow() {
|
||||||
if (this.isLogin) {
|
if (this.isLogin) {
|
||||||
this.emptyText = '暂无可用应用'
|
this.emptyText = '暂无可用应用'
|
||||||
@ -266,12 +181,235 @@
|
|||||||
this.jurisdiction = true
|
this.jurisdiction = true
|
||||||
}
|
}
|
||||||
this.getUserInfo()
|
this.getUserInfo()
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
onPullDownRefresh() {
|
onPullDownRefresh() {
|
||||||
this.getUserInfo()
|
this.getUserInfo()
|
||||||
uni.stopPullDownRefresh()
|
uni.stopPullDownRefresh()
|
||||||
},
|
},
|
||||||
|
beforeDestroy() {
|
||||||
|
// 销毁监听事件
|
||||||
|
this.$bus.$off('value-updated')
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
if (this.street.length <= 0) {
|
||||||
|
this.appLocation()
|
||||||
|
}
|
||||||
|
// #ifdef H5
|
||||||
|
// 监听页面滚动事件
|
||||||
|
window.addEventListener("scroll", this.scrolling);
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
this.$bus.$on('value-updated', (newValue) => {
|
||||||
|
// 更新父组件的值
|
||||||
|
this.street = newValue.split(',')[0]
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
onPageScroll(e) {
|
||||||
|
const scrollTop = e.scrollTop;
|
||||||
|
if (scrollTop <= 20) {
|
||||||
|
this.backColor = 'rgba(252, 252, 252, 0)'
|
||||||
|
this.isFshow = false
|
||||||
|
} else if (20 < scrollTop && scrollTop <= 100) {
|
||||||
|
this.backColor = 'rgba(252, 252, 252, .5)'
|
||||||
|
this.isFshow = true
|
||||||
|
} else if (scrollTop > 100) {
|
||||||
|
this.backColor = 'rgba(252, 252, 252, 1)'
|
||||||
|
this.isFshow = true
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
// #endif
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
scrolling() {
|
||||||
|
// 滚动条距文档顶部的距离
|
||||||
|
let scrollTop =
|
||||||
|
window.pageYOffset ||
|
||||||
|
document.documentElement.scrollTop ||
|
||||||
|
document.body.scrollTop;
|
||||||
|
// 滚动条滚动的距离
|
||||||
|
let scrollStep = scrollTop - this.oldScrollTop;
|
||||||
|
// console.log("header 滚动距离 ", scrollTop);
|
||||||
|
// 更新——滚动前,滚动条距文档顶部的距离
|
||||||
|
this.oldScrollTop = scrollTop;
|
||||||
|
|
||||||
|
//变量windowHeight是可视区的高度
|
||||||
|
let windowHeight =
|
||||||
|
document.documentElement.clientHeight || document.body.clientHeight;
|
||||||
|
//变量scrollHeight是滚动条的总高度
|
||||||
|
let scrollHeight =
|
||||||
|
document.documentElement.scrollHeight || document.body.scrollHeight;
|
||||||
|
|
||||||
|
//滚动条到底部的条件
|
||||||
|
if (scrollTop + windowHeight == scrollHeight) {
|
||||||
|
//你想做的事情
|
||||||
|
// console.log("header 你已经到底部了");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (scrollTop <= 20) {
|
||||||
|
this.backColor = 'rgba(252, 252, 252, 0)'
|
||||||
|
this.isFshow = false
|
||||||
|
} else if (20 < scrollTop && scrollTop <= 100) {
|
||||||
|
this.backColor = 'rgba(252, 252, 252, .5)'
|
||||||
|
this.isFshow = true
|
||||||
|
} else if (scrollTop > 100) {
|
||||||
|
this.backColor = 'rgba(252, 252, 252, 1)'
|
||||||
|
this.isFshow = true
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
// 初始化菜单
|
||||||
|
initMenu() {
|
||||||
|
let now = uni.getStorageSync('gatherNowMenuList');
|
||||||
|
try {
|
||||||
|
this.nowMenuList = JSON.parse(now);
|
||||||
|
this.AllMenuList = this.AllMenuList.filter((item) => {
|
||||||
|
return this.nowMenuList.find(t => t.name == item.name)?.name != item.name;
|
||||||
|
})
|
||||||
|
} catch (e) {
|
||||||
|
this.nowMenuList = [];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
clickMenu(e, data) {
|
||||||
|
switch (e) {
|
||||||
|
case 1:
|
||||||
|
this.getUniMp(data);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
this.navigator(data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 添加菜单
|
||||||
|
pushMenu(data) {
|
||||||
|
this.nowMenuList.push(data);
|
||||||
|
this.AllMenuList = this.AllMenuList.filter((item) => {
|
||||||
|
return item.name != data.name;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 移除菜单
|
||||||
|
removeMenu(data) {
|
||||||
|
this.AllMenuList.push(data);
|
||||||
|
this.nowMenuList = this.nowMenuList.filter((item) => {
|
||||||
|
return item.name != data.name;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 编辑完成
|
||||||
|
editComfirm() {
|
||||||
|
this.editFlag = false;
|
||||||
|
uni.setStorageSync('gatherNowMenuList', JSON.stringify(this.nowMenuList));
|
||||||
|
},
|
||||||
|
getUniMp(appid) {
|
||||||
|
console.log('点击供销平台');
|
||||||
|
// #ifdef APP-PLUS
|
||||||
|
uniMP.loadMP(appid);
|
||||||
|
return;
|
||||||
|
// #endif
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: 'H5不支持打开小程序'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeHandler(e) {
|
||||||
|
const {
|
||||||
|
columnIndex,
|
||||||
|
value,
|
||||||
|
values,
|
||||||
|
index,
|
||||||
|
picker = this.$refs.uPicker
|
||||||
|
} = e;
|
||||||
|
if (columnIndex === 0) {
|
||||||
|
getStreet({
|
||||||
|
area_code: value[0]['code']
|
||||||
|
}).then(res => {
|
||||||
|
this.$refs.uPicker.setColumnValues(1, res.data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
Area() {
|
||||||
|
getArea({
|
||||||
|
city_code: 510500
|
||||||
|
}).then(res => {
|
||||||
|
this.$refs.uPicker.setColumnValues(0, res.data);
|
||||||
|
this.Street(res.data[0]['code']);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
Street(code) {
|
||||||
|
getStreet({
|
||||||
|
area_code: code
|
||||||
|
}).then(res => {
|
||||||
|
this.$refs.uPicker.setColumnValues(1, res.data);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
selectLocation() {
|
||||||
|
this.showPicker = true
|
||||||
|
},
|
||||||
|
confirm(e) {
|
||||||
|
this.street = e.value[1].name
|
||||||
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$bus.$emit('value-updated', e.value[1].name + ',' + e.value[1].code);
|
||||||
|
|
||||||
|
})
|
||||||
|
this.showPicker = false
|
||||||
|
},
|
||||||
|
appLocation() {
|
||||||
|
uni.getLocation({
|
||||||
|
type: 'wgs84',
|
||||||
|
timeout: '10',
|
||||||
|
success: (res) => {
|
||||||
|
// console.log(res)
|
||||||
|
|
||||||
|
let latitude, longitude;
|
||||||
|
latitude = res.latitude.toString();
|
||||||
|
longitude = res.longitude.toString();
|
||||||
|
getGeocoder({
|
||||||
|
lat: latitude,
|
||||||
|
long: longitude
|
||||||
|
}).then(res => {
|
||||||
|
let town = res.data.address_reference.town.title
|
||||||
|
let street_id = res.data.address_reference.town.id
|
||||||
|
this.street = res.data.address_component.street
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$bus.$emit('value-updated', this.street + ',' +
|
||||||
|
street_id);
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
fail: (err) => {
|
||||||
|
|
||||||
|
uni.showToast({
|
||||||
|
title: "获取定位超时",
|
||||||
|
icon: 'none',
|
||||||
|
duration: 2000
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
kkchange(e) {
|
||||||
|
this.bgColor = e
|
||||||
|
},
|
||||||
|
|
||||||
navigator(url, t) {
|
navigator(url, t) {
|
||||||
// if (this.userInfoData.is_wsxx === 0 && t != '商户设置') return Toast("请完善商户信息");
|
// if (this.userInfoData.is_wsxx === 0 && t != '商户设置') return Toast("请完善商户信息");
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
@ -290,10 +428,11 @@
|
|||||||
this.isShow = true
|
this.isShow = true
|
||||||
this.mer_id = res.data.service.mer_id
|
this.mer_id = res.data.service.mer_id
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!res.data.mer_info) {
|
if (!res.data.mer_info) {
|
||||||
that.$set(this, 'jurisdiction', false);
|
that.$set(this, 'jurisdiction', false);
|
||||||
}
|
}
|
||||||
console.log(that.userInfoData);
|
// console.log(that.userInfoData);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -302,12 +441,71 @@
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.gather {
|
.gather {
|
||||||
padding-bottom: 164.91rpx;
|
padding-bottom: 164.91rpx;
|
||||||
background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%);
|
background: linear-gradient(180deg, #ffffff 0%, #f6f6f6 100%);
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sitebox {
|
||||||
|
animation-name: fadeIn;
|
||||||
|
animation-duration: 3s;
|
||||||
|
animation-fill-mode: forwards;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fadeIn {
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.site-box {
|
||||||
|
width: 100%;
|
||||||
|
/* #ifdef MP || APP-PLUS */
|
||||||
|
height: 160rpx;
|
||||||
|
/* #endif */
|
||||||
|
/* #ifdef H5 */
|
||||||
|
height: 120rpx;
|
||||||
|
/* #endif */
|
||||||
|
margin-bottom: 26.32rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: 0rpx;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 999;
|
||||||
|
/* #ifdef MP || APP-PLUS */
|
||||||
|
padding-top: 75rpx;
|
||||||
|
/* #endif */
|
||||||
|
/* #ifdef H5 */
|
||||||
|
padding-top: 25rpx;
|
||||||
|
/* #endif */
|
||||||
|
|
||||||
|
padding-right: 20rpx;
|
||||||
|
|
||||||
|
// 位置
|
||||||
|
.place_wrapper {
|
||||||
|
color: #fff;
|
||||||
|
margin-right: 24.56rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
|
||||||
|
opacity: 0;
|
||||||
|
|
||||||
|
.town_name {
|
||||||
|
margin-left: 21rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
opacity: 0;
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-size: 35.09rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.top_box {
|
.top_box {
|
||||||
// padding-top: 180rpx;
|
// padding-top: 180rpx;
|
||||||
background: linear-gradient(#36A2FF, #fff);
|
background: linear-gradient(#36a2ff, #fff);
|
||||||
}
|
}
|
||||||
|
|
||||||
.com {
|
.com {
|
||||||
@ -333,6 +531,27 @@
|
|||||||
margin-bottom: 38.6rpx;
|
margin-bottom: 38.6rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.project {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: flex-end;
|
||||||
|
|
||||||
|
.edit {
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-weight: 400;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: ">";
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit2 {
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-content: center;
|
align-content: center;
|
||||||
@ -346,11 +565,18 @@
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
position: relative;
|
||||||
// margin: 0 0 33.33rpx 33.33rpx !important;
|
// margin: 0 0 33.33rpx 33.33rpx !important;
|
||||||
|
|
||||||
.icon_img {
|
.icon_img {
|
||||||
width: 63.16rpx;
|
width: 83.16rpx;
|
||||||
height: 63.16rpx;
|
height: 83.16rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
position: absolute;
|
||||||
|
top: -5rpx;
|
||||||
|
right: 25rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
@ -383,4 +609,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.edit_card {
|
||||||
|
background-color: #fff;
|
||||||
|
padding-top: 28rpx;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
@ -585,6 +585,7 @@
|
|||||||
])),
|
])),
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
|
// console.log(options)
|
||||||
this.referer = options.referer
|
this.referer = options.referer
|
||||||
if (options.product_type) {
|
if (options.product_type) {
|
||||||
this.product_type = options.product_type
|
this.product_type = options.product_type
|
||||||
@ -1349,9 +1350,10 @@
|
|||||||
postCartAdd(q)
|
postCartAdd(q)
|
||||||
.then(function(res) {
|
.then(function(res) {
|
||||||
that.isOpen = that.attr.cartAttr = false;
|
that.isOpen = that.attr.cartAttr = false;
|
||||||
|
// console.log(that.storeInfo);
|
||||||
if (news) {
|
if (news) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/users/order_confirm/index?cartId=${res.data.cart_id}`
|
url: `/pages/users/order_confirm/index?cartId=${res.data.cart_id}&type_id=${that.storeInfo.merchant.type_id}`
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
that.$util.Tips({
|
that.$util.Tips({
|
||||||
|
@ -1,364 +1,377 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="Circle_friends">
|
<view class="Circle_friends">
|
||||||
<view class="circle_friends_wrapper">
|
<view class="circle_friends_wrapper">
|
||||||
|
|
||||||
<zbpSwiper></zbpSwiper>
|
<zbpSwiper></zbpSwiper>
|
||||||
|
|
||||||
<view class="tabs_wrapper">
|
<view class="tabs_wrapper">
|
||||||
<u-tabs :list="tabsData.list" @click="tabsChange" lineColor="#F84221" keyName="cate_name"></u-tabs>
|
<u-tabs :list="tabsData.list" @click="tabsChange" lineColor="#F84221" keyName="cate_name"></u-tabs>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="goods">
|
<view class="goods">
|
||||||
<block v-for="(item,index) in cateGoods" :key="index">
|
<block v-for="(item,index) in cateGoods" :key="index">
|
||||||
<view class="goods_item" @click="gogogo(item)">
|
<view class="goods_item" @click="gogogo(item)">
|
||||||
<image class="goods_img" :src="item.image[0]" mode="aspectFill"></image>
|
<image class="goods_img" :src="item.image[0]" mode="aspectFit"></image>
|
||||||
<view class="botm">
|
<view class="botm">
|
||||||
<view class="title">{{item.title}}</view>
|
<view class="title">{{item.title}}</view>
|
||||||
<view class="goods_info flex_a_c">
|
<view class="goods_info flex_a_c">
|
||||||
<view class="l_info flex_a_c">
|
<view class="l_info flex_a_c">
|
||||||
<image :src="(item.author && item.author.avatar) || '/static/images/f.png'" mode="aspectFill"
|
<image :src="(item.author && item.author.avatar) || '/static/images/f.png'"
|
||||||
class="g_img"></image>
|
mode="aspectFit" class="g_img"></image>
|
||||||
<view class="g_name">{{item.author && item.author.nickname}}</view>
|
<view class="g_name">{{item.author && item.author.nickname}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="nice_box" @click.stop="giveStart(item)">
|
<view class="nice_box" @click.stop="giveStart(item)">
|
||||||
<text class="iconfont" :class="item.relevance_id ? 'icon-shoucang1' : 'icon-dianzan'"></text>
|
<text class="iconfont"
|
||||||
<text class="collect">{{item.count_start}}</text>
|
:class="item.relevance_id ? 'icon-shoucang1' : 'icon-dianzan'"></text>
|
||||||
</view>
|
<text class="collect">{{item.count_start}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</block>
|
</view>
|
||||||
</view>
|
</block>
|
||||||
<view class="empty_wrapper" v-if="emptyShow">
|
</view>
|
||||||
<u-empty :show="emptyShow" mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png"></u-empty>
|
<view class="empty_wrapper" v-if="emptyShow">
|
||||||
</view>
|
<u-empty :show="emptyShow" mode="list" icon="http://cdn.uviewui.com/uview/empty/list.png"></u-empty>
|
||||||
</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>
|
||||||
|
|
||||||
<!-- <view class="bg_color"></view> -->
|
<!-- <view class="bg_color"></view> -->
|
||||||
|
|
||||||
<!-- <m-tabbar native>
|
<!-- <m-tabbar native>
|
||||||
<template v-slot:tabbar_index_2>
|
<template v-slot:tabbar_index_2>
|
||||||
<view class="custom_style">
|
<view class="custom_style">
|
||||||
<view class="custom_style_icon"></view>
|
<view class="custom_style_icon"></view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</m-tabbar> -->
|
</m-tabbar> -->
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import mTabbar from '@/components/m-tabbar/m-tabbar.vue'
|
import mTabbar from '@/components/m-tabbar/m-tabbar.vue'
|
||||||
import zbpSwiper from '@/components/zbpSwiper'
|
import zbpSwiper from '@/components/zbpSwiper'
|
||||||
import { getSlideAPI } from '@/api/lihai.js'
|
import {
|
||||||
import { graphicLstApi, getTopicList, graphicStartApi } from '@/api/community.js'
|
getSlideAPI
|
||||||
import { getIndexData, getDiy } from '@/api/api.js'
|
} from '@/api/lihai.js'
|
||||||
import { getGeocoder, merClassifly } from '@/api/store.js';
|
import {
|
||||||
import { getArea, getStreet } from '@/api/article.js';
|
graphicLstApi,
|
||||||
import { Toast } from '@/libs/uniApi'
|
getTopicList,
|
||||||
export default {
|
graphicStartApi
|
||||||
components: {
|
} from '@/api/community.js'
|
||||||
mTabbar,
|
import {
|
||||||
zbpSwiper
|
getIndexData,
|
||||||
},
|
getDiy
|
||||||
data() {
|
} from '@/api/api.js'
|
||||||
return {
|
import {
|
||||||
bgColor: '',
|
getGeocoder,
|
||||||
showPicker: false,
|
merClassifly
|
||||||
columnData: [],
|
} from '@/api/store.js';
|
||||||
show: false,
|
import {
|
||||||
swiper: {
|
getArea,
|
||||||
url: [{
|
getStreet
|
||||||
img: ''
|
} from '@/api/article.js';
|
||||||
}],
|
import {
|
||||||
indicatorDots: true, // 显示面板指示点
|
Toast
|
||||||
vertical: false, // 滑动方向是否为纵向
|
} from '@/libs/uniApi'
|
||||||
autoplay: true, // 是否自动切换
|
export default {
|
||||||
interval: 2000, // 自动切换时间间隔
|
components: {
|
||||||
duration: 500 // 滑动动画时长
|
mTabbar,
|
||||||
},
|
zbpSwiper
|
||||||
tabsData: {
|
},
|
||||||
list: [],
|
data() {
|
||||||
tabsActive: 0
|
return {
|
||||||
},
|
bgColor: '',
|
||||||
where: {
|
showPicker: false,
|
||||||
category_id: 0,
|
columnData: [],
|
||||||
page: 1,
|
show: false,
|
||||||
limit: 30
|
swiper: {
|
||||||
},
|
url: [{
|
||||||
currentItemId: 69, // 默认获取 社区的数据 0 表示推荐 || 69 社区
|
img: ''
|
||||||
keyword: '',
|
}],
|
||||||
location: '',
|
indicatorDots: true, // 显示面板指示点
|
||||||
emptyShow: false,
|
vertical: false, // 滑动方向是否为纵向
|
||||||
street: '',
|
autoplay: true, // 是否自动切换
|
||||||
cateGoods: []
|
interval: 2000, // 自动切换时间间隔
|
||||||
}
|
duration: 500 // 滑动动画时长
|
||||||
},
|
},
|
||||||
onPullDownRefresh() {
|
tabsData: {
|
||||||
this.getCateList()
|
list: [],
|
||||||
this.getGoods()
|
tabsActive: 0
|
||||||
this.selfLocation()
|
},
|
||||||
this.Area()
|
where: {
|
||||||
uni.stopPullDownRefresh()
|
category_id: 0,
|
||||||
},
|
page: 1,
|
||||||
onLoad() {
|
limit: 30
|
||||||
this.getCateList()
|
},
|
||||||
this.getGoods()
|
currentItemId: 69, // 默认获取 社区的数据 0 表示推荐 || 69 社区
|
||||||
this.selfLocation()
|
keyword: '',
|
||||||
this.Area()
|
location: '',
|
||||||
},
|
emptyShow: false,
|
||||||
onShow() {},
|
street: '',
|
||||||
methods: {
|
cateGoods: []
|
||||||
confirm(e) {
|
}
|
||||||
this.where.street_id = e.value[1].code
|
},
|
||||||
this.showPicker = false
|
onPullDownRefresh() {
|
||||||
},
|
this.getCateList()
|
||||||
changeHandler(e) {
|
this.getGoods()
|
||||||
const {
|
this.selfLocation()
|
||||||
columnIndex,
|
this.Area()
|
||||||
value,
|
uni.stopPullDownRefresh()
|
||||||
values,
|
},
|
||||||
index,
|
onLoad() {
|
||||||
picker = this.$refs.uPicker
|
this.getCateList()
|
||||||
} = e;
|
this.getGoods()
|
||||||
if (columnIndex === 0) {
|
this.selfLocation()
|
||||||
getStreet({
|
this.Area()
|
||||||
area_code: value[0]['code']
|
},
|
||||||
}).then(res => {
|
onShow() {},
|
||||||
this.$refs.uPicker.setColumnValues(1, res.data);
|
methods: {
|
||||||
});
|
confirm(e) {
|
||||||
}
|
this.where.street_id = e.value[1].code
|
||||||
},
|
this.showPicker = false
|
||||||
Area() {
|
},
|
||||||
getArea({
|
|
||||||
city_code: 510500
|
changeHandler(e) {
|
||||||
}).then(res => {
|
const {
|
||||||
this.$refs.uPicker.setColumnValues(0, res.data);
|
columnIndex,
|
||||||
this.Street(res.data[0]['code']);
|
value,
|
||||||
});
|
values,
|
||||||
},
|
index,
|
||||||
Street(code) {
|
picker = this.$refs.uPicker
|
||||||
getStreet({
|
} = e;
|
||||||
area_code: code
|
if (columnIndex === 0) {
|
||||||
}).then(res => {
|
getStreet({
|
||||||
this.$refs.uPicker.setColumnValues(1, res.data);
|
area_code: value[0]['code']
|
||||||
});
|
}).then(res => {
|
||||||
},
|
this.$refs.uPicker.setColumnValues(1, res.data);
|
||||||
gogogo(item) {
|
});
|
||||||
if (this.tabsData.tabsActive == 1) {
|
}
|
||||||
uni.navigateTo({
|
},
|
||||||
//#ifdef APP
|
Area() {
|
||||||
url: '/pages/short_video/appSwiper/index?id=' + item.community_id
|
getArea({
|
||||||
//#endif
|
city_code: 510500
|
||||||
//#ifndef APP
|
}).then(res => {
|
||||||
url: '/pages/short_video/nvueSwiper/index?id=' + item.community_id
|
this.$refs.uPicker.setColumnValues(0, res.data);
|
||||||
//#endif
|
this.Street(res.data[0]['code']);
|
||||||
})
|
});
|
||||||
} else {
|
},
|
||||||
uni.navigateTo({
|
Street(code) {
|
||||||
url: '/pages/plantGrass/plant_detail/index?id=' + item.community_id
|
getStreet({
|
||||||
})
|
area_code: code
|
||||||
}
|
}).then(res => {
|
||||||
},
|
this.$refs.uPicker.setColumnValues(1, res.data);
|
||||||
giveStart(item) {
|
});
|
||||||
let status = item.relevance_id ? 0 : 1
|
},
|
||||||
graphicStartApi(item.community_id, {
|
gogogo(item) {
|
||||||
status: status
|
if (this.tabsData.tabsActive == 1) {
|
||||||
}).then(res => {
|
uni.navigateTo({
|
||||||
Toast(res.message)
|
url: `/pages/short_video/appSwiper/index?id=${this.cateGoods[0].community_id}`
|
||||||
this.getGoods()
|
})
|
||||||
})
|
|
||||||
},
|
} else {
|
||||||
dianji() {
|
uni.navigateTo({
|
||||||
this.show = !this.show
|
url: '/pages/plantGrass/plant_detail/index?id=' + item.community_id
|
||||||
},
|
})
|
||||||
// 获取发现商品
|
}
|
||||||
getGoods: function() {
|
},
|
||||||
// 数据写死:默认社区数据 category_id=69&page=1&limit=30
|
giveStart(item) {
|
||||||
graphicLstApi(this.where).then(res => {
|
let status = item.relevance_id ? 0 : 1
|
||||||
this.cateGoods = res.data.list
|
graphicStartApi(item.community_id, {
|
||||||
res.data.list.length <= 0 ? this.emptyShow = true : this.emptyShow = false
|
status: status
|
||||||
})
|
}).then(res => {
|
||||||
},
|
Toast(res.message)
|
||||||
/*获取分类列表*/
|
this.getGoods()
|
||||||
async getCateList() {
|
})
|
||||||
const {
|
},
|
||||||
data
|
dianji() {
|
||||||
} = await getTopicList()
|
this.show = !this.show
|
||||||
this.tabsData.list = [{
|
},
|
||||||
cate_name: "推荐",
|
// 获取发现商品
|
||||||
category_id: 0
|
getGoods: function() {
|
||||||
}, {
|
// 数据写死:默认社区数据 category_id=69&page=1&limit=30
|
||||||
cate_name: "视频",
|
graphicLstApi(this.where).then(res => {
|
||||||
category_id: -1,
|
this.cateGoods = res.data.list
|
||||||
children: []
|
res.data.list.length <= 0 ? this.emptyShow = true : this.emptyShow = false
|
||||||
}, ...data]
|
})
|
||||||
},
|
},
|
||||||
tabsChange(item) {
|
/*获取分类列表*/
|
||||||
this.where.category_id = item.category_id
|
async getCateList() {
|
||||||
this.getGoods()
|
const {
|
||||||
this.street_id = item.id
|
data
|
||||||
this.tabsData.tabsActive = item.index
|
} = await getTopicList()
|
||||||
if (item.index == 1) {
|
this.tabsData.list = [{
|
||||||
uni.navigateTo({
|
cate_name: "推荐",
|
||||||
// #ifdef MP || H5
|
category_id: 0
|
||||||
url: '/pages/short_video/nvueSwiper/index?id=' + this.cateGoods[0].community_id
|
}, {
|
||||||
// #endif
|
cate_name: "视频",
|
||||||
// #ifdef APP
|
category_id: -1,
|
||||||
url: `/pages/short_video/appSwiper/index?id=${this.cateGoods[0].community_id}`
|
children: []
|
||||||
// #endif
|
}, ...data]
|
||||||
})
|
},
|
||||||
}
|
tabsChange(item) {
|
||||||
},
|
this.where.category_id = item.category_id
|
||||||
selfLocation() {
|
this.getGoods()
|
||||||
uni.getLocation({
|
this.street_id = item.id
|
||||||
type: 'gcj02',
|
this.tabsData.tabsActive = item.index
|
||||||
success: (res) => {
|
if (item.index == 1) {
|
||||||
let latitude, longitude;
|
uni.navigateTo({
|
||||||
latitude = res.latitude.toString();
|
url: `/pages/short_video/appSwiper/index?id=${this.cateGoods[0].community_id}`
|
||||||
longitude = res.longitude.toString();
|
})
|
||||||
getGeocoder({ lat: latitude, long: longitude }).then(res => {
|
}
|
||||||
this.$store.commit('setLocation', res.data)
|
},
|
||||||
this.street = res.data.address_component.street
|
selfLocation() {
|
||||||
}).catch(err => {
|
uni.getLocation({
|
||||||
uni.showToast({
|
type: 'gcj02',
|
||||||
title: err,
|
success: (res) => {
|
||||||
icon: 'none'
|
let latitude, longitude;
|
||||||
})
|
latitude = res.latitude.toString();
|
||||||
})
|
longitude = res.longitude.toString();
|
||||||
},
|
getGeocoder({
|
||||||
fail: (err) => {
|
lat: latitude,
|
||||||
uni.showToast({
|
long: longitude
|
||||||
title: err.errMsg,
|
}).then(res => {
|
||||||
icon: 'none',
|
this.$store.commit('setLocation', res.data)
|
||||||
duration: 1000
|
this.street = res.data.address_component.street
|
||||||
});
|
}).catch(err => {
|
||||||
}
|
uni.showToast({
|
||||||
});
|
title: err,
|
||||||
},
|
icon: 'none'
|
||||||
}
|
})
|
||||||
}
|
})
|
||||||
|
},
|
||||||
|
fail: (err) => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err.errMsg,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 1000
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
page {
|
page {
|
||||||
// background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%);
|
// background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.Circle_friends {
|
.Circle_friends {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 0 0 87.72rpx 0;
|
padding: 0 0 87.72rpx 0;
|
||||||
background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%);
|
background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.circle_friends_wrapper {
|
.circle_friends_wrapper {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.search_wrapper {
|
.search_wrapper {
|
||||||
width: 694.74rpx;
|
width: 694.74rpx;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabs_wrapper {
|
.tabs_wrapper {
|
||||||
width: 694.74rpx;
|
width: 694.74rpx;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
margin-bottom: 21.05rpx;
|
margin-bottom: 21.05rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.empty_wrapper {
|
.empty_wrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.goods {
|
.goods {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 694.74rpx;
|
width: 694.74rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.goods_item {
|
.goods_item {
|
||||||
width: 342.11rpx;
|
width: 342.11rpx;
|
||||||
height: 491.23rpx;
|
height: 491.23rpx;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
margin-bottom: 10.53rpx;
|
margin-bottom: 10.53rpx;
|
||||||
|
|
||||||
.goods_img {
|
.goods_img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 294.74rpx;
|
height: 294.74rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.botm {
|
.botm {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
padding: 0 14.04rpx;
|
padding: 0 14.04rpx;
|
||||||
padding-bottom: 21.05rpx;
|
padding-bottom: 21.05rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
margin: 12px 0;
|
margin: 12px 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-line-clamp: 2;
|
-webkit-line-clamp: 2;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
}
|
}
|
||||||
|
|
||||||
.goods_info {
|
.goods_info {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.g_img {
|
.g_img {
|
||||||
width: 60rpx;
|
width: 60rpx;
|
||||||
height: 60rpx;
|
height: 60rpx;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.g_name {
|
.g_name {
|
||||||
margin-left: 8.77rpx;
|
margin-left: 8.77rpx;
|
||||||
width: 100.63rpx;
|
width: 100.63rpx;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
/* 溢出显示省略号 */
|
/* 溢出显示省略号 */
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
/* 溢出隐藏 */
|
/* 溢出隐藏 */
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
/* 强制不换行 */
|
/* 强制不换行 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.nice_box {
|
.nice_box {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.isshow {
|
.isshow {
|
||||||
color: #FE3530 !important;
|
color: #FE3530 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.iconfont {
|
.iconfont {
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon-shoucang1 {
|
.icon-shoucang1 {
|
||||||
color: #F84221;
|
color: #F84221;
|
||||||
}
|
}
|
||||||
|
|
||||||
.collect {
|
.collect {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
margin-left: 5rpx;
|
margin-left: 5rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -28,7 +28,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="advertItem02 advertItem05 acea-row" v-if="style==4">
|
<view class="advertItem02 advertItem05 acea-row" v-if="style==4">
|
||||||
<view class="item" v-for="(item,index) in picList" :key="index" @click="goDetail(item)">
|
<view class="item" v-for="(item,index) in picList" :key="index" @click="goDetail(item)">
|
||||||
<image :src="item.image" mode="aspectFill" :style="'height:'+ imageH +'rpx;'"></image>
|
<image :src="item.image" mode="aspectFit" :style="'height:'+ imageH +'rpx;'"></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="advertItem02 advertItem06 acea-row" v-if="style==5">
|
<view class="advertItem02 advertItem06 acea-row" v-if="style==5">
|
||||||
|
File diff suppressed because it is too large
Load Diff
614
pages/moreProject/moreProject.vue
Normal file
614
pages/moreProject/moreProject.vue
Normal file
@ -0,0 +1,614 @@
|
|||||||
|
<template>
|
||||||
|
<view class="gather">
|
||||||
|
<block v-if="isShow">
|
||||||
|
<view class="special_work com" v-if="userInfoData.mer_info.type_code === 'TypeSupplyChain'">
|
||||||
|
<view class="special_work com" v-if="true">
|
||||||
|
<view class="title">市级供应链</view>
|
||||||
|
<view class="content">
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/nongKe/supply_chain/goods_list?merid=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}zsgl.png`" mode="aspectFill"></image>
|
||||||
|
<text class="text">在售管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/admin/order/index?mer_id=${mer_id}&product_type=98&type_id=${userInfoData.mer_info.type_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}cwgl.png`" mode="aspectFill"></image>
|
||||||
|
<text class="text">财务管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/nongKe/gather/select_warehouse?mer_id=${mer_id}&stype=1`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}rkgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">入库管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/product/basicSet?mer_id=${mer_id}&product_type=98`, '商户设置')">
|
||||||
|
<image class="icon_img" :src="`${prefix}shsz.png`" mode="aspectFill"></image>
|
||||||
|
<text class="text">商户设置</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine" @click="navigator(`/pages/product/list/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}spgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">商品管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine" @click="navigator(`/pages/users/embody/embody?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}txgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">提现管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/admin/order_cancellation/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}ddhx.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">订单核销</text>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="examine" @click="navigator(`/pages/nongKe/teach_video/teach_video`)">
|
||||||
|
<image class="icon_img"
|
||||||
|
src="https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/spjs.png" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">视频教学</text>
|
||||||
|
</view> -->
|
||||||
|
<!-- <view class="examine" @click="navigator(`/pages/users/user_invoice_Finance/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" src="@/static/images/cwgk.png" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">财务公开</text>
|
||||||
|
</view> -->
|
||||||
|
<!-- <view class="examine" @click="navigator(`/pages/admin/order/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}ddgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">订单管理</text>
|
||||||
|
</view> -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="business com" v-if="userInfoData.mer_info.type_code === 'TypeStore'">
|
||||||
|
<view class="business com" v-if="true">
|
||||||
|
<view class="special_work com">
|
||||||
|
<view class="title">我的店铺</view>
|
||||||
|
<view class="content ">
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/users/supply_procurement/index?type_id=12&isDetail=1&product_type=98&cate_id=${userInfoData.mer_info.category_id}`)">
|
||||||
|
<!-- @click="navigator(`/pages/nongKe/supply_chain/supplier?type_id=12&isDetail=1&product_type=98&cate_id=${userInfoData.mer_info.category_id}`) -->
|
||||||
|
<image class="icon_img" :src="`${prefix}ghcg.png`" mode="aspectFill"></image>
|
||||||
|
<text class="text">供货采购</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator('/pages/users/order_list/indexCopy?status=-1&product_type=98')">
|
||||||
|
<image class="icon_img" :src="`${prefix}jhgl.png`" mode="aspectFill"></image>
|
||||||
|
<text class="text">进货管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine" @click="navigator(`/pages/admin/stockOut/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}smck.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">扫码出库</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/nongKe/gather/select_warehouse?mer_id=${mer_id}&stype=2`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}rkgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">入库管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine" @click="navigator(`/pages/users/embody/embody?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}txgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">提现管理</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/chat/customer_list/index?type=1&mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}kfjl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">客服记录</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/admin/order_cancellation/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}ddhx.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">订单核销</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/admin/order/index?mer_id=${mer_id}&type_id=${userInfoData.mer_info.type_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}ddgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">订单管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine" @click="navigator(`/pages/product/list/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}spgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">商品管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/product/basicSet?mer_id=${mer_id}`, '商户设置')">
|
||||||
|
<image class="icon_img" :src="`${prefix}shsz.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">商户设置</text>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="examine"
|
||||||
|
@click="navigator(`/pages/users/trading_hall/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" src="@/static/images/diaohuo.png" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">交易大厅</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/commissionedSales/index/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" src="@/static/images/weituo.png" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">委托销售</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine" @click="navigator(`/pages/releaseManagement/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" src="@/static/images/fabu.png" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">发布管理</text>
|
||||||
|
</view> -->
|
||||||
|
<!-- <view class="examine" @click="navigator(`/pages/users/user_invoice_Finance/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" src="@/static/images/cwgk.png" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">财务公开</text>
|
||||||
|
</view> -->
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- <gatherBusiness :userInfoData="userInfoData" /> -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="business com" v-if="userInfoData.mer_info.type_code === 'TypeCloudWarehouse'">
|
||||||
|
<view class="business com" v-if="true">
|
||||||
|
<view class="special_work com">
|
||||||
|
<view class="title">里海云仓</view>
|
||||||
|
<view class="content ">
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/nongKe/supply_chain/supplier?type_id=12&isDetail=1&product_type=98&cate_id=${userInfoData.mer_info.category_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}ghcg.png`" mode="aspectFill"></image>
|
||||||
|
<text class="text">供货采购</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine" @click="navigator('/pages/users/order_list/index?status=-1')">
|
||||||
|
<image class="icon_img" :src="`${prefix}jhgl.png`" mode="aspectFill"></image>
|
||||||
|
<text class="text">进货管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine" @click="navigator(`/pages/admin/stockOut/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}smck.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">扫码出库</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/nongKe/gather/select_warehouse?mer_id=${mer_id}&stype=2`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}rkgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">入库管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine" @click="navigator(`/pages/users/embody/embody?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}txgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">提现管理</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/chat/customer_list/index?type=1&mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}kfjl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">客服记录</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/admin/order_cancellation/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}ddhx.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">订单核销</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/admin/order/index?mer_id=${mer_id}&type_id=${userInfoData.mer_info.type_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}ddgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">订单管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine" @click="navigator(`/pages/product/list/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}spgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">商品管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/product/basicSet?mer_id=${mer_id}`, '商户设置')">
|
||||||
|
<image class="icon_img" :src="`${prefix}shsz.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">商户设置</text>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="examine" @click="navigator(`/pages/users/user_invoice_Finance/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" src="@/static/images/cwgk.png" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">财务公开</text>
|
||||||
|
</view> -->
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="business com" v-if="userInfoData.mer_info.type_code === 'TypeFeaturedCultural'|| userInfoData.mer_info.type_code === 'TypeFamousSpecialties'|| userInfoData.mer_info.type_code === 'TypeLocalCuisine' ">
|
||||||
|
<view class="business com" v-if="true">
|
||||||
|
<view class="special_work com">
|
||||||
|
<view class="title">我的店铺</view>
|
||||||
|
<view class="content ">
|
||||||
|
|
||||||
|
<view class="examine" @click="navigator(`/pages/users/embody/embody?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}txgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">提现管理</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/chat/customer_list/index?type=1&mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}kfjl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">客服记录</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/admin/order_cancellation/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}ddhx.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">订单核销</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/admin/order/index?mer_id=${mer_id}&type_id=${userInfoData.mer_info.type_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}ddgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">订单管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine" @click="navigator(`/pages/product/list/index?mer_id=${mer_id}`)">
|
||||||
|
<image class="icon_img" :src="`${prefix}spgl.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">商品管理</text>
|
||||||
|
</view>
|
||||||
|
<view class="examine"
|
||||||
|
@click="navigator(`/pages/product/basicSet?mer_id=${mer_id}`, '商户设置')">
|
||||||
|
<image class="icon_img" :src="`${prefix}shsz.png`" mode="aspectFill">
|
||||||
|
</image>
|
||||||
|
<text class="text">商户设置</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
</block>
|
||||||
|
<!-- <m-tabbar native>
|
||||||
|
<template v-slot:tabbar_index_2>
|
||||||
|
<view class="custom_style">
|
||||||
|
<view class="custom_style_icon"></view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
</m-tabbar> -->
|
||||||
|
<view class="" style="padding-top: 1px;" v-if='jurisdiction==false&&isShow==false'>
|
||||||
|
<emptyPage title="暂无信息"></emptyPage>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import mTabbar from '@/components/m-tabbar/m-tabbar.vue'
|
||||||
|
import emptyPage from '@/components/emptyPage.vue';
|
||||||
|
import zbpSwiper from '@/components/zbpSwiper'
|
||||||
|
import {
|
||||||
|
mapState,
|
||||||
|
mapGetters
|
||||||
|
} from 'vuex'
|
||||||
|
import {
|
||||||
|
getWorkArticleCount,
|
||||||
|
getSlideAPI
|
||||||
|
} from '@/api/article.js'
|
||||||
|
import {
|
||||||
|
getStoreList,
|
||||||
|
getUserInfo
|
||||||
|
} from '@/api/user.js'
|
||||||
|
import {
|
||||||
|
getGeocoder,
|
||||||
|
microSeachBarCode,
|
||||||
|
microEadtProduct
|
||||||
|
} from '@/api/store.js'
|
||||||
|
import {
|
||||||
|
Toast
|
||||||
|
} from '@/libs/uniApi';
|
||||||
|
import {
|
||||||
|
getDiy
|
||||||
|
} from '@/api/api.js'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
mTabbar,
|
||||||
|
zbpSwiper,
|
||||||
|
emptyPage
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
locationArr: ({}),
|
||||||
|
emptyText: '暂无可用应用',
|
||||||
|
jurisdiction: false, // 是否有权限
|
||||||
|
mer_id: '',
|
||||||
|
userInfoData: {
|
||||||
|
mer_info: {
|
||||||
|
type_id: 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
prefix: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/luzhou/static4/11/',
|
||||||
|
isShow: false,
|
||||||
|
bgColor: '',
|
||||||
|
isFshow: false,
|
||||||
|
street: ''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(['userInfo', 'location', 'isLogin'])
|
||||||
|
},
|
||||||
|
created() {},
|
||||||
|
onLoad() {},
|
||||||
|
onShow() {
|
||||||
|
if (this.isLogin) {
|
||||||
|
this.emptyText = '暂无可用应用'
|
||||||
|
this.jurisdiction = false
|
||||||
|
} else {
|
||||||
|
this.emptyText = '请登录'
|
||||||
|
this.jurisdiction = true
|
||||||
|
}
|
||||||
|
this.getUserInfo()
|
||||||
|
this.appLocation()
|
||||||
|
},
|
||||||
|
onPullDownRefresh() {
|
||||||
|
this.getUserInfo()
|
||||||
|
uni.stopPullDownRefresh()
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.appLocation()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
|
||||||
|
appLocation() {
|
||||||
|
uni.getLocation({
|
||||||
|
type: 'wgs84',
|
||||||
|
timeout: '10',
|
||||||
|
success: (res) => {
|
||||||
|
// console.log(res)
|
||||||
|
|
||||||
|
let latitude, longitude;
|
||||||
|
latitude = res.latitude.toString();
|
||||||
|
longitude = res.longitude.toString();
|
||||||
|
getGeocoder({
|
||||||
|
lat: latitude,
|
||||||
|
long: longitude
|
||||||
|
}).then(res => {
|
||||||
|
this.street = res.data.address_component.street
|
||||||
|
Cache.set('ADRESS_LOCATION', this.street)
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
fail: (err) => {
|
||||||
|
|
||||||
|
uni.showToast({
|
||||||
|
title: "获取定位超时",
|
||||||
|
icon: 'none',
|
||||||
|
duration: 2000
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
scrolling() {
|
||||||
|
// 滚动条距文档顶部的距离
|
||||||
|
let scrollTop =
|
||||||
|
window.pageYOffset ||
|
||||||
|
document.documentElement.scrollTop ||
|
||||||
|
document.body.scrollTop;
|
||||||
|
// 滚动条滚动的距离
|
||||||
|
let scrollStep = scrollTop - this.oldScrollTop;
|
||||||
|
console.log("header 滚动距离 ", scrollTop);
|
||||||
|
// 更新——滚动前,滚动条距文档顶部的距离
|
||||||
|
this.oldScrollTop = scrollTop;
|
||||||
|
|
||||||
|
//变量windowHeight是可视区的高度
|
||||||
|
let windowHeight =
|
||||||
|
document.documentElement.clientHeight || document.body.clientHeight;
|
||||||
|
//变量scrollHeight是滚动条的总高度
|
||||||
|
let scrollHeight =
|
||||||
|
document.documentElement.scrollHeight || document.body.scrollHeight;
|
||||||
|
|
||||||
|
//滚动条到底部的条件
|
||||||
|
if (scrollTop + windowHeight == scrollHeight) {
|
||||||
|
//你想做的事情
|
||||||
|
console.log("header 你已经到底部了");
|
||||||
|
}
|
||||||
|
if (scrollStep < 0) {
|
||||||
|
this.isFshow = false
|
||||||
|
console.log("header 滚动条向上滚动了!");
|
||||||
|
} else {
|
||||||
|
this.isFshow = true
|
||||||
|
console.log("header 滚动条向下滚动了!");
|
||||||
|
}
|
||||||
|
// 判断是否到了最顶部
|
||||||
|
if (scrollTop <= 0) {
|
||||||
|
this.isFshow = false
|
||||||
|
console.log("header 到了最顶部")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
kkchange(e) {
|
||||||
|
this.bgColor = e
|
||||||
|
},
|
||||||
|
|
||||||
|
navigator(url, t) {
|
||||||
|
// if (this.userInfoData.is_wsxx === 0 && t != '商户设置') return Toast("请完善商户信息");
|
||||||
|
uni.navigateTo({
|
||||||
|
url: url
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getUserInfo: function() {
|
||||||
|
let that = this;
|
||||||
|
getUserInfo().then(res => {
|
||||||
|
that.userInfoData = res.data;
|
||||||
|
// console.log(res.data.service);
|
||||||
|
if (res.data.service == null) {
|
||||||
|
// console.log('123');
|
||||||
|
this.isShow = false
|
||||||
|
} else {
|
||||||
|
this.isShow = true
|
||||||
|
this.mer_id = res.data.service.mer_id
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!res.data.mer_info) {
|
||||||
|
that.$set(this, 'jurisdiction', false);
|
||||||
|
}
|
||||||
|
// console.log(that.userInfoData);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.gather {
|
||||||
|
padding-bottom: 164.91rpx;
|
||||||
|
background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-img {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
top: 0;
|
||||||
|
/* #ifdef MP || APP-PLUS */
|
||||||
|
z-index: -100;
|
||||||
|
/* #endif */
|
||||||
|
/* #ifdef H5 */
|
||||||
|
z-index: -100;
|
||||||
|
/* #endif */
|
||||||
|
z-index: -100;
|
||||||
|
filter: blur(0);
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
filter: blur(30rpx);
|
||||||
|
transform: scale(1.5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.site-box {
|
||||||
|
width: 100%;
|
||||||
|
height: 120rpx;
|
||||||
|
margin-bottom: 26.32rpx;
|
||||||
|
position: absolute;
|
||||||
|
top: 0rpx;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 999;
|
||||||
|
padding-top: 30rpx;
|
||||||
|
padding-right: 20rpx;
|
||||||
|
|
||||||
|
// 位置
|
||||||
|
.place_wrapper {
|
||||||
|
color: #fff;
|
||||||
|
margin-right: 24.56rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
|
||||||
|
.town_name {
|
||||||
|
margin-left: 21rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-size: 35.09rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.top_box {
|
||||||
|
// padding-top: 180rpx;
|
||||||
|
background: linear-gradient(#36A2FF, #fff);
|
||||||
|
}
|
||||||
|
|
||||||
|
.com {
|
||||||
|
margin-left: 50%;
|
||||||
|
transform: translate(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.business {
|
||||||
|
width: 694.74rpx;
|
||||||
|
// margin-bottom: 175rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.special_work {
|
||||||
|
// padding: 17.54rpx;
|
||||||
|
width: 694.74rpx;
|
||||||
|
// margin-top: 52.63rpx;
|
||||||
|
padding-top: 32rpx;
|
||||||
|
border-radius: 17.54rpx;
|
||||||
|
// box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.16);
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 31.58rpx;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 38.6rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
display: flex;
|
||||||
|
align-content: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
// justify-content: space-between;
|
||||||
|
|
||||||
|
.examine {
|
||||||
|
margin-bottom: 35rpx;
|
||||||
|
width: 173.68rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
// margin: 0 0 33.33rpx 33.33rpx !important;
|
||||||
|
|
||||||
|
.icon_img {
|
||||||
|
width: 63.16rpx;
|
||||||
|
height: 63.16rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
font-size: 26.32rpx;
|
||||||
|
margin-top: 21.05rpx;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
font-size: 29.82rpx;
|
||||||
|
color: #a4a4a4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cont_jus {
|
||||||
|
margin-top: 56.14rpx;
|
||||||
|
justify-content: flex-start;
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
// margin-right: 33rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.examine {
|
||||||
|
margin-right: 48rpx;
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
margin-right: 48rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,269 +1,352 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<view class='newsDetail' style="padding-bottom: 50px;">
|
<view class='newsDetail' style="padding-bottom: 50px;">
|
||||||
<view class='title'>{{articleInfo.title}}</view>
|
<view class='title'>{{articleInfo.title}}</view>
|
||||||
<view class='list acea-row row-middle'>
|
<view class='list acea-row row-middle'>
|
||||||
<view class='label'>{{articleInfo.author}}</view>
|
<view class='label'>{{articleInfo.author}}</view>
|
||||||
<view class='item'></text>{{articleInfo.create_time}}</view>
|
<view class='item'></text>{{articleInfo.create_time}}</view>
|
||||||
<!-- <view class='item'><text class='iconfont icon-liulan'></text>{{articleInfo.visit}}</view> -->
|
<!-- <view class='item'><text class='iconfont icon-liulan'></text>{{articleInfo.visit}}</view> -->
|
||||||
</view>
|
</view>
|
||||||
<view class='conters'>
|
<view class='conters'>
|
||||||
<!-- <rich-text :nodes="content" class="conter"></rich-text> -->
|
<!-- <rich-text :nodes="content" class="conter"></rich-text> -->
|
||||||
<jyf-parser :html="content.replace(/<br\/>/ig, '')" ref="article" :tag-style="tagStyle"></jyf-parser>
|
<jyf-parser :html="content.replace(/<br\/>/ig, '')" ref="article" :tag-style="tagStyle"></jyf-parser>
|
||||||
</view>
|
</view>
|
||||||
<view class="picTxt acea-row row-between-wrapper" v-if="store_info.id">
|
<view class="picTxt acea-row row-between-wrapper" v-if="store_info.id">
|
||||||
<view class="pictrue">
|
<view class="pictrue">
|
||||||
<image :src="store_info.image" ></image>
|
<image :src="store_info.image"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="text">
|
<view class="text">
|
||||||
<view class="name line1">{{store_info.store_name}}</view>
|
<view class="name line1">{{store_info.store_name}}</view>
|
||||||
<view class="money font-color">
|
<view class="money font-color">
|
||||||
¥<text class="num">{{store_info.price}}</text>
|
¥<text class="num">{{store_info.price}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="y_money">¥{{store_info.ot_price}}</view>
|
<view class="y_money">¥{{store_info.ot_price}}</view>
|
||||||
</view>
|
</view>
|
||||||
<navigator :url="'/pages/goods_details/index?id='+store_info.id" hover-class="none" class="label"><text
|
<navigator :url="'/pages/goods_details/index?id='+store_info.id" hover-class="none" class="label"><text
|
||||||
class="span">查看商品</text></navigator>
|
class="span">查看商品</text></navigator>
|
||||||
</view>
|
</view>
|
||||||
<!-- #ifdef H5 -->
|
<!-- #ifdef H5 -->
|
||||||
<button class="bnt bg-color" hover-class='none' @click="listenerActionSheet"
|
<button class="bnt bg-color" hover-class='none' @click="listenerActionSheet">和好友一起分享</button>
|
||||||
>和好友一起分享</button>
|
<!-- #endif -->
|
||||||
<!-- #endif -->
|
<!-- #ifdef MP -->
|
||||||
<!-- #ifdef MP -->
|
<button class="bnt bg-color" open-type="share" hover-class='none'>和好友一起分享</button>
|
||||||
<button class="bnt bg-color" open-type="share" hover-class='none'>和好友一起分享</button>
|
<!-- #endif -->
|
||||||
<!-- #endif -->
|
<!-- #ifdef APP-PLUS -->
|
||||||
<!-- #ifdef APP-PLUS -->
|
<button class="bnt bg-color" open-type="share" hover-class='none' @click="uniShare">分享</button>
|
||||||
<button class="bnt bg-color" open-type="share" hover-class='none' @click="listenerActionSheet" >和好友一起分享</button>
|
<!-- #endif -->
|
||||||
<!-- #endif -->
|
</view>
|
||||||
</view>
|
<shareInfo @setShareInfoStatus="setShareInfoStatus" :shareInfoStatus="shareInfoStatus"></shareInfo>
|
||||||
<shareInfo @setShareInfoStatus="setShareInfoStatus" :shareInfoStatus="shareInfoStatus"></shareInfo>
|
<!-- <home></home> -->
|
||||||
<!-- <home></home> -->
|
</view>
|
||||||
</view>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Author: CRMEB Team <admin@crmeb.com>
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
import parser from "@/components/jyf-parser/jyf-parser";
|
import parser from "@/components/jyf-parser/jyf-parser";
|
||||||
import {
|
import {
|
||||||
getArticleDetails
|
getArticleDetails
|
||||||
} from '@/api/api.js';
|
} from '@/api/api.js';
|
||||||
import shareInfo from '@/components/shareInfo';
|
import shareInfo from '@/components/shareInfo';
|
||||||
import home from '@/components/home';
|
import home from '@/components/home';
|
||||||
export default {
|
import UniShare from 'uni_modules/uni-share/js_sdk/uni-share.js';
|
||||||
components: {
|
const uniShare = new UniShare();
|
||||||
shareInfo,
|
export default {
|
||||||
home,
|
components: {
|
||||||
"jyf-parser": parser,
|
shareInfo,
|
||||||
},
|
home,
|
||||||
data() {
|
"jyf-parser": parser,
|
||||||
return {
|
},
|
||||||
id: 0,
|
onBackPress({
|
||||||
articleInfo: [],
|
from
|
||||||
store_info: {},
|
}) {
|
||||||
content: '',
|
if (from == 'backbutton') {
|
||||||
shareInfoStatus: false,
|
this.$nextTick(function() {
|
||||||
tagStyle: {
|
uniShare.hide()
|
||||||
img: 'width:100%;display:block;'
|
})
|
||||||
},
|
return uniShare.isShow;
|
||||||
};
|
}
|
||||||
},
|
},
|
||||||
/**
|
data() {
|
||||||
* 生命周期函数--监听页面加载
|
return {
|
||||||
*/
|
id: 0,
|
||||||
onLoad: function(options) {
|
articleInfo: [],
|
||||||
if (options.hasOwnProperty('id')) {
|
store_info: {},
|
||||||
this.id = options.id;
|
content: '',
|
||||||
} else {
|
shareInfoStatus: false,
|
||||||
// #ifndef H5
|
tagStyle: {
|
||||||
uni.navigateBack({
|
img: 'width:100%;display:block;'
|
||||||
delta: 1
|
},
|
||||||
});
|
};
|
||||||
// #endif
|
},
|
||||||
// #ifdef H5
|
/**
|
||||||
history.back();
|
* 生命周期函数--监听页面加载
|
||||||
// #endif
|
*/
|
||||||
}
|
onLoad: function(options) {
|
||||||
},
|
if (options.hasOwnProperty('id')) {
|
||||||
onShow: function() {
|
this.id = options.id;
|
||||||
this.getArticleOne();
|
} else {
|
||||||
},
|
// #ifndef H5
|
||||||
methods: {
|
uni.navigateBack({
|
||||||
getArticleOne: function() {
|
delta: 1
|
||||||
let that = this;
|
});
|
||||||
getArticleDetails(that.id).then(res => {
|
// #endif
|
||||||
uni.setNavigationBarTitle({
|
// #ifdef H5
|
||||||
title: res.data.title.substring(0, 7) + "..."
|
history.back();
|
||||||
});
|
// #endif
|
||||||
that.$set(that, 'articleInfo', res.data);
|
}
|
||||||
that.$set(that, 'store_info', res.data.store_info ? res.data.store_info : {});
|
},
|
||||||
that.content = res.data.content.content;
|
onShow: function() {
|
||||||
// #ifdef H5
|
this.getArticleOne();
|
||||||
if (this.$wechat.isWeixin()) {
|
},
|
||||||
this.setShareInfo();
|
methods: {
|
||||||
}
|
// 分享
|
||||||
// #endif
|
uniShare() {
|
||||||
});
|
uniShare.show({
|
||||||
},
|
content: { //公共的分享参数配置 类型(type)、链接(herf)、标题(title)、summary(描述)、imageUrl(缩略图)
|
||||||
listenerActionSheet() {
|
type: 0,
|
||||||
this.shareInfoStatus = true
|
href: 'https://uniapp.dcloud.io/',
|
||||||
},
|
title: '标题',
|
||||||
setShareInfoStatus() {
|
summary: '描述',
|
||||||
this.shareInfoStatus = false
|
imageUrl: 'https://img-cdn-aliyun.dcloud.net.cn/stream/icon/__UNI__HelloUniApp.png'
|
||||||
},
|
},
|
||||||
setShareInfo: function() {
|
menus: [{
|
||||||
let href = location.href;
|
"img": "/static/images/weixin.png",
|
||||||
let configAppMessage = {
|
"text": "微信好友",
|
||||||
desc: this.articleInfo.synopsis,
|
"share": { //当前项的分享参数配置。可覆盖公共的配置如下:分享到微信小程序,配置了type=5
|
||||||
title: this.articleInfo.title,
|
"provider": "weixin",
|
||||||
link: href,
|
"scene": "WXSceneSession"
|
||||||
imgUrl: this.articleInfo.image_input
|
}
|
||||||
};
|
},
|
||||||
this.$wechat.wechatEvevt(["updateAppMessageShareData", "updateTimelineShareData"], configAppMessage);
|
{
|
||||||
}
|
"img": "/static/images/weixin.png",
|
||||||
}
|
"text": "微信朋友圈",
|
||||||
}
|
"share": {
|
||||||
|
"provider": "weixin",
|
||||||
|
"scene": "WXSceneTimeline"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"img": "/static/images/weixin.png",
|
||||||
|
"text": "微信小程序",
|
||||||
|
"share": {
|
||||||
|
provider: "weixin",
|
||||||
|
scene: "WXSceneSession",
|
||||||
|
type: 5,
|
||||||
|
miniProgram: {
|
||||||
|
id: '123',
|
||||||
|
path: '/pages/list/detail',
|
||||||
|
webUrl: '/#/pages/list/detail',
|
||||||
|
type: 0
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// "img": "/static/app-plus/sharemenu/weibo.png",
|
||||||
|
// "text": "微博",
|
||||||
|
// "share": {
|
||||||
|
// "provider": "sinaweibo"
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// "img": "/static/app-plus/sharemenu/qq.png",
|
||||||
|
// "text": "QQ",
|
||||||
|
// "share": {
|
||||||
|
// "provider": "qq"
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// "img": "/static/app-plus/sharemenu/copyurl.png",
|
||||||
|
// "text": "复制",
|
||||||
|
// "share": "copyurl"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// "img": "/static/app-plus/sharemenu/more.png",
|
||||||
|
// "text": "更多",
|
||||||
|
// "share": "shareSystem"
|
||||||
|
// }
|
||||||
|
],
|
||||||
|
cancelText: "取消分享",
|
||||||
|
}, e => { //callback
|
||||||
|
console.log(uniShare.isShow);
|
||||||
|
console.log(e);
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getArticleOne: function() {
|
||||||
|
let that = this;
|
||||||
|
getArticleDetails(that.id).then(res => {
|
||||||
|
uni.setNavigationBarTitle({
|
||||||
|
title: res.data.title.substring(0, 7) + "..."
|
||||||
|
});
|
||||||
|
that.$set(that, 'articleInfo', res.data);
|
||||||
|
that.$set(that, 'store_info', res.data.store_info ? res.data.store_info : {});
|
||||||
|
that.content = res.data.content.content;
|
||||||
|
// #ifdef H5
|
||||||
|
if (this.$wechat.isWeixin()) {
|
||||||
|
this.setShareInfo();
|
||||||
|
}
|
||||||
|
// #endif
|
||||||
|
});
|
||||||
|
},
|
||||||
|
listenerActionSheet() {
|
||||||
|
this.shareInfoStatus = true
|
||||||
|
},
|
||||||
|
setShareInfoStatus() {
|
||||||
|
this.shareInfoStatus = false
|
||||||
|
},
|
||||||
|
setShareInfo: function() {
|
||||||
|
let href = location.href;
|
||||||
|
let configAppMessage = {
|
||||||
|
desc: this.articleInfo.synopsis,
|
||||||
|
title: this.articleInfo.title,
|
||||||
|
link: href,
|
||||||
|
imgUrl: this.articleInfo.image_input
|
||||||
|
};
|
||||||
|
this.$wechat.wechatEvevt(["updateAppMessageShareData", "updateTimelineShareData"], configAppMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
page {
|
page {
|
||||||
background-color: #fff !important;
|
background-color: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .title {
|
.newsDetail .title {
|
||||||
padding: 0 30rpx;
|
padding: 0 30rpx;
|
||||||
font-size: 34rpx;
|
font-size: 34rpx;
|
||||||
color: #282828;
|
color: #282828;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin: 45rpx 0 23rpx 0;
|
margin: 45rpx 0 23rpx 0;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .list {
|
.newsDetail .list {
|
||||||
margin: 0 30rpx;
|
margin: 0 30rpx;
|
||||||
padding-bottom: 25rpx;
|
padding-bottom: 25rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .list .label {
|
.newsDetail .list .label {
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
color: #B1B2B3;
|
color: #B1B2B3;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .list .item {
|
.newsDetail .list .item {
|
||||||
margin-left: 27rpx;
|
margin-left: 27rpx;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
color: #B1B2B3;
|
color: #B1B2B3;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .list .item .iconfont {
|
.newsDetail .list .item .iconfont {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
margin-right: 10rpx;
|
margin-right: 10rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .list .item .iconfont.icon-shenhezhong {
|
.newsDetail .list .item .iconfont.icon-shenhezhong {
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .conters {
|
.newsDetail .conters {
|
||||||
padding: 0 30rpx;
|
padding: 0 30rpx;
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
line-height: 1.7;
|
line-height: 1.7;
|
||||||
|
|
||||||
/deep/ img {
|
/deep/ img {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .picTxt {
|
.newsDetail .picTxt {
|
||||||
width: 690rpx;
|
width: 690rpx;
|
||||||
height: 200rpx;
|
height: 200rpx;
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
border: 1px solid #e1e1e1;
|
border: 1px solid #e1e1e1;
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: 30rpx auto 0 auto;
|
margin: 30rpx auto 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .picTxt .pictrue {
|
.newsDetail .picTxt .pictrue {
|
||||||
width: 200rpx;
|
width: 200rpx;
|
||||||
height: 200rpx;
|
height: 200rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .picTxt .pictrue image {
|
.newsDetail .picTxt .pictrue image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-radius: 20rpx 0 0 20rpx;
|
border-radius: 20rpx 0 0 20rpx;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .picTxt .text {
|
.newsDetail .picTxt .text {
|
||||||
width: 460rpx;
|
width: 460rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .picTxt .text .name {
|
.newsDetail .picTxt .text .name {
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
color: #282828;
|
color: #282828;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .picTxt .text .money {
|
.newsDetail .picTxt .text .money {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
margin-top: 40rpx;
|
margin-top: 40rpx;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .picTxt .text .money .num {
|
.newsDetail .picTxt .text .money .num {
|
||||||
font-size: 36rpx;
|
font-size: 36rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .picTxt .text .y_money {
|
.newsDetail .picTxt .text .y_money {
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
color: #999;
|
color: #999;
|
||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .picTxt .label {
|
.newsDetail .picTxt .label {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background-color: #303131;
|
background-color: #303131;
|
||||||
width: 160rpx;
|
width: 160rpx;
|
||||||
height: 50rpx;
|
height: 50rpx;
|
||||||
right: -7rpx;
|
right: -7rpx;
|
||||||
border-radius: 25rpx 0 6rpx 25rpx;
|
border-radius: 25rpx 0 6rpx 25rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 50rpx;
|
line-height: 50rpx;
|
||||||
bottom: 24rpx;
|
bottom: 24rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .picTxt .label .span {
|
.newsDetail .picTxt .label .span {
|
||||||
background-image: linear-gradient(to right, #fff71e 0%, #f9b513 100%);
|
background-image: linear-gradient(to right, #fff71e 0%, #f9b513 100%);
|
||||||
-webkit-background-clip: text;
|
-webkit-background-clip: text;
|
||||||
-webkit-text-fill-color: transparent;
|
-webkit-text-fill-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .picTxt .label:after {
|
.newsDetail .picTxt .label:after {
|
||||||
content: " ";
|
content: " ";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 0;
|
width: 0;
|
||||||
height: 0;
|
height: 0;
|
||||||
border-bottom: 8rpx solid #303131;
|
border-bottom: 8rpx solid #303131;
|
||||||
border-right: 8rpx solid transparent;
|
border-right: 8rpx solid transparent;
|
||||||
top: -7rpx;
|
top: -7rpx;
|
||||||
right: 0;
|
right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsDetail .bnt {
|
.newsDetail .bnt {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
width: 690rpx;
|
width: 690rpx;
|
||||||
height: 90rpx;
|
height: 90rpx;
|
||||||
border-radius: 45rpx;
|
border-radius: 45rpx;
|
||||||
margin: 48rpx auto;
|
margin: 48rpx auto;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 90rpx;
|
line-height: 90rpx;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -1,339 +1,352 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<view class='newsList'>
|
<view class='newsList'>
|
||||||
<view class='swiper' v-if="imgUrls.length > 0">
|
<view class='swiper' v-if="imgUrls.length > 0">
|
||||||
<swiper indicator-dots="true" :autoplay="autoplay" :circular="circular" :interval="interval"
|
<swiper indicator-dots="true" :autoplay="autoplay" :circular="circular" :interval="interval"
|
||||||
:duration="duration" indicator-color="rgba(102,102,102,0.3)" indicator-active-color="#666">
|
:duration="duration" indicator-color="rgba(102,102,102,0.3)" indicator-active-color="#666">
|
||||||
<block v-for="(item,index) in imgUrls" :key="index">
|
<block v-for="(item,index) in imgUrls" :key="index">
|
||||||
<swiper-item>
|
<swiper-item>
|
||||||
<navigator :url="'/pages/news_details/index?id='+item.id">
|
<navigator :url="'/pages/news_details/index?id='+item.id">
|
||||||
<image :src="item.image_input[0]" class="slide-image" />
|
<image :src="item.image_input[0]" class="slide-image" />
|
||||||
</navigator>
|
</navigator>
|
||||||
</swiper-item>
|
</swiper-item>
|
||||||
</block>
|
</block>
|
||||||
</swiper>
|
</swiper>
|
||||||
</view>
|
</view>
|
||||||
<view class='nav' v-if="navList.length > 0">
|
<view class='nav' v-if="navList.length > 0">
|
||||||
<scroll-view class="scroll-view_x" scroll-x scroll-with-animation :scroll-left="scrollLeft"
|
<scroll-view class="scroll-view_x" scroll-x scroll-with-animation :scroll-left="scrollLeft"
|
||||||
style="width:auto;overflow:hidden;">
|
style="width:auto;overflow:hidden;">
|
||||||
<block v-for="(item,index) in navList" :key="index">
|
<block v-for="(item,index) in navList" :key="index">
|
||||||
<view class='item' style="text-align: center;" :class='active==item.article_category_id?"on":""'
|
<view class='item' style="text-align: center;" :class='active==item.article_category_id?"on":""'
|
||||||
@click='tabSelect(item.article_category_id)'>
|
@click='tabSelect(item.article_category_id)'>
|
||||||
<view>{{item.title}}</view>
|
<view>{{item.title}}</view>
|
||||||
<view class='line bg-color' v-if="active==item.article_category_id"></view>
|
<view class='line bg-color' v-if="active==item.article_category_id"></view>
|
||||||
</view>
|
</view>
|
||||||
</block>
|
</block>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
<view class='list'>
|
<view class='list'>
|
||||||
<block v-for="(item,index) in articleList" :key="index">
|
<block v-for="(item,index) in articleList" :key="index">
|
||||||
<navigator :url='"/pages/news_details/index?id="+item.article_id' hover-class='none'
|
<navigator :url='"/pages/news_details/index?id="+item.article_id' hover-class='none'
|
||||||
class='item acea-row row-between-wrapper'>
|
class='item acea-row row-between-wrapper'>
|
||||||
<view class='text acea-row row-column-between'>
|
<view class='text acea-row row-column-between'>
|
||||||
<view class='name line2'>{{item.title}}</view>
|
<view class='name line2'>{{item.title}}</view>
|
||||||
<view>{{item.create_time}}</view>
|
<view>{{item.create_time}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class='pictrue'>
|
<view class='pictrue'>
|
||||||
<image :src='item.image_input'></image>
|
<image :src='item.image_input'></image>
|
||||||
</view>
|
</view>
|
||||||
</navigator>
|
</navigator>
|
||||||
</block>
|
</block>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class='empty-box acea-row row-middle' v-if="articleList.length == 0 && (page != 1 || active== 0)">
|
<view class='empty-box acea-row row-middle' v-if="articleList.length == 0 && (page != 1 || active== 0)">
|
||||||
<view class='pictrue'>
|
<view class='pictrue'>
|
||||||
<image src='../../static/images/empty-box.png'></image>
|
<image src='../../static/images/empty-box.png'></image>
|
||||||
<view class="txt">暂无新闻信息~</view>
|
<view class="txt">暂无新闻信息~</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- <home></home> -->
|
<!-- <home></home> -->
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Author: CRMEB Team <admin@crmeb.com>
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
import {
|
import {
|
||||||
getArticleCategoryList,
|
getArticleCategoryLists,
|
||||||
getArticleList,
|
getArticleCategoryList,
|
||||||
getArticleHotList,
|
getArticleList,
|
||||||
getArticleBannerList
|
getArticleHotList,
|
||||||
} from '@/api/api.js';
|
getArticleBannerList
|
||||||
import home from '@/components/home';
|
} from '@/api/api.js';
|
||||||
export default {
|
import home from '@/components/home';
|
||||||
components: {
|
export default {
|
||||||
home
|
components: {
|
||||||
},
|
home
|
||||||
data() {
|
},
|
||||||
return {
|
data() {
|
||||||
imgUrls: [],
|
return {
|
||||||
articleList: [],
|
imgUrls: [],
|
||||||
indicatorDots: false,
|
articleList: [],
|
||||||
circular: true,
|
indicatorDots: false,
|
||||||
autoplay: true,
|
circular: true,
|
||||||
interval: 3000,
|
autoplay: true,
|
||||||
duration: 500,
|
interval: 3000,
|
||||||
navList: [],
|
duration: 500,
|
||||||
active: 0,
|
navList: [],
|
||||||
page: 1,
|
active: 0,
|
||||||
limit: 8,
|
page: 1,
|
||||||
status: false,
|
limit: 8,
|
||||||
scrollLeft: 0
|
status: false,
|
||||||
};
|
scrollLeft: 0,
|
||||||
},
|
type: 0
|
||||||
/**
|
};
|
||||||
* 生命周期函数--监听页面显示
|
},
|
||||||
*/
|
/**
|
||||||
onShow: function() {},
|
* 生命周期函数--监听页面显示
|
||||||
/**
|
*/
|
||||||
* 生命周期函数--监听页面显示
|
onShow: function() {},
|
||||||
*/
|
/**
|
||||||
onLoad: function() {
|
* 生命周期函数--监听页面显示
|
||||||
this.getArticleCate();
|
*/
|
||||||
this.status = false;
|
onLoad: function(e) {
|
||||||
this.page = 1;
|
|
||||||
this.articleList = [];
|
this.type = e.type
|
||||||
},
|
this.getArticleCate();
|
||||||
/**
|
this.status = false;
|
||||||
* 页面上拉触底事件的处理函数
|
this.page = 1;
|
||||||
*/
|
this.articleList = [];
|
||||||
onReachBottom: function() {
|
},
|
||||||
this.getCidArticle();
|
/**
|
||||||
},
|
* 页面上拉触底事件的处理函数
|
||||||
methods: {
|
*/
|
||||||
getArticleHot: function() {
|
onReachBottom: function() {
|
||||||
let that = this;
|
this.getCidArticle();
|
||||||
getArticleHotList().then(res => {
|
},
|
||||||
that.$set(that, 'articleList', res.data);
|
methods: {
|
||||||
});
|
getArticleHot: function() {
|
||||||
},
|
let that = this;
|
||||||
getArticleBanner: function() {
|
getArticleHotList().then(res => {
|
||||||
let that = this;
|
that.$set(that, 'articleList', res.data);
|
||||||
getArticleBannerList().then(res => {
|
});
|
||||||
that.imgUrls = res.data;
|
},
|
||||||
});
|
getArticleBanner: function() {
|
||||||
},
|
let that = this;
|
||||||
getCidArticle: function() {
|
getArticleBannerList().then(res => {
|
||||||
let that = this;
|
that.imgUrls = res.data;
|
||||||
if (that.active == 0) return;
|
});
|
||||||
let limit = that.limit;
|
},
|
||||||
let page = that.page;
|
getCidArticle: function() {
|
||||||
let articleList = that.articleList;
|
let that = this;
|
||||||
if (that.status) return;
|
if (that.active == 0) return;
|
||||||
getArticleList(that.active, {
|
let limit = that.limit;
|
||||||
page: page,
|
let page = that.page;
|
||||||
limit: limit
|
let articleList = that.articleList;
|
||||||
}).then(res => {
|
if (that.status) return;
|
||||||
let articleListNew = [];
|
getArticleList(that.active, {
|
||||||
let len = res.length;
|
page: page,
|
||||||
articleListNew = articleList.concat(res.data.list);
|
limit: limit
|
||||||
that.page++;
|
}).then(res => {
|
||||||
that.$set(that, 'articleList', articleListNew);
|
let articleListNew = [];
|
||||||
that.status = limit > len;
|
let len = res.length;
|
||||||
that.page = that.page;
|
articleListNew = articleList.concat(res.data.list);
|
||||||
});
|
that.page++;
|
||||||
},
|
that.$set(that, 'articleList', articleListNew);
|
||||||
getArticleCate: function() {
|
that.status = limit > len;
|
||||||
let that = this;
|
that.page = that.page;
|
||||||
getArticleCategoryList().then(res => {
|
});
|
||||||
this.active = res.data[0].article_category_id
|
},
|
||||||
that.$set(that, 'navList', res.data);
|
getArticleCate: function() {
|
||||||
this.getCidArticle();
|
let that = this;
|
||||||
});
|
if (this.type == 1) {
|
||||||
},
|
getArticleCategoryLists().then(res => {
|
||||||
tabSelect(active) {
|
this.active = res.data[0].article_category_id
|
||||||
this.active = active;
|
that.$set(that, 'navList', res.data);
|
||||||
if (this.active == 0) this.getArticleHot();
|
this.getCidArticle();
|
||||||
else {
|
});
|
||||||
this.$set(this, 'articleList', []);
|
} else {
|
||||||
this.page = 1;
|
getArticleCategoryList().then(res => {
|
||||||
this.status = false;
|
this.active = res.data[0].article_category_id
|
||||||
this.getCidArticle();
|
that.$set(that, 'navList', res.data);
|
||||||
}
|
this.getCidArticle();
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
},
|
||||||
|
tabSelect(active) {
|
||||||
|
this.active = active;
|
||||||
|
if (this.active == 0) this.getArticleHot();
|
||||||
|
else {
|
||||||
|
this.$set(this, 'articleList', []);
|
||||||
|
this.page = 1;
|
||||||
|
this.status = false;
|
||||||
|
this.getCidArticle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
page {
|
page {
|
||||||
background-color: #fff !important;
|
background-color: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .swiper {
|
.newsList .swiper {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 0 30rpx;
|
padding: 0 30rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .swiper swiper {
|
.newsList .swiper swiper {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 365rpx;
|
height: 365rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .swiper .slide-image {
|
.newsList .swiper .slide-image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 335rpx;
|
height: 335rpx;
|
||||||
border-radius: 6rpx;
|
border-radius: 6rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
.newsList .swiper .wx-swiper-dot {
|
.newsList .swiper .wx-swiper-dot {
|
||||||
width: 12rpx !important;
|
width: 12rpx !important;
|
||||||
height: 12rpx !important;
|
height: 12rpx !important;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
transform: rotate(-45deg);
|
transform: rotate(-45deg);
|
||||||
transform-origin: 0 100%;
|
transform-origin: 0 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .swiper .wx-swiper-dot~.wx-swiper-dot {
|
.newsList .swiper .wx-swiper-dot~.wx-swiper-dot {
|
||||||
margin-left: 5rpx;
|
margin-left: 5rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .swiper .wx-swiper-dots.wx-swiper-dots-horizontal {
|
.newsList .swiper .wx-swiper-dots.wx-swiper-dots-horizontal {
|
||||||
margin-bottom: -15rpx;
|
margin-bottom: -15rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
// #endif
|
// #endif
|
||||||
// #ifdef APP-PLUS || H5
|
// #ifdef APP-PLUS || H5
|
||||||
.newsList .swiper .uni-swiper-dot {
|
.newsList .swiper .uni-swiper-dot {
|
||||||
width: 12rpx !important;
|
width: 12rpx !important;
|
||||||
height: 12rpx !important;
|
height: 12rpx !important;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
transform: rotate(-45deg);
|
transform: rotate(-45deg);
|
||||||
transform-origin: 0 100%;
|
transform-origin: 0 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .swiper .uni-swiper-dot~.uni-swiper-dot {
|
.newsList .swiper .uni-swiper-dot~.uni-swiper-dot {
|
||||||
margin-left: 5rpx;
|
margin-left: 5rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .swiper .uni-swiper-dots.uni-swiper-dots-horizontal {
|
.newsList .swiper .uni-swiper-dots.uni-swiper-dots-horizontal {
|
||||||
margin-bottom: -15rpx;
|
margin-bottom: -15rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
// #endif
|
// #endif
|
||||||
.newsList .nav {
|
.newsList .nav {
|
||||||
padding: 0 30rpx;
|
padding: 0 30rpx;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
margin-top: 43rpx;
|
margin-top: 43rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .nav .item {
|
.newsList .nav .item {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #999;
|
color: #999;
|
||||||
min-width: 130rpx;
|
min-width: 130rpx;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-bottom: 20rpx;
|
padding-bottom: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .nav .item.on {
|
.newsList .nav .item.on {
|
||||||
color: #282828;
|
color: #282828;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .nav .item~.item {
|
.newsList .nav .item~.item {
|
||||||
margin-left: 46rpx;
|
margin-left: 46rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .nav .item .line {
|
.newsList .nav .item .line {
|
||||||
width: 24rpx;
|
width: 24rpx;
|
||||||
height: 4rpx;
|
height: 4rpx;
|
||||||
border-radius: 2rpx;
|
border-radius: 2rpx;
|
||||||
margin: 10rpx auto 0 auto;
|
margin: 10rpx auto 0 auto;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 5rpx;
|
bottom: 5rpx;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
margin-left: -12rpx;
|
margin-left: -12rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .list .item {
|
.newsList .list .item {
|
||||||
margin: 0 30rpx;
|
margin: 0 30rpx;
|
||||||
border-bottom: 1px solid #f0f0f0;
|
border-bottom: 1px solid #f0f0f0;
|
||||||
padding: 35rpx 0;
|
padding: 35rpx 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .list .item .pictrue {
|
.newsList .list .item .pictrue {
|
||||||
width: 250rpx;
|
width: 250rpx;
|
||||||
height: 156rpx;
|
height: 156rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .list .item .pictrue image {
|
.newsList .list .item .pictrue image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-radius: 6rpx;
|
border-radius: 6rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .list .item .text {
|
.newsList .list .item .text {
|
||||||
width: 420rpx;
|
width: 420rpx;
|
||||||
height: 156rpx;
|
height: 156rpx;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .list .item .text .name {
|
.newsList .list .item .text .name {
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
color: #282828;
|
color: #282828;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .list .item .picList .pictrue {
|
.newsList .list .item .picList .pictrue {
|
||||||
width: 335rpx;
|
width: 335rpx;
|
||||||
height: 210rpx;
|
height: 210rpx;
|
||||||
margin-top: 30rpx;
|
margin-top: 30rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .list .item .picList.on .pictrue {
|
.newsList .list .item .picList.on .pictrue {
|
||||||
width: 217rpx;
|
width: 217rpx;
|
||||||
height: 136rpx;
|
height: 136rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .list .item .picList .pictrue image {
|
.newsList .list .item .picList .pictrue image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-radius: 6rpx;
|
border-radius: 6rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.newsList .list .item .time {
|
.newsList .list .item .time {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
color: #999;
|
color: #999;
|
||||||
margin-top: 22rpx;
|
margin-top: 22rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.noCommodity {
|
.noCommodity {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.empty-box {
|
.empty-box {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-top: 200rpx;
|
margin-top: 200rpx;
|
||||||
|
|
||||||
image {
|
image {
|
||||||
width: 414rpx;
|
width: 414rpx;
|
||||||
height: 240rpx;
|
height: 240rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.txt {
|
.txt {
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
color: #999;
|
color: #999;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="cloud_entrepot" :style="{'min-height': winHeight + 'px'}">
|
<view class="cloud_entrepot" :style="{'min-height': winHeight + 'px'}">
|
||||||
<view class="head-wrapper"></view>
|
<view class="head-wrapper"></view>
|
||||||
@ -139,4 +140,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
1308
pages/nongKe/food/index.vue
Normal file
1308
pages/nongKe/food/index.vue
Normal file
File diff suppressed because it is too large
Load Diff
326
pages/nongKe/food/indexa.vue
Normal file
326
pages/nongKe/food/indexa.vue
Normal file
@ -0,0 +1,326 @@
|
|||||||
|
<template>
|
||||||
|
<view class="box">
|
||||||
|
<view class="head">
|
||||||
|
<view style="height: var(--status-bar-height);"></view>
|
||||||
|
<!-- <u--image style="position: absolute;" :showLoading="true" src="/static/images/MYTC/BG.png" width="750rpx"
|
||||||
|
height="748.25rpx" @click="click"></u--image> -->
|
||||||
|
<view class="head_tit">
|
||||||
|
<view class="head_tit_l">
|
||||||
|
<view class="iconfont icon-xiangzuo"></view>
|
||||||
|
<view style="font-size: 40rpx;font-weight: 700;margin-left: 30rpx; transform: skewX(-10deg);">
|
||||||
|
当地美食
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="head_tit_r" style="font-size: 29.79rpx;">
|
||||||
|
江阳区 <text style="margin-left: 10rpx;" class="iconfont icon-xiangxia"></text>
|
||||||
|
<view class="" style="font-size: 22.78rpx;">
|
||||||
|
晴天30℃
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="head_serch">
|
||||||
|
<view style="position: relative;">
|
||||||
|
<u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索店铺名称"
|
||||||
|
v-model="keyword" class="serch_cls"></u-search>
|
||||||
|
<u--image @tap="searchSubmit" class="img_cls" :showLoading="true" src="/static/images/GXSC/SS.png"
|
||||||
|
width="115.65rpx" height="56.82rpx"></u--image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="foodType">
|
||||||
|
<view class="foodLi" v-for="(item,index) in lists" :key="index">
|
||||||
|
<u--image :showLoading="true" src="https://cdn.uviewui.com/uview/album/1.jpg" width="70rpx"
|
||||||
|
height="70rpx"></u--image>
|
||||||
|
<view class="" style="text-align: center;">
|
||||||
|
早餐
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="store" style="background-color: white;">
|
||||||
|
<view class="goods_list">
|
||||||
|
<view class="goods_cards" @click="goStore(item.mer_id)" v-for="(item,index) in storeList" :key="index">
|
||||||
|
<view class="left">
|
||||||
|
<u--image :showLoading="true" :src="item.mer_avatar" width="157.71rpx"
|
||||||
|
height="157.71rpx"></u--image>
|
||||||
|
</view>
|
||||||
|
<view class="right">
|
||||||
|
<view class="li heads" style="display: flex;">
|
||||||
|
<text class="flag">特产</text>
|
||||||
|
<text class="com_name">{{item.mer_name}}</text>
|
||||||
|
<text
|
||||||
|
style="font-weight: normal; font-size: 10rpx;color: #737373;padding:0 10rpx; border-radius: 10rpx; border: 1px solid #737373;">{{item.type_name}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">
|
||||||
|
<u--image v-for="item,index in [1,1,,1,1,1]" :key="index" :showLoading="true"
|
||||||
|
src="/static/images/GXSC/PF.png" width="20.85rpx" height="19.85rpx"></u--image>
|
||||||
|
<text style="margin-left: 10rpx;color: #FF6D20; ">5.0</text>
|
||||||
|
<text>月销2000+</text>
|
||||||
|
<text>20分钟</text>
|
||||||
|
<text>1.1km</text>
|
||||||
|
</view>
|
||||||
|
<view class="li" style="align-items: center;">
|
||||||
|
<u--image :showLoading="true" src="/static/images/GXSC/DH.png" width="33.85rpx"
|
||||||
|
height="33.85rpx"></u--image>
|
||||||
|
<text> {{item.service_phone}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li" style="align-items: center;">
|
||||||
|
<u--image :showLoading="true" src="/static/images/GXSC/SJ.png" width="33.85rpx"
|
||||||
|
height="33.85rpx"></u--image>
|
||||||
|
<text>{{item.mer_take_time[0]}}-{{item.mer_take_time[1]}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li" style="align-items: center;">
|
||||||
|
<u--image :showLoading="true" src="/static/images/GXSC/DW.png" width="33.85rpx"
|
||||||
|
height="33.85rpx"></u--image>
|
||||||
|
<text class="address">{{item.mer_address}}</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="">
|
||||||
|
<u-scroll-list>
|
||||||
|
<view v-for="(item, index) in list" :key="index" style="margin-right: 20rpx;">
|
||||||
|
<u--image :showLoading="true" src="https://cdn.uviewui.com/uview/album/1.jpg"
|
||||||
|
width="164.72rpx" height="164.72rpx"></u--image>
|
||||||
|
<view class="goods_tit_a">
|
||||||
|
笑口常开地方就是的开发建设的开发建设的,v空间和客户可怜见立刻就
|
||||||
|
</view>
|
||||||
|
<view style="color: red;">
|
||||||
|
$10.00
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- <image :src="item.thumb"></image> -->
|
||||||
|
</view>
|
||||||
|
<!-- <view v-for="(item, index) in list" :key="index">
|
||||||
|
<image :src="item.thumb"></image>
|
||||||
|
</view> -->
|
||||||
|
</u-scroll-list>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="">
|
||||||
|
<u-scroll-list>
|
||||||
|
<view v-for="(item, index) in list" :key="index" class="goods_card_a">
|
||||||
|
<u--image :showLoading="true" src="https://cdn.uviewui.com/uview/album/1.jpg"
|
||||||
|
width="164.72rpx" height="164.72rpx" @click="click"></u--image>
|
||||||
|
<view class="goods_tit_a">
|
||||||
|
笑口常开地方就是的开发建设的开发建设的,v空间和客户可怜见立刻就
|
||||||
|
</view>
|
||||||
|
<view class="goods_price">
|
||||||
|
$10.00
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-scroll-list>
|
||||||
|
</view>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
storeMerchantList,
|
||||||
|
} from '@/api/store.js';
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
keyword: "",
|
||||||
|
list: [1, 1, 1, 11, 1, 11, 11],
|
||||||
|
lists: [1, 1, 1, 1, 1],
|
||||||
|
storeList: [1, 1, 1, 1, 1, 1, 1, 1, 1]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLaunch() {
|
||||||
|
console.log(46545)
|
||||||
|
// storeMerchantList().then(res => {
|
||||||
|
// // this.count = res.data.count
|
||||||
|
// // this.storeList = this.storeList.concat(res.data.list)
|
||||||
|
// // this.loading = false
|
||||||
|
// // this.loadingIcon = false
|
||||||
|
// console.log(res)
|
||||||
|
// })
|
||||||
|
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
// console.log(46545)
|
||||||
|
storeMerchantList().then(res => {
|
||||||
|
// this.count = res.data.count
|
||||||
|
this.storeList = res.data.list
|
||||||
|
// this.loading = false
|
||||||
|
// this.loadingIcon = false
|
||||||
|
// console.log(res)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {},
|
||||||
|
onPullDownRefresh() {
|
||||||
|
uni.stopPullDownRefresh()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.head {
|
||||||
|
// background-color: #F94621;
|
||||||
|
// background: url('/static/images/MYTC/BG.png') no-repeat;
|
||||||
|
padding: 20rpx;
|
||||||
|
border-radius: 0rpx 0rpx 31.54rpx 31.54rpx;
|
||||||
|
|
||||||
|
.head_tit {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
// color: white;
|
||||||
|
// margin-bottom: 20rpx;
|
||||||
|
|
||||||
|
.head_tit_l {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.head_tit_r {
|
||||||
|
// display: flex;
|
||||||
|
// align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.head_serch {
|
||||||
|
margin: 20rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.foodType {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.foodLi {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.head_content {
|
||||||
|
.head_content_card {
|
||||||
|
background: linear-gradient(to bottom, #FCB9AD, #FFFBF9, #FFFFFF);
|
||||||
|
border-radius: 21.03rpx 21.03rpx 21.03rpx 21.03rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 20rpx 10rpx;
|
||||||
|
|
||||||
|
.goods_card {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_tit {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_price {
|
||||||
|
color: #F84221;
|
||||||
|
font-size: 29.79rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.store {
|
||||||
|
.goods_list {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
|
||||||
|
.goods_cards {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
height: auto;
|
||||||
|
background-color: white;
|
||||||
|
padding: 20rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
// align-items: center;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
width: 158rpx;
|
||||||
|
height: 158rpx;
|
||||||
|
// background-color: red;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
// box-sizing: border-box;
|
||||||
|
width: 75vw;
|
||||||
|
overflow: hidden;
|
||||||
|
// background-color: red;
|
||||||
|
|
||||||
|
.heads {
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
.flag {
|
||||||
|
background: linear-gradient(to bottom, #F84221, #FF6D20);
|
||||||
|
width: 66.59rpx;
|
||||||
|
height: 36.8rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 22.78rpx;
|
||||||
|
color: white;
|
||||||
|
border-radius: 10.51rpx 10.51rpx 10.51rpx 10.51rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_card_a {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_price_a {
|
||||||
|
color: #F84221;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_tit_a {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 1;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
.li {
|
||||||
|
display: flex;
|
||||||
|
font-size: 26.29rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
|
||||||
|
align-items: center;
|
||||||
|
color: #737373;
|
||||||
|
|
||||||
|
text {
|
||||||
|
margin: 0 10rpx 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.address {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.img_cls {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
right: 7rpx;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1311
pages/nongKe/specialty/index.vue
Normal file
1311
pages/nongKe/specialty/index.vue
Normal file
File diff suppressed because it is too large
Load Diff
324
pages/nongKe/specialty/indexa.vue
Normal file
324
pages/nongKe/specialty/indexa.vue
Normal file
@ -0,0 +1,324 @@
|
|||||||
|
<template>
|
||||||
|
<view class="box">
|
||||||
|
<view class="head">
|
||||||
|
<view style="height: var(--status-bar-height);"></view>
|
||||||
|
<!-- <u--image style="position: absolute;" :showLoading="true" src="/static/images/MYTC/BG.png" width="750rpx"
|
||||||
|
height="748.25rpx" @click="click"></u--image> -->
|
||||||
|
<view class="head_tit">
|
||||||
|
<view class="head_tit_l">
|
||||||
|
<view class="iconfont icon-xiangzuo"></view>
|
||||||
|
<view
|
||||||
|
style="font-size: 40rpx;font-weight: 700;margin-left: 30rpx; transform: skewX(-10deg);color:white;">
|
||||||
|
名优特产
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="head_tit_r" style="font-size: 29.79rpx;">
|
||||||
|
江阳区 <text style="margin-left: 10rpx;" class="iconfont icon-xiangxia"></text>
|
||||||
|
<view class="" style="font-size: 22.78rpx;">
|
||||||
|
晴天30℃
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="head_serch">
|
||||||
|
<view style="position: relative;">
|
||||||
|
<!-- <u-search borderColor="#FF6D20" bgColor="white" :showAction="false" placeholder="搜索店铺名称"
|
||||||
|
v-model="keyword" class="serch_cls"></u-search> -->
|
||||||
|
<!-- <u--image class="img_cls" style="position: absolute; top: 3px;right: 3px;" :showLoading="true"
|
||||||
|
src="/static/images/MYTC/SS.png" width="115.65rpx" height="56.82rpx"></u--image> -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="head_content">
|
||||||
|
<view style="font-size: 40rpx;font-weight: 700;color:white; margin-bottom: 10rpx;">
|
||||||
|
精选特产
|
||||||
|
</view>
|
||||||
|
<view class="head_content_card">
|
||||||
|
|
||||||
|
<u-scroll-list>
|
||||||
|
<view v-for="(item, index) in list" :key="index" class="goods_card">
|
||||||
|
<u--image :showLoading="true" src="https://cdn.uviewui.com/uview/album/1.jpg"
|
||||||
|
width="210.28rpx" height="210.28rpx"></u--image>
|
||||||
|
<view class="goods_tit">
|
||||||
|
笑口常开地方就是的开发建设的开发建设的,v空间和客户可怜见立刻就
|
||||||
|
</view>
|
||||||
|
<view class="goods_price">
|
||||||
|
¥ 10.00
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- <image :src="item.thumb"></image> -->
|
||||||
|
</view>
|
||||||
|
</u-scroll-list>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="store" style="background-color: white;">
|
||||||
|
<view class="goods_list">
|
||||||
|
<view class="goods_cards" @click="goStore(item.mer_id)" v-for="(item,index) in storeList" :key="index">
|
||||||
|
<view class="left">
|
||||||
|
<u--image :showLoading="true" :src="item.mer_avatar" width="157.71rpx"
|
||||||
|
height="157.71rpx"></u--image>
|
||||||
|
</view>
|
||||||
|
<view class="right">
|
||||||
|
<view class="li heads" style="display: flex;">
|
||||||
|
<text class="flag">特产</text>
|
||||||
|
<text class="com_name">{{item.mer_name}}</text>
|
||||||
|
<text
|
||||||
|
style="font-weight: normal; font-size: 10rpx;color: #737373;padding:0 10rpx; border-radius: 10rpx; border: 1px solid #737373;">{{item.type_name}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">
|
||||||
|
<u--image v-for="item,index in [1,1,,1,1,1]" :key="index" :showLoading="true"
|
||||||
|
src="/static/images/GXSC/PF.png" width="20.85rpx" height="19.85rpx"></u--image>
|
||||||
|
<text style="margin-left: 10rpx;color: #FF6D20; ">5.0</text>
|
||||||
|
<text>月销2000+</text>
|
||||||
|
<text>20分钟</text>
|
||||||
|
<text>1.1km</text>
|
||||||
|
</view>
|
||||||
|
<view class="li" style="align-items: center;">
|
||||||
|
<u--image :showLoading="true" src="/static/images/GXSC/DH.png" width="33.85rpx"
|
||||||
|
height="33.85rpx"></u--image>
|
||||||
|
<text> {{item.service_phone}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li" style="align-items: center;">
|
||||||
|
<u--image :showLoading="true" src="/static/images/GXSC/SJ.png" width="33.85rpx"
|
||||||
|
height="33.85rpx"></u--image>
|
||||||
|
<text>{{item.mer_take_time[0]}}-{{item.mer_take_time[1]}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li" style="align-items: center;">
|
||||||
|
<u--image :showLoading="true" src="/static/images/GXSC/DW.png" width="33.85rpx"
|
||||||
|
height="33.85rpx"></u--image>
|
||||||
|
<text class="address">{{item.mer_address}}</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="">
|
||||||
|
<u-scroll-list>
|
||||||
|
<view v-for="(item, index) in list" :key="index" style="margin-right: 20rpx;">
|
||||||
|
<u--image :showLoading="true" src="https://cdn.uviewui.com/uview/album/1.jpg"
|
||||||
|
width="164.72rpx" height="164.72rpx"></u--image>
|
||||||
|
<view class="goods_tit_a">
|
||||||
|
笑口常开地方就是的开发建设的开发建设的,v空间和客户可怜见立刻就
|
||||||
|
</view>
|
||||||
|
<view style="color: red;">
|
||||||
|
$10.00
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- <image :src="item.thumb"></image> -->
|
||||||
|
</view>
|
||||||
|
<!-- <view v-for="(item, index) in list" :key="index">
|
||||||
|
<image :src="item.thumb"></image>
|
||||||
|
</view> -->
|
||||||
|
</u-scroll-list>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="">
|
||||||
|
<u-scroll-list>
|
||||||
|
<view v-for="(item, index) in list" :key="index" class="goods_card_a">
|
||||||
|
<u--image :showLoading="true" src="https://cdn.uviewui.com/uview/album/1.jpg"
|
||||||
|
width="164.72rpx" height="164.72rpx" @click="click"></u--image>
|
||||||
|
<view class="goods_tit_a">
|
||||||
|
笑口常开地方就是的开发建设的开发建设的,v空间和客户可怜见立刻就
|
||||||
|
</view>
|
||||||
|
<view class="goods_price">
|
||||||
|
$10.00
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-scroll-list>
|
||||||
|
</view>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
storeMerchantList,
|
||||||
|
} from '@/api/store.js';
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
keyword: "",
|
||||||
|
list: [1, 1, 1, 11, 1, 11, 11],
|
||||||
|
storeList: [1, 1, 1, 1, 1, 1, 1, 1, 1]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLaunch() {
|
||||||
|
console.log(46545)
|
||||||
|
// storeMerchantList().then(res => {
|
||||||
|
// // this.count = res.data.count
|
||||||
|
// // this.storeList = this.storeList.concat(res.data.list)
|
||||||
|
// // this.loading = false
|
||||||
|
// // this.loadingIcon = false
|
||||||
|
// console.log(res)
|
||||||
|
// })
|
||||||
|
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
// console.log(46545)
|
||||||
|
storeMerchantList().then(res => {
|
||||||
|
// this.count = res.data.count
|
||||||
|
this.storeList = res.data.list
|
||||||
|
// this.loading = false
|
||||||
|
// this.loadingIcon = false
|
||||||
|
// console.log(res)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {},
|
||||||
|
onPullDownRefresh() {
|
||||||
|
uni.stopPullDownRefresh()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.head {
|
||||||
|
// background-color: #F94621;
|
||||||
|
background: url('/static/images/MYTC/BG.png') no-repeat;
|
||||||
|
padding: 20rpx;
|
||||||
|
border-radius: 0rpx 0rpx 31.54rpx 31.54rpx;
|
||||||
|
|
||||||
|
.head_tit {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
color: white;
|
||||||
|
// margin-bottom: 20rpx;
|
||||||
|
|
||||||
|
.head_tit_l {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.head_tit_r {
|
||||||
|
// display: flex;
|
||||||
|
// align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.head_serch {
|
||||||
|
margin: 20rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.head_content {
|
||||||
|
.head_content_card {
|
||||||
|
background: linear-gradient(to bottom, #FCB9AD, #FFFBF9, #FFFFFF);
|
||||||
|
border-radius: 21.03rpx 21.03rpx 21.03rpx 21.03rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 20rpx 10rpx;
|
||||||
|
|
||||||
|
.goods_card {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_tit {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_price {
|
||||||
|
color: #F84221;
|
||||||
|
font-size: 29.79rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.store {
|
||||||
|
.goods_list {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
|
||||||
|
.goods_cards {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
height: auto;
|
||||||
|
background-color: white;
|
||||||
|
padding: 20rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
// align-items: center;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
width: 158rpx;
|
||||||
|
height: 158rpx;
|
||||||
|
// background-color: red;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
// box-sizing: border-box;
|
||||||
|
width: 75vw;
|
||||||
|
overflow: hidden;
|
||||||
|
// background-color: red;
|
||||||
|
|
||||||
|
.heads {
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
.flag {
|
||||||
|
background: linear-gradient(to bottom, #F84221, #FF6D20);
|
||||||
|
width: 66.59rpx;
|
||||||
|
height: 36.8rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 22.78rpx;
|
||||||
|
color: white;
|
||||||
|
border-radius: 10.51rpx 10.51rpx 10.51rpx 10.51rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_card_a {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_price_a {
|
||||||
|
color: #F84221;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_tit_a {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-line-clamp: 1;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
.li {
|
||||||
|
display: flex;
|
||||||
|
font-size: 26.29rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
|
||||||
|
align-items: center;
|
||||||
|
color: #737373;
|
||||||
|
|
||||||
|
text {
|
||||||
|
margin: 0 10rpx 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.address {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
@ -11,7 +11,7 @@
|
|||||||
<view class="store_site flex_a_c" v-if="store_item.street_name">{{ store_item.street_name }}</view>
|
<view class="store_site flex_a_c" v-if="store_item.street_name">{{ store_item.street_name }}</view>
|
||||||
<view class="name">{{ store_item.mer_name }}</view>
|
<view class="name">{{ store_item.mer_name }}</view>
|
||||||
</view>
|
</view>
|
||||||
<image class="high_img" :src="youZhiImg" mode="aspectFill"></image>
|
<image class="high_img" :src="youZhiImg" mode="aspectFit"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="mct_msg_detail flex_a_c">
|
<view class="mct_msg_detail flex_a_c">
|
||||||
<view class="product_score">{{ store_item.product_score }}分</view>
|
<view class="product_score">{{ store_item.product_score }}分</view>
|
||||||
@ -32,7 +32,7 @@
|
|||||||
<scroll-view scroll-x="true" class="goods_info">
|
<scroll-view scroll-x="true" class="goods_info">
|
||||||
<view v-for="(itemn,indexn) in store_item.recommend" :key="indexn" class="goods_info_item"
|
<view v-for="(itemn,indexn) in store_item.recommend" :key="indexn" class="goods_info_item"
|
||||||
@click.stop="navTogoodsDetail(itemn.product_id)">
|
@click.stop="navTogoodsDetail(itemn.product_id)">
|
||||||
<image class="goods_info_img" :src="itemn.image" mode="aspectFill"></image>
|
<image class="goods_info_img" :src="itemn.image" mode="aspectFit"></image>
|
||||||
<view class="goods_info_name">{{itemn.store_name}}</view>
|
<view class="goods_info_name">{{itemn.store_name}}</view>
|
||||||
<view class="goods_info_price">¥{{itemn.price}}</view>
|
<view class="goods_info_price">¥{{itemn.price}}</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -1,334 +1,358 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="goods_list">
|
<view class="goods_list">
|
||||||
<view class="head_search flex_a_c">
|
<view class="head_search flex_a_c">
|
||||||
<view class="search_content flex_a_c_j_sb">
|
<view class="search_content flex_a_c_j_sb">
|
||||||
<view class="flex_a_c">
|
<view class="flex_a_c">
|
||||||
<view class="iconfont icon-sousuo"></view>
|
<view class="iconfont icon-sousuo"></view>
|
||||||
<input type="text" v-model="params.keyword" placeholder="请搜索">
|
<input type="text" v-model="params.keyword" placeholder="请搜索">
|
||||||
</view>
|
</view>
|
||||||
<button class="search_btn" @click="searchClick">搜索</button>
|
<button class="search_btn" @click="searchClick">搜索</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<block v-for="(item,i) in goodsList" :key="i">
|
<block v-for="(item,i) in goodsList" :key="i">
|
||||||
<view class="list_item flex_a_c">
|
<view class="list_item flex_a_c">
|
||||||
<image class="goods_img" :src="item.image" mode="aspectFill"></image>
|
<image class="goods_img" :src="item.image" mode="aspectFit"></image>
|
||||||
<view class="r_box flex_a_c_j_sb">
|
<view class="r_box flex_a_c_j_sb">
|
||||||
<view class="message">
|
<view class="message">
|
||||||
<view class="title">{{item.store_name}}</view>
|
<view class="goodstitle">{{item.store_name}}</view>
|
||||||
<view class="flex_a_c">
|
<view class="flex_a_c">
|
||||||
<view class="">分类:{{item.storeCategory.cate_name}}</view>
|
<view class="">分类:{{item.storeCategory.cate_name}}</view>
|
||||||
<view class="unit">单位:{{item.unit_name}}</view>
|
<view class="unit">单位:{{item.unit_name}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="bar_code">条形码:{{ item.bar_code || "0" }}</view>
|
<view class="bar_code">条形码:{{ item.bar_code || "无" }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="redact_box">
|
<view class="redact_box">
|
||||||
<view class="order_price">订货价:{{item.price}}</view>
|
<view class="order_price">订货价:{{item.price}}</view>
|
||||||
<button class="redact" @click="redactShow(item)">编辑</button>
|
<button class="redact" @click="redactShow(item)">编辑</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</block>
|
</block>
|
||||||
|
|
||||||
<u-popup :show="popupShow" @close="popupShow = false" mode="center" :round="10" closeOnClickOverlay>
|
<u-popup :show="popupShow" @close="popupShow = false" mode="center" :round="10" closeOnClickOverlay>
|
||||||
<view class="popup_cont" v-if="redactGoods.store_name">
|
<view class="popup_cont" v-if="redactGoods.store_name">
|
||||||
<view class="title">{{redactGoods.store_name}}</view>
|
<view class="title">{{redactGoods.store_name}}</view>
|
||||||
<view class="message flex_a_c_j_sb">
|
<view class="message flex_a_c_j_sb">
|
||||||
<view class="">分类:{{redactGoods.storeCategory.cate_name}}</view>
|
<view class="">分类:{{redactGoods.storeCategory.cate_name}}</view>
|
||||||
<view class="">单位:{{redactGoods.unit_name}}</view>
|
<view class="">单位:{{redactGoods.unit_name}}</view>
|
||||||
<view class="">订货价:{{redactGoods.price}}</view>
|
<view class="">订货价:{{redactGoods.price}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="bar_code flex_a_c_j_sb">
|
<view class="bar_code flex_a_c_j_sb">
|
||||||
<view>条形码:{{ redactGoods.bar_code || "0" }}</view>
|
<view>条形码:{{ redactGoods.bar_code || "无" }}</view>
|
||||||
<view>库存:{{ redactGoods.stock }}</view>
|
<view>库存:{{ redactGoods.stock }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="sub_title">订货价</view>
|
<view class="sub_title">订货价</view>
|
||||||
<input class="input" type="text" placeholder="请输入价格" v-model="goodsPrive">
|
<input class="input" type="text" placeholder="请输入价格" v-model="goodsPrive">
|
||||||
<view class="sub_title">库存量</view>
|
<!-- <view class="sub_title">库存量</view>
|
||||||
<input class="input" type="number" placeholder="请输入库存数量" v-model="goodsNum">
|
<input class="input" type="number" placeholder="请输入库存数量" v-model="goodsNum"> -->
|
||||||
<view class="btns_box">
|
<view class="btns_box">
|
||||||
<view class="cancel" @click="popupClose">取消</view>
|
<view class="cancel" @click="popupClose">取消</view>
|
||||||
<view class="save" @click="submitCreatedGoods">保存</view>
|
<view class="save" @click="submitCreatedGoods">保存</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</u-popup>
|
</u-popup>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import {
|
||||||
getStorage,
|
getStorage,
|
||||||
removeStorage,
|
removeStorage,
|
||||||
Toast,
|
Toast,
|
||||||
Loading,
|
Loading,
|
||||||
hideLoading,
|
hideLoading,
|
||||||
Modal
|
Modal
|
||||||
} from '@/libs/uniApi.js';
|
} from '@/libs/uniApi.js';
|
||||||
import { productLstApi, productCreate, productUpdate, productDetail } from '@/api/product.js'
|
import {
|
||||||
import { checkLogin } from '../../../libs/login';
|
productLstApi,
|
||||||
export default {
|
productCreate,
|
||||||
data() {
|
productUpdate,
|
||||||
return {
|
productDetail
|
||||||
goodsPrive: '',
|
} from '@/api/product.js'
|
||||||
goodsNum: '',
|
import {
|
||||||
goodsList: [],
|
checkLogin
|
||||||
redactGoods: {},
|
} from '../../../libs/login';
|
||||||
search: '',
|
export default {
|
||||||
popupShow: false,
|
data() {
|
||||||
merId: '',
|
return {
|
||||||
product_id: '',
|
goodsPrive: '',
|
||||||
addGoodsSecoundData: {
|
goodsNum: '',
|
||||||
is_good: 0, // 是否推荐
|
goodsList: [],
|
||||||
is_gift_bag: 0,
|
redactGoods: {},
|
||||||
sort: '',
|
search: '',
|
||||||
once_count: '', // 限购数量
|
popupShow: false,
|
||||||
video_link: ''
|
merId: '',
|
||||||
},
|
product_id: '',
|
||||||
disModel: false,
|
addGoodsSecoundData: {
|
||||||
particulars: {},
|
is_good: 0, // 是否推荐
|
||||||
mer_id: '',
|
is_gift_bag: 0,
|
||||||
status: 'loadmore',
|
sort: '',
|
||||||
loadingText: '努力加载中',
|
once_count: '', // 限购数量
|
||||||
loadmoreText: '轻轻上拉',
|
video_link: ''
|
||||||
nomoreText: '实在没有了',
|
},
|
||||||
params: {
|
disModel: false,
|
||||||
page: 1,
|
particulars: {},
|
||||||
limit: 10,
|
mer_id: '',
|
||||||
keyword: ''
|
status: 'loadmore',
|
||||||
},
|
loadingText: '努力加载中',
|
||||||
// page: 1,
|
loadmoreText: '轻轻上拉',
|
||||||
}
|
nomoreText: '实在没有了',
|
||||||
},
|
params: {
|
||||||
onLoad(e) {
|
page: 1,
|
||||||
this.mer_id = e.merid
|
limit: 10,
|
||||||
this.getGoodsList()
|
keyword: ''
|
||||||
this.initData();
|
},
|
||||||
|
// page: 1,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(e) {
|
||||||
|
this.mer_id = e.merid
|
||||||
|
this.getGoodsList()
|
||||||
|
this.initData();
|
||||||
|
|
||||||
// uni.setNavigationBarTitle({
|
// uni.setNavigationBarTitle({
|
||||||
// title: e.title
|
// title: e.title
|
||||||
// })
|
// })
|
||||||
},
|
},
|
||||||
onShow() {},
|
onShow() {},
|
||||||
methods: {
|
methods: {
|
||||||
async searchClick() {
|
async searchClick() {
|
||||||
const { data } = await productLstApi(this.mer_id, this.params)
|
const {
|
||||||
this.goodsList = data.list
|
data
|
||||||
},
|
} = await productLstApi(this.mer_id, this.params)
|
||||||
async getGoodsList() {
|
this.goodsList = data.list
|
||||||
const { data } = await productLstApi(this.mer_id, this.params)
|
},
|
||||||
this.goodsList.push(...data.list)
|
async getGoodsList() {
|
||||||
if (data.length < 9) this.status = 'nomore';
|
const {
|
||||||
},
|
data
|
||||||
redactShow(item) {
|
} = await productLstApi(this.mer_id, this.params)
|
||||||
this.product_id = item.product_id
|
this.goodsList.push(...data.list)
|
||||||
this.merId = item.mer_id
|
if (data.length < 9) this.status = 'nomore';
|
||||||
this.redactGoods = item
|
},
|
||||||
this.popupShow = true
|
redactShow(item) {
|
||||||
productDetail(item.mer_id, item.product_id).then(res => {
|
this.product_id = item.product_id
|
||||||
this.particulars = res.data
|
this.merId = item.mer_id
|
||||||
})
|
this.redactGoods = item
|
||||||
// console.log('打开弹框', item);
|
this.popupShow = true
|
||||||
},
|
productDetail(item.mer_id, item.product_id).then(res => {
|
||||||
popupClose() {
|
this.particulars = res.data
|
||||||
this.goodsPrive = ''
|
})
|
||||||
this.goodsNum = ''
|
// console.log('打开弹框', item);
|
||||||
this.popupShow = false
|
},
|
||||||
},
|
popupClose() {
|
||||||
// 创建商品
|
this.goodsPrive = ''
|
||||||
async submitCreatedGoods() {
|
this.goodsNum = ''
|
||||||
this.particulars.attrValue[0].stock = Number(this.goodsNum)
|
this.popupShow = false
|
||||||
this.particulars.attrValue[0].price = this.goodsPrive
|
},
|
||||||
const res = await productUpdate(this.merId, this.product_id, this.particulars)
|
// 创建商品
|
||||||
// Toast(message)
|
async submitCreatedGoods() {
|
||||||
this.getGoodsList()
|
this.particulars.attrValue[0].stock = Number(this.goodsNum)
|
||||||
this.popupShow = false
|
this.particulars.attrValue[0].price = this.goodsPrive
|
||||||
this.goodsPrive = ''
|
const res = await productUpdate(this.merId, this.product_id, this.particulars)
|
||||||
this.goodsNum = ''
|
// Toast(message)
|
||||||
},
|
this.getGoodsList()
|
||||||
initData() {
|
this.goodsList = []
|
||||||
let editGoodsDetils = {};
|
this.popupShow = false
|
||||||
if (getStorage('goodsDis')) {
|
this.goodsPrive = ''
|
||||||
this.disModel = true;
|
this.goodsNum = ''
|
||||||
}
|
},
|
||||||
if (this.product_id) {
|
initData() {
|
||||||
editGoodsDetils = getStorage('editGoodsDetils');
|
let editGoodsDetils = {};
|
||||||
Object.keys(this.addGoodsSecoundData).forEach(item => {
|
if (getStorage('goodsDis')) {
|
||||||
this.addGoodsSecoundData[item] = editGoodsDetils[item];
|
this.disModel = true;
|
||||||
});
|
}
|
||||||
|
if (this.product_id) {
|
||||||
|
editGoodsDetils = getStorage('editGoodsDetils');
|
||||||
|
Object.keys(this.addGoodsSecoundData).forEach(item => {
|
||||||
|
this.addGoodsSecoundData[item] = editGoodsDetils[item];
|
||||||
|
});
|
||||||
|
|
||||||
if (editGoodsDetils.content) {
|
if (editGoodsDetils.content) {
|
||||||
setStorage('goodsDis', {
|
setStorage('goodsDis', {
|
||||||
store_name: editGoodsDetils.content.title,
|
store_name: editGoodsDetils.content.title,
|
||||||
imageList: editGoodsDetils.content.image
|
imageList: editGoodsDetils.content.image
|
||||||
});
|
});
|
||||||
this.disModel = true;
|
this.disModel = true;
|
||||||
}
|
}
|
||||||
setStorage('canChangeSecound', true);
|
setStorage('canChangeSecound', true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getStorage('addGoodsSecoundData')) {
|
if (getStorage('addGoodsSecoundData')) {
|
||||||
Object.keys(this.addGoodsSecoundData).forEach(item => {
|
Object.keys(this.addGoodsSecoundData).forEach(item => {
|
||||||
if (getStorage('addGoodsSecoundData')[item] || getStorage('addGoodsSecoundData')[item] == 0) {
|
if (getStorage('addGoodsSecoundData')[item] || getStorage('addGoodsSecoundData')[item] ==
|
||||||
this.addGoodsSecoundData[item] = getStorage('addGoodsSecoundData')[item];
|
0) {
|
||||||
}
|
this.addGoodsSecoundData[item] = getStorage('addGoodsSecoundData')[item];
|
||||||
});
|
}
|
||||||
}
|
});
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
// 加载更多
|
},
|
||||||
onReachBottom() {
|
// 加载更多
|
||||||
if (this.status == 'nomore') return;
|
onReachBottom() {
|
||||||
this.status = 'loading';
|
if (this.status == 'nomore') return;
|
||||||
this.params.page = ++this.params.page;
|
this.status = 'loading';
|
||||||
this.getGoodsList()
|
this.params.page = ++this.params.page;
|
||||||
},
|
this.getGoodsList()
|
||||||
onPullDownRefresh() {
|
},
|
||||||
this.params.page = 1
|
onPullDownRefresh() {
|
||||||
this.goodsList = []
|
this.params.page = 1
|
||||||
this.getGoodsList()
|
this.goodsList = []
|
||||||
uni.stopPullDownRefresh()
|
this.getGoodsList()
|
||||||
}
|
uni.stopPullDownRefresh()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.goods_list {}
|
.goods_list {}
|
||||||
|
|
||||||
|
|
||||||
.head_search {
|
.head_search {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
height: 108.77rpx;
|
height: 108.77rpx;
|
||||||
|
|
||||||
.search_content {
|
.search_content {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 694.74rpx;
|
width: 694.74rpx;
|
||||||
height: 66.67rpx;
|
height: 66.67rpx;
|
||||||
padding: 2px 2px 2px 21.05rpx;
|
padding: 2px 2px 2px 21.05rpx;
|
||||||
border: 1px solid $uni-theme-color;
|
border: 1px solid $uni-theme-color;
|
||||||
border-radius: 100px;
|
border-radius: 100px;
|
||||||
|
|
||||||
.icon-sousuo {
|
.icon-sousuo {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: $uni-theme-color;
|
color: $uni-theme-color;
|
||||||
margin-right: 17.54rpx;
|
margin-right: 17.54rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.search_btn {
|
.search_btn {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
width: 135.09rpx;
|
width: 135.09rpx;
|
||||||
height: 59.65rpx;
|
height: 59.65rpx;
|
||||||
line-height: 59.65rpx;
|
line-height: 59.65rpx;
|
||||||
background: $uni-theme-bg-color;
|
background: $uni-theme-bg-color;
|
||||||
border-radius: 100px;
|
border-radius: 100px;
|
||||||
}
|
font-size: 25rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.list_item,
|
.list_item,
|
||||||
.popup_cont {
|
.popup_cont {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
width: 694.74rpx;
|
width: 694.74rpx;
|
||||||
// height: 236.84rpx;
|
// height: 236.84rpx;
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
padding: 21.05rpx;
|
padding: 21.05rpx;
|
||||||
margin-top: 21.05rpx;
|
margin-top: 21.05rpx;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 31.58rpx;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.list_item {
|
font-weight: bold;
|
||||||
font-size: 24.56rpx;
|
color: #333;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.redact_box {
|
.list_item {
|
||||||
height: 100%;
|
font-size: 24.56rpx;
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: flex-end;
|
|
||||||
|
|
||||||
}
|
.redact_box {
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: flex-end;
|
||||||
|
|
||||||
.redact {
|
}
|
||||||
margin-top: 7.02rpx;
|
|
||||||
color: #fff;
|
|
||||||
width: 129.82rpx;
|
|
||||||
height: 50.88rpx;
|
|
||||||
line-height: 50.88rpx;
|
|
||||||
background: $uni-theme-bg-color;
|
|
||||||
border-radius: 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.r_box {
|
.redact {
|
||||||
flex: 1;
|
margin-top: 7.02rpx;
|
||||||
}
|
color: #fff;
|
||||||
|
width: 129.82rpx;
|
||||||
|
height: 50.88rpx;
|
||||||
|
line-height: 50.88rpx;
|
||||||
|
background: $uni-theme-bg-color;
|
||||||
|
border-radius: 7px;
|
||||||
|
font-size: 25rpx
|
||||||
|
}
|
||||||
|
|
||||||
.unit {
|
.r_box {
|
||||||
margin-left: 35.09rpx;
|
flex: 1;
|
||||||
margin: 7.02rpx 0 7.02rpx 35.09rpx;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.goods_img {
|
.unit {
|
||||||
width: 119.3rpx;
|
margin-left: 35.09rpx;
|
||||||
height: 119.3rpx;
|
margin: 7.02rpx 0 7.02rpx 35.09rpx;
|
||||||
border-radius: 8px;
|
}
|
||||||
margin-right: 26.32rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.popup_cont {
|
.goods_img {
|
||||||
width: 680.7rpx;
|
width: 119.3rpx;
|
||||||
padding: 31.58rpx;
|
height: 119.3rpx;
|
||||||
font-size: 28.07rpx;
|
border-radius: 8px;
|
||||||
|
margin-right: 26.32rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.message {
|
.goodstitle {
|
||||||
margin: 28.07rpx 0 21.05rpx 0;
|
width: 42vw;
|
||||||
}
|
font-weight: bold;
|
||||||
|
white-space: nowrap;
|
||||||
|
/* 不换行 */
|
||||||
|
overflow: hidden;
|
||||||
|
/* 溢出隐藏 */
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
|
||||||
.title {
|
}
|
||||||
text-align: center;
|
|
||||||
font-size: 31.58rpx;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sub_title {
|
.popup_cont {
|
||||||
font-size: 28.07rpx;
|
width: 680.7rpx;
|
||||||
margin: 35.09rpx 0 14.04rpx 0;
|
padding: 31.58rpx;
|
||||||
}
|
font-size: 28.07rpx;
|
||||||
|
|
||||||
.input {
|
.message {
|
||||||
width: 100%;
|
margin: 28.07rpx 0 21.05rpx 0;
|
||||||
height: 84.21rpx;
|
|
||||||
background-color: #F5F5F5;
|
|
||||||
border-radius: 4px;
|
|
||||||
padding-left: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btns_box {
|
|
||||||
margin-top: 49.12rpx;
|
|
||||||
display: flex;
|
|
||||||
justify-content: end;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
.cancel {
|
}
|
||||||
font-size: 31.58rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.save {
|
|
||||||
color: #FFFFFF;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 77.19rpx;
|
.sub_title {
|
||||||
margin-left: 57.89rpx;
|
font-size: 28.07rpx;
|
||||||
width: 250.88rpx;
|
margin: 35.09rpx 0 14.04rpx 0;
|
||||||
height: 77.19rpx;
|
}
|
||||||
background: #009E56;
|
|
||||||
border-radius: 100px;
|
.input {
|
||||||
}
|
width: 100%;
|
||||||
}
|
height: 84.21rpx;
|
||||||
}
|
background-color: #F5F5F5;
|
||||||
|
border-radius: 4px;
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btns_box {
|
||||||
|
margin-top: 49.12rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: end;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.cancel {
|
||||||
|
font-size: 31.58rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.save {
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 77.19rpx;
|
||||||
|
margin-left: 57.89rpx;
|
||||||
|
width: 250.88rpx;
|
||||||
|
height: 77.19rpx;
|
||||||
|
background: #009E56;
|
||||||
|
border-radius: 100px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
67
pages/nongKe/supply_chain/maps.vue
Normal file
67
pages/nongKe/supply_chain/maps.vue
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
<template>
|
||||||
|
<view class="">
|
||||||
|
<map id="map" :enable-zoom="true" :markers="markers" :scale="19" :latitude="28.908447" :enable-scroll="true"
|
||||||
|
:longitude="105.439304" style="width: 100vw;height: 100vh;">
|
||||||
|
<!-- <cover-image class="map_btn" @tap="test" src="../../static/img/logistics/DH.png">
|
||||||
|
</cover-image> -->
|
||||||
|
</map>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
vicinityStoreApi,
|
||||||
|
supAgoodsApi
|
||||||
|
} from '@/api/store.js';
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
markers: [{
|
||||||
|
id: 1,
|
||||||
|
latitude: 28.908447,
|
||||||
|
longitude: 105.439304,
|
||||||
|
title: "测试商家名称",
|
||||||
|
iconPath: "/static/images/GXSC/SJicon.png"
|
||||||
|
}, {
|
||||||
|
id: 2,
|
||||||
|
latitude: 28.909447,
|
||||||
|
longitude: 105.439304,
|
||||||
|
title: "测试商家名称",
|
||||||
|
iconPath: "/static/images/GXSC/SJicon.png"
|
||||||
|
}, {
|
||||||
|
id: 3,
|
||||||
|
latitude: 28.908447,
|
||||||
|
longitude: 105.459304,
|
||||||
|
title: "测试商家名称",
|
||||||
|
iconPath: "/static/images/GXSC/SJicon.png"
|
||||||
|
}, ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
,
|
||||||
|
onLoad(options) {
|
||||||
|
let that = this
|
||||||
|
// supAgoodsApi()
|
||||||
|
vicinityStoreApi(options.street_id).then(res => {
|
||||||
|
// console.log(res.data.list)
|
||||||
|
res.data.list.forEach(item => {
|
||||||
|
if (!item.lat) return
|
||||||
|
this.markers = []
|
||||||
|
// console.log(item)
|
||||||
|
that.markers.push({
|
||||||
|
id: item.mer_id,
|
||||||
|
latitude: item.lat,
|
||||||
|
longitude: item.long,
|
||||||
|
title: item.mer_name,
|
||||||
|
iconPath: "/static/images/GXSC/SJicon.png"
|
||||||
|
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
@ -20,7 +20,7 @@
|
|||||||
<block v-for="(item,index) in list" :key="index">
|
<block v-for="(item,index) in list" :key="index">
|
||||||
<view class="item_list flex">
|
<view class="item_list flex">
|
||||||
<view>
|
<view>
|
||||||
<image class="goods_image" :src="item.image" mode="aspectFill"></image>
|
<image class="goods_image" :src="item.image" mode="aspectFit"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="left_goods_msg">
|
<view class="left_goods_msg">
|
||||||
<view class="name">{{ item.store_name }}</view>
|
<view class="name">{{ item.store_name }}</view>
|
||||||
@ -41,6 +41,35 @@
|
|||||||
<navigator class="bottom_purchase" url="./shopping_trolley" open-type="navigate">采购清单</navigator>
|
<navigator class="bottom_purchase" url="./shopping_trolley" open-type="navigate">采购清单</navigator>
|
||||||
|
|
||||||
<goodsPopup :goodsStatu="isPopupShow" @colses="isPopupShow=false" :goods_info="goodsInfo"></goodsPopup>
|
<goodsPopup :goodsStatu="isPopupShow" @colses="isPopupShow=false" :goods_info="goodsInfo"></goodsPopup>
|
||||||
|
<u-popup :show="show" @close="close">
|
||||||
|
<view>
|
||||||
|
<h3 style=" margin: 15px 5px 5px 24px;">颜色规格</h3>
|
||||||
|
<scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y">
|
||||||
|
<view class="scroll-view-item" v-for="(item,index) in attrValue" :key="index">
|
||||||
|
<view class="scroll_item_top">
|
||||||
|
<image :src="Image" mode=""></image>
|
||||||
|
<view class="text">
|
||||||
|
<view>{{item.sku}}</view>
|
||||||
|
<view>库存: <text>{{item.stock}}</text> </view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="scroll_item_bon">
|
||||||
|
<view class="reduce" @click.stop='subCart(item,index)'>-</view>
|
||||||
|
<input type="text" disabled="true" v-model="goods[index].cart_num" />
|
||||||
|
<view class="plus" :class="goods.numAdd ? 'on' : ''" @click.stop='addCart(item,index)'>+</view>
|
||||||
|
<!-- <u-number-box
|
||||||
|
button-size="36"
|
||||||
|
color="#ffffff"
|
||||||
|
bgColor="#2979ff"
|
||||||
|
iconStyle="color: #fff"
|
||||||
|
v-model="number.cart_num"
|
||||||
|
></u-number-box> -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
<button class="btn" @click="addshopcart">确定</button>
|
||||||
|
</view>
|
||||||
|
</u-popup>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -52,6 +81,9 @@
|
|||||||
} from '@/api/store.js'
|
} from '@/api/store.js'
|
||||||
import { Toast } from '@/libs/uniApi'
|
import { Toast } from '@/libs/uniApi'
|
||||||
import goodsPopup from '../cpns/goodsPopup.vue'
|
import goodsPopup from '../cpns/goodsPopup.vue'
|
||||||
|
import {
|
||||||
|
changeCartNum
|
||||||
|
} from '@/api/order.js';
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
goodsPopup
|
goodsPopup
|
||||||
@ -88,7 +120,16 @@
|
|||||||
},
|
},
|
||||||
id: '',
|
id: '',
|
||||||
order: true,
|
order: true,
|
||||||
num: ''
|
num: '',
|
||||||
|
show: false,
|
||||||
|
scrollTop: 0,
|
||||||
|
attrValue: [],
|
||||||
|
Image: '',
|
||||||
|
goods: [{
|
||||||
|
cart_num: 0
|
||||||
|
}],
|
||||||
|
goodsLite: {},
|
||||||
|
goodsindexL: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(e) {
|
onLoad(e) {
|
||||||
@ -176,23 +217,27 @@
|
|||||||
* 获取产品详情
|
* 获取产品详情
|
||||||
*/
|
*/
|
||||||
getGoodsDetails(item) {
|
getGoodsDetails(item) {
|
||||||
// console.log('e,item',e,item);
|
console.log(item);
|
||||||
// let that = this;
|
if (item.product.attrValue.length == 1) {
|
||||||
// const count = e.value
|
let that = this;
|
||||||
// getProductDetail(item.product_id).then(res => {
|
const count = '1'
|
||||||
// const unique = Object.values(res.data.sku)[0].unique
|
getProductDetail(item.product_id, { product_type: 98 }).then(res => {
|
||||||
// console.log(res.data.product_id, count, unique,'123123');
|
const unique = Object.values(res.data.sku)[0].unique
|
||||||
// that.goCat(res.data.product_id, count, unique)
|
that.goCat(res.data.product_id, count, unique)
|
||||||
// })
|
}).catch(err => {
|
||||||
let that = this;
|
Toast(err)
|
||||||
const count = '1'
|
})
|
||||||
// console.log(111);
|
} else {
|
||||||
getProductDetail(item.product_id, { product_type: 98 }).then(res => {
|
this.show = true
|
||||||
const unique = Object.values(res.data.sku)[0].unique
|
this.attrValue = item.product.attrValue
|
||||||
that.goCat(res.data.product_id, count, unique)
|
this.Image = item.image
|
||||||
}).catch(err => {
|
for (let i = 1; i < item.product.attrValue.length; i++) {
|
||||||
Toast(err)
|
this.goods.push({
|
||||||
})
|
cart_num: 0
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* 加入购物车
|
* 加入购物车
|
||||||
@ -220,7 +265,96 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
close() {
|
||||||
|
this.show = false
|
||||||
|
},
|
||||||
|
//购物车增加
|
||||||
|
addCart(item, index) {
|
||||||
|
let that = this
|
||||||
|
that.goods[index].cart_num = that.goods[index].cart_num + 1
|
||||||
|
that.goods.numAdd = true
|
||||||
|
that.goodsLite = item
|
||||||
|
that.goodsindexL = index
|
||||||
|
let q = {
|
||||||
|
is_new: 0,
|
||||||
|
product_id: that.goodsLite.product_id,
|
||||||
|
cart_num: that.goods[that.goodsindexL].cart_num,
|
||||||
|
product_attr_unique: that.goodsLite.unique,
|
||||||
|
// source: this.source,
|
||||||
|
product_type: 98,
|
||||||
|
spread_id: ''
|
||||||
|
};
|
||||||
|
postCartAdd(q).then(res => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: "添加购物车成功",
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(res => {
|
||||||
|
this.show = false
|
||||||
|
return that.$util.Tips({
|
||||||
|
title: res
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
subCart(item, index) {
|
||||||
|
let that = this
|
||||||
|
if (that.goods[index].cart_num == 0) {
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
that.goods[index].cart_num = that.goods[index].cart_num - 1
|
||||||
|
that.goods.numAdd = true
|
||||||
|
that.goodsLite = item
|
||||||
|
that.goodsindexL = index
|
||||||
|
let q = {
|
||||||
|
is_new: 0,
|
||||||
|
product_id: that.goodsLite.product_id,
|
||||||
|
cart_num: that.goods[that.goodsindexL].cart_num,
|
||||||
|
product_attr_unique: that.goodsLite.unique,
|
||||||
|
// source: this.source,
|
||||||
|
product_type: 98,
|
||||||
|
spread_id: ''
|
||||||
|
};
|
||||||
|
postCartAdd(q).then(res => {
|
||||||
|
that.$util.Tips({
|
||||||
|
title: "添加购物车成功",
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(res => {
|
||||||
|
this.show = false
|
||||||
|
return that.$util.Tips({
|
||||||
|
title: res
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
addshopcart() {
|
||||||
|
console.log(this.goodsLite);
|
||||||
|
console.log(this.goodsindexL);
|
||||||
|
this.show = false
|
||||||
|
// let that = this
|
||||||
|
// let q = {
|
||||||
|
// is_new: 0,
|
||||||
|
// product_id: that.goodsLite.product_id,
|
||||||
|
// cart_num: that.goods[that.goodsindexL].cart_num,
|
||||||
|
// product_attr_unique: that.goodsLite.unique,
|
||||||
|
// // source: this.source,
|
||||||
|
// product_type: 98,
|
||||||
|
// spread_id: ''
|
||||||
|
// };
|
||||||
|
// postCartAdd(q).then(res => {
|
||||||
|
// this.show = false
|
||||||
|
// that.$util.Tips({
|
||||||
|
// title: "添加购物车成功",
|
||||||
|
// });
|
||||||
|
// })
|
||||||
|
// .catch(res => {
|
||||||
|
// this.show = false
|
||||||
|
// return that.$util.Tips({
|
||||||
|
// title: res
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onReachBottom() {
|
onReachBottom() {
|
||||||
//如果状态为nomore 则不能在触发上拉事件
|
//如果状态为nomore 则不能在触发上拉事件
|
||||||
@ -395,4 +529,91 @@
|
|||||||
background-color: $uni-theme-color;
|
background-color: $uni-theme-color;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.scroll-Y {
|
||||||
|
height: 50vh;
|
||||||
|
width: 90%;
|
||||||
|
margin: auto;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll-view-item {
|
||||||
|
font-size: 36rpx;
|
||||||
|
border-bottom: 1px solid #ccc;
|
||||||
|
|
||||||
|
.scroll_item_top {
|
||||||
|
height: 60px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
width: 200px;
|
||||||
|
height: 60px;
|
||||||
|
float: left;
|
||||||
|
|
||||||
|
view {
|
||||||
|
height: 30px;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
|
||||||
|
text {
|
||||||
|
color: #F84221;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll_item_bon {
|
||||||
|
width: 100%;
|
||||||
|
height: 40px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.reduce {
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
text-align: center;
|
||||||
|
color: #BDC4CE;
|
||||||
|
background: #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
width: 50px;
|
||||||
|
height: 30px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plus {
|
||||||
|
width: 30px;
|
||||||
|
text-align: center;
|
||||||
|
height: 30px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: linear-gradient(180deg, #F98649 0%, #F34E45 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.on {
|
||||||
|
background-color: #e3e3e3;
|
||||||
|
color: #dedede;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
width: 100%;
|
||||||
|
height: 50px;
|
||||||
|
background: linear-gradient(84deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 24px 24px 24px 24px;
|
||||||
|
line-height: 50px;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
@ -242,6 +242,7 @@
|
|||||||
currSku: '',
|
currSku: '',
|
||||||
newData: {},
|
newData: {},
|
||||||
activeRouter: '',
|
activeRouter: '',
|
||||||
|
type_id:''
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: configMap({ hide_mer_status: 1, recommend_switch: 0, navigation: {} }, mapGetters(['isLogin',
|
computed: configMap({ hide_mer_status: 1, recommend_switch: 0, navigation: {} }, mapGetters(['isLogin',
|
||||||
@ -348,7 +349,7 @@
|
|||||||
this.cartList.valid.forEach(el => {
|
this.cartList.valid.forEach(el => {
|
||||||
el.list.forEach(goods => {
|
el.list.forEach(goods => {
|
||||||
if (goods.check) {
|
if (goods.check) {
|
||||||
type_id.push(goods.spu.spu_id)
|
type_id.push(goods.product_id)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -357,6 +358,8 @@
|
|||||||
title: '请选择产品'
|
title: '请选择产品'
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|
||||||
collectAll({
|
collectAll({
|
||||||
type_id: type_id,
|
type_id: type_id,
|
||||||
type: 1
|
type: 1
|
||||||
@ -568,7 +571,7 @@
|
|||||||
})
|
})
|
||||||
if (selectValue.length > 0) {
|
if (selectValue.length > 0) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/users/order_confirm/index?product_type=98&cartId=' + selectValue.join(',')
|
url: `/pages/users/order_confirm/index?product_type=98&cartId=${selectValue.join(',')}&type_id=12`
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
return this.$util.Tips({
|
return this.$util.Tips({
|
||||||
@ -578,12 +581,13 @@
|
|||||||
},
|
},
|
||||||
// 购物车增加
|
// 购物车增加
|
||||||
addCart: function(goods, index) {
|
addCart: function(goods, index) {
|
||||||
|
console.log(goods.cart_id);
|
||||||
let that = this;
|
let that = this;
|
||||||
changeCartNum(goods.cart_id, {
|
changeCartNum(goods.cart_id, {
|
||||||
cart_num: goods.cart_num + 1
|
cart_num: goods.cart_num + 1
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
goods.cart_num = Number(goods.cart_num) + 1
|
goods.cart_num = Number(goods.cart_num) + 1
|
||||||
that.cartTotalCount = Number(that.cartTotalCount) + 1;
|
// that.cartTotalCount = Number(that.cartTotalCount) + 1;
|
||||||
if (goods.hasOwnProperty('productAttr') && goods.cart_num > goods.productAttr.stock) {
|
if (goods.hasOwnProperty('productAttr') && goods.cart_num > goods.productAttr.stock) {
|
||||||
goods.cart_num = goods.productAttr.stock;
|
goods.cart_num = goods.productAttr.stock;
|
||||||
goods.numAdd = true;
|
goods.numAdd = true;
|
||||||
@ -649,7 +653,7 @@
|
|||||||
goods.numSub = true;
|
goods.numSub = true;
|
||||||
}
|
}
|
||||||
goods.cart_num = Number(goods.cart_num) - 1
|
goods.cart_num = Number(goods.cart_num) - 1
|
||||||
this.cartTotalCount = Number(this.cartTotalCount) - 1;
|
// this.cartTotalCount = Number(this.cartTotalCount) - 1;
|
||||||
this.cartAllCheck('goodsCheck')
|
this.cartAllCheck('goodsCheck')
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
this.$util.Tips({
|
this.$util.Tips({
|
||||||
@ -671,6 +675,7 @@
|
|||||||
let that = this;
|
let that = this;
|
||||||
getCartList({ product_type: 98 }).then(res => {
|
getCartList({ product_type: 98 }).then(res => {
|
||||||
// console.log("购物车", res)
|
// console.log("购物车", res)
|
||||||
|
this.type_id=res.data.list[0].type_id
|
||||||
res.data.list.forEach((item, index) => {
|
res.data.list.forEach((item, index) => {
|
||||||
item.allCheck = true
|
item.allCheck = true
|
||||||
item.list.forEach((goods, j) => {
|
item.list.forEach((goods, j) => {
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
<view class="right_storee">
|
<view class="right_storee">
|
||||||
<scroll-view scroll-y="true" style="height: 100%; overflow: hidden;" scroll-with-animation='true'
|
<scroll-view scroll-y="true" style="height: 100%; overflow: hidden;" scroll-with-animation='true'
|
||||||
@scrolltolower="scrolltolower" class="my-scroll-view">
|
@scrolltolower="scrolltolower" class="my-scroll-view">
|
||||||
<image class="banner" :src="src" mode="aspectFill"></image>
|
<image class="banner" :src="src" mode="aspectFit"></image>
|
||||||
<view style="background-color: #fff;width: 100%;">
|
<view style="background-color: #fff;width: 100%;">
|
||||||
<view class="tabs_box flex_a_c_j_sb">
|
<view class="tabs_box flex_a_c_j_sb">
|
||||||
<view v-for="(item,index) in tabsList" :key="index" class="flex_a_c" :class="active==index?'active':''">
|
<view v-for="(item,index) in tabsList" :key="index" class="flex_a_c" :class="active==index?'active':''">
|
||||||
|
@ -1,26 +1,115 @@
|
|||||||
<template>
|
<template>
|
||||||
<view>
|
<view style="background-color: #F0F2F5;">
|
||||||
|
<!-- <view style="height: var(--status-bar-height);background-color: red;height: 10vh;">dsfdsfsdfds</view> -->
|
||||||
<view class='productList' :style="viewColor">
|
<view class='productList' :style="viewColor">
|
||||||
<view class='search acea-row row-between-wrapper' :class="'styleType'+store_street_theme">
|
<!-- 顶部 -->
|
||||||
<!--#ifdef H5-->
|
<view class="top">
|
||||||
<view class="back" @click='backjJump()'>
|
<view style="height: 10px;">
|
||||||
<view class="iconfont icon-xiangzuo"></view>
|
|
||||||
</view>
|
</view>
|
||||||
<!--#endif-->
|
|
||||||
<view class='input acea-row row-between-wrapper'><text class='iconfont icon-sousuo'></text>
|
|
||||||
<input placeholder='搜索店铺名称' placeholder-class='placeholder' confirm-type='search' name="search"
|
<view class="head_tit">
|
||||||
:value='sotreParam.keyword' @confirm="searchSubmit"></input>
|
<view class="" style="display: flex;align-items: center;">
|
||||||
</view>
|
<view class="back" @click='backjJump()' style="margin-right: 17rpx;">
|
||||||
<view v-if="mer_location == 1" :class="'styleType'+store_street_theme" style="text-align: right;"
|
<view class="iconfont icon-xiangzuo" style="color: #333333;"></view>
|
||||||
class='iconfont search-right' @click='showMaoLocation(latitude,longitude)'>
|
</view>
|
||||||
<view class="iconfont icon-dingwei"></view>
|
<view class="" style="font-size: 40rpx;font-weight: 700;transform: skewX(-10deg);">
|
||||||
<view class="right-text" v-if="recommend_address">
|
供销综合云市场
|
||||||
{{recommend_address}}
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view style="position: relative;width: 289.14rpx;">
|
||||||
|
<!-- <text class='iconfont icon-sousuo'></text>
|
||||||
|
<input placeholder='搜索店铺名称' placeholder-class='placeholder' confirm-type='search' name="search"
|
||||||
|
:value='sotreParam.keyword' @confirm="searchSubmit"></input> -->
|
||||||
|
<u-search borderColor="#FF6D20" bgColor="white" @change="test" :showAction="false"
|
||||||
|
placeholder="请输入..." v-model="sotreParam.keyword" class="serch_cls"></u-search>
|
||||||
|
<u--image @tap="searchSubmit" class="img_cls" :showLoading="true"
|
||||||
|
src="/static/images/GXSC/SS.png" width="115.65rpx" height="56.82rpx"></u--image>
|
||||||
|
</view>
|
||||||
|
<view class='iconfont search-right'
|
||||||
|
@click="goMap(`/pages/nongKe/supply_chain/maps?street_id=${street_id}`)">
|
||||||
|
<u--image :showLoading="true" src="/static/images/GXSC/DW.png" width="50.82rpx"
|
||||||
|
height="50.82rpx"></u--image>
|
||||||
</view>
|
</view>
|
||||||
<view class="iconfont icon-xiangyou" v-if="recommend_address"></view>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="nav-wrapper" :class="'styleType'+store_street_theme">
|
<view class="content">
|
||||||
|
<view style="background-color: red;height: 10px">
|
||||||
|
asdasd
|
||||||
|
</view>
|
||||||
|
<view class="hot_serch">
|
||||||
|
<text>热搜:</text> <text @click="hotSerchFn('小张副食')">小张副食</text> <text
|
||||||
|
@click="hotSerchFn('正新酒店')">正新酒店</text>
|
||||||
|
<text @click="hotSerchFn('麻辣鸡')">麻辣鸡</text>
|
||||||
|
<text @click="hotSerchFn('手撕椒麻鸡')">手撕椒麻鸡</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="menu_cls">
|
||||||
|
<u-scroll-list indicatorActiveColor='#FF6D20'>
|
||||||
|
<view class="menu_li" @click="navGo(item.merchant_category_id)" v-for="item,index in menuList"
|
||||||
|
:key="index">
|
||||||
|
<!-- {{item.merchant_category_id}} -->
|
||||||
|
<u--image :showLoading="true" :src="imgList[index]" width="94.63rpx" height="99.63rpx"
|
||||||
|
style="margin-bottom: 20rpx;"></u--image>
|
||||||
|
<text
|
||||||
|
style="display: block;font-size: 26.29rpx; width: 15vw;">{{item.category_name}}</text>
|
||||||
|
</view>
|
||||||
|
</u-scroll-list>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="goods_list">
|
||||||
|
<view class="goods_card" @click="goStore(item.mer_id)" v-for="(item,index) in storeList"
|
||||||
|
:key="index">
|
||||||
|
<view class="left">
|
||||||
|
<u--image :showLoading="true" :src="item.mer_avatar" width="157.71rpx"
|
||||||
|
height="157.71rpx"></u--image>
|
||||||
|
</view>
|
||||||
|
<view class="right">
|
||||||
|
<view class="li head">
|
||||||
|
<text class="com_name">{{item.mer_name}}</text>
|
||||||
|
<text
|
||||||
|
style="font-weight: normal;font-size: 19.28rpx;color: red;padding:0 10rpx; border-radius: 10rpx; border: 1px solid red;">{{item.type_name}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">
|
||||||
|
<u--image v-for="item,index in [1,1,,1,1,1]" :key="index" :showLoading="true"
|
||||||
|
src="/static/images/GXSC/PF.png" width="20.85rpx" height="19.85rpx"></u--image>
|
||||||
|
<text style="margin-left: 20rpx;color: #FF6D20; ">5.0</text>
|
||||||
|
<text>月销{{item.sales}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li" style="align-items: center;">
|
||||||
|
<u--image :showLoading="true" src="/static/images/GXSC/DH.png" width="33.85rpx"
|
||||||
|
height="33.85rpx"></u--image>
|
||||||
|
<text> {{item.service_phone}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li" style="align-items: center;">
|
||||||
|
<u--image :showLoading="true" src="/static/images/GXSC/SJ.png" width="33.85rpx"
|
||||||
|
height="33.85rpx"></u--image>
|
||||||
|
<text>{{item.mer_take_time[0]}}-{{item.mer_take_time[1]}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li" style="align-items: center;">
|
||||||
|
<u--image :showLoading="true" src="/static/images/GXSC/DW.png" width="33.85rpx"
|
||||||
|
height="33.85rpx"></u--image>
|
||||||
|
<text class="address">{{item.mer_address}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 热搜 -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <view class="nav-wrapper" :class="'styleType'+store_street_theme">
|
||||||
<view class='nav acea-row row-middle' :class="'styleType'+store_street_theme">
|
<view class='nav acea-row row-middle' :class="'styleType'+store_street_theme">
|
||||||
<view v-for="item in downMenus" :key="item.key" class='item'
|
<view v-for="item in downMenus" :key="item.key" class='item'
|
||||||
:class="{'font-colors':firstKey == item.key}" @click='set_where(item.key)'>
|
:class="{'font-colors':firstKey == item.key}" @click='set_where(item.key)'>
|
||||||
@ -30,16 +119,14 @@
|
|||||||
<view class="line" :class="{'font-line':firstKey == item.key}">
|
<view class="line" :class="{'font-line':firstKey == item.key}">
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="item" @click="bindRight">
|
|
||||||
<view>筛选
|
|
||||||
<!-- <text class="iconfont icon-shaixuan"></text> -->
|
|
||||||
</view>
|
|
||||||
<view class="line">
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
<!-- 店铺 -->
|
<!-- 店铺 -->
|
||||||
|
<!--
|
||||||
<block>
|
<block>
|
||||||
<view class="store-wrapper">
|
<view class="store-wrapper">
|
||||||
<view class="store-item" v-for="(item,index) in storeList" :key="index">
|
<view class="store-item" v-for="(item,index) in storeList" :key="index">
|
||||||
@ -48,7 +135,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="zhezhao">
|
<view class="zhezhao">
|
||||||
</view>
|
</view>
|
||||||
<view class="zhezhao1" @click="goStore(item.mer_id)">
|
<view class="zhezhao1" @click="goStore(item.mer_id)">
|
||||||
<view class="title">
|
<view class="title">
|
||||||
<view>{{item.mer_name}}
|
<view>{{item.mer_name}}
|
||||||
</view>
|
</view>
|
||||||
@ -175,9 +262,12 @@
|
|||||||
<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>{{loadTitle}}
|
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
|
||||||
</view>
|
</view>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class='no-shop' v-if="!storeList.length && !loading && !loadingIcon" v-cloak>
|
<view class='no-shop' v-if="!storeList.length && !loading && !loadingIcon" v-cloak>
|
||||||
<view class='pictrue' style="margin: 0 auto;">
|
<view class='pictrue' style="margin: 0 auto;background-color: #F5F5F5;">
|
||||||
<image src='../../../static/images/noCart.png'></image>
|
<image src='../../../static/images/noCart.png'></image>
|
||||||
<text>暂无店铺,快去搜索其他店铺吧</text>
|
<text>暂无店铺,快去搜索其他店铺吧</text>
|
||||||
</view>
|
</view>
|
||||||
@ -188,14 +278,15 @@
|
|||||||
<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>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import {
|
||||||
storeMerchantList,
|
storeMerchantList,
|
||||||
getGeocoder
|
getGeocoder,
|
||||||
|
supMenuApi
|
||||||
} from '@/api/store.js';
|
} from '@/api/store.js';
|
||||||
import recommend from './component/recommend';
|
import recommend from './component/recommend';
|
||||||
import rightSlider from './component/rightSlider';
|
import rightSlider from './component/rightSlider';
|
||||||
@ -222,6 +313,25 @@
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
imgList: [
|
||||||
|
"/static/images/GXSC/BBY.png",
|
||||||
|
"/static/images/GXSC/NYSC.png",
|
||||||
|
"/static/images/GXSC/SHFW.png",
|
||||||
|
"/static/images/GXSC/SCFW.png",
|
||||||
|
"/static/images/GXSC/NFCP.png",
|
||||||
|
"/static/images/GXSC/WLSY.png",
|
||||||
|
"/static/images/GXSC/WYLY.png",
|
||||||
|
"/static/images/GXSC/MSGY.png",
|
||||||
|
"/static/images/GXSC/YLBJ.png",
|
||||||
|
"/static/images/GXSC/JYPX.png",
|
||||||
|
"/static/images/GXSC/JJRB.png",
|
||||||
|
"/static/images/GXSC/ZXJZ.png",
|
||||||
|
"/static/images/GXSC/NMJD.png",
|
||||||
|
"/static/images/GXSC/GXZH.png",
|
||||||
|
"/static/images/GXSC/DFTC.png",
|
||||||
|
"/static/images/GXSC/JDMS.png",
|
||||||
|
],
|
||||||
|
street_id: "",
|
||||||
price: 0,
|
price: 0,
|
||||||
stock: 0,
|
stock: 0,
|
||||||
nows: false,
|
nows: false,
|
||||||
@ -238,6 +348,7 @@
|
|||||||
brandList: [],
|
brandList: [],
|
||||||
downKey: 0,
|
downKey: 0,
|
||||||
downStatus: false,
|
downStatus: false,
|
||||||
|
menuList: [],
|
||||||
// 下拉菜单
|
// 下拉菜单
|
||||||
downMenu: [{
|
downMenu: [{
|
||||||
title: '默认',
|
title: '默认',
|
||||||
@ -288,16 +399,19 @@
|
|||||||
storeTypeArr: [], //店铺类型
|
storeTypeArr: [], //店铺类型
|
||||||
merList: [], //商户分类
|
merList: [], //商户分类
|
||||||
product_type: 0,
|
product_type: 0,
|
||||||
show:false,
|
show: false,
|
||||||
image: '' //图片
|
image: '', //图片,
|
||||||
|
credit_buy: '', //支持先货后款
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
console.log(options);
|
// console.log(options);
|
||||||
|
this.street_id = options.street_id
|
||||||
this.product_type = options.product_type ?? 0
|
this.product_type = options.product_type ?? 0
|
||||||
if (options.street_id != undefined) {
|
if (options.street_id != undefined) {
|
||||||
this.sotreParam.street_id = options.street_id
|
this.sotreParam.street_id = options.street_id
|
||||||
}
|
}
|
||||||
|
this.credit_buy = options.credit_buy
|
||||||
this.sotreParam.type_id = options.type_id
|
this.sotreParam.type_id = options.type_id
|
||||||
this.sotreParam.type_id = options.type_id && options.type_id.split(',').toString() || ''
|
this.sotreParam.type_id = options.type_id && options.type_id.split(',').toString() || ''
|
||||||
this.sotreParam.category_id = options.cate_id && options.cate_id.split(',').toString() || ''
|
this.sotreParam.category_id = options.cate_id && options.cate_id.split(',').toString() || ''
|
||||||
@ -308,6 +422,10 @@
|
|||||||
this.storeMerchantList();
|
this.storeMerchantList();
|
||||||
this.getClassfication();
|
this.getClassfication();
|
||||||
this.getStoreType();
|
this.getStoreType();
|
||||||
|
supMenuApi().then(res => {
|
||||||
|
this.menuList = res.data
|
||||||
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
downMenus: function() {
|
downMenus: function() {
|
||||||
@ -328,6 +446,28 @@
|
|||||||
}, mapGetters(['viewColor'])),
|
}, mapGetters(['viewColor'])),
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
test() {
|
||||||
|
if (this.sotreParam.keyword.length > 3) {
|
||||||
|
this.sotreParam.keyword.slice(0, 3)
|
||||||
|
this.sotreParam.keyword = this.sotreParam.keyword.slice(0, 3) + "..."
|
||||||
|
console.log(this.sotreParam.keyword)
|
||||||
|
}
|
||||||
|
// console.log(this.sotreParam.keyword.length)
|
||||||
|
},
|
||||||
|
hotSerchFn(keywords) {
|
||||||
|
this.sotreParam.keyword = keywords
|
||||||
|
this.searchSubmit()
|
||||||
|
},
|
||||||
|
goMap(url) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
},
|
||||||
|
navGo(id) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/nongKe/supply_chain/supplierA?type_id=10&merchant_category_id=${id}&street_id=${this.street_id}`
|
||||||
|
})
|
||||||
|
},
|
||||||
go_details: function(product_type, product_id) {
|
go_details: function(product_type, product_id) {
|
||||||
if (product_type == 98) {
|
if (product_type == 98) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
@ -496,7 +636,8 @@
|
|||||||
order: this.sotreParam.order,
|
order: this.sotreParam.order,
|
||||||
category_id: this.sotreParam.category_id,
|
category_id: this.sotreParam.category_id,
|
||||||
type_id: this.sotreParam.type_id,
|
type_id: this.sotreParam.type_id,
|
||||||
street_id: this.sotreParam.street_id
|
street_id: this.sotreParam.street_id,
|
||||||
|
credit_buy: this.credit_buy
|
||||||
}
|
}
|
||||||
if (this.latitude) {
|
if (this.latitude) {
|
||||||
rqData.location = this.latitude + ',' + this.longitude
|
rqData.location = this.latitude + ',' + this.longitude
|
||||||
@ -523,9 +664,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
searchSubmit: function(e) {
|
searchSubmit: function() {
|
||||||
let that = this;
|
let that = this;
|
||||||
that.$set(that.sotreParam, 'keyword', e.detail.value);
|
that.$set(that.sotreParam, 'keyword', this.sotreParam.keyword);
|
||||||
this.set_where(this.firstKey)
|
this.set_where(this.firstKey)
|
||||||
},
|
},
|
||||||
// 右侧切换
|
// 右侧切换
|
||||||
@ -613,54 +754,127 @@
|
|||||||
this.storeMerchantList()
|
this.storeMerchantList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.productList .search {
|
* {
|
||||||
width: 100%;
|
margin: 0;
|
||||||
height: 86rpx;
|
padding: 0;
|
||||||
padding: 0 20rpx;
|
}
|
||||||
box-sizing: border-box;
|
|
||||||
position: fixed;
|
.com_name {
|
||||||
left: 0;
|
font-size: 33.29rpx;
|
||||||
top: 0;
|
// background-color: red;
|
||||||
z-index: 9;
|
// max-width: 45vw;
|
||||||
|
max-width: 40vw;
|
||||||
|
white-space: nowrap;
|
||||||
|
/* 防止文字换行 */
|
||||||
|
overflow: hidden;
|
||||||
|
/* 超出部分隐藏 */
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
/* 使用省略号表示溢出的内容 */
|
||||||
|
// width: 200px;
|
||||||
|
/* 可根据实际情况调整容器宽度 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.head_tit {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: nowrap;
|
justify-content: space-between;
|
||||||
background-color: #fff;
|
align-items: center;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
&.styleType1 {
|
.productList {
|
||||||
background-color: var(--view-theme);
|
// padding-top: 50rpx;
|
||||||
|
// padding: 0 20rpx 0;
|
||||||
|
|
||||||
|
.top {
|
||||||
|
padding-top: var(--status-bar-height);
|
||||||
|
/* #ifdef H5 */
|
||||||
|
padding-top: 30rpx;
|
||||||
|
/* #endif */
|
||||||
|
// padding-top: 80rpx;
|
||||||
|
background-color: #F0F2F5;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 999;
|
||||||
|
width: 100%;
|
||||||
|
// margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-right {
|
.content {
|
||||||
display: flex;
|
padding: 20rpx;
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
max-width: max-content;
|
|
||||||
flex: 1;
|
|
||||||
padding-left: 20rpx;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.right-text {
|
.menu_cls {
|
||||||
|
background-color: white;
|
||||||
|
// height: 199.77rpx;
|
||||||
|
border-radius: 21.03rpx 21.03rpx 21.03rpx 21.03rpx;
|
||||||
|
padding: 20rpx 20rpx 0 20rpx;
|
||||||
|
|
||||||
|
.menu_li {
|
||||||
|
margin-right: 50rpx;
|
||||||
|
// background-color: red;
|
||||||
|
width: 50vw;
|
||||||
|
// width: 120rpx;
|
||||||
|
// display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.goods_list {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
|
||||||
|
.goods_card {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
height: auto;
|
||||||
|
background-color: white;
|
||||||
|
padding: 20rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
// align-items: center;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
width: 158rpx;
|
||||||
|
height: 158rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
.head {
|
||||||
|
font-weight: bold;
|
||||||
|
// color: red;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.li {
|
||||||
|
display: flex;
|
||||||
|
font-size: 26.29rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
text {
|
||||||
|
margin: 0 20rpx 0 5rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.address {
|
||||||
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
width: 200px;
|
||||||
font-size: 28rpx;
|
|
||||||
width: max-content;
|
|
||||||
color: #fff;
|
|
||||||
padding: 0 10rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon-xiangyou,
|
|
||||||
.icon-dingwei {
|
|
||||||
font-size: 30rpx;
|
|
||||||
color: #fff;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.search-right.styleType2 .right-text,
|
.search-right.styleType2 .right-text,
|
||||||
.search-right.styleType3 .right-text {
|
.search-right.styleType3 .right-text {
|
||||||
color: #282828;
|
color: #282828;
|
||||||
@ -688,6 +902,27 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.hot_serch {
|
||||||
|
color: #B3B3B3;
|
||||||
|
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 {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
height: 60rpx;
|
height: 60rpx;
|
||||||
@ -731,7 +966,7 @@
|
|||||||
z-index: 9;
|
z-index: 9;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 25px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 86rpx;
|
margin-top: 86rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
@ -853,7 +1088,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.store-wrapper {
|
.store-wrapper {
|
||||||
margin-top: 165rpx;
|
margin-top: 235rpx;
|
||||||
border-top: 1px solid #F6F6F6;
|
border-top: 1px solid #F6F6F6;
|
||||||
|
|
||||||
.store-item {
|
.store-item {
|
||||||
@ -1110,7 +1345,7 @@
|
|||||||
|
|
||||||
.no-shop {
|
.no-shop {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
padding-bottom: calc(100% - 176rpx);
|
// padding-bottom: calc(100% - 176rpx);
|
||||||
|
|
||||||
.pictrue {
|
.pictrue {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -1124,12 +1359,21 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.guanbi {
|
.guanbi {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
margin: 30px auto;
|
margin: 30px auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.img_cls {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
right: 7rpx;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
.pop {
|
.pop {
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
1340
pages/nongKe/supply_chain/supplierA.vue
Normal file
1340
pages/nongKe/supply_chain/supplierA.vue
Normal file
File diff suppressed because it is too large
Load Diff
1144
pages/nongKe/supply_chain/suppliers.vue
Normal file
1144
pages/nongKe/supply_chain/suppliers.vue
Normal file
File diff suppressed because it is too large
Load Diff
1311
pages/nongKe/tourism/index.vue
Normal file
1311
pages/nongKe/tourism/index.vue
Normal file
File diff suppressed because it is too large
Load Diff
@ -284,7 +284,7 @@
|
|||||||
methods: {
|
methods: {
|
||||||
// 授权关闭
|
// 授权关闭
|
||||||
authColse: function(e) {
|
authColse: function(e) {
|
||||||
// console.log(e,'authColse')
|
console.log(e,'authColse')
|
||||||
this.isShowAuth = e;
|
this.isShowAuth = e;
|
||||||
},
|
},
|
||||||
onLoadFun(){
|
onLoadFun(){
|
||||||
@ -413,7 +413,7 @@
|
|||||||
let productAttr = this.attr.productAttr;
|
let productAttr = this.attr.productAttr;
|
||||||
let value = [];
|
let value = [];
|
||||||
let arr = []
|
let arr = []
|
||||||
// console.log(arr, 'arr')
|
console.log(arr, 'arr')
|
||||||
if(this.currSku){
|
if(this.currSku){
|
||||||
value = this.currSku
|
value = this.currSku
|
||||||
}else{
|
}else{
|
||||||
@ -824,7 +824,7 @@
|
|||||||
ChangCouponsUseState(index) {
|
ChangCouponsUseState(index) {
|
||||||
let that = this;
|
let that = this;
|
||||||
that.coupon.list[index].issue = true;
|
that.coupon.list[index].issue = true;
|
||||||
// console.log(that.coupon.list[index])
|
console.log(that.coupon.list[index])
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
onReachBottom() {
|
onReachBottom() {
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
|||||||
<view :style="viewColor">
|
<view :style="viewColor">
|
||||||
<view class='payment-status'>
|
<view class='payment-status'>
|
||||||
<!--失败时: 用icon-iconfontguanbi fail替换icon-duihao2 bg-color-->
|
<!--失败时: 用icon-iconfontguanbi fail替换icon-duihao2 bg-color-->
|
||||||
<view class='iconfont icon-duihao2 icon' v-if ="order_pay_info.paid !=0"></view>
|
<view class='iconfont icon-duihao2 icon' v-if="order_pay_info.paid !=0"></view>
|
||||||
<view class='iconfont icon-iconfontguanbi icon' v-else></view>
|
<view class='iconfont icon-iconfontguanbi icon' v-else></view>
|
||||||
<!-- 失败时:订单支付失败 -->
|
<!-- 失败时:订单支付失败 -->
|
||||||
<view class='status'>{{order_pay_info.paid == 1 ?'支付成功':'订单未支付'}}</view>
|
<view class='status'>{{order_pay_info.paid == 1 ?'支付成功':'订单未支付'}}</view>
|
||||||
@ -14,26 +14,30 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class='item acea-row row-between-wrapper'>
|
<view class='item acea-row row-between-wrapper'>
|
||||||
<view>支付方式</view>
|
<view>支付方式</view>
|
||||||
<view v-if="order_pay_info.pay_type==1 || order_pay_info.pay_type==2 || order_pay_info.pay_type==3" class='itemCom'>微信</view>
|
<view v-if="order_pay_info.pay_type==1 || order_pay_info.pay_type==2 || order_pay_info.pay_type==3"
|
||||||
<view v-else-if="order_pay_info.pay_type==4 || order_pay_info.pay_type==5" class='itemCom'>支付宝</view>
|
class='itemCom'>微信</view>
|
||||||
|
<view v-else-if="order_pay_info.pay_type==4 || order_pay_info.pay_type==5" class='itemCom'>支付宝
|
||||||
|
</view>
|
||||||
<view v-else class='itemCom'>余额</view>
|
<view v-else class='itemCom'>余额</view>
|
||||||
</view>
|
</view>
|
||||||
<view class='item acea-row row-between-wrapper'>
|
<view class='item acea-row row-between-wrapper'>
|
||||||
<view>支付金额</view>
|
<view>支付金额</view>
|
||||||
<view class='itemCom'>{{order_pay_info.pay_price}}</view>
|
<view class='itemCom'>{{order_pay_info.pay_price}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="order_pay_info.give_integral > 0 && order_pay_info.paid" class='item acea-row row-between-wrapper'>
|
<view v-if="order_pay_info.give_integral > 0 && order_pay_info.paid"
|
||||||
|
class='item acea-row row-between-wrapper'>
|
||||||
<view>赠送积分</view>
|
<view>赠送积分</view>
|
||||||
<view class='itemCom t-color'>{{order_pay_info.give_integral}}个</view>
|
<view class='itemCom t-color'>{{order_pay_info.give_integral}}个</view>
|
||||||
</view>
|
</view>
|
||||||
<!--失败时加上这个 -->
|
<!--失败时加上这个 -->
|
||||||
<view class='item acea-row row-between-wrapper' v-if="order_pay_info.paid==0 && order_pay_info.pay_type != 'offline' && msg != 'success'">
|
<view class='item acea-row row-between-wrapper'
|
||||||
|
v-if="order_pay_info.paid==0 && order_pay_info.pay_type != 'offline' && msg != 'success'">
|
||||||
<view>失败原因</view>
|
<view>失败原因</view>
|
||||||
<view class='itemCom'>{{order_pay_info.pay_type==0 ? '余额不足':msg}}</view>
|
<view class='itemCom'>{{order_pay_info.pay_type==0 ? '余额不足':msg}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!--失败时: 重新购买 -->
|
<!--失败时: 重新购买 -->
|
||||||
<view @tap="goOrderDetails">
|
<view @tap="goOrderDetails(order_pay_info.paid)">
|
||||||
<button formType="submit" class='returnBnt gColor' hover-class='none'>查看订单</button>
|
<button formType="submit" class='returnBnt gColor' hover-class='none'>查看订单</button>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view @tap="goOrderDetails" v-if="order_pay_info.paid==0 && status==1">
|
<!-- <view @tap="goOrderDetails" v-if="order_pay_info.paid==0 && status==1">
|
||||||
@ -42,8 +46,10 @@
|
|||||||
<!-- <view @tap="goOrderDetails" v-if="order_pay_info.paid==0 && status==2">
|
<!-- <view @tap="goOrderDetails" v-if="order_pay_info.paid==0 && status==2">
|
||||||
<button class='returnBnt bg-color' hover-class='none'>重新支付</button>
|
<button class='returnBnt bg-color' hover-class='none'>重新支付</button>
|
||||||
</view> -->
|
</view> -->
|
||||||
<button @click="goPink(order_pay_info.activity_id)" class='returnBnt s-Color' formType="submit" hover-class='none' v-if="order_pay_info.activity_type == 4 && order_pay_info.paid">邀请好友参团</button>
|
<button @click="goPink(order_pay_info.activity_id)" class='returnBnt s-Color' formType="submit"
|
||||||
<button v-if="!order_pay_info.paid || order_pay_info.activity_type != 4" @click="goIndex" class='returnBnt s-Color' formType="submit" hover-class='none'>返回首页</button>
|
hover-class='none' v-if="order_pay_info.activity_type == 4 && order_pay_info.paid">邀请好友参团</button>
|
||||||
|
<button v-if="!order_pay_info.paid || order_pay_info.activity_type != 4" @click="goIndex"
|
||||||
|
class='returnBnt s-Color' formType="submit" hover-class='none'>返回首页</button>
|
||||||
<view class="coupon-wrapper" v-if="couponList.length>0 && order_pay_info.paid">
|
<view class="coupon-wrapper" v-if="couponList.length>0 && order_pay_info.paid">
|
||||||
<view class="hd">
|
<view class="hd">
|
||||||
<view class="line"></view>
|
<view class="line"></view>
|
||||||
@ -53,12 +59,16 @@
|
|||||||
<view class="coupon-box" :class="{on:isOpen}">
|
<view class="coupon-box" :class="{on:isOpen}">
|
||||||
<block v-for="(item,index) in couponList" :key="index">
|
<block v-for="(item,index) in couponList" :key="index">
|
||||||
<view class="coupon-item flex">
|
<view class="coupon-item flex">
|
||||||
<view class="left-bg" :style="{ 'background-image': `url(${domain}/static/diy/couponBg${keyColor}.png)` }"><text>¥</text>{{item.coupon_price}}</view>
|
<view class="left-bg"
|
||||||
|
:style="{ 'background-image': `url(${domain}/static/diy/couponBg${keyColor}.png)` }">
|
||||||
|
<text>¥</text>{{item.coupon_price}}
|
||||||
|
</view>
|
||||||
<view class="info">
|
<view class="info">
|
||||||
<view class="title">{{item.title}}</view>
|
<view class="title">{{item.title}}</view>
|
||||||
<view class="des">满{{item.use_min_price}}元可用</view>
|
<view class="des">满{{item.use_min_price}}元可用</view>
|
||||||
<block v-if="item.coupon_type == 1">
|
<block v-if="item.coupon_type == 1">
|
||||||
<view class="des">有效期:{{ item.use_start_time |timeYMD }}-{{ item.use_end_time |timeYMD}}</view>
|
<view class="des">
|
||||||
|
有效期:{{ item.use_start_time |timeYMD }}-{{ item.use_end_time |timeYMD}}</view>
|
||||||
</block>
|
</block>
|
||||||
<block v-if="item.coupon_type == 0">
|
<block v-if="item.coupon_type == 0">
|
||||||
<view class="des">领取后{{ item.coupon_time}}天内可用</view>
|
<view class="des">领取后{{ item.coupon_time}}天内可用</view>
|
||||||
@ -88,22 +98,30 @@
|
|||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
// | Author: CRMEB Team <admin@crmeb.com>
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
// +----------------------------------------------------------------------
|
// +----------------------------------------------------------------------
|
||||||
import {getPayOrder} from '@/api/order.js';
|
import {
|
||||||
import {openOrderSubscribe} from '@/utils/SubscribeMessage.js';
|
getPayOrder
|
||||||
import {mapGetters} from "vuex";
|
} from '@/api/order.js';
|
||||||
|
import {
|
||||||
|
openOrderSubscribe
|
||||||
|
} from '@/utils/SubscribeMessage.js';
|
||||||
|
import {
|
||||||
|
mapGetters
|
||||||
|
} from "vuex";
|
||||||
import authorize from '@/components/Authorize';
|
import authorize from '@/components/Authorize';
|
||||||
import { HTTP_REQUEST_URL } from '@/config/app';
|
import {
|
||||||
|
HTTP_REQUEST_URL
|
||||||
|
} from '@/config/app';
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
authorize,
|
authorize,
|
||||||
},
|
},
|
||||||
filters: {
|
filters: {
|
||||||
timeYMD: function (value) {
|
timeYMD: function(value) {
|
||||||
if(value){
|
if (value) {
|
||||||
var newDate=/\d{4}-\d{1,2}-\d{1,2}/g.exec(value)
|
var newDate = /\d{4}-\d{1,2}-\d{1,2}/g.exec(value)
|
||||||
return newDate[0]
|
return newDate[0]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -115,14 +133,16 @@
|
|||||||
isShowAuth: false, //是否隐藏授权
|
isShowAuth: false, //是否隐藏授权
|
||||||
status: 0,
|
status: 0,
|
||||||
msg: '',
|
msg: '',
|
||||||
couponList:[], //优惠券列表
|
couponList: [], //优惠券列表
|
||||||
isOpen:false ,//展开
|
isOpen: false, //展开
|
||||||
moneyBg: '/static/images/couponBg',
|
moneyBg: '/static/images/couponBg',
|
||||||
text: '展开更多',
|
text: '展开更多',
|
||||||
timer: null
|
timer: null,
|
||||||
|
product_type: '',
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: mapGetters(['isLogin','viewColor','keyColor']),
|
computed: mapGetters(['isLogin', 'viewColor', 'keyColor']),
|
||||||
onLoad: function(options) {
|
onLoad: function(options) {
|
||||||
if (!options.order_id) return this.$util.Tips({
|
if (!options.order_id) return this.$util.Tips({
|
||||||
title: '缺少参数无法查看订单支付状态'
|
title: '缺少参数无法查看订单支付状态'
|
||||||
@ -134,21 +154,21 @@
|
|||||||
this.order_type = options.order_type;
|
this.order_type = options.order_type;
|
||||||
this.status = options.status || 0;
|
this.status = options.status || 0;
|
||||||
this.msg = options.msg || '';
|
this.msg = options.msg || '';
|
||||||
|
this.product_type = options.product_type
|
||||||
if (this.isLogin) {
|
if (this.isLogin) {
|
||||||
this.refreshData();
|
this.refreshData();
|
||||||
} else {
|
} else {
|
||||||
this.isAuto = true;
|
this.isAuto = true;
|
||||||
this.isShowAuth = true
|
this.isShowAuth = true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
refreshData(){
|
refreshData() {
|
||||||
this.timer = setInterval(()=>{
|
|
||||||
this.getOrderPayInfo();
|
this.getOrderPayInfo();
|
||||||
},1000)
|
|
||||||
},
|
},
|
||||||
// 优惠券展开
|
// 优惠券展开
|
||||||
bindMore(){
|
bindMore() {
|
||||||
this.isOpen = !this.isOpen
|
this.isOpen = !this.isOpen
|
||||||
this.text = this.text == '展开更多' ? '收起' : '展开更多';
|
this.text = this.text == '展开更多' ? '收起' : '展开更多';
|
||||||
},
|
},
|
||||||
@ -158,7 +178,7 @@
|
|||||||
},
|
},
|
||||||
// 授权关闭
|
// 授权关闭
|
||||||
authColse: function(e) {
|
authColse: function(e) {
|
||||||
this.isShowAuth = e;
|
this.isShowAuth = e;
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -173,7 +193,7 @@
|
|||||||
uni.setNavigationBarTitle({
|
uni.setNavigationBarTitle({
|
||||||
title: res.data.paid == 1 ? '支付成功' : '支付失败'
|
title: res.data.paid == 1 ? '支付成功' : '支付失败'
|
||||||
});
|
});
|
||||||
if(res.data.paid == 1){
|
if (res.data.paid == 1) {
|
||||||
clearInterval(this.timer);
|
clearInterval(this.timer);
|
||||||
this.timer = null;
|
this.timer = null;
|
||||||
}
|
}
|
||||||
@ -199,16 +219,30 @@
|
|||||||
*
|
*
|
||||||
* 去订单详情页面
|
* 去订单详情页面
|
||||||
*/
|
*/
|
||||||
goOrderDetails: function(e) {
|
goOrderDetails: function(val) {
|
||||||
let that = this;
|
let that = this;
|
||||||
if (this.order_pay_info.paid == 0) {
|
if (this.product_type == 98) {
|
||||||
uni.redirectTo({
|
if(val==1){
|
||||||
url: '/pages/users/order_list/index'
|
uni.navigateTo({
|
||||||
})
|
url: `/pages/users/order_list/indexCopy?status=1&product_type=${this.product_type}`
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/users/order_list/indexCopy?status=0&product_type=${this.product_type}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
uni.redirectTo({
|
if(val==1){
|
||||||
url: '/pages/users/order_list/index?status=1'
|
uni.navigateTo({
|
||||||
})
|
url: '/pages/users/order_list/index?status=1&product_type=0'
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/users/order_list/index?status=0&product_type=0'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -231,6 +265,7 @@
|
|||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
padding: 1rpx 0 28rpx 0;
|
padding: 1rpx 0 28rpx 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.payment-status .icon {
|
.payment-status .icon {
|
||||||
font-size: 70rpx;
|
font-size: 70rpx;
|
||||||
width: 140rpx;
|
width: 140rpx;
|
||||||
@ -242,19 +277,23 @@
|
|||||||
border: 6rpx solid #f5f5f5;
|
border: 6rpx solid #f5f5f5;
|
||||||
margin: -76rpx auto 0 auto;
|
margin: -76rpx auto 0 auto;
|
||||||
background-color: #999;
|
background-color: #999;
|
||||||
&.icon-duihao2{
|
|
||||||
|
&.icon-duihao2 {
|
||||||
background-color: var(--view-theme);
|
background-color: var(--view-theme);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.payment-status .icon.fail {
|
.payment-status .icon.fail {
|
||||||
text-shadow: 0px 4px 0px #7a7a7a;
|
text-shadow: 0px 4px 0px #7a7a7a;
|
||||||
}
|
}
|
||||||
|
|
||||||
.payment-status .status {
|
.payment-status .status {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin: 25rpx 0 37rpx 0;
|
margin: 25rpx 0 37rpx 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.payment-status .wrapper {
|
.payment-status .wrapper {
|
||||||
border: 1px solid #eee;
|
border: 1px solid #eee;
|
||||||
margin: 0 30rpx 47rpx 30rpx;
|
margin: 0 30rpx 47rpx 30rpx;
|
||||||
@ -262,16 +301,20 @@
|
|||||||
border-left: 0;
|
border-left: 0;
|
||||||
border-right: 0;
|
border-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.payment-status .wrapper .item {
|
.payment-status .wrapper .item {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
color: #282828;
|
color: #282828;
|
||||||
}
|
}
|
||||||
|
|
||||||
.payment-status .wrapper .item~.item {
|
.payment-status .wrapper .item~.item {
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.payment-status .wrapper .item .itemCom {
|
.payment-status .wrapper .item .itemCom {
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
.payment-status .returnBnt {
|
.payment-status .returnBnt {
|
||||||
width: 630rpx;
|
width: 630rpx;
|
||||||
height: 86rpx;
|
height: 86rpx;
|
||||||
@ -281,46 +324,56 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 86rpx;
|
line-height: 86rpx;
|
||||||
margin: 0 auto 20rpx auto;
|
margin: 0 auto 20rpx auto;
|
||||||
&.gColor{
|
|
||||||
|
&.gColor {
|
||||||
background-color: var(--view-theme);
|
background-color: var(--view-theme);
|
||||||
}
|
}
|
||||||
&.s-Color{
|
|
||||||
|
&.s-Color {
|
||||||
color: var(--view-theme);
|
color: var(--view-theme);
|
||||||
border: 1px solid var(--view-theme);
|
border: 1px solid var(--view-theme);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.t-color {
|
.t-color {
|
||||||
color: var(--view-theme)!important;
|
color: var(--view-theme) !important;
|
||||||
}
|
}
|
||||||
.coupon-wrapper{
|
|
||||||
.hd{
|
.coupon-wrapper {
|
||||||
|
.hd {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin: 30rpx 0;
|
margin: 30rpx 0;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
.line{
|
|
||||||
|
.line {
|
||||||
width: 70rpx;
|
width: 70rpx;
|
||||||
height: 1px;
|
height: 1px;
|
||||||
background: #DCDCDC;
|
background: #DCDCDC;
|
||||||
}
|
}
|
||||||
.txt{
|
|
||||||
|
.txt {
|
||||||
margin: 0 20rpx;
|
margin: 0 20rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.coupon-box{
|
|
||||||
|
.coupon-box {
|
||||||
height: 356rpx;
|
height: 356rpx;
|
||||||
padding: 0 20rpx;
|
padding: 0 20rpx;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
&.on{
|
|
||||||
|
&.on {
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
.coupon-item{
|
|
||||||
|
.coupon-item {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 20rpx;
|
margin-bottom: 20rpx;
|
||||||
box-shadow:0px 2px 10px 0px rgba(0, 0, 0, 0.06);
|
box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.06);
|
||||||
.left-bg{
|
|
||||||
|
.left-bg {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@ -328,40 +381,46 @@
|
|||||||
height: 160rpx;
|
height: 160rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 64rpx;
|
font-size: 64rpx;
|
||||||
text{
|
|
||||||
|
text {
|
||||||
margin-top: 26rpx;
|
margin-top: 26rpx;
|
||||||
font-size: 36rpx;
|
font-size: 36rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.info{
|
|
||||||
|
.info {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-left: 20rpx;
|
margin-left: 20rpx;
|
||||||
padding: 20rpx 0;
|
padding: 20rpx 0;
|
||||||
.title{
|
|
||||||
|
.title {
|
||||||
color: #282828;
|
color: #282828;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
}
|
}
|
||||||
.des{
|
|
||||||
|
.des {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.more{
|
|
||||||
|
.more {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding-top: 24rpx;
|
padding-top: 24rpx;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
.iconfont{
|
|
||||||
|
.iconfont {
|
||||||
margin-top: 6rpx;
|
margin-top: 6rpx;
|
||||||
margin-left: 10rpx;
|
margin-left: 10rpx;
|
||||||
font-size: 20rpx;
|
font-size: 20rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -2,8 +2,9 @@
|
|||||||
<view :style="viewColor">
|
<view :style="viewColor">
|
||||||
<form @submit="formSubmit" report-submit='true'>
|
<form @submit="formSubmit" report-submit='true'>
|
||||||
<view class="release_content">
|
<view class="release_content">
|
||||||
<view v-if="community_app_switch.length == 1" class="release_tab acea-row">
|
<!-- v-if="community_app_switch.length == 1" -->
|
||||||
<view class="tab_item" v-for="(item, index) in tabList" :key="item.value" :class="{on:tabActive == item.value}" @click="changeTab(item)">
|
<view class="release_tab acea-row">
|
||||||
|
<view class="tab_item" v-for="(item, index) in tabList" :key="item.value" :class="{on:tabActive == index}" @click="changeTab(index)">
|
||||||
<text class="iconfont" :class="item.icon"></text>{{item.name}}
|
<text class="iconfont" :class="item.icon"></text>{{item.name}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -11,7 +12,7 @@
|
|||||||
<view class="release_item">
|
<view class="release_item">
|
||||||
<view class="photo_count">
|
<view class="photo_count">
|
||||||
<view class="input_photo acea-row row-middle">
|
<view class="input_photo acea-row row-middle">
|
||||||
<block v-if="tabActive == 2">
|
<block v-if="tabActive == 1">
|
||||||
<view class="pictrue" v-if="formData.video_link">
|
<view class="pictrue" v-if="formData.video_link">
|
||||||
<image class="video-bg" mode="widthFix" src="../static/images/video_bg.png"></image>
|
<image class="video-bg" mode="widthFix" src="../static/images/video_bg.png"></image>
|
||||||
<view class="videoHover" @click="videoshow">
|
<view class="videoHover" @click="videoshow">
|
||||||
@ -26,7 +27,7 @@
|
|||||||
<view><text class='iconfont icon-tianjiashipin'></text></view>
|
<view><text class='iconfont icon-tianjiashipin'></text></view>
|
||||||
<view class="text">添加视频</view>
|
<view class="text">添加视频</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="formData.image.length < 1" class="pictrue acea-row row-center-wrapper row-column add" @click.stop="clk">
|
<view class="pictrue acea-row row-center-wrapper row-column add" @click.stop="clk">
|
||||||
<view><text class='iconfont icon-fengmian'></text></view>
|
<view><text class='iconfont icon-fengmian'></text></view>
|
||||||
<view class="text">添加封面</view>
|
<view class="text">添加封面</view>
|
||||||
</view>
|
</view>
|
||||||
@ -36,7 +37,7 @@
|
|||||||
<text class="cover_text" v-if="tabActive == 2">封面</text>
|
<text class="cover_text" v-if="tabActive == 2">封面</text>
|
||||||
<view class="close_btn" @click="DelPic(index)"><text class="iconfont icon-guanbi4"></text></view>
|
<view class="close_btn" @click="DelPic(index)"><text class="iconfont icon-guanbi4"></text></view>
|
||||||
</view>
|
</view>
|
||||||
<block v-if="tabActive == 1">
|
<block v-if="tabActive == 0">
|
||||||
<view v-if="formData.image.length < 6" class="pictrue acea-row row-center-wrapper row-column add" @click.stop="clk">
|
<view v-if="formData.image.length < 6" class="pictrue acea-row row-center-wrapper row-column add" @click.stop="clk">
|
||||||
<view><text class='iconfont icon-icon25201'></text></view>
|
<view><text class='iconfont icon-icon25201'></text></view>
|
||||||
<view class="text">添加图片</view>
|
<view class="text">添加图片</view>
|
||||||
@ -186,7 +187,7 @@
|
|||||||
// #endif
|
// #endif
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
console.log(this.community_app_switch);
|
console.log(options.type);
|
||||||
this.id = options.id;
|
this.id = options.id;
|
||||||
this.order_id = options.order_id;
|
this.order_id = options.order_id;
|
||||||
this.tabActive = options.type || 1;
|
this.tabActive = options.type || 1;
|
||||||
@ -246,9 +247,10 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
/*切换tab*/
|
/*切换tab*/
|
||||||
changeTab(item) {
|
changeTab(index) {
|
||||||
if(this.tabActive == item.value) return
|
|
||||||
this.tabActive = item.value
|
|
||||||
|
this.tabActive =index
|
||||||
this.formData.image = []
|
this.formData.image = []
|
||||||
},
|
},
|
||||||
/*删除话题*/
|
/*删除话题*/
|
||||||
@ -467,6 +469,7 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
if (value.image.length == 0) return that.$util.Tips({
|
if (value.image.length == 0) return that.$util.Tips({
|
||||||
title: '请添加话题图片'
|
title: '请添加话题图片'
|
||||||
});
|
});
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<text>{{userInfo.focus}}</text>关注
|
<text>{{userInfo.focus}}</text>关注
|
||||||
</navigator>
|
</navigator>
|
||||||
<navigator :url="userInfo.is_self ? '/pages/plantGrass/plant_user_fans/index' : ''" class="item" hover-class="none">
|
<navigator :url="userInfo.is_self ? '/pages/plantGrass/plant_user_fans/index' : ''" class="item" hover-class="none">
|
||||||
<text>{{userInfo.fans}}</text>粉丝
|
<text>{{userInfo.fans==null?0:userInfo.fans}}</text>粉丝
|
||||||
</navigator>
|
</navigator>
|
||||||
<view class="item">
|
<view class="item">
|
||||||
<text>{{userInfo.start}}</text>获赞
|
<text>{{userInfo.start}}</text>获赞
|
||||||
@ -37,6 +37,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="main">
|
<view class="main">
|
||||||
|
|
||||||
<view v-if="userInfo.is_self" class="tab_count">
|
<view v-if="userInfo.is_self" class="tab_count">
|
||||||
<text @click.stop="changeTab(0)" :class="tab==0 ? 'on' : ''">作品</text>
|
<text @click.stop="changeTab(0)" :class="tab==0 ? 'on' : ''">作品</text>
|
||||||
<text @click.stop="changeTab(1)" :class="tab==1 ? 'on' : ''">赞过</text>
|
<text @click.stop="changeTab(1)" :class="tab==1 ? 'on' : ''">赞过</text>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -39,11 +39,6 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view v-if="item.more_thanFlag">
|
<view v-if="item.more_thanFlag">
|
||||||
<view class="multiSpecifica_container_item">
|
|
||||||
<view class="multiSpecifica_container_item_label flex-start">库存</view>
|
|
||||||
<view class="multiSpecifica_container_item_value"><input v-model="item.stock" type="number" placeholder="请填写商品库存" /></view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="multiSpecifica_container_item">
|
<view class="multiSpecifica_container_item">
|
||||||
<view class="multiSpecifica_container_item_label flex-start">商品编号</view>
|
<view class="multiSpecifica_container_item_label flex-start">商品编号</view>
|
||||||
<view class="multiSpecifica_container_item_value"><input v-model="item.bar_code" type="text" placeholder="请填写商品编号" /></view>
|
<view class="multiSpecifica_container_item_value"><input v-model="item.bar_code" type="text" placeholder="请填写商品编号" /></view>
|
||||||
@ -112,12 +107,6 @@
|
|||||||
<view class="changePopup_container_content_item_label">原价</view>
|
<view class="changePopup_container_content_item_label">原价</view>
|
||||||
<view class="changePopup_container_content_item_value"><input v-model="batchData.ot_price" type="number" placeholder="0.00" /></view>
|
<view class="changePopup_container_content_item_value"><input v-model="batchData.ot_price" type="number" placeholder="0.00" /></view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="changePopup_container_content_item">
|
|
||||||
<view class="changePopup_container_content_item_label">库存</view>
|
|
||||||
<view class="changePopup_container_content_item_value"><input v-model="batchData.stock" type="number" placeholder="0.00" /></view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="popup_moreThan" @click="popupOpenModel = !popupOpenModel" v-if="!popupOpenModel">
|
<view class="popup_moreThan" @click="popupOpenModel = !popupOpenModel" v-if="!popupOpenModel">
|
||||||
<text>展开</text>
|
<text>展开</text>
|
||||||
<text class="iconfont"></text>
|
<text class="iconfont"></text>
|
||||||
@ -182,7 +171,6 @@ export default {
|
|||||||
price: '', //售价
|
price: '', //售价
|
||||||
cost: '', // 成本价
|
cost: '', // 成本价
|
||||||
ot_price: '', // 原价
|
ot_price: '', // 原价
|
||||||
stock: '', // 库存
|
|
||||||
bar_code: '', // 商品编号
|
bar_code: '', // 商品编号
|
||||||
weight: '', // 重量
|
weight: '', // 重量
|
||||||
volume: '', // 体积
|
volume: '', // 体积
|
||||||
@ -363,7 +351,6 @@ export default {
|
|||||||
price: 0,
|
price: 0,
|
||||||
cost: 0,
|
cost: 0,
|
||||||
ot_price: 0,
|
ot_price: 0,
|
||||||
stock: 0,
|
|
||||||
bar_code: '',
|
bar_code: '',
|
||||||
weight: 0,
|
weight: 0,
|
||||||
volume: 0,
|
volume: 0,
|
||||||
@ -397,7 +384,6 @@ export default {
|
|||||||
price: 0,
|
price: 0,
|
||||||
cost: 0,
|
cost: 0,
|
||||||
ot_price: 0,
|
ot_price: 0,
|
||||||
stock: 0,
|
|
||||||
bar_code: '',
|
bar_code: '',
|
||||||
weight: 0,
|
weight: 0,
|
||||||
volume: 0,
|
volume: 0,
|
||||||
|
@ -48,12 +48,41 @@
|
|||||||
<view class="content_list_video">
|
<view class="content_list_video">
|
||||||
<view class="content_list_video_title">商品视频</view>
|
<view class="content_list_video_title">商品视频</view>
|
||||||
<view class="video_list">
|
<view class="video_list">
|
||||||
<view class="video_list_item photo" v-if="addGoodsSecoundData.video_link">
|
<view class="video_list_item photo" v-if="addGoodsSecoundData.video_link">
|
||||||
<view class="jiao" @click="deleteImage()">
|
<view class="jiao" @click="deleteImage()">
|
||||||
<video :src="addGoodsSecoundData.video_link"></video>
|
<!-- 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>
|
<image src="../static/images/close.png" mode="widthFix"></image>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<!--#ifndef APP-PLUS-->
|
||||||
|
<view style="position: absolute;">
|
||||||
|
<view class="videoHover" @click="videoshow">
|
||||||
|
</view>
|
||||||
|
<text class="video-text">点击可预览视频</text>
|
||||||
|
</view>
|
||||||
|
<!--#endif-->
|
||||||
|
|
||||||
|
<!--#ifdef APP-PLUS-->
|
||||||
|
<view class='preview_video'>
|
||||||
|
<view class="videoHover" @click="videoshow">
|
||||||
|
</view>
|
||||||
|
<text class="video-text">点击可预览视频</text>
|
||||||
|
</view>
|
||||||
|
<!--#endif-->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<view class="photo" @click="uploadVideo" v-else>
|
<view class="photo" @click="uploadVideo" v-else>
|
||||||
<view>
|
<view>
|
||||||
<image src="../static/images/creamer.png" mode="widthFix"></image>
|
<image src="../static/images/creamer.png" mode="widthFix"></image>
|
||||||
@ -63,7 +92,17 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</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 dobuButton">
|
||||||
<view class="handle_button margin_right" @click="lastStep">上一步</view>
|
<view class="handle_button margin_right" @click="lastStep">上一步</view>
|
||||||
<view class="handle_button" @click="submitCreatedGoods">提交</view>
|
<view class="handle_button" @click="submitCreatedGoods">提交</view>
|
||||||
@ -109,6 +148,7 @@
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
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`,
|
||||||
@ -144,6 +184,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
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() {
|
initData() {
|
||||||
let editGoodsDetils = {};
|
let editGoodsDetils = {};
|
||||||
if (getStorage('goodsDis')) {
|
if (getStorage('goodsDis')) {
|
||||||
@ -272,6 +322,8 @@
|
|||||||
uni.chooseVideo({
|
uni.chooseVideo({
|
||||||
sourceType: ['camera', 'album'],
|
sourceType: ['camera', 'album'],
|
||||||
success: res => {
|
success: res => {
|
||||||
|
console.log(res)
|
||||||
|
|
||||||
if (Math.ceil(res.size / 1024) < this.upload_max * 1024) {
|
if (Math.ceil(res.size / 1024) < this.upload_max * 1024) {
|
||||||
uni.uploadFile({
|
uni.uploadFile({
|
||||||
url: this.uploadUrl, //仅为示例,非真实的接口地址
|
url: this.uploadUrl, //仅为示例,非真实的接口地址
|
||||||
@ -303,9 +355,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
fail: err => {
|
fail: err => {
|
||||||
uni.showModal({
|
// 取消上传也会出现弹框
|
||||||
content: JSON.stringify(err)
|
// uni.showModal({
|
||||||
});
|
// content: JSON.stringify(err)
|
||||||
|
// });
|
||||||
|
console.log(err)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -359,7 +413,32 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.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 {
|
.photo {
|
||||||
border: 1px solid #dddddd;
|
border: 1px solid #dddddd;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
@ -402,7 +481,10 @@
|
|||||||
height: 150rpx;
|
height: 150rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.preview_video{
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
}
|
||||||
.container_input {
|
.container_input {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
padding: 0 20rpx;
|
padding: 0 20rpx;
|
||||||
@ -521,7 +603,24 @@
|
|||||||
.marginTop_none {
|
.marginTop_none {
|
||||||
margin-top: 0;
|
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 {
|
// .writeBg {
|
||||||
// background: #fff;
|
// background: #fff;
|
||||||
// }
|
// }
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
price: '', // 售价
|
price: '', // 售价
|
||||||
cost: '', // 成本价
|
cost: '', // 成本价
|
||||||
ot_price: '', // 原价
|
ot_price: '', // 原价
|
||||||
stock: '', // 库存
|
|
||||||
bar_code: '', // 商品编号
|
bar_code: '', // 商品编号
|
||||||
weight: '', // 重量
|
weight: '', // 重量
|
||||||
volume: '', // 体积
|
volume: '', // 体积
|
||||||
@ -56,13 +55,6 @@
|
|||||||
type: 'digit',
|
type: 'digit',
|
||||||
holder: '请填写原价',
|
holder: '请填写原价',
|
||||||
model: 'ot_price'
|
model: 'ot_price'
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
label: '库存',
|
|
||||||
type: 'number',
|
|
||||||
holder: '请填写库存',
|
|
||||||
model: 'stock'
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
moreThanList: [
|
moreThanList: [
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -9,27 +9,32 @@
|
|||||||
<swiper-item :class="{ active: 0 == swiperCur }">
|
<swiper-item :class="{ active: 0 == swiperCur }">
|
||||||
<view class="slide-navigator">
|
<view class="slide-navigator">
|
||||||
<view class="item" hover-class='none' @click="jumpAddGoods">
|
<view class="item" hover-class='none' @click="jumpAddGoods">
|
||||||
<image mode='widthFix' class="image" src="../static/images/product_add.png"></image>
|
<image mode='widthFix' class="image" src="../static/images/product_add.png">
|
||||||
|
</image>
|
||||||
<text class="text">添加商品</text>
|
<text class="text">添加商品</text>
|
||||||
</view>
|
</view>
|
||||||
<navigator class="item" :url="`/pages/product/goodsOnSale/index?mer_id=${mer_id}&type=1`"
|
<navigator class="item" :url="`/pages/product/goodsOnSale/index?mer_id=${mer_id}&type=1`"
|
||||||
hover-class='none'>
|
hover-class='none'>
|
||||||
<image mode='widthFix' class="image" src="../static/images/product_sales.png"></image>
|
<image mode='widthFix' class="image" src="../static/images/product_sales.png">
|
||||||
|
</image>
|
||||||
<text class="text">在售商品</text>
|
<text class="text">在售商品</text>
|
||||||
</navigator>
|
</navigator>
|
||||||
<navigator class="item" :url="`/pages/product/goodsOnSale/index?mer_id=${mer_id}&type=3`"
|
<navigator class="item" :url="`/pages/product/goodsOnSale/index?mer_id=${mer_id}&type=3`"
|
||||||
hover-class='none'>
|
hover-class='none'>
|
||||||
<image mode='widthFix' class="image" src="../static/images/product_out.png"></image>
|
<image mode='widthFix' class="image" src="../static/images/product_out.png">
|
||||||
|
</image>
|
||||||
<text class="text">售罄商品</text>
|
<text class="text">售罄商品</text>
|
||||||
</navigator>
|
</navigator>
|
||||||
<navigator class="item" :url="`/pages/product/goodsOnSale/index?mer_id=${mer_id}&type=5`"
|
<navigator class="item" :url="`/pages/product/goodsOnSale/index?mer_id=${mer_id}&type=5`"
|
||||||
hover-class='none'>
|
hover-class='none'>
|
||||||
<image mode='widthFix' class="image" src="../static/images/product_recycle.png"></image>
|
<image mode='widthFix' class="image" src="../static/images/product_recycle.png">
|
||||||
|
</image>
|
||||||
<text class="text">回收站</text>
|
<text class="text">回收站</text>
|
||||||
</navigator>
|
</navigator>
|
||||||
<navigator class="item" :url="`/pages/product/storeClassification/index?mer_id=${mer_id}`"
|
<navigator class="item" :url="`/pages/product/storeClassification/index?mer_id=${mer_id}`"
|
||||||
hover-class='none'>
|
hover-class='none'>
|
||||||
<image mode='widthFix' class="image" src="../static/images/product_cate.png"></image>
|
<image mode='widthFix' class="image" src="../static/images/product_cate.png">
|
||||||
|
</image>
|
||||||
<text class="text">店铺分类</text>
|
<text class="text">店铺分类</text>
|
||||||
</navigator>
|
</navigator>
|
||||||
</view>
|
</view>
|
||||||
@ -38,7 +43,8 @@
|
|||||||
<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>
|
<image mode='widthFix' class="image" src="../static/images/product_freight.png">
|
||||||
|
</image>
|
||||||
<text class="text">运费模板</text>
|
<text class="text">运费模板</text>
|
||||||
</navigator>
|
</navigator>
|
||||||
<navigator class="item" :url="`/pages/product/addGoods/mulSpecification?mer_id=${mer_id}`"
|
<navigator class="item" :url="`/pages/product/addGoods/mulSpecification?mer_id=${mer_id}`"
|
||||||
@ -46,6 +52,12 @@
|
|||||||
<image mode='widthFix' class="image" src="../static/images/product_specification.png"></image>
|
<image mode='widthFix' class="image" src="../static/images/product_specification.png"></image>
|
||||||
<text class="text">规格模板</text>
|
<text class="text">规格模板</text>
|
||||||
</navigator>
|
</navigator>
|
||||||
|
<navigator class="item"
|
||||||
|
:url="`/pages/users/online_warehousing/index?mer_id=${mer_id}&product_id=${data.product_id}&unique=${data.unique}`"
|
||||||
|
hover-class='none'>
|
||||||
|
<image mode='widthFix' class="image" src="@/static/images/daoru.png"></image>
|
||||||
|
<text class="text">商品导入</text>
|
||||||
|
</navigator>
|
||||||
</view>
|
</view>
|
||||||
</swiper-item>
|
</swiper-item>
|
||||||
</block>
|
</block>
|
||||||
@ -75,28 +87,60 @@
|
|||||||
<text class='ot_price'>¥{{item.ot_price}}</text>
|
<text class='ot_price'>¥{{item.ot_price}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view style="position: absolute; top: 10px; right: 10px;">
|
||||||
|
<!-- 插件无需手动引入,直接使用即可 -->
|
||||||
|
<!-- 里面···可以改为任意东西,图片也可以 -->
|
||||||
|
<!-- 参数$event不可修改,否则取不到点击事件详情 -->
|
||||||
|
<rudon-rowMenuDotDotDot :localdata="options" @change="menuAction($event, item.attrValue)">
|
||||||
|
. . .
|
||||||
|
</rudon-rowMenuDotDotDot>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="operation acea-row row-between-wrapper">
|
<view class="operation acea-row row-between-wrapper">
|
||||||
<view></view>
|
|
||||||
<view class="acea-row row-middle">
|
<view class="acea-row row-middle">
|
||||||
<view v-if="item.is_show == 1 && item.status == 1" class="bnt" @tap.stop="handleShelves(item,0)">下架
|
<view v-if="item.is_show == 1 && item.status == 1" class="bnt" @tap.stop="handleShelves(item,0)">下架
|
||||||
</view>
|
</view>
|
||||||
<view v-if="item.is_show == 0 && item.status == 1" class="bnt" @tap.stop="handleShelves(item),1">上架
|
<view v-if="item.is_show == 0 && item.status == 1" class="bnt" @tap.stop="handleShelves(item),1">上架
|
||||||
</view>
|
</view>
|
||||||
<view @click="editGoods(item)" class="bnt">编辑</view>
|
<view @click="editGoods(item)" class="bnt">编辑</view>
|
||||||
<navigator :url="'/pages/admin/goods_details/index?product_id='+item.product_id+'&product_type=0'"
|
<view class="bnt" v-if="item.is_show == 0" @tap.stop="handleRecycle(item,index)">删除
|
||||||
class="bnt" hover-class='none'>预览</navigator>
|
</view>
|
||||||
<view class="bnt" v-if="item.is_show == 0" @tap.stop="handleRecycle(item,index)">删除</view>
|
|
||||||
<view class="bnt bnt_recommend" v-if="item.is_show == 1" @tap.stop="handleRecommend(item)">
|
<view class="bnt bnt_recommend" v-if="item.is_show == 1" @tap.stop="handleRecommend(item)">
|
||||||
{{item.is_good ? '取消推荐' : '店铺推荐'}}
|
{{item.is_good ? '取消推荐' : '店铺推荐'}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</block>
|
</block>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<Loading :loaded="loaded" :loading="loading"></Loading>
|
<Loading :loaded="loaded" :loading="loading"></Loading>
|
||||||
</view>
|
</view>
|
||||||
|
<u-popup :show="show" @close="close" mode="center" bgColor='transparent'>
|
||||||
|
<image src="@/static/images/xianxia.png" mode="widthFix"></image>
|
||||||
|
<view class="popen">
|
||||||
|
<h4 v-if="this.on_line==1">线下入库</h4>
|
||||||
|
<h4 v-else>线上入库</h4>
|
||||||
|
<view class="guige">
|
||||||
|
<scroll-view scroll-y="true" class="scroll_y">
|
||||||
|
<view>
|
||||||
|
<u-radio-group v-model="checkboxValue1" placement="column" @change="checkboxChange">
|
||||||
|
<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in checkboxList1"
|
||||||
|
@change="radioChange(item)" :key="index" :label="item.sku" :name="item.unique" v-if="item.sku">
|
||||||
|
</u-radio>
|
||||||
|
</u-radio-group>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
<view class="shuru" v-if="this.on_line == 1">
|
||||||
|
数量: <input type="number" v-model="data.number" placeholder="请输入">
|
||||||
|
</view>
|
||||||
|
<view class="btn">
|
||||||
|
<button class="btn_l" @click="close()">取消</button>
|
||||||
|
<button class="btn_r" @click="creat()">提交</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-popup>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -114,7 +158,8 @@
|
|||||||
productLstApi,
|
productLstApi,
|
||||||
productDeleteApi,
|
productDeleteApi,
|
||||||
productOffApi,
|
productOffApi,
|
||||||
productRecommendApi
|
productRecommendApi,
|
||||||
|
postImport
|
||||||
} from "@/api/product";
|
} from "@/api/product";
|
||||||
import Loading from '@/components/Loading/index.vue';
|
import Loading from '@/components/Loading/index.vue';
|
||||||
import {
|
import {
|
||||||
@ -145,6 +190,32 @@
|
|||||||
productList: [],
|
productList: [],
|
||||||
swiperCur: 0,
|
swiperCur: 0,
|
||||||
circular: true,
|
circular: true,
|
||||||
|
attrValue: [],
|
||||||
|
options: [{
|
||||||
|
value: '0',
|
||||||
|
text: '线上入库'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: '1',
|
||||||
|
text: '线下入库'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: '2',
|
||||||
|
text: '预览'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
//线下
|
||||||
|
show: false,
|
||||||
|
//单选示例
|
||||||
|
checkboxValue1: [],
|
||||||
|
// 基本案列数据
|
||||||
|
checkboxList1: [],
|
||||||
|
data: {
|
||||||
|
product_id: '',
|
||||||
|
unique: "",
|
||||||
|
number: 1
|
||||||
|
},
|
||||||
|
on_line: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
@ -158,7 +229,95 @@
|
|||||||
this.getList(this.mer_id);
|
this.getList(this.mer_id);
|
||||||
uni.stopPullDownRefresh()
|
uni.stopPullDownRefresh()
|
||||||
},
|
},
|
||||||
|
onHide() {
|
||||||
|
this.show = false
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
menuAction(action, rowId) {
|
||||||
|
// 忽略初始化时的传入的空操作
|
||||||
|
if (action === '') {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.on_line = action
|
||||||
|
this.checkboxList1 = rowId
|
||||||
|
console.log(this.on_line);
|
||||||
|
if (this.checkboxList1.length == 1 && action == 0) {
|
||||||
|
// this.show = true
|
||||||
|
navigateTo(1, '/pages/users/online_warehousing/index', {
|
||||||
|
mer_id: this.mer_id,
|
||||||
|
product_id: this.data.product_id,
|
||||||
|
unique: this.data.unique,
|
||||||
|
});
|
||||||
|
} else if (this.checkboxList1.length == 1 && action == 1) {
|
||||||
|
this.show = true
|
||||||
|
this.data.product_id = this.checkboxList1[0].product_id
|
||||||
|
this.data.unique = this.checkboxList1[0].unique
|
||||||
|
console.log(this.data);
|
||||||
|
} else {
|
||||||
|
this.show = true
|
||||||
|
}
|
||||||
|
if (action == 2) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/admin/goods_details/index?product_id=${this.checkboxList1[0].product_id}&product_type=0`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.show = false
|
||||||
|
},
|
||||||
|
//导入
|
||||||
|
creat() {
|
||||||
|
if (this.on_line == 1) {
|
||||||
|
if (this.data.number < 1) {
|
||||||
|
this.show = false
|
||||||
|
this.$util.Tips({
|
||||||
|
title: '入库数量不得小于一件'
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
postImport(this.mer_id, this.data).then(res => {
|
||||||
|
console.log(res);
|
||||||
|
this.show = false
|
||||||
|
this.$util.Tips({
|
||||||
|
title: res.message
|
||||||
|
})
|
||||||
|
this.getList(this.mer_id);
|
||||||
|
}).catch(err => {
|
||||||
|
this.show = false
|
||||||
|
this.$util.Tips({
|
||||||
|
title: '请选择规格后再次进行入库'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.on_line == 0) {
|
||||||
|
console.log('12');
|
||||||
|
if (!this.data.product_id) {
|
||||||
|
this.show = false
|
||||||
|
this.$util.Tips({
|
||||||
|
title: '请选择规格'
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
navigateTo(1, '/pages/users/online_warehousing/index', {
|
||||||
|
mer_id: this.mer_id,
|
||||||
|
product_id: this.data.product_id,
|
||||||
|
unique: this.data.unique,
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
//规格
|
||||||
|
checkboxChange(n) {
|
||||||
|
this.data.unique = n
|
||||||
|
console.log(n);
|
||||||
|
},
|
||||||
|
radioChange(n) {
|
||||||
|
this.data.product_id = n.product_id
|
||||||
|
console.log(this.data);
|
||||||
|
},
|
||||||
// 跳转添加商品界面
|
// 跳转添加商品界面
|
||||||
jumpAddGoods() {
|
jumpAddGoods() {
|
||||||
const data = getStorage('addGoodsFormData');
|
const data = getStorage('addGoodsFormData');
|
||||||
@ -172,11 +331,16 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
navigateTo(1, '/pages/product/addGoods/index', { mer_id: this.mer_id });
|
navigateTo(1, '/pages/product/addGoods/index', {
|
||||||
|
mer_id: this.mer_id
|
||||||
|
});
|
||||||
},
|
},
|
||||||
// swiper
|
// swiper
|
||||||
swiperChange(e) {
|
swiperChange(e) {
|
||||||
let { current, source } = e.detail;
|
let {
|
||||||
|
current,
|
||||||
|
source
|
||||||
|
} = e.detail;
|
||||||
if (source === 'touch') {
|
if (source === 'touch') {
|
||||||
//根据官方 source 来进行判断swiper的change事件是通过什么来触发的,autoplay是自动轮播。touch是用户手动滑动。其他的就是未知问题。抖动问题主要由于未知问题引起的,所以做了限制,只有在自动轮播和用户主动触发才去改变current值,达到规避了抖动bug
|
//根据官方 source 来进行判断swiper的change事件是通过什么来触发的,autoplay是自动轮播。touch是用户手动滑动。其他的就是未知问题。抖动问题主要由于未知问题引起的,所以做了限制,只有在自动轮播和用户主动触发才去改变current值,达到规避了抖动bug
|
||||||
this.swiperCur = e.detail.current;
|
this.swiperCur = e.detail.current;
|
||||||
@ -192,6 +356,7 @@
|
|||||||
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.where.page = that.where.page + 1;
|
that.where.page = that.where.page + 1;
|
||||||
|
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
that.$util.Tips({
|
that.$util.Tips({
|
||||||
@ -217,7 +382,10 @@
|
|||||||
removeStorage(item);
|
removeStorage(item);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
navigateTo(1, '/pages/product/addGoods/index', { mer_id: item.mer_id, product_id: item.product_id });
|
navigateTo(1, '/pages/product/addGoods/index', {
|
||||||
|
mer_id: item.mer_id,
|
||||||
|
product_id: item.product_id
|
||||||
|
});
|
||||||
},
|
},
|
||||||
handleRecycle(item, index) {
|
handleRecycle(item, index) {
|
||||||
let that = this;
|
let that = this;
|
||||||
@ -261,7 +429,9 @@
|
|||||||
//上下架
|
//上下架
|
||||||
onAndOff(item, status) {
|
onAndOff(item, status) {
|
||||||
let that = this;
|
let that = this;
|
||||||
productOffApi(that.mer_id, item.product_id, { status: status }).then((res) => {
|
productOffApi(that.mer_id, item.product_id, {
|
||||||
|
status: status
|
||||||
|
}).then((res) => {
|
||||||
that.$util.Tips({
|
that.$util.Tips({
|
||||||
title: res.message,
|
title: res.message,
|
||||||
icon: 'success'
|
icon: 'success'
|
||||||
@ -278,7 +448,9 @@
|
|||||||
handleRecommend(item) {
|
handleRecommend(item) {
|
||||||
let that = this
|
let that = this
|
||||||
let is_good = item.is_good ? 0 : 1
|
let is_good = item.is_good ? 0 : 1
|
||||||
productRecommendApi(that.mer_id, item.product_id, { is_good: is_good }).then((res) => {
|
productRecommendApi(that.mer_id, item.product_id, {
|
||||||
|
is_good: is_good
|
||||||
|
}).then((res) => {
|
||||||
that.$util.Tips({
|
that.$util.Tips({
|
||||||
title: res.message,
|
title: res.message,
|
||||||
icon: 'success'
|
icon: 'success'
|
||||||
@ -528,7 +700,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.operation {
|
.operation {
|
||||||
padding: 20upx 30upx;
|
padding: 20upx 10px;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-radius: 0 0 10rpx 10rpx;
|
border-radius: 0 0 10rpx 10rpx;
|
||||||
@ -555,5 +727,91 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.acea-row.row-between-wrapper {
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.genduo {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
border: 1px solid #999999;
|
||||||
|
border-radius: 10px;
|
||||||
|
width: 30px;
|
||||||
|
height: 10px;
|
||||||
|
|
||||||
|
.gen_sel {
|
||||||
|
font-size: 12px
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.popen {
|
||||||
|
position: absolute;
|
||||||
|
top: 110px;
|
||||||
|
width: 100%;
|
||||||
|
margin: auto;
|
||||||
|
padding: 10px;
|
||||||
|
z-index: 0;
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 20px;
|
||||||
|
padding: 5px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.guige {
|
||||||
|
margin: 10px 0 10px 20px;
|
||||||
|
|
||||||
|
.scroll_y {
|
||||||
|
max-height: 150px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.guiges {
|
||||||
|
height: 100px;
|
||||||
|
margin: 10px 0 10px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shuru {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
padding: 5px;
|
||||||
|
margin-left: 20px;
|
||||||
|
|
||||||
|
input {
|
||||||
|
background: #F5F5F5;
|
||||||
|
border-radius: 8px 8px 8px 8px;
|
||||||
|
border: 1px solid #999999;
|
||||||
|
padding-left: 3px;
|
||||||
|
margin-left: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
margin: 10px;
|
||||||
|
|
||||||
|
.btn_l {
|
||||||
|
padding: 5px;
|
||||||
|
width: 100px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn_r {
|
||||||
|
width: 100px;
|
||||||
|
padding: 5px;
|
||||||
|
border-radius: 4px;
|
||||||
|
background: linear-gradient(180deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 27px 27px 27px 27px;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
456
pages/releaseManagement/details/index.vue
Normal file
456
pages/releaseManagement/details/index.vue
Normal file
@ -0,0 +1,456 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<view class="content_top">
|
||||||
|
<view class="content_top-one">
|
||||||
|
<view class="content_symbol">
|
||||||
|
<image :src="listobj.mer_avatar" mode="aspectFit"></image>
|
||||||
|
</view>
|
||||||
|
<view class="content_title" >
|
||||||
|
<view class="title_one">
|
||||||
|
{{listobj.mer_name}}
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="title_two">
|
||||||
|
{{listobj.care_count>0?listobj.care_count:0}}人关注 {{listobj.sales>0?listobj.sales:0}}销量
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content_titimg">
|
||||||
|
<image src="@/static/images/sym.png" mode="aspectFit"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view view class="content_top-two">
|
||||||
|
<view class="price">
|
||||||
|
¥{{listobj.total_price}}
|
||||||
|
<!-- <input type="text" :value="listobj.total_price" v-model="listobj.total_price" /> -->
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="top-two_content">
|
||||||
|
<textarea :value="listobj.content" placeholder="" style="height: auto;" />
|
||||||
|
</view>
|
||||||
|
<view class="top-two_img">
|
||||||
|
|
||||||
|
<view class="" v-for="(item,index) in listobj.image">
|
||||||
|
<image :src="item" mode=""></image>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="content_middle">
|
||||||
|
<view class="middle-one" v-for="(item,b) in listobj.resale" :key='b'>
|
||||||
|
<view class="midding-img">
|
||||||
|
<image :src="item.image" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="middle-one_text">
|
||||||
|
<view class="one_text_a">
|
||||||
|
{{item.store_name}}
|
||||||
|
</view>
|
||||||
|
<view class="one_text_b">
|
||||||
|
¥{{item.price}}
|
||||||
|
</view>
|
||||||
|
<view class="one_text_c">
|
||||||
|
|
||||||
|
<!-- <view class="">
|
||||||
|
采购价:{{item.price}}
|
||||||
|
</view> -->
|
||||||
|
<view class="">
|
||||||
|
数量: {{item.number}}
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="content_enter">
|
||||||
|
<view class="content_enter-one">
|
||||||
|
类型
|
||||||
|
</view>
|
||||||
|
<view class="content_enter-two" v-if="listobj.resale_type==1">
|
||||||
|
调货
|
||||||
|
</view>
|
||||||
|
<view class="content_enter-two" v-else>
|
||||||
|
打折
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="content_bootm" v-if='listobj.resale'>
|
||||||
|
<view class="content_bootm_txt" v-if='listobj.resale.length>0'>
|
||||||
|
查看TA提到的宝贝({{listobj.resale.length}})
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="content_bootm_one" v-for="(items,i) in listobj.resale" :key='i' @click="Merchbaby(items)">
|
||||||
|
<view class="bootm_oneimg">
|
||||||
|
<image :src="items.image" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="" >
|
||||||
|
{{items.store_name}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
getResaleid
|
||||||
|
} from '@/api/release.js'
|
||||||
|
export default {
|
||||||
|
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
detail: {},
|
||||||
|
listobj: {},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(e) {
|
||||||
|
if (e) {
|
||||||
|
this.detail = e.key;
|
||||||
|
this.shopdetil(this.detail)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//商品详情
|
||||||
|
shopdetil(id) {
|
||||||
|
|
||||||
|
getResaleid(id).then(res => {
|
||||||
|
if (res.data.status = 200) {
|
||||||
|
this.listobj = res.data
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
//商品宝贝详情
|
||||||
|
Merchbaby(item) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/goods_details/index?id=${item.product_id}`
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
prouctOrder() {
|
||||||
|
getCommunityaddCart(this.listobj).then(res => {
|
||||||
|
if (res.status == 200) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/users/order_confirm/index?cartId=' + res.data.cart_id.toString()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}).catch((err) => {
|
||||||
|
console.log(err)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.content {}
|
||||||
|
|
||||||
|
.content_top {
|
||||||
|
padding: 21rpx 28rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
|
||||||
|
.content_top-one {
|
||||||
|
display: flex;
|
||||||
|
border-bottom: 1rpx solid #CCCCCC;
|
||||||
|
|
||||||
|
.content_symbol {
|
||||||
|
width: 81rpx;
|
||||||
|
height: 81rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 81rpx;
|
||||||
|
height: 81rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
margin-bottom: 21rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_title {
|
||||||
|
margin-left: 21rpx;
|
||||||
|
|
||||||
|
.title_one {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title_two {
|
||||||
|
font-size: 25rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_titimg {
|
||||||
|
width: 116rpx;
|
||||||
|
height: 64rpx;
|
||||||
|
margin-top: -10rpx;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 136rpx;
|
||||||
|
height: 64rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_top-two {
|
||||||
|
.price {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 21rpx;
|
||||||
|
font-size: 46rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
|
||||||
|
input {
|
||||||
|
font-size: 46rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-two_content {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333;
|
||||||
|
margin-top: 21rpx;
|
||||||
|
margin-bottom: 21rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-two_img {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
|
||||||
|
view {
|
||||||
|
width: 217rpx;
|
||||||
|
height: 217rpx;
|
||||||
|
border-radius: 14rpx 14rpx 14rpx 14rpx;
|
||||||
|
margin-right: 15rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 217rpx;
|
||||||
|
height: 217rpx;
|
||||||
|
border-radius: 14rpx 14rpx 14rpx 14rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_middle {
|
||||||
|
|
||||||
|
.middle-one {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
display: flex;
|
||||||
|
margin-top: 28rpx;
|
||||||
|
padding: 21rpx 0;
|
||||||
|
|
||||||
|
.midding-img {
|
||||||
|
width: 176rpx;
|
||||||
|
height: 176rpx;
|
||||||
|
margin-left: 24rpx;
|
||||||
|
margin-right: 21rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 176rpx;
|
||||||
|
height: 176rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.middle-one_text {
|
||||||
|
.one_text_a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one_text_b {
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-top: 11rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one_text_c {
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
margin-top: 12rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-right: 50rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_enter {
|
||||||
|
height: 89rpx;
|
||||||
|
line-height: 89rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
opacity: 1;
|
||||||
|
margin-top: 28rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 0 20rpx;
|
||||||
|
|
||||||
|
.content_enter-one {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_enter-two {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #F84221;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_bootm {
|
||||||
|
|
||||||
|
margin-bottom: 150rpx;
|
||||||
|
|
||||||
|
.content_bootm_txt {
|
||||||
|
margin-top: 42rpx;
|
||||||
|
padding-left: 28rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_bootm_one {
|
||||||
|
height: 112rpx;
|
||||||
|
line-height: 112rpx;
|
||||||
|
padding-right: 28rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
display: flex;
|
||||||
|
margin-top: 21rpx;
|
||||||
|
|
||||||
|
.bootm_oneimg {
|
||||||
|
width: 80rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
margin: auto 0;
|
||||||
|
margin-left: 28rpx;
|
||||||
|
margin-right: 21rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 80rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pay {
|
||||||
|
width: 100%;
|
||||||
|
height: 121rpx;
|
||||||
|
line-height: 121rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
position: fixed;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 0 28rpx;
|
||||||
|
|
||||||
|
.pay_tilte-a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 42rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pay_tilte-b {
|
||||||
|
width: 238rpx;
|
||||||
|
height: 74rpx;
|
||||||
|
line-height: 74rpx;
|
||||||
|
text-align: center;
|
||||||
|
background: linear-gradient(90deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 37rpx 37rpx 37rpx 37rpx;
|
||||||
|
opacity: 1;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
margin: auto 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.domain {
|
||||||
|
width: 100%;
|
||||||
|
height: 121rpx;
|
||||||
|
line-height: 121rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
position: fixed;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 0 28rpx;
|
||||||
|
|
||||||
|
.domain_tilte-a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-size: 42rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.domain_tilte-b {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.domain_tilte-c {
|
||||||
|
width: 238rpx;
|
||||||
|
height: 74rpx;
|
||||||
|
line-height: 74rpx;
|
||||||
|
text-align: center;
|
||||||
|
background: linear-gradient(90deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 37rpx 37rpx 37rpx 37rpx;
|
||||||
|
opacity: 1;
|
||||||
|
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
margin: auto 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
588
pages/releaseManagement/index.vue
Normal file
588
pages/releaseManagement/index.vue
Normal file
@ -0,0 +1,588 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
|
||||||
|
<view class="content_top">
|
||||||
|
<!--选项卡滑动切换-->
|
||||||
|
<cxNavTitle :tabs="tabs" :activeItem="activeItem" :show="false" @tabClick="tabClick"></cxNavTitle>
|
||||||
|
</view>
|
||||||
|
<!-- 审核通过 打折有拒绝、同意功能 ,调货不需要功能 -->
|
||||||
|
<view class="content-content">
|
||||||
|
<view class="" v-for="(item,i) in orderList" :key='i'
|
||||||
|
style=" border-radius: 14rpx 14rpx 14rpx 14rpx;margin-bottom: 23rpx;background-color: #FFFFFF; padding: 28rpx 46rpx;">
|
||||||
|
|
||||||
|
<view @click="detail(item)"
|
||||||
|
:class="tabTitle=='tabTwo'?'content-onea':'content-one'&&(tabTitle=='tabFive'&&item.resale_type==1)?'content-onea':'content-one'">
|
||||||
|
<view class="content-one-img">
|
||||||
|
|
||||||
|
<image :src="item.image.indexOf(',')>-1?item.image.split(',')[0]:item.image" mode="aspectFit">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
<view class="content-one-txt" v-if="tabTitle=='tabFive'">
|
||||||
|
<view class="one-txt-a">
|
||||||
|
{{item.title}}
|
||||||
|
</view>
|
||||||
|
<view class="one-txt-b" style="margin-top: 5px;">
|
||||||
|
<view class="txt-b-a">
|
||||||
|
¥ {{item.total_price}}
|
||||||
|
</view>
|
||||||
|
<view class="txt-b-b"
|
||||||
|
style="font-size: 28rpx;font-family: SF Pro Display-Regular, SF Pro Display;font-weight: 400;color: #999999;">
|
||||||
|
结算价:¥{{item.discount_price}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="txt-b-b" style="margin-top: 5px;" v-if="item.resale_type==1">
|
||||||
|
类型:调货
|
||||||
|
</view>
|
||||||
|
<view class="txt-b-b" style="margin-top: 5px;" v-else>
|
||||||
|
类型:打折
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content-one-txt" v-else>
|
||||||
|
<view class="one-txt-a">
|
||||||
|
{{item.title}}
|
||||||
|
</view>
|
||||||
|
<view class="one-txt-b">
|
||||||
|
<view class="txt-b-a">
|
||||||
|
¥ {{item.discount_price}}
|
||||||
|
</view>
|
||||||
|
<view class="txt-b-b" v-if="item.resale_type==1">
|
||||||
|
类型:调货
|
||||||
|
</view>
|
||||||
|
<view class="txt-b-b" v-else>
|
||||||
|
类型:打折
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content-two_one" v-if='tabTitle=="tabOne"'>
|
||||||
|
<view class="content-two-edit" @click="soldEdit(item) ">
|
||||||
|
编辑
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="content-two-two" v-if='tabTitle=="tabTwo"'>
|
||||||
|
<!-- <view class="content-two-delete">
|
||||||
|
删除
|
||||||
|
</view>
|
||||||
|
<view class="content-two-edit">
|
||||||
|
编辑
|
||||||
|
</view>
|
||||||
|
-->
|
||||||
|
</view>
|
||||||
|
<view class="content-two-three" v-if='tabTitle=="tabThree"'>
|
||||||
|
<view class="content-two-delete" @click="pendingDeletion(item)">
|
||||||
|
删除
|
||||||
|
</view>
|
||||||
|
<view class="content-two-edit" @click="editReviewe(item)">
|
||||||
|
编辑
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="content-two-four" v-if='tabTitle=="tabFour"'>
|
||||||
|
<view class="content-two-delete" @click="auditDelete(item)">
|
||||||
|
删除
|
||||||
|
</view>
|
||||||
|
<view class="content-two-edit" @click="auditEdit(item)">
|
||||||
|
编辑
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="content-two-five" v-if='tabTitle=="tabFive"&&item.resale_type==2'>
|
||||||
|
<view class="" v-if="item.mer_status==0">
|
||||||
|
<view class="content-two-delete" @click="passDelete(item)">
|
||||||
|
拒绝
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="content-two-agree" @click="passagree(item)">
|
||||||
|
同意
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="" v-else>
|
||||||
|
<view :class="item.mer_status==1?'content-two-deletea':'content-two-delete'"
|
||||||
|
@click="passDelete(item)" v-if="item.mer_status==1">
|
||||||
|
拒绝
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="content-two-agree" @click="passagree(item)" v-else>
|
||||||
|
同意
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view v-if="orderList.length == 0 ">
|
||||||
|
<emptyPage title="暂无订单~"></emptyPage>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import cxNavTitle from '@/components/cx-navTitle.vue'
|
||||||
|
import emptyPage from '@/components/emptyPage.vue';
|
||||||
|
|
||||||
|
import {
|
||||||
|
getResaleid,
|
||||||
|
getResalecheck,
|
||||||
|
getResaledelete,
|
||||||
|
getResale
|
||||||
|
} from '@/api/release.js'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
cxNavTitle,
|
||||||
|
emptyPage
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activeItem: "tabOne",
|
||||||
|
tabTitle: "",
|
||||||
|
orderList: [],
|
||||||
|
|
||||||
|
where: {
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
status: 1
|
||||||
|
},
|
||||||
|
tabs: [{
|
||||||
|
name: "tabOne",
|
||||||
|
label: '在售',
|
||||||
|
value: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "tabTwo",
|
||||||
|
label: '已售出',
|
||||||
|
value: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "tabThree",
|
||||||
|
label: '待审核',
|
||||||
|
value: 3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "tabFour",
|
||||||
|
label: '审核未通过',
|
||||||
|
value: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "tabFive",
|
||||||
|
label: '审核通过',
|
||||||
|
value: 5,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(num) {
|
||||||
|
this.tabTitle = this.tabs[0].name
|
||||||
|
if (num.key == '2') {
|
||||||
|
this.activeItem = 'tabThree',
|
||||||
|
this.where.status = 3
|
||||||
|
}
|
||||||
|
this.orderList = []
|
||||||
|
this.list()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
tabClick(e) { //点击获取当前标签数据
|
||||||
|
|
||||||
|
this.activeItem = e.name; //当前class类名
|
||||||
|
this.tabTitle = e.name; //当前选的标签名
|
||||||
|
this.where.status = e.value
|
||||||
|
this.orderList = []
|
||||||
|
this.list()
|
||||||
|
|
||||||
|
},
|
||||||
|
list() {
|
||||||
|
getResale(this.where).then(res => {
|
||||||
|
if (res.status = 200) {
|
||||||
|
this.orderList.push(...res.data.list)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//售出 编辑
|
||||||
|
soldEdit(item) {
|
||||||
|
if (item.resale_type == 1) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/trading_hall/transfer_goods/index?id=' + item.community_id +
|
||||||
|
'>ype=' + 'edit'
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/trading_hall/adddiscounts/index?id=' + item.community_id +
|
||||||
|
'>ype=' + 'edit'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
//审核未通过 删除
|
||||||
|
pendingDeletion(item) {
|
||||||
|
|
||||||
|
getResaledelete(item.community_id).then(res => {
|
||||||
|
this.$util.Tips({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'success'
|
||||||
|
})
|
||||||
|
this.orderList = []
|
||||||
|
this.list()
|
||||||
|
this.tabTitle = 'tabThree'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//待审核 编辑
|
||||||
|
editReviewe(item) {
|
||||||
|
if (item.resale_type == 1) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/trading_hall/transfer_goods/index?id=' + item.community_id +
|
||||||
|
'>ype=' + 'edit'
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/trading_hall/adddiscounts/index?id=' + item.community_id +
|
||||||
|
'>ype=' + 'edit'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 审核未通过 删除
|
||||||
|
auditDelete(item) {
|
||||||
|
getResaledelete(item.community_id).then(res => {
|
||||||
|
this.$util.Tips({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'success'
|
||||||
|
})
|
||||||
|
this.orderList = []
|
||||||
|
this.list()
|
||||||
|
this.tabTitle = 'tabFour'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 审核未通过 编辑
|
||||||
|
auditEdit(item) {
|
||||||
|
if (item.resale_type == 1) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/trading_hall/transfer_goods/index?id=' + item.community_id +
|
||||||
|
'>ype=' + 'edit'
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/trading_hall/adddiscounts/index?id=' + item.community_id +
|
||||||
|
'>ype=' + 'edit'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//审核通过 拒绝
|
||||||
|
passDelete(item) {
|
||||||
|
getResalecheck(item.community_id, {
|
||||||
|
"status": 2
|
||||||
|
}).then(res => {
|
||||||
|
this.$util.Tips({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'success'
|
||||||
|
})
|
||||||
|
this.orderList = []
|
||||||
|
this.list()
|
||||||
|
this.tabTitle = 'tabFive'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//详情
|
||||||
|
detail(item) {
|
||||||
|
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/releaseManagement/details/index?key=' + item.community_id
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//审核通过 同意
|
||||||
|
passagree(item) {
|
||||||
|
getResalecheck(item.community_id, {
|
||||||
|
"status": 1
|
||||||
|
}).then(res => {
|
||||||
|
this.$util.Tips({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'success'
|
||||||
|
})
|
||||||
|
this.orderList = []
|
||||||
|
this.list()
|
||||||
|
this.tabTitle = 'tabFive'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.content_top {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content_top {
|
||||||
|
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-content {
|
||||||
|
margin-top: 21rpx;
|
||||||
|
margin-left: 28rpx;
|
||||||
|
margin-right: 28rpx;
|
||||||
|
padding-top: 28rpx;
|
||||||
|
opacity: 1;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.content-onea {
|
||||||
|
display: flex;
|
||||||
|
padding-bottom: 23rpx;
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
|
||||||
|
.content-one-img {
|
||||||
|
width: 148rpx;
|
||||||
|
height: 148rpx;
|
||||||
|
margin-right: 28rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-one-txt {
|
||||||
|
margin-bottom: 23rpx;
|
||||||
|
|
||||||
|
.txt-b-a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one-txt-b {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
|
||||||
|
.txt-b-a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: SF Pro Display-Medium, SF Pro Display;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-right: 74rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-b-b {
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-one {
|
||||||
|
display: flex;
|
||||||
|
border-bottom: 1px solid #CCCCCC;
|
||||||
|
padding-bottom: 23rpx;
|
||||||
|
|
||||||
|
|
||||||
|
.content-one-img {
|
||||||
|
width: 148rpx;
|
||||||
|
height: 148rpx;
|
||||||
|
margin-right: 28rpx;
|
||||||
|
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-one-txt {
|
||||||
|
|
||||||
|
|
||||||
|
.txt-b-a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one-txt-b {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
|
||||||
|
.txt-b-a {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: SF Pro Display-Medium, SF Pro Display;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #F84221;
|
||||||
|
margin-right: 74rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-b-b {
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two_one {
|
||||||
|
height: 110rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.content-two-edit {
|
||||||
|
width: 168rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: linear-gradient(90deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 32rpx 32rpx 32rpx 32rpx;
|
||||||
|
position: absolute;
|
||||||
|
right: 28rpx;
|
||||||
|
bottom: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-three {
|
||||||
|
height: 110rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.content-two-edit {
|
||||||
|
width: 168rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: linear-gradient(90deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 32rpx 32rpx 32rpx 32rpx;
|
||||||
|
position: absolute;
|
||||||
|
right: 28rpx;
|
||||||
|
bottom: 23rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-delete {
|
||||||
|
width: 168rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
border: 2rpx solid #999999;
|
||||||
|
position: absolute;
|
||||||
|
right: 228rpx;
|
||||||
|
bottom: 23rpx;
|
||||||
|
border-radius: 32rpx 32rpx 32rpx 32rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-four {
|
||||||
|
height: 110rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.content-two-edit {
|
||||||
|
width: 168rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: linear-gradient(90deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 32rpx 32rpx 32rpx 32rpx;
|
||||||
|
position: absolute;
|
||||||
|
right: 28rpx;
|
||||||
|
bottom: 23rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-delete {
|
||||||
|
width: 168rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
border: 2rpx solid #999999;
|
||||||
|
position: absolute;
|
||||||
|
right: 228rpx;
|
||||||
|
bottom: 23rpx;
|
||||||
|
border-radius: 32rpx 32rpx 32rpx 32rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.content-two-five {
|
||||||
|
height: 110rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.content-two-agree {
|
||||||
|
width: 168rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background: linear-gradient(90deg, #F98649 0%, #F34E45 100%);
|
||||||
|
border-radius: 32rpx 32rpx 32rpx 32rpx;
|
||||||
|
position: absolute;
|
||||||
|
right: 28rpx;
|
||||||
|
bottom: 23rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-deletea {
|
||||||
|
width: 168rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
border: 2rpx solid #999999;
|
||||||
|
position: absolute;
|
||||||
|
right: 28rpx;
|
||||||
|
bottom: 23rpx;
|
||||||
|
border-radius: 32rpx 32rpx 32rpx 32rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-two-delete {
|
||||||
|
width: 168rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #999999;
|
||||||
|
border: 2rpx solid #999999;
|
||||||
|
position: absolute;
|
||||||
|
right: 228rpx;
|
||||||
|
bottom: 23rpx;
|
||||||
|
border-radius: 32rpx 32rpx 32rpx 32rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
File diff suppressed because it is too large
Load Diff
BIN
pages/short_video/components/index/icon-back.png
Normal file
BIN
pages/short_video/components/index/icon-back.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 421 B |
@ -13,8 +13,16 @@
|
|||||||
-->
|
-->
|
||||||
<!-- 头部导航 -->
|
<!-- 头部导航 -->
|
||||||
<!-- 头部导航 -->
|
<!-- 头部导航 -->
|
||||||
<view v-if="!isUser" class="header">
|
|
||||||
|
|
||||||
|
|
||||||
|
<view class="header">
|
||||||
<view class="tool-bar">
|
<view class="tool-bar">
|
||||||
|
<view class='xiangzuo' @tap='goBack'>
|
||||||
|
<!-- <image src="@/static/images/icon-back.png" mode="aspectFit"></image> -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="tool-bar">
|
||||||
<view class='iconfont icon-xiangzuo' @tap='goBack'></view>
|
<view class='iconfont icon-xiangzuo' @tap='goBack'></view>
|
||||||
</view>
|
</view>
|
||||||
<view class="items" @click.stop="navTap(2)">
|
<view class="items" @click.stop="navTap(2)">
|
||||||
@ -24,14 +32,30 @@
|
|||||||
<text class="tName" :class="currentNav==1?'on':''">推荐</text>
|
<text class="tName" :class="currentNav==1?'on':''">推荐</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="items" @click.stop="navTap(3)">
|
<view class="items" @click.stop="navTap(3)">
|
||||||
<text class="tName" :class="currentNav==3?'on':''">列表</text>
|
<text class="tName" :class="currentNav==3?'on':''">热点资讯</text>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="items" @click.stop="navTap(4)">
|
||||||
|
<text class="tName" :class="currentNav==4?'on':''">社区</text>
|
||||||
|
</view> -->
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<swiper v-show="currentNav !== 3" :style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px;'"
|
<swiper v-show="currentNav !== 3&¤tNav != 4"
|
||||||
:vertical="true" @animationfinish="animationfinish" @change="change" :current="k" :indicator-dots="false">
|
:style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px;'" :vertical="true"
|
||||||
|
@animationfinish="animationfinish" @change="change" :current="k" :indicator-dots="false">
|
||||||
<swiper-item v-for="(list,index) in dataList">
|
<swiper-item v-for="(list,index) in dataList">
|
||||||
<view v-if="max > index">
|
<view v-if="max > index">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <view style="width: 100px;height: 100px;background-color: red;">
|
||||||
|
|
||||||
|
5666
|
||||||
|
|
||||||
|
</view> -->
|
||||||
|
|
||||||
<view>
|
<view>
|
||||||
|
<!-- 这种视频背景模糊的效果怎么做呢 -->
|
||||||
<!--
|
<!--
|
||||||
1.v-if:用于控制视频在节点的渲染数
|
1.v-if:用于控制视频在节点的渲染数
|
||||||
2.muted的默认值是 false,代表默认是禁音视频的
|
2.muted的默认值是 false,代表默认是禁音视频的
|
||||||
@ -46,13 +70,18 @@
|
|||||||
:show-center-play-btn="false" :enable-progress-gesture="false" :src="list.video_link"
|
:show-center-play-btn="false" :enable-progress-gesture="false" :src="list.video_link"
|
||||||
@ended="ended" @play="play(index)" @click="tapVideoHover(list.state,$event)"
|
@ended="ended" @play="play(index)" @click="tapVideoHover(list.state,$event)"
|
||||||
@waiting="waiting(index)"
|
@waiting="waiting(index)"
|
||||||
:style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px;z-index: -1;'"></video>
|
style="width: 100vw; height: 100vh;z-index: -1;transform: scale(4)">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</video>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<!-- 播放状态:pause 的时候就会暂停 -->
|
<!-- 播放状态:pause 的时候就会暂停 -->
|
||||||
<view class="videoHover" @click="tapVideoHover(list.state,$event)"
|
<!-- <view class="videoHover" @click="tapVideoHover(list.state,$event)"
|
||||||
:style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px;'">
|
:style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px;'">
|
||||||
<image v-if="list.state=='pause'" class="playState" src="../static/img/index/play.png"></image>
|
<image v-if="list.state=='pause'" class="playState" src="../static/img/index/play.png"></image>
|
||||||
</view>
|
</view> -->
|
||||||
<!--审核状态-->
|
<!--审核状态-->
|
||||||
<view v-if="list.status==-1 || list.status==0 || list.status==-2" class="video-status">
|
<view v-if="list.status==-1 || list.status==0 || list.status==-2" class="video-status">
|
||||||
<view v-if="list.status == -1 || list.status == -2" class="status-title">
|
<view v-if="list.status == -1 || list.status == -2" class="status-title">
|
||||||
@ -226,6 +255,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</block>
|
</block>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
|
|
||||||
<!-- <view class="video-list" v-if="currentNav === 3"
|
<!-- <view class="video-list" v-if="currentNav === 3"
|
||||||
:style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px;'">
|
:style="'width: '+ windowWidth +'px; height: '+ windowHeight +'px;'">
|
||||||
|
|
||||||
@ -275,6 +305,8 @@
|
|||||||
</view>
|
</view>
|
||||||
<canvas class="canvas" canvas-id='myCanvas' v-if="canvasStatus"></canvas>
|
<canvas class="canvas" canvas-id='myCanvas' v-if="canvasStatus"></canvas>
|
||||||
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
|
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
|
||||||
|
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -291,10 +323,12 @@
|
|||||||
} from '@/utils';
|
} from '@/utils';
|
||||||
import comment from '@/components/comment.vue';
|
import comment from '@/components/comment.vue';
|
||||||
import mentioned from '@/components/mentioned.vue';
|
import mentioned from '@/components/mentioned.vue';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
HTTP_REQUEST_URL
|
HTTP_REQUEST_URL
|
||||||
} from '@/config/app';
|
} from '@/config/app';
|
||||||
import {
|
import {
|
||||||
|
deoList,
|
||||||
videoList,
|
videoList,
|
||||||
myVideoList,
|
myVideoList,
|
||||||
graphicStartApi,
|
graphicStartApi,
|
||||||
@ -314,11 +348,13 @@
|
|||||||
components: {
|
components: {
|
||||||
comment,
|
comment,
|
||||||
mentioned,
|
mentioned,
|
||||||
authorize
|
authorize,
|
||||||
|
|
||||||
},
|
},
|
||||||
computed: configMap({
|
computed: configMap({
|
||||||
community_reply_status: 0
|
community_reply_status: 0
|
||||||
}, mapGetters(['isLogin', 'uid'])),
|
}, mapGetters(['isLogin', 'uid'])),
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isTriggered: false,
|
isTriggered: false,
|
||||||
@ -394,6 +430,7 @@
|
|||||||
communityId: '',
|
communityId: '',
|
||||||
Listcount: '',
|
Listcount: '',
|
||||||
loadMore: true,
|
loadMore: true,
|
||||||
|
videoshow: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -711,16 +748,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
get() {
|
get() {
|
||||||
|
|
||||||
let that = this
|
let that = this
|
||||||
|
|
||||||
// 1.这里引入后端请求数据
|
// 1.这里引入后端请求数据
|
||||||
that.isUser ?
|
if (that.videoshow) {
|
||||||
myVideoList(that.userUid, {
|
deoList(this.videoID).then(res => {
|
||||||
page: that.page,
|
that.videoData([res.data])
|
||||||
limit: that.limit,
|
|
||||||
is_star: that.isSatrt,
|
|
||||||
community_id: that.videoID
|
|
||||||
}).then(res => {
|
|
||||||
that.videoData(res.data.list)
|
|
||||||
if (res.data.list.length < that.limit) {
|
if (res.data.list.length < that.limit) {
|
||||||
this.loadMore = false;
|
this.loadMore = false;
|
||||||
}
|
}
|
||||||
@ -730,11 +764,18 @@
|
|||||||
icon: 'none',
|
icon: 'none',
|
||||||
duration: 2000
|
duration: 2000
|
||||||
});
|
});
|
||||||
}) :
|
})
|
||||||
graphicLstApi({
|
this.videoshow = false
|
||||||
|
} else {
|
||||||
|
// videoList().then(res=>{
|
||||||
|
// that.videoData(res.data.list);
|
||||||
|
// })
|
||||||
|
// console.log(that.userUid,that.videoID)
|
||||||
|
videoList({
|
||||||
page: that.page,
|
page: that.page,
|
||||||
limit: that.limit,
|
limit: that.limit,
|
||||||
category_id: -1
|
id: this.videoID
|
||||||
|
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
that.videoData(res.data.list)
|
that.videoData(res.data.list)
|
||||||
if (res.data.list.length < that.limit) {
|
if (res.data.list.length < that.limit) {
|
||||||
@ -747,6 +788,43 @@
|
|||||||
duration: 2000
|
duration: 2000
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// that.isUser ?
|
||||||
|
// myVideoList(that.userUid, {
|
||||||
|
// page: that.page,
|
||||||
|
// limit: that.limit,
|
||||||
|
// is_star: that.isSatrt,
|
||||||
|
// community_id: that.videoID
|
||||||
|
// }).then(res => {
|
||||||
|
// that.videoData(res.data.list)
|
||||||
|
// if (res.data.list.length < that.limit) {
|
||||||
|
// this.loadMore = false;
|
||||||
|
// }
|
||||||
|
// }).catch(err => {
|
||||||
|
// return uni.showToast({
|
||||||
|
// title: err,
|
||||||
|
// icon: 'none',
|
||||||
|
// duration: 2000
|
||||||
|
// });
|
||||||
|
// })
|
||||||
|
//:
|
||||||
|
// graphicLstApi({
|
||||||
|
// page: that.page,
|
||||||
|
// limit: that.limit,
|
||||||
|
// category_id: -1
|
||||||
|
// }).then(res => {
|
||||||
|
// that.videoData(res.data.list)
|
||||||
|
// if (res.data.list.length < that.limit) {
|
||||||
|
// this.loadMore = false;
|
||||||
|
// }
|
||||||
|
// }).catch(err => {
|
||||||
|
// return uni.showToast({
|
||||||
|
// title: err,
|
||||||
|
// icon: 'none',
|
||||||
|
// duration: 2000
|
||||||
|
// });
|
||||||
|
// })
|
||||||
that.loadVideo = true
|
that.loadVideo = true
|
||||||
},
|
},
|
||||||
getFocusList() {
|
getFocusList() {
|
||||||
@ -1135,10 +1213,11 @@
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.video-list {
|
.video-list {
|
||||||
padding: 200rpx 28.07rpx 28.07rpx 28.07rpx;
|
padding: 150rpx 28.07rpx 28.07rpx 28.07rpx;
|
||||||
/* #ifdef MP */
|
/* #ifdef MP */
|
||||||
padding-top: 200rpx;
|
padding-top: 150rpx;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
|
background-color: #F5F5F5;
|
||||||
|
|
||||||
.goods_item {
|
.goods_item {
|
||||||
width: 342.11rpx;
|
width: 342.11rpx;
|
||||||
@ -1237,13 +1316,13 @@
|
|||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
width: 750rpx;
|
width: 750rpx;
|
||||||
height: 86rpx;
|
height: 120rpx;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
top: 20rpx;
|
padding-top: 20rpx;
|
||||||
/* #ifdef MP */
|
/* #ifdef MP */
|
||||||
top: 75rpx;
|
padding-top: 75rpx;
|
||||||
/* #endif */
|
/* #endif */
|
||||||
|
|
||||||
.tool-bar {
|
.tool-bar {
|
||||||
@ -1255,23 +1334,40 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
.icon-xiangzuo {
|
.xiangzuo {
|
||||||
|
width: 23rpx;
|
||||||
|
height: 42rpx;
|
||||||
margin-right: 40rpx;
|
margin-right: 40rpx;
|
||||||
margin-left: 20rpx;
|
margin-left: 20rpx;
|
||||||
font-size: 26rpx;
|
|
||||||
color: #fff;
|
image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.items {
|
.items {
|
||||||
margin: 0 30rpx;
|
margin: 0 30rpx;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 58rpx;
|
||||||
|
height: 58rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
.tName {
|
.tName {
|
||||||
color: #ffffff;
|
font-size: 33rpx;
|
||||||
font-size: 32rpx;
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #737373;
|
||||||
|
line-height: 50px;
|
||||||
|
|
||||||
&.on {
|
&.on {
|
||||||
font-size: 38rpx;
|
font-size: 33rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1290,6 +1386,7 @@
|
|||||||
.shortVideo,
|
.shortVideo,
|
||||||
.container {
|
.container {
|
||||||
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 0%, #000000 100%);
|
background: linear-gradient(180deg, rgba(0, 0, 0, .8) 0%, #000000 100%);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
@ -1336,6 +1433,7 @@
|
|||||||
flex: 1;
|
flex: 1;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
// background-color: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
.playState {
|
.playState {
|
||||||
@ -1346,7 +1444,7 @@
|
|||||||
|
|
||||||
.userInfo {
|
.userInfo {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 60rpx;
|
bottom: 420rpx;
|
||||||
right: 20rpx;
|
right: 20rpx;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@ -1861,4 +1959,8 @@
|
|||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.videoa {
|
||||||
|
background-color: red;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
@ -83,7 +83,7 @@
|
|||||||
},
|
},
|
||||||
// 跳转逻辑
|
// 跳转逻辑
|
||||||
jump(item) {
|
jump(item) {
|
||||||
// console.log(item)
|
console.log(item)
|
||||||
if ([0, 2].includes(item.status)) {
|
if ([0, 2].includes(item.status)) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/store/settled/index?mer_i_id=${item.mer_intention_id}`
|
url: `/pages/store/settled/index?mer_i_id=${item.mer_intention_id}`
|
||||||
|
@ -1198,7 +1198,7 @@
|
|||||||
this.isTriggered = true;
|
this.isTriggered = true;
|
||||||
const newList = this.goods.reverse();
|
const newList = this.goods.reverse();
|
||||||
this.goods = newList;
|
this.goods = newList;
|
||||||
this.getProductSpu()
|
// this.getProductSpu()
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.isTriggered = false;
|
this.isTriggered = false;
|
||||||
}, 500)
|
}, 500)
|
||||||
@ -1210,7 +1210,7 @@
|
|||||||
// 模拟触底刷新
|
// 模拟触底刷新
|
||||||
if (this.tabActive == 0) {
|
if (this.tabActive == 0) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.goods.push(...this.goods);
|
// this.goods.push(...this.goods);
|
||||||
}, 500)
|
}, 500)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1220,7 +1220,8 @@
|
|||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const newList = this.goods.reverse();
|
const newList = this.goods.reverse();
|
||||||
this.goods = newList;
|
this.goods = newList;
|
||||||
this.getProductSpu()
|
// this.getGoods()
|
||||||
|
// this.getProductSpu()
|
||||||
// uni.startPullDownRefresh();
|
// uni.startPullDownRefresh();
|
||||||
// uni.stopPullDownRefresh();
|
// uni.stopPullDownRefresh();
|
||||||
}, 500)
|
}, 500)
|
||||||
|
@ -2,9 +2,11 @@
|
|||||||
<view :style="viewColor">
|
<view :style="viewColor">
|
||||||
<view class='productList'>
|
<view class='productList'>
|
||||||
<view class='search acea-row row-between-wrapper'>
|
<view class='search acea-row row-between-wrapper'>
|
||||||
|
<!-- #ifdef H5 -->
|
||||||
<view class="back" @click='set_where(1)'>
|
<view class="back" @click='set_where(1)'>
|
||||||
<view class="iconfont icon-xiangzuo"></view>
|
<view class="iconfont icon-xiangzuo"></view>
|
||||||
</view>
|
</view>
|
||||||
|
<!-- #endif -->
|
||||||
<view class='input acea-row row-between-wrapper'><text class='iconfont icon-sousuo'></text>
|
<view class='input acea-row row-between-wrapper'><text class='iconfont icon-sousuo'></text>
|
||||||
<input placeholder='搜索商品名称' placeholder-class='placeholder' confirm-type='search' name="search" :value='where.keyword'
|
<input placeholder='搜索商品名称' placeholder-class='placeholder' confirm-type='search' name="search" :value='where.keyword'
|
||||||
@confirm="searchSubmit"></input>
|
@confirm="searchSubmit"></input>
|
||||||
|
285
pages/store/merchantDetails/fali.vue
Normal file
285
pages/store/merchantDetails/fali.vue
Normal file
@ -0,0 +1,285 @@
|
|||||||
|
<template>
|
||||||
|
<view class="merchant-details">
|
||||||
|
<view class="tit">
|
||||||
|
<u--image style="margin: 0 auto;" :showLoading="true" src="../../../static/images/SJRZ/SB.png"
|
||||||
|
width="348.83rpx" height="271.77rpx" @click="goBack"></u--image>
|
||||||
|
抱歉,你的入驻申请审核未通过!
|
||||||
|
</view>
|
||||||
|
<view class="content">
|
||||||
|
<view class="steps">
|
||||||
|
<u-steps current="3" direction="column">
|
||||||
|
<u-steps-item title="待审核" desc="10:35">
|
||||||
|
<text class="slot-icon" slot="icon"><u--image style="margin: 0 auto;" :showLoading="true"
|
||||||
|
src="../../../static/images/SJRZ/SBBZ.png" width="31.54rpx"
|
||||||
|
height="31.54rpx"></u--image></text>
|
||||||
|
</u-steps-item>
|
||||||
|
<u-steps-item title="待审核" desc="10:35">
|
||||||
|
<text class="slot-icon" slot="icon"><u--image style="margin: 0 auto;" :showLoading="true"
|
||||||
|
src="../../../static/images/SJRZ/SBBZ.png" width="31.54rpx"
|
||||||
|
height="31.54rpx"></u--image></text>
|
||||||
|
</u-steps-item>
|
||||||
|
<u-steps-item title="待审核" desc="10:35">
|
||||||
|
<text class="slot-icon" slot="icon"><u--image style="margin: 0 auto;" :showLoading="true"
|
||||||
|
src="../../../static/images/SJRZ/SBBZ.png" width="31.54rpx"
|
||||||
|
height="31.54rpx"></u--image></text>
|
||||||
|
</u-steps-item>
|
||||||
|
</u-steps>
|
||||||
|
</view>
|
||||||
|
<view class="msg">
|
||||||
|
<view style="margin-bottom: 20rpx;">
|
||||||
|
<text style="font-weight: bold;">驳回原因:</text>
|
||||||
|
<text class="">{{resData.fail_msg}}</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- <view class=" phone">
|
||||||
|
<view class="">
|
||||||
|
<text class="head">商户账号:</text>
|
||||||
|
<text class="content">{{resData.phone}}</text>
|
||||||
|
</view>
|
||||||
|
<text class="cope" @click="copyTBL()">复制</text>
|
||||||
|
</view> -->
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="btn_bottom" @click="navgo( `/pages/store/settled/index?mer_i_id=${mer_i_id}`)">
|
||||||
|
<u-button type="primary" style="background-color: #3274F9;border-radius: 30rpx;border: none;"
|
||||||
|
text="重新提交"></u-button>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="top">
|
||||||
|
<image class="img" src="../static/images/successTop.png" mode=""></image>
|
||||||
|
<view class="title">
|
||||||
|
恭喜,您的申请已通过!
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="msg" v-if="mer_id > 0 && resData.login_url">
|
||||||
|
<view class="url">
|
||||||
|
<text class="head">登录地址:</text>
|
||||||
|
<text class="content">{{resData.login_url}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="phone">
|
||||||
|
<view class="">
|
||||||
|
<text class="head">商户账号:</text>
|
||||||
|
<text class="content">{{resData.phone}}</text>
|
||||||
|
</view>
|
||||||
|
<text class="cope" @click="copyTBL()">复制</text>
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
import {
|
||||||
|
getGoodsDetails
|
||||||
|
} from '@/api/store.js'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
mer_id: 0,
|
||||||
|
resData: {},
|
||||||
|
mer_i_id: "",
|
||||||
|
// res: ","
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(e) {
|
||||||
|
this.mer_id = e.mer_id
|
||||||
|
this.mer_i_id = e.mer_i_id
|
||||||
|
this.getGoodsDetails(e.mer_i_id)
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
navgo(url) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getGoodsDetails(id) {
|
||||||
|
getGoodsDetails(id).then(res => {
|
||||||
|
this.resData = res.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
copyTBL(url) {
|
||||||
|
let copeData = `登录地址:${this.resData.login_url} 商户账号:${this.resData.phone}`
|
||||||
|
// #ifdef MP || APP-PLUS
|
||||||
|
uni.setClipboardData({
|
||||||
|
data: copeData,
|
||||||
|
success: function() {
|
||||||
|
uni.showToast({
|
||||||
|
title: '复制成功',
|
||||||
|
duration: 1000
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// #endif
|
||||||
|
// #ifdef H5
|
||||||
|
this.copyText(copeData)
|
||||||
|
// #endif
|
||||||
|
},
|
||||||
|
//H5复制方法
|
||||||
|
webCopy(e) {
|
||||||
|
let transfer = document.createElement('input');
|
||||||
|
document.body.appendChild(transfer);
|
||||||
|
transfer.value = e; // 这里表示想要复制的内容
|
||||||
|
transfer.focus();
|
||||||
|
transfer.select();
|
||||||
|
if (document.execCommand('copy')) {
|
||||||
|
document.execCommand('copy');
|
||||||
|
}
|
||||||
|
transfer.blur();
|
||||||
|
this.$util.Tips({
|
||||||
|
title: '复制成功'
|
||||||
|
});
|
||||||
|
transfer.style.display = 'none'
|
||||||
|
document.body.removeChild(transfer);
|
||||||
|
},
|
||||||
|
// 兼容版一键复制
|
||||||
|
copyText(text) {
|
||||||
|
// 需要转化成字符串
|
||||||
|
const textString = text.toString();
|
||||||
|
let input = document.querySelector('#copy-input');
|
||||||
|
if (!input) {
|
||||||
|
input = document.createElement('input');
|
||||||
|
input.id = "copy-input";
|
||||||
|
input.readOnly = "readOnly"; // 防止ios聚焦触发键盘事件
|
||||||
|
input.style.position = "absolute";
|
||||||
|
input.style.left = "-1000px";
|
||||||
|
input.style.zIndex = "-1000";
|
||||||
|
document.body.appendChild(input)
|
||||||
|
}
|
||||||
|
input.value = textString;
|
||||||
|
// ios必须先选中文字且不支持 input.select();
|
||||||
|
selectText(input, 0, textString.length);
|
||||||
|
if (document.execCommand('copy')) {
|
||||||
|
document.execCommand('copy');
|
||||||
|
this.$util.Tips({
|
||||||
|
title: '复制成功'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
input.blur();
|
||||||
|
// input自带的select()方法在苹果端无法进行选择
|
||||||
|
// 选择文本。createTextRange(setSelectionRange)是input方法
|
||||||
|
function selectText(textbox, startIndex, stopIndex) {
|
||||||
|
if (textbox.createTextRange) { //ie
|
||||||
|
const range = textbox.createTextRange();
|
||||||
|
range.collapse(true);
|
||||||
|
range.moveStart('character', startIndex); //起始光标
|
||||||
|
range.moveEnd('character', stopIndex - startIndex); //结束光标
|
||||||
|
range.select(); //不兼容苹果
|
||||||
|
} else { //firefox/chrome
|
||||||
|
textbox.setSelectionRange(startIndex, stopIndex);
|
||||||
|
textbox.focus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.merchant-details {
|
||||||
|
padding: 0 4vw;
|
||||||
|
// padding: ;
|
||||||
|
height: 100vh;
|
||||||
|
position: relative;
|
||||||
|
// background-color: #C5D9FD;
|
||||||
|
background-image: url("../../../static/images/SJRZ/bg.png");
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.tit {
|
||||||
|
color: white;
|
||||||
|
font-size: 33.29rpx;
|
||||||
|
text-align: center;
|
||||||
|
// padding: 50vh 0;
|
||||||
|
transform: translateY(5vh);
|
||||||
|
display: flex;
|
||||||
|
// justify-content: space-around;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 21.03rpx 21.03rpx 21.03rpx 21.03rpx;
|
||||||
|
// transform: translateY(20vh);
|
||||||
|
margin-top: 100rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 2vw;
|
||||||
|
|
||||||
|
// .steps {}
|
||||||
|
.msg {
|
||||||
|
width: 85%;
|
||||||
|
padding: 30rpx;
|
||||||
|
// height: 150rpx;
|
||||||
|
margin: 30rpx auto;
|
||||||
|
background-color: #F4F7FE;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
|
||||||
|
.li {
|
||||||
|
// margin-: ;
|
||||||
|
// display: flex;
|
||||||
|
// justify-content: left;
|
||||||
|
// display: flex;
|
||||||
|
// flex-shrink: 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.top {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.img {
|
||||||
|
width: 340rpx;
|
||||||
|
height: 280rpx;
|
||||||
|
margin: 140rpx 0 30rpx 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
// width: 70%;
|
||||||
|
// position: absolute;
|
||||||
|
// text-align: center;
|
||||||
|
// color: #999999;
|
||||||
|
// font-size: 24rpx;
|
||||||
|
// bottom: 80rpx
|
||||||
|
// background-color: red;
|
||||||
|
// height: 100vw;
|
||||||
|
margin-top: 5vw;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn_bottom {
|
||||||
|
position: fixed;
|
||||||
|
width: 92vw;
|
||||||
|
bottom: 20rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,6 +1,65 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="merchant-details">
|
<view class="merchant-details">
|
||||||
<view class="top">
|
<view style="height: var(--status-bar-height);"></view>
|
||||||
|
<view class="tit">
|
||||||
|
<u--image style="margin: 0 auto;" :showLoading="true" src="../../../static/images/SJRZ/succes.png"
|
||||||
|
width="348.83rpx" height="271.77rpx" @click="goBack"></u--image>
|
||||||
|
恭喜,您的申请已通过!
|
||||||
|
</view>
|
||||||
|
<view class="content">
|
||||||
|
<view class="steps">
|
||||||
|
<u-steps current="3" direction="column" mode="number">
|
||||||
|
<u-steps-item title="运输中" desc="11:40">
|
||||||
|
<!-- <u--image style="margin: 0 auto;" :showLoading="true" src="../../../static/images/SJRZ/CGBZ.png"
|
||||||
|
width="31.54rpx" height="31.54rpx"></u--image> -->
|
||||||
|
<!-- <u--image style="margin: 0 auto;" :showLoading="true"
|
||||||
|
src="../../../static/images/SJRZ/succes.png" width="348.83rpx" height="271.77rpx"
|
||||||
|
@click="goBack"></u--image> -->
|
||||||
|
<text class="slot-icon" slot="icon"><u--image style="margin: 0 auto;" :showLoading="true"
|
||||||
|
src="../../../static/images/SJRZ/CGBZ.png" width="31.54rpx"
|
||||||
|
height="31.54rpx"></u--image></text>
|
||||||
|
</u-steps-item>
|
||||||
|
<u-steps-item title="待审核" desc="10:35">
|
||||||
|
<text class="slot-icon" slot="icon"><u--image style="margin: 0 auto;" :showLoading="true"
|
||||||
|
src="../../../static/images/SJRZ/CGBZ.png" width="31.54rpx"
|
||||||
|
height="31.54rpx"></u--image></text>
|
||||||
|
</u-steps-item>
|
||||||
|
<u-steps-item title="审核通过" desc="11:40">
|
||||||
|
<text class="slot-icon" slot="icon"><u--image style="margin: 0 auto;" :showLoading="true"
|
||||||
|
src="../../../static/images/SJRZ/CGBZ.png" width="31.54rpx"
|
||||||
|
height="31.54rpx"></u--image></text>
|
||||||
|
</u-steps-item>
|
||||||
|
</u-steps>
|
||||||
|
</view>
|
||||||
|
<view class="msg" v-if="mer_id > 0 && resData.login_url" @click="copyTBL()">
|
||||||
|
<view style="margin-bottom: 20rpx;">
|
||||||
|
<text style="font-weight: bold;">登录地址:</text>
|
||||||
|
<text class="">{{resData.login_url}}</text>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<text style="font-weight: bold;">商户账号:</text>
|
||||||
|
<text class="">{{resData.phone}}</text>
|
||||||
|
</view>
|
||||||
|
<!-- <view class=" phone">
|
||||||
|
<view class="">
|
||||||
|
<text class="head">商户账号:</text>
|
||||||
|
<text class="content">{{resData.phone}}</text>
|
||||||
|
</view>
|
||||||
|
<text class="cope" @click="copyTBL()">复制</text>
|
||||||
|
</view> -->
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="btn" v-if="mer_id > 0">
|
||||||
|
<view class="">
|
||||||
|
温馨提示:初始密码默认为手机号后六位,请初次登录后及时修改
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="btn_bottom" @click="navgo(`/pages/product/basicSet?mer_id=${mer_id}`)">
|
||||||
|
<u-button type="primary" style="background-color: #3274F9;border-radius: 30rpx;border: none;"
|
||||||
|
text="完善商户信息"></u-button>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="top">
|
||||||
<image class="img" src="../static/images/successTop.png" mode=""></image>
|
<image class="img" src="../static/images/successTop.png" mode=""></image>
|
||||||
<view class="title">
|
<view class="title">
|
||||||
恭喜,您的申请已通过!
|
恭喜,您的申请已通过!
|
||||||
@ -18,12 +77,8 @@
|
|||||||
</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="">
|
|
||||||
温馨提示:初始密码默认为手机号后六位,请初次登录后及时修改
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -54,6 +109,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
navgo(url) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
},
|
||||||
getGoodsDetails(id) {
|
getGoodsDetails(id) {
|
||||||
getGoodsDetails(id).then(res => {
|
getGoodsDetails(id).then(res => {
|
||||||
this.resData = res.data
|
this.resData = res.data
|
||||||
@ -138,69 +198,100 @@
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.merchant-details {
|
.merchant-details {
|
||||||
display: flex;
|
padding: 0 4vw;
|
||||||
flex-direction: column;
|
// padding: ;
|
||||||
align-items: center;
|
|
||||||
background-color: #fff;
|
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
// background-color: #C5D9FD;
|
||||||
|
background-image: url("../../../static/images/SJRZ/bg.png");
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.tit {
|
||||||
|
color: white;
|
||||||
|
font-size: 33.29rpx;
|
||||||
|
text-align: center;
|
||||||
|
// padding: 50vh 0;
|
||||||
|
transform: translateY(5vh);
|
||||||
|
display: flex;
|
||||||
|
// justify-content: space-around;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 21.03rpx 21.03rpx 21.03rpx 21.03rpx;
|
||||||
|
// transform: translateY(20vh);
|
||||||
|
margin-top: 100rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 2vw;
|
||||||
|
|
||||||
|
// .steps {}
|
||||||
|
.msg {
|
||||||
|
width: 85%;
|
||||||
|
padding: 30rpx;
|
||||||
|
// height: 150rpx;
|
||||||
|
margin: 30rpx auto;
|
||||||
|
background-color: #F4F7FE;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
|
||||||
|
.li {
|
||||||
|
// margin-: ;
|
||||||
|
// display: flex;
|
||||||
|
// justify-content: left;
|
||||||
|
// display: flex;
|
||||||
|
// flex-shrink: 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
.top {
|
.top {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.img {
|
.img {
|
||||||
width: 340rpx;
|
width: 340rpx;
|
||||||
height: 280rpx;
|
height: 280rpx;
|
||||||
margin: 140rpx 0 30rpx 0;
|
margin: 140rpx 0 30rpx 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.msg {
|
|
||||||
width: 85%;
|
|
||||||
padding: 30rpx;
|
|
||||||
height: 150rpx;
|
|
||||||
margin: 70rpx 70rpx;
|
|
||||||
background-color: #F6F6F6;
|
|
||||||
border-radius: 8rpx;
|
|
||||||
.url {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: nowrap;
|
|
||||||
margin-bottom: 20rpx;
|
|
||||||
}
|
|
||||||
.phone {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
.head {
|
|
||||||
color: #333333;
|
|
||||||
font-size: 28rpx;
|
|
||||||
font-weight: 500;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.content {
|
|
||||||
color: #999999;
|
|
||||||
font-size: 26rpx;
|
|
||||||
}
|
|
||||||
.cope {
|
|
||||||
padding: 5rpx 16rpx;
|
|
||||||
color: #FFFFFF;
|
|
||||||
border-radius: 30rpx;
|
|
||||||
background-color: #999999;
|
|
||||||
margin-left: 40rpx;
|
|
||||||
font-size: 20rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.btn {
|
.btn {
|
||||||
width: 70%;
|
// width: 70%;
|
||||||
position: absolute;
|
// position: absolute;
|
||||||
text-align: center;
|
// text-align: center;
|
||||||
color: #999999;
|
// color: #999999;
|
||||||
font-size: 24rpx;
|
// font-size: 24rpx;
|
||||||
bottom: 80rpx
|
// bottom: 80rpx
|
||||||
|
// background-color: red;
|
||||||
|
// height: 100vw;
|
||||||
|
margin-top: 5vw;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn_bottom {
|
||||||
|
position: fixed;
|
||||||
|
width: 92vw;
|
||||||
|
bottom: 20rpx;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -367,7 +367,7 @@
|
|||||||
// 获取历史提交数据详情
|
// 获取历史提交数据详情
|
||||||
getGoodsDetails(id) {
|
getGoodsDetails(id) {
|
||||||
getGoodsDetails(id).then(res => {
|
getGoodsDetails(id).then(res => {
|
||||||
// console.log(res);
|
console.log(res);
|
||||||
let arr = Object.keys(this.merchantData)
|
let arr = Object.keys(this.merchantData)
|
||||||
let resData = res.data
|
let resData = res.data
|
||||||
arr.map(item => {
|
arr.map(item => {
|
||||||
@ -411,7 +411,7 @@
|
|||||||
this.validateBtn()
|
this.validateBtn()
|
||||||
},
|
},
|
||||||
bindPickerChange1: function(e) {
|
bindPickerChange1: function(e) {
|
||||||
// console.log(e);
|
console.log(e);
|
||||||
this.index1 = e.target.value
|
this.index1 = e.target.value
|
||||||
let idx = e.target.value
|
let idx = e.target.value
|
||||||
this.merchantData.mer_type = this.storeTypeArr[idx]['mer_type_id']
|
this.merchantData.mer_type = this.storeTypeArr[idx]['mer_type_id']
|
||||||
@ -443,7 +443,7 @@
|
|||||||
getStoreType: function() {
|
getStoreType: function() {
|
||||||
getStoreTypeApi()
|
getStoreTypeApi()
|
||||||
.then(res => {
|
.then(res => {
|
||||||
// console.log(res);
|
console.log(res);
|
||||||
this.storeTypeArr = res.data
|
this.storeTypeArr = res.data
|
||||||
})
|
})
|
||||||
.catch(res => {
|
.catch(res => {
|
||||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user