12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220 |
- <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">
- <el-tabs v-model="activeName">
- <el-tab-pane label="实时发放" name="realTime" :key="'info'">
- 啊
- </el-tab-pane>
- <el-tab-pane label="按发放方式" name="issue" :key="'pay'">
- 你好
- </el-tab-pane>
- <el-tab-pane label="按优惠券类" name="model" :key="'pay'">
- 哈哈
- </el-tab-pane>
- </el-tabs>
- <div>
- <el-form
- :model="createForm"
- ref="createForm"
- :inline="true"
- label-width="88px"
- >
- <!--
- <el-form-item label="设备类型" prop="deviceType">
- <el-select
- v-model="createForm.deviceType"
- clearable
- placeholder="请选择"
- >
- <el-option label="小票打印机" value="1"></el-option>
- <el-option label="POS" value="2"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="密钥" prop="deviceSerialNum">
- <el-input
- v-model="createForm.deviceSerialNum"
- placeholder="请输入设备密钥"
- clearable
- size="small"
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- -->
- <el-form-item>
- <!--
- <el-button
- type="cyan"
- icon="el-icon-search"
- size="mini"
- @click="handleQuery"
- >搜索</el-button
- >
- <el-button
- type="info"
- icon="el-icon-refresh"
- size="mini"
- @click="resetQuery"
- >重置</el-button
- >
- -->
- <el-button
- type="primary"
- icon="el-icon-plus"
- size="mini"
- @click="handleAdd"
- >新增</el-button
- >
- </el-form-item>
- </el-form>
- <el-table :data="issueList">
- <af-table-column type="expand">
- <template slot-scope="props">
- <el-table
- :data="props.row.couponList"
- :show-header="false"
- :highlight-current-row="false"
- style="width: 90vw"
- >
- <af-table-column label="名城" align="left">
- <template slot-scope="scope">
- {{ "优惠券:" }}<b>{{ scope.row.couponRemark }}</b>
- </template>
- </af-table-column>
- <af-table-column label="卡片类型" align="left">
- <template slot-scope="scope">
- {{
- scope.row.couponType == 1
- ? "现金劵" + "--面值:" + scope.row.couponAmt + "元"
- : ""
- }}
- {{
- scope.row.couponType == 2
- ? "折扣券" + "--折扣:" + scope.row.couponAmt + "% "
- : ""
- }}
- {{
- scope.row.couponType == 3
- ? "兑换券" + "--商品:" + scope.row.couponName
- : ""
- }}
- </template>
- </af-table-column>
- <af-table-column label="状态" align="left">
- <template slot-scope="scope">
- {{ scope.row.status == "1" ? "启用状态" : "" }}
- {{ scope.row.status == "0" ? "停用状态" : "" }}
- </template>
- </af-table-column>
- </el-table>
- <!--
- <el-table :data="props.row.couponIssueRelations">
- <af-table-column
- label="优惠券标识"
- align="left"
- prop="couponRemark"
- disabled
- />
- <af-table-column label="状态" align="left">
- <template slot-scope="scope">
- <el-switch
- v-model="scope.row.status"
- active-value="1"
- inactive-value="0"
- @change="handleStatusChange(scope.row)"
- ></el-switch>
- </template>
- </af-table-column>
- <af-table-column label="卡片类型" align="left">
- <template slot-scope="scope">
- {{
- scope.row.couponType == 1
- ? "现金劵" + "--面值:" + scope.row.couponAmt + "元"
- : ""
- }}
- {{
- scope.row.couponType == 2
- ? "折扣券" + "--折扣:" + scope.row.couponAmt + "% "
- : ""
- }}
- {{
- scope.row.couponType == 3
- ? "兑换券" + "--商品:" + scope.row.couponName
- : ""
- }}
- </template>
- </af-table-column>
- <af-table-column
- label="优惠券说明"
- align="left"
- prop="couponDetails"
- />
- <af-table-column label="使用门槛" align="left">
- <template slot-scope="scope">
- {{
- scope.row.couponType == 1 || scope.row.couponType == 2
- ? scope.row.couponThresholdAmt == 0
- ? "无门槛"
- : "满" + scope.row.couponThresholdAmt + "元可用"
- : ""
- }}
- {{ scope.row.couponType == 3 ? "------------" : "" }}
- </template>
- </af-table-column>
- <af-table-column label="适用" align="left">
- <template slot-scope="scope">
- {{
- scope.row.couponType == 1 || scope.row.couponType == 2
- ? "适用油品:" + (scope.row.oilNameList || []).toString()
- : ""
- }}
- {{ scope.row.couponType == 3 ? "核销机构:" : "" }}
- </template>
- </af-table-column>
- <af-table-column label="使用状态" align="left">
- <template slot-scope="scope">
- {{
- "共生成了" +
- scope.row.couponNum +
- "张,已领取" +
- scope.row.couponCumulativeNum +
- "张,已使用" +
- scope.row.couponUseNum +
- "张"
- }}
- </template>
- </af-table-column>
- <af-table-column label="有效期内使用限制" align="left">
- <template slot-scope="scope">
- {{
- (scope.row.effectiveTimeType == 1
- ? scope.row.effectiveTime[0] +
- "到" +
- scope.row.effectiveTime[1]
- : "用户领取" + scope.row.effectiveDayNum + "天内有效") +
- "内有效"
- }}
- {{ translateTime(scope.row) }}
- </template>
- </af-table-column>
- <af-table-column label="领取限制" align="left">
- <template slot-scope="scope">
- {{
- "单用户最多持有" +
- scope.row.couponHoldNum +
- "张,累计可拥有" +
- scope.row.couponReceiveNum +
- "张"
- }}
- </template>
- </af-table-column>
- <af-table-column label="优惠叠加" align="left">
- <template slot-scope="scope">
- {{
- scope.row.couponType == 1 || scope.row.couponType == 2
- ? ["不", ""][scope.row.isCardFlag] +
- "可用电子卡," +
- ["不", ""][scope.row.isGradeFlag] +
- "可用等级优惠," +
- ["不", ""][scope.row.isMarketFlag] +
- "可用优惠方案"
- : ""
- }}
- {{ scope.row.couponType == 3 ? "------------" : "" }}
- </template>
- </af-table-column>
- <af-table-column
- label="操作"
- align="left"
- class-name="small-padding fixed-width"
- width="120px"
- >
- <template slot-scope="scope">
- <el-button
- size="mini"
- type="text"
- icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
- v-if="scope.row.editFlag"
- >修改</el-button
- >
- </template>
- </af-table-column>
- </el-table>
- -->
- </template>
- </af-table-column>
- <af-table-column label="发放方式标识" align="left" prop="issueRemark" />
- <af-table-column label="状态" align="left">
- <template slot-scope="scope">
- <el-switch
- v-model="scope.row.status"
- active-value="1"
- inactive-value="0"
- @change="handleStatusChange(scope.row)"
- ></el-switch>
- </template>
- </af-table-column>
- <af-table-column label="活动名称" align="left" prop="issueName" />
- <af-table-column label="类型" align="left">
- <template slot-scope="scope">
- {{ scope.row.issueType == "1" ? "消费发放" : "" }}
- {{ scope.row.issueType == "2" ? "网页方式、二维码-静态码" : "" }}
- {{ 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">
- {{
- scope.row.issueType == "1"
- ? scope.row.discountThresholdAmt == "0"
- ? "无门槛,消费都发放"
- : "满" + scope.row.discountThresholdAmt + "元发放"
- : ""
- }}
- {{ scope.row.issueType != "1" ? "-------" : "" }}
- </template>
- </af-table-column>
- <af-table-column label="领取限制" align="left">
- <template slot-scope="scope">
- {{ scope.row.issueType == "1" ? "-------" : "" }}
- {{
- scope.row.issueType != "1"
- ? "单个用户能进入这个领取界面" +
- scope.row.giveCount +
- "次,一次可以领取" +
- scope.row.giveLimit +
- "张优惠券"
- : ""
- }}
- </template>
- </af-table-column>
- <af-table-column label="可领取时间段" align="left">
- <template slot-scope="scope">
- {{ translateTime(scope.row) }}
- </template>
- </af-table-column>
- <!-- <af-table-column label="面值" align="left" prop="gunNo" /> -->
- <!-- <af-table-column label="有效期" align="left" prop="deviceFactory" /> -->
- <!--
- <af-table-column
- label="操作"
- align="left"
- class-name="small-padding fixed-width"
- width="120px"
- >
- <template slot-scope="scope">
- <el-button
- size="mini"
- type="text"
- icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
- >修改</el-button
- >
- </template>
- </af-table-column>
- -->
- </el-table>
- <pagination
- :hidden="total > 0 ? false : true"
- :total="total"
- :page.sync="queryForm.pageNum"
- :limit.sync="queryForm.pageSize"
- @pagination="getIssueList"
- :autoScroll="true"
- />
- </div>
- <!-- 添加或修改油站设备管理对话框 -->
- <el-dialog
- :title="title"
- :visible.sync="open"
- width="600px"
- append-to-body
- status-icon
- >
- <el-form
- ref="dialogForm"
- :model="createForm"
- :rules="rules"
- label-width="180px"
- >
- <el-form-item
- label="发放标识(给油站备注)"
- prop="issueRemark"
- :rules="{
- required: true,
- message: '请填入方案方式标识',
- trigger: 'blur',
- }"
- >
- <input
- type="text"
- class="form-control"
- v-model="createForm.issueRemark"
- style="width: 180px"
- />
- </el-form-item>
- <el-form-item
- label="活动名称(给用户展示)"
- prop="issueName"
- :rules="{
- required: true,
- message: '请填入活动名称',
- trigger: 'blur',
- }"
- >
- <input
- type="text"
- class="form-control"
- v-model="createForm.issueName"
- style="width: 180px"
- />
- </el-form-item>
- <el-form-item
- label="发放类型"
- prop="issueType"
- :rules="{
- required: true,
- message: '请选择发放类型',
- trigger: 'change',
- }"
- >
- <el-radio-group v-model="createForm.issueType">
- <div>
- <el-radio label="1">消费发放</el-radio>
- </div>
- <div>
- <el-radio label="2">网页方式、二维码-静态码</el-radio>
- </div>
- <div>
- <el-radio label="3">支付成功后的领取位(只能设置一次)</el-radio>
- </div>
- </el-radio-group>
- </el-form-item>
- <el-form-item
- label="能进入的次数"
- prop="giveCount"
- v-if="createForm.issueType != 1"
- :rules="{
- required: createForm.issueType != 1,
- message: '请填入能进入的次数',
- trigger: 'blur',
- }"
- >
- 单个用户能进入这个领取界面
- <input
- type="text"
- class="form-control d-inline-block"
- v-model.number="createForm.giveCount"
- style="width: 80px"
- />
- 次
- </el-form-item>
- <el-form-item
- label="一次能领取几张次数"
- prop="giveLimit"
- v-if="createForm.issueType != 1"
- :rules="{
- required: createForm.issueType != 1,
- message: '请填入一次能领取几张次数',
- trigger: 'blur',
- }"
- >
- 用户进入后一次能领取<input
- type="text"
- class="form-control d-inline-block"
- v-model.number="createForm.giveLimit"
- style="width: 80px"
- />张
- </el-form-item>
- <el-form-item
- label="发放门槛"
- prop="discountThresholdAmt"
- v-if="createForm.issueType == 1"
- >
- 消费达到
- <input
- type="text"
- class="form-control d-inline-block"
- v-model.number="createForm.discountThresholdAmt"
- style="width: 80px"
- />元时,系统自动发放
- </el-form-item>
- <el-form-item label="可领取时间段" prop="availableControl">
- <div>
- <el-radio-group
- v-model="createForm.availableControl"
- @change="availableControlChange"
- >
- <div>
- <div>
- <el-radio label="0">一直都可用</el-radio>
- <el-radio label="1">每周指定日</el-radio>
- </div>
- <div>
- <el-radio label="2">每月指定日</el-radio>
- <el-radio label="3">固定指定日</el-radio>
- </div>
- </div>
- </el-radio-group>
- </div>
- <div
- v-if="
- createForm.availableControl == 1 ||
- createForm.availableControl == 2 ||
- createForm.availableControl == 3
- "
- style="margin-top: 10px"
- >
- <select-day
- :type="createForm.availableControl"
- :day.sync="createForm.appointedDaysList"
- :cycle.sync="createForm.cycleDaysList"
- >
- </select-day>
- </div>
- </el-form-item>
- <el-form-item
- label="此领取方式下的优惠券"
- prop="couponIssueRelationList"
- >
- (用于用户领取)
- </el-form-item>
- <div>
- <el-col :span="11">
- <el-table
- :data="unselectedCouponList"
- border
- size="mini"
- :resizable="false"
- highlight-current-row
- height="500"
- @selection-change="handleLeftChange"
- disabled
- ref="leftTable"
- >
- >
- <el-table-column label="可选">
- <el-table-column
- prop="phone"
- label="姓名"
- type="selection"
- ></el-table-column>
- <el-table-column
- prop="couponRemark"
- label="优惠券"
- ></el-table-column>
- <el-table-column label="添加" width="60px" align="center">
- <template slot-scope="scope">
- <el-button
- type="text"
- icon="el-icon-circle-plus-outline"
- class="underline btn24"
- size="mini"
- @click="handleMoveLabel('right', scope.row)"
- >添加</el-button
- >
- </template>
- </el-table-column>
- </el-table-column>
- </el-table>
- </el-col>
- <el-col :span="2" style="text-align: center">
- <el-button
- type="primary"
- size="mini"
- @click="toggleLabel"
- style="
- margin-top: 200px;
- text-align: center;
- width: 30px;
- padding-right: 0;
- padding-left: 0;
- "
- :disabled="toggleable"
- >切换</el-button
- >
- </el-col>
- <el-col :span="11">
- <el-table
- :data="selectedCouponList"
- border
- size="mini"
- highlight-current-row
- :resizable="false"
- height="500"
- @selection-change="handleRightChange"
- :loading="true"
- ref="rightTable"
- >
- <el-table-column label="已选" :resizable="false">
- <el-table-column
- prop="phone"
- type="selection"
- ></el-table-column>
- <el-table-column
- prop="couponRemark"
- label="优惠券"
- ></el-table-column>
- <el-table-column label="移除" width="60px" align="center">
- <template slot-scope="scope">
- <el-button
- type="text"
- icon="el-icon-remove-outline"
- class="underline btn24"
- size="mini"
- @click="handleMoveLabel('left', scope.row)"
- >移除</el-button
- >
- </template>
- </el-table-column>
- </el-table-column>
- </el-table>
- </el-col>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="submitForm">确 定</el-button>
- <el-button @click="cancel">取 消</el-button>
- </div>
- </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,
- } 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 {
- activeName:'realTime',
- couponEnabledFlag: "1",
- exportQrDialog: false,
- pageStatus: 4,
- createForm: {
- issueRemark: "",
- issueName: "",
- showIdList: [],
- availableControl: "0",
- appointedDaysList: [],
- cycleDaysList: [],
- issueType: "",
- discountThresholdAmt: "0",
- couponIssueRelationList: [],
- giveLimit: 9,
- giveCount: 999999,
- },
- currentExport: {
- text: "error",
- type: "你好",
- name: "二维码",
- },
- couponList: [],
- oilNameList: [],
- allVerificationList: [],
- equipmentList: [],
- // 油枪复选
- allGunList: [],
- // 已选的油枪
- checkedGunList: [],
- //设备状态
- deviceStatusOptions: [],
- //设备类型
- deviceTypeOptions: [],
- stationOptions: [],
- // 弹出层标题
- title: "",
- // 是否显示弹出层
- open: false,
- // 总条数
- total: 100,
- leftQuery: {},
- rightQuery: {},
- leftData: [],
- rightData: [],
- moveRightData: [],
- moveLeftData: [],
- // 查询参数
- queryForm: {
- pageNum: 1,
- pageSize: 10, // 初始值只能比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: [
- ,
- ["周天", "周一", "周二", "周三", "周四", "周五", "周六"],
- [
- "1号",
- "2号",
- "3号",
- "4号",
- "5号",
- "6号",
- "7号",
- "8号",
- "9号",
- "10号",
- "11号",
- "12号",
- "13号",
- "14号",
- "15号",
- "16号",
- "17号",
- "18号",
- "19号",
- "20号",
- "21号",
- "22号",
- "23号",
- "24号",
- "25号",
- "26号",
- "27号",
- "28号",
- "29号",
- "30号",
- "31号",
- ],
- ],
- };
- },
- 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;
- },
- },
- methods: {
- 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;
- if (availableControleType == 0) {
- return "用户一直都可以领取";
- }
- timeString = "用户只能在";
- if (availableControleType == 1) {
- timeString += "每周的";
- }
- if (availableControleType == 2) {
- timeString += "每月的";
- }
- if (availableControleType == 3) {
- timeString += "指定的日期 ";
- }
- if (availableControleType == 1 || availableControleType == 2) {
- row.cycleDaysList.forEach((ele) => {
- timeString += this.timeSelect[availableControleType][ele] + "、";
- });
- } else if (availableControleType == 3) {
- timeString += row.appointedDaysList.toString();
- }
- timeString = timeString.replace(/(、)$/g, "") + "可以领取劵";
- return timeString;
- },
- getIssueList() {
- listIssue(this.queryForm)
- .then((res) => {
- if (res.code == 200) {
- if (res.rows == null) {
- this.total = 0;
- this.issueList = [];
- } else {
- this.total = res.total;
- this.issueList = res.rows;
- }
- } else {
- throw new Error("");
- }
- })
- .catch((err) => {
- this.msgError("亲,拉取领取方式列表失败~");
- });
- },
- getCoupon() {
- listInfo({
- pageNum: 1,
- pageSize: 1000,
- status: 1,
- })
- .then((res) => {
- if (res.code == 200) {
- if (res.rows == null) {
- this.couponList = [];
- } else {
- this.couponList = res.rows;
- }
- } else {
- throw new Error("");
- }
- })
- .catch((err) => {
- 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;
- },
- /** 搜索按钮操作 */
- handleQuery() {
- this.createForm.pageNum = 1;
- this.getList();
- },
- deviceNoInput(value) {
- this.dialogForm.posQueue = value;
- },
- /** 重置按钮操作 */
- resetQuery() {
- this.resetForm("createForm");
- 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;
- },
- /** 提交按钮 */
- 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>
|