template-items.js 6.2 KB

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