zhangzengfei
2022-08-05 012c84b59018018cd75f0b8c70f7492fcb3e3e6f
添加整改
4个文件已修改
493 ■■■■ 已修改文件
src/Pool/VideoPhotoData.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/es.ts 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/search/Searching.vue 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/search/components/ModelCard.vue 408 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Pool/VideoPhotoData.ts
@@ -47,6 +47,7 @@
  public scrollContainDom: any = ""
  public uploadDiaplay: boolean = false
  public uploadType: boolean = false
  public warningFlag: number = 0
  constructor() {
    this.cards = []
@@ -80,6 +81,7 @@
      searchTime: this.searchTime,
      alarmlevel: this.queryAlarmlevel,
      inputValue: this.inputValue,
      warningFlag: this.warningFlag,
      tabs: this.queryTabs,
      tasks: this.queryTasks,
      treeNodes: this.treeNodes,
src/api/es.ts
@@ -59,6 +59,13 @@
    data
  })
}
export const saveWarning = (data: any) => {
  return request({
    url: "/cloud/api-s/es/saveWarning",
    method: "post",
    data
  })
}
export const findTagList = () => {
  return request({
src/views/search/Searching.vue
@@ -78,7 +78,7 @@
              ></el-option>
            </el-select>
          </p>
          <p class="p-level" style="width: 18%; margin-right: 20px">
          <p class="p-level" style="width: 14%; margin-left: 10px">
            <b>事件等级:</b>
            <el-select
              v-model="alarmValues"
@@ -87,11 +87,28 @@
              :disabled="isDisabled"
              collapse-tags
              size="mini"
              style="width: calc(100% - 64px); min-width: 120px"
              style="width: calc(100% - 90px); min-width: 120px"
              placeholder="请选择"
            >
              <el-option
                v-for="item in VideoPhotoData.dictionary.ALARMLEVEL"
                :key="item.id"
                :label="item.name"
                :value="item.value"
              ></el-option>
            </el-select>
          </p>
          <p class="p-level" style="width: 14%; margin-right: 20px">
            <b>排查类型:</b>
            <el-select
              v-model="warningFlag"
              @change="searchingBtn"
              size="mini"
              style="width: calc(100% - 90px); min-width: 120px"
              placeholder="请选择"
            >
              <el-option
                v-for="item in waningOptions"
                :key="item.id"
                :label="item.name"
                :value="item.value"
@@ -266,6 +283,8 @@
import bus from "@/main"
import { getUrlKey } from "@/api/utils.ts"
import SetBox from "@/views/search/components/SetBox"
import { saveWarning } from "@/api/es"
export default {
  name: "RightSide",
  components: {
@@ -290,6 +309,7 @@
      searchImgCardWidth: "",
      tagValues: [],
      alarmValues: [],
      warningFlag: 0,
      taskValues: [],
      showDownBox: false,
      searchTime: [this.$moment().format("YYYY-MM-DD 00:00:00"), this.$moment().format("YYYY-MM-DD HH:mm:ss")],
@@ -343,7 +363,39 @@
            return value.length ? value[0].areaName : ""
          }
        }
      }
      },
      waningOptions: [
        {
          id: 0,
          name: "全部",
          value: 0
        },
        {
          id: 1,
          name: "误报",
          value: 1
        },
        {
          id: 2,
          name: "已整改",
          value: 2
        },
        {
          id: 3,
          name: "未整改",
          value: 3
        },
        {
          id: 4,
          name: "已排查",
          value: 4
        },
        {
          id: 5,
          name: "未排查",
          value: 5
        }
      ]
    }
  },
  created() {
@@ -621,7 +673,21 @@
        this.VideoPhotoData.selectWhites = []
      })
    },
    getDetails(ev, index) {
      // 标记已排查
      if (this.VideoPhotoData.cards[index].activeObject.warningFlag == 0) {
        saveWarning({
          warningFlag: 4,
          id: this.VideoPhotoData.cards[index].activeObject.id,
          correctionDescription: ""
        }).then((rsp) => {
          if (rsp && rsp.success) {
            this.VideoPhotoData.cards[index].activeObject.warningFlag = 4
          }
        })
      }
      //let obj = this.CardList.datalist[index];
      this.CardList.datalist = this.VideoPhotoData.cards
      let obj = this.CardList.datalist[index]
@@ -696,8 +762,12 @@
      this.VideoPhotoData.queryAlarmlevel = this.stringToNum()
      // 时间范围
      this.VideoPhotoData.searchTime = this.format(this.searchTime)
      // 排查登记
      this.VideoPhotoData.warningFlag = this.warningFlag
      //this.VideoPhotoData.inputValue = this.searchText;
      this.VideoPhotoData.showType = this.showType
      if (!this.VideoPhotoData.uploadType) {
src/views/search/components/ModelCard.vue
@@ -1,10 +1,6 @@
<template>
  <div class="model-card-box" :style="`height:${height};width:${width};`">
    <el-tabs
      style="height: 100%"
      @before-leave="changeTabs"
      v-model="activeName"
    >
    <el-tabs style="height: 100%" @before-leave="changeTabs" v-model="activeName">
      <el-tab-pane label="大图" name="pic">
        <div
          class="model-card-box-left"
@@ -20,77 +16,45 @@
            </p>
            <!-- 人脸类型 -->
            <img-down
              v-if="
                data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''
              "
              v-if="data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''"
              :url="data.picMaxUrl[0]"
            ></img-down>
            <!-- 普通yolo类 -->
            <img-down
              v-else-if="
                (data.targetInfo == null ||
                  data.targetInfo[0].picSmUrl == '') &&
                data.picMaxUrl.length == 1
              "
              v-else-if="(data.targetInfo == null || data.targetInfo[0].picSmUrl == '') && data.picMaxUrl.length == 1"
              :url="data.picMaxUrl[0]"
            ></img-down>
            <!-- 持续时间yolo类 -->
            <el-carousel
              v-else-if="
                (data.targetInfo == null ||
                  data.targetInfo[0].picSmUrl == '') &&
                data.picMaxUrl.length > 1
              "
              v-else-if="(data.targetInfo == null || data.targetInfo[0].picSmUrl == '') && data.picMaxUrl.length > 1"
              trigger="click"
              height="100%"
              :autoplay="false"
            >
              <el-carousel-item
                v-for="(item, index) in data.picMaxUrl"
                :key="index"
              >
              <el-carousel-item v-for="(item, index) in data.picMaxUrl" :key="index">
                <img-down :url="item"></img-down>
              </el-carousel-item>
            </el-carousel>
            <!-- yolo类大图 -->
            <div
              class="describe"
              v-if="
                data.targetInfo == null || data.targetInfo[0].picSmUrl == ''
              "
            >
            <div class="describe" v-if="data.targetInfo == null || data.targetInfo[0].picSmUrl == ''">
              <p>
                <span class="fontStyleForModel" style="font-weight: normal">{{
                  data.picDate | formatTime
                }}</span>
                <span class="fontStyleForModel" style="font-weight: normal">{{ data.picDate | formatTime }}</span>
              </p>
              <p>
                <span class="fontStyleForModel">{{ data.cameraAddr }}</span>
                <span
                  class="fontStyleForModel analyServer"
                  style="margin-left: 20px"
                  >{{ data.analyServerName }}</span
                >
                <span class="fontStyleForModel analyServer" style="margin-left: 20px">{{ data.analyServerName }}</span>
              </p>
              <p></p>
              <p style="width: 100%">
                <span
                  v-for="(item, index) in data.alarmRules"
                  :key="index + 'rule'"
                >
                <span v-for="(item, index) in data.alarmRules" :key="index + 'rule'">
                  <span class="fontStyleForModel">{{ data.taskName }}</span
                  >&nbsp;&nbsp;
                  <span
                    v-if="item.alarmLevel !== '撤防'"
                    class="fontStyleForModel"
                    >{{ item.alarmLevel }}</span
                  <span v-if="item.alarmLevel !== '撤防'" class="fontStyleForModel">{{ item.alarmLevel }}</span
                  >&nbsp;
                  <span v-if="item.isLink" class="fontStyleForModel"
                    >联动任务</span
                  >
                  <span v-if="item.isLink" class="fontStyleForModel">联动任务</span>
                  <span v-if="index < data.alarmRules.length - 1">/&nbsp;</span>
                </span>
              </p>
@@ -99,63 +63,38 @@
            <!-- 人脸类大图  -->
            <div class="describeBigImage" v-else>
              <p>
                <span class="fontStyleForModel">{{
                  data.picDate | formatTime
                }}</span>
                <span class="fontStyleForModel">{{ data.picDate | formatTime }}</span>
              </p>
              <p class="align-right">
                <span
                  class="fontStyleForModel text-overflow"
                  :title="data.cameraAddr"
                  >{{ data.cameraAddr }}</span
                >
                <span
                  class="fontStyleForModel text-overflow"
                  :title="data.cameraAddr"
                  style="margin-left: 20px"
                  >{{ data.analyServerName }}</span
                >
                <span class="fontStyleForModel text-overflow" :title="data.cameraAddr">{{ data.cameraAddr }}</span>
                <span class="fontStyleForModel text-overflow" :title="data.cameraAddr" style="margin-left: 20px">{{
                  data.analyServerName
                }}</span>
              </p>
              <p style="width: 100%">
                <span
                  v-for="(item, index) in data.alarmRules"
                  :key="index + 'rule'"
                >
                <span v-for="(item, index) in data.alarmRules" :key="index + 'rule'">
                  <span class="fontStyleForModel">{{ data.taskName }}</span
                  >&nbsp;&nbsp;
                  <span
                    v-if="item.alarmLevel !== '撤防'"
                    class="fontStyleForModel"
                    >{{ item.alarmLevel }}</span
                  <span v-if="item.alarmLevel !== '撤防'" class="fontStyleForModel">{{ item.alarmLevel }}</span
                  >&nbsp;
                  <span v-if="item.isLink" class="fontStyleForModel"
                    >联动任务</span
                  >
                  <span v-if="item.isLink" class="fontStyleForModel">联动任务</span>
                  <span v-if="index < data.alarmRules.length - 1">/&nbsp;</span>
                </span>
              </p>
              <p style="width: 100%">
                <span
                  style="white-space: nowrap; font-weight: 600; font-size: 13px"
                  >{{ data.showLabels }}</span
                >
                <span style="white-space: nowrap; font-weight: 600; font-size: 13px">{{ data.showLabels }}</span>
              </p>
            </div>
            <b style="float: right; margin-right: 50px;" @click="markDialogVisible = true">标记</b>
          </div>
        </div>
        <!-- 弹框右侧 -->
        <div
          v-if="
            data.targetInfo &&
            data.targetInfo !== null &&
            data.targetInfo[0].picSmUrl !== ''
          "
          v-if="data.targetInfo && data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''"
          class="model-card-box-right"
          :style="
            data.targetInfo &&
            data.targetInfo !== null &&
            data.targetInfo[0].picSmUrl !== ''
            data.targetInfo && data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''
              ? 'width: 35%;box-sizing: border-box;'
              : ''
          "
@@ -164,17 +103,10 @@
            <b>抓拍图</b>
          </p>
          <!-- 左右两张的人脸对比模式 -->
          <div
            class="img-box"
            v-if="data.baseInfo && data.baseInfo.length >= 1"
            ref="picSmBox"
          >
          <div class="img-box" v-if="data.baseInfo && data.baseInfo.length >= 1" ref="picSmBox">
            <div class="card-img-box-compear-left">
              <!-- <img :src="'http://'+data.targetInfo[0].picSmUrl" ref="picSm" /> -->
              <img-down
                :url="data.targetInfo[0].picSmUrl"
                :isPreview="false"
              ></img-down>
              <img-down :url="data.targetInfo[0].picSmUrl" :isPreview="false"></img-down>
            </div>
            <el-carousel
              @change="changeInitialIndex"
@@ -185,95 +117,77 @@
              v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''"
              class="card-img-box-compear-right"
            >
              <el-carousel-item
                v-for="(item, index) in data.baseInfo"
                :key="index"
              >
              <el-carousel-item v-for="(item, index) in data.baseInfo" :key="index">
                <!-- <img :src="'http://'+item.targetPicUrl" /> -->
                <img-down
                  :url="item.targetPicUrl"
                  :isPreview="false"
                ></img-down>
                <img-down :url="item.targetPicUrl" :isPreview="false"></img-down>
              </el-carousel-item>
            </el-carousel>
            <div
              class="img-compareScore"
              v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''"
              :style="
                data.baseInfo[initialIndex].bwType === '1'
                  ? `background: red;`
                  : `background: green;`
              "
              :style="data.baseInfo[initialIndex].bwType === '1' ? `background: red;` : `background: green;`"
            >
              <b>{{ data.baseInfo[initialIndex].compareScore | percentage }}</b>
            </div>
          </div>
          <!-- 没有比对的人脸识别模式 -->
          <div
            class="img-box"
            v-if="!data.baseInfo && data.targetInfo[0].picSmUrl !== ''"
          >
            <div
              class="card-img-box-compear-left"
              style="width: 60%; margin-top: 5px"
            >
          <div class="img-box" v-if="!data.baseInfo && data.targetInfo[0].picSmUrl !== ''">
            <div class="card-img-box-compear-left" style="width: 60%; margin-top: 5px">
              <!-- <img :src="'http://'+data.targetInfo[0].picSmUrl" /> -->
              <img-down
                :url="data.targetInfo[0].picSmUrl"
                :isPreview="false"
              ></img-down>
              <img-down :url="data.targetInfo[0].picSmUrl" :isPreview="false"></img-down>
            </div>
          </div>
          <div
            class="baseInfo"
            v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''"
          >
          <div class="baseInfo" v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''">
            <div class="baseInfo_list">
              <p>
                <span class="labelInfo">底库</span>
                <span
                  class="val"
                  :title="data.baseInfo[initialIndex].tableName"
                  >{{ data.baseInfo[initialIndex].tableName }}</span
                >
                <span class="val" :title="data.baseInfo[initialIndex].tableName">{{
                  data.baseInfo[initialIndex].tableName
                }}</span>
              </p>
              <p>
                <span class="labelInfo">姓名</span>
                <span
                  class="val"
                  :title="data.baseInfo[initialIndex].targetName"
                  >{{ data.baseInfo[initialIndex].targetName }}</span
                >
                <span class="val" :title="data.baseInfo[initialIndex].targetName">{{
                  data.baseInfo[initialIndex].targetName
                }}</span>
              </p>
              <p>
                <span class="labelInfo">性别</span>
                <span class="val">{{
                  data.baseInfo[initialIndex].labels | sex
                }}</span>
                <span class="val">{{ data.baseInfo[initialIndex].labels | sex }}</span>
              </p>
              <p>
                <span class="labelInfo">身份证号</span>
                <span class="val">{{
                  data.baseInfo[initialIndex].labels | idCard
                }}</span>
                <span class="val">{{ data.baseInfo[initialIndex].labels | idCard }}</span>
              </p>
              <p>
                <span class="labelInfo">手机号</span>
                <span class="val">{{
                  data.baseInfo[initialIndex].labels | phoneNum
                }}</span>
                <span class="val">{{ data.baseInfo[initialIndex].labels | phoneNum }}</span>
              </p>
              <p>
                <span class="labelInfo">人员等级</span>
                <span
                  class="val"
                  :title="data.baseInfo[initialIndex].monitorLevel"
                  >{{ data.baseInfo[initialIndex].monitorLevel }}</span
                >
                <span class="val" :title="data.baseInfo[initialIndex].monitorLevel">{{
                  data.baseInfo[initialIndex].monitorLevel
                }}</span>
              </p>
            </div>
          </div>
        </div>
        <el-dialog
          title="标记"
          :visible.sync="markDialogVisible"
          width="30%"
          style="z-index:4000;margin-top:200px"
          center
          :modal="false"
        >
          <el-radio v-model="warningFlag" label="1">误报</el-radio>
          <el-radio v-model="warningFlag" label="2">未整改</el-radio>
          <el-radio v-model="warningFlag" label="3">已整改</el-radio>
          <span slot="footer" class="dialog-footer">
            <el-button @click="markDialogVisible = false" size="mini">取 消</el-button>
            <el-button type="primary" @click="saveWarningFlag(data)" size="mini">确 定</el-button>
          </span>
        </el-dialog>
      </el-tab-pane>
      <el-tab-pane label="视频" name="video" class="video-tabs">
@@ -293,35 +207,23 @@
            >
              您的浏览器不支持 video 标签。
            </video> -->
            <wasm-player
              :videoUrl="data.videoUrl"
              :isStream="false"
            ></wasm-player>
            <wasm-player :videoUrl="data.videoUrl" :isStream="false"></wasm-player>
          </div>
        </div>
        <div
          v-if="data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''"
          class="model-card-box-right"
          :style="
            data.targetInfo !== null && data.targetInfo[0].picSmUrl !== ''
              ? 'width: 35%;box-sizing: border-box;'
              : ''
            data.targetInfo !== null && data.targetInfo[0].picSmUrl !== '' ? 'width: 35%;box-sizing: border-box;' : ''
          "
        >
          <p class="img-box-title">
            <b>抓拍图</b>
          </p>
          <!-- 左右两张的人脸对比模式 -->
          <div
            class="img-box"
            v-if="data.baseInfo && data.baseInfo.length >= 1"
            ref="picSmBox"
          >
          <div class="img-box" v-if="data.baseInfo && data.baseInfo.length >= 1" ref="picSmBox">
            <div class="card-img-box-compear-left">
              <img-down
                :url="data.targetInfo[0].picSmUrl"
                :isPreview="false"
              ></img-down>
              <img-down :url="data.targetInfo[0].picSmUrl" :isPreview="false"></img-down>
            </div>
            <el-carousel
              @change="changeInitialIndex"
@@ -332,88 +234,57 @@
              class="card-img-box-compear-right"
              :arrow="data.baseInfo.length > 1 ? 'always' : 'never'"
            >
              <el-carousel-item
                v-for="(item, index) in data.baseInfo"
                :key="index"
              >
              <el-carousel-item v-for="(item, index) in data.baseInfo" :key="index">
                <!-- <img :src="'http://'+item.targetPicUrl" /> -->
                <img-down
                  :url="item.targetPicUrl"
                  :isPreview="false"
                ></img-down>
                <img-down :url="item.targetPicUrl" :isPreview="false"></img-down>
              </el-carousel-item>
            </el-carousel>
            <div
              class="img-compareScore"
              v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''"
              :style="
                data.baseInfo[initialIndex].bwType === '1'
                  ? `background: red;`
                  : `background: green;`
              "
              :style="data.baseInfo[initialIndex].bwType === '1' ? `background: red;` : `background: green;`"
            >
              <b>{{ data.baseInfo[initialIndex].compareScore | percentage }}</b>
            </div>
          </div>
          <!-- 没有比对的人脸识别模式 -->
          <div class="img-box" v-if="!data.baseInfo && data.picMaxUrl">
            <div
              class="card-img-box-compear-left"
              style="width: 60%; margin-top: 5px"
            >
            <div class="card-img-box-compear-left" style="width: 60%; margin-top: 5px">
              <!-- <img :src="'http://'+data.targetInfo[0].picSmUrl" /> -->
              <img-down
                :url="data.targetInfo[0].picSmUrl"
                :isPreview="false"
              ></img-down>
              <img-down :url="data.targetInfo[0].picSmUrl" :isPreview="false"></img-down>
            </div>
          </div>
          <div
            class="baseInfo"
            v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''"
          >
          <div class="baseInfo" v-if="data.baseInfo[0] && data.baseInfo[0].targetPicUrl != ''">
            <div class="baseInfo_list">
              <p>
                <span class="labelInfo">底库</span>
                <span
                  class="val"
                  :title="data.baseInfo[initialIndex].tableName"
                  >{{ data.baseInfo[initialIndex].tableName }}</span
                >
                <span class="val" :title="data.baseInfo[initialIndex].tableName">{{
                  data.baseInfo[initialIndex].tableName
                }}</span>
              </p>
              <p>
                <span class="labelInfo">姓名</span>
                <span
                  class="val"
                  :title="data.baseInfo[initialIndex].targetName"
                  >{{ data.baseInfo[initialIndex].targetName }}</span
                >
                <span class="val" :title="data.baseInfo[initialIndex].targetName">{{
                  data.baseInfo[initialIndex].targetName
                }}</span>
              </p>
              <p>
                <span class="labelInfo">性别</span>
                <span class="val">{{
                  data.baseInfo[initialIndex].labels | sex
                }}</span>
                <span class="val">{{ data.baseInfo[initialIndex].labels | sex }}</span>
              </p>
              <p>
                <span class="labelInfo">身份证号</span>
                <span class="val">{{
                  data.baseInfo[initialIndex].labels | idCard
                }}</span>
                <span class="val">{{ data.baseInfo[initialIndex].labels | idCard }}</span>
              </p>
              <p>
                <span class="labelInfo">手机号</span>
                <span class="val">{{
                  data.baseInfo[initialIndex].labels | phoneNum
                }}</span>
                <span class="val">{{ data.baseInfo[initialIndex].labels | phoneNum }}</span>
              </p>
              <p>
                <span class="labelInfo">人员等级</span>
                <span
                  class="val"
                  :title="data.baseInfo[initialIndex].monitorLevel"
                  >{{ data.baseInfo[initialIndex].monitorLevel }}</span
                >
                <span class="val" :title="data.baseInfo[initialIndex].monitorLevel">{{
                  data.baseInfo[initialIndex].monitorLevel
                }}</span>
              </p>
            </div>
          </div>
@@ -423,7 +294,7 @@
  </div>
</template>
<script>
Date.prototype.Format = function (fmt) {
Date.prototype.Format = function(fmt) {
  var o = {
    "M+": this.getMonth() + 1, //月份
    "d+": this.getDate(), //日
@@ -431,108 +302,119 @@
    "m+": this.getMinutes(), //分
    "s+": this.getSeconds(), //秒
    "q+": Math.floor((this.getMonth() + 3) / 3), //季度
    S: this.getMilliseconds(), //毫秒
  };
  if (/(y+)/.test(fmt))
    fmt = fmt.replace(
      RegExp.$1,
      (this.getFullYear() + "").substr(4 - RegExp.$1.length)
    );
    S: this.getMilliseconds() //毫秒
  }
  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length))
  for (var k in o)
    if (new RegExp("(" + k + ")").test(fmt))
      fmt = fmt.replace(
        RegExp.$1,
        RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)
      );
  return fmt;
};
      fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length))
  return fmt
}
import WasmPlayer from "./wasmPlayer";
import imgDown from "./imgDown";
import WasmPlayer from "./wasmPlayer"
import imgDown from "./imgDown"
import { saveWarning } from "@/api/es"
export default {
  components: {
    WasmPlayer,
    imgDown,
    imgDown
  },
  props: {
    height: {
      type: String,
      default: "100%",
      default: "100%"
    },
    width: {
      type: String,
      default: "100%",
      default: "100%"
    },
    data: {
      type: Object,
      require: false,
      default: function () {
        return {};
      },
    },
      default: function() {
        return {}
      }
    }
  },
  filters: {
    formatTime(t) {
      return new Date(t).Format("yyyy-MM-dd HH:mm:ss");
      return new Date(t).Format("yyyy-MM-dd HH:mm:ss")
    },
    percentage(score) {
      return score.toFixed(2) + "%";
      return score.toFixed(2) + "%"
    },
    sex(v) {
      try {
        let obj = JSON.parse(v);
        return obj.sex;
        let obj = JSON.parse(v)
        return obj.sex
      } catch (error) {
        return v.split("/")[0];
        return v.split("/")[0]
      }
    },
    idCard(v) {
      try {
        let obj = JSON.parse(v);
        return obj.idCard;
        let obj = JSON.parse(v)
        return obj.idCard
      } catch (error) {
        return v.split("/")[1];
        return v.split("/")[1]
      }
    },
    phoneNum(v) {
      try {
        let obj = JSON.parse(v);
        return obj.phone;
        let obj = JSON.parse(v)
        return obj.phone
      } catch (error) {
        return v.split("/")[2];
        return v.split("/")[2]
      }
    },
    }
  },
  mounted() {
    console.log("ModelCard data", this.data);
    console.log(this.data.baseInfo);
    console.log(this.initialIndex);
    //this.VideoPhotoData.activeName = "pic"
  },
  mounted() {},
  data() {
    return {
      activeName: "pic",
      initialIndex: 0,
    };
      markDialogVisible: false,
      warningFlag: 0
    }
  },
  methods: {
    saveWarningFlag(card) {
      saveWarning({
        warningFlag: parseInt(this.warningFlag),
        id: card.id,
        correctionDescription: ""
      })
        .then((rsp) => {
          if (rsp && rsp.success) {
            card.warningFlag = parseInt(this.warningFlag)
            this.$notify({
              title: "保存成功",
              type: "success"
            })
          }
          this.markDialogVisible = false
        })
        .catch((e) => {
          this.markDialogVisible = false
        })
    },
    changeTabs(activeName, oldActiveName) {
      console.log(activeName, oldActiveName);
      console.log(activeName, oldActiveName)
    },
    changeInitialIndex(index) {
      this.initialIndex = index;
      this.initialIndex = index
    },
    downloadfile() {
      this.filecontent = "this is my file content";
      let a = document.createElement("a");
      this.filecontent = "this is my file content"
      let a = document.createElement("a")
      a.href = "data:text/json;charset=utf-8," + this.filecontent;
      a.href = "data:text/json;charset=utf-8," + this.filecontent
      // a.url = "http://192.168.20.112:6154/93,02c5aea4fc614e";
      a.download = "video.mp4";
      a.click();
    },
  },
};
      a.download = "video.mp4"
      a.click()
    }
  }
}
</script>
<style lang="scss">
.fontStyleForModel {