소스 검색

Merge branch 'master' of http://192.168.0.115:3000/bill/traffic-laser

xzw 2 년 전
부모
커밋
2405c865d5

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
server/test/a0k4xu045_202305311600080410/attach/sceneStore


+ 7 - 7
src/components/base/assets/scss/components/_button.scss

@@ -36,19 +36,19 @@
 }
 
 .ui-button.submit {
-    color: var(--colors-primary-base);
-    border: 1px solid var( --color-main-normal);
-    background-color: var( --color-main-normal);
+    color: #fff;
+    border: 1px solid rgba(0,0,0,0);
+    background: rgba(255,255,255,0.1) !important;
     &:hover {
-        
+
         //border-color: #4DD8C7;
         //background-color: #4DD8C7;
         //color: #4DD8C7;
     }
     &:active {
         //background-color: var(--colors-primary-hover) !important;
-        color: rgba(255,255,255,0.7);
-        background: #005046;
+        //color: rgba(255,255,255,0.7);
+        //background: #005046;
     }
 }
 
@@ -89,4 +89,4 @@
     &:active {
         border-color: rgba(250, 63, 72, 0.4);
     }
-}
+}

+ 15 - 11
src/components/base/assets/scss/components/_dialog.scss

@@ -18,11 +18,11 @@
     min-width: 300px;
     max-width: calc(100% - 20px);
     min-height: 100px;
-    background-color: rgba($color: #1a1a1a, $alpha: 0.8);
-    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.7);
+    background-color: #1E1E1E;
+    //box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.7);
     border-radius: 4px;
-    border: 1px solid #000000;
-    backdrop-filter: blur(400px);
+    //border: 1px solid #000000;
+    //backdrop-filter: blur(400px);
     &::after{
         content: "";
         position: absolute;
@@ -30,26 +30,31 @@
         right: 1px;
         bottom: 1px;
         top: 1px;
-        border: 1px solid rgba($color: #fff, $alpha: 0.1);
+        //border: 1px solid rgba($color: #fff, $alpha: 0.1);
         border-radius: 4px;
         z-index: 0;
         pointer-events: none;
     }
     header {
-        color: #999999;
-        padding: 0 20px;
+        padding: 0 16px;
         height: 60px;
         display: flex;
         align-items: center;
         justify-content: space-between;
-        border-bottom: solid 1px rgba($color: #ffffff, $alpha: 0.16);
+        //border-bottom: solid 1px rgba($color: #ffffff, $alpha: 0.16);
         font-weight: bold;
+        font-size: 20px;
+        color: #fff;
+
+        &:before {
+            content: "";
+        }
         i{
             cursor: pointer;
         }
     }
     section {
-        padding: 40px 30px;
+        padding: 10px 18px;
         display: flex;
         align-items: center;
         justify-content: center;
@@ -59,7 +64,6 @@
         display: flex;
         align-items: center;
         justify-content: center;
-        border-top: solid 1px rgba($color: #ffffff, $alpha: 0.16);
         button{
             width: 105px;
             margin-left: 10px;
@@ -70,4 +74,4 @@
 
 .confirm-content {
     line-height: 1.8;
-}
+}

+ 1 - 1
src/components/base/components/dialog/Confirm.vue

@@ -5,7 +5,7 @@
                 <span>{{ title }}</span>
                 <i class="iconfont icon-close fun-ctrl" @click="close('no')" v-if="func"></i>
             </template>
-            <span v-else>{{ title }}</span>
+            <slot name="header" />
         </template>
 
         <template v-if="$slots.content">

+ 2 - 2
src/components/photos/index.vue

@@ -2,7 +2,7 @@
   <div class="photos-layout">
     <div class="photos">
       <div
-          v-for="photo in data"
+          v-for="(photo, index) in data"
           :key="photo.id"
           class="photo"
           @click="selectMode ? changeSelects(photo, !selects.includes(photo)) : $emit('update:active', photo)"
@@ -20,7 +20,7 @@
               class="photo-select"
           />
         </div>
-        <slot :data="photo" />
+        <slot :data="photo" :index="index" />
       </div>
     </div>
   </div>

+ 15 - 4
src/views/accidents/index.vue

@@ -25,15 +25,15 @@
       <div class="type-photos" v-for="typePhoto in typePhotos" :key="typePhoto.type">
         <p class="type-title">{{ typePhoto.type }}</p>
         <Photos
-            class="type-photos-content"
+            class="type-photos-content accident-photos-content"
             :class="{max: typePhoto.photos.length > 4}"
             v-model:active="active"
             v-model:selects="selects"
             :select-mode="selectMode"
             :data="typePhoto.photos"
         >
-          <template v-slot="{data}">
-            <p>{{ data.title || '默认标题' }}</p>
+          <template v-slot="{data, index}">
+            <p>{{ data.title || typePhoto.type.substring(0, 2) + (index + 1) }}</p>
           </template>
         </Photos>
       </div>
@@ -254,4 +254,15 @@ onDeactivated(() => {
     }
   }
 }
-</style>
+.accident-photos-content .photo {
+  &:last-child:not(:nth-child(4)) {
+    padding-right: 24px;
+    box-sizing: content-box;
+  }
+  .img-layout {
+    width: 100%;
+    height: 200px;
+  }
+}
+
+</style>

+ 3 - 3
src/views/graphic/confirm.vue

@@ -1,11 +1,11 @@
 <template>
   <div class="confirm">
-    <GraphicAction class="confirm-action" @click="() => drawRef.uiControl.confirmEntry()">
-      <ui-icon type="affirm"  color="#38c43b" />
-    </GraphicAction>
     <GraphicAction class="confirm-action" @click="() => drawRef.uiControl.confirmCancel()">
       <ui-icon type="close"  color="#f84540" />
     </GraphicAction>
+    <GraphicAction class="confirm-action" @click="() => drawRef.uiControl.confirmEntry()">
+      <ui-icon type="affirm"  color="#38c43b" />
+    </GraphicAction>
   </div>
 </template>
 

+ 2 - 2
src/views/graphic/geos/magnifier.vue

@@ -27,7 +27,7 @@ const menus = [
         ? [
           {
             key: 'color',
-            icon: 'arrows_s',
+            icon: 'photo',
             text: "拍照",
             onClick: async () => {
               syncVector(await api.photograph())
@@ -35,7 +35,7 @@ const menus = [
           },
           {
             key: 'color',
-            icon: 'arrows_d',
+            icon: 'map',
             text: "相册",
             onClick: async () => {
               syncVector(await api.selectPhotoAlbum())

+ 0 - 1
src/views/graphic/index.vue

@@ -9,7 +9,6 @@
         :menus="store.child.value as any"
         @quit="store.child.value = null"
     />
-    {{store.activeMenuKey.value}}
     <ImageLabel
         v-if="store.activeMenuKey.value === UITypeExtend.image"
         @quit="uiType.change(null)"

+ 34 - 4
src/views/graphic/setting.vue

@@ -29,7 +29,16 @@
             <span>基本线宽 b</span>
             <span>单位: mm</span>
           </p>
-          <ui-input type="select" :options="lineWidthOption" v-model="data.lineWidth" width="100%" />
+          <div class="select-boxs">
+            <span
+                v-for="option in lineWidthOption"
+                :key="option.value"
+                :class="{active: option.value === data.lineWidth}"
+                @click="data.lineWidth = option.value"
+            >
+              {{option.label}}
+            </span>
+          </div>
         </div>
       </div>
     </template>
@@ -42,6 +51,7 @@ import {ref} from "vue";
 import UiIcon from "@/components/base/components/icon/index.vue";
 import {trackMeasureWidth, trackMode} from "@/views/scene/trackMeasureWidth";
 import { drawRef } from '@/hook/useGraphic'
+import UiButton from "@/components/base/components/button/index.vue";
 
 const props = defineProps<{ close?: () => void }>()
 
@@ -55,6 +65,8 @@ const lineWidthOption = [
   {label: 0.35, value: 0.35},
 ]
 
+console.log(data)
+
 const setSceneSingleRoadWidth = async () => {
   data.value.singleRoadWidth = await trackMeasureWidth()
 }
@@ -76,13 +88,31 @@ const handler = (label) => {
   width: 440px;
 
   > div {
-    margin-bottom: 20px;
+    margin-bottom: 24px;
 
     p {
-      margin-bottom: 6px;
+      margin-bottom: 14px;
       display: flex;
       justify-content: space-between;
-      font-size: 12px;
+      font-size: 14px;
+    }
+  }
+}
+
+.select-boxs {
+  display: flex;
+  gap: 8px;
+  span {
+    flex: 1;
+    text-align: center;
+    height: 32px;
+    line-height: 32px;
+    color: #fff;
+    font-size: 14px;
+    background: rgba(255,255,255,0.1);
+    border-radius: 4px;
+    &.active {
+      background: rgba(47,143,255,0.5);
     }
   }
 }