index.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. var template = ''
  2. $.ajax('../../../component/statistics/LascProgressData/index.html', {
  3. data: {},
  4. dataType: 'html',
  5. cache: false,
  6. timeout: 60000,
  7. async: false,
  8. error: function (res) {},
  9. success: function (res) {
  10. template = res
  11. }
  12. })
  13. Vue.component('lasc-progress-data', {
  14. template: template,
  15. props: [],
  16. data: function () {
  17. return {
  18. status: 0,
  19. serviceHospitalList: [],
  20. form: {
  21. name: '',
  22. orderId: '',
  23. phone: '',
  24. uterineNeck: '',
  25. breastCancer: '',
  26. reception: '',
  27. molStatus: '',
  28. colStatus: ''
  29. },
  30. rangeTime: [],
  31. rangeTimeTwo: [],
  32. tableData: [],
  33. tableDataTwo: [],
  34. page: 1,
  35. pageSize: 10,
  36. total: 0,
  37. tabsId: 1,
  38. tabsList: [
  39. { id: '1', text: '筛查数据', show: true },
  40. { id: '2', text: '质控数据', show: false }
  41. ],
  42. qualityControl: [
  43. { id: '1', text: '乳腺临床检查待完善', show: true },
  44. { id: '2', text: '乳腺超声待完善', show: false },
  45. { id: '3', text: '乳腺钼靶待完善', show: false },
  46. { id: '4', text: '乳腺病理待完善', show: false },
  47. { id: '5', text: '乳腺缺漏', show: false },
  48. { id: '6', text: '乳腺初筛已完成', show: false },
  49. { id: '7', text: '乳腺超声分级比例', show: false },
  50. { id: '8', text: '统计指标', show: false }
  51. ],
  52. loginDoctor: {},
  53. loading: false,
  54. resDistrictData: [{ name: '全部', code: '' }],
  55. code: '',
  56. qualityControlId: '1',
  57. statisticalIndex: {},
  58. }
  59. },
  60. methods: {
  61. eliminateClick() {
  62. this.form = {
  63. name: '',
  64. orderId: '',
  65. phone: '',
  66. uterineNeck: '',
  67. breastCancer: '',
  68. reception: '',
  69. molStatus: '',
  70. colStatus: ''
  71. }
  72. this.rangeTime = []
  73. },
  74. search: function () {
  75. this.page = 1
  76. this.getDoorOrderList()
  77. },
  78. outputServerOrder: function (num) {
  79. var vm = this
  80. httpRequest
  81. .downLoadFileForAjax('doctor/twoCancers/count/excel', '两癌筛查数据.xls', this.getDoorOrderParameters())
  82. .then(res => {
  83. vm.$message.success('导出成功')
  84. })
  85. .catch(err => {
  86. vm.$message.error(err)
  87. })
  88. },
  89. hospitalList() {
  90. var vm = this
  91. var data = {
  92. town: this.level == 2 ? this.area : '',
  93. hospital: this.level == 3 ? this.area : ''
  94. }
  95. httpRequest.get('doctor/twoCancers/count/hospitalList', { data }).then(function (res) {
  96. if (res.status == 200) {
  97. res.data.forEach(item => {
  98. vm.resDistrictData.push({
  99. name: item.hospital_name,
  100. code: item.hospital
  101. })
  102. })
  103. }
  104. })
  105. },
  106. getDoorOrderParameters: function () {
  107. var parameters = {
  108. patientName: this.form.name, //居民姓名
  109. idcard: this.form.orderId, //身份证
  110. phone: this.form.phone, //手机号
  111. startTime: this.rangeTime[0] ? this.rangeTime[0] : '', //开始时间
  112. endTime: this.rangeTime[1] ? this.rangeTime[1] : '', //结束时间
  113. hospitalCode: this.form.reception, //筛查机构
  114. breastStatus: this.form.breastCancer, // 乳癌初筛1是0否
  115. cervicalStatus: this.form.cervicalStatus, //宫颈初筛1是0否
  116. chStatus: this.form.chStatus, //宫颈检查数据1是0否
  117. page: this.page,
  118. size: this.pageSize,
  119. molStatus: this.form.molStatus,
  120. colStatus: this.form.colStatus,
  121. queryCode: this.loginDoctor.currentUserRole.code,
  122. queryLevel: this.level,
  123. level: '',
  124. area: ''
  125. }
  126. return parameters
  127. },
  128. getDoorOrderList: function () {
  129. this.loading = true
  130. var vm = this
  131. console.log(vm, ';;;;;;;;;;;;')
  132. httpRequest.get('doctor/twoCancers/count/doctorPCgzl', { data: vm.getDoorOrderParameters() }).then(item => {
  133. if (item.status == 200) {
  134. vm.loading = false
  135. var res = item.detailModelList
  136. vm.tableData = res
  137. vm.total = item.totalCount
  138. res.forEach(is => {
  139. is.id_card_no = is.id_card_no.replace(/^(.{6})(?:\d+)(.{4})$/, '$1****$2')
  140. })
  141. }
  142. })
  143. },
  144. handleCurrentChange: function (page) {
  145. this.page = page
  146. this.getDoorOrderList()
  147. },
  148. handleSizeChange: function (val) {
  149. this.pageSize = val
  150. this.getDoorOrderList()
  151. },
  152. prevClick() {
  153. this.page--
  154. this.getDoorOrderList()
  155. },
  156. nextClick() {
  157. this.page++
  158. this.getDoorOrderList()
  159. }
  160. },
  161. mounted() {
  162. var selectedRole = JSON.parse(sessionStorage.getItem('selectedRole'))
  163. if (selectedRole.code.indexOf('350200') > -1 || selectedRole.code.indexOf('8d94ce907e4d4356b68f6c5d4d0d6bc9') > -1) {
  164. this.level = 1 // 市卫健委
  165. } else if (selectedRole.code.length == 6) {
  166. this.level = 2 // 区管理
  167. this.area = selectedRole.code
  168. } else {
  169. this.level = 3
  170. this.area = selectedRole.code
  171. }
  172. this.loginDoctor = JSON.parse(window.localStorage.getItem('wlyyAgent'))
  173. this.hospitalList()
  174. this.getDoorOrderList()
  175. }
  176. })