Commit 12b62593 authored by zhangjianguo's avatar zhangjianguo

1

parents 8c56261d 9b1240ae
......@@ -10,9 +10,16 @@
font-size: 14px;
margin-top: 15px;
}
input, textarea, select{
outline: none !important;
box-shadow: none;
}
.w120{
width:120px;
}
.w160{
width:160px;
}
\ No newline at end of file
}
.w400{
width:400px;
}
\ No newline at end of file
This diff is collapsed.
<template>
<div class="navigation">
<template v-if="isShowAdd">
<div class="head-title">
导航图标列表
<el-button @click="isShowAdd=false" style="float:right;margin-top: -5px;" size="small" type="primary">添加导航图标</el-button>
</div>
<div class="content">
<div>
<div class="searchInput">
<el-input style="display:inline-block;width:225px;height:30px"
placeholder="请输入搜索内容"
v-model="value"
size="small"
clearable>
</el-input>
<span class="el-icon-search" style="color:#979dad;font-size:14px;position:relative;top:1px"></span>
</div>
</div>
<el-table
:data="tableData"
v-loading="loading"
border
style="width: 100%;margin:20px 0">
<el-table-column
prop="ID"
label="ID"
width="100">
</el-table-column>
<el-table-column
prop="address"
width="120"
label="名称">
</el-table-column>
<el-table-column
prop="name"
label="导航图标"
width="80">
</el-table-column>
<el-table-column
prop="name"
label="导航链接">
</el-table-column>
<el-table-column
prop="name"
label="排序"
width="180">
</el-table-column>
<el-table-column
prop="name"
label="是否显示"
width="120">
</el-table-column>
<el-table-column
prop="address"
width="220"
label="操作">
</el-table-column>
</el-table>
<el-pagination style="text-align:right"
background
@current-change="handleCurrentChange"
:page-size="msg.pageSize"
layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</template>
<template v-else>
<div class="head-title">
<span @click="isShowAdd=true" style="color:rgb(64, 158, 255);cursor:pointer;">导航图标列表</span><span style="margin:0 9px;color:#C0C4CC">/</span><span>导航图标编辑</span>
</div>
<div class="content">
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="80px" style="padding:0 20px;">
<el-form-item label="名称" prop="name">
<el-input v-model="addMsg.name" class="w400" size="small" placeholder="请输入名称" maxlength="20" />
</el-form-item>
<el-form-item label="排序" prop="Sort">
<el-input type="text" v-model="addMsg.Sort" size="small" class="w400" placeholder="请输入排序" maxlength="20" />
</el-form-item>
<el-form-item label="导航图标" prop="img">
<div>
<el-tooltip class="item" effect="dark" content="建议尺寸:88*88" placement="top-start">
<el-upload class="avatar-uploader" action="" accept="image/jpeg,image/gif,image/png,image/bmp"
:show-file-list="false" :http-request="UploadImage">
<el-button size="small">选择文件</el-button>
</el-upload>
</el-tooltip>
</div>
<div class="navImg">
<img v-if="addMsg.img" :src="addMsg.img" alt="" />
<img v-else src="../../assets/img/default.png" alt=""/>
</div>
</el-form-item>
<el-form-item label="导航链接" prop="link">
<el-input type="password" v-model="addMsg.link" class="w400" size="small" maxlength="100" />
<el-button plain size="small">选择链接</el-button>
</el-form-item>
<el-form-item label="是否显示">
<el-switch v-model="addMsg.isShow" ></el-switch>
</el-form-item>
</el-form>
</div>
<el-button size="small" style="margin-top:20px;padding:9px 25px;" type="primary" @click="submitform('addMsg')">保存</el-button>
</template>
</div>
</template>
<script>
export default {
data() {
let validataImg = (rule, value, callback) => {
if (this.addMsg.img == '') {
return callback(new Error('请选择导航图标'));
} else {
callback();
}
}
return {
loading:false,
dialogVisible:false,
value:'',
options:[],
tableData:[
{ID:'111'}
],
msg:{
pageIndex:1,
pageSize:15,
},
total:0,
isShowAdd:true,
addMsg:{
name:'',
Sort:100,
img:'',
link:'',
isShow:true
},
rules: {
name: [{
required: true,
message: "请输入导航名称",
trigger: "blur"
}],
Sort: [{
required: true,
message: "请输入导航排序",
trigger: "blur"
}],
img:[{
validator: validataImg,
trigger: "blur",
required: true
}],
link: [{
required: true,
message: "请选择导航链接",
trigger: "blur"
}]
},
};
},
created() {
},
methods: {
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
getList(){
},
//上传图片
UploadImage(file) {
this.UploadFileToTencent(this.FileType().UserImg, file.file, res => {
if (res.resultCode == 1) {
this.addMsg.img = res.FileUrl;
}
})
},
submitform(addMsg) {
//提交创建、修改表单
this.$refs[addMsg].validate(valid => {
if (valid) {
this.saveMsg();
} else {
return false;
}
});
},
//保存
saveMsg(){
}
},
mounted() {
}
};
</script>
<style>
.navImg{
width:80px;
height:80px;
}
.navImg img{
width:100%;
height:100%;
}
.navigation .blue{
color:#409EFF;
}
.navigation .content .searchInput{
border: 1px solid #DCDFE6;
border-radius: 4px;
}
.navigation .content .searchInput .el-input__inner{
border:none;outline:none;
height: 30px;
line-height: 30px;
}
.navigation .content .searchInput{
line-height: normal;
display: inline-table;
width: 100%;
border-collapse: separate;
border-spacing: 0;
width:250px;
margin-right: 20px;
}
.navigation .content{
background: #fff;
margin-top:10px;
padding: 20px;
box-sizing: border-box;
}
</style>
......@@ -64,7 +64,7 @@
width="200"
label="操作">
<template slot-scope="scope">
<img style="width:32px;height:32px" src="../../assets/img/userman/edit.png" alt="">
<img @click="Edit(scope.row)" style="width:32px;height:32px" src="../../assets/img/userman/edit.png" alt="">
<img @click="Delete(scope.row)" style="width:32px;height:32px;margin:0 10px" src="../../assets/img/userman/del.png" alt="">
<!-- <img style="width:32px;height:32px" src="../../assets/img/userman/balance.png" alt=""> -->
</template>
......@@ -110,6 +110,15 @@
this.getList();
},
methods: {
Edit(row){
this.$router.push({
name: 'setMember',
query: {
GradeId:row.Id,
blank: "y"
}
});
},
Delete(row){
let that=this;
that.Confirm("是否删除?", function () {
......
......@@ -2,10 +2,34 @@
<template>
<div class="baseSet">
<div class="head-title">
<span @click="goUrl" class="blue point">会员等级</span> / 会员设置
<span @click="goUrl" class="point">基础设置</span>
</div>
<div class="content">
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="150px">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>分销设置</span>
</div>
<div>
<el-form-item label="分销层级" prop="name">
<el-radio v-model="val" label="1">关闭</el-radio>
<el-radio v-model="val" label="2">一级分销</el-radio>
<el-radio v-model="val" label="2">二级分销</el-radio>
<el-radio v-model="val" label="2">三级分销</el-radio>
</el-form-item>
<el-form-item class="discount commonLabel" label="分销内购" prop="name">
<el-tooltip class="item" effect="dark" content="开启分销内购,分销商自己购买商品,享受一级佣金,上级享受二级佣金,上上级享受三级佣金" placement="top">
<i class="elzk el-tooltip el-icon-info"></i>
</el-tooltip>
<el-switch
v-model="addMsg.name"
active-color="#409EFF"
active-value="100"
inactive-value="0">
</el-switch>
</el-form-item>
</div>
</el-card>
<el-form-item label="会员等级" prop="name">
<el-select style="width:293px;" size="small" v-model="addMsg.name" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai"></el-option>
......@@ -205,7 +229,6 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
.baseSet .content{
background: #fff;
margin-top:10px;
padding: 20px;
box-sizing: border-box;
}
......
This diff is collapsed.
......@@ -68,7 +68,10 @@
label="头像">
<template slot-scope="scope">
<div class="app-image" :style="{backgroundImage:'url(' + scope.row.Photo + ')',backgroundSize:'cover'}"></div>
<div flex="dir:left cross:center">{{scope.row.Name}}</div>
<div flex="dir:left cross:center">
{{scope.row.Name}}
<span v-if="scope.row.AliasName!=''" class="remark_name">备注名:{{scope.row.AliasName}}</span>
</div>
<img v-if="scope.row.Source==1" style="width:24px;height:24px" src="../../assets/img/userman/wx.png" alt="" class="platform-img">
<button type="button" class="el-button el-button--success" style="float: right; padding: 5px !important;">
<span @click="ChangeOpenidState(scope.$index, scope.row)">显示OpenId</span>
......@@ -166,7 +169,7 @@
</el-dialog>
<!-- 选择文件 -->
<el-dialog title="选择文件" :visible.sync="changeState" width="1240px">
<ChooseImg></ChooseImg>
<ChooseImg @SelectId="SelectId" ref="mychild"></ChooseImg>
</el-dialog>
<!-- 充值积分 -->
<el-dialog title="充值" :visible.sync="czjfDig" width="600px">
......@@ -184,8 +187,8 @@
<el-form-item label="充值图片">
<el-button @click="openChangeDig" size="small">选择文件</el-button>
<div>
<img style="width:80px;height:80px" src="../../assets/img/default.png" alt="">
<img style="width:80px;height:80px" :src="addMsg.Image" alt="">
<img v-if="imgurl==''" style="width:80px;height:80px" src="../../assets/img/default.png" alt="">
<img v-else style="width:80px;height:80px" :src="imgurl" alt="">
</div>
</el-form-item>
<el-form-item label="备注">
......@@ -249,6 +252,7 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
Image:'',
Description:'',
},
imgurl:'',
};
},
......@@ -257,12 +261,19 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
this.getplat();
this.getDown();
this.GetMemberGradeList();
this.addMsg.MallBaseId=this.getLocalStorage().MallBaseId;
},
methods: {
SelectId(msg){
this.changeState=false;
this.addMsg.Image=msg.id;
this.imgurl="http://viitto-1301420277.cos.ap-chengdu.myqcloud.com"+msg.url;
},
EditgoUrl(row){
this.$router.push({
name: 'usersListEdit',
query: {
UserId:row.Id,
blank: "y"
}
});
......@@ -298,7 +309,7 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
this.czType=index;
this.czjfDig=true;
this.addMsg={
MallBaseId:0,
MallBaseId:this.getLocalStorage().MallBaseId,
Type:1,
UserId:row.Id,
Integral:'',
......@@ -306,9 +317,14 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
Description:'',
Balance:'',
}
this.imgurl='';
},
openChangeDig(){
this.changeState=true;
setTimeout(()=>{
this.$refs.mychild.InitData(this.czType);
},10)
},
Export(){
this.msg.ExcelEnumIds=this.checkedCities;
......@@ -386,6 +402,12 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
</script>
<style>
.usersList .remark_name {
color: #888888;
font-size: 12px;
margin-left: 10px;
float: right;
}
.usersList .app-image{
background-position: center center;
width: 50px;
......
......@@ -7,26 +7,33 @@
<div class="content">
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="150px">
<el-form-item label="用户">
<div class="app-image" style="background-image: url(https://wx.qlogo.cn/mmopen/vi_32/oGIVrPVN31icEqGbm2lHxwnutS3mD9xx40ZRx2E7U8cFicdY2YFAlZtfSXwjYvQicA9ggpSf5BtdPfoIreCialklKg/132); "></div>
<div class="app-image" :style="{backgroundImage:'url(' + userInfo.Photo + ')',backgroundSize:'cover'}"></div>
</el-form-item>
<el-form-item label="会员等级">
<el-select style="width:293px;" size="small" v-model="addMsg.name" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
<el-select style="width:293px;" size="small" v-model="userInfo.MemberGrade" placeholder="请选择活动区域">
<el-option label="普通用户" :value="0"></el-option>
<el-option
v-for="(item,index) in 100"
:key="index"
:label="`等级${index+1}`"
:value="index+1">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="上级">
<el-autocomplete
size="small"
v-model="val"
:fetch-suggestions="querySearch"
placeholder="请输入内容"
@select="handleSelect"
></el-autocomplete>
<el-select size="small" v-model="userInfo.SuperiorId" :filter-method="ChangeListName" filterable placeholder="请选择">
<el-option label="总部" :value="0"></el-option>
<el-option
v-for="item in tableData"
:key="item.Id"
:label="item.Name"
:value="item.Id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="加入黑名单">
<el-switch
v-model="addMsg.name"
v-model="userInfo.Blacklist"
active-color="#409EFF"
active-value="100"
inactive-value="0">
......@@ -34,25 +41,25 @@
<span class="tip">加入黑名单后,用户将无法下单</span>
</el-form-item>
<el-form-item label="联系方式">
<el-input v-model="val" style="width:478px" size="small"></el-input>
<el-input v-model="userInfo.ContactWay" style="width:478px" size="small"></el-input>
</el-form-item>
<el-form-item label="手机号">
<el-input v-model="val" style="width:478px" size="small"></el-input>
<el-input v-model="userInfo.Moblie" style="width:478px" size="small"></el-input>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="val" style="width:478px" size="small"></el-input>
<el-input v-model="userInfo.Remark" style="width:478px" size="small"></el-input>
</el-form-item>
<el-form-item label="修改备注名">
<el-input v-model="val" style="width:478px" size="small"></el-input>
<el-input v-model="userInfo.AliasName" style="width:478px" size="small"></el-input>
</el-form-item>
<el-form-item label="注册时间">
<span>2020-04-23 13:37:53</span>
<span>{{userInfo.CreateDate}}</span>
</el-form-item>
</el-form>
</div>
<div style="margin-top:20px">
<el-button size="small" type="primary" @click="dialogVisible = false">保存</el-button>
<el-button size="small" type="primary" @click="Save">保存</el-button>
</div>
</div>
</template>
......@@ -60,51 +67,87 @@
export default {
data() {
return {
currentPage4:3,
changeState:false,
addMsg:{
Id:'',
SuperiorId:'',
MemberGrade:'',
ContactWay:'',
Remark:'',
AliasName:'',
},
val:'',
addMsg:{},
dialogVisible:false,
value:'',
options:[],
tableData:[
{ID:'111'}
],
msg:{
pageIndex:1,
pageSize:15,
},
total:0,
rules: {
name: [
{ required: true, message: '新手机号', trigger: 'blur' }
],
},
restaurants: [
{ "value": "三全鲜食(北新泾店)", "address": "长宁区新渔路144号" },
{ "value": "Hot honey 首尔炸鸡(仙霞路)", "address": "上海市长宁区淞虹路661号" },
{ "value": "新旺角茶餐厅", "address": "上海市普陀区真北路988号创邑金沙谷6号楼113" },
{ "value": "泷千家(天山西路店)", "address": "天山西路438号" },
{ "value": "胖仙女纸杯蛋糕(上海凌空店)", "address": "上海市长宁区金钟路968号1幢18号楼一层商铺18-101" },
{ "value": "贡茶", "address": "上海市长宁区金钟路633号" },
{ "value": "豪大大香鸡排超级奶爸", "address": "上海市嘉定区曹安公路曹安路1685号" },
],
restaurants: [],
UserId:'',
userInfo:{},
msg:{
pageIndex:1,
pageSize:20,
Name:'',
Source:0,
MemberGrade:0,
Id:0,
Moblie:''
},
tableData:[],
};
},
created() {
if(this.$route.query.UserId){
this.UserId=this.$route.query.UserId;
this.getData()
this.getList();
}
},
methods: {
Save(){
let userInfo=this.userInfo;
this.addMsg={
Id:userInfo.Id,
SuperiorId:userInfo.SuperiorId,
MemberGrade:userInfo.MemberGrade,
ContactWay:userInfo.ContactWay,
Remark:userInfo.Remark,
AliasName:userInfo.AliasName,
}
this.apipost("/api/user/SetMemberUserInfoForHT",this.addMsg, res => {
if(res.data.resultCode==1){
this.goUrl();
}else {
this.Error(res.data.message);
}
})
},
handleSelect(item) {
console.log(item);
},
ChangeListName(val){
this.msg.Name=val;
this.getList();
},
getList(){
this.loading=true;
this.apipost("/api/user/GetMemberUserDropDownList", this.msg, res => {
this.loading=false;
if(res.data.resultCode==1){
this.total=res.data.data.count;
let pageData=res.data.data.pageData;
this.tableData=pageData;
}
})
},
querySearch(queryString, cb) {
var restaurants = this.restaurants;
var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
// 调用 callback 返回建议列表的数据
cb(results);
},
openChangeDig(){
this.changeState=true;
......@@ -117,12 +160,12 @@
}
});
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
getList(){
getData(){
this.apipost("/api/user/GetMemberUserInfo",{UserId:this.UserId}, res => {
console.log("res,res",res);
this.userInfo=res.data.data;
})
},
},
......
This diff is collapsed.
......@@ -234,6 +234,7 @@
flex-wrap: wrap;
align-items: center;
width: 300px;
float:right;
}
.marinRightList ul {
......@@ -284,7 +285,7 @@
<div class="is-show-menu-2" v-if="isShowOne" @click="showTwo=true,isShowOne=false">>></div>
<div class="leftMenu1">
<div class="aside-logo">
<div class="asideInner">{{currentUser.MallName}}</div>
<div class="asideInner" @click="CommonJump('zanIndex'),firstCked=0,showTwo=false">{{currentUser.MallName}}</div>
</div>
<ul>
<li class="menu-item" @mouseover="mouseOver(item)" @mouseout="mouseOutMenu()" v-for="(item,index) in MenuList"
......@@ -411,7 +412,7 @@
mouseOutMenu() {
this.MenuList.forEach(item => {
if (item.MenuId == this.firstCked) {
//this.secondItem = item;
this.secondItem = item;
}
})
},
......
This diff is collapsed.
......@@ -7,6 +7,8 @@ import router from './router'
import ajaxPlug from './plug/index'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import echarts from 'echarts'
Vue.use(ElementUI);
import commonUtils from './assets/utils/commonUtils'
......@@ -14,6 +16,8 @@ Vue.commonUtils = Vue.prototype.$commonUtils=commonUtils
Vue.config.productionTip = false
Vue.http = Vue.prototype.$http = axios
Vue.prototype.$echarts = echarts
Vue.use(ajaxPlug)
/* eslint-disable no-new */
new Vue({
......
......@@ -100,18 +100,12 @@ export default new Router({
name: 'basicSetUp',
component: resolve => require(['@/components/setup/basicSetUp'], resolve),
},
// 物流设置 规则设置
//店铺管理 导航图标
{
path: '/ruleSetup',
name: 'ruleSetup',
component: resolve => require(['@/components/setup/ruleSetup'], resolve),
},
// 物流设置 新增运费规则
{
path: '/addFreightRule',
name: 'addFreightRule',
component: resolve => require(['@/components/setup/addFreightRule'], resolve),
},
path: '/navigationIcon',
name: 'navigationIcon',
component: resolve => require(['@/components/StoreDesign/navigationIcon'], resolve),
}
]
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment