handleChangeViewD.js 7.4 KB

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