zhengyiming
2025-03-31 848b21bacd06c45ee16d8522acbce800df57b3a6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
{
  "签约工具table-page": {
    "prefix": "vue3-table-page",
    "body": [
      "<template>",
      "  <LoadingLayout :loading=\"state.loading\">",
      "    <AppContainer>",
      "      <ProTableQueryFilterBar @on-reset=\"reset\">",
      "        <template #query>",
      "          <!-- SearchInput如果需要 必须放在所有的query的最后面 -->",
      "          <QueryFilterItem>",
      "            <SearchInput",
      "              v-model=\"extraParamState.keyword\"",
      "              style=\"width: 200px\"",
      "              placeholder=\"角色名称\"",
      "              @on-click-search=\"getList\"",
      "            >",
      "            </SearchInput>",
      "          </QueryFilterItem>",
      "        </template>",
      "        <template #btn>",
      "          <el-button @click=\"openDialog()\" icon=\"Plus\" type=\"primary\">新增</el-button>",
      "        </template>",
      "      </ProTableQueryFilterBar>",
      "      <ProTableV2",
      "        v-bind=\"proTableProps\"",
      "        :columns=\"${TM_FILENAME_BASE}Columns\"",
      "        :operationBtns=\"operationBtns\"",
      "      >",
      "      </ProTableV2>",
      "    </AppContainer>",
      "  </LoadingLayout>",
      "</template>",
      "",
      "<script setup lang=\"ts\">",
      "import {",
      "  ProTableQueryFilterBar,",
      "  ProTableV2,",
      "  SearchInput,",
      "  LoadingLayout,",
      "  AppContainer,",
      "  QueryFilterItem,",
      "  useTable,",
      "  useFormDialog,",
      "  defineOperationBtns,",
      "} from '@bole-core/components';",
      "import { OrderInputType, Message } from '@bole-core/core';",
      "import * as userServices from '@/services/api/User';",
      "import { ${TM_FILENAME_BASE}Columns } from './constants';",
      "",
      "defineOptions({",
      "  name: '${TM_FILENAME_BASE}',",
      "});",
      "",
      "const operationBtns = defineOperationBtns([",
      "  {",
      "    data: {",
      "      enCode: 'editBtn',",
      "      name: '查看',",
      "    },",
      "    emits: {",
      "      onClick: (role) => openDialog(role),",
      "    },",
      "  },",
      "]);",
      "",
      "const BaseState = {",
      "  loading: true,",
      "};",
      "",
      "const state = reactive({ ...BaseState });",
      "",
      "onMounted(async () => {",
      "  await getList();",
      "  state.loading = false;",
      "});",
      "",
      "const {",
      "  //记得改方法名(选择方法名按f2) 改了删掉注释",
      "  getDataSource: getList,",
      "  proTableProps,",
      "  paginationState,",
      "  extraParamState,",
      "  reset,",
      "} = useTable(",
      "  async ({ pageIndex, pageSize }, extraParamState) => {",
      "    try {",
      "      let params: API.GetAllAttestationsInputV2 = {",
      "        pageModel: {",
      "          rows: pageSize,",
      "          page: pageIndex,",
      "          orderInput: extraParamState.orderInput,",
      "        },",
      "        queryCondition: extraParamState.keyword,",
      "      };",
      "      let res = await userServices.getAllPlatUserAttestation(params, {",
      "        showLoading: !state.loading,",
      "      });",
      "      return res;",
      "    } catch (error) {}",
      "  },",
      "  {",
      "    defaultExtraParams: {",
      "      keyword: '',",
      "      orderInput: [{ property: 'id', order: OrderInputType.Desc }],",
      "    },",
      "  }",
      ");",
      "",
      "function openDialog(row?: any) {",
      "  console.log('row: ', row);",
      "  if (row) {",
      "    handleEdit({",
      "      id: row.id,",
      "    });",
      "  } else {",
      "    handleAdd();",
      "  }",
      "}",
      "",
      "const { dialogProps, handleAdd, handleEdit, editForm } = useFormDialog({",
      "  onConfirm: handleAddOrEdit,",
      "  defaultFormParams: {",
      "    id: '',",
      "  },",
      "});",
      "",
      "async function handleAddOrEdit() {}",
      "</script>",
      "",
      "<style lang=\"scss\" scoped>",
      "@use '@/style/common.scss' as *;",
      "</style>",
      ""
    ],
    "description": ""
  }
}