import dayjs from "dayjs" import * as apiService from "@/common/api" export const getOrderModels = () => { return { _agreePrivacy: true, sendDate: dayjs().format("YYYY-MM-DD HH:mm:ss"),// 下单时间 reciever: { // 收件人信息 country: undefined, name: '', phone: undefined, province: undefined, city: undefined, district: undefined, town: undefined, address: undefined, postCode: undefined, email: undefined, company: undefined }, sender: { // 发件人信息 country: undefined, name: '', phone: undefined, province: undefined, city: undefined, district: undefined, town: undefined, address: undefined, postCode: undefined, email: undefined, company: undefined }, custOrderId: undefined, // 客户单号 billCode: '', // 运单号 billCodeSub: undefined, // 子单号 orderDate: undefined, userId: '', openId: undefined, paymentType: undefined, // 付款方式 calcFeeType: '1', // 计费方式 custNo: undefined, // 月结账号 transLine: '', // 路线 productType: undefined, // 产品 customsClear: undefined, // 清关方式 customsEclaration: undefined, // 报关方式 packType: 2, // 包装类型 dispatchMethod: 1, // 派送方式 pickupMethod: undefined, // 取件方式 pickStartDate: undefined, // 上门取货-开始时间 pickFinishDate: undefined,// 上门取货-结束时间 intoWarehouseCode: undefined, // 入仓仓库code intoWarehouseName: undefined, // 仓库名称 intoWarehouseAddress: undefined, // 仓库地址 intoWarehouseContact: undefined, // 仓库联系人 intoWarehousePhone: undefined, // 仓库联系人电话 intoWarehouseBillCode: undefined, customerDeliveryBeginTime: undefined, goodsType: undefined, goodsInfo: undefined, totalWeight: undefined, // 总重量 = 结算重量 totalVolume: undefined, // 总体积 parcelQty: 1, // 总件数 billWeight: undefined, // 实际重量 volumeWeight: undefined, // 体积重量 = 实际体积(立方厘米)*(1000000/泡重比) (长宽高都是按 cm 来计量的 ) currency: undefined, settlementWeight: undefined, // 结算重量 feeWeight: undefined, blOverLong: undefined, blOverWeight: undefined, overWeightNumber: undefined, feeRemaker: undefined, // 付款方式-其他-备注 realValue: undefined, blDispFd: undefined, transferCode: undefined, transferBillcode: undefined, dispFdDate: undefined, sendSiteCode: undefined, // 发件站点 -- 当前登录账号的siteCode destinationCode: undefined, // 目的地 code destinationProvince: undefined, destinationCity: undefined, destinationCounty: undefined, dispatchUnderlingSiteCode: undefined, // 目的网点 - code dispatchUnderlingSiteName: undefined, // 目的网点 - 名称 destinationCenterCode: undefined, marketManCode: undefined, payee: undefined, // 回款联系人 salesmen: undefined, // 销售员 blMessage: '1', // 寄件 短信开关 blAcceptMessage: '1', // 签收 短信开关 remark: '', // 备注 customerCode: undefined, // 客户code feeItems: [ // 计费信息 // { // feeCode: 费用类型 eg:1001, // feeName: 费用名称:保险费, // fee: 10, // currency: 币种 CNY, // quoteId: 报价ID, // orderNum: 序号: 1, // calcExp: 计算公式, // addWeight: 续重, // remark: 费用条码描述 // } ], freight: undefined, // 计费总计 cargoList: [ // 货物列表 // { // cargoQty: 1, // } // { // goodsCode: 货物代码:eg 123, // goodsName: 货物名称, // cargoQty: 货物数量: 10, // unit: 件, // price: 1.2, // currency: CNY, // nationArea: 中国, // taxNo: 行邮税号, // hscode: 海关编码, // brand: 品牌, // material: 材质, // purpose: 用途, // ingredients: 成分, // goodsModel: 规格, // orderNum: 序号, // supplier: 供应商, // // abnormalQty: 异常数量, // // isSave: 是否保存 1-保存 // } ], blPrepareInFreight: 0, // 是否入仓代垫运费 1-是 0-否 prepareInEstFee: undefined, // 入仓代垫运费 prepareInRealFee: undefined, // 代垫实际运费 prepareInExpress: undefined, // 快递公司 prepareInBillCode: undefined, // 快递单号 prepareInRemark: undefined, // 预入仓自定义标识 prepareInSupplier: undefined, // 预入仓供应商 warehouseInNo: '', // 进仓单号 goodsPics: [], // 货物图片 customerName: '', // 客户名称 transLineTypeName: '', // 线路名称 productTypeName: '', // 产品类型名称 _bindTsmName: '', // 绑定快递员名称 _bindTsmCode: '', // 绑定快递员code _bindTsmAvatar: '', // 绑定快递员头像 operateEmployeeName: '', // 操作员名称 operateEmployeeCode: undefined, // 操作员 takePieceEmployeeName: '', // 收件员名称 takePieceEmployeeCode: undefined, // 收派员 dispatchManName: '', // 派件员名称 dispatchSiteName: '', // 派件网点名称 custName: '', // 月结账户名称 salesmen: '', // 销售联系人名称 payee: '', // 回款联系人名称 sendSiteName: '', // 发件网点名称 destinationName: '', // 目的地名称 blSpecialQuote: 0, // 特殊报价 blSpecialGoods: 0, // 敏感物 } } // 查询默认配置 export const initDefaultModel = async (info) => { let recieverAddressDfltRes = await apiService.getCustomerUserAddressList({ blDefaultFlag: 1, addressType: 2 }) let senderAddressDfltRes = await apiService.getCustomerUserAddressList({ blDefaultFlag: 1, addressType: 1 }) let bindDfltRes = await apiService.getListBindSalesmen({ blDefaultFlag: 1 }) if(recieverAddressDfltRes?.rows?.length > 0) { info.reciever = recieverAddressDfltRes.rows[0] } if(senderAddressDfltRes?.rows?.length > 0) { info.sender = senderAddressDfltRes.rows[0] } if(bindDfltRes?.rows?.length > 0) { const bindItem = bindDfltRes.rows.filter(t=> t.defaultFlag == 1)?.[0] || {} info._bindTsmName = bindItem.empName info._bindTsmCode = bindItem.empCode info._bindTsmAvatar = bindItem.avatar } } export const setBindTsm = (info)=> { let { _bindTsmName, _bindTsmCode } = info if(info.pickupMethod == 1) { info.operateEmployeeName = _bindTsmName info.operateEmployeeCode = _bindTsmCode } if(info.pickupMethod == 2) { info.takePieceEmployeeName = _bindTsmName info.takePieceEmployeeCode = _bindTsmCode } } export const getBindTsm = async (info)=> { let _bindTsmName, _bindTsmCode, _bindTsmAvatar if(info.pickupMethod == 1) { _bindTsmName = info.operateEmployeeName _bindTsmCode = info.operateEmployeeCode } if(info.pickupMethod == 2) { _bindTsmName = info.takePieceEmployeeName _bindTsmCode = info.takePieceEmployeeCode } info._bindTsmName = _bindTsmName info._bindTsmCode = _bindTsmCode if(_bindTsmCode) { try{ let bnRes = await apiService.queryNewSalesmen({ searchValue: _bindTsmCode }) if(bnRes?.data?.length > 0) { _bindTsmAvatar = bnRes.data[0].avatar } }catch(e){ } } info._bindTsmAvatar = _bindTsmAvatar } export const checkSubmitParams = (params = {})=> { let errMsg = [] if(!params._agreePrivacy) { errMsg.push('请同意《快件运单契约条款》') } return { bl: errMsg.length == 0, errMsg } }