|
@@ -139,6 +139,8 @@
|
|
|
<el-button type="primary" @click="submit" size="small" v-if="pageType!=3">推导</el-button>
|
|
<el-button type="primary" @click="submit" size="small" v-if="pageType!=3">推导</el-button>
|
|
|
<el-button type="primary" @click="submit" size="small" v-if="pageType==3">自动生成病历</el-button>
|
|
<el-button type="primary" @click="submit" size="small" v-if="pageType==3">自动生成病历</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+
|
|
|
|
|
+ <Emr ref="emr" v-if="hack__show_EMR" style="display: none"></Emr>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
<script>
|
|
<script>
|
|
@@ -151,9 +153,12 @@ import {
|
|
|
} from "@/api/diagnosis.js";
|
|
} from "@/api/diagnosis.js";
|
|
|
import { addRecipeFrom } from "@/api/dataAnalysis.js";
|
|
import { addRecipeFrom } from "@/api/dataAnalysis.js";
|
|
|
import { setTimeout } from "timers";
|
|
import { setTimeout } from "timers";
|
|
|
|
|
+import Emr from "@/views/diagnosis/Emr.vue";
|
|
|
export default {
|
|
export default {
|
|
|
|
|
+ components: {Emr},
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
|
|
+ hack__show_EMR: false,
|
|
|
year: "",
|
|
year: "",
|
|
|
month: "",
|
|
month: "",
|
|
|
day: "",
|
|
day: "",
|
|
@@ -275,14 +280,16 @@ export default {
|
|
|
let arr = [];
|
|
let arr = [];
|
|
|
let arr1 = [];
|
|
let arr1 = [];
|
|
|
|
|
|
|
|
- this.info.asks.forEach(item1 => {
|
|
|
|
|
- item1.answers.forEach(item2 => {
|
|
|
|
|
- if (item2.checked) {
|
|
|
|
|
- arr.push(item2);
|
|
|
|
|
- arr1.push(item1.askname);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ try {
|
|
|
|
|
+ this.info.asks.forEach(item1 => {
|
|
|
|
|
+ item1.answers.forEach(item2 => {
|
|
|
|
|
+ if (item2.checked) {
|
|
|
|
|
+ arr.push(item2);
|
|
|
|
|
+ arr1.push(item1.askname);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|
|
|
- });
|
|
|
|
|
|
|
+ } catch (e) {}
|
|
|
let set = new Set(arr1);
|
|
let set = new Set(arr1);
|
|
|
|
|
|
|
|
let arr2 = Array.from(set);
|
|
let arr2 = Array.from(set);
|
|
@@ -342,13 +349,11 @@ export default {
|
|
|
spinner: "el-icon-loading",
|
|
spinner: "el-icon-loading",
|
|
|
background: "rgba(0, 0, 0, 0.7)"
|
|
background: "rgba(0, 0, 0, 0.7)"
|
|
|
});
|
|
});
|
|
|
- let res = await submitDialetQ(params).catch(err => {
|
|
|
|
|
- loading.close();
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- if (res.ResultCode == 0) {
|
|
|
|
|
|
|
+ let res = await submitDialetQ(params).catch(err => {});
|
|
|
|
|
+ if (res && res.ResultCode == 0) {
|
|
|
this.addRecipeFrom();
|
|
this.addRecipeFrom();
|
|
|
if (this.pageType != 3) {
|
|
if (this.pageType != 3) {
|
|
|
|
|
+ await this.hackLoadEMR();
|
|
|
this.addDiagnosisData(res.Data, loading);
|
|
this.addDiagnosisData(res.Data, loading);
|
|
|
this._znQuestionSave(null);
|
|
this._znQuestionSave(null);
|
|
|
} else {
|
|
} else {
|
|
@@ -363,6 +368,7 @@ export default {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ loading.close();
|
|
|
},
|
|
},
|
|
|
// 提交中医诊断
|
|
// 提交中医诊断
|
|
|
async addDiagnosisData(obj, loading) {
|
|
async addDiagnosisData(obj, loading) {
|
|
@@ -454,13 +460,15 @@ export default {
|
|
|
|
|
|
|
|
// this.form.checkList1 = res.Data.itemids.split(',')
|
|
// this.form.checkList1 = res.Data.itemids.split(',')
|
|
|
let ids = res.Data.itemids.split(",");
|
|
let ids = res.Data.itemids.split(",");
|
|
|
- this.info.asks.forEach(item1 => {
|
|
|
|
|
- item1.answers.forEach(item2 => {
|
|
|
|
|
- if (ids.indexOf(item2.answered) != -1) {
|
|
|
|
|
- item2.checked = true;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ try {
|
|
|
|
|
+ this.info.asks.forEach(item1 => {
|
|
|
|
|
+ item1.answers.forEach(item2 => {
|
|
|
|
|
+ if (ids.indexOf(item2.answered) != -1) {
|
|
|
|
|
+ item2.checked = true;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|
|
|
- });
|
|
|
|
|
|
|
+ } catch (e) { }
|
|
|
|
|
|
|
|
this.answerClick();
|
|
this.answerClick();
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
@@ -469,6 +477,19 @@ export default {
|
|
|
} else {
|
|
} else {
|
|
|
this.$message.error(res.ResultInfo);
|
|
this.$message.error(res.ResultInfo);
|
|
|
}
|
|
}
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ async hackLoadEMR() {
|
|
|
|
|
+ this.hack__show_EMR = true;
|
|
|
|
|
+ const event = (type) => new Promise((resolve) => this.$nextTick(() => {
|
|
|
|
|
+ this.$refs.emr.$on(type, (payload) => resolve({ref: this.$refs.emr, payload}));
|
|
|
|
|
+ }))
|
|
|
|
|
+
|
|
|
|
|
+ let { ref } = await event('hack_loaded');
|
|
|
|
|
+ ref.isSkip = false;
|
|
|
|
|
+ ref.submit(null);
|
|
|
|
|
+ await event('hack_save');
|
|
|
|
|
+ this.hack__show_EMR = false;
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
computed: {
|
|
computed: {
|