|
@@ -1,24 +1,14 @@
|
|
|
<template>
|
|
|
<!-- 改签对话框 -->
|
|
|
- <el-dialog
|
|
|
- title="订单升舱"
|
|
|
- :visible.sync="rebookDialog"
|
|
|
- width="95%"
|
|
|
- append-to-body
|
|
|
- class="rebook1_dialog"
|
|
|
- :close-on-click-modal="false"
|
|
|
- :close-on-press-escape="false"
|
|
|
- :modal="false"
|
|
|
- :before-close="handleClose"
|
|
|
- center
|
|
|
- >
|
|
|
+ <el-dialog title="订单升舱" :visible.sync="rebookDialog" width="95%" append-to-body class="rebook1_dialog"
|
|
|
+ :close-on-click-modal="false" :close-on-press-escape="false" :modal="false" :before-close="handleClose" center>
|
|
|
<div class="rebook1_box" v-loading="loading">
|
|
|
<div class="rebook1_from-box">
|
|
|
<div class="rebook1_from">
|
|
|
<el-form :model="rebookForm" ref="rebookForm" label-width="100px" :rules="rules">
|
|
|
<el-form-item label="剧目名称:" style="margin-bottom: 0px;">
|
|
|
<span>{{ rebookForm.performName }}</span>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="票务名称:" style="margin-bottom: 0px;">
|
|
|
<span>{{ rebookForm.goodsName }}</span>
|
|
|
</el-form-item>
|
|
@@ -35,18 +25,10 @@
|
|
|
<span>{{ rebookForm.performTimeStart }} — {{ rebookForm.performTimeEnd }} </span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="票档:" prop="seatTypeId">
|
|
|
- <el-select
|
|
|
- v-model="rebookForm.seatTypeId"
|
|
|
- placeholder="请选择票档"
|
|
|
- style="width: 100%"
|
|
|
- @change="querySeatListFun"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in intervalList"
|
|
|
- :key="item.seatTypeId"
|
|
|
- :label="item.seatTypeName"
|
|
|
- :value="item.seatTypeId"
|
|
|
- />
|
|
|
+ <el-select v-model="rebookForm.seatTypeId" placeholder="请选择票档" style="width: 100%"
|
|
|
+ @change="querySeatListFun">
|
|
|
+ <el-option v-for="item in intervalList" :key="item.seatTypeId"
|
|
|
+ :label="item.seatTypeName" :value="item.seatTypeId" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="订单总额:">
|
|
@@ -55,41 +37,73 @@
|
|
|
<el-form-item v-if="rebookForm.diffPrice < 0" label="升舱费用:">
|
|
|
<span>退费{{ Math.abs(rebookForm.diffPrice) }}元</span>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="rebookForm.diffPrice > 0" label="升舱费用:">
|
|
|
- <el-input-number
|
|
|
- v-model="rebookForm.goodsDiffAmount"
|
|
|
- controls-position="right"
|
|
|
- :min="0"></el-input-number>
|
|
|
+ <el-form-item v-if="rebookForm.diffPrice > 0" label="升舱费用:" prop="goodsDiffAmount">
|
|
|
+ <el-input v-model="rebookForm.goodsDiffAmount" type="number" style="width: 200px;" @input="setRealPrice_2"
|
|
|
+ :min="0"></el-input>
|
|
|
+ <span>元</span>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="rebookForm.diffPrice > 0 && !rebookForm.timeId" label="支付方式 :" prop="paymentType">
|
|
|
+ <el-form-item v-if="rebookForm.diffPrice > 0 && !rebookForm.channelType != 'group'" label="支付方式 :"
|
|
|
+ prop="paymentType">
|
|
|
<el-radio-group v-model="rebookForm.paymentType">
|
|
|
<el-radio label="1">扫码支付</el-radio>
|
|
|
<el-radio label="2">现金支付</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="rebookForm.diffPrice > 0 && rebookForm.timeId" label="支付方式 :" prop="paymentType">
|
|
|
+ <el-form-item v-if="rebookForm.diffPrice > 0 && rebookForm.channelType == 'group'" label="支付方式 :"
|
|
|
+ prop="paymentType">
|
|
|
<el-radio-group v-model="rebookForm.paymentType">
|
|
|
<el-radio label="3">对公支付</el-radio>
|
|
|
<el-radio label="6">挂账</el-radio>
|
|
|
<el-radio label="7">链接支付</el-radio>
|
|
|
- <el-radio label="4">账户余额</el-radio>
|
|
|
- <el-radio label="5">授信余额</el-radio>
|
|
|
+ <el-radio label="4">账户余额({{ balance }})</el-radio>
|
|
|
+ <el-radio label="5">授信余额({{ grantQuota }})</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="rebookForm.diffPrice > 0 && rebookForm.paymentType == 2 " label="收取现金 :" prop="realPrice_1">
|
|
|
- <el-input @input="setRealPrice_1" style="width: 200px;" v-model="rebookForm.realPrice_1"></el-input>
|
|
|
+ <el-form-item v-if="rebookForm.diffPrice > 0 && rebookForm.paymentType == 2 " label="收取现金 :"
|
|
|
+ prop="realPrice_1">
|
|
|
+ <el-input v-model="rebookForm.realPrice_1" type="number" style="width: 200px;" @input="setRealPrice_1"
|
|
|
+ :min="0"></el-input>
|
|
|
+ <!-- <el-input @input="setRealPrice_1" style="width: 200px;"
|
|
|
+ v-model="rebookForm.realPrice_1"></el-input> -->
|
|
|
<span>元</span>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="找零金额 :" v-if="rebookForm.diffPrice > 0 && ruleForm.paymentType == 2">
|
|
|
+ <el-form-item label="找零金额 :" v-if="rebookForm.diffPrice > 0 && rebookForm.paymentType == 2">
|
|
|
¥{{ rebookForm.small }}元
|
|
|
</el-form-item>
|
|
|
+ <el-form-item v-if="rebookForm.paymentType == 6" label="账期" prop="rePaymentTime">
|
|
|
+ <el-date-picker v-model="rebookForm.rePaymentTime" type="date" value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="rebookForm.paymentType == 3 || rebookForm.paymentType == 6" :label="rebookForm.paymentType == 3 ? '凭证上传' : '挂账类型凭证'" prop="photoList">
|
|
|
+ <div style="display: flex;flex-wrap: wrap;">
|
|
|
+ <div v-for="(item, index) in rebookForm.photoList" :key="index"
|
|
|
+ style="width: 100px; height: 100px;margin-top: 5px; position: relative;border: 1px solid #999;border-radius: 5px;margin-right: 20px;">
|
|
|
+ <el-image style="width: 100%; height: 100%" :src="item"
|
|
|
+ :preview-src-list="rebookForm.photoList">
|
|
|
+ </el-image>
|
|
|
+ <span @click="handleRemove(index)"
|
|
|
+ style="position: absolute;top: -15px;right: -15px;color: red;font-size: 24px;z-index: 999;cursor: pointer;">
|
|
|
+ <i class="el-icon-error"></i>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div style="width: 100px; height: 100px;margin-top: 5px;"
|
|
|
+ v-if="!rebookForm.photoList || rebookForm.photoList.length < 15" v-loading="actionUrlLoading"
|
|
|
+ element-loading-text="上传中..." element-loading-spinner="el-icon-loading"
|
|
|
+ element-loading-background="rgba(0, 0, 0, 0.8)">
|
|
|
+ <el-upload class="avatar-uploader" :action="uploadObj.url"
|
|
|
+ :headers="uploadObj.headers" :show-file-list="false"
|
|
|
+ :before-upload="beforeAvatarUpload" :on-success="handleAvatarSuccess"
|
|
|
+ :on-progress="handleAvatarProgress" :disabled="actionUrlLoading"
|
|
|
+ :on-error="handleAvatarError">
|
|
|
+ <i class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="备注:">
|
|
|
- <el-input
|
|
|
- v-model="rebookForm.resubmitRemark"
|
|
|
- placeholder="请输入备注"
|
|
|
- clearable
|
|
|
- type="textarea"
|
|
|
- />
|
|
|
+ <el-input v-model="rebookForm.resubmitRemark" placeholder="请输入备注" clearable
|
|
|
+ type="textarea" />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div class="tip-box">
|
|
@@ -97,12 +111,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="rebook1_seat" v-loading="seatLoading" :element-loading-text="seatLoadText">
|
|
|
- <seatBox
|
|
|
- ref="seatBox"
|
|
|
- :seatTypeLimit="configStockNumObj"
|
|
|
- @selectSeat="selectSeat"
|
|
|
- height="100%"
|
|
|
- />
|
|
|
+ <seatBox ref="seatBox" :seatTypeLimit="configStockNumObj" @selectSeat="selectSeat" height="100%" />
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="width: 100%;display: flex;justify-content: center;">
|
|
@@ -114,8 +123,8 @@
|
|
|
<div class="increase-viewers-pay-status-info" v-if="!loading">
|
|
|
<span style="font-weight: 600;font-size: 20px;">提示</span>
|
|
|
<span style="padding: 10px 0;">
|
|
|
- {{ payStatus==1 ? '生成订单失败!!!' :
|
|
|
- payStatus==2 ? '生成订单生成成功,请点击调取扫码盒子' :
|
|
|
+ {{ payStatus==1 ? '生成订单失败!!!' :
|
|
|
+ payStatus==2 ? '生成订单生成成功,请点击调取扫码盒子' :
|
|
|
payStatus==4 ? '扫码支付失败!!!' :
|
|
|
payStatus==5 ? '请出示付款码!!!' :
|
|
|
payStatus==5.5 ? '扫码成功,支付中...' :
|
|
@@ -131,7 +140,8 @@
|
|
|
<!-- 重新生成订单 1 -->
|
|
|
<div v-if="payStatus==1" style="display: flex;">
|
|
|
<el-button @click="payStatus = null" type="success">修改信息</el-button>
|
|
|
- <el-button @click="orderInfoSubmitFun()" style="margin-left: 20px;" type="primary">重新生成订单</el-button>
|
|
|
+ <el-button @click="orderInfoSubmitFun()" style="margin-left: 20px;"
|
|
|
+ type="primary">重新生成订单</el-button>
|
|
|
</div>
|
|
|
<!-- 生成订单成功 选择支付方式 -->
|
|
|
<div>
|
|
@@ -140,29 +150,29 @@
|
|
|
<!-- 扫码支付 4 -->
|
|
|
<el-button v-if="payStatus==4" @click="vbar_open(orderId)" type="success">重新扫码支付</el-button>
|
|
|
<!-- 重新支付 3 -->
|
|
|
- <el-button v-if="payStatus==3" @click="gotoCashPayFun(orderId)" type="success">重新提交入库</el-button>
|
|
|
+ <el-button v-if="payStatus==3" @click="gotoCashPayFun(orderId)"
|
|
|
+ type="success">重新提交入库</el-button>
|
|
|
<!-- 重新支付 6 7 -->
|
|
|
- <el-button v-if="payStatus==6 || payStatus==7" @click="vbar_open(orderId)" type="success">重新连接扫码支付</el-button>
|
|
|
-
|
|
|
+ <el-button v-if="payStatus==6 || payStatus==7" @click="vbar_open(orderId)"
|
|
|
+ type="success">重新连接扫码支付</el-button>
|
|
|
+
|
|
|
<!-- 现金支付 -->
|
|
|
<el-button v-if="payStatus==2" @click="vbar_open(orderId)" type="success">扫码支付</el-button>
|
|
|
-
|
|
|
+
|
|
|
<!-- 现金支付 -->
|
|
|
<el-button v-if="payStatus==2" @click="vbar_open(orderId)" type="success">扫码支付</el-button>
|
|
|
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
<!-- 打印 8 -->
|
|
|
<div v-if="payStatus==8">
|
|
|
<el-select v-model="printListId" placeholder="选择打印机">
|
|
|
- <el-option
|
|
|
- :label="item.deviceName"
|
|
|
- :key="item.id"
|
|
|
- :value="item.id"
|
|
|
- v-for="(item) in printList"></el-option>
|
|
|
+ <el-option :label="item.deviceName" :key="item.id" :value="item.id"
|
|
|
+ v-for="(item) in printList"></el-option>
|
|
|
</el-select>
|
|
|
<el-button style="margin-left: 15px" @click="print" type="success">打印门票</el-button>
|
|
|
- <el-button style="margin-left: 15px" @click="goTicketingCollections" type="success">跳转取票界面</el-button>
|
|
|
+ <el-button style="margin-left: 15px" @click="goTicketingCollections"
|
|
|
+ type="success">跳转取票界面</el-button>
|
|
|
</div>
|
|
|
<!-- 支付超时 9 -->
|
|
|
<div v-if="payStatus==9">
|
|
@@ -182,12 +192,15 @@
|
|
|
<script>
|
|
|
import {
|
|
|
querySeatListNew,
|
|
|
+ selectMarketTeamBySourceApi
|
|
|
} from '@/api/windowTicketSales/ticketingSales'
|
|
|
+ import { getSelectById as getBalanceInfo } from '@/api/team/teamMr'
|
|
|
import { rebookApi,getTimeSeatTypeAllApi,resubmitInfoApi } from '@/api/windowTicketSales/rebook'
|
|
|
import { countBySeatTyp } from '@/api/ticketMr/InventoryTemplate'
|
|
|
import { pageList as getSeatType } from '@/api/seatTypeMr/seatTypeMr'
|
|
|
import { getSelectById } from '@/api/order/orderMr'
|
|
|
import seatBox from '@/components/seatBox/index.vue';
|
|
|
+ import { getToken } from "@/utils/auth";
|
|
|
import payJs from "../mixins/pay"
|
|
|
const mathM = require('mathjs')
|
|
|
export default {
|
|
@@ -206,10 +219,13 @@ export default {
|
|
|
performTimeId: undefined,
|
|
|
performInterval: undefined,
|
|
|
performId: undefined,
|
|
|
- auditoriumId: undefined
|
|
|
+ auditoriumId: undefined,
|
|
|
+ photoList: []
|
|
|
},
|
|
|
rules: {
|
|
|
- seatTypeId: [{ required: true, message: '请选择票档', trigger: ['blur','change'] }]
|
|
|
+ seatTypeId: [{ required: true, message: '请选择票档', trigger: ['blur','change'] }],
|
|
|
+ realPrice_1: [{ required: true, message: '请输入金额', trigger: ['blur','change'] }],
|
|
|
+ goodsDiffAmount: [{ required: true, message: '请输入金额', trigger: ['blur','change'] }],
|
|
|
},
|
|
|
// 场次列表
|
|
|
intervalList: [],
|
|
@@ -232,6 +248,15 @@ export default {
|
|
|
seatLoading: false,
|
|
|
seatLoadText: '获取座位中...',
|
|
|
setList: [],
|
|
|
+
|
|
|
+ balance: null, // 授信额度
|
|
|
+ grantQuota: null, // 授信使用额度
|
|
|
+
|
|
|
+ uploadObj: {
|
|
|
+ url: process.env.VUE_APP_UPLOAD_FILE_API + "/upload/single/minio",
|
|
|
+ Headers: { Authorization: "Bearer " + getToken() },
|
|
|
+ },
|
|
|
+ actionUrlLoading: false,
|
|
|
}
|
|
|
},
|
|
|
created(){
|
|
@@ -258,10 +283,15 @@ export default {
|
|
|
touristNum: row.touristNum,
|
|
|
seatList: [],
|
|
|
performTimeEnd: row.performTimeEnd,
|
|
|
- performTimeStart: row.performTimeStart
|
|
|
+ performTimeStart: row.performTimeStart,
|
|
|
+ channelType: row.channelType,
|
|
|
+ photoList: []
|
|
|
}
|
|
|
await this.getSelectByIdApi()
|
|
|
await this.handleDateChange()
|
|
|
+ if(row.channelType == 'group') {
|
|
|
+ await this.handleCorporatePay(this.rebookForm)
|
|
|
+ }
|
|
|
this.$nextTick(()=>{
|
|
|
this.$refs.rebookForm.clearValidate()
|
|
|
})
|
|
@@ -272,6 +302,7 @@ export default {
|
|
|
let res = await getSelectById(this.rebookForm.orderId)
|
|
|
this.rebookForm = {
|
|
|
...this.rebookForm,
|
|
|
+ memberId: res.data.memberId,
|
|
|
performTimeId: res.data.performTimeId,
|
|
|
}
|
|
|
} catch (error) {
|
|
@@ -308,6 +339,18 @@ export default {
|
|
|
this.$message.error(`请选择${ this.rebookForm.touristNum }座位!!!`);
|
|
|
return
|
|
|
}
|
|
|
+ if(this.rebookForm.paymentType == 4 && (!this.balance||this.balance<=0||this.balance < this.rebookForm.realPrice)) {
|
|
|
+ this.$message.error('团队账户余额不足!!!');
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if(this.rebookForm.paymentType == 5 && (!this.grantQuota||this.grantQuota<=0||this.grantQuota < this.rebookForm.realPrice)) {
|
|
|
+ this.$message.error('团队授信余额不足!!!');
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if((this.rebookForm.paymentType == 3 || this.rebookForm.paymentType == 6) && this.form.photoList.length<1){
|
|
|
+ this.$message.error('请上传凭证')
|
|
|
+ return
|
|
|
+ }
|
|
|
this.orderInfoSubmitFun()
|
|
|
} else {
|
|
|
return false;
|
|
@@ -350,9 +393,8 @@ export default {
|
|
|
realPrice: res.data.reSubmitInfo.realPrice,
|
|
|
diffPrice: res.data.reSubmitInfo.diffPrice
|
|
|
}
|
|
|
-
|
|
|
if(this.rebookForm.diffPrice <= 0) {
|
|
|
- this.rebookForm.paymentType == "2"
|
|
|
+ this.rebookForm.paymentType = "2"
|
|
|
}
|
|
|
} catch (error) {
|
|
|
|
|
@@ -368,7 +410,7 @@ export default {
|
|
|
auditoriumId: this.rebookForm.auditoriumId,
|
|
|
timeId: this.rebookForm.performTimeId,
|
|
|
goodsId: this.rebookForm.goodsId,
|
|
|
- channelType: this.rebookForm.timeId ? 'group' : 'window'
|
|
|
+ channelType: this.rebookForm.channelType
|
|
|
})
|
|
|
if(res.code == 200){
|
|
|
let list1 = []
|
|
@@ -452,10 +494,79 @@ export default {
|
|
|
console.log("已选择的====",list)
|
|
|
},
|
|
|
setRealPrice_1(value) {
|
|
|
- if(this.rebookForm.realPrice && !isNaN(this.rebookForm.realPrice) && value && !isNaN(value)) {
|
|
|
- this.$set(this.rebookForm,'small',mathM.format(Number(value) - Number(this.rebookForm.realPrice),10) )
|
|
|
+ if(this.rebookForm.goodsDiffAmount && !isNaN(this.rebookForm.goodsDiffAmount) && value && !isNaN(value)) {
|
|
|
+ this.$set(this.rebookForm,'small',mathM.format(Number(value) - Number(this.rebookForm.goodsDiffAmount),10) )
|
|
|
}
|
|
|
},
|
|
|
+ setRealPrice_2(value) {
|
|
|
+ if(this.rebookForm.realPrice_1 && !isNaN(this.rebookForm.realPrice_1) && value && !isNaN(value)) {
|
|
|
+ this.$set(this.rebookForm,'small',mathM.format(Number(this.rebookForm.realPrice_1) - Number(value),10) )
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /** 获取授信余额和账户余额 */
|
|
|
+ async selectMarketTeamBySourceFun(value) {
|
|
|
+ console.log("value===",value)
|
|
|
+ try {
|
|
|
+ let res = await selectMarketTeamBySourceApi({
|
|
|
+ source: value
|
|
|
+ })
|
|
|
+ this.balance = res.data.balance
|
|
|
+ if(res.data.grantQuota && res.data.grantUsed) {
|
|
|
+ this.grantQuota = res.data.grantQuota - res.data.grantUsed
|
|
|
+ }else if(res.data.grantQuota) {
|
|
|
+ this.grantQuota = res.data.grantQuota
|
|
|
+ }else {
|
|
|
+ this.grantQuota = 0
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (error) {
|
|
|
+ this.balance = null
|
|
|
+ this.grantQuota = null
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /** 上传图片 单张 */
|
|
|
+ handleAvatarSuccess(response, file, fileList) {
|
|
|
+ this.actionUrlLoading = false
|
|
|
+ if (response.code == 200) {
|
|
|
+ this.rebookForm.photoList.push(response.data.url)
|
|
|
+ }
|
|
|
+ this.$refs.rebookForm.validateField('photoList')
|
|
|
+ },
|
|
|
+ beforeAvatarUpload(file) {
|
|
|
+ const isLt2M = file.size / 1024 / 1024 <= 100;
|
|
|
+ let testmsg = file.name.substring(file.name.lastIndexOf('.') + 1)
|
|
|
+ let typeList = ['png', 'jepg', 'jpg', 'gif']
|
|
|
+ const isJPG = typeList.includes(testmsg);
|
|
|
+ if (!isJPG) {
|
|
|
+ this.$message.error(`上传图片图片只能是 ${typeList} 格式!`);
|
|
|
+ }
|
|
|
+ if (!isLt2M) {
|
|
|
+ this.$message.error('上传图片图片大小不能超过 100MB!');
|
|
|
+ }
|
|
|
+ return isJPG && isLt2M;
|
|
|
+ },
|
|
|
+ handleAvatarProgress() {
|
|
|
+ this.actionUrlLoading = true
|
|
|
+ },
|
|
|
+ handleAvatarError() {
|
|
|
+ this.actionUrlLoading = false
|
|
|
+ },
|
|
|
+ handleRemove(index) {
|
|
|
+ this.rebookForm.photoList.splice(index,1)
|
|
|
+ this.$refs.rebookForm.validateField('photoList')
|
|
|
+ },
|
|
|
+ async handleCorporatePay(row) {
|
|
|
+ // 获取余额信息
|
|
|
+ try {
|
|
|
+ const balanceRes = await getBalanceInfo(row.memberId)
|
|
|
+ if(balanceRes.code === 200) {
|
|
|
+ this.balance = balanceRes.data.balance
|
|
|
+ this.balance = balanceRes.data.grantQuota
|
|
|
+ }
|
|
|
+ } catch(err) {
|
|
|
+ console.error('获取余额信息失败', err)
|
|
|
+ }
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -512,4 +623,28 @@ export default {
|
|
|
color: #fff;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+::v-deep .avatar-uploader .el-upload {
|
|
|
+ border: 1px dashed #d9d9d9;
|
|
|
+ border-radius: 6px;
|
|
|
+ cursor: pointer;
|
|
|
+ position: relative;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+ ::v-deep .avatar-uploader .el-upload:hover {
|
|
|
+ border-color: #409EFF;
|
|
|
+ }
|
|
|
+ ::v-deep .avatar-uploader-icon {
|
|
|
+ font-size: 28px;
|
|
|
+ color: #8c939d;
|
|
|
+ width: 100px;
|
|
|
+ height: 100px;
|
|
|
+ line-height: 100px;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ ::v-deep .avatar {
|
|
|
+ width: 100px;
|
|
|
+ height: 100px;
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
</style>
|