|
@@ -1,6 +1,6 @@
|
|
|
<!-- -->
|
|
|
<template>
|
|
|
- <div class="legacy">
|
|
|
+ <div class="legacy" :class="{ downMode }" v-if="data">
|
|
|
<h2 class="title">道路交通事故现场遗留物品清单</h2>
|
|
|
<table>
|
|
|
<tr>
|
|
@@ -8,7 +8,8 @@
|
|
|
<div style="display: flex; align-items: center; justify-content: flex-start; height: 100%">
|
|
|
<span style="height: 100%; line-height: 60px">事故时间:</span>
|
|
|
<div style="height: 100%; flex: 1" class="input-box">
|
|
|
- <input type="text" style="width: 100%; height: 100%" />
|
|
|
+ <div class="content-box">{{ data.accidentTime }}</div>
|
|
|
+ <input type="text" style="width: 100%; height: 100%" v-model="data.accidentTime" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</td>
|
|
@@ -19,7 +20,8 @@
|
|
|
<div style="display: flex; align-items: center; justify-content: flex-start; height: 100%">
|
|
|
<span style="height: 100%; line-height: 60px">事故地点:</span>
|
|
|
<div style="height: 100%; flex: 1" class="input-box">
|
|
|
- <input type="text" style="width: 100%; height: 100%" />
|
|
|
+ <div class="content-box">{{ data.accidentAddress }}</div>
|
|
|
+ <input type="text" style="width: 100%; height: 100%" v-model="data.accidentAddress" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</td>
|
|
@@ -33,132 +35,104 @@
|
|
|
<td>领取时间</td>
|
|
|
<td>备注</td>
|
|
|
</tr>
|
|
|
- <tr>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
- <td><div contenteditable></div></td>
|
|
|
+ <tr v-for="(i, index) in data.list">
|
|
|
+ <td v-for="(j, j_index) in i">
|
|
|
+ <div>
|
|
|
+ <div class="content-box">{{ data.list[index][j_index] }}</div>
|
|
|
+ <input type="text" v-model="data.list[index][j_index]" />
|
|
|
+ </div>
|
|
|
+ <!-- <div v-else contenteditable v-html="j"></div> -->
|
|
|
+ <!-- <div contenteditable v-html="j" @input="handlerInput($event, index, j_index)"></div> -->
|
|
|
+ </td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
<div class="sign-box">
|
|
|
<div>
|
|
|
<span>当事人签名:</span>
|
|
|
- <div contenteditable></div>
|
|
|
+ <div>
|
|
|
+ <input type="text" v-model="data.partySign" />
|
|
|
+ <div class="content-box left">{{ data.partySign }}</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div>
|
|
|
<span>交通警察(签名):</span>
|
|
|
- <div contenteditable></div>
|
|
|
+ <div>
|
|
|
+ <input type="text" v-model="data.policeSign" />
|
|
|
+ <div class="content-box left">{{ data.policeSign }}</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { reactive, ref, toRefs, onBeforeMount, onMounted } from 'vue';
|
|
|
+import { reactive, ref, toRefs, onBeforeMount, onMounted, nextTick, defineProps } from "vue";
|
|
|
+import { genUseLoading } from "@/hook";
|
|
|
+import UiInput from "@/components/base/components/input/index.vue";
|
|
|
+import { tables } from "@/store/tables";
|
|
|
+import { tablesInfo, setData } from "./data";
|
|
|
+const props = defineProps({
|
|
|
+ downMode: { type: Boolean, default: false },
|
|
|
+ isDownloadShow: { type: Boolean, default: false },
|
|
|
+});
|
|
|
+const data = ref(null);
|
|
|
+// const data = ref({
|
|
|
+// accidentTime: "",
|
|
|
+// accidentAddress: "",
|
|
|
+// partySign: "",
|
|
|
+// policeSign: "",
|
|
|
+// list: [
|
|
|
+// ["", "", "", "", "", "", ""],
|
|
|
+// ["", "", "", "", "", "", ""],
|
|
|
+// ["", "", "", "", "", "", ""],
|
|
|
+// ["", "", "", "", "", "", ""],
|
|
|
+// ["", "", "", "", "", "", ""],
|
|
|
+// ["", "", "", "", "", "", ""],
|
|
|
+// ["", "", "", "", "", "", ""],
|
|
|
+// ["", "", "", "", "", "", ""],
|
|
|
+// ["", "", "", "", "", "", ""],
|
|
|
+// ["", "", "", "", "", "", ""],
|
|
|
+// ["", "", "", "", "", "", ""],
|
|
|
+// ["", "", "", "", "", "", ""],
|
|
|
+// ],
|
|
|
+// });
|
|
|
+const handlerInput = (e, index, j_index) => {
|
|
|
+ data.value.list[index][j_index] = e.target.innerText;
|
|
|
+};
|
|
|
+
|
|
|
+const saveHandler = async () => {
|
|
|
+ await saveStore();
|
|
|
+};
|
|
|
+const saveStore = genUseLoading(async () => {
|
|
|
+ // return new Promise((res, rej) => {
|
|
|
+ const origin = tables.value;
|
|
|
+ console.log(data.value);
|
|
|
+ origin["legacy"] = JSON.parse(JSON.stringify(data.value));
|
|
|
+ // });
|
|
|
+});
|
|
|
+defineExpose({ saveHandler, data });
|
|
|
+onMounted(() => {
|
|
|
+ if (props.isDownloadShow) {
|
|
|
+ } else {
|
|
|
+ setData("legacy");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (tablesInfo.legacy) {
|
|
|
+ data.value = tablesInfo.legacy;
|
|
|
+ }
|
|
|
+});
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
+.content-box {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ &.left {
|
|
|
+ justify-content: flex-start;
|
|
|
+ }
|
|
|
+}
|
|
|
div[contenteditable] {
|
|
|
outline: none;
|
|
|
}
|
|
@@ -168,6 +142,17 @@ div[contenteditable] {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
font-family: sr, st;
|
|
|
+ .content-box {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ &.downMode {
|
|
|
+ input {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ .content-box {
|
|
|
+ display: flex;
|
|
|
+ }
|
|
|
+ }
|
|
|
.title {
|
|
|
text-align: center;
|
|
|
margin-bottom: 10px;
|
|
@@ -203,6 +188,15 @@ div[contenteditable] {
|
|
|
&:last-of-type {
|
|
|
border-right: none;
|
|
|
}
|
|
|
+ div {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ input {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
> div[contenteditable] {
|
|
|
width: 100%;
|
|
|
height: 100%;
|