|
|
@@ -22,7 +22,6 @@
|
|
|
class="mb-24rpx overflow-hidden rounded-12rpx bg-white shadow-sm"
|
|
|
@click="handleDetail(item)"
|
|
|
>
|
|
|
- <!-- TODO @AI:下面的 view 部分代码,缩进可能不太对; -->
|
|
|
<view class="p-24rpx">
|
|
|
#set ($titleField = "")
|
|
|
#set ($statusField = "")
|
|
|
@@ -37,23 +36,38 @@
|
|
|
#set ($statusDictType = $column.dictType)
|
|
|
#end
|
|
|
#end
|
|
|
+ #if ($titleField == "")
|
|
|
+ #set ($titleField = $primaryColumn.javaField)
|
|
|
+ #end
|
|
|
<view class="mb-16rpx flex items-center justify-between">
|
|
|
<view class="text-32rpx text-[#333] font-semibold">
|
|
|
- {{ item.#if($titleField != "")${titleField}#else ${primaryColumn.javaField}#end }}
|
|
|
+ {{ item.${titleField} }}
|
|
|
</view>
|
|
|
#if($statusField != "")
|
|
|
- <dict-tag :type="DICT_TYPE.$statusDictType.toUpperCase()" :value="item.$statusField" />
|
|
|
+ <dict-tag :type="DICT_TYPE.${statusDictType.toUpperCase()}" :value="item.${statusField}" />
|
|
|
#end
|
|
|
</view>
|
|
|
-#set ($infoCount = 0)
|
|
|
#foreach($column in $columns)
|
|
|
#if ($column.listOperationResult && !$column.primaryKey && $column.javaField != $titleField && $column.javaField != $statusField)
|
|
|
- #if ($infoCount < 2)
|
|
|
- <view class="mb-12rpx flex items-center text-28rpx text-[#666]">
|
|
|
- <text class="mr-8rpx text-[#999]">${column.columnComment}:</text>
|
|
|
- <text class="line-clamp-1">{{ item.${column.javaField} }}</text>
|
|
|
- </view>
|
|
|
- #set ($infoCount = $infoCount + 1)
|
|
|
+ #set ($javaField = $column.javaField)
|
|
|
+ #set ($comment = $column.columnComment)
|
|
|
+ #set ($dictType = $column.dictType)
|
|
|
+ #set ($javaType = $column.javaType)
|
|
|
+ #if ($dictType && "" != $dictType)
|
|
|
+ <view class="mb-12rpx flex items-center text-28rpx text-[#666]">
|
|
|
+ <text class="mr-8rpx text-[#999]">${comment}:</text>
|
|
|
+ <dict-tag :type="DICT_TYPE.${dictType.toUpperCase()}" :value="item.${javaField}" />
|
|
|
+ </view>
|
|
|
+ #elseif ($javaType == "LocalDateTime")
|
|
|
+ <view class="mb-12rpx flex items-center text-28rpx text-[#666]">
|
|
|
+ <text class="mr-8rpx text-[#999]">${comment}:</text>
|
|
|
+ <text class="line-clamp-1">{{ formatDateTime(item.${javaField}) || '-' }}</text>
|
|
|
+ </view>
|
|
|
+ #else
|
|
|
+ <view class="mb-12rpx flex items-center text-28rpx text-[#666]">
|
|
|
+ <text class="mr-8rpx text-[#999]">${comment}:</text>
|
|
|
+ <text class="line-clamp-1">{{ item.${javaField} }}</text>
|
|
|
+ </view>
|
|
|
#end
|
|
|
#end
|
|
|
#end
|
|
|
@@ -83,6 +97,20 @@
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
+#set ($hasDict = 0)
|
|
|
+#foreach($column in $columns)
|
|
|
+ #if ($hasDict == 0 && $column.listOperationResult && $column.dictType && "" != $column.dictType)
|
|
|
+ #set ($hasDict = 1)
|
|
|
+ #end
|
|
|
+#end
|
|
|
+#set ($hasDateTime = 0)
|
|
|
+#foreach($column in $columns)
|
|
|
+ #if ($column.listOperationResult)
|
|
|
+ #if ($hasDateTime == 0 && $column.javaType == "LocalDateTime")
|
|
|
+ #set ($hasDateTime = 1)
|
|
|
+ #end
|
|
|
+ #end
|
|
|
+#end
|
|
|
import type { SearchFormData } from './components/search-form.vue'
|
|
|
import type { ${simpleClassName} } from '@/api/${table.moduleName}/${table.businessName}'
|
|
|
import type { LoadMoreState } from '@/http/types'
|
|
|
@@ -91,16 +119,13 @@ import { onMounted, reactive, ref } from 'vue'
|
|
|
import { get${simpleClassName}Page } from '@/api/${table.moduleName}/${table.businessName}'
|
|
|
import { useAccess } from '@/hooks/useAccess'
|
|
|
import { navigateBackPlus } from '@/utils'
|
|
|
-import SearchForm from './components/search-form.vue'
|
|
|
-#set ($hasDict = 0)
|
|
|
-#foreach($column in $columns)
|
|
|
- #if ($hasDict == 0 && $column.listOperationResult && $column.dictType && "" != $column.dictType)
|
|
|
- #set ($hasDict = 1)
|
|
|
- #end
|
|
|
-#end
|
|
|
#if ($hasDict == 1)
|
|
|
import { DICT_TYPE } from '@/utils/constants'
|
|
|
#end
|
|
|
+#if ($hasDateTime == 1)
|
|
|
+import { formatDateTime } from '@/utils/date'
|
|
|
+#end
|
|
|
+import SearchForm from './components/search-form.vue'
|
|
|
|
|
|
definePage({
|
|
|
style: {
|
|
|
@@ -112,8 +137,7 @@ definePage({
|
|
|
const { hasAccessByCodes } = useAccess()
|
|
|
const total = ref(0)
|
|
|
const list = ref<${simpleClassName}[]>([])
|
|
|
-const loadMoreState = ref<LoadMoreState>('loading') // 加载更多状态
|
|
|
-
|
|
|
+const loadMoreState = ref<LoadMoreState>('loading')
|
|
|
const queryParams = reactive({
|
|
|
pageNo: 1,
|
|
|
pageSize: 10,
|
|
|
@@ -201,7 +225,7 @@ function handleAdd() {
|
|
|
/** 查看详情 */
|
|
|
function handleDetail(item: ${simpleClassName}) {
|
|
|
uni.navigateTo({
|
|
|
- url: '/pages-${table.moduleName}/${table.businessName}/detail/index?id=' + item.${primaryColumn.javaField},
|
|
|
+ url: `/pages-${table.moduleName}/${table.businessName}/detail/index?id=#[[${]]#item.${primaryColumn.javaField}#[[}]]#`,
|
|
|
})
|
|
|
}
|
|
|
|