Browse Source

收款方式 功能优化

pull/106/head
pengda 3 weeks ago
parent
commit
3fabf7fbe0
  1. 8
      src/components/SetLeftMenu.vue
  2. 14
      src/store/index.js
  3. 17
      src/views/agent/payCertSetting.vue
  4. 8
      src/views/agent/payInfoSetting.vue
  5. 2
      src/views/agent/payList.vue
  6. 23
      src/views/agent/paySetting.vue
  7. 47
      src/views/agent/siteBaseSetting.vue
  8. 92
      src/views/agent/siteMobileSetting.vue
  9. 6
      src/views/agent/sitePersonalization.vue
  10. 11
      src/views/agent/siteSemSetting.vue

8
src/components/SetLeftMenu.vue

@ -234,6 +234,14 @@ export default {
setHighActive(dom) { setHighActive(dom) {
const ele = document.getElementById(dom); const ele = document.getElementById(dom);
if (ele) { if (ele) {
const eles = document.getElementsByClassName('siteMessage');
for (let i = 0; i < eles.length; i++) {
eles[i].classList.remove('siteMessage-active');
}
ele.classList.add('siteMessage-active');
setTimeout(function (){
ele.classList.remove('siteMessage-active');
},1000)
ele.scrollIntoView({ ele.scrollIntoView({
behavior: 'smooth', behavior: 'smooth',
block: 'start' block: 'start'

14
src/store/index.js

@ -247,6 +247,10 @@ export default new Vuex.Store({
desc: 'siteMessage2' desc: 'siteMessage2'
}, },
{ {
name: '渠道设置',
desc: 'siteMessage14'
},
{
name: '收款方式', name: '收款方式',
desc: 'siteMessage3' desc: 'siteMessage3'
}, },
@ -333,6 +337,10 @@ export default new Vuex.Store({
desc: 'siteMessage2' desc: 'siteMessage2'
}, },
{ {
name: '渠道设置',
desc: 'siteMessage14'
},
{
name: '收款方式', name: '收款方式',
desc: 'siteMessage3' desc: 'siteMessage3'
}, },
@ -380,6 +388,10 @@ export default new Vuex.Store({
name: '小程序', name: '小程序',
desc: 'siteMessage10' desc: 'siteMessage10'
}, },
{
name: '手机浏览器',
desc: 'siteMessage15'
},
] ]
}, },
{ {
@ -514,7 +526,7 @@ export default new Vuex.Store({
img:'site/pay.svg', img:'site/pay.svg',
imgActive: require('@/assets/site/sitebase_active.svg'), imgActive: require('@/assets/site/sitebase_active.svg'),
list: [], list: [],
permission:[0,4,11,2] permission:[0,4,11,2,3]
}, },
{ {
name: '钱款交易', name: '钱款交易',

17
src/views/agent/payCertSetting.vue

@ -2,7 +2,7 @@
<div class="main-content12"> <div class="main-content12">
<!-- page content --> <!-- page content -->
<div class="site-setting-wrap min-flex-right site-personal-wrap"> <div class="site-setting-wrap min-flex-right site-personal-wrap">
<div class="siteMessage flex-common mt12" id="siteMessage1"> <div class="siteMessage flex-common mt12" v-if="areaShowList.includes('siteMessage1')" id="siteMessage1">
<h3 class="mb12">管理证书</h3> <h3 class="mb12">管理证书</h3>
<div class="beforeNotice"> <div class="beforeNotice">
<span class="flex"> <img src="@/assets/site/siteSemInfo_Icon.svg" alt="" style="margin-right: 5px;"> API证书获取 <span class="flex"> <img src="@/assets/site/siteSemInfo_Icon.svg" alt="" style="margin-right: 5px;"> API证书获取
@ -43,7 +43,7 @@
<GroupFormBtns @cancel="cancleUpdateSiteInfo()" @confirm="saveCert" /> <GroupFormBtns @cancel="cancleUpdateSiteInfo()" @confirm="saveCert" />
</el-form> </el-form>
</div> </div>
<div class="siteMessage flex-common mt-18" id="siteMessage2"> <div class="siteMessage flex-common mt-18" v-if="areaShowList.includes('siteMessage2')" id="siteMessage2">
<h3>平台退款</h3> <h3>平台退款</h3>
<el-form> <el-form>
<div class="flex-wrap"> <div class="flex-wrap">
@ -61,7 +61,7 @@
</div> </div>
</el-form> </el-form>
</div> </div>
<div class="siteMessage flex-common mt-18" id="siteMessage3"> <div class="siteMessage flex-common mt-18" v-if="areaShowList.includes('siteMessage3')" id="siteMessage3">
<h3>分账管理</h3> <h3>分账管理</h3>
<el-form class="tcpr-wrap"> <el-form class="tcpr-wrap">
<el-tabs v-model="profitShareTab" @tab-click="handleClick"> <el-tabs v-model="profitShareTab" @tab-click="handleClick">
@ -282,6 +282,7 @@ export default {
}, },
data() { data() {
return { return {
areaShowList: [],
payid: '', payid: '',
payinfo: [], payinfo: [],
payType: -1, payType: -1,
@ -326,6 +327,11 @@ export default {
const {payType} = this.$route.query const {payType} = this.$route.query
store.commit('SET_CUSTOMIZE', true); store.commit('SET_CUSTOMIZE', true);
const data = this.$filterByPermission(this.paySettingData,Number(payType)) const data = this.$filterByPermission(this.paySettingData,Number(payType))
data.forEach((row) => {
row.list.forEach((item) => {
this.areaShowList.push(item.desc)
})
})
store.commit('SET_SLIDER_MENU', data); store.commit('SET_SLIDER_MENU', data);
}, },
mounted() { mounted() {
@ -599,6 +605,11 @@ a {
color: #1E2226; color: #1E2226;
} }
.siteMessage-active {
border: 1px solid #006AFF!important;
box-shadow: 0px 4px 16px 0px rgba(17, 55, 143, 0.12);
}
.site-setting-wrap { .site-setting-wrap {
width: 100%; width: 100%;
} }

8
src/views/agent/payInfoSetting.vue

@ -254,8 +254,12 @@ export default {
if (this.payType == PAY_TYPE_WEIXIN && response.data.qrcode_url) { if (this.payType == PAY_TYPE_WEIXIN && response.data.qrcode_url) {
this.getQrCodeUrl(response.data.qrcode_url); this.getQrCodeUrl(response.data.qrcode_url);
} }
if (this.payType == PAY_TYPE_ALIPAY && response.data.qrcode_url) { if (this.payType == PAY_TYPE_ALIPAY) {
this.getQrCodeUrl(response.data.qrcode_url); if(response.data.qrcode_url) {
this.getQrCodeUrl(response.data.qrcode_url);
} else {
this.confirmText = '去授权';
}
} }
if (this.payType == PAY_TYPE_TAOBAO || this.payType == PAY_TYPE_JINGDONG) { if (this.payType == PAY_TYPE_TAOBAO || this.payType == PAY_TYPE_JINGDONG) {

2
src/views/agent/payList.vue

@ -565,7 +565,7 @@ export default {
}, },
updatePayStatus(row) { updatePayStatus(row) {
var payid = row.payid var payid = row.payid
if (!row.is_close_pay_tip && row.status==1 && this.payBindSites[payid] && this.payBindSites[payid].length > 0 && this.payBindSites[payid].length==1) { if (!row.is_close_pay_tip && row.status==0 && this.payBindSites[payid] && this.payBindSites[payid].length > 0 && this.payBindSites[payid].length==1) {
this.closePayTipDialogVisible = true this.closePayTipDialogVisible = true
row['is_close_pay_tip'] = true; row['is_close_pay_tip'] = true;

23
src/views/agent/paySetting.vue

@ -2,7 +2,7 @@
<div class="main-content12"> <div class="main-content12">
<!-- page content --> <!-- page content -->
<div class="site-setting-wrap min-flex-right"> <div class="site-setting-wrap min-flex-right">
<div class="siteMessage flex-common" id="siteMessage1" v-if="payinfo.type == payTypeWeixin"> <div class="siteMessage flex-common" id="siteMessage4" v-if="areaShowList.includes('siteMessage4')">
<h3>支付客服</h3> <h3>支付客服</h3>
<el-form> <el-form>
<div class="flex-wrap"> <div class="flex-wrap">
@ -21,7 +21,7 @@
</div> </div>
</el-form> </el-form>
</div> </div>
<div class="siteMessage flex-common mt-18" id="siteMessage2"> <div class="siteMessage flex-common mt-18" v-if="areaShowList.includes('siteMessage5')" id="siteMessage5">
<h3>启停收款方式</h3> <h3>启停收款方式</h3>
<el-form> <el-form>
<div class="flex-wrap"> <div class="flex-wrap">
@ -32,7 +32,7 @@
<!-- :active-value="1" :inactive-value="0"关闭 加冒号表示数字格式 --> <!-- :active-value="1" :inactive-value="0"关闭 加冒号表示数字格式 -->
<!-- active-value="1" inactive-value="0"关闭 不加冒号表示字符串 --> <!-- active-value="1" inactive-value="0"关闭 不加冒号表示字符串 -->
<!-- 传入的modelvalue 为数字 0 或者 1 --> <!-- 传入的modelvalue 为数字 0 或者 1 -->
<GuipSwitch v-model="payStatus" :active-value="1" :inactive-value="0" @change="updatePayStatus(payinfo)" activeText="开启" inactiveText="关闭"></GuipSwitch> <GuipSwitch v-model="payStatus" :active-value="1" :inactive-value="0" @change="updatePayStatus()" activeText="开启" inactiveText="关闭"></GuipSwitch>
</div> </div>
<p class="ml-23 flex gray">{{ payinfo.account }}</p> <p class="ml-23 flex gray">{{ payinfo.account }}</p>
</div> </div>
@ -40,7 +40,7 @@
</div> </div>
</el-form> </el-form>
</div> </div>
<div class="siteMessage flex-common mt-18" id="siteMessage3"> <div class="siteMessage flex-common mt-18" v-if="areaShowList.includes('siteMessage6')" id="siteMessage6">
<h3 style="margin-bottom: 24px;">移除收款方式</h3> <h3 style="margin-bottom: 24px;">移除收款方式</h3>
<el-form> <el-form>
<div class="flex-wrap"> <div class="flex-wrap">
@ -78,6 +78,7 @@ export default {
}, },
data() { data() {
return { return {
areaShowList: [],
payinfo: [], payinfo: [],
payType: -1, payType: -1,
payStatus: -1, payStatus: -1,
@ -98,6 +99,11 @@ export default {
const {payType} = this.$route.query const {payType} = this.$route.query
store.commit('SET_CUSTOMIZE', true); store.commit('SET_CUSTOMIZE', true);
const data = this.$filterByPermission(this.paySettingData,Number(payType)) const data = this.$filterByPermission(this.paySettingData,Number(payType))
data.forEach((row) => {
row.list.forEach((item) => {
this.areaShowList.push(item.desc)
})
})
store.commit('SET_SLIDER_MENU', data); store.commit('SET_SLIDER_MENU', data);
}, },
mounted() { mounted() {
@ -125,10 +131,10 @@ export default {
console.error(error, 'error') console.error(error, 'error')
}) })
}, },
updatePayStatus(row) { updatePayStatus() {
this.$http('POST', '/agentnew/ajax_update_pay_status', { this.$http('POST', '/agentnew/ajax_update_pay_status', {
payid: this.$route.query.payid, payid: this.$route.query.payid,
status: row.status, status: this.payStatus,
}).then(response => { }).then(response => {
this.$nextTick(() => { this.$nextTick(() => {
if (response.status) { if (response.status) {
@ -262,6 +268,11 @@ a {
color: #1E2226; color: #1E2226;
} }
.siteMessage-active {
border: 1px solid #006AFF;
box-shadow: 0px 4px 16px 0px rgba(17, 55, 143, 0.12);
}
.site-setting-wrap { .site-setting-wrap {
width: 100%; width: 100%;
} }

47
src/views/agent/siteBaseSetting.vue

@ -7,7 +7,7 @@
<!-- page content --> <!-- page content -->
<div class="site-setting-wrap min-flex-right"> <div class="site-setting-wrap min-flex-right">
<div class="siteMessage flex-common" id="siteMessage1"> <div class="siteMessage flex-common mb12" id="siteMessage1">
<h3>站点信息</h3> <h3>站点信息</h3>
<el-form> <el-form>
<div class="flex-wrap"> <div class="flex-wrap">
@ -30,7 +30,7 @@
<GroupFormBtns @cancel="cancleUpdateSiteInfo()" @confirm="updateSiteInfo()" /> <GroupFormBtns @cancel="cancleUpdateSiteInfo()" @confirm="updateSiteInfo()" />
</div> </div>
<div class="siteMessage flex-common" id="siteMessage2"> <div class="siteMessage flex-common mb12" id="siteMessage2">
<h3>域名设置</h3> <h3>域名设置</h3>
<p class="flex siteMessage5_desc"> <img src="@/assets/tip_blue.svg" alt="">当前站点域名{{ siteInfo.domain }}</p> <p class="flex siteMessage5_desc"> <img src="@/assets/tip_blue.svg" alt="">当前站点域名{{ siteInfo.domain }}</p>
<el-form ref="domainFormRef" :rules="domainRules" :model="domainData"> <el-form ref="domainFormRef" :rules="domainRules" :model="domainData">
@ -68,7 +68,7 @@
<GroupFormBtns @cancel="cancelClick" @confirm="updateSiteDomain()" /> <GroupFormBtns @cancel="cancelClick" @confirm="updateSiteDomain()" />
</div> </div>
<div class="siteMessage flex-common" id="siteMessage2"> <div class="siteMessage flex-common mb12" id="siteMessage14">
<h3>销售渠道</h3> <h3>销售渠道</h3>
<el-form ref="domainFormRef"> <el-form ref="domainFormRef">
<div class="flex-wrap"> <div class="flex-wrap">
@ -80,7 +80,6 @@
</div> </div>
</el-form> </el-form>
<GroupFormBtns @cancel="cancelClick" @confirm="updateSaleChannel()" /> <GroupFormBtns @cancel="cancelClick" @confirm="updateSaleChannel()" />
</div> </div>
<div class="siteMessage flex-common" id="siteMessage3"> <div class="siteMessage flex-common" id="siteMessage3">
<h3>收款方式<span>至少需要配置1种收款方式</span></h3> <h3>收款方式<span>至少需要配置1种收款方式</span></h3>
@ -426,6 +425,13 @@ export default {
this.getSiteInfo(); this.getSiteInfo();
this.getPayList(); this.getPayList();
this.getAddablePays(); this.getAddablePays();
if (this.$route.hash) {
const el = document.querySelector(this.$route.hash)
if (el) {
el.scrollIntoView({ behavior: 'smooth', block: 'start' })
}
}
}, },
methods: { methods: {
// //
@ -511,14 +517,6 @@ export default {
this.addPayType = type; this.addPayType = type;
this.isShowAddPay = true; this.isShowAddPay = true;
}, },
//
toggleDrop(e){
this.$refs.dropDomain.toggleDropdown(e)
},
changeSelectIp(item) {
//
this.selectedItem1 = { ...item };
},
// //
getSiteInfo() { getSiteInfo() {
const that = this const that = this
@ -668,23 +666,9 @@ export default {
onSwitchChange(data) { onSwitchChange(data) {
console.log(data, '---'); console.log(data, '---');
}, },
submitForm(form) {
console.log(this.$refs[form], '-----');
this.$refs[form].validate((valid) => {
console.log(this[form], '======formxinxi');
if (valid) {
alert('提交成功!');
} else {
return false;
}
});
},
cancelClick() { cancelClick() {
console.log('quxiao'); console.log('quxiao');
}, },
confirmClick(type) {
console.log(type, '确认');
},
updateSitePay() { updateSitePay() {
var data = { var data = {
uid: this.$route.query.uid, uid: this.$route.query.uid,
@ -704,6 +688,7 @@ export default {
} else { } else {
this.$Message.error(response.info); this.$Message.error(response.info);
} }
this.getPayList();
}) })
}).catch(error => { }).catch(error => {
console.error(error, 'error') console.error(error, 'error')
@ -832,6 +817,12 @@ export default {
transition: all .5s; transition: all .5s;
border: 1px solid transparent; border: 1px solid transparent;
} }
.siteMessage-active {
border: 1px solid #006AFF;
box-shadow: 0px 4px 16px 0px rgba(17, 55, 143, 0.12);
}
.combo-formItem { .combo-formItem {
::v-deep { ::v-deep {
.form-item-bottom { .form-item-bottom {
@ -908,10 +899,6 @@ export default {
} }
} }
#siteMessage2 {
margin: 12px 0;
}
.domain-wrap { .domain-wrap {
.domain-item { .domain-item {
margin-bottom: 10px; margin-bottom: 10px;

92
src/views/agent/siteMobileSetting.vue

@ -39,7 +39,7 @@
<div class="left-pay-item "> <div class="left-pay-item ">
<div class="flex-between"> <div class="flex-between">
<span>H5开关</span> <span>H5开关</span>
<GuipSwitch v-model="siteInfo.is_open_h5" :active-value="1" :inactive-value="0" activeText="开" inactiveText="关" @change="updateSiteH5Status"></GuipSwitch> <GuipSwitch v-if="siteWxpayInfo.appid" v-model="siteInfo.is_open_h5" active-value="1" inactive-value="0" activeText="开" inactiveText="关" @change="updateSiteH5Status"></GuipSwitch>
</div> </div>
<div v-if="siteWxpayInfo.appid"> <div v-if="siteWxpayInfo.appid">
@ -177,6 +177,51 @@
</el-form> </el-form>
<GroupFormBtns @cancel="cancelClick" @confirm="updateSiteXcxBind()" /> <GroupFormBtns @cancel="cancelClick" @confirm="updateSiteXcxBind()" />
</div> </div>
<div class="siteMessage flex-common mt12" id="siteMessage15">
<h3 class="flex">手机浏览器 <span class="flex ml-8" @click="showWhatIsWap=true"><img class="ml-8" src="@/assets/site/form_qua_ic.svg" alt=""><span class="ml-8">什么是手机浏览器</span></span></h3>
<el-drawer title="什么是手机浏览器" size="20%" :visible.sync="showWhatIsWap" direction="rtl" :append-to-body="true">
<div class="desc mx-24">
<p class="flex desc-title"><img class="mr-16" src="@/assets/msg.svg" alt="">说明</p>
<p class="flex desc-cont">开启手机浏览器后手机浏览器访问站点链接时自动切换至H5模式</p>
<p class="flex desc-title"><img class="mr-16" src="@/assets/msg.svg" alt="">注意</p>
<p class="flex desc-cont">1.WAP网站暂时只支持支付宝收款</p>
<p class="flex desc-cont">2.为保证正常收款支付宝收款账号需开通手机网站支付功能</p>
<p class="flex desc-title"><img class="mr-16" src="@/assets/msg.svg" alt="">如何开通</p>
<p class="flex desc-cont">前往快乐论文帮助中心查看相关指引</p>
<p class="flex desc-cont">
<a href="https://zhic.yuque.com/staff-chwecz/xhk8nt/kf989xo5k0lbbitf" class="flex" target="_blank">
<img style="margin-right: 5px;" src="@/assets/site/form_linkActive.svg" alt="">开通流程
</a>
</p>
</div>
</el-drawer>
<div class="tip">为保证正常收款请确定支付宝收款账号已开通手机网站支付功能</div>
<el-form>
<div class="flex-wrap">
<div class="flex-left">
<div class="left-pay-list mb24">
<div class="left-pay-item ">
<div class="flex-between">
<span>手浏览器开关</span>
<GuipSwitch v-if="siteAlipayInfo.appid" v-model="siteInfo.is_open_wap" active-value="1" inactive-value="0" activeText="开" inactiveText="关" @change="updateSiteWapStatus"></GuipSwitch>
</div>
<div v-if="siteAlipayInfo.appid">
<p>支付宝收款账号{{ siteAlipayInfo.appid }}{{ siteAlipayInfo.short_name }}</p>
</div>
<div v-else>
<p>支付宝收款未开启</p>
<p class="flex">
<a href="#" class="flex mr-5" @click="goBindPay"><img class="mr-5" src="@/assets/site/form_linkActive.svg" alt="">去开启支付宝收款 </a>
<span class="red">绑定支付宝收款后才可使用</span>
</p>
</div>
</div>
</div>
</div>
</div>
</el-form>
</div>
</div> </div>
<GuipDialog type="center" :dialogVisible="dialogVisibleMpAuth" title="授权微信公众号" confirmText="确认完成准备事项,去授权" cancelText="取消授权" :show-close-button="false" <GuipDialog type="center" :dialogVisible="dialogVisibleMpAuth" title="授权微信公众号" confirmText="确认完成准备事项,去授权" cancelText="取消授权" :show-close-button="false"
@ -287,12 +332,14 @@ export default {
data() { data() {
return { return {
siteWxpayInfo: [], siteWxpayInfo: [],
siteAlipayInfo: [],
// //
siteInfo: [], siteInfo: [],
xcxList: [], xcxList: [],
siteXcxList: [], siteXcxList: [],
dialogVisibleMpAuth: false, dialogVisibleMpAuth: false,
showWhatIsH5: false, showWhatIsH5: false,
showWhatIsWap: false,
dialogVisibleAddXcx: false, dialogVisibleAddXcx: false,
dialogVisibleLookError: false, dialogVisibleLookError: false,
xcxFailReason: '', xcxFailReason: '',
@ -313,6 +360,7 @@ export default {
store.commit('SET_PAGETITLE', '移动端设置'); store.commit('SET_PAGETITLE', '移动端设置');
this.getSiteWxpayInfo(); this.getSiteWxpayInfo();
this.getSiteAlipayInfo();
this.getSiteInfo(); this.getSiteInfo();
this.getSiteXcxList(); this.getSiteXcxList();
this.getXcxList(); this.getXcxList();
@ -330,7 +378,6 @@ export default {
}).then(response => { }).then(response => {
this.$nextTick(() => { this.$nextTick(() => {
that.siteInfo = response.data that.siteInfo = response.data
that.siteInfo.is_open_h5 = Number(response.data.is_open_h5)
}) })
}).catch(error => { }).catch(error => {
console.error(error, 'error') console.error(error, 'error')
@ -349,6 +396,19 @@ export default {
console.error(error, 'error') console.error(error, 'error')
}) })
}, },
getSiteAlipayInfo() {
const that = this
that.siteInfo = []
this.$http('POST', '/agentnew/ajax_get_site_alipay_info', {
uid: this.$route.query.uid,
}).then(response => {
this.$nextTick(() => {
that.siteAlipayInfo = response.data
})
}).catch(error => {
console.error(error, 'error')
})
},
getXcxList() { getXcxList() {
this.$http('POST', '/agentnew/ajax_get_xcx_list', { this.$http('POST', '/agentnew/ajax_get_xcx_list', {
// uid: this.$route.query.uid, // uid: this.$route.query.uid,
@ -393,7 +453,22 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
if (response.status) { if (response.status) {
this.$Message.success(response.info); this.$Message.success(response.info);
this.getSiteInfo(); } else {
this.$Message.error(response.info);
}
})
}).catch(error => {
console.error(error, 'error')
})
},
updateSiteWapStatus() {
this.$http('POST', '/agentnew/ajax_update_site_wap_config', {
uid: this.$route.query.uid,
status: this.siteInfo.is_open_wap
}).then(response => {
this.$nextTick(() => {
if (response.status) {
this.$Message.success(response.info);
} else { } else {
this.$Message.error(response.info); this.$Message.error(response.info);
} }
@ -406,7 +481,11 @@ export default {
}, },
goBindPay() { goBindPay() {
window.open('/agent/siteBaseSetting?uid='+this.$route.query.uid, '_blank'); window.open(this.$router.resolve({
path: '/agent/siteBaseSetting',
query: { uid: this.$route.query.uid },
hash: '#siteMessage3'
}).href, '_blank');
}, },
// ---start // ---start
showMpAuth() { showMpAuth() {
@ -582,6 +661,11 @@ export default {
// } // }
.siteMessage-active {
border: 1px solid #006AFF;
box-shadow: 0px 4px 16px 0px rgba(17, 55, 143, 0.12);
}
.left-pay-list { .left-pay-list {
width: 100%; width: 100%;
border-radius: 4px; border-radius: 4px;

6
src/views/agent/sitePersonalization.vue

@ -569,6 +569,12 @@ export default {
} }
.siteMessage-active {
border: 1px solid #006AFF;
box-shadow: 0px 4px 16px 0px rgba(17, 55, 143, 0.12);
}
.checkboxGroup { .checkboxGroup {
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;

11
src/views/agent/siteSemSetting.vue

@ -523,6 +523,17 @@ export default {
.site-sem-wrap { .site-sem-wrap {
width: 100%; width: 100%;
letter-spacing: 0.08em; letter-spacing: 0.08em;
.siteMessage {
border-radius: 4px;
transition: all .5s;
border: 1px solid transparent;
}
.siteMessage-active {
border: 1px solid #006AFF;
box-shadow: 0px 4px 16px 0px rgba(17, 55, 143, 0.12);
}
} }
.notSet, .notSet,

Loading…
Cancel
Save