|
|
|
@ -153,7 +153,7 @@ |
|
|
|
<el-form> |
|
|
|
<div class="mb32 flex gap12"> |
|
|
|
<span class="littleTitle">线上收款</span> |
|
|
|
<GuipSwitch :value="onLinePay" :active-value="1" :inactive-value="0" :disabled="!selectWxpay?.short_name" @change="onLineChange"></GuipSwitch> |
|
|
|
<GuipSwitch :value="onLinePay" ref="hasOnlinePayRef" :active-value="1" :inactive-value="0" :disabled="!wxpayList.length" @change="onLineChange"></GuipSwitch> |
|
|
|
<span v-if="!onLinePay" class="tipInfo">未绑定微信收款方式,无法开启线上收款</span> |
|
|
|
<span v-if="!onLinePay == 1"> {{ onLinePay == 1 ? '开启' : '' }}</span> |
|
|
|
</div> |
|
|
|
@ -170,8 +170,8 @@ |
|
|
|
:options_null="!wxpayList.length" displayKey="name" valueKey="payid" |
|
|
|
@change="changeSelectWeixin"> |
|
|
|
<template #trigger> |
|
|
|
<span v-if="selectWxpay && (selectWxpay.short_name || selectWxpay.account)">{{ |
|
|
|
selectWxpay.short_name }} {{ selectWxpay.account }}</span> |
|
|
|
<span v-if="selectWxpay && (selectWxpay.company_short_name || selectWxpay.appid)">{{ |
|
|
|
selectWxpay.company_short_name }} {{ selectWxpay.appid }}</span> |
|
|
|
<span v-else-if="wxpayList.length === 0">暂无收款账号,稍后配置</span> |
|
|
|
<span v-else>未绑定微信收款</span> |
|
|
|
</template> |
|
|
|
@ -192,11 +192,11 @@ |
|
|
|
<template #item="{ item }"> |
|
|
|
<div class="flex-between"> |
|
|
|
<div class="left"> |
|
|
|
<p class="one">{{ item.short_name }}</p> |
|
|
|
<p>{{ item.account }}</p> |
|
|
|
<p class="one">{{ item.company_short_name }}</p> |
|
|
|
<p>{{ item.appid }}</p> |
|
|
|
</div> |
|
|
|
<div class="right"> |
|
|
|
<img v-if="selectWxpay && selectWxpay.payid == item.payid" |
|
|
|
<img v-if="item.is_bind" |
|
|
|
src="@/assets/drop-selected.svg" alt=""> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -218,8 +218,8 @@ |
|
|
|
<CustomDropdown slot="formDom" width="100%" :options="alipayList" |
|
|
|
:options_null="!alipayList.length" @change="changeSelectAlipay"> |
|
|
|
<template #trigger> |
|
|
|
<span v-if="selectAlipay && (selectAlipay.short_name || selectAlipay.account)">{{ |
|
|
|
selectAlipay.short_name }} {{ selectAlipay.account }}</span> |
|
|
|
<span v-if="selectAlipay && (selectAlipay.company_short_name || selectAlipay.appid)">{{ |
|
|
|
selectAlipay.company_short_name }} {{ selectAlipay.appid }}</span> |
|
|
|
<span v-else-if="alipayList.length === 0">非必须绑定项</span> |
|
|
|
<span v-else>未绑定支付宝收款</span> |
|
|
|
</template> |
|
|
|
@ -240,11 +240,11 @@ |
|
|
|
<template #item="{ item }"> |
|
|
|
<div class="flex-between"> |
|
|
|
<div class="left"> |
|
|
|
<p class="one">{{ item.short_name }}</p> |
|
|
|
<p>{{ item.account }}</p> |
|
|
|
<p class="one">{{ item.company_short_name }}</p> |
|
|
|
<p>{{ item.appid }}</p> |
|
|
|
</div> |
|
|
|
<div class="right"> |
|
|
|
<img v-if="selectAlipay && selectAlipay.payid == item.payid" |
|
|
|
<img v-if="item.is_bind" |
|
|
|
src="@/assets/drop-selected.svg" alt=""> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -497,7 +497,7 @@ |
|
|
|
</GuipDialog> |
|
|
|
|
|
|
|
<addPay :payType="addPayType" :visible="isShowAddPay" @update:visible="handleEvent" @update:data="handleUpdateEvent" |
|
|
|
:isExistSelfSupplys="isExistSelfSupplys"></addPay> |
|
|
|
:isExistSelfSupplys="isExistSelfSupplys" :doctor_id="doctor_id" :depart_id="depart_id"></addPay> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
@ -515,8 +515,6 @@ import GuipDialog from '@/components/GuipDialog.vue'; |
|
|
|
//import GuipSelectFilter from '@/components/GuipSelectFilter.vue'; |
|
|
|
import CustomDropdown from '@/components/CustomDropdown.vue'; |
|
|
|
import addPay from '@/components/addPay.vue'; |
|
|
|
|
|
|
|
|
|
|
|
import { mapState } from 'vuex'; |
|
|
|
import { Object } from 'core-js'; |
|
|
|
const PAY_TYPE_WEIXIN = 2; // 微信 |
|
|
|
@ -539,14 +537,9 @@ export default { |
|
|
|
GuipTextarea, |
|
|
|
GroupFormBtns, |
|
|
|
addPay, |
|
|
|
|
|
|
|
// GuipSelectFilter, |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
checked1:false, |
|
|
|
checked2:false, |
|
|
|
doctorId: '', |
|
|
|
depart_id: false, |
|
|
|
doctor_id: false, |
|
|
|
dialogType: '1', |
|
|
|
@ -625,7 +618,6 @@ export default { |
|
|
|
], |
|
|
|
time1: '', |
|
|
|
time2: '', |
|
|
|
checkList: ['医生名片(基础功能不可取消)'], |
|
|
|
fileList: [ |
|
|
|
{ name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100' } |
|
|
|
], |
|
|
|
@ -681,22 +673,11 @@ export default { |
|
|
|
domain_set: '', |
|
|
|
domain_source: '平台免费域名', |
|
|
|
}, |
|
|
|
siteForm2: { |
|
|
|
isApprove: '', |
|
|
|
phone: '' |
|
|
|
}, |
|
|
|
siteFormrules1: { |
|
|
|
domain_source: [ |
|
|
|
{ required: true, message: '请输入站点简称', trigger: 'blur' } |
|
|
|
] |
|
|
|
}, |
|
|
|
// hosipitalList:[] |
|
|
|
hosipitalList: [ |
|
|
|
{ label: '选项1', value: '1' }, |
|
|
|
{ label: '选项2', value: '2' }, |
|
|
|
{ label: '选项3', value: '3' }, |
|
|
|
// 更多选项... |
|
|
|
], |
|
|
|
wxpayList:[], |
|
|
|
alipayList:[], |
|
|
|
payTypeWeixin: PAY_TYPE_WEIXIN, |
|
|
|
@ -713,7 +694,6 @@ export default { |
|
|
|
freeRegVisible:false, |
|
|
|
registrationVisible:false, |
|
|
|
hasVisitFee:null, |
|
|
|
paySwitch:null, |
|
|
|
hasFreeRegisterRule:false, |
|
|
|
hasAgainVisitFreeDays:0, |
|
|
|
againVisitFreeDays:0, |
|
|
|
@ -737,6 +717,7 @@ export default { |
|
|
|
this.fetchPackData() |
|
|
|
this.fetchProjectData() |
|
|
|
this.geHosAdress() |
|
|
|
this.getBindpayList() |
|
|
|
} else { |
|
|
|
await this.getAreaData() |
|
|
|
} |
|
|
|
@ -773,6 +754,58 @@ export default { |
|
|
|
this.freeRegVisible = true; |
|
|
|
} |
|
|
|
}, |
|
|
|
async getBindpayList() { |
|
|
|
await this.$http('POST', '/api/admin/get_pay_list', { |
|
|
|
doctor_id: this.doctor_id, |
|
|
|
depart_id: this.depart_id |
|
|
|
}).then(response => { |
|
|
|
if ( |
|
|
|
response.data && |
|
|
|
response.data[this.payTypeWeixin] |
|
|
|
&&response.data[this.payTypeWeixin].length > 0 |
|
|
|
) { |
|
|
|
this.wxpayList =response.data[this.payTypeWeixin] |
|
|
|
this.selectWxpay = this.wxpayList.filter(item => item.is_bind)[0]; |
|
|
|
console.log(this.selectWxpay,'this.selectWxpay'); |
|
|
|
}else{ |
|
|
|
this.selectWxpay = null; |
|
|
|
} |
|
|
|
if ( |
|
|
|
response.data && |
|
|
|
response.data[this.payTypeAlipay] |
|
|
|
&&response.data[this.payTypeAlipay].length > 0 |
|
|
|
) { |
|
|
|
this.alipayList = response.data[this.payTypeAlipay] |
|
|
|
this.selectAlipay = this.alipayList.filter(item => item.is_bind)[0]; |
|
|
|
}else{ |
|
|
|
this.selectAlipay = null; |
|
|
|
} |
|
|
|
}).catch(error => { |
|
|
|
console.error(error, 'error') |
|
|
|
}) |
|
|
|
}, |
|
|
|
async onLineChange(e) { |
|
|
|
this.onLinePay = e; |
|
|
|
await this.$http('POST', '/api/admin/set_pay_switch', { |
|
|
|
doctor_id: this.doctor_id, |
|
|
|
depart_id: this.depart_id, |
|
|
|
pay_switch:this.onLinePay |
|
|
|
}).then(response => { |
|
|
|
console.log(response,'==='); |
|
|
|
const { code } = response |
|
|
|
const msg = this.onLinePay === 1 ? '已开启' : '已关闭' |
|
|
|
const type = code === 0 ? 'success' : 'error'; |
|
|
|
this.$positionMessage({ |
|
|
|
type: type, |
|
|
|
message: msg+'线上收款', |
|
|
|
target: this.$refs['hasOnlinePayRef'], |
|
|
|
position: 'top' |
|
|
|
}) |
|
|
|
}).catch(error => { |
|
|
|
this.onLinePay = 0; |
|
|
|
console.error(error, 'error') |
|
|
|
}) |
|
|
|
}, |
|
|
|
async onVisitFeeChange(e) { |
|
|
|
this.hasVisitFee = e |
|
|
|
await this.$http('POST', '/api/admin/set_has_visit_fee', { |
|
|
|
@ -793,45 +826,46 @@ export default { |
|
|
|
console.error(error, 'error') |
|
|
|
}) |
|
|
|
}, |
|
|
|
onLineChange(e) { |
|
|
|
this.onLinePay = e |
|
|
|
if(!this.selectWxpay){ |
|
|
|
this.$positionMessage({ |
|
|
|
type: 'error', |
|
|
|
message: '请先绑定微信支付', |
|
|
|
target: this.$refs['wxPayRef'], |
|
|
|
position: 'bottom' |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
changeSelectWeixin(item) { |
|
|
|
console.log(item, 'item') |
|
|
|
if(this.bindWxpayId === item.payid){ |
|
|
|
this.bindWxpayId = 0 |
|
|
|
this.selectWxpay = null |
|
|
|
return true |
|
|
|
} |
|
|
|
|
|
|
|
this.bindWxpayId = item.payid; |
|
|
|
// if(this.bindWxpayId === item.payid){ |
|
|
|
// this.bindWxpayId = 0 |
|
|
|
// this.selectWxpay = null |
|
|
|
// return true |
|
|
|
// } |
|
|
|
// this.bindWxpayId = item.payid; |
|
|
|
this.selectWxpay = item; |
|
|
|
|
|
|
|
this.$positionMessage({ |
|
|
|
type: 'success', |
|
|
|
message: '绑定成功,开启线上收款', |
|
|
|
target: this.$refs['wxPayRef'], // 可以是DOM元素或选择器 |
|
|
|
position: 'bottom' |
|
|
|
}) |
|
|
|
this.bindPayMethod(item.id) |
|
|
|
}, |
|
|
|
changeSelectAlipay(item) { |
|
|
|
if(this.bindAlipayId === item.payid){ |
|
|
|
this.bindAlipayId = 0 |
|
|
|
this.selectAlipay = null |
|
|
|
return true |
|
|
|
} |
|
|
|
this.bindAlipayId = item.payid; |
|
|
|
// if(this.bindAlipayId === item.payid){ |
|
|
|
// this.bindAlipayId = 0 |
|
|
|
// this.selectAlipay = null |
|
|
|
// return true |
|
|
|
// } |
|
|
|
// this.bindAlipayId = item.payid; |
|
|
|
this.selectAlipay = item; |
|
|
|
this.bindPayMethod(item.id) |
|
|
|
}, |
|
|
|
|
|
|
|
async bindPayMethod(id){ |
|
|
|
await this.$http('POST', '/api/admin/bind_pay_method', { |
|
|
|
pay_id: id, |
|
|
|
doctor_id: this.doctor_id, |
|
|
|
depart_id: this.depart_id |
|
|
|
}).then(response => { |
|
|
|
const { code } = response; |
|
|
|
if(code == 0){ |
|
|
|
this.$Message.success(response.msg || '绑定成功'); |
|
|
|
|
|
|
|
}else{ |
|
|
|
this.$Message.error(response.msg || '绑定失败'); |
|
|
|
} |
|
|
|
this.getBindpayList() |
|
|
|
|
|
|
|
}).catch(error => { |
|
|
|
console.error(error, 'error') |
|
|
|
}) |
|
|
|
}, |
|
|
|
goBindPay(type) { |
|
|
|
this.addPayType = type; |
|
|
|
@ -1003,34 +1037,10 @@ export default { |
|
|
|
} |
|
|
|
this.departType = (response.data.type || response.data.type === 0 || response.data.type === "0") ? [Number(response.data.type)] : [] |
|
|
|
this.departIsFixed = response.data.is_fixed == "1" ? true : false |
|
|
|
this.paySwitch = response.data.pay_switch |
|
|
|
this.onLinePay = response.data.pay_switch |
|
|
|
this.hasVisitFee = response.data.has_visit_fee |
|
|
|
this.registerMoney = response.data.visit_price |
|
|
|
|
|
|
|
// 1.获取2种收款列表 |
|
|
|
// if ( |
|
|
|
// response.data && |
|
|
|
// response.data.paylist && |
|
|
|
// response.data.paylist[this.payTypeWeixin] && |
|
|
|
// response.data.paylist[this.payTypeWeixin].length > 0 |
|
|
|
// ) { |
|
|
|
// this.wxpayList = response.data.paylist[this.payTypeWeixin] |
|
|
|
// } |
|
|
|
// if ( |
|
|
|
// response.data && |
|
|
|
// response.data.paylist && |
|
|
|
// response.data.paylist[this.payTypeAlipay] && |
|
|
|
// response.data.paylist[this.payTypeAlipay].length > 0 |
|
|
|
// ) { |
|
|
|
// this.alipayList = response.data.paylist[this.payTypeAlipay] |
|
|
|
// } |
|
|
|
|
|
|
|
// 2.到时候看下哪种方式比较合适 |
|
|
|
// this.wxpayList = response.data.wxpay_list;//微信支付列表 |
|
|
|
// this.alipayList = response.data.alipayList;//支付宝支付列表 |
|
|
|
// this.selectWxpay = response.data.site_pays[this.payTypeWeixin];//当前微信收款账号 |
|
|
|
// this.selectAlipay = response.data.site_pays[this.payTypeAlipay];//当前微信收款账号 |
|
|
|
|
|
|
|
this.hasAgainVisitFreeDays = response.data.has_again_visit_free_days |
|
|
|
this.againVisitFreeDays = response.data.again_visit_free_days |
|
|
|
this.hasRemainVisitFree = response.data.has_remain_visit_free |
|
|
|
@ -1376,45 +1386,6 @@ export default { |
|
|
|
ChangeTime(type) { |
|
|
|
console.log(this.form.morning_worktime, type, '==='); |
|
|
|
}, |
|
|
|
btnClick() { |
|
|
|
}, |
|
|
|
handleClear(value) { |
|
|
|
// this.handleInput('') |
|
|
|
console.log(value, 'value===qinghcu'); |
|
|
|
}, |
|
|
|
handleRemove(file, fileList) { |
|
|
|
console.log(file, fileList); |
|
|
|
}, |
|
|
|
handlePreview(file) { |
|
|
|
console.log(file); |
|
|
|
}, |
|
|
|
// 上传图片 |
|
|
|
handleAvatarSuccess(res, file) { |
|
|
|
this.imageUrl1 = URL.createObjectURL(file.raw); |
|
|
|
}, |
|
|
|
beforeAvatarUpload(file) { |
|
|
|
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png'; |
|
|
|
const isLt2M = file.size / 1024 / 1024 < 2; |
|
|
|
|
|
|
|
if (!isJPG) { |
|
|
|
this.$message.error('上传头像图片只能是 JPG 或 PNG 格式!'); |
|
|
|
} |
|
|
|
if (!isLt2M) { |
|
|
|
this.$message.error('上传头像图片大小不能超过 2MB!'); |
|
|
|
} |
|
|
|
return isJPG && isLt2M; |
|
|
|
}, |
|
|
|
changeNormalWeixin() { |
|
|
|
|
|
|
|
}, |
|
|
|
// changeSelectWeixin(item, flag) { |
|
|
|
// if (flag) { |
|
|
|
// this.select_placeholder_weixin = this.options_weixin_null.desc; |
|
|
|
// return |
|
|
|
// } |
|
|
|
// this.selectedItem = { ...item }; |
|
|
|
// console.log(this.selectedItem, 'this.selectedItem===='); |
|
|
|
// }, |
|
|
|
onSwitchChange(data) { |
|
|
|
this.form.is_fixed = data ? 1 : 0 |
|
|
|
this.departIsFixed = data |
|
|
|
|