<template>
  <div>
    <home-header></home-header>
    <div id="apply-container">
      <article>
        <div class="from-card" v-if="applySuccess && !applyAll">
          <AbilityToApplyFor :dataList="list"></AbilityToApplyFor>
        </div>
        <div class="form-container">
          <div v-if="applySuccess">
            <a-form
              ref="formRef"
              :model="formName"
              name="basic"
              :label-col="{ style: { width: '106px' } }"
              :wrapper-col="{ style: { width: '230px' } }"
              labelAlign="left"
              autocomplete="off"
            >
              <div class="base-info flex-row-start">
                <a-form-item
                  label="申请标题"
                  name="title"
                  :rules="[{ required: true, message: '请输入申请标题' }]"
                >
                  <a-input
                    placeholder="请输入能力申请标题"
                    v-model:value="formName.title"
                  />
                </a-form-item>
                <!-- 西海岸-摄像头-增加过期时间 -->
                <a-form-item
                  v-if="isCamera && isXiHaiAn"
                  label="过期时间"
                  name="expireDate"
                  :rules="[{ required: true, message: '请选择过期时间' }]"
                  style="margin-left: 22px"
                >
                  <a-select
                    v-model:value="formName.expireDate"
                    placeholder="请选择过期时间"
                    style="width: 200px"
                    :options="expireDateOptions"
                  ></a-select>
                </a-form-item>
              </div>
              <div class="base-info">
                <a-form-item
                  label="申请人信息"
                  name="user"
                  :rules="[{ required: true, message: '请输入申请人' }]"
                >
                  <a-input
                    placeholder="请输入申请人"
                    v-model:value="formName.user"
                    disabled
                  />
                </a-form-item>
                <a-form-item
                  style="margin: 0 22px"
                  label="电话"
                  name="phone"
                  :rules="[
                    {
                      required: true,
                      pattern: /^1[3456789]\d{9}$/,
                      message: '请输入正确的电话号码',
                    },
                  ]"
                >
                  <a-input
                    placeholder="请输入申请人电话"
                    v-model:value="formName.phone"
                  />
                </a-form-item>
                <a-form-item
                  label="单位"
                  name="unit"
                  :rules="[{ required: true, message: '请输入单位' }]"
                >
                  <a-input
                    placeholder="请输入单位"
                    v-model:value="formName.unit"
                    disabled
                    v-if="deptFlage"
                  />
                  <a-select
                    v-else
                    placeholder="请选择归属部门"
                    v-model:value="formName.unit"
                    @change="deptIdChangeFunction"
                  >
                    <a-select-option
                      v-for="(item, index) in deptNameAll"
                      :key="`${index}-${item}`"
                      :value="item.name"
                    >
                      {{ item.name }}
                    </a-select-option>
                  </a-select>
                </a-form-item>
              </div>
              <div class="base-info" v-if="flag">
                <div style="margin-bottom: 24px">
                  <a-form-item
                    style="margin-bottom: 0"
                    label="应用系统"
                    name="applicationSystem"
                    :rules="[{ required: true, message: '请选择应用系统' }]"
                  >
                    <a-select
                      v-model:value="formName.applicationSystem"
                      show-search
                      placeholder="请选择应用系统"
                      style="width: 230px"
                      :options="systemOptions"
                      @focus="handleFocus"
                      @blur="handleBlur"
                      @change="systemHandleChange"
                      @search="systemHandleSearch"
                    ></a-select>
                  </a-form-item>
                  <span
                    style="font-size: 12px; color: #666; padding-left: 106px"
                  >
                    如选项没有系统请新增
                  </span>
                </div>
                <a-form-item
                  class="applicationScene"
                  label="应用领域"
                  name="applicationScene"
                  :rules="[{ required: true, message: '请选择应用领域' }]"
                  style="width: 6.93rem"
                >
                  <a-select
                    v-model:value="formName.applicationScene"
                    :options="applicationSceneOpthion"
                    mode="tags"
                    :size="size"
                    placeholder="请选择应用领域"
                    :filterOption="false"
                    :searchValue="false"
                    style="width: 5.87rem"
                  ></a-select>
                </a-form-item>
              </div>

              <div>
                <a-form-item
                  label="需求依据"
                  name="applicationBackground"
                  :rules="[
                    { required: true, message: '请输入需求依据' },
                    { min: 50, message: '需求依据最少为50个字' },
                  ]"
                >
                  <a-textarea
                    placeholder="请输入需求依据"
                    v-model:value="formName.applicationBackground"
                    :rows="4"
                  />
                </a-form-item>
              </div>
              <div class="bottom-btn">
                <a-button
                  style="
                    width: 80px;
                    height: 38px;
                    margin-right: 20px;
                    background: #e1edfa;
                    color: #0087ff;
                    font-size: 14px;
                    border-radius: 6px;
                    border: none;
                    padding: 0;
                    text-align: center;
                  "
                  type="primary"
                  html-type="cancle"
                  @click="resetFields()"
                >
                  退出申请
                </a-button>
                <a-button
                  style="
                    width: 80px;
                    height: 38px;
                    background: #0087ff;
                    color: #fff;
                    font-size: 14px;
                    border-radius: 6px;
                    border: none;
                    padding: 0;
                    text-align: center;
                  "
                  type="primary"
                  html-type="submit"
                  @click="processStartHandle()"
                >
                  提交申请
                </a-button>
              </div>
            </a-form>
          </div>
          <div class="success" v-else>
            <div>
              <img src="../../assets/home/success.png" alt="" />
            </div>
            <p>您已成功申请能力，请耐心等待审批结果，结果会第一时间通知您！</p>
          </div>
        </div>
      </article>
    </div>
  </div>
</template>
<script>
  import AbilityToApplyFor from './AbilityToApplyFor.vue'
  import HomeHeader from '@/views/home/components/header'
  import { reactive, ref, watch, onBeforeUnmount } from 'vue'
  import { useRouter } from 'vue-router'
  import { message } from 'ant-design-vue'
  import qs from 'qs'
  import { Upload } from 'ant-design-vue'
  import {
    lastestPage,
    tabilityapplication,
    startOfBusinessKey,
    updateInstanceId,
    submitApply,
    applyAllApplication,
    getUser,
    getUserInfo,
    relaunch,
    selectOne,
  } from '@/api/home'
  import { getDeptAll } from '@/api/user'
  import { getCategoryTreePage, endProcess } from '@/api/personalCenter'
  import mybus from '@/myplugins/mybus'
  import { sgcDel, getApplyForm } from '@/api/personalCenter'
  import { pageWithAttrs, updateIntegrationServices } from '@/api/home'
  import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
  import { getIntegrationDetail, soldierApply } from '@/api/home'
  import * as moment from 'moment'

  export default {
    name: '',
    props: {},
    components: {
      HomeHeader,
      AbilityToApplyFor,
    },
    setup() {
      const router = useRouter()
      const disabled = ref(false)
      const flag = ref(false)
      const list = ref(JSON.parse(localStorage.getItem('applyList')))
      const deptNameAll = ref([]) //所有部门名称
      const deptFlage = ref(true) //判断是否存在默认部门名称
      const applyAll = router.currentRoute.value.query.applyAll
      // 融合服务id
      const integrationServicesId =
        router.currentRoute.value.query.integrationServicesId
      // 融合服务详情
      const integrationServicesItemInfo = ref(null)
      const num = ref(0)
      // 过期时间
      const expireDateOptions = [
        {
          value: moment().add(30, 'days').format('YYYY-MM-DD HH:mm:ss'),
          label: '30天',
        },
        {
          value: moment().add(60, 'days').format('YYYY-MM-DD HH:mm:ss'),
          label: '60天',
        },
        {
          value: moment().add(90, 'days').format('YYYY-MM-DD HH:mm:ss'),
          label: '90天',
        },
      ]

      if (!applyAll) {
        list.value.map((item) => {
          item.arr.map((val) => {
            let obj = item.children
              ? item.children.filter((type) => type.id == val.id)[0]
              : val.type !== '应用资源'
            if (obj) {
              if (obj.type !== '应用资源') {
                flag.value = true
              }
            }
          })
          if (item.checkedList) {
            console.log(item)
            num.value += Number(item.checkedList.length)
          }
        })
      }
      console.log('list', list.value)
      const baseURL = window.SITE_CONFIG.apiURL
      let record = ref('1')
      const text = ref('')
      // 西海岸-特殊处理
      let wrjAndDbText = ['单兵设备', '无人机']
      const isXiHaiAn = ref(whoShow.itShowXiHaiAn)
      // 西海岸-判断是否是基础设施-摄像头
      const isCamera = ref(false)
      if (
        list.value[0] &&
        list.value[0].arr &&
        list.value[0].arr[0] &&
        list.value[0].arr[0].type == '基础设施'
      ) {
        isCamera.value = true
      }
      const formName = reactive({
        title: applyAll
          ? '全部应用资源申请'
          : wrjAndDbText.includes(
              list.value[0].arr &&
                list.value[0].arr[0] &&
                list.value[0].arr[0].type
            )
          ? list.value[0].arr[0].type + '申请'
          : list.value[0].children
          ? '申请' +
            list.value[0].children
              .filter((val) => val.id == list.value[0].checkedList[0])[0]
              .resourceName.concat(
                num.value > 1 ? '等' + num.value + '项能力' : ''
              )
          : '申请' + list.value[0].arr[0].resourceName, // 标题
        // applicationSystem: '', // 应用系统
        applicationScene: [], // 应用领域
        applicationBackground: '', // 应用背景
        effectWish: '', // 期望效果
        user: '',
        userId: '',
        phone: '',
        unit: '',
        deptId: '',
        system: [],
        enclosure: '', //附件
        enclosureName: '', //附件
      })
      const dataList = ref([])
      const id = router.currentRoute.value.query.id
      const taskId = router.currentRoute.value.query.taskId
      const businessKey = ref(router.currentRoute.value.query.id)
      if (id) {
        getApplyForm(id).then((res) => {
          console.log('修改==============>', res.data.data)
          formName.applicationSystem = res.data.data.applicationSystem || ''
          formName.applicationScene = res.data.data.applicationScene || []
          formName.applicationBackground =
            res.data.data.applicationBackground || ''
          formName.effectWish = res.data.data.effectWish || ''
          formName.phone = res.data.data.phone || ''
          formName.enclosure = res.data.data.enclosure || ''
          formName.enclosureName = res.data.data.enclosureName || ''
          if (res.data.data.enclosure) {
            fileList.value.push({
              name: res.data.data.enclosureName,
              url: res.data.data.enclosure,
            })
          }
        })
      }
      getUser().then((res) => {
        formName.user = res.data.data.realName
        formName.userId = res.data.data.id
        getUserInfo(formName.userId).then((res) => {
          if (res.data.data.mobile) {
            formName.phone = res.data.data.mobile
          }
          formName.unit = res.data.data.deptName
          if (!formName.unit) {
            deptFlage.value = false
            //调用查询所有部门名称的接口
            getDeptAll().then((res) => {
              deptNameAll.value = res.data.data
            })
          }
        })
      })
      //归属部门选中改变事件
      const deptIdChangeFunction = (name) => {
        deptNameAll.value.map((item) => {
          if (item.name == name) {
            formName.deptId = item.id
          }
        })
        console.log(formName)
      }
      const applicationSceneOpthion = ref([])
      getCategoryTreePage({
        page: 1,
        limit: 20,
        dictTypeId: '1513712507692818433',
        deFlage: 0,
      }).then((res) => {
        res.data.data.list.map((val) => {
          applicationSceneOpthion.value.push({
            value: val.dictLabel,
            label: val.dictLabel,
          })
        })
      })
      const formRef = ref()
      const applySuccess = ref(true)
      const dataForm = {
        processDefinitionKey: 'abilityprocess',
      }
      const callbacks = {
        startProcessSuccessCallback: null,
        startProcessErrorCallback: null,
        formSaveSuccessCallback: null,
        formSaveErrorCallback: null,
      }
      const instanceIdUrl = '/processForm/tabilityapplication/updateInstanceId'
      const formUrl = '/processForm/tabilityapplication'
      //退出返回上一页
      const resetFields = () => {
        window.history.go(-1)
      }

      // 跳转到能力集市
      const jumpToDetailsPageconetent = () => {
        setTimeout(() => {
          router.push({
            path: '/DetailsPageconetent',
            query: {
              select: DETAIL_PAGE_CONTENT_DEFAULT_TAB,
            },
          })
        }, 1000)
      }

      // 提交申请
      let submitFlag = true
      const processStartHandle = () => {
        formRef.value.validate().then(() => {
          if (submitFlag) {
            submitFlag = false
            if (!formUrl) {
              return message.error('请设置保存表单的URL')
            }
            if (!formName) {
              return message.error('请设置表单名称')
            }

            if (id) {
              endProcess({ instanceId: taskId }).then((end) => {
                if (end.data.code == 0) {
                  let ids = []
                  let falgNum = 0
                  let sxt = true
                  formName.system = []
                  console.log('list==================', list.value)
                  list.value.map((val) => {
                    val.arr.map((item) => {
                      if (item.type !== '基础设施') {
                        falgNum++
                      }
                    })
                  })
                  list.value.map((val) => {
                    val.arr.map((item) => {
                      if (item.type !== '基础设施') {
                        formName.system.push({
                          resourceId: item.resourceId,
                          resourceName: item.resourceName,
                        })
                        falgNum++
                        console.log(item.id)
                        if (item.id) {
                          ids.push(item.id)
                        }
                      } else {
                        infrastructureConfirm(item, falgNum, sxt)
                      }
                    })
                  })
                  if (formName.system.length !== 0) {
                    if (formName.applicationSystem.length == 0) {
                      formName.applicationSystem = ''
                    }
                    submitApply(formName).then((res) => {
                      message.success('申请提交成功，请到消息中心查看！')
                      console.log('能力申请================>', res)
                      if (res.data.code == 0) {
                        if (ids && ids.length > 0) {
                          sgcDel({ ids: ids }).then((res) => {
                            if (res.data.msg === 'success') {
                              mybus.emit('getSgcNum')
                              jumpToDetailsPageconetent()
                            }
                          })
                        } else {
                          // 融合服务
                          if (integrationServicesId) {
                            getIntegrationServicesDeatil(
                              integrationServicesId
                            ).then((res) => {
                              updateIntegrationServiceAction()
                            })
                          }
                          jumpToDetailsPageconetent()
                        }
                      } else {
                        message.error('申请失败！')
                      }
                    })
                  }
                }
              })
            } else {
              if (!applyAll) {
                let ids = []
                let falgNum = 0
                let sxt = true
                formName.system = []
                console.log('list==================', list.value)
                list.value.map((val) => {
                  val.arr.map((item) => {
                    if (item.type !== '基础设施') {
                      falgNum++
                    }
                  })
                })
                list.value.map((val) => {
                  val.arr.map((item) => {
                    if (item.type !== '基础设施') {
                      formName.system.push({
                        resourceId: item.resourceId,
                        resourceName: item.resourceName,
                      })
                      falgNum++
                      console.log(item.id)
                      if (item.id) {
                        ids.push(item.id)
                      }
                    } else {
                      infrastructureConfirm(item, falgNum, sxt)
                    }
                  })
                })
                console.log('formName--ids-提交数据--------->', formName, ids)
                if (formName.system.length !== 0) {
                  if (
                    formName.applicationSystem &&
                    formName.applicationSystem.length == 0
                  ) {
                    formName.applicationSystem = ''
                  }
                  // 西海岸：单兵设备、无人机单独调取其他接口
                  if (wrjAndDbText.includes(list.value[0].arr[0].type)) {
                    handleWrjApply(formName)
                    return
                  }
                  submitApply(formName).then((res) => {
                    message.success('申请提交成功，请到消息中心查看！')
                    console.log('能力申请================>', res)
                    if (res.data.code == 0) {
                      if (ids && ids.length > 0) {
                        sgcDel({ ids: ids }).then((res) => {
                          if (res.data.msg === 'success') {
                            mybus.emit('getSgcNum')
                            jumpToDetailsPageconetent()
                          }
                        })
                      } else {
                        // 融合服务
                        if (integrationServicesId) {
                          getIntegrationServicesDeatil(
                            integrationServicesId
                          ).then((res) => {
                            updateIntegrationServiceAction()
                          })
                        }
                        jumpToDetailsPageconetent()
                      }
                    } else {
                      message.error('申请失败！')
                    }
                  })
                }
              } else {
                formName.applicationSystem = ''
                applyAllApplication(formName).then((res) => {
                  if (res.data.code == 0) {
                    message.success('申请提交成功，请到消息中心查看！')
                    jumpToDetailsPageconetent()
                  } else {
                    message.error('申请失败！')
                  }
                })
              }
            }
          }
        })
      }

      // 基础设施--数据下发
      const infrastructureConfirm = (item, falgNum, sxt) => {
        let obj = {}
        Object.assign(obj, formName)
        console.log('摄像头===============>', obj, item)
        obj.system = []
        if (item.note1 && typeof item.note1 == 'string') {
          item.note1 = JSON.parse(item.note1)
        }
        item.note1 &&
          item.note1.map((jcss) => {
            if (!jcss) {
              return
            }
            let _itemData = {
              resourceId: (jcss.idtCameraChannel || '') + '',
              resourceName: jcss.channelName,
              cameraId: jcss.channelId, // 改接口后删除
              channelCode: jcss.channelCode,
              channelId: jcss.channelId,
              channelName: jcss.channelName,
              checkStatus: jcss.checkStatus + '',
              gpsX: jcss.gpsX,
              gpsY: jcss.gpsY,
              idtCameraChannel: (jcss.idtCameraChannel || '') + '',
              nodeName: jcss.nodeName,
              parentId: jcss.parentId,
              status: jcss.status + '',
            }
            // 西海岸
            if (isXiHaiAn.value) {
              _itemData.managementUnitName = jcss.managementUnitName
              _itemData.cameraPointTypeName = jcss.cameraPointTypeName
            }
            obj.system.push(_itemData)
          })
        submitApply(obj).then((res) => {
          // applySuccess.value = false
          console.log('摄像头申请================>', res)
          if (item.id) {
            sgcDel({ ids: [item.id] }).then((res1) => {
              if (res1.data.msg === 'success') {
                if (falgNum == 0 && sxt) {
                  message.success('申请提交成功，请到消息中心查看！')
                  sxt = false
                }
                mybus.emit('getSgcNum')
                jumpToDetailsPageconetent()
              }
            })
          } else {
            if (res.data.msg === 'success' && falgNum == 0 && sxt) {
              message.success('申请提交成功，请到消息中心查看！')
              sxt = false
            }
            jumpToDetailsPageconetent()
          }
        })
      }

      // 启动流程
      const startProcess = (processDefinitionKey, businessKey, formData) => {
        var data = {
          processDefinitionKey: processDefinitionKey,
          businessKey: businessKey,
          variables: formData,
        }
        startOfBusinessKey(data)
          .then(({ data: res }) => {
            if (res.code !== 0) {
              if (callbacks.startProcessErrorCallback) {
                callbacks.startProcessErrorCallback(res.data)
              }
            }
            message({
              message: '操作成功',
              type: 'success',
              duration: 500,
              onClose: () => {
                if (callbacks.startProcessSuccessCallback) {
                  callbacks.startProcessSuccessCallback(res.data)
                }
              },
            })
            if (instanceIdUrl) {
              var params = qs.stringify({
                processInstanceId: res.data.processInstanceId,
                processDefinitionKey: processDefinitionKey,
                businessKey: businessKey,
              })
              updateInstanceId(params).then(() => {})
            }
          })
          .catch(() => {})
      }
      const options = ref([
        {
          value: '政法委',
          label: '政法委',
        },
        {
          value: '公安局',
          label: '公安局',
        },
        {
          value: '卫健委',
          label: '卫健委',
        },
        {
          value: '城市管理局',
          label: '城市管理局',
        },
        {
          value: '生态环境局',
          label: '生态环境局',
        },
        {
          value: '交通运输局',
          label: '交通运输局',
        },
      ])
      const systemOptions = ref([])
      const systemOptions2 = ref([])
      const handleChange = (info) => {
        if (info.file.status !== 'uploading') {
          // console.log(info.file, info.fileList)
        }
        if (info.file.status === 'done') {
          message.success(`${info.file.name} 上传成功`)
          formName.enclosure = info.file.response.data
          formName.enclosureName = info.file.name
        } else if (info.file.status === 'error') {
          message.error(`${info.file.name} 上传失败`)
        }
      }
      const beforeUpload = (file) => {
        const isPNG =
          file.type === 'image/png' ||
          'image/doc' ||
          'image/docx' ||
          'image/jpg' ||
          'image/png' ||
          'image/jpeg' ||
          'image/pdf' ||
          'image/xlxs' ||
          'image/ppt'
        if (!isPNG) {
          message.error(`上传失败`)
        }
        return isPNG || Upload.LIST_IGNORE
      }
      const fileList = ref([])
      // 应用系统下拉
      const systemHandleChange = (value) => {
        console.log(`selected ${value}`)
      }
      const systemHandleSearch = (value) => {
        let valueArray = []
        systemOptions.value.map((val) => {
          valueArray.push(val.value)
        })
        if (valueArray.indexOf(value) == -1) {
          systemOptions.value.push({
            value: value,
            label: value,
          })
        }
      }
      pageWithAttrs({
        pageNum: 1,
        pageSize: 99999,
        type: '应用资源',
        name: '',
        infoList: [],
      }).then((res) => {
        if (res.data.code == 0) {
          if (res.data.data.records.length == 0) {
            message.warning('该关键词，暂无应用资源！')
          } else {
            res.data.data.records.map((val) => {
              systemOptions2.value.push({
                value: val.name,
                label: val.name,
              })
            })
            // console.log('第一次获取===================>', systemOptions2.value)
          }
        } else {
          message.error('应用系统获取数据失败!')
        }
      })
      const handleBlur = () => {
        console.log('blur')
      }
      const handleFocus = () => {
        console.log('focus')
        let arrId = []
        for (var valueIndex of systemOptions2.value) {
          if (arrId.indexOf(valueIndex['value']) == -1) {
            arrId.push(valueIndex['value'])
            systemOptions.value.push(valueIndex)
          }
        }
      }

      onBeforeUnmount(() => {
        mybus.off('reomveOldData')
      })

      // 融合服务-更新
      const updateIntegrationServiceAction = () => {
        let _applyCount =
          Number(integrationServicesItemInfo.value.applyCount || 0) + 1
        let _data = Object.assign({}, integrationServicesItemInfo.value, {
          applyCount: _applyCount,
        })
        updateIntegrationServices(_data)
          .then((res) => {
            console.log('res---更新--------->', res)
          })
          .catch((err) => {
            console.log('err----更新-------->', err)
          })
      }

      // 融合服务--详情
      const getIntegrationServicesDeatil = (id) => {
        return new Promise((resolve, reject) => {
          getIntegrationDetail(id).then(
            (res) => {
              resolve(res)
              if (res.data.code !== 0) {
                return message.error(res.data.msg)
              }
              integrationServicesItemInfo.value = res.data.data || {}
            },
            (err) => {
              reject(err)
              message.error(err)
            }
          )
        })
      }

      // 西海岸：单兵设备、无人机提交申请
      const handleWrjApply = (formName) => {
        let _data = {
          deviceId:
            formName.system &&
            formName.system[0] &&
            formName.system[0].resourceId,
          deviceName:
            formName.system &&
            formName.system[0] &&
            formName.system[0].resourceName,
          title: formName.title,
          name: formName.user,
          phone: formName.phone,
          dept: formName.unit, // 单位
          applicationSystem: formName.applicationSystem, // 应用系统
          applicationArea: JSON.stringify(formName.applicationScene), // 应用领域
          demand: formName.applicationBackground, // 需求依据
        }
        soldierApply(_data)
          .then((res) => {
            if (res.data.code == 0) {
              message.success(res.data.msg)
              jumpToDetailsPageconetent()
            } else {
              message.error('申请失败！')
            }
          })
          .catch((err) => {
            message.error(err)
          })
      }

      return {
        deptIdChangeFunction,
        formRef,
        formName,
        deptNameAll,
        instanceIdUrl,
        formUrl,
        processStartHandle,
        resetFields,
        startProcess,
        options,
        fileList,
        list,
        deptFlage,
        headers: {
          authorization: 'authorization-text',
        },
        handleChange,
        applySuccess,
        disabled,
        baseURL,
        beforeUpload,
        dataList,
        systemHandleChange,
        systemHandleSearch,
        handleBlur,
        handleFocus,
        systemOptions,
        applicationSceneOpthion,
        flag,
        applyAll,
        getIntegrationServicesDeatil,
        isCamera,
        isXiHaiAn,
        expireDateOptions,
      }
    },
  }
</script>
<style scoped lang="less">
  #apply-container {
    // background-color: #f5f8fc;
    height: 100%;
    width: 100%;
    margin: 0.8rem auto 0;
    display: flex;
    justify-content: space-between;

    aside {
      width: 282px;
      height: 96%;
      overflow-y: auto;
      background-color: #fff;
      margin: 1% 0 3%;
    }

    article {
      width: 1090px;
      height: 99%;
      overflow-y: auto;
      background-color: #fff;
      margin: 1% auto;
    }

    .form-container {
      padding: 20px 20px 30px 20px;

      .title {
        font-size: 20px;
        color: #000;
        font-weight: bold;
        margin-bottom: 20px;
      }
    }

    .base-info {
      display: flex;
      justify-content: space-between;
    }

    .flex-row-start {
      justify-content: flex-start;
      align-items: center;
    }

    :deep(.ant-form-item-label) {
      label {
        color: #666;
        font-size: 16px;

        &::after {
          content: '';
        }
      }
    }

    :deep(.ant-form-item-required) {
      &::before {
        font-size: 8px;
        margin-right: 10px;
      }
    }

    :deep(.ant-input) {
      border: 1px solid #e0e0e0;
      border-radius: 6px;
    }

    .success {
      div {
        width: 100px;
        margin: 80px auto 40px;
      }

      text-align: center;
      font-size: 20px;
      font-weight: bold;
      color: #000;
    }
  }

  .applicationScene {
    :deep(.ant-select-selector) {
      overflow-x: scroll;
    }

    :deep(.ant-select-selection-overflow) {
      flex-wrap: nowrap;
    }
  }

  textarea {
    resize: none;
    font-size: 14px;
  }

  .bottom-btn {
    display: flex;
    justify-content: center;
    // position: fixed;
  }
</style>
