jiangping
2025-04-10 4a9b4626e7b359f813d4bb117e1e73e5a62975a8
admin/src/components/business/OperaWorkorderDetailSheWindow.vue
@@ -1,7 +1,7 @@
<template>
  <GlobalWindow
      :title="title"
      width="80%"
      width="85%"
      :visible.sync="visible"
      :confirm-working="isWorking"
      @confirm="confirm">
@@ -17,35 +17,75 @@
            <div class="h1">{{ cateList[type] }}</div>
            <div class="time">提交时间:{{ info.createDate }}</div>
          </div>
          <div class="right"  :class="{ scs: info.status == '4', msg: info.status == '3' }">{{   statusMap[info.status] }}</div>
          <div class="right"  :class="{ scs: info.status == '3' || info.status == '4' || info.status == '5',  msg: info.status == '6' }">{{statusMap[info.status] }}</div>
        </div>
        <div class="info">
          <div class="title">访客预约信息</div>
          <div class="title">工单信息</div>
          <div class="list">
            <div class="item">
              <div class="label">被访人</div>
              <div class="value">{{ info.visitUserName }}</div>
              <div class="label">员工姓名</div>
              <div class="value">{{ info.memberName }} - {{ info.memberPhone || '[无手机号]' }}</div>
            </div>
            <div class="item">
              <div class="label">来访时间</div>
              <div class="value">{{ info.visitTime }}</div>
              <div class="label">上报时间</div>
              <div class="value">{{ info.submitDate +' '}}</div>
            </div>
            <div class="item">
              <div class="label">来访事由</div>
              <div class="value">{{ info.visitReason }}</div>
              <div class="label">涉及人员</div>
              <div class="value" v-if="info.memberType == 2">供应商-{{info.memberNames}}</div>
              <div class="value" v-else-if="info.memberType == 1">同事-{{info.memberNames}}</div>
              <div class="value" v-else>本人</div>
            </div>
            <div class="item">
              <div class="label">随行车辆</div>
              <div class="value">{{ info.carNos }}</div>
              <div class="label">发生地点</div>
              <div class="value">{{ info.locationName }}</div>
            </div>
            <div class="item">
              <div class="label">涉及施工作业</div>
              <div class="value">{{ info.type == "0" ? "否" : "是" }}</div>
              <div class="label">外部就医</div>
              <div class="value">{{ info.outJiuyi == "0" ? "否" : "是" }}</div>
            </div>
            <div class="item" v-if="info.outJiuyi == '0'">
              <div class="label">医务室</div>
              <div class="value">{{ info.isYiwushi == "0" ? "否" : "是" }}</div>
            </div>
            <div class="item" v-if="info.isYiwushi == '0'">
              <div class="label">是否受伤</div>
              <div class="value">{{ info.isHurted == "0" ? "否" : "是" }}</div>
            </div>
            <div class="item">
              <div class="label">施工内容</div>
              <div class="value">{{ info.constructionReason }}</div>
              <div class="label">伤害类型</div>
              <div class="value">{{ info.typeName }}</div>
            </div>
            <div class="item">
              <div class="label">和工作相关</div>
              <div class="value">{{ info.workRelated == "0" ? "否" : "是" }}</div>
            </div>
            <div class="item">
              <div class="label">事件说明</div>
              <div class="value">{{ info.eventInfo || '-'}}</div>
            </div>
            <div class="item" style="width: 100%">
          <div class="label">图片</div>
          <div class="value" v-if="info.multifileList ==null || !info.multifileList.length">无</div>
          <div class="value" v-if="info.multifileList !=null && info.multifileList.length">
            <div v-for="item in info.multifileList" :key="item.id" style="display: inline;margin-right: 20px">
              <video
                  v-if="item.fileurlFull && item.fileurlFull.endsWith('.mp4')"
                  ref="videoRef"
                  controls
                  preload="auto"
                  style="width: 80px;height: 80px;object-fit: contain;"
                  :src="item.fileurlFull"
              />
              <el-image
                  v-else-if="item.fileurlFull"
                  style="width:80px; height: 80px"
                  :src="item.fileurlFull"
                  :preview-src-list="[item.fileurlFull]">
              </el-image>
            </div>
          </div>
        </div>
          </div>
        </div>
      </div>
@@ -126,11 +166,12 @@
      title: '工单详情',
      info: {},
      statusMap: {
        0: '待审核',
        1: '处理中',
        2: '已同意',
        3: '已拒绝',
        4: '已取消',
        0: '待分配WTS',
        1: '待分配任务',
        2: '待处理',
        3: '已解决',
        4: '已解决',
        5: '已解决'
      },
      cateList: {
        0: 'SHE事件工单',
@@ -241,6 +282,7 @@
        .item {
          display: flex;
          width: 40%;
          font-size: 14px;
          margin-bottom: 20px;
          &:nth-of-type(2n) {
@@ -263,6 +305,7 @@
      display: flex;
      justify-content: space-between;
      align-items: center;
      vertical-align: center;
      padding: 20px 30px;
      margin: 0 -30px;
      border-radius: 8px 8px 0 0;