zhengyiming
2025-11-28 07af1dc2df71f77ad8141d2ff9c72eb7dfa244c1
src/views/CustomerManage/CustomerManage.vue
@@ -3,6 +3,24 @@
    <AppContainer>
      <ProTableQueryFilterBar @on-reset="reset">
        <template #query>
          <QueryFilterItem tip-content="合作状态">
            <FieldRadio
              v-model="extraParamState.cooperationStatus"
              :value-enum="EnumEnterpriseCooperationStatusText"
              buttonStyle
              showAllBtn
              @change="getList()"
            />
          </QueryFilterItem>
          <QueryFilterItem tip-content="签约状态">
            <FieldRadio
              v-model="extraParamState.signStatus"
              :value-enum="EnumEnterpriseCooperationSignStatusText"
              buttonStyle
              showAllBtn
              @change="getList()"
            />
          </QueryFilterItem>
          <QueryFilterItem>
            <SearchInput
              v-model="extraParamState.keywords"
@@ -15,6 +33,7 @@
        </template>
        <template #btn>
          <el-button
            v-if="checkSubModuleItemShow('pageButton', 'addBtn')"
            @click="goAddOrEdit()"
            icon="Plus"
            type="primary"
@@ -22,7 +41,7 @@
          >
        </template>
      </ProTableQueryFilterBar>
      <ProTableV2 v-bind="proTableProps" :columns="CustomerManageColumns" :operationBtns="operationBtns">
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
  </LoadingLayout>
@@ -31,7 +50,7 @@
<script setup lang="ts">
import {
  ProTableQueryFilterBar,
  OperationBtnType,
  FieldRadio,
  ProTableV2,
  SearchInput,
  LoadingLayout,
@@ -39,35 +58,35 @@
  QueryFilterItem,
  useTable,
  useFormDialog,
  defineOperationBtns
  defineOperationBtns,
} from '@bole-core/components';
import * as taskServices from '@/services/api/task';
import {CustomerManageColumns} from './constants';
import * as enterpriseServices from '@/services/api/enterprise';
import { CustomerManageColumns } from './constants';
import {
  EnumEnterpriseCooperationStatusText,
  EnumEnterpriseCooperationSignStatusText,
} from '@/constants';
defineOptions({
  name: 'CustomerManage',
});
const operationBtns=defineOperationBtns([
  {
    data: {
      enCode: 'detailBtn',
      name: '查看',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  detailBtn: {
    emits: {
      onClick: (role) => goDetail(role),
    },
  },
  {
    data: {
      enCode: 'editBtn',
      name: '编辑',
    },
  editBtn: {
    emits: {
      onClick: (role) => goAddOrEdit(role),
    },
  },
])
};
const { checkSubModuleItemShow, column, operationBtns } = useAccess({
  operationBtnMap,
});
const BaseState = {
  loading: true,
@@ -99,16 +118,18 @@
} = useTable(
  async ({ pageIndex, pageSize }, extraParamState) => {
    try {
      let params: API.GetTaskInfosQuery = {
      let params: API.GetPartyAEnterprisesQuery = {
        pageModel: {
          rows: pageSize,
          page: pageIndex,
          orderInput: extraParamState.orderInput,
        },
        keywords: extraParamState.keywords,
        cooperationStatus: extraParamState.cooperationStatus,
        signStatus: extraParamState.signStatus,
      };
      let res = await taskServices.getTaskInfos(params, {
      let res = await enterpriseServices.getPartyAEnterprises(params, {
        showLoading: !state.loading,
      });
      return res;
@@ -117,14 +138,33 @@
  {
    defaultExtraParams: {
      keywords: '',
        orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
      cooperationStatus: '' as any as EnumEnterpriseCooperationStatus,
      signStatus: '' as any as EnumEnterpriseCooperationSignStatus,
      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
    },
    queryKey: ['enterpriseServices/getPartyAEnterprises'],
    columnsRenderProps: {
      cooperationStatus: { type: 'enum', valueEnum: EnumEnterpriseCooperationStatusText },
      signStatus: { type: 'enum', valueEnum: EnumEnterpriseCooperationSignStatusText },
      serviceFeeCollectType: {
        type: 'enum',
        valueEnum: EnumEnterpriseCooperationServiceFeeCollectTypeText,
      },
      invoiceTaxPointRate: {
        formatter: (row: API.GetPartyAEnterprisesQueryResultItem) => {
          if (row.invoiceTaxPointRate) {
            return `${row.invoiceTaxPointRate}%`;
          }
          return '';
        },
      },
    },
  }
);
const router=useRouter();
const router = useRouter();
function goAddOrEdit(row?: API.GetTaskInfosQueryResultItem) {
function goAddOrEdit(row?: API.GetPartyAEnterprisesQueryResultItem) {
  router.push({
    name: 'AddOrEditCustomer',
    params: {
@@ -133,7 +173,7 @@
  });
}
function goDetail(row: API.GetTaskInfosQueryResultItem) {
function goDetail(row: API.GetPartyAEnterprisesQueryResultItem) {
  router.push({
    name: 'CustomerDetail',
    params: {