feature/mall_product #9
|
@ -9,6 +9,15 @@ export function listDept(query) {
|
|||
})
|
||||
}
|
||||
|
||||
// 查询商户列表
|
||||
export function listMerchant(query) {
|
||||
return request({
|
||||
url: '/system/dept/list-all',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询部门列表(排除节点)
|
||||
export function listDeptExcludeChild(deptId) {
|
||||
return request({
|
||||
|
|
|
@ -0,0 +1,147 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
|
||||
<el-form-item label="组织名称" prop="name">
|
||||
<el-input v-model="queryParams.name" placeholder="请输入组织名称" clearable @keyup.enter.native="handleQuery"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="菜单状态" clearable>
|
||||
<el-option v-for="dict in statusDictDatas" :key="parseInt(dict.value)" :label="dict.label" :value="parseInt(dict.value)"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="info" plain icon="el-icon-sort" size="mini" @click="toggleExpandAll">展开/折叠</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-if="refreshTable" v-loading="loading" :data="deptList" row-key="id" :default-expand-all="isExpandAll"
|
||||
:tree-props="{children: 'children', hasChildren: 'hasChildren'}">
|
||||
<el-table-column prop="name" label="组织名称"></el-table-column>
|
||||
<el-table-column prop="leader" label="负责人" :formatter="userNicknameFormat" width="120"/>
|
||||
<el-table-column prop="sort" label="排序" width="200"></el-table-column>
|
||||
<el-table-column prop="status" label="状态" width="100">
|
||||
<template v-slot="scope">
|
||||
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="200">
|
||||
<template v-slot="scope">
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listMerchant } from "@/api/system/dept";
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
|
||||
import {CommonStatusEnum} from '@/utils/constants'
|
||||
import { getDictDatas, DICT_TYPE } from '@/utils/dict'
|
||||
import {listSimpleUsers} from "@/api/system/user";
|
||||
import {getBaseHeader} from '@/utils/request';
|
||||
|
||||
export default {
|
||||
name: "SystemMerchant",
|
||||
components: { Treeselect },
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 表格树数据
|
||||
deptList: [],
|
||||
// 组织树选项
|
||||
deptOptions: [],
|
||||
// 用户下拉列表
|
||||
users: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 是否展开,默认全部展开
|
||||
isExpandAll: true,
|
||||
// 重新渲染表格状态
|
||||
refreshTable: true,
|
||||
// 是否展开
|
||||
expand: false,
|
||||
submitLoading: false,
|
||||
upload: {
|
||||
// 是否显示弹出层(用户导入)
|
||||
open: false,
|
||||
// 弹出层标题(用户导入)
|
||||
title: '批量导入',
|
||||
// 是否禁用上传
|
||||
isUploading: false,
|
||||
// 设置上传的请求头部
|
||||
headers: getBaseHeader(),
|
||||
// 上传的地址
|
||||
url: process.env.VUE_APP_BASE_API + '/admin-api/system/dept/batch/import'
|
||||
},
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
name: undefined,
|
||||
status: undefined
|
||||
},
|
||||
|
||||
// 枚举
|
||||
CommonStatusEnum: CommonStatusEnum,
|
||||
// 数据字典
|
||||
statusDictDatas: getDictDatas(DICT_TYPE.COMMON_STATUS)
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
/** 查询组织列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listMerchant(this.queryParams).then(response => {
|
||||
this.deptList = this.handleTree(response.data, "id");
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 用户昵称展示
|
||||
userNicknameFormat(row, column) {
|
||||
if (!row.leaderUserId) {
|
||||
return '未设置';
|
||||
}
|
||||
for (const user of this.users) {
|
||||
if (row.leaderUserId === user.id) {
|
||||
return user.nickname;
|
||||
}
|
||||
}
|
||||
return '未知【' + row.leaderUserId + '】';
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
/** 展开/折叠操作 */
|
||||
toggleExpandAll() {
|
||||
this.refreshTable = false;
|
||||
this.isExpandAll = !this.isExpandAll;
|
||||
this.$nextTick(() => {
|
||||
this.refreshTable = true;
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
|
@ -61,7 +61,7 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<u-navbar leftIcon="" title="会员申请"></u-navbar>
|
||||
<u-navbar leftIcon="" title="会员权益"></u-navbar>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
|
|
@ -33,8 +33,27 @@
|
|||
<text class="text-content">{{item.gearRemarks}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="member-prompt">
|
||||
<!-- <view class="member-prompt">
|
||||
* 办理三个项目即可升级会员2,会员2享XX权益。
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-privilege">
|
||||
<view class=""></view>
|
||||
<view class="box-title">
|
||||
<image src='../../static/images/memberTitle.png'></image>
|
||||
</view>
|
||||
<view class="privilege-list">
|
||||
<view class="privilege-left">
|
||||
<image src='../../static/images/money_look.png'></image>
|
||||
<view class="privilege-text">
|
||||
<text>查看充值注意事项!</text>
|
||||
<text>点击右侧按钮</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="privilege-right" @click="handleRule">
|
||||
<text>查看</text>
|
||||
<view></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -145,6 +164,11 @@
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
handleRule(){
|
||||
uni.navigateTo({
|
||||
url:'/pages/member_rule/index'
|
||||
})
|
||||
},
|
||||
async verify(phone){
|
||||
if(this.form.userPhone == this.form.confirmPhone){
|
||||
const res = await memberByHomeGradeInfo(phone)
|
||||
|
@ -237,7 +261,7 @@
|
|||
.box {
|
||||
margin-top: 10%;
|
||||
position: relative;
|
||||
padding: 8% 40rpx 30rpx 40rpx;
|
||||
padding: 4% 40rpx 10% 40rpx;
|
||||
min-height: 100vh;
|
||||
background: url(../../static/images/bg.png);
|
||||
background-size: cover;
|
||||
|
@ -442,7 +466,7 @@
|
|||
box-shadow: 0px 0px 15px -5px #000;
|
||||
border-radius: 36rpx;
|
||||
width: 100%;
|
||||
margin-top: 12%;
|
||||
margin-top: 9%;
|
||||
border-radius: 20px;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid transparent;
|
||||
|
@ -457,20 +481,20 @@
|
|||
|
||||
.box-title {
|
||||
position: absolute;
|
||||
top: -9%;
|
||||
top: -37rpx;
|
||||
left: -203rpx;
|
||||
margin-left: 50%;
|
||||
|
||||
image {
|
||||
width: 406rpx;
|
||||
height: 87rpx;
|
||||
height: 88rpx;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
&::before {
|
||||
content: '特权详情';
|
||||
content: '注意事项';
|
||||
position: absolute;
|
||||
font-size: 34rpx;
|
||||
font-family: Adobe Heiti Std;
|
||||
|
@ -483,32 +507,66 @@
|
|||
}
|
||||
|
||||
.privilege-list {
|
||||
margin: 84rpx 10rpx 40rpx 10rpx;
|
||||
width: 100%;
|
||||
margin: 54rpx 30rpx 20rpx 30rpx;
|
||||
min-height: 110rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 3% 20rpx 1% 20rpx;
|
||||
|
||||
.privilege-item {
|
||||
.privilege-left {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background: #fff;
|
||||
padding: 16rpx 16rpx;
|
||||
border-radius: 20rpx;
|
||||
margin: 0 10rpx;
|
||||
|
||||
image {
|
||||
width: 96rpx;
|
||||
height: 96rpx;
|
||||
border-radius: 50%;
|
||||
margin-bottom: 15rpx;
|
||||
width: 68rpx;
|
||||
height: 64rpx;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
.privilege-text {
|
||||
color: #000000;
|
||||
line-height: 36rpx;
|
||||
text-align: center;
|
||||
font-size: 26rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
text:nth-child(1){
|
||||
font-size: 30rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
}
|
||||
text:nth-child(2){
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FB394B;
|
||||
}
|
||||
}
|
||||
}
|
||||
.privilege-right{
|
||||
background-image: url("../../static/images/others-button.png");
|
||||
background-size: 144rpx 64rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
width: 144rpx;
|
||||
height: 64rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
view {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: -24%;
|
||||
width: 18rpx;
|
||||
height: 6rpx;
|
||||
background: #FEAC49;
|
||||
border-radius: 3rpx;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -517,7 +575,7 @@
|
|||
|
||||
.box-submit {
|
||||
background: linear-gradient(#FFC82B, #FD7A32);
|
||||
margin-top: 9%;
|
||||
margin-top: 4%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
|
|
@ -13,12 +13,12 @@
|
|||
<view v-show="item.refundStatus != 0">{{list[item.refundStatus]}}</view>
|
||||
</view>
|
||||
<view class="item-text">
|
||||
<text>充值档次:{{item.grade}}</text>
|
||||
<text>日期:{{$util.timestampToTime(item.stringCreateTime)}}</text>
|
||||
<text>充值档次:{{item.grade}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<u-empty v-show="!memberData.length" text="暂无数据" mode="list"></u-empty>
|
||||
<u-navbar autoBack title="购买纪录"></u-navbar>
|
||||
<u-navbar autoBack title="购买记录"></u-navbar>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -101,7 +101,6 @@
|
|||
.box {
|
||||
margin-top: 10%;
|
||||
padding: 20% 40rpx;
|
||||
height: 100vh;
|
||||
background: url(../../static/images/memberBg.png);
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
|
@ -157,10 +156,11 @@
|
|||
}
|
||||
|
||||
.item-text{
|
||||
padding: 34rpx 12rpx;
|
||||
padding: 20rpx 12rpx;
|
||||
background: #fff;
|
||||
margin-top: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
|
|
@ -30,11 +30,30 @@
|
|||
<text class="text-content">{{item.gearRemarks}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="member-prompt">
|
||||
<!-- <view class="member-prompt">
|
||||
* 办理三个项目即可升级会员2,会员2享XX权益。
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-privilege">
|
||||
<view class=""></view>
|
||||
<view class="box-title">
|
||||
<image src='../../static/images/memberTitle.png'></image>
|
||||
</view>
|
||||
<view class="privilege-list">
|
||||
<view class="privilege-left">
|
||||
<image src='../../static/images/money_look.png'></image>
|
||||
<view class="privilege-text">
|
||||
<text>查看充值注意事项!</text>
|
||||
<text>点击右侧按钮</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="privilege-right" @click="handleRule">
|
||||
<text>查看</text>
|
||||
<view></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<paymentMember :payMode='payMode' :pay_close="pay_close" @onChangeFun='onChangeFun' :payInfo="payInfo"></paymentMember>
|
||||
<button class="box-submit" @click="goPay">立即充值</button>
|
||||
</view>
|
||||
|
@ -118,6 +137,11 @@ import store from '@/store/index';
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
handleRule(){
|
||||
uni.navigateTo({
|
||||
url:'/pages/member_rule/index'
|
||||
})
|
||||
},
|
||||
handleMember(value,index){
|
||||
if(!!parseInt(value.isExist)) return
|
||||
if(this.activeIndex.includes(index)){
|
||||
|
@ -202,7 +226,7 @@ import store from '@/store/index';
|
|||
<style lang="scss" scoped>
|
||||
.box {
|
||||
position: relative;
|
||||
padding: 8% 40rpx 30rpx 40rpx;
|
||||
padding: 4% 40rpx 10% 40rpx;
|
||||
min-height: 100vh;
|
||||
background: url(../../static/images/bg.png);
|
||||
background-size: cover;
|
||||
|
@ -403,87 +427,120 @@ import store from '@/store/index';
|
|||
}
|
||||
}
|
||||
}
|
||||
.box-privilege {
|
||||
box-shadow: 0px 0px 15px -5px #000;
|
||||
border-radius: 36rpx;
|
||||
width: 100%;
|
||||
margin-top: 9%;
|
||||
border-radius: 20px;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid transparent;
|
||||
background-image: linear-gradient(#FFD55D, #FD752F),
|
||||
linear-gradient(to bottom, #FFEBB2, #FDCB3B);
|
||||
background-origin: border-box;
|
||||
background-clip: content-box, border-box;
|
||||
border-radius: 20px;
|
||||
display: flex;
|
||||
flex: 1;
|
||||
position: relative;
|
||||
|
||||
.box-privilege {
|
||||
box-shadow: 0px 0px 15px -5px #000;
|
||||
border-radius: 36rpx;
|
||||
width: 100%;
|
||||
margin-top: 12%;
|
||||
border-radius: 20px;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid transparent;
|
||||
background-image: linear-gradient(#FFD55D, #FD752F),
|
||||
linear-gradient(to bottom, #FFEBB2, #FDCB3B);
|
||||
background-origin: border-box;
|
||||
background-clip: content-box, border-box;
|
||||
border-radius: 20px;
|
||||
display: flex;
|
||||
flex: 1;
|
||||
position: relative;
|
||||
.box-title {
|
||||
position: absolute;
|
||||
top: -37rpx;
|
||||
left: -203rpx;
|
||||
margin-left: 50%;
|
||||
|
||||
.box-title {
|
||||
position: absolute;
|
||||
top: -9%;
|
||||
left: -203rpx;
|
||||
margin-left: 50%;
|
||||
image {
|
||||
width: 406rpx;
|
||||
height: 88rpx;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
image {
|
||||
width: 406rpx;
|
||||
height: 87rpx;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
&::before {
|
||||
content: '注意事项';
|
||||
position: absolute;
|
||||
font-size: 34rpx;
|
||||
font-family: Adobe Heiti Std;
|
||||
font-weight: normal;
|
||||
color: #FF4B47;
|
||||
text-shadow: 1px 5px 5px rgba(255, 195, 30, 0.78);
|
||||
}
|
||||
}
|
||||
|
||||
&::before {
|
||||
content: '特权详情';
|
||||
position: absolute;
|
||||
font-size: 34rpx;
|
||||
font-family: Adobe Heiti Std;
|
||||
font-weight: normal;
|
||||
color: #FF4B47;
|
||||
text-shadow: 1px 5px 5px rgba(255, 195, 30, 0.78);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.privilege-list {
|
||||
width: 100%;
|
||||
margin: 54rpx 30rpx 20rpx 30rpx;
|
||||
min-height: 110rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 3% 20rpx 1% 20rpx;
|
||||
|
||||
.privilege-list {
|
||||
margin: 84rpx 10rpx 40rpx 10rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.privilege-left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
border-radius: 20rpx;
|
||||
|
||||
.privilege-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background: #fff;
|
||||
padding: 16rpx 16rpx;
|
||||
border-radius: 20rpx;
|
||||
margin: 0 10rpx;
|
||||
image {
|
||||
width: 68rpx;
|
||||
height: 64rpx;
|
||||
margin-right: 12rpx;
|
||||
}
|
||||
|
||||
image {
|
||||
width: 96rpx;
|
||||
height: 96rpx;
|
||||
border-radius: 50%;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
.privilege-text {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
text:nth-child(1){
|
||||
font-size: 30rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
}
|
||||
text:nth-child(2){
|
||||
font-size: 24rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FB394B;
|
||||
}
|
||||
}
|
||||
}
|
||||
.privilege-right{
|
||||
background-image: url("../../static/images/others-button.png");
|
||||
background-size: 144rpx 64rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
width: 144rpx;
|
||||
height: 64rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
view {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: -24%;
|
||||
width: 18rpx;
|
||||
height: 6rpx;
|
||||
background: #FEAC49;
|
||||
border-radius: 3rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.privilege-text {
|
||||
color: #000000;
|
||||
line-height: 36rpx;
|
||||
text-align: center;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.box-submit {
|
||||
background: linear-gradient(#FFC82B, #FD7A32);
|
||||
margin-top: 9%;
|
||||
margin-top: 6%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
<template>
|
||||
<view class="wechat-wrap">
|
||||
<u-navbar autoBack title="关注公众号"></u-navbar>
|
||||
<view class="bg"></view>
|
||||
<image src="@/static/images/qrcod.jpg" mode="widthFix" style="width: 400rpx;"></image>
|
||||
<image src="@/static/images/qrcod.jpg" style="width:100%" mode="widthFix"></image>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -16,21 +15,10 @@
|
|||
height: 100%;
|
||||
}
|
||||
|
||||
.bg {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(0deg, #F94B78 0%, #FFD35C 100%);
|
||||
opacity: 0.18;
|
||||
z-index: 0
|
||||
}
|
||||
|
||||
.wechat-wrap {
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
padding: 260rpx 20rpx 0 20rpx;
|
||||
padding-top: 90rpx;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 73 KiB |
Loading…
Reference in New Issue