shop-applet/pages/index/index.vue

2327 lines
60 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="content">
<view class="content-top">
<view class="content-tops">
<view class="content-top_img" v-if="Object.keys(userInfoData).length>0">
<image :src="userInfoData.mer_info.mer_avatar" v-if="userInfoData.mer_info&&userInfoData.mer_info.mer_avatar"
mode="aspectFill" @click="logout">
</image>
<image src="@/static/images/f.png" v-else mode="aspectFit" @click="logout"></image>
</view>
<view class="content-top_img" v-else @click="login">
<image src="@/static/images/f.png" mode="aspectFit"></image>
</view>
<view class="content-top-title" @click="shopp" v-if="Object.keys(userInfoData).length>0">
<view class="top-titlea">
{{userInfoData.mer_info.mer_name?userInfoData.mer_info.mer_name:'暂无信息'}}
</view>
<view class="top-titleb">
<image src="@/static/images/you.png" mode=""></image>
</view>
</view>
<view class="content-top-title" @click="login" v-else>
<view class="top-titlea">
请登录
</view>
<view class="top-titleb">
<image src="@/static/images/you.png" mode=""></image>
</view>
</view>
</view>
<retuntop style="margin-top: 20rpx; margin-right: 50rpx;" />
</view>
<view class="content-middle">
<view class="content-middlea" v-for="(item,index) in list" :key='index'>
<view class="content-middlea-one">
{{item.name}}
</view>
<view class="content-middlea-two">
{{item.value}}
</view>
</view>
</view>
<view class="content-open" v-if='!isshow' @click="open">
<image src="@/static/images/zk.png" mode="aspectFit"></image>
</view>
<div v-if='isshow' style="margin-top: 80rpx;">
<!-- // type=price&time=today&merId=1 -->
<view class="tools-one"
style="font-size: 33rpx;font-family: PingFang SC-Medium, PingFang SC;font-weight: 500;color: #333333; margin-left: 30rpx;margin-bottom: 30rpx;">
订单数据统计
</view>
<ordertime ref='test' type='price' timetype='today' :merid='userInfoData.service.mer_id'></ordertime>
</div>
<view class="content-bottom" v-else>
<view class="content-order">
<view class="" v-for="(item,i) in order" :key='i' @click="shopporder(item)">
<view class="content-order-two">
{{item.value}}
</view>
<view class="content-order-one">
{{item.name}}
</view>
</view>
</view>
<view class="content-tools" style="margin-top: 30rpx;" v-if="$store.state.app.userInfo&&$store.state.app.userInfo.mer_info&&$store.state.app.userInfo.mer_info.type_code=='TypeSupplyChain'">
<view class="tools-one" style="margin-bottom: 20rpx;">
赊账订单
<view class=""></view>
</view>
<view class="content-order" >
<view class="" v-for="(item,i) in other_order" :key='i' @click="other_shopporder(item)">
<view class="content-order-two">
{{item.value}}
</view>
<view class="content-order-one">
{{item.name}}
</view>
</view>
<view class="" v-for="item in 3" :key="'empty'+item">
</view>
</view>
</view>
<view class="content-tools">
<view class="tools-one">
常用工具
<view class=""></view>
</view>
<view class="tools-two" v-if="isgShow&&userInfoData.mer_info.type_code=='TypeSupplyChain'">
<view class="" v-for="(item,k) in typelistSupplyChain" :key='k' @click="navation(item)">
<view class="tools-two-img">
<image :src="item.image" mode=""></image>
</view>
<view class="tools-two-title"> {{item.name}}</view>
</view>
</view>
<view class="tools-two" v-else-if="isgShow&&userInfoData.mer_info.setting_status==1">
<view class="" v-for="(item,k) in typelist" :key='k' @click="navation(item)">
<view class="tools-two-img">
<image :src="item.image" mode=""></image>
</view>
<view class="tools-two-title"> {{item.name}}</view>
</view>
</view>
<view class="tools-two" v-else>
<view class="" @click="byset">
<view class="tools-two-img">
<image src="@/static/images/index11.png" mode=""></image>
</view>
<view class="tools-two-title"> 商家设置</view>
</view>
</view>
</view>
<view class="content-list">
<view style="width: 100%;background-color: #fff;">
<view class="tools-one">
订单列表
<view class=""></view>
</view>
</view>
<view class="content-list-one" v-for="(item,u) in productList" :key="u">
<view class="list-one">
<view class="list-one_left">
<view class="list-one_left-a">
<image src="@/static/images/f.png" mode="aspectFit"></image>
</view>
<view class="list-one_left-b">{{item.real_name}}</view>
<view class="list-one_left-c">
<image src="@/static/images/you.png" mode="aspectFit"></image>
</view>
</view>
<view class="list-one_right">
<view class="list-one_right-a">{{item.pay_time}}拍下 </view>
<view class="list-one_right-c">
</view>
<view class="list-one_right-b">待发货</view>
</view>
</view>
<view class="">
<view class="list-two" v-for="(g,h) in item.orderProduct">
<view class="list-two_left">
<image :src="g.cart_info.product.image" mode=""></image>
</view>
<view class="list-two_middle">
<view class="two_middle-title-a">
<view class="two_middle-title-a-left">{{ g.cart_info.product.store_name }}</view>
<view class="two_middle-title-a-right">
<view class="title-price">¥<span
style="font-size: 37rpx;font-weight: 600;">{{g.product_price.split('.')[0]}}.</span>
<span>{{g.product_price.split('.')[1]}}</span><strong></strong>
</view>
<view class="title-number">X{{g.product_num}}</view>
</view>
</view>
<view class="two_middle-title-b">
<view class="title-number">共{{g.product_num}}件 </view>
<view class="title-price">实收: <span style="color: #F84221;">¥</span><span
style="font-size: 37rpx; color: #F84221;">{{g.cart_info.productAttr.price.split('.')[0] }}.</span><span
style="color: #F84221;">{{g.cart_info.productAttr.price.split('.')[1] }}</span>(含快递:¥0.00
</view>
</view>
</view>
</view>
<view class="list-three">
<view class="list-three-one">
<view class="title-img">
<image src="@/static/images/dz.png" mode="aspectFit"></image>
</view>
<view class="order_id">
订单编号: {{item.order_sn}}
</view>
</view>
<view class="list-three-one">
<view class="title-img">
<image src="@/static/images/zb.png" mode="aspectFit"></image>
</view>
<view class="adress">{{item.real_name}} {{ item.user_phone}} <br/> {{item.user_address}} </view>
</view>
</view>
</view>
<view class="list-four">
<view class="btn" @click="refundModify(item,1)">备注</view>
<view class="btn1" @click="shopdetail(item)">去发货</view>
</view>
</view>
<view class="conter-img" v-if='productList.length == 0'>
<image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/noCart.png" mode="aspectFit"></image>
</view>
<view class='loadingicon acea-row row-center-wrapper' v-if='productList.length > 0'>
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
</view>
</view>
</view>
<view>
<view class="priceChange" :class="refundMark === true ? 'on' : ''">
<view class="priceTitle">
订单备注
<span class="iconfont icon-guanbi" @click="refundMark = false"></span>
</view>
<view class="listChange">
<textarea placeholder="请填写备注信息..." v-model="refundInfo.remark"></textarea>
</view>
<view class="modify" @click="save">
确认提交
</view>
</view>
<view class="mask" @touchmove.prevent v-show="refundMark === true"></view>
</view>
<uni-popup ref="popup1" type="left">
<view class="left-content">
<view class="left-content-left">
<view class="content-top_img" v-if="Object.keys(userInfoData).length>0">
<image :src="userInfoData.avatar" v-if="userInfoData.avatar" mode="aspectFill"></image>
<image src="@/static/images/f.png" v-else mode="aspectFit"></image>
</view>
<view class="content-top_img" v-else @click="login">
<image src="@/static/test/KH.png" mode="aspectFit"></image>
</view>
<view class="content-top_txt">{{userInfoData.account}}</view>
</view>
<view class="left-content-right">
<view class="content-right-one" v-if="Object.keys(userInfoData).length>0">
<view class="content-right-onea">{{userInfoData.mer_info.mer_name}}</view>
<view class="content-right-oneb">
<image src="@/static/images/you.png" mode=""></image>
</view>
</view>
<view class="content-right-two">
</view>
<view class="content-right-botm" @click="login()">
退出
</view>
</view>
</view>
</uni-popup>
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"
:isGoIndex="false"></authorize>
<view class="settlementAgreement" v-if="isFshow">
<view class="setAgCount" style="width: 100%;height: 100%; padding-top: 160rpx;">
<!-- <i class="icon iconfont icon-cha" @click="recuo"></i> -->
<view class="" style="width: 90rpx;height: 90rpx; position: absolute;right: 10rpx; top:90rpx" @click="recuo">
<image src="@/static/images/close.png" mode="aspectFit" style="width: 90rpx;height: 90rpx;"></image>
</view>
<div class="title">{{detail.title}}</div>
<view style="margin: 20rpx 0;">甲方公司:{{company?company:"暂无公司信息"}}</view>
<view style="margin-bottom: 20rpx;">机构代码:{{organization_code?organization_code:"暂无公司信息"}}</view>
<view class="contenta">
<jyf-parser :html="detail.mer_settlement_agree" ref="article" :tag-style="tagStyle"></jyf-parser>
</view>
<view class="setAgCountbtn">
<view class="border"></view>
<!-- <button class="setAgCountbtna" @click="refuse">
拒绝
</button> -->
<button class="btn" :class="num>0?'setAgCountbtnb':'setAgCountbtnc'" :disabled="num!=0" @click="agree">
<text v-if="num>0">请仔细阅读协议{{num}}S</text>
<text v-else>同意本协议</text>
</button>
</view>
<view ></view>
</view>
</view>
<uni-popup ref="popup" type="bottom" @change="changePopup">
<view class="userpage">
<view class="userpage-icon" @click="close">
<image src="@/static/images/close.png" mode=""></image>
</view>
<form report-submit='true'>
<view class='merchantsSettled' style="height:100vh;">
<view class="title">填写信息</view>
<view class='list'>
<!-- <view class="item">
<view class="acea-row row-middle">
<text class="item-name">联系电话:</text>
<input type="text" placeholder="请输入手机号" v-model="merchantData.phone" @input="validateBtn"
placeholder-class='placeholder' />
</view>
</view> -->
<view class="item">
<view class="acea-row row-middle" style="display: flex;align-items: flex-start;">
<text class="item-name" style="flex-shrink: 0;">公司名称:</text>
<view style="font-size: 32rpx;flex: 1;">
{{merchantData.company_name}}
</view>
</view>
</view>
<view class="item">
<view class="acea-row row-middle">
<text class="item-name">对公账号:</text>
<input type="number" placeholder="请输入对公账号" v-model="merchantData.bank_code" @input="validateBtn"
placeholder-class='placeholder' />
</view>
</view>
<view class="item">
<view class="acea-row row-middle">
<text class="item-name">开户行名称:</text>
<input type="text" maxlength="30" placeholder="请输入开户行名称" v-model="merchantData.bank_username"
@input="validateBtn" placeholder-class='placeholder' />
</view>
</view>
<view class="item">
<view class="acea-row row-middle">
<text class="item-name">开户行地址:</text>
<input type="text" placeholder="请输入开户行地址" v-model="merchantData.bank_opening" @input="validateBtn"
placeholder-class='placeholder' />
</view>
</view>
<!-- <view class="item">
<view class="acea-row row-middle">
<text class="item-name">身份证正面:</text>
</view>
<view class="item-card">
<view class="item-carda" @click='uploadpic({type:1})' v-if='merchantData.cardno_front.length==0'>
<image src="@/static/images/SFZZ.png" mode="aspectFit"></image>
</view>
<view class="item-carda" @click='DelPic({type:1})' v-else>
<image :src="merchantData.cardno_front" mode="aspectFit"></image>
</view>
<view class="item-cardb" @click='uploadpic({type:2})' v-if='merchantData.cardno_back.length==0'>
<image src="@/static/images/SFFF.png" mode="aspectFit"></image>
</view>
<view class="item-cardb" @click='DelPic({type:2})' v-else>
<image :src="merchantData.cardno_back" mode="aspectFit"></image>
</view>
</view>
</view>
<view class="item">
<view class="acea-row row-middle">
<text class="item-name">银行卡反面:</text>
</view>
<view class="item-card">
<view class="item-carda" @click='uploadpic({type:3})' v-if='merchantData.bank_front.length==0'>
<image src="@/static/images/YHKZ.png" mode="aspectFit"></image>
</view>
<view class="item-carda" @click='DelPic({type:3})' v-else>
<image :src="merchantData.bank_front" mode="aspectFit"></image>
</view>
<view class="item-cardb" @click='uploadpic({type:4})' v-if='merchantData.bank_back.length==0'>
<image src="@/static/images/YHKF.png" mode="aspectFit"></image>
</view>
<view class="item-cardb" @click='DelPic({type:4})' v-else>
<image :src="merchantData.bank_back" mode="aspectFit"></image>
</view>
</view>
</view> -->
<button class='submitBtn' :class="validate === true? 'on':''" @click="formSubmit">
提交申请
</button>
</view>
</view>
</form>
</view>
</uni-popup>
</view>
</template>
<script>
import authorize from '@/components/Authorize';
import ordertime from './component/timelist.vue'
import retuntop from '@/components/content-top/index.vue';
import {
setAdminOrderRemark
} from "@/api/admin";
import {
merstreet,
getUserInfo
} from '@/api/user.js';
import {
business,
intention,
intentionbus
} from "@/api/product"
import image from '../../uni_modules/uview-ui/libs/config/props/image';
import {
orderStatistics,
otherOrderStatistics,
getOrderList
} from "@/api/admin";
import {
ENV
} from "@/config/app.js"
import { Toast } from '../../libs/uniApi';
export default {
components: {
authorize,
ordertime,
retuntop
},
data() {
return {
isAuto: false, //没有授权的不会自动授权
isShowAuth: false, //是否隐藏授权
list: [{
name: '今日成交额',
value: 0
}, {
name: '今日订单数',
value: 0
}, {
name: '本月订单数',
value: 0
}],
order: [{
name: '待付款',
type: 1,
value: 0
}, {
name: '待发货',
type: 2,
value: 0
}, {
name: '待收货',
type: 3,
value: 0
}, {
name: '待评价',
type: 4,
value: 0
}, {
name: '退款',
type: 6,
value: 0
}],
other_order: [{
name: '待发货',
type: 2,
value: 0
}, {
name: '待收货',
type: 3,
value: 0
}],
typelist: [{
name: '商品管理',
type: 1,
image: require('@/static/images/index7.png')
},
{
name: '入库管理',
type: 13,
image: require('@/static/images/index9.png')
},
{
name: '供货采购',
type: 3,
image: require('@/static/images/index4.png')
},
{
name: '进货管理',
type: 4,
image: require('@/static/images/index5.png')
},
{
name: '订单管理',
type: 2,
image: require('@/static/images/index1.png')
},
{
name: '订单核销',
type: 7,
image: require('@/static/images/index2.png')
},
// {
// name: '扫码出库',
// type: 11,
// image: require('@/static/images/index10.png')
// },
// {
// name: '商户设置',
// type: 12,
// image: require('@/static/images/index11.png')
// },
{
name: '提现管理',
type: 5,
image: require('@/static/images/index8.png')
},
// {
// name: '客服记录',
// type: 6,
// image: require('@/static/images/index6.png')
// },
{
name: '全部',
type: 8,
image: require('@/static/images/index3.png')
}
],
typelistSupplyChain: [{
name: '商品管理',
type: 1,
image: require('@/static/images/index7.png')
},
{
name: '入库管理',
type: 13,
image: require('@/static/images/index9.png')
}, {
name: '订单管理',
type: 2,
image: require('@/static/images/index1.png')
}, {
name: '提现管理',
type: 5,
image: require('@/static/images/index8.png')
},
{
name: '押金缴纳',
type: 14,
image: require('@/static/images/index20.png')
},
// {
// name: '客服记录',
// type: 6,
// image: require('@/static/images/index6.png')
// },
{
name: '订单核销',
type: 7,
image: require('@/static/images/index2.png')
},
{
name: '商户设置',
type: 12,
image: require('@/static/images/index11.png')
},
{
name: '全部',
type: 8,
image: require('@/static/images/index3.png')
}],
refundInfo: {},
company: '',
organization_code: '',
show: false,
refundMark: false,
where: {
page: 1,
limit: 3,
status: 2
},
where1: {
product_type: 0
},
where2: {
type: 2,
page: 1,
limit: 10
},
loadend: false,
loading: false,
loadTitle: '加载更多',
isgShow: false,
emptyShow: false,
productList: [],
userid: '',
userInfoData: {},
isshow: false,
codenote: [],
validate: false,
merchantData: {
company_name: '',
bank_username: '',
bank_opening: '',
bank_code: '',
bank_front: '',
bank_back: '',
cardno_front: '',
cardno_back: ''
},
Fheight: 0,
isFshow: false,
detail: {},
tagStyle: {
img: 'width:100%;display:block;'
},
num: 10
}
},
watch: {
isFshow(n, o){
if(n) {
uni.hideTabBar();
}
else {
uni.showTabBar();
}
}
},
onPullDownRefresh() {
this.getGoods(true).then(()=>{
uni.stopPullDownRefresh()
})
},
async onLoad() {
this.Fheight = uni.getSystemInfoSync().windowHeight + 'px';
await this.$onLaunched;
this.list1()
},
onReachBottom() {
if (this.productList.length > 0) {
setTimeout(() => {
this.getGoods(false);
this.getindex();
}, 10)
}
},
async onShow() {
await this.$onLaunched;
this.getUserInfo()
this.codelist()
},
beforeDestroy() {
// 销毁监听事件
this.$bus.$off('value-updated')
},
methods: {
// 初始化菜单
initTypeLiseMenu() {
},
//关闭弹窗
close() {
this.isFshow = false;
this.$refs.popup.close()
this.num = 15
},
//获取交易信息
codelist() {
intention(this.where2).then(res => {
this.codenote = res.data.list
})
},
//跳转订单
shopporder(item) {
if (this.userid) {
switch (item.type) {
case 1:
uni.navigateTo({
url: '/pages/admin/orderList/index?merId=' + this.userInfoData.service.mer_id +
'&types=' + item.type
})
break;
case 2:
uni.navigateTo({
url: '/pages/admin/orderList/index?merId=' + this.userInfoData.service.mer_id +
'&types=' + item.type
})
break;
case 3:
uni.navigateTo({
url: '/pages/admin/orderList/index?merId=' + this.userInfoData.service.mer_id +
'&types=' + item.type
})
break;
case 4:
uni.navigateTo({
url: '/pages/admin/orderList/index?merId=' + this.userInfoData.service.mer_id +
'&types=' + item.type
})
break;
case 6:
uni.navigateTo({
url: '/pages/admin/orderList/index?merId=' + this.userInfoData.service.mer_id +
'&types=' + item.type
})
break;
}
} else {
this.isAuto = true;
this.isShowAuth = true
}
},
other_shopporder(item) {
if (this.userid) {
switch (item.type) {
case 1:
uni.navigateTo({
url: '/pages/admin/orderList/indexOther?merId=' + this.userInfoData.service.mer_id +
'&types=' + item.type
})
break;
case 2:
uni.navigateTo({
url: '/pages/admin/orderList/indexOther?merId=' + this.userInfoData.service.mer_id +
'&types=' + item.type
})
break;
case 3:
uni.navigateTo({
url: '/pages/admin/orderList/indexOther?merId=' + this.userInfoData.service.mer_id +
'&types=' + item.type
})
break;
case 4:
uni.navigateTo({
url: '/pages/admin/orderList/indexOther?merId=' + this.userInfoData.service.mer_id +
'&types=' + item.type
})
break;
case 6:
uni.navigateTo({
url: '/pages/admin/orderList/indexOther?merId=' + this.userInfoData.service.mer_id +
'&types=' + item.type
})
break;
}
} else {
this.isAuto = true;
this.isShowAuth = true
}
},
//提交
formSubmit: function(e) {
let that = this;
if (that.validateForm() && that.validate) {
that.validate = false;
intentionbus(that.merchantData).then(res => {
if (res.status == 200) {
this.isFshow = false;
this.$refs.popup.close()
that.$util.Tips({
title: '提交成功'
});
this.codelist()
that.timer = setTimeout(() => {
that.successful = true;
that.validate = true;
}, 1000)
}
}).catch(res => {
that.validate = true;
this.num = 15
this.isFshow = false;
this.$refs.popup.close()
that.$util.Tips({
title: res
});
})
}
},
changePopup(e){
if(e.show)uni.hideTabBar();
else uni.showTabBar();
},
//备注弹窗
refundModify(item) {
this.refundInfo = item;
this.refundMark = true;
},
//同意
agree() {
this.$refs.popup.open()
},
//拒绝
refuse() {
this.isFshow = false
},
//关闭弹窗
recuo() {
if (this.num > 0) {
this.num = 15
this.isFshow = false
} else {
this.num = 15
this.isFshow = false
}
},
countDown() {
let {
num
} = this;
// if (num === 3) this.nums = true;
num = num > 0 ? num - 1 : "0";
setTimeout(() => {
this.num = num;
if (num == '0') {
// this.launchApp()
return
}
if (this.isFshow == false && this.num > 0) {
this.num = 15
return
}
this.countDown();
}, 1000);
},
//验证
validateBtn: function() {
let that = this,
value = that.merchantData;
if (value.bank_username && value.bank_opening) {
if (!that.isShowCode) {
that.validate = true;
} else {
if (that.codeVal) {
that.validate = true;
} else {
that.validate = false;
}
}
} else {
that.validate = false;
}
},
validateForm: function() {
let that = this,
value = that.merchantData;
if (!value.company_name) return that.$util.Tips({
title: '请输入公司名称'
});
if (!value.bank_code) return that.$util.Tips({
title: '请输入对公账号'
});
if (!value.bank_username) return that.$util.Tips({
title: '请输入开户行名称'
});
if (!value.bank_opening) return that.$util.Tips({
title: '请输入开户行地址'
});
// if (value.bank_front.length == 0) return that.$util.Tips({
// title: '请上传一张或者多张图片'
// });
// if (value.bank_back.length == 0) return that.$util.Tips({
// title: '请上传一张或者多张图片'
// });
// if (value.cardno_front.length == 0) return that.$util.Tips({
// title: '请上传一张或者多张图片'
// });
// if (value.cardno_back.length == 0) return that.$util.Tips({
// title: '请上传一张或者多张图片'
// });
that.validate = true;
return true;
},
/**
* 上传文件
*
*/
uploadpic(data) {
let that = this;
if (data.type == 1) {
that.$util.uploadImageOne('upload/image', function(res) {
that.merchantData.cardno_front = res.data.path
});
} else if (data.type == 2) {
that.$util.uploadImageOne('upload/image', function(res) {
that.merchantData.cardno_back = res.data.path
});
} else if (data.type == 3) {
that.$util.uploadImageOne('upload/image', function(res) {
that.merchantData.bank_front = res.data.path
});
} else {
that.$util.uploadImageOne('upload/image', function(res) {
that.merchantData.bank_back = res.data.path
});
}
},
//删除图片
DelPic(data) {
let that = this;
if (data.type == 1) {
that.merchantData.cardno_front = ''
} else if (data.type == 2) {
that.merchantData.cardno_back = ''
} else if (data.type == 3) {
that.merchantData.bank_front = ''
} else {
that.merchantData.bank_back = ''
}
},
//商家设置
byset() {
if (this.userid) {
uni.navigateTo({
url: '/pages/product/basicSet?mer_id=' + this.userInfoData
.service
.mer_id
})
} else {
this.isAuto = true;
this.isShowAuth = true
}
},
//个人详情
logout() {
if(ENV=='prod') this.byset()
else this.$refs.popup1.open()
},
//登录
login() {
uni.redirectTo({
url: '/pages/users/login/login_copy'
})
},
//获取协议内容
list1() {
business({
type: 'mer_settlement_agree'
}).then(res => {
this.detail = res.data
})
},
//跳转
shopp() {
if (this.userInfoData.mer_info.type_id == 12) {
uni.navigateTo({
url: `/pages/nongKe/supply_chain/merchant?id=${this.userInfoData.service.mer_id}`
})
} else {
uni.navigateTo({
url: `/pages/store/home/index?id=` + this.userInfoData.service.mer_id + `&type=7`
})
}
},
//界面跳转
shopdetail(item) {
uni.navigateTo({
url: '/pages/admin/orderDetail/index?id=' + item.order_id + '&mer_id=' + this.userInfoData
.service.mer_id
})
},
//获取订单数据
getindex() {
const data = {
product_type: this.where1.product_type
}
orderStatistics(this.userInfoData.service.mer_id, data).then(
res => {
this.order[0].value = res.data.order.unpaid
this.order[1].value = res.data.order.unshipped
this.order[2].value = res.data.order.untake
this.order[3].value = res.data.order.unevaluate
this.order[4].value = res.data.order.refund
this.list[0].value = res.data.data.today.payPrice
this.list[1].value = res.data.data.today.orderNum
this.list[2].value = res.data.data.month.orderNum
},
err => {
that.$util.Tips({
title: err.msg
})
}
);
otherOrderStatistics(this.userInfoData.service.mer_id, data).then(
res => {
this.other_order[0].value = res.data.order.unshipped
this.other_order[1].value = res.data.order.untake
},
err => {
that.$util.Tips({
title: err.msg
})
}
);
},
open() {
this.isshow = !this.isshow
if (this.isshow) {
setTimeout((res) => {
this.$refs.test.timelist()
}, 1000)
}
},
// 授权回调
onLoadFun(data) {
this.getUserInfo();
this.isShowAuth = false;
},
/**
* 获取个人用户信息
*/
getUserInfo() {
getUserInfo().then(res => {
// console.log(res);
this.userid = res.data.uid
this.userInfoData = res.data
this.$store.commit('SET_USERINFO', res.data);
this.merchantData.phone = res.data.phone;
this.merchantData.company_name = res.data.mer_info.company_name;
if (res.data.service == null) {
// console.log('123');
this.isgShow = false
} else {
this.isgShow = true
}
if (res.data.mer_info.length == 0) {
uni.showModal({
title: '暂无商户信息',
complete(res) {
// #ifdef APP-PLUS
uni.sendHostEvent('closeApp', (ret) => {
//发送消息成功回调
console.log('关闭应用' + JSON.stringify(ret));
});
// #endif
}
})
} else {
this.getindex()
this.getGoods(true)
}
merstreet({
street_code: res.data.mer_info.street_id
}).then((res) => {
if (res.code == 0) {
// this.$util.Tips({
// title: res.msg
// });
return false;
}
this.company = res.data.title
this.organization_code = res.data.organization_code
}).catch(res => {
console.log('错误:', res)
})
});
},
// 备注
save() {
let that = this;
if (!that.refundInfo.remark) {
return this.$util.Tips({
title: '请输入备注'
})
}
setAdminOrderRemark(that.userInfoData.service.mer_id, that.refundInfo.order_id, {
remark: that.refundInfo.remark
}).then(
res => {
this.refundMark = false;
this.$util.Tips({
title: res.message,
icon: 'success'
})
that.getGoods(true);
},
err => {
that.$util.Tips({
title: err
});
}
);
},
// 授权关闭
authColse: function(e) {
this.isShowAuth = e
},
//路由跳转
navation(item) {
if (this.userid) {
if (this.userInfoData.mer_info.mer_settlement_agree_status == 0) {
// console.log(this.$store.state.app.userInfo.mer_info.type_code);
if(this.$store.state.app.userInfo.mer_info.type_code=="TypeSupplyChain"){
this.agree()
// this.countDown()
} else if (this.codenote.length == 0) {
this.isFshow = true
this.countDown()
} else {
if (this.codenote[0].status == 0) {
if (item.type == 8) {
uni.navigateTo({
url: '/pages/moreProject/moreProject'
})
} else {
uni.showModal({
title: '申请正在审核中,请勿重复提交'
})
}
} else {
this.isFshow = true
this.countDown()
}
}
} else {
switch (item.type) {
case 1:
uni.navigateTo({
url: '/pages/product/list/index'
})
break;
case 2:
uni.navigateTo({
url: '/pages/admin/order/index?mer_id=' + this.userInfoData.service.mer_id +
'&type_id=' + this.userInfoData.mer_info.type_id
})
break;
case 3:
uni.navigateTo({
url: '/pages/users/supply_procurement/index?type_id=12&isDetail=1&product_type=98&cate_id=' +
this.userInfoData.mer_info.category_id
})
// uni.navigateTo({
// url: `/pages/nongKe/supply_chain/supplierA?tit=1&type_id=12&isDetail=1&product_type=98&cate_id=${this.userInfoData.mer_info.category_id}`
// })
// uni.navigateTo({
// url:`/pages/nongKe/cloud_entrepot/indexb?type_id=12`
// })
break;
case 4:
uni.navigateTo({
// url: '/pages/users/order_list/index?status=-1'
url: '/pages/users/order_list/indexCopy?status=-1&product_type=98'
})
break;
case 5:
uni.navigateTo({
url: '/pages/users/embody/embody?mer_id=' + this.userInfoData.service.mer_id
})
break;
case 6:
uni.switchTab({
url: '/pages/chat/customer_list/index?type=1&mer_id=' + this.userInfoData
.service
.mer_id
})
break;
case 7:
uni.navigateTo({
url: '/pages/admin/order_cancellation/index?mer_id=' + this.userInfoData
.service
.mer_id
})
break;
case 9:
uni.navigateTo({
url: `/pages/commissionedSales/receivedCommission/index?type_id=${this.userInfoData.mer_info.type_id}`
})
break;
case 10:
uni.navigateTo({
url: `/pages/users/order_list/relase?mer_id=${this.userInfoData
.service
.mer_id}&status=-1`
})
break;
case 11:
uni.navigateTo({
url: `/pages/admin/stockOut/index?mer_id=${this.userInfoData
.service
.mer_id}`
})
break;
case 12:
uni.navigateTo({
url: `/pages/product/basicSet?mer_id=${this.userInfoData
.service
.mer_id}`
})
break;
case 13:
uni.navigateTo({
url: `/pages/nongKe/gather/select_warehouse?mer_id=${this.userInfoData
.service
.mer_id}&stype=2`
})
break;
case 14:
if(this.userInfoData.mer_info.mer_settlement_agree_status == 0) Toast('暂无权限');
else uni.navigateTo({
url: '/pages/margin/margin' + `?mer_id=` + this.userInfoData
.service
.mer_id
})
break;
default:
uni.navigateTo({
url: '/pages/moreProject/moreProject'
})
break;
}
}
} else {
this.isAuto = true;
this.isShowAuth = true
}
},
//获取订单列表
getGoods: async function(isPage) {
let that = this;
if (that.loadend) return;
if (that.loading) return;
if (isPage === true) {
that.where.page = 1;
that.$set(that, 'productList', []);
}
that.loading = true;
that.loadTitle = '';
await getOrderList(that.where, this.userInfoData.service.mer_id).then(res => {
let list = res.data.list;
let productList = that.$util.SplitArray(list, that.productList);
let loadend = list.length < that.where.limit;
that.loadend = loadend;
that.loading = false;
that.loadTitle = loadend ? '已全部加载' : '加载更多';
setTimeout(() => {
that.$set(that, 'productList', productList);
}, 500)
// console.log(that.productList)
that.$set(that.where, 'page', that.where.page + 1);
if (that.where.page == 1 && res.data.list.length <= 0) that.emptyShow = true
}).catch(err => {
that.loading = false;
that.loadTitle = '加载更多';
});
},
}
}
</script>
<style lang="scss" scoped>
page {
background-color: #f4f7fe;
// background: linear-gradient(180deg, #FFFFFF 0%, #F6F6F6 100%);
}
/deep/.statistical-page .navs {
top: 400rpx !important;
}
.userpage {
width: 100%;
background-color: #fff;
position: relative;
}
.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;
}
.userpage-icon {
width: 90rpx;
height: 90rpx;
position: absolute;
top: 90rpx;
right: 30rpx;
image {
width: 100%;
height: 100%;
}
}
.item-name {
width: 190rpx;
font-size: 32rpx;
}
.merchantsSettled {
height: 100%;
padding-top: 130rpx;
}
.merchantsSettled .title {
font-size: 35rpx;
font-family: Microsoft YaHei;
font-weight: 400;
text-align: center;
}
.merchantsSettled .list {
background-color: #fff;
border-radius: 12px;
margin: 0 15px;
width: 694rpx;
position: absolute;
}
.application-record {
position: absolute;
display: flex;
align-items: center;
top: 240rpx;
right: 0;
color: #fff;
font-size: 22rpx;
background-color: rgba(0, 0, 0, 0.3);
padding: 8rpx 18rpx;
border-radius: 20px 0px 0px 20px;
}
.item-card {
display: flex;
margin-top: 20rpx;
.item-carda {
width: 298rpx;
height: 175rpx;
margin-right: 20rpx;
image {
width: 100%;
height: 100%;
}
}
.item-cardb {
width: 298rpx;
height: 175rpx;
image {
width: 100%;
height: 100%;
}
}
}
.merchantsSettled .list .item {
padding: 30rpx 0 10rpx;
position: relative;
margin: 0 20px;
&.no-border {
border-bottom: none;
padding-left: 0;
padding-right: 0;
}
.item-title {
color: #666666;
font-size: 32rpx;
display: block;
}
.item-desc {
color: #B2B2B2;
font-size: 32rpx;
display: block;
margin-top: 9rpx;
line-height: 36rpx;
}
}
.acea-row,
.upload {
display: -webkit-box;
display: -moz-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-lines: multiple;
-moz-box-lines: multiple;
-o-box-lines: multiple;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.upload {
margin-top: 20rpx;
}
.acea-row.row-middle {
-webkit-box-align: center;
-moz-box-align: center;
-o-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
padding-left: 2px;
}
.acea-row.row-column {
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
-o-box-orient: vertical;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.acea-row.row-center-wrapper {
-webkit-box-align: center;
-moz-box-align: center;
-o-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
-webkit-box-pack: center;
-moz-box-pack: center;
-o-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
}
.merchantsSettled .list .item .pictrue {
width: 130rpx;
height: 130rpx;
margin: 24rpx 22rpx 0 0;
position: relative;
font-size: 32rpx;
color: #bbb;
&:nth-child(4n) {
margin-right: 0;
}
&:nth-last-child(1) {
border: 0.5px solid #ddd;
box-sizing: border-box;
}
uni-image,
image {
width: 100%;
height: 100%;
border-radius: 1px;
img {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
display: block;
position: absolute;
top: 0;
left: 0;
opacity: 0;
width: 100%;
height: 100%;
}
}
.icon-guanbi1 {
font-size: 33rpx;
position: absolute;
top: -10px;
right: -10px;
}
}
.uni-list-cell-db {
position: relative;
}
.merchantsSettled .submitBtn {
width: 588rpx;
margin: 0 auto;
height: 86rpx;
border-radius: 25px;
text-align: center;
line-height: 86rpx;
font-size: 32rpx;
color: #fff;
background: #E3E3E3;
margin-top: 25px;
pointer-events: none;
margin-bottom: 100px;
}
.merchantsSettled .submitBtn.on {
background: red;
pointer-events: all;
}
.settlementAgreement {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
background: rgba(0, 0, 0, .5);
z-index: 10;
}
.settlementAgreement .setAgCount {
background: #fff;
width: 694rpx;
// height: 458px;
position: absolute;
top: 50%;
left: 50%;
padding: 28rpx;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
overflow: hidden;
.content {
height: 900rpx;
overflow-y: scroll;
/deep/ p {
font-size: 13px;
line-height: 22px;
}
/deep/ img {
max-width: 100%;
}
}
}
.settlementAgreement .setAgCount .icon {
font-size: 42rpx;
color: #b4b1b4;
position: absolute;
top: 15rpx;
right: 15rpx;
}
.settlementAgreement .setAgCount .title {
color: #333;
font-size: 32rpx;
text-align: center;
font-weight: bold;
}
.settlementAgreement .setAgCount .contenta {
color: #333;
font-size: 26rpx;
line-height: 22px;
text-align: justify;
text-justify: distribute-all-lines;
height: 76%;
overflow-y: scroll;
}
.setAgCountbtn {
display: flex;
justify-content: space-around;
padding-bottom: 30rpx;
position: relative;
.setAgCountbtna {
margin-top: 40rpx;
width: 200rpx;
height: 74rpx;
text-align: center;
line-height: 74rpx;
border-radius: 46rpx 46rpx;
opacity: 1;
border: 2rpx solid #B3B3B3;
font-size: 25rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #737373;
}
.setAgCountbtnb {
margin-top: 40rpx;
padding-left: 20rpx;
padding-right: 20rpx;
text-align: center;
line-height: 74rpx;
background: #cecece;
border-radius: 46rpx 46rpx;
opacity: 1;
font-size: 25rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #fff;
}
.setAgCountbtnc {
margin-top: 40rpx;
width: 200rpx;
height: 74rpx;
text-align: center;
line-height: 74rpx;
background: linear-gradient(270deg, #FF6D20 0%, #F84221 100%);
border-radius: 46rpx 46rpx;
opacity: 1;
font-size: 25rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #fff;
}
.border{
position: absolute;
top: 0;
left: -28rpx;
width: 100vw;
height: 100%;
border-radius: 40rpx 40rpx 0 0;
box-shadow: 0px -5px 5px -2px rgba(0, 0, 0, 0.2); /* 在上边框添加阴影 */
}
.btn{
width: 694rpx;
font-weight: bold;
font-size: 34rpx;
}
}
.left-content {
width: 680rpx;
height: 100%;
display: flex;
background-color: #ffffff;
.left-content-left {
width: 206rpx;
height: 100%;
background-color: #d9d9d9;
text-align: center;
padding-top: 80rpx;
flex-shrink: 0;
.content-top_txt {
font-size: 18rpx;
}
.content-top_img {
width: 96rpx;
height: 96rpx;
border-radius: 50%;
margin: 0 auto;
margin-bottom: 40rpx;
image {
border-radius: 50%;
width: 100%;
height: 100%;
}
}
}
.left-content-right {
padding-left: 30rpx;
position: relative;
padding-top: 80rpx;
flex: 1;
.content-right-one {
display: flex;
.content-right-onea {
font-size: 30rpx;
}
.content-right-oneb {
margin-top: 5rpx;
width: 40rpx;
height: 40rpx;
image {
width: 100%;
height: 100%;
}
}
}
.content-right-botm {
position: absolute;
bottom: 200rpx;
width: 300rpx;
height: 70rpx;
line-height: 70rpx;
border-radius: 20rpx 20rpx;
right: 50%;
transform: translate(50%, 0);
color: #ffffff;
background-color: #00a1f1;
text-align: center;
font-size: 25rpx;
}
}
}
.conter-img {
width: 650rpx;
height: 400rpx;
margin: 0 auto;
margin-top: 60rpx;
image {
width: 100%;
height: 100%;
}
}
.content {
padding-top: 80rpx;
.content-top {
display: flex;
justify-content: space-between;
}
.content-tops {
display: flex;
height: 96rpx;
align-items: center;
.content-top_img {
margin-left: 16rpx;
width: 96rpx;
height: 96rpx;
border-radius: 50%;
flex-shrink: 0;
image {
border-radius: 50%;
width: 100%;
height: 100%;
}
}
.content-top-title {
margin-left: 11rpx;
display: flex;
align-items: center;
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
.top-titlea{
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.top-titleb {
width: 30rpx;
height: 30rpx;
margin-bottom: 5rpx;
margin-left: 10rpx;
margin-right: 15rpx;
image {
width: 100%;
height: 100%;
}
}
}
}
.content-middle {
padding: 0 60rpx;
display: flex;
justify-content: space-around;
margin-top: 61rpx;
.content-middlea {
width: 161rpx;
text-align: center;
.content-middlea-one {
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
}
.content-middlea-two {
font-size: 42rpx;
font-family: SF Pro Display-Semibold, SF Pro Display;
font-weight: 600;
color: #333333;
margin-top: 11rpx;
}
}
}
.content-open {
width: 70rpx;
height: 15rpx;
margin: 0 auto;
margin-top: 53rpx;
image {
width: 100%;
height: 100%;
}
}
.content-bottom {
background-color: #ffffff;
border-radius: 32rpx 32rpx 0px 0px;
margin-top: 41rpx;
padding-top: 46rpx;
.content-order {
display: flex;
justify-content: space-around;
view {
width: 100rpx;
text-align: center;
.content-order-one {
margin-top: 11rpx;
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
}
.content-order-two {
font-size: 42rpx;
font-family: SF Pro Display-Semibold, SF Pro Display;
font-weight: 600;
color: #333333;
}
}
}
.content-tools {
margin-top: 70rpx;
.tools-one {
width: 133rpx;
line-height: 50rpx;
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
margin-left: 16rpx;
view {
width: 46rpx;
height: 5rpx;
background: #F84221;
margin: 0 auto;
}
}
.tools-two {
display: grid;
grid-template-columns: repeat(4, 1fr);
padding: 0 44rpx;
view {
margin-top: 24rpx;
text-align: center;
.tools-two-img {
width: 120rpx;
height: 120rpx;
margin-left: 20rpx;
image {
width: 100%;
height: 100%;
}
}
}
}
}
.content-list {
margin-top: 70rpx;
background-color: #f4f7fe;
.tools-one {
width: 133rpx;
line-height: 50rpx;
font-size: 33rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
margin-left: 16rpx;
view {
width: 46rpx;
height: 5rpx;
background: #F84221;
margin: 0 auto;
}
}
.content-list-one {
padding: 25rpx 25rpx;
padding-bottom: 100rpx;
margin-bottom: 10rpx;
background-color: #fff;
.list-one {
display: flex;
justify-content: space-between;
align-items: center;
.list-one_left {
display: flex;
height: 49rpx;
line-height: 49rpx;
.list-one_left-a {
width: 49rpx;
height: 49rpx;
margin-right: 20rpx;
image {
width: 100%;
height: 100%;
}
}
.list-one_left-c {
width: 26rpx;
height: 26rpx;
margin-top: 5rpx;
image {
width: 100%;
height: 100%;
}
}
}
.list-one_right {
display: flex;
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
align-items: center;
.list-one_right-a {
color: #333333;
}
.list-one_right-c {
height: 27rpx;
width: 2px;
margin-top: 5rpx;
background-color: #000;
margin-left: 15rpx;
margin-right: 15rpx;
}
.list-one_right-b {
color: #F84221;
}
}
}
.list-two {
display: flex;
margin-top: 26rpx;
.list-two_left {
width: 175rpx;
height: 175rpx;
image {
width: 100%;
height: 100%;
}
}
.list-two_middle {
margin-left: 20rpx;
.two_middle-title-a {
display: flex;
justify-content: space-between;
.two_middle-title-a-left {
width: 387rpx;
font-size: 30rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
}
.two_middle-title-a-right {
text-align: right;
.title-number {
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #737373;
}
.title-price {
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #F84221;
margin-top: -10rpx;
}
}
}
.two_middle-title-b {
display: flex;
.title-number {
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #737373;
}
.title-price {
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
margin-top: -10rpx;
}
}
}
}
.list-three {
margin-top: 46rpx;
.list-three-one {
display: flex;
margin-top: 20rpx;
.title-img {
width: 28rpx;
height: 28rpx;
margin-top: 5rpx;
margin-right: 10rpx;
image {
width: 100%;
height: 100%;
}
}
font-size: 26rpx;
font-family: PingFang SC-Regular,
PingFang SC;
font-weight: 400;
color: #333333;
}
}
.list-four {
display: flex;
position: absolute;
right: 25rpx;
padding-top: 20rpx;
}
.list-four .btn {
width: 116rpx;
line-height: 58rpx;
text-align: center;
border: 1px solid #737373;
height: 58rpx;
border-radius: 30rpx 30rpx;
opacity: 1;
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #737373 !important;
}
.list-four .btn1 {
margin-left: 32rpx;
width: 142rpx;
line-height: 58rpx;
text-align: center;
border: 1px solid #F84221;
height: 58rpx;
border-radius: 30rpx 30rpx;
opacity: 1;
font-size: 26rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #F84221 !important;
}
}
}
}
}
</style>