Commit 3428de45 authored by 黄奎's avatar 黄奎

新增页面

parent 6f257893
<template>
<div v-loading="loading" class="h_edit_brand">
<div class="head-title">
<span @click="CommonJump('hbrand')" class="blue point">品牌管理</span>
/ 编辑品牌管理
</div>
<div class="content">
<el-form :model="addMsg" ref="addMsg" label-width="150px" style="width: 70%">
<el-form-item label="品牌分类" class="is-required" prop="BrandClassId">
<el-select class="w300" v-model="addMsg.CategoryId" size="small" placeholder="请选择">
<el-option :key="0" label="请选择" :value="0"></el-option>
<el-option v-for="item in CategoryList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="品牌名" prop="Name" class="is-required" size="small">
<el-input v-model="addMsg.Name" class="w600" placeholder="请输入品牌名" maxlength="100" />
</el-form-item>
<el-form-item label="Logo" class="is-required" prop="Logo" size="small">
<el-button @click="openChangeDig(1)" size="small">选择文件</el-button>
<div class="app-gallery-item" style="position: relative; width: 100px; margin-top: 10px">
<img v-if="!addMsg.Logo || addMsg.Logo == ''" src="../../assets/img/default.png"
style="width: 80px; height: 80px" alt="" />
<el-image v-else style="width: 80px; height: 80px" :src="addMsg.Logo">
</el-image>
</div>
</el-form-item>
<el-form-item label="品牌介绍图">
<div class="nav_Main">
<div class="nav_IconContent">
<draggable v-model="addMsg.BrandImgList">
<div style="
position: relative;
margin-right: 20px;
display: inline-block;
" v-for="(item, index) in addMsg.BrandImgList" :key="index + '2'">
<el-image style="width: 100px;height: 100px" :src="item.Path">
</el-image><br />
<el-input v-model="item.Name" style="width: 100px;" placeholder="描述"></el-input>
<el-button @click="ClearCarouse(index)" class="delBtn" type="danger" icon="el-icon-close" circle>
</el-button>
</div>
</draggable>
</div>
<div @click="openChangeDig(2)" v-if="addMsg.BrandImgList.length < 9" class="add-image-btn 2222"
style="cursor: pointer">
+ 添加图片
</div>
</div>
</el-form-item>
<el-form-item label="热门推荐" size="small">
<el-radio v-model="addMsg.IsHot" :label="1"></el-radio>
<el-radio v-model="addMsg.IsHot" :label="0"></el-radio>
</el-form-item>
<el-form-item label="更多描述" size="small">
<el-input v-model="addMsg.MoreDesc" placeholder="请输入更多描述" class="w600" maxlength="500" />
</el-form-item>
<el-form-item label="备注描述" size="small">
<el-input v-model="addMsg.RemarkDesc" placeholder="请输入备注描述" class="w600" maxlength="500" />
</el-form-item>
</el-form>
</div>
<div style="margin-top: 20px">
<el-button size="small" type="primary" @click="Save('addMsg')">保存</el-button>
</div>
<!-- 选择文件 -->
<el-dialog title="选择文件" :visible.sync="isShowIamge" width="1240px">
<ChooseImg @SelectId="SelectId"></ChooseImg>
</el-dialog>
</div>
</template>
<script>
import ChooseImg from "@/components/global/ChooseImg.vue";
import draggable from "vuedraggable";
export default {
components: {
ChooseImg,
draggable,
},
data() {
return {
addMsg: {
Id: 0,
Name: "", //品牌名称
Logo: "", //Logo
IsHot: 0,
CategoryId: "", //品牌分类
MoreDesc: "", //更多描述
RemarkDesc: "", //备注描述
BrandImgList: [], //品牌介绍图
},
CategoryList: [], //品牌分类列表
isShowIamge: false,
chooseType: 0,
loading: false,
};
},
created() {
this.getCategoryList()
},
mounted() {
if (this.$route.query.Id) {
this.addMsg.Id = this.$route.query.Id;
this.initData();
}
},
methods: {
//删除图片
ClearCarouse(index) {
if (this.addMsg.BrandImgList && this.addMsg.BrandImgList.length > 0) {
this.addMsg.BrandImgList.splice(index, 1);
}
},
initData() {
var qMsg = {
BrandId: this.addMsg.Id
};
this.apipost("/api/Assess/GetBrandInfo", qMsg, (res) => {
if (res.data.resultCode == 1) {
var tempData = res.data.data;
if (tempData) {
this.addMsg.Id = tempData.Id;
this.addMsg.Name = tempData.Name;
this.addMsg.Logo = tempData.Logo;
this.addMsg.CategoryId = tempData.CategoryId;
this.addMsg.IsHot = tempData.IsHot;
this.addMsg.MoreDesc = tempData.MoreDesc;
this.addMsg.RemarkDesc = tempData.RemarkDesc;
if (tempData.BrandImgList && tempData.BrandImgList.length > 0) {
this.addMsg.BrandImgList = tempData.BrandImgList;
}
}
}
});
},
SelectId(msg) {
let url = this.getIconLink(msg.url)
if (this.chooseType == 1) {
this.addMsg.Logo = url;
}
if (this.chooseType == 2) {
this.addMsg.BrandImgList.push({
Sort: 1,
Name: "",
Path: url
})
}
this.isShowIamge = false;
},
//显示图片弹窗
openChangeDig(type) {
this.chooseType = type;
this.isShowIamge = true;
},
//获取品牌分类
getCategoryList() {
this.apipost("/api/Assess/GetCategoryDropList", {}, (res) => {
if (res.data.resultCode == 1) {
this.CategoryList = res.data.data;
}
});
},
//保存品牌
Save(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.apipost("/api/Assess/SetBrandInfo", this.addMsg, (res) => {
if (res.data.resultCode == 1) {
this.CommonJump("hbrand");
this.Success(res.data.message);
} else {
this.Error(res.data.message);
}
});
} else {
return false;
}
});
},
},
};
</script>
<style>
.app-add-cat .el-checkbox-group {
font-size: 14px !important;
}
.app-add-cat .el-checkbox {
margin-right: 0;
}
.app-add-cat .el-dialog__body {
padding: 10px 20px !important;
}
.app-add-cat .tag-box .tag-item {
margin-right: 5px;
}
.app-add-cat .tag-box {
margin: 20px 0;
}
.app-add-cat .app-goods-cat-list .active {
background: #fafafa;
}
.app-add-cat .app-goods-cat-list .cat-item {
cursor: pointer;
padding: 5px 10px;
}
.app-add-cat .app-goods-cat-list {
border: 1px solid #e8eaee;
border-radius: 5px;
margin-top: -5px;
padding: 10px 0;
overflow: scroll;
height: 400px;
}
.h_edit_brand .blue {
color: #409eff;
}
.h_edit_brand .content {
background: #fff;
margin-top: 10px;
padding: 20px;
box-sizing: border-box;
}
.h_edit_brand .gez_list {
/*width: 650px;*/
margin-bottom: 12px;
padding: 20px;
border: 1px solid #ebeef5;
background-color: #fff;
color: #303133;
}
.h_edit_brand .quyu {
background-color: #f4f4f5;
color: #909399;
padding: 10px;
line-height: 30px;
height: 30px;
font-size: 12px;
border-radius: 4px;
white-space: nowrap;
margin: 5px;
}
.h_edit_brand .el-tag+.el-tag {
margin-left: 10px;
}
.h_edit_brand .button-new-tag {
margin-left: 10px;
height: 32px;
line-height: 30px;
padding-top: 0;
padding-bottom: 0;
}
.h_edit_brand .input-new-tag {
width: 90px;
margin-left: 10px;
vertical-align: bottom;
}
.h_edit_brand .ue-style .el-form-item__content {
line-height: 0;
}
.h_edit_brand .app-gallery-item {
border: none;
}
.h_edit_brand .nav_Main {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
.h_edit_brand .nav_IconContent {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
/* .h_edit_brand .nav_IconContent div>div {
display: inline-block;
} */
.h_edit_brand .colapp-image {
background-size: cover;
background-position: center center;
width: 100px;
height: 100px;
border-radius: 0%;
}
.h_edit_brand .add-image-btn {
width: 100px;
height: 100px;
line-height: 100px;
color: #419efb;
border: 1px solid #e2e2e2;
cursor: pointer;
text-align: center;
}
.h_edit_brand .delBtn {
position: absolute;
right: -8px;
top: -8px;
padding: 4px 4px !important;
}
.h_edit_brand .w600 {
width: 600px;
}
.h_edit_brand .brandShuxing {
display: flex;
justify-content: space-between;
width: 850px;
}
.h_edit_brand .brandShuxing_item {
display: flex;
justify-content: space-between;
width: 50%;
}
</style>
\ No newline at end of file
<template>
<div class="performanceStatics">
<div class="head-title">
估价列表
</div>
<div class="content">
<div style="margin-bottom:20px">
<span>分类名称</span>
<el-input type="text" style="width:250px" size="small" maxlength="100" v-model="msg.Name">
</el-input>
<el-button @click="msg.pageIndex=1,getList()" size="small" type="primary">
查询
</el-button>
</div>
<el-table :data="tableData" v-loading="loading" border style="width: 100%">
<el-table-column prop="Id" label="编号" width="150">
</el-table-column>
<el-table-column prop="Name" label="名称"></el-table-column>
<el-table-column label="Logo" width="300px">
<template slot-scope="scope">
<img :src="scope.row.Image" style="width:35px;height:35px;" alt="" />
</template>
</el-table-column>
<el-table-column label="启用状态" width="300px">
<template slot-scope="scope">
{{scope.row.Enable==1?"启用":"禁用"}}
</template>
</el-table-column>
<el-table-column prop="Sort" label="排序">
</el-table-column>
<el-table-column label="操作" width="250px">
<template slot-scope="scope">
<el-button size="mini" type="info" plain @click="showCategoryForm(scope.row)">编辑 </el-button>
<el-button size="mini" type="info" plain @click="RemmoveCategory(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination style="text-align:right" background @current-change="handleCurrentChange" :page-size="msg.pageSize"
:current-page.sync="msg.pageIndex" layout="prev, pager, next" :total="total">
</el-pagination>
</div>
<!-- 修改版权 -->
<el-dialog :title="editTitle" :visible.sync="isShowCategoryForm" width="500px">
<el-form label-width="150px">
<el-form-item label="分类名称">
<el-input type="text" style="width:250px" size="small" maxlength="100" v-model="postMsg.Name">
</el-input>
</el-form-item>
<el-form-item label="Logo">
<div>
<el-button @click="openChangeDig()" size="small">选择文件</el-button>
</div>
<div class="indexApp_image">
<img v-if="postMsg.Image" :src="postMsg.Image" alt="" style="width:100px;height:100px;" />
</div>
</el-form-item>
<el-form-item label="启用状态" prop="name">
<el-radio v-model="postMsg.Enable" :label="1">启用</el-radio>
<el-radio v-model="postMsg.Enable" :label="2">禁用</el-radio>
</el-form-item>
<el-form-item label="排序">
<el-input style="width:250px" size="small" maxlength="200" v-model="postMsg.Sort">
</el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="isShowCategoryForm = false">取 消</el-button>
<el-button size="small" type="primary" @click="saveData()">确 定</el-button>
</span>
</el-dialog>
<!-- 选择文件 -->
<el-dialog title="选择文件" :visible.sync="isShowChooseImage" width="1240px">
<ChooseImg @SelectId="SelectId"></ChooseImg>
</el-dialog>
</div>
</template>
<script>
import ChooseImg from "@/components/global/ChooseImg.vue";
export default {
components: {
ChooseImg
},
data() {
return {
loading: false,
tableData: [],
total: 0,
msg: {
pageIndex: 1,
pageSize: 15,
Name: "",
},
dateList: [], //日期
editTitle: "回复",
postMsg: {
Id: 0,
Name: "",
Image: "",
Enable: 1,
Sort: 0,
},
isShowCategoryForm: false,
isShowChooseImage: false,
}
},
created() {},
mounted() {
this.getList();
},
methods: {
openChangeDig() {
this.isShowChooseImage = true;
},
SelectId(msg) {
let url = this.getIconLink(msg.url)
this.postMsg.Image = url
this.isShowChooseImage = false;
},
//获取数据
getList() {
this.isShowCategoryForm = false;
this.loading = true;
this.assetsApipost("/api/Assess/GetGoodsPageList", this.msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
this.tableData = res.data.data.pageData;
} else {
this.Error(res.data.message);
}
})
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
//新增修改分类
saveData() {
this.assetsApipost("/api/Assess/GetGoodsPageList", this.postMsg, res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.getList();
} else {
this.Error(res.data.message);
}
})
},
//删除分类
RemmoveCategory(item) {
let that = this;
that.Confirm("是否删除此分类?", function () {
that.apipost(
"/api/Assess/DelCategoryInfo", {
CategoryId: item.Id,
},
res => {
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.getList();
} else {
that.Error(res.data.message);
}
},
);
});
}
}
};
</script>
<style>
.performanceStatics .content {
background: #fff;
margin-top: 10px;
padding: 20px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
</style>
\ No newline at end of file
...@@ -2,43 +2,52 @@ ...@@ -2,43 +2,52 @@
<div class="performanceStatics"> <div class="performanceStatics">
<div class="head-title"> <div class="head-title">
品牌管理 品牌管理
<el-button style="float:right;margin-top: -5px;" type="primary" class="el-button--small">新增</el-button> <el-button style="float:right;margin-top: -5px;" type="primary" class="el-button--small"
@click="CommonJump('hbrandedit')">新增</el-button>
</div> </div>
<div class="content"> <div class="content">
<div style="margin-bottom:20px"> <div style="margin-bottom:20px">
<span>分类</span> <span>分类</span>
<el-select style="margin:0 10px" class="w200" @change="msg.pageIndex=1,getList()" v-model="msg.CategoryId" <el-select style="margin:0 10px" class="w200" @change="msg.pageIndex=1,getList()" v-model="msg.CategoryId"
size="small" placeholder="请选择"> size="small" placeholder="请选择" clearable>
<el-option label="不限" :value="0"></el-option> <el-option label="不限" :value="0"></el-option>
<el-option v-for="item in CategoryList" :key="item.Id" :label="item.Name" :value="item.Id"> <el-option v-for="item in CategoryList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option> </el-option>
</el-select> </el-select>
<span>品牌名称</span> <span>品牌名称</span>
<el-date-picker v-model="dateList" @change="msg.pageIndex=1,getList()" size="small" type="datetimerange" <el-input type="text" style="width:250px" size="small" maxlength="100" v-model="msg.Name" clearable
range-separator="至" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期"> @input="msg.pageIndex=1,getList()">
</el-date-picker> </el-input>
<el-button @click="msg.pageIndex=1,getList()" size="small" type="primary"> <el-button @click="msg.pageIndex=1,getList()" size="small" type="primary">
查询 查询
</el-button> </el-button>
</div> </div>
<el-table :data="tableData" v-loading="loading" border style="width: 100%"> <el-table :data="tableData" v-loading="loading" border style="width: 100%">
<el-table-column prop="ID" label="服务人员编号" width="150"> <el-table-column prop="Id" label="编号" width="100">
</el-table-column> </el-table-column>
<el-table-column label="头像" width="300px"> <el-table-column prop="Name" label="品牌名称" width="200">
</el-table-column>
<el-table-column label="Logo" width="100px">
<template slot-scope="scope"> <template slot-scope="scope">
<img :src="scope.row.ServiceLogo" style="width:35px;height:35px;" alt="" /> <img :src="scope.row.Logo" style="width:50px;height:50px;" alt="" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="Name" label="名称"></el-table-column> <el-table-column label="是否热门" width="100px">
<el-table-column prop="ServiceTargetDateNum" label="排班天数"> <template slot-scope="scope">
</el-table-column> <el-tag v-if="scope.row.IsHot==1" effect="dark">
<el-table-column prop="OrderNum" label="订单数"> 热门
</el-tag>
</template>
</el-table-column> </el-table-column>
<el-table-column prop="Final_Price" label="业绩金额" width="250px"> <el-table-column prop="RemarkDesc" label="上传描述">
</el-table-column> </el-table-column>
<el-table-column prop="OrderGuestNum" label="服务人数"> <el-table-column prop="MoreDesc" label="备注描述">
</el-table-column> </el-table-column>
<el-table-column prop="ScoreStr" label="平均评分"> <el-table-column label="操作" width="250px">
<template slot-scope="scope">
<el-button size="mini" type="info" plain @click="showBrandForm(scope.row)">编辑 </el-button>
<el-button size="mini" type="info" plain @click="RemmoveBrand(scope.row)">删除</el-button>
</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination style="text-align:right" background @current-change="handleCurrentChange" :page-size="msg.pageSize" <el-pagination style="text-align:right" background @current-change="handleCurrentChange" :page-size="msg.pageSize"
...@@ -58,9 +67,9 @@ ...@@ -58,9 +67,9 @@
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 15, pageSize: 15,
CategoryId: 0, //门店Id CategoryId: 0, //分类编号
WorkDate: '', //开始日期 Name: '', //品牌名称
EndWorkDate: '' //结束日期
}, },
CategoryList: [], //分类列表 CategoryList: [], //分类列表
dateList: [], //日期 dateList: [], //日期
...@@ -71,7 +80,6 @@ ...@@ -71,7 +80,6 @@
}, },
mounted() { mounted() {
this.getList(); this.getList();
}, },
methods: { methods: {
//获取分类列表 //获取分类列表
...@@ -84,17 +92,38 @@ ...@@ -84,17 +92,38 @@
} }
}) })
}, },
refreshPage() {
},
//新增修改品牌
showBrandForm(item) {
this.CommonJump('hbrandedit', {
Id: item.Id
})
},
//删除品牌
RemmoveBrand(item) {
let that = this;
that.Confirm("是否删除此品牌?", function () {
that.apipost(
"/api/Assess/DelBrandInfo", {
BrandId: item.Id,
},
res => {
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.getList();
} else {
that.Error(res.data.message);
}
},
);
});
},
//获取数据 //获取数据
getList() { getList() {
if (this.dateList && this.dateList.length > 0) {
this.msg.WorkDate = this.dateList[0];
this.msg.EndWorkDate = this.dateList[1];
} else {
this.msg.WorkDate = '';
this.msg.EndWorkDate = '';
}
this.loading = true; this.loading = true;
this.assetsApipost("/api/Reserve/GetAchievementsList", this.msg, res => { this.assetsApipost("/api/Assess/GetBrandPageList", this.msg, res => {
this.loading = false; this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.total = res.data.data.count; this.total = res.data.data.count;
......
...@@ -171,7 +171,7 @@ ...@@ -171,7 +171,7 @@
//删除分类 //删除分类
RemmoveCategory(item) { RemmoveCategory(item) {
let that = this; let that = this;
that.Confirm("是否此分类删除?", function () { that.Confirm("是否删除此分类?", function () {
that.apipost( that.apipost(
"/api/Assess/DelCategoryInfo", { "/api/Assess/DelCategoryInfo", {
CategoryId: item.Id, CategoryId: item.Id,
......
...@@ -175,10 +175,6 @@ ...@@ -175,10 +175,6 @@
</div> </div>
</div> </div>
<ul class="FsettingUU"> <ul class="FsettingUU">
<!-- <li class="menu_item" :class="{'Fchecked':isChecked=='/companyList'}"
@click="isChecked='/companyList',CommonJump('companyList')">
<i class="el-icon-menu"></i><span>公司资料</span>
</li> -->
<li class="menu_item" :class="{ Fchecked: isChecked == '/hcategory' }" <li class="menu_item" :class="{ Fchecked: isChecked == '/hcategory' }"
@click="(isChecked = '/hcategory'), CommonJump('hcategory')"> @click="(isChecked = '/hcategory'), CommonJump('hcategory')">
<i class="el-icon-menu"></i><span>分类管理</span> <i class="el-icon-menu"></i><span>分类管理</span>
...@@ -187,6 +183,10 @@ ...@@ -187,6 +183,10 @@
@click="(isChecked = '/hbrand'), CommonJump('hbrand')"> @click="(isChecked = '/hbrand'), CommonJump('hbrand')">
<i class="el-icon-menu"></i><span>品牌管理</span> <i class="el-icon-menu"></i><span>品牌管理</span>
</li> </li>
<li class="menu_item" :class="{ Fchecked: isChecked == '/happraise' }"
@click="(isChecked = '/happraise'), CommonJump('happraise')">
<i class="el-icon-menu"></i><span>估价列表</span>
</li>
</ul> </ul>
</div> </div>
</div> </div>
...@@ -195,17 +195,6 @@ ...@@ -195,17 +195,6 @@
<div class="mainRightLeft">如一奢品</div> <div class="mainRightLeft">如一奢品</div>
<div class="marinRightList"> <div class="marinRightList">
<ul> <ul>
<li style="display: none">缓存</li>
<li style="display: none"> title="教程管理">
<el-dropdown trigger="click">
<span class="el-dropdown-link">
教程管理<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>操作教程</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</li>
<li :title="currentUser.MallName"> <li :title="currentUser.MallName">
<el-dropdown trigger="click"> <el-dropdown trigger="click">
<span class="el-dropdown-link"> <span class="el-dropdown-link">
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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