| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 | <template>    <div class="layout_container">        <header>            <MaternalDetailsHeader :huanZheXinXi="huanZheXinXi"></MaternalDetailsHeader>        </header>        <div class="layout_main">            <CyTabs height="100%" v-model="tabsName">                <CyTabPane :name="0" label="孕产妇保健">                    <CyTabs                            height="100%"                            v-model="childTabsName"                            @change="handleChildTabsChange"                    >                        <CyTabPane                                v-for="(item, index) in tabList"                                :key="index"                                :name="index"                                :label="item.label"                        >                            <iframe                                    v-if="                  item.module && item.module !== '' && childTabsName === index                "                                    ref="Iframe"                                    :src="url"                                    width="100%"                                    height="100%"                                    frameborder="0"                                    allowfullscreen                                    @load="iframeLoad"                            ></iframe>                            <div v-if="item.label === '早孕登记'">                                <EarlyPregnancyRegistration></EarlyPregnancyRegistration>                            </div>                            <div v-if="item.label === '病史询问'">                                <MedicalHistoryTaking></MedicalHistoryTaking>                            </div>                            <div v-if="item.label === '孕妇分娩'">                                <IntrapartumManagement></IntrapartumManagement>                            </div>                            <div v-if="item.label === '产后访视'">                                <PostpartumHousecall></PostpartumHousecall>                            </div>                        </CyTabPane>                        <!--                        <CyTabPane :name="0" label="早孕登记">                                                  <!–              <iframe–>                                                  <!–                :src="url"–>                                                  <!–                width="100%"–>                                                  <!–                height="600px"–>                                                  <!–                frameborder="0"–>                                                  <!–                allowfullscreen–>                                                  <!–              ></iframe>–>                                                </CyTabPane>                                                <CyTabPane :name="1" label="孕妇建卡">                                                  <iframe                                                    ref="Iframe"                                                    :src="url"                                                    width="100%"                                                    height="100%"                                                    frameborder="0"                                                    allowfullscreen                                                  ></iframe>                                                </CyTabPane>                                                <CyTabPane :name="2" label="病史询问"></CyTabPane>                                                <CyTabPane :name="3" label="产前检查"></CyTabPane>                                                <CyTabPane :name="4" label="实验室检查"></CyTabPane>                                                <CyTabPane :name="5" label="检查项目"></CyTabPane>                                                <CyTabPane :name="6" label="孕妇高危因素"></CyTabPane>                                                <CyTabPane :name="7" label="孕妇高危跟踪"></CyTabPane>                                                <CyTabPane :name="8" label="双向转诊"></CyTabPane>                                                <CyTabPane :name="9" label="孕妇分娩"></CyTabPane>                                                <CyTabPane :name="10" label="儿童建卡(新生儿登记)"></CyTabPane>                                                <CyTabPane :name="11" label="产后访视"></CyTabPane>                                                <CyTabPane :name="12" label="产后42天检查"></CyTabPane>                                                <CyTabPane :name="13" label="全流程">                                                  <iframe                                                    ref="Iframe"                                                    :src="url"                                                    width="100%"                                                    height="100%"                                                    frameborder="0"                                                    allowfullscreen                                                  ></iframe>                                                </CyTabPane>-->                    </CyTabs>                </CyTabPane>                <CyTabPane :name="1" label="生育技术服务">                    <CyTabs height="100%" v-model="childTabsName1">                        <CyTabPane :name="0" label="计生基本信息"></CyTabPane>                        <CyTabPane :name="1" label="计生门诊病历"></CyTabPane>                        <CyTabPane :name="2" label="计生手术记录"></CyTabPane>                        <CyTabPane :name="3" label="实验室检查"></CyTabPane>                        <CyTabPane :name="4" label="检查项目"></CyTabPane>                        <CyTabPane :name="5" label="术后随访"></CyTabPane>                    </CyTabs>                </CyTabPane>            </CyTabs>        </div>    </div></template><script setup>import CyTabs from "@/components/cy/tabs/src/CyTabs";import CyTabPane from "@/components/cy/tabs/src/CyTabPane.vue";import {ref} from "vue";import {FYSystemUrl} from "@/config/index.js";import {    huanZheXinXi,    onChangePatient,    youWuXuanZheHuanZhe,    yzMitt,} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";import {getBirthdayFromIdCard, getAgeFromIdCard} from "@/utils/index.js";import MedicalHistoryTaking from "@/views/hospitalization/zhu-yuan-yi-sheng/maternal-child/MedicalHistoryTaking.vue";import PostpartumHousecall from "@/views/hospitalization/zhu-yuan-yi-sheng/maternal-child/PostpartumHousecall.vue";import MaternalDetailsHeader from "@/views/hospitalization/zhu-yuan-yi-sheng/maternal-child/MaternalDetailsHeader.vue";import EarlyPregnancyRegistration    from "@/views/hospitalization/zhu-yuan-yi-sheng/maternal-child/EarlyPregnancyRegistration.vue";import IntrapartumManagement from "@/views/hospitalization/zhu-yuan-yi-sheng/maternal-child/IntrapartumManagement.vue";const tabsName = ref(0);const childTabsName = ref(0);const childTabsName1 = ref(0);const url = ref("");const tabList = ref([    {        label: "早孕登记",        module: "",    },    {        label: "孕妇建卡",        module: "M102",    },    {        label: "病史询问",        module: "",    },    {        label: "初次检查",        module: "M109",    },    // {    //     label: "实验室检查",    //     module: "",    // },    // {    //     label: "检查项目",    //     module: "",    // },    // {    //     label: "孕妇高危因素",    //     module: "M120",    // },    // {    //     label: "孕妇高危跟踪",    //     module: "",    // },    // {    //     label: "双向转诊",    //     module: "M148",    // },    {        label: "孕妇分娩",        module: "",    },    {        label: "儿童建卡(新生儿登记)",        module: "",    },    {        label: "产后访视",        module: "",    },    {        label: "产后42天检查",        module: "M139",    },    {        label: "全流程",        module: "M103",    },]);const iframeLoad = () => {    console.log("iframeLoad----------------");};const dianJiChaXunFuYou = () => {    console.log("huanZheXinXi-----------", huanZheXinXi.value);    handleChildTabsChange(childTabsName.value);};const handleChildTabsChange = val => {    console.log("handleChildTabsChange-----", tabsName.value, "---", val);    url.value = "";    if (tabsName.value === 0) {        console.log("tabList.value-----------------", tabList.value);        console.log("tabList.value[val]----------1--------", tabList.value[val]);        if (tabList.value[val]?.module) {            if (huanZheXinXi?.value.patNo) {                let data = {                    healthNo: "",                    patientNo: huanZheXinXi?.value.patNo,                    hospitalNo: "",                    outpatientNo: huanZheXinXi?.value.mzNo                            ? huanZheXinXi?.value.mzNo                            : "",                    name: huanZheXinXi?.value.name,                    cardType: "01",                    cardNo: huanZheXinXi?.value.socialNo                            ? huanZheXinXi?.value.socialNo                            : "",                    birthday: getBirthdayFromIdCard(huanZheXinXi?.value.socialNo),                    age: getAgeFromIdCard(huanZheXinXi?.value.socialNo),                    tel: huanZheXinXi?.value.homeTel ? huanZheXinXi?.value.homeTel : "",                    workOrgan: "",                    lmp: "",                };                const utf8Bytes = encodeURIComponent(JSON.stringify(data)).replace(                        /%([0-9A-F]{2})/g,                        (_, hex) => {                            return String.fromCharCode(parseInt(hex, 16));                        }                );                console.log("tabList.value", val, tabList.value[val]);                url.value =                        FYSystemUrl + tabList.value[val].module + "&data=" + btoa(utf8Bytes);                console.log("url---------", url.value);                window.open(FYSystemUrl + tabList.value[val].module + '&data=' + btoa(utf8Bytes), "_blank");            } else {                console.log("没有患者信息--------");            }        } else {            console.log("no module------------");        }        // if (val === 0) {        //   // url.value = 'http://192.168.100.140:18080/mchis-web/main.html#/indextabs/ycfbjadd/yfjkadd'        // } else if (val === 1) {        //   console.log("huanZheXinXi--------", huanZheXinXi?.value);        //   if (huanZheXinXi?.value.patNo) {        //     let data = {        //       healthNo: "",        //       patientNo: huanZheXinXi?.value.patNo,        //       hospitalNo: "",        //       outpatientNo: huanZheXinXi?.value.mzNo        //         ? huanZheXinXi?.value.mzNo        //         : "",        //       name: huanZheXinXi?.value.name,        //       cardType: "01",        //       cardNo: huanZheXinXi?.value.socialNo        //         ? huanZheXinXi?.value.socialNo        //         : "",        //       birthday: getBirthdayFromIdCard(huanZheXinXi?.value.socialNo),        //       age: getAgeFromIdCard(huanZheXinXi?.value.socialNo),        //       tel: huanZheXinXi?.value.homeTel ? huanZheXinXi?.value.homeTel : "",        //       workOrgan: "",        //       lmp: "",        //     };        //     const utf8Bytes = encodeURIComponent(JSON.stringify(data)).replace(        //       /%([0-9A-F]{2})/g,        //       (_, hex) => {        //         return String.fromCharCode(parseInt(hex, 16));        //       }        //     );        //     console.log(        //       "-----url-----",        //       FYSystemUrl + "M102&data=" + btoa(utf8Bytes)        //     );        //     url.value = FYSystemUrl + "M102&data=" + btoa(utf8Bytes);        //     // window.open( FYSystemUrl + 'M102&data=' + btoa(utf8Bytes), "_blank");        //   }        // } else if (val === 13) {        //   if (huanZheXinXi?.value.patNo) {        //     let data = {        //       healthNo: "",        //       patientNo: huanZheXinXi?.value.patNo,        //       hospitalNo: "",        //       outpatientNo: huanZheXinXi?.value.mzNo        //         ? huanZheXinXi?.value.mzNo        //         : "",        //       name: huanZheXinXi?.value.name,        //       cardType: "01",        //       cardNo: huanZheXinXi?.value.socialNo        //         ? huanZheXinXi?.value.socialNo        //         : "",        //       birthday: getBirthdayFromIdCard(huanZheXinXi?.value.socialNo),        //       age: getAgeFromIdCard(huanZheXinXi?.value.socialNo),        //       tel: huanZheXinXi?.value.homeTel ? huanZheXinXi?.value.homeTel : "",        //       workOrgan: "",        //       lmp: "",        //     };        //     const utf8Bytes = encodeURIComponent(JSON.stringify(data)).replace(        //       /%([0-9A-F]{2})/g,        //       (_, hex) => {        //         return String.fromCharCode(parseInt(hex, 16));        //       }        //     );        //     console.log(        //       "-----url-----",        //       FYSystemUrl + "M103&data=" + btoa(utf8Bytes)        //     );        //     url.value = FYSystemUrl + "M103&data=" + btoa(utf8Bytes);        //     // window.open( FYSystemUrl + 'M102&data=' + btoa(utf8Bytes), "_blank");        //   }        // }    } else if (tabsName.value === 1) {    }    onMounted(() => {    });};onChangePatient(dianJiChaXunFuYou);</script><style lang="scss" scoped>.layout_container {    font-family: "Helvetica Neue", "Helvetica", "PingFang SC", "Microsoft YaHei",    "Noto Sans CJK SC", "WenQuanYi Micro Hei", "Arial", "sans-serif";}</style>
 |