|
@@ -1,259 +1,988 @@
|
|
|
<template>
|
|
|
- <div class="app-container">
|
|
|
- <el-row>
|
|
|
- <el-col :span="24">
|
|
|
- <el-card :body-style="{ padding: '20px', margin: '0 auto' }">
|
|
|
- <div class="imgbox">
|
|
|
- <el-upload
|
|
|
- class="uploader"
|
|
|
- :action="addressUrl"
|
|
|
- :show-file-list="false"
|
|
|
- :headers="headers"
|
|
|
- :on-success="handleAvatarSuccess"
|
|
|
- :before-upload="beforeAvatarUpload"
|
|
|
- :disabled="editable"
|
|
|
+ <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>
|
|
|
+ <el-form
|
|
|
+ :model="queryForm"
|
|
|
+ ref="queryForm"
|
|
|
+ :inline="true"
|
|
|
+ label-width="88px"
|
|
|
+ >
|
|
|
+ <el-form-item label="优惠卷标识" prop="issueRemark">
|
|
|
+ <el-input
|
|
|
+ v-model="queryForm.issueRemark"
|
|
|
+ placeholder="请输入标识"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="优惠卷类型" prop="issueType">
|
|
|
+ <el-select
|
|
|
+ v-model="queryForm.issueType"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ <el-option label="消费发放" value="1" ></el-option>
|
|
|
+ <el-option label="网页 静态二维码" value="2" ></el-option>
|
|
|
+ <el-option label="支付成功后的展示位" value="3" ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="优惠卷名称" prop="issueName">
|
|
|
+ <el-input
|
|
|
+ v-model="queryForm.issueName"
|
|
|
+ placeholder="请输入名称"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="创建时间" prop="getCreateTime">
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 350px"
|
|
|
+ v-model="dateRangeCreatedDate"
|
|
|
+ size="mini"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ type="datetimerange"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="生效状态" prop="status">
|
|
|
+ <el-select
|
|
|
+ v-model="queryForm.status"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ <el-option label="开启" value="1" ></el-option>
|
|
|
+ <el-option label="关闭" value="0" ></el-option>
|
|
|
+
|
|
|
+ </el-select>
|
|
|
+ </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-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"
|
|
|
>
|
|
|
- <img
|
|
|
- v-if="form.stationPic"
|
|
|
- :src="form.stationPic"
|
|
|
- class="avatar"
|
|
|
- />
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- <div class="el-upload__tip" slot="tip" v-show="!editable">
|
|
|
- 点击图片可以重新上传
|
|
|
- </div>
|
|
|
- </el-upload>
|
|
|
- </div>
|
|
|
- <div class="station">
|
|
|
- <el-form ref="form" :model="form" :rules="rules" label-width="auto">
|
|
|
- <el-form-item label="油站名称" prop="deptName">
|
|
|
- <el-input
|
|
|
- v-model="form.deptName"
|
|
|
- placeholder="请输入油站名称"
|
|
|
- :disabled="editable"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="油站地址" prop="deptAddress">
|
|
|
- <el-input
|
|
|
- v-model="form.deptAddress"
|
|
|
- placeholder="请输入油站地址"
|
|
|
- :disabled="editable"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="联系人" prop="leader">
|
|
|
- <el-input
|
|
|
- v-model="form.leader"
|
|
|
- placeholder="请输入联系人"
|
|
|
- :disabled="editable"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="电话" prop="phone">
|
|
|
- <el-input
|
|
|
- v-model="form.phone"
|
|
|
- placeholder="请输入电话"
|
|
|
- :disabled="editable"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
+ <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="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.status == "1" ? "启用状态" : "" }}
|
|
|
+ {{ scope.row.status == "0" ? "停用状态" : "" }}
|
|
|
+ </template>
|
|
|
+ </af-table-column>
|
|
|
+ </el-table>
|
|
|
+ </template>
|
|
|
+ </af-table-column>
|
|
|
+ <af-table-column label="发放方式id" align="left" prop="id" v-if="false" />
|
|
|
+ <af-table-column label="发放方式标识" align="left" prop="issueRemark" />
|
|
|
+ <af-table-column label="状态" align="left">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.status == "1" ? "启用" : "" }}
|
|
|
+ {{ scope.row.status == "0" ? "停用" : "" }}
|
|
|
+ </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
|
|
|
- type="primary"
|
|
|
- size="small"
|
|
|
- @click="
|
|
|
- () => {
|
|
|
- this.editable = !editable;
|
|
|
- }
|
|
|
- "
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-download"
|
|
|
+ @click="handleExport(scope.row)"
|
|
|
+ v-if="scope.row.issueType == '2'"
|
|
|
+ >导出二维码、网址</el-button
|
|
|
>
|
|
|
- {{ editable ? "修改资料" : "取消保存" }}
|
|
|
- </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"
|
|
|
+ class-name="small-padding fixed-width"
|
|
|
+ width="120px"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
<el-button
|
|
|
- type="primary"
|
|
|
- size="small"
|
|
|
- v-show="!editable"
|
|
|
- @click="submitForm"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="handlequeryCouponUserList(scope.row.id)"
|
|
|
+ >查看优惠卷</el-button
|
|
|
>
|
|
|
- 保存资料
|
|
|
- </el-button>
|
|
|
- </div>
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+ </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="1200px"
|
|
|
+ append-to-body
|
|
|
+ status-icon
|
|
|
+ >
|
|
|
+ <el-table :data="couponUserList">
|
|
|
+ <af-table-column label="油站名" align="center" prop="id" v-if="jiBie==0||jiBie==1"/>
|
|
|
+ <af-table-column
|
|
|
+ v-if="false"
|
|
|
+ label="优惠卷id"
|
|
|
+ align="center"
|
|
|
+ prop="id"
|
|
|
+ />
|
|
|
+ <af-table-column label="用户ID" align="center" prop="unionId" v-if="false" />
|
|
|
+ <af-table-column label="油站ID" align="center" prop="stationId" v-if="false" />
|
|
|
+ <af-table-column label="发放方式ID" align="center" prop="issueId" v-if="false" />
|
|
|
+ <af-table-column label="发放方式标识" align="left" prop="issueRemark" />
|
|
|
+ <af-table-column label="活动名称" align="left" prop="issueName" />
|
|
|
+
|
|
|
+ <af-table-column label="优惠券ID" align="center" prop="couponId" v-if="false"/>
|
|
|
+ <af-table-column
|
|
|
+ label="优惠券标识"
|
|
|
+ align="left"
|
|
|
+ prop="couponRemark"
|
|
|
+ fixed="left"
|
|
|
+ />
|
|
|
+ <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="center"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.couponIsUsed == "0" ? "未使用" : "" }}
|
|
|
+ {{ scope.row.couponIsUsed == "1" ? "已使用" : "" }}
|
|
|
+ {{ scope.row.couponIsUsed == "2" ? "已核销" : "" }}
|
|
|
+ </template>
|
|
|
+ </af-table-column>
|
|
|
+ <af-table-column label="是否有效"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.couponIsEffective == "0" ? "无效" : "" }}
|
|
|
+ {{ scope.row.couponIsEffective == "1" ? "有效" : "" }}
|
|
|
+ </template>
|
|
|
+ </af-table-column>
|
|
|
+ <af-table-column label="用户保存id" align="center" prop="userId" v-if="false" />
|
|
|
+ <af-table-column label="手机号" align="center" prop="mobilePhone" />
|
|
|
+ <af-table-column label="用户名" align="center" prop="blogNickName" />
|
|
|
+ <af-table-column label="核销员手机号" align="center" prop="verificationUserPhone" />
|
|
|
+ <af-table-column label="优惠券获取时间" align="center" prop="getCouponTime">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{
|
|
|
+ parseTime(scope.row.getCouponTime, "{y}-{m}-{d} {h}:{i}:{s}")
|
|
|
+ }}</span>
|
|
|
+ </template>
|
|
|
+ </af-table-column>
|
|
|
+ <af-table-column label="优惠券截止时间" align="center" prop="couponEffectiveTime">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{
|
|
|
+ parseTime(scope.row.couponEffectiveTime, "{y}-{m}-{d} {h}:{i}:{s}")
|
|
|
+ }}</span>
|
|
|
+ </template>
|
|
|
+ </af-table-column>
|
|
|
+
|
|
|
+ </el-table>
|
|
|
+ <pagination
|
|
|
+ v-show="userTotal > 0"
|
|
|
+ :total="userTotal"
|
|
|
+ :page.sync="queryCouponUserFrom.pageNum"
|
|
|
+ :limit.sync="queryCouponUserFrom.pageSize"
|
|
|
+ @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,
|
|
|
- exportInfo,
|
|
|
-} from "@/api/station/info";
|
|
|
-import { getToken } from "@/utils/auth";
|
|
|
-import Treeselect from "@riophae/vue-treeselect";
|
|
|
-import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
+ changeCouponStatus,
|
|
|
+ addIssue,
|
|
|
+ listIssue,
|
|
|
+ upIssueStatus,
|
|
|
+ queryCouponUserList,
|
|
|
+} from "@/api/coupon";
|
|
|
+import SelectDay from "@/components/SelectDay";
|
|
|
+import settings from "@/settings";
|
|
|
+
|
|
|
export default {
|
|
|
- name: "Info",
|
|
|
- components: { Treeselect },
|
|
|
+ name: "Coupon_CreateIssue",
|
|
|
data() {
|
|
|
- const validatorPhone = (rule, value, callback) => {
|
|
|
- if (!value) {
|
|
|
- return callback(new Error("手机号不能为空"));
|
|
|
- } else {
|
|
|
- const reg = /^1[3|4|5|7|8][0-9]\d{8}$/;
|
|
|
- if (reg.test(value)) {
|
|
|
- callback();
|
|
|
- } else {
|
|
|
- return callback(new Error("请输入正确的手机号"));
|
|
|
+ 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 {
|
|
|
- editable: true,
|
|
|
- // 总条数
|
|
|
- total: 0,
|
|
|
- // 部门树选项
|
|
|
- deptOptions: undefined,
|
|
|
+ dateRangeCreatedDate: [],
|
|
|
+ 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,
|
|
|
+ // 优惠卷总条数
|
|
|
+ userTotal: 100,
|
|
|
+ leftQuery: {},
|
|
|
+ rightQuery: {},
|
|
|
+ leftData: [],
|
|
|
+ rightData: [],
|
|
|
+ moveRightData: [],
|
|
|
+ moveLeftData: [],
|
|
|
+ // 优惠卷的信息
|
|
|
+ couponUserList: [],
|
|
|
// 查询参数
|
|
|
- queryParams: {
|
|
|
+ queryForm: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10, // 初始值只能比10大
|
|
|
+ issueName:null,
|
|
|
+ issueRemark:null,
|
|
|
+ issueType:null,
|
|
|
+ levelId:this.levelId,
|
|
|
+ CreateTime:null,
|
|
|
+ status:null,
|
|
|
+ },
|
|
|
+ queryCouponUserFrom:{
|
|
|
+ levelId:this.levelId,
|
|
|
+ issueId:0,
|
|
|
+ couponId: null,
|
|
|
+ stationId: null,
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
- stationName: null,
|
|
|
- deptAddress: null,
|
|
|
- oilGunNum: null,
|
|
|
- contacts: null,
|
|
|
- phone: null,
|
|
|
- stationGroupName: null,
|
|
|
- stationPic: null,
|
|
|
- stationLongitude: null,
|
|
|
- stationLatitude: null,
|
|
|
- mno: null,
|
|
|
- deptId: this.deptId,
|
|
|
},
|
|
|
- // 表单参数
|
|
|
- form: {},
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
- deptName:[
|
|
|
- { required: true, message: '请填写油站名', trigger: 'blur' }
|
|
|
+ availableControl: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请选择有效期内时间控制",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ { validator: validateAvailableControl, trigger: "change" },
|
|
|
],
|
|
|
- deptAddress:[
|
|
|
- { required: true, message: '请填写活动形式', trigger: 'blur' }
|
|
|
+ couponIssueRelationList: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: "请选择优惠券",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ { validator: validateCouponIssueRelationList, trigger: "change" },
|
|
|
],
|
|
|
- leader:[
|
|
|
- { required: true, message: '请填写联系人', trigger: 'blur' }
|
|
|
- ],
|
|
|
- phone:[
|
|
|
- { validator: validatorPhone, required: true, trigger: 'blur' }
|
|
|
- ]
|
|
|
},
|
|
|
- imageUrl: "",
|
|
|
- headers: { Authorization: "Bearer " + getToken() },
|
|
|
- addressUrl:process.env.VUE_APP_BASE_API + "/common/upload",
|
|
|
- // addressUrl: location.protocol +"//" +location.host +process.env.VUE_APP_BASE_API + "/common/upload",
|
|
|
+ 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() {
|
|
|
- this.getList();
|
|
|
+ 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: {
|
|
|
- /** 查询油站信息列表 */
|
|
|
- getList() {
|
|
|
- listInfo(this.queryParams).then((response) => {
|
|
|
- this.form = response.rows[0];
|
|
|
+ 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;
|
|
|
+ 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.addDateRange(this.queryForm, this.dateRangeCreatedDate))
|
|
|
+ .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.queryForm.pageNum = 1;
|
|
|
+ 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);
|
|
|
+ console.log(this.queryCouponUserFrom.issueId);
|
|
|
+ this.queryCouponUserFrom.issueId=row;
|
|
|
+
|
|
|
+ queryCouponUserList(
|
|
|
+ this.queryCouponUserFrom
|
|
|
+ ).then((response) => {
|
|
|
+ this.couponUserList = response.rows;
|
|
|
+ this.userTotal = response.total;
|
|
|
+ this.title = "用户优惠卷信息";
|
|
|
+ this.open = true;
|
|
|
+ });
|
|
|
+
|
|
|
+ },
|
|
|
+ /** 分页查看信息 */
|
|
|
+ queryCouponUserListByPage() {
|
|
|
+
|
|
|
+ queryCouponUserList(
|
|
|
+ this.queryCouponUserFrom
|
|
|
+ ).then((response) => {
|
|
|
+ this.couponUserList = response.rows;
|
|
|
+ this.userTotal = response.total;
|
|
|
+ this.title = "用户优惠卷信息";
|
|
|
+ this.open = true;
|
|
|
});
|
|
|
+
|
|
|
},
|
|
|
/** 提交按钮 */
|
|
|
submitForm() {
|
|
|
- this.$refs["form"].validate((valid) => {
|
|
|
+ console.log(123);
|
|
|
+ this.$refs["dialogForm"].validate((valid) => {
|
|
|
if (valid) {
|
|
|
- this.$confirm("确认更新油站信息", "警告", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- }).then(() => {
|
|
|
- updateInfo(this.form).then((response) => {
|
|
|
- this.msgSuccess("修改成功");
|
|
|
- this.open = false;
|
|
|
- this.editable=true
|
|
|
- this.getList();
|
|
|
- });
|
|
|
- });
|
|
|
+ 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("创建失败了~");
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- /** 导出按钮操作 */
|
|
|
- handleExport() {
|
|
|
- const queryParams = this.queryParams;
|
|
|
- this.$confirm("是否确认导出所有油站信息数据项?", "警告", {
|
|
|
+ /** 删除按钮操作 */
|
|
|
+ handleDelete(row) {
|
|
|
+ const deviceIds = row.deviceId;
|
|
|
+ this.$confirm("是否确认删除油站设备管理", "警告", {
|
|
|
confirmButtonText: "确定",
|
|
|
cancelButtonText: "取消",
|
|
|
type: "warning",
|
|
|
})
|
|
|
.then(function () {
|
|
|
- return exportInfo(queryParams);
|
|
|
+ return delManage(deviceIds);
|
|
|
})
|
|
|
- .then((response) => {
|
|
|
- this.download(response.msg);
|
|
|
+ .then(() => {
|
|
|
+ this.getList();
|
|
|
+ this.msgSuccess("删除成功");
|
|
|
});
|
|
|
},
|
|
|
- handleAvatarSuccess(res, file) {
|
|
|
- this.form.stationPic = res.url;
|
|
|
- this.form = {...this.form} ;
|
|
|
- },
|
|
|
- beforeAvatarUpload(file) {
|
|
|
- const isJPG = file.type === "image/jpeg";
|
|
|
- const isLt2M = file.size / 1024 / 1024 < 4;
|
|
|
- // if (!isJPG) {
|
|
|
- // this.$message.error("上传头像图片只能是 JPG 格式!");
|
|
|
- // }
|
|
|
- if (!isLt2M) {
|
|
|
- this.$message.error("上传头像图片大小不能超过 4MB!");
|
|
|
- }
|
|
|
- return isJPG && isLt2M;
|
|
|
- },
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
-<style lang="scss" scoped>
|
|
|
-.imgbox {
|
|
|
- margin: 0 auto;
|
|
|
- padding: 20px;
|
|
|
- width: 200px;
|
|
|
- height: 240px;
|
|
|
- img {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- }
|
|
|
- .uploader {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- .el-upload {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- }
|
|
|
- .avatar {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- margin: 0 auto;
|
|
|
- }
|
|
|
- .el-upload__tip {
|
|
|
- text-align: center;
|
|
|
- color: red;
|
|
|
- }
|
|
|
- .el-upload {
|
|
|
- color: red;
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-.station {
|
|
|
- width: 40%;
|
|
|
- min-width: 300px;
|
|
|
- margin: 0 auto;
|
|
|
+<style lang="scss">
|
|
|
+.el-transfer__buttons {
|
|
|
}
|
|
|
</style>
|