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" class="inputbox" 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=" pageSizeArr" :page-size="pageSize" layout="total,sizes,prev, pager, next, jumper"\
  49. :total="total">\
  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.drugName)
  96. this.initData()
  97. },
  98. formInit: function () {
  99. var url = httpRequest.server + '/gateway/hos-admin/api/v1.0/standardCenter/lastVersionDrug/list'
  100. $("#dataArr").customCombo(url, {
  101. token: sessionStorage.asstoken,
  102. tenant_name: 'jkzl',
  103. code: "STD_MEDICINE",
  104. }, false, false, false, {
  105. valueField: "id",//id
  106. textField: 'value',//name
  107. conditionSearchClick: function (g) {
  108. debugger
  109. var searchParm = g.rules.length > 0 ? g.rules[0].value : '';
  110. var parms = g.grid.get("parms");
  111. if (searchParm) {
  112. parms.filters = "value?" + searchParm + ' g1;stdDatasetCode?' + searchParm + ' g1;';
  113. } else {
  114. parms.filters = "";
  115. }
  116. g.grid.set({
  117. parms: parms,
  118. newPage: 1
  119. });
  120. g.grid.reload();
  121. }
  122. }, {
  123. columns: [
  124. { display: '名称', name: 'value', width: 210, align: 'left' }
  125. ],
  126. });
  127. },
  128. getData: function () {
  129. var vm = this;
  130. var params = {
  131. start: this.value1.format('yyyy-MM-dd'),
  132. end: this.value2.format('yyyy-MM-dd'),
  133. drugName: $('#dataArr').val(),
  134. eventType: this.eventType,
  135. size: this.pageSize * this.currentPage,
  136. page: 1
  137. }
  138. GlobalEventBus.$emit('setLoading', {
  139. loading: true
  140. }); //缓存效果
  141. bigDataOutApi.drugAnalysis(params).then(function (res) {
  142. console.log(res)
  143. GlobalEventBus.$emit('setLoading');
  144. vm.tableData = res.detailModelList;
  145. vm.tableData = vm.tableData.map(function (item) {
  146. item.event_date = new Date(item.event_date).format('yyyy-MM-dd hh:mm:ss')
  147. return item;
  148. })
  149. vm.total = res.totalCount;
  150. }).catch(function (err) {
  151. console.log(err)
  152. GlobalEventBus.$emit('setLoading');
  153. })
  154. },
  155. handleClick: function (row) {
  156. console.log(row)
  157. demographic_id = row.demographic_id,
  158. medication = row.HDSD00_04_023,
  159. eventdate = new Date(row.event_date).format('yyyy-MM-ddThh:mm:ssZ')
  160. var url = httpRequest.server + '/profile/app/medication/html/medication.html?' +
  161. 'healthProblemName=' + '&demographic_id=' + demographic_id + '&medication=' + medication + '&eventdate=' + eventdate
  162. console.log(url)
  163. var width = 1000 + 'px';
  164. var height = 600 + 'px';
  165. top.layer.open({
  166. id: 'Lay_xiangqingD',
  167. type: 2,
  168. title: false,
  169. closeBtn: 0,
  170. shade: 0.5,
  171. shadeClose: true,
  172. area: [width, height],
  173. content: url
  174. })
  175. },
  176. handleZidian: function () {
  177. var url = '../html/zidian.html'
  178. console.log(url)
  179. var width = 1000 + 'px';
  180. var height = 600 + 'px';
  181. top.layer.open({
  182. id: 'Lay_zidian',
  183. type: 2,
  184. title: false,
  185. shade: 0.5,
  186. shadeClose: true,
  187. area: [width, height],
  188. content: url
  189. })
  190. }
  191. }
  192. })