diff --git a/src/api/fee/payFeeOrderApi.js b/src/api/fee/payFeeOrderApi.js new file mode 100644 index 0000000..d5d94e9 --- /dev/null +++ b/src/api/fee/payFeeOrderApi.js @@ -0,0 +1,311 @@ +import request from '@/utils/request' +import { getCommunityId } from '@/api/community/communityApi' + +// 查询费用对象信息 +export function listFeeObj(params) { + return new Promise( (resolve, reject) => { + try { + const communityId = getCommunityId() + const response = request({ + url: '/feeApi/listFeeObj', + method: 'get', + params: { + ...params, + communityId + } + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 计算费用折扣 +export function computeFeeDiscount(params) { + return new Promise( (resolve, reject) => { + try { + const communityId = getCommunityId() + const response = request({ + url: '/feeDiscount/computeFeeDiscount', + method: 'get', + params: { + ...params, + communityId + } + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 计算缴费优惠券 +export function computePayFeeCoupon(params) { + return new Promise( (resolve, reject) => { + try { + const communityId = getCommunityId() + const response = request({ + url: '/coupon.computePayFeeCoupon', + method: 'get', + params: { + ...params, + communityId + } + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 查询用户账户 +export function queryCommunityOwnerAccount(params) { + return new Promise( (resolve, reject) => { + try { + const communityId = getCommunityId() + const response = request({ + url: '/account.queryCommunityOwnerAccount', + method: 'get', + params: { + ...params, + communityId + } + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 查询押金信息 +export function queryFeeDeposit(params) { + return new Promise( (resolve, reject) => { + try { + const communityId = getCommunityId() + const response = request({ + url: '/fee.queryFeeDeposit', + method: 'get', + params: { + ...params, + communityId, + state: '1400' + } + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 退押金 +export function refundFeeDeposit(data) { + return new Promise( (resolve, reject) => { + try { + data.communityId = getCommunityId() + const response = request({ + url: '/fee.refundFeeDeposit', + method: 'post', + data + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 缴费 +export function payFee(data) { + return new Promise( (resolve, reject) => { + try { + data.communityId = getCommunityId() + const response = request({ + url: '/fee.payFee', + method: 'post', + data + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 扫码支付 +export function qrCodePayment(data) { + return new Promise( (resolve, reject) => { + try { + data.communityId = getCommunityId() + data.subServiceCode = 'fee.payFee' + const response = request({ + url: '/payment.qrCodePayment', + method: 'post', + data + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 检查支付状态 +export function checkPayFinish(data) { + return new Promise( (resolve, reject) => { + try { + data.communityId = getCommunityId() + data.subServiceCode = 'fee.payFee' + const response = request({ + url: '/payment.checkPayFinish', + method: 'post', + data + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 查询收据 +export function queryFeeReceipt(params) { + return new Promise( (resolve, reject) => { + try { + const communityId = getCommunityId() + const response = request({ + url: '/feeReceipt/queryFeeReceipt', + method: 'get', + params: { + ...params, + communityId + } + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 查询打印页面 +export function listFeePrintPages(params) { + return new Promise( (resolve, reject) => { + try { + const communityId = getCommunityId() + const response = request({ + url: '/feePrintPage.listFeePrintPage', + method: 'get', + params: { + ...params, + communityId, + state: 'T' + } + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 业主预存账户 +export function ownerPrestoreAccount(data) { + return new Promise( (resolve, reject) => { + try { + data.communityId = getCommunityId() + const response = request({ + url: '/account.ownerPrestoreAccount', + method: 'post', + data + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 查询房间信息 +export function queryRooms(params) { + return new Promise( (resolve, reject) => { + try { + const communityId = getCommunityId() + const response = request({ + url: '/room.queryRooms', + method: 'get', + params: { + ...params, + communityId + } + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 查询费用信息 +export function listFee(params) { + return new Promise( (resolve, reject) => { + try { + const communityId = getCommunityId() + const response = request({ + url: '/fee.listFee', + method: 'get', + params: { + ...params, + communityId + } + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 查询费用配置 +export function listFeeConfigs(params) { + return new Promise( (resolve, reject) => { + try { + const communityId = getCommunityId() + const response = request({ + url: '/feeConfig.listFeeConfigs', + method: 'get', + params: { + ...params, + communityId + } + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} + +// 计算缴费积分 +export function computePayFeeIntegral(params) { + return new Promise( (resolve, reject) => { + try { + const communityId = getCommunityId() + const response = request({ + url: '/integral.computePayFeeIntegral', + method: 'get', + params: { + ...params, + communityId + } + }) + resolve(response.data) + } catch (error) { + reject(error) + } + }) +} \ No newline at end of file diff --git a/src/components/fee/payFeeCoupon.vue b/src/components/fee/payFeeCoupon.vue new file mode 100644 index 0000000..d50fe9a --- /dev/null +++ b/src/components/fee/payFeeCoupon.vue @@ -0,0 +1,102 @@ + + + + + \ No newline at end of file diff --git a/src/components/fee/payFeeDeposit.vue b/src/components/fee/payFeeDeposit.vue index 89d4237..5d592f4 100644 --- a/src/components/fee/payFeeDeposit.vue +++ b/src/components/fee/payFeeDeposit.vue @@ -1,40 +1,40 @@ - \ No newline at end of file diff --git a/src/components/fee/payFeeDiscount.vue b/src/components/fee/payFeeDiscount.vue new file mode 100644 index 0000000..7c39af9 --- /dev/null +++ b/src/components/fee/payFeeDiscount.vue @@ -0,0 +1,245 @@ + + + + + \ No newline at end of file diff --git a/src/components/fee/payFeeOrderConfirm.vue b/src/components/fee/payFeeOrderConfirm.vue new file mode 100644 index 0000000..dcf57b0 --- /dev/null +++ b/src/components/fee/payFeeOrderConfirm.vue @@ -0,0 +1,216 @@ + + + + + \ No newline at end of file diff --git a/src/components/fee/payFeeOrderResult.vue b/src/components/fee/payFeeOrderResult.vue new file mode 100644 index 0000000..40ca510 --- /dev/null +++ b/src/components/fee/payFeeOrderResult.vue @@ -0,0 +1,131 @@ + + + + + \ No newline at end of file diff --git a/src/components/fee/payFeeUserAccount.vue b/src/components/fee/payFeeUserAccount.vue index 753ca23..e1d8115 100644 --- a/src/components/fee/payFeeUserAccount.vue +++ b/src/components/fee/payFeeUserAccount.vue @@ -1,153 +1,162 @@ - \ No newline at end of file diff --git a/src/components/fee/prestoreAccount2.vue b/src/components/fee/prestoreAccount2.vue new file mode 100644 index 0000000..1154bdb --- /dev/null +++ b/src/components/fee/prestoreAccount2.vue @@ -0,0 +1,137 @@ + + + + + \ No newline at end of file diff --git a/src/components/fee/refundDepositFee.vue b/src/components/fee/refundDepositFee.vue index 833bd19..9bd7a2a 100644 --- a/src/components/fee/refundDepositFee.vue +++ b/src/components/fee/refundDepositFee.vue @@ -1,72 +1,71 @@ - \ No newline at end of file diff --git a/src/components/fee/simplifyRoomFee.vue b/src/components/fee/simplifyRoomFee.vue index c63a1dc..8cd0730 100644 --- a/src/components/fee/simplifyRoomFee.vue +++ b/src/components/fee/simplifyRoomFee.vue @@ -432,7 +432,7 @@ export default { fee.roomName = this.simplifyRoomFeeInfo.roomName fee.builtUpArea = this.simplifyRoomFeeInfo.builtUpArea this.$router.push({ - path: '/property/payFeeOrder', + path: '/views/fee/payFeeOrder', query: { feeId: fee.feeId } }) }, diff --git a/src/components/fee/viewFeeConfigData.vue b/src/components/fee/viewFeeConfigData.vue index 49a7c4c..4f3615e 100644 --- a/src/components/fee/viewFeeConfigData.vue +++ b/src/components/fee/viewFeeConfigData.vue @@ -1,72 +1,88 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/src/components/fee/viewFeeData.vue b/src/components/fee/viewFeeData.vue new file mode 100644 index 0000000..fc6c164 --- /dev/null +++ b/src/components/fee/viewFeeData.vue @@ -0,0 +1,113 @@ + + + \ No newline at end of file diff --git a/src/components/fee/viewRoomData.vue b/src/components/fee/viewRoomData.vue index 5f15b6c..ace5cee 100644 --- a/src/components/fee/viewRoomData.vue +++ b/src/components/fee/viewRoomData.vue @@ -1,76 +1,97 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/src/components/index/index-property.vue b/src/components/index/index-property.vue index b14c6a5..235f19d 100644 --- a/src/components/index/index-property.vue +++ b/src/components/index/index-property.vue @@ -57,6 +57,7 @@ export default { \ No newline at end of file diff --git a/src/views/fee/printPayFeeBangTaiList.vue b/src/views/fee/printPayFeeBangTaiList.vue index fbd4c34..7c5ac5d 100644 --- a/src/views/fee/printPayFeeBangTaiList.vue +++ b/src/views/fee/printPayFeeBangTaiList.vue @@ -111,6 +111,7 @@ import { queryFeeReceipt, queryFeeReceiptDetail, queryFeePrintSpec } from '@/api/fee/printPayFeeBangTaiApi' import { getCommunityId } from '@/api/community/communityApi' import { getUserId,getUserName } from '@/api/user/userApi' +import { dateFormat } from '@/utils/dateUtil' export default { name: 'PrintPayFeeBangTaiList', @@ -246,7 +247,7 @@ export default { }, formatDate(date) { if (!date) return '' - return this.$moment(date).format('YYYY-MM-DD') + return dateFormat(date) }, changeNumMoneyToChinese(num) { // 这里实现数字转中文大写金额的逻辑 diff --git a/src/views/fee/printPayFeeList.vue b/src/views/fee/printPayFeeList.vue index 08e49bf..760b191 100644 --- a/src/views/fee/printPayFeeList.vue +++ b/src/views/fee/printPayFeeList.vue @@ -113,6 +113,7 @@ import { getCommunityId } from '@/api/community/communityApi' import { queryFeeReceipt, queryFeeReceiptDetail, queryFeePrintSpec } from '@/api/fee/printPayFeeApi' import { getUserId,getUserName } from '@/api/user/userApi' +import { dateFormat } from '@/utils/dateUtil' export default { name: 'PrintPayFeeList', @@ -240,7 +241,7 @@ export default { }, dateFormat(date) { if (!date) return '' - return this.$moment(date).format('YYYY-MM-DD') + return dateFormat(date) }, changeNumMoneyToChinese(num) { // 这里实现数字转中文大写金额的逻辑 diff --git a/src/views/fee/propertyFeeList.vue b/src/views/fee/propertyFeeList.vue index 173ac05..b439cab 100644 --- a/src/views/fee/propertyFeeList.vue +++ b/src/views/fee/propertyFeeList.vue @@ -134,6 +134,7 @@ import { queryFeeDetail } from '@/api/fee/propertyFeeApi' import ViewMainFee from '@/components/fee/viewMainFee' import ReturnPayFee from '@/components/fee/returnPayFee' import ViewFeeDetailDiscount from '@/components/fee/viewFeeDetailDiscount' +import { dateFormat } from '@/utils/dateUtil' export default { name: 'PropertyFeeList', @@ -166,7 +167,7 @@ export default { methods: { dateFormat(date) { if (!date) return '' - return this.$moment(date).format('YYYY-MM-DD') + return dateFormat(date) }, async listFeeDetail(page = 1, row = 10) { try { diff --git a/src/views/layout/layout.vue b/src/views/layout/layout.vue index adc5f30..1cc8217 100644 --- a/src/views/layout/layout.vue +++ b/src/views/layout/layout.vue @@ -268,7 +268,12 @@ export default { } console.log(_href, _tabName) - this.$router.push(_href) + this.$router.push(_href).catch(err => { + // 忽略重复导航错误 + if (err.name !== 'NavigationDuplicated') { + throw err + } + }) }, } } diff --git a/src/views/oa/staffAttendanceManageList.vue b/src/views/oa/staffAttendanceManageList.vue index 61a199d..be1759b 100644 --- a/src/views/oa/staffAttendanceManageList.vue +++ b/src/views/oa/staffAttendanceManageList.vue @@ -84,6 +84,7 @@ import { queryAttendanceClassesTask, } from '@/api/oa/staffAttendanceManageApi' +import { dateFormat } from '@/utils/dateUtil' export default { name: 'StaffAttendanceManageList', @@ -221,7 +222,7 @@ export default { formatTime(time) { if (!time) return '' - return this.$moment(time).format('HH:mm:ss') + return dateFormat(time) }, checkInLog(day) { diff --git a/src/views/simplify/simplifyAcceptanceList.vue b/src/views/simplify/simplifyAcceptanceList.vue index 666585a..0050195 100644 --- a/src/views/simplify/simplifyAcceptanceList.vue +++ b/src/views/simplify/simplifyAcceptanceList.vue @@ -266,9 +266,9 @@ - + + @@ -297,7 +297,7 @@ import RoomCreateFeeAdd from '@/components/fee/roomCreateFeeAdd' import CarCreateFeeAdd from '@/components/fee/carCreateFeeAdd' import AddMeterWater from '@/components/fee/addMeterWater' import AddProxyFee from '@/components/fee/addProxyFee' -import SearchRoom from '@/components/room/searchRoom' +import roomTree from '@/components/room/roomTree' import EditMachineTranslate from '@/components/machine/editMachineTranslate' import InputSearchOwner from '@/components/report/InputSearchOwner' import InputSearchRoom from '@/components/fee/inputSearchRoom' @@ -328,7 +328,7 @@ export default { CarCreateFeeAdd, AddMeterWater, AddProxyFee, - SearchRoom, + roomTree, EditMachineTranslate, InputSearchOwner, InputSearchRoom, @@ -478,8 +478,7 @@ export default { Object.assign(this.simplifyAcceptanceInfo, _rooms[0]) this.simplifyAcceptanceInfo.roomRemark = _rooms[0].remark this.simplifyAcceptanceInfo.roomName = _rooms[0].floorNum + '栋' + _rooms[0].unitNum + '单元' + _rooms[0].roomNum + '室' - this.$refs.simplifyRoomFee.$emit('switch', this.simplifyAcceptanceInfo) - + this.changeTab('simplifyRoomFee') // 计算押金 this.computeDeposit() } catch (error) { @@ -568,10 +567,14 @@ export default { } this.changeTab('simplifyRoomFee') }, + selectRoom(room) { + this.simplifyAcceptanceInfo.roomId = room.roomId + this.simplifyAcceptanceInfo.roomName = room.roomName + this.simplifyAcceptanceInfo.searchValue = room.roomName + this._doSearch() + }, _simplifyAcceptanceChooseRoom() { - this.$refs.searchRoom.$emit('openRoomTree', { - callName: 'simplifyAcceptance' - }) + this.$refs.roomTree.open() }, _handover() { this.$router.push('/pages/property/handover')