123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- import { createSubscribe } from "applet-page-component";
- import history from "../../utils/history";
- import { getHospitalDistrictList } from "../select-hospital-area/service";
- import { getPatientList } from "../edit-patient/service";
- Component(
- createSubscribe({
- async onShow() {
- await this.getPatientLists();
- },
- })({
- data: {
- hospitalList: [],
- showPerson: false,
- personList: [],
- personItem: {},
- hospitalName: "",
- componentExtInfo: {},
- },
- props: {
- componentData: {},
- },
- didMount() {
- this.setData({
- componentExtInfo: this.props.componentData.componentExtInfo,
- });
- this.getHospitalList();
- this.getPatientLists();
- // 获取路由信息
- },
- methods: {
- async getPatientLists() {
- const personList = await getPatientList();
- this.setData({
- personList,
- });
- },
- async getHospitalList() {
- const hospitalList = await getHospitalDistrictList();
- this.setData({
- hospitalList,
- });
- },
- async handleToBook(e) {
- const { hospitalDistrictId, name: hospitalName } =
- e.target.dataset.item;
- const { personList, componentExtInfo } = this.data;
- this.setData({
- hospitalDistrictId,
- hospitalName,
- }); // 判就诊人列表三种情况
- if (personList.length === 0) {
- // 没有就诊人信息
- my.confirm({
- content: "您还未添加就诊人,无法进行核酸预约",
- confirmButtonText: "去新增",
- cancelButtonText: "取消",
- success: ({ confirm }) => {
- if (confirm) {
- history.push({
- title: "添加就诊人",
- pageType: "edit-patient",
- });
- }
- },
- });
- } else if (personList.length === 1) {
- this.setData({
- personItem: personList[0],
- }); // 有唯一就诊人(区分本人和其他人)
- history.push({
- query: {
- hospitalName,
- hospitalDistrictId,
- personItem: JSON.stringify(personList[0]),
- componentExtInfo: JSON.stringify(componentExtInfo),
- },
- title: "选择项目",
- pageType: "hospital-project",
- });
- } else {
- // 选择就诊人
- this.setData({
- showPerson: true,
- });
- }
- },
- onClosePerson() {
- this.setData({
- showPerson: false,
- });
- },
- onPersonChange(item, index) {
- this.setData({
- personItem: item,
- });
- history.push({
- query: {
- hospitalName: this.data.hospitalName,
- hospitalDistrictId: this.data.hospitalDistrictId,
- personIndex: index,
- personItem: JSON.stringify(item),
- componentExtInfo: JSON.stringify(this.data.componentExtInfo),
- },
- title: "选择项目",
- pageType: "hospital-project",
- });
- },
- },
- })
- );
|