Commit 55770094 authored by 罗超's avatar 罗超

添加文本框输入验证,按钮样式修改,图片放大预览

parent 6d87ee26
......@@ -5,337 +5,423 @@
/ 编辑品牌管理
</div>
<div class="content">
<el-form :model="addMsg" ref="addMsg" label-width="150px" style="width: 70%">
<el-form
:rules="rules"
: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-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
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
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">
<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="
<div
style="
position: relative;
margin-right: 20px;
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><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-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
@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-form-item label="热门推荐" size="small" prop="hotRec">
<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 label="更多描述" size="small" prop="MoreDesc">
<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 label="备注描述" size="small" prop="RemarkDesc">
<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>
<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 ChooseImg from "@/components/global/ChooseImg.vue";
import draggable from "vuedraggable";
export default {
components: {
ChooseImg,
draggable,
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,
rules: {
Name: [{ required: true, message: "请输入品牌名称", trigger: "blur" }],
hotRec: [{ required: true, message: "请选择", trigger: "blur" }],
MoreDesc: [
{ required: true, message: "请输入更多描述", trigger: "blur" }
],
RemarkDesc: [
{ required: true, message: "请输入备注描述", trigger: "blur" }
]
}
};
},
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() {
return {
addMsg: {
Id: 0,
Name: "", //品牌名称
Logo: "", //Logo
IsHot: 0,
CategoryId: "", //品牌分类
MoreDesc: "", //更多描述
RemarkDesc: "", //备注描述
BrandImgList: [], //品牌介绍图
},
CategoryList: [], //品牌分类列表
isShowIamge: false,
chooseType: 0,
loading: false,
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) {
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() {
this.getCategoryList()
},
mounted() {
if (this.$route.query.Id) {
this.addMsg.Id = this.$route.query.Id;
this.initData();
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;
},
methods: {
//删除图片
ClearCarouse(index) {
if (this.addMsg.BrandImgList && this.addMsg.BrandImgList.length > 0) {
this.addMsg.BrandImgList.splice(index, 1);
//获取品牌分类
getCategoryList() {
this.apipost("/api/Assess/GetCategoryDropList", {}, res => {
if (res.data.resultCode == 1) {
this.CategoryList = res.data.data;
}
},
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;
}
});
},
//保存品牌
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);
}
}
});
},
SelectId(msg) {
let url = this.getIconLink(msg.url)
if (this.chooseType == 1) {
this.addMsg.Logo = url;
});
} else {
return false;
}
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-group {
font-size: 14px !important;
}
.app-add-cat .el-checkbox {
margin-right: 0;
}
.app-add-cat .el-checkbox {
margin-right: 0;
}
.app-add-cat .el-dialog__body {
padding: 10px 20px !important;
}
.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 .tag-item {
margin-right: 5px;
}
.app-add-cat .tag-box {
margin: 20px 0;
}
.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 .active {
background: #fafafa;
}
.app-add-cat .app-goods-cat-list .cat-item {
cursor: pointer;
padding: 5px 10px;
}
.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;
}
.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 .blue {
color: #409eff;
}
.h_edit_brand .content {
background: #fff;
margin-top: 10px;
padding: 20px;
box-sizing: border-box;
}
.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 .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 .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 .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 .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 .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 .ue-style .el-form-item__content {
line-height: 0;
}
.h_edit_brand .app-gallery-item {
border: none;
}
.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_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 {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
/* .h_edit_brand .nav_IconContent div>div {
/* .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 .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 .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 .delBtn {
position: absolute;
right: -8px;
top: -8px;
padding: 4px 4px !important;
}
.h_edit_brand .w600 {
width: 600px;
}
.h_edit_brand .w600 {
width: 600px;
}
.h_edit_brand .brandShuxing {
display: flex;
justify-content: space-between;
width: 850px;
}
.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
.h_edit_brand .brandShuxing_item {
display: flex;
justify-content: space-between;
width: 50%;
}
</style>
......@@ -2,48 +2,96 @@
<div class="performanceStatics">
<div class="head-title">
估价列表
</div>
<div class="content">
<div style="margin-bottom:20px">
<span>分类</span>
<el-select style="margin:0 10px" class="w200" @change="msg.pageIndex=1,getList()" v-model="msg.CategoryId"
size="small" placeholder="请选择" clearable>
<el-select
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 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-select>
<span>分类名称</span>
<el-input type="text" style="width:250px" size="small" maxlength="100" v-model="msg.BrandName"
@input="msg.pageIndex=1,getList()" clearable>
<el-input
type="text"
style="width:250px"
size="small"
maxlength="100"
v-model="msg.BrandName"
@input="(msg.pageIndex = 1), getList()"
clearable
>
</el-input>
<span style="margin-left: 10px">咨询用户</span>
<el-select size="small" v-model="msg.UserId" @change="(msg.pageIndex = 1), getList()" placeholder="请选择"
:filter-method="ChangeListName" filterable clearable>
<el-select
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 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>
<span>是否回复</span>
<el-select style="margin:0 10px" @change="msg.pageIndex=1,getList()" v-model="msg.IsReply" size="small"
placeholder="请选择">
<el-select
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 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-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>
</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
:data="tableData"
v-loading="loading"
border
style="width: 100%"
>
<el-table-column prop="Id" label="编号" width="150"> </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="BrandName" label="品牌名称"></el-table-column>
<el-table-column prop="CreateDate" label="创建时间"></el-table-column>
<el-table-column label="是否回复">
<template slot-scope="scope">
<el-tag v-if="scope.row.ReplyDate==''" effect="dark">
<el-tag v-if="scope.row.ReplyDate == ''" effect="dark">
未回复
</el-tag>
<el-tag v-else effect="dark">
......@@ -53,219 +101,292 @@
</el-table-column>
<el-table-column label="回复内容">
<template slot-scope="scope">
{{scope.row.ReplyContent}}
{{ scope.row.ReplyContent }}
</template>
</el-table-column>
<el-table-column prop="ReplyDate" label="回复时间">
</el-table-column>
<el-table-column prop="ReplyDate" label="回复时间"> </el-table-column>
<el-table-column label="操作" width="250px">
<template slot-scope="scope">
<el-button v-if="scope.row.ReplyDate==''" size="mini" type="info" plain
@click="showReplayForm(scope.row,1)"> 回复 </el-button>
<el-button size="mini" type="info" plain @click="showReplayForm(scope.row,2)">查看</el-button>
<el-button
v-if="scope.row.ReplyDate == ''"
size="mini"
type="info"
plain
@click="showReplayForm(scope.row, 1)"
>
回复
</el-button>
<el-button
size="mini"
type="info"
plain
@click="showReplayForm(scope.row, 2)"
>查看</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
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="isShowReplayForm" width="600px">
<el-form label-width="150px">
<el-dialog
:title="editTitle"
:visible.sync="isShowReplayForm"
width="600px"
>
<el-form label-width="150px" :rules="rules">
<el-form-item label="咨询用户">
{{replayMsg.UserName}}
{{ replayMsg.UserName }}
</el-form-item>
<el-form-item label="咨询时间">
{{replayMsg.CreateDate}}
{{ replayMsg.CreateDate }}
</el-form-item>
<el-form-item label="咨询分类">
{{replayMsg.CategoryName}}
{{ replayMsg.CategoryName }}
</el-form-item>
<el-form-item label="咨询品牌">
{{replayMsg.BrandName}}
{{ replayMsg.BrandName }}
</el-form-item>
<el-form-item label="商品图片">
<div class="indexApp_image" v-for="(item,index) in replayMsg.GoodsImgList" :key="index">
<img v-if="item.Path" :src="item.Path" alt="" style="width:100px;height:100px;" /><br />
{{item.Name}}
<div class="shopImg">
<div
class="indexApp_image"
v-for="(item, index) in replayMsg.GoodsImgList"
:key="index"
>
<div>
<el-image
style="width: 100px; height: 100px"
v-if="item.Path"
:src="item.Path"
:preview-src-list="srcList"
></el-image>
<br />
{{ item.Name }}
</div>
</div>
</div>
</el-form-item>
<el-form-item label="更多照片">
<div class="indexApp_image" v-for="(item,index) in replayMsg.MoreImgList" :key="index">
<img v-if="item.Path" :src="item.Path" alt="" style="width:100px;height:100px;" /><br />
{{item.Name}}
<div class="shopImg">
<div
class="indexApp_more-image"
v-for="(item, index) in replayMsg.MoreImgList"
:key="index"
>
<div>
<el-image
style="width: 100px; height: 100px"
v-if="item.Path"
:src="item.Path"
></el-image
><br />
{{ item.Name }}
</div>
</div>
</div>
</el-form-item>
<el-form-item label="备注信息">
{{ replayMsg.Remark}}
{{ replayMsg.Remark }}
</el-form-item>
<el-form-item label="回复内容">
<template v-if="showType==1">
<el-input style="width:250px" size="small" maxlength="200" v-model="replayMsg.ReplyContent">
<el-form-item label="回复内容" prop="ReplyContent">
<template v-if="showType == 1">
<el-input
style="width:250px"
size="small"
maxlength="200"
:rows="3"
type="textarea"
v-model="replayMsg.ReplyContent"
>
</el-input>
</template>
<template v-else>
{{replayMsg.ReplyContent}}
{{ replayMsg.ReplyContent }}
</template>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="isShowReplayForm = false">取 消</el-button>
<el-button size="small" type="primary" @click="saveData()" v-if="showType==1">确 定</el-button>
<el-button size="small" @click="isShowReplayForm = false"
>取 消</el-button
>
<el-button
size="small"
type="primary"
@click="saveData()"
v-if="showType == 1"
>确 定</el-button
>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
loading: false,
tableData: [],
total: 0,
msg: {
pageIndex: 1,
pageSize: 15,
BrandName: "",
CategoryId: "",
BrandId: "",
UserId: "",
IsReply: "",
},
//回复状态
ReplyList: [{
Id: 1,
Name: "已回复"
},
{
Id: 2,
Name: "未回复"
},
],
editTitle: "回复",
//回复信息
replayMsg: {
GoodsId: 0,
GoodsImgList: [],
MoreImgList: [],
ReplyContent: "", //回复内容
Remark: "", //备注信息
CategoryName: "", //分类名称
BrandName: "", //品牌名称
UserName: "", //咨询用户
CreateDate: "", //咨询时间
export default {
data() {
return {
loading: false,
tableData: [],
total: 0,
msg: {
pageIndex: 1,
pageSize: 15,
BrandName: "",
CategoryId: "",
BrandId: "",
UserId: "",
IsReply: ""
},
//回复状态
ReplyList: [
{
Id: 1,
Name: "已回复"
},
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: []
};
},
created() {
this.getCategoryList();
this.getuserList();
},
mounted() {
this.getList();
},
methods: {
//搜索用户
ChangeListName(val) {
this.userMsg.Name = val;
this.getuserList();
},
//获取用户列表
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);
if (this.showType == 2) {
this.replayMsg.ReplyContent = item.ReplyContent;
}
this.isShowReplayForm = true;
},
created() {
this.getCategoryList();
this.getuserList();
//获取分类列表
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);
}
});
},
mounted() {
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
methods: {
//搜索用户
ChangeListName(val) {
this.userMsg.Name = val;
this.getuserList();
},
//获取用户列表
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;
if (this.showType == 2) {
this.replayMsg.ReplyContent = item.ReplyContent;
//设置咨询回复
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);
}
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;
}
</style>
\ No newline at end of file
.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 {
width: 33%;
}
</style>
......@@ -45,8 +45,8 @@
</el-table-column>
<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>
<el-button class="el-icon-s-tools" size="mini" type="info" plain @click="showBrandForm(scope.row)"></el-button>
<el-button class="el-icon-delete-solid" size="mini" type="info" plain @click="RemmoveBrand(scope.row)"></el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -2,200 +2,285 @@
<div class="performanceStatics">
<div class="head-title">
分类管理
<el-button style="float:right;margin-top: -5px;" type="primary" class="el-button--small"
@click="showCategoryForm(null)">新增</el-button>
<el-button
style="float:right;margin-top: -5px;"
type="primary"
class="el-button--small"
@click="showCategoryForm(null)"
>新增</el-button
>
</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" @input="msg.pageIndex=1,getList()" clearable>
<el-input
type="text"
style="width:250px"
size="small"
maxlength="100"
v-model="msg.Name"
@input="(msg.pageIndex = 1), getList()"
clearable
>
</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>
</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
: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="" />
<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?"启用":"禁用"}}
{{ scope.row.Enable == 1 ? "启用" : "禁用" }}
</template>
</el-table-column>
<el-table-column prop="Sort" label="排序">
</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>
<el-button
class="el-icon-s-tools"
size="mini"
type="info"
plain
@click="showCategoryForm(scope.row)"
></el-button>
<el-button
class="el-icon-delete-solid"
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
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-dialog
:title="editTitle"
:visible.sync="isShowCategoryForm"
width="500px"
>
<el-form :model="postMsg" :rules="rules" label-width="150px">
<el-form-item label="分类名称" prop="Name">
<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">
<el-form-item label="Logo" prop="file">
<div>
<el-button @click="openChangeDig()" size="small">选择文件</el-button>
<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;" />
<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-form-item label="启用状态" prop="Enable">
<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-form-item label="排序" prop="Sort">
<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>
<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">
<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,
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,
rules: {
Name: [
{ required: true, message: "请输入名称", trigger: "blur" }
],
Sort: [
{ required: true, message: "请输入排序", trigger: "blur" }
],
Enable: [
{ required: true, message: "请选择状态", trigger: "change" }
]
}
};
},
created() {},
mounted() {
this.getList();
},
methods: {
openChangeDig() {
this.isShowChooseImage = true;
},
SelectId(msg) {
let url = this.getIconLink(msg.url);
this.postMsg.Image = url;
this.isShowChooseImage = false;
},
created() {},
mounted() {
//获取数据
getList() {
this.isShowCategoryForm = false;
this.loading = true;
this.assetsApipost("/api/Assess/GetCategoryPageList", 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();
},
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/GetCategoryPageList", 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();
},
//显示表单
showCategoryForm(item) {
if (item) {
this.editTitle = "修改分类";
this.postMsg.Id = item.Id;
this.postMsg.Name = item.Name;
this.postMsg.Image = item.Image;
this.postMsg.Enable = item.Enable;
this.postMsg.Sort = item.Sort;
//显示表单
showCategoryForm(item) {
if (item) {
this.editTitle = "修改分类";
this.postMsg.Id = item.Id;
this.postMsg.Name = item.Name;
this.postMsg.Image = item.Image;
this.postMsg.Enable = item.Enable;
this.postMsg.Sort = item.Sort;
} else {
this.editTitle = "新增分类";
this.postMsg.Id = 0;
this.postMsg.Name = "";
this.postMsg.Image = "";
this.postMsg.Enable = 1;
this.postMsg.Sort = 0;
}
this.isShowCategoryForm = true;
},
//新增修改分类
saveData() {
this.assetsApipost("/api/Assess/SetCategoryInfo", this.postMsg, res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.getList();
} else {
this.editTitle = "新增分类";
this.postMsg.Id = 0;
this.postMsg.Name = "";
this.postMsg.Image = "";
this.postMsg.Enable = 1;
this.postMsg.Sort = 0;
this.Error(res.data.message);
}
this.isShowCategoryForm = true;
},
//新增修改分类
saveData() {
this.assetsApipost("/api/Assess/SetCategoryInfo", 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);
}
}
})
},
//删除分类
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
.performanceStatics .content {
background: #fff;
margin-top: 10px;
padding: 20px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
</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