瀏覽代碼

fix: 修改需求

bill 2 年之前
父節點
當前提交
ad78e6e8b5

+ 1 - 0
src/components.d.ts

@@ -37,6 +37,7 @@ declare module '@vue/runtime-core' {
     DataList: typeof import('./components/data-list/index.vue')['default']
     DeleteOutlined: typeof import('@ant-design/icons-vue')['DeleteOutlined']
     DownOutlined: typeof import('@ant-design/icons-vue')['DownOutlined']
+    List: typeof import('./components/list/index.vue')['default']
     Loading: typeof import('./components/loading/index.vue')['default']
     RouterLink: typeof import('vue-router')['RouterLink']
     RouterView: typeof import('vue-router')['RouterView']

+ 2 - 1
src/hook/usePaging.ts

@@ -9,11 +9,12 @@ export function usePaging<P extends {}, A>(
   initial: P,
   setting?: { pageSize?: number; auto?: boolean }
 ) {
+  console.log(setting)
   const pagination = reactive({
     current: 1,
     total: 0,
     showSizeChanger: false,
-    pageSize: setting?.pageSize || 12,
+    pageSize: setting?.pageSize || 10,
     onChange: (current: number) => {
       pagination.current = current
       updateList()

+ 1 - 1
src/layout/header.vue

@@ -25,7 +25,7 @@
           </template>
         </a-avatar>
         <span>
-          {{ userStore.current.phone }}
+          {{ userStore.current.nickname }}
           <DownOutlined />
         </span>
       </div>

+ 11 - 1
src/views/personal/index.vue

@@ -3,7 +3,7 @@
     <div class="user">
       <img :src="user.avatar" />
       <div class="info">
-        <h4>早上好,{{ user.nickname }}</h4>
+        <h4>{{ getGreet() }}好,{{ user.nickname }}</h4>
         <div class="account">
           <span>{{ user.phone }}</span>
           <span>{{ user.email }}</span>
@@ -38,6 +38,16 @@ const simples = computed(() => [
   { label: '项目场景数', value: meta.value.projectSceneCount },
   { label: '已完成项目数', value: meta.value.projectOverCount }
 ])
+const getGreet = () => {
+  const hours = new Date().getHours()
+  return hours > 5 && hours < 11
+    ? '早上'
+    : hours >= 11 && hours < 3
+    ? '中午'
+    : hours >= 3 && hours <= 6
+    ? '下午'
+    : '晚上'
+}
 </script>
 
 <style lang="scss" scoped>

+ 0 - 1
src/views/project/columns.ts

@@ -1,7 +1,6 @@
 import { h } from 'vue'
 import { ProjectStatusDesc, ProjectStatus } from '@/api'
 import { router, RoutesName } from '@/router'
-import { projectManage } from '@/env'
 
 import type { SimpleProject } from '@/api'
 import type { ColumnsType } from 'ant-design-vue/es/table'

+ 25 - 1
src/views/project/detailed.vue

@@ -13,7 +13,14 @@
         </div>
       </div>
       <div class="body">
-        <p class="desc">{{ project?.projectMsg }}</p>
+        <div class="info">
+          <div class="meta">
+            <p><span>创建人</span>{{ project?.projectCreater }}</p>
+            <p><span>创建时间</span>{{ project?.createTime }}</p>
+            <p><span>更新时间</span>{{ project?.updateTime }}</p>
+          </div>
+          <p class="desc">{{ project?.projectMsg }}</p>
+        </div>
         <!-- <Simples :data="simples" /> -->
       </div>
 
@@ -142,6 +149,23 @@ const updateProject = async () => {
   display: flex;
   justify-content: space-between;
 
+  .meta {
+    display: flex;
+    margin-bottom: 16px;
+    p {
+      color: #888888;
+      margin-right: 20px;
+      margin-bottom: 0;
+      span {
+        color: #323233;
+        margin-right: 3px;
+        &::after {
+          content: ':';
+        }
+      }
+    }
+  }
+
   .desc {
     flex: 1;
     max-width: 800px;

+ 3 - 3
src/views/project/edit.vue

@@ -33,7 +33,7 @@
         :rules="[rules.projectName]"
       >
         <a-input
-          v-model:value="project.projectName"
+          v-model:value.trim="project.projectName"
           :placeholder="rules.projectName.message"
         />
       </a-form-item>
@@ -43,7 +43,7 @@
         :rules="[rules.projectMsg]"
       >
         <a-textarea
-          v-model:value="project.projectMsg"
+          v-model:value.trim="project.projectMsg"
           :resize="false"
           style="height: 104px; resize: none"
           :placeholder="rules.projectMsg.message"
@@ -108,7 +108,7 @@ const rules = {
   },
   projectMsg: {
     required: true,
-    max: 40,
+    max: 200,
     min: 1,
     message: '请输入项目描述最多200字'
   }

+ 1 - 1
src/views/project/list.vue

@@ -27,7 +27,7 @@
         <a-date-picker
           v-model:value="filterState.time"
           style="width: 100%"
-          placeholder="选择项目开始日期"
+          placeholder="选择项目创建日期"
           allow-clear
         />
       </a-form-item>

+ 1 - 0
src/views/record/columns.ts

@@ -31,6 +31,7 @@ export const recordColumns: ColumnsType<Record> = [
     }
   },
   {
+    width: '60px',
     title: '操作',
     dataIndex: 'action',
     key: 'action'

+ 2 - 1
src/views/scene/insert.vue

@@ -36,7 +36,7 @@
     </template>
 
     <a-form name="basic" label-align="left" autocomplete="off">
-      <a-form-item label="场景类型" required>
+      <a-form-item v-if="showBim" label="场景类型" required>
         <a-radio-group v-model:value="currentType" name="radioGroup">
           <a-radio :value="Type.bim">{{ Type.bim }}</a-radio>
           <a-radio :value="Type.scene">{{ Type.scene }}</a-radio>
@@ -74,6 +74,7 @@ export type SaveData =
 defineOptions<{ name: 'insert-project-scene' }>()
 
 const props = defineProps<{
+  showBim?: boolean
   project: Project
   onSave: (data: SaveData) => void
   onCancel: () => void

+ 1 - 0
src/views/scene/list.vue

@@ -47,6 +47,7 @@ const pagination = reactive({
 
 const insertScene = () => {
   renderModal(InsertScene, {
+    showBim: !projectStore.current!.bimData,
     project: projectStore.current!,
     async onSave({ type, payload }) {
       if (type === 'bim') {

+ 9 - 1
src/views/system/shared/cache.ts

@@ -10,8 +10,16 @@ export const useCacheState = () => {
     try {
       const stateStr = localStorage.getItem(cacheKey)
       if (stateStr) {
-        state.value = JSON.parse(stateStr)
+        const value = JSON.parse(stateStr)
+        if (value.remember) {
+          state.value = value
+        } else {
+          state.value = initial
+        }
+      } else {
+        state.value = initial
       }
+      console.log(state.value)
     } catch {}
   }
   updateCacheState()