template-items.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. function showSuccessMessage(msg) {
  2. layer.msg(msg, {
  3. icon: 1
  4. })
  5. }
  6. function showErrorMessage(msg) {
  7. layer.msg(msg, {
  8. icon: 5
  9. })
  10. }
  11. function showWarningMessage(msg) {
  12. layer.msg(msg, {
  13. icon: 2
  14. })
  15. }
  16. function showInfoMessage(msg) {
  17. layer.msg(msg, {
  18. icon: 6
  19. })
  20. }
  21. var TemplateItems = {
  22. template: '<div style="height: 100%;">\
  23. <div class="title-name c-f16">\
  24. <span class="c-vam">{{name}}</span>\
  25. </div>\
  26. <div v-show="!items.length" class="c-t-center" style="margin-top: 200px;">\
  27. <img src="../../../images/fanhui_icon.png" class="c-vam"/>请在左侧“服务项”列表中选择\
  28. </div>\
  29. <div class="template-items" v-show="items.length">\
  30. <div class="item-card ptb10 plr15 mt10" v-for="(o, i) in items">\
  31. <div class="c-nowrap">{{o.name}}</div>\
  32. <div class="c-row c-f14 mt5">\
  33. <div class="c-50">\
  34. <span class="c-909090">医&emsp;&emsp;院:</span>\
  35. <span>待选择</span>\
  36. </div>\
  37. <div class="c-50">\
  38. <span class="c-909090">执行人员:</span>\
  39. <span class="c-909090">待选择</span>\
  40. </div>\
  41. </div>\
  42. <div class="c-row c-f14 mt5">\
  43. <div class="c-50">\
  44. <span class="c-909090">计划时间:</span>\
  45. <span class="c-909090">待选择</span>\
  46. </div>\
  47. <div class="c-50">\
  48. <span class="c-909090">费&emsp;&emsp;用:</span>\
  49. <span>0.00元</span>\
  50. </div>\
  51. </div>\
  52. <img v-if="name!=\'系统模板\'" src="../../../images/qingchu_icon.png" class="item-delete-btn" @click.stop="deleteItem(o, i)"/>\
  53. </div>\
  54. </div>\
  55. <div class="foot-btns">\
  56. <a class="delete-btn c-t-center mr50" @click="deleteTemplate">\
  57. 删除模板\
  58. </a>\
  59. <a class="save-btn c-t-center" @click="saveTemplate">\
  60. 保存模板\
  61. </a>\
  62. </div>\
  63. </div>',
  64. props: [],
  65. data: function() {
  66. return {
  67. name: '',
  68. items: [],
  69. isNew: null,
  70. templateId: "",
  71. item: null
  72. }
  73. },
  74. beforeRouteEnter: function (to, from, next) {
  75. next(function(vm) {
  76. var query = vm.$route.query
  77. vm.name = query.name || '模板未命名',
  78. vm.templateId = query.templateId
  79. if(from.path != "/template-item-detail" || from.path == "/") {
  80. vm.items = []
  81. }
  82. if(vm.isNew == true || vm.isNew === "true") {
  83. vm.isNew = true
  84. } else {
  85. vm.isNew = false
  86. }
  87. })
  88. },
  89. created: function() {
  90. var vm = this
  91. EventBus.$on("add-template-item", function(o) {
  92. vm.items.push(o)
  93. })
  94. },
  95. mounted: function() {
  96. var vm = this
  97. },
  98. methods: {
  99. deleteItem: function(o, i) {
  100. var vm = this
  101. o.enable = true
  102. vm.items.splice(i, 1)
  103. EventBus.$emit("delete-template-item", o, i)
  104. },
  105. saveTemplate: function() {
  106. var vm = this
  107. if(this.name=='系统模板'){
  108. showErrorMessage('不能编辑系统模板!')
  109. return false
  110. }
  111. vm.loading.showModal()
  112. rehaAPI.createTemplateDetail({
  113. doctor: storage.docInfo.code,
  114. json: JSON.stringify({
  115. templateId: vm.templateId,
  116. hospitalServiceItemId: _.pluck(vm.items, 'code').join(',')
  117. }),
  118. type: vm.isNew?"create":"edit"
  119. }).then(function(res) {
  120. if(res.status == 200) {
  121. vm.loading.close()
  122. showSuccessMessage('保存成功')
  123. EventBus.$emit("refresh-index")
  124. vm.$router.replace("/")
  125. } else {
  126. vm.loading.close()
  127. showErrorMessage(res.msg)
  128. }
  129. }).catch(function(e) {
  130. vm.loading.close()
  131. console.error(e)
  132. })
  133. },
  134. deleteTemplate: function() {
  135. var vm = this
  136. if(this.name=='系统模板'){
  137. showErrorMessage('不能删除系统模板!')
  138. return false
  139. }
  140. layer.confirm('确定删除该模板?', {
  141. btn: ['确认','取消'] //按钮
  142. }, function(){
  143. vm.loading.showModal()
  144. rehaAPI.deleteTemplate({
  145. templateId: vm.templateId
  146. }).then(function(res) {
  147. vm.loading.close()
  148. if(res.status == 200) {
  149. showSuccessMessage('删除成功')
  150. } else {
  151. showErrorMessage(res.msg)
  152. }
  153. EventBus.$emit("refresh-index")
  154. vm.$router.replace("/")
  155. }).catch(function(e) {
  156. vm.loading.close()
  157. console.error(e)
  158. })
  159. }, function(){
  160. });
  161. },
  162. toDetail: function(o) {
  163. var vm = this
  164. vm.item = o
  165. vm.$router.push({
  166. path:"/template-item-detail",
  167. query: {
  168. templateId: vm.templateId,
  169. itemId: o.code
  170. }
  171. })
  172. }
  173. },
  174. // watch: {
  175. // '$route': function (to, from) {
  176. // var vm = this
  177. //// if(to.path == "/template-item-detail" && (from.path != "/template-item-detail" || from.path == "/")) {
  178. //// EventBus.$emit("show-item-detail", vm.item)
  179. //// }
  180. // if(to.path == "/template-item-detail") {
  181. // EventBus.$emit("show-item-detail", vm.item)
  182. // }
  183. // }
  184. // }
  185. }