2023-04-24 23:10:19 -04:00
|
|
|
<template>
|
|
|
|
<ViewOrderDialogLab v-if="x_form_id == constants.OD_LAB" :client="client" :ien="ien" :dlgdef="dlgdef" :bldqrsp="bldqrsp" @submit="submit" />
|
|
|
|
<ViewOrderDialogMedOutpt v-else-if="x_form_id == constants.OD_MEDOUTPT" :client="client" :ien="ien" :dlgdef="dlgdef" :bldqrsp="bldqrsp" @submit="submit" />
|
|
|
|
<ViewOrderDialogGeneric v-else-if="x_form_id == constants.OD_RTC" :client="client" :ien="ien" :dfn="dfn" :location_ien="location_ien" :dlgname="dlgname" :dlgdef="dlgdef" @submit="submit" />
|
|
|
|
<ViewOrderDialogGeneric v-else-if="x_form_id" :client="client" :ien="ien" :dfn="dfn" :location_ien="location_ien" :dlgname="dlgname" :dlgdef="dlgdef" @submit="submit" />
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import * as constants from './constants.mjs';
|
|
|
|
import ViewOrderDialogLab from './ViewOrderDialogLab.vue';
|
|
|
|
import ViewOrderDialogMedOutpt from './ViewOrderDialogMedOutpt.vue';
|
|
|
|
import ViewOrderDialogGeneric from './ViewOrderDialogGeneric.vue';
|
|
|
|
|
|
|
|
export default {
|
|
|
|
components: {
|
|
|
|
ViewOrderDialogLab, ViewOrderDialogMedOutpt, ViewOrderDialogGeneric
|
|
|
|
},
|
|
|
|
props: {
|
|
|
|
client: Object,
|
|
|
|
ien: String,
|
|
|
|
form_id: String,
|
|
|
|
dfn: String,
|
|
|
|
location_ien: String
|
|
|
|
},
|
|
|
|
emits: {
|
|
|
|
'update:form_id': Number
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
constants,
|
|
|
|
dlgname: null,
|
|
|
|
dlgdef: null,
|
|
|
|
prompts: null,
|
|
|
|
inputs: null,
|
|
|
|
bldqrsp: null,
|
|
|
|
odslct: null,
|
|
|
|
x_form_id: this.form_id
|
|
|
|
};
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
async submit(payload) {
|
|
|
|
if((this.ien) && (this.dfn) && (payload)) {
|
2023-05-29 18:32:13 -04:00
|
|
|
var user_ien = (await this.client.authinfo()).duz;
|
2023-04-24 23:10:19 -04:00
|
|
|
var dgrp = await this.client.ORWDX_DGRP(this.dlgname.BaseDialogName);
|
|
|
|
var res = await client.ORWDX_SAVE(this.dfn, 0/*user_ien*/, 0/*location_ien*/, this.dlgname.BaseDialogName, dgrp, this.dlgname.BaseDialogIEN, ''/*order_ifn*/, payload, '', '', '', 0);
|
|
|
|
console.log(res);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
created() {
|
|
|
|
this.$watch(
|
|
|
|
() => (this.client, this.ien, {}),
|
|
|
|
async () => {
|
|
|
|
if((this.client) && (this.ien)) {
|
2023-05-29 18:32:13 -04:00
|
|
|
var authinfo = await this.client.authinfo();
|
|
|
|
var user_ien = authinfo && authinfo.success ? authinfo.duz : '';
|
2023-04-24 23:10:19 -04:00
|
|
|
this.dlgname = await this.client.ORWDXM_DLGNAME(this.ien);
|
|
|
|
if(this.dlgname.BaseDialogIEN != this.ien) console.warn('IEN =', this.ien, '|', 'BaseDialogIEN =', this.dlgname.BaseDialogIEN);
|
|
|
|
this.dlgdef = await this.client.ORWDX_DLGDEF(this.dlgname.BaseDialogName);
|
|
|
|
if(this.bldqrsp = (await this.client.ORWDXM1_BLDQRSP(this.ien, '^^' + user_ien + '^^^^;;;^^^^', 0, 0))[0]) this.$emit('update:form_id', this.x_form_id = +this.bldqrsp.FormID);
|
|
|
|
} else {
|
|
|
|
this.dlgname = this.dlgdef = this.bldqrsp = null;
|
|
|
|
this.x_form_id = +this.form_id;
|
|
|
|
}
|
|
|
|
if(this.x_form_id == constants.OD_RTC) this.odslct = await client.ORWDSD1_ODSLCT(0, 0);
|
|
|
|
},
|
|
|
|
{ immediate: true }
|
|
|
|
);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|