197 行
8.1 KiB
HTML
可执行文件
197 行
8.1 KiB
HTML
可执行文件
<!--[1.8.74]-->
|
|
<div id="salableApp" v-cloak>
|
|
<!-- 搜索 -->
|
|
<el-form inline style="margin-bottom: 10px;" size="small">
|
|
<el-form-item>
|
|
<el-input v-model="keyword" clearable placeholder="名称/货号/条码"
|
|
class="page-input"></el-input>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<select-goods-category :user-type="2"
|
|
:store-id="store_id"
|
|
:category-id1.sync="person1"
|
|
:category-id2.sync="person2"
|
|
:category-id3.sync="person3"></select-goods-category>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-select v-model="sort_type" placeholder="排序方式" clearable>
|
|
<el-option value="1" label="按销量正序排序"></el-option>
|
|
<el-option value="2" label="按销量倒序排序"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-date-picker
|
|
v-model="start_time"
|
|
type="datetime"
|
|
placeholder="开始时间"
|
|
:clearable="false"
|
|
value-format="yyyy-MM-dd HH:mm:ss">
|
|
</el-date-picker>
|
|
<el-date-picker
|
|
v-model="end_time"
|
|
type="datetime"
|
|
:clearable="false"
|
|
placeholder="结束时间"
|
|
value-format="yyyy-MM-dd HH:mm:ss">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" @click="search" size="small">查询</el-button>
|
|
<if condition="$authArr['Bestexport'] eq true">
|
|
<el-button v-if="storeAuth.data_export==1" @click="orderExport()">导出</el-button>
|
|
</if>
|
|
</el-form-item>
|
|
</el-form>
|
|
<!-- 列表 -->
|
|
<div style="max-width: calc(100vw - 10px);">
|
|
<el-table border :data="bestGoodsList" style="width: calc(100vw - 10px);"
|
|
size="mini" :header-cell-style="{background:'#F5F7FA',color:'#606266'}"
|
|
max-height="500"
|
|
v-loading="loading"
|
|
element-loading-text="数据获取中"
|
|
element-loading-spinner="el-icon-loading">
|
|
<el-table-column align="center" type="index" label="序号" width="50"></el-table-column>
|
|
<el-table-column prop="goods_name" label="商品名称" show-overflow-tooltip></el-table-column>
|
|
<el-table-column prop="goods_number" label="货号" show-overflow-tooltip></el-table-column>
|
|
<el-table-column prop="goods_code" label="条码" show-overflow-tooltip></el-table-column>
|
|
<el-table-column prop="class_name" label="类目" show-overflow-tooltip></el-table-column>
|
|
<el-table-column prop="sell_num" label="销量" show-overflow-tooltip>
|
|
<template slot-scope="scope" slot="header">
|
|
<el-popover
|
|
placement="bottom"
|
|
title="详解"
|
|
width="100"
|
|
trigger="hover"
|
|
content="默认一个月">
|
|
<span slot="reference" size="mini">总销量<i class="el-icon-question"></i></span>
|
|
</el-popover>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<el-pagination
|
|
@size-change="handleSizeChange"
|
|
@current-change="handleCurrentChange"
|
|
:current-page="currentPage"
|
|
:page-sizes="[10, 15, 20, 25, 30, 35, 40, 45, 50]"
|
|
:page-size="100"
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
:total="currentLen">
|
|
</el-pagination>
|
|
</div>
|
|
</div>
|
|
<script src="/Public/Retail/common/js/select-goods-category.js"></script>
|
|
<script type="text/javascript">
|
|
var salableApp = new Vue({
|
|
el: '#salableApp',
|
|
data() {
|
|
return {
|
|
store_id: localStorage.store_id,
|
|
merchant_id: localStorage.merchant_id,
|
|
sort_type: '',
|
|
loading: true,
|
|
keyword: '',
|
|
start_time: '',
|
|
end_time: '',
|
|
person1: '',
|
|
person2: '',
|
|
person3: '',
|
|
bestGoodsList: [],
|
|
currentPage: 1,
|
|
currentLimit: 10,
|
|
currentLen: 0,
|
|
}
|
|
},
|
|
methods: {
|
|
//导出
|
|
orderExport(page = 1, type = 1, directory_name = '') {
|
|
this.loading = true;
|
|
this.loadingText = '文件生成中,请耐心等待';
|
|
if (type == 1) {
|
|
$.ajax({
|
|
url: "{:U('salableInfoExcel')}",
|
|
type: 'POST',
|
|
data: {
|
|
seek_data: {
|
|
sort_type: this.sort_type,
|
|
keyword: this.keyword,
|
|
start_time: this.start_time,
|
|
end_time: this.end_time,
|
|
person1: this.person1,
|
|
person2: this.person2,
|
|
person3: this.person3,
|
|
},
|
|
},
|
|
success: (res) => {
|
|
if (res.status == 1) {
|
|
this.orderExport(++page, res.type, res.directory_name);
|
|
} else {
|
|
this.loading = false;
|
|
this.$confirm(res.msg, '提示', {
|
|
confirmButtonText: '确定',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
|
|
}).catch(() => {
|
|
});
|
|
}
|
|
},
|
|
error: (res) => {
|
|
this.loading = false;
|
|
}
|
|
});
|
|
} else {
|
|
this.loading = false;
|
|
window.open(`{:U('salableInfoExcel')}?directory_name=${directory_name}`);
|
|
}
|
|
},
|
|
//搜索
|
|
search() {
|
|
this.getBestList();
|
|
},
|
|
handleSizeChange(val) {
|
|
this.currentLimit = val;//切换每页数量
|
|
this.currentPage = 1;
|
|
this.getBestList();
|
|
},
|
|
handleCurrentChange(val) {
|
|
this.currentPage = val;
|
|
this.getBestList();//切换页数
|
|
},
|
|
getBestList() {
|
|
$.ajax({
|
|
url: "{:U('bestGoodsList')}",
|
|
type: "post",
|
|
data: {
|
|
seek_data: {
|
|
sort_type: this.sort_type,
|
|
keyword: this.keyword,
|
|
start_time: this.start_time,
|
|
end_time: this.end_time,
|
|
person1: this.person1,
|
|
person2: this.person2,
|
|
person3: this.person3,
|
|
},
|
|
page: this.currentPage,
|
|
limit: this.currentLimit
|
|
},
|
|
success: (res) => {
|
|
this.loading = false;
|
|
if(res.status==1){
|
|
this.bestGoodsList = res.sell_sum;
|
|
this.$nextTick(() => {
|
|
this.currentLen = parseInt(res.total);
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
},
|
|
created() {
|
|
let time = this.getThisMonthTime()
|
|
this.start_time = time[0]
|
|
this.end_time = time[1]
|
|
this.getBestList();
|
|
|
|
}
|
|
})
|
|
</script> |