order.js 6.99 KB
import util from '@/utils/util.js'
const jsonType = {'content-type': 'application/json'}
const formType = {'content-type': 'application/x-www-form-urlencoded'}

let orderApiFun = function(vm){
	// 接口公共前缀
	const prefix = '/wxh-worker-rest/rest/'
	let order = '/wxh-worker-rest/rest/order/' 
	let settle = '/wxh-worker-rest/rest/settle/'
	
	let listByRecommendOrder = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/recommend/order', params);
	/**
	 * 工单数量查询接口
	 */
	let listOrderCount = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token + '/wokerOrder/queryOrdersCount/V2', params);

	/**
	 * 工单列表接口
	 */
	let listOrder = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/order/revision/' + vm.vuex_token + '/list', params);

	/**
	 * 获取师傅的预约日历
	 */
	let workerCalendar = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token + '/wokerOrder/appointment/calendar', params);

	/**
	 * 师傅预约
	 */
	let workerAppointment = async (params = {}, orderId) => await vm.$u.post('/wxh-worker-rest/rest/order/traceAndAppointment/trace/V2/' + vm.vuex_token + '/'+orderId, params)

	// 联系顾客时间更新接口,暂时没有

	/**
	 * 师傅签到接口
	 */
	let maintainWorkerCheckin = async (params = {},orderId) => await vm.$u.post(prefix + vm.vuex_token + '/order/'+orderId+'/maintainWorkerCheckin', params,formType);
	/**
	 * 订单详情查询
	 */
	let orderDetail = async (params = {},orderId) => await vm.$u.get('/wxh-worker-rest/rest/order/revision/'+ vm.vuex_token+'/'+orderId, params);

	/* 过程反馈查询接口 */
	let feedbackConfig = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/order/v2/getFeedBack/' + vm.vuex_token, params)

	/* 预约+过程反馈 接口 */
	let traceAndAppointment = async (params = {}, orderId) => await vm.$u.post('/wxh-worker-rest/rest/order/traceAndAppointment/trace/V2/' + vm.vuex_token + `/`+orderId, params)

	/* 师傅拒单 */
	let rejectOrder = async (params = {}, orderId) => await vm.$u.get(prefix + vm.vuex_token + `/order/${orderId}/workerReject/V2`, params)


	/**
	 * 查询工单操作记录列表接口
	 */
	let listOrderRecord = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/order/record/'+ vm.vuex_token+'/listOrderRecord/V2/'+params.orderId, params);

	/**
	 * 接单
	 */
	let orderAccept = async (params = {},orderId) => await vm.$u.post(prefix + vm.vuex_token+'/order/'+orderId+'/accept', params, formType);

	/**
	 * 抢单
	 */
	let orderGan = async (params = {},orderId) => await vm.$u.post('/wxh-worker-rest/rest/order/revision/applets/'+ vm.vuex_token+'/order/acceptAppletsOrder', params,formType);

	/**
	 * 获取拍照标准
	 */
	let orderStandard = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token+'/photo/standard', params);
	/**
	 * 获取拍照标准单独项目
	 */
	let orderStandardItem = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token+'/photo/standard/only', params);

	/**
	 * 保存图片信息
	 */
	let saveImage = async (params = {},orderId) => await vm.$u.post(prefix + vm.vuex_token + '/order/'+orderId+'/maintain/saveImage', params);

	/**
	 * 获取师傅水印 or 默认水印
	 */
	let getWatermark = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token + '/photo/watermark', params);

	/**
	 * 保存师傅水印
	 */
	let saveWatermark = async (params = {}) => await vm.$u.post(prefix + vm.vuex_token + '/photo/watermark', params);

	/**
	 * 获取师傅开放可选时间段
	 */
	let openTimerange = async (params = {}) => await vm.$u.get(prefix + vm.vuex_token + '/wokerOrder/appointment/timerange', params);

	/**
	 * 联系时间接口
	 */
	let contactTime = async (params = {},orderId) => await vm.$u.get('/wxh-worker-rest/rest/order/record/'+ vm.vuex_token+'/contact/'+orderId, params);

	/**
	 * 检查是否可以拒单
	 */
	let checkRejectable = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/'+ vm.vuex_token+'/wokerOrder/checkRejectable', params);

	/**
	 * 获取签到距离
	 */
	let getSignDistance = async (params = {}) => await vm.$u.get('/wxh-worker-rest/rest/' + vm.vuex_token + `/wokerOrder/sign/distance`, params)


	/**
	 * 获取订单的完工项目(配置+数据)
	 */
	let getCompleteConfigAndData= async (orderId) => await vm.$u.get(prefix + vm.vuex_token+'/order/'+ orderId +'/maintain/info');

	/**
	 * 查询措施
	 */
	let getMeasure= async (params = {}) => await vm.$u.get('wxh-worker-rest/rest/service/'+ vm.vuex_token+'/measure/queryMeasureItems', params);

	/**
	 * 查询工单材信息
	 */
	let getOrderMaterial= async (orderId) => await vm.$u.get('/wxh-cloud-rest/rest/thirdparty/shzhida/material/' + orderId);

	/**
	 * 保存售后记录
	 */
	let saveCompleteData = async (params = {},orderId) => await vm.$u.post(prefix + vm.vuex_token+'/order/'+ orderId +'/maintain/saveMaintainInfoV2', params);

	/**
	 * 保内工单完工
	 */
	let inOrderFinish = async (orderId) => await vm.$u.post(prefix + vm.vuex_token+'/order/'+ orderId +'/finishedAndConfirm',{}, formType);
	/**
	 * 保外工单完工
	 */
	let outOrderFinish = async (params = {},orderId) => await vm.$u.post(prefix + vm.vuex_token+'/order/'+ orderId +'/v1/finishedAndConfirmOutGuaranteePeriod', params, formType);


	/**
	 * 获取工单联系人经纬度
	 */
	let addressToCoordinate= async (orderId) => await vm.$u.get(prefix+'order/specialfee/'+ vm.vuex_token +'/address/coordinate/'+orderId);

	/**
	 * 我的库存明细(物料)
	 */
	let listBystock= async () => await vm.$u.get(prefix + vm.vuex_token +'/myinfo/stock', {}, jsonType);
	/**
	 * 我的出入库流水
	 */
	let listAccessHistory= async (params = {}) => await vm.$u.get(prefix + vm.vuex_token +'/myinfo/access/history', params, jsonType);
	
	// 获取我的钱包-资产信息
	let getAssets = async (params = {}) => await vm.$u.get(settle + vm.vuex_token + '/v2/total', params);
	// 获取我的钱包-收入流水
	let listStatement = async (params = {}) => await vm.$u.get(settle + vm.vuex_token + '/v2/statement', params);
	// 获取我的钱包-支付单一览
	let payableRecord = async (params = {}) => await vm.$u.post(settle + vm.vuex_token + '/payable/v2/queryPayableRecord', params, formType);
	// 获取我的钱包-师傅提现
	let workerApplyPay = async (payableId) => await vm.$u.post(`/wxh-worker-rest/rest/${vm.vuex_token}/applypay/${payableId}/workerApplyPay`);

	const orderApi = {
		listByRecommendOrder,
		listOrderCount,
		listOrder,
		workerCalendar,
		workerAppointment,
		maintainWorkerCheckin,
		orderDetail,
		listOrderRecord,
		orderAccept,
		orderGan,
		feedbackConfig,
		traceAndAppointment,
		rejectOrder,
		orderStandard,
		orderStandardItem,
		saveImage,
		getWatermark,
		saveWatermark,
		openTimerange,
		contactTime,
		checkRejectable,
		getSignDistance,
		getCompleteConfigAndData,
		getMeasure,
		getOrderMaterial,
		saveCompleteData,
		inOrderFinish,
		outOrderFinish,
		addressToCoordinate,
		listBystock,
		listAccessHistory,
		getAssets,
		listStatement,
		payableRecord,
		workerApplyPay,
	}
	return orderApi
}
module.exports =  {
	orderApiFun
}