diff --git a/src/api/bs/vendor.js b/src/api/bs/vendor.js new file mode 100644 index 0000000..c9322a2 --- /dev/null +++ b/src/api/bs/vendor.js @@ -0,0 +1,75 @@ +import request from '@/plugin/axios' + +// 创建报销-供应商信息 +export function createVendor(data) { + return request({ + url: '/bs/vendor/create', + method: 'post', + data: data + }) +} + +// 更新报销-供应商信息 +export function updateVendor(data) { + return request({ + url: '/bs/vendor/update', + method: 'put', + data: data + }) +} + +// 删除报销-供应商信息 +export function deleteVendor(id) { + return request({ + url: '/bs/vendor/delete?id=' + id, + method: 'delete' + }) +} + +// 获得报销-供应商信息 +export function getVendor(id) { + return request({ + url: '/bs/vendor/get?id=' + id, + method: 'get' + }) +} + +// 获得报销-供应商信息分页 +export function getVendorPage(query) { + return request({ + url: '/bs/vendor/page', + method: 'get', + params: query + }) +} + +// 导出报销-供应商信息 Excel +export function exportVendorExcel(query) { + return request({ + url: '/bs/vendor/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} + + +// 百度云接口识别 +export function baiduScanApi(data) { + return request({ + url: '/bs/vendor/buildBusinessLicense', + method: 'post', + data + }) +} + + +// 对公 +export function vendorBankPage(query) { + return request({ + url: '/bs/vendor-bank/page', + method: 'get', + params: query + }) +} + diff --git a/src/views/contract/receipts/index.vue b/src/views/contract/receipts/index.vue index 423a041..caf58ab 100644 --- a/src/views/contract/receipts/index.vue +++ b/src/views/contract/receipts/index.vue @@ -10,11 +10,9 @@ - + - - - +
附件
@@ -52,6 +50,7 @@ import { getTreeIds, findAreaIdName } from '@/utils' import { getExpenseApplyMyPage } from "@/api/bs/expenseApply"; import { Dialog } from 'vant' import { getDictDatas, DICT_TYPE } from "@/utils/dict"; +import { getVendorPage } from "@/api/bs/vendor"; export default { //import引入组件才能使用 props: {}, @@ -76,6 +75,7 @@ export default { }, data() { return { + allGysList: [], indexOne: 1, indexTwo: 1, claimType: '', @@ -507,38 +507,6 @@ export default { this.form = { ...(res.data || {}), - expenseClaimTrips: (res.data.expenseClaimTrips || []).map(item => { - let nameArr = [] - this.userList.forEach(element => { - if (item.tripPartners.includes(element.id)) { - nameArr.push(element.nickname) - } - }); - return { - ...item, - tripType: Number(item.tripType), - time: `${dayjs(item.startTime).format('YY/MM/DD')}~${dayjs(item.endTime).format('YY/MM/DD')}`, - tripPartnersName: nameArr.join('、'), - departureLocation: Number(item.departureLocation), - destinationLocation: Number(item.destinationLocation) - } - }) - } - if (Array.isArray(this.form.expenseClaimTrips)) { - this.form.expenseClaimTrips.forEach(n => { - n.expenseClaimDetails.forEach(z => { - // let nameArr = ((this.ieList.filter(item => (z.invoiceIds || []).includes(item.id)) || []).map(item => item.invoiceCode)).join('、') - this.$set(z, 'show', false) - // this.$set(z, 'invoiceName', nameArr) - }) - }) - } - if (Array.isArray(this.form.expenseClaimDetails)) { - this.form.expenseClaimDetails.forEach(z => { - // let nameArr = ((this.ieList.filter(item => (z.invoiceIds || []).includes(item.id)) || []).map(item => item.invoiceCode)).join('、') - this.$set(z, 'show', false) - // this.$set(z, 'invoiceName', nameArr) - }) } this.fileList = res.data.files || [] this.isAuthorised = res.data.isAuthorised @@ -550,159 +518,24 @@ export default { }) } }, - handleUpload(list) { - this.fileList = list - }, - handleNewConfirmPo(arr, index) { - let nameArr = [] - this.userList.forEach(element => { - if (arr.includes(element.id)) { - nameArr.push(element.nickname) - } - }); - this.$set(this.form.expenseClaimTrips[index], 'tripPartners', arr) - this.$set(this.form.expenseClaimTrips[index], 'tripPartnersName', nameArr.join('、')) - this.$set(this.form.expenseClaimTrips[index], 'isOpen', false) - }, - handleConfirmPo(arr, index) { - let nameArr = this.form.expenseClaimTrips[index].tripPartnersName && this.form.expenseClaimTrips[index].tripPartnersName.split('、') || [] - let newArr = this.form.expenseClaimTrips[index].tripPartners || [] - this.userList.forEach(element => { - if (arr.includes(element.id)) { - nameArr.push(element.nickname) - newArr.push(element.id) - } - }); - this.$set(this.form.expenseClaimTrips[index], 'tripPartners', newArr) - this.$set(this.form.expenseClaimTrips[index], 'tripPartnersName', nameArr.join('、')) - this.$set(this.form.expenseClaimTrips[index], 'isOpen', false) - }, - handlePoShow(index) { - // if (this.disabled) return - if (this.form.expenseClaimTrips[index].tripPartners.length) { - this.$set(this.form.expenseClaimTrips[index], 'type', 0) - this.$set(this.form.expenseClaimTrips[index], 'isOpen', true) - } else { - - this.$fm('请先添加同行人!') - } - }, - handlePoCancel(index) { - this.$set(this.form.expenseClaimTrips[index], 'isOpen', false) - }, - handleAddPeo(index) { - this.$set(this.form.expenseClaimTrips[index], 'isOpen', true) - this.$set(this.form.expenseClaimTrips[index], 'type', 1) - }, - handleDel(index) { - this.form.expenseClaimTrips.splice(index, 1) - }, - handleAdd() { - this.form.expenseClaimTrips.push({ - time: null, - startTime: null, - endTime: null, - departureLocation: null, - departureLocationName: '', - destinationLocation: null, - destinationLocationName: '', - tripDay: undefined, - tripType: null, - tripPartners: [], // 出差同行人 - tripPartnersName: "", - amount: undefined, - isOpen: false, - type: 0, - expenseClaimDetails: [ - { - invoiceIds: {}, - feeType: null, - amount: undefined, - invoiceCount: undefined, - remark: null, - } - ] - }) - }, handleInitList() { console.log('......'); this.$loading(true) return new Promise((resolve) => { - listData({ - pageNo: 1, - pageSize: this.$store.getters.requestPageSize, - dictType: 'bs_trip_type', - }).then((res) => { - // 出差类型 - this.tripTypeList = res.data.list || [] - console.log('tripTypeList..', this.tripTypeList); - }) - listData({ - pageNo: 1, - pageSize: this.$store.getters.requestPageSize, - dictType: 'bs_fee_type', - }).then((res) => { - // 出差类型 - this.feeTypeList = res.data.list || [] - }) - getInvoicePage({ - pageNo: 1, - pageSize: this.$store.getters.requestPageSize, - }).then((res) => { - this.ieList = res.data && res.data.list || [] - getExpenseApplyMyPage({ - pageNo: 1, - pageSize: 1000, - billType: 'CLSQ', - expenseFlag: 0, - ids: [], - sortingFieldStr: encodeURIComponent(JSON.stringify([{ field: 'id', order: "desc" }])) - }).then((res) => { - - let list = (res.data.list || []).map((item) => { - return { - ...item, - amount: (item.expenseApplyTrips || []).reduce((acc, cur) => { - return Number(acc) + Number(cur.amount) - }, 0), - tripDay: (item.expenseApplyTrips || []).reduce((acc, cur) => { - return Number(acc) + Number(cur.tripDay) - }, 0), - rodeArr: ((item.expenseApplyTrips || []).map(item => { - return [(findAreaIdName(this.areaTree, item.departureLocation) || {}).name, (findAreaIdName(this.areaTree, item.destinationLocation) || {}).name] - })), - time: Array.isArray(item.expenseApplyTrips) && item.expenseApplyTrips.length ? `${dayjs(item.expenseApplyTrips[0].startTime).format('YYYY/MM/DD')}~${dayjs(item.expenseApplyTrips[item.expenseApplyTrips.length - 1].endTime).format('YYYY/MM/DD')}` : '-' - } - }) - list.forEach(element => { - let arr = [] - element.rodeArr.forEach(v => { - v.forEach(n => { - arr.push(n && n) - }) - }) - element.rodeArr = arr - }); - - //去重 - list.forEach(n => { - n.rode = this.unique(n.rodeArr).join('-') - }) - this.expenseApplyList = (list || []).map((item, index) => { - return { - id: item.id, - title: `序号:${index + 1} 编号:${item.applyNo}申请人:${item.nickname}行程路线:${item.rode}出差天数:${item.tripDay || 0}天`, - disabled: item.status != 2 ? true : false - } - }) - resolve() - this.$loading(false) - }) - }) - + Promise.all([ + getVendorPage({ pageNo: 1, pageSize: 999 }), + getBankAccountInfoPage({ pageNo: 1, pageSize: 999 }) + ]).then(responses => { + // 处理每个请求的结果 + this.allGysList = responses[0].data.list || []; + this.allBankList = responses[1].data.list || []; + resolve() + }).catch(error => { + // 处理错误情况 + console.error('Error:', error); + }); }) - }, handleDateShow(index, obj) { if (this.disabled) {