Browse Source

添加搜索

wangwei 4 years ago
parent
commit
ce39c8c42e

+ 16 - 80
src/views/member/member/customCom/person/data.ts

@@ -13,11 +13,13 @@ export const columns: BasicColumn[] = [
       prefix: '$',
     },
     width: 100,
+    sorter: true,
   },
   {
     title: '姓名',
     dataIndex: 'name',
     width: 130,
+    sorter: true,
   },
   {
     title: '性别',
@@ -27,11 +29,13 @@ export const columns: BasicColumn[] = [
       const options = ['男', '女'];
       return options[record.gender];
     },
+    sorter: true,
   },
   {
     title: '籍贯',
     dataIndex: 'origin',
     width: 150,
+    sorter: true,
   },
   {
     title: '出生年月',
@@ -40,6 +44,7 @@ export const columns: BasicColumn[] = [
     customRender({ record }) {
       return moment(record.birthday).format('YYYY-MM-DD');
     },
+    sorter: true,
   },
   {
     title: '党派',
@@ -49,36 +54,43 @@ export const columns: BasicColumn[] = [
       const options = ['无', '民革', '民盟', '民建', '民进', '农工', '致公党', '九三学社', '台盟'];
       return options[record.party];
     },
+    sorter: true,
   },
   {
     title: '民族',
     dataIndex: 'nation',
     width: 160,
+    sorter: true,
   },
   {
     title: '单位',
     dataIndex: 'company',
     width: 160,
+    sorter: true,
   },
   {
     title: '人大职务',
     dataIndex: 'peopleJob',
     width: 160,
+    sorter: true,
   },
   {
     title: '政协职务',
     dataIndex: 'cppccJob',
     width: 160,
+    sorter: true,
   },
   {
     title: '社会职务',
     dataIndex: 'job',
     width: 160,
+    sorter: true,
   },
   {
     title: '联系方式',
     dataIndex: 'mobile',
     width: 160,
+    sorter: true,
   },
 ];
 
@@ -265,87 +277,11 @@ export function getFormConfig(): Partial<FormProps> {
         },
       },
       {
-        field: `sort`,
-        label: `排序字段`,
-        component: 'Select',
-        componentProps: {
-          placeholder: '排序字段',
-          options: [
-            {
-              label: 'ID',
-              value: 'id',
-              key: 'id',
-            },
-            {
-              label: '姓名',
-              value: 'name',
-              key: 'name',
-            },
-            {
-              label: '性别',
-              value: 'gender',
-              key: 'gender',
-            },
-            {
-              label: '籍贯',
-              value: 'origin',
-              key: 'origin',
-            },
-            {
-              label: '党派',
-              value: 'party',
-              key: 'party',
-            },
-            {
-              label: '民族',
-              value: 'nation',
-              key: 'nation',
-            },
-            {
-              label: '单位',
-              value: 'company',
-              key: 'company',
-            },
-            {
-              label: '人大职务',
-              value: 'peopleJob',
-              key: 'peopleJob',
-            },
-            {
-              label: '政协职务',
-              value: 'cppccJob',
-              key: 'cppccJob',
-            },
-            {
-              label: '社会职务',
-              value: 'job',
-              key: 'job',
-            },
-          ],
-        },
-        colProps: {
-          xl: 12,
-          xxl: 8,
-        },
-      },
-      {
-        field: `order`,
-        label: `排序方式`,
-        component: 'Select',
+        field: `mobile`,
+        label: `联系方式`,
+        component: 'Input',
         componentProps: {
-          placeholder: '排序方式',
-          options: [
-            {
-              label: '升序',
-              value: 'asc',
-              key: 'order',
-            },
-            {
-              label: '降序',
-              value: 'desc',
-              key: 'order',
-            },
-          ],
+          placeholder: '联系方式',
         },
         colProps: {
           xl: 12,

+ 33 - 2
src/views/member/member/customCom/person/index.vue

@@ -24,6 +24,7 @@
   import { useModal } from '/@/components/Modal';
   import { getFormConfig, columns } from './data';
   import { getPersonList, addPerson } from '/@/api/sys/member';
+  import moment from 'moment';
   import {
     BasicTable,
     useTable,
@@ -46,6 +47,12 @@
         clickToRowSelect: false, // 点击行不勾选
         api: getPersonList,
         useSearchForm: true,
+        showTableSetting: true,
+        tableSetting: {
+          redo: false,
+          size: false,
+        },
+        beforeFetch: beforeFetch,
         afterFetch: afterFetch,
         formConfig: getFormConfig(),
         actionColumn: {
@@ -69,6 +76,29 @@
         return tableAction;
       }
 
+      function beforeFetch(params) {
+        for (let k in params) {
+          if (k !== 'page' && k !== 'pageSize' && k !== 'field' && k !== 'order') {
+            if (params[k] === '') {
+              delete params[k];
+            } else {
+              if (!params.filter) {
+                params.filter = {};
+              }
+              if (params.birthday) {
+                params.birthday = moment(params.birthday).format('YYYY-MM-DD');
+              }
+              params.filter[k] = params[k];
+              delete params[k];
+            }
+          }
+        }
+        params.filter = JSON.stringify(params.filter);
+        params.offset = params.page;
+        params.limit = params.pageSize;
+        delete params.page;
+        delete params.pageSize;
+      }
       function afterFetch(result) {
         console.log(`result`, result);
         // tableData.result = result;
@@ -121,7 +151,8 @@
   .ant-calendar-picker {
     width: 100%;
   }
-  @media (max-width: 639px) {
+
+  /* @media (max-width: 639px) {
     .sys-container .vben-basic-table-header__toolbar > * {
       padding: 6px !important;
       margin-right: 3px;
@@ -131,5 +162,5 @@
     .sys-container .vben-basic-table .ant-table-wrapper {
       padding: 3px;
     }
-  }
+  } */
 </style>

+ 17 - 62
src/views/member/member/customCom/unit/data.ts

@@ -12,16 +12,19 @@ export const columns: BasicColumn[] = [
       prefix: '$',
     },
     width: 100,
+    sorter: true,
   },
   {
     title: '企业名称',
     dataIndex: 'name',
     width: 130,
+    sorter: true,
   },
   {
     title: '法人代表',
     dataIndex: 'legalman',
     width: 130,
+    sorter: true,
   },
   {
     title: '成立时间',
@@ -30,11 +33,13 @@ export const columns: BasicColumn[] = [
     customRender({ record }) {
       return moment(record.foundingtime).format('YYYY-MM-DD');
     },
+    sorter: true,
   },
   {
     title: '工商登记号',
     dataIndex: 'businessNo',
     width: 350,
+    sorter: true,
   },
   {
     title: '单位性质',
@@ -53,21 +58,25 @@ export const columns: BasicColumn[] = [
       ];
       return options[record.nature];
     },
+    sorter: true,
   },
   {
     title: '行业分类',
     dataIndex: 'job',
     width: 160,
+    sorter: true,
   },
   {
     title: '注册资金',
     dataIndex: 'regMoney',
     width: 160,
+    sorter: true,
   },
   {
     title: '职工人数',
     dataIndex: 'jobnum',
     width: 160,
+    sorter: true,
   },
 ];
 
@@ -194,53 +203,11 @@ export function getFormConfig(): Partial<FormProps> {
         },
       },
       {
-        field: `sort`,
-        label: `排序字段`,
-        component: 'Select',
+        field: `regMoney`,
+        label: `注册资金`,
+        component: 'Input',
         componentProps: {
-          placeholder: '排序字段',
-          options: [
-            {
-              label: 'ID',
-              value: 'id',
-              key: 'id',
-            },
-            {
-              label: '企业名称',
-              value: 'name',
-              key: 'name',
-            },
-            {
-              label: '法人代表',
-              value: 'legalman',
-              key: 'legalman',
-            },
-            {
-              label: '工商登记号',
-              value: 'businessNo',
-              key: 'businessNo',
-            },
-            {
-              label: '单位性质',
-              value: 'nature',
-              key: 'nature',
-            },
-            {
-              label: '行业分类',
-              value: 'job',
-              key: 'job',
-            },
-            {
-              label: '注册资金',
-              value: 'regMoney',
-              key: 'regMoney',
-            },
-            {
-              label: '职工人数',
-              value: 'jobnum',
-              key: 'jobnum',
-            },
-          ],
+          placeholder: '注册资金',
         },
         colProps: {
           xl: 12,
@@ -248,23 +215,11 @@ export function getFormConfig(): Partial<FormProps> {
         },
       },
       {
-        field: `order`,
-        label: `排序方式`,
-        component: 'Select',
+        field: `jobnum`,
+        label: `职工人数`,
+        component: 'Input',
         componentProps: {
-          placeholder: '排序方式',
-          options: [
-            {
-              label: '升序',
-              value: 'asc',
-              key: 'order',
-            },
-            {
-              label: '降序',
-              value: 'desc',
-              key: 'order',
-            },
-          ],
+          placeholder: '职工人数',
         },
         colProps: {
           xl: 12,

+ 32 - 11
src/views/member/member/customCom/unit/index.vue

@@ -24,6 +24,7 @@
   import { useModal } from '/@/components/Modal';
   import { getFormConfig, columns } from './data';
   import { getUnitList, addUnit } from '/@/api/sys/member';
+  import moment from 'moment';
   import {
     BasicTable,
     useTable,
@@ -46,6 +47,12 @@
         clickToRowSelect: false, // 点击行不勾选
         api: getUnitList,
         useSearchForm: true,
+        showTableSetting: true,
+        tableSetting: {
+          redo: false,
+          size: false,
+        },
+        beforeFetch: beforeFetch,
         afterFetch: afterFetch,
         formConfig: getFormConfig(),
         actionColumn: {
@@ -69,6 +76,31 @@
         return tableAction;
       }
 
+      // 请求之前处理参数
+      function beforeFetch(params) {
+        for (let k in params) {
+          if (k !== 'page' && k !== 'pageSize' && k !== 'field' && k !== 'order') {
+            if (params[k] === '') {
+              delete params[k];
+            } else {
+              if (!params.filter) {
+                params.filter = {};
+              }
+              if (params.foundingtime) {
+                params.foundingtime = moment(params.foundingtime).format('YYYY-MM-DD');
+              }
+              params.filter[k] = params[k];
+              delete params[k];
+            }
+          }
+        }
+        params.filter = JSON.stringify(params.filter);
+        params.offset = params.page;
+        params.limit = params.pageSize;
+        delete params.page;
+        delete params.pageSize;
+      }
+
       function afterFetch(result) {
         console.log(`result`, result);
         // tableData.result = result;
@@ -121,15 +153,4 @@
   .ant-calendar-picker {
     width: 100%;
   }
-  @media (max-width: 639px) {
-    .sys-container .vben-basic-table-header__toolbar > * {
-      padding: 6px !important;
-      margin-right: 3px;
-      font-size: 12px !important;
-    }
-
-    .sys-container .vben-basic-table .ant-table-wrapper {
-      padding: 3px;
-    }
-  }
 </style>

+ 9 - 83
src/views/member/member/data.ts

@@ -15,11 +15,13 @@ export const columns: BasicColumn[] = [
       prefix: '$',
     },
     width: 100,
+    sorter: true,
   },
   {
     title: '姓名(名称)',
     dataIndex: 'name',
     width: 100,
+    sorter: true,
   },
   {
     title: '会员身份',
@@ -29,6 +31,7 @@ export const columns: BasicColumn[] = [
       const options = ['个人', '单位'];
       return options[record.status];
     },
+    sorter: true,
   },
   {
     title: '职务',
@@ -38,6 +41,7 @@ export const columns: BasicColumn[] = [
       const options = ['会长', '副会长', '秘书长', '副秘书长', '理事', '会员'];
       return options[record.duty];
     },
+    sorter: true,
   },
   {
     title: '入会时间',
@@ -46,26 +50,31 @@ export const columns: BasicColumn[] = [
     customRender({ record }) {
       return moment(record.foundingtime).format('YYYY-MM-DD');
     },
+    sorter: true,
   },
   {
     title: '当年会费',
     dataIndex: 'current',
     width: 200,
+    sorter: true,
   },
   {
     title: '去年会费',
     dataIndex: 'party',
     width: 150,
+    sorter: true,
   },
   {
     title: '当年参会率',
     dataIndex: 'nation',
     width: 130,
+    sorter: true,
   },
   {
     title: '去年参会率',
     dataIndex: 'company',
     width: 130,
+    sorter: true,
   },
 ];
 
@@ -177,89 +186,6 @@ export function getFormConfig(): Partial<FormProps> {
           xxl: 8,
         },
       },
-      {
-        field: `sort`,
-        label: `排序字段`,
-        component: 'Select',
-        componentProps: {
-          placeholder: '排序字段',
-          options: [
-            {
-              label: 'ID',
-              value: 'id',
-              key: 'id',
-            },
-            {
-              label: '姓名(名称)',
-              value: 'name',
-              key: 'name',
-            },
-            {
-              label: '会员身份',
-              value: 'status',
-              key: 'status',
-            },
-            {
-              label: '职务',
-              value: 'duty',
-              key: 'duty',
-            },
-            {
-              label: '入会时间',
-              value: 'jointime',
-              key: 'jointime',
-            },
-            {
-              label: '当年会费',
-              value: 'logintime',
-              key: 'logintime',
-            },
-            {
-              label: '去年会费',
-              value: 'logintime',
-              key: 'logintime',
-            },
-            {
-              label: '当年参会率',
-              value: 'logintime',
-              key: 'logintime',
-            },
-            {
-              label: '去年参会率',
-              value: 'logintime',
-              key: 'logintime',
-            },
-          ],
-        },
-        colProps: {
-          xl: 12,
-          xxl: 8,
-        },
-      },
-      {
-        field: `order`,
-        label: `排序方式`,
-        component: 'Select',
-        componentProps: {
-          placeholder: '排序方式',
-          options: [
-            {
-              label: '升序',
-              value: 'asc',
-              key: 'order',
-            },
-            {
-              label: '降序',
-              value: 'desc',
-              key: 'order',
-            },
-          ],
-        },
-        colProps: {
-          xl: 12,
-          xxl: 8,
-        },
-      },
     ],
   };
 }

+ 31 - 12
src/views/member/member/index.vue

@@ -12,7 +12,6 @@
       @selectionChange="selectionChange"
       @rowClick="rowClick"
       @rowDbClick="handleEdit"
-      showTableSetting
       :canResize="true"
       :pagination="{
         pageSize: 10,
@@ -44,6 +43,7 @@
   import { Modal } from 'ant-design-vue';
   import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
   import { getFormConfig, columns } from './data';
+  import moment from 'moment';
   import {
     getMemberList,
     addMember,
@@ -88,7 +88,13 @@
         // clickToRowSelect: false, // 点击行不勾选
         api: getMemberList,
         useSearchForm: true,
+        beforeFetch: beforeFetch,
         afterFetch: afterFetch,
+        showTableSetting: true,
+        tableSetting: {
+          redo: false,
+          size: false,
+        },
         formConfig: getFormConfig(),
         actionColumn: {
           width: 160,
@@ -110,6 +116,30 @@
         }
         return tableAction;
       }
+      // 请求之前处理参数
+      function beforeFetch(params) {
+        for (let k in params) {
+          if (k !== 'page' && k !== 'pageSize' && k !== 'field' && k !== 'order' && k !== 'name') {
+            if (params[k] === '') {
+              delete params[k];
+            } else {
+              if (!params.filter) {
+                params.filter = {};
+              }
+              if (params.jointime) {
+                params.jointime = moment(params.jointime).format('YYYY-MM-DD');
+              }
+              params.filter[k] = params[k];
+              delete params[k];
+            }
+          }
+        }
+        params.filter = JSON.stringify(params.filter);
+        params.offset = params.page;
+        params.limit = params.pageSize;
+        delete params.page;
+        delete params.pageSize;
+      }
 
       function afterFetch(result) {
         console.log(`result`, result);
@@ -263,15 +293,4 @@
   .ant-calendar-picker {
     width: 100%;
   }
-  @media (max-width: 639px) {
-    .sys-container .vben-basic-table-header__toolbar > * {
-      padding: 6px !important;
-      margin-right: 3px;
-      font-size: 12px !important;
-    }
-
-    .sys-container .vben-basic-table .ant-table-wrapper {
-      padding: 3px;
-    }
-  }
 </style>

+ 16 - 80
src/views/member/person/data.ts

@@ -13,11 +13,13 @@ export const columns: BasicColumn[] = [
       prefix: '$',
     },
     width: 100,
+    sorter: true,
   },
   {
     title: '姓名',
     dataIndex: 'name',
     width: 130,
+    sorter: true,
   },
   {
     title: '性别',
@@ -27,11 +29,13 @@ export const columns: BasicColumn[] = [
       const options = ['男', '女'];
       return options[record.gender];
     },
+    sorter: true,
   },
   {
     title: '籍贯',
     dataIndex: 'origin',
     width: 150,
+    sorter: true,
   },
   {
     title: '出生年月',
@@ -40,6 +44,7 @@ export const columns: BasicColumn[] = [
     customRender({ record }) {
       return moment(record.birthday).format('YYYY-MM-DD');
     },
+    sorter: true,
   },
   {
     title: '党派',
@@ -49,36 +54,43 @@ export const columns: BasicColumn[] = [
       const options = ['无', '民革', '民盟', '民建', '民进', '农工', '致公党', '九三学社', '台盟'];
       return options[record.party];
     },
+    sorter: true,
   },
   {
     title: '民族',
     dataIndex: 'nation',
     width: 160,
+    sorter: true,
   },
   {
     title: '单位',
     dataIndex: 'company',
     width: 160,
+    sorter: true,
   },
   {
     title: '人大职务',
     dataIndex: 'peopleJob',
     width: 160,
+    sorter: true,
   },
   {
     title: '政协职务',
     dataIndex: 'cppccJob',
     width: 160,
+    sorter: true,
   },
   {
     title: '社会职务',
     dataIndex: 'job',
     width: 160,
+    sorter: true,
   },
   {
     title: '联系方式',
     dataIndex: 'mobile',
     width: 160,
+    sorter: true,
   },
 ];
 
@@ -265,87 +277,11 @@ export function getFormConfig(): Partial<FormProps> {
         },
       },
       {
-        field: `sort`,
-        label: `排序字段`,
-        component: 'Select',
-        componentProps: {
-          placeholder: '排序字段',
-          options: [
-            {
-              label: 'ID',
-              value: 'id',
-              key: 'id',
-            },
-            {
-              label: '姓名',
-              value: 'name',
-              key: 'name',
-            },
-            {
-              label: '性别',
-              value: 'gender',
-              key: 'gender',
-            },
-            {
-              label: '籍贯',
-              value: 'origin',
-              key: 'origin',
-            },
-            {
-              label: '党派',
-              value: 'party',
-              key: 'party',
-            },
-            {
-              label: '民族',
-              value: 'nation',
-              key: 'nation',
-            },
-            {
-              label: '单位',
-              value: 'company',
-              key: 'company',
-            },
-            {
-              label: '人大职务',
-              value: 'peopleJob',
-              key: 'peopleJob',
-            },
-            {
-              label: '政协职务',
-              value: 'cppccJob',
-              key: 'cppccJob',
-            },
-            {
-              label: '社会职务',
-              value: 'job',
-              key: 'job',
-            },
-          ],
-        },
-        colProps: {
-          xl: 12,
-          xxl: 8,
-        },
-      },
-      {
-        field: `order`,
-        label: `排序方式`,
-        component: 'Select',
+        field: `mobile`,
+        label: `联系方式`,
+        component: 'Input',
         componentProps: {
-          placeholder: '排序方式',
-          options: [
-            {
-              label: '升序',
-              value: 'asc',
-              key: 'order',
-            },
-            {
-              label: '降序',
-              value: 'desc',
-              key: 'order',
-            },
-          ],
+          placeholder: '联系方式',
         },
         colProps: {
           xl: 12,

+ 33 - 2
src/views/member/person/index.vue

@@ -44,6 +44,7 @@
   import { Modal } from 'ant-design-vue';
   import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
   import { getFormConfig, columns } from './data';
+  import moment from 'moment';
   import {
     getPersonList,
     addPerson,
@@ -88,6 +89,11 @@
         // clickToRowSelect: false, // 点击行不勾选
         api: getPersonList,
         useSearchForm: true,
+        tableSetting: {
+          redo: false,
+          size: false,
+        },
+        beforeFetch: beforeFetch,
         afterFetch: afterFetch,
         formConfig: getFormConfig(),
         actionColumn: {
@@ -110,6 +116,30 @@
         }
         return tableAction;
       }
+      // 请求之前处理
+      function beforeFetch(params) {
+        for (let k in params) {
+          if (k !== 'page' && k !== 'pageSize' && k !== 'field' && k !== 'order') {
+            if (params[k] === '') {
+              delete params[k];
+            } else {
+              if (!params.filter) {
+                params.filter = {};
+              }
+              if (params.birthday) {
+                params.birthday = moment(params.birthday).format('YYYY-MM-DD');
+              }
+              params.filter[k] = params[k];
+              delete params[k];
+            }
+          }
+        }
+        params.filter = JSON.stringify(params.filter);
+        params.offset = params.page;
+        params.limit = params.pageSize;
+        delete params.page;
+        delete params.pageSize;
+      }
 
       function afterFetch(result) {
         console.log(`result`, result);
@@ -264,7 +294,8 @@
   .ant-calendar-picker {
     width: 100%;
   }
-  @media (max-width: 639px) {
+
+  /* @media (max-width: 639px) {
     .sys-container .vben-basic-table-header__toolbar > * {
       padding: 6px !important;
       margin-right: 3px;
@@ -274,5 +305,5 @@
     .sys-container .vben-basic-table .ant-table-wrapper {
       padding: 3px;
     }
-  }
+  } */
 </style>

+ 17 - 62
src/views/member/unit/data.ts

@@ -12,16 +12,19 @@ export const columns: BasicColumn[] = [
       prefix: '$',
     },
     width: 100,
+    sorter: true,
   },
   {
     title: '企业名称',
     dataIndex: 'name',
     width: 130,
+    sorter: true,
   },
   {
     title: '法人代表',
     dataIndex: 'legalman',
     width: 130,
+    sorter: true,
   },
   {
     title: '成立时间',
@@ -30,11 +33,13 @@ export const columns: BasicColumn[] = [
     customRender({ record }) {
       return moment(record.foundingtime).format('YYYY-MM-DD');
     },
+    sorter: true,
   },
   {
     title: '工商登记号',
     dataIndex: 'businessNo',
     width: 350,
+    sorter: true,
   },
   {
     title: '单位性质',
@@ -53,21 +58,25 @@ export const columns: BasicColumn[] = [
       ];
       return options[record.nature];
     },
+    sorter: true,
   },
   {
     title: '行业分类',
     dataIndex: 'job',
     width: 160,
+    sorter: true,
   },
   {
     title: '注册资金',
     dataIndex: 'regMoney',
     width: 160,
+    sorter: true,
   },
   {
     title: '职工人数',
     dataIndex: 'jobnum',
     width: 160,
+    sorter: true,
   },
 ];
 
@@ -194,53 +203,11 @@ export function getFormConfig(): Partial<FormProps> {
         },
       },
       {
-        field: `sort`,
-        label: `排序字段`,
-        component: 'Select',
+        field: `regMoney`,
+        label: `注册资金`,
+        component: 'Input',
         componentProps: {
-          placeholder: '排序字段',
-          options: [
-            {
-              label: 'ID',
-              value: 'id',
-              key: 'id',
-            },
-            {
-              label: '企业名称',
-              value: 'name',
-              key: 'name',
-            },
-            {
-              label: '法人代表',
-              value: 'legalman',
-              key: 'legalman',
-            },
-            {
-              label: '工商登记号',
-              value: 'businessNo',
-              key: 'businessNo',
-            },
-            {
-              label: '单位性质',
-              value: 'nature',
-              key: 'nature',
-            },
-            {
-              label: '行业分类',
-              value: 'job',
-              key: 'job',
-            },
-            {
-              label: '注册资金',
-              value: 'regMoney',
-              key: 'regMoney',
-            },
-            {
-              label: '职工人数',
-              value: 'jobnum',
-              key: 'jobnum',
-            },
-          ],
+          placeholder: '注册资金',
         },
         colProps: {
           xl: 12,
@@ -248,23 +215,11 @@ export function getFormConfig(): Partial<FormProps> {
         },
       },
       {
-        field: `order`,
-        label: `排序方式`,
-        component: 'Select',
+        field: `jobnum`,
+        label: `职工人数`,
+        component: 'Input',
         componentProps: {
-          placeholder: '排序方式',
-          options: [
-            {
-              label: '升序',
-              value: 'asc',
-              key: 'order',
-            },
-            {
-              label: '降序',
-              value: 'desc',
-              key: 'order',
-            },
-          ],
+          placeholder: '职工人数',
         },
         colProps: {
           xl: 12,

+ 39 - 30
src/views/member/unit/index.vue

@@ -5,6 +5,11 @@
     :canExpan="false"
     helpMessage="单位管理"
   >
+    <!-- <div class="search-wrap">
+      <a-button type="primary" @click="handleSearch">
+        <span class="iconify" data-icon="bi:search"></span>
+      </a-button>
+    </div> -->
     <BasicTable
       ref="tableRef"
       @register="registerTable"
@@ -12,7 +17,6 @@
       @selectionChange="selectionChange"
       @rowClick="rowClick"
       @rowDbClick="handleEdit"
-      showTableSetting
       :canResize="true"
       :pagination="{
         pageSize: 10,
@@ -44,6 +48,7 @@
   import { Modal } from 'ant-design-vue';
   import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
   import { getFormConfig, columns } from './data';
+  import moment from 'moment';
   import {
     getUnitList,
     addUnit,
@@ -79,6 +84,9 @@
       const popupData = reactive<PopupData>({
         title: '添加',
       });
+      // const state = reactive({
+      //   isSerach: false,
+      // });
       const btn = reactive<Btn>({
         disable_btn: true,
       });
@@ -87,6 +95,11 @@
         columns: columns,
         api: getUnitList,
         useSearchForm: true,
+        showTableSetting: true,
+        tableSetting: {
+          redo: false,
+          size: false,
+        },
         beforeFetch: beforeFetch,
         formConfig: getFormConfig(),
         actionColumn: {
@@ -111,35 +124,35 @@
       }
       // 请求之前处理参数
       function beforeFetch(params) {
-        console.log('==========before========');
-        console.log(params);
-        console.log('==========before========');
-
         for (let k in params) {
-          if (!params[k]) {
-            delete params[k];
+          if (k !== 'page' && k !== 'pageSize' && k !== 'field' && k !== 'order') {
+            if (params[k] === '') {
+              delete params[k];
+            } else {
+              if (!params.filter) {
+                params.filter = {};
+              }
+              if (params.foundingtime) {
+                params.foundingtime = moment(params.foundingtime).format('YYYY-MM-DD');
+              }
+              params.filter[k] = params[k];
+              delete params[k];
+            }
           }
         }
-
-        if (params.logintime) {
-          params.logintime[0] = params.logintime[0].replace(
-            /([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])/g,
-            '00:00:00'
-          );
-          params.logintime[1] = params.logintime[1].replace(
-            /([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])/g,
-            '23:59:59'
-          );
-        }
-
+        params.filter = JSON.stringify(params.filter);
         params.offset = params.page;
         params.limit = params.pageSize;
         delete params.page;
         delete params.pageSize;
       }
+      // function handleSearch() {
+      //   state.isSerach = !state.isSerach;
+      // }
 
       function addRole() {
         popupData.title = '添加';
+        console.log('------------dddd------');
         openPopup(true, {});
       }
 
@@ -284,18 +297,14 @@
   });
 </script>
 <style>
-  .ant-calendar-picker {
-    width: 100%;
+  .search-wrap {
+    display: flex;
+    width: 90%;
+    margin: 0 auto;
+    justify-content: flex-end;
   }
-  @media (max-width: 639px) {
-    .sys-container .vben-basic-table-header__toolbar > * {
-      padding: 6px !important;
-      margin-right: 3px;
-      font-size: 12px !important;
-    }
 
-    .sys-container .vben-basic-table .ant-table-wrapper {
-      padding: 3px;
-    }
+  .ant-calendar-picker {
+    width: 100%;
   }
 </style>