-
+
@@ -21,47 +14,30 @@
-
+
- {{ $t("common.queryBtn") }}
+ {{ $t("common.queryBtn")
+ }}
{{ $t("common.resetBtn") }}
-
+
删除
-
+
-
+
@@ -105,49 +81,29 @@
-
+
- 详情
- 详情
+ 充值/扣款
- 充值/扣款
+
+ @click="doTransferAccounts(row)">
转账
-
+
diff --git a/src/views/wallet/wallet-recharge-apply/form.vue b/src/views/wallet/wallet-recharge-apply/form.vue
index 9ac6eb3..d1e004a 100644
--- a/src/views/wallet/wallet-recharge-apply/form.vue
+++ b/src/views/wallet/wallet-recharge-apply/form.vue
@@ -14,7 +14,7 @@
diff --git a/src/views/wallet/wallet-recharge-apply/index.vue b/src/views/wallet/wallet-recharge-apply/index.vue
index ba26871..2531454 100644
--- a/src/views/wallet/wallet-recharge-apply/index.vue
+++ b/src/views/wallet/wallet-recharge-apply/index.vue
@@ -1,7 +1,8 @@
-
+
@@ -10,60 +11,47 @@
-
+
-
+
-
+
- {{ $t("common.queryBtn") }}
+ {{ $t("common.queryBtn")
+ }}
{{ $t("common.resetBtn") }}
-
+
@@ -115,86 +103,48 @@
-
+
-
+
数据
-
+
申请
-
+
编辑
-
+
开始处理
+ icon="delete" text type="primary" v-auth="'wallet_walletRechargeApply_del'"
+ @click="handleDelete([row.id])">
删除
-
+
-
+
@@ -307,6 +257,7 @@ const selectionChangHandle = (objs: { id: string }[]) => {
onMounted(async () => {
const { data } = await getDicts("check_status")
data.unshift({ label: "全部", value: null })
+ data.push({ label: "未提交", value: 99 })
tabItems.value = data
})
diff --git a/src/views/wallet/wallet-recharge-invoice/index.vue b/src/views/wallet/wallet-recharge-invoice/index.vue
index 1819661..793e7eb 100644
--- a/src/views/wallet/wallet-recharge-invoice/index.vue
+++ b/src/views/wallet/wallet-recharge-invoice/index.vue
@@ -13,6 +13,7 @@
+ {{ $t("common.queryBtn") }}
{{ $t("common.queryBtn") }}
{{ $t("common.resetBtn") }}
@@ -43,7 +44,7 @@
@sort-change="sortChangeHandle"
>
-
+
@@ -69,17 +70,15 @@
+
-
-
查看发票
@@ -138,7 +137,7 @@ const state: BasicTableProps = reactive({
pageList: fetchList,
})
const printDialogRef = ref()
-const getReceiptDataLoading = ref(false)
+const loading = ref(false)
// table hook
const { getDataList, currentChangeHandle, sizeChangeHandle, sortChangeHandle, downBlobFile, tableStyle } = useTable(state)
@@ -183,7 +182,7 @@ const handleDelete = async (ids: string[]) => {
// 预览发票
const previewInvoice = async (row: any) => {
try {
- getReceiptDataLoading.value = true
+ loading.value = true
if (!row.id) return useMessage().error("发票ID不存在")
const res = await getObj(row.id)
if (res.code == 0 && printDialogRef.value) return printDialogRef.value.openDialog(res.data, res.data.id)
@@ -191,7 +190,7 @@ const previewInvoice = async (row: any) => {
} catch (error: any) {
useMessage().error(error.msg)
} finally {
- getReceiptDataLoading.value = false
+ loading.value = false
}
}
diff --git a/src/views/wallet/wallet-recharge-invoice/print-dialog.vue b/src/views/wallet/wallet-recharge-invoice/print-dialog.vue
index 27f826f..c7c25df 100644
--- a/src/views/wallet/wallet-recharge-invoice/print-dialog.vue
+++ b/src/views/wallet/wallet-recharge-invoice/print-dialog.vue
@@ -6,8 +6,7 @@
- {{ formatDate(new Date(receiptData.time), "YYYY年 mm月 dd日") || " 年 月 日".replace(/ /g, " ")
- }}
+ {{ formatDate(new Date(receiptData.time), "YYYY年 mm月 dd日") || " 年 月 日".replace(/ /g, " ") }}
No.
@@ -20,8 +19,12 @@
| 交款单位(或个人) |
-
+
|
@@ -58,10 +61,15 @@
收款单位 (盖章) |
-
+ oncontextmenu="return false"
+ src="/@/assets/receiptStamp.png"
+ />
|
开票人 (签名) |
@@ -71,15 +79,16 @@
|
备注:
-
+
|
-
+
{{ "第一联 存根联".replace(/ /g, " ") }}
@@ -87,20 +96,39 @@
-
+
关闭
-
+
盖章
- 作废
- 保存
+
+ 作废
+
+ 保存
打印
@@ -196,53 +224,58 @@ const backInvoice = async () => {
emit("refresh")
useMessage().success("作废成功")
} catch (error: any) {
- console.error(error);
+ console.error(error)
useMessage().error(error.msg)
} finally {
loadingBack.value = false
}
}
-// 生成图片并上传
-const genImageUpload = async (): Promise => {
+// 生成图片
+const genImage = async (): Promise => {
if (receiptRef.value) {
- const blob = await htmlToImage.toBlob(receiptRef.value, {
- canvasWidth: 661.5,
- canvasHeight: 359.1,
- backgroundColor: "#ffffff",
- pixelRatio: 6,
- })
- if (blob) {
- try {
- loading.value = true
- const formData = new FormData()
- formData.append("file", blob, "receipt.png")
- const { code, data } = await request({
- url: "/admin/sys-file/upload",
- method: "post",
- headers: {
- "Content-Type": "multipart/form-data",
- },
- data: formData,
- onUploadProgress: (progressEvent: any) => {
- if (progressEvent.lengthComputable) {
- progressPercent.value = Math.round((progressEvent.loaded * 100) / progressEvent.total)
- }
- },
- })
- if (code == 0) {
- useMessage().success("盖章成功")
- return data.url
- }
- useMessage().error(data.msg || "上传失败")
- } catch (error) {
- useMessage().error(error as string)
- } finally {
- loading.value = false
- progressPercent.value = 30
+ const blob = await htmlToImage
+ .toBlob(receiptRef.value, {
+ canvasWidth: 661.5,
+ canvasHeight: 359.1,
+ backgroundColor: "#ffffff",
+ pixelRatio: 6,
+ })
+ .catch((error) => {
isStamping.value = false
- }
- }
+ return useMessage().error("图片生成错误")
+ })
+ return blob
+ }
+}
+
+// 图片上传
+const uploadImage = async (blob: Blob): Promise => {
+ try {
+ loading.value = true
+ const formData = new FormData()
+ formData.append("file", blob, "receipt.png")
+ const { code, data } = await request({
+ url: "/admin/sys-file/upload",
+ method: "post",
+ headers: {
+ "Content-Type": "multipart/form-data",
+ },
+ data: formData,
+ onUploadProgress: (progressEvent: any) => {
+ if (progressEvent.lengthComputable) {
+ progressPercent.value = Math.round((progressEvent.loaded * 100) / progressEvent.total)
+ }
+ },
+ })
+ if (code == 0) return data.url
+ useMessage().error(data.msg || "上传失败")
+ } catch (error) {
+ useMessage().error(error as string)
+ } finally {
+ loading.value = false
+ progressPercent.value = 30
+ isStamping.value = false
}
}
@@ -252,16 +285,19 @@ const stampReceipt = () => {
isStamping.value = true
timer = setTimeout(async () => {
- const url = await genImageUpload()
- if (url) {
- receiptData.value.picUrl = url
- await saveReceipt()
+ const blob = await genImage()
+ if (blob) {
+ const url = await uploadImage(blob)
+ if (url) {
+ receiptData.value.picUrl = url
+ await saveReceipt()
+ }
}
- }, 1010)
+ }, 1030)
}
// 保存发票
-const saveReceipt = async () => {
+const saveReceipt = async (): Promise => {
try {
loading.value = true
const { code, data } = await bindInvoice({