emis-sapp/pages/post/model.js
2024-12-22 11:18:02 +08:00

227 lines
7.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 }
}