马宇豪
2024-08-16 3b75798cc41993f9016610296907d2338545a345
src/views/specialWorkSystem/specialIndex/index.vue
@@ -15,10 +15,38 @@
      </el-button>
    </div>
    <div class="topChart">
<!--      <div class="chart-item">-->
<!--        <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>-->
<!--        <div class="chart-tit">-->
<!--          <span class="tit">各事业部关联作业分析</span>-->
<!--          <div class="filter-part">-->
<!--            <el-cascader :teleported="false" v-model="chartSearch2.depId" @change="changeDep2()" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>-->
<!--            <el-select v-model="chartSearch2.type" size="small" :teleported="false" @change="changeType2()">-->
<!--              <el-option-->
<!--                  v-for="item in workType1"-->
<!--                  :key="item.id"-->
<!--                  :label="item.name"-->
<!--                  :value="item.id"-->
<!--              />-->
<!--            </el-select>-->
<!--          </div>-->
<!--        </div>-->
<!--        <div class="chart" :id="slfx"></div>-->
<!--      </div>-->
      <div class="chart-item">
        <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>
        <div class="chart-tit">
          <span class="tit">八大作业各分类分布图</span>
          <span class="tit">特殊作业数量趋势</span>
          <div class="filter-part filter-part2">
            <el-cascader :teleported="false" v-model="chartSearch3.depId" @change="changeDep3()" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
          </div>
        </div>
        <div class="chart" :id="zyqs"></div>
      </div>
      <div class="chart-item">
        <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>
        <div class="chart-tit">
          <span class="tit">作业分类分布图</span>
          <div class="filter-part filter-part2">
            <el-cascader :teleported="false" v-model="chartSearch1.depId" @change="changeDep1()" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
          </div>
@@ -31,81 +59,48 @@
          <el-radio :label='365' border>近一年</el-radio>
        </el-radio-group>
      </div>
      <div class="chart-item">
        <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>
        <div class="chart-tit">
          <span class="tit">各事业部关联作业分析</span>
          <div class="filter-part">
            <el-cascader :teleported="false" v-model="chartSearch2.depId" @change="changeDep2()" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
            <el-select v-model="chartSearch2.type" size="small" :teleported="false" @change="changeType2()">
              <el-option
                  v-for="item in workType1"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
              />
            </el-select>
          </div>
        </div>
        <div class="chart" :id="slfx"></div>
      </div>
    </div>
    <div class="topChart">
      <div class="chart-item">
        <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>
        <div class="chart-tit">
          <span class="tit">关联作业趋势图</span>
          <div class="filter-part filter-part2">
            <el-cascader :teleported="false" v-model="chartSearch3.depId" @change="changeDep3()" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
          </div>
        </div>
        <div class="chart" :id="zyqs"></div>
      </div>
      <div class="chart-item">
        <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>
        <div class="chart-tit">
          <span class="tit">作业警报记录</span>
          <div class="filter-part">
<!--            <el-switch-->
<!--                v-model="chartSearch4.type"-->
<!--                inline-prompt-->
<!--                style="&#45;&#45;el-switch-on-color: #13ce66; &#45;&#45;el-switch-off-color: #13ce66"-->
<!--                active-text="作业人"-->
<!--                inactive-text="监护人"-->
<!--            />-->
            <el-select :teleported="false" v-model="chartSearch4.days" size="small" @change="(value)=>changeTime4(value)">
              <el-option label="近7天" :value="7"/>
              <el-option label="近30天" :value="30"/>
              <el-option label="近90天" :value="90"/>
              <el-option label="近1年" :value="365"/>
            </el-select>
            <el-select :teleported="false" v-model="chartSearch4.workType" size="small" @change="changeType4()">
              <el-option
                  v-for="item in workType1"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
              />
            </el-select>
          </div>
        </div>
        <div class="chart">
          <el-table ref="multipleTableRef" :data="warningData" style="width: 100%" stripe border :header-cell-style="{ background: '#fafafa' }">
            <el-table-column property="operatorUname" label="姓名" align="center"/>
            <el-table-column property="deptName" label="所属部门" align="center"/>
            <el-table-column property="warningCount" label="异常报警次数" align="center"/>
<!--            <el-table-column property="role" label="角色" align="center"/>-->
<!--            <el-table-column property="isCard" label="是否持证" align="center">-->
<!--              <template #default="scope">-->
<!--                <span>{{scope.row.isCard == 1?'是':'否'}}</span>-->
<!--              </template>-->
<!--            </el-table-column>-->
          </el-table>
<!--          <el-button type="text" size="small" style="margin-top: 10px">所有记录>></el-button>-->
        </div>
        <!--            <div class="chart" :id="slfx"></div>-->
      </div>
    </div>
<!--    <div class="topChart">-->
<!--      <div class="chart-item">-->
<!--        <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>-->
<!--        <div class="chart-tit">-->
<!--          <span class="tit">关联作业趋势图</span>-->
<!--          <div class="filter-part filter-part2">-->
<!--            <el-cascader :teleported="false" v-model="chartSearch3.depId" @change="changeDep3()" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>-->
<!--          </div>-->
<!--        </div>-->
<!--        <div class="chart" :id="zyqs"></div>-->
<!--      </div>-->
<!--      <div class="chart-item">-->
<!--        <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>-->
<!--        <div class="chart-tit">-->
<!--          <span class="tit">作业警报记录</span>-->
<!--          <div class="filter-part">-->
<!--            <el-select :teleported="false" v-model="chartSearch4.days" size="small" @change="(value)=>changeTime4(value)">-->
<!--              <el-option label="近7天" :value="7"/>-->
<!--              <el-option label="近30天" :value="30"/>-->
<!--              <el-option label="近90天" :value="90"/>-->
<!--              <el-option label="近1年" :value="365"/>-->
<!--            </el-select>-->
<!--            <el-select :teleported="false" v-model="chartSearch4.workType" size="small" @change="changeType4()">-->
<!--              <el-option-->
<!--                  v-for="item in workType1"-->
<!--                  :key="item.id"-->
<!--                  :label="item.name"-->
<!--                  :value="item.id"-->
<!--              />-->
<!--            </el-select>-->
<!--          </div>-->
<!--        </div>-->
<!--        <div class="chart">-->
<!--          <el-table ref="multipleTableRef" :data="warningData" style="width: 100%" stripe border :header-cell-style="{ background: '#fafafa' }">-->
<!--            <el-table-column property="operatorUname" label="姓名" align="center"/>-->
<!--            <el-table-column property="deptName" label="所属部门" align="center"/>-->
<!--            <el-table-column property="warningCount" label="异常报警次数" align="center"/>-->
<!--          </el-table>-->
<!--        </div>-->
<!--      </div>-->
<!--    </div>-->
    <div>
      <div class="homeCard">
        <dv-border-box10 v-if="isFull==true" class="item-bg"></dv-border-box10>
@@ -143,7 +138,7 @@
<!--            </div>-->
<!--          </el-col>-->
          <el-col :span="6" style="display:flex;align-items: center;">
            <span style="white-space: nowrap;margin-left: 20px">申请时间:</span>
            <span style="white-space: nowrap">申请时间:</span>
            <div class="grid-content topInfo">
              <el-date-picker
                  v-model="searchDate"
@@ -159,13 +154,19 @@
            </div>
          </el-col>
          <el-col :span="4" style="display:flex;align-items: center">
            <span style="white-space: nowrap;margin-left: 20px">作业票编号:</span>
            <span style="white-space: nowrap">作业票编号:</span>
            <div class="grid-content topInfo">
              <el-input
                  v-model="searchParams.workPermitNo"
                  placeholder="请输入作业票编号"
                  size="small"
              />
            </div>
          </el-col>
          <el-col :span="4" style="display:flex;align-items: center">
            <span style="white-space: nowrap">申请单位:</span>
            <div class="grid-content topInfo">
              <el-cascader :teleported="false" v-model="searchParams.applyDepId" @change="changeDep4()" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
            </div>
          </el-col>
          <el-button type="primary" style="margin-left: 20px" @click="searchRecord" size="small">查询</el-button>
@@ -205,16 +206,26 @@
            <el-table-column property="applyUname" label="申请人" align="center"/>
            <el-table-column property="applyDepName" label="申请单位" align="center"/>
            <el-table-column property="applyTime" label="申请时间" align="center"/>
            <el-table-column property="startUname" label="开始人" align="center">
            <el-table-column property="workLocation" label="作业地点" align="center">
              <template #default="scope">
                <span>{{scope.row.startUname?scope.row.startUname:'--'}}</span>
                <span>{{scope.row.workLocation?scope.row.workLocation:'--'}}</span>
              </template>
            </el-table-column>
            <el-table-column property="finishUname" label="结束人" align="center">
            <el-table-column property="workContent" label="作业内容" align="center">
              <template #default="scope">
                <span>{{scope.row.finishUname?scope.row.finishUname:'--'}}</span>
                <span>{{scope.row.workContent?scope.row.workContent:'--'}}</span>
              </template>
            </el-table-column>
<!--            <el-table-column property="startUname" label="开始人" align="center">-->
<!--              <template #default="scope">-->
<!--                <span>{{scope.row.startUname?scope.row.startUname:'&#45;&#45;'}}</span>-->
<!--              </template>-->
<!--            </el-table-column>-->
<!--            <el-table-column property="finishUname" label="结束人" align="center">-->
<!--              <template #default="scope">-->
<!--                <span>{{scope.row.finishUname?scope.row.finishUname:'&#45;&#45;'}}</span>-->
<!--              </template>-->
<!--            </el-table-column>-->
            <el-table-column property="workStartTime" label="作业开始时间" align="center">
              <template #default="scope">
                <span>{{scope.row.workStartTime?scope.row.workStartTime:'--'}}</span>
@@ -417,7 +428,8 @@
        workPermitNo: '',
        startTime: '',
        endTime: '',
        workAllStatus: null
        workAllStatus: null,
        applyDepId: null
      },
      dialogReview: false,
      departmentList: [],
@@ -455,7 +467,6 @@
        operators: []
      },
      casProps: {
        expandTrigger: 'hover',
        emitPath: false,
        value: 'depId',
        label: 'depName',
@@ -472,7 +483,8 @@
        { id: 5, name: '断路作业' },
        { id: 6, name: '高处作业' },
        { id: 7, name: '临时用电作业' },
        { id: 8, name: '盲板抽堵作业' }
        { id: 8, name: '盲板抽堵作业' },
        { id: 9, name: '打开作业' }
      ],
      workTypeList: [
        { id: 1, name: '动火作业' },
@@ -482,7 +494,8 @@
        { id: 5, name: '断路作业' },
        { id: 6, name: '高处作业' },
        { id: 7, name: '临时用电作业' },
        { id: 8, name: '盲板抽堵作业' }
        { id: 8, name: '盲板抽堵作业' },
        { id: 9, name: '打开作业' }
      ],
      workStatusList: [
        {
@@ -560,6 +573,9 @@
    }
    const changeDep3=()=>{
      getDepMonth()
    }
    const changeDep4=()=>{
      searchRecord()
    }
    const toFullscreen =()=>{
      const element = document.getElementById('bigScreen')
@@ -831,6 +847,7 @@
    }
    // 刷新
    const reLoadData = async () => {
      state.pageIndex = 1
      getMydepList()
    };
@@ -882,6 +899,7 @@
    // 关键词查询记录
    const searchRecord = async () => {
      state.pageIndex = 1
      getMydepList()
    };
    // 重置搜索
@@ -892,7 +910,8 @@
            workPermitNo: '',
            startTime: '',
            endTime: '',
            workAllStatus: null
            workAllStatus: null,
            applyDepId: null
      }
      state.searchDate = []
      state.pageIndex = 1
@@ -1058,6 +1077,7 @@
      changeType2,
      changeType4,
      changeDep3,
      changeDep4,
      toFullscreen,
      // handleReview,
      openVideo,
@@ -1120,7 +1140,7 @@
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
    height: 40%;
    height: 50%;
    &:last-of-type{
      margin-bottom: 0;
    }
@@ -1178,6 +1198,8 @@
        width: 100%;
        height: 85%;
        overflow-y: scroll;
        scrollbar-width: none; /* firefox */
        -ms-overflow-style: none; /* IE 10+ */
        .el-table{
          //:deep(.el-table__inner-wrapper){
          //  height: 100% !important;