feige
2024-04-17 39c0ad120acd120b62cb69dc92b6fe63e8edf902
ruoyi-ui/src/views/note/memo.vue
@@ -11,6 +11,7 @@
        <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '————'}}</template>
      </el-table-column>
      <el-table-column label="内容" prop="content" sortable width="180px" />
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
        <template slot-scope="scope" v-if="scope.row.roleId !== 1">
@@ -18,7 +19,7 @@
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleUpdate(scope.row)"
            @click="editAutobiography(scope.row)"
            v-hasPermi="['familymodel:economy:info']"
          >修改</el-button>
          <el-button
@@ -41,31 +42,106 @@
      style="background: #FEF7FC;"
    />
    <!-- 添加或修改资产信息配置对话框 -->
    <el-dialog :title="isEdit1 ? '编辑' : '新增'" :visible.sync="open" width="900px" append-to-body>
      <el-col >
        <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px">
    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
      <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px">
          <el-form-item label="时间" prop="happenTime">
            <el-date-picker
              v-model='formDat.happenTime'
              type='date'
              placeholder='选择日期'
           value-format="yyyy-MM-dd"
            ></el-date-picker>
          </el-form-item>
        <el-form-item label="时间" prop="happenTime">
          <el-date-picker
            v-model='formDat.happenTime'
            type='date'
            placeholder='选择日期'
          ></el-date-picker>
        </el-form-item>
          <el-form-item label="内容" prop="content">
            <el-input v-model="formDat.content" placeholder="请输入内容" clearable :style="{width: '100%'}" >
            </el-input>
          </el-form-item>
        <el-form-item label="内容" prop="content">
          <el-input v-model="formDat.content" placeholder="请输入内容" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <h4 class="form-header">相关图片 </h4>
          <el-upload
            action="#"
            list-type="picture-card"
            multiple
            :http-request="requestUpload"
            :file-list="fileList"
        :on-change="handleChange"
        :auto-upload="false"
          ref="upload"
          >
          <i slot="default" class="el-icon-plus"></i>
          <div slot="file" slot-scope="{file}">
            <img
              class="el-upload-list__item-thumbnail"
              :src="file.url"
              alt=""
              style="width: 126px; height: 126px"
              fit="cover"
              :preview-src-list="[file.url]"
            >
            <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
          v-if="!disabled"
          class="el-upload-list__item-delete"
          @click="handleRemove(file)"
        >
          <i class="el-icon-delete"></i>
        </span>
      </span>
          </div>
        </el-upload>
      <el-button
               style="margin-left: 10px"
               size="small"
               type="success"
      </el-form>
               @click="picUpload"
             >上传到服务器</el-button>
        <h4 class="form-header">其他附件 </h4>
<el-upload
          action=""
          :file-list="fileListOther"
          class="upload-demo"
          multiple
          :on-remove="handleRemoveFile"
          :show-file-list="true"
        ref="upload1"
        :on-change="handleChange1"
        :auto-upload="false"
        list-type="picture-card"
          :http-request="requestUpload1"
        >
          <el-button type="primary">点击上传</el-button>
          <template #tip>
            <div class="el-upload__tip">
            </div>
          </template>
        </el-upload>
<el-button
                style="margin-left: 10px"
                size="small"
                type="success"
                @click="fileUpload"
              >上传到服务器</el-button>
        </el-form>
      </el-col>
      <h4 class="form-header"> </h4>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitDataScope">确 定</el-button>
        <el-button type="primary" @click="submitDataScope6">保 存</el-button>
        <el-button @click="cancelData">取 消</el-button>
      </div>
    </el-dialog>
@@ -85,20 +161,25 @@
//在system/note/index.js中导入接口函数  --接好了
import {addNote,listNote,enload,delNote, uploadPic} from "@/api/allmemo/index";
import {addNote,listNote,updateNote,delNote, uploadPic} from "@/api/allmemo/index";
import { TimeSelect } from "element-ui";
import {addAutobiography, updateAutobiography} from "@/api/self";
export default {
  name: "Role",
  dicts: ['sys_normal_disable'],
  data() {
    return {
      // dialogImageUrl: '',
      // dialogVisible: false,
      isEdit1:false,
      // 遮罩层
      disabled: false,
      loading: true,
      formData:[],
      // 选中数组
      ids: [],
      id:undefined,
      // 非单个禁用
      single: true,
      // 非多个禁用
@@ -108,7 +189,13 @@
      // 总条数
      total: 0,
      // 家大事记表格数据
      memoList: [],
      memoList: {
        id:undefined,
        content: undefined,
        happenTime: undefined,
        fid:2007,
        cid:undefined,
        url:''},
      // 弹出层标题
      title: "",
      // 是否显示弹出层
@@ -122,20 +209,24 @@
      // 日期范围
      dateRange: [],
      // 数据范围选项
      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:[
      ],
      fileList1:[],
      uploadFileList: [],
      uploadFileList1: [],
      fileListOther:[],
      dsb:true,
      btn:false,
      formDat: {
        id:undefined,
        content: undefined,
        happenTime: undefined,
        fid:2007,
        cid:undefined,
        url:''
      },
      // 菜单列表
      menuOptions: [],
@@ -191,6 +282,180 @@
  },
  methods: {
    //  弹窗
    handleShow(scope){
      this.openDataScope = true
      this.getList()
    },
    fileUpload(){
    //   var file = params.file;
       var formData = new FormData();
    //   this.$refs.upload1.submit();
       // formData.append('uploadFile', file);
       if(this.uploadFileList1.length==0){
            this.$modal.msgSuccess("文档上传列表不能为空!");
            return
       }
       this.uploadFileList1.forEach((elem)=>{
          formData.append("files", elem)
       })
       let _this = this
       this.uploading = true;
       uploadPic(formData).then(response => {
       _this.uploadFileList1 = []
       _this.formDat.url = _this.formDat.url+","+response.fileNames
       _this.$modal.msgSuccess("文件上传成功!");
         })
    },
    picUpload()
    {
      // alert('1321321')
       var formData = new FormData();
    if(this.uploadFileList.length==0){
         this.$modal.msgSuccess("图片上传列表不能为空!");
         return}
       this.uploadFileList.forEach((elem)=>{
          formData.append("files", elem)
       })
    const cid = this.$route.params && this.$route.params.id;
      const fid =2007;
      this.formDat.fid = 2007;
      this.formDat.cid = parseInt(cid) ;
       let _this = this
        uploadPic(formData).then(response => {
          _this.formDat.url = _this.formDat.url+","+response.fileNames
      alert(_this.formDat.url)
         _this.uploadFileList = []
        console.log(_this.formDat)
        updateNote(_this.formDat).then(response => {
          alert(984)
         _this.$modal.msgSuccess("图片上传成功");
        })
      });
            console.log(this.formDat,'formDatformDatformDatformDat')
    },
    //个人自传的保存
    submitDataScope6: function() {
      const cid = this.$route.params && this.$route.params.id;
      const fid =2007;
      this.formDat.fid = 2007;
      this.formDat.cid = cid ;
      // console.log(this.formDat,'formDatformDatformDatformDat')
      // console.log(this.isEdit1)
      this.$refs["elForm"].validate(valid => {
        if (valid) {
          if (this.isEdit1) {
            // 执行修改操作
            updateNote(this.formDat).then(response => {
              // console.log("1")
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              //清空formDat对象的数据
              Object.keys(this.formDat).forEach(key => {
                this.formDat[key] = '';
              });
              for(let i = 0; i <= this.fileList.length; i++)
              {
                this.handleRemove(this.fileList[0]);
              }
              for(let i = 0; i < this.fileListOther.length; i++){
                this.handleRemoveFile(this.fileListOther[0]);
              }
              this.isEdit1 = false;
              this.getList(2007,cid);
            }).catch(error => {
              console.log(error,'erroerro1');
              this.isEdit1 = false;
              this.open = false;
            });
          } else {
            // 执行新增操作
         // console.log(this.formDat)
            addNote(this.formDat).then(response => {
              // this.formDat.term = selectedOption.label;
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              //清空formDat对象的数据
              Object.keys(this.formDat).forEach(key => {
                this.formDat[key] = '';
              });
              for(let i = 0; i <= this.fileList.length; i++)
              {
                this.handleRemove(this.fileList[0]);
              }
              for(let i = 0; i < this.fileListOther.length; i++){
                this.handleRemoveFile(this.fileListOther[0]);
              }
              this.getList(2007,cid);
            }).catch(error => {
              console.log(error,'erroerro2');
              this.open = false;
            });
          }
        }
      });
      // 重置isEdit为false,以便下次点击新增时为新增操作
      this.isEdit1 = false;
    },
    editAutobiography(row) {
      const id = row.id;
      // console.log(id)
      // console.log(row.content)
      this.isEdit1 = true;
      this.formDat.cid = row.cid;
      this.formDat.id = row.id;
      this.formDat.happenTime = row.happenTime;
      this.formDat.content = row.content;
      this.formDat.url = row.url
      this.open = true;
      //console.log(this.formDat)
      let paths = this.formDat.url.split(",");
      //      alert( this.formDat.url)
      let _this = this
      _this.fileList = []
      _this.fileListOther = []
      for(let i = 0; i < paths.length; i++)
      {
        if(paths[i]!="") {
            let pth = paths[i].substr(paths[i].length - 4, paths[i].length)
        //   alert(pth)
            if (_this.fot.includes(pth) === true)
           {
              if(paths[i][0]=="/")
              _this.fileList.push({name:paths[i],url: process.env.VUE_APP_BASE_TRUE_API+paths[i].substr(1),res:false})
             else
                _this.fileList.push({name:paths[i],url: process.env.VUE_APP_BASE_TRUE_API+paths[i],res:false})
             }
            else {
              // alert(paths[i])
            // alert()
              let nms = paths[i].split("\/")
              let nm = nms[nms.length - 1]
             if(paths[i][0]=="/")
              _this.fileListOther.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i].substr(1),res:false})
              else
              _this.fileListOther.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i],res:false})
           }
          }
      }
      },
    // 取消按钮
    cancelData() {
@@ -219,17 +484,38 @@
      listNote(cid, 2007).then(response => {
          this.memoList = response.data;
          console.log(this.memoList)
          this.total = response.data.total;
          console.log(response,'11111111111111111111111')
          this.loading = false;
        }
      );
    },
    // handleRemove(file) {
    //   for(let i = 0; i < this.fileListOther.length; i++)
    //   {
    //     if(this.fileListOther[i].url==file.url)
    //       this.$delete(this.fileListOther,i);
    //   }
    // },
    handleRemove(file) {
        for(let i = 0; i < this.fileList.length; i++)
        {
          if(this.fileList[i].url==file.url)
          {
            this.$delete(this.fileList,i);
               this.$delete(this.uploadFileList,i);
               }
        }
      },
    handleRemoveFile(file) {
      for(let i = 0; i < this.fileListOther.length; i++)
      {
        if(this.fileListOther[i].url==file.url)
       {
          this.$delete(this.fileListOther,i);
         this.$delete(this.uploadFileList1,i);
         }
      }
    },
@@ -298,8 +584,9 @@
    /** 新增按钮操作 */
    handleAdd() {
      this.reset();
      this.isEdit1=false;
      this.open = true;
      this.title = "新增隐私备忘本";
    },
    /** 修改按钮操作 */
@@ -307,12 +594,7 @@
      const id = row.id;
      let jd = true
      this.$router.push({
        path:"/self/travel/travelInfo/" + id,
        query:{
          detail:jd
        }
      });
    },
@@ -340,42 +622,38 @@
          addNote(this.formDat).then(response => {
            this.$modal.msgSuccess("新增成功");
            this.open = false;
            // this.queryParams.cid = cid
            // this.queryParams.fid = fid
            this.getList(this.formDat.fid,this.formDat.cid);
            //清空formDat对象的数据
            Object.keys(this.formDat).forEach(key => {
              this.formDat[key] = '';
            });
            this.getList(2007,cid);
            resetQuery();
          });
        }
      });
      //清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
    },
    requestUpload(params)
    requestUpload(params) {
    //alert(98)
     //    this.uploadFileList.push(params.file);
    },
    requestUpload1(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)
        if(_this.fot.includes(pth) === true)
        {
          _this.fileList.push({name:response.data.fileName, "url":response.data.url})
        }
        else{
          _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
        }
      })
    //     this.uploadFileList1.push(params.file);
    },
    handleChange(file, fileList1) {
          //定义一个全局数组uploadFileList来做存储
         console.log("=========5555=========")
         console.log(file)
           this.uploadFileList.push(file.raw);
            this.fileList.push({name:file.name,url:file.url})
       },
       handleChange1(file, fileOtherList1) {
          //定义一个全局数组uploadFileList来做存储
       this.uploadFileList1.push(file.raw);
        this.fileListOther.push({name:file.name,url:file.url})
         console.log("=========5555=========")
       },
    /** 删除按钮操作 */
    handleDelete(row) {
      const id = row.id || this.id;
@@ -416,7 +694,7 @@
      var formData = new FormData();
      formData.append('excelImport', file);
      let _this = this
      alert(file)
      enload(formData).then(response => {
        _this.getList();
        Message({ message: "导入成功", type: 'warning' })
@@ -429,12 +707,8 @@
    }
  },
  //  弹窗
  handleShow(scope){
    this.openDataScope = true
    this.getList()
  }
};
</script>