li.shaoyi 10 ヶ月 前
コミット
561cb65621
40 ファイル変更109 行追加105 行削除
  1. BIN
      oem/sjgj/app/icons/1024x1024.png
  2. BIN
      oem/sjgj/app/icons/120x120.png
  3. BIN
      oem/sjgj/app/icons/144x144.png
  4. BIN
      oem/sjgj/app/icons/152x152.png
  5. BIN
      oem/sjgj/app/icons/167x167.png
  6. BIN
      oem/sjgj/app/icons/180x180.png
  7. BIN
      oem/sjgj/app/icons/192x192.png
  8. BIN
      oem/sjgj/app/icons/20x20.png
  9. BIN
      oem/sjgj/app/icons/29x29.png
  10. BIN
      oem/sjgj/app/icons/40x40.png
  11. BIN
      oem/sjgj/app/icons/58x58.png
  12. BIN
      oem/sjgj/app/icons/60x60.png
  13. BIN
      oem/sjgj/app/icons/72x72.png
  14. BIN
      oem/sjgj/app/icons/76x76.png
  15. BIN
      oem/sjgj/app/icons/80x80.png
  16. BIN
      oem/sjgj/app/icons/87x87.png
  17. BIN
      oem/sjgj/app/icons/96x96.png
  18. BIN
      oem/tss/app/icons/1024x1024.png
  19. BIN
      oem/tss/app/icons/120x120.png
  20. BIN
      oem/tss/app/icons/144x144.png
  21. BIN
      oem/tss/app/icons/152x152.png
  22. BIN
      oem/tss/app/icons/167x167.png
  23. BIN
      oem/tss/app/icons/180x180.png
  24. BIN
      oem/tss/app/icons/192x192.png
  25. BIN
      oem/tss/app/icons/20x20.png
  26. BIN
      oem/tss/app/icons/29x29.png
  27. BIN
      oem/tss/app/icons/40x40.png
  28. BIN
      oem/tss/app/icons/58x58.png
  29. BIN
      oem/tss/app/icons/60x60.png
  30. BIN
      oem/tss/app/icons/72x72.png
  31. BIN
      oem/tss/app/icons/76x76.png
  32. BIN
      oem/tss/app/icons/80x80.png
  33. BIN
      oem/tss/app/icons/87x87.png
  34. BIN
      oem/tss/app/icons/96x96.png
  35. 1 1
      src/packages/mobile/views/pricing/trade/v2/Index.vue
  36. BIN
      src/packages/sjgj.zip
  37. 6 6
      src/packages/sjgj/assets/themes/default/default.less
  38. 1 11
      src/packages/sjgj/views/home/index.less
  39. 60 57
      src/packages/sjgj/views/home/main/index.less
  40. 41 30
      src/packages/sjgj/views/home/main/index.vue

BIN
oem/sjgj/app/icons/1024x1024.png


BIN
oem/sjgj/app/icons/120x120.png


BIN
oem/sjgj/app/icons/144x144.png


BIN
oem/sjgj/app/icons/152x152.png


BIN
oem/sjgj/app/icons/167x167.png


BIN
oem/sjgj/app/icons/180x180.png


BIN
oem/sjgj/app/icons/192x192.png


BIN
oem/sjgj/app/icons/20x20.png


BIN
oem/sjgj/app/icons/29x29.png


BIN
oem/sjgj/app/icons/40x40.png


BIN
oem/sjgj/app/icons/58x58.png


BIN
oem/sjgj/app/icons/60x60.png


BIN
oem/sjgj/app/icons/72x72.png


BIN
oem/sjgj/app/icons/76x76.png


BIN
oem/sjgj/app/icons/80x80.png


BIN
oem/sjgj/app/icons/87x87.png


BIN
oem/sjgj/app/icons/96x96.png


BIN
oem/tss/app/icons/1024x1024.png


BIN
oem/tss/app/icons/120x120.png


BIN
oem/tss/app/icons/144x144.png


BIN
oem/tss/app/icons/152x152.png


BIN
oem/tss/app/icons/167x167.png


BIN
oem/tss/app/icons/180x180.png


BIN
oem/tss/app/icons/192x192.png


BIN
oem/tss/app/icons/20x20.png


BIN
oem/tss/app/icons/29x29.png


BIN
oem/tss/app/icons/40x40.png


BIN
oem/tss/app/icons/58x58.png


BIN
oem/tss/app/icons/60x60.png


BIN
oem/tss/app/icons/72x72.png


BIN
oem/tss/app/icons/76x76.png


BIN
oem/tss/app/icons/80x80.png


BIN
oem/tss/app/icons/87x87.png


BIN
oem/tss/app/icons/96x96.png


+ 1 - 1
src/packages/mobile/views/pricing/trade/v2/Index.vue

@@ -141,7 +141,7 @@ const orderTypeStepList = computed(() => {
     ]
 })
 // 订单模型
-const orderType = shallowRef(orderTypeStepList.value[0]?.value)
+const orderType = shallowRef(orderTypeStepList.value.filter((e) => e.show)[0]?.value)
 
 // 商品信息
 const goodsList = shallowRef<Model.GoodsQuote[]>()

BIN
src/packages/sjgj.zip


+ 6 - 6
src/packages/sjgj/assets/themes/default/default.less

@@ -8,7 +8,7 @@
 
     /* 颜色规范 */
     --color-default: #241512;
-    --color-primary: #c49430;
+    --color-primary: #ddb45d;
     --color-secondary: #04c786;
     --color-info: #999;
     --color-border: #eee;
@@ -24,7 +24,7 @@
     /* 标签栏 */
     --tabbar-background: #fff;
     --tabbar-icon: #888;
-    --tabbar-icon-active: #c49430;
+    --tabbar-icon-active: #ddb45d;
 
     /* 内容边距 */
     --content-inset: 12px;
@@ -32,15 +32,15 @@
     /* Vant-Button */
     --van-button-border-width: 0;
     --van-button-primary-background: var(--color-primary);
-    --van-button-danger-background: #c49430;
+    --van-button-danger-background: #ddb45d;
 
     /* Vant-Checkbox */
-    --van-checkbox-checked-icon-color: #c49430 !important;
+    --van-checkbox-checked-icon-color: #ddb45d !important;
 
     /* Vant-Tabs */
-    --van-tabs-bottom-bar-color: #c49430;
+    --van-tabs-bottom-bar-color: #ddb45d;
 
-    --van-dialog-confirm-button-text-color: #c49430;
+    --van-dialog-confirm-button-text-color: #ddb45d;
 }
 
 .app-tabs {

+ 1 - 11
src/packages/sjgj/views/home/index.less

@@ -1,18 +1,8 @@
 .home {
     .app-tabbar {
-        height: 70px;
-        background:#F7F8F8 url(../../assets/images/tabbar-bg.svg) no-repeat !important;
-        background-size: auto 100% !important;
-        background-position: right bottom !important;
-        box-shadow: 0 -3px 10px #EAEAEA;
-        padding: 0 36px;
+        background: var(--tabbar-background) !important;
         margin-top: auto;
 
-        &__wrapper {
-            height: 100%;
-            border-top: 0;
-        }
-
         .app-iconfont {
             color: var(--tabbar-icon);
 

+ 60 - 57
src/packages/sjgj/views/home/main/index.less

@@ -1,29 +1,38 @@
 @import '@mobile/assets/themes/base/mixin.less';
 
 .home-main {
-    background:#fff  url(../../../assets/images/home-bg.png) repeat-y;
-    background-size: 100%;
-
-    .app-view__body {
-        margin-top: -30px;
-    }
-
-    &__header {
+    &__title {
         display: flex;
-        justify-content: center;
+        flex-direction: column;
         align-items: center;
-        height: 167px;
-        background: #fff url(../../../assets/images/home-header.png) no-repeat;
-        background-size: 100%;
-        padding-bottom: 20px;
 
-        img {
-            width: 40%;
+        span {
+            &:first-child {
+                font-size: 16px;
+            }
+
+            &:last-child {
+                font-size: 14px;
+            }
         }
     }
 
     &__banner {
-        padding: 0 12px;
+        position: relative;
+        overflow: hidden;
+        padding: 10px;
+        padding-bottom: 0;
+
+        &::before {
+            content: '';
+            width: 140%;
+            height: 150px;
+            position: absolute;
+            left: -20%;
+            top: 0;
+            border-radius: 0 0 50% 50%;
+            background: linear-gradient(180deg, #ddb45d, #fff9eb);
+        }
 
         .app-banner {
             position: relative;
@@ -34,8 +43,6 @@
     }
 
     &__iconbar {
-        padding: 20px 30px;
-
         ul {
             display: flex;
             background-color: #fff;
@@ -55,58 +62,54 @@
 
                 span {
                     font-size: 12px;
-                    font-weight: bold;
-                    color: #898989;
                     margin-top: 5px;
                 }
             }
         }
     }
 
-    &__news {
-        border-top: 1px solid #9FA0A0;
-        padding: 10px;
-        padding-top: 0;
-        margin: 0 30px;
-
-        section {
-            background-color: #fff;
-            box-shadow: 0 0 10px #DCDDDD;
-            padding: 30px;
-            padding-top: 0;
-
-            h2 {
-                display: flex;
-                align-items: center;
-                justify-content: space-between;
-                height: 80px;
-                background: url(../../../assets/images/icons/announcement.svg) no-repeat center left;
-                background-size: auto 32px;
-                padding: 24px 0 24px 48px;
+    &__titlebar {
+        .van-cell__title {
+            display: flex;
+            align-items: center;
+            line-height: 1;
+            font-weight: bold;
+
+            img {
+                width: 16px;
+                height: 16px;
+                margin-right: 5px;
+            }
 
-                span {
-                    font-size: 12px;
-                    font-weight: bold;
+            span {
+                +span {
+                    color: #999;
+                    font-size: 13px;
+                    font-weight: normal;
+                    margin-left: 5px;
+                }
+            }
+        }
 
-                    &:first-child {
-                        color: #fff;
-                    }
+        .van-cell__value {
+            flex: none;
+            color: #666;
+        }
+    }
 
-                    &:last-child {
-                        color: #D09F3B;
+    &__news {
+        .article {
+            &-item {
+                .van-cell__title {
+                    span {
+                        .mixin-text-overflow()
                     }
                 }
-            }
 
-            ul {
-                li {
-                    .mixin-text-overflow();
-                    display: inherit;
+                .van-cell__value {
+                    flex: initial;
                     font-size: 12px;
-                    font-weight: bold;
-                    color: #9FA0A0;
-                    white-space: nowrap;
-                    padding-bottom: 16px;
+                    margin-left: 24px;
                 }
             }
         }

+ 41 - 30
src/packages/sjgj/views/home/main/index.vue

@@ -1,15 +1,25 @@
 <template>
   <app-view class="home-main">
     <template #header>
-      <app-statusbar class="home-main__header">
-        <img src="../../../assets/images/home-logo.svg" />
-      </app-statusbar>
+      <app-navbar :show-back-button="false">
+        <div class="home-main__title">
+          <span>{{ globalStore.getSystemInfo('appName') }}</span>
+          <span>订单管理系统</span>
+        </div>
+      </app-navbar>
     </template>
-    <div class="home-main__container">
-      <div class="home-main__banner">
-        <Banner :data-list="topBanners" />
-      </div>
-      <div class="home-main__iconbar">
+    <div class="home-main__banner">
+      <Banner :data-list="topBanners" />
+    </div>
+    <PullRefresh class="home-main__container" v-model="refreshing" @refresh="onRefresh">
+      <app-block>
+        <Cell class="home-main__titlebar" title="通知公告" value="更多" :to="{ name: 'notice-list' }" icon="volume" is-link>
+          <template #title>
+            <Badge :offset="[10, 8]" :dot="noticeStore.unreadList.length > 0">{{ $t('routes.notice') }}</Badge>
+          </template>
+        </Cell>
+      </app-block>
+      <app-block class="home-main__iconbar bg">
         <ul>
           <li @click="routerTo('order-list')">
             <img src="../../../assets/images/icons/order.svg" />
@@ -28,32 +38,35 @@
             <span>我的库存</span>
           </li>
         </ul>
-      </div>
-      <div class="home-main__news">
-        <section>
-          <h2>
-            <span>业务公告</span>
-            <span @click="routerTo('news-list')">更多></span>
-          </h2>
-          <ul v-if="newsList.length">
-            <template v-for="(item, index) in newsList" :key="index">
-              <li @click="routerTo('news-list')">{{ item.title }}</li>
-            </template>
-          </ul>
-        </section>
-      </div>
-    </div>
+      </app-block>
+      <app-block class="home-main__news">
+        <CellGroup class="article">
+          <Cell class="home-main__titlebar" title="业务公告" value="更多" icon="fire" @click="routerTo('news-list')"
+            is-link />
+          <template v-for="(item, index) in newsList" :key="index">
+            <Cell class="article-item" :title="item.title" :value="formatDate(item.publishdate, 'MM/DD')"
+              @click="routerTo('news-list')" />
+          </template>
+        </CellGroup>
+      </app-block>
+    </PullRefresh>
   </app-view>
 </template>
 
 <script lang="ts" setup>
-import { shallowRef, onActivated } from 'vue'
-import { useNavigation } from '@mobile/router/navigation'
-import { queryImageConfigs } from "@/services/api/common"
+import { shallowRef } from "vue";
+import { Cell, CellGroup, PullRefresh, Badge } from "vant";
+import { formatDate } from "@/filters";
+import { useNavigation } from '@mobile/router/navigation';
+import { queryImageConfigs } from "@/services/api/common";
+import { useNoticeStore, useGlobalStore } from '@/stores'
 import Banner from '@mobile/components/base/banner/index.vue'
-import { queryNewTitles } from '@/services/api/news'
+import Iconfont from '@/components/base/iconfont/index.vue'
+import { queryNewTitles } from "@/services/api/news";
 
 const { routerTo } = useNavigation()
+const noticeStore = useNoticeStore()
+const globalStore = useGlobalStore()
 const refreshing = shallowRef(false) // 是否处于加载中状态
 const topBanners = shallowRef<string[]>([]) // 轮播图列表
 const newsList = shallowRef<Model.NewTitlesRsp[]>([]) // 资讯列表
@@ -82,9 +95,7 @@ const onRefresh = () => {
   })
 }
 
-onActivated(() => {
-  onRefresh()
-})
+onRefresh()
 </script>
 
 <style lang="less">