Selaa lähdekoodia

⚙️ 修改细节问题

快乐的梦鱼 2 päivää sitten
vanhempi
commit
afbcc80d8e

+ 5 - 3
src/api/auth/UserApi.ts

@@ -26,10 +26,12 @@ export class LoginResult extends DataModel<LoginResult> {
         } 
       },
     }
-    this._nameMapperServer = {
-      userinfo: 'mainBodyUserInfo',
-    }
     this._beforeSolveServer = (self) => {
+      if (!self.mainBodyUserInfo && self.userinfo) {
+        self.mainBodyUserInfo = {
+          ...(self.userinfo as any),
+        }
+      }
       if (!self.auth && self.userinfo) {
         self.auth = {
           ...(self.userinfo as any),

+ 11 - 3
src/components/form/Field.vue

@@ -99,7 +99,7 @@
             :password="type==='password'"
             :placeholder="placeholder"
             :placeholder-style="`color: ${themeContext.resolveThemeColor(error ? errorTextColor : placeholderTextColor)}`"
-            confirm-type="done"
+            :confirm-type="confirmType"
             :rows="rows"
             :maxlength="maxLength"
             :disabled="disabled || readonly"
@@ -123,7 +123,7 @@
             :password="type==='password'"
             :placeholder="placeholder"
             :placeholder-style="`color: ${themeContext.resolveThemeColor(error ? errorTextColor : placeholderTextColor)}`"
-            confirm-type="done"
+            :confirm-type="confirmType"
             :type="selectStyleType(type, 'text', {
               text: 'text',
               password: 'text',
@@ -404,7 +404,15 @@ export interface FieldProps {
    */
   extraIcon?: string;
   extraIconProps?: IconProps;
-
+  /**
+   * send	右下角按钮为“发送”
+      search	右下角按钮为“搜索”
+      next	右下角按钮为“下一个”
+      go	右下角按钮为“前往”
+      done	右下角按钮为“完成”
+      return	右下角按钮为“换行”
+   */
+  confirmType?: 'send'|'search'|'next'|'go'|'done'|'return';
   /**
    * 文本框水印文字颜色
    * @default Color.grey

+ 2 - 2
src/pages.json

@@ -307,7 +307,7 @@
           "path": "assessment/argeement-sign-list",
           "style": {
             "navigationBarTitleText": "传承协议签名列表",
-            "enablePullDownRefresh": false
+            "enablePullDownRefresh": true
           }
         },
         {
@@ -321,7 +321,7 @@
           "path": "assessment/evaluation-list",
           "style": {
             "navigationBarTitleText": "自查评估表列表",
-            "enablePullDownRefresh": false
+            "enablePullDownRefresh": true
           }
         }
       ]

+ 19 - 22
src/pages/collect/assessment/argeement-sign-list.vue

@@ -1,25 +1,23 @@
 <template>
   <FlexCol padding="space.lg" gap="gap.md">
     <SearchBar v-model="search" @search="loader.reload()" placeholder="输入关键词搜索"  />
-    <SimplePageContentLoader :loader="loader">
-      <template v-if="loader.isFinished.value">
-        <Touchable 
-          v-for="item in loader.list.value" :key="item.id"
-          direction="row"
-          justify="space-between"
-          backgroundColor="white"
-          padding="space.md"
-          radius="radius.md"
-          @click="navTo('./argeement-sign', { id: item.id })"
-        >
-          <FlexCol>
-            <Text :text="item.inheritor ?? '?'" />
-            <Text :text="item.mobile || item.unit || '?'" />
-          </FlexCol>
-          <Icon name="arrow-right-bold" />
-        </Touchable>
-      </template>
-    </SimplePageContentLoader>
+    <SimplePageListLoader :loader="loader">
+      <Touchable 
+        v-for="item in loader.list.value" :key="item.id"
+        direction="row"
+        justify="space-between"
+        backgroundColor="white"
+        padding="space.md"
+        radius="radius.md"
+        @click="navTo('./argeement-sign', { id: item.id })"
+      >
+        <FlexCol>
+          <Text :text="item.inheritor ?? '?'" />
+          <Text :text="item.mobile || item.unit || '?'" />
+        </FlexCol>
+        <Icon name="arrow-right-bold" />
+      </Touchable>
+    </SimplePageListLoader>
     <XBarSpace />
   </FlexCol>
 </template>
@@ -27,16 +25,15 @@
 <script setup lang="ts">
 import { ref } from 'vue';
 import { useSimplePageListLoader } from '@/components/composeabe/loader/SimplePageListLoader';
+import { navTo } from '@/components/utils/PageAction';
 import AssessmentContentApi from '@/api/collect/AssessmentContent';
 import FlexCol from '@/components/layout/FlexCol.vue';
-import SimplePageContentLoader from '@/components/loader/SimplePageContentLoader.vue';
 import XBarSpace from '@/components/layout/space/XBarSpace.vue';
 import Text from '@/components/basic/Text.vue';
 import Icon from '@/components/basic/Icon.vue';
 import SearchBar from '@/components/form/SearchBar.vue';
 import Touchable from '@/components/feedback/Touchable.vue';
-import { navTo } from '@/components/utils/PageAction';
-import FlexRow from '@/components/layout/FlexRow.vue';
+import SimplePageListLoader from '@/components/loader/SimplePageListLoader.vue';
 
 const search = ref('');
 const loader = useSimplePageListLoader(10, async (page, pageSize) => {

+ 6 - 3
src/pages/collect/assessment/components/AgreementBodyMunicipal.vue

@@ -79,15 +79,17 @@
       label="甲方"
       label-position="top"
       name="partyA"
+      disabled
       v-model="detail.partyA"
-      placeholder="请填写设区市文化和旅游局全称"
+      placeholder="设区市文化和旅游局全称"
       :show-bottom-border="true"
     />
     <Field
       label="负责人(代表人)"
       label-position="top"
+      disabled
       v-model="detail.partyASign"
-      placeholder="选填"
+      placeholder="(待正式打印填写)"
       :show-bottom-border="true"
     />
     <Field
@@ -95,8 +97,9 @@
       label-position="top"
       name="partyAMobile"
       type="tel"
+      disabled
       v-model="detail.partyAMobile"
-      placeholder="请填写甲方联系电话"
+      placeholder="(待正式打印填写)"
     />
     <AgreementDateWriteBlock
       :model-value="partyAStampDate"

+ 4 - 2
src/pages/collect/assessment/components/AgreementBodyNational.vue

@@ -92,8 +92,9 @@
     <Field
       label="负责人(代表人)"
       label-position="top"
+      disabled
       v-model="detail.partyASign"
-      placeholder="选填"
+      placeholder="(待正式打印填写)"
       :show-bottom-border="true"
     />
     <Field
@@ -101,8 +102,9 @@
       label-position="top"
       name="partyAMobile"
       type="tel"
+      disabled
       v-model="detail.partyAMobile"
-      placeholder="请填写甲方联系电话"
+      placeholder="(待正式打印填写)"
     />
     <AgreementDateWriteBlock
       :model-value="partyAStampDate"

+ 4 - 2
src/pages/collect/assessment/components/AgreementBodyProvincial.vue

@@ -91,8 +91,9 @@
     <Field
       label="负责人(代表人)"
       label-position="top"
+      disabled
       v-model="detail.partyASign"
-      placeholder="选填"
+      placeholder="(待正式打印填写)"
       :show-bottom-border="true"
     />
     <Field
@@ -100,8 +101,9 @@
       label-position="top"
       name="partyAMobile"
       type="tel"
+      disabled
       v-model="detail.partyAMobile"
-      placeholder="请填写甲方联系电话"
+      placeholder="(待正式打印填写)"
     />
     <AgreementDateWriteBlock
       :model-value="partyAStampDate"

+ 1 - 0
src/pages/collect/assessment/evaluation-form.vue

@@ -198,6 +198,7 @@ const formOptions : IDynamicFormOptions = {
             showWordLimit: true,
             maxLength: 3000,
             multiline: true,
+            confirmType: "return",
           } as FieldProps,
         },
       ],

+ 19 - 21
src/pages/collect/assessment/evaluation-list.vue

@@ -1,25 +1,23 @@
 <template>
   <FlexCol padding="space.lg" gap="gap.md">
     <SearchBar v-model="search" @search="loader.reload()" placeholder="输入关键词搜索"  />
-    <SimplePageContentLoader :loader="loader">
-      <template v-if="loader.isFinished.value">
-        <Touchable 
-          v-for="item in loader.list.value" :key="item.id"
-          direction="row"
-          backgroundColor="white"
-          padding="space.md"
-          radius="radius.md"
-          justify="space-between"
-          @click="navTo('./evaluation-form', { id: item.id })"
-        >
-          <FlexCol>
-            <Text :text="item.inheritor ?? '?'" />
-            <Text :text="item.mobile || item.unit || '?'" />
-          </FlexCol>
-          <Icon name="arrow-right-bold" />
-        </Touchable>
-      </template>
-    </SimplePageContentLoader>
+    <SimplePageListLoader :loader="loader">
+      <Touchable 
+        v-for="item in loader.list.value" :key="item.id"
+        direction="row"
+        backgroundColor="white"
+        padding="space.md"
+        radius="radius.md"
+        justify="space-between"
+        @click="navTo('./evaluation-form', { id: item.id })"
+      >
+        <FlexCol>
+          <Text :text="item.inheritor ?? '?'" />
+          <Text :text="item.mobile || item.unit || '?'" />
+        </FlexCol>
+        <Icon name="arrow-right-bold" />
+      </Touchable>
+    </SimplePageListLoader>
     <XBarSpace />
   </FlexCol>
 </template>
@@ -27,15 +25,15 @@
 <script setup lang="ts">
 import { ref } from 'vue';
 import { useSimplePageListLoader } from '@/components/composeabe/loader/SimplePageListLoader';
+import { navTo } from '@/components/utils/PageAction';
 import AssessmentContentApi from '@/api/collect/AssessmentContent';
 import FlexCol from '@/components/layout/FlexCol.vue';
-import SimplePageContentLoader from '@/components/loader/SimplePageContentLoader.vue';
 import XBarSpace from '@/components/layout/space/XBarSpace.vue';
 import Text from '@/components/basic/Text.vue';
 import Icon from '@/components/basic/Icon.vue';
 import SearchBar from '@/components/form/SearchBar.vue';
 import Touchable from '@/components/feedback/Touchable.vue';
-import { navTo } from '@/components/utils/PageAction';
+import SimplePageListLoader from '@/components/loader/SimplePageListLoader.vue';
 
 const search = ref('');
 const loader = useSimplePageListLoader(10, async (page, pageSize) => {

+ 14 - 5
src/pages/collect/login.vue

@@ -4,7 +4,8 @@
       <Text fontConfig="subText">欢迎使用非遗数字化资源信息校对系统</Text>
       <Text fontConfig="subText">技术支持:18649931391</Text>
     </FlexCol>
-    <FlexCol radius="radius.md" backgroundColor="white" overflow="hidden">
+    <FlexCol position="relative" radius="radius.md" backgroundColor="white" overflow="hidden">
+      <LoadingPage :loading="loading" loadingText="登录中..." />
       <DynamicForm
         ref="formRef"
         :model="formModel"
@@ -38,10 +39,12 @@ import { back, redirectTo } from '@/components/utils/PageAction';
 import FlexCol from '@/components/layout/FlexCol.vue';
 import FlexRow from '@/components/layout/FlexRow.vue';
 import Text from '@/components/basic/Text.vue';
+import LoadingPage from '@/components/display/loading/LoadingPage.vue';
+import { waitTimeOut } from '@imengyu/imengyu-utils';
 
 const authStore = useAuthStore();
 const formRef = ref<IDynamicFormRef>();
-const loading = ref(false);
+const loading = ref(true);
 
 const formModel = ref({
   mobile: '',
@@ -153,10 +156,16 @@ async function handleSubmit() {
   }
 }
 
-onMounted(() => {
-  if (authStore.isLogged && authStore.isCollect) {
-    redirectTo('/pages/collect/inheritor');
+onMounted(async () => {
+  await waitTimeOut(1000);
+  if (authStore.isLogged) {
+    if (authStore.isCollect) {
+      redirectTo('/pages/collect/inheritor');
+    } else if (authStore.isCollectReviewer || authStore.isCollectAdmin) {
+      redirectTo('/pages/collect/admin');
+    }
   }
+  loading.value = false;
 });
 </script>