meth.js 11 KB

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