From eed29804d3973801f8eac3ad9bead1e608f05b6a Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期六, 20 七月 2024 22:31:56 +0800
Subject: [PATCH] 工单及自定义弹出窗口更新

---
 src/views/demo/system/account/index.vue |  166 +++++++++++++++++++++++++-----------------------------
 1 files changed, 77 insertions(+), 89 deletions(-)

diff --git a/src/views/demo/system/account/index.vue b/src/views/demo/system/account/index.vue
index 32d196c..86e0dbc 100644
--- a/src/views/demo/system/account/index.vue
+++ b/src/views/demo/system/account/index.vue
@@ -4,6 +4,7 @@
     <BasicTable @register="registerTable" class="w-3/4 xl:w-4/5" :searchInfo="searchInfo">
       <template #toolbar>
         <a-button type="primary" @click="handleCreate">鏂板璐﹀彿</a-button>
+        <a-button type="primary" @click="handleExport">瀵煎嚭璐﹀彿</a-button>
       </template>
       <template #bodyCell="{ column, record }">
         <template v-if="column.key === 'action'">
@@ -24,8 +25,7 @@
                 color: 'error',
                 tooltip: '鍒犻櫎姝よ处鍙�',
                 popConfirm: {
-                  title: '鏄惁纭鍒犻櫎?',
-              placement: 'left',
+                  title: '鏄惁纭鍒犻櫎',
                   placement: 'left',
                   confirm: handleDelete.bind(null, record),
                 },
@@ -38,101 +38,89 @@
     <AccountModal @register="registerModal" @success="handleSuccess" />
   </PageWrapper>
 </template>
-<script lang="ts">
-  import { defineComponent, reactive } from 'vue';
+<script lang="ts" setup>
+  import { reactive } from 'vue';
 
-  import { BasicTable, useTable, TableAction } from '/@/components/Table';
-  import { getAccountList } from '/@/api/demo/system';
-  import { PageWrapper } from '/@/components/Page';
+  import { BasicTable, useTable, TableAction } from '@/components/Table';
+  import { getAccountList } from '@/api/demo/system';
+  import { PageWrapper } from '@/components/Page';
   import DeptTree from './DeptTree.vue';
 
-  import { useModal } from '/@/components/Modal';
+  import { useModal } from '@/components/Modal';
   import AccountModal from './AccountModal.vue';
 
   import { columns, searchFormSchema } from './account.data';
-  import { useGo } from '/@/hooks/web/usePage';
+  import { useGo } from '@/hooks/web/usePage';
 
-  export default defineComponent({
-    name: 'AccountManagement',
-    components: { BasicTable, PageWrapper, DeptTree, AccountModal, TableAction },
-    setup() {
-      const go = useGo();
-      const [registerModal, { openModal }] = useModal();
-      const searchInfo = reactive<Recordable>({});
-      const [registerTable, { reload, updateTableDataRecord }] = useTable({
-        title: '璐﹀彿鍒楄〃',
-        api: getAccountList,
-        rowKey: 'id',
-        columns,
-        formConfig: {
-          labelWidth: 120,
-          schemas: searchFormSchema,
-          autoSubmitOnEnter: true,
-        },
-        useSearchForm: true,
-        showTableSetting: true,
-        bordered: true,
-        handleSearchInfoFn(info) {
-          console.log('handleSearchInfoFn', info);
-          return info;
-        },
-        actionColumn: {
-          width: 120,
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          // slots: { customRender: 'action' },
-        },
-      });
+  defineOptions({ name: 'AccountManagement' });
 
-      function handleCreate() {
-        openModal(true, {
-          isUpdate: false,
-        });
-      }
-
-      function handleEdit(record: Recordable) {
-        console.log(record);
-        openModal(true, {
-          record,
-          isUpdate: true,
-        });
-      }
-
-      function handleDelete(record: Recordable) {
-        console.log(record);
-      }
-
-      function handleSuccess({ isUpdate, values }) {
-        if (isUpdate) {
-          // 婕旂ず涓嶅埛鏂拌〃鏍肩洿鎺ユ洿鏂板唴閮ㄦ暟鎹��
-          // 娉ㄦ剰锛歶pdateTableDataRecord瑕佹眰琛ㄦ牸鐨剅owKey灞炴�т负string骞朵笖瀛樺湪浜庢瘡涓�琛岀殑record鐨刱eys涓�
-          const result = updateTableDataRecord(values.id, values);
-          console.log(result);
-        } else {
-          reload();
-        }
-      }
-
-      function handleSelect(deptId = '') {
-        searchInfo.deptId = deptId;
-        reload();
-      }
-
-      function handleView(record: Recordable) {
-        go('/system/account_detail/' + record.id);
-      }
-
-      return {
-        registerTable,
-        registerModal,
-        handleCreate,
-        handleEdit,
-        handleDelete,
-        handleSuccess,
-        handleSelect,
-        handleView,
-        searchInfo,
-      };
+  const go = useGo();
+  const [registerModal, { openModal }] = useModal();
+  const searchInfo = reactive<Recordable>({});
+  const [registerTable, { reload, updateTableDataRecord, getSearchInfo }] = useTable({
+    title: '璐﹀彿鍒楄〃',
+    api: getAccountList,
+    rowKey: 'id',
+    columns,
+    formConfig: {
+      labelWidth: 120,
+      schemas: searchFormSchema,
+      autoSubmitOnEnter: true,
+    },
+    useSearchForm: true,
+    showTableSetting: true,
+    bordered: true,
+    handleSearchInfoFn(info) {
+      console.log('handleSearchInfoFn', info);
+      return info;
+    },
+    actionColumn: {
+      width: 120,
+      title: '鎿嶄綔',
+      dataIndex: 'action',
+      // slots: { customRender: 'action' },
     },
   });
+
+  function handleCreate() {
+    openModal(true, {
+      isUpdate: false,
+    });
+  }
+
+  function handleEdit(record: Recordable) {
+    console.log(record);
+    openModal(true, {
+      record,
+      isUpdate: true,
+    });
+  }
+
+  function handleDelete(record: Recordable) {
+    console.log(record);
+  }
+
+  function handleExport() {
+    console.log(getSearchInfo());
+  }
+
+  function handleSuccess({ isUpdate, values }) {
+    if (isUpdate) {
+      // 婕旂ず涓嶅埛鏂拌〃鏍肩洿鎺ユ洿鏂板唴閮ㄦ暟鎹��
+      // 娉ㄦ剰锛歶pdateTableDataRecord瑕佹眰琛ㄦ牸鐨剅owKey灞炴�т负string骞朵笖瀛樺湪浜庢瘡涓�琛岀殑record鐨刱eys涓�
+      const result = updateTableDataRecord(values.id, values);
+      console.log(result);
+    } else {
+      reload();
+    }
+  }
+
+  function handleSelect(deptId = '') {
+    searchInfo.deptId = deptId;
+    reload();
+  }
+
+  function handleView(record: Recordable) {
+    go('/system/account_detail/' + record.id);
+  }
 </script>

--
Gitblit v1.9.3