Procházet zdrojové kódy

📦 按要求增加细节功能

快乐的梦鱼 před 1 týdnem
rodič
revize
08b0705665

+ 2 - 1
src/components/dynamicf/Map/MapPointPicker.vue

@@ -1,5 +1,5 @@
 <template>
-  <div :style="{ width, height }">
+  <div :style="{ width, height }" class="map-point-picker">
     <img src="./Maker.png" />
     <span class="lonlat">{{ center[0] }}, {{ center[1] }}</span>
     <el-amap
@@ -71,6 +71,7 @@ defineExpose({
 <style scoped>
 div {
   position: relative;
+  border: 1px solid #ccc;
 }
 .lonlat {
   position: absolute;

+ 34 - 4
src/pages/forms/ich.vue

@@ -12,7 +12,7 @@
 </template>
 
 <script setup lang="ts">
-import { ref, type Ref } from 'vue';
+import { h, ref, type Ref } from 'vue';
 import { useImageSimpleUploadCo } from '@/common/upload/ImageUploadCo';
 import Form from './form.vue';
 import InheritorContent, { IchExpandInfo, IchInfo } from '@/api/inheritor/InheritorContent';
@@ -23,6 +23,7 @@ import { useBeforeUploadImageChecker, useBeforeUploadVideoChecker, type UploadIm
 import type { AddressItem } from '@/components/dynamicf/Map/AddressSercher.vue';
 import { useAuthStore } from '@/stores/auth';
 import { useAliOssUploadCo } from '@/common/upload/AliOssUploadCo';
+import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
 
 const authStore = useAuthStore();
 const formRef = ref();
@@ -71,10 +72,23 @@ const formOptions = ref<IDynamicFormOptions>({
             loadData: async () => (await CommonContent.getCategoryList(289)).map(p => ({ label: p.title, value: p.id, raw: p }))
           },
         },
-        { label: '申报区域', name: 'declarationRegion', type: 'text', disabled: true, additionalProps: { placeholder: '请输入申报地区' } },
+        { label: '申报区域', name: 'regionText', type: 'text', disabled: true, additionalProps: { placeholder: '请输入申报地区' } },
         
         { label: '非遗项目简介', name: 'intro', type: 'richtext', additionalProps: { placeholder: '请输入简介' } },
-        { label: '传承谱系', name: 'pedigree', type: 'richtext', additionalProps: { placeholder: '请输入传承谱系' } },
+        { 
+          label: '传承谱系', name: 'pedigree', type: 'richtext', 
+          additionalProps: { placeholder: '请输入传承谱系' },
+          formProps: {
+            extra: h('div', { class: 'd-flex flex-row align-items-start mt-2' }, [
+              h(ExclamationCircleOutlined),
+              h('pre', { class: 'ms-2' }, `请按传承脉络顺序填写:
+1、传承人:姓名(附简短介绍,如技艺特长/代表成就)
+2、传承代数:标注第几代(示例:第五代传人)
+3、师从关系:明确师承对象(如:师从第四代传人XXX)
+注:信息需真实可考,传承脉络清晰有序`),
+            ]),
+          },
+        },
         //{ label: '非遗详细描述', name: 'description', type: 'richtext', additionalProps: { placeholder: '请输入项目描述' } },
         //{ label: '传承值', name: 'heritage', type: 'text', additionalProps: { placeholder: '请输入传承值' } },
         
@@ -89,7 +103,15 @@ const formOptions = ref<IDynamicFormOptions>({
             },
           }
         },
-        { label: '地图坐标', name: 'lonlat', type: 'map-pick-point' },
+        { 
+          label: '地图坐标', name: 'lonlat', type: 'map-pick-point',
+          formProps: {
+            extra: h('div', {}, [
+              h(ExclamationCircleOutlined),
+              h('span', { class: 'ms-2' }, '输入模糊地址后可以点击搜索跳转到指定位置,如果地图位置不正确,可以手动调整位置'),
+            ]),
+          },
+        },
         
         {
           type: 'simple-flat', label: '', name: 'map',
@@ -153,11 +175,19 @@ const formOptions = ref<IDynamicFormOptions>({
           hidden: { callback: (_, model) => authStore.loginType !== 1 },
           additionalProps: {
             options: [
+              { text: '审核退回', value: -1 },
               { text: '暂未审核', value: 0 },
               { text: '初审通过', value: 1 },
             ],
           }
         },
+        { 
+          label: '审核意见', name: 'comment', type: 'text-area',
+          disabled: { callback: (_, model) => authStore.loginType !== 1 },
+          additionalProps: {
+            placeholder: '若审核不通过,请输入审核意见',
+          }
+        },
       ]
     },
     /* {