Files
cashier-web/src/views/tool/table/components/downloadTableCode.vue

70 lines
1.7 KiB
Vue

<template>
<el-dialog title="下载桌码" width="400px" v-model="dialogVisible" @open="reset">
<el-form ref="form" :model="form" label-position="left">
<el-form-item label="下载数量">
<el-input-number v-model="form.number" :min="1" :max="500"></el-input-number>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" :loading="loading" @click="onSubmitHandle"> </el-button>
</span>
</template>
</el-dialog>
</template>
<script>
import { downloadFile } from "@/utils/index";
import TableApi from "@/api/account/table";
import { ElMessage } from "element-plus";
export default {
props: {
total: {
type: [Number, String],
default: 1,
},
},
data() {
return {
dialogVisible: false,
loading: false,
form: {
number: 1,
},
resetForm: "",
};
},
mounted() {
this.resetForm = { ...this.form };
},
methods: {
async onSubmitHandle() {
try {
this.loading = true;
const file = await TableApi.downloadTableCode(this.form.number);
console.log(file);
this.loading = false;
this.dialogVisible = false;
ElMessage.success("下载成功");
downloadFile(file, "桌码", "zip");
} catch (error) {
this.loading = false;
console.log(error);
}
},
show(obj) {
this.dialogVisible = true;
// if (obj && obj.id) {
// this.form = JSON.parse(JSON.stringify(obj))
// }
},
close() {
this.dialogVisible = false;
},
reset() {
this.form = { ...this.resetForm };
},
},
};
</script>