任重 3 kuukautta sitten
vanhempi
commit
d78305fdc1

+ 27 - 21
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)
@@ -244,21 +244,27 @@ defineExpose({
                   ? []
                   : modelValue[prop]?.split(',').map((it) => ({ url: it })),
             }"
-            @change="({ fileList }) => {
-  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(',');
-}"
-            :before-remove="({file,fileList,resolve}) =>{
-              resolve(true)
-              modelValue[prop] = fileList.map(({ url }) => url).join(',');
-            }"
+            @change="
+              ({ fileList }) => {
+                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(',')
+              }
+            "
+            :before-remove="
+              ({ file, fileList, resolve }) => {
+                resolve(true)
+                modelValue[prop] = fileList.map(({ url }) => url).join(',')
+              }
+            "
           ></wd-upload>
           <wd-button
             v-if="type === 'Submit'"

+ 20 - 0
packages/merchant/src/pages/agent/designer/archives/award/imgs.vue

@@ -0,0 +1,20 @@
+<route lang="json">
+{ "style": { "navigationBarTitleText": "个人照片", "navigationBarBackgroundColor": "#fff" } }
+</route>
+<script setup lang="ts">
+const urlsStr = ref()
+const urls = computed(() => urlsStr.value?.split(','))
+onLoad((query?: Record<string | 'id', string>) => {
+  urlsStr.value = query?.urls
+})
+</script>
+
+<template>
+  <div class="flex-grow bg-white grid grid-cols-2 gap-4 p-4">
+    <template v-for="(it, index) in urls" :key="index">
+      <div><wd-img width="100%" mode="widthFix" :src="it" :enable-preview="true"></wd-img></div>
+    </template>
+  </div>
+</template>
+
+<style scoped lang="scss"></style>

+ 3 - 1
packages/merchant/src/pages/agent/designer/archives/basic-info/index.vue

@@ -104,8 +104,10 @@ const schema = ref<
     labelWidth: 120,
     props: {
       columns: [
+        { label: '不愿意', value: 3 },
         { label: '一般', value: 1 },
-        { label: '强烈', value: 2 },
+        { label: '愿意', value: 2 },
+        { label: '非常愿意', value: 4 },
       ],
     },
   },

+ 12 - 3
packages/merchant/src/pages/agent/designer/archives/index.vue

@@ -308,14 +308,14 @@ onShow(async () => {
                   }"
                 ></DataRender>
               </template>
-              <template v-else-if="key === 'imageUrl'">
+              <!-- <template v-else-if="key === 'imageUrl'">
                 <DataRender
                   v-bind="{
                     type: 'img',
                     value: value,
                   }"
                 ></DataRender>
-              </template>
+              </template> -->
               <template v-else-if="key === 'retryStatus'">
                 <DataRender
                   v-bind="{
@@ -335,12 +335,21 @@ onShow(async () => {
                     type: 'Select',
                     value: value,
                     options: [
+                      { label: '不愿意', value: 3 },
                       { label: '一般', value: 1 },
-                      { label: '强烈', value: 3 },
+                      { label: '愿意', value: 2 },
+                      { label: '非常愿意', value: 4 },
                     ],
                   }"
                 ></DataRender>
               </template>
+              <template v-else-if="key === 'imageUrl'">
+                <SectionHeading
+                  end-arrow
+                  :path="`/pages/agent/designer/archives/award/imgs?urls=${basicData['imageUrl'] ?? ''}`"
+                ></SectionHeading>
+              </template>
+
               <template v-else>
                 <DataRender v-bind="{ type: 'Original', value: value }"></DataRender>
               </template>