completed.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. import {
  2. startStatus,
  3. WaybillStatus,
  4. radiolist,
  5. stateList,
  6. } from '@/assets/js/blockSort'
  7. export const employee = () => {
  8. return [{
  9. field: 'selection',
  10. label: '多选',
  11. align: 'center',
  12. }, {
  13. field: 'waybillNo',
  14. label: '运单号',
  15. align: 'center',
  16. colWidth: '180px',
  17. }, {
  18. field: 'orderNo',
  19. label: '订单号',
  20. align: 'center',
  21. colWidth: '180px',
  22. }, {
  23. field: 'name',
  24. label: '门店名称',
  25. align: 'center',
  26. colWidth: '180px',
  27. }, {
  28. field: 'status',
  29. label: '配送类型',
  30. align: 'center',
  31. options: WaybillStatus(),
  32. colWidth: '180px',
  33. }, {
  34. field: 'multistage',
  35. label: '复核人',
  36. children: [{
  37. field: 'reCheck.nickName',
  38. label: '姓名',
  39. align: 'center',
  40. colWidth: '120px',
  41. }, {
  42. field: 'reCheck.phone',
  43. label: '电话',
  44. align: 'center',
  45. colWidth: '140px',
  46. }, ]
  47. }, {
  48. field: 'multistage',
  49. label: '配送人',
  50. children: [{
  51. field: 'delivery.nickName',
  52. label: '姓名',
  53. align: 'center',
  54. colWidth: '120px',
  55. }, {
  56. field: 'delivery.phone',
  57. label: '电话',
  58. align: 'center',
  59. colWidth: '140px',
  60. }, ]
  61. }, {
  62. field: 'multistage',
  63. label: '患者信息',
  64. children: [{
  65. field: 'consigneeAddressName',
  66. label: '姓名',
  67. align: 'center',
  68. colWidth: '120px',
  69. }, {
  70. field: 'consigneeAddressPhone',
  71. label: '电话',
  72. align: 'center',
  73. colWidth: '140px',
  74. }, {
  75. field: 'consigneeAddressDetails',
  76. label: '地址',
  77. align: 'center',
  78. colWidth: '220px',
  79. }, ]
  80. }, {
  81. field: 'deliveryTime',
  82. label: '医保归属地',
  83. align: 'center',
  84. colWidth: '180px',
  85. }, {
  86. field: 'receiptTime',
  87. label: '患者要求送达时间',
  88. align: 'center',
  89. colWidth: '180px',
  90. }, {
  91. field: 'tamperProofLabel',
  92. label: '防拆标签码',
  93. align: 'center',
  94. colWidth: '180px',
  95. }, {
  96. field: 'coolerBox.name',
  97. label: '保温箱',
  98. align: 'center',
  99. colWidth: '180px',
  100. }, {
  101. field: 'iceRaftCode',
  102. label: '冰排编号',
  103. align: 'center',
  104. colWidth: '180px',
  105. }, {
  106. field: 'receiptTime',
  107. label: '分配时间',
  108. align: 'center',
  109. colWidth: '220px',
  110. }, {
  111. field: 'receiptTime',
  112. label: '签收时间',
  113. align: 'center',
  114. colWidth: '180px',
  115. }, {
  116. field: 'deliveryDuration',
  117. label: '配送耗时',
  118. align: 'center',
  119. colWidth: '180px',
  120. }, {
  121. field: 'paymentType',
  122. label: '支付方式',
  123. align: 'center',
  124. options: radiolist(),
  125. }, {
  126. field: 'paymentStatus',
  127. label: '支付状态',
  128. align: 'center',
  129. options: stateList(),
  130. },{
  131. field: 'paymentremark',
  132. label: '未结清备注',
  133. align: 'center',
  134. }, {
  135. field: 'assessStar',
  136. label: '服务评价',
  137. align: 'center',
  138. colWidth: '220px',
  139. }, {
  140. field: 'admin_audit_remark',
  141. label: '审核备注',
  142. align: 'center',
  143. }, {
  144. field: 'unpackBtn',
  145. label: '操作',
  146. colWidth: '340px',
  147. align: 'center',
  148. labelButton: []
  149. }]
  150. }
  151. export const formRules = () => {
  152. return [{
  153. field: 'tamperProofLabelImg',
  154. label: '防拆标签图片',
  155. placeholder: '请上传防拆标签图片',
  156. type: 'upload',
  157. colWidth: 24,
  158. crosswise: true,
  159. rules: [{
  160. required: false,
  161. message: '请上传防拆标签图片',
  162. trigger: 'blur,change'
  163. }]
  164. }, {
  165. field: 'tamperProofLabel',
  166. label: '区块链防拆标签码',
  167. placeholder: '请输入区块链防拆标签码',
  168. type: 'input',
  169. colWidth: 24,
  170. rules: [{
  171. required: false,
  172. message: '请输入区块链防拆标签码',
  173. trigger: 'blur'
  174. }]
  175. }, {
  176. field: 'remark',
  177. label: '备注',
  178. placeholder: '备注',
  179. type: 'textarea',
  180. colWidth: 24,
  181. }, ]
  182. }
  183. export const addressBook = () => {
  184. return [{
  185. field: 'name',
  186. label: '姓名',
  187. align: 'center',
  188. }, {
  189. field: 'phone',
  190. label: '电话',
  191. align: 'center',
  192. }, {
  193. field: 'address',
  194. label: '详细地址',
  195. align: 'center',
  196. }, ]
  197. }
  198. export const sendList = () => {
  199. return [{
  200. field: 'coolerBoxId',
  201. type: 'searchSelect',
  202. label: '保温箱',
  203. placeholder: '请选择保温箱',
  204. colWidth: 24,
  205. multiple: false,
  206. rules: [{
  207. required: true,
  208. message: '请选择保温箱',
  209. trigger: 'blur,change'
  210. }],
  211. options: [],
  212. }, {
  213. field: 'code',
  214. label: '冰排编号',
  215. placeholder: '请输入冰排编号',
  216. type: 'scan',
  217. colWidth: 24,
  218. rules: [{
  219. required: true,
  220. message: '请输入冰排编号',
  221. trigger: 'blur'
  222. }]
  223. }]
  224. }
  225. export const consignmentList = () => {
  226. return [{
  227. field: 'orderNo',
  228. label: '订单号',
  229. placeholder: '请输入订单号',
  230. type: 'input',
  231. colWidth: 24,
  232. rules: [{
  233. required: true,
  234. message: '请输入订单号',
  235. trigger: 'blur'
  236. }]
  237. }, {
  238. field: 'reCheckId',
  239. type: 'searchSelect',
  240. label: '复核人',
  241. placeholder: '请选择复核人',
  242. colWidth: 24,
  243. multiple: false,
  244. rules: [{
  245. required: true,
  246. message: '请选择复核人',
  247. trigger: 'blur,change'
  248. }],
  249. options: [],
  250. }, {
  251. field: 'deliveryId',
  252. type: 'searchSelect',
  253. label: '配送人',
  254. placeholder: '请选择配送人',
  255. colWidth: 24,
  256. multiple: false,
  257. rules: [{
  258. required: true,
  259. message: '请选择配送人',
  260. trigger: 'blur,change'
  261. }],
  262. options: [],
  263. }]
  264. }
  265. function validatePassword(rule, value, callback) {
  266. // 假设正确的密码是 '123456'
  267. if (value === 3 || value === 4) {
  268. callback(); // 验证通过
  269. } else {
  270. callback('请选择签收状态'); // 验证不通过
  271. }
  272. }
  273. export const signList = () => {
  274. return [{
  275. field: 'status',
  276. label: '签收状态',
  277. placeholder: '请选择签收状态',
  278. type: 'radio',
  279. colWidth: 24,
  280. rules: [{
  281. required: true,
  282. message: '请选择签收状态',
  283. trigger: 'blur,change'
  284. }, {
  285. validator: validatePassword,
  286. trigger: 'blur'
  287. }],
  288. options: [{
  289. label: '签收',
  290. value: 3,
  291. },
  292. {
  293. label: '拒收',
  294. value: 4,
  295. },
  296. ]
  297. }, {
  298. field: 'rejectionReason',
  299. label: '拒收原因',
  300. placeholder: '请输入拒收原因',
  301. type: 'textarea',
  302. colWidth: 24,
  303. }]
  304. }