Compare commits

...

4 Commits

  1. 48
      src/components/addPay.vue
  2. 229
      src/views/HosInformation.vue
  3. 26
      src/views/weChatPayment.vue

48
src/components/addPay.vue

@ -67,7 +67,7 @@
<GuipFormItem column="column" class="mb24" label="2. 公司支付宝账号">
<span class="desc flex gap12" slot="formRight">仅支持已签约 当面付 功能的公司支付宝 <a href='https://pay.weixin.qq.com/' class="guide"
target='_blank'><img src="@/assets/site/form_qua_ic.svg" alt="">指南</a></span>
<GuipInput slot="formDom" ref="GuipInput" column="column" v-model="alipayInfo.alipay_account" prop="alipay_account" placeholder="请输入公司支付宝账号"></GuipInput>
<GuipInput slot="formDom" ref="GuipInput" column="column" v-model="alipayInfo.appid" prop="appid" placeholder="请输入公司支付宝账号"></GuipInput>
</GuipFormItem>
</el-form>
<!-- </el-tab-pane> -->
@ -157,6 +157,15 @@ export default {
type: Boolean,
default: false
},
depart_id:{
type: String,
default: ''
},
doctor_id:{
type: String,
default: ''
},
},
components: {
GuipInput,
@ -204,7 +213,7 @@ export default {
// APPID
appid: '',
//
alipay_account: '',
// alipay_account: '',
//
receive_payment_account: '',
//
@ -215,14 +224,14 @@ export default {
pdd_shop_name: '',
alipayInfo:{
company_short_name: '',
alipay_account:''
appid:''
},
alipayRules:{
company_short_name: [
{ required: true, message: '请输入公司简称', trigger: 'blur' }
],
alipay_account: [
{ required: true, message: '请输入公众号APPID', trigger: 'blur' }
appid: [
{ required: true, message: '请输入支付宝账号', trigger: 'blur' }
],
}
@ -262,7 +271,6 @@ export default {
this.mch_id = '';
this.apiv2 = '';
this.appid = '';
this.alipay_account = '';
this.receive_payment_account = '';
this.receive_payment_name = '';
this.pdd_shop_name = '';
@ -305,29 +313,29 @@ export default {
} else if (this.addPayType == PAY_TYPE_ALIPAY) { //
let falseFlag = false;
// console.log(this.doctor_id,this.depart_id,'depart_id');
this.$refs.alipayForm.validate((valid) => {
console.log(valid,'valid===');
if (valid) {
falseFlag = true;
this.$http('POST', '/agentnew/ajax_add_alipay', {
company_short_name: this.alipayRules.company_short_name,
alipay_account: this.alipayRules.alipay_account,
is_pay_public: this.isPayPublic,
// receive_payment_account: this.receive_payment_account,
// receive_payment_name: this.receive_payment_name
this.$http('POST', '/api/admin/set_pay_method', {
doctor_id:this.doctor_id,
depart_id:this.depart_id,
type:this.payTypeAlipay,
company_short_name: this.alipayInfo.company_short_name,
appid: this.alipayInfo.appid,
// pay_id:1
// is_pay_public: this.isPayPublic,
}).then(response => {
this.$nextTick(() => {
if (response.status) {
this.init(response.data.payid);
if (this.isPayPublic == 1) {
this.$Message.success(response.info);
if (response.code == 0) {
if (!response.data.auth_url) {
this.$Message.success(response.msg);
} else {
// window.open(response.data.authurl, '_blank');
window.open(response.data.auth_url, '_blank');
}
} else {
this.$Message.error(response.info);
this.$Message.error(response.msg);
}
})
}).catch(error => {
console.error(error, 'error')
})

229
src/views/HosInformation.vue

@ -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

26
src/views/weChatPayment.vue

@ -153,7 +153,7 @@ export default {
],
appid: [
{ required: true, message: '请输入公众号APPID', trigger: 'blur' },
{ validator: notPureNumberRule, trigger: 'blur' }
// { validator: notPureNumberRule, trigger: 'blur' }
],
mch_id: [
{ required: true, message: '请输入微信支付商户号', trigger: 'blur' },
@ -207,7 +207,6 @@ export default {
this.noFileFlag = false;
this.payInfo.apiclient_cert = fileObj;
this.formData.set('apiclient_cert', fileObj)
// this.uoload_apipem()
},
handleAvatarChange1(file, fileList) {
console.log(file, fileList, 'file')
@ -216,28 +215,8 @@ export default {
this.payInfo.apiclient_key = fileObj;
this.formData.set('apiclient_key', fileObj)
},
//
// uoload_apipem(){
// // pay_id
// // const formData = new FormData();
// // formData.set('doctor_id', this.$route.query.doctor_id)
// // formData.set('depart_id', this.$route.query.depart_id)
// // formData.set('apiclient_cert',this.formData.apiclient_cert)
// this.$http('POST', '/api/admin/upload_wx_api_cert', this.formData).then(response => {
// if(response.code == 0){
// this.$message.success('');
// return true;
// }
// this.$message.error(response.msg);
// }).catch(error => {
// console.error(error, 'error')
// })
// },
saveConfirm() {
// pay_id
// -
// for (let [key, value] of this.formData.entries()) {
// console.log(' (Key):', key);
@ -273,13 +252,10 @@ export default {
this.formData.set('doctor_id', this.$route.query.doctor_id)
this.formData.set('depart_id', this.$route.query.depart_id)
this.formData.set('type',this.payTypeWeixin)// 2 \ 3
this.formData.set('is_pay_public','0')
const that = this;
this.$http('POST', '/api/admin/set_pay_method', this.formData).then(response => {
if(response.code == 0){
that.$message.success('保存成功');
// that.payList = response.data.paylist
// that.$emit('saveEvent', that.payList)
this.$router.go(-1);
return true;
}

Loading…
Cancel
Save