From a0a1c206612de9a3e9d64f3d45564c0ff03f93f6 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 02 一月 2025 15:22:13 +0800
Subject: [PATCH] 环境

---
 admin/src/views/finance/payments.vue |  136 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 96 insertions(+), 40 deletions(-)

diff --git a/admin/src/views/finance/payments.vue b/admin/src/views/finance/payments.vue
index 107c3a5..212bc99 100644
--- a/admin/src/views/finance/payments.vue
+++ b/admin/src/views/finance/payments.vue
@@ -2,52 +2,75 @@
   <div class="main_app">
     <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" />
     <div class="mt20">
-      <el-button type="primary" @click="handleEdit()" icon="el-icon-plus"
-        v-permissions="['business:ywpatrolline:create']">鏂板缓</el-button>
+<!--      <el-button v-permissions="['business:ywpatrolline:create']">瀵煎嚭</el-button>-->
     </div>
     <el-table v-loading="loading" :data="list" stripe>
-      <el-table-column prop="code" label="shou" min-width="100" show-overflow-tooltip />
-      <el-table-column prop="name" label="鍏徃绠�浠�" min-width="100" show-overflow-tooltip />
-      <el-table-column prop="" label="绾崇◣璇嗗埆鍙�" min-width="100" show-overflow-tooltip />
-      <el-table-column prop="modelNo" label="鍏徃鍦板潃" min-width="100" show-overflow-tooltip />
-      <el-table-column prop="realName" label="鏀舵敮璐︽埛鏁伴噺" min-width="100" show-overflow-tooltip />
-      <el-table-column prop="status" label="鐘舵��" min-width="100" show-overflow-tooltip>
-        <template v-slot="scope">
-          <el-switch v-model="scope.row.status" active-value="0" inactive-value="1">
-          </el-switch>
+      <el-table-column prop="customerName" label="瀹㈡埛鍚嶇О" min-width="100" show-overflow-tooltip />
+      <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}">
+          <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 label="鎿嶄綔" min-width="120" fixed="right">
+      <el-table-column prop="billCode" label="璐﹀崟缂栧彿" min-width="100" show-overflow-tooltip />
+      <el-table-column label="鏀舵敮绫诲瀷" min-width="100" show-overflow-tooltip>
         <template slot-scope="{row}">
-          <el-button type="text" @click="handleEdit(row)" icon="el-icon-edit"
-            v-permissions="['business:category:update']">缂栬緫</el-button>
-          <el-button type="text" @click="deleteById(row)" icon="el-icon-delete"
-            v-permissions="['business:category:delete']">鍒犻櫎</el-button>
+          <span v-if="row.revenueType === 0">鏀跺叆</span>
+          <span v-if="row.revenueType === 1">鏀嚭</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="actReceivableFee" 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.payType === 0">鐜伴噾</span>
+          <span v-if="row.payType === 1">缃戦摱杞处</span>
+          <span v-if="row.payType === 2">POS鏈�</span>
+          <span v-if="row.payType === 3">鏀粯瀹�</span>
+          <span v-if="row.payType === 4">寰俊</span>
+          <span v-if="row.payType === 5">杞处鏀エ</span>
+          <span v-if="row.payType === 6">鍏朵粬</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="actPayDate" label="鍏ヨ处鏃ユ湡" show-overflow-tooltip />
+      <el-table-column prop="createDate" label="鍒涘缓鏃ユ湡" show-overflow-tooltip />
+      <el-table-column prop="realname" label="鍒涘缓浜�" show-overflow-tooltip />
+      <el-table-column label="鐘舵��" min-width="100" fixed="right" show-overflow-tooltip>
+        <template slot-scope="{row}">
+          <el-tag type="success" v-if="row.status === 0">寮�鍚�</el-tag>
+          <el-tag type="info" v-if="row.status === 1">鍏抽棴</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="鎿嶄綔" min-width="190" fixed="right">
+        <template slot-scope="{row}">
+          <el-button type="text" @click="$refs.details.open('鏀舵敮娴佹按璇︽儏', row.id)">鏌ョ湅璇︽儏</el-button>
+          <el-button type="text" @click="closeDW(row.id)" v-if="isShow(row.status, row.contractStatus)">鍏抽棴娴佹按</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" />
+    <!--  璇︽儏  -->
+    <Details ref="details" />
   </div>
 </template>
 
 <script>
 import Pagination from '@/components/common/Pagination'
 import QueryForm from '@/components/common/QueryForm'
-import Edit from './components/companyEdit.vue'
-import { companyGetList, deleteById } from '@/api/business/company'
+import Details from './components/details'
+import { fetchList, close } from '@/api/ywContractRevenue'
 export default {
   components: {
     Pagination,
     QueryForm,
-    Edit
+    Details
   },
   data() {
     return {
       loading: false,
-      showEdit: false,
       pagination: {
         pageSize: 10,
         page: 1,
@@ -59,14 +82,37 @@
       queryFormConfig: {
         formItems: [
           {
-            filed: 'name',
+            filed: 'customerName',
             type: 'input',
-            label: '鏀舵敮鏉$洰'
+            label: '瀹㈡埛鍚嶇О'
           },
           {
-            filed: 'name',
+            filed: 'revenueType',
             type: 'select',
-            label: '鏀舵鍏徃'
+            label: '鏀舵敮绫诲瀷',
+            options: [
+              { value: 0, label: '鏀跺叆' },
+              { value: 1, label: '鏀嚭' }
+            ]
+          },
+          {
+            filed: 'payType',
+            type: 'select',
+            label: '鏀舵鏂瑰紡',
+            options: [
+              { value: 0, label: '鐜伴噾' },
+              { value: 1, label: '缃戦摱杞处' },
+              { value: 2, label: 'POS鏈�' },
+              { value: 3, label: '鏀粯瀹�' },
+              { value: 4, label: '寰俊' },
+              { value: 5, label: '杞处鏀エ' },
+              { value: 6, label: '鍏朵粬' }
+            ]
+          },
+          {
+            filed: 'payDate',
+            type: 'daterange',
+            label: '鍏ヨ处鏃ユ湡'
           },
         ],
         online: true
@@ -77,36 +123,46 @@
     this.getList()
   },
   methods: {
+    isShow (status, contractStatus) {
+      if (status === 1) return false
+      if (contractStatus === '3' || contractStatus === '4') return false
+      return true
+    },
     getList(page) {
       const { pagination, filters } = this
+      let form = JSON.parse(JSON.stringify(filters))
+      if (form && form.payDate && form.payDate.length > 0) {
+        form.payDateStart = form.payDate[0]
+        form.payDateEnd = form.payDate[1]
+      }
       this.loading = true
-      companyGetList({
+      fetchList({
         model: {
-          ...filters,
-          type: 2
+          ...form
         },
         capacity: pagination.pageSize,
         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 ? '鎹熷潖' : '鎶ュ簾'
-        })
         this.pagination.total = res.total || 0
       }, () => {
         this.loading = false
       })
     },
-    handleEdit(row) {
-      this.showEdit = true
-      this.$nextTick(() => {
-        this.$refs.EditRef.isShowModal = true
-        if (row && row.id) {
-          this.$refs.EditRef.getDetail(row.id)
-        }
-      })
-
+    closeDW (id) {
+      this.$confirm('纭鍏抽棴姝ゆ祦姘村悧?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        close(id)
+          .then(res => {
+            this.getList()
+          })
+      }).catch(() => {
+      
+      });
     },
     handleDel(row) {
       let message = `纭鍒犻櫎璇ヨ褰曞悧?`

--
Gitblit v1.9.3