|
@@ -1,105 +1,115 @@
|
|
|
-import { queryList } from '../../service';
|
|
|
-import { createSubscribe } from 'applet-page-component';
|
|
|
-Component(createSubscribe({
|
|
|
- onShow() {
|
|
|
- this.getHospitalPersonLists();
|
|
|
- }
|
|
|
+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, // 就诊人列表数据
|
|
|
+ },
|
|
|
|
|
|
-})({
|
|
|
- props: {
|
|
|
- classStyleName: '',
|
|
|
- // 样式名称
|
|
|
- selectIndex: 0,
|
|
|
- hospitalDistrictId: '',
|
|
|
- onChange: () => null
|
|
|
- },
|
|
|
- data: {
|
|
|
- popUpOpened: false,
|
|
|
- // 弹出框是否显示
|
|
|
- title: '请选择住院人',
|
|
|
- // 标题
|
|
|
- onChoosePatient: null,
|
|
|
- // 选择就诊人
|
|
|
- onButtonClose: null,
|
|
|
- // 关闭莫态框
|
|
|
- popupPosition: 'bottom',
|
|
|
- // 弹出方向
|
|
|
- hospitalizationRecordList: null // 就诊人列表数据
|
|
|
+ didMount() {
|
|
|
+ // 将当前实例赋值给父组件
|
|
|
+ this.$page.$popModal = this; // 获取就诊人列表
|
|
|
+ let timeLimit = 0;
|
|
|
+ this.getHospitalPersonLists();
|
|
|
+ const _this = this;
|
|
|
+ // 当用户使用链接或者二维码进入时,此时未进行授权,需要进行就诊人列表轮询查找
|
|
|
+ let myInterval = setInterval(() => {
|
|
|
+ const { hospitalizationRecordList } = _this.data;
|
|
|
+ if (
|
|
|
+ timeLimit >= 2 ||
|
|
|
+ hospitalizationRecordList ||
|
|
|
+ (hospitalizationRecordList && hospitalizationRecordList.length > 0)
|
|
|
+ ) {
|
|
|
+ clearInterval(myInterval);
|
|
|
+ myInterval = null;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ _this.getHospitalPersonLists();
|
|
|
+ timeLimit += 1;
|
|
|
+ }, 1500);
|
|
|
+ },
|
|
|
|
|
|
- },
|
|
|
+ didUnmount() {
|
|
|
+ this.$page.$popModal = null;
|
|
|
+ },
|
|
|
|
|
|
- didMount() {
|
|
|
- // 将当前实例赋值给父组件
|
|
|
- this.$page.$popModal = this; // 获取就诊人列表
|
|
|
+ methods: {
|
|
|
+ /**
|
|
|
+ * 获取就诊人列表
|
|
|
+ */
|
|
|
+ async getHospitalPersonLists() {
|
|
|
+ // 调用接口 - 获取就诊人列表
|
|
|
+ const patientList = await queryList();
|
|
|
|
|
|
- this.getHospitalPersonLists();
|
|
|
- },
|
|
|
+ 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([]);
|
|
|
+ }
|
|
|
+ },
|
|
|
|
|
|
- didUnmount() {
|
|
|
- this.$page.$popModal = null;
|
|
|
- },
|
|
|
+ /**
|
|
|
+ * 点击关闭事件
|
|
|
+ */
|
|
|
+ onClose() {
|
|
|
+ this.data.onButtonClose();
|
|
|
+ },
|
|
|
|
|
|
- methods: {
|
|
|
- /**
|
|
|
- * 获取就诊人列表
|
|
|
- */
|
|
|
- async getHospitalPersonLists() {
|
|
|
- // 调用接口 - 获取就诊人列表
|
|
|
- const patientList = await queryList();
|
|
|
+ /**
|
|
|
+ * 选择就诊人,调用父组件传来的函数
|
|
|
+ */
|
|
|
+ onChoosePatient(e) {
|
|
|
+ // 获取当前选中项信息
|
|
|
+ const {
|
|
|
+ target: {
|
|
|
+ dataset: { info },
|
|
|
+ },
|
|
|
+ } = e;
|
|
|
+ this.data.onChoosePatient(info);
|
|
|
+ },
|
|
|
|
|
|
- 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([]);
|
|
|
- }
|
|
|
- },
|
|
|
+ /**
|
|
|
+ * 打开弹出框
|
|
|
+ * @param {*} options 父组件向弹出框传来的参数
|
|
|
+ */
|
|
|
+ showPopover(options) {
|
|
|
+ this.setData({ ...options, popUpOpened: true });
|
|
|
+ },
|
|
|
|
|
|
- /**
|
|
|
- * 点击关闭事件
|
|
|
- */
|
|
|
- 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
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-}));
|
|
|
+ /**
|
|
|
+ * 关闭弹出框
|
|
|
+ */
|
|
|
+ hidePopover() {
|
|
|
+ this.setData({
|
|
|
+ popUpOpened: false,
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ })
|
|
|
+);
|