shortcutbuildOrders.vue 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412
  1. <template>
  2. <view class="Receipt_infopage">
  3. <view class="title">工单信息</view>
  4. <view class="page_item_wrap">
  5. <view class="page_item">
  6. <view class="page_item_top">
  7. <view class="page_item_top-inner">
  8. <view class="page_item_top_L">
  9. <view class="L_text">创建人:{{ msg.createUserName }}</view>
  10. </view>
  11. <view class="page_item_top_R">
  12. <view class="L_iocn">{{ msg.taskTypeShow }}</view>
  13. </view>
  14. </view>
  15. </view>
  16. <view class="page_item_cont">
  17. <view class="page_item_cont_T">
  18. <view class="page_item_cont_title">
  19. <view>
  20. <view class="starting">起</view> 起点科室
  21. </view>
  22. <view class="text_big">{{ msg.startDeptShow }}</view>
  23. </view>
  24. </view>
  25. <view class="line"></view>
  26. <view class="page_item_cont_B">
  27. <view class="page_item_cont_title">
  28. <view>
  29. <view class="End">终</view> 终点科室
  30. </view>
  31. <view class="text_big">
  32. <view v-for="(item, i) in targetDeptShow" :key="i">{{
  33. item
  34. }}</view>
  35. </view>
  36. </view>
  37. </view>
  38. </view>
  39. <view class="L"></view>
  40. <view class="R"></view>
  41. </view>
  42. <view class="L-l"></view>
  43. <view class="R-l"></view>
  44. </view>
  45. <view class="foot_btn2">
  46. <view class="btn2" @click="createOrder">新建工单并签到</view>
  47. </view>
  48. </view>
  49. </template>
  50. <script>
  51. import {
  52. get,
  53. webHandle
  54. } from "../../http/http.js";
  55. export default {
  56. data() {
  57. return {
  58. msg: {}, //页面展示信息
  59. targetDeptShow: [], //目标科室
  60. };
  61. },
  62. methods: {
  63. // 新建工单并签到
  64. createOrder() {
  65. uni.showModal({
  66. title: '提示',
  67. content: "您确认建单吗?",
  68. success: (res) => {
  69. if (res.confirm) {
  70. console.log('用户点击确定');
  71. uni.showLoading({
  72. mask: true,
  73. title: '加载中'
  74. })
  75. get(`/workerOrder/createQuickOrder/${this.msg.id}`, {}).then((res) => {
  76. console.log(res)
  77. uni.hideLoading();
  78. if (res.status == 200) {
  79. if (res.type === 'plan-spe-ddd-2') {
  80. //需要扫描标本
  81. uni.navigateTo({
  82. url: `../../pages/scanning_code/scanning_code?type=${res.associationTypeName}&type1=${res.type}&id=${res.id}&deptCode=${res.deptCode}&dept=${res.deptName}&accountObj=undefined`,
  83. });
  84. } else {
  85. uni.navigateTo({
  86. url: "../receiptpage/receiptpage",
  87. });
  88. }
  89. } else {
  90. uni.showToast({
  91. icon: "none",
  92. title: "请求失败!",
  93. });
  94. }
  95. });
  96. } else if (res.cancel) {
  97. console.log('用户点击取消');
  98. }
  99. }
  100. });
  101. },
  102. },
  103. onLoad(options) {
  104. console.log(options, "快捷建单");
  105. this.msg = JSON.parse(options.infoDATA);
  106. this.targetDeptShow = this.msg.targetDeptShow.split(",");
  107. // #ifdef APP-PLUS
  108. webHandle("no", "app");
  109. // #endif
  110. // #ifdef H5
  111. webHandle("no", "wx");
  112. // #endif
  113. },
  114. };
  115. </script>
  116. <style lang="less">
  117. .Receipt_infopage {
  118. .title {
  119. font-size: 48rpx;
  120. margin-top: 24rpx;
  121. margin-bottom: 24rpx;
  122. text-align: center;
  123. }
  124. .page_item_wrap {
  125. width: 100%;
  126. height: auto;
  127. box-sizing: border-box;
  128. position: absolute;
  129. .page_item {
  130. margin-top: 16rpx;
  131. margin-bottom: 124rpx;
  132. background: #fff;
  133. border-radius: 8rpx;
  134. margin: 0 20rpx;
  135. border: 2rpx solid #e5e9ed;
  136. position: relative;
  137. overflow: hidden;
  138. padding: 0 16rpx;
  139. .L {
  140. width: 40rpx;
  141. height: 40rpx;
  142. border-radius: 50%;
  143. background: #f9fafb;
  144. position: absolute;
  145. left: -20rpx;
  146. top: 68rpx;
  147. border: 2rpx solid #e5e9ed;
  148. }
  149. .R {
  150. width: 40rpx;
  151. height: 40rpx;
  152. border-radius: 50%;
  153. background: #f9fafb;
  154. position: absolute;
  155. float: right;
  156. right: -20rpx;
  157. top: 68rpx;
  158. border: 2rpx solid #e5e9ed;
  159. }
  160. .starting {
  161. width: 50rpx;
  162. height: 50rpx;
  163. color: #fff;
  164. background: #49b856;
  165. display: inline-block;
  166. border-radius: 50%;
  167. text-align: center;
  168. line-height: 46rpx;
  169. font-size: 32rpx;
  170. margin-right: 6rpx;
  171. }
  172. .End {
  173. width: 50rpx;
  174. height: 50rpx;
  175. color: #fff;
  176. background: #39b199;
  177. display: inline-block;
  178. border-radius: 50%;
  179. text-align: center;
  180. line-height: 46rpx;
  181. font-size: 32rpx;
  182. margin-right: 6rpx;
  183. }
  184. .page_item_top {
  185. height: 88rpx;
  186. border-bottom: 2rpx dashed #e5e9ed;
  187. padding: 0 16rpx;
  188. .page_item_top-inner {
  189. display: flex;
  190. justify-content: space-between;
  191. align-items: center;
  192. height: 100%;
  193. .page_item_top_L {
  194. .emergencys {
  195. background: #ff3b53 !important;
  196. width: 124rpx !important;
  197. }
  198. .emergency {
  199. background: #ff3b53 !important;
  200. }
  201. .emergency1 {
  202. background: #49b856 !important;
  203. }
  204. .page_item_cont_start {
  205. text-align: center;
  206. height: 44rpx;
  207. width: 104rpx;
  208. line-height: 44rpx;
  209. border-radius: 8rpx;
  210. background: #49b856;
  211. color: #fff;
  212. display: inline-block;
  213. }
  214. .L_time {
  215. color: #6cc076;
  216. font-size: 32rpx;
  217. }
  218. .L_text {
  219. font-size: 32rpx;
  220. font-weight: 700;
  221. }
  222. }
  223. .page_item_top_R {
  224. font-size: 32rpx;
  225. .L_iocn {
  226. color: rgb(7, 134, 60);
  227. font-size: 36rpx;
  228. font-weight: 700;
  229. }
  230. }
  231. }
  232. }
  233. .page_item_cont {
  234. min-height: 180rpx;
  235. // max-height: 424rpx;
  236. padding: 0 16rpx;
  237. text-align: left;
  238. position: relative;
  239. .text_big {
  240. font-size: 32rpx;
  241. font-weight: 700;
  242. margin-top: 10rpx;
  243. p {
  244. font-weight: 700;
  245. line-height: 1.5;
  246. }
  247. }
  248. .line {
  249. height: 20rpx;
  250. width: 2rpx;
  251. border-left: 2rpx solid #e5e9ed;
  252. position: absolute;
  253. top: 82rpx;
  254. left: 40rpx;
  255. }
  256. .lines {
  257. height: 40%;
  258. width: 2rpx;
  259. border-left: 2rpx solid #e5e9ed;
  260. position: absolute;
  261. top: 23%;
  262. left: 36rpx;
  263. }
  264. .page_item_cont_T {
  265. padding-top: 28rpx;
  266. font-size: 28rpx;
  267. .page_item_cont_title {
  268. height: 100%;
  269. font-size: 32rpx;
  270. display: flex;
  271. justify-content: space-between;
  272. }
  273. }
  274. .page_item_cont_B {
  275. padding-top: 28rpx;
  276. margin-bottom: 28rpx;
  277. .page_item_cont_title {
  278. font-size: 32rpx;
  279. display: flex;
  280. justify-content: space-between;
  281. }
  282. .page_item_cont_title1 {
  283. height: 60rpx;
  284. line-height: 60rpx;
  285. font-size: 32rpx;
  286. padding-left: 64rpx;
  287. }
  288. }
  289. }
  290. .page_item_foot {
  291. border-top: 2rpx dashed #e5e9ed;
  292. border-bottom: 2rpx dashed #e5e9ed;
  293. padding: 28rpx 16rpx;
  294. text-align: left;
  295. .page_item_foot_text {
  296. font-size: 32rpx;
  297. margin-bottom: 20rpx;
  298. .text1 {
  299. color: rgb(102, 102, 102);
  300. }
  301. .text2 {
  302. float: right;
  303. font-weight: 700;
  304. }
  305. }
  306. }
  307. #infos {
  308. display: none;
  309. }
  310. .page_item_infos {
  311. padding-bottom: 20rpx;
  312. border-bottom: 2rpx dashed #e5e9ed;
  313. .page_item_info2 {
  314. text-align: left;
  315. line-height: 60rpx;
  316. font-size: 32rpx;
  317. padding-left: 16rpx;
  318. .page_item_foot_text {
  319. font-size: 32rpx;
  320. margin-bottom: 20rpx;
  321. .text1 {
  322. color: rgb(102, 102, 102);
  323. }
  324. .text2 {
  325. float: right;
  326. font-weight: 700;
  327. }
  328. }
  329. }
  330. }
  331. }
  332. .L-l {
  333. width: 2rpx;
  334. height: 40rpx;
  335. background: #f9fafb;
  336. position: absolute;
  337. left: 20rpx;
  338. top: 72rpx;
  339. }
  340. .R-l {
  341. width: 2rpx;
  342. height: 40rpx;
  343. background: #f9fafb;
  344. position: absolute;
  345. right: 20rpx;
  346. top: 72rpx;
  347. }
  348. }
  349. .foot_btn2 {
  350. position: fixed;
  351. bottom: 0;
  352. width: 100vw;
  353. padding: 0 20rpx;
  354. box-sizing: border-box;
  355. line-height: 66rpx;
  356. height: 100rpx;
  357. border-top: 2rpx solid #e5e9ed;
  358. background: #f9fafb;
  359. text-align: center;
  360. .btn2 {
  361. height: 66rpx;
  362. width: 100%;
  363. background-image: linear-gradient(to right, #72c172, #3bb197);
  364. color: #fff;
  365. border-radius: 8rpx;
  366. font-size: 32rpx;
  367. margin-top: 16rpx;
  368. }
  369. }
  370. }
  371. </style>