From 1d247f1049df67940e6b171de2ea22224544b24b Mon Sep 17 00:00:00 2001 From: zhengw <247276359@qq.com> Date: Tue, 10 Feb 2026 14:33:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=87=87=E8=B4=AD=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E9=A1=B5=E9=9D=A2=E8=AF=A6=E6=83=85=E9=A1=B5,=20?= =?UTF-8?q?=E6=9D=83=E9=99=90=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniprogram/app.json | 5 +- .../base/viewAttachment/viewAttachment.ts | 27 +++- miniprogram/pages/finance/flow/flow.json | 1 + miniprogram/pages/finance/flow/flow.ts | 47 ++++--- miniprogram/pages/finance/flow/flow.wxml | 33 +++-- miniprogram/pages/finance/giro/giro.ts | 9 +- miniprogram/pages/finance/giro/giro.wxml | 2 + .../pages/finance/giroDetail/giroDetail.json | 9 ++ .../pages/finance/giroDetail/giroDetail.ts | 118 ++++++++++++++++++ .../pages/finance/giroDetail/giroDetail.wxml | 37 ++++++ .../pages/finance/giroDetail/giroDetail.wxss | 1 + miniprogram/pages/finance/income/income.ts | 9 +- miniprogram/pages/finance/income/income.wxml | 2 + .../finance/incomeDetail/incomeDetail.json | 9 ++ .../finance/incomeDetail/incomeDetail.ts | 118 ++++++++++++++++++ .../finance/incomeDetail/incomeDetail.wxml | 37 ++++++ .../finance/incomeDetail/incomeDetail.wxss | 0 miniprogram/pages/finance/outcome/outcome.ts | 9 +- .../pages/finance/outcome/outcome.wxml | 2 + .../finance/outcomeDetail/outcomeDetail.json | 9 ++ .../finance/outcomeDetail/outcomeDetail.ts | 118 ++++++++++++++++++ .../finance/outcomeDetail/outcomeDetail.wxml | 37 ++++++ .../finance/outcomeDetail/outcomeDetail.wxss | 0 miniprogram/pages/manage/my/my.wxml | 2 +- .../pages/orders/orderSort/orderSort.wxml | 3 +- .../other/outboundDetail/outboundDetail.wxml | 2 +- .../other/transferDetail/transferDetail.wxml | 2 +- .../backOrderDetail/backOrderDetail.wxml | 2 +- 28 files changed, 616 insertions(+), 34 deletions(-) create mode 100644 miniprogram/pages/finance/giroDetail/giroDetail.json create mode 100644 miniprogram/pages/finance/giroDetail/giroDetail.ts create mode 100644 miniprogram/pages/finance/giroDetail/giroDetail.wxml create mode 100644 miniprogram/pages/finance/giroDetail/giroDetail.wxss create mode 100644 miniprogram/pages/finance/incomeDetail/incomeDetail.json create mode 100644 miniprogram/pages/finance/incomeDetail/incomeDetail.ts create mode 100644 miniprogram/pages/finance/incomeDetail/incomeDetail.wxml create mode 100644 miniprogram/pages/finance/incomeDetail/incomeDetail.wxss create mode 100644 miniprogram/pages/finance/outcomeDetail/outcomeDetail.json create mode 100644 miniprogram/pages/finance/outcomeDetail/outcomeDetail.ts create mode 100644 miniprogram/pages/finance/outcomeDetail/outcomeDetail.wxml create mode 100644 miniprogram/pages/finance/outcomeDetail/outcomeDetail.wxss diff --git a/miniprogram/app.json b/miniprogram/app.json index 73e844e..c61cd6b 100644 --- a/miniprogram/app.json +++ b/miniprogram/app.json @@ -19,9 +19,12 @@ "pages/purchase/buyInOrderDetail/buyInOrderDetail", "pages/purchase/backOrder/backOrder", "pages/purchase/backOrderDetail/backOrderDetail", - "pages/finance/outcome/outcome", "pages/finance/income/income", + "pages/finance/incomeDetail/incomeDetail", + "pages/finance/outcome/outcome", + "pages/finance/outcomeDetail/outcomeDetail", "pages/finance/giro/giro", + "pages/finance/giroDetail/giroDetail", "pages/finance/flow/flow", "pages/base/supplier/supplier", "pages/base/customer/customer", diff --git a/miniprogram/pages/base/viewAttachment/viewAttachment.ts b/miniprogram/pages/base/viewAttachment/viewAttachment.ts index ce7c087..bf93620 100644 --- a/miniprogram/pages/base/viewAttachment/viewAttachment.ts +++ b/miniprogram/pages/base/viewAttachment/viewAttachment.ts @@ -17,6 +17,8 @@ Page({ order_no: '', head_id: '', head_id2: '', + rel_account_log_id: '', + rel_bill_no: '', list: [] as any[], fileIcon: { file: 'file', excel: 'file-excel', pdf: 'file-pdf' }, }, @@ -55,6 +57,17 @@ Page({ post('ErpFinance/fileList', { head_id: this.data.head_id2 }).then((res: any) => { this.formatData(res.data); }); + } else if (this.data.rel_bill_no) { + // 资金明细附件 + const data: any = { + order_no: this.data.rel_bill_no, + }; + if (this.data.rel_account_log_id) { + data.rel_account_log_id = this.data.rel_account_log_id; + } + post('ErpAccount/getAccountPayFile', data).then((res: any) => { + this.formatData(res.data); + }); } }, onPreview(e: any) { @@ -69,13 +82,25 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad(options) { - const { title, order_no = '', head_id = '', head_id2 = '' } = options || {}; + const { + title, + order_no = '', + head_id = '', + head_id2 = '', + rel_account_log_id = '', + rel_bill_no = '', + } = options || {}; if (title) { wx.setNavigationBarTitle({ title: decodeURIComponent(title) }); } this.data.order_no = order_no; this.data.head_id = head_id; this.data.head_id2 = head_id2; + + // 资金明细附件 + this.data.rel_account_log_id = rel_account_log_id; + this.data.rel_bill_no = rel_bill_no; + loginStatusPage(this); }, diff --git a/miniprogram/pages/finance/flow/flow.json b/miniprogram/pages/finance/flow/flow.json index 325ac66..a5ef1cd 100644 --- a/miniprogram/pages/finance/flow/flow.json +++ b/miniprogram/pages/finance/flow/flow.json @@ -7,6 +7,7 @@ "date-picker-plugin": "/pages/components/date-picker-plugin/date-picker-plugin", "sort-plugin": "/pages/components/sort-plugin/sort-plugin", "count-plugin": "/pages/components/count-plugin/count-plugin", + "select-plugin": "/pages/components/select-plugin/select-plugin", "total-bar-plugin": "/pages/components/total-bar-plugin/total-bar-plugin", "pagination-plugin": "/pages/components/pagination-plugin/pagination-plugin", "search-input": "/pages/components/search-input/search-input" diff --git a/miniprogram/pages/finance/flow/flow.ts b/miniprogram/pages/finance/flow/flow.ts index 8f031dc..03927da 100644 --- a/miniprogram/pages/finance/flow/flow.ts +++ b/miniprogram/pages/finance/flow/flow.ts @@ -20,12 +20,15 @@ Page({ data: { params: cloneLite(defaultParams) as any, list: [] as any[], + accounts: [] as any[], + crms: [] as any[], count: 0, - states: [ + payType: [ { value: '', label: '全部' }, - { value: '1', label: '未审核' }, - { value: '2', label: '已审核' }, + { value: '1', label: '收入' }, + { value: '2', label: '支出' }, ], + payTypeObj: { 1: '收入', 2: '支出' }, sort: [{ label: '创建日期', value: 'create_date' }], }, handleLogin(e: any) { @@ -37,6 +40,7 @@ Page({ init() { this.setData({ authInfo: getAuthInfo() }); this.getList(); + this.getData(); }, searchChange(e: any) { const key = getDataSet(e).key; @@ -63,21 +67,26 @@ Page({ paginationChange(e: any) { this.getList(e.detail.curr_page); }, + getData() { + post('ErpAccount/ajaxList', { state: 1 }).then((res: any) => { + const list = toArray(res.data?.list).map((el) => ({ + label: el.account_name, + value: el.account_id, + })); + this.setData({ accounts: list }); + }); + post('ErpCrm/ajaxList').then((res: any) => { + const list = toArray(res.data?.list).map((el) => ({ + label: el.crm_name, + value: el.crm_id, + })); + this.setData({ crms: list }); + }); + }, getList(curr: number = 1) { this.data.params.curr_page = curr; this.setData({ params: this.data.params }); const temp = cloneLite(this.data.params); - if (temp.order_step && temp.order_step.length) { - temp.order_step = temp.order_step.join(','); - } else { - delete temp.order_step; - } - - if (temp.process_state && temp.process_state.length) { - temp.process_state = temp.process_state.join(','); - } else { - delete temp.process_state; - } post('ErpAccount/flow', temp).then((res: any) => { const list = toArray(res.data); @@ -104,6 +113,16 @@ Page({ }); }); }, + onViewAttachment(e: any) { + const data = getDataSet(e); + const index = data.index; + const item = this.data.list[index]; + wx.navigateTo({ + url: `/pages/base/viewAttachment/viewAttachment?rel_account_log_id=${ + item.rel_account_log_id || '' + }&rel_bill_no=${item.rel_bill_no}&title=${encodeURIComponent(`${item.rel_bill_no} 附件`)}`, + }); + }, /** * 生命周期函数--监听页面加载 */ diff --git a/miniprogram/pages/finance/flow/flow.wxml b/miniprogram/pages/finance/flow/flow.wxml index 29b46f1..e92ee75 100644 --- a/miniprogram/pages/finance/flow/flow.wxml +++ b/miniprogram/pages/finance/flow/flow.wxml @@ -1,23 +1,29 @@ - - + - + + + + + - + bind:confirm="searchChange" /> @@ -27,11 +33,14 @@ - {{ item.rel_bill_no }} + + {{ item.rel_bill_no }} + {{item.type}} + - + - + @@ -45,6 +54,10 @@ + + 附件({{item.file_cnt}}) + diff --git a/miniprogram/pages/finance/giro/giro.ts b/miniprogram/pages/finance/giro/giro.ts index bc173f2..6d019bb 100644 --- a/miniprogram/pages/finance/giro/giro.ts +++ b/miniprogram/pages/finance/giro/giro.ts @@ -90,7 +90,14 @@ Page({ }); }); }, - + onOrderDetail(e: any) { + const data = getDataSet(e); + const index = data.index; + const item = this.data.list[index]; + wx.navigateTo({ + url: `/pages/finance/giroDetail/giroDetail?head_id=${item.head_id}`, + }); + }, onOrderDel(e: any) { const data = getDataSet(e); const index = data.index; diff --git a/miniprogram/pages/finance/giro/giro.wxml b/miniprogram/pages/finance/giro/giro.wxml index 5285d7b..14c6b7f 100644 --- a/miniprogram/pages/finance/giro/giro.wxml +++ b/miniprogram/pages/finance/giro/giro.wxml @@ -43,6 +43,8 @@ + 详情 + 删除 { + const data = toObject(res.data); + const info = toObject(data.info); + wx.setNavigationBarTitle({ title: `${info.bill_no} 详情` }); + this.setData({ + detail: toArray(info.rows), + info: info, + }); + }); + post('ErpFinance/fileList', temp).then((res: any) => { + this.setData({ + files: toArray(res.data).map((el) => { + el._file_type = getFileType(el.file_name); + el.file_path = `${OSSBaseUrl}${el.file_path}`; + el._file_size = formatFileSize(el.file_size); + return el; + }), + }); + }); + }, + onPreview(e: any) { + const data = getDataSet(e); + const index = data.index; + const item = this.data.files[index]; + if (item._file_type != 'file') { + mediaPreview([item.file_path], item.file_path); + } + }, + onPreview2() { + const path = `${OSSBaseUrl}${this.data.info.file_name}`; + // console.log(path); + mediaPreview([path], path); + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + const { head_id } = options; + this.data.params.head_id = head_id; + loginStatusPage(this); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() {}, +}); diff --git a/miniprogram/pages/finance/giroDetail/giroDetail.wxml b/miniprogram/pages/finance/giroDetail/giroDetail.wxml new file mode 100644 index 0000000..f252d9d --- /dev/null +++ b/miniprogram/pages/finance/giroDetail/giroDetail.wxml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + {{ item.account_name }} + + + + + + \ No newline at end of file diff --git a/miniprogram/pages/finance/giroDetail/giroDetail.wxss b/miniprogram/pages/finance/giroDetail/giroDetail.wxss new file mode 100644 index 0000000..4ef26bc --- /dev/null +++ b/miniprogram/pages/finance/giroDetail/giroDetail.wxss @@ -0,0 +1 @@ +/* pages/finance/giroDetail/giroDetail.wxss */ \ No newline at end of file diff --git a/miniprogram/pages/finance/income/income.ts b/miniprogram/pages/finance/income/income.ts index 53fe96d..aae7058 100644 --- a/miniprogram/pages/finance/income/income.ts +++ b/miniprogram/pages/finance/income/income.ts @@ -90,7 +90,14 @@ Page({ }); }); }, - + onOrderDetail(e: any) { + const data = getDataSet(e); + const index = data.index; + const item = this.data.list[index]; + wx.navigateTo({ + url: `/pages/finance/incomeDetail/incomeDetail?head_id=${item.head_id}`, + }); + }, onOrderDel(e: any) { const data = getDataSet(e); const index = data.index; diff --git a/miniprogram/pages/finance/income/income.wxml b/miniprogram/pages/finance/income/income.wxml index ba177e2..e85a04c 100644 --- a/miniprogram/pages/finance/income/income.wxml +++ b/miniprogram/pages/finance/income/income.wxml @@ -48,6 +48,8 @@ + 详情 + 删除 { + const data = toObject(res.data); + const info = toObject(data.info); + wx.setNavigationBarTitle({ title: `${info.bill_no} 详情` }); + this.setData({ + detail: toArray(info.rows), + info: info, + }); + }); + post('ErpFinance/fileList', temp).then((res: any) => { + this.setData({ + files: toArray(res.data).map((el) => { + el._file_type = getFileType(el.file_name); + el.file_path = `${OSSBaseUrl}${el.file_path}`; + el._file_size = formatFileSize(el.file_size); + return el; + }), + }); + }); + }, + onPreview(e: any) { + const data = getDataSet(e); + const index = data.index; + const item = this.data.files[index]; + if (item._file_type != 'file') { + mediaPreview([item.file_path], item.file_path); + } + }, + onPreview2() { + const path = `${OSSBaseUrl}${this.data.info.file_name}`; + // console.log(path); + mediaPreview([path], path); + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + const { head_id } = options; + this.data.params.head_id = head_id; + loginStatusPage(this); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() {}, +}); diff --git a/miniprogram/pages/finance/incomeDetail/incomeDetail.wxml b/miniprogram/pages/finance/incomeDetail/incomeDetail.wxml new file mode 100644 index 0000000..01e948c --- /dev/null +++ b/miniprogram/pages/finance/incomeDetail/incomeDetail.wxml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + {{ item.finance_item_name }} + + + + + + \ No newline at end of file diff --git a/miniprogram/pages/finance/incomeDetail/incomeDetail.wxss b/miniprogram/pages/finance/incomeDetail/incomeDetail.wxss new file mode 100644 index 0000000..e69de29 diff --git a/miniprogram/pages/finance/outcome/outcome.ts b/miniprogram/pages/finance/outcome/outcome.ts index 1831f12..c7d1b49 100644 --- a/miniprogram/pages/finance/outcome/outcome.ts +++ b/miniprogram/pages/finance/outcome/outcome.ts @@ -90,7 +90,14 @@ Page({ }); }); }, - + onOrderDetail(e: any) { + const data = getDataSet(e); + const index = data.index; + const item = this.data.list[index]; + wx.navigateTo({ + url: `/pages/finance/outcomeDetail/outcomeDetail?head_id=${item.head_id}`, + }); + }, onOrderDel(e: any) { const data = getDataSet(e); const index = data.index; diff --git a/miniprogram/pages/finance/outcome/outcome.wxml b/miniprogram/pages/finance/outcome/outcome.wxml index aceb35b..9e03c55 100644 --- a/miniprogram/pages/finance/outcome/outcome.wxml +++ b/miniprogram/pages/finance/outcome/outcome.wxml @@ -48,6 +48,8 @@ + 详情 + 删除 { + const data = toObject(res.data); + const info = toObject(data.info); + wx.setNavigationBarTitle({ title: `${info.bill_no} 详情` }); + this.setData({ + detail: toArray(info.rows), + info: info, + }); + }); + post('ErpFinance/fileList', temp).then((res: any) => { + this.setData({ + files: toArray(res.data).map((el) => { + el._file_type = getFileType(el.file_name); + el.file_path = `${OSSBaseUrl}${el.file_path}`; + el._file_size = formatFileSize(el.file_size); + return el; + }), + }); + }); + }, + onPreview(e: any) { + const data = getDataSet(e); + const index = data.index; + const item = this.data.files[index]; + if (item._file_type != 'file') { + mediaPreview([item.file_path], item.file_path); + } + }, + onPreview2() { + const path = `${OSSBaseUrl}${this.data.info.file_name}`; + // console.log(path); + mediaPreview([path], path); + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + const { head_id } = options; + this.data.params.head_id = head_id; + loginStatusPage(this); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() {}, +}); diff --git a/miniprogram/pages/finance/outcomeDetail/outcomeDetail.wxml b/miniprogram/pages/finance/outcomeDetail/outcomeDetail.wxml new file mode 100644 index 0000000..6402e09 --- /dev/null +++ b/miniprogram/pages/finance/outcomeDetail/outcomeDetail.wxml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + {{ item.finance_item_name }} + + + + + + \ No newline at end of file diff --git a/miniprogram/pages/finance/outcomeDetail/outcomeDetail.wxss b/miniprogram/pages/finance/outcomeDetail/outcomeDetail.wxss new file mode 100644 index 0000000..e69de29 diff --git a/miniprogram/pages/manage/my/my.wxml b/miniprogram/pages/manage/my/my.wxml index 130909c..6d8d1b1 100644 --- a/miniprogram/pages/manage/my/my.wxml +++ b/miniprogram/pages/manage/my/my.wxml @@ -1,4 +1,4 @@ - diff --git a/miniprogram/pages/orders/orderSort/orderSort.wxml b/miniprogram/pages/orders/orderSort/orderSort.wxml index 394cf21..c1989e3 100644 --- a/miniprogram/pages/orders/orderSort/orderSort.wxml +++ b/miniprogram/pages/orders/orderSort/orderSort.wxml @@ -20,7 +20,8 @@ - 移至顶部 + 移至顶部 diff --git a/miniprogram/pages/other/outboundDetail/outboundDetail.wxml b/miniprogram/pages/other/outboundDetail/outboundDetail.wxml index 9be84f3..d6b0055 100644 --- a/miniprogram/pages/other/outboundDetail/outboundDetail.wxml +++ b/miniprogram/pages/other/outboundDetail/outboundDetail.wxml @@ -1,4 +1,4 @@ - diff --git a/miniprogram/pages/other/transferDetail/transferDetail.wxml b/miniprogram/pages/other/transferDetail/transferDetail.wxml index 7cf66c6..778780d 100644 --- a/miniprogram/pages/other/transferDetail/transferDetail.wxml +++ b/miniprogram/pages/other/transferDetail/transferDetail.wxml @@ -1,4 +1,4 @@ - diff --git a/miniprogram/pages/purchase/backOrderDetail/backOrderDetail.wxml b/miniprogram/pages/purchase/backOrderDetail/backOrderDetail.wxml index f2ffce8..42b5895 100644 --- a/miniprogram/pages/purchase/backOrderDetail/backOrderDetail.wxml +++ b/miniprogram/pages/purchase/backOrderDetail/backOrderDetail.wxml @@ -1,4 +1,4 @@ -