From a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 06 六月 2025 19:19:34 +0800 Subject: [PATCH] 开发更新 --- admin/src/views/finance/bull.vue | 200 +++++++++++++++++++++++++++++++------------------ 1 files changed, 126 insertions(+), 74 deletions(-) diff --git a/admin/src/views/finance/bull.vue b/admin/src/views/finance/bull.vue index fef662a..f2344d0 100644 --- a/admin/src/views/finance/bull.vue +++ b/admin/src/views/finance/bull.vue @@ -3,162 +3,216 @@ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" /> <div class="df_sb mt20"> <div class="tabs"> - <div class="tab" :class="{ active: activeTabs == 0 }" @click="tabsClick(0)">鏀舵璐﹀崟</div> - <div class="tab" :class="{ active: activeTabs == 1 }" @click="tabsClick(1)">浠樻璐﹀崟</div> + <div class="tab" :class="{ active: billType === 0 }" @click="tabsClick(0)">鏀舵璐﹀崟</div> + <div class="tab" :class="{ active: billType === 1 }" @click="tabsClick(1)">浠樻璐﹀崟</div> </div> <div class="btns"> - <el-button type="primary" @click="handleEdit()" icon="el-icon-plus" + <el-button type="primary" @click="addOpen" icon="el-icon-plus" v-permissions="['business:ywpatrolline:create']">鏂板缓</el-button> - <el-button @click="handleEx" v-permissions="['business:ywpatrolline:create']">瀵煎嚭</el-button> +<!-- <el-button @click="handleDetail" v-permissions="['business:ywpatrolline:create']">瀵煎嚭</el-button>--> </div> </div> <el-table v-loading="loading" :data="list" stripe> - <el-table-column prop="" label="杩愮淮浜�" min-width="100" show-overflow-tooltip /> - <el-table-column prop="code" label="璁惧缂栧彿" min-width="100" show-overflow-tooltip /> - <el-table-column prop="name" label="璁惧鍚嶇О" min-width="100" show-overflow-tooltip /> - <el-table-column prop="stautsName" label="璁惧鐘舵��" min-width="100" show-overflow-tooltip /> - <el-table-column prop="remark" label="杩愮淮澶囨敞" min-width="100" show-overflow-tooltip /> - <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="100" show-overflow-tooltip /> + <el-table-column prop="customerName" label="瀹㈡埛鍚嶇О" min-width="100" show-overflow-tooltip /> + <el-table-column label="鎴块棿" min-width="170" show-overflow-tooltip> + <template slot-scope="{row}"> + <div style="display: flex; flex-direction: column;" v-if="row.roomPathName"> + <span v-for="(item, index) in row.roomPathName.split(';')" :key="index">{{item}}</span> + </div> + </template> + </el-table-column> + <el-table-column prop="contractCode" label="鍚堝悓缂栧彿" min-width="100" show-overflow-tooltip /> + <el-table-column label="缁撴竻鐘舵��" min-width="100" show-overflow-tooltip> + <template slot-scope="{row}"> + <span v-if="row.payStatus === 0">寰呮敹娆�</span> + <span v-if="row.payStatus === 1">宸茬粨娓�</span> + <span v-if="row.payStatus === 2">閮ㄥ垎缁撴竻</span> + <span v-if="row.payStatus === 3">寰呬粯娆�</span> + <span v-if="row.payStatus === 4">寰呴��娆�</span> + <span v-if="row.payStatus === 5">宸插叧闂�</span> + </template> + </el-table-column> + <el-table-column prop="totleFee" label="璐﹀崟閲戦" min-width="100" show-overflow-tooltip /> + <el-table-column prop="receivableFee" :label="`搴�${billType === 0 ? '鏀�' : '浠�'}閲戦`" min-width="100" show-overflow-tooltip /> + <el-table-column prop="actReceivableFee" :label="`瀹�${billType === 0 ? '鏀�' : '浠�'}閲戦`" min-width="100" show-overflow-tooltip /> + <el-table-column :label="`闇�鏀�/浠橀噾棰漙" min-width="100" show-overflow-tooltip> + <template slot-scope="{row}"> + {{Math.abs(row.needReceivableFee)}} + </template> + </el-table-column> + <el-table-column label="璐圭敤绫诲瀷" min-width="100" show-overflow-tooltip> + <template slot-scope="{row}"> + <span v-if="row.costType === 0">绉熻祦璐�</span> + <span v-if="row.costType === 1">鐗╀笟璐�</span> + <span v-if="row.costType === 2">绉熻祦鎶奸噾</span> + <span v-if="row.costType === 3">鐗╀笟鎶奸噾</span> + <span v-if="row.costType === 4">姘寸數璐�</span> + <span v-if="row.costType === 5">鏉傞」璐�</span> + <span v-if="row.costType === 6">鍏跺畠</span> + <span v-if="row.costType === 7">淇濊瘉閲�</span> + </template> + </el-table-column> + <el-table-column label="鏄惁閫炬湡" min-width="100" show-overflow-tooltip> + <template slot-scope="{row}"> + <span v-if="row.isOverdue === 0">鏈�炬湡</span> + <span v-if="row.isOverdue === 1" style="color: red;">宸查�炬湡</span> + </template> + </el-table-column> + <el-table-column label="璁¤垂鍛ㄦ湡" min-width="200" show-overflow-tooltip> + <template slot-scope="{row}"> + {{ row.startDate }} ~ {{ row.endDate }} + </template> + </el-table-column> + <el-table-column prop="planPayDate" :label="`搴�${billType === 0 ? '鏀�' : '浠�'}鏃ユ湡`" min-width="100" show-overflow-tooltip /> + <el-table-column label="璐﹀崟鏉ユ簮" min-width="100" show-overflow-tooltip> + <template slot-scope="{row}"> + <span v-if="row.type === 0">鍚堝悓璐﹀崟</span> + <span v-if="row.type === 1">鑷缓璐﹀崟</span> + </template> + </el-table-column> + <el-table-column label="璐﹀崟鐘舵��" min-width="100" fixed="right" show-overflow-tooltip> + <template slot-scope="{row}"> + <span v-if="row.status === 0">寮�鍚�</span> + <span v-if="row.status === 1" style="color: red;">鍏抽棴</span> + </template> + </el-table-column> <el-table-column label="鎿嶄綔" min-width="120" fixed="right"> <template slot-scope="{row}"> - <el-button type="text" @click="handleDetail(row)" icon="el-icon-edit" - v-permissions="['business:category:update']">鏌ョ湅</el-button> + <el-button type="text" @click="handleDetail(row)" icon="el-icon-edit" v-permissions="['business:category:update']">鏌ョ湅璇︽儏</el-button> </template> </el-table-column> </el-table> <div class="mt20"> <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> </div> - <Edit v-if="showEdit" ref="EditRef" @success="getList" @close="showEdit = false" /> + <Edit ref="EditRef" @success="getList" /> + <Detail ref="DetailRef" @success="getList" /> + <BullEditFu ref="BullEditFu" @success="getList" /> </div> </template> <script> import Pagination from '@/components/common/Pagination' import QueryForm from '@/components/common/QueryForm' -import Edit from './components/deviceEdit.vue' -import { fetchList, deleteById } from '@/api/Inspection/device' +import Edit from './components/bullEdit.vue' +import BullEditFu from './components/bullEditFu.vue' +import Detail from './components/bullDetail.vue' +import { fetchList } from '@/api/bill' export default { components: { Pagination, QueryForm, - Edit + Edit, + Detail, + BullEditFu }, - data() { + data () { return { loading: false, - showEdit: false, pagination: { pageSize: 10, page: 1, total: 0 }, - activeTabs: 0, - filters: {}, + billType: 0, + filters: { + status: 0 + }, list: [], total: 0, - statusMap: [ - { value: 0, label: '寰呮敹娆�' }, - { value: 1, label: '宸茬粨绠�' }, - { value: 2, label: '閮ㄥ垎缁撴竻' }, - { value: 3, label: '寰呴��娆�' }, - { value: 4, label: '寰呬粯娆�' }, - ], queryFormConfig: { formItems: [ { - filed: 'name', + filed: 'customerName', type: 'input', - label: '瀹㈡埛鍚嶇О', + label: '瀹㈡埛鍚嶇О' + }, + { + filed: 'contractCode', + type: 'input', + label: '鍚堝悓缂栧彿' }, { filed: 'status', type: 'select', label: '璐﹀崟鐘舵��', options: [ - { value: '0', label: '寮�鍚�' }, - { value: '1', label: '鍏抽棴' }, + { value: 0, label: '寮�鍚�' }, + { value: 1, label: '鍏抽棴' } ] }, { - filed: 'status', + filed: 'payStatus', type: 'select', label: '缁撴竻鐘舵��', - options: this.statusMap + options: [ + { value: 0, label: '寰呮敹娆�' }, + { value: 1, label: '宸茬粨娓�' }, + { value: 2, label: '閮ㄥ垎缁撴竻' }, + { value: 3, label: '寰呬粯娆�' }, + { value: 4, label: '寰呴��娆�' } + ] }, { filed: 'selDate', type: 'daterange', label: '搴旀敹/浠樻棩鏈�' - }, - ], - online: true + } + ] } } }, - created() { + created () { this.getList() }, methods: { - getList(page) { + addOpen () { + if (this.billType === 0) { + this.$refs.EditRef.open('鍒涘缓鏀舵璐﹀崟') + } else { + this.$refs.BullEditFu.open('鍒涘缓浠樻璐﹀崟') + } + }, + getList (page) { const { pagination, filters } = this + let form = JSON.parse(JSON.stringify(filters)) + if (form && form.selDate && form.selDate.length > 0) { + form.planPayDateStart = form.payDate[0] + form.planPayDateEnd = form.payDate[1] + } this.loading = true fetchList({ model: { ...filters, + billType: this.billType }, capacity: pagination.pageSize, - page: page || pagination.page, + page: page || pagination.page }).then(res => { this.loading = false this.list = res.records || [] this.list.forEach(item => { - item.stautsName = item.status == 0 ? '姝e父' : item.status == 1 ? '鎹熷潖' : '鎶ュ簾' + item.statusName = item.status === 1 ? '鎹熷潖' : item.status === 2 ? '鎶ュ簾' : '姝e父' }) this.pagination.total = res.total || 0 }, () => { this.loading = false }) }, - handleEx() { - + tabsClick (val) { + this.billType = val + this.getList() }, - tabsClick(val) { - this.activeTabs = val + handleDetail (row) { + this.$refs.DetailRef.open('璐﹀崟璇︽儏', row.id) }, - handleEdit(row) { - this.showEdit = true - this.$nextTick(() => { - this.$refs.EditRef.isShowModal = true - if (row && row.id) { - this.$refs.EditRef.getDetail(row.id) - } - }) - - }, - handleDetail() { - - }, - handleDel(row) { - let message = `纭鍒犻櫎璇ヨ褰曞悧?` - this.$dialog.deleteConfirm(message) - .then(() => { - this.isWorking.delete = true - deleteById(row.id) - .then(() => { - this.$tip.apiSuccess('鍒犻櫎鎴愬姛') - this.getList() - }) - }) - .catch(() => { }) - }, - clear() { + clear () { this.filters = {} this.pagination.pageSize = 10 this.pagination.page = 1 this.getList() }, - handleSizeChange(capacity) { + handleSizeChange (capacity) { this.pagination.pageSize = capacity this.getList() } @@ -170,10 +224,8 @@ @import '@/assets/style/variables.scss'; .tabs { - border-bottom: 1px solid #DFE2E8; display: flex; margin-bottom: 20px; - display: flex; justify-content: center; .tab { -- Gitblit v1.9.3