From e71d4837f3d93ec530cc0206bc98fcef4eda1ee8 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期二, 23 十二月 2025 15:41:09 +0800
Subject: [PATCH] 新增日志

---
 ui/admin-ui3/src/views/cwgl/receivableFeeManagement/index.vue |  679 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 482 insertions(+), 197 deletions(-)

diff --git a/ui/admin-ui3/src/views/cwgl/receivableFeeManagement/index.vue b/ui/admin-ui3/src/views/cwgl/receivableFeeManagement/index.vue
index 3d180e5..d51b095 100644
--- a/ui/admin-ui3/src/views/cwgl/receivableFeeManagement/index.vue
+++ b/ui/admin-ui3/src/views/cwgl/receivableFeeManagement/index.vue
@@ -1,221 +1,506 @@
 <template>
-  <basicContainer >
-    <avue-crud
-        :option="option"
-        :table-loading="pageF.loading"
-        :data="tableData"
-        :page="page"
-        :permission="permissionList"
-        :before-open="beforeOpen"
-        v-model="form"
-        ref="crudRef"
-        @row-update="rowUpdate"
-        @row-save="rowSave"
-        @refresh-change="refreshChange"
-        @row-del="rowDel"
-        @search-change="searchChange"
-        @search-reset="searchReset"
-        @selection-change="selectionChange"
-        @current-change="currentChange"
-        @size-change="sizeChange"
-        @on-load="onLoad"
-    >
+  <basicContainer>
+    <avue-crud :option="option" :table-loading="pageF.loading" :data="tableData" :page="page"
+      :permission="permissionList" :before-open="beforeOpen" v-model="form" ref="crudRef" @row-update="rowUpdate"
+      @row-save="rowSave" @refresh-change="refreshChange" @row-del="rowDel" @search-change="searchChange"
+      @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
+      @size-change="sizeChange" @on-load="onLoad">
       <template #menu-left>
-        <el-button
-            type="success"
-            icon="Edit"
-            :disabled="pageF.single"
-            v-hasPermi="['cwgl:receivableFeeManagement:edit']"
-            @click="handleUpdate">淇敼
+        <el-button type="primary" icon="el-icon-plus" v-hasPermi="['cwgl:receivableFeeManagement:add']"
+          @click="showFeeDetail('receivable')">鏂板
         </el-button>
-        <el-button
-            type="danger"
-            icon="Delete"
-            :disabled="pageF.multiple"
-            @click="handleDelete"
-            v-hasPermi="['cwgl:receivableFeeManagement:remove']"
-        >鍒犻櫎
+        <el-button type="success" :disabled="selectDisplay" v-hasPermi="['cwgl:receivableFeeManagement:edit']"
+          @click="handleBill">鐢熸垚搴旀敹璐﹀崟
         </el-button>
-        <el-button
-            type="warning"
-            plain
-            icon="Download"
-            @click="handleExport"
-            v-hasPermi="['cwgl:receivableFeeManagement:export']"
-        >瀵煎嚭
+        <!-- <el-button type="success" icon="Edit" :disabled="pageF.single"
+          v-hasPermi="['cwgl:receivableFeeManagement:edit']" @click="handleUpdate">淇敼
         </el-button>
+        <el-button type="danger" icon="Delete" :disabled="pageF.multiple" @click="handleDelete"
+          v-hasPermi="['cwgl:receivableFeeManagement:remove']">鍒犻櫎
+        </el-button> -->
+        <el-button type="warning" plain icon="Download" @click="handleExport"
+          v-hasPermi="['cwgl:receivableFeeManagement:export']">瀵煎嚭
+        </el-button>
+        <el-button type="warning" plain icon="Upload" @click="handleImport"
+          v-hasPermi="['cwgl:receivableFeeManagement:import']">瀵煎叆
+        </el-button>
+      </template>
+      <template #menu="{ size, row, index }">
+        <el-link class="link-btn"  type="primary" :underline="false" plain
+          :size="size" icon="View" @click="handleExamine(row)" v-hasPermi="['cwgl:receivableFeeManagement:view']"> 鏌ョ湅
+        </el-link>
+        <el-link class="link-btn" v-if="row.status == 0" type="primary" :underline="false" plain :size="size"
+          icon="el-icon-edit" @click="handleEdit(row)" v-hasPermi="['cwgl:receivableFeeManagement:edit']"> 缂栬緫
+        </el-link>
+        <el-link class="link-btn" v-if="row.status == 0" type="primary" :underline="false" plain :size="size"
+          @click="handleCancellation(row)" v-hasPermi="['cwgl:receivableFeeManagement:invalid']"> 浣滃簾
+        </el-link>
+        <el-button type="text" icon="View" @click="handleFlow(row)"
+          v-hasPermi="['cwgl:receivableFeeManagement:flow']">鏃ュ織</el-button>
+
       </template>
     </avue-crud>
   </basicContainer>
+
+  <FeeDetailModal ref="modalRef" :type="currentType" @submit="handleSave" />
+  <GenerateBillDialog ref="billDialogRef" @confirm="onBillConfirm" />
+  <DetailModal ref="detailModalRef" />
+  <OperationLogModal ref="logModalRef" />
+  <XlsFileImport title="搴旀敹淇℃伅瀵煎叆" uploadUrl="/asset/management/importData" templateUrl="asset/management/importTemplate"
+    :open="pageF.importOpen" @submit="importSubmit" @cancel="pageF.importOpen = false" />
+
 </template>
 
 <script setup name="receivableFeeManagement" lang="ts">
-  import {ReceivableFeeManagementI,addReceivableFeeManagement, delReceivableFeeManagement, exportReceivableFeeManagement, getReceivableFeeManagement, listReceivableFeeManagement, updateReceivableFeeManagement} from "@/api/cwgl/receivableFeeManagement";
-  import useCurrentInstance from "@/utils/useCurrentInstance";
-  import {computed,reactive, ref, toRefs} from "vue";
-  import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
-  import {usePagePlus} from "@/hooks/usePagePlus";
-  import {hasPermission} from "@/utils/permissionUtils";
+import {
+  ReceivableFeeManagementI, addReceivableFeeManagement, delReceivableFeeManagement, exportReceivableFeeManagement, getReceivableFeeManagement, listReceivableFeeManagement, updateReceivableFeeManagement,
+  getStatistics, addCreateBill,receivableFeeManagementVoid
+} from "@/api/cwgl/receivableFeeManagement";
+import useCurrentInstance from "@/utils/useCurrentInstance";
+import { computed, reactive, ref, toRefs } from "vue";
+import { PagesInterface, PageQueryInterface } from "@/utils/globalInterface";
+import { usePagePlus } from "@/hooks/usePagePlus";
+import { hasPermission } from "@/utils/permissionUtils";
+import FeeDetailModal from '@/components/FeeDetailModal/index.vue';
+import GenerateBillDialog from '@/components/GenerateBillDialog/index.vue';
+import DetailModal from '@/components/DetailModal/index.vue';
+import OperationLogModal from '@/components/OperationLogModal/index.vue';
+  import { listReceivableFeeManagementLog} from "@/api/cwgl/receivableFeeManagementLog";
 
-  const { proxy } = useCurrentInstance();
-  const crudRef = ref();
 
-  const permissionList = computed(()=>{
-    return {
-      addBtn: hasPermission(["cwgl:receivableFeeManagement:add"]),
-      delBtn: hasPermission(["cwgl:receivableFeeManagement:remove"]),
-      editBtn: hasPermission(["cwgl:receivableFeeManagement:edit"]),
-      viewBtn: hasPermission(["cwgl:receivableFeeManagement:query"]),
-    }
-  })
 
-  const data = reactive({
-    form:<ReceivableFeeManagementI>{},
-    queryParams:<ReceivableFeeManagementI&PageQueryInterface>{},
-    page: <PagesInterface>{
-      pageSize: 10,
-      total: 0,
-      currentPage: 1,
+const { proxy } = useCurrentInstance();
+const crudRef = ref();
+
+const permissionList = computed(() => {
+  return {
+    addBtn: hasPermission(["cwgl:receivableFeeManagement:add"]),
+    delBtn: hasPermission(["cwgl:receivableFeeManagement:remove"]),
+    editBtn: hasPermission(["cwgl:receivableFeeManagement:edit"]),
+    viewBtn: hasPermission(["cwgl:receivableFeeManagement:query"]),
+  }
+})
+
+const data = reactive({
+  form: <ReceivableFeeManagementI>{},
+  queryParams: <ReceivableFeeManagementI & PageQueryInterface>{},
+  page: <PagesInterface>{
+    pageSize: 10,
+    total: 0,
+    currentPage: 1,
+  },
+  selectionList: [],
+  selectDisplay: true,
+})
+const { queryParams, form, page, selectionList, selectDisplay } = toRefs(data);
+const option = ref({
+  pageKey: 'ReceivableFeeManagement',
+  rowKey: 'id',
+  searchSpan: 5,
+  addBtn: false,
+  editBtn: false,
+  viewBtn: false,
+  delBtn: false,
+  labelWidth: 150,
+  searchLabelWidth: 120,
+  column: {
+    // id: {
+    //   label: 'ID',
+    // },
+    systemNo: {
+      label: '绯荤粺缂栧彿',
+      addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+      minWidth: 150,
+      search: true,
+      rules: [
+        {
+          required: true,
+          message: "绯荤粺缂栧彿涓嶈兘涓虹┖", trigger: "blur"
+        }
+      ],
     },
-    selectionList:[],
-  })
-  const {queryParams,form,page,selectionList} = toRefs(data);
-  const option = ref({
-    pageKey: 'ReceivableFeeManagement',
-    rowKey: 'id',
-    column: {
-                                id: {
-          label: 'ID',
-                            },
-                                systemNo: {
-          label: '绯荤粺缂栧彿',
-                                rules: [
-              {
-                required: true,
-                message: "绯荤粺缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                relatedBillNo: {
-          label: '鍏宠仈璐﹀崟缂栧彿',
-                                rules: [
-              {
-                required: true,
-                message: "鍏宠仈璐﹀崟缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                sourceSystem: {
-          label: '鏉ユ簮绯荤粺',
-                                rules: [
-              {
-                required: true,
-                message: "鏉ユ簮绯荤粺涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                businessSector: {
-          label: '涓氬姟鏉垮潡',
-                                rules: [
-              {
-                required: true,
-                message: "涓氬姟鏉垮潡涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                documentType: {
-          label: '鍗曟嵁绫诲瀷',
-                                rules: [
-              {
-                required: true,
-                message: "鍗曟嵁绫诲瀷涓嶈兘涓虹┖", trigger: "change"
-                 }
-            ],                  },
-                                documentNo: {
-          label: '鍗曟嵁缂栧彿',
-                                rules: [
-              {
-                required: true,
-                message: "鍗曟嵁缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                isInternalSettlement: {
-          label: '鏄惁鍐呴儴缁撶畻',
-                                rules: [
-              {
-                required: true,
-                message: "鏄惁鍐呴儴缁撶畻涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                internalSettlementUnit: {
-          label: '鍐呴儴缁撶畻鍗曚綅',
-                            },
-                                customerName: {
-          label: '瀹㈡埛鍚嶇О',
-                                rules: [
-              {
-                required: true,
-                message: "瀹㈡埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                projectName: {
-          label: '椤圭洰鍚嶇О',
-                            },
-                                businessTime: {
-          label: '涓氬姟鍙戠敓鏃堕棿',
-                                rules: [
-              {
-                required: true,
-                message: "涓氬姟鍙戠敓鏃堕棿涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                receivableConfirmTime: {
-          label: '搴旀敹纭鏃堕棿',
-                                rules: [
-              {
-                required: true,
-                message: "搴旀敹纭鏃堕棿涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                receivableAmount: {
-          label: '搴旀敹閲戦',
-                                rules: [
-              {
-                required: true,
-                message: "搴旀敹閲戦涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                status: {
-          label: '鐘舵��',
-                            },
-                                remark: {
-          label: '澶囨敞',
-                      type: 'textarea', minRows: 3, maxRows: 5,
-                            },
-                                createBy: {
-          label: '鍒涘缓浜�',
-                            },
-                                createTime: {
-          label: '鍒涘缓鏃堕棿',
-                            },
-                                updateBy: {
-          label: '鏇存柊浜�',
-                            },
-                                updateTime: {
-          label: '鏇存柊鏃堕棿',
-                            },
-                                deleted: {
-          label: '鍒犻櫎鏍囪(0:姝e父;1:鍒犻櫎)',
-                            },
-          }
-  })
+    relatedBillNo: {
+      label: '鍏宠仈璐﹀崟缂栧彿',
+      minWidth: 150,
+      search: true,
+      // rules: [
+      //   {
+      //     required: true,
+      //     message: "鍏宠仈璐﹀崟缂栧彿涓嶈兘涓虹┖", trigger: "blur"
+      //   }
+      // ],
+    },
+    sourceSystem: {
+      label: '鏉ユ簮绯荤粺',
+      minWidth: 120,
+      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/sys_system',
+      search: true,
+      rules: [
+        {
+          required: true,
+          message: "鏉ユ簮绯荤粺涓嶈兘涓虹┖", trigger: "blur"
+        }
+      ],
+    },
+    businessSector: {
+      label: '涓氬姟鏉垮潡',
+      minWidth: 120,
+      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/sys_business',
+      search: true,
+      // rules: [
+      //   {
+      //     required: true,
+      //     message: "涓氬姟鏉垮潡涓嶈兘涓虹┖", trigger: "blur"
+      //   }
+      // ],
+    },
+    documentType: {
+      label: '鍗曟嵁绫诲瀷',
+      search: true,
+      minWidth: 120,
+      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/sys_receipts',
+      rules: [
+        {
+          required: true,
+          message: "鍗曟嵁绫诲瀷涓嶈兘涓虹┖", trigger: "change"
+        }
+      ],
+    },
+    documentNo: {
+      label: '鍗曟嵁缂栧彿',
+      minWidth: 150,
+      search: true,
+      rules: [
+        {
+          required: true,
+          message: "鍗曟嵁缂栧彿涓嶈兘涓虹┖", trigger: "blur"
+        }
+      ],
+    },
+     isInternalSettlement: {
+      label: '鏄惁鍐呴儴缁撶畻',
+      search: true,
+      minWidth: 120,
+      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/sys_whether_type',
+      rules: [
+        {
+          required: true,
+          message: "鍗曟嵁绫诲瀷涓嶈兘涓虹┖", trigger: "change"
+        }
+      ],
+    },
+    internalSettlementUnit: {
+      label: '鍐呴儴缁撶畻鍗曚綅',
+      minWidth: 150,
+       search: true,
+    },
+    customerName: {
+      label: '瀹㈡埛鍚嶇О',
+      minWidth: 150,
+      search: true,
+      rules: [
+        {
+          required: true,
+          message: "瀹㈡埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur"
+        }
+      ],
+    },
+    projectName: {
+      label: '椤圭洰鍚嶇О',
+      minWidth: 150,
+      search: true,
+    },
+    businessTime: {
+      label: '涓氬姟鍙戠敓鏃堕棿',
+      minWidth: 150,
+      // search: true,
+      rules: [
+        {
+          required: true,
+          message: "涓氬姟鍙戠敓鏃堕棿涓嶈兘涓虹┖", trigger: "blur"
+        }
+      ],
+    },
+    businessTimeArray: {
+      label: '涓氬姟鍙戠敓鏃堕棿',
+      minWidth: 150,
+      search: true,
+      searchRange: true,
+      addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+      type: 'daterange',
+      startPlaceholder: '寮�濮嬫棩鏈�',
+      endPlaceholder: '缁撴潫鏃ユ湡',
+      valueFormat: 'YYYY-MM-DD',
+      hide: true
+    },
+    receivableConfirmTime: {
+      label: '搴旀敹纭鏃堕棿',
+      minWidth: 150,
+      rules: [
+        {
+          required: true,
+          message: "搴旀敹纭鏃堕棿涓嶈兘涓虹┖", trigger: "blur"
+        }
+      ],
+    },
+    receivableConfirmTimeArray: {
+      label: '搴旀敹纭鏃堕棿',
+      minWidth: 150,
+      search: true,
+      searchRange: true,
+      addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+      type: 'daterange',
+      startPlaceholder: '寮�濮嬫棩鏈�',
+      endPlaceholder: '缁撴潫鏃ユ湡',
+      valueFormat: 'YYYY-MM-DD',
+      hide: true
+    },
+    receivableAmount: {
+      label: '搴旀敹閲戦',
+      rules: [
+        {
+          required: true,
+          message: "搴旀敹閲戦涓嶈兘涓虹┖", trigger: "blur"
+        }
+      ],
+    },
 
-  const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange,
-    searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({
-    form:form,
-    option:option,
-    queryParams:queryParams,
-    idKey:'id',
-    page:page.value,
-    getListApi:listReceivableFeeManagement,
-    getDetailApi:getReceivableFeeManagement,
-    exportApi:exportReceivableFeeManagement,
-    deleteApi:delReceivableFeeManagement,
-    addApi:addReceivableFeeManagement,
-    updateApi:updateReceivableFeeManagement,
-    handleUpdateFunc:()=>{
+    // remark: {
+    //   label: '澶囨敞',
+    //   type: 'textarea', minRows: 3, maxRows: 5,
+    // },
+
+    createBy: {
+      search: true,
+      label: '鍒涘缓浜�',
+    },
+    createTime: {
+      // search: true,
+      label: '鍒涘缓鏃堕棿',
+      minWidth: 150,
+    },
+    createdTimeArray: {
+      label: '鍒涘缓鏃堕棿',
+      search: true,
+      searchRange: true,
+      addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+      type: 'daterange',
+      startPlaceholder: '寮�濮嬫棩鏈�',
+      endPlaceholder: '缁撴潫鏃ユ湡',
+      valueFormat: 'YYYY-MM-DD',
+      hide: true
+    },
+    updateBy: {
+      search: true,
+      label: '鏇存柊浜�',
+    },
+    updateTime: {
+      //  search: true,
+      minWidth: 150,
+      label: '鏇存柊鏃堕棿',
+    },
+    updateTimeArray: {
+      label: '鏇存柊鏃堕棿',
+      search: true,
+      searchRange: true,
+      addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+      type: 'daterange',
+      startPlaceholder: '寮�濮嬫棩鏈�',
+      endPlaceholder: '缁撴潫鏃ユ湡',
+      valueFormat: 'YYYY-MM-DD',
+      hide: true
+    },
+    status: {
+      search: true,
+      label: '鐘舵��',
+      fixed: 'right',
+      search: true,
+      minWidth: 120,
+      type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/sys_charge',
+    },
+
+  }
+})
+
+const { tableData, pageF, rowSave, rowUpdate, rowDel, beforeOpen, searchChange,
+  searchReset, selectionChange, onLoad, currentChange, sizeChange, handleDelete, handleExport, handleUpdate, refreshChange } = usePagePlus({
+    form: form,
+    option: option,
+    queryParams: queryParams,
+    idKey: 'id',
+    page: page.value,
+    getListApi: listReceivableFeeManagement,
+    getDetailApi: getReceivableFeeManagement,
+    exportApi: exportReceivableFeeManagement,
+    deleteApi: delReceivableFeeManagement,
+    addApi: addReceivableFeeManagement,
+    updateApi: updateReceivableFeeManagement,
+    handleUpdateFunc: () => {
       crudRef.value.rowEdit(selectionList.value[0]);
     },
-    handleSelectionChangeFunc:(selection:any)=>{
+    handleSelectionChangeFunc: (selection: any) => {
+      // 鍋囪浣犺瀵规瘮鐨勫瓧娈靛悕鏄� customerFullName   isInternalSettlement internalSettlementUnit
+
+      // 1. 鏁扮粍闀垮害蹇呴』澶т簬 0
+      if (selection && selection.length > 0) {
+        // 鍙栧嚭绗竴椤逛綔涓哄姣斿熀鍑�
+        const firstItem = selection[0];
+
+        // 2. 妫�鏌ユ瘡涓�椤规槸鍚﹂兘涓庣涓�椤圭殑涓変釜鍏抽敭瀛楁瀹屽叏涓�鑷�
+        const isAllMatch = selection.every(item =>
+          item.customerId === firstItem.customerId &&
+          item.isInternalSettlement === firstItem.isInternalSettlement &&
+          item.internalSettlementUnit === firstItem.internalSettlementUnit &&
+          item.status == 0
+        );
+
+        // 濡傛灉鍏ㄩ儴鍖归厤锛宻electDisplay 涓� false锛屽惁鍒欎负 true
+        selectDisplay.value = !isAllMatch;
+      } else {
+        // 3. 濡傛灉鏁扮粍涓虹┖锛屾牴鎹綘鐨勯�昏緫閫氬父杩斿洖 true (鍗充笉鏄剧ず鎴栫鐢�)
+        selectDisplay.value = true;
+      }
       selectionList.value = selection;
+    },
+    getBeginListFunc: (params = {}) => {
+      // 鍒涘缓鏂板弬鏁板璞�
+      let newParams = { ...params };
+      newParams = proxy.addDateRangeNew(newParams, newParams?.createdTimeArray, 'createTime') || [];
+      newParams = proxy.addDateRangeNew(newParams, newParams?.updateTimeArray, 'updateTime') || [];
+      newParams = proxy.addDateRangeNew(newParams, newParams?.businessTimeArray, 'businessTime') || [];
+      newParams = proxy.addDateRangeNew(newParams, newParams?.receivableConfirmTimeArray, 'receivableConfirmTime') || [];
+
+      delete newParams.createdTimeArray;
+      delete newParams.updateTimeArray;
+      delete newParams.businessTimeArray;
+      delete newParams.receivableConfirmTimeArray;
+
+      queryParams.value = newParams;
+      return newParams;
     }
   })
 
+const modalRef = ref(null);
+const currentType = ref('receivable');
+const addIshorw = ref(false);
+const showFeeDetail = (type) => {
+  currentType.value = type;
+  addIshorw.value = true;
+  modalRef.value.open();
+};
+/* 缂栬緫 */
+const handleEdit = (row) => {
+  currentType.value = 'receivable';
+  addIshorw.value = false;
+  getReceivableFeeManagement(row.id).then((res) => {
+    if (res.code === 200) {
+      modalRef.value.open(res.data);
+    }
+  });
+
+};
+/* 鏂板缂栬緫 */
+const handleSave = (data, receivableFeeDetailList) => {
+  if (addIshorw.value) {
+    data.receivableFeeDetailList = receivableFeeDetailList;
+    data.status = '0';
+    addReceivableFeeManagement(data).then((res) => {
+      if (res.code === 200) {
+        proxy.$message.success(res.msg);
+        onLoad(page.value);
+        modalRef.value.canceleClick();
+
+      }
+    })
+  } else {
+    data.receivableFeeDetailList = receivableFeeDetailList;
+    updateReceivableFeeManagement(data).then((res) => {
+      if (res.code === 200) {
+        proxy.$message.success(res.msg);
+        onLoad(page.value);
+        modalRef.value.canceleClick();
+
+      }
+    })
+  }
+};
+const billDialogRef = ref(null);
+const handleBill = () => {
+  const ids = selectionList.value.map(item => item.id).join(',');
+  getStatistics(ids).then((res) => {
+    if (res.code === 200) {
+      // 鎵撳紑寮圭獥骞朵紶鍏ユ暟鎹�
+      billDialogRef.value.open(res.data, selectionList.value);
+    }
+  });
+  // // 鎵撳紑寮圭獥骞朵紶鍏ユ暟鎹�
+  // billDialogRef.value.open(mockData);
+};
+const onBillConfirm = (statisticsData, obj: any) => {
+  const payload = {
+    billType: obj.billType,
+    billName: obj.billName,
+    statisticsData: statisticsData,
+     customerName: selectionList.value[0].customerName,
+     isInternalSettlement: selectionList.value[0].isInternalSettlement, 
+     internalSettlementUnit: selectionList.value[0].internalSettlementUnit, 
+
+  };
+  addCreateBill(payload).then((res) => {
+    if (res.code === 200) {
+      proxy.$message.success(res.msg);
+      billDialogRef.value.cancel();
+    }
+  });
+
+};
+const detailModalRef = ref(null);
+const handleExamine = (row) => {
+  getReceivableFeeManagement(row.id).then((res) => {
+    if (res.code === 200) {
+      detailModalRef.value.open(res.data);
+    }
+  });
+
+};
+/* 浣滃簾 */
+const handleCancellation = (row) => {
+  proxy.$confirm('鏄惁纭浣滃簾璇ユ潯鏁版嵁锛�', '鎻愮ず', {
+    confirmButtonText: '纭畾',
+    cancelButtonText: '鍙栨秷',
+    type: 'warning'
+  }).then(() => {
+    receivableFeeManagementVoid(row.id).then((res) => {
+      if (res.code == 200) {
+        proxy.$message.success(res.msg);
+        onLoad(page.value);
+      }
+    });
+  })
+};
+const logModalRef = ref(null);
+const handleFlow = (row: any) => {
+  // 杩欓噷鍙互浠� row 涓洿鎺ヨ幏鍙栨棩蹇楋紝鎴栬�呰皟鐢ㄥ悗绔帴鍙f煡璇�
+  // 绀轰緥妯℃嫙鏁版嵁
+  listReceivableFeeManagementLog({receivableFeeId:row.id}).then((res) => {
+    if (res.code == 200) {
+     logModalRef.value.open(res.rows);
+
+    }
+  });
+}
+const handleImport = () => {
+  pageF.importOpen = true;
+}
+
+const importSubmit = () => {
+  pageF.importOpen = false;
+  onLoad(page.value);
+};
 
 </script>

--
Gitblit v1.8.0