pengjun 2 years ago
parent
commit
6dafd800ce
  1. 4
      public/sysConfig.json
  2. 10
      src/components/customerOrg/customerOrgEdit.vue
  3. 43
      src/components/customerOrg/customerOrgTree.vue
  4. 193
      src/components/patientRegister/customerOrgTreeAllBak.vue
  5. 1
      src/store/index.js

4
public/sysConfig.json

@ -1,5 +1,5 @@
{
"apiurl": "http://192.168.2.67:9529/",
"apiurl": "http://192.168.2.67:9529",
"softName": "神豚体检管理系统",
"pacsApi":"http://192.168.2.74:9529/"
"pacsApi":"http://192.168.2.74:9529"
}

10
src/components/customerOrg/customerOrgEdit.vue

@ -394,19 +394,23 @@ export default {
);
//tree, childNodeName, pidName, idName, idVal getTreeNode(this.customerOrg.customerOrgTree, "treeChildren", "id", body);
console.log('pids', pids, body)
//
if (!pids || pids.length < 2) {
lfind = arrayExistObj(this.customerOrg.customerOrgTree, "id", body);
if (lfind > -1) this.customerOrg.customerOrgTree.splice(lfind, 1);
} else {
//
let node3 = getTreeNode(
this.customerOrg.customerOrgTree,
"treeChildren",
"id",
pids[0]
pids[pids.length - 1]
);
//console.log('node3',node3)
lfind = arrayExistObj(node3.treeChildren, "id", body);
if (lfind > -1) node3.treeChildren.splice(lfind, 1);
if(node3){
lfind = arrayExistObj(node3.treeChildren, "id", body);
if (lfind > -1) node3.treeChildren.splice(lfind, 1);
}
}
break;
default:

43
src/components/customerOrg/customerOrgTree.vue

@ -1,13 +1,16 @@
<template>
<div>
<div style="margin:2px 2px 2px 2px;">
<div style="margin:2px 2px 2px 2px;display: flex;">
<el-checkbox style="margin-top: 6px;" v-model="isOnlyCus" true-label="Y" false-label="N" size="small">
仅单位
</el-checkbox>
<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"
@node-click="treeclick" highlight-current ref="customerOrgTree">
:default-expanded-keys="customerOrg.defaultExpandedKeys" @node-click="treeclick" highlight-current
ref="customerOrgTree">
<span class="custom-tree-node" slot-scope="{ node, data }">
<div>
<span class="treeicons">
@ -32,6 +35,7 @@ export default {
components: {},
data() {
return {
isOnlyCus: 'N',
filterText: '',
treeprops: {
label: "displayName", // label/displayName
@ -79,7 +83,8 @@ export default {
getapi("/api/app/customerorg/getbycodeall?IsHidePerson=1").then((res) => {
//customerOrgTree = res.data;
if (res.code != -1) {
this.customerOrg.customerOrgTree = reMadeOrgTree(deepCopy(res.data))
this.customerOrg.customerOrgTreeBak = reMadeOrgTree(deepCopy(res.data))
this.customerOrg.customerOrgTree = deepCopy(this.customerOrg.customerOrgTreeBak)
// tcdate(this.customerOrg.customerOrgTree);
}
});
@ -121,7 +126,19 @@ export default {
//console.log(value,data)
if (!value) return true;
return data['displayName'].indexOf(value) !== -1 || data['simpleCode'].indexOf(value.toUpperCase()) !== -1;
}
},
//
filterParentNode(value) {
// console.log(value, data)
// if (!value) return true;
// return data['displayName'].indexOf(value) > -1 || data['simpleCode'].indexOf(value.toUpperCase()) > -1 || data['shortName'].indexOf(value) > -1 || data['customerOrgCode'].indexOf(value) > -1;
this.customerOrg.customerOrgTree = this.customerOrg.customerOrgTreeBak.filter(e => {
return e.label.indexOf(value) > -1 || e.simpleCode.indexOf(value.toUpperCase()) > -1 || e.shortName.indexOf(value) > -1
})
},
},
watch: {
@ -133,9 +150,21 @@ export default {
})
}
},
"filterText"(newVal, oldVal) {
this.$refs['customerOrgTree'].filter(newVal);
if (newVal != oldVal) {
if (this.isOnlyCus == 'N') {
this.$refs['customerOrgTree'].filter(newVal);
} else {
this.filterParentNode(newVal)
}
}
},
"isOnlyCus"(newVal, oldVal) {
if (newVal == 'N') {
this.$refs['customerOrgTree'].filter(this.filterText);
} else {
this.filterParentNode(this.filterText)
}
}
},

193
src/components/patientRegister/customerOrgTreeAllBak.vue

@ -1,193 +0,0 @@
<template>
<div style="width:208px">
<div style="margin:2px 2px 2px 2px;">
<el-input placeholder="输入关键字进行过滤" v-model="filterText" size="small" />
</div>
<div>
<el-tree
:style="'overflow: scroll;height:' + (window.pageHeight < 600 ? 465 : window.pageHeight - 135) + 'px;width:200px;'"
:data="customerOrgTreeAll" :props="treeprops" node-key="id" @node-contextmenu="nodeContextmenu"
@node-click="treeclick" highlight-current ref="customerOrgTree">
<span class="custom-tree-node" slot-scope="{ node, data }">
<div>
<span class="treeicons">
<!-- <i
class="el-icon-document-remove"
v-if="data.parentId == null"
></i> -->
<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>
</div>
</span>
</el-tree>
</div>
</div>
</template>
<script>
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { tcdate, deepCopy, reMadeOrgTree } from "../../utlis/proFunc";
export default {
components: {},
data() {
return {
filterText: '',
treeprops: {
label: "label",
value: "id",
id: "id",
children: "treeChildren",
}, //
LocalConfig: {
patientRegister: {
dispCustomerOrgCode: 'N', // -- customerOrgCode
}
},
customerOrgTreeAll:[]
};
},
//<el-tree :data="$store.state.customerOrg.customerOrgTree" :props="$store.state.customerOrg.treeprops" @node-click="treeclick"></el-tree>
computed: {
...mapState(["window", "dict", "dataTransOpts", "customerOrg", "patientRegister"]),
},
//
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() {
//
this.getCustomerOrgTree();
},
methods: {
//
getCustomerOrgTree() {
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.LocalConfig.patientRegister.dispCustomerOrgCode);
this.customerOrgTreeAll = deepCopy(this.patientRegister.customerOrgTreeAll)
// tcdate(this.patientRegister.customerOrgTreeAll)
}
});
},
//ID api/app/customer-org/parent/[CustomerOrgld
// getCustomerOrgParentId(customerOrgld) {
// if (customerOrgld == this.dict.personOrgId) {
// this.patientRegister.query.CustomerOrgParentId = this.dict.personOrgId;
// return;
// }
// getapi(`/api/app/customer-org/parent/${customerOrgld}`).then((res) => {
// // console.log("res.data", res.data);
// if (res.code == 1) {
// this.patientRegister.query.CustomerOrgParentId = res.data;
// }
// });
// },
//
nodeContextmenu(event, data, node, ids) {
// console.log('event,data,node,ids', event, data, node, ids)
if (data.id == this.dict.personOrgId) return
let items = [
{
label: "置顶",
onClick: () => {
this.treeSort(data, 1);
},
},
{
label: "置底",
onClick: () => {
this.treeSort(data, 2);
},
}
] //
this.$contextmenu({
items,
event,
//x: event.clientX,
//y: event.clientY,
customClass: "custom-class",
zIndex: 3,
minWidth: 80,
});
return false;
},
//
treeSort(data, sortType) {
// if (data.parentId) {
// this.$message.warning({ showClose: true, message: "" })
// return
// }
// console.log('data,sortType',data,sortType)
putapi(`/api/app/customerorg/updatemanysort?id=${data.id}&SortType=${sortType}`).then(res => {
if (res.code > -1) {
this.getCustomerOrgTree()
}
})
},
//
filterNode(value, data) {
// console.log(value, data)
// if (!value) return true;
// return data['displayName'].indexOf(value) > -1 || data['simpleCode'].indexOf(value.toUpperCase()) > -1 || data['shortName'].indexOf(value) > -1 || data['customerOrgCode'].indexOf(value) > -1;
this.customerOrgTreeAll = this.patientRegister.customerOrgTreeAll.filter(e => {
return e.label.indexOf(value) > -1 || e.simpleCode.indexOf(value.toUpperCase()) > -1 || e.shortName.indexOf(value) > -1
})
},
//
treeclick(data) {
// console.log('data',data)
this.patientRegister.query.customerOrgId = data.id;
this.patientRegister.query.customerOrgName = data.displayName;
this.dataTransOpts.plus.PatientRegisterEditQuery++
//ID
// this.getCustomerOrgParentId(data.id);
// this.patientRegister.query.times++; //
},
},
watch: {
"filterText": {
// immediate: true,
handler(newVal, oldVal) {
// console.log(`watch newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.patient_register.id}`);
if (newVal != oldVal) this.filterNode(newVal)
}
},
},
};
</script>
<style scoped>
@import "../../assets/css/global_tree.css";
.treeicons {
font-size: 20px;
margin-right: 5px;
}
:deep .el-tree-node>.el-tree-node__children {
overflow: visible;
}
</style>

1
src/store/index.js

@ -37,6 +37,7 @@ export default new Vuex.Store({
//体检单位设置
oprStatus: '', //空,add,edit 三种状态
customerOrgTree: [], //体检单位列表
customerOrgTreeBak: [], //体检单位列表
defaultExpandedKeys: [], //当前选中树的节点
treeCurrentNodekey: '', //当前选中树的节点
treeprops: {

Loading…
Cancel
Save