Oliver
2022-12-12 22d9bd7152c6de2d71afade6ab7b5f788d023578
src/views/intelligentPatrol/studyJudge/index.vue
@@ -1,7 +1,9 @@
<template>
  <div class="study-judge">
    <div class="study-judge-header">
      <span>您有{{ countData.review }}条待审核报警信息,今日立案{{ countData.register }}条,再学习{{ countData.study }}条</span>
      <span>您有{{ countData.review }}条待审核报警信息,今日立案{{ countData.register }}条,再学习{{
          countData.study
        }}条</span>
    </div>
    <div class="study-judge-main">
      <div class="sjm-header">
@@ -49,8 +51,9 @@
                <span>{{ currentEvent.conntinueTime }}</span>
              </el-form-item>
              <el-form-item label="关联店铺" prop="store">
                <el-select v-model="eventInfoData.store" clearable @change="selectStoreChange" placeholder="请选择关联店铺">
                  <el-option v-for="store in storeList" :value="store.id" :label="store.storeName" :key="store.id" />
                <el-select v-model="eventInfoData.store" clearable @change="selectStoreChange"
                           placeholder="请选择关联店铺">
                  <el-option v-for="store in storeList" :value="store.id" :label="store.storeName" :key="store.id"/>
                </el-select>
              </el-form-item>
              <el-form-item v-if="eventInfoData.store" label="店铺得分:">
@@ -63,12 +66,13 @@
              </el-form-item>
              <el-form-item label="大类名称:" prop="categoryId">
                <el-select v-model="eventInfoData.categoryId" placeholder="请选择大类名称" @change="categoryChange">
                  <el-option v-for="category in categoryOptions" :key="category.id" :value="category.id" :label="category.name" />
                  <el-option v-for="category in categoryOptions" :key="category.id" :value="category.id"
                             :label="category.name"/>
                </el-select>
              </el-form-item>
              <el-form-item label="小类名称:" prop="typeId">
                <el-select v-model="eventInfoData.typeId" placeholder="请选择小类名称">
                  <el-option v-for="type in typeOptions" :key="type.id" :value="type.id" :label="type.name" />
                  <el-option v-for="type in typeOptions" :key="type.id" :value="type.id" :label="type.name"/>
                </el-select>
              </el-form-item>
              <el-form-item label="车牌号:" prop="carNumber">
@@ -88,7 +92,8 @@
      </div>
    </div>
    <el-dialog :visible="isShowDialog" title="调度信息">
      <MyDispatch v-if="isShowDialog" :mytype="1" @getDispatchData="confirmInspection" :isGetData="true" @changeDialog="closeDialog"></MyDispatch>
      <MyDispatch v-if="isShowDialog" :mytype="1" @getDispatchData="confirmInspection" :isGetData="true"
                  @changeDialog="closeDialog"></MyDispatch>
    </el-dialog>
  </div>
</template>
@@ -96,13 +101,13 @@
<script>
import basecase from "@/api/operate/basecase";
import baseInfo from "@/api/baseInfo";
import { getStoreInfoList } from "@/api/operate/storeManagement";
import { FILE_ORIGINAL_URL } from "@/utils";
import { validateCarNum } from "@/utils/validate";
import {getStoreInfoList} from "@/api/operate/storeManagement";
import {FILE_ORIGINAL_URL} from "@/utils";
import {validateCarNum} from "@/utils/validate";
import MyDispatch from '@/components/dispatch';
export default {
  components: { MyDispatch },
  components: {MyDispatch},
  created() {
    this.getInspectionData();
    this.initEventParams();
@@ -112,8 +117,8 @@
        })
        .catch(err => this.$message.error(err))
    getStoreInfoList({ current: 1, size: 100 })
        .then(({ list }) => {
    getStoreInfoList({current: 1, size: 100})
        .then(({list}) => {
          this.storeList = list;
        })
        .catch(err => {
@@ -170,23 +175,23 @@
        },
      ],
      eventInfoData: null,
      rules:{
        state:[
      rules: {
        state: [
          {
            required: true, trigger:['blur'], message: '处理意见不能为空'
            required: true, trigger: ['blur'], message: '处理意见不能为空'
          },
        ],
        categoryId:[
        categoryId: [
          {
            required: true, trigger:['blur'], message: '大类名称不能为空'
            required: true, trigger: ['blur'], message: '大类名称不能为空'
          }
        ],
        typeId:[
        typeId: [
          {
            required: true, trigger:['blur'], message: '小类名称不能为空'
            required: true, trigger: ['blur'], message: '小类名称不能为空'
          }
        ],
        carNumber:[{ trigger:['blur', 'change'], validator: validateCarNumber }]
        carNumber: [{trigger: ['blur', 'change'], validator: validateCarNumber}]
      },
      imageList: [],
      currentPage: 1,
@@ -197,7 +202,7 @@
      isShowDialog: false
    }
  },
  methods:{
  methods: {
    pageChange(type) {
      if (type === 'next') {
        this.currentPage += 1;
@@ -208,14 +213,14 @@
    },
    getInspectionData() {
      basecase.getInspectionData({ current: this.currentPage })
          .then(({ records }) => {
      basecase.getInspectionData({current: this.currentPage})
          .then(({records}) => {
            this.currentEvent = records[0];
            if (this.currentEvent?.picData) {
              this.imageList = this.currentEvent.picData.split(',').map(item => `${FILE_ORIGINAL_URL}${item}`);
            }
            if (this.currentEvent?.alarmTime || this.currentEvent?.currentAlarmTime) {
              const { alarmTime, currentAlarmTime } = this.currentEvent;
              const {alarmTime, currentAlarmTime} = this.currentEvent;
              const continueAlarmTime = new Date().getTime() -
                  (currentAlarmTime ? new Date(currentAlarmTime).getTime() : new Date(alarmTime).getTime());
              const CONTINUE_DAY = continueAlarmTime / 1000 / 60 / 60 / 24;
@@ -227,9 +232,9 @@
    },
    // 确认点击事件
    handleConfirm(){
      this.$refs.currentEvent.validate((flag)=>{
        if(flag){
    handleConfirm() {
      this.$refs.currentEvent.validate((flag) => {
        if (flag) {
          this.eventInfoData.baseId = this.currentEvent.baseId;
          // 调度
@@ -265,7 +270,7 @@
    confirmInspection(data) {
      const eventParams = Object.assign({}, this.eventInfoData);
      delete eventParams.store;
      basecase.confirmInspection({ ...eventParams, ...data })
      basecase.confirmInspection({...eventParams, ...data})
          .then(() => {
            this.$message.success('操作成功');
            this.getInspectionData();
@@ -279,6 +284,12 @@
    },
    selectStoreChange(id) {
      if (id === "") {
        this.eventInfoData.shopName = null
        this.eventInfoData.linkShop = 0
        this.eventInfoData.store = null
        return
      }
      const selectedStore = this.storeList.find(store => store.id === id);
      this.eventInfoData.shopName = selectedStore.id;
      this.eventInfoData.linkShop = 1;
@@ -293,6 +304,7 @@
  text-align: left;
  color: #4b9bb7;
  padding: 20px;
  .study-judge-header {
    line-height: 8vh;
  }
@@ -342,7 +354,7 @@
          }
        }
        .img-item+.img-item {
        .img-item + .img-item {
          margin-top: 2vh;
        }
      }