meth.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397
  1. export default {
  2. //时间
  3. time(index) {
  4. var nowDate = new Date((new Date).getTime() + 8 * 60 * 60 * 1000)
  5. var time = nowDate.toJSON().split('T').join(' ').substr(0, index)
  6. return time
  7. },
  8. //弹出提示
  9. getPrompt(title, icon = 'none', duration = 2000) {
  10. uni.showToast({
  11. title: title,
  12. icon: icon,
  13. duration: duration
  14. })
  15. },
  16. getShowToast(val1, val2) {
  17. let title = '必填'
  18. if (val2 == 1) {
  19. title = '必选一项'
  20. } else if (val2 == 2) {
  21. title = '必添加'
  22. } else if (val2 == 3) {
  23. title = '大于1'
  24. }
  25. this.getPrompt(val1 + title)
  26. },
  27. getForm(item) {
  28. let form = {
  29. weiTuoLeiXing: item.wei_tuo_lei_xing_,
  30. weiTuoDanLaiYuan: item.wei_tuo_lei_xing_,
  31. weiTuoBianHao: item.wei_tuo_bian_hao_,
  32. heTongId: item.he_tong_id_,
  33. weiTuoHeTong: item.wei_tuo_he_tong_,
  34. weiTuoDanWei: item.wei_tuo_dan_wei_,
  35. songJianDanWei: item.wei_tuo_dan_wei_,
  36. qiWangWanChengShi: item.qiWangWanChengShi,
  37. lhypb: [],
  38. fuKuanFangShi: item.fu_kuan_fang_shi_,
  39. baoGaoLeiXing: item.bao_gao_lei_xing_,
  40. chuJuBaoGaoYaoQiu: item.chu_ju_bao_gao_ya,
  41. chuBaoGaoShiJian: item.chu_bao_gao_shi_j,
  42. yangBenChuLi: item.yang_ben_chu_li_,
  43. weiTuoFangMingChe: item.wei_tuo_fang_ming,
  44. weiTuoFangLianXiR: item.wei_tuo_fang_lian,
  45. weiTuoFangLianXiD: item.wei_tuo_lian,
  46. weiTuoRiQi: item.wei_tuo_ri_qi_,
  47. weiTuoFangQueRen: item.wei_tuo_fang_que_,
  48. zongJia: item.zong_jia_,
  49. zhanShiBiaoId: item.zhan_shi_biao_id_
  50. }
  51. return form
  52. },
  53. getListForm(list, jianCeList, taoCanXiangmMuList, taoCanList) {
  54. let TList = []
  55. let noList = []
  56. list.forEach((item, index) => {
  57. //常规项目处理
  58. let jian_ce_xiang_mu2_ = item.jian_ce_xiang_mu_.split(",")
  59. let jiancLis = JSON.parse(JSON.stringify(jianCeList))
  60. jiancLis.forEach(it => {
  61. let jianSin = jian_ce_xiang_mu2_.findIndex(itg => itg == it.id_)
  62. if (jianSin >= 0) {
  63. it.checked = true
  64. }
  65. })
  66. let showHen = this.getXiangMuList(jian_ce_xiang_mu2_, jiancLis) //已经选择的检测项目是否存在常规项目
  67. if (!showHen) {
  68. noList.push(index)
  69. }
  70. //套餐处理
  71. let tCList = JSON.parse(JSON.stringify(taoCanList))
  72. let xuanZeTaoCan = item.xuan_ze_tao_can_.split(',')
  73. if (tCList.length > 0 && xuanZeTaoCan.length > 0) {
  74. tCList.forEach(ite => {
  75. let showData = xuanZeTaoCan.findIndex(itg => itg == ite.id_)
  76. if (showData >= 0) {
  77. ite.checked = true
  78. }
  79. })
  80. }
  81. //套餐项目处理
  82. let tCXmList = JSON.parse(JSON.stringify(taoCanXiangmMuList))
  83. let taoCanXiangMu = item.tao_can_xiang_mu_.split(",")
  84. let tcXmlist = []
  85. if (tCXmList.length > 0 && taoCanXiangMu.length > 0) {
  86. taoCanXiangMu.forEach(ite => {
  87. tCXmList.forEach(it => {
  88. if (it.id_ == ite) {
  89. tcXmlist.push(it)
  90. }
  91. })
  92. })
  93. }
  94. let obj = {
  95. id: item.id_,
  96. jianCeXiangMu: item.jian_ce_xiang_mu_,
  97. jianCeXiangMu2: jian_ce_xiang_mu2_, //不传到后台
  98. yangPinMingCheng: item.yang_pin_ming_che,
  99. yangPinBianHao: item.yang_pin_bian_hao,
  100. xingMing: item.xing_ming_,
  101. xingBie: item.xing_bie_,
  102. nianLing: item.nian_ling_,
  103. songJianPiHao: item.song_jian_pi_hao_,
  104. yangPinZhuangTai: item.yang_pin_zhuang_t,
  105. songJianShiJian: item.song_jian_shi_jia,
  106. beiZhu1: item.bei_zhu_1_,
  107. yangPinLeiXing: item.yang_pin_lei_xing,
  108. yangBenYunShuTiao: item.yang_ben_yun_shu_,
  109. shuLiang: parseInt(item.shu_liang_ || 0),
  110. yangPinGuiGe: item.yang_pin_gui_ge_,
  111. yangPinLeiXingEr: item.yang_pin_lei_er_,
  112. yangPinYunShuTiao: item.yang_pin_yun_shu_,
  113. yangPinGuiGeEr: item.yang_pin_gui_ge_e,
  114. shuLiangEr: parseInt(item.shu_liang_er_ || 0),
  115. yangPinLeiXingSan: item.yang_pin_lei_san_,
  116. yangPinGuiGeSan: item.yang_pin_gui_ge_s,
  117. shuLiangSan: parseInt(item.shu_liang_san_ || 0),
  118. yangPinYunShuSan: item.yang_pin_yun_san,
  119. yangPinLeiXingSi: item.yang_pin_lei_si_,
  120. yangPinGuiGeSi: item.yang_pin_gui_si_,
  121. yangPinYunShuSi: item.yang_pin_yun_si_,
  122. shuLiangSi: parseInt(item.shu_liang_si_ || 0),
  123. jianCeList: jiancLis,
  124. jianCeType: '',
  125. xiangMuMingCheng: item.xiang_mu_ming_che,
  126. yangPinZongJia: item.yang_pin_zong_jia,
  127. yangPinZongShu: parseInt(item.yang_pin_zong_shu),
  128. jieYangZhuangTai: item.jie_yang_zhuang_t,
  129. showBoolean1: true,
  130. showBoolean2: false,
  131. showBoolean3: false,
  132. showBoolean4: false,
  133. mingChengShow: false,
  134. taoCanList: tCList,
  135. taoCanXiangMuList: tcXmlist,
  136. taoCanZiBiaoId: item.tao_can_zi_biao_i,
  137. taoCanMingCheng: item.tao_can_ming_chen,
  138. taoCanJiaGe: item.tao_can_jia_ge_,
  139. taoCanXiangMu: item.tao_can_xiang_mu_,
  140. xuanZeTaoCan: item.xuan_ze_tao_can_,
  141. heTongBianHao: item.he_tong_bian_hao_ || '',
  142. jiaoFeiFangShi: item.jiao_fei_fang_shi || '',
  143. fuKuanZhuangTai: item.fu_kuan_zhuang_ta || '',
  144. heTongLeiXing: item.he_tong_lei_xing_ || '',
  145. weiTuoRiQi: item.wei_tuo_ri_qi_ || '',
  146. songJianDanWei: item.song_jian_dan_wei || '',
  147. changGuiJiaGe: item.chang_gui_jia_ge_ || '',
  148. xiangMuMingCheng: item.chang_gui_xiang_m || '',
  149. taoCanZheHouJiaGe: item.tao_can_zhe_hou_j || '',
  150. chuBaoGaoYaoQiu: item.chu_bao_gao_yao_q || '',
  151. changGuiZheHouJia: item.chang_gui_zhe_hou || '',
  152. jianCeTypeString: ''
  153. }
  154. if (obj.yangPinLeiXing != '') {
  155. obj.showBoolean1 = true
  156. }
  157. if (obj.yangPinLeiXingEr != '') {
  158. obj.showBoolean2 = true
  159. }
  160. if (obj.yangPinLeiXingSan != '') {
  161. obj.showBoolean3 = true
  162. }
  163. if (obj.yangPinLeiXingSi != '') {
  164. obj.showBoolean4 = true
  165. }
  166. let show = jian_ce_xiang_mu2_.some(item => item == '1039826037036285952' || item ==
  167. '1040205909151711232')
  168. if (show) {
  169. obj.mingChengShow = true
  170. }
  171. TList.push(obj)
  172. })
  173. if (noList.length > 0) {
  174. let setList = [...new Set(noList)]
  175. this.getPrompt('样品' + setList.join(",") + '因为特殊原因有些检测项目暂时无法检测,请联系医院确定')
  176. }
  177. return TList
  178. },
  179. //添加样品字段
  180. getMjypbSin(index, list1, list2) {
  181. let obj = {
  182. id: '',
  183. jianCeXiangMu: '',
  184. jianCeXiangMu2: [], //不传到后台
  185. yangPinMingCheng: '',
  186. yangPinBianHao: index,
  187. xingMing: '',
  188. xingBie: '',
  189. nianLing: '',
  190. songJianPiHao: '',
  191. yangPinZhuangTai: '',
  192. songJianShiJian: this.time(10),
  193. beiZhu1: '',
  194. yangPinLeiXing: '',
  195. yangBenYunShuTiao: '',
  196. shuLiang: 0,
  197. yangPinGuiGe: '',
  198. yangPinLeiXingEr: '',
  199. yangPinYunShuTiao: '',
  200. yangPinGuiGeEr: '',
  201. shuLiangEr: 0,
  202. yangPinLeiXingSan: '',
  203. yangPinGuiGeSan: '',
  204. shuLiangSan: 0,
  205. yangPinYunShuSan: '',
  206. yangPinLeiXingSi: '',
  207. yangPinGuiGeSi: '',
  208. yangPinYunShuSi: '',
  209. shuLiangSi: 0,
  210. jianCeList: JSON.parse(JSON.stringify(list1)),
  211. jianCeType: [],
  212. jianCeTypeString: '',
  213. xiangMuMingCheng: '',
  214. yangPinZongJia: '',
  215. lianXiDianHua: '',
  216. lianXiRen: '',
  217. weiTuoDanWei: '',
  218. weiTuoDanHao: '',
  219. yangPinZongShu: 0,
  220. jieYangZhuangTai: "待接收",
  221. showBoolean1: true,
  222. showBoolean2: false,
  223. showBoolean3: false,
  224. showBoolean4: false,
  225. mingChengShow: false,
  226. taoCanList: JSON.parse(JSON.stringify(list2)),
  227. taoCanXiangMuList: [],
  228. taoCanZiBiaoId: '',
  229. taoCanMingCheng: '',
  230. taoCanJiaGe: '',
  231. taoCanXiangMu: '',
  232. xuanZeTaoCan: '',
  233. heTongBianHao: '',
  234. jiaoFeiFangShi: '',
  235. fuKuanZhuangTai: '',
  236. heTongLeiXing: '',
  237. weiTuoRiQi: '',
  238. songJianDanWei: '',
  239. changGuiXiangMuMi: '',
  240. taoCanZheHouJiaGe: '',
  241. changGuiZheHouJia: '',
  242. chuBaoGaoYaoQiu: '',
  243. search: ''
  244. }
  245. return obj
  246. },
  247. getActiveNum1(form) {
  248. if (form.heTongId == '') {
  249. this.getPrompt('请选择合同')
  250. return false
  251. }
  252. if (form.yangBenChuLi == '') {
  253. this.getPrompt('请选择检毕样品处置')
  254. return false
  255. }
  256. return true
  257. },
  258. //提交判断
  259. getJudge(form) {
  260. if (form.showBoolean1) {
  261. if (form.yangPinLeiXing == '') {
  262. this.getShowToast('样品信息的样品类型①')
  263. return false
  264. }
  265. if (form.yangBenYunShuTiao == '') {
  266. this.getShowToast('样品信息的运输条件①')
  267. return false
  268. }
  269. if (form.yangPinGuiGe == '') {
  270. this.getShowToast('样品信息的样品规格①')
  271. return false
  272. }
  273. if (form.shuLiang == 0) {
  274. this.getShowToast('样品信息的样品数量①', 3)
  275. return false
  276. }
  277. }
  278. if (form.showBoolean2) {
  279. if (form.yangPinLeiXingEr == '') {
  280. this.getShowToast('样品信息的样品类型②')
  281. return false
  282. }
  283. if (form.yangPinYunShuTiao == '') {
  284. this.getShowToast('样品信息的运输条件②')
  285. return false
  286. }
  287. if (form.yangPinGuiGeEr == '') {
  288. this.getShowToast('样品信息的样品规格②')
  289. return false
  290. }
  291. if (form.shuLiangEr == 0) {
  292. this.getShowToast('样品信息的样品数量②', 3)
  293. return false
  294. }
  295. }
  296. if (form.showBoolean3) {
  297. if (form.yangPinLeiXingSan == '') {
  298. this.getShowToast('样品信息的样品类型③')
  299. return false
  300. }
  301. if (form.yangPinYunShuSan == '') {
  302. this.getShowToast('样品信息的运输条件③')
  303. return false
  304. }
  305. if (form.yangPinGuiGeSan == '') {
  306. this.getShowToast('样品信息的样品规格③')
  307. return false
  308. }
  309. if (form.shuLiangSan == 0) {
  310. this.getShowToast('样品信息的样品数量③', 3)
  311. return false
  312. }
  313. }
  314. if (form.showBoolean4) {
  315. if (form.yangPinLeiXingSi == '') {
  316. this.getShowToast('样品信息的样品类型④')
  317. return false
  318. }
  319. if (form.yangPinYunShuSi == '') {
  320. this.getShowToast('样品信息的运输条件④')
  321. return false
  322. }
  323. if (form.yangPinGuiGeSi == '') {
  324. this.getShowToast('样品信息的样品规格④')
  325. return false
  326. }
  327. if (form.shuLiangSi == 0) {
  328. this.getShowToast('样品信息的样品数量④', 3)
  329. return false
  330. }
  331. }
  332. //判断是否有套餐,并且是否选择列套餐
  333. let taoCanListShow = false
  334. if (form.taoCanList.length > 0) {
  335. taoCanListShow = form.taoCanList.some(it => it.checked)
  336. }
  337. //判断是否有套餐,并且是否选择列套餐,并且套餐是否有项目
  338. if (form.taoCanList.length > 0 && taoCanListShow && form.taoCanXiangMuList.length > 0) {
  339. return true
  340. } else {
  341. let flag = false
  342. //判断常规项目是否选择项目
  343. let show = form.jianCeList.every(it => !it.checked)
  344. if (show) {
  345. this.getPrompt('常规检测项目与套餐检测项目至少选择其中一项')
  346. return false
  347. }
  348. }
  349. return true
  350. },
  351. //遍历list1 在 list的是否存在
  352. getXiangMuList(list1, list2) {
  353. for (let item of list1) {
  354. let show = list2.findIndex(it => it.id_ == item)
  355. if (show < 0) {
  356. return false
  357. }
  358. }
  359. return true
  360. }
  361. }