|  | @@ -1,25 +1,53 @@
 | 
	
		
			
				|  |  |  <script setup lang="tsx">
 | 
	
		
			
				|  |  |  import { ref } from 'vue';
 | 
	
		
			
				|  |  | -import type { InternalRowData } from 'naive-ui/es/data-table/src/interface';
 | 
	
		
			
				|  |  |  import { fetchGetPointsList, fetchImportPoints } from '@/service/api/government/points';
 | 
	
		
			
				|  |  |  import { useTable } from '@/components/zt/Table/hooks/useTable';
 | 
	
		
			
				|  |  |  import { useModal } from '@/components/zt/Modal/hooks/useModal';
 | 
	
		
			
				|  |  |  import type { ModalMethods } from '@/components/zt/Modal/types';
 | 
	
		
			
				|  |  |  import type { FormSchema } from '@/components/zt/Form/types/form';
 | 
	
		
			
				|  |  |  const importTemplateRef = ref<ModalMethods>();
 | 
	
		
			
				|  |  | -const columns: NaiveUI.TableColumn<InternalRowData>[] = [
 | 
	
		
			
				|  |  | +const ModalColumns: NaiveUI.TableColumn<Api.government.PointsRecharge>[] = [
 | 
	
		
			
				|  |  |    {
 | 
	
		
			
				|  |  | -    key: 'name',
 | 
	
		
			
				|  |  | -    title: '标签名称',
 | 
	
		
			
				|  |  | -    align: 'center',
 | 
	
		
			
				|  |  | -    minWidth: 100
 | 
	
		
			
				|  |  | +    key: 'channelName',
 | 
	
		
			
				|  |  | +    title: '所属企业',
 | 
	
		
			
				|  |  | +    align: 'center'
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  {
 | 
	
		
			
				|  |  | +    key: 'userName',
 | 
	
		
			
				|  |  | +    title: '员工姓名',
 | 
	
		
			
				|  |  | +    align: 'center'
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  {
 | 
	
		
			
				|  |  | +    key: 'userPhone',
 | 
	
		
			
				|  |  | +    title: '员工手机号',
 | 
	
		
			
				|  |  | +    align: 'center'
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  {
 | 
	
		
			
				|  |  | +    key: 'points',
 | 
	
		
			
				|  |  | +    title: '充值积分',
 | 
	
		
			
				|  |  | +    align: 'center'
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  {
 | 
	
		
			
				|  |  | +    key: 'expiryDate',
 | 
	
		
			
				|  |  | +    title: '过期日期',
 | 
	
		
			
				|  |  | +    align: 'center'
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  {
 | 
	
		
			
				|  |  | +    key: 'createTime',
 | 
	
		
			
				|  |  | +    title: '创建时间',
 | 
	
		
			
				|  |  | +    align: 'center'
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  ];
 | 
	
		
			
				|  |  |  const searchSchemas: FormSchema[] = [
 | 
	
		
			
				|  |  |    {
 | 
	
		
			
				|  |  | -    field: 'name',
 | 
	
		
			
				|  |  | +    field: 'channelName',
 | 
	
		
			
				|  |  |      label: '企业名称',
 | 
	
		
			
				|  |  |      component: 'NInput'
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  {
 | 
	
		
			
				|  |  | +    field: 'userPhone',
 | 
	
		
			
				|  |  | +    label: '员工手机号',
 | 
	
		
			
				|  |  | +    component: 'NInput'
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  ];
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -33,11 +61,11 @@ const [registerTable] = useTable({
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    tableConfig: {
 | 
	
		
			
				|  |  |      keyField: 'id',
 | 
	
		
			
				|  |  | -    title: '标签列表',
 | 
	
		
			
				|  |  | +    title: '充值积分',
 | 
	
		
			
				|  |  |      showAddButton: false
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  });
 | 
	
		
			
				|  |  | -const [registerModalTable] = useTable({
 | 
	
		
			
				|  |  | +const [registerModalTable, { refresh: refreshModal }] = useTable({
 | 
	
		
			
				|  |  |    searchFormConfig: {
 | 
	
		
			
				|  |  |      schemas: searchSchemas,
 | 
	
		
			
				|  |  |      inline: false,
 | 
	
	
		
			
				|  | @@ -47,20 +75,23 @@ const [registerModalTable] = useTable({
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    tableConfig: {
 | 
	
		
			
				|  |  |      keyField: 'id',
 | 
	
		
			
				|  |  | -    title: '标签列表',
 | 
	
		
			
				|  |  | -    showAddButton: false
 | 
	
		
			
				|  |  | +    title: '积分列表',
 | 
	
		
			
				|  |  | +    showAddButton: false,
 | 
	
		
			
				|  |  | +    minHeight: 400
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const [registerModal, { openModal }] = useModal({
 | 
	
		
			
				|  |  |    title: '充值积分',
 | 
	
		
			
				|  |  |    height: 800,
 | 
	
		
			
				|  |  | -  showFooter: false
 | 
	
		
			
				|  |  | +  showFooter: false,
 | 
	
		
			
				|  |  | +  width: 1200
 | 
	
		
			
				|  |  |  });
 | 
	
		
			
				|  |  |  async function handleSubmitImport(file: File) {
 | 
	
		
			
				|  |  |    const { error } = await fetchImportPoints(file);
 | 
	
		
			
				|  |  |    if (!error) {
 | 
	
		
			
				|  |  |      importTemplateRef.value?.closeModal();
 | 
	
		
			
				|  |  | +    refreshModal();
 | 
	
		
			
				|  |  |    } else {
 | 
	
		
			
				|  |  |      importTemplateRef.value?.setSubLoading(false);
 | 
	
		
			
				|  |  |    }
 | 
	
	
		
			
				|  | @@ -72,19 +103,27 @@ function handleOpenPoints() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  |    <LayoutTable>
 | 
	
		
			
				|  |  | -    <ZTable :show-table-action="false" :columns="columns" :api="fetchGetPointsList" @register="registerTable">
 | 
	
		
			
				|  |  | +    <ZTable :show-table-action="false" :columns="ModalColumns" :api="fetchGetPointsList" @register="registerTable">
 | 
	
		
			
				|  |  |        <template #prefix>
 | 
	
		
			
				|  |  |          <NButton size="small" @click="openModal">充值积分</NButton>
 | 
	
		
			
				|  |  |        </template>
 | 
	
		
			
				|  |  |      </ZTable>
 | 
	
		
			
				|  |  |      <BasicModal @register="registerModal">
 | 
	
		
			
				|  |  | -      <ZTable :show-table-action="false" :columns="columns" :api="fetchGetPointsList" @register="registerModalTable">
 | 
	
		
			
				|  |  | -        <template #prefix>
 | 
	
		
			
				|  |  | -          <NButton size="small" @click="handleOpenPoints">导入积分</NButton>
 | 
	
		
			
				|  |  | -          <NButton size="small">导入记录</NButton>
 | 
	
		
			
				|  |  | -        </template>
 | 
	
		
			
				|  |  | -      </ZTable>
 | 
	
		
			
				|  |  | +      <LayoutTable>
 | 
	
		
			
				|  |  | +        <ZTable
 | 
	
		
			
				|  |  | +          :show-table-action="false"
 | 
	
		
			
				|  |  | +          :columns="ModalColumns"
 | 
	
		
			
				|  |  | +          :api="fetchGetPointsList"
 | 
	
		
			
				|  |  | +          @register="registerModalTable"
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +          <template #prefix>
 | 
	
		
			
				|  |  | +            <NButton size="small" @click="handleOpenPoints">导入积分</NButton>
 | 
	
		
			
				|  |  | +            <NButton size="small">导入记录</NButton>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </ZTable>
 | 
	
		
			
				|  |  | +      </LayoutTable>
 | 
	
		
			
				|  |  |      </BasicModal>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      <ZImportTemplate
 | 
	
		
			
				|  |  |        ref="importTemplateRef"
 | 
	
		
			
				|  |  |        url="/platform/pointsRecharge/exportTemplate"
 |