瀏覽代碼

📦 按要求增加细节功能

快乐的梦鱼 1 周之前
父節點
當前提交
49caa9a284
共有 2 個文件被更改,包括 39 次插入3 次删除
  1. 37 3
      src/pages/inheritor.vue
  2. 2 0
      src/stores/auth.ts

+ 37 - 3
src/pages/inheritor.vue

@@ -13,6 +13,11 @@
         <a-tabs v-model:activeKey="activeKey" centered>
           <a-tab-pane key="1" tab="非遗项目">
             <EmptyToRecord title="非遗项目" :model="ichData" @edit="router.push({ name: 'FormIch' })">
+              <a-alert v-if="true || ichData?.progress == -1" message="提交的信息被退回,您可以去修改" type="error" class="mt-3" showIcon>
+                <template #action>
+                  <a-button size="small" type="primary" @click="router.push({ name: 'FormIch' })">去修改</a-button>
+                </template>
+              </a-alert>
               <a-descriptions class="mt-3" title="非遗项目信息" v-if="ichData" bordered :column="{ xs: 1, sm: 1, md: 1, lg: 2 }">
                 <a-descriptions-item label="标题"><ShowValueOrNull :value="ichData.title" /></a-descriptions-item>
                 <a-descriptions-item label="简介" :span="3"><SimpleRichHtml :contents="[ ichData.intro ]" /></a-descriptions-item>
@@ -41,6 +46,11 @@
           </a-tab-pane>
           <a-tab-pane key="2" tab="传承人">
             <EmptyToRecord title="传承人" :model="inheritorData" @edit="router.push({ name: 'FormInheritor' })">
+              <a-alert v-if="inheritorData?.progress == -1" message="提交的信息被退回,您可以去修改" type="error" class="mt-3" showIcon>
+                <template #action>
+                  <a-button size="small" type="primary" @click="router.push({ name: 'FormInheritor' })">去修改</a-button>
+                </template>
+              </a-alert>
               <a-descriptions class="mt-3" title="传承人信息" v-if="inheritorData" bordered :column="{ xs: 1, sm: 1, md: 1, lg: 2 }">
                 <a-descriptions-item label="名字"><ShowValueOrNull :value="inheritorData.title" /></a-descriptions-item>
                 <a-descriptions-item v-if="inheritorData.image" label="头像">
@@ -75,6 +85,7 @@
           </a-tab-pane>
           <a-tab-pane key="3" tab="传习所">
             <EmptyToRecord title="传习所" :model="seminarData" @edit="router.push({ name: 'FormSeminar' })">
+              <a-alert v-if="seminarData?.progress == -1" message="提交的信息被退回,您可以去修改" type="warning" showIcon></a-alert>
               <a-descriptions class="mt-3" title="传习所信息" v-if="seminarData" bordered :column="{ xs: 1, sm: 1, md: 1, lg: 2 }">
                 <a-descriptions-item label="标题"><ShowValueOrNull :value="seminarData.title" /></a-descriptions-item>
                 <a-descriptions-item label="简介" :span="3"><SimpleRichHtml :contents="[ seminarData.desc as string ]" /></a-descriptions-item>
@@ -160,6 +171,14 @@
         </a-tabs>
       </div>
     </section>
+    <a-modal v-model:open="showInMessage" title="提示">
+      <p>尊敬的非遗传承人您好!</p>
+      <p>您手中的技艺、口中的故事,是闽南文化代代相传的 “活瑰宝”,更是咱闽南人抹不去的文化根脉。咱们建闽南文化生态数据库,就是想把这些珍贵的传承智慧好好存下来、护起来,让更多人看见,让后代能接续。</p>
+      <p>您此刻录入的每一段细节、每一句讲解,都不是简单的记录 —— 是给您的手艺留 “活档案”,更是为闽南文化的传承添 “实底气”。恳请您多费心、多细致,这份用心,才能让咱的非遗真正 “活” 在未来,传得更远!</p>
+      <template #footer>
+        <a-button key="submit" type="primary" @click="closeInMessage">好的</a-button>
+      </template>
+    </a-modal>
   </div>
 </template>
 
@@ -173,6 +192,7 @@ import SimplePointedMap from '@/components/content/SimplePointedMap.vue';
 import SimpleRichHtml from '@/components/display/SimpleRichHtml.vue';
 import ShowValueOrNull from '@/components/dynamicf/Display/ShowValueOrNull.vue';
 import EmptyToRecord from '@/components/parts/EmptyToRecord.vue';
+import { SettingsUtils } from '@imengyu/imengyu-utils';
 
 const router = useRouter();
 const route = useRoute();
@@ -181,23 +201,37 @@ const ichData = ref<IchInfo>();
 const inheritorData = ref<InheritorInfo>();
 const seminarData = ref<SeminarInfo>();
 const planData = ref<PlanInfo[]>([]);
+const showInMessage = ref(false);
 
 watch(activeKey, (newValue) => {
   router.replace({ query: { tab: newValue } });
 })
 onMounted(() => {
-  InheritorContent.getIchInfo().then(data => {
+  InheritorContent.getIchInfo(undefined).then(data => {
     ichData.value = data;
     InheritorContent.getPlanList(ichData.value.id).then(data => {
       planData.value = data;
     });
   });
-  InheritorContent.getInheritorInfo().then(data => {
+  InheritorContent.getInheritorInfo(undefined).then(data => {
     inheritorData.value = data;
+    openInMessage();
   });
-  InheritorContent.getSeminarInfo().then(data => {
+  InheritorContent.getSeminarInfo(undefined).then(data => {
     seminarData.value = data;
   });
+
 })
+
+function openInMessage() {
+  const lastTime = new Date(parseInt('' + SettingsUtils.getSettings('inheritorShowInMessageLastTime', 0)));
+  if (new Date().getTime() - lastTime.getTime() > 1000 * 3600 * 1) {
+    showInMessage.value = true;
+  }
+}
+function closeInMessage() {
+  SettingsUtils.setSettings('inheritorShowInMessageLastTime', new Date().getTime());
+  showInMessage.value = false;
+}
 </script>
 

+ 2 - 0
src/stores/auth.ts

@@ -1,4 +1,5 @@
 import UserApi, { LoginResult, UserInfo } from "@/api/auth/UserApi";
+import { SettingsUtils } from "@imengyu/imengyu-utils";
 import { defineStore } from "pinia"
 
 const STORAGE_KEY = 'authInfo';
@@ -77,6 +78,7 @@ export const useAuthStore = defineStore('auth', {
       this.userId = 0;
       this.userInfo = null;
 
+      SettingsUtils.setSettings('inheritorShowInMessageLastTime', 0);
       localStorage.removeItem(STORAGE_KEY);
     }
   },