From 450bcae3cfffe9923dc09dea2a4e89312bb373d7 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 31 七月 2026 15:01:03 +0800
Subject: [PATCH] 库存流水修改

---
 yudao-module-infra/src/main/resources/codegen/vue3_admin_uniapp/views/form/index.vue.vm |  156 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 110 insertions(+), 46 deletions(-)

diff --git a/yudao-module-infra/src/main/resources/codegen/vue3_admin_uniapp/views/form/index.vue.vm b/yudao-module-infra/src/main/resources/codegen/vue3_admin_uniapp/views/form/index.vue.vm
index f163144..6c13045 100644
--- a/yudao-module-infra/src/main/resources/codegen/vue3_admin_uniapp/views/form/index.vue.vm
+++ b/yudao-module-infra/src/main/resources/codegen/vue3_admin_uniapp/views/form/index.vue.vm
@@ -9,7 +9,7 @@
 
     <!-- 琛ㄥ崟鍖哄煙 -->
     <view>
-      <wd-form ref="formRef" :model="formData" :rules="formRules">
+      <wd-form ref="formRef" :model="formData" :schema="formSchema">
         <wd-cell-group border>
 #foreach($column in $columns)
   #if (($column.createOperation || $column.updateOperation) && !$column.primaryKey)
@@ -25,10 +25,23 @@
     #elseif ($javaType == "Boolean")
       #set ($dictMethod = "getBoolDictOptions")
     #end
-    ## 浼樺厛鍒ゆ柇鏄惁鏈夊瓧鍏革紝鏈夊瓧鍏稿垯浣跨敤 radio-group
-    #if (($column.htmlType == "select" || $column.htmlType == "radio") && $dictType && "" != $dictType)
-          <wd-cell title="${comment}" title-width="180rpx" prop="${javaField}" center>
-            <wd-radio-group v-model="formData.${javaField}" shape="button">
+    ## 涓嬫媺閫夋嫨锛堝瓧鍏革級鈫� yd-form-picker锛屽唴閮ㄦ寜 dictType 瑙f瀽閫夐」锛岄�傚悎閫夐」杈冨
+    #if ($column.htmlType == "select" && $dictType && "" != $dictType)
+          <yd-form-picker
+            v-model="formData.${javaField}"
+            label="${comment}"
+            label-width="180rpx"
+            prop="${javaField}"
+            :dict-type="DICT_TYPE.${dictType.toUpperCase()}"
+#if ($javaType == "String")
+            dict-kind="str"
+#end
+            placeholder="璇烽�夋嫨${comment}"
+          />
+    ## 鍗曢�夛紙瀛楀吀锛夆啋 radio-group锛岄�傚悎閫夐」杈冨皯
+    #elseif ($column.htmlType == "radio" && $dictType && "" != $dictType)
+          <wd-form-item title="${comment}" title-width="180rpx" prop="${javaField}" center>
+            <wd-radio-group v-model="formData.${javaField}" type="button">
               <wd-radio
                 v-for="dict in $dictMethod(DICT_TYPE.${dictType.toUpperCase()})"
                 :key="dict.value"
@@ -37,54 +50,78 @@
                 {{ dict.label }}
               </wd-radio>
             </wd-radio-group>
-          </wd-cell>
+          </wd-form-item>
     ## 鏁板瓧绫诲瀷锛堟棤瀛楀吀锛�
     #elseif (${javaType.toLowerCase()} == "long" || ${javaType.toLowerCase()} == "integer" || ${javaType.toLowerCase()} == "short" || ${javaType.toLowerCase()} == "double" || ${javaType.toLowerCase()} == "bigdecimal" || ${javaType.toLowerCase()} == "byte")
-          <wd-cell title="${comment}" title-width="180rpx" prop="${javaField}" center>
+          <wd-form-item title="${comment}" title-width="180rpx" prop="${javaField}">
             <wd-input-number
               v-model="formData.${javaField}"
+#if (${javaType.toLowerCase()} == "double" || ${javaType.toLowerCase()} == "bigdecimal")
+              :precision="2"
+              input-type="number"
+#end
               :min="0"
             />
-          </wd-cell>
+          </wd-form-item>
     ## 甯冨皵绫诲瀷
     #elseif (${javaType.toLowerCase()} == "boolean")
-          <wd-cell title="${comment}" title-width="180rpx" prop="${javaField}" center>
+          <wd-form-item title="${comment}" title-width="180rpx" prop="${javaField}" center>
             <wd-switch v-model="formData.${javaField}" />
-          </wd-cell>
+          </wd-form-item>
     ## 鏃ユ湡鏃堕棿绫诲瀷
     #elseif (${javaType.toLowerCase()} == "date" || ${javaType.toLowerCase()} == "localdate" || ${javaType.toLowerCase()} == "localdatetime")
       #set ($pickerType = "date")
       #if (${javaType.toLowerCase()} == "localdatetime")
         #set ($pickerType = "datetime")
       #end
+          <wd-form-item
+            title="${comment}"
+            title-width="180rpx"
+            prop="${javaField}"
+            is-link
+#if ($pickerType == "datetime")
+            :value="formatDateTime(formData.${javaField})"
+#else
+            :value="formatDate(formData.${javaField})"
+#end
+            placeholder="璇烽�夋嫨${comment}"
+            @click="${javaField}Visible = true"
+          />
           <wd-datetime-picker
             v-model="formData.${javaField}"
+            v-model:visible="${javaField}Visible"
             type="${pickerType}"
-            label="${comment}"
-            label-width="180rpx"
-            prop="${javaField}"
           />
     ## 鏂囨湰鍩�
     #elseif ($column.htmlType == "textarea")
-          <wd-textarea
-            v-model="formData.${javaField}"
-            label="${comment}"
-            label-width="180rpx"
-            placeholder="璇疯緭鍏�${comment}"
-            :maxlength="200"
-            show-word-limit
-            clearable
-          />
+          <wd-form-item title="${comment}" title-width="180rpx" prop="${javaField}">
+            <wd-textarea
+              v-model="formData.${javaField}"
+              clearable
+              placeholder="璇疯緭鍏�${comment}"
+              :maxlength="200"
+              show-word-limit
+            />
+          </wd-form-item>
+    ## 鍥剧墖涓婁紶 鈫� yd-upload-img锛堝寘 wd-form-item 鎵嶈兘娉ㄥ唽鍒� wd-form 鍋氭牎楠�/閿欒灞曠ず锛�
+    #elseif ($column.htmlType == "imageUpload")
+          <wd-form-item title="${comment}" title-width="180rpx" prop="${javaField}">
+            <yd-upload-img v-model="formData.${javaField}" directory="${table.moduleName}/${table.businessName}" />
+          </wd-form-item>
+    ## 鏂囦欢涓婁紶 鈫� yd-upload-file
+    #elseif ($column.htmlType == "fileUpload")
+          <wd-form-item title="${comment}" title-width="180rpx" prop="${javaField}">
+            <yd-upload-file v-model="formData.${javaField}" directory="${table.moduleName}/${table.businessName}" />
+          </wd-form-item>
     ## 榛樿锛氭枃鏈緭鍏�
     #else
-          <wd-input
-            v-model="formData.${javaField}"
-            label="${comment}"
-            label-width="180rpx"
-            prop="${javaField}"
-            clearable
-            placeholder="璇疯緭鍏�${comment}"
-          />
+          <wd-form-item title="${comment}" title-width="180rpx" prop="${javaField}">
+            <wd-input
+              v-model="formData.${javaField}"
+              clearable
+              placeholder="璇疯緭鍏�${comment}"
+            />
+          </wd-form-item>
     #end
   #end
 #end
@@ -107,7 +144,7 @@
 </template>
 
 <script lang="ts" setup>
-import type { FormInstance } from 'wot-design-uni/components/wd-form/types'
+import type { FormInstance } from '@wot-ui/ui/components/wd-form/types'
 #set ($primaryJavaType = $primaryColumn.javaType.toLowerCase())
 #if(${primaryJavaType} == "long" || ${primaryJavaType} == "integer" || ${primaryJavaType} == "short" || ${primaryJavaType} == "double" || ${primaryJavaType} == "bigdecimal" || ${primaryJavaType} == "byte")
 #set ($primaryTsType = "number")
@@ -115,6 +152,8 @@
 #set ($primaryTsType = "string")
 #end
 #set ($hasDict = 0)
+#set ($hasDate = 0)
+#set ($hasDateTime = 0)
 #set ($hasGetDictOptions = 0)
 #set ($hasGetIntDictOptions = 0)
 #set ($hasGetStrDictOptions = 0)
@@ -124,22 +163,30 @@
       && ($column.htmlType == "select" || $column.htmlType == "radio")
       && $column.dictType && "" != $column.dictType)
     #set ($hasDict = 1)
-    #if ($column.javaType == "Integer" || $column.javaType == "Long" || $column.javaType == "Byte" || $column.javaType == "Short")
+    #if ($column.htmlType == "radio" && ($column.javaType == "Integer" || $column.javaType == "Long" || $column.javaType == "Byte" || $column.javaType == "Short"))
       #set ($hasGetIntDictOptions = 1)
-    #elseif ($column.javaType == "String")
+    #elseif ($column.htmlType == "radio" && $column.javaType == "String")
       #set ($hasGetStrDictOptions = 1)
-    #elseif ($column.javaType == "Boolean")
+    #elseif ($column.htmlType == "radio" && $column.javaType == "Boolean")
       #set ($hasGetBoolDictOptions = 1)
-    #else
+    #elseif ($column.htmlType == "radio")
       #set ($hasGetDictOptions = 1)
     #end
+  #end
+  #if (($column.createOperation || $column.updateOperation) && !$column.primaryKey
+      && (${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdate"))
+    #set ($hasDate = 1)
+  #end
+  #if (($column.createOperation || $column.updateOperation) && !$column.primaryKey
+      && ${column.javaType.toLowerCase()} == "localdatetime")
+    #set ($hasDateTime = 1)
   #end
 #end
 import type { ${simpleClassName} } from '@/api/${table.moduleName}/${table.businessName}'
 import { computed, onMounted, ref } from 'vue'
-import { useToast } from 'wot-design-uni'
+import { useToast } from '@wot-ui/ui/components/wd-toast'
 import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${table.businessName}'
-#if ($hasDict == 1)
+#if ($hasGetDictOptions == 1 || $hasGetIntDictOptions == 1 || $hasGetStrDictOptions == 1 || $hasGetBoolDictOptions == 1)
   #set ($dictImportNames = "")
   #if ($hasGetDictOptions == 1)
     #set ($dictImportNames = "${dictImportNames}getDictOptions, ")
@@ -157,10 +204,23 @@
   #set ($dictImportNames = $dictImportNames.substring(0, $dictImportNames.length() - 1))
 import { $dictImportNames } from '@/hooks/useDict'
 #end
-import { navigateBackPlus } from '@/utils'
+import { delay, navigateBackPlus } from '@/utils'
 #if ($hasDict == 1)
 import { DICT_TYPE } from '@/utils/constants'
 #end
+#if ($hasDate == 1 || $hasDateTime == 1)
+  #set ($dateImportNames = "")
+  #if ($hasDate == 1)
+    #set ($dateImportNames = "${dateImportNames}formatDate, ")
+  #end
+  #if ($hasDateTime == 1)
+    #set ($dateImportNames = "${dateImportNames}formatDateTime, ")
+  #end
+  #set ($dateImportNames = $dateImportNames.trim())
+  #set ($dateImportNames = $dateImportNames.substring(0, $dateImportNames.length() - 1))
+import { $dateImportNames } from '@/utils/date'
+#end
+import { createFormSchema } from '@/utils/wot'
 
 const props = defineProps<{
   id?: ${primaryTsType} | any
@@ -175,7 +235,7 @@
 
 const toast = useToast()
 const getTitle = computed(() => props.id ? '缂栬緫${table.classComment}' : '鏂板${table.classComment}')
-const formLoading = ref(false)
+const formLoading = ref(false) // 琛ㄥ崟鎻愪氦鐘舵��
 const formData = ref<${simpleClassName}>({
 #foreach($column in $columns)
   #if (($column.createOperation || $column.updateOperation) || $column.primaryKey)
@@ -195,8 +255,13 @@
     #end
   #end
 #end
-})
-const formRules = {
+}) // 琛ㄥ崟鏁版嵁
+#foreach($column in $columns)
+  #if (($column.createOperation || $column.updateOperation) && !$column.primaryKey && (${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdate" || ${column.javaType.toLowerCase()} == "localdatetime"))
+const ${column.javaField}Visible = ref(false) // ${column.columnComment}閫夋嫨鍣ㄧ姸鎬�
+  #end
+#end
+const formSchema = createFormSchema({
 #foreach($column in $columns)
   #set ($javaFieldLower = $column.javaField.toLowerCase())
   #if (($column.createOperation || $column.updateOperation) && !$column.nullable && !$column.primaryKey
@@ -204,8 +269,8 @@
   ${column.javaField}: [{ required: true, message: '${column.columnComment}涓嶈兘涓虹┖' }],
   #end
 #end
-}
-const formRef = ref<FormInstance>()
+}) // 琛ㄥ崟鏍¢獙瑙勫垯
+const formRef = ref<FormInstance>() // 琛ㄥ崟缁勪欢寮曠敤
 
 /** 杩斿洖涓婁竴椤� */
 function handleBack() {
@@ -236,9 +301,8 @@
       await create${simpleClassName}(formData.value)
       toast.success('鏂板鎴愬姛')
     }
-    setTimeout(() => {
-      handleBack()
-    }, 500)
+    uni.$emit('${table.moduleName}:${table.businessName}:reload')
+    delay(handleBack)
   } finally {
     formLoading.value = false
   }

--
Gitblit v1.9.3