pengjun 1 year ago
parent
commit
b2c2030821
  1. 8
      src/components/common/LocalConfig.vue
  2. 8
      src/components/customerOrg/customerOrgEdit.vue
  3. 65
      src/components/customerOrg/customerOrgTree.vue
  4. 2240
      src/components/patientRegister/PatientRegisterEditBak210604.vue
  5. 27
      src/components/patientRegister/customerOrgTreeAll.vue
  6. 2
      src/components/report/CusOrgOCX.vue
  7. 8
      src/utlis/proFunc.js

8
src/components/common/LocalConfig.vue

@ -49,11 +49,16 @@
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-col :span="12">
<el-form-item label="启用人名查重">
<el-checkbox v-model="LocalConfig.patientRegister.findPatientByName" size="small" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位树显示编码">
<el-checkbox v-model="LocalConfig.patientRegister.dispCustomerOrgCode" true-label="Y" false-label="N" size="small" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-tab-pane>
@ -108,6 +113,7 @@ export default {
immediateToHisCharge: true, //
findPatientByName:true, //
printGuideLabel: ["guide", "pacs", "lis"], //
dispCustomerOrgCode:'N', // -- customerOrgCode
},
lisLabel: { //
MarginTop: 56, //

8
src/components/customerOrg/customerOrgEdit.vue

@ -20,8 +20,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="简称/别名" prop="shortName">
<el-input class="enterToTab" v-model="form.shortName" placeholder="请输入单位简称/别名"
<el-form-item label="单位简称" prop="shortName">
<el-input class="enterToTab" v-model="form.shortName" placeholder="请输入单位简称"
:disabled="customerOrg.oprStatus ? false : true" />
</el-form-item>
</el-col>
@ -344,7 +344,7 @@ export default {
let node = {
id: body.id,
displayName: body.displayName,
label:(body.shortName ? body.shortName + '--':'') + body.displayName,
label:(body.customerOrgCode ? body.customerOrgCode + ' ':'') + body.displayName,
parentId: body.parentId,
};
@ -380,7 +380,7 @@ export default {
body.id
);
node2.displayName = body.displayName;
node2.label = (body.shortName ? body.shortName + '--':'') + body.displayName
node2.label = (body.customerOrgCode ? body.customerOrgCode + ' ':'') + body.displayName
break;
case "delete":

65
src/components/customerOrg/customerOrgTree.vue

@ -1,21 +1,20 @@
<template>
<div>
<div style="margin:2px 2px 2px 2px;">
<el-input placeholder="输入关键字进行过滤" v-model="filterText" size="small" />
<el-input placeholder="输入关键字进行过滤" v-model="filterText" size="small" />
</div>
<div>
<el-tree :data="customerOrg.customerOrgTree" :props="treeprops"
node-key="id" :filter-node-method="filterNode" :style="'overflow: scroll;width:200px;height:' +(window.pageHeight < 600 ? 465 : window.pageHeight - 135) + 'px;'"
:default-expanded-keys="customerOrg.defaultExpandedKeys"
<el-tree :data="customerOrg.customerOrgTree" :props="treeprops" node-key="id" :filter-node-method="filterNode"
:style="'overflow: scroll;width:200px;height:' + (window.pageHeight < 600 ? 465 : window.pageHeight - 135) + 'px;'"
:default-expanded-keys="customerOrg.defaultExpandedKeys" @node-contextmenu="nodeContextmenu"
@node-click="treeclick" highlight-current ref="customerOrgTree">
<span class="custom-tree-node" slot-scope="{ node, data }">
<div>
<span class="treeicons">
<img style="width:20px;height:20px;vertical-align: sub;" src="@/assets/images/order.png" v-if="!data.parentId"/>
<span class="treeicons">
<img style="width:20px;height:20px;vertical-align: sub;" src="@/assets/images/order.png"
v-if="!data.parentId" />
</span>
<span
:class="!data.parentId ? 'maxtitle' : 'mintitle'"
>{{ node.label }}
<span :class="!data.parentId ? 'maxtitle' : 'mintitle'">{{ node.label }}
</span>
</div>
</span>
@ -26,16 +25,16 @@
<script>
import { mapState, mapMutations } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { tcdate, deepCopy,reMadeOrgTree } from "../../utlis/proFunc";
import { getTreePids} from "../../utlis/tree";
import { tcdate, deepCopy, reMadeOrgTree } from "../../utlis/proFunc";
import { getTreePids } from "../../utlis/tree";
export default {
components: {},
data() {
return {
filterText:'',
filterText: '',
treeprops: {
label: "label",
label: "displayName", // label/displayName
value: "id",
id: "id",
children: "treeChildren",
@ -48,7 +47,7 @@ export default {
},
//
created() {
created() {
},
//
@ -79,21 +78,21 @@ export default {
// api/app/organization-units/organization-unit-by-is-peis // api/app/customer-org/by-code-all
getapi("/api/app/customerorg/getbycodeall?IsHidePerson=1").then((res) => {
//customerOrgTree = res.data;
if(res.code != -1){
if (res.code != -1) {
this.customerOrg.customerOrgTree = reMadeOrgTree(deepCopy(res.data))
// tcdate(this.customerOrg.customerOrgTree);
}
});
},
//
//api/app/contact-method/in-contact-person-id?ContactPersonId=3a0c08ad-4304-138b-d9e6-a7338739dfc4' \
getContactMethodList(ContactPersonId) {
getapi("/api/app/contact-method/in-contact-person-id", {
ContactPersonId,
}).then((res) => {
if(res.code != -1){
if (res.code != -1) {
this.customerOrg.contactMethodList = res.data;
}
});
@ -103,18 +102,24 @@ export default {
treeclick(data) {
//console.log(data.id + " " + data.displayName);// api/app/customer-org/3a0c0439-a5ca-8a63-b2b9-e0eb24cb58b1
this.customerOrg.oprStatus = 'edit'
//
this.dataTransOpts.tableS.customer_org.id = data.id //ID
this.dataTransOpts.tableS.customer_org.parent_id = data.id //ID
if(data.parentId){
let pids = getTreePids(this.customerOrg.customerOrgTree,"treeChildren", 'parentId', 'id', data.id)
if (data.parentId) {
let pids = getTreePids(this.customerOrg.customerOrgTree, "treeChildren", 'parentId', 'id', data.id)
this.dataTransOpts.tableS.customer_org.parent_id = pids[pids.length - 2]
}
}
this.dataTransOpts.refresh.customer_org.S++
this.dataTransOpts.refresh.customer_org_register.M++
this.dataTransOpts.refresh.contact_person.M++
this.dataTransOpts.refresh.contact_person.M++
},
//
nodeContextmenu(event, data, node, ids) {
console.log('event,data,node,ids', event, data, node, ids)
},
//
@ -126,30 +131,32 @@ export default {
},
watch: {
"customerOrg.treeCurrentNodekey"(newVal,oldVal){
"customerOrg.treeCurrentNodekey"(newVal, oldVal) {
//console.log('watch:customerOrg.treeCurrentNodekey',newVal,oldVal)
if(newVal && newVal != oldVal){
if (newVal && newVal != oldVal) {
this.$nextTick(() => {
this.$refs['customerOrgTree'].setCurrentKey(newVal);
})
}
},
},
"filterText"(newVal,oldVal){
"filterText"(newVal, oldVal) {
this.$refs['customerOrgTree'].filter(newVal);
}
},
};
</script>
<style scoped>
@import "../../assets/css/global.css";
@import "../../assets/css/global_tree.css";
.treeicons {
font-size: 20px;
margin-right: 5px;
}
:deep .el-tree-node>.el-tree-node__children{
:deep .el-tree-node>.el-tree-node__children {
overflow: visible;
}
</style>

2240
src/components/patientRegister/PatientRegisterEditBak210604.vue
File diff suppressed because it is too large
View File

27
src/components/patientRegister/customerOrgTreeAll.vue

@ -40,6 +40,11 @@ export default {
id: "id",
children: "treeChildren",
}, //
LocalConfig: {
patientRegister: {
dispCustomerOrgCode:'N', // -- customerOrgCode
}
}
};
},
//<el-tree :data="$store.state.customerOrg.customerOrgTree" :props="$store.state.customerOrg.treeprops" @node-click="treeclick"></el-tree>
@ -47,7 +52,16 @@ export default {
...mapState(["window", "dict","dataTransOpts","customerOrg", "patientRegister"]),
},
//
created() { },
created() {
try {
let LocalConfig = JSON.parse(window.localStorage.getItem('LocalConfig'))
if (LocalConfig && LocalConfig.patientRegister) {
if (LocalConfig.patientRegister.dispCustomerOrgCode) this.LocalConfig.patientRegister.dispCustomerOrgCode = LocalConfig.patientRegister.dispCustomerOrgCode
}
} catch (error) {
console.log("window.localStorage.getItem('LocalConfig')", error)
}
},
//
mounted() {
@ -61,10 +75,9 @@ export default {
getapi("/api/app/customerorg/getbycodeall").then((res) => {
// console.log("res.data", res.data);
if (res.code > -1){
this.patientRegister.customerOrgTreeAll = reMadeOrgTree(deepCopy(res.data));
this.patientRegister.customerOrgTreeAll = reMadeOrgTree(deepCopy(res.data),this.LocalConfig.patientRegister.dispCustomerOrgCode);
// tcdate(this.patientRegister.customerOrgTreeAll)
}
}
});
},
@ -86,9 +99,11 @@ export default {
filterNode(value, data) {
//console.log(value,data)
if (!value) return true;
return data['displayName'].indexOf(value) !== -1 || data['simpleCode'].indexOf(value.toUpperCase()) !== -1;
return data['displayName'].indexOf(value) > -1 || data['simpleCode'].indexOf(value.toUpperCase()) > -1
|| data['shortName'].indexOf(value.toUpperCase()) > -1 || data['customerOrgCode'].indexOf(value.toUpperCase()) > -1
;
},
//
treeclick(data) {
// console.log('data',data)

2
src/components/report/CusOrgOCX.vue

@ -134,7 +134,7 @@ export default {
customerOrgGroupList: [], //
}],
treeprops: {
label: "label",
label: "displayName", // label/displayName
value: "id",
id: "id",
children: "treeChildren",

8
src/utlis/proFunc.js

@ -12,9 +12,13 @@ function tcdate(date) {
exports.tcdate = tcdate;
// 单位树节点,重新组装
function reMadeOrgTree(treeData){
function reMadeOrgTree(treeData,dispCustomerOrgCode){
treeData.forEach(e => {
e.label = (e.shortName ? e.shortName + '--':'') + e.displayName
if(dispCustomerOrgCode == 'Y'){
e.label = (e.customerOrgCode ? e.customerOrgCode + '--':'') + e.displayName
}else{
e.label = e.displayName
}
if (e.treeChildren.length == 0) {
delete e.treeChildren
}else{

Loading…
Cancel
Save