fuliqi
2024-03-20 818974046db55a4a1912e928bee2b729d7c67a41
Merge remote-tracking branch 'origin/master'
3个文件已修改
218 ■■■■ 已修改文件
src/views/system/car/index.vue 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/face/index.vue 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/work-order/distribute/index.vue 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/car/index.vue
@@ -34,14 +34,27 @@
      </el-row>
    </el-card>
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label="设备名称" prop="name">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
      <el-form-item label="关键字" prop="name">
        <el-input
          v-model="queryParams.name"
          placeholder="请输入设备名称"
          placeholder="请输入关键字"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="地区" prop="onState">
        <el-select
          v-model="queryParams.address"
          placeholder="地区"
          clearable
        >
        <el-option label="自贡市" value="自贡市"/>
        <el-option label="沿滩区" value="沿滩区"/>
        <el-option label="大安区" value="大安区"/>
        <el-option label="贡井区" value="贡井区"/>
        <el-option label="自流井区" value="自流井区"/>
        </el-select>
      </el-form-item>
      <el-form-item label="设备状态" prop="onState">
        <el-select
@@ -94,34 +107,34 @@
    </el-row>
    <el-table v-loading="loading" :data="monitorList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="设备编码" align="center" prop="serialNumber" width="180px"/>
      <el-table-column label="设备名称" align="center" prop="name" />
      <el-table-column label="上报部门" align="center" prop="deptName" />
      <el-table-column type="selection" align="center" />
      <el-table-column label="设备名称" align="center" prop="name" width="280" fixed/>
      <el-table-column label="设备编码" align="center" prop="serialNumber" width="180"/>
      <el-table-column label="区域" align="center" prop="address" width="180"/>
      <el-table-column label="标签" align="center" prop="publicSecurity" width="180"/>
      <el-table-column label="设备状态" align="center" prop="onState">
      <template slot-scope="scope">
        <dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
      </template>
      </el-table-column>
      <el-table-column label="地址" align="center" prop="address" />
      <el-table-column label="是否生成异常工单" align="center" prop="defaultOrder">
        <template slot-scope="scope">
            <dict-tag :options="dict.type.platform_yes_no" :value="scope.row.defaultOrder"/>
        </template>
      <el-table-column label="是否生成异常工单" align="center" prop="defaultOrder" width="180">
      <template slot-scope="scope">
        <dict-tag :options="dict.type.platform_yes_no" :value="scope.row.defaultOrder"/>
      </template>
      </el-table-column>
      <el-table-column label="异常原因" align="center" prop="reason" />
      <el-table-column label="数据时间" align="center" prop="installedTime" width="180">
      </el-table-column>
      <el-table-column label="管理单位" align="center" prop="managementUnit" />
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
        <template slot-scope="scope">
          <el-button
            size="mini"
            type="text"
            icon="el-icon-view"
            @click="handleView(scope.row,scope.index)"
          >详细</el-button>
        </template>
      <el-table-column label="数据时间" align="center" prop="installedTime" width="180"/>
      <el-table-column label="管理单位" align="center" prop="managementUnit" width="180"/>
      <el-table-column label="过车数据量" align="center" prop="model" width="180"/>
      <el-table-column label="持续无数据天数" align="center" prop="recovery" width="180"/>
      <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-view"
              @click="handleView(scope.row,scope.index)"
            >详细</el-button>
          </template>
      </el-table-column>
    </el-table>
@@ -140,6 +153,7 @@
          <el-col :span="12">
            <el-form-item label="设备编码:">{{ form.serialNumber }}</el-form-item>
            <el-form-item label="设备名称:">{{ form.name }} </el-form-item>
            <el-form-item label="地区:">{{ form.address }} </el-form-item>
            <el-form-item label="上报部门:">{{ form.deptName }} </el-form-item>
            <el-form-item label="设备状态:">
              <div v-if="form.onState === 1">可用</div>
@@ -155,14 +169,17 @@
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="异常原因:">{{ form.reason }}</el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="安装时间:">{{ form.installedTime }}</el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="管理单位:">{{ form.managementUnit }}</el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="过车数据量:">{{ form.model }}</el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="持续无数据天数:">{{ form.recovery }}</el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
src/views/system/face/index.vue
@@ -34,14 +34,27 @@
      </el-row>
    </el-card>
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label="设备名称" prop="name">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
      <el-form-item label="关键字" prop="name">
        <el-input
          v-model="queryParams.name"
          placeholder="请输入设备名称"
          placeholder="请输入关键字"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="地区" prop="onState">
        <el-select
          v-model="queryParams.address"
          placeholder="地区"
          clearable
        >
        <el-option label="自贡市" value="自贡市"/>
        <el-option label="沿滩区" value="沿滩区"/>
        <el-option label="大安区" value="大安区"/>
        <el-option label="贡井区" value="贡井区"/>
        <el-option label="自流井区" value="自流井区"/>
        </el-select>
      </el-form-item>
      <el-form-item label="设备状态" prop="onState">
        <el-select
@@ -93,34 +106,34 @@
    </el-row>
    <el-table v-loading="loading" :data="monitorList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="设备编码" align="center" prop="serialNumber" width="180px"/>
      <el-table-column label="设备名称" align="center" prop="name" />
      <el-table-column label="上报部门" align="center" prop="deptName" />
      <el-table-column type="selection" align="center" />
      <el-table-column label="设备名称" align="center" prop="name" width="280" fixed/>
      <el-table-column label="设备编码" align="center" prop="serialNumber" width="180"/>
      <el-table-column label="区域" align="center" prop="address" width="180"/>
      <el-table-column label="标签" align="center" prop="publicSecurity" width="180"/>
      <el-table-column label="设备状态" align="center" prop="onState">
      <template slot-scope="scope">
        <dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
      </template>
      </el-table-column>
      <el-table-column label="地址" align="center" prop="address" />
      <el-table-column label="是否生成异常工单" align="center" prop="defaultOrder">
      <el-table-column label="是否生成异常工单" align="center" prop="defaultOrder" width="180">
      <template slot-scope="scope">
        <dict-tag :options="dict.type.platform_yes_no" :value="scope.row.defaultOrder"/>
      </template>
      </el-table-column>
      <el-table-column label="异常原因" align="center" prop="reason" />
      <el-table-column label="数据时间" align="center" prop="installedTime" width="180">
      </el-table-column>
      <el-table-column label="管理单位" align="center" prop="managementUnit" />
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
        <template slot-scope="scope">
          <el-button
            size="mini"
            type="text"
            icon="el-icon-view"
            @click="handleView(scope.row,scope.index)"
          >详细</el-button>
        </template>
      <el-table-column label="数据时间" align="center" prop="installedTime" width="180"/>
      <el-table-column label="管理单位" align="center" prop="managementUnit" width="180"/>
      <el-table-column label="抓拍量" align="center" prop="model" width="180"/>
      <el-table-column label="持续无数据天数" align="center" prop="recovery" width="180"/>
      <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-view"
              @click="handleView(scope.row,scope.index)"
            >详细</el-button>
          </template>
      </el-table-column>
    </el-table>
@@ -181,6 +194,7 @@
          <el-col :span="12">
            <el-form-item label="设备编码:">{{ form.serialNumber }}</el-form-item>
            <el-form-item label="设备名称:">{{ form.name }} </el-form-item>
            <el-form-item label="地区:">{{ form.address }} </el-form-item>
            <el-form-item label="上报部门:">{{ form.deptName }} </el-form-item>
            <el-form-item label="设备状态:">
              <div v-if="form.onState === 1">可用</div>
@@ -195,14 +209,17 @@
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="异常原因:">{{ form.reason }}</el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="安装时间:">{{ form.installedTime }}</el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="管理单位:">{{ form.managementUnit }}</el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="抓拍量:">{{ form.model }}</el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="持续无数据天数:">{{ form.recovery }}</el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
src/views/system/work-order/distribute/index.vue
@@ -4,23 +4,51 @@
      <el-col :span="24" style="position: relative">
        <el-menu :default-active="activeIndex" class="el-menu" mode="horizontal" @select="handleSelect">
          <el-menu-item index="0" @click="changeUnit(null, '全部')">
            全部单位
            全部单位(430)
          </el-menu-item>
          <el-menu-item index="1">
            自流井运维单位(70/70)
            自流井运维单位(70)
          </el-menu-item>
          <el-menu-item index="2">
            大安运维(50/50)
            大安运维(50)
          </el-menu-item>
          <el-menu-item index="3">富顺运维单位(20/70)</el-menu-item>
          <el-menu-item index="4">高新运维单位(15/40)</el-menu-item>
          <el-menu-item index="5">荣县运维单位(90/90)</el-menu-item>
          <el-menu-item index="6">贡井运维单位(45/45)</el-menu-item>
          <el-menu-item index="7">沿滩运维单位(70/70)</el-menu-item>
          <el-menu-item index="3">富顺运维单位(70)</el-menu-item>
          <el-menu-item index="4">高新运维单位(15)</el-menu-item>
          <el-menu-item index="5">荣县运维单位(90)</el-menu-item>
          <el-menu-item index="6">贡井运维单位(45)</el-menu-item>
          <el-menu-item index="7">沿滩运维单位(70)</el-menu-item>
        </el-menu>
        <el-tooltip class="item" effect="dark" content="自动下发设置" placement="left">
          <el-button class="setting" style="" type="success" icon="el-icon-s-tools" circle></el-button>
        <el-tooltip class="item" effect="dark" content="工单生成设置" placement="left">
        </el-tooltip>
        <el-popover
          placement="right"
          width="400"
          trigger="click">
          <el-form :model="settingForm" :rules="settingRules" ref="settingForm" label-width="120px">
            <el-form-item label="录像质量" prop="videoQuality">
              <el-select style="width: 100%" v-model="settingForm.videoQuality" placeholder="最低录像质量">
                <el-option label="全录像" value="全录像"/>
                <el-option label="部分录像" value="部分录像"/>
                <el-option label="无录像" value="无录像"/>
              </el-select>
            </el-form-item>
            <el-form-item label="点位离线时长" prop="outLine">
              <el-input type="number" v-model="settingForm.outLine" placeholder="不能超过多久">
                <template slot="append">分钟</template>
              </el-input>
            </el-form-item>
            <el-form-item label="视频标注准确率" prop="videoLabel">
              <el-input type="number" v-model="settingForm.videoLabel" placeholder="最低准确率">
                <template slot="append">%</template>
              </el-input>
            </el-form-item>
            <el-form-item>
              <el-button type="primary" @click="submitSetting">保存</el-button>
            </el-form-item>
          </el-form>
          <el-button title="自动生成工单设置" slot="reference" class="setting" style="" type="success" icon="el-icon-s-tools" circle></el-button>
        </el-popover>
      </el-col>
    </el-row>
@@ -100,6 +128,14 @@
  name: 'index',
  data() {
    return {
      settingForm: {
        // 离线
        outLine: null,
        // 视频可用
        videoQuality: "",
        // 视频标注
        videoLabel: ""
      },
      // 当前运维单位
      unitId: null,
      unitName: "",
@@ -114,6 +150,18 @@
        start: null,
        end: null,
        unitId: null
      },
      // 自动生成工单规则
      settingRules: {
        outLine: [
          { required: true, message: "请填写点位离线时长", trigger: "blur" }
        ],
        videoQuality: [
          { required: true, message: "请填写视频可用程度", trigger: "change" }
        ],
        videoLabel: [
          { required: true, message: "请填写点视频标注准确率", trigger: "blur" }
        ],
      },
      // 下发表单验证
      fastDistributeRules: {
@@ -142,6 +190,16 @@
    this.page();
  },
  methods: {
    submitSetting() {
      this.$refs['settingForm'].validate((valid) => {
        if (valid) {
          this.$modal.msgSuccess("保存成功")
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    },
    page() {
      this.loading = true;
      distributeWorkOrder(this.queryParams).then(res => {