ZhangXianQiang
2024-05-06 72f13e697d40c8fffc7aa0197fec4509bbe41569
Merge branch 'master' into dev-threejs
7个文件已修改
18 文件已重命名
12个文件已删除
5093 ■■■■■ 已修改文件
src/api/platform/check-result.js 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/platform/check-score.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/platform/check-template.js 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/platform/contract-result.js 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/calculate/duty/index.vue 263 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/calculate/record/index.vue 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/calculate/rule/index.vue 265 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/check/result/detail/detail.vue 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/check/result/detail/index.vue 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/check/result/index.vue 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/check/rule/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/check/template/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/contract/contract-result/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/contract/contract/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/contract/report/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/contract/score/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/data-manage/equipment/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/data-manage/vehicle-data-monitor/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/monitor/car/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/monitor/face/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/monitor/platform/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/monitor/recovery/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/monitor/video/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/point/region/index.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/publish/city/index.vue 497 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/publish/default/index.vue 497 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/publish/province/index.vue 497 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/report/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/result/default/detail.vue 685 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/result/default/index.vue 438 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/result/detail/index.vue 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/rule/default/index.vue 316 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/template/default/index.vue 454 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/work-order/distribute/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/work-order/index.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/work-order/threshold/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/platform/check-result.js
File was deleted
src/api/platform/check-score.js
@@ -18,10 +18,11 @@
}
// 查询考核积分明细详细
export function getScoreIndex(id) {
export function getScoreIndex(query) {
  return request({
    url: '/check/score/detail/' + id,
    method: 'get'
    url: '/check/score/detail/index',
    method: 'get',
    params: query
  })
}
src/api/platform/check-template.js
@@ -42,7 +42,14 @@
    data: data
  })
}
// 修改考核模板权重
export function updateWeight(data) {
  return request({
    url: '/check/template/weight',
    method: 'put',
    data: data
  })
}
// 删除考核模板
export function delCheckTemplate(id) {
  return request({
src/api/platform/contract-result.js
@@ -1,24 +1,32 @@
import request from '@/utils/request'
// 查询合同考核结果列表
export function listResult(query) {
// 查询考核结果列表
export function listCheckResult(query) {
  return request({
    url: '/contract/result/list',
    method: 'get',
    params: query
    url: '/contract/result/list?pageNum=' + query.pageNum + '&pageSize=' + query.pageSize,
    method: 'post',
    data: query
  })
}
// 查询合同考核结果详细
export function getResult(id) {
// 查询考核结果详情
export function resultRecord(id) {
  return request({
    url: '/contract/result/record/list?resultId=' + id,
    method: 'get'
  })
}
// 查询考核结果详细
export function getCheckResult(id) {
  return request({
    url: '/contract/result/' + id,
    method: 'get'
  })
}
// 新增合同考核结果
export function addResult(data) {
// 新增考核结果
export function addCheckResult(data) {
  return request({
    url: '/contract/result',
    method: 'post',
@@ -26,8 +34,8 @@
  })
}
// 修改合同考核结果
export function updateResult(data) {
// 修改考核结果
export function updateCheckResult(data) {
  return request({
    url: '/contract/result',
    method: 'put',
@@ -35,10 +43,27 @@
  })
}
// 删除合同考核结果
export function delResult(id) {
// 删除考核结果
export function delCheckResult(id) {
  return request({
    url: '/contract/result/' + id,
    method: 'delete'
  })
}
// 发布考核结果
export function publishCheckResult(id) {
  return request({
    url: '/contract/result/publish/' + id,
    method: 'put'
  })
}
// 提交人工分数
export function manualScore(data) {
  return request({
    url: '/contract/result/manual-score',
    method: 'post',
    data: data
  })
}
src/router/index.js
@@ -47,61 +47,6 @@
    hidden: true
  },
  {
    path: '/car/vehicle-data-monitor',
    component: Layout,
    hidden: true,
    children: [
      {
        path: 'index',
        name: 'vehicle-data-monitor',
        component: () => import('@/views/system/vehicle-data-monitor/index'),
        meta: { title: '车辆过卡口数据一致性', activeMenu: '/system/vehicle-data-monitor' }
      }
    ]
  },
  {
    path: '/car/equipment',
    component: Layout,
    hidden: true,
    children: [
      {
        path: 'index',
        name: 'equipment',
        component: () => import('@/views/system/equipment/index'),
        meta: { title: '资产管理', activeMenu: '/system/equipment' }
      }
    ]
  },
  {
    path: '/check-result/contract',
    component: Layout,
    hidden: true,
    children: [
      {
        path: 'detail',
        name: 'check-result-contract',
        component: () => import('@/views/system/result/default/detail'),
        meta: { title: '合同结果详情', activeMenu: '/system/check-result/contract' }
      }
    ]
  },
  {
    path: '/check-result/city',
    component: Layout,
    hidden: true,
    children: [
    ]
  },
  {
    path: '/check-result/province',
    component: Layout,
    hidden: true,
    children: [
    ]
  },
  {
    path: '/register',
    component: () => import('@/views/register'),
    hidden: true
src/views/system/calculate/duty/index.vue
File was deleted
src/views/system/calculate/record/index.vue
File was deleted
src/views/system/calculate/rule/index.vue
File was deleted
src/views/system/check/result/detail/detail.vue
File was renamed from src/views/system/result/detail/detail.vue
@@ -1,15 +1,15 @@
<template>
  <div class="app-container">
    <el-page-header @back="goBack" content="详情页面">
    <el-page-header @back="goBack()" content="详情页面">
    </el-page-header>
    <el-container>
      <el-main>
        <h2>考核规则</h2>
        <el-table v-loading="loading" :data="checkRuleList" @selection-change="handleSelectionChange">
          <el-table-column type="selection" width="55" align="center" />
          <el-table-column label="规则名称" align="center" prop="checkRuleName" />
          <el-table-column label="规则权重" align="center" prop="weight" />
          <el-table-column type="selection" width="55" align="center"/>
          <el-table-column label="规则名称" align="center" prop="checkRuleName"/>
          <el-table-column label="规则权重" align="center" prop="weight"/>
          <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
            <template slot-scope="scope">
              <el-button
@@ -17,38 +17,43 @@
                type="text"
                icon="el-icon-edit"
                @click="handleRuleUpdate(scope.row)"
              >修改</el-button>
              >修改
              </el-button>
            </template>
          </el-table-column>
        </el-table>
        <pagination
          v-show="total>0"
          :total="total"
          :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize"
          @pagination="getRuleList"
        />
      </el-main>
    </el-container>
    <el-container>
      <el-main>
        <h2>考核成绩</h2>
        <el-row :gutter="10" class="mb8">
          <el-col :span="1.5">
        <el-row :gutter="10" class="mb5">
          <el-col :span="1.5" style="margin-right: 20px">
            <el-button
              type="warning"
              plain
              icon="el-icon-download"
              size="mini"
              @click="handleExport"
            >导出</el-button>
            >导出
            </el-button>
          </el-col>
          <right-toolbar :showSearch.sync="showSearch" @queryTable="getRuleList"></right-toolbar>
          <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
            <el-form-item label="考核日期" prop="name">
              <el-date-picker v-model="date" format="yyyy-MM" value-format="yyyy-MM" type="month" placeholder="选择日期"
                              @change="dateChange">
              </el-date-picker>
            </el-form-item>
            <el-form-item>
              <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
            </el-form-item>
          </el-form>
        </el-row>
        <el-table  v-loading="loading" :data="dataMap" @selection-change="handleSelectionChange">
        <el-table v-loading="loading" :data="dataMap" @selection-change="handleSelectionChange">
          <el-table-column label="考核日期" align="center" prop="create_time" width="120px" fixed>
            <template slot-scope="scope">
              <span>{{ scope.row.create_time.split('T')[0] }}</span>
@@ -64,23 +69,23 @@
              :key="item.ruleName"
              :label="item.ruleName"
              align="center"
              width = "120px"
              width="180px"
            >
              <template slot-scope="scope">
                <span>{{ scope.row[item.ruleIndex] }}</span>
              </template>
            </el-table-column>
          </template>
          <el-table-column label="操作" align="center" class-name="small-padding fixed-width"  fixed="right">
            <template slot-scope="scope">
              <el-button
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="handleIndexUpdate(scope.row,scope.index)"
              >修改</el-button>
            </template>
          </el-table-column>
          <!--          <el-table-column label="操作" align="center" class-name="small-padding fixed-width"  fixed="right">-->
          <!--            <template slot-scope="scope">-->
          <!--              <el-button-->
          <!--                size="mini"-->
          <!--                type="text"-->
          <!--                icon="el-icon-edit"-->
          <!--                @click="handleIndexUpdate(scope.row,scope.index)"-->
          <!--              >修改</el-button>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
        </el-table>
      </el-main>
    </el-container>
@@ -92,7 +97,7 @@
          <el-input v-model="ruleForm.checkRuleName" placeholder="请输入规则名称" disabled/>
        </el-form-item>
        <el-form-item label="规则权重" prop="weight">
          <el-input-number v-model="ruleForm.weight" :precision="1" placeholder="请输入规则权重" />
          <el-input-number v-model="ruleForm.weight" :precision="1" :step="0.1" placeholder="请输入规则权重"/>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
@@ -105,16 +110,12 @@
    <el-dialog :title="title" :visible.sync="indexOpen" width="600px" append-to-body>
      <el-form ref="form" :model="indexForm" :rules="rules" label-width="150px">
        <el-form-item label="考核日期" prop="create_time">
          <el-input v-model="ruleForm.create_time" placeholder="请输入规则名称" disabled>
          <el-input v-model="formattedCreateTime" placeholder="" disabled>
          </el-input>
        </el-form-item>
<!--        <el-form-item label="考核对象" prop="checkRuleName">-->
<!--          <el-input v-model="ruleForm.checkRuleName" placeholder="请输入规则名称" disabled/>-->
<!--        </el-form-item>-->
        <div v-for="item in tableData" :key="item.ruleIndex">
          <el-form-item :label="item.ruleName" :prop="item.ruleIndex">
            <el-input-number v-model="indexForm[item.ruleIndex]" :precision="4" placeholder="请输入指标"></el-input-number>
            <el-input-number v-model="indexForm[item.ruleIndex]" :precision="4" :step="0.1" placeholder="请输入指标"></el-input-number>
          </el-form-item>
        </div>
      </el-form>
@@ -127,9 +128,10 @@
</template>
<script>
import { listCheckResult, getCheckResult, delCheckResult, addCheckResult, updateCheckResult,manualScore, publishCheckResult } from "@/api/platform/check-result";
import { listScore, getScoreIndex, delScore, addScore, updateScore } from "@/api/platform/check-score";
import { areaSelect } from '@/api/system/dept'
import {listScore, getScoreIndex, delScore, addScore, updateScore} from "@/api/platform/check-score";
import {updateWeight} from "@/api/platform/check-template";
import {areaSelect} from '@/api/system/dept'
export default {
  name: "CheckResult",
@@ -137,9 +139,11 @@
  data() {
    return {
      id: null,
      examineCategory: null,
      date: '',
      examineTag: null,
      deptId: null,
      areaList:[],
      areaList: [],
      tableData: [],
      dataMap: [],
      manualScoreOpen: false,
@@ -173,15 +177,22 @@
      //请求参数
      queryParams: {
        id: null,
        date: null,
      },
      // 表单校验
      rules: {}
    };
  },
  computed: {
    formattedCreateTime() {
      // 如果 create_time 存在,则返回日期部分,否则返回空字符串
      return this.indexForm.create_time ? this.indexForm.create_time.split('T')[0] : '';
    },
  },
  created() {
    //考核成绩详情跳转参数接收
    if(this.$route.query.id){
      this.id = this.$route.query.id
    if (this.$route.query.id) {
      this.queryParams.id = this.$route.query.id
    }
    // 考核积分列表
    this.getList();
@@ -191,7 +202,7 @@
    /** 查询考核计分列表 */
    getList() {
      this.loading = true;
      getScoreIndex(this.id).then(response => {
      getScoreIndex(this.queryParams).then(response => {
        this.checkRuleList = response.data.checkRuleList;
        this.dataMap = response.data.scoreMap.dataMap;
        this.tableData = response.data.scoreMap.tableData
@@ -211,8 +222,7 @@
        checkRuleName: null,
        weight: null,
      };
      this.indexForm = {
      };
      this.indexForm = {};
      this.resetForm(formName);
    },
    translateDeptId(deptId) {
@@ -225,29 +235,23 @@
        this.areaList = res.data;
      })
    },
    cancelManualScore() {
      this.manualScoreForm = {};
      this.manualScoreTitle = "";
      this.manualScoreOpen = false;
    /** 返回按钮 */
    goBack() {
      const obj = { path: "/examine/detail", query: { index: this.$route.query.deptId, examineTag: this.$route.query.examineTag, pageNum: this.$route.query.pageNum } };
      this.$tab.closeOpenPage(obj);
    },
    submitManualScore() {
      if (! this.manualScoreForm.manualScore) {
        this.$modal.msgWarning("请填写分数");
        return
    // 关闭当前tab页签,打开新页签
    closeOpenPage(obj) {
      store.dispatch("tagsView/delView", router.currentRoute);
      if (obj !== undefined) {
        return router.push(obj);
      }
      manualScore(this.manualScoreForm).then(res => {
        this.$modal.msgSuccess("操作成功");
        this.cancelManualScore();
        this.getList();
      })
    },
    handleSetManualScore(row) {
      this.manualScoreForm.id = row.id;
      this.manualScoreForm.manualScore = parseInt(row.manualScore);
      this.manualScoreTitle = row.checkUnitName + '人工打分'
      this.manualScoreOpen = true;
    dateChange() {
      this.queryParams.date = this.date;
      console.log(this.queryParams);
      this.getList();
    },
    /** 搜索按钮操作 */
    handleQuery() {
      this.getList();
@@ -261,7 +265,7 @@
    // 多选框选中数据
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.id)
      this.single = selection.length!==1
      this.single = selection.length !== 1
      this.multiple = !selection.length
    },
    /** 新增按钮操作 */
@@ -288,37 +292,21 @@
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.id != null) {
            updateCheckResult(this.form).then(response => {
          if (this.ruleForm.id != null) {
            updateWeight(this.ruleForm).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addCheckResult(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.ruleOpen = false;
              this.getList();
            });
          }
        }
      });
    },
    /** 删除按钮操作 */
    handleDelete(row) {
      const ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除考核结果编号为"' + ids + '"的数据项?').then(function() {
        return delCheckResult(ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** 导出按钮操作 */
    handleExport() {
      this.download('system/checkResult/export', {
      this.download('/check/score/export', {
        ...this.queryParams
      }, `checkResult_${new Date().getTime()}.xlsx`)
      }, `考核指标_${new Date().getTime()}.xlsx`)
    },
    handleSelect(key, keyPath) {
      console.log(key, keyPath);
@@ -328,57 +316,6 @@
</script>
<style scoped>
.line {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}
.line-right {
  width: 50px;
}
.input{
  width: 200px;
}
.input-w {
  margin-left: 5px;
  width: 70px;
}
.row-warp {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  border: solid 1px gray;
  /*padding: 3px;*/
}
.row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  border-bottom: solid 1px gray;
  padding: 3px;
}
.row:last-of-type {
  border-bottom: none;
}
.row-left {
  flex: 2;
  border-right: solid 1px gray;
}
.row-right {
  flex: 4;
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.header-container {
  display: flex;
  align-items: center; /* 垂直居中 */
}
.header-container h2 {
  margin-right: 10px; /* 根据需要调整标题和菜单之间的间距 */
src/views/system/check/result/detail/index.vue
File was renamed from src/views/system/result/detail/index1.vue
@@ -50,18 +50,33 @@
        <el-table-column label="分数" prop="score" align="center">
        </el-table-column>
        <el-table-column label="状态" prop="publish" align="center">
        </el-table-column>
        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
          <template slot-scope="scope">
            <el-button size="small" type="text" v-show="scope.row.publish != 1">确认发布</el-button>
            <el-button size="small" type="text" v-show="scope.row.publish == 1">取消发布</el-button>
            <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row.id)">详细</el-button>
            <dict-tag :options="dict.type.platform_is_publish" :value="scope.row.publish" />
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center">
          <template slot-scope="scope">
            <div style="display: flex;justify-content: center;">
            <el-button size="small" type="text" @click="handlePublish(scope.row)" v-if="scope.row.publish === 'UNPUBLISHED'" >确认发布</el-button>
            <el-button size="small" type="text" @click="handlePublish(scope.row)" v-if="scope.row.publish === 'PUBLISHED'">取消发布</el-button>
            <el-button
              size="mini"
              type="text"
              icon="el-icon-view"
              @click="handleDetail(scope.row.id)"
            >详细</el-button>
            </div>
          </template>
        </el-table-column>
      </el-table>
      <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
        @pagination="getList" />
    <pagination
      v-show="total>0"
      :total="total"
      :page.sync="queryParamsList.pageNum"
      :limit.sync="queryParamsList.pageSize"
      @pagination="getList"
    />
    </div>
@@ -76,11 +91,15 @@
let observer = null;
export default {
  name: 'index',
  dicts: ['platform_examine_use', 'platform_examine_category'],
  dicts: ['platform_examine_category','platform_is_publish'],
  data() {
    return {
      activeIndex: '0',
      areaList: [],
      province: {
        id: [],
        publish: null,
      },
      date: '',
      dateRange: '',
      // 总条数
@@ -91,9 +110,15 @@
        deptId: null,
        examineTag: 0
      },
      queryParamsList: {
        pageNum: 1,
        pageSize: 10,
        deptId: null,
        examineTag:0
      },
      tableData: [],
      loading: false,
      tableLoading: false,
      loading: false,
      searchForm: {
        time: null,
      }
@@ -104,12 +129,16 @@
    console.log(this.$route.query.index)
    if (this.$route.query.index) {
      this.queryParams.deptId = this.$route.query.index
      this.queryParamsList.deptId = this.$route.query.index
    }
    const date = new Date();
    const year = date.getFullYear();
    const month = (date.getMonth() + 1) >= 10 ? date.getMonth() + 1 : '0' + (date.getMonth() + 1);
    this.date = year + '-' + month;
    this.queryParams.date = this.date;
    this.queryParams.examineTag =this.$route.query.examineTag;
    this.queryParamsList.examineTag =this.$route.query.examineTag;
    this.activeIndex = this.$route.query.examineTag;
    this.areaSelect();
    this.getList(this.$route.query.index);
  },
@@ -117,6 +146,37 @@
  },
  methods: {
    //发布
    handlePublish(row) {
      const getExamineCategoryText = category => {
        switch (category) {
          case 1: return '视频考核';
          case 2: return '车辆考核';
          case 3: return '人脸考核';
          default: return '未知';
        }
      };
      const year = row.createTime.substr(0, 4);
      const month = (parseInt(row.createTime.substr(5, 2), 10)).toString();
      const day = (parseInt(row.createTime.substr(8, 2), 10)).toString();
      const formattedCreateTime = year + '年' + month + '月' + day + '日';
      let text = row.publish === 'UNPUBLISHED' ? '发布' : '取消发布';
      this.province.id = [row.id]
      this.province.publish = text === "发布" ? "PUBLISHED" : "UNPUBLISHED";
      this.$modal.confirm('确认要' + text + "" + getExamineCategoryText(row.examineCategory) + "" + formattedCreateTime + '的考核成绩吗?')
        .then(() => {
          return publishScore(this.province);
        })
        .then(() => {
          this.getList();
          this.$modal.msgSuccess(text + "成功");
        })
        .catch(() => {
          // 错误处理逻辑
        });
    },
    // 区域下拉数据
    areaSelect() {
      areaSelect().then(res => {
@@ -131,8 +191,9 @@
    handleSelect(key) {
      this.activeIndex = key;
      this.queryParams.examineTag = key;
      this.queryParamsList.examineTag = key;
      this.getChart(this.queryParams.deptId);
      this.getList(this.queryParams.deptId);
      this.getList(this.queryParamsList.deptId);
    },
    /** 查询考核模板列表 */
    getChart(deptId) {
@@ -146,7 +207,7 @@
    /** 查询考核模板列表 */
    getList() {
      this.tableLoading = true;
      detailScore(this.queryParams).then(response => {
      detailScore(this.queryParamsList).then(response => {
        this.tableData = response.rows;
        this.total = response.total;
        this.tableLoading = false;
@@ -160,9 +221,11 @@
    },
    handleDetail(id) {
      this.$router.push({
        path: '/examine/detail/detail',
        path: '/check/detail/detail',
        query: {
          id: id,
          examineTag: this.activeIndex,
          deptId: this.queryParamsList.deptId
        }
      })
    },
@@ -196,7 +259,7 @@
        series: [
          {
            name: '车辆考核',
            data: this.filterData(dataList, 0),
            data: this.filterData(dataList, 2),
            type: 'line',
            itemStyle: {
              color: 'rgba(62, 144, 247, 1)'
@@ -204,7 +267,7 @@
          },
          {
            name: '人脸考核',
            data: this.filterData(dataList, 1),
            data: this.filterData(dataList, 3),
            type: 'line',
            itemStyle: {
              color: 'rgba(85, 192, 191, 1)'
@@ -212,7 +275,7 @@
          },
          {
            name: '视频考核',
            data: this.filterData(dataList, 2),
            data: this.filterData(dataList, 1),
            type: 'line',
            itemStyle: {
              color: 'rgba(255, 165, 0, 1)'
@@ -252,6 +315,10 @@
    },
    getAllDay() {
      // const date = new Date();
      // const year = date.getFullYear();
      // const month = (date.getMonth() + 1) >= 10 ? date.getMonth() + 1 : '0' + (date.getMonth() + 1);
      // this.date = year + '-' + month;
      const currentDate = this.date.split('-');
      const currentYear = currentDate[0];
      const currentMonth = currentDate[1];
@@ -282,8 +349,8 @@
    dateChange() {
      this.queryParams.date = this.date;
      console.log(this.queryParams);
      this.getChart(this.queryParams.deptId);
      this.getList(this.queryParams.deptId);
    }
  },
src/views/system/check/result/index.vue
File was renamed from src/views/system/result/index.vue
@@ -3,8 +3,8 @@
    <div>
      <el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect"
        style="margin-bottom: 10px">
        <el-menu-item index="1">省厅考核</el-menu-item>
        <el-menu-item index="2">市局考核</el-menu-item>
        <el-menu-item index="0">省厅考核</el-menu-item>
        <el-menu-item index="1">市局考核</el-menu-item>
      </el-menu>
    </div>
@@ -13,10 +13,6 @@
        <div class="card-content">
          <div class="title-container">
            <h1>考核成绩</h1>
            <div class="select-container">
              <el-date-picker v-model="date" type="date" placeholder="选择日期">
              </el-date-picker>
            </div>
          </div>
          <div class="echart-container">
            <div id="barChart" ref="barChart"></div>
@@ -39,9 +35,9 @@
                </div>
                <div v-for="(score, scoreIndex) in city" :key="scoreIndex">
                  <div class="score-item">
                    <div v-if="score.examineCategory == 0">车辆:</div>
                    <div v-else-if="score.examineCategory == 1">人脸:</div>
                    <div v-else-if="score.examineCategory == 2">视频:</div>
                    <div v-if="score.examineCategory == 2">车辆:</div>
                    <div v-else-if="score.examineCategory == 3">人脸:</div>
                    <div v-else-if="score.examineCategory == 1">视频:</div>
                    <div class="score">{{ score.score }}</div>
                  </div>
                </div>
@@ -77,8 +73,7 @@
      },
      checkScoreList: [],
      areaList: [],
      activeIndex: '1',
      activeIndex2: '2',
      activeIndex: '0',
      date: '',
      company: '',
      dataList: {
@@ -95,6 +90,7 @@
    }
  },
  created() {
    this.queryParams.examineTag = this.activeIndex
    this.getList();
    this.areaSelect();
  },
@@ -105,9 +101,10 @@
  methods: {
    jumpDetail(index) {
      this.$router.push({
        path: '/examine/detail',
        path: '/check/detail',
        query: {
          index: index
          index: index,
          examineTag: this.activeIndex
        }
      })
    },
@@ -176,9 +173,9 @@
        }
      });
      const nameArray = mapData.map(item => item.name);
      const data1 = this.filterData(mapData, 0);
      const data2 = this.filterData(mapData, 1);
      const data3 = this.filterData(mapData, 2);
      const data1 = this.filterData(mapData, 1);
      const data2 = this.filterData(mapData, 2);
      const data3 = this.filterData(mapData, 3);
      const option = {
        grid: {
          left: 0,
@@ -277,16 +274,12 @@
    /** 导航切换 */
    handleSelect(key) {
      this.activeIndex = key; // 更新当前激活的菜单项
      this.queryParams.examineTag = key;
      this.getList();
    },
    /** 查询考核成绩列表 */
    getList() {
      this.loading = true;
      if (this.activeIndex === '1') {
        this.queryParams.examineTag = '0'; // 省厅考核
      } else if (this.activeIndex === '2') {
        this.queryParams.examineTag = '1'; // 区域考核
      }
      // 获取当前日期
      const today = new Date();
@@ -310,7 +303,7 @@
      const cityName = this.translateDeptId(parseInt(city[0].deptId));
      this.province.publish = text === "发布" ? "PUBLISHED" : "UNPUBLISHED";
      this.province.id = city.map(city => city.id);
      this.$modal.confirm('是否确认' + text + '考核名为"' + cityName + '"的数据项?')
      this.$modal.confirm('是否确认' + text + '考核名为"' + cityName + '"的成绩?')
        .then(() => {
          return publishScore(this.province);
        })
src/views/system/check/rule/index.vue
src/views/system/check/template/index.vue
File was renamed from src/views/system/template/index.vue
@@ -223,7 +223,7 @@
<script>
import { listCheckTemplate, getCheckTemplate, delCheckTemplate, addCheckTemplate, updateCheckTemplate,copyCheckTemplate } from "@/api/platform/check-template";
import { areaSelect } from '@/api/system/dept'
import { listCheckRule } from "../../../api/platform/check-rule";
import { listCheckRule } from "../../../../api/platform/check-rule";
export default {
  name: "CheckTemplate",
@@ -314,11 +314,11 @@
      const faceRules = this.ruleList['faceRules']; // 人脸相关的规则集合
      // 使用条件语句来选择规则列表
      if (ruleListKey == 0) {
      if (ruleListKey == 2) {
        return carRules;
      } else if (ruleListKey == 1) {
      } else if (ruleListKey == 3) {
        return faceRules;
      } else if (ruleListKey == 2) {
      } else if (ruleListKey == 1) {
        return videoRules;
      } else {
        // 默认返回一个空数组或备选方案
src/views/system/contract/contract-result/index.vue
File was renamed from src/views/system/calculate/order/index.vue
@@ -164,7 +164,7 @@
</template>
<script>
import { resultRecord, listCheckResult, getCheckResult, delCheckResult, addCheckResult, updateCheckResult,manualScore, publishCheckResult } from "@/api/platform/check-result";
import { resultRecord, listCheckResult, getCheckResult, delCheckResult, addCheckResult, updateCheckResult,manualScore, publishCheckResult } from "@/api/platform/contract-result";
import { unitSelect } from "@/api/platform/unit";
export default {
src/views/system/contract/contract/index.vue
File was renamed from src/views/system/contract/index.vue
@@ -140,10 +140,10 @@
<script>
import { listContract, getContract, updateContract } from "@/api/platform/contract";
import { getRuleListByContractId } from "../../../api/platform/calculate-rule";
import { getMoneyRulesByContractId } from "../../../api/platform/calculate-money-rule";
import { unitSelect } from "../../../api/platform/unit";
import { deptSelect } from "../../../api/system/dept";
import { getRuleListByContractId } from "../../../../api/platform/calculate-rule";
import { getMoneyRulesByContractId } from "../../../../api/platform/calculate-money-rule";
import { unitSelect } from "../../../../api/platform/unit";
import { deptSelect } from "../../../../api/system/dept";
import { getToken } from "@/utils/auth";
import { ImagePreview } from "@/components/ImagePreview";
src/views/system/contract/report/index.vue
src/views/system/contract/score/index.vue
src/views/system/data-manage/equipment/index.vue
src/views/system/data-manage/vehicle-data-monitor/index.vue
src/views/system/monitor/car/index.vue
src/views/system/monitor/face/index.vue
src/views/system/monitor/platform/index.vue
src/views/system/monitor/recovery/index.vue
src/views/system/monitor/video/index.vue
src/views/system/point/region/index.vue
src/views/system/publish/city/index.vue
File was deleted
src/views/system/publish/default/index.vue
File was deleted
src/views/system/publish/province/index.vue
File was deleted
src/views/system/report/index.vue
@@ -177,7 +177,7 @@
          <el-date-picker v-model="auditingForm.endCreateTime" disabled />
        </el-form-item>
        <el-form-item label="报备内容">
          <el-input type="textarea" v-html="auditingForm.reportContent" disabled />
          <span v-html="auditingForm.reportContent"></span>
        </el-form-item>
        <el-form-item label="上报材料">
          <el-link
@@ -344,7 +344,7 @@
        this.queryParams["endAuditingTime"] = this.daterangeAuditingTime[1];
      }
      listReport(this.queryParams).then(response => {
        this.reportList = response.data;
        this.reportList = response.data.records;
        this.total = response.total;
        this.loading = false;
      });
src/views/system/result/default/detail.vue
File was deleted
src/views/system/result/default/index.vue
File was deleted
src/views/system/result/detail/index.vue
File was deleted
src/views/system/rule/default/index.vue
File was deleted
src/views/system/template/default/index.vue
File was deleted
src/views/system/work-order/distribute/index.vue
@@ -202,7 +202,7 @@
      queryParams: {
        unitId: null,
        pageNum: 1,
        pageSize: 20,
        pageSize: 10,
      },
      // 总条数
      total: 0,
@@ -266,7 +266,7 @@
      this.loading = true;
      this.selectUnit();
      distributeWorkOrder(this.queryParams).then(res => {
        this.workOrderList = res.data;
        this.workOrderList = res.data.records;
        this.total = res.total;
        this.loading = false;
      })
src/views/system/work-order/index.vue
@@ -44,12 +44,12 @@
    </el-form>
    <el-row :gutter="20">
      <el-col :xl="6" :lg="8" :md="12" :sm="24"  v-for="item in workOrderList" :key="item" style="margin-bottom: 20px;">
      <el-col :xl="6" :lg="8" :md="12" :sm="24"  v-for="item in workOrderList" :key="item.id" style="margin-bottom: 20px;">
        <el-card :body-style="{ padding: '0px',display: 'flex' }">
          <el-image :preview-src-list="['https://img2.baidu.com/it/u=68398439,1553004927&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=357']" fit="cover" src="https://img2.baidu.com/it/u=68398439,1553004927&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=357" class="image"/>
          <div style="padding-right: 10px;padding-top: 10px;">
            <el-row>
              <el-col :span="24" class="time">故障类型:<el-tag size="small" type="danger">市政施工</el-tag></el-col>
              <el-col :span="24" class="time">故障类型:<el-tag size="small" type="danger">{{ item.errorType }}</el-tag></el-col>
            </el-row>
            <el-row class="work-order-item">
              <el-col class="time" :span="24">运维人员:{{ item.ywPeopleName }}</el-col>
@@ -141,10 +141,10 @@
          <el-input v-model="auditingForm.ywPeopleName" disabled />
        </el-form-item>
        <el-form-item label="现场情况" v-if="auditingForm.condition">
          <el-input type="textarea" v-html="auditingForm.condition" disabled />
          <span v-html="auditingForm.condition"></span>
        </el-form-item>
        <el-form-item label="佐证材料" v-if="auditingForm.proofMaterials">
          <el-link v-for="item in auditingForm.proofMaterials != null ? auditingForm.proofMaterials.split(',') : auditingForm.proofMaterials" :underline="false" :key="item" @click="handleDownload(item)">{{ item.substring(item.lastIndexOf("/") + 1) }}</el-link>
          <el-link v-for="item in auditingForm.proofMaterials != null ? auditingForm.proofMaterials.split(',') : auditingForm.proofMaterials" :underline="false" :key="item.id" @click="handleDownload(item)">{{ item.substring(item.lastIndexOf("/") + 1) }}</el-link>
        </el-form-item>
        <el-form-item label="审核结果" prop="auditingResult">
          <el-radio v-model="auditingForm.auditingResult" label="AUDITING_SUCCESS">通过</el-radio>
@@ -212,7 +212,7 @@
          </el-step>
          <el-step title="运维处理">
            <template slot="description">
              <div class="y-item" v-for="(item, index) in ywHandleList">
              <div class="y-item" v-for="(item, index) in ywHandleList" :key="index">
                <div class="y-item-1">
                  <div class="flow-item-x">
                    现场情况:
@@ -237,7 +237,7 @@
          </el-step>
          <el-step title="结果审核">
            <template slot="description">
              <div class="y-item" v-for="(item, index) in ywAuditingList">
              <div class="y-item" v-for="(item, index) in ywAuditingList" :key="index">
                <div class="y-item-1">
                  <div class="flow-item-x">
                    审核结果:<el-tag :type="item.result == '审核通过' ? 'success' : 'danger'" size="small">{{ item.result }}</el-tag>
@@ -538,8 +538,8 @@
    getList() {
      this.loading = true;
      this.queryParams.params = {};
      this.queryParams["start"] = this.daterangeYwHandleTime[0];
      this.queryParams["end"] = this.daterangeYwHandleTime[1];
      this.queryParams["start"] = this.daterangeYwHandleTime ? this.daterangeYwHandleTime[0] : null;
      this.queryParams["end"] = this.daterangeYwHandleTime ? this.daterangeYwHandleTime[1] : null;
      if (this.queryParams["status"] == "") { this.queryParams["status"] = "DISTRIBUTED"; }
      listWorkOrder(this.queryParams).then(response => {
        this.workOrderList = response.data;
src/views/system/work-order/threshold/index.vue
File was renamed from src/views/system/threshold/index.vue
@@ -162,7 +162,7 @@
<script>
import { listThreshold, getThreshold, editVideo } from '@/api/platform/threshold'
import { editCar, editFace, getCar, getFace, getVideo } from '../../../api/platform/threshold'
import { editCar, editFace, getCar, getFace, getVideo } from '../../../../api/platform/threshold'
export default {
  dicts: ['image_qualify', 'video_qualify'],