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. 6
      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) {
const ele = document.getElementById(dom);
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({
behavior: 'smooth',
block: 'start'

14
src/store/index.js

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

17
src/views/agent/payCertSetting.vue

@ -2,7 +2,7 @@
<div class="main-content12">
<!-- page content -->
<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>
<div class="beforeNotice">
<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" />
</el-form>
</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>
<el-form>
<div class="flex-wrap">
@ -61,7 +61,7 @@
</div>
</el-form>
</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>
<el-form class="tcpr-wrap">
<el-tabs v-model="profitShareTab" @tab-click="handleClick">
@ -282,6 +282,7 @@ export default {
},
data() {
return {
areaShowList: [],
payid: '',
payinfo: [],
payType: -1,
@ -326,6 +327,11 @@ export default {
const {payType} = this.$route.query
store.commit('SET_CUSTOMIZE', true);
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);
},
mounted() {
@ -599,6 +605,11 @@ a {
color: #1E2226;
}
.siteMessage-active {
border: 1px solid #006AFF!important;
box-shadow: 0px 4px 16px 0px rgba(17, 55, 143, 0.12);
}
.site-setting-wrap {
width: 100%;
}

6
src/views/agent/payInfoSetting.vue

@ -254,8 +254,12 @@ export default {
if (this.payType == PAY_TYPE_WEIXIN && 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) {
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) {

2
src/views/agent/payList.vue

@ -565,7 +565,7 @@ export default {
},
updatePayStatus(row) {
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
row['is_close_pay_tip'] = true;

23
src/views/agent/paySetting.vue

@ -2,7 +2,7 @@
<div class="main-content12">
<!-- page content -->
<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>
<el-form>
<div class="flex-wrap">
@ -21,7 +21,7 @@
</div>
</el-form>
</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>
<el-form>
<div class="flex-wrap">
@ -32,7 +32,7 @@
<!-- :active-value="1" :inactive-value="0"关闭 加冒号表示数字格式 -->
<!-- active-value="1" inactive-value="0"关闭 不加冒号表示字符串 -->
<!-- 传入的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>
<p class="ml-23 flex gray">{{ payinfo.account }}</p>
</div>
@ -40,7 +40,7 @@
</div>
</el-form>
</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>
<el-form>
<div class="flex-wrap">
@ -78,6 +78,7 @@ export default {
},
data() {
return {
areaShowList: [],
payinfo: [],
payType: -1,
payStatus: -1,
@ -98,6 +99,11 @@ export default {
const {payType} = this.$route.query
store.commit('SET_CUSTOMIZE', true);
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);
},
mounted() {
@ -125,10 +131,10 @@ export default {
console.error(error, 'error')
})
},
updatePayStatus(row) {
updatePayStatus() {
this.$http('POST', '/agentnew/ajax_update_pay_status', {
payid: this.$route.query.payid,
status: row.status,
status: this.payStatus,
}).then(response => {
this.$nextTick(() => {
if (response.status) {
@ -262,6 +268,11 @@ a {
color: #1E2226;
}
.siteMessage-active {
border: 1px solid #006AFF;
box-shadow: 0px 4px 16px 0px rgba(17, 55, 143, 0.12);
}
.site-setting-wrap {
width: 100%;
}

47
src/views/agent/siteBaseSetting.vue

@ -7,7 +7,7 @@
<!-- page content -->
<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>
<el-form>
<div class="flex-wrap">
@ -30,7 +30,7 @@
<GroupFormBtns @cancel="cancleUpdateSiteInfo()" @confirm="updateSiteInfo()" />
</div>
<div class="siteMessage flex-common" id="siteMessage2">
<div class="siteMessage flex-common mb12" id="siteMessage2">
<h3>域名设置</h3>
<p class="flex siteMessage5_desc"> <img src="@/assets/tip_blue.svg" alt="">当前站点域名{{ siteInfo.domain }}</p>
<el-form ref="domainFormRef" :rules="domainRules" :model="domainData">
@ -68,7 +68,7 @@
<GroupFormBtns @cancel="cancelClick" @confirm="updateSiteDomain()" />
</div>
<div class="siteMessage flex-common" id="siteMessage2">
<div class="siteMessage flex-common mb12" id="siteMessage14">
<h3>销售渠道</h3>
<el-form ref="domainFormRef">
<div class="flex-wrap">
@ -80,7 +80,6 @@
</div>
</el-form>
<GroupFormBtns @cancel="cancelClick" @confirm="updateSaleChannel()" />
</div>
<div class="siteMessage flex-common" id="siteMessage3">
<h3>收款方式<span>至少需要配置1种收款方式</span></h3>
@ -426,6 +425,13 @@ export default {
this.getSiteInfo();
this.getPayList();
this.getAddablePays();
if (this.$route.hash) {
const el = document.querySelector(this.$route.hash)
if (el) {
el.scrollIntoView({ behavior: 'smooth', block: 'start' })
}
}
},
methods: {
//
@ -511,14 +517,6 @@ export default {
this.addPayType = type;
this.isShowAddPay = true;
},
//
toggleDrop(e){
this.$refs.dropDomain.toggleDropdown(e)
},
changeSelectIp(item) {
//
this.selectedItem1 = { ...item };
},
//
getSiteInfo() {
const that = this
@ -668,23 +666,9 @@ export default {
onSwitchChange(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() {
console.log('quxiao');
},
confirmClick(type) {
console.log(type, '确认');
},
updateSitePay() {
var data = {
uid: this.$route.query.uid,
@ -704,6 +688,7 @@ export default {
} else {
this.$Message.error(response.info);
}
this.getPayList();
})
}).catch(error => {
console.error(error, 'error')
@ -832,6 +817,12 @@ export default {
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);
}
.combo-formItem {
::v-deep {
.form-item-bottom {
@ -908,10 +899,6 @@ export default {
}
}
#siteMessage2 {
margin: 12px 0;
}
.domain-wrap {
.domain-item {
margin-bottom: 10px;

92
src/views/agent/siteMobileSetting.vue

@ -39,7 +39,7 @@
<div class="left-pay-item ">
<div class="flex-between">
<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 v-if="siteWxpayInfo.appid">
@ -177,6 +177,51 @@
</el-form>
<GroupFormBtns @cancel="cancelClick" @confirm="updateSiteXcxBind()" />
</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>
<GuipDialog type="center" :dialogVisible="dialogVisibleMpAuth" title="授权微信公众号" confirmText="确认完成准备事项,去授权" cancelText="取消授权" :show-close-button="false"
@ -287,12 +332,14 @@ export default {
data() {
return {
siteWxpayInfo: [],
siteAlipayInfo: [],
//
siteInfo: [],
xcxList: [],
siteXcxList: [],
dialogVisibleMpAuth: false,
showWhatIsH5: false,
showWhatIsWap: false,
dialogVisibleAddXcx: false,
dialogVisibleLookError: false,
xcxFailReason: '',
@ -313,6 +360,7 @@ export default {
store.commit('SET_PAGETITLE', '移动端设置');
this.getSiteWxpayInfo();
this.getSiteAlipayInfo();
this.getSiteInfo();
this.getSiteXcxList();
this.getXcxList();
@ -330,7 +378,6 @@ export default {
}).then(response => {
this.$nextTick(() => {
that.siteInfo = response.data
that.siteInfo.is_open_h5 = Number(response.data.is_open_h5)
})
}).catch(error => {
console.error(error, 'error')
@ -349,6 +396,19 @@ export default {
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() {
this.$http('POST', '/agentnew/ajax_get_xcx_list', {
// uid: this.$route.query.uid,
@ -393,7 +453,22 @@ export default {
this.$nextTick(() => {
if (response.status) {
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 {
this.$Message.error(response.info);
}
@ -406,7 +481,11 @@ export default {
},
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
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 {
width: 100%;
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 {
display: flex;
justify-content: flex-start;

11
src/views/agent/siteSemSetting.vue

@ -523,6 +523,17 @@ export default {
.site-sem-wrap {
width: 100%;
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,

Loading…
Cancel
Save