<template>
  <div style="width:100%;height:200px;padding:30px 23px; z-index:10;">
    <el-form ref="form" size="mini" :model="editForm" :rules="rules" label-width="120px">
      <el-form-item label="选择时间段: " prop="codeValue">
        <el-time-picker
            is-range
            v-model="editForm.codeValue"
            range-separator="-"
            value-format="HH:mm:ss"
            start-placeholder="开始时间"
            end-placeholder="结束时间"
            placeholder="选择时间范围"
            style="width:100%;margin-bottom:5px;"
            size="mini"
            >
        </el-time-picker>
      </el-form-item>
     
      <el-form-item style="margin-top:0px;">
        <el-button @click="close()">取消</el-button>
        <el-button type="primary" @click="createForm('form')">编辑</el-button>
      </el-form-item>

    </el-form>
  </div>
</template>
<script>
  import { encode } from '../../../utils/base64';
  import { listToTreeSelect } from '@/utils'
  import '@riophae/vue-treeselect/dist/vue-treeselect.css'
  import { postMethodCommon, getMethodCommon } from '../../../api/common';
  import { validateMobile, validID, validateStock } from './validate.js'
  import form from '../../../store/modules/form';
  let BASE_IMAGE_URL = process.env.VUE_APP_BASE_IMG_URL;
  // let BASE_IMAGE_URL = BASE_IMAGE_API_URL;
  export default {
    name: "AddForm",
    props: ['editForm'],
    components: {
      
    },
    data() {
      return {
        BASE_IMAGE_URL: BASE_IMAGE_URL,
        rules: {
          codeValue: [
            { required: true, message: '不能为空', trigger: 'blur' },
          ],
          phone: [
            { required: true, message: '电话不能为空', trigger: 'blur' },
            { validator: validateMobile.bind(this), trigger: 'blur' }
          ],
          gender: [
            { required: true, message: '性别不能为空', trigger: 'blur' },
          ],
        },
        dialogFormVisible: false,
        orgsTree: [], // 用户可访问到的所有机构组成的树
        selectRoles: [], // 用户分配的角色
        selectRoleNames: '',
        level:0,
        addForm:{
          code:"TimeSlot",
          codeValue:"",
        }
      }
    },
    created() {
      console.log("editForm",this.editForm);
      this.editForm.codeValue = this.editForm.codeValue.split("-")
    },
    computed: {
      selectOrgs: {
        get: function () {
          if (this.detailInfo.length == 1) {
            return this.addForm.areaId
          } else {
            return []
          }
        },
        set: function (v) {
          var _this = this
          _this.addForm.areaId = v
        }
      }
    },
    mounted() {
      let _this = this;
      var querys = {
        regionName: localStorage.getItem("areaENName")
      }
      getMethodCommon("/Grid/LoadAllTown", querys).then(res => {
        console.log("data", res.data);
        if (res.code == 200) {
          var list = res.data
          var arr = this.traverse(list)
          console.log(arr)
          _this.orgsTree = arr;
        }
      })
    },
    methods: {
      getDetail() {
        getMethodCommon("/FireCodeApp/GetForestryUserById?id=" + this.detailInfo[0].Id, {}).then(res => {
          if (res.code == 200) {
            let detail  = {...res.data[0]};
            this.addForm.id = detail.Id;
            this.addForm.name = detail.Name;
            this.addForm.account = detail.Account;
            this.addForm.sex = detail.Sex;
            this.addForm.userRole = detail.UserRole;
            this.addForm.areaId = detail.areaId;
            // if(this.addForm.areaId){
            //   var areaId = this.addForm.areaId.split(',')
            //   this.addForm.areaId = turnNum(areaId)
            // }
            // var turnNum = function (nums) {
            //   return nums.map(Number);
            // }
          }
        })
      },
      traverse(arr) {
        this.level++;
        if(this.level<3){
          if (arr && arr.length > 0) {
            var list = []
            arr.forEach(childelement => {
              list.push({
                id: childelement.id,
                label: childelement.areaName,
                parentId: childelement.pId || null,
                children: this.traverse(childelement.child)
              })
            });
            return list
          }
        }
      },
      submitForm() {

        alert(111)
        var _this = this
        this.$refs['form'].validate((valid) => {
          if (valid) {
            // 添加
            console.log("editForm:::",_this.editForm.codeValue);
            // _this.editForm.codeValue = _this.editForm.codeValue.join("-");
            postMethodCommon("/FireManagement/AddSettingInfo", _this.addForm).then(response => {
                if (response.code == 200) {
                  // 上传shp
                  this.$emit("addSuccess");
                  this.$message({
                    type: "success",
                    message: "添加成功"
                  })
                }
              })

          } else {
            console.log('error submit!!');
            return false;
          }
        });
      },
      createForm() {
        var _this = this
        this.$refs['form'].validate((valid) => {
          if (valid) {

            _this.editForm.codeValue = _this.editForm.codeValue.join("-");
            // delete this.addForm.zrclist
            postMethodCommon("/FireManagement/EditSettingInfo ", _this.editForm).then(response => {
              if (response.code == 200) {
                // 上传shp
                this.$emit("addSuccess");
                this.$message({
                  type: "success",
                  message: "编辑成功"
                })
              }
            })
          } else {
            console.log('error submit!!');
            return false;
          }
        });
      },
      close() {
        this.$emit("close");
      }
    }
  }
</script>
<style scoped>
  ::v-deep .vue-treeselect__control {
    background: rgba(0, 9, 34, 0);
  }

  ::v-deep .el-form-item__label {
    color: #333;
  }

  ::v-deep .el-radio {
    color: #333;

  }

  .service-type-btn {
    width: 100%;
    height: 180px;
    text-align: center;
    margin-top: 100px;
  }
</style>