<template>
  <div>
    <el-button type="primary" size="small" @click="actionSubmit" v-if="disabled">提报</el-button>
    <el-button type="primary" size="small" disabled v-else>提报</el-button>
    <el-drawer title="提报上传" :visible.sync="isFileInfoPanlShow">
      <el-button type="warning" size="small" class="btn1" @click="save()">保存</el-button>
      <div class="content" style="word-break:break-all">
        <p>提报内容</p>
        <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}" placeholder="请输入内容"
          v-model="param.content.content">
        </el-input>
      </div>
      <div class="bottom">
        <div class="file-box">
          <p>提报附件</p>
          <file-item :isDownLoad="false" :isDelete="true" :itemStyle="itemDrawerStyle" :fileData="upload_panl.attinfos"
            @deleteSuccess="deleteSuccess"></file-item>
        </div>
        <upload target="submit" @onSuccess="onSuccess"></upload>
      </div>
    </el-drawer>
  </div>

</template>

<script>
import FileItem from '@/components/file-block/index'
import upload from '@/SManagement/archives_upload/components/upload'

import removeFile from '@/utils/removeFile'
export default {
  name: 'SubmiteditItemInfo',
  data () {
    return {
      param: {
        "classname": "saletool.submitedit.submitedit",
        "method": "insertorupdate",
        "content": {
          "sat_submiteditmodelid": "",
          "content": "",
          "sat_submiteditid": "0"
        }
      },
      isFileInfoPanlShow: false,
      itemDrawerStyle: {
        img: {
          width: 53,
          height: 64
        },
        title: 16,
        descript: 12
      },
      textarea2: '',
      //上传模板
      upload_panl: 0,
    };
  },
  props: ['detailData', 'disabled', 'editData'],
  components: {
    FileItem,
    upload
  },
  computed: {
  },
  watch: {
    //监听字段是否删除上传模板
    isFileInfoPanlShow: {
      handler (val) {
        if (val == false && this.upload_panl.status == '未提报') {
          this.deleteSubmit()
          //删除附件
          if (this.upload_panl.attinfos.length != 0) removeFile.removeFileList(this.upload_panl.attinfos)
        }
      },
    },
    editData: {
      handler (val) {
        this.upload_panl = val
        this.param.content.content = val.content
      }
    }
  },
  methods: {
    actionSubmit () {
      this.isFileInfoPanlShow = true
      this.getSubmitPanl()
    },
    //获取上传模板
    getSubmitPanl () {
      this.param.content.sat_submiteditmodelid = this.detailData.sat_submiteditmodelid
      this.$api.requested(this.param).then(res => {
        this.upload_panl = res.data
      })
    },
    //删除提报记录
    deleteSubmit () {
      this.param.content.content = ''
      this.upload_panl.attinfos = ''
      let param = {
        "classname": "saletool.submitedit.submitedit",
        "method": "delete_submitdetailed",
        "content": {
          "sat_submiteditid": this.upload_panl.sat_submiteditid
        }
      }
      this.$api.requested(param).then(res => {
        if (res.code != 1) {
          console.log('提报删除失败');
        }
      })
    },
    save () {
      //新增
      if (this.param.content.content == false) {
        this.$notify({
          title: '提示',
          message: '请编辑内容',
          type: 'warning'
        })
        return
      }
      this.param.content.sat_submiteditmodelid = this.editData ? this.upload_panl.sat_submiteditmodelid : this.detailData.sat_submiteditmodelid
      this.param.content.sat_submiteditid = this.upload_panl.sat_submiteditid
      if (this.editData.attinfos) {
        this.$api.requested(this.param).then(res => {
          if(res.code == 1) {
            this.$notify({
              title:'提示',
              message:'修改成功',
              type:'success'
            })
            this.isFileInfoPanlShow = false
            this.$parent.getDetailData()
            this.upload_panl = ''
            this.param.content.content = ''
            this.param = {
              "classname": "saletool.submitedit.submitedit",
              "method": "insertorupdate",
              "content": {
                "sat_submiteditmodelid": "",
                "content": "",
                "sat_submiteditid": "0"
              }
            }
          }
        })
      } else {
        this.$api.requested(this.param).then(res => {
          this.upload_panl.status = '发布'
          if (res.code == 1) {
            //提交提报明细
            let param2 = {
              "classname": "saletool.submitedit.submitedit",
              "method": "sub_submitdetailed",
              "content": {
                "onceonly": 0,
                "sat_submiteditmodelid": this.detailData.sat_submiteditmodelid,
                "sat_submiteditid": this.upload_panl.sat_submiteditid
              }
            }
            this.$api.requested(param2).then(res => {
              if (res.code == 1) {
                this.upload_panl.status = '发布'
                this.upload_panl.attinfos = null
                this.param = {
                  "classname": "saletool.submitedit.submitedit",
                  "method": "insertorupdate",
                  "content": {
                    "sat_submiteditmodelid": "",
                    "content": "",
                    "sat_submiteditid": "0"
                  }
                },
                  this.isFileInfoPanlShow = false
                this.$parent.getDetailData()
              }
            })
          }
        })
      }



    },
    onSuccess (id) {
      this.fileId = id
      let param = {
        "classname": "system.attachment.Attachment",
        "method": "createFileLink",
        "content": {
          "ownertable": "sat_submitedit",
          "ownerid": this.upload_panl.sat_submiteditid,
          "usetype": "default",
          "attachmentids": [
            id
          ]
        }
      }
      this.$api.requested(param).then(res => {
        if (res.msg != '成功') {
          this.$notify({
            title: '提示',
            message: '上传失败',
            type: 'error'
          })
        } else {
          this.upload_panl.attinfos = this.fileType.fileList(this.upload_panl.attinfos.concat(res.data[0]))
        }
      })
    },
    deleteSuccess (data) {
      this.upload_panl.attinfos.splice(data, 1)
    }
  },
};
</script>

<style scoped>
* {
  box-sizing: border-box;
}
/deep/ .el-drawer__header {
  margin-bottom: 0;
}
/deep/ .el-drawer {
  width: 546px !important;
}
.el-drawer__body .btn1 {
  margin: 20px 0 20px 20px;
  width: 88px;
  height: 36px;
  background: #fa8c16;
}
.el-drawer__body .content {
  border-bottom: 10px solid #fafafa;
  padding: 0 0 20px 20px;
}
.el-drawer__body .content p:first-child {
  font-size: 16px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 20px;
}
.el-drawer .file-box p {
  margin: 20px 0 20px 0;
  font-size: 16px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 20px;
}
.el-drawer .file-box .file {
  display: flex;
  flex-wrap: wrap;
}
.upload {
  display: flex;
  margin-top: 20px;
}
/deep/.upload .el-button {
  width: 100%;
  border: 1px solid #3874f6;
  color: #3874f6;
}
.bottom {
  padding: 0 20px;
}
</style>
