|
@ -0,0 +1,184 @@
|
|
|
var TemplateItemsSelect = {
|
|
|
template: '<div style="height: 100%;">\
|
|
|
<div class="title-name c-f16">\
|
|
|
<span class="c-vam mr15">项目表</span><img @click="goBack" src="../../../images/fanhui02_icon.png" class="c-vam"/>\
|
|
|
</div>\
|
|
|
<div class="search-warp">\
|
|
|
<input class="inp-search" v-model="searchName" placeholder="搜索项目名称" @input="debounceSearch"/>\
|
|
|
</div>\
|
|
|
<div class="mt10 pt10 pl10 ul-wrap">\
|
|
|
<ul>\
|
|
|
<li v-for="(s,i) in items" class="list-item c-f16" :class="{\'arrow-r\': !s.dropdown, \'arrow-d\': s.dropdown}" >\
|
|
|
<span @click.stop="s.dropdown=!s.dropdown">{{itemType[s.itemType]}}</span>\
|
|
|
<ul class="level-sec" v-show="s.dropdown">\
|
|
|
<li v-for="(g, j) in s.item" class="list-item c-f14 ml15 mt15" :class="{\'arrow-r\': !g.dropdown, \'arrow-d\': g.dropdown}">\
|
|
|
<span @click.stop="g.dropdown=!g.dropdown">{{g.itemName}}</span>\
|
|
|
<ul class="level-third" v-show="g.dropdown" >\
|
|
|
<li v-for="(o, k) in g.hospitalServiceItems" class="mt15" v-show="o.show">\
|
|
|
<div class="list-item-name pl10 c-nowrap mr5">{{o.specialistServiceItemDO.title}}</div>\
|
|
|
<a href="javascript:void(0);" @click="addItem(o)" class="add-item-btn" :class="{\'disabled\': !o.enable}">\
|
|
|
添加\
|
|
|
</a>\
|
|
|
</li>\
|
|
|
</ul>\
|
|
|
</li>\
|
|
|
</ul>\
|
|
|
</li>\
|
|
|
</ul>\
|
|
|
</div>\
|
|
|
</div>',
|
|
|
props: [],
|
|
|
data: function() {
|
|
|
return {
|
|
|
isNew: null,
|
|
|
searchName: "",
|
|
|
itemType: ["", "康复服务", "健康服务"],
|
|
|
items: [
|
|
|
// {
|
|
|
// name: "健康服务",
|
|
|
// dropdown: false,
|
|
|
// items: [
|
|
|
// {
|
|
|
// name: "门诊",
|
|
|
// dropdown: false,
|
|
|
// items: [
|
|
|
// {
|
|
|
// name: "专科医师每周两次查房,指导药物调整和诊疗",
|
|
|
// enable: true
|
|
|
// },
|
|
|
// {
|
|
|
// name: "专科医师每周两次查房,指导药物调整和诊疗",
|
|
|
// enable: false
|
|
|
// }
|
|
|
// ]
|
|
|
// }
|
|
|
// ]
|
|
|
// }
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
beforeRouteEnter (to, from, next) {
|
|
|
next(function(vm) {
|
|
|
var query = vm.$route.query
|
|
|
if(vm.isNew == true || vm.isNew === "true") {
|
|
|
vm.isNew = true
|
|
|
} else {
|
|
|
vm.isNew = false
|
|
|
}
|
|
|
vm.templateId = query.templateId
|
|
|
// if((to.path == "/template-items" || to.path=="/template-item-detail")
|
|
|
// && (from.path != "/template-item-detail" || from.path == "/")) {
|
|
|
//
|
|
|
// }
|
|
|
|
|
|
if((to.path == "/template-item-detail" || from.path == "/template-item-detail" ) && from.path != "/") {
|
|
|
return
|
|
|
}
|
|
|
if(!vm.isNew) {
|
|
|
vm.loading.show()
|
|
|
vm.findTemplateDetail().then(function(res) {
|
|
|
if(res.status == 200) {
|
|
|
var selected = res.data
|
|
|
var selectedIds = _.pluck(selected, "id")
|
|
|
vm.findServiceItemsByHospital().then(function() {
|
|
|
_.each(vm.items, function(o) {
|
|
|
_.each(o.item,function(g) {
|
|
|
_.each(g.hospitalServiceItems, function(v) {
|
|
|
if(_.contains(selectedIds, v.id)) {
|
|
|
v.enable = false
|
|
|
EventBus.$emit("add-template-item", v)
|
|
|
} else {
|
|
|
v.enable = true
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
vm.loading.close()
|
|
|
}).catch(function(e) {
|
|
|
vm.loading.close()
|
|
|
console.error(e)
|
|
|
})
|
|
|
} else {
|
|
|
vm.loading.close()
|
|
|
toastr && toastr.error(res.msg)
|
|
|
}
|
|
|
})
|
|
|
} else {
|
|
|
vm.findServiceItemsByHospital()
|
|
|
}
|
|
|
|
|
|
})
|
|
|
},
|
|
|
created: function() {
|
|
|
|
|
|
},
|
|
|
mounted: function() {
|
|
|
var vm = this
|
|
|
|
|
|
},
|
|
|
methods: {
|
|
|
goBack: function() {
|
|
|
this.$router.replace('/');
|
|
|
},
|
|
|
addItem: function(o) {
|
|
|
o.enable = false
|
|
|
EventBus.$emit("add-template-item", o)
|
|
|
},
|
|
|
debounceSearch: _.debounce(function() {
|
|
|
var vm = this
|
|
|
if(vm.searchName.trim()) {
|
|
|
_.each(vm.items, function(o) {
|
|
|
o.dropdown = true
|
|
|
_.each(o.item,function(g) {
|
|
|
g.dropdown = true
|
|
|
_.each(g.hospitalServiceItems, function(v) {
|
|
|
if(v.specialistServiceItemDO.title.indexOf(vm.searchName)>-1) {
|
|
|
v.show = true
|
|
|
} else {
|
|
|
v.show = false
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
} else {
|
|
|
_.each(vm.items, function(o) {
|
|
|
_.each(o.item,function(g) {
|
|
|
_.each(g.hospitalServiceItems, function(v) {
|
|
|
v.show = true
|
|
|
})
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
|
|
|
}, 500, false),
|
|
|
findServiceItemsByHospital: function(){
|
|
|
var vm = this
|
|
|
return rehaAPI.findServiceItemsByHospital({
|
|
|
doctor: storage.docInfo.code
|
|
|
}).then(function(res) {
|
|
|
var items = res.data[0]
|
|
|
vm.items = _.map(items, function(o) {
|
|
|
o.dropdown = false
|
|
|
o.item = _.map(o.item,function(g) {
|
|
|
g.dropdown = false
|
|
|
_.each(g.hospitalServiceItems, function(v) {
|
|
|
v.enable = true
|
|
|
v.show = true
|
|
|
})
|
|
|
return g
|
|
|
})
|
|
|
|
|
|
return o
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
findTemplateDetail: function() {
|
|
|
var vm = this
|
|
|
return rehaAPI.findTemplateDetail({
|
|
|
templateId: vm.templateId
|
|
|
}).then(function(res) {
|
|
|
return res
|
|
|
})
|
|
|
},
|
|
|
}
|
|
|
}
|