bill 1 tahun lalu
induk
melakukan
9da20ec6c2

+ 15 - 0
map.html

@@ -0,0 +1,15 @@
+<!doctype html>
+<html lang="en">
+
+<head>
+  <meta charset="UTF-8" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <link rel="icon" type="image/ico" href="/favicon.ico" id="app-icon" />
+</head>
+
+<body>
+  <div id="app"></div>
+  <script type="module" src="/src/app/map/main.ts"></script>
+</body>
+
+</html>

+ 27 - 0
src/app/map/App.vue

@@ -0,0 +1,27 @@
+<template>
+  <div>地图页面</div>
+  <div ref="mapEl" style="height: 300px"></div>
+</template>
+
+<script setup lang="ts">
+import AMapLoader from "@amap/amap-jsapi-loader";
+import { onMounted, ref } from "vue";
+
+const mapEl = ref<HTMLDivElement>();
+const loadMap = async () => {
+  const AMap = await AMapLoader.load({
+    plugins: ["AMap.PlaceSearch"],
+    key: "e661b00bdf2c44cccf71ef6070ef41b8",
+    version: "2.0",
+  });
+
+  const map = new AMap.Map(mapEl.value, {
+    WebGLParams: {
+      preserveDrawingBuffer: true,
+    },
+    resizeEnable: true,
+  });
+};
+
+onMounted(loadMap);
+</script>

+ 14 - 0
src/app/map/main.ts

@@ -0,0 +1,14 @@
+import { createApp } from "vue";
+import "element-plus/dist/index.css";
+import * as ElementPlusIconsVue from "@element-plus/icons-vue";
+import App from "./App.vue";
+import ElementPlus from "element-plus";
+
+const app = createApp(App);
+
+for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
+  app.component(key, component);
+}
+
+app.use(ElementPlus);
+app.mount("#app");

+ 0 - 1
src/components/head/index.vue

@@ -51,7 +51,6 @@ const activeValue = ref(props.modelValue || props.options[0].value);
 const emit = defineEmits<{ (e: "update:modelValue", modelValue: string): void }>();
 const updateModelValue = (modelValue: string) => {
   if ("modelValue" in props) {
-    console.log(modelValue, props);
     emit("update:modelValue", modelValue);
   } else {
     activeValue.value = modelValue;

+ 64 - 54
src/view/case/caseFile.vue

@@ -2,63 +2,71 @@
   <com-head :options="options" v-model="currentTypeId" notContent v-if="options.length" />
 
   <div class="body-layer">
-    <div class="body-head">
-      <h3 style="visibility: hidden">场景管理</h3>
-      <div>
-        <template v-if="isDraw">
-          <el-button type="primary" @click="gotoDraw(BoardType.map, -1)">
-            创建{{ BoardTypeDesc[BoardType.map] }}
-          </el-button>
-          <el-button type="primary" @click="gotoDraw(BoardType.scene, -1)">
-            创建{{ BoardTypeDesc[BoardType.scene] }}
-          </el-button>
-        </template>
-        <el-button type="primary" @click="addCaseFileHandler"> 上传 </el-button>
+    <template v-if="currentTypeId === 2">
+      <Photos :caseId="caseId" />
+    </template>
+    <template v-else-if="currentTypeId === 3">
+      <Records :caseId="caseId" />
+    </template>
+    <template v-else>
+      <div class="body-head">
+        <h3 style="visibility: hidden">场景管理</h3>
+        <div>
+          <template v-if="isDraw">
+            <el-button type="primary" @click="gotoDraw(BoardType.map, -1)">
+              创建{{ BoardTypeDesc[BoardType.map] }}
+            </el-button>
+            <el-button type="primary" @click="gotoDraw(BoardType.scene, -1)">
+              创建{{ BoardTypeDesc[BoardType.scene] }}
+            </el-button>
+          </template>
+          <el-button type="primary" @click="addCaseFileHandler"> 上传 </el-button>
+        </div>
       </div>
-    </div>
 
-    <el-table :data="files" tooltip-effect="dark" style="width: 100%" size="large">
-      <el-table-column label="序号" width="70" v-slot:default="{ $index }">
-        <div style="text-align: center">
-          {{ $index + 1 }}
-        </div>
-      </el-table-column>
-      <el-table-column label="名称" v-slot:default="{ row }: { row: CaseFile }">
-        <span v-if="!inputCaseTitles.includes(row)">
-          {{ row.filesTitle }}
-          <el-icon class="edit-title" @click="inputCaseTitles.push(row)">
-            <EditPen />
-          </el-icon>
-        </span>
-        <template v-else>
-          <ElInput
-            v-model="row.filesTitle"
-            placeholder="请输入文件名"
-            focus
-            :maxlength="50"
-            style="width: 280px"
+      <el-table :data="files" tooltip-effect="dark" style="width: 100%" size="large">
+        <el-table-column label="序号" width="70" v-slot:default="{ $index }">
+          <div style="text-align: center">
+            {{ $index + 1 }}
+          </div>
+        </el-table-column>
+        <el-table-column label="名称" v-slot:default="{ row }: { row: CaseFile }">
+          <span v-if="!inputCaseTitles.includes(row)">
+            {{ row.filesTitle }}
+            <el-icon class="edit-title" @click="inputCaseTitles.push(row)">
+              <EditPen />
+            </el-icon>
+          </span>
+          <template v-else>
+            <ElInput
+              v-model="row.filesTitle"
+              placeholder="请输入文件名"
+              focus
+              :maxlength="50"
+              style="width: 280px"
+            >
+              <template #append>
+                <el-button type="primary" plain @click="updateFileTitle(row)">
+                  确定
+                </el-button>
+              </template>
+            </ElInput>
+          </template>
+        </el-table-column>
+        <el-table-column label="创建时间" prop="createTime"></el-table-column>
+        <el-table-column label="操作" v-slot:default="{ row }: { row: CaseFile }">
+          <span class="oper-span" @click="query(row)"> 查看 </span>
+          <span
+            class="oper-span"
+            @click="gotoDraw(row.imgType!, row.filesId)"
+            v-if="row.imgType !== null"
           >
-            <template #append>
-              <el-button type="primary" plain @click="updateFileTitle(row)">
-                确定
-              </el-button>
-            </template>
-          </ElInput>
-        </template>
-      </el-table-column>
-      <el-table-column label="创建时间" prop="createTime"></el-table-column>
-      <el-table-column label="操作" v-slot:default="{ row }: { row: CaseFile }">
-        <span class="oper-span" @click="query(row)"> 查看 </span>
-        <span
-          class="oper-span"
-          @click="gotoDraw(row.imgType!, row.filesId)"
-          v-if="row.imgType !== null"
-        >
-          编辑
-        </span>
-        <span class="oper-span delBtn" @click="del(row)"> 删除 </span>
-      </el-table-column>
-    </el-table>
+            编辑
+          </span>
+          <span class="oper-span delBtn" @click="del(row)"> 删除 </span>
+        </el-table-column>
+      </el-table>
+    </template>
   </div>
 </template>
 
@@ -81,6 +89,8 @@ import {
 import { getCaseInfo, updateCaseInfo } from "@/store/case";
 import { appConstant } from "@/app";
 import { ElIcon, ElInput, ElMessage } from "element-plus";
+import Photos from "./photos/index.vue";
+import Records from "./records/index.vue";
 
 const caseId = computed(() => {
   const caseId = router.currentRoute.value.params.caseId;

+ 8 - 0
src/view/case/photos/index.vue

@@ -0,0 +1,8 @@
+<template>
+  <div>照片</div>
+</template>
+
+<script setup>
+const props = defineProps({ caseId: Number });
+console.log(props);
+</script>

+ 9 - 0
src/view/case/records/index.vue

@@ -0,0 +1,9 @@
+<template>
+
+  <div>勘验笔录</div>
+</template>
+<script setup>
+
+const props = defineProps({caseId: Number})
+console.log(props)
+</script>