import { queryList } from '../../service';
import { createSubscribe } from 'applet-page-component';
Component(createSubscribe({
  onShow() {
    this.getHospitalPersonLists();
  }

})({
  props: {
    classStyleName: '',
    // 样式名称
    selectIndex: 0,
    hospitalDistrictId: '',
    onChange: () => null
  },
  data: {
    popUpOpened: false,
    // 弹出框是否显示
    title: '请选择住院人',
    // 标题
    onChoosePatient: null,
    // 选择就诊人
    onButtonClose: null,
    // 关闭莫态框
    popupPosition: 'bottom',
    // 弹出方向
    hospitalizationRecordList: null // 就诊人列表数据

  },

  didMount() {
    // 将当前实例赋值给父组件
    this.$page.$popModal = this; // 获取就诊人列表

    this.getHospitalPersonLists();
  },

  didUnmount() {
    this.$page.$popModal = null;
  },

  methods: {
    /**
     * 获取就诊人列表
     */
    async getHospitalPersonLists() {
      // 调用接口 - 获取就诊人列表
      const patientList = await queryList();

      if (Array.isArray(patientList) && patientList.length > 0) {
        // 处理枚举类型数据展示 ， 性别gender
        const arr = patientList.map(item => ({ ...item
        }));
        this.setData({
          hospitalizationRecordList: arr
        });
        this.props.onGetDatas(arr);
      } else {
        this.props.onGetDatas([]);
      }
    },

    /**
     * 点击关闭事件
     */
    onClose() {
      this.data.onButtonClose();
    },

    /**
     * 选择就诊人，调用父组件传来的函数
     */
    onChoosePatient(e) {
      // 获取当前选中项信息
      const {
        target: {
          dataset: {
            info
          }
        }
      } = e;
      this.data.onChoosePatient(info);
    },

    /**
    * 打开弹出框
    * @param {*} options 父组件向弹出框传来的参数
    */
    showPopover(options) {
      this.setData({ ...options,
        popUpOpened: true
      });
    },

    /**
    * 关闭弹出框
    */
    hidePopover() {
      this.setData({
        popUpOpened: false
      });
    }

  }
}));