336 行
13 KiB
HTML
可执行文件
336 行
13 KiB
HTML
可执行文件
<!--[1.6.48]-->
|
|
<style>
|
|
.content-table {
|
|
width: 100%;
|
|
border-bottom: 1px solid #e5e5e5;
|
|
color: #409EFF;
|
|
font-weight: bold;
|
|
font-size: 15px;
|
|
margin-bottom: 10px;
|
|
}
|
|
.demo-table-expand label {
|
|
width: 90px;
|
|
color: #99a9bf;
|
|
}
|
|
.demo-table-expand .el-form-item {
|
|
margin-right: 0;
|
|
margin-bottom: 0;
|
|
width: 100%;
|
|
}
|
|
.input-width{
|
|
width: 220px;
|
|
}
|
|
</style>
|
|
<div id="host" v-cloak style="width: 100%">
|
|
<el-form :model="switch_form" :inline="true" size="small">
|
|
<el-form-item>
|
|
<el-button type="primary" @click="getGoodsList">新增</el-button>
|
|
</el-form-item>
|
|
<el-form-item label="是否开启推荐商品">
|
|
<el-switch
|
|
v-model="switch_form.recommend_status"
|
|
active-value="1"
|
|
inactive-value="0"
|
|
:active-text="switch_form.recommend_status == 0 ? '关闭' : '开启' "
|
|
@change="setRecommendStatus">
|
|
</el-switch>
|
|
</el-form-item>
|
|
</el-form>
|
|
<div style="width:100%;" v-loading="loading" element-loading-text="数据加载中,请等待" element-loading-spinner="el-icon-loading">
|
|
<el-table :data="recommend_goods" :highlight-current-row="true" border size="mini" max-height="calc(100vh - 280px)">
|
|
<el-table-column align="center" type="index" label="序号" width="60"></el-table-column>
|
|
<el-table-column align="center" prop="goods_name" label="商品名称" :show-overflow-tooltip="true"></el-table-column>
|
|
<el-table-column align="center" prop="goods_number" label="商品货号"></el-table-column>
|
|
<el-table-column align="center" prop="goods_code" label="商品条码"></el-table-column>
|
|
<el-table-column align="center" prop="online_price" label="商城价"></el-table-column>
|
|
<el-table-column align="center" prop="addtime" label="添加时间"></el-table-column>
|
|
<el-table-column align="center" prop="goods_type" label="商品状态"></el-table-column>
|
|
<el-table-column align="center" prop="sort" label="排序" width="60"></el-table-column>
|
|
<el-table-column align="center" label="操作" width="80">
|
|
<template slot-scope="scope">
|
|
<el-button type="text" size="mini" @click="deleteRecommendGoods(scope.row.id)">移除</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<el-pagination
|
|
@current-change="pageChange"
|
|
@size-change="limitChange"
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
:current-page.sync="page"
|
|
:pager-count="5"
|
|
:page-sizes="[10,20,30,40,50,60,70,80,90]"
|
|
:page-size="limit"
|
|
:total="total">
|
|
</el-pagination>
|
|
</div>
|
|
<el-dialog :modal-append-to-body="false" :visible.sync="show_goods">
|
|
<div class="content-table">商城商品档案</div>
|
|
<el-form :model="seek_data" :inline="true" size="small">
|
|
<el-form-item>
|
|
<el-input v-model="seek_data.goods_name" placeholder="商品名称" clearable></el-input>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-input v-model="seek_data.keyword" placeholder="货号/条码" clearable></el-input>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" @click="getGoodsList">搜索</el-button>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" @click="reset">重置</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
<div style="padding-bottom: 5px;">
|
|
<el-button type="primary" size="small" @click="batchAdd">批量添加</el-button>
|
|
</div>
|
|
<div v-loading="loading2" element-loading-text="数据加载中,请等待" element-loading-spinner="el-icon-loading">
|
|
<el-table :data="goods_list" :highlight-current-row="true" border size="small" max-height="450" @selection-change="choseGoods">
|
|
<el-table-column align="center" type="selection" width="60"></el-table-column>
|
|
<el-table-column align="center" type="index" label="序号" width="60"></el-table-column>
|
|
<el-table-column align="center" prop="goods_name" label="商品名称" :show-overflow-tooltip="true"></el-table-column>
|
|
<el-table-column align="center" prop="good_number" label="商品货号"></el-table-column>
|
|
<el-table-column align="center" prop="goods_code" label="商品条码"></el-table-column>
|
|
<el-table-column align="center" prop="online_price" label="商城价"></el-table-column>
|
|
<el-table-column align="center" label="排序">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.sort" size="small" onkeyup="value=value.replace(/[^\d]/g,'')"></el-input>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<el-pagination
|
|
@current-change="gPageChange"
|
|
@size-change="gLimitChange"
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
:current-page.sync="g_page"
|
|
:pager-count="5"
|
|
:page-sizes="[10,20,30,40,50,60,70,80,90]"
|
|
:page-size="g_limit"
|
|
:total="g_total">
|
|
</el-pagination>
|
|
</div>
|
|
</el-dialog>
|
|
</div>
|
|
<script>
|
|
var app = new Vue({
|
|
el: '#host',
|
|
data: function () {
|
|
return {
|
|
switch_form:{
|
|
recommend_status:0, // 推荐商品状态
|
|
},
|
|
recommend_goods:[], // 推荐商品
|
|
page:1, // 分页
|
|
limit:10, // 每页显示条数
|
|
total:0, // 总数 int类型
|
|
show_goods:false, // 商品列表显示
|
|
seek_data: {
|
|
goods_name: '', // 商品名称
|
|
keyword: '', // 货号、条码
|
|
},
|
|
goods_list:[], // 商品列表
|
|
g_page:1, // 分页
|
|
g_limit:10, // 每页显示条数
|
|
g_total:0, // 总数 int类型
|
|
loading:false, // 加载
|
|
loading2:false,
|
|
chose_goods:[], // 选择的商品
|
|
};
|
|
},
|
|
|
|
methods:{
|
|
// 获取门店推荐商品状态
|
|
getRecommendStatus(){
|
|
var that = this;
|
|
$.ajax({
|
|
url:"{:U('getRecommendStatus')}",
|
|
type:"post",
|
|
success:function (res) {
|
|
if(res.status == 1){
|
|
that.switch_form.recommend_status = res.recommend_status;
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
// 设置门店推荐商品状态
|
|
setRecommendStatus(){
|
|
var that = this;
|
|
$.ajax({
|
|
url:"{:U('setRecommendStatus')}",
|
|
type:"post",
|
|
data:{recommend_status:that.switch_form.recommend_status},
|
|
success:function (res) {
|
|
if(res.status == 1){
|
|
that.$message({
|
|
message:res.msg,
|
|
type:'success',
|
|
})
|
|
}else{
|
|
that.$message({
|
|
message:res.msg,
|
|
type:'error',
|
|
})
|
|
that.getRecommendStatus()
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
// 获取推荐商品
|
|
getRecommendGoods(){
|
|
var that = this;
|
|
that.loading = true;
|
|
$.ajax({
|
|
url:"{:U('getRecommendGoods')}",
|
|
type:"post",
|
|
data:{page:that.page,limit:that.limit},
|
|
success:function (res) {
|
|
that.loading = false;
|
|
if(res.status == 1){
|
|
that.recommend_goods = res.recommend_goods;
|
|
that.total = res.total;
|
|
}else{
|
|
that.recommend_goods = [];
|
|
that.total = 0;
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
// 分页
|
|
pageChange(val){
|
|
this.page = val;
|
|
this.getRecommendGoods();
|
|
},
|
|
|
|
// 显示数量
|
|
limitChange(val){
|
|
this.limit = val;
|
|
this.page = 1;
|
|
this.getRecommendGoods();
|
|
},
|
|
|
|
// 移除推荐商品
|
|
deleteRecommendGoods(id){
|
|
var that = this;
|
|
this.$confirm('确定移除该商品吗?', '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
$.ajax({
|
|
url:"{:U('deleteRecommendGoods')}",
|
|
type:"post",
|
|
data:{id:id},
|
|
success:function (res) {
|
|
if(res.status == 1){
|
|
that.$message({
|
|
message:res.msg,
|
|
type:"success",
|
|
})
|
|
that.getRecommendGoods();
|
|
}else{
|
|
that.$message({
|
|
message:res.msg,
|
|
type:"error",
|
|
})
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
|
|
// 获取门店商城出售商品
|
|
getGoodsList(){
|
|
var that = this;
|
|
that.loading2 = true;
|
|
$.ajax({
|
|
url:"{:U('getGoodsList')}",
|
|
type:"post",
|
|
data:{seek_data:that.seek_data,page:that.g_page,limit:that.g_limit},
|
|
success:function (res) {
|
|
that.loading2 = false;
|
|
if(res.status == 1){
|
|
that.show_goods = true;
|
|
that.goods_list = res.goods_list;
|
|
that.g_total = res.total;
|
|
}else{
|
|
that.$message({
|
|
message:res.msg,
|
|
type:'error',
|
|
})
|
|
return false;
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
// 重置搜索
|
|
reset(){
|
|
var seek_data = {
|
|
goods_name: '',
|
|
keyword: '',
|
|
}
|
|
this.seek_data = seek_data;
|
|
this.getGoodsList();
|
|
},
|
|
|
|
// 分页2
|
|
gPageChange(val){
|
|
this.g_page = val;
|
|
this.getGoodsList();
|
|
},
|
|
|
|
// 显示数量2
|
|
gLimitChange(val){
|
|
this.g_limit = val;
|
|
this.g_page = 1;
|
|
this.getGoodsList();
|
|
},
|
|
|
|
// 选择商品
|
|
choseGoods(val){
|
|
this.chose_goods = val;
|
|
},
|
|
|
|
// 批量添加
|
|
batchAdd(){
|
|
var that = this;
|
|
if(that.chose_goods.length <= 0){
|
|
that.$message({
|
|
message:'提示:请勾选需要添加的商品',
|
|
type:'warning'
|
|
})
|
|
return false;
|
|
}
|
|
that.loading2 = true;
|
|
$.ajax({
|
|
url:"{:U('batchAdd')}",
|
|
type:"post",
|
|
data:{chose_goods:that.chose_goods},
|
|
success: function (res) {
|
|
that.loading2 = false;
|
|
if (res.status == 1) {
|
|
that.$message({
|
|
message:res.msg,
|
|
type:'success'
|
|
})
|
|
that.show_goods = false;
|
|
that.getRecommendGoods();
|
|
}else{
|
|
that.$message({
|
|
message:res.msg,
|
|
type:'error'
|
|
})
|
|
that.getGoodsList();
|
|
}
|
|
}
|
|
})
|
|
}
|
|
},
|
|
|
|
created: function () {
|
|
this.getRecommendStatus();
|
|
this.getRecommendGoods();
|
|
},
|
|
})
|
|
</script> |