wupengfei
2025-11-12 8d1d92a4baad8df0814a712224112f4b8eefc9d6
feat: 1.3.0.2
2个文件已删除
15个文件已修改
2 文件已重命名
1304 ■■■■ 已修改文件
src/router/index.ts 326 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EmploymentManage/CheckManage.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EmploymentManage/CheckReceiveTaskDetail.vue 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EmploymentManage/EmploymentManageArrange.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EmploymentManage/EmploymentSignList.vue 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EmploymentManage/TaskManageList.vue 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EmploymentManage/constants/columns.ts 237 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/FinanceManage/BalanceManageV2.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/FinanceManage/BalanceRechargeRecord.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/FinanceManage/FinanceManageList.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/FinanceManage/components/DistributionDetailView.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/FinanceManage/constants/columns.ts 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ServiceChargeManage/ServiceChargeDetail.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ServiceChargeManage/ServiceChargeManageList.vue 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ServiceChargeManage/constants/columns.ts 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/SupplierManage/SupplierManageList.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/UserManage/UserManageList.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/UserManage/constants/columns.ts 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/UserManage/constants/index.ts 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.ts
@@ -95,223 +95,6 @@
      rootMenu: true,
    },
  },
  {
    path: '/SupplierManage',
    redirect: 'noRedirect',
    component: Layout,
    hidden: false,
    alwaysShow: true,
    meta: {
      rank: 10005,
      title: '供应商管理',
      rootMenu: true,
      icon: 'home',
    },
    children: [
      {
        path: '/SupplierManageList',
        name: 'SupplierManageList',
        hidden: false,
        alwaysShow: true,
        component: () => import('@/views/SupplierManage/SupplierManageList.vue'),
        meta: {
          rank: 10005,
          title: '供应商管理',
          // rootMenu: true,
          icon: 'home',
        },
      },
    ],
  },
  // {
  //   path: '/FlexJobManage',
  //   redirect: 'noRedirect',
  //   component: Layout,
  //   hidden: false,
  //   alwaysShow: true,
  //   meta: {
  //     rank: 10010,
  //     title: '灵工管理',
  //     rootMenu: true,
  //     icon: 'home',
  //   },
  //   children: [
  //     {
  //       path: '/FlexJobManageList',
  //       name: 'FlexJobManageList',
  //       hidden: false,
  //       alwaysShow: true,
  //       component: () => import('@/views/FlexJobManage/FlexJobManage.vue'),
  //       meta: {
  //         rank: 10011,
  //         title: '灵工管理',
  //         // rootMenu: true,
  //         icon: 'home',
  //       },
  //     },
  //   ],
  // },
  {
    path: '/EmploymentManage',
    redirect: 'noRedirect',
    component: Layout,
    hidden: false,
    alwaysShow: true,
    meta: {
      rank: 10020,
      title: '用人管理',
      rootMenu: true,
      icon: 'home',
    },
    children: [
      {
        path: '/TaskManageList',
        name: 'TaskManageList',
        hidden: false,
        alwaysShow: true,
        component: () => import('@/views/EmploymentManage/TaskManageList.vue'),
        meta: {
          rank: 10021,
          title: '任务管理',
          // rootMenu: true,
          icon: 'home',
        },
      },
      {
        path: '/AddOrEditEmployment/:id?',
        name: 'AddOrEditEmployment',
        hidden: true,
        alwaysShow: false,
        component: () => import('@/views/EmploymentManage/AddOrEditEmployment.vue'),
        meta: {
          rank: 10022,
          title: '发布编辑人员',
          // rootMenu: true,
          icon: 'home',
        },
      },
      {
        path: '/EmploymentManageDetail/:id',
        name: 'EmploymentManageDetail',
        hidden: true,
        alwaysShow: false,
        component: () => import('@/views/EmploymentManage/EmploymentManageDetail.vue'),
        meta: {
          rank: 10023,
          title: '人员管理详情',
          // rootMenu: true,
          icon: 'home',
        },
      },
      {
        path: '/EmploymentSignList/:id',
        name: 'EmploymentSignList',
        hidden: true,
        alwaysShow: false,
        component: () => import('@/views/EmploymentManage/EmploymentSignList.vue'),
        meta: {
          rank: 10024,
          title: '报名列表',
          // rootMenu: true,
          icon: 'home',
        },
      },
      {
        path: '/EmploymentManageArrange/:id',
        name: 'EmploymentManageArrange',
        hidden: true,
        alwaysShow: false,
        component: () => import('@/views/EmploymentManage/EmploymentManageArrange.vue'),
        meta: {
          rank: 10025,
          title: '人员安排',
          // rootMenu: true,
          icon: 'home',
        },
      },
      {
        path: '/CheckManage',
        name: 'CheckManage',
        hidden: false,
        alwaysShow: true,
        component: () => import('@/views/EmploymentManage/CheckManage.vue'),
        meta: {
          rank: 10030,
          title: '验收管理',
          // rootMenu: true,
          icon: 'home',
        },
      },
      {
        path: '/CheckReceiveTaskDetail/:id',
        name: 'CheckReceiveTaskDetail',
        hidden: true,
        alwaysShow: false,
        component: () => import('@/views/EmploymentManage/CheckReceiveTaskDetail.vue'),
        meta: {
          rank: 10031,
          title: '验收详情',
          // rootMenu: true,
          icon: 'home',
        },
      },
    ],
  },
  {
    path: '/ServiceChargeManage',
    redirect: 'noRedirect',
    component: Layout,
    hidden: false,
    alwaysShow: true,
    meta: {
      rank: 10040,
      title: '服务费管理',
      rootMenu: true,
      icon: 'home',
    },
    children: [
      {
        path: '/ServiceChargeManageList',
        name: 'ServiceChargeManageList',
        hidden: false,
        alwaysShow: true,
        component: () => import('@/views/ServiceChargeManage/ServiceChargeManage.vue'),
        meta: {
          rank: 10041,
          title: '服务费管理',
          // rootMenu: true,
          icon: 'home',
        },
      },
      // {
      //   path: '/BalanceManage',
      //   name: 'BalanceManage',
      //   hidden: false,
      //   alwaysShow: true,
      //   component: () => import('@/views/ServiceChargeManage/BalanceManage.vue'),
      //   meta: {
      //     rank: 10042,
      //     title: '余额管理',
      //     // rootMenu: true,
      //     icon: 'home',
      //   },
      // },
      {
        path: '/ServiceChargeDetail/:id',
        name: 'ServiceChargeDetail',
        hidden: true,
        alwaysShow: false,
        component: () => import('@/views/ServiceChargeManage/ServiceChargeDetail.vue'),
        meta: {
          rank: 10043,
          title: '详情',
          // rootMenu: true,
          icon: 'home',
        },
      },
    ],
  },
  // {
  //   path: '/AgreementManage',
  //   redirect: 'noRedirect',
@@ -368,115 +151,6 @@
  //     },
  //   ],
  // },
  {
    path: '/FinanceManage',
    redirect: 'noRedirect',
    component: Layout,
    hidden: false,
    alwaysShow: true,
    meta: {
      rank: 10070,
      title: '财务管理',
      rootMenu: true,
      icon: 'home',
    },
    children: [
      {
        path: '/FinanceManageList',
        name: 'FinanceManageList',
        hidden: false,
        alwaysShow: true,
        component: () => import('@/views/FinanceManage/FinanceManage.vue'),
        meta: {
          rank: 10071,
          title: '发放明细',
          // rootMenu: true,
          icon: 'home',
        },
      },
      {
        path: '/BalanceManageV2',
        name: 'BalanceManageV2',
        hidden: false,
        alwaysShow: true,
        component: () => import('@/views/FinanceManage/BalanceManageV2.vue'),
        meta: {
          rank: 10072,
          title: '余额管理',
          // rootMenu: true,
          icon: 'home',
        },
      },
      {
        path: '/BalanceRechargeRecord/:id',
        name: 'BalanceRechargeRecord',
        hidden: true,
        alwaysShow: false,
        component: () => import('@/views/FinanceManage/BalanceRechargeRecord.vue'),
        meta: {
          rank: 10073,
          title: '充值记录',
          // rootMenu: true,
          icon: 'home',
        },
      },
      // {
      //   path: '/EnterpriseBalanceManage',
      //   name: 'EnterpriseBalanceManage',
      //   hidden: false,
      //   alwaysShow: true,
      //   component: () => import('@/views/FinanceManage/EnterpriseBalanceManage.vue'),
      //   meta: {
      //     rank: 10072,
      //     title: '企业余额管理',
      //     // rootMenu: true,
      //     icon: 'home',
      //   },
      // },
      // {
      //   path: '/EnterpriseBalanceManageDetail/:id',
      //   name: 'EnterpriseBalanceManageDetail',
      //   hidden: true,
      //   alwaysShow: false,
      //   component: () => import('@/views/FinanceManage/EnterpriseBalanceManageDetail.vue'),
      //   meta: {
      //     rank: 10073,
      //     title: '详情',
      //     // rootMenu: true,
      //     icon: 'home',
      //   },
      // },
    ],
  },
  {
    path: '/UserManage',
    redirect: 'noRedirect',
    component: Layout,
    hidden: false,
    alwaysShow: true,
    meta: {
      rank: 10100,
      title: '用户管理',
      rootMenu: true,
      icon: 'home',
    },
    children: [
      {
        path: '/UserManageList',
        name: 'UserManageList',
        hidden: false,
        alwaysShow: true,
        component: () => import('@/views/UserManage/UserManageList.vue'),
        meta: {
          rank: 10101,
          title: '用户管理',
          // rootMenu: true,
          icon: 'home',
        },
      },
    ],
  },
  {
    path: '/Login',
    name: 'Login',
src/views/EmploymentManage/CheckManage.vue
@@ -36,11 +36,7 @@
          </QueryFilterItem>
        </template>
      </ProTableQueryFilterBar>
      <ProTableV2
        v-bind="proTableProps"
        :columns="CheckManageColumns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
  </LoadingLayout>
@@ -57,10 +53,7 @@
  useTable,
  FieldDatePicker,
  FieldRadio,
  defineOperationBtns,
  useFormDialog,
} from '@bole-core/components';
import { CheckManageColumns } from './constants';
import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
import { ModelValueType } from 'element-plus';
import { downloadFileByUrl, format, OrderUtils, setOSSLink } from '@/utils';
@@ -70,21 +63,13 @@
  name: 'CheckManage',
});
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'detailBtn',
      name: '详情',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  detailBtn: {
    emits: {
      onClick: (role) => goCheckReceiveTaskDetail(role),
    },
  },
  {
    data: {
      enCode: 'exportBtn',
      name: '导出',
    },
  exportBtn: {
    emits: {
      onClick: (role) => handleExport(role),
    },
@@ -93,7 +78,11 @@
        row.checkReceiveStatus !== EnumTaskCheckReceiveStatus.Completed,
    },
  },
]);
};
const { column, operationBtns } = useAccess({
  operationBtnMap,
});
const router = useRouter();
src/views/EmploymentManage/CheckReceiveTaskDetail.vue
@@ -40,11 +40,7 @@
        </ProForm>
      </el-card>
      <ProTableV2
        v-bind="proTableProps"
        :columns="CheckReceiveTaskDetailColumns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
    <CheckManageDialog v-bind="dialogProps" />
@@ -59,19 +55,15 @@
  AppContainer,
  useTable,
  useFormDialog,
  defineOperationBtns,
  ProForm,
  ProFormCol,
  ProFormColItem,
  ProFormItemV2,
  ProTableQueryFilterBar,
} from '@bole-core/components';
import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
import * as taskServices from '@/services/api/task';
import { useQuery } from '@tanstack/vue-query';
import { OrderUtils } from '@/utils';
import { CheckReceiveTaskDetailColumns } from './constants';
import { EnumBillingMethodUnitText, EnumBillingMethod, EnumBillingMethodText } from '@/constants';
import dayjs from 'dayjs';
import CheckManageDialog from './components/CheckManageDialog.vue';
import ManualCheckManageDialog from './components/ManualCheckManageDialog.vue';
@@ -80,12 +72,13 @@
  name: 'CheckReceiveTaskDetail',
});
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'exportBtn',
      name: '验收',
const operationBtnMap: Record<string, OperationBtnType> = {
  detailBtn: {
    emits: {
      onClick: (role) => openDialog(role, true),
    },
  },
  exportBtn: {
    emits: {
      onClick: (role) => openDialog(role),
    },
@@ -97,16 +90,11 @@
        ),
    },
  },
  {
    data: {
      enCode: 'detailBtn',
      name: '详情',
    },
    emits: {
      onClick: (role) => openDialog(role, true),
    },
  },
]);
};
const { column, operationBtns } = useAccess({
  operationBtnMap,
});
const route = useRoute();
const id = (route.params.id as string) ?? '';
src/views/EmploymentManage/EmploymentManageArrange.vue
@@ -33,11 +33,7 @@
          </QueryFilterItem>
        </template>
      </ProTableQueryFilterBar>
      <ProTableV2
        v-bind="proTableProps"
        :columns="EmploymentArrangeColumns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
  </LoadingLayout>
@@ -68,12 +64,8 @@
  name: 'EmploymentManageArrange',
});
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'arrangeBtn',
      name: '安排',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  arrangeBtn: {
    emits: {
      onClick: (role) => handleArrange(role),
    },
@@ -82,7 +74,11 @@
        row.arrangeStatus === EnumTaskUserArrangeStatus.Complete,
    },
  },
]);
};
const { column, operationBtns } = useAccess({
  operationBtnMap,
});
const router = useRouter();
const route = useRoute();
src/views/EmploymentManage/EmploymentSignList.vue
@@ -24,11 +24,7 @@
          </QueryFilterItem>
        </template>
      </ProTableQueryFilterBar>
      <ProTableV2
        v-bind="proTableProps"
        :columns="EmploymentSignColumns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
    <StaffInfoDialog v-bind="dialogStaffInfoProps" />
@@ -45,11 +41,9 @@
  QueryFilterItem,
  useTable,
  FieldRadio,
  defineOperationBtns,
  useFormDialog,
  UploadUserFile,
} from '@bole-core/components';
import { EmploymentSignColumns } from './constants/columns';
import { Message } from '@bole-core/core';
import { EnumUserGender, EnumTaskUserHireStatusText } from '@/constants';
import StaffInfoDialog from '@/views/FlexJobManage/components/StaffInfoDialog.vue';
@@ -61,21 +55,13 @@
  name: 'EmploymentSignList',
});
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'detailBtn',
      name: '详情',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  detailBtn: {
    emits: {
      onClick: (role) => openDialog(role),
    },
  },
  {
    data: {
      enCode: 'recruitBtn',
      name: '录用',
    },
  recruitBtn: {
    emits: {
      onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Pass),
    },
@@ -84,11 +70,7 @@
        row.hireStatus === EnumTaskUserHireStatus.Pass,
    },
  },
  {
    data: {
      enCode: 'refuseBtn',
      name: '谢绝',
    },
  refuseBtn: {
    emits: {
      onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Refuse),
    },
@@ -97,7 +79,11 @@
        row.hireStatus !== EnumTaskUserHireStatus.Wait,
    },
  },
]);
};
const { column, operationBtns } = useAccess({
  operationBtnMap,
});
const router = useRouter();
const route = useRoute();
src/views/EmploymentManage/TaskManageList.vue
@@ -43,14 +43,15 @@
          </QueryFilterItem>
        </template>
        <template #btn>
          <el-button @click="goAddOrEdit()" type="primary">发布</el-button>
          <el-button
            v-if="checkSubModuleItemShow('pageButton', 'addBtn')"
            @click="goAddOrEdit()"
            type="primary"
            >发布</el-button
          >
        </template>
      </ProTableQueryFilterBar>
      <ProTableV2
        v-bind="proTableProps"
        :columns="EmploymentManageColumns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
        <template #userCount="{ row }">
          <el-button link type="primary" @click="goSignList(row)">{{
            row.userCount || 0
@@ -72,9 +73,7 @@
  useTable,
  FieldDatePicker,
  FieldRadio,
  defineOperationBtns,
} from '@bole-core/components';
import { EmploymentManageColumns } from './constants';
import { EnumTaskStatusText, EnumTaskReleaseStatusText } from '@/constants';
import { useGlobalEventContext } from '@/hooks';
import * as taskServices from '@/services/api/task';
@@ -87,12 +86,8 @@
  name: 'TaskManageList',
});
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'editBtn',
      name: '编辑',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  editBtn: {
    emits: {
      onClick: (role) => goAddOrEdit(role),
    },
@@ -100,20 +95,12 @@
      hide: (row: API.GetTaskInfosQueryResultItem) => row.status === EnumTaskStatus.Complete,
    },
  },
  {
    data: {
      enCode: 'detailBtn',
      name: '详情',
    },
  detailBtn: {
    emits: {
      onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row),
    },
  },
  {
    data: {
      enCode: 'publishBtn',
      name: '发布',
    },
  publishBtn: {
    emits: {
      onClick: (row: API.GetTaskInfosQueryResultItem) =>
        setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.InProcess),
@@ -123,11 +110,7 @@
        row.releaseStatus === EnumTaskReleaseStatus.InProcess,
    },
  },
  {
    data: {
      enCode: 'unPublishBtn',
      name: '停止发布',
    },
  unPublishBtn: {
    emits: {
      onClick: (row: API.GetTaskInfosQueryResultItem) =>
        setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.Stopped),
@@ -137,11 +120,7 @@
        row.releaseStatus === EnumTaskReleaseStatus.Stopped,
    },
  },
  {
    data: {
      enCode: 'arrangeBtn',
      name: '安排',
    },
  arrangeBtn: {
    emits: {
      onClick: (row: API.GetTaskInfosQueryResultItem) => handleArrange(row),
    },
@@ -150,7 +129,11 @@
        row.releaseStatus === EnumTaskReleaseStatus.Stopped,
    },
  },
]);
};
const { checkSubModuleItemShow, column, operationBtns } = useAccess({
  operationBtnMap,
});
const router = useRouter();
src/views/EmploymentManage/constants/columns.ts
@@ -1,98 +1,5 @@
import { defineColumns } from '@bole-core/components';
export const EmploymentManageColumns = defineColumns([
  {
    id: '1',
    enCode: 'name',
    name: '任务名称',
  },
  {
    id: '2',
    enCode: 'code',
    name: '任务单号',
  },
  {
    id: '3',
    enCode: 'supplierEnterpriseName',
    name: '所属客户',
  },
  {
    id: '4',
    enCode: 'supplierEnterpriseId',
    name: '客户ID',
  },
  {
    id: '5',
    enCode: 'billingMethod',
    name: '结算周期',
  },
  {
    id: '6',
    enCode: 'serviceFee',
    name: '服务费金额',
  },
  {
    id: '7',
    enCode: 'settlementCycle',
    name: '结算方式',
  },
  {
    id: '8',
    enCode: 'genderLimit',
    name: '性别要求',
  },
  {
    id: '9',
    enCode: 'needPeopleNumber',
    name: '需求人数',
  },
  {
    id: '10',
    enCode: 'userCount',
    name: '报名人数',
  },
  {
    id: '11',
    enCode: 'applyBeginTime',
    name: '报名开始',
  },
  {
    id: '12',
    enCode: 'applyEndTime',
    name: '报名结束',
  },
  {
    id: '13',
    enCode: 'applyStatus',
    name: '报名状态',
  },
  {
    id: '14',
    enCode: 'status',
    name: '任务状态',
  },
  {
    id: '15',
    enCode: 'createdTime',
    name: '发布日期',
  },
  {
    id: '16',
    enCode: 'beginTime',
    name: '任务开始日期',
  },
  {
    id: '17',
    enCode: 'endTime',
    name: '任务结束日期',
  },
  {
    id: '18',
    enCode: 'releaseStatus',
    name: '发布状态',
  },
]);
export const EmploymentArrangeColumns = defineColumns([
  {
    id: '1',
@@ -128,149 +35,5 @@
    id: '7',
    enCode: 'arrangeStatus',
    name: '排班状态',
  },
]);
export const EmploymentSignColumns = defineColumns([
  {
    id: '1',
    enCode: 'name',
    name: '姓名',
  },
  {
    id: '2',
    enCode: 'identity',
    name: '身份证号',
  },
  {
    id: '3',
    enCode: 'contactPhoneNumber',
    name: '电话',
  },
  {
    id: '4',
    enCode: 'age',
    name: '年龄',
  },
  {
    id: '5',
    enCode: 'gender',
    name: '性别',
  },
  {
    id: '6',
    enCode: 'educationalBackgroundContent',
    name: '学历',
  },
  {
    id: '7',
    enCode: 'hireStatus',
    name: '录用状态',
  },
]);
export const CheckManageColumns = defineColumns([
  {
    id: '1',
    enCode: 'name',
    name: '任务名称',
  },
  {
    id: '2',
    enCode: 'code',
    name: '任务单号',
  },
  {
    id: '3',
    enCode: 'billingMethod',
    name: '结算周期',
  },
  {
    id: '4',
    enCode: 'serviceFee',
    name: '服务费金额',
  },
  {
    id: '5',
    enCode: 'settlementCycle',
    name: '结算方式',
  },
  {
    id: '6',
    enCode: 'createdTime',
    name: '发布日期',
  },
  {
    id: '6-1',
    enCode: 'beginTime',
    name: '开始日期',
  },
  {
    id: '7',
    enCode: 'endTime',
    name: '结束日期',
  },
  {
    id: '8',
    enCode: 'checkReceiveMethods',
    name: '验收方式',
  },
  {
    id: '9',
    enCode: 'checkReceiveStatus',
    name: '任务验收状态',
  },
  {
    id: '10',
    enCode: 'lastCheckReceiveTime',
    name: '最近验收时间',
  },
]);
export const CheckReceiveTaskDetailColumns = defineColumns([
  {
    id: '1',
    enCode: 'name',
    name: '姓名',
  },
  {
    id: '2',
    enCode: 'identity',
    name: '身份证号',
  },
  {
    id: '3',
    enCode: 'gender',
    name: '性别',
  },
  {
    id: '4',
    enCode: 'age',
    name: '年龄',
  },
  {
    id: '5',
    enCode: 'contactPhoneNumber',
    name: '手机号',
  },
  {
    id: '6',
    enCode: 'taskInfoName',
    name: '任务名称',
  },
  {
    id: '7',
    enCode: 'taskInfoCode',
    name: '任务编号',
  },
  {
    id: '8',
    enCode: 'lastSubmitTime',
    name: '最近提交时间',
  },
  {
    id: '8',
    enCode: 'checkReceiveStatus',
    name: '任务验收状态',
  },
]);
src/views/FinanceManage/BalanceManageV2.vue
@@ -1,11 +1,7 @@
<template>
  <LoadingLayout :loading="state.loading">
    <AppContainer>
      <ProTableV2
        v-bind="proTableProps"
        :columns="BalanceManageV2Columns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
    <BalanceRechargeDialog v-bind="dialogProps" />
@@ -19,39 +15,32 @@
  AppContainer,
  useTable,
  useFormDialog,
  defineOperationBtns,
  UploadUserFile,
} from '@bole-core/components';
import * as enterpriseCooperationWalletServices from '@/services/api/enterpriseCooperationWallet';
import { BalanceManageV2Columns } from './constants';
import BalanceRechargeDialog from './components/BalanceRechargeDialog.vue';
import { EnumEnterpriseWalletAccess, EnumEnterpriseWalletAccessText } from '@/constants';
import { Message } from '@bole-core/core';
defineOptions({
  name: 'BalanceManageV2',
});
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'rechargeBtn',
      name: '充值',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  rechargeBtn: {
    emits: {
      onClick: (role: API.GetCooperationWalletsQueryResultItem) => openDialog(role),
    },
  },
  {
    data: {
      enCode: 'rechargeRecordBtn',
      name: '充值记录',
    },
  rechargeRecordBtn: {
    emits: {
      onClick: (role: API.GetCooperationWalletsQueryResultItem) => goDetail(role),
    },
  },
]);
};
const { column, operationBtns } = useAccess({
  operationBtnMap,
});
const router = useRouter();
const BaseState = {
src/views/FinanceManage/BalanceRechargeRecord.vue
@@ -1,11 +1,7 @@
<template>
  <LoadingLayout :loading="state.loading">
    <AppContainer>
      <ProTableV2
        v-bind="proTableProps"
        :columns="BalanceRechargeRecordColumns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
    <BalanceRechargeRecordDialog v-bind="dialogProps" />
@@ -19,11 +15,8 @@
  AppContainer,
  useTable,
  useFormDialog,
  defineOperationBtns,
  UploadUserFile,
} from '@bole-core/components';
import * as enterpriseCooperationWalletServices from '@/services/api/enterpriseCooperationWallet';
import { BalanceRechargeRecordColumns } from './constants';
import BalanceRechargeRecordDialog from './components/BalanceRechargeRecordDialog.vue';
import { EnumEnterpriseCooperationWalletTransactionStatusText } from '@/constants';
@@ -34,18 +27,18 @@
const route = useRoute();
const id = route.params.id as string;
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'detailBtn',
      name: '详情',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  detailBtn: {
    emits: {
      onClick: (role: API.GetCooperationWalletRechargeTransactionsQueryResultItem) =>
        openDialog(role),
    },
  },
]);
};
const { column, operationBtns } = useAccess({
  operationBtnMap,
});
const router = useRouter();
const BaseState = {
src/views/FinanceManage/FinanceManageList.vue
src/views/FinanceManage/components/DistributionDetailView.vue
@@ -1,11 +1,7 @@
<template>
  <LoadingLayout :loading="state.loading">
    <AppContainer>
      <ProTableV2
        v-bind="proTableProps"
        :columns="DistributionDetailColumns"
        :showOperationColumn="false"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :showOperationColumn="false">
        <template #settlementStatus="{ row }">
          {{
            row.settlementStatus !== EnumTaskSettlementStatus.InProcess &&
@@ -20,14 +16,7 @@
</template>
<script setup lang="ts">
import {
  ProTableV2,
  LoadingLayout,
  AppContainer,
  useTable,
  defineOperationBtns,
} from '@bole-core/components';
import { DistributionDetailColumns } from '../constants';
import { ProTableV2, LoadingLayout, AppContainer, useTable } from '@bole-core/components';
import * as userServices from '@/services/api/user';
import { EnumTaskSettlementStatusText, EnumTaskSettlementStatus } from '@/constants';
@@ -35,7 +24,11 @@
  name: 'DistributionDetailView',
});
const operationBtns = defineOperationBtns([]);
const operationBtnMap: Record<string, OperationBtnType> = {};
const { column, operationBtns } = useAccess({
  operationBtnMap,
});
const BaseState = {
  loading: true,
src/views/FinanceManage/constants/columns.ts
@@ -1,78 +1,5 @@
import { defineColumns } from '@bole-core/components';
export const DistributionDetailColumns = defineColumns([
  {
    id: '1',
    enCode: 'supplierEnterpriseName',
    name: '供应商',
  },
  {
    id: '2',
    enCode: 'taskName',
    name: '所属任务',
  },
  {
    id: '3',
    enCode: 'taskCode',
    name: '任务单号',
  },
  {
    id: '4',
    enCode: 'settlementCode',
    name: '结算单号',
  },
  {
    id: '5',
    enCode: 'receiveName',
    name: '姓名',
  },
  {
    id: '6',
    enCode: 'settlementAccess',
    name: '结算方式',
  },
  {
    id: '7',
    enCode: 'receiveAccount',
    name: '结算账户',
  },
  {
    id: '8',
    enCode: 'amount',
    name: '结算金额',
  },
  {
    id: '9',
    enCode: 'settlementStatus',
    name: '结算单确认状态',
  },
  {
    id: '10',
    enCode: 'settlementTime',
    name: '确认日期',
  },
  {
    id: '11',
    enCode: 'settlementAuditStatus',
    name: '结算单提交状态',
  },
  {
    id: '12',
    enCode: 'settlementAuditTime',
    name: '提交时间',
  },
  {
    id: '13',
    enCode: 'settlementReceiveStatus',
    name: '到账状态',
  },
  {
    id: '14',
    enCode: 'transDate',
    name: '到账时间',
  },
]);
export const UsageDetailColumns = defineColumns([
  {
    id: '1',
@@ -161,71 +88,5 @@
    id: '9',
    enCode: 'ereceiptDownloadOssUrl',
    name: '电子回单',
  },
]);
export const BalanceManageV2Columns = defineColumns([
  {
    id: '1',
    enCode: 'supplierEnterpriseName',
    name: '供应商',
  },
  {
    id: '2',
    enCode: 'supplierEnterpriseBank',
    name: '开户总行',
  },
  {
    id: '3',
    enCode: 'supplierEnterpriseBankBranch',
    name: '开户支行',
  },
  {
    id: '4',
    enCode: 'supplierEnterpriseAccount',
    name: '户号',
  },
  {
    id: '5',
    enCode: 'balance',
    name: '余额',
  },
]);
export const BalanceRechargeRecordColumns = defineColumns([
  {
    id: '1',
    enCode: 'supplierEnterpriseName',
    name: '供应商',
  },
  {
    id: '2',
    enCode: 'receiveBank',
    name: '开户总行',
  },
  {
    id: '3',
    enCode: 'receiveBankBranch',
    name: '开户支行',
  },
  {
    id: '4',
    enCode: 'receiveAccount',
    name: '户号',
  },
  {
    id: '5',
    enCode: 'amount',
    name: '充值金额',
  },
  {
    id: '6',
    enCode: 'createdTime',
    name: '充值时间',
  },
  {
    id: '7',
    enCode: 'transactionStatus',
    name: '充值状态',
  },
]);
src/views/ServiceChargeManage/ServiceChargeDetail.vue
@@ -79,7 +79,7 @@
        </ProTableQueryFilterBar>
        <ProTableV2
          v-bind="proTableProps"
          :columns="SettlementListColumns"
          :columns="column"
          :operationBtns="operationBtns"
          :auto-height="false"
          ref="proTable"
@@ -138,7 +138,6 @@
  BlFileUpload,
  UploadUserFile,
} from '@bole-core/components';
import { SettlementListColumns } from './constants';
import { useQuery } from '@tanstack/vue-query';
import * as taskServices from '@/services/api/task';
import * as taskUserServices from '@/services/api/taskUser';
@@ -162,12 +161,8 @@
const { closeViewPush } = useRouteView();
const eventContext = useGlobalEventContext();
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'editBtn',
      name: '编辑',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  editBtn: {
    emits: {
      onClick: (role) => openDialog(role),
    },
@@ -175,7 +170,10 @@
      hide: () => !isSettlement.value,
    },
  },
]);
};
const { column, operationBtns, checkSubModuleItemShow } = useAccess({
  operationBtnMap,
});
const route = useRoute();
const id = (route.params.id as string) ?? '';
const settlement = (route.query.settlement as string) ?? '';
src/views/ServiceChargeManage/ServiceChargeManageList.vue
File was renamed from src/views/ServiceChargeManage/ServiceChargeManage.vue
@@ -47,14 +47,15 @@
        <template #btn>
          <!-- <el-button type="primary" link @click="handleDownloadTemplate()">结算单模板</el-button> -->
          <!-- <el-button type="primary" @click="handleAdd()">上传结算单</el-button> -->
          <el-button type="primary" @click="handleExport()">导出</el-button>
          <el-button
            v-if="checkSubModuleItemShow('pageButton', 'exportBtn')"
            type="primary"
            @click="handleExport()"
            >导出</el-button
          >
        </template>
      </ProTableQueryFilterBar>
      <ProTableV2
        v-bind="proTableProps"
        :columns="ServiceChargeManageColumns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
        <!-- <template #operationBtn-uploadBtn="{ row }">
          <BlFileUpload
            v-model:file-url="editForm.settlementUrl"
@@ -110,7 +111,6 @@
  UploadUserFile,
  BlFileUpload,
} from '@bole-core/components';
import { ServiceChargeManageColumns } from './constants';
import {
  EnumTaskSettlementStatusText,
  EnumTaskSettlementOrderStatusText,
@@ -134,22 +134,17 @@
  name: 'ServiceChargeManageList',
});
const operationBtns = defineOperationBtns([
  // {
  //   data: {
  //     enCode: 'uploadBtn',
  //     name: '上传',
const operationBtnMap: Record<string, OperationBtnType> = {
  // uploadBtn: {
  //   emits: {
  //     onClick: (role: API.GetSettlementTasksQueryResultItem) => openSettleMethodDialog(role),
  //   },
  //   extraProps: {
  //     hide: (row: API.GetSettlementTasksQueryResultItem) =>
  //       row.settlementOrderStatus !== EnumTaskSettlementOrderStatus.Wait,
  //   },
  // },
  // {
  //   data: {
  //     enCode: 'reUploadBtn',
  //     name: '重新上传',
  //   },
  // reUploadBtn: {
  //   extraProps: {
  //     hide: (row: API.GetSettlementTasksQueryResultItem) =>
  //       !(
@@ -158,11 +153,7 @@
  //       ),
  //   },
  // },
  {
    data: {
      enCode: 'settleBtn',
      name: '结算确认',
    },
  settleBtn: {
    emits: {
      onClick: (role: API.GetSettlementTasksQueryResultItem) => openSettleMethodDialog(role),
    },
@@ -174,11 +165,7 @@
        ),
    },
  },
  // {
  //   data: {
  //     enCode: 'recallBtn',
  //     name: '撤回',
  //   },
  // recallBtn: {
  //   emits: {
  //     onClick: (role) => handleRecall(role),
  //   },
@@ -190,11 +177,7 @@
  //       ),
  //   },
  // },
  // {
  //   data: {
  //     enCode: 'settleAuditBtn',
  //     name: '结算审核',
  //   },
  // settleAuditBtn: {
  //   emits: {
  //     onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role.id, 'settlement'),
  //   },
@@ -202,11 +185,7 @@
  //     hide: (role: API.GetSettlementTasksQueryResultItem) => role.auditStatus !== null,
  //   },
  // },
  {
    data: {
      enCode: 'detailBtn',
      name: '详情',
    },
  detailBtn: {
    emits: {
      onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role.id),
    },
@@ -215,11 +194,7 @@
    //     role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Wait,
    // },
  },
  {
    data: {
      enCode: 'exportBtn',
      name: '导出',
    },
  exportBtn: {
    emits: {
      onClick: (role) => handleRowExport(role),
    },
@@ -231,7 +206,11 @@
        ),
    },
  },
]);
};
const { column, operationBtns, checkSubModuleItemShow } = useAccess({
  operationBtnMap,
});
const router = useRouter();
src/views/ServiceChargeManage/constants/columns.ts
@@ -1,176 +1,5 @@
import { defineColumns } from '@bole-core/components';
export const ServiceChargeManageColumns = defineColumns([
  {
    id: '1',
    enCode: 'name',
    name: '所属任务',
  },
  {
    id: '2',
    enCode: 'code',
    name: '任务单号',
  },
  {
    id: '3',
    enCode: 'checkReceiveStatus',
    name: '验收状态',
  },
  // {
  //   id: '4',
  //   enCode: 'settlementOrderStatus',
  //   name: '结算单状态',
  // },
  {
    id: '4',
    enCode: 'settlementCode',
    name: '结算单号',
  },
  {
    id: '4',
    enCode: 'supplierEnterpriseName',
    name: '供应商',
  },
  {
    id: '5',
    enCode: 'settlementAccess',
    name: '结算方式',
  },
  // {
  //   id: '5',
  //   enCode: 'settlementOrderName',
  //   name: '结算单名称',
  // },
  // {
  //   id: '6',
  //   enCode: 'settlementOrderTime',
  //   name: '上传时间',
  // },
  {
    id: '7',
    enCode: 'actualSettlementAmount',
    name: '实发金额',
  },
  {
    id: '8',
    enCode: 'settlementAmount',
    name: '结算金额',
  },
  // {
  //   id: '9',
  //   enCode: 'auditStatus',
  //   name: '审核状态',
  // },
  {
    id: '10',
    enCode: 'settlementStatus',
    name: '结算状态',
  },
  {
    id: '11',
    enCode: 'createdTime',
    name: '创建时间',
  },
  {
    id: '12',
    enCode: 'settlementTime',
    name: '结算时间',
  },
  {
    id: '13',
    enCode: 'operator',
    name: '操作人',
  },
  {
    id: '14',
    enCode: 'settlementRemark',
    name: '备注',
  },
]);
export const SettlementListColumns = defineColumns([
  {
    id: '1',
    enCode: 'name',
    name: '姓名',
  },
  {
    id: '2',
    enCode: 'identity',
    name: '身份证号',
  },
  {
    id: '3',
    enCode: 'contactPhoneNumber',
    name: '手机号',
  },
  {
    id: '4',
    enCode: 'bank',
    name: '所属银行',
  },
  {
    id: '5',
    enCode: 'bankBranch',
    name: '所属支行',
  },
  {
    id: '6',
    enCode: 'receiveAccount',
    name: '收款帐户',
  },
  // {
  //   id: '7',
  //   enCode: 'totalWorkHours',
  //   name: '累计工时(小时)',
  // },
  {
    id: '7-1',
    enCode: 'serviceFee',
    name: '服务费(元)',
  },
  {
    id: '7-2',
    enCode: 'timeoutHours',
    name: '超时(小时)',
  },
  {
    id: '7-3',
    enCode: 'timeoutFee',
    name: '超时费用(元)',
  },
  {
    id: '7-4',
    enCode: 'otherFee',
    name: '其他费用(元)',
  },
  {
    id: '8',
    enCode: 'settlementAmount',
    name: '结算金额',
  },
  {
    id: '9',
    enCode: 'actualSettlementAmount',
    name: '实发金额',
  },
  {
    id: '10',
    enCode: 'settlementReceiveStatus',
    name: '到账状态',
  },
  {
    id: '11',
    enCode: 'settlementTime',
    name: '结算时间',
  },
  {
    id: '12',
    enCode: 'remark',
    name: '备注',
  },
]);
export const BalanceManageColumns = defineColumns([
  {
    id: '1',
src/views/SupplierManage/SupplierManageList.vue
@@ -32,11 +32,7 @@
          </QueryFilterItem>
        </template>
      </ProTableQueryFilterBar>
      <ProTableV2
        v-bind="proTableProps"
        :columns="SupplierManageColumns"
        :show-operation-column="false"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :show-operation-column="false">
      </ProTableV2>
    </AppContainer>
  </LoadingLayout>
@@ -54,7 +50,6 @@
  FieldRadio,
} from '@bole-core/components';
import * as enterpriseServices from '@/services/api/enterprise';
import { SupplierManageColumns } from './constants';
import {
  EnumEnterpriseCooperationStatusText,
  EnumEnterpriseCooperationSignStatusText,
@@ -64,17 +59,11 @@
  name: 'SupplierManageList',
});
// const operationBtns = defineOperationBtns([
//   {
//     data: {
//       enCode: 'detailBtn',
//       name: '详情',
//     },
//     emits: {
//       onClick: (role) => openDialog(role),
//     },
//   },
// ]);
const operationBtnMap: Record<string, OperationBtnType> = {};
const { column, operationBtns } = useAccess({
  operationBtnMap,
});
const router = useRouter();
const BaseState = {
src/views/UserManage/UserManageList.vue
@@ -14,14 +14,16 @@
          </QueryFilterItem>
        </template>
        <template #btn>
          <el-button @click="openDialog()" icon="Plus" type="primary">新增</el-button>
          <el-button
            v-if="checkSubModuleItemShow('pageButton', 'addBtn')"
            @click="openDialog()"
            icon="Plus"
            type="primary"
            >新增</el-button
          >
        </template>
      </ProTableQueryFilterBar>
      <ProTableV2
        v-bind="proTableProps"
        :columns="UserManageColumns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
        <template #status="{ row }">
          <FieldSwitch
            v-model="row.status"
@@ -56,7 +58,6 @@
  FieldSwitch,
} from '@bole-core/components';
import * as userServices from '@/services/api/user';
import { UserManageColumns } from './constants';
import { EnumUserStatus, EnumUserStatusText } from '@/constants';
import { ModelValueType } from 'element-plus';
import { Message } from '@bole-core/core';
@@ -68,41 +69,27 @@
  name: 'UserManageList',
});
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'editBtn',
      name: '编辑',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  editBtn: {
    emits: {
      onClick: (role) => openDialog(role),
    },
  },
  {
    data: {
      enCode: 'resetPasswordBtn',
      name: '重置密码',
    },
    props: {
      type: 'danger',
    },
  resetPasswordBtn: {
    emits: {
      onClick: (role) => openResetPasswordDialog(role),
    },
  },
  {
    data: {
      enCode: 'resetOperatorPasswordBtn',
      name: '重置操作密码',
    },
    props: {
      type: 'danger',
    },
  resetOperatorPasswordBtn: {
    emits: {
      onClick: (role) => openResetOperatorPasswordDialog(role),
    },
  },
]);
};
const { column, operationBtns, checkSubModuleItemShow } = useAccess({
  operationBtnMap,
});
const router = useRouter();
const BaseState = {
src/views/UserManage/constants/columns.ts
File was deleted
src/views/UserManage/constants/index.ts
File was deleted