Kaynağa Gözat

优化显示

wangwei 4 yıl önce
ebeveyn
işleme
01dc8f0dc6

+ 5 - 1
src/views/admin/admin/data.ts

@@ -129,7 +129,11 @@ export function getFormConfig(): Partial<FormProps> {
       {
         field: `logintime`,
         label: `最后登录`,
-        component: 'DatePicker',
+        component: 'RangePicker',
+        componentProps: {
+          placeholder: '最后登录',
+          showTime: true,
+        },
         colProps: {
           xl: 12,
           xxl: 8,

+ 39 - 6
src/views/admin/admin/index.vue

@@ -140,11 +140,6 @@
               if (!params.filter) {
                 params.filter = {};
               }
-              if (params.logintime) {
-                params.logintime = moment(params.logintime).format('YYYY-MM-DD');
-              } else {
-                delete params.logintime;
-              }
               params.filter[k] = params[k];
               delete params[k];
             }
@@ -299,8 +294,46 @@
       // 导出
       function defaultHeader({ filename, bookType }: ExportModalResult) {
         // 默认Object.keys(data[0])作为header
+        const jsondata = getTableAction().getDataSource();
+        const excelData: object[] = [];
+        jsondata.map((item, i) => {
+          let data = {
+            No: 0,
+            id: '',
+            username: '',
+            nickname: '',
+            groups: '',
+            email: '',
+            status: '',
+            logintime: '',
+          };
+          data.No = i + 1;
+          data.id = item.id;
+          data.username = item.username;
+          data.nickname = item.nickname;
+          item.groups.map((group, i) => {
+            data.groups += group.name;
+            if (i < item.groups.length - 1) {
+              data.groups += ',';
+            }
+          });
+          data.email = item.email;
+          data.status = item.status === 'normal' ? '启用' : '停用';
+          data.logintime = moment(item.logintime * 1000).format('YYYY-MM-DD HH:mm:ss');
+          excelData.push(data);
+        });
         jsonToSheetXlsx({
-          data: getTableAction().getDataSource(),
+          data: excelData,
+          header: {
+            No: 'No.',
+            id: 'ID',
+            username: '用户名',
+            nickname: '昵称',
+            groups: '所属组别',
+            email: '邮箱',
+            status: '状态',
+            logintime: '最后登录',
+          },
           filename,
           write2excelOpts: {
             bookType,

+ 1 - 19
src/views/admin/group/index.vue

@@ -21,7 +21,6 @@
           <a-button type="primary" @click="toggleRowShow">{{ btn_text }}</a-button>
           <a-button type="primary" @click="addGroupFn"> 添加 </a-button>
           <a-button color="error" :disabled="disable_btn" @click="deleteBatches"> 删除 </a-button>
-          <a-button @click="openModal"> 导出 </a-button>
         </div>
       </template>
       <template #action="{ record, column }">
@@ -40,7 +39,6 @@
   import { columns } from './data';
   import { useUserStore } from '/@/store/modules/user';
   import { useMessage } from '/@/hooks/web/useMessage';
-  import { jsonToSheetXlsx, ExpExcelModel, ExportModalResult } from '/@/components/Excel';
   import { Modal } from 'ant-design-vue';
   import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
   import {
@@ -78,7 +76,7 @@
 
   export default defineComponent({
     name: 'Group',
-    components: { CollapseContainer, BasicTable, TableAction, Popup, ExpExcelModel },
+    components: { CollapseContainer, BasicTable, TableAction, Popup },
     setup() {
       const userStore = useUserStore();
       const groups = userStore.getUserInfo.groups as Group[];
@@ -126,7 +124,6 @@
         showIndexColumn: false,
         bordered: true,
       });
-      const [register, { openModal }] = useModal();
       const [addRegister, { openModal: openPopup }] = useModal();
 
       function beforeFetch(params) {
@@ -281,18 +278,6 @@
         }
       }
 
-      // 导出
-      function defaultHeader({ filename, bookType }: ExportModalResult) {
-        // 默认Object.keys(data[0])作为header
-        jsonToSheetXlsx({
-          data: getTableAction().getDataSource(),
-          filename,
-          write2excelOpts: {
-            bookType,
-          },
-        });
-      }
-
       function createActions(record: EditRecordRow): ActionItem[] {
         if (record.pid === 0 || group_ids.includes(record.id)) {
           return [
@@ -336,9 +321,6 @@
         addRegister,
         saveData,
         ExpandAllRows,
-        defaultHeader,
-        openModal,
-        register,
         ...toRefs(btn),
       };
     },

+ 1 - 19
src/views/admin/rule/index.vue

@@ -22,7 +22,6 @@
           <a-button type="primary" @click="toggleRowShow">{{ btn_text }}</a-button>
           <a-button type="primary" @click="addRuleFn"> 添加 </a-button>
           <a-button color="error" :disabled="disable_btn" @click="deleteBatches"> 删除 </a-button>
-          <a-button @click="openModal"> 导出 </a-button>
         </div>
       </template>
       <template #action="{ record, column }">
@@ -49,7 +48,6 @@
     deleteBatchesRule,
     getRuleById,
   } from '/@/api/sys/user';
-  import { jsonToSheetXlsx, ExpExcelModel, ExportModalResult } from '/@/components/Excel';
   import { Modal } from 'ant-design-vue';
   import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
   import {
@@ -74,7 +72,7 @@
 
   export default defineComponent({
     name: 'Rule',
-    components: { CollapseContainer, BasicTable, TableAction, Popup, ExpExcelModel },
+    components: { CollapseContainer, BasicTable, TableAction, Popup },
     setup() {
       const { reloadMenu } = usePermission();
       const { createMessage } = useMessage();
@@ -114,7 +112,6 @@
         bordered: true,
       });
 
-      const [register, { openModal }] = useModal();
       const [addRegister, { openModal: openAdd }] = useModal();
 
       function beforeFetch(params) {
@@ -287,18 +284,6 @@
         console.log(`pre_el`, pre_el.innerText);
       }
 
-      // 导出
-      function defaultHeader({ filename, bookType }: ExportModalResult) {
-        // 默认Object.keys(data[0])作为header
-        jsonToSheetXlsx({
-          data: getTableAction().getDataSource(),
-          filename,
-          write2excelOpts: {
-            bookType,
-          },
-        });
-      }
-
       function createActions(record: EditRecordRow): ActionItem[] {
         return [
           {
@@ -332,9 +317,6 @@
         saveData,
         ExpandAllRows,
         toggleRowShow,
-        defaultHeader,
-        openModal,
-        register,
         dragRow,
         ...toRefs(btn),
       };