mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-10-29 05:50:50 +00:00
【前端模版】更新v4.4.4模版文件
This commit is contained in:
parent
78c3b71524
commit
d3c3b379d1
@ -4,11 +4,11 @@ VUE_APP_ENV='dev'
|
||||
# 页面 title
|
||||
VUE_APP_TITLE=CRMEB
|
||||
# socket 客服连接地址
|
||||
VUE_APP_WS_KEFU_URL="ws://v4.crmeb.net/msg"
|
||||
VUE_APP_WS_KEFU_URL=""
|
||||
# socket 系统连接地址
|
||||
VUE_APP_WS_ADMIN_URL="ws://v4.crmeb.net/notice"
|
||||
VUE_APP_WS_ADMIN_URL=""
|
||||
|
||||
|
||||
|
||||
# 接口请求地址
|
||||
VUE_APP_API_URL='http://v4.crmeb.net/adminapi'
|
||||
VUE_APP_API_URL=''
|
||||
|
||||
@ -117,4 +117,4 @@
|
||||
"git add"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1034,7 +1034,7 @@ export default {
|
||||
// 选择商品
|
||||
changeGoods() {
|
||||
this.modals = true;
|
||||
this.$refs.goodslist.formValidate.is_virtual = 0;
|
||||
this.$refs.goodslist.formValidate.is_presale = 0;
|
||||
this.$refs.goodslist.getList();
|
||||
this.$refs.goodslist.goodsCategory();
|
||||
},
|
||||
|
||||
@ -985,7 +985,7 @@ export default {
|
||||
// 选择商品
|
||||
changeGoods() {
|
||||
this.modals = true;
|
||||
this.$refs.goodslist.formValidate.is_virtual = 0;
|
||||
this.$refs.goodslist.formValidate.is_presale = 0;
|
||||
this.$refs.goodslist.getList();
|
||||
this.$refs.goodslist.goodsCategory();
|
||||
},
|
||||
|
||||
@ -745,7 +745,7 @@ export default {
|
||||
// 选择商品
|
||||
changeGoods() {
|
||||
this.modals = true;
|
||||
this.$refs.goodslist.formValidate.is_virtual = 0;
|
||||
this.$refs.goodslist.formValidate.is_presale = 0;
|
||||
this.$refs.goodslist.getList();
|
||||
this.$refs.goodslist.goodsCategory();
|
||||
}, // 移动
|
||||
|
||||
@ -935,7 +935,7 @@ export default {
|
||||
// 选择商品
|
||||
changeGoods() {
|
||||
this.modals = true;
|
||||
this.$refs.goodslist.formValidate.is_virtual = 0;
|
||||
this.$refs.goodslist.formValidate.is_presale = 0;
|
||||
this.$refs.goodslist.getList();
|
||||
this.$refs.goodslist.goodsCategory();
|
||||
}, // 移动
|
||||
|
||||
@ -1439,7 +1439,7 @@
|
||||
<Col span="24">
|
||||
<div class="line"></div>
|
||||
</Col>
|
||||
<Col span="24" v-if="formValidate.virtual_type == 0">
|
||||
<Col span="24" v-if="formValidate.virtual_type == 0 || formValidate.virtual_type == 3">
|
||||
<FormItem label="预售商品:">
|
||||
<i-switch v-model="formValidate.presale" size="large">
|
||||
<span slot="open">开启</span>
|
||||
|
||||
@ -2,56 +2,7 @@
|
||||
<div class="message">
|
||||
<div class="i-layout-page-header">
|
||||
<span class="ivu-page-header-title">{{ $route.meta.title }}</span>
|
||||
<div class="ivu-mt">
|
||||
<Alert v-if="industry" type="info" banner closable>
|
||||
<template slot="desc" >
|
||||
<div>
|
||||
<p>
|
||||
1、请在微信后台设置模版消息主营行业:{{
|
||||
industry.primary_industry.first_class
|
||||
? industry.primary_industry.first_class + "||"
|
||||
: industry.primary_industry
|
||||
}}
|
||||
{{
|
||||
industry.primary_industry.second_class
|
||||
? industry.primary_industry.second_class
|
||||
: ""
|
||||
}}
|
||||
|| 副营行业:{{
|
||||
industry.secondary_industry.first_class
|
||||
? industry.secondary_industry.first_class + "||"
|
||||
: industry.secondary_industry
|
||||
}}
|
||||
{{
|
||||
industry.secondary_industry.second_class
|
||||
? industry.secondary_industry.second_class
|
||||
: ""
|
||||
}}
|
||||
</p>
|
||||
<p>2、点击同步按钮会自动在微信后台添加模版消息</p>
|
||||
</div>
|
||||
</template>
|
||||
</Alert>
|
||||
<Row type="flex" class="mb20">
|
||||
<Col v-bind="grid">
|
||||
<Button
|
||||
v-auth="['app-wechat-template-sync']"
|
||||
icon="md-list"
|
||||
type="success"
|
||||
@click="routineTemplate"
|
||||
style="margin-left: 20px"
|
||||
>同步小程序订阅消息</Button
|
||||
>
|
||||
<Button
|
||||
v-auth="['app-wechat-template-sync']"
|
||||
icon="md-list"
|
||||
type="success"
|
||||
@click="wechatTemplate"
|
||||
style="margin-left: 20px"
|
||||
>同步微信模版消息</Button
|
||||
>
|
||||
</Col>
|
||||
</Row>
|
||||
<div>
|
||||
<Tabs v-model="currentTab" @on-click="changeTab">
|
||||
<TabPane
|
||||
:label="item.label"
|
||||
@ -62,11 +13,56 @@
|
||||
</Tabs>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ivu-row">
|
||||
|
||||
<div class="table-box">
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
|
||||
|
||||
<Row type="flex" class="mb20" v-if="currentTab == 1">
|
||||
<Col v-bind="grid">
|
||||
<Button
|
||||
v-auth="['app-wechat-template-sync']"
|
||||
icon="md-list"
|
||||
type="success"
|
||||
@click="routineTemplate"
|
||||
style="margin-left: 20px"
|
||||
>同步小程序订阅消息</Button
|
||||
>
|
||||
<Button
|
||||
v-auth="['app-wechat-template-sync']"
|
||||
icon="md-list"
|
||||
type="success"
|
||||
@click="wechatTemplate"
|
||||
style="margin-left: 20px"
|
||||
>同步微信模版消息</Button
|
||||
>
|
||||
</Col>
|
||||
</Row>
|
||||
<Alert v-if="industry && currentTab == 1">
|
||||
<template slot="desc">
|
||||
<div>
|
||||
主营行业:{{
|
||||
industry.primary_industry.first_class
|
||||
? industry.primary_industry.first_class + "||"
|
||||
: industry.primary_industry
|
||||
}}
|
||||
{{
|
||||
industry.primary_industry.second_class
|
||||
? industry.primary_industry.second_class
|
||||
: ""
|
||||
}}
|
||||
</div>
|
||||
<div>
|
||||
副营行业:{{
|
||||
industry.secondary_industry.first_class
|
||||
? industry.secondary_industry.first_class + "||"
|
||||
: industry.secondary_industry
|
||||
}}
|
||||
{{
|
||||
industry.secondary_industry.second_class
|
||||
? industry.secondary_industry.second_class
|
||||
: ""
|
||||
}}
|
||||
</div>
|
||||
</template>
|
||||
</Alert>
|
||||
<Table
|
||||
:columns="currentTab == 1 ?columns : columns2"
|
||||
:data="levelLists"
|
||||
@ -96,7 +92,7 @@
|
||||
]"
|
||||
:slot="item"
|
||||
>
|
||||
<div v-if="item === 'is_ent_wechat' && currentTab == 1">--</div>
|
||||
<div v-if="item === 'is_ent_wechat' && currentTab == 1">--</div>
|
||||
<i-switch
|
||||
v-model="row[item]"
|
||||
:value="row[item]"
|
||||
@ -348,7 +344,4 @@ export default {
|
||||
.table {
|
||||
padding: 0 18px;
|
||||
}
|
||||
.ivu-alert-with-desc {
|
||||
padding: 5px 16px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -1,228 +1,150 @@
|
||||
<template>
|
||||
<div class="edit">
|
||||
<div class="i-layout-page-header">
|
||||
<!-- <div class="i-layout-page-header">
|
||||
<router-link :to="{ path: '/admin/setting/notification/index' }"
|
||||
><Button icon="ios-arrow-back" size="small" type="text"
|
||||
>返回</Button
|
||||
></router-link
|
||||
><Button icon="ios-arrow-back" size="small" class="mr20"
|
||||
>返回</Button
|
||||
></router-link
|
||||
>
|
||||
<Divider type="vertical" />
|
||||
<span class="ivu-page-header-title">{{ $route.meta.title }}</span>
|
||||
</div> -->
|
||||
<div class="i-layout-page-header header_top">
|
||||
<div class="i-layout-page-header fl_header">
|
||||
<router-link :to="{ path: '/admin/setting/notification/index' }"><Button icon="ios-arrow-back" size="small"
|
||||
type="text">返回</Button></router-link>
|
||||
<Divider type="vertical" />
|
||||
<span class="ivu-page-header-title mr20" style="padding: 0" v-text="$route.meta.title"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<Row :gutter="32">
|
||||
<Col span="32" class="demo-tabs-style1" style="padding: 16px">
|
||||
<Tabs @on-click="changeTabs">
|
||||
<TabPane
|
||||
v-for="(item, index) in tabsList"
|
||||
:key="index"
|
||||
:name="item.slot"
|
||||
:label="item.title"
|
||||
>
|
||||
<Form
|
||||
class="form-sty"
|
||||
ref="formData"
|
||||
:model="formData"
|
||||
:rules="ruleValidate"
|
||||
:label-width="80"
|
||||
>
|
||||
<div v-if="item.slot === 'is_system' && !loading">
|
||||
<FormItem label="通知标题">
|
||||
<Input
|
||||
v-model="formData.system_title"
|
||||
placeholder="请输入通知标题"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="通知内容">
|
||||
<div class="content">
|
||||
<Input
|
||||
v-model="formData.system_text"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 5, maxRows: 8 }"
|
||||
placeholder="请输入通知内容"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
<div class="trip">
|
||||
<div>
|
||||
请输入模板消息详细内容对应的变量。关键字个数需与已添加的模板一致。
|
||||
可以使用如下变量:
|
||||
</div>
|
||||
<div
|
||||
v-for="(item, index) in formData.variable.split(',')"
|
||||
:key="index"
|
||||
>
|
||||
{{ item }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem label="状态" prop="is_system">
|
||||
<RadioGroup v-model="formData.is_system">
|
||||
<Radio :label="1">开启</Radio>
|
||||
<Radio :label="2">关闭</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</div>
|
||||
<div v-if="item.slot === 'is_sms' && !loading">
|
||||
<FormItem label="短信模版ID">
|
||||
<Input
|
||||
v-model="formData.sms_id"
|
||||
placeholder="短信模版ID"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="通知内容">
|
||||
<div class="content">
|
||||
<Input
|
||||
v-model="formData.content"
|
||||
type="textarea"
|
||||
disabled
|
||||
:autosize="{ minRows: 5, maxRows: 8 }"
|
||||
placeholder="请输入通知内容"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem label="状态" prop="is_sms">
|
||||
<RadioGroup v-model="formData.is_sms">
|
||||
<Radio :label="1">开启</Radio>
|
||||
<Radio :label="2">关闭</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</div>
|
||||
<div v-else-if="item.slot === 'is_wechat' && !loading">
|
||||
<FormItem label="ID">
|
||||
<Input
|
||||
v-model="formData.templage_message_id"
|
||||
disabled
|
||||
placeholder="请输入通模板编号"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="模板编号">
|
||||
<Input
|
||||
v-model="formData.tempkey"
|
||||
disabled
|
||||
placeholder="请输入通模板编号"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="模板">
|
||||
<Input
|
||||
disabled
|
||||
v-model="formData.content"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 5, maxRows: 8 }"
|
||||
placeholder="请输入模板"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="模板ID">
|
||||
<Input
|
||||
v-model="formData.tempid"
|
||||
placeholder="请输入模板ID"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="状态" prop="is_wechat">
|
||||
<RadioGroup v-model="formData.is_wechat">
|
||||
<Radio :label="1">开启</Radio>
|
||||
<Radio :label="2">关闭</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</div>
|
||||
<div v-else-if="item.slot === 'is_routine' && !loading">
|
||||
<FormItem label="ID">
|
||||
<Input
|
||||
v-model="formData.templage_message_id"
|
||||
disabled
|
||||
placeholder="请输入通模板编号"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="模板编号">
|
||||
<Input
|
||||
v-model="formData.tempkey"
|
||||
disabled
|
||||
placeholder="请输入通模板编号"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="模板">
|
||||
<Input
|
||||
disabled
|
||||
v-model="formData.content"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 5, maxRows: 8 }"
|
||||
placeholder="请输入模板"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="模板ID">
|
||||
<Input
|
||||
v-model="formData.tempid"
|
||||
placeholder="请输入模板ID"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
</FormItem>
|
||||
<FormItem label="状态" prop="is_routine">
|
||||
<RadioGroup v-model="formData.is_routine">
|
||||
<Radio :label="1">开启</Radio>
|
||||
<Radio :label="2">关闭</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</div>
|
||||
|
||||
<div v-else-if="item.slot === 'is_ent_wechat' && !loading">
|
||||
<FormItem label="通知内容">
|
||||
<div class="content">
|
||||
<Input
|
||||
v-model="formData.ent_wechat_text"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 5, maxRows: 8 }"
|
||||
placeholder="请输入通知内容"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
<div class="trip">
|
||||
<div>
|
||||
请输入模板消息详细内容对应的变量。关键字个数需与已添加的模板一致。
|
||||
可以使用如下变量:
|
||||
</div>
|
||||
<div
|
||||
v-for="(item, index) in formData.variable.split(',')"
|
||||
:key="index"
|
||||
>
|
||||
{{ item }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem label="机器人链接">
|
||||
<div class="content">
|
||||
<Input
|
||||
v-model="formData.url"
|
||||
placeholder="请输入机器人链接"
|
||||
style="width: 500px"
|
||||
></Input>
|
||||
<div class="trip">企业微信群机器人链接</div>
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem label="状态" prop="is_ent_wechat">
|
||||
<RadioGroup v-model="formData.is_ent_wechat">
|
||||
<Radio :label="1">开启</Radio>
|
||||
<Radio :label="2">关闭</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</div>
|
||||
<FormItem>
|
||||
<Button type="primary" @click="handleSubmit('formData')"
|
||||
>提交</Button
|
||||
>
|
||||
<Tabs @on-click="changeTabs">
|
||||
<TabPane v-for="(item, index) in tabsList" :key="index" :name="item.slot" :label="item.title">
|
||||
<Form class="form-sty" ref="formData" :model="formData" :rules="ruleValidate" :label-width="80">
|
||||
<div v-if="item.slot === 'is_system' && !loading">
|
||||
<FormItem label="通知标题">
|
||||
<Input v-model="formData.system_title" placeholder="请输入通知标题" style="width: 500px"></Input>
|
||||
</FormItem>
|
||||
</Form>
|
||||
</TabPane>
|
||||
</Tabs>
|
||||
<FormItem label="通知内容">
|
||||
<div class="content">
|
||||
<Input v-model="formData.system_text" type="textarea" :autosize="{ minRows: 5, maxRows: 8 }"
|
||||
placeholder="请输入通知内容" style="width: 500px"></Input>
|
||||
<div class="trip">
|
||||
<div>
|
||||
请输入模板消息详细内容对应的变量。关键字个数需与已添加的模板一致。
|
||||
可以使用如下变量:
|
||||
</div>
|
||||
<div v-for="(item, index) in formData.variable.split(',')" :key="index">
|
||||
{{ item }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem label="状态" prop="is_system">
|
||||
<RadioGroup v-model="formData.is_system">
|
||||
<Radio :label="1">开启</Radio>
|
||||
<Radio :label="2">关闭</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</div>
|
||||
<div v-if="item.slot === 'is_sms' && !loading">
|
||||
<FormItem label="短信模版ID">
|
||||
<Input v-model="formData.sms_id" placeholder="短信模版ID" style="width: 500px"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="通知内容">
|
||||
<div class="content">
|
||||
<Input v-model="formData.content" type="textarea" disabled :autosize="{ minRows: 5, maxRows: 8 }"
|
||||
placeholder="请输入通知内容" style="width: 500px"></Input>
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem label="状态" prop="is_sms">
|
||||
<RadioGroup v-model="formData.is_sms">
|
||||
<Radio :label="1">开启</Radio>
|
||||
<Radio :label="2">关闭</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</div>
|
||||
<div v-else-if="item.slot === 'is_wechat' && !loading">
|
||||
<FormItem label="ID">
|
||||
<Input v-model="formData.templage_message_id" disabled placeholder="请输入通模板编号"
|
||||
style="width: 500px"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="模板编号">
|
||||
<Input v-model="formData.tempkey" disabled placeholder="请输入通模板编号" style="width: 500px"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="模板">
|
||||
<Input disabled v-model="formData.content" type="textarea" :autosize="{ minRows: 5, maxRows: 8 }"
|
||||
placeholder="请输入模板" style="width: 500px"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="模板ID">
|
||||
<Input v-model="formData.tempid" placeholder="请输入模板ID" style="width: 500px"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="状态" prop="is_wechat">
|
||||
<RadioGroup v-model="formData.is_wechat">
|
||||
<Radio :label="1">开启</Radio>
|
||||
<Radio :label="2">关闭</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</div>
|
||||
<div v-else-if="item.slot === 'is_routine' && !loading">
|
||||
<FormItem label="ID">
|
||||
<Input v-model="formData.templage_message_id" disabled placeholder="请输入通模板编号"
|
||||
style="width: 500px"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="模板编号">
|
||||
<Input v-model="formData.tempkey" disabled placeholder="请输入通模板编号" style="width: 500px"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="模板">
|
||||
<Input disabled v-model="formData.content" type="textarea" :autosize="{ minRows: 5, maxRows: 8 }"
|
||||
placeholder="请输入模板" style="width: 500px"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="模板ID">
|
||||
<Input v-model="formData.tempid" placeholder="请输入模板ID" style="width: 500px"></Input>
|
||||
</FormItem>
|
||||
<FormItem label="状态" prop="is_routine">
|
||||
<RadioGroup v-model="formData.is_routine">
|
||||
<Radio :label="1">开启</Radio>
|
||||
<Radio :label="2">关闭</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</div>
|
||||
|
||||
<div v-else-if="item.slot === 'is_ent_wechat' && !loading">
|
||||
<FormItem label="通知内容">
|
||||
<div class="content">
|
||||
<Input v-model="formData.ent_wechat_text" type="textarea" :autosize="{ minRows: 5, maxRows: 8 }"
|
||||
placeholder="请输入通知内容" style="width: 500px"></Input>
|
||||
<div class="trip">
|
||||
<div>
|
||||
请输入模板消息详细内容对应的变量。关键字个数需与已添加的模板一致。
|
||||
可以使用如下变量:
|
||||
</div>
|
||||
<div v-for="(item, index) in formData.variable.split(',')" :key="index">
|
||||
{{ item }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem label="机器人链接">
|
||||
<div class="content">
|
||||
<Input v-model="formData.url" placeholder="请输入机器人链接" style="width: 500px"></Input>
|
||||
<div class="trip">企业微信群机器人链接</div>
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem label="状态" prop="is_ent_wechat">
|
||||
<RadioGroup v-model="formData.is_ent_wechat">
|
||||
<Radio :label="1">开启</Radio>
|
||||
<Radio :label="2">关闭</Radio>
|
||||
</RadioGroup>
|
||||
</FormItem>
|
||||
</div>
|
||||
<FormItem>
|
||||
<Button type="primary" @click="handleSubmit('formData')">提交</Button>
|
||||
</FormItem>
|
||||
</Form>
|
||||
</TabPane>
|
||||
</Tabs>
|
||||
</Col>
|
||||
</Row>
|
||||
</div>
|
||||
@ -334,30 +256,33 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.edit {
|
||||
.edit {}
|
||||
.header_top{
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.demo-tabs-style1 > .ivu-tabs-card > .ivu-tabs-content {
|
||||
.demo-tabs-style1>.ivu-tabs-card>.ivu-tabs-content {
|
||||
height: 120px;
|
||||
margin-top: -16px;
|
||||
}
|
||||
|
||||
.demo-tabs-style1 > .ivu-tabs-card > .ivu-tabs-content > .ivu-tabs-tabpane {
|
||||
.demo-tabs-style1>.ivu-tabs-card>.ivu-tabs-content>.ivu-tabs-tabpane {
|
||||
background: #fff;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.demo-tabs-style1 > .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab {
|
||||
.demo-tabs-style1>.ivu-tabs.ivu-tabs-card>.ivu-tabs-bar .ivu-tabs-tab {
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
.demo-tabs-style1 > .ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab-active {
|
||||
.demo-tabs-style1>.ivu-tabs-card>.ivu-tabs-bar .ivu-tabs-tab-active {
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
.tabs {
|
||||
padding: 0 30px;
|
||||
background-color: #fff;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.trip {
|
||||
color: rgb(146, 139, 139);
|
||||
background-color: #f2f2f2;
|
||||
@ -365,10 +290,12 @@ export default {
|
||||
border-radius: 4px;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.form-sty {
|
||||
margin-top: 20px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@ -1,13 +1,9 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="i-layout-page-header">
|
||||
<router-link :to="{ path: '/admin/system/config/system_config_tab/index' }"
|
||||
><Button icon="ios-arrow-back" size="small" type="text"
|
||||
>返回</Button
|
||||
></router-link
|
||||
>
|
||||
<Divider type="vertical" />
|
||||
<div class="i-layout-page-header">
|
||||
<span class="ivu-page-header-title">{{ $route.meta.title }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<Card :bordered="false" dis-hover class="ivu-mt">
|
||||
<Row type="flex">
|
||||
|
||||
@ -218,85 +218,85 @@
|
||||
}
|
||||
|
||||
//公众号静默授权
|
||||
if (window.location.pathname !== '/' && option.query.scope === 'snsapi_base') {
|
||||
let snsapiBase = 'snsapi_base';
|
||||
let urlData = location.pathname + location.search;
|
||||
// if (!that.$store.getters.isLogin && uni.getStorageSync('authIng')) {
|
||||
// uni.setStorageSync('authIng', false)
|
||||
// }
|
||||
if (!that.$store.getters.isLogin && Auth.isWeixin()) {
|
||||
let code,
|
||||
state,
|
||||
scope = ''
|
||||
// if (window.location.pathname !== '/' && option.query.scope === 'snsapi_base') {
|
||||
// let snsapiBase = 'snsapi_base';
|
||||
// let urlData = location.pathname + location.search;
|
||||
// // if (!that.$store.getters.isLogin && uni.getStorageSync('authIng')) {
|
||||
// // uni.setStorageSync('authIng', false)
|
||||
// // }
|
||||
// if (!that.$store.getters.isLogin && Auth.isWeixin()) {
|
||||
// let code,
|
||||
// state,
|
||||
// scope = ''
|
||||
|
||||
if (option.query.code instanceof Array) {
|
||||
code = option.query.code[option.query.code.length - 1]
|
||||
} else {
|
||||
code = option.query.code
|
||||
}
|
||||
// if (option.query.code instanceof Array) {
|
||||
// code = option.query.code[option.query.code.length - 1]
|
||||
// } else {
|
||||
// code = option.query.code
|
||||
// }
|
||||
|
||||
|
||||
if (code && code != uni.getStorageSync('snsapiCode') && location.pathname.indexOf(
|
||||
'/pages/users/wechat_login/index') === -1) {
|
||||
// 存储静默授权code
|
||||
uni.setStorageSync('snsapiCode', code);
|
||||
let spread = that.globalData.spid ? that.globalData.spid : '';
|
||||
uni.setStorageSync('authIng', true)
|
||||
silenceAuth({
|
||||
code: code,
|
||||
spread: that.$Cache.get('spread'),
|
||||
spid: that.globalData.code
|
||||
})
|
||||
.then(res => {
|
||||
uni.setStorageSync('authIng', false)
|
||||
uni.setStorageSync('snRouter', decodeURIComponent(decodeURIComponent(option.query
|
||||
.back_url)));
|
||||
if (res.data.key !== undefined && res.data.key) {
|
||||
this.$Cache.set('snsapiKey', res.data.key);
|
||||
} else {
|
||||
// if (code && code != uni.getStorageSync('snsapiCode') && location.pathname.indexOf(
|
||||
// '/pages/users/wechat_login/index') === -1) {
|
||||
// // 存储静默授权code
|
||||
// uni.setStorageSync('snsapiCode', code);
|
||||
// let spread = that.globalData.spid ? that.globalData.spid : '';
|
||||
// uni.setStorageSync('authIng', true)
|
||||
// silenceAuth({
|
||||
// code: code,
|
||||
// spread: that.$Cache.get('spread'),
|
||||
// spid: that.globalData.code
|
||||
// })
|
||||
// .then(res => {
|
||||
// uni.setStorageSync('authIng', false)
|
||||
// uni.setStorageSync('snRouter', decodeURIComponent(decodeURIComponent(option.query
|
||||
// .back_url)));
|
||||
// if (res.data.key !== undefined && res.data.key) {
|
||||
// this.$Cache.set('snsapiKey', res.data.key);
|
||||
// } else {
|
||||
|
||||
let time = res.data.expires_time - this.$Cache.time();
|
||||
this.$store.commit('LOGIN', {
|
||||
token: res.data.token,
|
||||
time: time
|
||||
});
|
||||
this.$Cache.set('WX_AUTH', code);
|
||||
this.$store.commit('SETUID', res.data.userInfo.uid);
|
||||
this.$store.commit('UPDATE_USERINFO', res.data.userInfo);
|
||||
// let time = res.data.expires_time - this.$Cache.time();
|
||||
// this.$store.commit('LOGIN', {
|
||||
// token: res.data.token,
|
||||
// time: time
|
||||
// });
|
||||
// this.$Cache.set('WX_AUTH', code);
|
||||
// this.$store.commit('SETUID', res.data.userInfo.uid);
|
||||
// this.$store.commit('UPDATE_USERINFO', res.data.userInfo);
|
||||
|
||||
if (option.query.back_url) {
|
||||
location.replace(decodeURIComponent(decodeURIComponent(option.query
|
||||
.back_url)));
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
uni.setStorageSync('authIng', false)
|
||||
let url = ''
|
||||
if (option.query.back_url instanceof Array) {
|
||||
url = option.query.back_url[option.query.back_url.length - 1]
|
||||
} else {
|
||||
url = option.query.back_url
|
||||
}
|
||||
if (!that.$Cache.has('snsapiKey')) {
|
||||
if (location.pathname.indexOf('/pages/users/wechat_login/index') === -1) {
|
||||
Auth.oAuth(snsapiBase, url);
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if (!this.$Cache.has('snsapiKey')) {
|
||||
if (location.pathname.indexOf('/pages/users/wechat_login/index') === -1) {
|
||||
Auth.oAuth(snsapiBase, urlData);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (option.query.back_url) {
|
||||
location.replace(uni.getStorageSync('snRouter'));
|
||||
}
|
||||
}
|
||||
}
|
||||
// if (option.query.back_url) {
|
||||
// location.replace(decodeURIComponent(decodeURIComponent(option.query
|
||||
// .back_url)));
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// .catch(error => {
|
||||
// uni.setStorageSync('authIng', false)
|
||||
// let url = ''
|
||||
// if (option.query.back_url instanceof Array) {
|
||||
// url = option.query.back_url[option.query.back_url.length - 1]
|
||||
// } else {
|
||||
// url = option.query.back_url
|
||||
// }
|
||||
// if (!that.$Cache.has('snsapiKey')) {
|
||||
// if (location.pathname.indexOf('/pages/users/wechat_login/index') === -1) {
|
||||
// Auth.oAuth(snsapiBase, url);
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// } else {
|
||||
// if (!this.$Cache.has('snsapiKey')) {
|
||||
// if (location.pathname.indexOf('/pages/users/wechat_login/index') === -1) {
|
||||
// Auth.oAuth(snsapiBase, urlData);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// if (option.query.back_url) {
|
||||
// location.replace(uni.getStorageSync('snRouter'));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// #endif
|
||||
// #ifdef MP
|
||||
// 小程序静默授权
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
"prompt" : "template",
|
||||
"title" : "用户协议与隐私政策",
|
||||
"message" : "\t请务必审慎阅读、充分理解“用户协议与 隐私政策”各条款,包括但不限于:为了 向你提供即时通讯、内容分享等服务,我 们需要收集你的设备信息、操作日志等个 人信息。你可以在“设置”中查看、变更、删除个人信息并管理你的授权。<br/>
|
||||
你可以阅读 <a href=\"/pages/columnGoods/static/yhxy.html\">《用户协议》</a>与 <a href=\"/pages/columnGoods/static/yszc.html\">《隐私政策》</a>了解详细信息。如你同意,请点击“我同意”开始接受我们的服务。",
|
||||
你可以阅读 <a href=\"pages/columnGoods/static/yhxy.html\">《用户协议》</a>与 <a href=\"pages/columnGoods/static/yszc.html\">《隐私政策》</a>了解详细信息。如你同意,请点击“我同意”开始接受我们的服务。",
|
||||
"buttonAccept" : "同意并接受",
|
||||
"buttonRefuse" : "暂不同意",
|
||||
"second" : {
|
||||
|
||||
@ -1,183 +1,189 @@
|
||||
<template>
|
||||
<view class="goodsList">
|
||||
<view class="item" v-for="(item,index) in tempArr" :key='index' @click="goDetail(item)">
|
||||
<view class="pictrue">
|
||||
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '1'">秒杀</span>
|
||||
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '2'">砍价</span>
|
||||
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '3'">拼团</span>
|
||||
<image :src="item.recommend_image" mode="" v-if="item.recommend_image"></image>
|
||||
<image :src="item.image" mode="" v-else></image>
|
||||
</view>
|
||||
<view class="text line2">{{item.store_name}}</view>
|
||||
<view class="bottom acea-row row-between-wrapper">
|
||||
<view class="sales acea-row row-middle">
|
||||
<view class="money font-color"><text>¥</text>{{item.price}}</view>
|
||||
<view>已售 {{item.sales}}</view>
|
||||
</view>
|
||||
<view v-if="item.stock>0">
|
||||
<view class="bnt"
|
||||
v-if="(item.activity && (item.activity.type === '1' || item.activity.type === '2' || item.activity.type === '3') || item.is_virtual) || !item.cart_button">
|
||||
立即购买</view>
|
||||
<view v-else>
|
||||
<!-- 多规格 -->
|
||||
<view class="bnt" @click.stop="goCartDuo(item)" v-if="item.spec_type">
|
||||
加入购物车
|
||||
<view class="num" v-if="isLogin && item.cart_num">{{item.cart_num}}</view>
|
||||
</view>
|
||||
<!-- 单规格 -->
|
||||
<view class="bnt" v-if="!item.spec_type && !item.cart_num" @click.stop="goCartDan(item,index)">
|
||||
加入购物车</view>
|
||||
<view class="cart acea-row row-middle" v-if="!item.spec_type && item.cart_num">
|
||||
<view class="pictrue iconfont icon-jianhao" @click.stop="CartNumDes(index,item)"></view>
|
||||
<view class="num">{{item.cart_num}}</view>
|
||||
<view class="pictrue iconfont icon-jiahao" @click.stop="CartNumAdd(index,item)"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bnt end" v-else>已售罄</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'd_goodList',
|
||||
props: {
|
||||
dataConfig: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
tempArr: {
|
||||
type: Array,
|
||||
default: []
|
||||
},
|
||||
isLogin: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {};
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
methods: {
|
||||
goDetail(item) {
|
||||
this.$emit('detail', item);
|
||||
},
|
||||
goCartDuo(item) {
|
||||
this.$emit('gocartduo', item);
|
||||
},
|
||||
goCartDan(item, index) {
|
||||
this.$emit('gocartdan', item, index);
|
||||
},
|
||||
CartNumDes(index, item) {
|
||||
this.$emit('ChangeCartNumDan', false, index, item);
|
||||
},
|
||||
CartNumAdd(index, item) {
|
||||
this.$emit('ChangeCartNumDan', true, index, item);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.goodsList {
|
||||
padding: 0 30rpx;
|
||||
|
||||
.item {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 63rpx;
|
||||
|
||||
.pictrue {
|
||||
width: 100%;
|
||||
height: 290rpx;
|
||||
border-radius: 16rpx;
|
||||
position: relative;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 30rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #282828;
|
||||
margin: 20rpx 0;
|
||||
}
|
||||
|
||||
.bottom {
|
||||
.sales {
|
||||
font-size: 22rpx;
|
||||
color: #8E8E8E;
|
||||
|
||||
.money {
|
||||
font-size: 42rpx;
|
||||
font-weight: bold;
|
||||
margin-right: 18rpx;
|
||||
|
||||
text {
|
||||
font-size: 28rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.cart {
|
||||
height: 56rpx;
|
||||
|
||||
.pictrue {
|
||||
color: var(--view-theme);
|
||||
font-size: 46rpx;
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
text-align: center;
|
||||
line-height: 50rpx;
|
||||
}
|
||||
|
||||
.num {
|
||||
font-size: 30rpx;
|
||||
color: #282828;
|
||||
font-weight: bold;
|
||||
width: 80rpx;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.bnt {
|
||||
padding: 0 30rpx;
|
||||
height: 56rpx;
|
||||
line-height: 56rpx;
|
||||
background: var(--view-theme);
|
||||
border-radius: 42rpx;
|
||||
font-size: 26rpx;
|
||||
color: #fff;
|
||||
position: relative;
|
||||
|
||||
&.end {
|
||||
background: rgba(203, 203, 203, 1);
|
||||
}
|
||||
|
||||
.num {
|
||||
background-color: var(--view-priceColor);
|
||||
min-width: 12rpx;
|
||||
color: #fff;
|
||||
border-radius: 15px;
|
||||
position: absolute;
|
||||
right: -14rpx;
|
||||
top: -15rpx;
|
||||
font-size: 22rpx;
|
||||
padding: 0 10rpx;
|
||||
height: 34rpx;
|
||||
line-height: 34rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
<template>
|
||||
<view class="goodsList">
|
||||
<view class="item" v-for="(item,index) in tempArr" :key='index' @click="goDetail(item)">
|
||||
<view class="pictrue">
|
||||
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '1'">秒杀</span>
|
||||
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '2'">砍价</span>
|
||||
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '3'">拼团</span>
|
||||
<image :src="item.recommend_image" mode="" v-if="item.recommend_image"></image>
|
||||
<image :src="item.image" mode="" v-else></image>
|
||||
</view>
|
||||
<view class="text line2">{{item.store_name}}</view>
|
||||
<view class="bottom acea-row row-between-wrapper">
|
||||
<view class="sales acea-row row-middle">
|
||||
<view class="money font-color"><text>¥</text>{{item.price}}</view>
|
||||
<view>已售 {{item.sales}}</view>
|
||||
</view>
|
||||
<view v-if="item.stock>0">
|
||||
<view class="bnt"
|
||||
v-if="(item.activity && (item.activity.type === '1' || item.activity.type === '2' || item.activity.type === '3') || item.is_virtual) || !item.cart_button">
|
||||
立即购买</view>
|
||||
<view v-else>
|
||||
<!-- 多规格 -->
|
||||
<view class="bnt" @click.stop="goCartDuo(item)" v-if="item.spec_type">
|
||||
加入购物车
|
||||
<view class="num" v-if="isLogin && item.cart_num">{{item.cart_num}}</view>
|
||||
</view>
|
||||
<!-- 单规格 -->
|
||||
<view class="bnt" v-if="!item.spec_type && !item.cart_num" @click.stop="goCartDan(item,index)">
|
||||
加入购物车</view>
|
||||
<view class="cart acea-row row-middle" v-if="!item.spec_type && item.cart_num">
|
||||
<view class="pictrue iconfont icon-jianhao" @click.stop="CartNumDes(index,item)"></view>
|
||||
<view class="num">{{item.cart_num}}</view>
|
||||
<view class="pictrue iconfont icon-jiahao" @click.stop="CartNumAdd(index,item)"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bnt end" v-else>已售罄</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'd_goodList',
|
||||
props: {
|
||||
dataConfig: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
tempArr: {
|
||||
type: Array,
|
||||
default: []
|
||||
},
|
||||
isLogin: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
addIng: false
|
||||
};
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
methods: {
|
||||
goDetail(item) {
|
||||
this.$emit('detail', item);
|
||||
},
|
||||
goCartDuo(item) {
|
||||
this.$emit('gocartduo', item);
|
||||
},
|
||||
goCartDan(item, index) {
|
||||
this.$emit('gocartdan', item, index);
|
||||
},
|
||||
CartNumDes(index, item) {
|
||||
if (this.addIng) return
|
||||
this.addIng = true
|
||||
this.$emit('ChangeCartNumDan', false, index, item);
|
||||
},
|
||||
CartNumAdd(index, item) {
|
||||
if (this.addIng) return
|
||||
this.addIng = true
|
||||
this.$emit('ChangeCartNumDan', true, index, item);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.goodsList {
|
||||
padding: 0 30rpx;
|
||||
|
||||
.item {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 63rpx;
|
||||
|
||||
.pictrue {
|
||||
width: 100%;
|
||||
height: 290rpx;
|
||||
border-radius: 16rpx;
|
||||
position: relative;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 30rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: bold;
|
||||
color: #282828;
|
||||
margin: 20rpx 0;
|
||||
}
|
||||
|
||||
.bottom {
|
||||
.sales {
|
||||
font-size: 22rpx;
|
||||
color: #8E8E8E;
|
||||
|
||||
.money {
|
||||
font-size: 42rpx;
|
||||
font-weight: bold;
|
||||
margin-right: 18rpx;
|
||||
|
||||
text {
|
||||
font-size: 28rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.cart {
|
||||
height: 56rpx;
|
||||
|
||||
.pictrue {
|
||||
color: var(--view-theme);
|
||||
font-size: 46rpx;
|
||||
width: 50rpx;
|
||||
height: 50rpx;
|
||||
text-align: center;
|
||||
line-height: 50rpx;
|
||||
}
|
||||
|
||||
.num {
|
||||
font-size: 30rpx;
|
||||
color: #282828;
|
||||
font-weight: bold;
|
||||
width: 80rpx;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.bnt {
|
||||
padding: 0 30rpx;
|
||||
height: 56rpx;
|
||||
line-height: 56rpx;
|
||||
background: var(--view-theme);
|
||||
border-radius: 42rpx;
|
||||
font-size: 26rpx;
|
||||
color: #fff;
|
||||
position: relative;
|
||||
|
||||
&.end {
|
||||
background: rgba(203, 203, 203, 1);
|
||||
}
|
||||
|
||||
.num {
|
||||
background-color: var(--view-priceColor);
|
||||
min-width: 12rpx;
|
||||
color: #fff;
|
||||
border-radius: 15px;
|
||||
position: absolute;
|
||||
right: -14rpx;
|
||||
top: -15rpx;
|
||||
font-size: 22rpx;
|
||||
padding: 0 10rpx;
|
||||
height: 34rpx;
|
||||
line-height: 34rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -1,199 +1,231 @@
|
||||
<template>
|
||||
<view class="goodsList">
|
||||
<view class="item acea-row row-between-wrapper" v-for="(item,index) in tempArr" :key='index' @click="goDetail(item)">
|
||||
<view class="pictrue">
|
||||
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '1'">秒杀</span>
|
||||
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '2'">砍价</span>
|
||||
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '3'">拼团</span>
|
||||
<image :src="item.image" mode=""></image>
|
||||
</view>
|
||||
<view class="pictxt">
|
||||
<view class="text line2">{{item.store_name}}</view>
|
||||
<view class="bottom acea-row row-between-wrapper">
|
||||
<view class="money font-color">
|
||||
<text class="sign">¥</text>{{item.price}}
|
||||
<!-- <span class="vip" v-if="item.vip_price">
|
||||
<image src="../../static/images/vip01.png"></image>
|
||||
¥{{item.vip_price}}
|
||||
</span>
|
||||
<text class="y_money" v-else>¥{{item.ot_price}}</text> -->
|
||||
</view>
|
||||
<view v-if="item.stock>0">
|
||||
<view class="iconfont icon-gouwuche6 acea-row row-center-wrapper" v-if="item.activity && (item.activity.type === '1' || item.activity.type === '2' || item.activity.type === '3')"></view>
|
||||
<view v-else>
|
||||
<!-- 多规格 -->
|
||||
<view class="bnt acea-row row-center-wrapper" @click.stop="goCartDuo(item)" v-if="item.spec_type">
|
||||
选规格
|
||||
<text class="num" v-if="isLogin && item.cart_num">{{item.cart_num}}</text>
|
||||
</view>
|
||||
<!-- 单规格 -->
|
||||
<view class="iconfont icon-gouwuche6 acea-row row-center-wrapper" v-if="!item.spec_type && !item.cart_num" @click.stop="goCartDan(item,index)"></view>
|
||||
<view class="cart acea-row row-middle" v-if="!item.spec_type && item.cart_num">
|
||||
<view class="pictrue iconfont icon-jianhao acea-row row-center-wrapper" @click.stop="CartNumDes(index,item)"></view>
|
||||
<view class="num">{{item.cart_num}}</view>
|
||||
<view class="pictrue iconfont icon-jiahao acea-row row-center-wrapper" @click.stop="CartNumAdd(index,item)"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bnt acea-row row-center-wrapper end" v-else>已售罄</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'd_goodList',
|
||||
props: {
|
||||
dataConfig: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
tempArr:{
|
||||
type: Array,
|
||||
default:[]
|
||||
},
|
||||
isLogin:{
|
||||
type: Boolean,
|
||||
default:false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
};
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
methods: {
|
||||
goDetail(item){
|
||||
this.$emit('detail',item);
|
||||
},
|
||||
goCartDuo(item){
|
||||
this.$emit('gocartduo',item);
|
||||
},
|
||||
goCartDan(item,index){
|
||||
this.$emit('gocartdan',item,index);
|
||||
},
|
||||
CartNumDes(index,item){
|
||||
this.$emit('ChangeCartNumDan', false,index,item);
|
||||
},
|
||||
CartNumAdd(index,item){
|
||||
this.$emit('ChangeCartNumDan', true,index,item);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.goodsList{
|
||||
padding: 0 30rpx;
|
||||
.item{
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 63rpx;
|
||||
.pictrue{
|
||||
width: 140rpx;
|
||||
height: 140rpx;
|
||||
border-radius: 10rpx;
|
||||
position: relative;
|
||||
border-radius: 22rpx;
|
||||
image{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 22rpx;
|
||||
}
|
||||
}
|
||||
.pictxt{
|
||||
width: 372rpx;
|
||||
.text{
|
||||
font-size:26rpx;
|
||||
font-family:PingFang SC;
|
||||
font-weight:500;
|
||||
color: #333333;
|
||||
}
|
||||
.bottom{
|
||||
margin-top: 22rpx;
|
||||
.money{
|
||||
font-size: 34rpx;
|
||||
font-weight: 800;
|
||||
.sign{
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.y_money{
|
||||
font-size: 20rpx;
|
||||
color: #999999;
|
||||
margin-left: 14rpx;
|
||||
font-weight: normal;
|
||||
text-decoration: line-through;
|
||||
}
|
||||
.vip{
|
||||
font-size: 22rpx;
|
||||
color: #333333;
|
||||
font-weight: normal;
|
||||
margin-left: 14rpx;
|
||||
image{
|
||||
width: 38rpx;
|
||||
height: 18rpx;
|
||||
margin-right: 6rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.cart{
|
||||
height: 46rpx;
|
||||
.pictrue{
|
||||
color: var(--view-theme);
|
||||
font-size:46rpx;
|
||||
width: 46rpx;
|
||||
height: 46rpx;
|
||||
text-align: center;
|
||||
line-height: 46rpx;
|
||||
&.icon-jiahao{
|
||||
color: var(--view-theme);
|
||||
}
|
||||
}
|
||||
.num{
|
||||
font-size: 30rpx;
|
||||
color: #333333;
|
||||
font-weight: bold;
|
||||
width: 60rpx;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.icon-gouwuche6{
|
||||
width: 46rpx;
|
||||
height: 46rpx;
|
||||
background-color: var(--view-theme);
|
||||
border-radius: 50%;
|
||||
color: #fff;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.bnt{
|
||||
padding: 0 20rpx;
|
||||
height: 45rpx;
|
||||
background:var(--view-theme);
|
||||
border-radius:23rpx;
|
||||
font-size: 22rpx;
|
||||
color: #fff;
|
||||
position: relative;
|
||||
&.end{
|
||||
background:#cccccc;
|
||||
}
|
||||
.num{
|
||||
min-width: 14rpx;
|
||||
background-color: #fff;
|
||||
color: var(--view-theme);
|
||||
border-radius: 15px;
|
||||
position: absolute;
|
||||
right: -13rpx;
|
||||
top: -11rpx;
|
||||
font-size: 16rpx;
|
||||
padding: 0 10rpx;
|
||||
border: 1px solid var(--view-theme);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
<template>
|
||||
<view class="goodsList">
|
||||
<view class="item acea-row row-between-wrapper" v-for="(item,index) in tempArr" :key='index'
|
||||
@click="goDetail(item)">
|
||||
<view class="pictrue">
|
||||
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '1'">秒杀</span>
|
||||
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '2'">砍价</span>
|
||||
<span class="pictrue_log pictrue_log_class" v-if="item.activity && item.activity.type === '3'">拼团</span>
|
||||
<image :src="item.image" mode=""></image>
|
||||
</view>
|
||||
<view class="pictxt">
|
||||
<view class="text line2">{{item.store_name}}</view>
|
||||
<view class="bottom acea-row row-between-wrapper">
|
||||
<view class="money font-color">
|
||||
<text class="sign">¥</text>{{item.price}}
|
||||
<!-- <span class="vip" v-if="item.vip_price">
|
||||
<image src="../../static/images/vip01.png"></image>
|
||||
¥{{item.vip_price}}
|
||||
</span>
|
||||
<text class="y_money" v-else>¥{{item.ot_price}}</text> -->
|
||||
</view>
|
||||
<view v-if="item.stock>0">
|
||||
<view class="iconfont icon-gouwuche6 acea-row row-center-wrapper"
|
||||
v-if="item.activity && (item.activity.type === '1' || item.activity.type === '2' || item.activity.type === '3')">
|
||||
</view>
|
||||
<view v-else>
|
||||
<!-- 多规格 -->
|
||||
<view class="bnt acea-row row-center-wrapper" @click.stop="goCartDuo(item)"
|
||||
v-if="item.spec_type">
|
||||
选规格
|
||||
<text class="num" v-if="isLogin && item.cart_num">{{item.cart_num}}</text>
|
||||
</view>
|
||||
<!-- 单规格 -->
|
||||
<view class="iconfont icon-gouwuche6 acea-row row-center-wrapper"
|
||||
v-if="!item.spec_type && !item.cart_num" @click.stop="goCartDan(item,index)"></view>
|
||||
<view class="cart acea-row row-middle" v-if="!item.spec_type && item.cart_num">
|
||||
<view class="pictrue iconfont icon-jianhao acea-row row-center-wrapper"
|
||||
@click.stop="CartNumDes(index,item)"></view>
|
||||
<view class="num">{{item.cart_num}}</view>
|
||||
<view class="pictrue iconfont icon-jiahao acea-row row-center-wrapper"
|
||||
@click.stop="CartNumAdd(index,item)"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bnt acea-row row-center-wrapper end" v-else>已售罄</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'd_goodList',
|
||||
props: {
|
||||
dataConfig: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
tempArr: {
|
||||
type: Array,
|
||||
default: []
|
||||
},
|
||||
isLogin: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
addIng: false
|
||||
};
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
methods: {
|
||||
goDetail(item) {
|
||||
this.$emit('detail', item);
|
||||
},
|
||||
goCartDuo(item) {
|
||||
this.$emit('gocartduo', item);
|
||||
},
|
||||
goCartDan(item, index) {
|
||||
this.$emit('gocartdan', item, index);
|
||||
},
|
||||
CartNumDes(index, item) {
|
||||
if (this.addIng) return
|
||||
this.addIng = true
|
||||
this.$emit('ChangeCartNumDan', false, index, item);
|
||||
},
|
||||
CartNumAdd(index, item) {
|
||||
console.log('2')
|
||||
if (this.addIng) return
|
||||
this.addIng = true
|
||||
this.$emit('ChangeCartNumDan', true, index, item);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.goodsList {
|
||||
padding: 0 30rpx;
|
||||
|
||||
.item {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 63rpx;
|
||||
|
||||
.pictrue {
|
||||
width: 140rpx;
|
||||
height: 140rpx;
|
||||
border-radius: 10rpx;
|
||||
position: relative;
|
||||
border-radius: 22rpx;
|
||||
|
||||
image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 22rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.pictxt {
|
||||
width: 372rpx;
|
||||
|
||||
.text {
|
||||
font-size: 26rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.bottom {
|
||||
margin-top: 22rpx;
|
||||
|
||||
.money {
|
||||
font-size: 34rpx;
|
||||
font-weight: 800;
|
||||
|
||||
.sign {
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
.y_money {
|
||||
font-size: 20rpx;
|
||||
color: #999999;
|
||||
margin-left: 14rpx;
|
||||
font-weight: normal;
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.vip {
|
||||
font-size: 22rpx;
|
||||
color: #333333;
|
||||
font-weight: normal;
|
||||
margin-left: 14rpx;
|
||||
|
||||
image {
|
||||
width: 38rpx;
|
||||
height: 18rpx;
|
||||
margin-right: 6rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.cart {
|
||||
height: 46rpx;
|
||||
|
||||
.pictrue {
|
||||
color: var(--view-theme);
|
||||
font-size: 46rpx;
|
||||
width: 46rpx;
|
||||
height: 46rpx;
|
||||
text-align: center;
|
||||
line-height: 46rpx;
|
||||
|
||||
&.icon-jiahao {
|
||||
color: var(--view-theme);
|
||||
}
|
||||
}
|
||||
|
||||
.num {
|
||||
font-size: 30rpx;
|
||||
color: #333333;
|
||||
font-weight: bold;
|
||||
width: 60rpx;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.icon-gouwuche6 {
|
||||
width: 46rpx;
|
||||
height: 46rpx;
|
||||
background-color: var(--view-theme);
|
||||
border-radius: 50%;
|
||||
color: #fff;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.bnt {
|
||||
padding: 0 20rpx;
|
||||
height: 45rpx;
|
||||
background: var(--view-theme);
|
||||
border-radius: 23rpx;
|
||||
font-size: 22rpx;
|
||||
color: #fff;
|
||||
position: relative;
|
||||
|
||||
&.end {
|
||||
background: #cccccc;
|
||||
}
|
||||
|
||||
.num {
|
||||
min-width: 14rpx;
|
||||
background-color: #fff;
|
||||
color: var(--view-theme);
|
||||
border-radius: 15px;
|
||||
position: absolute;
|
||||
right: -13rpx;
|
||||
top: -11rpx;
|
||||
font-size: 16rpx;
|
||||
padding: 0 10rpx;
|
||||
border: 1px solid var(--view-theme);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -75,14 +75,16 @@ function _toLogin(push, pathLogin) {
|
||||
} else {
|
||||
urlData += '?go_longin=1';
|
||||
}
|
||||
if (!Cache.has('snsapiKey')) {
|
||||
auth.oAuth('snsapi_base', urlData);
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/users/wechat_login/index',
|
||||
});
|
||||
}
|
||||
|
||||
// if (!Cache.has('snsapiKey')) {
|
||||
// auth.oAuth('snsapi_base', urlData);
|
||||
// } else {
|
||||
// uni.navigateTo({
|
||||
// url: '/pages/users/wechat_login/index',
|
||||
// });
|
||||
// }
|
||||
uni.navigateTo({
|
||||
url: '/pages/users/wechat_login/index',
|
||||
});
|
||||
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
@ -92,19 +94,19 @@ function _toLogin(push, pathLogin) {
|
||||
// #endif
|
||||
|
||||
// #ifdef MP
|
||||
// uni.navigateTo({
|
||||
// url: '/pages/users/wechat_login/index'
|
||||
// })
|
||||
Routine.getCode()
|
||||
.then(code => {
|
||||
console.log(code)
|
||||
Routine.silenceAuth(code).then(res => {
|
||||
console.log(res)
|
||||
})
|
||||
})
|
||||
.catch(err => {
|
||||
uni.hideLoading();
|
||||
});
|
||||
uni.navigateTo({
|
||||
url: '/pages/users/wechat_login/index'
|
||||
})
|
||||
// Routine.getCode()
|
||||
// .then(code => {
|
||||
// console.log(code)
|
||||
// Routine.silenceAuth(code).then(res => {
|
||||
// console.log(res)
|
||||
// })
|
||||
// })
|
||||
// .catch(err => {
|
||||
// uni.hideLoading();
|
||||
// });
|
||||
// #endif
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
|
||||
@ -50,7 +50,14 @@
|
||||
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||
],
|
||||
"abiFilters" : [ "armeabi-v7a", "arm64-v8a" ]
|
||||
"abiFilters" : [ "armeabi-v7a", "arm64-v8a" ],
|
||||
"permissionExternalStorage" : {
|
||||
"request" : "none",
|
||||
"prompt" : "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"
|
||||
},
|
||||
"permissionPhoneState" : {
|
||||
"request" : "none" //拨打电话权限关闭
|
||||
}
|
||||
},
|
||||
/* ios打包配置 */
|
||||
"ios" : {
|
||||
@ -216,3 +223,5 @@
|
||||
},
|
||||
"_spaceID" : "679f0930-8f60-425c-9033-8c135f397ea5"
|
||||
}
|
||||
/* ios打包配置 */
|
||||
|
||||
|
||||
@ -961,7 +961,13 @@
|
||||
// #endif
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
"plugins": {
|
||||
"live-player-plugin": {
|
||||
"version": "1.3.2",
|
||||
"provider": "wx2b03c6e691cd7370"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"root": "pages/goods_details",
|
||||
|
||||
@ -1,108 +1,107 @@
|
||||
<template>
|
||||
<view :style="colorStyle">
|
||||
<goodsCate1 v-show="category==1" ref="classOne"></goodsCate1>
|
||||
<goodsCate2 v-show="category==2" ref="classTwo" @jumpIndex="jumpIndex"></goodsCate2>
|
||||
<goodsCate3 v-show="category==3" ref="classThree" @jumpIndex="jumpIndex"></goodsCate3>
|
||||
<!-- <tabBar v-show="category == 1" :pagePath="'/pages/goods_cate/goods_cate'"></tabBar> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import colors from "@/mixins/color";
|
||||
import goodsCate1 from './goods_cate1';
|
||||
import goodsCate2 from './goods_cate2';
|
||||
import goodsCate3 from './goods_cate3';
|
||||
import {
|
||||
colorChange
|
||||
} from '@/api/api.js';
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex';
|
||||
import tabBar from "@/pages/index/visualization/components/tabBar.vue"
|
||||
export default {
|
||||
computed: mapGetters(['isLogin', 'uid']),
|
||||
components: {
|
||||
goodsCate1,
|
||||
goodsCate2,
|
||||
goodsCate3,
|
||||
tabBar
|
||||
},
|
||||
mixins: [colors],
|
||||
data() {
|
||||
return {
|
||||
category: '',
|
||||
is_diy: uni.getStorageSync('is_diy'),
|
||||
status: 0,
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.classStyle();
|
||||
},
|
||||
onReady() {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
if (this.status == 2 || this.status == 3) {
|
||||
uni.hideTabBar()
|
||||
} else if (this.status == 1) {
|
||||
if (!this.is_diy) {
|
||||
uni.hideTabBar()
|
||||
} else {
|
||||
this.$refs.classOne.getNav();
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
jumpIndex() {
|
||||
if (this.is_diy) {
|
||||
if (!uni.getStorageSync('FOOTER_BAR')) {
|
||||
uni.showTabBar()
|
||||
}
|
||||
}
|
||||
},
|
||||
classStyle() {
|
||||
colorChange('category').then(res => {
|
||||
let status = res.data.status;
|
||||
this.status = res.data.status
|
||||
this.category = status
|
||||
if (status == 2) {
|
||||
if (this.isLogin) {
|
||||
this.$refs.classTwo.getCartNum();
|
||||
this.$refs.classTwo.getCartList(1);
|
||||
}
|
||||
this.$refs.classTwo.getAllCategory()
|
||||
}
|
||||
if (status == 3) {
|
||||
if (this.isLogin) {
|
||||
this.$refs.classThree.getCartNum();
|
||||
this.$refs.classThree.getCartList(1);
|
||||
}
|
||||
this.$refs.classThree.getAllCategory()
|
||||
}
|
||||
if (status == 2 || status == 3) {
|
||||
uni.hideTabBar()
|
||||
} else {
|
||||
if (!this.is_diy) {
|
||||
uni.hideTabBar()
|
||||
} else {
|
||||
this.$refs.classOne.getNav();
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
onReachBottom: function() {
|
||||
if (this.category == 2) {
|
||||
this.$refs.classTwo.productslist();
|
||||
}
|
||||
if (this.category == 3) {
|
||||
this.$refs.classThree.productslist();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
/deep/.mask {
|
||||
z-index: 99;
|
||||
}
|
||||
<template>
|
||||
<view :style="colorStyle">
|
||||
<goodsCate1 v-show="category==1" ref="classOne"></goodsCate1>
|
||||
<goodsCate2 v-show="category==2" ref="classTwo" @jumpIndex="jumpIndex"></goodsCate2>
|
||||
<goodsCate3 v-show="category==3" ref="classThree" @jumpIndex="jumpIndex"></goodsCate3>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import colors from "@/mixins/color";
|
||||
import goodsCate1 from './goods_cate1';
|
||||
import goodsCate2 from './goods_cate2';
|
||||
import goodsCate3 from './goods_cate3';
|
||||
import {
|
||||
colorChange
|
||||
} from '@/api/api.js';
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex';
|
||||
import tabBar from "@/pages/index/visualization/components/tabBar.vue"
|
||||
export default {
|
||||
computed: mapGetters(['isLogin', 'uid']),
|
||||
components: {
|
||||
goodsCate1,
|
||||
goodsCate2,
|
||||
goodsCate3,
|
||||
tabBar
|
||||
},
|
||||
mixins: [colors],
|
||||
data() {
|
||||
return {
|
||||
category: '',
|
||||
is_diy: uni.getStorageSync('is_diy'),
|
||||
status: 0,
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.classStyle();
|
||||
},
|
||||
onReady() {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
if (this.status == 2 || this.status == 3) {
|
||||
uni.hideTabBar();
|
||||
} else if (this.status == 1) {
|
||||
if (!this.is_diy) {
|
||||
uni.hideTabBar();
|
||||
} else {
|
||||
this.$refs.classOne.getNav();
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
jumpIndex() {
|
||||
if (this.is_diy) {
|
||||
if (!uni.getStorageSync('FOOTER_BAR')) {
|
||||
uni.showTabBar()
|
||||
}
|
||||
}
|
||||
},
|
||||
classStyle() {
|
||||
colorChange('category').then(res => {
|
||||
let status = res.data.status;
|
||||
this.status = res.data.status
|
||||
this.category = status
|
||||
if (status == 2) {
|
||||
if (this.isLogin) {
|
||||
this.$refs.classTwo.getCartNum();
|
||||
this.$refs.classTwo.getCartList(1);
|
||||
}
|
||||
this.$refs.classTwo.getAllCategory()
|
||||
}
|
||||
if (status == 3) {
|
||||
if (this.isLogin) {
|
||||
this.$refs.classThree.getCartNum();
|
||||
this.$refs.classThree.getCartList(1);
|
||||
}
|
||||
this.$refs.classThree.getAllCategory()
|
||||
}
|
||||
if (status == 2 || status == 3) {
|
||||
uni.hideTabBar()
|
||||
} else {
|
||||
if (!this.is_diy) {
|
||||
uni.hideTabBar()
|
||||
} else {
|
||||
this.$refs.classOne.getNav();
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
onReachBottom: function() {
|
||||
if (this.category == 2) {
|
||||
this.$refs.classTwo.productslist();
|
||||
}
|
||||
if (this.category == 3) {
|
||||
this.$refs.classThree.productslist();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
/deep/.mask {
|
||||
z-index: 99;
|
||||
}
|
||||
</style>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -424,19 +424,18 @@
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// #ifdef MP
|
||||
// 小程序静默授权
|
||||
if (!this.$store.getters.isLogin) {
|
||||
Routine.getCode()
|
||||
.then(code => {
|
||||
Routine.silenceAuth(code).then(res => {
|
||||
this.onLoadFun();
|
||||
})
|
||||
})
|
||||
.catch(res => {
|
||||
uni.hideLoading();
|
||||
});
|
||||
// Routine.getCode()
|
||||
// .then(code => {
|
||||
// Routine.silenceAuth(code).then(res => {
|
||||
// this.onLoadFun();
|
||||
// })
|
||||
// })
|
||||
// .catch(res => {
|
||||
// uni.hideLoading();
|
||||
// });
|
||||
}
|
||||
// #endif
|
||||
|
||||
@ -569,50 +568,52 @@
|
||||
},
|
||||
//小程序授权api替换 getUserInfo
|
||||
getUserProfile() {
|
||||
uni.showLoading({
|
||||
title: '获取中'
|
||||
});
|
||||
let self = this;
|
||||
Routine.getUserProfile()
|
||||
.then(res => {
|
||||
Routine.getCode()
|
||||
.then(code => {
|
||||
let userInfo = res.userInfo;
|
||||
userInfo.code = code;
|
||||
userInfo.spread_spid = app.globalData.spid; //获取推广人ID
|
||||
userInfo.spread_code = app.globalData.code; //获取推广人分享二维码ID
|
||||
Routine.authUserInfo(userInfo)
|
||||
.then(res => {
|
||||
if (res.data.key !== undefined && res.data.key) {
|
||||
uni.hideLoading();
|
||||
self.authKey = res.data.key;
|
||||
self.isPhoneBox = true;
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
let time = res.data.expires_time - self.$Cache.time();
|
||||
self.$store.commit('LOGIN', {
|
||||
token: res.data.token,
|
||||
time: time
|
||||
});
|
||||
this.getUserInfo()
|
||||
}
|
||||
})
|
||||
.catch(res => {
|
||||
uni.hideLoading();
|
||||
uni.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
});
|
||||
})
|
||||
.catch(res => {
|
||||
uni.hideLoading();
|
||||
});
|
||||
})
|
||||
.catch(res => {
|
||||
uni.hideLoading();
|
||||
});
|
||||
console.log('去登录')
|
||||
toLogin();
|
||||
// uni.showLoading({
|
||||
// title: '获取中'
|
||||
// });
|
||||
// let self = this;
|
||||
// Routine.getUserProfile()
|
||||
// .then(res => {
|
||||
// Routine.getCode()
|
||||
// .then(code => {
|
||||
// let userInfo = res.userInfo;
|
||||
// userInfo.code = code;
|
||||
// userInfo.spread_spid = app.globalData.spid; //获取推广人ID
|
||||
// userInfo.spread_code = app.globalData.code; //获取推广人分享二维码ID
|
||||
// Routine.authUserInfo(userInfo)
|
||||
// .then(res => {
|
||||
// if (res.data.key !== undefined && res.data.key) {
|
||||
// uni.hideLoading();
|
||||
// self.authKey = res.data.key;
|
||||
// self.isPhoneBox = true;
|
||||
// } else {
|
||||
// uni.hideLoading();
|
||||
// let time = res.data.expires_time - self.$Cache.time();
|
||||
// self.$store.commit('LOGIN', {
|
||||
// token: res.data.token,
|
||||
// time: time
|
||||
// });
|
||||
// this.getUserInfo()
|
||||
// }
|
||||
// })
|
||||
// .catch(res => {
|
||||
// uni.hideLoading();
|
||||
// uni.showToast({
|
||||
// title: res.msg,
|
||||
// icon: 'none',
|
||||
// duration: 2000
|
||||
// });
|
||||
// });
|
||||
// })
|
||||
// .catch(res => {
|
||||
// uni.hideLoading();
|
||||
// });
|
||||
// })
|
||||
// .catch(res => {
|
||||
// uni.hideLoading();
|
||||
// });
|
||||
},
|
||||
/**
|
||||
*
|
||||
|
||||
@ -820,7 +820,8 @@
|
||||
} else {
|
||||
that.cartArr[3].payStatus = 1
|
||||
}
|
||||
|
||||
//好友代付是否开启
|
||||
that.cartArr[4].payStatus = res.data.friend_pay_status || 0;
|
||||
// that.$set(that, 'cartArr', that.cartArr);
|
||||
that.$set(that, 'ChangePrice', that.totalPrice);
|
||||
that.getBargainId();
|
||||
|
||||
@ -221,7 +221,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<!-- 退款订单详情 -->
|
||||
<view class='wrapper' v-if="isGoodsReturn">
|
||||
<view class='wrapper' v-if="isGoodsReturn && orderInfo.cartInfo[0].productInfo.virtual_type != 3">
|
||||
<view class='item acea-row row-between'>
|
||||
<view>收货人:</view>
|
||||
<view class='conter'>{{orderInfo.real_name}}</view>
|
||||
@ -956,6 +956,9 @@
|
||||
if (item.value == 'yue') {
|
||||
item.payStatus = res.data.yue_pay_status == 1 ? true : false;
|
||||
}
|
||||
if (item.value == 'friend') {
|
||||
item.payStatus = res.data.friend_pay_status == 1 ? true : false;
|
||||
}
|
||||
});
|
||||
that.getOrderStatus();
|
||||
}).catch(err => {
|
||||
|
||||
@ -285,6 +285,9 @@
|
||||
}
|
||||
if (item.value == 'yue') {
|
||||
item.payStatus = res.data.yue_pay_status == 1 ? true : false;
|
||||
}
|
||||
if (item.value == 'friend') {
|
||||
item.payStatus = res.data.friend_pay_status == 1 ? true : false;
|
||||
}
|
||||
});
|
||||
//#ifdef MP
|
||||
|
||||
@ -125,7 +125,7 @@
|
||||
</view>
|
||||
|
||||
<button class='modifyBnt bg-color' formType="submit">保存修改</button>
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<!-- #ifdef H5 || APP-PLUS || MP -->
|
||||
<view class="logOut cartcolor acea-row row-center-wrapper" @click="outLogin">退出登录</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef APP-PLUS -->
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="apply"
|
||||
v-if="(userInfo.is_division && userInfo.division_invite && userInfo.division_status) || (!userInfo.is_division && !userInfo.is_agent) && userInfo.id">
|
||||
v-if="userInfo.division_open && ((userInfo.is_division && userInfo.division_invite && userInfo.division_status) || (!userInfo.is_division && !userInfo.is_agent))">
|
||||
<view v-if="userInfo.is_division">邀请码:{{userInfo.division_invite}}</view>
|
||||
<view v-if="!userInfo.is_division && !userInfo.is_agent">
|
||||
<navigator url='/pages/annex/settled/index' hover-class="none">
|
||||
@ -59,12 +59,12 @@
|
||||
<view>佣金明细</view>
|
||||
</navigator>
|
||||
|
||||
<navigator v-if="!userInfo.is_agent && !userInfo.is_division" url='/pages/users/promoter-order/index' hover-class="none"
|
||||
<navigator v-if="(userInfo.division_open && !userInfo.is_agent && !userInfo.is_division) || !userInfo.division_open" url='/pages/users/promoter-order/index' hover-class="none"
|
||||
class='item acea-row row-center-wrapper row-column'>
|
||||
<text class='iconfont icon-dingdan'></text>
|
||||
<view>推广人订单</view>
|
||||
</navigator>
|
||||
<navigator v-if="userInfo.is_agent || userInfo.is_division" url='/pages/users/promoter-order/index?type=1' hover-class="none"
|
||||
<navigator v-if="userInfo.division_open && (userInfo.is_agent || userInfo.is_division)" url='/pages/users/promoter-order/index?type=1' hover-class="none"
|
||||
class='item acea-row row-center-wrapper row-column'>
|
||||
<text class='iconfont icon-dingdan'></text>
|
||||
<view>{{userInfo.is_division?'事业部':'代理商'}}推广订单</view>
|
||||
@ -79,7 +79,7 @@
|
||||
<text class='iconfont icon-paihang'></text>
|
||||
<view>佣金排行</view>
|
||||
</navigator>
|
||||
<navigator v-if="userInfo.is_agent" url='/pages/users/staff_list/index' hover-class="none"
|
||||
<navigator v-if="userInfo.division_open && userInfo.is_agent" url='/pages/users/staff_list/index' hover-class="none"
|
||||
class='item acea-row row-center-wrapper row-column'>
|
||||
<text class='iconfont icon-tuandui'></text>
|
||||
<view>员工列表</view>
|
||||
|
||||
@ -46,8 +46,8 @@ const mutations = {
|
||||
state.token = token;
|
||||
},
|
||||
LOGOUT(state) {
|
||||
state.token = undefined;
|
||||
state.uid = undefined
|
||||
state.token = false;
|
||||
state.uid = 0
|
||||
Cache.clear(LOGIN_STATUS);
|
||||
Cache.clear(UID);
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user