diff --git a/src/api/mine.js b/src/api/mine.js index a4874cde..276e46bd 100644 --- a/src/api/mine.js +++ b/src/api/mine.js @@ -147,21 +147,29 @@ export function deleteImage(data){ //开票通知列表 export function notifyInvoiceList(data){ return request({ - url:'/supplierAppV2/dispatchApp/accountRecord/notifyInvoiceList', + url:'/order/taskInvoiceBatch/selectPageList', method:'POST', - contentType:'application/json', data }) } +// contentType:'application/json', //开票通知详情 export function notifyInvoiceDetail(data){ return request({ - url:'/supplierAppV2/dispatchApp/accountRecord/notifyInvoiceDetail', + url:'/order/taskInvoiceBatch/selectById', method:'POST', - contentType:'application/json', data }) } +// 关联案件 +export function getOrderListByInvoice(data) { + return request({ + url:'/order/taskOrderCostHisRecord/selectPageList', + method:'POST', + data + }) +} + // 调度app获取新签列表 export function pageList(data){ return request({ diff --git a/src/router/index.js b/src/router/index.js index 4c518cfa..31e2c509 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -88,6 +88,14 @@ const routes = [ title: '工单批次' } }, + { + path: "/invoiceInfo", + name: 'invoiceInfo', + component: () => import('@/views/index/invoiceInfo.vue'), + meta: { + title: '开票信息' + } + }, { path: "/invoicingDetail", name: 'invoicingDetail', diff --git a/src/utils/http.js b/src/utils/http.js index 2f557285..bf50a91d 100644 --- a/src/utils/http.js +++ b/src/utils/http.js @@ -25,7 +25,7 @@ service.interceptors.request.use( if (reqUrl.includes("/driverApp")) { // console.log("司机app") config.headers['token'] = `${token}`; - } else if(reqUrl.includes("/supplierApp") || reqUrl.includes("/supplierKPI") || reqUrl.includes('/supplier/select')){ + } else if(reqUrl.includes("/supplierApp") || reqUrl.includes("/supplierKPI") || reqUrl.includes('/supplier/select') || reqUrl.includes('/order')){ // console.log("调度app,服务商kpi") config.headers['Authorization'] = `${token}`; }else{ diff --git a/src/views/index/invoiceInfo.vue b/src/views/index/invoiceInfo.vue new file mode 100644 index 00000000..4074a8a1 --- /dev/null +++ b/src/views/index/invoiceInfo.vue @@ -0,0 +1,207 @@ + + + + + diff --git a/src/views/index/invoicingDetail.vue b/src/views/index/invoicingDetail.vue index 99e6c311..7be4f9fe 100644 --- a/src/views/index/invoicingDetail.vue +++ b/src/views/index/invoicingDetail.vue @@ -12,52 +12,143 @@ />
-
-
- {{ item.orderCode }}       - {{ item.serviceName }}       - {{item.settleAmount}}元 -
-
+
+
批次详情
+
+
+
批次编号
+
+ {{invoiceInfo.batchCode}} + +
+
+
+
财务编号
+
+ {{invoiceInfo.financeBatchCode}} + +
+
+
+
工单数量
+
+ {{invoiceInfo.orderNum}} +
+
+
+
总金额
+
+ {{invoiceInfo.orderNum}} +
+
+
+
扣款
+
+ {{invoiceInfo.cutMoney || ''}} +
+
+
+
税额扣款
+
+ {{invoiceInfo.taxCutMoney || ''}} +
+
+
+
开票金额
+
+ {{invoiceInfo.invoiceMoney || ''}} +
+
+
+
备注
+
+ {{invoiceInfo.remark || ''}} +
+
+
+
创建时间
+
+ {{invoiceInfo.createTime}} +
+
+
+
对账状况
+
+ {{invoiceInfo.statusString}} +
+
+
+
+
关联案件
+ + + + + + + + + + + +
案件编号服务类型结算类型
+ {{item.orderCode}} + + {{item.serviceType || ''}}{{item.settleAmount || ''}}
+
@@ -67,26 +158,61 @@ export default { @import "@/styles/common.scss"; .wrap{ @include wh(100%,100%); + background-color: #F4F5F7; } .navBar{ height: 46px; } .contentWrap{ - @include wh(100%,400px); - margin-left: 27px; - .item{ + .mt_cls { + margin-top: 10px; + } + .content_tab { + background-color: #fff; width: 100%; - @include all-height(47px); - .itemContent{ - margin-left: 5px; - color: #323643; - @include fontWeightSize(400,13px); + padding: 15px 15px; + .tab_title { + font-size: 14px; + font-weight: bold; + margin-bottom: 5px; } - .line{ - @include wh(100%,1px); - @include bgcolorOpa(#E9E9EA,0.6); + .tab_content { + .item_wrap { + display: flex; + align-items: center; + line-height: 30px; + font-size: 12px; + .item_label { + color: rgba(0,0,0,0.5); + margin-right: 5px; + width: 60px; + } + .item_content { + display: flex; + align-items: center; + } + } + } + table { + line-height: 30px; + width: 100%; + .text_left { + text-align: left; + width: 50%; + } + th { + color: rgba(0, 0, 0, 0.5); + } + td { + text-align: center; + } } } } + .copyIcon { + width: 35px; + height: 15px; + margin-left: 10px + } - \ No newline at end of file + diff --git a/src/views/index/invoicingNotify.vue b/src/views/index/invoicingNotify.vue index 2606804e..766bb277 100644 --- a/src/views/index/invoicingNotify.vue +++ b/src/views/index/invoicingNotify.vue @@ -11,41 +11,74 @@ @click-left="goBack" /> - -
-
-
- 开票月份: - {{ item.invoiceMonth }} -
-
- 总案件数: - {{ item.orderNum }} -
-
查看
-
-
- 批次号: - {{ item.batchCode }} -
-
- 结算总金额: - {{ item.totalMoney + '元' }} -
-
- 扣款金额: - {{ item.cutMoney + '元'}} -
-
- 扣款原因: - {{ item.remark }} -
-
- 最终开票金额: - {{ item.invoiceMoney+ '元' }} -
+ + + + + +
+ + + + + + +
+
+
+ 批次号: + {{ item.batchCode }} +
+
+ 总案件数: + {{ item?.orderNum || '' }} +
+
查看
+
+
+ 开票月份: + {{ getMonth(item) }} +
+
+ 结算总金额: + {{ item?.totalMoney ? item.totalMoney : 0 }}元 +
+
+ 扣款金额: + {{ item?.cutMoney || 0 }}元 +
+
+ 扣款原因: + {{ item.remark }} +
+
+ 最终开票金额: + {{ item?.invoiceMoney || 0 }}元 +
+ +
+
+
+
+
+
+
+ 开票总金额 + ¥{{totalCount}}
- +
去开票
+
@@ -63,14 +96,73 @@ export default { notifyList:[], pageNum:1, pageSize:10, + total: 0, show:false, isLoading: false, + loading: false, + active: 1, + status: '', + dispatchAppSearchInvoiced: '', + batchCode: '', + finished: false, + checkList: [], } }, + computed: { + totalCount () { + let total = 0; + this.checkList.map(item => { + total += item.invoiceMoney + }) + return total + }, + }, mounted() { - this.getNotifyList() + // this.getNotifyList() }, methods:{ + async onSearch() { + this.pageNum=1 + await this.getNotifyList() + }, + async getMore(){ + if ( this.active != 2 ) { + await this.getNotifyList() + this.pageNum++; + // 加载状态结束 + this.loading = false; + // 数据全部加载完成 + if (this.notifyList.length >= this.total) { + this.finished = true; + } + } + }, + changeTabHandler() { + this.pageNum = 1; + this.notifyList = []; + this.checkList = []; + if (this.active == 1) { // 全部, 需要分页 + this.status = ''; + this.dispatchAppSearchInvoiced = ''; + this.pageSize = 10; + } else if(this.active == 2) { // 未开票, 不需要分页 + this.status = 2; + this.dispatchAppSearchInvoiced = ''; + this.pageSize = 10000 + } else if(this.active == 3) { // 已开票,需要分页 + this.status = ''; + this.dispatchAppSearchInvoiced = 1; + this.pageSize = 10 + } + this.getNotifyList() + }, + getMonth(item) { + let str = ''; + let startTime = new Date(item.createTime); + let endTime = new Date(item.overTime); + str = startTime.getFullYear() + '年' + (startTime.getMonth() + 1 ) + '月 - ' + endTime.getFullYear() + '年' + (endTime.getMonth() + 1) + '月' + return str + }, onRefresh() { this.pageNum=1 this.getNotifyList() @@ -81,19 +173,33 @@ export default { }, async getNotifyList(){ let res = await notifyInvoiceList({ - pageNum:this.pageNum, - pageSize:this.pageSize + pageNum:this.pageNum, + pageSize:this.pageSize, + status: this.status, + dispatchAppSearchInvoiced: this.dispatchAppSearchInvoiced, + total: this.total, + batchCode: this.batchCode, + current: 1, }) - // if(res.code === 0){ - this.notifyList=res.data; - console.log(this.notifyList) - if(this.notifyList.length === 0){ - this.show=true + if(res.code == 200){ + this.total=res.total + if(this.pageNum == 1){ + this.notifyList=res.data; + }else{ + let preList = this.notifyList; + let arr = res.data; + this.notifyList = preList.concat(arr) + } + if (this.notifyList.length === 0) { + this.show=true }else{ this.show=false } } - // }, + }, + toggle(index) { + this.$refs.checkboxes[index].toggle(); + }, } } @@ -101,6 +207,11 @@ export default { \ No newline at end of file +.van-tabs { + position: fixed; + width: 100%; + background-color: #2c395f; + z-index: 1000000 !important; +} + .content_wrap { + padding-top: 1.17333rem; + } + .invoice_btn_wrap { + position: fixed; + bottom: 0; + width: 100%; + padding: 20px; + box-sizing: border-box; + background-color: #fff; + .invoice_btn_info { + display: flex; + justify-content: space-between; + align-items: center; + .invoice_btn_title { + font-size: 14px; + font-weight: bold; + } + .invoice_btn_money { + font-size: 26px; + color: red; + } + } + .btn { + width: 100%; + background-color: #2C395F; + color: #fff; + padding: 15px 0; + text-align: center; + border-radius: 6px; + } + } + + .pd_cls { + padding-bottom: 40px; + } +