<template>
  <div class="edit-entry-wrap">
    <bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond" :curmbThird="curmbThird"></bread-crumb>
    <div class="component-content screenSet" id="screenSet">
      <div class="header-title">{{ title }}</div>
      <div class="button-group">
        <el-button v-show="showStorage" size="small" @click="complete(1)">暂存</el-button>
        <el-button type="primary" size="small" @click="complete(2)">完成</el-button>
      </div>
      <el-form
        ref="formData"
        :model="formData"
        :rules="rules"
        label-width="150px"
        class="basic-form"
      >
        <el-form-item label="入口名称：" prop="entryName">
          <el-col :span="13">
            <el-input
              size="small"
              v-model="formData.entryName"
              placeholder="请输入名称"
              style="width:70%;"
              :disabled="peopleLevel == 'L3'"
            ></el-input>
            <span class="word-num">{{(formData.entryName).replace(/\s+/g,"").length}}/24</span>
          </el-col>
        </el-form-item>
        <!-- <el-form-item label="发起机构：" prop="organizationName"> -->
        <el-form-item label="发起机构：">
          <el-col :span="13" v-for="(item, index) in formData.organizationNameList" :key="index">
            <el-input
              size="small"
              v-model="formData.organizationNameList[index]"
              placeholder="请输入发起机构名称"
              style="width:70%;"
              maxlength=16
              :disabled="peopleLevel == 'L3'"
              @input="changeOrganizationName"
              @blur="blurName"
              @focus="focusName(index)"
            ></el-input>
            <span class="word-num">{{(formData.organizationNameList[index]).replace(/\s+/g,"").length}}/16</span>
            <img @click="plusOrg(index)" class="edit-img" src="../../assets/image/plus.png" />
            <img @click="deleteOrg(index)" v-if="index >= 1" class="edit-img" src="../../assets/image/trash.png" />
          </el-col>
          <el-popover
            class="popover-content" :style="{'top': orgListIndex * 41 + 'px'}"
            placement="bottom"
            :content="organizationContent"
            v-model="visibleName"
            @click="checkDefault"
          >
            <p @click="checkDefault">我的机构： {{ organizationContent }}</p>
          </el-popover>
        </el-form-item>
        <el-form-item label="项目时间：" required>
          <el-col :span="5">
            <el-form-item prop="entryBegintime">
              <el-date-picker
                v-model="formData.entryBegintime"
                size="small"
                type="datetime"
                placeholder="请选择开始时间"
                value-format="yyyy-MM-dd HH:mm:ss"
                :picker-options="pickerOptions0"
                style="width: 100%;"
                :disabled="peopleLevel == 'L3'"
              ></el-date-picker>
            </el-form-item>
          </el-col>
          <el-col class="line" :span="1">~</el-col>
          <el-col :span="5">
            <el-form-item label prop="entryEndtime">
              <el-date-picker
                v-model="formData.entryEndtime"
                size="small"
                type="datetime"
                placeholder="请选择结束时间"
                value-format="yyyy-MM-dd HH:mm:ss"
                :picker-options="pickerOptions1"
                default-time="23:59:59"
                style="width: 100%;"
                :disabled="peopleLevel == 'L3'"
              ></el-date-picker>
            </el-form-item>
          </el-col>
        </el-form-item>
        <el-form-item label="入口简介：" prop="entryIntro">
          <el-col :span="13">
            <el-input
              size="small"
              type="textarea"
              :autosize="{ minRows: 5}"
              placeholder="请输入入口简介"
              v-model="formData.entryIntro"
              style="width:83%;"
              :disabled="peopleLevel == 'L3'"
            ></el-input>
            <span class="word-num">{{(formData.entryIntro).replace(/\s+/g,"").length}}/200</span>
          </el-col>
        </el-form-item>
        <div class="basic-item-icon">
          <span class="require">*</span>
          <el-form-item label="列表图片：">
            <el-upload
              v-model="formData.attachmentUrl1"
              class="bg-uploader"
              action="#"
              :show-file-list="false"
              :before-upload="beforeUploadListPic"
              :disabled="peopleLevel == 'L3'"
            >
              <img
                v-if="formData.attachmentUrl1"
                @mouseover.stop="imgMouseOver=true && peopleLevel != 'L3'"
                :src="formData.attachmentUrl1"
                class="bg-img"
              />
              <img
                v-if="!formData.attachmentUrl1"
                class="bg-img"
                src="../../assets/image/small.png"
              />
              <div
                class="img-delete"
                v-show="imgMouseOver"
                @click.stop="deleteImg(1)"
                @mouseout.stop="imgMouseOver=false"
              >
                <i class="el-icon-delete"></i>
              </div>
              <div class="limit-text">
                <p>尺寸:230*172</p>
                <p>限制大小: 500Kb</p>
                <p>支持.jpg,.png格式</p>
              </div>
            </el-upload>
          </el-form-item>
          <p class="upload-message" v-if="uploadImgMessage">请选择列表图片</p>
        </div>
        <el-form-item label="封面类型：">
          <el-radio-group
            size="small"
            v-model="formData.type"
            @change="changeCover"
            :disabled="peopleLevel == 'L3'"
          >
            <el-radio :label="1">图片</el-radio>
            <el-radio :label="2">视频</el-radio>
          </el-radio-group>
        </el-form-item>
        <div class="basic-item-icon">
          <span class="require">*</span>
          <el-form-item label="封面文件：">
            <el-upload
              v-model="formData.attachmentUrl2"
              class="bg-uploader"
              action="#"
              :show-file-list="false"
              :before-upload="beforeUploadCoverPic"
              :disabled="peopleLevel == 'L3'"
            >
              <img
                v-if="formData.type == 1 && formData.attachmentUrl2"
                :src="formData.attachmentUrl2"
                @mouseover.stop="imgMouseOver2=true  && peopleLevel != 'L3'"
                class="bg-img"
              />
              <video
                v-if="formData.type == 2 && formData.attachmentUrl2"
                width="100"
                controls
                class="bg-video"
                @mouseover.stop="imgMouseOver2=true  && peopleLevel != 'L3'"
              >
                <source :src="formData.attachmentUrl2" type="video/mp4" />浏览器不支持mp4
              </video>
              <img
                v-if="!formData.attachmentUrl2"
                class="bg-img"
                src="../../assets/image/small.png"
              />
              <div
                class="img-delete"
                v-show="imgMouseOver2"
                @click.stop="deleteImg(2)"
                @mouseout.stop="imgMouseOver2=false"
              >
                <i class="el-icon-delete"></i>
              </div>
              <div v-show="formData.type == 1" class="limit-text">
                <p>尺寸:750*420</p>
                <p>限制大小: 2.0 Mb</p>
                <p>支持.jpg,.png格式</p>
              </div>
              <div v-show="formData.type == 2" class="limit-text">
                <p></p>
                <p>限制大小: 500 Mb</p>
                <p>支持.mp4</p>
              </div>
            </el-upload>
          </el-form-item>
          <p class="upload-message" v-if="uploadImgMessage2">请选择封面</p>
        </div>
        <el-form-item label="关联项目：">
          <el-col :span="10">
            <!-- :disabled="projectStatus == 3 || projectStatus == 4 || projectStatus == 5  || projectStatus == 6" -->
            <el-select
              v-model="formData.project"
              multiple
              collapse-tags
              style="width: 350px"
              placeholder="关联项目"
              @change="changeValue"
              filterable
            >
              <el-option
                v-for="item in optionsProject"
                :key="item.value"
                :label="item.label"
                :value="item.value"
                :disabled="item.disabled"
              ></el-option>
            </el-select>
          </el-col>
        </el-form-item>
        <el-form-item label="已选择：" class="check-project">
          <el-col :span="10" class="tags-list">
            <el-tag
              class="tags-project"
              v-for="tag in tagsProject"
              v-bind:class="{'tags-project-online': tag.disabled === true }"
              :key="tag.value"
              closable
              :type="tag.type"
              style="margin-left: 10px;"
              @close="handleCloseProject(tag)"
            >{{tag.name}}</el-tag>
          </el-col>
        </el-form-item>
      </el-form>
      <el-dialog title="确认上架" :visible.sync="dialogUp" width="30%" center>
        <p class="dialog_p">该项目已关联<span> 0 </span>个子项目</p>
        <p class="dialog_p">继续上架，将在APP端无法显示该项目</p>
        <span slot="footer" class="dialog-footer">
          <el-button @click="insertOrUpdate(2)">确认上架</el-button>
          <el-button type="primary" @click="dialogUp = false">取消</el-button>
        </span>
      </el-dialog>
    </div>
  </div>
</template>
<script>
import BreadCrumb from "../../components/breadcrumb.vue";
import { doUpload, getFilePath } from "../../utils/qiniu-util";
import { mapGetters } from "vuex";
import { openLoading, closeLoading } from "../../utils/utils";
import * as commonUtil from "../../utils/utils";
import * as operationData from "../../utils/operation";
import Sortable from "sortablejs";
let vm = null;
export default {
  components: {
    BreadCrumb
  },
  data() {
    let checkProjectStr = (rule, value, callback) => {
      if (value.indexOf("\\") != -1) {
        callback(new Error("请勿输入字符“ \\ ”"));
      } else if (value.indexOf(".") != -1) {
        callback(new Error("请勿输入字符“ . ”"));
      } else {
        callback();
      }
    };

    return {
      curmbFirst: "教培项目",
      curmbSecond: "项目组件",
      curmbThird: "新建入口",
      title: "",
      showStorage: false,
      entryId: null,
      peopleLevel: null,
      uploadImgMessage: false,
      uploadImgMessage2: false,
      imgMouseOver: false,
      imgMouseOver2: false,
      organizationContent: "云鹊医",
      statusValue: 0,
      dialogUp: false,
      formData: {
        entryName: "",
        entryBegintime: "",
        entryEndtime: "",
        entryIntro: "",
        type: 1,
        attachmentUrl1: "",
        attachmentUrl2: "",
        attachmentMore1: {},
        attachmentMore2: {},
        organizationName: "",
        organizationNameList: [''],
        project: []
      },
      orgListIndex: 0,
      optionsProject: [],
      tagsProject: [],
      visibleName: false,
      entryOptionData: {},
      pickerOptions0: {
        disabledDate: time => {
          if (
            this.formData.entryEndtime != "" &&
            this.formData.entryEndtime != null
          ) {
            return (
              time.getTime() > new Date(this.formData.entryEndtime).getTime()
            );
          }
        }
      },
      pickerOptions1: {
        disabledDate: time => {
          return (
            time.getTime() < new Date(this.formData.entryBegintime).getTime()
          ); //减去一天的时间代表可以选择同一天;
        }
      },
      rules: {
        entryName: [
          { required: true, message: "请输入项目名称", trigger: "blur" },
          {
            min: 2,
            max: 24,
            message: "输入长度为2-24的内容，可包含中英文、数字及特殊符号",
            trigger: "blur"
          },
          { validator: checkProjectStr, trigger: "blur" }
        ],
        organizationName: [
          { required: true, message: "请填写发起机构名称", trigger: "blur" },
          {
            min: 1,
            max: 16,
            message: "超过12个最大字数限制，请精简字数或使用简称",
            trigger: "blur"
          }
        ],
        entryBegintime: [
          {
            required: true,
            message: "请选择时间",
            trigger: "change"
          }
        ],
        entryEndtime: [
          {
            required: true,
            message: "请选择时间",
            trigger: "change"
          }
        ],
        type: [
          {
            type: "array",
            required: true,
            message: "请至少选择一个活动性质",
            trigger: "change"
          }
        ],
        entryIntro: [
          { required: true, message: "请填写项目简介", trigger: "blur" },
          { min: 1, max: 200, message: "超出可输入的最大长度", trigger: "blur" }
        ],
        attachmentUrl1: [
          { required: true, message: "请选择列表图片", trigger: "blur" }
        ],
        attachmentUrl2: [
          { required: true, message: "请选择封面", trigger: "blur" }
        ]
      }
    };
  },
  computed: {
    ...mapGetters(["_token"])
  },
  created() {
    vm = this;
    vm.entryId = vm.getUrlSearch(window.location.href, "entryId");
    vm.peopleLevel = vm.getUrlSearch(window.location.href, "level");
    vm.initTitle();
    vm.initOption();
    // vm.getEntryData();
  },
  mounted: function() {
    commonUtil.resizeHeight();
  },
  methods: {
    plusOrg(index) {
      vm.formData.organizationNameList.splice(index + 1, 0, '');
    },
    deleteOrg(index) {
      vm.formData.organizationNameList.splice(index, 1);
    },
    initTitle() {
      if (vm.entryId == null) {
        vm.title = "新建入口";
        vm.curmbThird = "新建入口";
        vm.showStorage = true;
      } else {
        vm.title = "编辑入口";
        vm.curmbThird = "编辑入口";
        vm.showStorage = false;
      }
    },
    setOption(data) {
      let list = [];
      for(let i = 0; i<data.length ; i++) {
        let obj = {
          value: data[i].projectId,
          label: data[i].projectName,
        }
        list.push(obj);
      }
      return list;
    },
    initOption() {
      vm.optionsProject = [];
      let req = {};
      openLoading(vm);
      vm.GET("portal/entryInfo/getProjectList", req).then(res => {
        closeLoading(vm);
        if (res.code == "000000") {
          vm.optionsProject = vm.setOption(res.data);
          vm.getEntryData();
        }
      });
    },

    checkOrgNameList() {
      let nameList = this.formData.organizationNameList;
      for(let i = 0; i < nameList.length; i ++) {
        if(!nameList[i]) {
          this.$message.error('发起机构名称不可以为空');
          return false;
        }
      }
      for(let i = 0; i < nameList.length - 1; i ++) {
        for(let j = i + 1; j < nameList.length; j ++) {
          if(nameList[i] == nameList[j]) {
            this.$message.error('发起机构名称不能重复');
            return false;
          }
        }        
      }
      return true;
    },

    submitForm(formName) {
      let flag = null;
      this.$refs[formName].validate(valid => {
        if (valid) {
          flag = true;
        } else {
          console.log("error submit!!");
          flag = false;
        }
      });
      return flag;
    },
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    //  删除图片
    deleteImg(type) {
      if (type == 1) {
        vm.formData.attachmentUrl1 = "";
        vm.imgMouseOver = false;
      } else {
        vm.formData.attachmentUrl2 = "";
        vm.imgMouseOver2 = false;
      }
    },
    changeCover(radio) {
      this.formData.attachmentUrl2 = "";
    },
    beforeUploadListPic(file) {
      let fileLimit = {
        width: 230,
        height: 172,
        size: 0.5,
        sizeText: "500K",
        key: "attachmentUrl1",
        more: "attachmentMore1",
        show: "uploadImgMessage"
      };
      this.beforeAvatarUpload(file, fileLimit);
    },
    beforeUploadCoverPic(file) {
      let fileLimit = {
        width: 750,
        height: 420,
        size: 2,
        sizeText: "2.0M",
        key: "attachmentUrl2",
        more: "attachmentMore2",
        show: "uploadImgMessage2"
      };
      if (this.formData.type == 1) {
        this.beforeAvatarUpload(file, fileLimit);
      } else {
        this.beforeUploadMp4(file);
      }
    },
    beforeAvatarUpload(file, fileLimit) {
      const isJPG = file.type === "image/jpeg";
      const isPNG = file.type === "image/png";
      const isLt2M = file.size / 1024 / 1024 < fileLimit.size;
      if (!isJPG && !isPNG) {
        this.$message.error("图片不符合规范，请根据规范上传图片");
        return;
      }
      if (!isLt2M) {
        this.$message.error("图片不符合规范，请根据规范上传图片 ");
        return;
      }
      let _img = new FileReader();
      _img.readAsDataURL(file);
      _img.onload = function(theFile) {
        let image = new Image();
        image.src = theFile.target.result;
        image.onload = function() {
          let _this = this;
          if (
            _this.width != fileLimit.width ||
            _this.height != fileLimit.height
          ) {
            vm.$message.error("图片不符合规范，请根据规范上传图片");
          } else {
            openLoading(vm);
            doUpload(
              vm,
              file,
              getFilePath(file, null),
              "preview4",
              "progress1",
              1
            ).then(function(path) {
              closeLoading(vm);
              console.log(path);
              if (fileLimit.show == "uploadImgMessage") {
                vm.uploadImgMessage = false;
              } else if (fileLimit.show == "uploadImgMessage2") {
                vm.uploadImgMessage2 = false;
              }
              vm.formData[fileLimit.key] = path.fullPath;
              vm.formData[fileLimit.more] = {
                attachmentName: path.name,
                attachmentExt: path.ext,
                attachmentSize: path.size
              };
              console.log("!!!" + vm.formData[fileLimit.key]);
              vm.$message.success("上传成功");
            });
          }
        };
      };
      return isJPG && isLt2M;
    },
    beforeUploadMp4(file) {
      console.log(file);
      const isMP4 = file.type === "video/mp4";
      const isLt = file.size / 1024 / 1024 < 500;
      if (!isLt) {
        this.$message.error("视频不符合规范，请根据规范上传视频");
        return;
      }
      if (!isMP4) {
        this.$message.error("视频不符合规范，请根据规范上传视频");
      } else {
        openLoading(vm);
        doUpload(
          vm,
          file,
          getFilePath(file, null),
          "preview4",
          "progress1",
          ""
        ).then(function(path) {
          closeLoading(vm);
          console.log(path);
          vm.uploadImgMessage2 = false;
          vm.formData.attachmentUrl2 = path.fullPath;
          vm.$message.success("上传成功");
        });
      }
    },
    checkDefault() {
      // vm.formData.organizationNameList[0] = vm.organizationContent;
      vm.formData.organizationNameList.splice(this.orgListIndex, 1, vm.organizationContent);
      // vm.formData.organizationNameList.push(vm.organizationContent);
      // vm.formData.organizationName = vm.organizationContent;
      vm.visibleName = false;
    },
    blurName() {
      vm.visibleName = false;
      setTimeout(function() {
        // console.log('失去焦点');
        vm.submitForm("formData");
      }, 200);
    },
    focusName(index) {
      let textLength = vm.formData.organizationNameList[index].length;
      if (textLength == 0) {
        this.orgListIndex = index;
        vm.visibleName = true;
      } else {
        vm.visibleName = false;
      }
    },
    changeOrganizationName() {
      let textLength = vm.formData.organizationName.length;
      if (textLength == 0) {
        vm.visibleName = true;
      } else {
        vm.visibleName = false;
      }
    },
    tagDrop() {
      this.$nextTick(function() {
        if (vm.tagsProject.length > 0) {
          const ele = document.querySelector(".check-project .el-col-10");
          // console.log('ele',ele);
          Sortable.create(ele, {
            onEnd({ newIndex, oldIndex }) {
              const currRow = vm.tagsProject.splice(oldIndex, 1)[0];
              vm.tagsProject.splice(newIndex, 0, currRow);
            }
          });
        }
      });
    },
    changeValue(value) {
      this.tagsProject = [];
      let len = 0;
      for (let i = 0; i < value.length; i++) {
        for (let j = 0; j < this.optionsProject.length; j++) {
          if (value[i] == this.optionsProject[j].value) {
            this.tagsProject[len] = {};
            this.tagsProject[len] = this.optionsProject[j];
            this.tagsProject[len].value = this.optionsProject[j].value;
            this.tagsProject[len].name = this.optionsProject[j].label;
            len++;
          }
        }
      }
      vm.tagDrop();
    },
    initTags(value) {
      vm.tagsProject = [];
      let len = 0;
      for (let i = 0; i < value.length; i++) {
        for (let j = 0; j < vm.optionsProject.length; j++) {
          if (value[i] == vm.optionsProject[j].value) {
            vm.tagsProject[len] = {};
            vm.tagsProject[len].value = vm.optionsProject[j].value;
            vm.tagsProject[len].name = vm.optionsProject[j].label;
            len++;
          }
        }
      }
    },
    handleCloseProject(tag) {
      if (tag.disabled == true) {
        return;
      }
      vm.tagsProject.splice(vm.tagsProject.indexOf(tag), 1);
      vm.formData.project = [];
      for (let j = 0; j < vm.tagsProject.length; j++) {
        vm.formData.project[j] = vm.tagsProject[j].value;
      }
    },
    getEntryData() {
      if (vm.entryId == null) {
        return;
      }
      let req = {
        entryId: vm.entryId
      };
      openLoading(vm);
      vm.GET("portal/entryInfo/getEntry", req).then(res => {
        closeLoading(vm);
        if (res.code == "000000") {
          vm.setEditData(res.data);
          vm.entryOptionData = res.data;
          vm.statusValue = res.data.portalEntry.entryStatus;
          // console.log("portalEntryUniInfo", vm.entryOptionData);
        } else {
          vm.$message(res.message);
        }
      });
    },
    setProject(data) {
      let list = [];
      for(let i = 0; i<data.length; i++) {
        list.push(data[i]);
      }
      return list;
    },
    setEditData(data) {
      if(data.portalEntry.entryStatus === 1) {
        vm.showStorage = true;
      }
      vm.formData = {
        entryName: data.portalEntry.entryName,
        organizationName: data.portalEntry.organizationName,
        organizationNameList: data.portalEntry.organizationNameList,
        entryBegintime: data.portalEntry.entryBegintime,
        entryEndtime: data.portalEntry.entryEndtime,
        entryIntro: data.portalEntry.entryIntro,
        // type: 1,
        // attachmentUrl1: "",
        // attachmentUrl2: "",
        type: data.attachments[1].attachmentType,
        attachmentUrl1: data.attachments[0].attachmentUrl,
        attachmentUrl2: data.attachments[1].attachmentUrl,
        attachmentMore1: {
          attachmentName: data.attachments[0].attachmentName,
        },
        attachmentMore2: {
          attachmentName: data.attachments[1].attachmentName,
        },
        project: data.projectIds,
      };
      let projectEdit = data.projectIds;
      vm.initTags(projectEdit);
    },
    complete(type) {
      //1是暂存，2是完成
      if (type == 2) {
        if(!this.checkOrgNameList()) return;
        if (!vm.formData.attachmentUrl1) {
          vm.uploadImgMessage = true;
        } else {
          vm.uploadImgMessage = false;
        }
        if (!vm.formData.attachmentUrl2) {
          vm.uploadImgMessage2 = true;
        } else {
          vm.uploadImgMessage2 = false;
        }
        let completeState = vm.submitForm("formData");
        if (
          completeState === true &&
          vm.formData.attachmentUrl1 != "" &&
          vm.formData.attachmentUrl2 != ""
        ) {
          if(vm.statusValue === 3 && vm.formData.project.length == 0) {
            vm.dialogUp = true;
          } else {
            vm.insertOrUpdate(type);
          }
        }
        //完成
      } else {
        //暂存
        if(vm.formData.entryName == '') {
          vm.$message('请输入入口名称！');
        } else {
          vm.insertOrUpdate(type);
        }
      }
    },
    insertOrUpdate(isCompleted) {
      //option
      let portalEntryUniInfo = {};
      if (vm.entryId == null) {
        portalEntryUniInfo = {
          portalEntry: {
            entryBegintime: vm.formData.entryBegintime,
            entryEndtime: vm.formData.entryEndtime,
            entryIntro: vm.formData.entryIntro,
            entryName: vm.formData.entryName,
            organizationName: vm.formData.organizationName,
            organizationNameList: vm.formData.organizationNameList
          },
          attachments: [
            {
              attachmentType: 1,
              attachmentUrl: vm.formData.attachmentUrl1,
              attachmentName: vm.formData.attachmentMore1.attachmentName,
              // attachmentExt: vm.formData.attachmentMore1.attachmentExt,
              // attachmentSize: vm.formData.attachmentMore1.attachmentSize,
              kind: 1,
              // seqNo: 1
            },
            {
              attachmentType: vm.formData.type,
              attachmentUrl: vm.formData.attachmentUrl2,
              attachmentName: vm.formData.attachmentMore2.attachmentName,
              // attachmentExt: vm.formData.attachmentMore2.attachmentExt,
              // attachmentSize: vm.formData.attachmentMore2.attachmentSize,
              kind: 2,
              // seqNo: 1
            }
          ],
          projectIds: []
        };
        for(let i = 0;i < vm.tagsProject.length ; i++) {
          // portalEntryUniInfo.subprojects[i] = {
          //     projectId: vm.tagsProject[i].value,
          //     projectName: vm.tagsProject[i].label,
          // }
          portalEntryUniInfo.projectIds[i] = vm.tagsProject[i].value;
        }
      } else {
        portalEntryUniInfo = {
          portalEntry: {
            createdId: vm.entryOptionData.portalEntry.createdId,
            createdName: vm.entryOptionData.portalEntry.createdName,
            createdTime: vm.entryOptionData.portalEntry.createdTime,
            deleteFlag: vm.entryOptionData.portalEntry.deleteFlag,
            entryBegintime: vm.formData.entryBegintime,
            entryEndtime: vm.formData.entryEndtime,
            entryIntro: vm.formData.entryIntro,
            entryName: vm.formData.entryName,
            entryStatus: vm.entryOptionData.portalEntry.entryStatus,
            id: vm.entryOptionData.portalEntry.id,
            organizationId: 0,
            organizationName: vm.formData.organizationName,
            organizationNameList: vm.formData.organizationNameList
          },
          attachments: [
            {
              attachmentType: 1,
              attachmentUrl: vm.formData.attachmentUrl1,
              attachmentName: vm.formData.attachmentMore1.attachmentName,
              entryId: vm.entryOptionData.portalEntry.id,
              id: vm.entryOptionData.portalEntry.id,
              kind: 1,
              // seqNo: 1
            },
            {
              attachmentType: vm.formData.type,
              attachmentUrl: vm.formData.attachmentUrl2,
              attachmentName: vm.formData.attachmentMore2.attachmentName,
              entryId: vm.entryOptionData.portalEntry.id,
              id: vm.entryOptionData.portalEntry.id,
              kind: 2,
              // seqNo: 1
            }
          ],
          projectIds: []
        };
        for(let i = 0;i < vm.tagsProject.length ; i++) {
          // portalEntryUniInfo.subprojects[i] = {
          //     projectId: vm.tagsProject[i].value,
          //     projectName: vm.tagsProject[i].label,
          // }
          portalEntryUniInfo.projectIds[i] = vm.tagsProject[i].value;
        }
        // console.log('tagsProject',vm.tagsProject);
      }
      // console.log("portalEntryUniInfo", portalEntryUniInfo);
      openLoading(vm);
      vm.POST(
        "portal/entryInfo/updateInsertEntry?isCompleted=" + isCompleted,
        portalEntryUniInfo
      ).then(res => {
        closeLoading(vm);
        if (res.code == "000000") {
          if(vm.statusValue === 3) {
            vm.$message({
              message: '发布成功',
              type: 'success'
            });
          }
          vm.$router.push("entry-manager");
        } else {
          if(vm.statusValue === 3) {
            vm.$message.error('发布失败');
            vm.$message(res.message);
          } else {
            vm.$message(res.message);
          }
        }
      });
    }
  }
};
</script>
<style lang="scss">
.edit-entry-wrap {
  .component-content {
    position: relative;
    padding: 10px;
    background: #fff;
    .dialog_p {
      text-align: center;
      span{
        font-weight: 700;
      }
    }
    .header-title {
      padding: 10px 12px;
      font-size: 12px;
      color: #449284;
      border-bottom: 1px solid #efefef;
    }
    .button-group {
      position: absolute;
      margin-top: 10px;
      right: 5%;
      z-index: 999;
    }
    .basic-form {
      ::-webkit-scrollbar
      {
          width: 4px;
          height: 20px;
          background-color: #D8D8D8;
      }
      ::-webkit-scrollbar-thumb {
          background-color: #D8D8D8;
      }
      position: relative;
      margin-top: 10px;
      .basic-item-icon {
        position: relative;
        .require {
          position: absolute;
          left: 67px;
          top: 11px;
          color: #f56c6c;
        }
        .upload-message {
          position: absolute;
          left: 160px;
          top: 105px;
          font-size: 12px;
          color: #f56c6c;
        }
        .img-delete {
          position: absolute;
          left: 0px;
          top: 0px;
          width: 84px;
          height: 100px;
          background: #000;
          opacity: 0.7;
          z-index: 999;
          i {
            color: #fff;
            margin-top: 39px;
            margin-left: 0px;
          }
        }
      }
      .word-num {
        font-size: 12px;
        color: #999;
        padding-top: 5px;
      }
      .line {
        margin-left: 10px;
        width: 20px;
      }
      .bg-uploader {
        img {
          float: left;
        }
        .bg-img {
          width: 84px;
          height: 100px;
        }
        .bg-video {
          float: left;
          width: 84px;
          height: 100px;
        }
        .limit-text {
          float: left;
          margin-left: 10px;
          margin-top: -10px;
          p {
            font-size: 12px;
            color: #999;
          }
        }
      }
      .el-popover--plain {
        padding: 18px 20px;
        top: 40px;
      }
      .check-project {
        top: 95%;
        right: 5%;
        position: absolute;
        z-index: 999;
        .tags-list {
          border: 1px #e8e8e8 solid;
          height: 350px;
          min-width: 280px;
          overflow-y: scroll;
          .el-tag {
            margin-top: 5px;
            display: table;
            background-color: #e6f1fc;
            color: #389efe;
          }
          .tags-project-online {
            color: #9aceff;
            background-color: #f3f8fe;
            border-color: #d5eafe;
          }
        }
      }
    }
  }
}
.popover-content {
  position: relative;
  top: 0;
  left: 0;
}
</style>