Bladeren bron

基础信息上传图片

15591641157 2 maanden geleden
bovenliggende
commit
3e9db9bc89
2 gewijzigde bestanden met toevoegingen van 23 en 11 verwijderingen
  1. 7 1
      packages/app/src/pages/material/recommend/index.vue
  2. 16 10
      packages/merchant/src/components/data-form.vue

+ 7 - 1
packages/app/src/pages/material/recommend/index.vue

@@ -10,9 +10,10 @@ import { useUserStore } from '../../../store'
 import { useToast } from 'wot-design-uni'
 import { storeToRefs } from 'pinia'
 import { createMaterialsReferrer } from '../../../core/libs/requests'
-
+import {useRouter} from "@/core/utils/router";
 const { success, error } = useToast()
 const userStore = useUserStore()
+const router = useRouter()
 const { userInfo } = storeToRefs(userStore)
 const form = ref<InstanceType<typeof DataForm>>()
 const formData = ref({ referrerId: userInfo.value.userId, referrerName: userInfo.value.nickname })
@@ -24,6 +25,11 @@ const handleSubmit = async () => {
     code === 0 && success('提交成功')
     code !== 0 && error(msg)
   }
+  uni.switchTab({
+    url: `/pages/material/index`
+  });
+  // router.push(`/pages/material/index`)
+  console.log("跳转后")
 }
 const schema = {
   materialsName: {

+ 16 - 10
packages/merchant/src/components/data-form.vue

@@ -2,10 +2,10 @@
 import WdButton from 'wot-design-uni/components/wd-button/wd-button.vue'
 import WdInput from 'wot-design-uni/components/wd-input/wd-input.vue'
 import WdPicker from 'wot-design-uni/components/wd-picker/wd-picker.vue'
-import { ConfigProviderThemeVars } from 'wot-design-uni'
-import { DataFormProps, DataFormSchema } from './data-form'
-import { addUnit } from 'wot-design-uni/components/common/util'
-import { omit } from 'radash'
+import {ConfigProviderThemeVars} from 'wot-design-uni'
+import {DataFormProps, DataFormSchema} from './data-form'
+import {addUnit} from 'wot-design-uni/components/common/util'
+import {omit} from 'radash'
 import WdForm from 'wot-design-uni/components/wd-form/wd-form.vue'
 
 const types = {
@@ -85,7 +85,7 @@ const props = withDefaults(
     rules?: { [key: string]: { required: boolean; message: string }[] }
     direction?: 'horizontal' | 'vertical'
   }>(),
-  { direction: 'vertical', labelShow: true },
+  {direction: 'vertical', labelShow: true},
 )
 const emits = defineEmits(['submit'])
 const form = ref<InstanceType<typeof WdForm>>()
@@ -96,7 +96,7 @@ const submitDisabled = computed(() => {
     omit(
       modelValue.value,
       Object.entries(props.schema)
-        .filter(([_key, { required }]) => !required)
+        .filter(([_key, {required}]) => !required)
         .map(([key]) => key),
     ),
   ).some((it) => !it)
@@ -245,10 +245,16 @@ defineExpose({
                   : modelValue[prop]?.split(',').map((it) => ({ url: it })),
             }"
             @change="({ fileList }) => {
-    const newUrls = fileList.map(({ response }) => JSON.parse(response).data);
-    const existingUrls = modelValue[prop]?.split(',') ?? [];
-    modelValue[prop] = [...existingUrls, ...newUrls].join(',');
-  }"
+  const newUrls = fileList.map(({ response }) => {
+    try {
+      return JSON.parse(response).data;
+    } catch (e) {
+      return null;
+    }
+  }).filter(Boolean); // 过滤掉无效的 null 值
+  const existingUrls = modelValue[prop]?.split(',') ?? [];
+  modelValue[prop] = [...existingUrls, ...newUrls].join(',');
+}"
           ></wd-upload>
           <wd-button
             v-if="type === 'Submit'"