<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
                :shortcuts="pickerOptions0 && pickerOptions0.shortcuts"
                :disabled-date="pickerOptions0 && pickerOptions0.disabledDate"
                :cell-class-name="
                  pickerOptions0 && pickerOptions0.cellClassName
                "
                v-model="formData.entryBegintime"
                size="small"
                type="datetime"
                placeholder="请选择开始时间"
                value-format="yyyy-MM-dd HH:mm:ss"
                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
                :shortcuts="pickerOptions1 && pickerOptions1.shortcuts"
                :disabled-date="pickerOptions1 && pickerOptions1.disabledDate"
                :cell-class-name="
                  pickerOptions1 && pickerOptions1.cellClassName
                "
                v-model="formData.entryEndtime"
                size="small"
                type="datetime"
                placeholder="请选择结束时间"
                value-format="yyyy-MM-dd HH:mm:ss"
                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"
              >
                <el-icon><el-icon-delete /></el-icon>
              </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"
              >
                <el-icon><el-icon-delete /></el-icon>
              </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
              v-bind:class="{ 'tags-project-online': tag.disabled === true }"
              class="tags-project"
              v-for="tag in tagsProject"
              :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="确认上架" v-model="dialogUp" width="30%" center>
        <p class="dialog_p">该项目已关联<span> 0 </span>个子项目</p>
        <p class="dialog_p">继续上架，将在APP端无法显示该项目</p>
        <template v-slot:footer>
          <span class="dialog-footer">
            <el-button @click="insertOrUpdate(2)">确认上架</el-button>
            <el-button type="primary" @click="dialogUp = false">取消</el-button>
          </span>
        </template>
      </el-dialog>
    </div>
  </div>
</template>

<script>
import { Delete as ElIconDelete } from '@element-plus/icons'
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,
    ElIconDelete,
  },
  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>
