From 0d7be0c65fb884947fea23504c2425f5e771ba58 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 21 八月 2025 11:18:20 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobAdminBClient

---
 src/views/ServiceChargeManage/ServiceChargeManage.vue |  155 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 108 insertions(+), 47 deletions(-)

diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue
index d9cbb15..bd7fa87 100644
--- a/src/views/ServiceChargeManage/ServiceChargeManage.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeManage.vue
@@ -5,7 +5,7 @@
         <template #query>
           <QueryFilterItem tip-content="缁撶畻鍗曠姸鎬�">
             <FieldRadio
-              v-model="extraParamState.flexEnterpriseSettingStatus"
+              v-model="extraParamState.status"
               :value-enum="[
                 { label: '宸插畨鎺�', value: 1 },
                 { label: '寰呭畨鎺�', value: 0 },
@@ -17,7 +17,7 @@
           </QueryFilterItem>
           <QueryFilterItem tip-content="缁撶畻鐘舵��">
             <FieldRadio
-              v-model="extraParamState.flexEnterpriseSettingStatus"
+              v-model="extraParamState.status"
               :value-enum="[
                 { label: '宸插畨鎺�', value: 1 },
                 { label: '寰呭畨鎺�', value: 0 },
@@ -29,7 +29,7 @@
           </QueryFilterItem>
           <QueryFilterItem>
             <FieldDatePicker
-              v-model="extraParamState.flexEnterpriseSettingStatus"
+              v-model="extraParamState.time"
               type="daterange"
               range-separator="~"
               start-placeholder="璧峰鏃ユ湡"
@@ -52,18 +52,8 @@
         </template>
         <template #btn>
           <el-button type="primary" link @click="handleDownloadTemplate()">缁撶畻鍗曟ā鏉�</el-button>
-          <BlFileUpload
-            :limitFileSize="10"
-            accept="xls,xlsx"
-            :showTip="false"
-            :show-file-list="false"
-            :on-success="handleUploadSuccess"
-            style="margin-right: 10px; margin-left: 10px"
-          >
-            <template #default>
-              <el-button type="primary">涓婁紶缁撶畻鍗�</el-button>
-            </template>
-          </BlFileUpload>
+
+          <el-button type="primary" @click="openDialog()">涓婁紶缁撶畻鍗�</el-button>
           <el-button type="primary" @click="handleDownloadTemplate()">瀵煎嚭</el-button>
         </template>
       </ProTableQueryFilterBar>
@@ -72,23 +62,10 @@
         :columns="ServiceChargeManageColumns"
         :operationBtns="operationBtns"
       >
-        <template #operationBtn-uploadBtn="{ data, row }">
-          <BlFileUpload
-            v-model:file-url="row.fileUrl"
-            :limitFileSize="2"
-            :limit="1"
-            accept="doc,docx"
-            ref="uploadRef"
-            :showTip="false"
-            :on-success="(response) => handleUpload(response, row)"
-            :show-file-list="false"
-            class="pro-table-operation-btn upload-style-btn"
-          >
-            <el-button link type="primary">涓婁紶</el-button>
-          </BlFileUpload>
-        </template>
       </ProTableV2>
     </AppContainer>
+    <UploadStatementDialog v-bind="dialogProps" />
+    <SettleDetailDialog v-bind="dialogSettleProps" />
   </LoadingLayout>
 </template>
 
@@ -104,12 +81,15 @@
   FieldDatePicker,
   FieldRadio,
   defineOperationBtns,
-  BlFileUpload,
+  useFormDialog,
   UploadUserFile,
 } from '@bole-core/components';
 import { ServiceChargeManageColumns } from './constants';
-import { EnumUserGender } from '@/constants';
 import { downloadFileByUrl } from '@/utils';
+import * as taskServices from '@/services/api/task';
+import { ModelValueType } from 'element-plus';
+import UploadStatementDialog from './components/UploadStatementDialog.vue';
+import SettleDetailDialog from './components/SettleDetailDialog.vue';
 
 defineOptions({
   name: 'ServiceChargeManageList',
@@ -121,6 +101,24 @@
       enCode: 'uploadBtn',
       name: '涓婁紶',
     },
+    emits: {
+      onClick: (role) => openDialog(role),
+    },
+    extraProps: {
+      hide: () => false,
+    },
+  },
+  {
+    data: {
+      enCode: 'reUploadBtn',
+      name: '閲嶆柊涓婁紶',
+    },
+    emits: {
+      onClick: (role) => openDialog(role),
+    },
+    extraProps: {
+      hide: () => false,
+    },
   },
   {
     data: {
@@ -128,7 +126,22 @@
       name: '缁撶畻',
     },
     emits: {
-      onClick: (role) => goSettle(role),
+      onClick: (role) => openSettleDialog(role),
+    },
+    extraProps: {
+      hide: () => false,
+    },
+  },
+  {
+    data: {
+      enCode: 'recallBtn',
+      name: '鎾ゅ洖',
+    },
+    emits: {
+      onClick: (role) => handleRecall(role),
+    },
+    extraProps: {
+      hide: () => false,
     },
   },
   {
@@ -148,10 +161,19 @@
     emits: {
       onClick: (role) => handleExport(role),
     },
+    extraProps: {
+      hide: () => false,
+    },
   },
 ]);
 
 const router = useRouter();
+
+const eventContext = useGlobalEventContext();
+
+eventContext.addEvent('serviceChargeSettle', () => {
+  getList(paginationState.pageIndex);
+});
 
 const BaseState = {
   loading: true,
@@ -173,17 +195,15 @@
 } = useTable(
   async ({ pageIndex, pageSize }, extraParamState) => {
     try {
-      let params: API.GetFlexEnterpriseInput = {
+      let params: API.GetTaskInfosQuery = {
         pageModel: {
           rows: pageSize,
           page: pageIndex,
           orderInput: extraParamState.orderInput,
         },
-        flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus,
-        searchWord: extraParamState.searchWord,
       };
 
-      let res = await flexEnterpriseServices.getFlexEnterpriseList(params, {
+      let res = await taskServices.getTaskInfos(params, {
         showLoading: !state.loading,
       });
       return res;
@@ -194,22 +214,69 @@
   {
     defaultExtraParams: {
       searchWord: '',
+      status: 0,
+      time: [] as unknown as ModelValueType,
       orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
-      flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
     },
-    queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
+    queryKey: ['taskServices/getTaskInfos'],
     columnsRenderProps: {},
   }
 );
 
-function goSettle(row) {
+const { dialogProps, handleAdd, handleEdit, editForm } = useFormDialog({
+  onConfirm: handleAddOrEdit,
+  defaultFormParams: {
+    id: '',
+    name: '',
+    settlementUrl: [] as UploadUserFile[],
+  },
+});
+
+function openDialog(row?) {
+  if (row) {
+    handleEdit({
+      id: row?.id,
+      name: row?.name,
+      settlementUrl: [] as UploadUserFile[],
+    });
+  } else {
+    handleAdd();
+  }
+}
+
+async function handleAddOrEdit() {}
+
+const {
+  dialogProps: dialogSettleProps,
+  handleEdit: handleSettleEdit,
+  editForm: settleEditForm,
+} = useFormDialog({
+  onConfirm: goSettle,
+  defaultFormParams: {
+    id: '',
+    name: '',
+    count: 0,
+  },
+});
+
+function openSettleDialog(row?) {
+  handleSettleEdit({
+    id: row.id,
+    name: row.name,
+    count: row.count,
+  });
+}
+
+async function goSettle() {
   router.push({
     name: 'ServiceChargeSettle',
     params: {
-      id: row.id,
+      id: settleEditForm.id,
     },
   });
 }
+
+function handleRecall(row) {}
 
 function goDetail(row) {
   router.push({
@@ -218,12 +285,6 @@
       id: row.id,
     },
   });
-}
-
-function handleUploadSuccess(response: UploadUserFile) {}
-
-function handleUpload(val, row) {
-  console.log('val: ', val);
 }
 
 function handleExport(val) {

--
Gitblit v1.9.1