<template>
  <div class="permission_dialog_container">
    <div class="modal_content">
      <p class="title">选择用户权限</p>
      <div class="log_select">
        <van-picker
          :columns="columns"
          :show-toolbar="false"
          visible-option-num="3"
          option-height="42"
          v-model="selectedValues"
        />
      </div>
      <div class="ok_btn style-btn" @click="chooseLog">确定</div>
      <svg
        class="close"
        @click="handleClickClose"
        xmlns="http://www.w3.org/2000/svg"
        xmlns:xlink="http://www.w3.org/1999/xlink"
        fill="none"
        version="1.1"
        width="13.06049919128418"
        height="13.062000274658203"
        viewBox="0 0 13.06049919128418 13.062000274658203"
      >
        <g>
          <path
            d="M6.531,7.5915L12,13.062L13.0605,12.0015L7.5915,6.531L13.0605,1.062L12,3.57628e-7L6.531,5.4705L1.062,0L0,1.062L5.4705,6.531L0,12L1.062,13.062L6.531,7.5915Z"
            fill="#323233"
            fill-opacity="1"
          />
        </g>
      </svg>
    </div>
  </div>
</template>

<script setup>
import { ref, watch } from 'vue'
const props = defineProps({
  changeLogVal: {
    type: Function,
  },
  logVal: {
    type: String,
  },
  hiddenLogVisible: {
    type: Function,
  },
})

const columns = ref([
  { text: '管理员', value: '1' },
  { text: '维护员', value: '2' },
  { text: '用户', value: '3' },
])

const chooseLog = () => {
  props.changeLogVal(selectedValues.value[0])
}

const handleClickClose = () => {
  props.hiddenLogVisible()
}

const selectedValues = ref(['3'])

watch(() => {
  selectedValues.value = [props.logVal]
})
</script>

<style lang="scss" scoped>
.permission_dialog_container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  .modal_content {
    width: 476px;
    height: 407px;
    border-radius: 16px;
    background: #ffffff;
    box-sizing: border-box;
    padding: 45px 68px 62px 68px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    .close {
      position: absolute;
      right: 24px;
      top: 18px;
    }
    .title {
      font-family: Source Han Sans CN;
      font-size: 22px;
      font-weight: normal;
      letter-spacing: 0.04em;
      color: #000000;
      margin-bottom: 39px;
    }
    .log_select {
      width: 340px;
      height: 113px;
      overflow: hidden;
      margin-bottom: 48px;
    }
    .ok_btn {
      width: 340px;
      height: 68px;
      border-radius: 8px;
      background: #06518b;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: Source Han Sans CN;
      font-size: 23px;
      font-weight: 350;
      letter-spacing: 0em;
      color: #ffffff;
    }
  }
}
</style>
