<template> <div class="enter pagex"> <div class="enter-con"> <el-form :inline="true" :model="formInline" class="demo-form-inline"> <el-form-item label="状态"> <el-select v-model="formInline.status" placeholder="全部"> <el-option label="全部" value=""></el-option> <el-option label="待处理" value="1"></el-option> <el-option label="处理中" value="2"></el-option> <el-option label="已处理" value="3"></el-option> <el-option label="其他失败" value="4"></el-option> </el-select> </el-form-item> <el-form-item label="更新日期"> <el-date-picker v-model="formInline.date" value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker> </el-form-item> <el-form-item> <div @click="submit" class="search-btn">搜索</div> </el-form-item> </el-form> <div class="btn-nav clr"> <el-upload class="upload-demo fl" :action="uploadUrl" :on-change="handleChange" multiple> <div class="fl dcg">导入</div> </el-upload> <div class="fl dcg long" @click="checkdr">查看导入结果</div> <div class="fl dcg" @click="downwj">下载模版</div> <div class="fl dcg delbtn" @click="del">删除</div> </div> <div class="data-box th-all" v-if="tableData"> <el-table :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange"> <el-table-column fixed type="selection" width="37"> </el-table-column> <el-table-column label="单号" min-width="20%"> <template slot-scope="scope"> <a :href="'/#/listDetail?sn='+scope.row.up_sn+'&id='+scope.row.id" class="f-blue">{{scope.row.up_sn}}</a> </template> </el-table-column> <el-table-column prop="file_name" label="文件名字" min-width="20%"> </el-table-column> <el-table-column prop="status" label="状态" min-width="20%"> <template slot-scope="scope"> <span v-if="scope.row.status==1" class="f-green">待处理</span> <span v-else-if="scope.row.status==2" class="f-yellow1">处理中</span> <span v-else-if="scope.row.status==3">已处理</span> <span v-else-if="scope.row.status==4" class="f-red1">其他失败</span> </template> </el-table-column> <el-table-column prop="latest_notice" label="最新上传状态" min-width="20%"> </el-table-column> <el-table-column prop="create_time" label="上传时间" min-width="20%"> </el-table-column> </el-table> <el-pagination layout="prev, pager, next,jumper" :page-size="limit" :total="total" @current-change="handleCurrentChange" :current-page="page"> </el-pagination> </div> </div> <Menu /> </div> </template> <script> import Vue from 'vue'; import Menu from "@/components/menu.vue"; import Tool from '../../tool' import { NODE_ENVS } from "../../ajax"; import { Form, FormItem, Select, Option, Input, DatePicker, Button, Dropdown, DropdownMenu, DropdownItem, Table, TableColumn, Message, MessageBox, Dialog, Upload, Pagination } from 'element-ui' Vue.use(Button).use(Form).use(Select).use(Option).use(Input).use(FormItem).use(Dialog).use(Pagination) Vue.use(DatePicker).use(Dropdown).use(DropdownMenu).use(DropdownItem).use(TableColumn).use(Table).use(Upload) export default { name: "enter", data() { return { total: 0, limit: 10, page: 1, uploadUrl: NODE_ENVS + '/api/uploadSku/import', formInline: { status: '', date: '' }, tableData: "", multipleSelection: [] }; }, watch: {}, created() { this.getData(); }, computed: {}, methods: { getData() { this.$http('get', "/api/uploadSku/list", { page: this.page, limit: this.limit, status: this.formInline.status, action_time: this.formInline.date[0], end_time: this.formInline.date[1] }).then(res => { if (res.err_code === 0) { this.tableData = res.data.list || []; this.total = Number(res.data.total) || 0; } else { Message(res.err_msg); } }) }, submit() { this.page = 1; this.getData(); }, handleChange(file, fileList) { console.log(file.response); if (!file.response) { return } if (file.response.err_code === 0) { Message("导入成功") this.page = 1; this.getData(); } else { Message(res.err_msg); } }, checkdr() { if (this.multipleSelection.length > 1) { Message("只能选择一条数据导入") return } if (this.multipleSelection.length == 0) { Message("请至少选择一条数据导入") return } window.location.href = NODE_ENVS + '/api/uploadSku/downResult?id=' + this.multipleSelection[0]['id'] }, downwj() { this.$http('get', "/api/uploadSku/downUploadCsv", {}).then(res => { }) }, del() { if (this.multipleSelection.length == 0) { Message("请至少选择一条数据") return } var arr = []; for (var i = 0; i < this.multipleSelection.length; i++) { arr.push(this.multipleSelection[i]['id']) } MessageBox.confirm('确认到删除当前勾选数据吗?', { type: 'error' }) .then(() => { this.$http('get', "/api/uploadSku/del", { log_ids: arr.join(",") }).then(res => { if (res.err_code === 0) { Message("删除成功"); this.getData() } else { Message(res.err_msg); } }) }) }, handleCurrentChange(val) { this.page = val; this.getData(); }, handleSelectionChange(val) { this.multipleSelection = val || []; console.log(this.multipleSelection) } }, components: { Menu } }; </script> <style scoped> @import "../../assets/css/store/enter.min.css"; </style>