Browse Source

pacs

master
pengjun 1 year ago
parent
commit
13d75c34f5
  1. 3
      src/components/webBooking/WebBookingMzak.vue
  2. 9
      src/store/index.js
  3. 283
      src/views/common-settings/BigtextResultTypeEdit.vue
  4. 93
      src/views/fee-settings/ResultSetting.vue

3
src/components/webBooking/WebBookingMzak.vue

@ -341,8 +341,7 @@ export default {
// "customerOrgRegisterId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
// "customerOrgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
// }
let ret = Object.assign({},curRow,{
appointPatientRegisterId:curRow.thirdBookingId,
let ret = Object.assign({},curRow,{
mobileTelephone:curRow.phone,
personName:curRow.patientName
})

9
src/store/index.js

@ -428,9 +428,10 @@ export default new Vuex.Store({
room: { S: 0, M: 0 }, // 房间
room_detail: { S: 0, M: 0 }, // 房间关联的组合项目
common_table: { S: 0, M: 0 }, // 公共表
common_table_type: { S: 0, M: 0 }, // 公共表
third_medical_center: { S: 0, M: 0 }, // 公共表
third_medical_center_booking_date: { S: 0, M: 0 }, // 公共表
common_table_type: { S: 0, M: 0 }, //
third_medical_center: { S: 0, M: 0 }, //
third_medical_center_booking_date: { S: 0, M: 0 }, //
bigtext_result_type: { S: 0, M: 0 }, //
},
//表当前数据(单条记录 S--single)
@ -472,6 +473,7 @@ export default new Vuex.Store({
common_table_type: { id: '' }, // 公共表
third_medical_center: { id: '' }, // 公共表
third_medical_center_booking_date: { id: '' }, // 公共表
bigtext_result_type:{ id: '' }
},
//表当前数据(多条记录 M--more)
tableM: {
@ -546,6 +548,7 @@ export default new Vuex.Store({
CommonTableEdit: false, //公共表
PacsTemplate: false, // pacs结果模版
ThirdMedicalCenterEdit:false,
BigtextResultTypeEdit:false
}
},

283
src/views/common-settings/BigtextResultTypeEdit.vue

@ -0,0 +1,283 @@
<template>
<div style="padding: 10px 0;">
<div>
<el-form :model="form" label-width="100px" :rules="rules" ref="ruleForm">
<el-row>
<el-col :span="24">
<el-form-item label="上级类别">
<el-cascader ref="depref" @change="cascaderchang" :show-all-levels="false" v-model="form.parentId"
:options="treeData" :props="{
checkStrictly: true,
children: 'treeChildren',
label: 'displayName',
value: 'bigtextResultTypeId',
}" clearable size="small"></el-cascader>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="名称" prop="displayName">
<el-input v-model="form.displayName" ref="refinput" size="small"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="项目类别" prop="itemTypeId">
<el-cascader ref="depref" @change="itemTypeIdchang" :show-all-levels="false" v-model="form.itemTypeId"
:options="itemtypes" filterable :props="{
checkStrictly: true,
children: 'treeChildren',
label: 'displayName',
value: 'id',
}" clearable size="small"></el-cascader>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div style="display: flex;justify-content: space-between;padding: 10px 0;">
<div></div>
<div>
<el-button @click="dialogWin.BigtextResultTypeEdit = false" class="difference">取消</el-button>
<el-button type="" @click="btnSubmit" class="commonbutton">确定</el-button>
</div>
</div>
</div>
</template>
<script>
import { getapi, postapi, putapi } from "@/api/api";
import { mapState } from "vuex";
import { objCopy, tcdate } from "@/utlis/proFunc";
export default {
props: ["refParams", "refFunOther"],
data() {
return {
treeData: [], //
itemtypes: [], //
rules: {
displayName: [
{ required: true, message: "请输入名称", trigger: "blur" },
],
itemTypeId: [
{ required: true, message: "请选择项目类别", trigger: "blur" },
]
},
defaultProps: {
children: "treeChildren",
label: "displayName",
},
title: 1,
tableData: [],
tableHeight: window.innerHeight - 180, //
screenHeight: window.innerHeight, //
form: {
id: "",
displayName: "",
parentId: "",
itemTypeId: ""
},
value: "", //
dialogVisible: false,
guideoptions: [],
row: {},
isshow: true,
activeRows: [],
message: true,
tableKey: '',
isshows: true
};
},
created() {
},
mounted() {
this.dictInit()
this.dispEdit()
},
computed: {
...mapState(["window", "dialogWin", "dataTransOpts"]),
},
methods: {
//
dictInit() {
// this.getTreeData()
//
getapi('/api/app/item-type/by-code-all').then(res => {
if (res.code > -1) {
this.itemtypes = res.data
tcdate(this.itemtypes)
}
})
postapi('/api/app/BigtextResultType/GetByCodeAll').then(res => {
if (res.code > -1) {
this.treeData = res.data
tcdate(this.treeData)
}
})
},
cascaderchang(v) {
if (v) {
this.form.parentId = v[v.length - 1];
} else {
this.form.parentId = null
}
},
itemTypeIdchang(v) {
if (v) {
this.form.itemTypeId = v[v.length - 1];
} else {
this.form.itemTypeId = null
}
},
//
btnDel() {
let bigtextResultTypeId = this.row.bigtextResultTypeId;
this.$confirm("是否删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
cancelButtonClass: "difference",
confirmButtonClass: "commonbutton",
})
.then(() => {
postapi('/api/app/BigtextResultType/Delete', { bigtextResultTypeId }).then((res) => {
if (res.code > -1) {
//this.$message.success("");
this.row = this.$options.data().row;
}
});
})
.catch(() => {
this.$message("取消成功");
});
},
formFocus() {
this.$nextTick(() => {
this.$refs.refinput.focus();
});
},
dispEdit() {
if (this.$refs.ruleForm !== undefined) {
this.$refs.ruleForm.resetFields();
}
if (this.refParams.id) {
objCopy(this.refParams, this.form)
postapi('/api/app/BigtextResultType/Get', { bigtextResultTypeId: this.refParams.id }).then((res) => {
if (res.code > -1) {
objCopy(res.data, this.form);
this.formFocus()
}
})
} else {
objCopy(this.refParams, this.form)
this.formFocus()
}
},
//
btnSubmit() {
this.$refs.ruleForm.validate((v) => {
if (v) {
if (!this.form.id) {
postapi('/api/app/BigtextResultType/Create', this.form).then(res => {
if (res.code > -1) {
this.refFunOther(res.data)
this.dialogWin.BigtextResultTypeEdit = false
}
})
} else {
postapi('/api/app/BigtextResultType/Update', Object.assign({}, this.form, { bigtextResultTypeId: this.form.id })).then(res => {
if (res.code > -1) {
this.refFunOther(this.form)
this.dialogWin.BigtextResultTypeEdit = false
}
})
}
}
});
},
},
//
watch: {
//
"dataTransOpts.refresh.bigtext_result_type.S": {
// immediate:true,
handler(newVal, oldVal) {
console.log(`watch dataTransOpts.refresh.bigtext_result_type.S newVal: ${newVal}, oldVal: ${oldVal}`);
if (newVal != oldVal) this.dispEdit()
}
},
},
};
</script>
<style scoped>
@import "../../assets/css/global_button.css";
@import "../../assets/css/global_dialog.css";
@import "../../assets/css/global_table.css";
@import "../../assets/css/global_form.css";
@import "../../assets/css/global_input.css";
@import "../../assets/css/global.css";
.box {
display: flex;
flex-direction: column;
}
.layeredleftright {
width: 100%;
display: flex;
flex-direction: column;
}
:deep .el-form-item {
margin-bottom: 14px;
}
/* el-dialog的头部样式 */
:deep .el-dialog__header {
padding: 11px 20px 11px;
}
/* el-dialog的主体样式 */
:deep .el-dialog__body {
padding: 0px 20px 0px;
}
/* el-divider样式 */
:deep .el-divider--horizontal {
margin: 0px 0 12px;
}
/* el-dialog的底部样式 */
:deep .el-dialog__footer {
padding: 0px 20px 14px;
}
:deep .el-table tr {
height: 35px;
}
</style>

93
src/views/fee-settings/ResultSetting.vue

@ -189,7 +189,11 @@
</div>
</div>
<el-dialog :title="`${dataTransOpts.tableS.bigtext_result_type.id ? '编辑' : '新增'} -- 词条类别`"
:visible.sync="dialogWin.BigtextResultTypeEdit" width="400px" @close="close_BigtextResultTypeEdit"
:close-on-click-modal="false">
<BigtextResultTypeEdit :refParams="bigtextResultType" :refFunOther="retBigtextResultType" />
</el-dialog>
<!-- 新增或者编辑弹框 -->
<el-dialog :title="title == 1 ? '新增' : '编辑'" :visible.sync="dialogVisible" width="800px" @close="bindidclose"
@ -327,14 +331,19 @@ import { mapState } from "vuex";
import Sortable from "sortablejs";
import { getapi, postapi, deletapi } from "@/api/api";
import { examinationgender, instrumentlist } from "@/request/systemapi";
import { deepCopy, objCopy, dddw, tcdate } from "../../utlis/proFunc";
import { getTreePids, getTreeAllChildIdsById, madeTree } from "../../utlis/tree";
import { deepCopy, objCopy, dddw, tcdate, arrayExistObj } from "../../utlis/proFunc";
import { getTreeNode, getTreePids, getTreeAllChildIdsById, madeTree } from "../../utlis/tree";
import BigtextResultTypeEdit from "../../views/common-settings/BigtextResultTypeEdit.vue"
import {
getporjectlists,
groupsandlist,
combination,
} from "@/request/commonapi";
export default {
components: {
BigtextResultTypeEdit
},
data() {
return {
@ -418,8 +427,7 @@ export default {
initfiletelists: [],
bigtextResultTemplateId: "",
bigtextResultType: {}
};
},
created() {
@ -443,7 +451,7 @@ export default {
// });
},
computed: {
...mapState(["window", "dict"]),
...mapState(["window", "dict", "dialogWin", "dataTransOpts"]),
tableHeight() {
let pageHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
@ -453,16 +461,34 @@ export default {
methods: {
dddw,
//
nodeContextmenu(event, data, node, self) {
console.log('event', event)
console.log('data', data)
console.log('node', node)
console.log('self', self)
this.curTreeNode = data
// {
// "displayName": "MR",
// "bigtextResultTypeId": "87bbe715-47a8-4f05-8614-2bf8e640fd83",
// "simpleCode": null,
// "displayOrder": 1787,
// "creatorName": "",
// "lastModifierName": "",
// "lastModificationTime": "2024-04-29 17:15:52",
// "lastModifierId": "3a11fe49-5719-0e9e-dd44-0c4aff0900b0",
// "creationTime": "2024-04-29 17:15:52",
// "creatorId": "3a11fe49-5719-0e9e-dd44-0c4aff0900b0",
// "id": "70aeee38-d3ad-4286-b5a5-25942deccdab",
// "parentId": "87bbe715-47a8-4f05-8614-2bf8e640fd83",
// "isTemplate": "Y"
// }
let items = [{
label: "新增顶级词条类别",
onClick: () => {
editPacsType({})
this.editPacsType({ id: '', parentId: null, displayName: '', itemTypeId: '' })
}
}] //
@ -472,19 +498,19 @@ export default {
items.push({
label: '新增结果模版',
onClick: () => {
editPacsTemplate({})
this.editPacsTemplate({ id: '', displayName: '', bigtextResultTypeId: data.bigtextResultTypeId })
}
})
items.push({
label: '编辑结果模版',
onClick: () => {
editPacsTemplate({})
this.editPacsTemplate(data)
}
})
items.push({
label: '删除结果模版',
onClick: () => {
delPacsTemplate({})
this.delPacsTemplate(data)
}
})
} else {
@ -492,25 +518,32 @@ export default {
items.push({
label: '新增同级词条类别',
onClick: () => {
editPacsType({})
this.editPacsType({ id: '', parentId: data.parentId, displayName: '', itemTypeId: data.itemTypeId })
}
})
items.push({
label: '新增子级词条类别',
onClick: () => {
editPacsType({})
this.editPacsType({ id: '', parentId: data.id, displayName: '', itemTypeId: data.itemTypeId })
}
})
items.push({
label: '编辑词条类别',
onClick: () => {
editPacsType({})
this.editPacsType(data)
}
})
items.push({
label: '删除词条类别',
onClick: () => {
delPacsType({})
this.delPacsType(data)
}
})
items.push({ label: "----------------" })
items.push({
label: '新增结果模版',
onClick: () => {
this.editPacsTemplate({ id: '', displayName: '', bigtextResultTypeId: data.id })
}
})
}
@ -528,20 +561,50 @@ export default {
},
editPacsType(data) {
// "displayName": "",
// "parentId": "3f36f000-4081-46b0-92b9-9923444c2a59",
// "itemTypeId": "3a133e27-4ae2-0d0f-8de7-cdf2bdf93ce4",
// "id": "0a8c3073-fbf7-
this.bigtextResultType = data
this.dataTransOpts.refresh.bigtext_result_type.S++
this.dialogWin.BigtextResultTypeEdit = true
},
delPacsType(data) {
},
editPacsTemplate(data) {
// "displayName": "",
// "bigtextResultTypeId": "a1b264d5-c690-49dd-8ff5-93d53e61852d",
// "id": "3a241898-e
},
delPacsTemplate(data) {
},
retBigtextResultType(bigtextResultType) {
this.bigtextResultType = bigtextResultType
},
close_BigtextResultTypeEdit() {
let parentNode = getTreeNode(this.pacsTemplateTree, 'children', 'id', this.bigtextResultType.parentId || null)
if (parentNode) {
if (!parentNode['children']) parentNode['children'] = []
let lfind = arrayExistObj(parentNode['children'], 'id', this.bigtextResultType.id)
if (lfind > -1) {
parentNode['children'][lfind].displayName = this.bigtextResultType.displayName
} else {
parentNode['children'].push(this.bigtextResultType)
}
} else {
this.pacsTemplateTree.push(this.bigtextResultType)
}
},
//pacs
getPacsTemplateTree() {

Loading…
Cancel
Save