handleChangeViewD.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. Vue.component('comD', {
  2. template: ' <div class="tab4">\
  3. <template>\
  4. <span>就诊时间:</span> \
  5. <el-date-picker v-model="value1" type="date" placeholder="选择日期">\
  6. </el-date-picker>\
  7. <el-date-picker v-model="value2" type="date" placeholder="选择日期">\
  8. </el-date-picker>\
  9. <span>药品名称:</span> \
  10. <div class="modelSearch" >\
  11. <div class="m-form-control">\
  12. <input type="text" data-type="select" id="dataArr">\
  13. </div>\
  14. </div>\
  15. <a href="#" @click="handleZidian"> 查看药品字典 </a>\
  16. <span>就诊类型:</span> \
  17. <el-select v-model="eventType" placeholder="请选择">\
  18. <el-option v-for="item in event_type" :key="item.code" :label="item.name" :value="item.code">\
  19. </el-option>\
  20. </el-select>\
  21. <div class="search" @click="searchClick">搜索</div>\
  22. </template>\
  23. <el-table :data="tableData" border style="width: 100%" :data.native="tableData.slice((currentPage-1)*pageSize,currentPage*pageSize)">\
  24. <el-table-column prop="event_date" label="就诊时间">\
  25. </el-table-column>\
  26. <el-table-column prop="patient_name" label="姓名">\
  27. </el-table-column>\
  28. <el-table-column label="就诊类型" width="140">\
  29. <template slot-scope="scope">\
  30. <span v-if="scope.row.every_type == 0">门急诊</span>\
  31. <span v-else>住院</span>\
  32. </template>\
  33. </el-table-column>\
  34. <el-table-column prop="HDSD00_04_021" label="规格">\
  35. </el-table-column>\
  36. <el-table-column prop="HDSD00_04_027" label="用法" >\
  37. </el-table-column>\
  38. <el-table-column prop="HDSD00_04_028" label="总量">\
  39. </el-table-column>\
  40. <el-table-column fixed="right" label="操作">\
  41. <template slot-scope="scope">\
  42. <el-button @click="handleClick(scope.row)" type="text" size="small">查看详情</el-button>\
  43. </template>\
  44. </el-table-column>\
  45. </el-table>\
  46. <div class="flex f_y_c f_x_e">\
  47. <el-pagination @size-change="handleSizeChange" background @current-change="handleCurrentChange" :current-page="currentPage"\
  48. :page-sizes="[2,10, 20, 40]" :page-size="pageSize" layout="total,sizes,prev, pager, next, jumper"\
  49. :total="tableData.length">\
  50. </el-pagination>\
  51. </div>\
  52. </template>\
  53. </div>\
  54. </div> ',
  55. data: function () {
  56. return {
  57. currentPage: 1, //初始页
  58. pageSize: 10, // 每页的数据
  59. tableData: [],
  60. pageSizeArr: [10, 20, 30, 50],
  61. total: 0,
  62. event_type: [{
  63. "code": '0',
  64. "name": '门急诊'
  65. }, {
  66. "code": '1',
  67. "name": '住院'
  68. }],
  69. value1: new Date(getLastMonthStartDate()),
  70. value2: new Date(getLastMonthEndDate()),
  71. drugName: '',
  72. eventType: '0',
  73. options: [],
  74. inspect: '',
  75. }
  76. },
  77. mounted: function () {
  78. this.getData()
  79. this.formInit()
  80. },
  81. methods: {
  82. handleCurrentChange: function (val) {
  83. this.currentPage = val;
  84. this.getData()
  85. },
  86. handleSizeChange: function (val) {
  87. this.pageSize = val;
  88. this.initData()
  89. },
  90. initData: function () { //初始化
  91. this.currentPage = 1;
  92. this.getData()
  93. },
  94. searchClick: function () {
  95. console.log(this.eventType)
  96. console.log(this.drugName)
  97. this.initData()
  98. },
  99. formInit: function () {
  100. debugger
  101. var url = httpRequest.server + '/gateway/hos-admin/api/v1.0/standardCenter/lastDictItem/list'
  102. $("#dataArr").customCombo(url, {
  103. token: sessionStorage.asstoken,
  104. tenant_name: 'jkzl',
  105. code: "STD_MEDICINE",
  106. }, false, false, false, {
  107. valueField: "id",//id
  108. textField: 'value',//name
  109. conditionSearchClick: function (g) {
  110. var searchParm = g.rules.length > 0 ? g.rules[0].value : '';
  111. var parms = g.grid.get("parms");
  112. if (searchParm) {
  113. parms.filters = "value?" + searchParm + ' g1;stdDatasetCode?' + searchParm + ' g1;';
  114. } else {
  115. parms.filters = "";
  116. }
  117. g.grid.set({
  118. parms: parms,
  119. newPage: 1
  120. });
  121. g.grid.reload();
  122. }
  123. }, {
  124. columns: [
  125. { display: '名称', name: 'value', width: 210, align: 'left' }
  126. ],
  127. });
  128. },
  129. getData: function () {
  130. var vm = this;
  131. var params = {
  132. start: this.value1.format('yyyy-MM-dd'),
  133. end: this.value2.format('yyyy-MM-dd'),
  134. drugName: this.drugName,
  135. eventType: this.eventType,
  136. size: 15,
  137. page: 1,
  138. }
  139. GlobalEventBus.$emit('setLoading', {
  140. loading: true
  141. }); //缓存效果
  142. bigDataOutApi.drugAnalysis(params).then(function (res) {
  143. console.log(res)
  144. GlobalEventBus.$emit('setLoading');
  145. vm.tableData = res.detailModelList;
  146. vm.total = res.detailModelList.length;
  147. vm.tableData = vm.tableData.map(function (item) {
  148. item.event_date = new Date(item.event_date).format('yyyy-MM-dd-hh-mm-ss')
  149. return item;
  150. })
  151. }).catch(function (err) {
  152. console.log(err)
  153. GlobalEventBus.$emit('setLoading');
  154. })
  155. },
  156. handleClick: function (row) {
  157. console.log(row)
  158. demographic_id = row.demographic_id,
  159. medication = row.HDSD00_04_023,
  160. eventdate = row.event_date
  161. var url = httpRequest.server + '/app-ehr-browser/app/medication/html/medication.html?' +
  162. 'healthProblemName=' + '&demographic_id=' + demographic_id + '&medication=' + medication + '&eventdate=' + eventdate
  163. console.log(url)
  164. var width = 1000 + 'px';
  165. var height = 600+ 'px';
  166. top.layer.open({
  167. id: 'Lay_xiangqingD',
  168. type: 2,
  169. title: false,
  170. closeBtn: 0,
  171. shade: 0.5,
  172. shadeClose: true,
  173. area: [width, height],
  174. content: url
  175. })
  176. },
  177. handleZidian: function () {
  178. var url = '../html/zidian.html'
  179. console.log(url)
  180. var width = (0.5212 * window.screen.width) + 'px';
  181. var height = (0.6528 * window.screen.height) + 'px';
  182. top.layer.open({
  183. id: 'Lay_zidian',
  184. type: 2,
  185. title: false,
  186. shade: 0.5,
  187. shadeClose: true,
  188. area: [width, height],
  189. content: url
  190. })
  191. }
  192. }
  193. })