优化:商户信息编辑兼容普通商户和供应商

添加:商户基本配置信息修改为全局可获取
This commit is contained in:
wuhui_zzw 2024-02-27 13:48:54 +08:00
parent 0593ad11f0
commit 1b9f915de5
3 changed files with 389 additions and 363 deletions

View File

@ -62,7 +62,7 @@
<script>
import { userLstApi } from '@/api/system'
import {getConfigApi} from "@/api/systemForm";
export default {
name: 'UserList',
filters: {
@ -105,10 +105,9 @@ export default {
},
mounted() {
this.getList(1)
getConfigApi().then(res => {
this.config = res.data || {};
}).catch(res => {
this.$message.error(res.message)
//
this.$root.getConfig().then((res) => {
this.config = res
})
},
methods: {

View File

@ -9,7 +9,7 @@ import Element from 'element-ui'
import Moment from 'moment'
import cascader from 'element-ui/lib/cascader'
import './styles/element-variables.scss'
import 'viewerjs/dist/viewer.css';
import 'viewerjs/dist/viewer.css'
import '@/styles/index.scss' // global css
import '@/styles/iconfont/iconfont.css'
@ -21,7 +21,7 @@ import VueLazyload from 'vue-lazyload'
import App from './App'
import store from './store'
import router from './router'
import Viewer from 'v-viewer';
import Viewer from 'v-viewer'
import FormCreate from '@form-create/element-ui'
import uploadPicture from './components/uploadPicture/uploadFrom'
import VueUeditorWrap from 'vue-ueditor-wrap'
@ -45,15 +45,16 @@ import { modalSureDelete } from '@/libs/public'
import * as filters from './filters' // global filters modalTemplates
import notice from '@/libs/notice' // global filters
import { getToken } from './utils/auth'
import { getConfigApi } from '@/api/systemForm'
Vue.use(uploadPicture)
Vue.use(FormCreate)
Vue.use(VueAwesomeSwiper)
Vue.use(Viewer, {
defaultOptions: {
zIndex: 9999,
},
});
zIndex: 9999
}
})
Vue.use(VueLazyload, {
preLoad: 1.3,
error: require('./assets/images/no.png'),
@ -115,11 +116,26 @@ Vue.config.productionTip = false
export default new Vue({
el: '#app',
data: {
notice: _notice
notice: _notice,
config: {}
},
created() {},
mounted() {},
methods: {
closeNotice() {
this.notice && this.notice()
},
async getConfig() {
let _this = this
if (Object.values(_this.config).length <= 0) {
await getConfigApi().then(res => {
_this.config = res.data || {}
}).catch(err => {
console.log('配置信息获取失败' + err)
})
}
return _this.config
}
},
router,

View File

@ -1,51 +1,54 @@
<template>
<div class="information">
<el-tabs v-if="tabList.length > 0" v-model="infoType">
<el-tab-pane v-for="(item,index) in tabList" :key="index" :name="item.value" :label="item.title " />
<el-tabs v-model="infoType">
<el-tab-pane name="1" label="基本信息" />
<el-tab-pane name="2" label="店铺信息" />
<el-tab-pane name="3" label="功能信息" />
<el-tab-pane name="4" label="二维码信息" v-if="config.merchant_type != 2" />
</el-tabs>
<div v-if="merModel" class="business-msg" style="min-height: 600px;">
<div v-if="infoType == '1'" class="user-msg">
<div class="basic-information">
<span class="basic-label">商户名称</span>
<span class="basic-label">{{ typeText }}名称</span>
{{ merData.mer_name }}
</div>
<div class="basic-information">
<span class="basic-label">商户负责人手机号</span>
<span class="basic-label">{{ typeText }}负责人手机号</span>
{{ merData.mer_phone }}
</div>
<div v-if="merData.merchantCategory" class="basic-information">
<span class="basic-label">商户分类</span>
<span class="basic-label">{{ typeText }}分类</span>
{{ merData.merchantCategory.category_name || "" }}
</div>
<div v-if="merData.merchantType" class="basic-information">
<span class="basic-label"> 商户类型</span>
<span class="basic-label"> {{ typeText }}类型</span>
{{ merData.merchantType.type_name }}
</div>
<div v-if="merData.merchantCategory" class="basic-information">
<span class="basic-label"> 商户类别</span>
<span class="basic-label"> {{ typeText }}类别</span>
{{ merData.is_trader ? "自营" : "非自营" }}
</div>
<div class="basic-information">
<span class="basic-label"> 商户负责人姓名</span>
<span class="basic-label"> {{ typeText }}负责人姓名</span>
{{ merData.real_name }}
</div>
<div class="basic-information">
<span class="basic-label"> 商户入驻时间</span>
<span class="basic-label"> {{ typeText }}入驻时间</span>
{{ merData.create_time }}
</div>
<div v-if="merData.sub_mchid" class="basic-information">
<span class="basic-label"> 商户入驻时间</span>
<span class="basic-label"> {{ typeText }}入驻时间</span>
{{ merData.create_time }}
</div>
<div v-if="merData.sub_mchid && merData.merchantType" class="basic-information">
<span class="basic-label"> 店铺类型</span>
{{ merData.merchantType.type_name }}
</div>
<div class="basic-information">
<div v-if="config.merchant_type != 2" class="basic-information">
<div>
<span class="basic-label">是否开启商户</span>
<span class="basic-label">是否开启{{ typeText }}</span>
<el-tooltip v-if="merData.is_margin == 1 && merData.mer_state == 0" class="item" effect="dark" content="请先支付店铺保证金!" placement="top-start">
<el-switch disabled v-model="merData.mer_state" active-text="开启" inactive-text="关闭" :active-value="1" :inactive-value="0" />
<el-switch v-model="merData.mer_state" disabled active-text="开启" inactive-text="关闭" :active-value="1" :inactive-value="0" />
</el-tooltip>
<el-switch v-else v-model="merData.mer_state" active-text="开启" inactive-text="关闭" :active-value="1" :inactive-value="0" />
<span class="trip">开启店铺即可展示在移动端</span>
@ -72,7 +75,7 @@
</div>
</div>
<!--已支付-->
<div class="margin_main" v-if="merData.is_margin == 10 ">
<div v-if="merData.is_margin == 10 " class="margin_main">
<span class="basic-label">店铺保证金</span>
<span class="margin_price">{{ merData.margin }}</span>
<div class="margin_count">
@ -80,10 +83,11 @@
<!--保证金弹窗-->
<div class="margin_modal" @mouseleave="supplyPay=false">
<div>
<img src="@/assets/images/margin03.png"/>
<img src="@/assets/images/margin03.png">
<div class="alic">
<span class="text_g">剩余保证金{{ merData.margin }}</span>
<el-button v-if="merData.margin>0" type="primary" size="small" @click="applyReturn">申请退回保证金</el-button>
<el-button v-if="merData.margin>0" type="primary" size="small" @click="applyReturn">申请退回保证金
</el-button>
</div>
</div>
</div>
@ -104,7 +108,7 @@
</div>
</div>
</div>
<div class="margin_main" v-if="merData.is_margin == -10 || merData.is_margin == -1">
<div v-if="merData.is_margin == -10 || merData.is_margin == -1" class="margin_main">
<span class="basic-label">店铺保证金</span>
<span class="margin_price">{{ merData.margin }}</span>
<div class="margin_count">
@ -112,18 +116,19 @@
<!--保证金弹窗-->
<div class="margin_modal" @mouseleave="goPay=false">
<div>
<img v-if="merData.is_margin == -10" src="@/assets/images/margin01.png"/>
<img v-if="merData.is_margin == -1" src="@/assets/images/margin02.png"/>
<img v-if="merData.is_margin == 10" src="@/assets/images/margin03.png"/>
<div class="alic" v-if="merData.is_margin == 10">
<img v-if="merData.is_margin == -10" src="@/assets/images/margin01.png">
<img v-if="merData.is_margin == -1" src="@/assets/images/margin02.png">
<img v-if="merData.is_margin == 10" src="@/assets/images/margin03.png">
<div v-if="merData.is_margin == 10" class="alic">
<span class="text_g">剩余保证金{{ merData.margin }}</span>
<el-button v-if="merData.margin>0" type="primary" size="small" @click="applyReturn">申请退回保证金</el-button>
<el-button v-if="merData.margin>0" type="primary" size="small" @click="applyReturn">申请退回保证金
</el-button>
</div>
<div class="alic" v-if="merData.is_margin == -1">
<div v-if="merData.is_margin == -1" class="alic">
<span class="text_b b01"> 审核中</span>
<div class="margin_refused">您申请退回保证金正在审核中</div>
</div>
<div class="alic" v-if="merData.is_margin == -10">
<div v-if="merData.is_margin == -10" class="alic">
<span class="text_b b02">审核未通过</span>
<div class="margin_refused">未通过原因<span>{{ merData.refundMarginOrder.refusal }}</span></div>
<el-button type="primary" size="small" @click="applyReturn">再次申请</el-button>
@ -202,7 +207,7 @@
<div class="trip">建议尺寸120*120px</div>
</div>
</el-form-item>
<el-form-item class="form-item" label="店铺街背景图:">
<el-form-item v-if="config.merchant_type != 2" class="form-item" label="店铺街背景图:">
<div class="upLoadPicBox" @click="modalPicTap('3')">
<div v-if="merData.mini_banner" class="pictrue">
<img :src="merData.mini_banner">
@ -230,11 +235,17 @@
</div>
</el-form-item>
<el-form-item label="配送方式:" prop="delivery_way">
<template v-if="config.merchant_type == 2">
<el-checkbox-group v-model="merData.delivery_way">
<el-checkbox v-for="item in deliveryList" :key="item.value" :label="item.value">
{{ item.name }}
</el-checkbox>
</el-checkbox-group> <span class="trip">,</span>
<el-checkbox :label="'2'" checked>快递配送</el-checkbox>
</el-checkbox-group>
</template>
<template v-else>
<el-checkbox-group v-model="merData.delivery_way">
<el-checkbox v-for="item in deliveryList" :key="item.value" :label="item.value">{{ item.name }}</el-checkbox>
</el-checkbox-group>
<span class="trip">只选择一种配送方式时,会自动修改店铺所有商品的配送方式</span>
</template>
</el-form-item>
<el-row v-if="(merData.delivery_way.length == 1 && merData.delivery_way[0] == '1') || (merData.delivery_way.length == 2)" :gutter="24">
<el-col :span="24">
@ -269,7 +280,8 @@
slot="append"
type="primary"
@click="onSearchs"
>查找位置</el-button>
>查找位置
</el-button>
</el-input>
<div slot="content">请点击查找位置选择位置</div>
</el-form-item>
@ -299,25 +311,25 @@
v-model="value1"
placeholder="开始时间"
value-format="HH:mm"
@change="onchangeTime1">
</el-time-picker>
@change="onchangeTime1"
/>
<el-time-picker
v-model="value2"
placeholder="结束时间"
value-format="HH:mm"
@change="onchangeTime2">
</el-time-picker>
@change="onchangeTime2"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="商户简介:" prop="mer_info">
<el-form-item :label="typeText + '简介:'" prop="mer_info">
<el-input v-model="merData.mer_info" type="textarea" placeholder="文字简介200字以内" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="商户关键字:" prop="mer_keyword">
<el-form-item v-if="config.merchant_type != 2" :label="typeText + '关键字:'" prop="mer_keyword">
<div class="tip-form">
<el-input v-model="merData.mer_keyword" style="min-width: 200px;" placeholder="用户在搜索该关键字时,可搜索到本店铺" />
</div>
@ -337,8 +349,8 @@
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="商户地址:" prop="mer_address">
<el-input v-model="merData.mer_address" enter-button="查找位置" placeholder="请输入商户地址(地址中请包含城市名称,否则会影响搜索精度)">
<el-form-item :label="typeText + '地址:'" prop="mer_address">
<el-input v-model="merData.mer_address" enter-button="查找位置" :placeholder="'请输入' + typeText + '地址(地址中请包含城市名称,否则会影响搜索精度)'">
<el-button slot="append" type="primary" @click="onSearch">查找位置</el-button>
</el-input>
</el-form-item>
@ -352,31 +364,33 @@
</div>
</div>
<div v-if="infoType == '3'" class="user-msg">
<div class="basic-information" v-if="merData.merchantCategory">
<div v-if="merData.merchantCategory" class="basic-information">
<span class="basic-label"> 商户手续费</span>
{{ Number(merData.commission_rate) > 0 ? (parseFloat(merData.commission_rate)).toFixed(2) : (parseFloat(merData.merchantCategory.commission_rate * 100)).toFixed(2)}}%
{{
Number(merData.commission_rate) > 0 ? (parseFloat(merData.commission_rate)).toFixed(2) : (parseFloat(merData.merchantCategory.commission_rate * 100)).toFixed(2)
}}%
</div>
<div class="basic-information">
<span class="basic-label"> 添加商品</span>
{{ merData.is_audit ? "需平台审核" : "平台免审核" }}
</div>
<div class="basic-information">
<div class="basic-information" v-if="config.merchant_type != 2">
<span class="basic-label"> 开启直播间</span>
{{ merData.is_bro_room ? "需平台审核" : "平台免审核" }}
</div>
<div class="basic-information">
<div class="basic-information" v-if="config.merchant_type != 2">
<span class="basic-label"> 添加直播商品</span>
{{ merData.is_bro_goods ? "需平台审核" : "平台免审核" }}
</div>
<div class="basic-information">
<div class="basic-information" v-if="config.merchant_type != 2">
<span class="basic-label"> 平台首页推荐商户</span>
{{ merData.is_best ? "是" : "否" }}
</div>
</div>
<div v-if="infoType == '4'" class="user-msg">
<div v-if="infoType == '4' && config.merchant_type != 2" class="user-msg">
<div class="qr-code-box">
<div class="title">在线买单二维码</div>
<img class="qr-code-img" :src="merData.online_payment_qr_code" />
<img class="qr-code-img" :src="merData.online_payment_qr_code">
</div>
</div>
<div v-if="infoType != 3 && infoType != 4" class="submit-button">
@ -441,73 +455,15 @@
import { storeGetInfoApi, marginCode, marginMakeCode, marginRecordLst, marginRefund, marginRefundApply } from '@/api/setting'
import { getBaseInfo, merchantUpdate } from '@/api/user.js'
import Maps from '@/components/map/map.vue'
import { mapState } from 'vuex'
import { getToken } from '@/utils/auth'
import SettingMer from '@/libs/settingMer'
import { roterPre } from '@/settings'
//
import VueQr from 'vue-qr'
import VueQr from 'vue-qr'//
export default {
name: 'Information',
components: { Maps, VueQr },
data() {
var checkPhone = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入客服电话'))
} else {
let regPone = null
const mobile = /^1(3|4|5|6|7|8|9)\d{9}$/ // 16
const tel = /^(0[0-9]{2,3}\-)([2-9][0-9]{4,7})+(\-[0-9]{1,4})?$/ //
const tels = /^400-[016789]\d{2}-\d{4}$/
if (value.charAt(0) == 0) {
// charAt
regPone = tel
}else if(value.charAt(0) == 4){
regPone = tels
} else {
regPone = mobile
}
if (!regPone.test(value)) {
return callback(new Error("请填写客服电话(座机格式'区号-座机号码'),400格式400-XXX-XXXX"))
}
callback()
}
}
// const checkPhone= (rule, value, callback) =>{
// const phoneExp = /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
// setTimeout(()=>{
// if(value !== undefined && value !==''){
// if ((!phoneExp.test(value)) && value !== '') {
// callback(new Error(''));
// } else {
// callback();
// }
// }else{
// callback()
// }
// },100)
// }
// var checkPhone = (rule, value, callback) => {
// if (value === '') {
// callback(new Error(''))
// }
// if (value.length !== 11) {
// callback(new Error(''))
// }
// if (value.length !== 11) {
// callback(new Error(''))
// }
// // ? ?
// var ab = /^[1][3,4,5,7,8][0-9]{9}$/
// if (ab.test(value) === false) {
// callback(new Error(''))
// }
// callback()
// }
const validatePhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('请填写手机号'))
@ -536,8 +492,8 @@ export default {
total: 0,
data: []
},
value1: "",
value2: "",
value1: '',
value2: '',
marginPrice: 0,
merData: {
delivery_way: [],
@ -548,7 +504,8 @@ export default {
mer_take_day: [],
mer_take_location: '',
id: 0,
mer_take_status: 0 }, //
mer_take_status: 0
}, //
myHeaders: { 'X-Token': getToken() },
uploadedQualifications: [], //
mapKey: '', // key
@ -569,14 +526,14 @@ export default {
{ value: '2', name: '快递配送' }
],
rules: {
mer_banner: [{ required: true, message: '请上传店铺banner' }],
mer_avatar: [{ required: true, message: '请上传店铺头像' }],
mer_info: [{ required: true, message: '请输入商户简介', trigger: 'blur' },
mer_banner: [{ required: true, message: '请上传banner' }],
mer_avatar: [{ required: true, message: '请上传头像' }],
mer_info: [{ required: true, message: '请输入简介', trigger: 'blur' },
{ min: 3, max: 200, message: '长度在 3 到 200 个字符', trigger: 'blur' }
],
mer_keyword: [{ required: false, message: '请输入商户关键字', trigger: 'blur' }],
mer_address: [{ required: true, message: '请输入商户地址', trigger: 'blur' }],
uploadedqualifications: [{ required: true, message: '请上传商户资质', trigger: 'blur' }],
mer_keyword: [{ required: false, message: '请输入关键字', trigger: 'blur' }],
mer_address: [{ required: true, message: '请输入地址', trigger: 'blur' }],
uploadedqualifications: [{ required: true, message: '请上传资质', trigger: 'blur' }],
delivery_way: [{ required: true, message: '请选择送货方式', trigger: 'change' }],
mer_take_name: [{ required: true, message: '请输入提货点名称', trigger: 'blur' }],
mer_take_day: [{ required: true, type: 'array', message: '请选择提货点营业日期', trigger: 'change' }],
@ -586,10 +543,10 @@ export default {
mer_take_location: [{ required: true, message: '请选择经纬度', trigger: 'blur' }]
},
bankValidate: {
code: "",
name: "",
code: '',
name: '',
type: 1,
pic: ""
pic: ''
},
bankRules: {
code: [{ required: true, message: '请输入开户银行', trigger: 'blur' }],
@ -597,23 +554,26 @@ export default {
{ required: true, message: '请输入银行卡号', trigger: 'blur' },
{ pattern: /\d{10,19}/, message: '请输入正确的银行账号', trigger: 'blur' }
],
name: [{ required: true, message: '请输入真实姓名', trigger: 'blur' }],
name: [{ required: true, message: '请输入真实姓名', trigger: 'blur' }]
},
offline: "",
online: "",
offline: '',
online: '',
keyUrl: '',
infoType: '1',
tabList: [
{value: '1',title: '基本信息'},
{value: '2',title: '店铺信息'},
{value: '3',title: '功能信息'},
{value: '4',title: '二维码信息'}
]
//
config: {}
}
},
computed: {
fileUrl() {
return SettingMer.https + `/upload/certificate`
},
typeText() {
const type = this.config.merchant_type || 0
// 0=1=2=
if (type == 1) return '酒道馆'
else if (type == 2) return '供应商'
else '商户'
}
},
watch: {
@ -628,33 +588,31 @@ export default {
},
created() {
this.getMapInfo()
},
mounted: function() {
window.addEventListener(
'message',
function(event) {
mounted() {
window.addEventListener('message', function(event) {
//
var loc = event.data
if (loc && loc.module === 'locationPicker') {
// postmodule'locationPicker'
window.parent.selectAdderss(loc)
}
},
false
)
}, false)
window.selectAdderss = this.selectAdderss
this.getInfo()
//
this.$root.getConfig().then((res) => {
this.config = res
})
},
methods: {
//
onchangeTime1(e) {
this.value1 = e;
this.value1 = e
this.merData.mer_take_time[0] = e
},
onchangeTime2(e) {
this.value2 = e;
this.value2 = e
this.merData.mer_take_time[1] = e
},
//
@ -663,7 +621,9 @@ export default {
this.modalMap = false
},
onSearchs() {
if (!this.key || this.key == '') { this.$message.error('平台未配置腾讯地图KEY') } else this.modalMap = true
if (!this.key || this.key == '') {
this.$message.error('平台未配置腾讯地图KEY')
} else this.modalMap = true
},
//
getCoordinates(data) {
@ -718,7 +678,7 @@ export default {
marginRefundApply(this.bankValidate)
.then((res) => {
this.$message.success(res.message)
this.modalBank = false;
this.modalBank = false
this.getInfo()
})
.catch((res) => {
@ -766,7 +726,7 @@ export default {
}
})
} else {
let data = {
const data = {
mer_state: this.merData.mer_state,
type: this.infoType
}
@ -784,7 +744,7 @@ export default {
},
//
getCode() {
let that = this
const that = this
if (this.merData.marginStatus) {
marginMakeCode()
.then((res) => {
@ -809,22 +769,22 @@ export default {
},
//
viewRecords() {
this.tableFrom.page = 1;
this.modalRecord = true;
this.tableFrom.page = 1
this.modalRecord = true
this.getRecordList()
},
//
getRecordList() {
let that = this
that.loading = true;
const that = this
that.loading = true
marginRecordLst(that.tableFrom).then(async(res) => {
that.tableData.data = res.data.list;
that.tableData.total = res.data.count;
that.loading = false;
that.tableData.data = res.data.list
that.tableData.total = res.data.count
that.loading = false
}).catch((res) => {
that.loading = false;
that.$message.error(res.message);
});
that.loading = false
that.$message.error(res.message)
})
},
pageChange(page) {
this.tableFrom.page = page
@ -836,7 +796,7 @@ export default {
},
// 退
applyReturn() {
let that = this;
const that = this
that.$confirm('申请退回保证金则视为关闭店铺,请谨慎操作!您是否确定继续操作?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -875,7 +835,7 @@ export default {
const that = this
storeGetInfoApi()
.then((res) => {
console.log(res)
// console.log(res)
this.mapKey = res.data.tx_map_key
})
.catch(function(res) {
@ -931,21 +891,25 @@ export default {
/deep/ .el-textarea__inner {
height: 90px;
}
.information {
width: 100%;
padding: 10px 20px 80px 20px;
h2 {
text-align: center;
color: #303133;
font-weight: bold;
font-size: 20px;
}
.lab-title {
width: max-content;
font-size: 14px;
font-weight: bold;
color: #303133;
margin: 10px 10%;
&::before {
content: "";
display: inline-block;
@ -957,9 +921,11 @@ export default {
top: 1px;
}
}
.user-msg {
padding: 0 20px;
margin-top: 20px;
.qr-code-box {
display: inline-flex;
flex-direction: row;
@ -967,9 +933,11 @@ export default {
flex-wrap: nowrap;
justify-content: flex-start;
padding-left: 200px;
.title {
font-size: 18px;
}
.qr-code-img {
margin-left: 50px;
border: 1px solid #CFCFCF;
@ -979,6 +947,7 @@ export default {
}
}
}
.basic-information {
padding: 0 100px;
margin-bottom: 20px;
@ -986,6 +955,7 @@ export default {
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
color: #606266;
.basic-label {
display: inline-block;
text-align: right;
@ -993,29 +963,37 @@ export default {
margin-right: 10px;
}
}
.trip {
color: #999999;
font-weight: normal;
font-size: 12px;
}
/deep/ .el-form-item__label {
color: #303133;
}
.demo-ruleForm {
overflow: hidden;
}
.form-data {
padding: 30px 8%;
.map-sty {
width: 100%;
}
.pictrue img {
border-radius: 4px;
object-fit: cover;
}
.tip-form {
display: flex;
align-items: center;
span {
white-space: nowrap;
padding-left: 10px;
@ -1023,6 +1001,7 @@ export default {
}
}
}
.submit-button {
display: flex;
justify-content: center;
@ -1034,17 +1013,21 @@ export default {
background-color: rgba(255, 255, 255, 0.7);
}
}
.bank-container {
padding: 0 20px;
.item {
margin-top: 10px;
color: #282828;
font-size: 13px;
line-height: 26px;
}
.red {
color: rgb(237, 64, 20);;
}
.title {
color: #303133;
margin: 15px 0;
@ -1052,21 +1035,26 @@ export default {
}
}
.font_red {
color: red;
margin-right: 5px;
}
.spanBtn {
color: #437FFD;
font-size: 12px;
cursor: pointer;
}
.margin_main {
position: relative;
.margin_price {
cursor: pointer;
}
}
.margin_modal {
position: absolute;
left: -20px;
@ -1080,63 +1068,77 @@ export default {
padding-bottom: 30px;
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);
display: none;
.alic {
text-align: center;
}
img {
display: block;
width: 150px;
height: 116px;
margin: 20px auto 50px;
}
span {
margin-bottom: 10px;
display: block;
font-weight: normal;
text-align: center;
}
.text_g {
font-size: 16px;
color: #303133;
}
.text_b {
color: #606266;
font-size: 18px;
font-weight: bold;
margin-bottom: 14px;
&.b02 {
color: #EF9B6F;
}
&.b01 {
color: #57D1A0;
}
}
.el-button {
margin-top: 25px;
}
}
.margin_refused {
display: block;
margin-bottom: 10px;
text-align: center;
color: #606266;
span {
display: inline;
// color: red;
}
}
.margin_count {
position: relative;
display: inline-block;
padding-bottom: 10px;
.pay_btn:hover + .erweima {
display: block;
}
&:hover {
.margin_modal {
display: block;
}
}
.erweima {
position: absolute;
left: 0;
@ -1156,22 +1158,26 @@ export default {
height: 160px;
margin-top: 20px;
}
.pay_type {
font-size: 16px;
color: #303133;
font-weight: normal;
}
.pay_price {
font-size: 18px;
color: #E57272;
margin: 10px 0;
}
.pay_title {
font-size: 16px;
color: #303133;
margin-top: 20px;
}
.pay_time {
font-size: 12px;
color: #6D7278;
@ -1180,6 +1186,7 @@ export default {
}
}
/deep/ .el-upload--picture-card {
width: 58px;
height: 58px;
@ -1194,11 +1201,13 @@ export default {
.upLoadPicBox_qualification {
display: flex;
flex-wrap: wrap;
.uploadpicBox_list {
position: relative;
height: 58px;
width: 58px;
margin: 0 20px 20px 0;
.uploadpicBox_list_image {
position: absolute;
top: 0;
@ -1207,6 +1216,7 @@ export default {
height: 58px;
border-radius: 4px;
overflow: hidden;
img {
width: 100%;
height: 100%;
@ -1232,6 +1242,7 @@ export default {
}
}
}
.uploadpicBox_list:hover .uploadpicBox_list_method {
z-index: 11;
opacity: 1;