newOrderInfo.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. import request from "@/sheep/request";
  2. const newOrderInfoAPI = {
  3. /**
  4. * 订单初始化接口
  5. * @param {Object} data - 请求参数对象
  6. * @param {number} data.coach_id - 技师ID
  7. * @param {string} data.area_code - 区划代码
  8. * @param {number} data.project_id - 项目ID
  9. * @param {number} [data.latitude] - 纬度(可选)
  10. * @param {number} [data.longitude] - 经度(可选)
  11. * @returns {Promise} 返回请求的Promise对象
  12. */
  13. initialize(data) {
  14. return request({
  15. url: "/client/orders/initialize",
  16. method: "POST",
  17. data: {
  18. coach_id: data?.coach_id, // 技师ID
  19. area_code: data?.area_code, // 区划代码
  20. project_id: data?.project_id, // 项目ID
  21. latitude: data?.latitude, // 可选,纬度
  22. longitude: data?.longitude, // 可选,经度
  23. distance: data?.distance, // 可选,距离
  24. address_id: data?.addressId || undefined,
  25. },
  26. });
  27. },
  28. /**
  29. * 创建订单接口
  30. * @param {Object} data - 请求参数对象
  31. * @param {number} data.project_id - 项目ID
  32. * @param {number} data.address_id - 地址ID
  33. * @param {number} data.coach_id - 技师ID
  34. * @param {boolean} [data.use_balance] - 是否使用余额(可选)
  35. * @param {string} data.service_time - 服务时间,格式:YYYY-MM-DD HH:mm:ss
  36. * @param {number} [data.order_id] - 订单ID(可选)
  37. * @param {number} data.payment_type - 支付类型
  38. * @param {number} data.order_type - 订单类型
  39. * @param {number} [data.distance] - 距离(可选)
  40. * @param {string} [data.remark] - 备注(可选)
  41. * @returns {Promise} 返回请求的Promise对象
  42. */
  43. create(data) {
  44. return request({
  45. url: "/client/orders/create",
  46. method: "POST",
  47. data: {
  48. project_id: data?.project_id, // 项目ID
  49. address_id: data?.address_id, // 地址ID
  50. coach_id: data?.coach_id, // 技师ID
  51. use_balance: data?.use_balance, // 是否使用余额
  52. service_time: data?.service_time, // 服务时间
  53. order_id: data?.order_id, // 订单ID
  54. payment_type: data?.payment_type, // 支付类型
  55. order_type: data?.order_type, // 订单类型
  56. distance: data?.distance, // 距离
  57. remark: data?.remark, // 备注
  58. coupon_id: data?.coupon_id, //优惠券
  59. },
  60. });
  61. },
  62. /**
  63. * 取消订单接口
  64. * @param {Object} data - 请求参数对象
  65. * @param {number} data.order_id - 订单ID
  66. * @returns {Promise} 返回请求的Promise对象
  67. */
  68. cancel(data) {
  69. return request({
  70. url: "/client/orders/cancel",
  71. method: "POST",
  72. data: {
  73. order_id: data?.order_id, // 订单ID
  74. },
  75. });
  76. },
  77. /**
  78. * 结束订单接口
  79. * @param {Object} data - 请求参数对象
  80. * @param {number} data.order_id - 订单ID
  81. * @returns {Promise} 返回请求的Promise对象
  82. */
  83. finish(data) {
  84. return request({
  85. url: "/client/orders/finish",
  86. method: "POST",
  87. data: {
  88. order_id: data?.order_id, // 订单ID
  89. },
  90. });
  91. },
  92. /**
  93. * 确认技师离开接口
  94. * @param {Object} data - 请求参数对象
  95. * @param {number} data.order_id - 订单ID
  96. * @returns {Promise} 返回请求的Promise对象
  97. */
  98. confirmLeave(data) {
  99. return request({
  100. url: "/client/orders/confirm-leave",
  101. method: "POST",
  102. data: {
  103. order_id: data?.order_id, // 订单ID
  104. },
  105. });
  106. },
  107. /**
  108. * 获取订单列表接口
  109. * @returns {Promise} 返回请求的Promise对象
  110. */
  111. getList(params) {
  112. return request({
  113. url: "/client/orders/list",
  114. method: "GET",
  115. params: params,
  116. });
  117. },
  118. /**
  119. * 获取订单详情接口
  120. * @param {Object} order_id - 订单ID
  121. * @returns {Promise} 返回请求的Promise对象
  122. */
  123. getDetail(order_id) {
  124. return request({
  125. url: "/client/orders/detail/" + order_id,
  126. method: "GET",
  127. });
  128. },
  129. /**
  130. * 订单加钟接口
  131. * @param {Object} data - 请求参数对象
  132. * @param {number} data.project_id - 项目ID
  133. * @param {boolean} [data.use_balance] - 是否使用余额(可选)
  134. * @param {number} [data.order_id] - 订单ID(可选)
  135. * @param {number} [data.payment_type] - 支付类型(可选)
  136. * @returns {Promise} 返回请求的Promise对象
  137. */
  138. addTime(data) {
  139. return request({
  140. url: "/client/orders/add-time",
  141. method: "POST",
  142. data: {
  143. project_id: data?.project_id, // 项目ID
  144. use_balance: data?.use_balance, // 是否使用余额
  145. order_id: data?.order_id, // 订单ID
  146. payment_type: data?.payment_type, // 支付类型
  147. },
  148. });
  149. },
  150. /**
  151. * 计算订单金额接口
  152. * @param {Object} data - 请求参数对象
  153. * @param {number} data.address_id - 地址ID
  154. * @param {number} data.coach_id - 技师ID
  155. * @param {number} data.project_id - 项目ID
  156. * @param {number} [data.agent_id] - 代理商ID(可选)
  157. * @param {boolean} [data.use_balance] - 是否使用余额(可选)
  158. * @param {number} [data.distance] - 距离(可选)
  159. * @returns {Promise} 返回请求的Promise对象
  160. */
  161. calculateAmount(data) {
  162. return request({
  163. url: "/client/orders/calculate-order-amount",
  164. method: "POST",
  165. data: {
  166. address_id: data?.address_id, // 地址ID
  167. coach_id: data?.coach_id, // 技师ID
  168. project_id: data?.project_id, // 项目ID
  169. agent_id: data?.agent_id, // 代理商ID
  170. use_balance: data?.use_balance, // 是否使用余额
  171. distance: data?.distance, // 距离
  172. coupon_id: data?.coupon_id,
  173. },
  174. });
  175. },
  176. /**
  177. * 获取抢单列表接口
  178. * @param {Object} data - 请求参数对象
  179. * @param {number} data.order_id - 订单ID
  180. * @returns {Promise} 返回请求的Promise对象
  181. */
  182. getGrabList(data) {
  183. return request({
  184. url: "/client/orders/grab-list",
  185. method: "GET",
  186. params: {
  187. order_id: data?.order_id, // 订单ID
  188. },
  189. });
  190. },
  191. /**
  192. * 指定技师接口
  193. * @param {Object} data - 请求参数对象
  194. * @param {number} data.coach_id - 技师ID
  195. * @param {number} data.order_id - 订单ID
  196. * @param {number} data.payment_type - 支付类型
  197. * @param {number} [data.distance] - 距离(可选)
  198. * @returns {Promise} 返回请求的Promise对象
  199. */
  200. assignCoach(data) {
  201. return request({
  202. url: "/client/orders/assign-coach",
  203. method: "POST",
  204. data: {
  205. coach_id: data?.coach_id, // 技师ID
  206. order_id: data?.order_id, // 订单ID
  207. payment_type: data?.payment_type, // 支付类型
  208. distance: data?.distance, // 距离
  209. coupon_id: data?.coupon_id,
  210. },
  211. });
  212. },
  213. /**
  214. * 生成核销码接口
  215. * @param {Object} order_id - 订单ID
  216. * @returns {Promise} 返回请求的Promise对象
  217. */
  218. generateCode(order_id) {
  219. return request({
  220. url: "/client/orders/" + order_id + "/code",
  221. method: "GET",
  222. });
  223. },
  224. /**
  225. * 订单评价接口
  226. * @param {Object} data - 请求参数对象
  227. * @param {number} data.order_id - 订单ID
  228. * @param {number} data.score - 评分(1-5分)
  229. * @param {string} [data.content] - 评价内容(可选)
  230. * @param {Array} [data.images] - 评价图片数组(可选)
  231. * @param {number} data.service_score - 服务评分(1-5分)
  232. * @param {number} data.skill_score - 技能评分(1-5分)
  233. * @param {number} data.attitude_score - 态度评分(1-5分)
  234. * @returns {Promise} 返回请求的Promise对象
  235. */
  236. rate(data) {
  237. return request({
  238. url: "/client/orders/rate",
  239. method: "POST",
  240. data: {
  241. order_id: data?.order_id, // 订单ID
  242. service_score: data?.service_score, // 服务评分
  243. appearance_score: data?.appearance_score, // 外观评分
  244. attitude_score: data?.attitude_score, // 态度评分
  245. professional_score: data?.professional_score, // 专业评分
  246. tags: data?.tags, // 标签
  247. content: data?.content, // 评价内容
  248. images: data?.images, // 评价图片
  249. },
  250. });
  251. },
  252. /**
  253. * 获取微信支付配置信息接口
  254. * @param {Object} data - 请求参数对象
  255. * @param {number} data.order_id - 订单ID
  256. * @returns {Promise} 返回请求的Promise对象
  257. */
  258. getWechatPayConfig(data) {
  259. return request({
  260. url: "/client/wechat/pay/config",
  261. method: "post",
  262. data: {
  263. order_id: data?.order_id, // 订单ID
  264. },
  265. });
  266. },
  267. /**
  268. * 删除订单接口
  269. * @param {Object} data - 请求参数对象
  270. * @returns {Promise} 返回请求的Promise对象
  271. */
  272. deleteOrder(data) {
  273. return request({
  274. url: "/client/orders/" + data?.order_id,
  275. method: "DELETE",
  276. });
  277. },
  278. /**
  279. * 获取评价标签列表接口
  280. * @returns {Promise<Object>} 返回包含评价标签列表的Promise对象
  281. * @property {Array} data - 标签列表
  282. * @property {number} data[].id - 标签ID
  283. * @property {string} data[].tag_name - 标签名称
  284. */
  285. getCommentTags() {
  286. return request({
  287. url: "/client/orders/comment-tags",
  288. method: "GET",
  289. });
  290. },
  291. /**
  292. * 通过用户位置id获取技师最近的经纬度
  293. * @param {Object} addressId - 请求参数对象
  294. * @param {number} data.order_id - 订单ID
  295. * @returns {Promise} 返回请求的Promise对象
  296. */
  297. getTechnicianLatLng(data) {
  298. return request({
  299. url: "/client/orders/get-coach-location",
  300. method: "post",
  301. data: {
  302. address_id: data?.address_id, // 位置id
  303. coach_id: data?.coach_id, //技师id
  304. },
  305. });
  306. },
  307. };
  308. export default newOrderInfoAPI;