|
89 | 89 | </el-dropdown> |
90 | 90 | </div> |
91 | 91 | </template> |
92 | | - <div> |
93 | | - <el-row v-if="applicationList.length > 0" :gutter="15"> |
94 | | - <template v-for="(item, index) in applicationList" :key="index"> |
95 | | - <el-col |
96 | | - v-if="item.resource_type === 'folder'" |
97 | | - :xs="24" |
98 | | - :sm="12" |
99 | | - :md="12" |
100 | | - :lg="8" |
101 | | - :xl="6" |
102 | | - class="mb-16" |
103 | | - > |
104 | | - <CardBox |
105 | | - :title="item.name" |
106 | | - :description="item.desc || $t('common.noData')" |
107 | | - class="cursor" |
108 | | - > |
109 | | - <template #icon> |
110 | | - <el-avatar shape="square" :size="32" style="background: none"> |
111 | | - <AppIcon iconName="app-folder" style="font-size: 32px"></AppIcon> |
112 | | - </el-avatar> |
113 | | - </template> |
114 | | - <template #subTitle> |
115 | | - <el-text class="color-secondary lighter" size="small"> |
116 | | - {{ $t('common.creator') }}: {{ item.username }} |
117 | | - </el-text> |
118 | | - </template> |
119 | | - </CardBox> |
120 | | - </el-col> |
121 | | - <el-col v-else :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb-16"> |
122 | | - <CardBox |
123 | | - :title="item.name" |
124 | | - :description="item.desc" |
125 | | - class="cursor" |
126 | | - @click="router.push({ path: `/application/${item.id}/${item.type}/overview` })" |
| 92 | + <div v-loading.fullscreen.lock="paginationConfig.current_page === 1 && loading"> |
| 93 | + <InfiniteScroll |
| 94 | + :size="applicationList.length" |
| 95 | + :total="paginationConfig.total" |
| 96 | + :page_size="paginationConfig.page_size" |
| 97 | + v-model:current_page="paginationConfig.current_page" |
| 98 | + @load="getList" |
| 99 | + :loading="loading" |
| 100 | + > |
| 101 | + <el-row v-if="applicationList.length > 0" :gutter="15"> |
| 102 | + <template v-for="(item, index) in applicationList" :key="index"> |
| 103 | + <el-col |
| 104 | + v-if="item.resource_type === 'folder'" |
| 105 | + :xs="24" |
| 106 | + :sm="12" |
| 107 | + :md="12" |
| 108 | + :lg="8" |
| 109 | + :xl="6" |
| 110 | + class="mb-16" |
127 | 111 | > |
128 | | - <template #icon> |
129 | | - <LogoIcon height="28px" style="width: 28px; height: 28px; display: block" /> |
130 | | - </template> |
131 | | - <template #subTitle> |
132 | | - <el-text class="color-secondary" size="small"> |
133 | | - <auto-tooltip :content="item.username"> |
| 112 | + <CardBox |
| 113 | + :title="item.name" |
| 114 | + :description="item.desc || $t('common.noData')" |
| 115 | + class="cursor" |
| 116 | + > |
| 117 | + <template #icon> |
| 118 | + <el-avatar shape="square" :size="32" style="background: none"> |
| 119 | + <AppIcon iconName="app-folder" style="font-size: 32px"></AppIcon> |
| 120 | + </el-avatar> |
| 121 | + </template> |
| 122 | + <template #subTitle> |
| 123 | + <el-text class="color-secondary lighter" size="small"> |
134 | 124 | {{ $t('common.creator') }}: {{ item.username }} |
135 | | - </auto-tooltip> |
136 | | - </el-text> |
137 | | - </template> |
138 | | - <template #tag> |
139 | | - <el-tag type="warning" v-if="isWorkFlow(item.type)" style="height: 22px"> |
140 | | - {{ $t('views.application.workflow') }} |
141 | | - </el-tag> |
142 | | - <el-tag class="blue-tag" v-else style="height: 22px"> |
143 | | - {{ $t('views.application.simple') }} |
144 | | - </el-tag> |
145 | | - </template> |
| 125 | + </el-text> |
| 126 | + </template> |
| 127 | + </CardBox> |
| 128 | + </el-col> |
| 129 | + <el-col v-else :xs="24" :sm="12" :md="12" :lg="8" :xl="6" class="mb-16"> |
| 130 | + <CardBox |
| 131 | + :title="item.name" |
| 132 | + :description="item.desc" |
| 133 | + class="cursor" |
| 134 | + @click="router.push({ path: `/application/${item.id}/${item.type}/overview` })" |
| 135 | + > |
| 136 | + <template #icon> |
| 137 | + <LogoIcon height="28px" style="width: 28px; height: 28px; display: block" /> |
| 138 | + </template> |
| 139 | + <template #subTitle> |
| 140 | + <el-text class="color-secondary" size="small"> |
| 141 | + <auto-tooltip :content="item.username"> |
| 142 | + {{ $t('common.creator') }}: {{ item.username }} |
| 143 | + </auto-tooltip> |
| 144 | + </el-text> |
| 145 | + </template> |
| 146 | + <template #tag> |
| 147 | + <el-tag type="warning" v-if="isWorkFlow(item.type)" style="height: 22px"> |
| 148 | + {{ $t('views.application.workflow') }} |
| 149 | + </el-tag> |
| 150 | + <el-tag class="blue-tag" v-else style="height: 22px"> |
| 151 | + {{ $t('views.application.simple') }} |
| 152 | + </el-tag> |
| 153 | + </template> |
146 | 154 |
|
147 | | - <template #footer> |
148 | | - <div v-if="item.is_publish" class="flex align-center"> |
149 | | - <el-icon class="color-success mr-8" style="font-size: 16px"> |
150 | | - <SuccessFilled /> |
151 | | - </el-icon> |
152 | | - <span class="color-secondary"> |
153 | | - {{ $t('views.application.status.published') }} |
154 | | - </span> |
155 | | - <el-divider direction="vertical" /> |
156 | | - <el-icon class="mr-8"><Clock /></el-icon> |
157 | | - <span class="color-secondary">{{ dateFormat(item.update_time) }}</span> |
158 | | - </div> |
159 | | - <div v-else class="flex align-center"> |
160 | | - <AppIcon iconName="app-disabled" class="color-secondary mr-8"></AppIcon> |
161 | | - <span class="color-secondary"> |
162 | | - {{ $t('views.application.status.unpublished') }} |
163 | | - </span> |
164 | | - </div> |
165 | | - </template> |
166 | | - <template #mouseEnter> |
167 | | - <div @click.stop> |
168 | | - <el-dropdown trigger="click"> |
169 | | - <el-button text @click.stop> |
170 | | - <el-icon> |
171 | | - <MoreFilled /> |
172 | | - </el-icon> |
173 | | - </el-button> |
174 | | - <template #dropdown> |
175 | | - <el-dropdown-menu> |
176 | | - <el-dropdown-item @click.stop="getAccessToken(item.id)"> |
177 | | - <AppIcon iconName="app-create-chat"></AppIcon> |
178 | | - {{ $t('views.application.operation.toChat') }} |
179 | | - </el-dropdown-item> |
180 | | - <el-dropdown-item @click.stop="settingApplication(item)"> |
181 | | - <el-icon><Setting /></el-icon> |
182 | | - {{ $t('common.setting') }} |
183 | | - </el-dropdown-item> |
184 | | - <el-dropdown-item divided @click.stop="exportApplication(item)"> |
185 | | - <AppIcon iconName="app-export"></AppIcon> |
186 | | - {{ $t('common.export') }} |
187 | | - </el-dropdown-item> |
188 | | - <el-dropdown-item |
189 | | - divided |
190 | | - icon="Delete" |
191 | | - @click.stop="deleteApplication(item)" |
192 | | - >{{ $t('common.delete') }}</el-dropdown-item |
193 | | - > |
194 | | - </el-dropdown-menu> |
195 | | - </template> |
196 | | - </el-dropdown> |
197 | | - </div> |
198 | | - </template> |
199 | | - </CardBox> |
200 | | - </el-col> |
201 | | - </template> |
202 | | - </el-row> |
203 | | - <el-empty :description="$t('common.noData')" v-else /> |
| 155 | + <template #footer> |
| 156 | + <div v-if="item.is_publish" class="flex align-center"> |
| 157 | + <el-icon class="color-success mr-8" style="font-size: 16px"> |
| 158 | + <SuccessFilled /> |
| 159 | + </el-icon> |
| 160 | + <span class="color-secondary"> |
| 161 | + {{ $t('views.application.status.published') }} |
| 162 | + </span> |
| 163 | + <el-divider direction="vertical" /> |
| 164 | + <el-icon class="mr-8"><Clock /></el-icon> |
| 165 | + <span class="color-secondary">{{ dateFormat(item.update_time) }}</span> |
| 166 | + </div> |
| 167 | + <div v-else class="flex align-center"> |
| 168 | + <AppIcon iconName="app-disabled" class="color-secondary mr-8"></AppIcon> |
| 169 | + <span class="color-secondary"> |
| 170 | + {{ $t('views.application.status.unpublished') }} |
| 171 | + </span> |
| 172 | + </div> |
| 173 | + </template> |
| 174 | + <template #mouseEnter> |
| 175 | + <div @click.stop> |
| 176 | + <el-dropdown trigger="click"> |
| 177 | + <el-button text @click.stop> |
| 178 | + <el-icon> |
| 179 | + <MoreFilled /> |
| 180 | + </el-icon> |
| 181 | + </el-button> |
| 182 | + <template #dropdown> |
| 183 | + <el-dropdown-menu> |
| 184 | + <el-dropdown-item @click.stop="getAccessToken(item.id)"> |
| 185 | + <AppIcon iconName="app-create-chat"></AppIcon> |
| 186 | + {{ $t('views.application.operation.toChat') }} |
| 187 | + </el-dropdown-item> |
| 188 | + <el-dropdown-item @click.stop="settingApplication(item)"> |
| 189 | + <el-icon><Setting /></el-icon> |
| 190 | + {{ $t('common.setting') }} |
| 191 | + </el-dropdown-item> |
| 192 | + <el-dropdown-item divided @click.stop="exportApplication(item)"> |
| 193 | + <AppIcon iconName="app-export"></AppIcon> |
| 194 | + {{ $t('common.export') }} |
| 195 | + </el-dropdown-item> |
| 196 | + <el-dropdown-item |
| 197 | + divided |
| 198 | + icon="Delete" |
| 199 | + @click.stop="deleteApplication(item)" |
| 200 | + >{{ $t('common.delete') }}</el-dropdown-item |
| 201 | + > |
| 202 | + </el-dropdown-menu> |
| 203 | + </template> |
| 204 | + </el-dropdown> |
| 205 | + </div> |
| 206 | + </template> |
| 207 | + </CardBox> |
| 208 | + </el-col> |
| 209 | + </template> |
| 210 | + </el-row> |
| 211 | + <el-empty :description="$t('common.noData')" v-else /> |
| 212 | + </InfiniteScroll> |
204 | 213 | </div> |
205 | 214 | </ContentContainer> |
206 | 215 | <CreateApplicationDialog ref="CreateApplicationDialogRef" /> |
|
0 commit comments