Commit 7b9fa245 authored by 黄奎's avatar 黄奎

页面修改

parent 1753764d
...@@ -5,45 +5,101 @@ ...@@ -5,45 +5,101 @@
/ 编辑品牌管理 / 编辑品牌管理
</div> </div>
<div class="content"> <div class="content">
<el-form :rules="rules" :model="addMsg" ref="addMsg" label-width="150px" style="width: 70%"> <el-form
<el-form-item label="品牌分类" class="is-required" prop="BrandClassId"> :rules="rules"
<el-select class="w300" v-model="addMsg.CategoryId" size="small" placeholder="请选择"> :model="addMsg"
ref="addMsg"
label-width="150px"
style="width: 70%"
>
<el-form-item label="品牌分类" class="is-required" prop="CategoryId">
<el-select
class="w300"
v-model="addMsg.CategoryId"
size="small"
placeholder="请选择"
>
<el-option :key="0" label="请选择" :value="0"></el-option> <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
v-for="item in CategoryList"
:key="item.Id"
:label="item.Name"
:value="item.Id"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="品牌名" prop="Name" class="is-required" size="small"> <el-form-item
<el-input v-model="addMsg.Name" class="w600" placeholder="请输入品牌名" maxlength="100" /> 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>
<el-form-item label="Logo" class="is-required" prop="Logo" size="small"> <el-form-item label="Logo" class="is-required" prop="Logo" size="small">
<el-button @click="openChangeDig(1)" size="small">选择文件</el-button> <el-button @click="openChangeDig(1)" size="small">选择文件</el-button>
<div class="app-gallery-item" style="position: relative; width: 100px; margin-top: 10px"> <div
<img v-if="!addMsg.Logo || addMsg.Logo == ''" src="../../assets/img/default.png" class="app-gallery-item"
style="width: 80px; height: 80px" alt="" /> style="position: relative; width: 100px; margin-top: 10px"
<el-image v-else style="width: 80px; height: 80px" :src="addMsg.Logo"> >
<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> </el-image>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="品牌介绍图"> <el-form-item label="品牌介绍图" prop="BrandImgList">
<div class="nav_Main"> <div class="nav_Main">
<div class="nav_IconContent"> <div class="nav_IconContent">
<draggable v-model="addMsg.BrandImgList"> <draggable v-model="addMsg.BrandImgList">
<div style=" <div
style="
position: relative; position: relative;
margin-right: 20px; margin-right: 20px;
display: inline-block; display: inline-block;
" v-for="(item, index) in addMsg.BrandImgList" :key="index + '2'"> "
v-for="(item, index) in addMsg.BrandImgList"
:key="index + '2'"
>
<el-image style="width: 100px;height: 100px" :src="item.Path"> <el-image style="width: 100px;height: 100px" :src="item.Path">
</el-image><br /> </el-image
<el-input v-model="item.Name" style="width: 100px;" placeholder="描述"></el-input> ><br />
<el-button @click="ClearCarouse(index)" class="delBtn" type="danger" icon="el-icon-close" circle> <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> </el-button>
</div> </div>
</draggable> </draggable>
</div> </div>
<div @click="openChangeDig(2)" v-if="addMsg.BrandImgList.length < 9" class="add-image-btn 2222" <div
style="cursor: pointer"> @click="openChangeDig(2)"
v-if="addMsg.BrandImgList.length < 9"
class="add-image-btn 2222"
style="cursor: pointer"
>
+ 添加图片 + 添加图片
</div> </div>
</div> </div>
...@@ -53,15 +109,27 @@ ...@@ -53,15 +109,27 @@
<el-radio v-model="addMsg.IsHot" :label="0"></el-radio> <el-radio v-model="addMsg.IsHot" :label="0"></el-radio>
</el-form-item> </el-form-item>
<el-form-item label="更多描述" size="small"> <el-form-item label="更多描述" size="small">
<el-input v-model="addMsg.MoreDesc" placeholder="请输入更多描述" class="w600" maxlength="500" /> <el-input
v-model="addMsg.MoreDesc"
placeholder="请输入更多描述"
class="w600"
maxlength="500"
/>
</el-form-item> </el-form-item>
<el-form-item label="备注描述" size="small"> <el-form-item label="备注描述" size="small">
<el-input v-model="addMsg.RemarkDesc" placeholder="请输入备注描述" class="w600" maxlength="500" /> <el-input
v-model="addMsg.RemarkDesc"
placeholder="请输入备注描述"
class="w600"
maxlength="500"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div style="margin-top: 20px"> <div style="margin-top: 20px">
<el-button size="small" type="primary" @click="Save('addMsg')">保存</el-button> <el-button size="small" type="primary" @click="Save('addMsg')"
>保存</el-button
>
</div> </div>
<!-- 选择文件 --> <!-- 选择文件 -->
<el-dialog title="选择文件" :visible.sync="isShowIamge" width="1240px"> <el-dialog title="选择文件" :visible.sync="isShowIamge" width="1240px">
...@@ -70,288 +138,288 @@ ...@@ -70,288 +138,288 @@
</div> </div>
</template> </template>
<script> <script>
import ChooseImg from "@/components/global/ChooseImg.vue"; import ChooseImg from "@/components/global/ChooseImg.vue";
import draggable from "vuedraggable"; import draggable from "vuedraggable";
export default { export default {
components: { components: {
ChooseImg, ChooseImg,
draggable draggable
},
data() {
return {
addMsg: {
Id: 0,
Name: "", //品牌名称
Logo: "", //Logo
IsHot: 0,
CategoryId: "", //品牌分类
MoreDesc: "", //更多描述
RemarkDesc: "", //备注描述
BrandImgList: [] //品牌介绍图
},
CategoryList: [], //品牌分类列表
isShowIamge: false,
chooseType: 0,
loading: false,
rules: {
Name: [{ required: true, message: "请输入品牌名称", trigger: "blur" }],
CategoryId: [
{ required: true, message: "请选择分类", trigger: "change" }
],
BrandImgList: [
{ required: true, message: "请选择图片", trigger: "change" }
]
}
};
},
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);
}
}, },
data() { initData() {
return { var qMsg = {
addMsg: { BrandId: this.addMsg.Id
Id: 0,
Name: "", //品牌名称
Logo: "", //Logo
IsHot: 0,
CategoryId: "", //品牌分类
MoreDesc: "", //更多描述
RemarkDesc: "", //备注描述
BrandImgList: [] //品牌介绍图
},
CategoryList: [], //品牌分类列表
isShowIamge: false,
chooseType: 0,
loading: false,
rules: {
Name: [{
required: true,
message: "请输入品牌名称",
trigger: "blur"
}],
}
}; };
this.apipost("/api/Assess/GetBrandInfo", qMsg, res => {
if (res.data.resultCode == 1) {
var tempData = res.data.data;
if (tempData) {
let {
Id,
Name,
Logo,
CategoryId,
IsHot,
MoreDesc,
RemarkDesc
} = tempData;
this.addMsg = {
Id,
Name,
Logo,
CategoryId,
IsHot,
MoreDesc,
RemarkDesc
};
if (tempData.BrandImgList && tempData.BrandImgList.length > 0) {
this.addMsg.BrandImgList = tempData.BrandImgList;
}
}
}
});
}, },
created() { SelectId(msg) {
this.getCategoryList(); let url = this.getIconLink(msg.url);
}, if (this.chooseType == 1) {
mounted() { this.addMsg.Logo = url;
if (this.$route.query.Id) {
this.addMsg.Id = this.$route.query.Id;
this.initData();
} }
if (this.chooseType == 2) {
this.addMsg.BrandImgList.push({
Sort: 1,
Name: "",
Path: url
});
}
this.isShowIamge = false;
},
//显示图片弹窗
openChangeDig(type) {
this.chooseType = type;
this.isShowIamge = true;
}, },
methods: { //获取品牌分类
//删除图片 getCategoryList() {
ClearCarouse(index) { this.apipost("/api/Assess/GetCategoryDropList", {}, res => {
if (this.addMsg.BrandImgList && this.addMsg.BrandImgList.length > 0) { if (res.data.resultCode == 1) {
this.addMsg.BrandImgList.splice(index, 1); this.CategoryList = res.data.data;
} }
}, });
initData() { },
var qMsg = { //保存品牌
BrandId: this.addMsg.Id Save(formName) {
}; this.$refs[formName].validate(valid => {
this.apipost("/api/Assess/GetBrandInfo", qMsg, res => { if (valid && this.addMsg.Logo && this.addMsg.BrandImgList[0]) {
if (res.data.resultCode == 1) { this.apipost("/api/Assess/SetBrandInfo", this.addMsg, res => {
var tempData = res.data.data; if (res.data.resultCode == 1) {
if (tempData) { this.CommonJump("hbrand");
let { this.Success(res.data.message);
Id, } else {
Name, this.Error(res.data.message);
Logo,
CategoryId,
IsHot,
MoreDesc,
RemarkDesc
} = tempData;
this.addMsg = {
Id,
Name,
Logo,
CategoryId,
IsHot,
MoreDesc,
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
}); });
} else {
return false;
} }
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;
} }
};
</script>
<style scope>
.app-add-cat .el-checkbox-group {
font-size: 14px !important;
}
.app-add-cat .el-checkbox { .app-add-cat .el-checkbox {
margin-right: 0; margin-right: 0;
} }
.app-add-cat .el-dialog__body { .app-add-cat .el-dialog__body {
padding: 10px 20px !important; padding: 10px 20px !important;
} }
.app-add-cat .tag-box .tag-item { .app-add-cat .tag-box .tag-item {
margin-right: 5px; margin-right: 5px;
} }
.app-add-cat .tag-box { .app-add-cat .tag-box {
margin: 20px 0; margin: 20px 0;
} }
.app-add-cat .app-goods-cat-list .active { .app-add-cat .app-goods-cat-list .active {
background: #fafafa; background: #fafafa;
} }
.app-add-cat .app-goods-cat-list .cat-item { .app-add-cat .app-goods-cat-list .cat-item {
cursor: pointer; cursor: pointer;
padding: 5px 10px; padding: 5px 10px;
} }
.app-add-cat .app-goods-cat-list { .app-add-cat .app-goods-cat-list {
border: 1px solid #e8eaee; border: 1px solid #e8eaee;
border-radius: 5px; border-radius: 5px;
margin-top: -5px; margin-top: -5px;
padding: 10px 0; padding: 10px 0;
overflow: scroll; overflow: scroll;
height: 400px; height: 400px;
} }
.h_edit_brand .blue { .h_edit_brand .blue {
color: #409eff; color: #409eff;
} }
.h_edit_brand .content { .h_edit_brand .content {
background: #fff; background: #fff;
margin-top: 10px; margin-top: 10px;
padding: 20px; padding: 20px;
box-sizing: border-box; box-sizing: border-box;
} }
.h_edit_brand .gez_list { .h_edit_brand .gez_list {
/*width: 650px;*/ /*width: 650px;*/
margin-bottom: 12px; margin-bottom: 12px;
padding: 20px; padding: 20px;
border: 1px solid #ebeef5; border: 1px solid #ebeef5;
background-color: #fff; background-color: #fff;
color: #303133; color: #303133;
} }
.h_edit_brand .quyu { .h_edit_brand .quyu {
background-color: #f4f4f5; background-color: #f4f4f5;
color: #909399; color: #909399;
padding: 10px; padding: 10px;
line-height: 30px; line-height: 30px;
height: 30px; height: 30px;
font-size: 12px; font-size: 12px;
border-radius: 4px; border-radius: 4px;
white-space: nowrap; white-space: nowrap;
margin: 5px; margin: 5px;
} }
.h_edit_brand .el-tag+.el-tag { .h_edit_brand .el-tag + .el-tag {
margin-left: 10px; margin-left: 10px;
} }
.h_edit_brand .button-new-tag { .h_edit_brand .button-new-tag {
margin-left: 10px; margin-left: 10px;
height: 32px; height: 32px;
line-height: 30px; line-height: 30px;
padding-top: 0; padding-top: 0;
padding-bottom: 0; padding-bottom: 0;
} }
.h_edit_brand .input-new-tag { .h_edit_brand .input-new-tag {
width: 90px; width: 90px;
margin-left: 10px; margin-left: 10px;
vertical-align: bottom; vertical-align: bottom;
} }
.h_edit_brand .ue-style .el-form-item__content { .h_edit_brand .ue-style .el-form-item__content {
line-height: 0; line-height: 0;
} }
.h_edit_brand .app-gallery-item { .h_edit_brand .app-gallery-item {
border: none; border: none;
} }
.h_edit_brand .nav_Main { .h_edit_brand .nav_Main {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: flex-start; justify-content: flex-start;
} }
.h_edit_brand .nav_IconContent { .h_edit_brand .nav_IconContent {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: flex-start; justify-content: flex-start;
} }
/* .h_edit_brand .nav_IconContent div>div { /* .h_edit_brand .nav_IconContent div>div {
display: inline-block; display: inline-block;
} */ } */
.h_edit_brand .colapp-image { .h_edit_brand .colapp-image {
background-size: cover; background-size: cover;
background-position: center center; background-position: center center;
width: 100px; width: 100px;
height: 100px; height: 100px;
border-radius: 0%; border-radius: 0%;
} }
.h_edit_brand .add-image-btn { .h_edit_brand .add-image-btn {
width: 100px; width: 100px;
height: 100px; height: 100px;
line-height: 100px; line-height: 100px;
color: #419efb; color: #419efb;
border: 1px solid #e2e2e2; border: 1px solid #e2e2e2;
cursor: pointer; cursor: pointer;
text-align: center; text-align: center;
} }
.h_edit_brand .delBtn { .h_edit_brand .delBtn {
position: absolute; position: absolute;
right: -8px; right: -8px;
top: -8px; top: -8px;
padding: 4px 4px !important; padding: 4px 4px !important;
} }
.h_edit_brand .w600 { .h_edit_brand .w600 {
width: 600px; width: 600px;
} }
.h_edit_brand .brandShuxing { .h_edit_brand .brandShuxing {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
width: 850px; width: 850px;
} }
.h_edit_brand .brandShuxing_item { .h_edit_brand .brandShuxing_item {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
width: 50%; width: 50%;
} }
</style> </style>
\ No newline at end of file
...@@ -6,34 +6,84 @@ ...@@ -6,34 +6,84 @@
<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
size="small" placeholder="请选择" clearable> style="margin:0 10px"
class="w200"
@change="(msg.pageIndex = 1), getList()"
v-model="msg.CategoryId"
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-input type="text" style="width:250px" size="small" maxlength="100" v-model="msg.BrandName" <el-input
@input="(msg.pageIndex = 1), getList()" clearable> type="text"
style="width:250px"
size="small"
maxlength="100"
v-model="msg.BrandName"
@input="(msg.pageIndex = 1), getList()"
clearable
>
</el-input> </el-input>
<span style="margin-left: 10px">咨询用户</span> <span style="margin-left: 10px">咨询用户</span>
<el-select size="small" v-model="msg.UserId" @change="(msg.pageIndex = 1), getList()" placeholder="请选择" <el-select
:filter-method="ChangeListName" filterable clearable> size="small"
v-model="msg.UserId"
@change="(msg.pageIndex = 1), getList()"
placeholder="请选择"
:filter-method="ChangeListName"
filterable
clearable
>
<el-option label="不限" :value="0"></el-option> <el-option label="不限" :value="0"></el-option>
<el-option v-for="item in userList" :key="item.Id" :label="item.Name" :value="item.Id"></el-option> <el-option
v-for="item in userList"
:key="item.Id"
:label="item.Name"
:value="item.Id"
></el-option>
</el-select> </el-select>
<span>是否回复</span> <span>是否回复</span>
<el-select style="margin:0 10px" @change="(msg.pageIndex = 1), getList()" v-model="msg.IsReply" size="small" <el-select
placeholder="请选择"> style="margin:0 10px"
@change="(msg.pageIndex = 1), getList()"
v-model="msg.IsReply"
size="small"
placeholder="请选择"
>
<el-option label="不限" :value="0"></el-option> <el-option label="不限" :value="0"></el-option>
<el-option v-for="item in ReplyList" :key="item.Id" :label="item.Name" :value="item.Id"> <el-option
v-for="item in ReplyList"
:key="item.Id"
:label="item.Name"
:value="item.Id"
>
</el-option> </el-option>
</el-select> </el-select>
<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> <el-table-column prop="Id" label="编号" width="150"> </el-table-column>
<el-table-column prop="UserName" label="用户昵称"></el-table-column> <el-table-column prop="UserName" label="用户昵称"></el-table-column>
<el-table-column prop="CategoryName" label="分类"></el-table-column> <el-table-column prop="CategoryName" label="分类"></el-table-column>
...@@ -57,24 +107,43 @@ ...@@ -57,24 +107,43 @@
<el-table-column prop="ReplyDate" label="回复时间"> </el-table-column> <el-table-column prop="ReplyDate" label="回复时间"> </el-table-column>
<el-table-column label="操作" width="250px"> <el-table-column label="操作" width="250px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tooltip v-if="scope.row.ReplyDate == ''" class="item" effect="dark" content="回复" placement="top"> <el-button
<img @click="showReplayForm(scope.row, 1)" class="app-order-icon" v-if="scope.row.ReplyDate == ''"
src="../../assets/img/userman/add_remark.png" alt="" /> size="mini"
</el-tooltip> type="info"
<el-tooltip class="item" effect="dark" content="查看" placement="top"> plain
<img @click="showReplayForm(scope.row, 2)" class="app-order-icon" @click="showReplayForm(scope.row, 1)"
src="../../assets/img/userman/detail.png" alt="" /> >
</el-tooltip> 回复
</el-button>
<el-button
size="mini"
type="info"
plain
@click="showReplayForm(scope.row, 2)"
>查看</el-button
>
</template> </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
:current-page.sync="msg.pageIndex" layout="prev, pager, next" :total="total"> 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> </el-pagination>
</div> </div>
<!-- 回复 --> <!-- 回复 -->
<el-dialog :title="editTitle" :visible.sync="isShowReplayForm" width="600px"> <el-dialog
<el-form label-width="150px" > :title="editTitle"
:visible.sync="isShowReplayForm"
width="600px"
>
<el-form label-width="150px" :rules="rules" :model="replayMsg">
<el-form-item label="咨询用户"> <el-form-item label="咨询用户">
{{ replayMsg.UserName }} {{ replayMsg.UserName }}
</el-form-item> </el-form-item>
...@@ -87,24 +156,40 @@ ...@@ -87,24 +156,40 @@
<el-form-item label="咨询品牌"> <el-form-item label="咨询品牌">
{{ replayMsg.BrandName }} {{ replayMsg.BrandName }}
</el-form-item> </el-form-item>
<el-form-item label="商品图片"> <el-form-item label="商品图片" style="height:100px;">
<div class="shopImg"> <div class="shopImg">
<div class="indexApp_image" v-for="(item, index) in replayMsg.GoodsImgList" :key="index"> <div
<div> class="indexApp_image"
<el-image style="width: 100px; height: 100px" v-if="item.Path" :src="item.Path" v-for="(item, index) in replayMsg.GoodsImgList"
:preview-src-list="srcList"></el-image> :key="index"
<br /> >
{{ item.Name }} <div class="img_Des">
<el-image
style="width: 100px; height: 100px"
v-if="item.Path"
:src="item.Path"
:preview-src-list="srcList"
></el-image>
<p>{{ item.Name }}</p>
</div> </div>
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="更多照片"> <el-form-item label="更多照片" class="more_img">
<div class="shopImg"> <div class="shopImg1">
<div class="indexApp_more-image" v-for="(item, index) in replayMsg.MoreImgList" :key="index"> <div
<div> class="indexApp_more-image"
<el-image style="width: 100px; height: 100px" v-if="item.Path" :src="item.Path"></el-image><br /> v-for="(item, index) in replayMsg.MoreImgList"
{{ item.Name }} :key="index"
>
<div class="img_Des">
<el-image
style="width: 100px; height: 100px"
v-if="item.Path"
:src="item.Path"
:preview-src-list="moreImg"
></el-image>
<p>{{ item.Name }}</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -114,8 +199,14 @@ ...@@ -114,8 +199,14 @@
</el-form-item> </el-form-item>
<el-form-item label="回复内容" prop="ReplyContent"> <el-form-item label="回复内容" prop="ReplyContent">
<template v-if="showType == 1"> <template v-if="showType == 1">
<el-input style="width:300px" size="small" maxlength="200" :rows="3" type="textarea" <el-input
v-model="replayMsg.ReplyContent"> style="width:250px"
size="small"
maxlength="200"
:rows="3"
type="textarea"
v-model="replayMsg.ReplyContent"
>
</el-input> </el-input>
</template> </template>
<template v-else> <template v-else>
...@@ -124,170 +215,201 @@ ...@@ -124,170 +215,201 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button size="small" @click="isShowReplayForm = false">取 消</el-button> <el-button size="small" @click="isShowReplayForm = false"
<el-button size="small" type="primary" @click="saveData()" v-if="showType == 1">确 定</el-button> >取 消</el-button
>
<el-button
size="small"
type="primary"
@click="saveData()"
v-if="showType == 1"
>确 定</el-button
>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
loading: false, loading: false,
tableData: [], tableData: [],
total: 0, total: 0,
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 15, pageSize: 15,
BrandName: "", BrandName: "",
CategoryId: "", CategoryId: "",
BrandId: "", BrandId: "",
UserId: "", UserId: "",
IsReply: "" IsReply: ""
}, },
//回复状态 //回复状态
ReplyList: [{ ReplyList: [
Id: 1, {
Name: "已回复" Id: 1,
}, Name: "已回复"
{
Id: 2,
Name: "未回复"
}
],
editTitle: "回复",
//回复信息
replayMsg: {
GoodsId: 0,
GoodsImgList: [],
MoreImgList: [],
ReplyContent: "", //回复内容
Remark: "", //备注信息
CategoryName: "", //分类名称
BrandName: "", //品牌名称
UserName: "", //咨询用户
CreateDate: "" //咨询时间
},
isShowCategoryForm: false,
isShowChooseImage: false,
CategoryList: [], //分类列表
isShowReplayForm: false, //是否显示回复弹窗
showType: 1, //回复类型(1-回复,2-查看)
userList: [], //用户列表
//用户查询
userMsg: {
pageIndex: 1,
pageSize: 50,
Name: "",
Source: 0,
MemberGrade: 0,
Id: 0,
Moblie: ""
}, },
{
Id: 2,
Name: "未回复"
}
],
editTitle: "回复",
//回复信息
replayMsg: {
GoodsId: 0,
GoodsImgList: [],
MoreImgList: [],
ReplyContent: "", //回复内容
Remark: "", //备注信息
CategoryName: "", //分类名称
BrandName: "", //品牌名称
UserName: "", //咨询用户
CreateDate: "" //咨询时间
},
isShowCategoryForm: false,
isShowChooseImage: false,
CategoryList: [], //分类列表
isShowReplayForm: false, //是否显示回复弹窗
showType: 1, //回复类型(1-回复,2-查看)
userList: [], //用户列表
//用户查询
userMsg: {
pageIndex: 1,
pageSize: 50,
Name: "",
Source: 0,
MemberGrade: 0,
Id: 0,
Moblie: ""
},
//放大商品图片 //放大商品图片数组
srcList: [] srcList: [],
}; moreImg: [],
},
created() { //输入框验证
this.getCategoryList(); rules: {
ReplyContent: [
{ required: true, message: "请输入回复内容", trigger: "blur" }
]
}
};
},
created() {
this.getCategoryList();
this.getuserList();
},
mounted() {
this.getList();
},
methods: {
//搜索用户
ChangeListName(val) {
this.userMsg.Name = val;
this.getuserList(); this.getuserList();
}, },
mounted() { //获取用户列表
getuserList() {
this.apipost("/api/user/GetMemberUserDropDownList", this.userMsg, res => {
if (res.data.resultCode == 1) {
let pageData = res.data.data.pageData;
this.userList = pageData;
}
});
},
showReplayForm(item, showType) {
this.replayMsg.GoodsId = item.Id;
this.replayMsg.GoodsImgList = item.GoodsImgList;
this.replayMsg.MoreImgList = item.MoreImgList;
this.replayMsg.Remark = item.Remark;
this.replayMsg.CategoryName = item.CategoryName;
this.replayMsg.BrandName = item.BrandName;
this.replayMsg.UserName = item.UserName;
this.replayMsg.CreateDate = item.CreateDate;
this.showType = showType;
this.srcList = item.GoodsImgList.map(v => v.Path);
this.moreImg = item.MoreImgList.map(v => v.Path);
if (this.showType == 2) {
this.replayMsg.ReplyContent = item.ReplyContent;
}
this.isShowReplayForm = true;
},
//获取分类列表
getCategoryList() {
this.apipost("/api/Assess/GetCategoryDropList", {}, res => {
if (res.data.resultCode == 1) {
this.CategoryList = res.data.data;
} else {
this.Error(res.data.message);
}
});
},
//获取数据
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(); this.getList();
}, },
methods: { //设置咨询回复
//搜索用户 saveData() {
ChangeListName(val) { this.assetsApipost("/api/Assess/SetGoodsReply", this.replayMsg, res => {
this.userMsg.Name = val; if (res.data.resultCode == 1) {
this.getuserList(); this.isShowReplayForm = false;
}, this.Success(res.data.message);
//获取用户列表 this.getList();
getuserList() { } else {
this.apipost("/api/user/GetMemberUserDropDownList", this.userMsg, res => { this.Error(res.data.message);
if (res.data.resultCode == 1) {
let pageData = res.data.data.pageData;
this.userList = pageData;
}
});
},
showReplayForm(item, showType) {
this.replayMsg.GoodsId = item.Id;
this.replayMsg.GoodsImgList = item.GoodsImgList;
this.replayMsg.MoreImgList = item.MoreImgList;
this.replayMsg.Remark = item.Remark;
this.replayMsg.CategoryName = item.CategoryName;
this.replayMsg.BrandName = item.BrandName;
this.replayMsg.UserName = item.UserName;
this.replayMsg.CreateDate = item.CreateDate;
this.showType = showType;
this.srcList = item.GoodsImgList.map(v => v.Path);
if (this.showType == 2) {
this.replayMsg.ReplyContent = item.ReplyContent;
} }
this.isShowReplayForm = true; });
},
//获取分类列表
getCategoryList() {
this.apipost("/api/Assess/GetCategoryDropList", {}, res => {
if (res.data.resultCode == 1) {
this.CategoryList = res.data.data;
} else {
this.Error(res.data.message);
}
});
},
//获取数据
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/SetGoodsReply", this.replayMsg, res => {
if (res.data.resultCode == 1) {
this.isShowReplayForm = false;
this.Success(res.data.message);
this.getList();
} else {
this.Error(res.data.message);
}
});
}
} }
};
</script>
<style>
.performanceStatics .content {
background: #fff;
margin-top: 10px;
padding: 20px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.shopImg {
display: flex;
flex-wrap: wrap;
margin-bottom: 20px;
} }
};
.shopImg>div { </script>
width: 33%; <style scope>
} .performanceStatics .content {
</style> background: #fff;
\ No newline at end of file margin-top: 10px;
padding: 20px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.shopImg {
display: flex;
flex-wrap: wrap;
}
.shopImg > div {
width: 33%;
}
.shopImg1 {
display: flex;
flex-wrap: wrap;
}
.shopImg1 > div {
width: 33%;
}
.img_Des {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.more_img{
margin-top: 40px;
}
</style>
...@@ -2,28 +2,62 @@ ...@@ -2,28 +2,62 @@
<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
@click="CommonJump('hbrandedit')">新增</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
size="small" placeholder="请选择" clearable> style="margin:0 10px"
class="w200"
@change="(msg.pageIndex = 1), getList()"
v-model="msg.CategoryId"
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-input type="text" style="width:250px" size="small" maxlength="100" v-model="msg.Name" clearable <el-input
@input="msg.pageIndex=1,getList()"> type="text"
style="width:250px"
size="small"
maxlength="100"
v-model="msg.Name"
clearable
@input="(msg.pageIndex = 1), getList()"
>
</el-input> </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
<el-table-column prop="Id" label="编号" width="100"> :data="tableData"
v-loading="loading"
border
style="width: 100%"
>
<el-table-column prop="Id" label="编号" width="100"> </el-table-column>
<el-table-column prop="CategoryName" label="所属分类" width="100">
</el-table-column> </el-table-column>
<el-table-column prop="Name" label="品牌名称" width="200"> <el-table-column prop="Name" label="品牌名称" width="200">
</el-table-column> </el-table-column>
...@@ -34,118 +68,145 @@ ...@@ -34,118 +68,145 @@
</el-table-column> </el-table-column>
<el-table-column label="是否热门" width="100px"> <el-table-column label="是否热门" width="100px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.IsHot==1" effect="dark"> <el-tag v-if="scope.row.IsHot == 1" effect="dark">
热门 热门
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="RemarkDesc" label="上传描述"> <el-table-column prop="RemarkDesc" label="上传描述"> </el-table-column>
</el-table-column> <el-table-column prop="MoreDesc" label="备注描述"> </el-table-column>
<el-table-column prop="MoreDesc" label="备注描述"> <el-table-column label="操作" width="150px">
</el-table-column>
<el-table-column label="操作" width="250px">
<template slot-scope="scope"> <template slot-scope="scope">
<img @click="showBrandForm(scope.row)" src="../../assets/img/userman/edit.png" alt="" /> <el-tooltip
<img @click="RemmoveBrand(scope.row)" style="margin-left:10px;" src="../../assets/img/userman/del.png" class="item"
alt="" /> effect="dark"
content="编辑"
placement="top"
>
<img
class="edit-img"
src="../../assets/img/userman/edit.png"
@click="showBrandForm(scope.row)"
/>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="删除"
placement="top"
>
<img
src="../../assets/img/userman/del.png"
@click="RemmoveBrand(scope.row)"
/>
</el-tooltip>
</template> </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
:current-page.sync="msg.pageIndex" layout="prev, pager, next" :total="total"> 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> </el-pagination>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
loading: false, loading: false,
tableData: [], tableData: [],
total: 0, total: 0,
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 15, pageSize: 15,
CategoryId: 0, //分类编号 CategoryId: 0, //分类编号
Name: '', //品牌名称 Name: "" //品牌名称
}, },
CategoryList: [], //分类列表 CategoryList: [], //分类列表
dateList: [], //日期 dateList: [] //日期
} };
}, },
created() { created() {
this.getCategoryList() this.getCategoryList();
},
mounted() {
this.getList();
},
methods: {
//获取分类列表
getCategoryList() {
this.apipost("/api/Assess/GetCategoryDropList", {}, res => {
if (res.data.resultCode == 1) {
this.CategoryList = res.data.data;
} else {
this.Error(res.data.message);
}
});
}, },
mounted() { refreshPage() {},
this.getList(); //新增修改品牌
showBrandForm(item) {
this.CommonJump("hbrandedit", {
Id: item.Id
});
}, },
methods: { //删除品牌
//获取分类列表 RemmoveBrand(item) {
getCategoryList() { let that = this;
this.apipost("/api/Assess/GetCategoryDropList", {}, res => { that.Confirm("是否删除此品牌?", function() {
if (res.data.resultCode == 1) { that.apipost(
this.CategoryList = res.data.data; "/api/Assess/DelBrandInfo",
} else { {
this.Error(res.data.message); BrandId: item.Id
} },
}) res => {
}, if (res.data.resultCode == 1) {
refreshPage() { that.Success(res.data.message);
that.getList();
}, } else {
//新增修改品牌 that.Error(res.data.message);
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() {
this.loading = true;
this.assetsApipost("/api/Assess/GetBrandPageList", 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(); getList() {
}, this.loading = true;
this.assetsApipost("/api/Assess/GetBrandPageList", 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();
} }
};
</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 </script>
<style scope>
.performanceStatics .content {
background: #fff;
margin-top: 10px;
padding: 20px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.edit-img {
margin-right: 10px;
}
</style>
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