fa6b8d25 by lttnew

按钮

1 parent 8451952d
......@@ -293,6 +293,7 @@ const handleSubmit = async () => {
commitRes = await api.payForOrder({
id: orderId.value,
addresId: selectedAddress.value.id,
payType: payType.value,
type: payType.value,
contactPerson: formData.value.contactPerson,
contactTel: formData.value.contactTel
......
......@@ -246,13 +246,14 @@ const handelPay = async () => {
let data
// 再次支付
if (payForm.value.id && payForm.value.payStatus === '0') {
const [err, res] = await to(api.payForOrder({
id: payForm.value.id,
renewYear: form.value.renewYear,
type: payType.value,
contactPerson: form.value.contactPerson,
contactTel: form.value.contactTel
}))
const [err, res] = await to(api.payForOrder({
id: payForm.value.id,
renewYear: form.value.renewYear,
payType: payType.value,
type: payType.value,
contactPerson: form.value.contactPerson,
contactTel: form.value.contactTel
}))
if (err || res.code !== 200) {
uni.hideLoading()
isPaying.value = false
......
......@@ -323,11 +323,11 @@ const getOrderCountText = (item) => {
const hasInvoice = (item) => String(item?.invoiceStatus) === '1'
const isPayDisabled = (item) => String(item?.auditStatus) !== '9'
const isPayDisabled = (item) => String(item?.auditStatus) !== '9' || String(item?.payStatus) !== '0'
const canShowCancel = (item) => String(item?.auditStatus) === '9'
const isCancelDisabled = (item) => String(item?.auditStatus) !== '9'
const isCancelDisabled = (item) => String(item?.auditStatus) !== '9' || String(item?.payStatus) !== '0'
const canShowInvoiceApply = (item) => !hasInvoice(item)
......
......@@ -376,20 +376,26 @@ const isGroupOrder = (item) => getRowType(item) === '1'
const isLevelOrder = (item) => ['2', '3', '4'].includes(getRowType(item))
const canShowCancel = (item) => {
if (isPersonalOrder(item)) {
return String(item?.auditStatus) === '9' || String(item?.payStatus) !== '0'
}
if (isGroupOrder(item)) return String(item?.auditStatus) === '0'
return String(item?.auditStatus) === '9'
}
const isPayDisabled = (item) => {
if (isPersonalOrder(item)) return String(item?.auditStatus) !== '9'
if (isLevelOrder(item)) return String(item?.auditStatus) !== '9'
if (isPersonalOrder(item) || isLevelOrder(item)) {
return String(item?.auditStatus) !== '9' || String(item?.payStatus) !== '0'
}
if (String(item?.payStatus) !== '0') return true
return String(item?.auditStatus) !== '0'
}
const isCancelDisabled = (item) => {
if (isPersonalOrder(item)) return String(item?.auditStatus) !== '9'
if (isLevelOrder(item)) return String(item?.auditStatus) !== '9'
if (isLevelOrder(item)) {
return String(item?.auditStatus) !== '9' || String(item?.payStatus) !== '0'
}
return String(item?.payStatus) !== '0'
}
......@@ -400,7 +406,6 @@ const canShowInvoiceApply = (item) => !hasInvoice(item)
const isInvoiceDisabled = (item) => {
if (hasInvoice(item)) return true
if (isPersonalOrder(item)) return String(item?.auditStatus) !== '2' || String(item?.payStatus) === '4'
if (isLevelOrder(item)) return String(item?.payStatus) !== '1' || String(item?.auditStatus) !== '2' || Number(item?.price || 0) <= 0
return String(item?.payStatus) !== '1' || String(item?.auditStatus) !== '2' || Number(item?.price || 0) <= 0
}
......
......@@ -84,7 +84,7 @@
</view>
<!-- 纳税人识别号(企业才显示) -->
<view v-if="form.type === '1' && form.invoiceType === '1'" class="form-item column">
<view v-if="form.type === '1'" class="form-item column">
<text class="label">纳税人识别号</text>
<input
v-model="form.taxno"
......
......@@ -22,7 +22,8 @@
<view class="form-item">
<text class="label">发票类型</text>
<view class="type-select">
<view
<view
v-if="!personalInvoiceMode"
:class="{ active: form.type === '0' }"
class="type-option"
@click="form.type = '0'"
......@@ -57,7 +58,7 @@
<input
v-model="form.name"
class="input"
:disabled="!showIndividualType"
:disabled="!showIndividualType || personalInvoiceMode"
:placeholder="form.type === '0' ? '请输入公司全称' : '请输入发票抬头'"
/>
<text class="hint">请确保发票抬头与公司营业执照或个人身份证上的名称一致</text>
......@@ -102,6 +103,7 @@ const app = getApp();
const submitting = ref(false);
const showSuccessModal = ref(false);
const showIndividualType = ref(true);
const personalInvoiceMode = ref(false);
// 表单数据
const form = reactive({
......@@ -122,6 +124,15 @@ onLoad((options) => {
// 自动填充发票抬头和纳税人识别号(与PC端一致)
const memberInfo = app.globalData.memberInfo
if (options.personalInvoice == '1') {
personalInvoiceMode.value = true
form.type = '1'
form.name = decodeURIComponent(options.invoiceTitle || '') || ''
form.taxno = ''
showIndividualType.value = true
return
}
// 如果是对公转账(ziZhangBu有值),默认只能开企业发票,隐藏个人选项
if (options.ziZhangBu == '1') {
......@@ -457,4 +468,4 @@ function closeSuccessModal() {
.success-btn::after {
border: none;
}
</style>
\ No newline at end of file
</style>
......
......@@ -130,10 +130,13 @@
<button v-if="canShowCancel(item)" :class="{ disabled: isCancelDisabled(item) }" :disabled="isCancelDisabled(item)" class="btn btn-info" @click.stop="handleCancel(item)">取消订单</button>
<!-- 已缴费:申请开票/已开票(需要审核通过才能开票) -->
<template v-if="canShowInvoiceApply(item)">
<button :class="{ disabled: isInvoiceDisabled(item) }" :disabled="isInvoiceDisabled(item)" class="btn btn-view-invoice" @click.stop="makeInvoiceFN(item)">
<button :class="{ disabled: isInvoiceDisabled(item) }" :disabled="isInvoiceDisabled(item)" class="btn btn-view-invoice" @click.stop="makeInvoiceFN(item)">
申请开票
</button>
</template>
<template v-if="hasInvoice(item)">
<button class="btn btn-invoice" @click.stop="viewInvoice(item)">查看发票</button>
</template>
</view>
</view>
</view>
......@@ -276,11 +279,11 @@ const getAuditStatusText = (status) => {
const hasInvoice = (item) => String(item?.invoiceStatus) === '1';
const isPayDisabled = (item) => {
return String(item?.auditStatus) !== '9';
return String(item?.auditStatus) !== '9' || String(item?.payStatus) !== '0';
};
const canShowCancel = (item) => {
return String(item?.auditStatus) === '9';
return String(item?.auditStatus) === '9' || String(item?.payStatus) !== '0';
};
const isCancelDisabled = (item) => {
......@@ -446,21 +449,18 @@ const closeDelPopup = () => {
// 去缴费
const handlePay = async (item) => {
if (item.payStatus !== 0) return;
try {
await api.goPay({id: item.id});
uni.navigateTo({url: `/pages/pay/pay?orderId=${item.id}`});
} catch (e) {
uni.showToast({title: '发起支付失败', icon: 'none'});
}
if (isPayDisabled(item)) return;
goPay(item);
};
// 申请开票
const makeInvoiceFN = (item) => {
if (isInvoiceDisabled(item)) return;
// if (isInvoiceDisabled(item)) return;
needRefresh.value = true;
const rawInvoiceTitle = item.orderName || item.content?.orderName || item.memberName || ''
const invoiceTitle = encodeURIComponent(String(rawInvoiceTitle).split('-')[0] || '')
uni.navigateTo({
url: `/pages/invoice/applyFeisui?orderId=${item.id}&amount=${item.price}&type=1`
url: `/pages/invoice/applyFeisui?orderId=${item.id}&amount=${item.price}&type=1&personalInvoice=1&invoiceTitle=${invoiceTitle}`
});
};
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!