feige
2024-02-02 bd40473c9c634005bc7e62e7fc901bcd8b598fa0
ruoyi-ui/src/views/device/equipmentInfo.vue
@@ -1,13 +1,18 @@
<template>
  <div class="app-container">
  <div class="app-container" id="printable-content">
    <div class="form-header mt">
      <h1 style="font-size:21px;padding-top:30px;display: flex;justify-content: space-between;align-items: center;">
        <span>家庭设备详情</span>
        <div   style="display: flex; align-items: center;">
          <el-button size="mini" type="text"  @click="checkNote()" v-hasPermi="['person:information:memo']">
          <el-button size="mini" type="text"  @click="checkNote"  v-hasPermi="['person:information:memo']">
            <div class="form" ><el-icon  style="padding-right:110px;"></el-icon>
              <span class="text" style="width: 69px;height: 26px;font-size: 16px;
            font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">备忘本</span></div>
          </el-button>
          <el-button size="mini" type="text"  v-print="'#printable-content'" v-hasPermi="['person:information:memo']">
            <div class="form" ><el-icon  style="padding-right:110px;"></el-icon>
              <span class="text" style="width: 69px;height: 26px;font-size: 16px;
            font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">打印</span></div>
          </el-button>
        </div>
      </h1>
@@ -35,8 +40,11 @@
        </el-input>
      </el-form-item>
      <el-form-item label="是否注销" prop="status">
        <el-select v-model="formData.status=== 1 ? '是':'否'" placeholder="请选择是否注销" clearable :style="{width: '100%'}" :disabled="dsb" >
        </el-select>
        <el-select v-model="formData.status" placeholder="请选择是/否" clearable :style="{width: '100%'}" :disabled="dsb" >
                  <el-option v-for="(item, index) in typeOptions2" :key="index" :label="item.label" :value="item.value"
                  ></el-option>
                </el-select>
      </el-form-item>
      <!-- <el-form-item label="家庭号" prop="familyId">
@@ -48,15 +56,20 @@
      </el-form-item>
      <h4 class="form-header">电子文件 </h4>
      <h4 class="form-header">相关图片 </h4>
      <el-upload
        action="#"
        list-type="picture-card"
        multiple
        :http-request="requestUpload"
        :file-list="fileList"
        :disabled="!btn"
        :class="{ hide: !btn }"
      >
        <i slot="default" class="el-icon-plus"></i>
        <div v-if="uploading" class="upload-status">正在上传...</div>
        <i v-if="!uploading" slot="default" class="el-icon-plus"></i>
        <div slot="file" slot-scope="{file}">
          <img
            class="el-upload-list__item-thumbnail"
@@ -66,29 +79,29 @@
            fit="cover"
            :preview-src-list="[file.url]"
          >
          <span class="el-upload-list__item-actions" >
            <span
          <span class="el-upload-list__item-actions">
        <span
              class="el-upload-list__item-preview"
              @click="handlePictureCardPreview(file)"
            >
              <i class="el-icon-zoom-in"></i>
            </span>
            <span
          class="el-upload-list__item-preview"
          @click="handlePictureCardPreview(file)"
        >
          <i class="el-icon-zoom-in"></i>
        </span>
        <span
              class="el-upload-list__item-delete"
              @click="handleDownload(file.url)"
            >
              <i class="el-icon-download"></i>
            </span>
            <span
              v-if="isShow"
              class="el-upload-list__item-delete"
              @click="handleRemove(file)"
            >
              <i class="el-icon-delete"></i>
            </span>
          </span>
          class="el-upload-list__item-delete"
          @click="handleDownload(file.url)"
        >
          <i class="el-icon-download"></i>
        </span>
        <span
          v-if="isShow"
          class="el-upload-list__item-delete"
          @click="handleRemove(file)"
        >
          <i class="el-icon-delete"></i>
        </span>
      </span>
        </div>
@@ -105,18 +118,30 @@
        :on-remove="handleRemoveFile"
        :http-request="requestUpload"
        :show-file-list="true"
        :disabled="!btn"
        :class="{ hide: !btn }"
      >
        <i slot="default" class="el-icon-plus"></i>
        <div v-if="uploading" class="upload-status">正在上传...</div>
        <i v-if="!uploading" slot="default" class="el-icon-plus"></i>
        <div slot="file" slot-scope="{file}">
          <img
          <!-- 添加video元素用于显示视频 -->
          <video
            v-if="file.url.includes('.mp4')"
            class="el-upload-list__item-thumbnail"
            src="../../assets/401_images/401.gif"
            alt=""
            :src="file.url"
            style="width: 147px; height: 147px"
            fit="cover"
          >
          ></video>
          <img v-else
               class="el-upload-list__item-thumbnail"
               src="../../assets/401_images/401.gif"
               alt=""
               style="width: 147px; height: 147px"
               fit="cover">
          <span class="el-upload-list__item-actions">
               <span class="el-upload-list__item-name">{{ file.name }}</span>
                    <span
                      class="el-upload-list__item-preview"
                      @click="handleFileCardPreview(file)"
@@ -137,8 +162,7 @@
                    >
                      <i class="el-icon-delete"></i>
                    </span>
                  </span>
              </span>
        </div>
@@ -151,7 +175,7 @@
    </el-form>
    <el-dialog  :visible.sync="dialogVisible">
      <img w-full :src="dialogImageUrl"    style="width: 700px; height: 700px" alt="Preview Image" />
      <img w-full :src="dialogImageUrl"    style="width: 100%; height: 100%" alt="Preview Image" />
    </el-dialog>
  </div>
</template>
@@ -169,7 +193,10 @@
    return {
      cdi:"家庭设备信息",
      udi:"家庭设备修改",
      fot:[".jpg",".jif"],
    // 数据范围选项
    fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx',
      '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng'],
      fileList:[
      ],
      fileListOther:[
@@ -178,6 +205,7 @@
      dsb:true,
      btn:false,
      isShow:true,
      uploading: false,
      formData: {
        name: undefined,
@@ -189,6 +217,16 @@
        url: undefined,
        happenTime:undefined
      },
      typeOptions2: [
        {
          value: '否',
          label: '否',
        },
        {
          value: '是',
          label: '是',
        }
      ],
      desurl:'',
      dialogImageUrl: '',
      dialogVisible: false,
@@ -249,13 +287,14 @@
      this.btn= jd
      this.dsb = !jd
      this.isShow=true
      document.title = "修改家庭设备详细信息";
    //  document.title = "修改家庭设备详细信息";
      this.$route.meta.title = "修改家庭设备详细信息";//列表的名称
    }
    else{
      document.title = "家庭设备详细信息";
    //  document.title = "家庭设备详细信息";
      this.$route.meta.title = "家庭设备详细信息";//列表的名称
      this.isShow=true
      this.btn = false;
      this.isShow=false
    }
    let _this = this
@@ -264,6 +303,10 @@
      getEquipmentInfo(id).then((response) => {
        this.formData = response.data;
        if(this.formData.status==1)
          this.formData.status = '是'
        else
        this.formData.status = '否'
        let paths = response.data.url.split(",");
        for(let i = 0; i < paths.length; i++)
        {
@@ -310,18 +353,28 @@
      this.formData.url = ul+","+uls
      this.$refs['elForm'].validate(valid => {
if(this.formData.status=='是')
          this.formData.status = 1
        else
        this.formData.status = 0
        if (valid) {
          if (this.formData.id != undefined) {
            updateEquipment(this.formData).then(response => {
              this.$modal.msgSuccess("修改成功");
              // this.open = false;
              if(this.formData.status==1)
                this.formData.status = '是'
              else
              this.formData.status = '否'
              this.btn=false
            });
          } else {
            this.$modal.msgSuccess("修改失败");
if(this.formData.status==1)
          this.formData.status = '是'
        else
        this.formData.status = '否'
          }
        }
      })
@@ -358,9 +411,16 @@
    },
    handleFileCardPreview(file){
      this.dialogFileUrl = file.url;
      // alert(file.url)
      // this.dialogFileUrl = 'https://www.bendudu.com:8080/profile/upload/2023/10/18/20231018214647A011.doc'
      // this.dialogFileUrl = 'https://47.93.189.255:8080/profile/upload/2023/03/19/test7_20230319222030A007.jpg'
      if(this.dialogFileUrl.includes("47.93.189.255")==true)
        this.dialogFileUrl = this.dialogFileUrl.replace("47.93.189.255","www.bendudu.com")
      //alert(this.dialogFileUrl)
      const Base64 = require('js-base64').Base64
      this.desurl = process.env.VUE_APP_BASE_OTHER_API+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
      var myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
      this.desurl = process.env.VUE_APP_BASE_OTHER_API+"preview/"+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
      let myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
    },
    handlePictureCardPreview(file) {
      this.dialogImageUrl = file.url;
@@ -394,14 +454,16 @@
    },
    requestUpload(params)
    {
      var file = params.file;
      var formData = new FormData();
      formData.append('uploadFile', file);
      let _this = this
      this.uploading = true;
      uploadPic(formData).then(response => {
        let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
        this.uploading = false;
        this.$modal.msgSuccess("上传成功");
        if(_this.fot.includes(pth) === true)
        {
          _this.fileList.push({name:response.data.fileName, "url":response.data.url})
@@ -412,6 +474,20 @@
          _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
        }
        let ul = _this.fileList.map(function (elem){
            return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
          }).join(",")
          let uls = _this.fileListOther.map(function (elem){
            return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
          }).join(",")
          _this.formData.url = ul+","+uls
          console.log(_this.formData.url)
        //  alert(87)
          updateEquipment(_this.formData).then(response => {
            this.$modal.msgSuccess("图片上传成功");
            // this.open = false;
          });
      })
    }
@@ -420,7 +496,7 @@
}
</script>
<style>
<style scoped>
.mt
{
  position: relative;
@@ -429,6 +505,9 @@
  display: block;
}
.hide /deep/ .el-upload--picture-card {
   display: none;
}
.form{
  background:center/11% no-repeat url('../../assets/icons/form.png') ;
}