linwenling
2023-08-24 ba911169712067ed25e6c757cc5a2b5b4e0ea670
ruoyi-ui/src/views/pet/index.vue
@@ -78,40 +78,7 @@
          v-hasPermi="['system:role:remove']"
        >删除</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['family:note:export']"
        >导出</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['family:note:export']"
        >导入模板下载</el-button>
      </el-col>
      <el-col :span="1.2">
        <el-upload
          action=""
          class="upload-demo"
          :show-file-list="false"
          :http-request="handleEnport"
        >
          <el-button size="mini"   type="primary"
                     plain
                     icon="el-icon-plus" >导入</el-button>
        </el-upload>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
@@ -190,11 +157,11 @@
          <el-input v-model="formDat.name" placeholder="请输入名字" clearable :style="{width: '100%'}" ></el-input>
        </el-form-item>
        <el-form-item label="出生日期" prop="birth">
          <el-date-picker
          <el-input
            v-model='formDat.birth'
            type='date'
            placeholder='选择日期'
          ></el-date-picker>
          ></el-input>
        </el-form-item>
        <el-form-item label="性别" prop="sex">
          <el-select v-model="formDat.sex" placeholder="请选择性别" clearable :style="{width: '100%'}"  >
@@ -256,9 +223,9 @@
        <el-upload
          action="#"
          list-type="picture-card"
          multiple
          :limit="1"
          :http-request="requestUpload"
          :file-list="fileList"
          :file-list="fileList1"
        >
          <i slot="default" class="el-icon-plus"></i>
          <div slot="file" slot-scope="{file}">
@@ -294,9 +261,9 @@
        <el-upload
          action="#"
          list-type="picture-card"
          multiple
          :http-request="requestUpload"
          :file-list="fileList"
          :limit="1"
          :http-request="requestUpload2"
          :file-list="fileList2"
        >
          <i slot="default" class="el-icon-plus"></i>
          <div slot="file" slot-scope="{file}">
@@ -319,13 +286,11 @@
        <span
          v-if="!disabled"
          class="el-upload-list__item-delete"
          @click="handleRemove(file)"
          @click="handleRemoveFile(file)"
        >
          <i class="el-icon-delete"></i>
        </span>
      </span>
          </div>
        </el-upload>
      </el-form>
@@ -374,7 +339,7 @@
      showSearch: true,
      // 总条数
      total: 0,
      // 资产表格数据
      petList: [],
      // 弹出层标题
      title: "",
@@ -390,11 +355,9 @@
      dateRange: [],
      // 数据范围选项
      fot:[".jpg",".jif"],
      fileList:[
      ],
      fileListOther:[
      ],
      fileList1:[ ],
      fileList2:[ ],
      fileListOther:[ ],
      dsb:true,
      btn:false,
      formDat: {
@@ -419,7 +382,8 @@
        diseatHabit: undefined,
        LifeHabit: undefined,
        disLifeHabit: undefined,
        url: undefined,
        headPicture:undefined,
        fullPicture:undefined,
      },
      petList: {
@@ -438,6 +402,8 @@
        LifeHabit: undefined,
        disLifeHabit: undefined,
        url: undefined,
        headPicture:undefined,
        fullPicture:undefined,
      },
      // 菜单列表
@@ -475,7 +441,7 @@
          trigger: 'blue'
        }],
        securityCode: [{
          required: true,
          // required: true,
          message: '请输入防伪码',
          trigger: 'blue'
        }],
@@ -495,7 +461,7 @@
          trigger: 'blue'
        }],
        properties: [{
          required: true,
          // required: true,
          message: '请输入性质',
          trigger: 'blue'
        }],
@@ -506,13 +472,13 @@
        }],
        LifeHabit: [{
          required: true,
          // required: true,
          message: '请输入生活习惯(喜)',
          trigger: 'blur'
        }],
        disLifeHabit: [{
          required: true,
          // required: true,
          message: '请输入生活习惯(恶)',
          trigger: 'blur'
        }],
@@ -528,6 +494,27 @@
          message: '请输入饮食习惯(喜)',
          trigger: 'blur'
        }],
        masterName: [{
          required: true,
          message: '请输入主人姓名',
          trigger: 'blur'
        }],
        masterIdNum: [{
          required: true,
          message: '请输入主人身份证号码',
          trigger: 'blur'
        }],
        phone: [{
          required: true,
          message: '请输入手机号',
          trigger: 'blur'
        }],
        masterAddress: [{
          required: true,
          message: '请输入主人地址',
          trigger: 'blur'
        }],
      },
@@ -546,6 +533,8 @@
  },
  methods: {
    // 取消按钮
    cancelData() {
      this.open = false;
@@ -599,8 +588,14 @@
      );
    },
    handleRemove(file) {
      for(let i = 0; i < this.fileList.length; i++)
      {
        if(this.fileList[i].url==file.url)
          this.$delete(this.fileList,i);
      }
    },
    handleRemoveFile(file) {
      for(let i = 0; i < this.fileListOther.length; i++)
      {
        if(this.fileListOther[i].url==file.url)
@@ -684,52 +679,69 @@
      });
    },
    //放大
    handlePictureCardPreview(file) {
      this.dialogImageUrl = file.url;
      this.dialogVisible = true;
    },
    /** 提交按钮(数据权限) */
    submitDataScope: function() {
      let ul = this.fileList.map(function (elem){
      let ul = this.fileList1.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      let uls = this.fileListOther.map(function (elem){
      let uls = this.fileList2.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      this.formDat.url = ul+","+uls
      this.$refs["elForm"].validate(valid => {
        if (valid) {
      this.formDat.headPicture = ul,
        this.formDat.fullPicture = uls,
        this.$refs["elForm"].validate(valid => {
          if (valid) {
          addPet(this.formDat).then(response => {
            this.$modal.msgSuccess("新增成功");
            this.open = false;
            this.getList();
          });
        }
            addPet(this.formDat).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        });
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
      this.handleRemove(this.fileList[0]);
      this.handleRemoveFile(this.fileListOther[0]);
    },
    requestUpload(params)
    {
      var file = params.file;
      var formData = new FormData();
      formData.append('uploadFile', file);
      let _this = this
      uploadPic(formData).then(response => {
        let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
        _this.fileList1.push({name:response.data.fileName, url:response.data.url})
        // _this.fileList2.push({name:response.data.fileName, url:response.data.url})
        console("ok")
      })
        if(_this.fot.includes(pth) === true)
        {
          _this.fileList.push({name:response.data.fileName, "url":response.data.url})
    },
    requestUpload2(params)
    {
      var file = params.file;
      var formData = new FormData();
        }
      formData.append('uploadFile', file);
      let _this = this
        else{
          _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
        }
      uploadPic(formData).then(response => {
        let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
        // _this.fileList1.push({name:response.data.fileName, url:response.data.url})
        _this.fileList2.push({name:response.data.fileName, url:response.data.url})
        console("ok")
      })
    },
@@ -743,29 +755,15 @@
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** 导出按钮操作 */
    handleExport() {
      this.download('family/pet/export', {
        ...this.queryParams
      }, `pet_${new Date().getTime()}.xlsx`)
    },
    /** 导入操作*/
    handleEnport(params){
      var file = params.file;
      var formData = new FormData();
      formData.append('excelImport', file);
      let _this = this
      alert(file)
      enload(formData).then(response => {
        _this.getList();
        Message({ message: "导入成功", type: 'warning' })
      }).catch(err)
      {
        Message({ message: "导入失败", type: 'error' })
      }
    }
  }
};
</script>
@@ -778,4 +776,14 @@
  background: #FFEFF2;
}
.upload-demo .el-upload-list__item-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.upload-demo .el-icon-plus {
  font-size: 28px;
  color: #999;
  border: 1px dashed #999;
}
</style>