|
@@ -1,11 +1,5 @@
|
|
|
<template>
|
|
|
- <div v-if="pageStatus == 0">配置加载中...</div>
|
|
|
- <div v-else-if="pageStatus == 1">此页面不对此账号开放</div>
|
|
|
- <div v-else-if="pageStatus == 2">
|
|
|
- 没有此页内容的配置权限,请检查集团上的配置
|
|
|
- </div>
|
|
|
- <div v-else-if="pageStatus == 3">加载发生错误</div>
|
|
|
- <div v-else-if="pageStatus == 4" class="app-container">
|
|
|
+ <div>
|
|
|
<div>
|
|
|
<el-form
|
|
|
:model="queryForm"
|
|
@@ -143,23 +137,6 @@
|
|
|
{{ scope.row.issueType == "3" ? "支付成功后的领取位" : "" }}
|
|
|
</template>
|
|
|
</af-table-column>
|
|
|
- <!-- <af-table-column label="操作" align="left">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{
|
|
|
- scope.row.issueType == "1" || scope.row.issueType == "3"
|
|
|
- ? "-------"
|
|
|
- : ""
|
|
|
- }}
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-download"
|
|
|
- @click="handleExport(scope.row)"
|
|
|
- v-if="scope.row.issueType == '2'"
|
|
|
- >导出二维码、网址</el-button
|
|
|
- >
|
|
|
- </template>
|
|
|
- </af-table-column> -->
|
|
|
<af-table-column label="发放门槛" align="left">
|
|
|
<template slot-scope="scope">
|
|
|
{{
|
|
@@ -221,7 +198,6 @@
|
|
|
/>
|
|
|
</div>
|
|
|
|
|
|
- <!-- 添加或修改油站设备管理对话框 -->
|
|
|
<el-dialog
|
|
|
:title="title"
|
|
|
:visible.sync="open"
|
|
@@ -314,120 +290,24 @@
|
|
|
@pagination="queryCouponUserListByPage"
|
|
|
/>
|
|
|
</el-dialog>
|
|
|
-
|
|
|
- <el-dialog
|
|
|
- :visible.sync="exportQrDialog"
|
|
|
- width="600px"
|
|
|
- append-to-body
|
|
|
- title="导出标签"
|
|
|
- >
|
|
|
- <div>
|
|
|
- <qr
|
|
|
- :text="currentExport.text"
|
|
|
- @downloadImg="downloadImg"
|
|
|
- :name="currentExport.name + '活动二维码'"
|
|
|
- >
|
|
|
- <div>{{ currentExport.name }} 活动二维码<b></b></div>
|
|
|
- </qr>
|
|
|
- <!--
|
|
|
- <div
|
|
|
- style="text-align: center; margin-top: 15px"
|
|
|
- v-clipboard:copy="currentExport.text"
|
|
|
- v-clipboard:error="onCopyError"
|
|
|
- v-clipboard:success="onCopySuccess"
|
|
|
- >
|
|
|
- 👇点击复制网址👇
|
|
|
- </div>
|
|
|
- -->
|
|
|
- <div
|
|
|
- style="text-align: center; margin-top: 15px"
|
|
|
- v-clipboard:copy="currentExport.text"
|
|
|
- v-clipboard:error="onCopyError"
|
|
|
- v-clipboard:success="onCopySuccess"
|
|
|
- >
|
|
|
- 活动网址:{{ currentExport.text }}
|
|
|
- </div>
|
|
|
- <div
|
|
|
- style="text-align: center"
|
|
|
- v-clipboard:copy="currentExport.text"
|
|
|
- v-clipboard:error="onCopyError"
|
|
|
- v-clipboard:success="onCopySuccess"
|
|
|
- >
|
|
|
- 👆点击复制网址👆
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {
|
|
|
- listManage,
|
|
|
- getManage,
|
|
|
- delManage,
|
|
|
- addManage,
|
|
|
- updateManage,
|
|
|
- exportManage,
|
|
|
- changeManageStatus,
|
|
|
-} from "@/api/station/manage";
|
|
|
-import { listPrice } from "@/api/station/price";
|
|
|
|
|
|
-import Vue from "vue";
|
|
|
-import VueClipboard from "vue-clipboard2";
|
|
|
|
|
|
-import Qr from "@/components/QrCode";
|
|
|
-import Base64 from "@/utils/base64";
|
|
|
-
|
|
|
-Vue.use(VueClipboard);
|
|
|
|
|
|
import {
|
|
|
- addInfo,
|
|
|
listInfo,
|
|
|
- updateInfo,
|
|
|
- changeCouponStatus,
|
|
|
- addIssue,
|
|
|
listIssue,
|
|
|
- upIssueStatus,
|
|
|
queryCouponUserList,
|
|
|
} from "@/api/coupon";
|
|
|
-import SelectDay from "@/components/SelectDay";
|
|
|
-import settings from "@/settings";
|
|
|
|
|
|
export default {
|
|
|
name: "Coupon_CreateIssue",
|
|
|
data() {
|
|
|
- let validateGunNo = (rule, value, callback) => {
|
|
|
- callback();
|
|
|
- };
|
|
|
- let validateAvailableControl = (rule, value, callback) => {
|
|
|
- if (
|
|
|
- this.createForm.availableControl == 1 ||
|
|
|
- this.createForm.availableControl == 2
|
|
|
- ) {
|
|
|
- if (this.createForm.cycleDaysList.length == 0) {
|
|
|
- callback(new Error("请选择时间"));
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- if (this.createForm.availableControl == 3) {
|
|
|
- if (this.createForm.appointedDaysList.length == 0) {
|
|
|
- callback(new Error("请选择日期"));
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- callback();
|
|
|
- };
|
|
|
- let validateCouponIssueRelationList = (rule, value, callback) => {
|
|
|
- if (this.createForm.couponIssueRelationList.length == 0) {
|
|
|
- callback(new Error("请选择优惠券"));
|
|
|
- }
|
|
|
- callback();
|
|
|
- };
|
|
|
return {
|
|
|
dateRangeCreatedDate: [],
|
|
|
- couponEnabledFlag: "1",
|
|
|
- exportQrDialog: false,
|
|
|
- pageStatus: 4,
|
|
|
createForm: {
|
|
|
issueRemark: "",
|
|
|
issueName: "",
|
|
@@ -441,25 +321,8 @@ export default {
|
|
|
giveLimit: 9,
|
|
|
giveCount: 999999,
|
|
|
},
|
|
|
- currentExport: {
|
|
|
- text: "error",
|
|
|
- type: "你好",
|
|
|
- name: "二维码",
|
|
|
- },
|
|
|
couponList: [],
|
|
|
- oilNameList: [],
|
|
|
- allVerificationList: [],
|
|
|
- equipmentList: [],
|
|
|
- // 油枪复选
|
|
|
- allGunList: [],
|
|
|
- // 已选的油枪
|
|
|
- checkedGunList: [],
|
|
|
- //设备状态
|
|
|
- deviceStatusOptions: [],
|
|
|
- //设备类型
|
|
|
- deviceTypeOptions: [],
|
|
|
- stationOptions: [],
|
|
|
- // 弹出层标题
|
|
|
+
|
|
|
title: "",
|
|
|
// 是否显示弹出层
|
|
|
open: false,
|
|
@@ -467,12 +330,6 @@ export default {
|
|
|
total: 100,
|
|
|
// 优惠券总条数
|
|
|
userTotal: 100,
|
|
|
- leftQuery: {},
|
|
|
- rightQuery: {},
|
|
|
- leftData: [],
|
|
|
- rightData: [],
|
|
|
- moveRightData: [],
|
|
|
- moveLeftData: [],
|
|
|
// 优惠券的信息
|
|
|
couponUserList: [],
|
|
|
// 查询参数
|
|
@@ -494,27 +351,6 @@ export default {
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
},
|
|
|
- // 表单校验
|
|
|
- rules: {
|
|
|
- availableControl: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: "请选择有效期内时间控制",
|
|
|
- trigger: "change",
|
|
|
- },
|
|
|
- { validator: validateAvailableControl, trigger: "change" },
|
|
|
- ],
|
|
|
- couponIssueRelationList: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: "请选择优惠券",
|
|
|
- trigger: "change",
|
|
|
- },
|
|
|
- { validator: validateCouponIssueRelationList, trigger: "change" },
|
|
|
- ],
|
|
|
- },
|
|
|
- day: [],
|
|
|
- cycle: [],
|
|
|
issueList: [],
|
|
|
timeSelect: [
|
|
|
,
|
|
@@ -555,98 +391,10 @@ export default {
|
|
|
],
|
|
|
};
|
|
|
},
|
|
|
- components: {
|
|
|
- SelectDay: SelectDay,
|
|
|
- Qr: Qr,
|
|
|
- VueClipboard: VueClipboard,
|
|
|
- },
|
|
|
created() {
|
|
|
- console.log("哈哈");
|
|
|
- console.log("settings", settings);
|
|
|
- // this.init();
|
|
|
- this.getCoupon();
|
|
|
- // this.setPageStatus();
|
|
|
- this.getIssueList();
|
|
|
-
|
|
|
- },
|
|
|
- computed: {
|
|
|
- toggleable() {
|
|
|
- if (this.moveRightData.length === 0 && this.moveLeftData.length === 0) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
- },
|
|
|
- selectedCouponList() {
|
|
|
- return this.couponList.filter((ele) => {
|
|
|
- if (this.createForm.couponIssueRelationList == null) {
|
|
|
- this.createForm.couponIssueRelationList = [];
|
|
|
- }
|
|
|
- return this.createForm.couponIssueRelationList.includes(ele.id);
|
|
|
- });
|
|
|
- },
|
|
|
- unselectedCouponList() {
|
|
|
- return this.couponList.filter((ele) => {
|
|
|
- if (this.createForm.couponIssueRelationList == null) {
|
|
|
- this.createForm.couponIssueRelationList = [];
|
|
|
- }
|
|
|
- return !!!this.createForm.couponIssueRelationList.includes(ele.id);
|
|
|
- });
|
|
|
- },
|
|
|
- getTodayDateString() {
|
|
|
- const date = new Date();
|
|
|
- let y = date.getFullYear();
|
|
|
- let m = date.getMonth().toString();
|
|
|
- let s = date.getDate().toString();
|
|
|
- m = "" + (m.length == 1 ? "0" : "") + m;
|
|
|
- s = "" + (s.length == 1 ? "0" : "") + s;
|
|
|
- console.log("" + h + ":" + m + ":" + s);
|
|
|
- return "" + y + ":" + m + ":" + s;
|
|
|
- },
|
|
|
+ this.init();
|
|
|
},
|
|
|
methods: {
|
|
|
- couponIsUsedFotmat(row, column) {
|
|
|
- if (row.couponIsUsed === "0") {
|
|
|
- return "未使用";
|
|
|
- } else if (row.couponIsUsed === "1") {
|
|
|
- return "已使用";
|
|
|
- }
|
|
|
- },
|
|
|
- couponIsEffectiveFotmat(row, column) {
|
|
|
- if (row.couponIsEffective === "0") {
|
|
|
- return "无效";
|
|
|
- } else if (row.couponIsEffective === "1") {
|
|
|
- return "有效";
|
|
|
- }
|
|
|
- },
|
|
|
- onCopySuccess() {
|
|
|
- this.msgSuccess("网址已经拷贝到剪切板");
|
|
|
- },
|
|
|
- onCopyError() {
|
|
|
- this.msgError("网址拷贝失败,请手动复制");
|
|
|
- },
|
|
|
- // exportUrl(url){
|
|
|
- // this.currentExport.name = emp.personnelName;
|
|
|
- // this.currentExport.type = 1;
|
|
|
-
|
|
|
- // const encodeStr = "e" + emp.personnelId + "/l" + this.currentExport.labelId + "/";
|
|
|
- // const encodedStr = this.base.encode(encodeStr);
|
|
|
- // const trimEqualStr = encodedStr.replace(/={1,}$/g, "");
|
|
|
- // this.currentExport.text = "https://goto.huijy.net/" + this.deptId + "/" + trimEqualStr;
|
|
|
- // this.exportQrDialog = true;
|
|
|
- // },
|
|
|
- handleExport(row) {
|
|
|
- this.currentExport.name = row.issueName;
|
|
|
- const base64 = Base64.getInstance();
|
|
|
- const encodeStr = "i" + row.id;
|
|
|
- const encodedStr = base64.encode(encodeStr);
|
|
|
- const trimEqualStr = encodedStr.replace(/={1,}$/g, "");
|
|
|
- this.exportQrDialog = true;
|
|
|
- this.currentExport.text =
|
|
|
- settings.baseURL + this.deptId + "/" + trimEqualStr;
|
|
|
- },
|
|
|
- downloadImg() {
|
|
|
- console.log('');
|
|
|
- },
|
|
|
translateTime(row) {
|
|
|
let timeString = "";
|
|
|
const availableControleType = row.availableControl;
|
|
@@ -714,126 +462,9 @@ export default {
|
|
|
this.msgError("亲,拉取优惠券列表失败~");
|
|
|
});
|
|
|
},
|
|
|
- availableControlChange() {
|
|
|
- this.createForm.appointedDaysList = [];
|
|
|
- this.createForm.cycleDaysList = [];
|
|
|
- this.createForm = { ...this.createForm };
|
|
|
- },
|
|
|
- handleMoveLabel(direction, row) {
|
|
|
- console.log(row);
|
|
|
- if (this.createForm.couponIssueRelationList == null) {
|
|
|
- this.createForm.couponIssueRelationList = [];
|
|
|
- }
|
|
|
-
|
|
|
- if (direction == "right") {
|
|
|
- this.createForm.couponIssueRelationList.push(row.id);
|
|
|
- } else {
|
|
|
- this.createForm.couponIssueRelationList =
|
|
|
- this.createForm.couponIssueRelationList.filter((ele) => {
|
|
|
- return ele != row.id;
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
- handleFlagChange() {
|
|
|
- const that = this;
|
|
|
- let text = this.couponEnabledFlag === "1" ? "启用" : "停用";
|
|
|
- this.$confirm('确认要"' + text + '"优惠券功能吗?', "警告", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- })
|
|
|
- .then(function () {
|
|
|
- return changeCouponStatus({
|
|
|
- deptId: that.deptId,
|
|
|
- couponEnabledFlag: that.couponEnabledFlag,
|
|
|
- });
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- that.msgSuccess(text + "成功");
|
|
|
- })
|
|
|
- .catch(function () {
|
|
|
- that.couponEnabledFlag = that.couponEnabledFlag === "0" ? "1" : "0";
|
|
|
- });
|
|
|
- },
|
|
|
- handleStatusChange(row) {
|
|
|
- let text = row.status === "1" ? "启用" : "停用";
|
|
|
- this.$confirm(
|
|
|
- '确认要"' + text + '""' + row.issueName + '"发放方式吗?',
|
|
|
- "警告",
|
|
|
- {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- }
|
|
|
- )
|
|
|
- .then(function () {
|
|
|
- return upIssueStatus({
|
|
|
- id: row.id,
|
|
|
- status: row.status,
|
|
|
- });
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- this.msgSuccess(text + "成功");
|
|
|
- })
|
|
|
- .catch(function () {
|
|
|
- row.status = row.status === "0" ? "1" : "0";
|
|
|
- });
|
|
|
- },
|
|
|
- toggleLabel() {
|
|
|
- if (this.moveLeftData.length !== 0) {
|
|
|
- this.createForm.couponIssueRelationList =
|
|
|
- this.createForm.couponIssueRelationList.filter((ele) => {
|
|
|
- return ele != this.moveLeftData;
|
|
|
- });
|
|
|
- this.createForm = { ...this.createForm };
|
|
|
- return;
|
|
|
- }
|
|
|
- if (this.moveRightData.length !== 0) {
|
|
|
- this.createForm.couponIssueRelationList = [
|
|
|
- ...new Set(
|
|
|
- this.createForm.couponIssueRelationList.concat(this.moveRightData)
|
|
|
- ),
|
|
|
- ].filter((ele) => {
|
|
|
- return !!ele;
|
|
|
- });
|
|
|
- this.createForm = { ...this.createForm };
|
|
|
- return;
|
|
|
- }
|
|
|
- return;
|
|
|
- },
|
|
|
- handleLeftChange(val) {
|
|
|
- let changeArr = [];
|
|
|
- val.map((ele) => {
|
|
|
- changeArr.push(ele.id);
|
|
|
- });
|
|
|
- console.log(changeArr);
|
|
|
- this.moveLeftData = [];
|
|
|
- this.moveRightData = changeArr;
|
|
|
- // console.log(this.moveRightData);
|
|
|
- this.$refs.rightTable.clearSelection();
|
|
|
- },
|
|
|
- handleRightChange(val) {
|
|
|
- let changeArr = [];
|
|
|
- val.map((ele) => {
|
|
|
- changeArr.push(ele.id);
|
|
|
- });
|
|
|
- this.moveLeftData = changeArr;
|
|
|
- this.moveRightData = [];
|
|
|
- this.$refs.leftTable.clearSelection();
|
|
|
- },
|
|
|
init() {
|
|
|
- this.getOilList();
|
|
|
this.getCoupon();
|
|
|
- this.getVerificationList();
|
|
|
- },
|
|
|
- setPageStatus() {
|
|
|
- this.queryPageStatus([2]).then((res) => {
|
|
|
- this.pageStatus = res;
|
|
|
- });
|
|
|
- },
|
|
|
- // 取消按钮
|
|
|
- cancel() {
|
|
|
- this.open = false;
|
|
|
+ this.getIssueList();
|
|
|
},
|
|
|
/** 搜索按钮操作 */
|
|
|
handleQuery() {
|
|
@@ -841,62 +472,12 @@ export default {
|
|
|
this.queryForm.pageSize=10;
|
|
|
this.getIssueList();
|
|
|
},
|
|
|
- deviceNoInput(value) {
|
|
|
- this.dialogForm.posQueue = value;
|
|
|
- },
|
|
|
/** 重置按钮操作 */
|
|
|
resetQuery() {
|
|
|
this.resetForm("queryForm");
|
|
|
this.dateRangeCreatedDate = [];
|
|
|
this.handleQuery();
|
|
|
},
|
|
|
- /** 新增按钮操作 */
|
|
|
- handleAdd() {
|
|
|
- this.createForm = {
|
|
|
- issueRemark: "",
|
|
|
- issueName: "",
|
|
|
- showIdList: [],
|
|
|
- availableControl: "0",
|
|
|
- appointedDaysList: [],
|
|
|
- cycleDaysList: [],
|
|
|
- issueType: "",
|
|
|
- discountThresholdAmt: "0",
|
|
|
- couponIssueRelationList: [],
|
|
|
- giveLimit: 9,
|
|
|
- giveCount: 999999,
|
|
|
- }
|
|
|
-
|
|
|
- ;
|
|
|
- this.title = "添加优惠券";
|
|
|
- // this.createForm = {
|
|
|
- // couponName: "",
|
|
|
- // couponDetails: "",
|
|
|
- // couponThresholdAmt: 0,
|
|
|
- // couponType: "1",
|
|
|
- // couponAmt: 0,
|
|
|
- // oilNameList: [],
|
|
|
- // effectiveTimeType: "",
|
|
|
- // effectiveTime: [],
|
|
|
- // effectiveDayNum: 30,
|
|
|
- // couponHoldNum: 1,
|
|
|
- // couponReceiveNum: 100,
|
|
|
- // couponNum: 100,
|
|
|
- // status: "1",
|
|
|
- // couponIssueRelationList: [],
|
|
|
- // isCardFlag: "1",
|
|
|
- // isGradeFlag: "1",
|
|
|
- // isMarketFlag: "1",
|
|
|
- // };
|
|
|
- this.open = true;
|
|
|
- },
|
|
|
- /** 修改按钮操作 */
|
|
|
- handleUpdate(row) {
|
|
|
-
|
|
|
- this.createForm = JSON.parse(JSON.stringify(row));
|
|
|
- this.title = "用户优惠券信息";
|
|
|
- this.open = true;
|
|
|
- },
|
|
|
-
|
|
|
/** 查看优惠券信息 */
|
|
|
handlequeryCouponUserList(row) {
|
|
|
console.log(row);
|
|
@@ -926,63 +507,8 @@ export default {
|
|
|
});
|
|
|
|
|
|
},
|
|
|
- /** 提交按钮 */
|
|
|
- submitForm() {
|
|
|
- console.log(123);
|
|
|
- this.$refs["dialogForm"].validate((valid) => {
|
|
|
- if (valid) {
|
|
|
- if (!!this.createForm.id) {
|
|
|
- updateIssue(this.createForm)
|
|
|
- .then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.msgSuccess("亲,修改成功了~");
|
|
|
- this.getIssueList();
|
|
|
- this.open = false;
|
|
|
- } else {
|
|
|
- throw new Error("");
|
|
|
- }
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- this.msgError("修改失败了呀~");
|
|
|
- });
|
|
|
- } else {
|
|
|
- addIssue(this.createForm)
|
|
|
- .then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.msgSuccess("亲,新增成功了~");
|
|
|
- this.getIssueList();
|
|
|
- this.open = false;
|
|
|
- } else {
|
|
|
- throw new Error("");
|
|
|
- }
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- this.msgError("创建失败了~");
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- /** 删除按钮操作 */
|
|
|
- handleDelete(row) {
|
|
|
- const deviceIds = row.deviceId;
|
|
|
- this.$confirm("是否确认删除油站设备管理", "警告", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- })
|
|
|
- .then(function () {
|
|
|
- return delManage(deviceIds);
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- this.getList();
|
|
|
- this.msgSuccess("删除成功");
|
|
|
- });
|
|
|
- },
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="scss">
|
|
|
-.el-transfer__buttons {
|
|
|
-}
|
|
|
</style>
|