loulijun2021
2022-12-30 afd3eab5d9db604134f570586ccd5598d38ce799
src/views/sbgl/wxjl.vue
@@ -131,6 +131,7 @@
          <el-table-column
            prop="repair_code"
            label="维修单号"
            show-tooltip-when-overflow
            min-width="160"
            sortable="custom"
          />
@@ -159,28 +160,33 @@
            prop="request_person"
            label="报修人"
            sortable="custom"
            show-tooltip-when-overflow
            width="100"
          />
          <el-table-column
            prop="request_date"
            label="报修时间"
            show-tooltip-when-overflow
            width="160"
            sortable="custom"
          />
          <el-table-column
            prop="repair_person"
            label="维修人"
            show-tooltip-when-overflow
            width="100"
            sortable="custom"
          />
          <el-table-column
            prop="repair_date"
            label="维修完成时间"
            show-tooltip-when-overflow
            width="160"
            sortable="custom"
          />
          <el-table-column
            prop="cycleDate"
            show-tooltip-when-overflow
            label="维修时长"
            width="120"
            sortable="custom"
@@ -193,11 +199,13 @@
            prop="verify_person"
            label="验证人"
            width="100"
            show-tooltip-when-overflow
            sortable="custom"
          />
          <el-table-column
            prop="verify_date"
            label="验证时间"
            show-tooltip-when-overflow
            width="160"
            sortable="custom"
          />
@@ -205,15 +213,16 @@
            prop="verify_result"
            label="验证结果"
            width="120"
            show-tooltip-when-overflow
            sortable="custom"
          >
            <template slot-scope="{row}">
              <div v-if="row.verify_result==='通过'" style="display: flex;align-items: center">
                <div style="margin-right: 5px;width:10px;height: 10px;border-radius: 50%;background-color: #42b983" />
                <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />
                通过
              </div>
              <div v-if="row.verify_result==='不通过'" style="display: flex;align-items: center">
                <div style="margin-right: 5px;width:10px;height: 10px;border-radius: 50%;background-color: red" />
                <i class="el-icon-info" style="margin-right: 2px" />
                不通过
              </div>
            </template>
@@ -226,7 +235,8 @@
            <template slot-scope="{row}">
              <i
                class="el-icon-tickets"
                style="cursor: pointer;color: #42b983;margin-right: 15px"
                :style="{color:$store.state.settings.theme}"
                style="cursor: pointer;margin-right: 15px"
                @click="edit('edit',row)"
              />
            </template>
@@ -256,7 +266,7 @@
    >
      <div style="font-size:16px;">
        <div style="margin-bottom: 20px">
          <i class="el-icon-s-operation" style="color:#42b983;" /> 设备报修信息:
          <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 设备报修信息:
        </div>
        <div style="display: flex;flex-direction: column;margin-left: 40px">
          <div style="margin-bottom: 10px">故障来源:{{ dialogData1.faultsource }}</div>
@@ -267,13 +277,13 @@
                style="width: 100px;margin-right: 10px"
                :src="baseUrl+item.img1url"
                alt=""
                @click="handlePictureCardPreview(baseUrl+item.img1url)"
                @click="handlePictureCardPreview(baseUrl+item.img1url,'设备报修/故障图片')"
              >
            </div>
          </div>
        </div>
        <div style="margin-bottom: 20px">
          <i class="el-icon-s-operation" style="color:#42b983;" /> 设备维修信息:
          <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 设备维修信息:
        </div>
        <div style="display: flex;flex-direction: column;margin-left: 40px">
          <div style="margin-bottom: 10px">故障描述:{{ dialogData2.faultdescr }}</div>
@@ -283,7 +293,7 @@
                style="width: 100px;margin-right: 10px"
                :src="baseUrl+item.img1url"
                alt=""
                @click="handlePictureCardPreview(baseUrl+item.img1url)"
                @click="handlePictureCardPreview(baseUrl+item.img1url,'设备维修/故障图片')"
              >
            </div>
          </div>
@@ -296,16 +306,23 @@
                style="width: 100px;margin-right: 10px"
                :src="baseUrl+item.img2url"
                alt=""
                @click="handlePictureCardPreview(baseUrl+item.img2url)"
                @click="handlePictureCardPreview(baseUrl+item.img2url,'设备维修/备件图片')"
              >
            </div>
          </div>
        </div>
        <div style="margin-bottom: 20px">
          <i class="el-icon-s-operation" style="color:#42b983;" /> 设备维修验证信息:
          <i class="el-icon-s-operation" :style="{color:$store.state.settings.theme}" /> 设备维修验证信息:
        </div>
        <div style="display: flex;flex-direction: column;margin-left: 40px">
          <div style="margin-bottom: 10px">验证结果:{{ isResult }}</div>
          <div style="margin-bottom: 10px;display: flex;">验证结果:
            <i v-if="isResult==='通过'" class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />
            <i v-if="isResult==='不通过'" class="el-icon-info" style="margin-right: 2px" />
            {{ isResult }}
          </div>
        </div>
      </div>
      <!--      图片预览对话框-->
@@ -316,7 +333,33 @@
        append-to-body
        @close="pictureHandleClose"
      >
        <img width="100%" :src="pictureUrl" alt="">
        <div style="font-size: 16px;margin-bottom: 10px">
          <i class="el-icon-s-comment" style="color:#42b983;" /> {{ pictureName }}
        </div>
        <img :key="new Date()" width="100%" :src="pictureUrl" alt="">
        <el-tooltip class="item" effect="light" content="上一张" placement="top">
          <div
            v-if="pictureUrlAll.findIndex(item => item.url === pictureUrl)!==0"
            style="position: absolute;top: 48%;left: 3.5%;"
          ><i
            style="color:#fff;cursor: pointer;font-size: 20px"
            class="el-icon-d-arrow-left"
            @click="arrowLeftClick(pictureUrl,pictureName)"
          /></div>
        </el-tooltip>
        <el-tooltip class="item" effect="light" content="下一张" placement="top">
          <div
            v-if="pictureUrlAll.findIndex(item => item.url === pictureUrl)!==pictureUrlAll.length-1"
            style="position: absolute;top: 48%;right: 3.5%;"
          >
            <i
              style="color:#fff;cursor: pointer;font-size: 20px"
              class="el-icon-d-arrow-right"
              @click="arrowRightClick(pictureUrl,pictureName)"
            /></div>
        </el-tooltip>
        <span slot="footer" class="dialog-footer">
          <div class="footerButton">
            <el-button @click="pictureVisible=false">返 回</el-button>
@@ -391,6 +434,8 @@
      pictureVisible: false, // 图片预览对话框
      pictureUrl: '', // 图片预览Url
      pictureName: '', // 图片预览名称
      pictureUrlAll: [], // 图片预览地址的所有Url
      title_value: '数据导入 / 点检部位',
      code: '4',
@@ -506,19 +551,58 @@
      this.dialogData1 = res.data1
      this.dialogData2 = res.data2
      this.isResult = row.verify_result
      // 设备报修图片集合
      if (this.dialogData1.faultimage) {
        this.dialogData1.faultimage.forEach(item => {
          this.pictureUrlAll.push(
            { url: this.baseUrl + item.img1url, name: '设备报修/故障图片' }
          )
        })
      }
      // 设备维修图片集合
      if (this.dialogData2.repairimage) {
        this.dialogData2.repairimage.forEach(item => {
          this.pictureUrlAll.push(
            {
              url: item.img1url ? this.baseUrl + item.img1url : this.baseUrl + item.img2url,
              name: item.img1url ? '设备维修/故障图片' : '设备维修/备件图片'
            }
          )
        })
      }
    },
    handlePictureCardPreview(url) {
    handlePictureCardPreview(url, name) {
      this.pictureVisible = true
      this.pictureUrl = url
      this.pictureName = name
    },
    arrowLeftClick(pictureUrl, pictureName) {
      this.pictureUrlAll.forEach((item, index) => {
        if (item.url === pictureUrl) {
          this.pictureUrl = this.pictureUrlAll[index - 1].url
          this.pictureName = this.pictureUrlAll[index - 1].name
        }
      })
    },
    arrowRightClick(pictureUrl, pictureName) {
      this.pictureUrlAll.forEach((item, index) => {
        if (item.url === pictureUrl) {
          this.pictureUrl = this.pictureUrlAll[index + 1].url
          this.pictureName = this.pictureUrlAll[index + 1].name
        }
      })
    },
    pictureHandleClose() {
      this.pictureUrl = ''
      this.pictureName = ''
    },
    // 对话框关闭事件
    handleClose() {
      this.dialogData1 = {}
      this.dialogData2 = {}
      this.isResult = ''
      this.pictureUrlAll = []
    },
    async download() {
      let reportdate = this.form.reportdate