|
@@ -0,0 +1,131 @@
|
|
|
+<template>
|
|
|
+ <div class="container">
|
|
|
+ <el-form
|
|
|
+ :inline="false"
|
|
|
+ label-width="110px"
|
|
|
+ :model="formInline"
|
|
|
+ class="form-inline"
|
|
|
+ :rules="rules"
|
|
|
+ ref="ruleForm"
|
|
|
+ >
|
|
|
+ <el-form-item label="券类型" prop="category">
|
|
|
+ <el-select v-model="formInline.category" placeholder="券类型">
|
|
|
+ <el-option label="立减券" value="reduction"></el-option>
|
|
|
+ <el-option label="折扣券" value="discount"></el-option>
|
|
|
+ <el-option label="免单券" value="vip"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="券名称" prop="title">
|
|
|
+ <el-input v-model="formInline.title" placeholder="券名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="立减金额"
|
|
|
+ prop="num"
|
|
|
+ v-if="formInline.category == 'reduction'"
|
|
|
+ >
|
|
|
+ <el-input v-model="formInline.num" placeholder="立减金额"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="折扣"
|
|
|
+ prop="num"
|
|
|
+ v-if="formInline.category == 'discount'"
|
|
|
+ >
|
|
|
+ <el-input v-model="formInline.num" placeholder="折扣"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="发券上限" prop="limit">
|
|
|
+ <el-input v-model="formInline.limit" placeholder="发券上限"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="有效日期截止" prop="duedate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="formInline.duedate"
|
|
|
+ type="date"
|
|
|
+ placeholder="有效日期截止"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="二维码文件名" prop="pngname">
|
|
|
+ <el-input
|
|
|
+ v-model="formInline.pngname"
|
|
|
+ placeholder="二维码文件名"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="onSubmit" :loading="loading"
|
|
|
+ >创 建</el-button
|
|
|
+ >
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import { qrcodeGenerate, qrcodeDownload } from "@/api/order";
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ formInline: {
|
|
|
+ category: "",
|
|
|
+ title: "",
|
|
|
+ num: "",
|
|
|
+ limit: "",
|
|
|
+ duedate: "",
|
|
|
+ pngname: ""
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ category: [{ required: true, message: " ", trigger: "change" }],
|
|
|
+ title: [{ required: true, message: " ", trigger: "blur" }],
|
|
|
+ num: [{ required: true, message: " ", trigger: "blur" }],
|
|
|
+ limit: [{ required: true, message: " ", trigger: "blur" }],
|
|
|
+ duedate: [{ required: true, message: " ", trigger: "change" }],
|
|
|
+ pngname: [{ required: true, message: " ", trigger: "blur" }]
|
|
|
+ },
|
|
|
+ loading: false
|
|
|
+ };
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ onSubmit() {
|
|
|
+ this.$refs["ruleForm"].validate(async valid => {
|
|
|
+ if (valid) {
|
|
|
+ this.loading = true;
|
|
|
+ let res = await qrcodeGenerate(this.formInline);
|
|
|
+ // qrcodeDownload()
|
|
|
+ if (res.status === "success") {
|
|
|
+ let result = await qrcodeDownload({ scene: res.message });
|
|
|
+ console.log(result);
|
|
|
+ let blob = new Blob([result], {
|
|
|
+ type: "png",
|
|
|
+ application: "image/png"
|
|
|
+ });
|
|
|
+ let link = document.createElement("a");
|
|
|
+ link.href = window.URL.createObjectURL(blob);
|
|
|
+ link.download = `${res.message}.png`;
|
|
|
+ link.click();
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.message);
|
|
|
+ }
|
|
|
+ this.loading = false;
|
|
|
+ } else {
|
|
|
+ console.log("error submit!!");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ // console.log("submit!");
|
|
|
+
|
|
|
+ // "category":"reduction","title":"测试立减券","num":15,"limit":3,"duedate":"2021-08-16","pngname":"fortest"
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style>
|
|
|
+.container {
|
|
|
+ padding: 40px;
|
|
|
+}
|
|
|
+.form-inline {
|
|
|
+ width: 600px;
|
|
|
+}
|
|
|
+</style>
|