|
@@ -1,123 +1,120 @@
|
|
|
<template>
|
|
|
- <xc-select-v2 v-model="obj"
|
|
|
- value="tcode" label="tname"
|
|
|
- :data="data" :remote-method="testmethod"/>
|
|
|
- 测试:
|
|
|
- <el-button @click="test1">清空</el-button>
|
|
|
- <el-button @click="generateData">生成数据</el-button>
|
|
|
-
|
|
|
- <xc-table :data="tableData" row-key="code" localPaging small @currentChange="currentChange">
|
|
|
- <el-table-column type="selection" reserve-selection/>
|
|
|
- <el-table-column label="编码" prop="code"></el-table-column>
|
|
|
- <el-table-column label="名称" prop="name"></el-table-column>
|
|
|
- <el-table-column label="其他" prop="qita"></el-table-column>
|
|
|
- </xc-table>
|
|
|
-
|
|
|
+ <el-container>
|
|
|
+ <el-header>
|
|
|
+ <el-button type="primary" @click="testSave">testSave</el-button>
|
|
|
+ <el-button type="primary" @click="testPrint">testPrint</el-button>
|
|
|
+ <el-button type="primary" @click="testDelete">testDelete</el-button>
|
|
|
+ </el-header>
|
|
|
+ <el-main>
|
|
|
+ <div class="emr-iframe" name="emr">
|
|
|
+ <iframe id="emrIframe" src="/emr/runtime/?documentId=&categoryCode=3f3e2d6006ff11edbc820dada413ba28&patientId=testpatient"></iframe>
|
|
|
+ </div>
|
|
|
+ </el-main>
|
|
|
+ </el-container>
|
|
|
</template>
|
|
|
|
|
|
-<script setup name='Test'>
|
|
|
-import sleep from "@/utils/sleep";
|
|
|
-import XcTable from "@/components/xc/xc-table/XcTable.vue";
|
|
|
-import {clone} from "@/utils/clone";
|
|
|
-import {uuid} from "@/utils/getUuid";
|
|
|
+<script>
|
|
|
|
|
|
-let dataV2 = $ref([])
|
|
|
+export default {
|
|
|
+ setup() {
|
|
|
|
|
|
-let tableData = $ref({
|
|
|
- data: [],
|
|
|
- currentPage: 1,
|
|
|
- pageSize: 30,
|
|
|
- total: 0
|
|
|
-})
|
|
|
+ const currentEmr = ref(null)
|
|
|
|
|
|
+ const testSave = () => {
|
|
|
+ console.log('test save clicked.')
|
|
|
+ currentEmr.value.saveDocument(null);
|
|
|
+ }
|
|
|
|
|
|
-const vChange = (val) => {
|
|
|
- console.log(val)
|
|
|
-}
|
|
|
-
|
|
|
-const currentChange = (val) => {
|
|
|
- console.log(tableData)
|
|
|
- console.log(tableData.currentPage)
|
|
|
-}
|
|
|
-
|
|
|
-const obj = $ref({
|
|
|
- tcode: '',
|
|
|
- tname: ''
|
|
|
-})
|
|
|
+ const testPrint = () => {
|
|
|
+ console.log('test print clicked.')
|
|
|
+ currentEmr.value.printDocument(null);
|
|
|
+ }
|
|
|
|
|
|
-let data = $ref([])
|
|
|
+ const testDelete = () => {
|
|
|
+ console.log('test delete clicked.')
|
|
|
+ currentEmr.value.deleteDocument(null);
|
|
|
+ }
|
|
|
+ onMounted(() => {
|
|
|
+ console.log('mounted.')
|
|
|
+ nextTick(() => {
|
|
|
+ console.log('start initializing.')
|
|
|
+ currentEmr.value = new EMRInteractive();
|
|
|
+ const iframe = document.getElementById('emrIframe')
|
|
|
+ iframe.parentElement.emr = currentEmr.value
|
|
|
+ // currentEmr.value.setEditor()
|
|
|
+ console.log('initialized.')
|
|
|
+ })
|
|
|
|
|
|
-const generateData = () => {
|
|
|
- for (let i = 0; i < 1000; i++) {
|
|
|
- data.push({
|
|
|
- value: i.toString(),
|
|
|
- label: i === 4 ? 'asdghashjgdhjasgdhjasgdhjasgdhjasgdjhasdg' : 'test' + i
|
|
|
})
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
|
|
|
-const testmethod = async (val) => {
|
|
|
- console.log('触发查询事件', val)
|
|
|
- let length = Math.ceil((Math.random() * 10) * 100)
|
|
|
- let index = Math.ceil((Math.random() * 10) * 10)
|
|
|
- data = []
|
|
|
- for (let i = 0; i < length; i++) {
|
|
|
- if (i === index) {
|
|
|
- data.push({
|
|
|
- value: val,
|
|
|
- label: i + 'label' + '数据'
|
|
|
- })
|
|
|
+ return {
|
|
|
+ testSave,
|
|
|
+ testPrint,
|
|
|
+ testDelete
|
|
|
}
|
|
|
- data.push({
|
|
|
- value: val + i,
|
|
|
- label: i + 'label'
|
|
|
- })
|
|
|
}
|
|
|
- await sleep(2000)
|
|
|
- obj.tname = ''
|
|
|
- data = []
|
|
|
-}
|
|
|
-
|
|
|
-const test1 = async () => {
|
|
|
- data = []
|
|
|
- await sleep(1000)
|
|
|
- obj.tcode = 'ad' + Math.ceil((Math.random() * 10))
|
|
|
- console.log(obj.tcode)
|
|
|
}
|
|
|
|
|
|
-let searchMethod = $ref('')
|
|
|
-const te = (val) => {
|
|
|
- searchMethod = val
|
|
|
- console.log(val)
|
|
|
-}
|
|
|
-
|
|
|
-let children = []
|
|
|
-
|
|
|
-for (let i = 0; i < 1000; i++) {
|
|
|
- children = []
|
|
|
- for (let j = 0; j < 10; j++) {
|
|
|
- children.push({
|
|
|
- code: i + j + 'value' + uuid(5, 62),
|
|
|
- name: 'name' + j,
|
|
|
- qita: 'qita' + 12,
|
|
|
+function EMRInteractive() {
|
|
|
+ this.setEditor = (editor, runtime) => {
|
|
|
+ this.editor = editor;
|
|
|
+ this.runtime = runtime;
|
|
|
+ };
|
|
|
+
|
|
|
+ this.getAppContext = () => {
|
|
|
+ return {
|
|
|
+ endpoints: {
|
|
|
+ app: "http://127.0.0.1:3000",
|
|
|
+ },
|
|
|
+ login: {
|
|
|
+ user: {
|
|
|
+ id: "testuser",
|
|
|
+ name: "测试人员",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ data: {
|
|
|
+ emr: {
|
|
|
+ patient: {
|
|
|
+ name: '张三'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ };
|
|
|
+ };
|
|
|
+
|
|
|
+ this.saveDocument = (cb) => {
|
|
|
+ console.log('save document.', this)
|
|
|
+
|
|
|
+ let data = this.editor.getDocument();
|
|
|
+ data.properties.categoryCode='3f3e2d6006ff11edbc820dada413ba28';
|
|
|
+ data.properties.patientId = 'testpatient';
|
|
|
+ this.runtime.saveDocument(
|
|
|
+ data,
|
|
|
+ (res) => {
|
|
|
+ console.log("emr保存成功", res);
|
|
|
+ },
|
|
|
+ (err) => {
|
|
|
+ console.log("emr保存失败", err);
|
|
|
+ }
|
|
|
+ );
|
|
|
+ };
|
|
|
+ this.deleteDocument = (cb) => {
|
|
|
+ console.log('delete document.')
|
|
|
+ let documentId = '3f3e2d6006ff11edbc820dada413ba28';
|
|
|
+ this.runtime.delDocument(documentId, (res) => {
|
|
|
+ console.log("emr删除成功");
|
|
|
});
|
|
|
- }
|
|
|
- tableData.data.push({
|
|
|
- code: 'code' + i,
|
|
|
- name: 'name' + i,
|
|
|
- qita: 'qita' + 12,
|
|
|
- children: i % 3 === 0 ? clone(children) : []
|
|
|
- })
|
|
|
+ };
|
|
|
+ this.printDocument = (showPreview, docs = null) => {
|
|
|
+ console.log('print document.')
|
|
|
+ };
|
|
|
}
|
|
|
|
|
|
-console.log(tableData)
|
|
|
-
|
|
|
-tableData.total = tableData.data.length
|
|
|
-
|
|
|
-
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
-
|
|
|
+ .emr-iframe,iframe {
|
|
|
+ width: 100%;
|
|
|
+ height: 700px;
|
|
|
+ }
|
|
|
</style>
|