md
This commit is contained in:
parent
d63a472046
commit
5a7deeaaa9
@ -9,6 +9,17 @@ export function parseAddress(content) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 物流轨迹查询
|
||||||
|
export function queryTraceInfo(mailno,tail4) {
|
||||||
|
return request({
|
||||||
|
url: '/oms2c/common/queryTraceInfo',
|
||||||
|
method: 'get',
|
||||||
|
params: {mailno:mailno,tail4:tail4}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 获取app信息
|
// 获取app信息
|
||||||
export function getLastAppVersion() {
|
export function getLastAppVersion() {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@ -18,6 +18,15 @@ export function getSalemanList(query) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function listBindSalesmen(query) {
|
||||||
|
return request({
|
||||||
|
url: '/oms2c/emisWaybill/listBindSalesmen',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 获取回款
|
// 获取回款
|
||||||
export function getPayeeList(query) {
|
export function getPayeeList(query) {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@ -130,6 +130,15 @@ export function preCalcWaybillFee(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 下单运费试算
|
||||||
|
export function calcProductFee(data) {
|
||||||
|
return request({
|
||||||
|
url: '/oms2c/emisWaybill/calcProductFee',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 结算重量计算
|
// 结算重量计算
|
||||||
export function calcSetteldWeight(data) {
|
export function calcSetteldWeight(data) {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import getPageTitle from '@/utils/get-page-title'
|
|||||||
|
|
||||||
NProgress.configure({ showSpinner: false })
|
NProgress.configure({ showSpinner: false })
|
||||||
|
|
||||||
const whiteList = ['/login', '/auth-redirect', '/bind', '/register','/tools','/loginBySSO']
|
const whiteList = ['/login', '/auth-redirect', '/bind', '/register','/tools','/loginBySSO','/queryTraceInfo']
|
||||||
|
|
||||||
router.beforeEach(async(to, from, next) => {
|
router.beforeEach(async(to, from, next) => {
|
||||||
NProgress.start()
|
NProgress.start()
|
||||||
|
|||||||
@ -57,6 +57,14 @@ export const constantRoutes = [
|
|||||||
title:'工具'
|
title:'工具'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/queryTraceInfo',
|
||||||
|
component: () => import('@/views/openpage/queryTraceInfo'),
|
||||||
|
hidden: true,
|
||||||
|
meta:{
|
||||||
|
title:'轨迹查询'
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/register',
|
path: '/register',
|
||||||
component: () => import('@/views/register'),
|
component: () => import('@/views/register'),
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
no-data-text=""
|
no-data-text=""
|
||||||
|
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
|
auto-complete="off"
|
||||||
:placeholder="placeholder"
|
:placeholder="placeholder"
|
||||||
@change="onChange"
|
@change="onChange"
|
||||||
@click.native="onClick"
|
@click.native="onClick"
|
||||||
|
|||||||
236
src/views/oms/EmisBaseTools/TakeEmpPicker.vue
Normal file
236
src/views/oms/EmisBaseTools/TakeEmpPicker.vue
Normal file
@ -0,0 +1,236 @@
|
|||||||
|
<template>
|
||||||
|
<div :id="createdId">
|
||||||
|
<el-popover
|
||||||
|
placement="bottom"
|
||||||
|
trigger="click"
|
||||||
|
ref="popoverRef"
|
||||||
|
:popper-options="{ boundariesElement: '.el-form', removeOnDestroy: true }"
|
||||||
|
>
|
||||||
|
<div >
|
||||||
|
<el-table
|
||||||
|
ref="comboGridTable"
|
||||||
|
v-loading="loading"
|
||||||
|
style="width: 100%;"
|
||||||
|
:data="optionItems"
|
||||||
|
@row-click="onRowClick"
|
||||||
|
:row-key="row => row.userId"
|
||||||
|
stripe
|
||||||
|
element-loading-text="Loading"
|
||||||
|
>
|
||||||
|
<el-table-column label="工号" align="left" prop="empCode" width="100" />
|
||||||
|
<el-table-column label="姓名" align="center" prop="empName" width="100" :show-overflow-tooltip="true" />
|
||||||
|
<el-table-column label="手机" align="center" prop="ownerSiteName" width="100" :show-overflow-tooltip="true" />
|
||||||
|
|
||||||
|
</el-table>
|
||||||
|
<!-- <el-pagination v-show="pagination" small
|
||||||
|
:total="total"
|
||||||
|
:page-size="5"
|
||||||
|
layout="prev, pager, next, total"
|
||||||
|
@current-change="changePage"
|
||||||
|
/> -->
|
||||||
|
|
||||||
|
<div>添加业务员</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-input
|
||||||
|
slot="reference"
|
||||||
|
ref="inputValue"
|
||||||
|
:value="slable"
|
||||||
|
:placeholder="placeholder"
|
||||||
|
@input="onInput"
|
||||||
|
@click.native="onClick"
|
||||||
|
@blur="onBlur"
|
||||||
|
@clear="onClear"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<template slot="suffix">
|
||||||
|
<!-- <i class="el-icon-arrow-down select-down" :class="visible&&'rotate180'"></i> -->
|
||||||
|
<i slot="suffix" class="el-icon-search"></i>
|
||||||
|
</template>
|
||||||
|
</el-input>
|
||||||
|
|
||||||
|
</el-popover>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
import emitter from 'element-ui/src/mixins/emitter';
|
||||||
|
import { listBindSalesmen } from "@/api/oms/emisStaff";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "EmisUserSimplePicker",
|
||||||
|
mixins: [emitter],
|
||||||
|
props: {
|
||||||
|
value: {
|
||||||
|
type: String,
|
||||||
|
required: false
|
||||||
|
},
|
||||||
|
sideCode: {
|
||||||
|
type: String,
|
||||||
|
required: false
|
||||||
|
},
|
||||||
|
postCode:{
|
||||||
|
type: String,
|
||||||
|
required: false
|
||||||
|
},
|
||||||
|
placeholder:{
|
||||||
|
type: String,
|
||||||
|
required: false
|
||||||
|
},
|
||||||
|
disabled:{
|
||||||
|
type: [Boolean,String],
|
||||||
|
required: false
|
||||||
|
},
|
||||||
|
pagination: {
|
||||||
|
type: Boolean, default: true
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
createdId: '0',
|
||||||
|
loading:false,
|
||||||
|
|
||||||
|
total:0,
|
||||||
|
optionItems: [],
|
||||||
|
|
||||||
|
// 缺省值
|
||||||
|
defaultTotal:0,
|
||||||
|
defaultItems:null,
|
||||||
|
|
||||||
|
svalue: this.value,
|
||||||
|
slable: null,
|
||||||
|
|
||||||
|
isInputing: false,
|
||||||
|
|
||||||
|
isInit:true,
|
||||||
|
|
||||||
|
queryParams:{
|
||||||
|
pageNum:1,
|
||||||
|
pageSize:50,
|
||||||
|
userId:null,
|
||||||
|
searchValue:null,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
value(newVal,oldVal) {
|
||||||
|
if(this.value!=null && this.isInit){
|
||||||
|
this.svalue=this.value;
|
||||||
|
this.queryData(null,this.svalue);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
siteCode(newVal){
|
||||||
|
this.queryParams.ownerSiteCode=newVal;
|
||||||
|
this.defaultItems=null;
|
||||||
|
},
|
||||||
|
postCode(newVal){
|
||||||
|
this.queryParams.postCode=newVal;
|
||||||
|
this.defaultItems=null;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
// 给个随机id 判断是否clickoutside
|
||||||
|
this.createdId = String(new Date().getTime())
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if(this.value!=null && this.isInit){
|
||||||
|
this.svalue=this.value;
|
||||||
|
this.queryData(null,this.svalue);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
onClick(){
|
||||||
|
this.isInit=false;
|
||||||
|
// 第一次点击时需要初始化
|
||||||
|
if(!this.defaultItems){
|
||||||
|
this.queryParams.pageNum=1;
|
||||||
|
this.queryData(null,null);
|
||||||
|
}else{
|
||||||
|
this.total = this.defaultTotal;
|
||||||
|
this.optionItems = [...this.defaultItems];
|
||||||
|
}
|
||||||
|
// this.$refs.popoverRef.doShow();
|
||||||
|
},
|
||||||
|
onInput(val) {
|
||||||
|
if(val == null ) return;
|
||||||
|
|
||||||
|
this.isInputing = true;
|
||||||
|
this.slable = val;
|
||||||
|
this.queryParams.pageNum = 1
|
||||||
|
this.queryData(val,null)
|
||||||
|
|
||||||
|
},
|
||||||
|
onRowClick(row, column, event) {
|
||||||
|
this.svalue=row.userId;
|
||||||
|
this.slable=row.empName;
|
||||||
|
|
||||||
|
this.isInputing = false;
|
||||||
|
|
||||||
|
this.$emit("input", this.svalue);
|
||||||
|
this.$emit("onChange",row);
|
||||||
|
this.$refs.popoverRef.doClose();
|
||||||
|
},
|
||||||
|
isRed({ row }) {
|
||||||
|
if (row.userId == this.svalue) {
|
||||||
|
return {
|
||||||
|
"color": "red",
|
||||||
|
"font-weight": "bold",
|
||||||
|
};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onClear(el){
|
||||||
|
this.slable = null;
|
||||||
|
this.svalue = null;
|
||||||
|
|
||||||
|
this.$emit("input", this.svalue);
|
||||||
|
this.dispatch('ElFormItem', 'el.form.blur', [this.svalue]);
|
||||||
|
},
|
||||||
|
onBlur(el) {
|
||||||
|
// 如果编辑没有选择则清关历史记录
|
||||||
|
if( this.isInputing ){
|
||||||
|
this.svalue = null;
|
||||||
|
this.slable = null;
|
||||||
|
}
|
||||||
|
this.$emit("input", this.svalue);
|
||||||
|
this.dispatch('ElFormItem', 'el.form.blur', [this.svalue]);
|
||||||
|
},
|
||||||
|
changePage(cur) {
|
||||||
|
this.queryParams.pageNum = cur
|
||||||
|
this.queryData()
|
||||||
|
},
|
||||||
|
queryData(val,key) {
|
||||||
|
this.loading = true;
|
||||||
|
|
||||||
|
this.queryParams.searchValue = val;
|
||||||
|
this.queryParams.userId = key;
|
||||||
|
|
||||||
|
listBindSalesmen(this.queryParams).then(response => {
|
||||||
|
this.loading = false;
|
||||||
|
this.total = response.total;
|
||||||
|
this.optionItems = response.rows;
|
||||||
|
|
||||||
|
// 初始值存储
|
||||||
|
if(key==null && val==null){
|
||||||
|
this.defaultTotal = this.total+0;
|
||||||
|
this.defaultItems=[...this.optionItems]
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!this.isInputing ){
|
||||||
|
let selectItem = response.rows.find(item => item.userId == this.svalue);
|
||||||
|
if(selectItem){
|
||||||
|
this.slable = selectItem.empName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getIndex($index) {
|
||||||
|
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
@ -46,7 +46,7 @@
|
|||||||
padding: 5px 15px;
|
padding: 5px 15px;
|
||||||
background: black;
|
background: black;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: white;">{{ $t('发方信息') }}</span>
|
color: white;">{{ $t('寄') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div style="width:50%;text-align:right;padding-right: 15px;">
|
<div style="width:50%;text-align:right;padding-right: 15px;">
|
||||||
<!-- icon="el-icon-edit" -->
|
<!-- icon="el-icon-edit" -->
|
||||||
@ -87,7 +87,7 @@
|
|||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item :label="$t('发货地区')" prop="sender.province" >
|
<el-form-item :label="$t('发货地区')" prop="sender.province" >
|
||||||
<div style="display:inline-flex">
|
<div style="display:inline-flex">
|
||||||
<province-picker1 v-model="form.sender.province" :countryCode="form.sender.country" style="margin-left:5px" @onChange="handleCalcSendSite"></province-picker1>
|
<province-picker1 v-model="form.sender.province" :countryCode="form.sender.country" @onChange="handleCalcSendSite"></province-picker1>
|
||||||
<city-picker1 v-model="form.sender.city" :parentCode="form.sender.province" style="margin-left:5px" @onChange="handleCalcSendSite"></city-picker1>
|
<city-picker1 v-model="form.sender.city" :parentCode="form.sender.province" style="margin-left:5px" @onChange="handleCalcSendSite"></city-picker1>
|
||||||
<district-picker1 v-model="form.sender.county" :parentCode="form.sender.city" style="margin-left:5px" @onChange="handleCalcSendSite"></district-picker1>
|
<district-picker1 v-model="form.sender.county" :parentCode="form.sender.city" style="margin-left:5px" @onChange="handleCalcSendSite"></district-picker1>
|
||||||
</div>
|
</div>
|
||||||
@ -99,12 +99,18 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<!-- <el-col :span="24">
|
<el-col :span="24" v-if="form.sendSiteName">
|
||||||
<el-form-item :label="$t('发件网点')" prop="sendSiteCode">
|
<el-form-item :label="$t('服务网点')" prop="sendSiteCode">
|
||||||
<el-input v-model="form.sendSiteName" placeholder="" disabled />
|
<el-input v-model="form.sendSiteName" placeholder="" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<!-- <el-col :span="24" >
|
||||||
|
<el-form-item :label="$t('业务员')" prop="takePieceEmployeeCode">
|
||||||
|
<TakeEmpPicker v-model="form.takePieceEmployeeCode" ></TakeEmpPicker>
|
||||||
|
</el-form-item>
|
||||||
</el-col> -->
|
</el-col> -->
|
||||||
|
|
||||||
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
@ -116,7 +122,7 @@
|
|||||||
padding: 5px 15px;
|
padding: 5px 15px;
|
||||||
background: #b12e29;
|
background: #b12e29;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: white;"> {{ $t('收方信息') }}</span>
|
color: white;"> {{ $t('收') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div style="width:50%;text-align:right;padding-right: 15px;">
|
<div style="width:50%;text-align:right;padding-right: 15px;">
|
||||||
<el-button
|
<el-button
|
||||||
@ -157,7 +163,7 @@
|
|||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item :label="$t('收货地区')" prop="reciever.province">
|
<el-form-item :label="$t('收货地区')" prop="reciever.province">
|
||||||
<div style="display:inline-flex">
|
<div style="display:inline-flex">
|
||||||
<ProvincePicker2 v-model="form.reciever.province" :countryCode="form.reciever.country" style="margin-left:5px" @onChange="handleCalcDestSite" ></ProvincePicker2>
|
<ProvincePicker2 v-model="form.reciever.province" :countryCode="form.reciever.country" @onChange="handleCalcDestSite" ></ProvincePicker2>
|
||||||
<city-picker2 v-model="form.reciever.city" :parentCode="form.reciever.province" style="margin-left:5px" @onChange="handleCalcDestSite" ></city-picker2>
|
<city-picker2 v-model="form.reciever.city" :parentCode="form.reciever.province" style="margin-left:5px" @onChange="handleCalcDestSite" ></city-picker2>
|
||||||
<district-picker2 v-model="form.reciever.county" :parentCode="form.reciever.city" style="margin-left:5px" @onChange="handleCalcDestSite" ></district-picker2>
|
<district-picker2 v-model="form.reciever.county" :parentCode="form.reciever.city" style="margin-left:5px" @onChange="handleCalcDestSite" ></district-picker2>
|
||||||
</div>
|
</div>
|
||||||
@ -169,11 +175,11 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<!-- <el-col :span="24">
|
<el-col :span="24" v-if="form.dispatchUnderlingSiteName">
|
||||||
<el-form-item :label="$t('派件网点')" prop="dispatchUnderlingSiteName">
|
<el-form-item :label="$t('派件网点')" prop="dispatchUnderlingSiteName">
|
||||||
<el-input v-model="form.dispatchUnderlingSiteName" placeholder="" disabled />
|
<el-input v-model="form.dispatchUnderlingSiteName" placeholder="" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col> -->
|
</el-col>
|
||||||
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -190,6 +196,11 @@
|
|||||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="选择线路" prop="transLine">
|
||||||
|
<TransLinePicker v-model="form.transLine" :fromCountry="form.sender.country" :countryCode="form.reciever.country" isInitiated="true" @onChange="preCalcFee"></TransLinePicker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item :label="$t('取件方式')" prop="pickupMethod">
|
<el-form-item :label="$t('取件方式')" prop="pickupMethod">
|
||||||
<el-radio-group v-model="form.pickupMethod">
|
<el-radio-group v-model="form.pickupMethod">
|
||||||
@ -208,11 +219,7 @@
|
|||||||
<TimePicker v-model="form.pickTimeRange" ></TimePicker>
|
<TimePicker v-model="form.pickTimeRange" ></TimePicker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
|
||||||
<el-form-item label="选择线路" prop="transLine">
|
|
||||||
<TransLinePicker v-model="form.transLine" :fromCountry="form.sender.country" :countryCode="form.reciever.country" isInitiated="true" @onChange="preCalcFee"></TransLinePicker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24" v-if="form.pickupMethod==1">
|
<el-col :span="24" v-if="form.pickupMethod==1">
|
||||||
<el-form-item :label="$t('选择仓库')" prop="intoWarehouseCode">
|
<el-form-item :label="$t('选择仓库')" prop="intoWarehouseCode">
|
||||||
<WarehouseSimplePicker v-model="form.intoWarehouseCode" @onChange="onSelectWarehouse"></WarehouseSimplePicker>
|
<WarehouseSimplePicker v-model="form.intoWarehouseCode" @onChange="onSelectWarehouse"></WarehouseSimplePicker>
|
||||||
@ -271,17 +278,7 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
|
||||||
<el-form-item label="给快递员捎话" prop="orderRemark" >
|
|
||||||
<CustomerPrivEmpSimplePicker :placeholder="$t('专属业务员')" v-model="form.operateEmployeeCode" postCode="OP" ></CustomerPrivEmpSimplePicker>
|
|
||||||
<div style="width:100%;margin-bottom:5px">
|
|
||||||
<span class="goods-tag" @click="onQuickRemark($event)">请带纸箱</span>
|
|
||||||
<span class="goods-tag" @click="onQuickRemark($event)">需要爬楼</span>
|
|
||||||
<span class="goods-tag" @click="onQuickRemark($event)">来前电话</span>
|
|
||||||
</div>
|
|
||||||
<el-input v-model="form.orderRemark" type="textarea" :placeholder="$t('输入其他需求')" maxlength="150" show-word-limit />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@ -360,44 +357,45 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="24">
|
|
||||||
<div>
|
|
||||||
<!-- <div>产品类型</div> -->
|
|
||||||
<el-form-item :label="$t('产品选择')" prop="productType" >
|
|
||||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
|
||||||
<el-col v-if="productFeeList&&productFeeList.length>0" :span="24" >
|
|
||||||
<div class="product-fee-select" style="display: flex;flex-wrap: wrap;">
|
|
||||||
<div v-for="(item,index) in productFeeList" :key="index" class="item" :class="form.productType == item.productType ? 'select' : ''" @click="onSelectProduct(item)">
|
|
||||||
<div class="shift">
|
|
||||||
{{item.productTypeName}}
|
|
||||||
</div>
|
|
||||||
<div class="">
|
|
||||||
{{ item.agingDesc }} <span style="font-size: 14px;font-weight:bold;color:red">¥{{ item.estFee }}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col v-else :span="12">
|
|
||||||
<TransProductPicker placeholder="产品类型" v-model="form.productType" :transLineCode="form.transLine"></TransProductPicker>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
|
|
||||||
</el-form-item>
|
<!-- <el-col :span="12">
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item :label="$t('运费预估')" prop="freight" >
|
<el-form-item :label="$t('运费预估')" prop="freight" >
|
||||||
<span style="font-size:15px;color:red;font-weight:500">¥{{form.freight}}</span>
|
<span style="font-size:15px;color:red;font-weight:500">¥{{form.freight}}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col> -->
|
||||||
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<div>
|
||||||
|
<!-- <div>产品类型</div> -->
|
||||||
|
<el-form-item :label="$t('产品选择')" prop="productType" >
|
||||||
|
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||||
|
<el-col v-if="productFeeList&&productFeeList.length>0" :span="24" >
|
||||||
|
<div class="product-fee-select" style="display: flex;flex-wrap: wrap;">
|
||||||
|
<div v-for="(item,index) in productFeeList" :key="index" class="item" :class="form.productType == item.productType ? 'select' : ''" @click="onSelectProduct(item)">
|
||||||
|
<div class="shift">
|
||||||
|
{{item.productTypeName}}
|
||||||
|
</div>
|
||||||
|
<div class="">
|
||||||
|
{{ item.agingDesc }} <span style="font-size: 14px;font-weight:bold;color:red">¥{{ item.estFee }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<!-- <el-col v-else :span="12">
|
||||||
|
<TransProductPicker placeholder="产品类型" v-model="form.productType" :transLineCode="form.transLine"></TransProductPicker>
|
||||||
|
</el-col> -->
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
</el-form-item>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
<!-- v-if="needDeclare==1" -->
|
<!-- v-if="needDeclare==1" -->
|
||||||
<el-collapse-item title="" name="3" >
|
<el-collapse-item title="" name="3" >
|
||||||
@ -566,6 +564,26 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
|
|
||||||
|
<el-collapse-item title="" name="5" >
|
||||||
|
<template slot="title">
|
||||||
|
<div class="form-group-title"><span class="title">{{ $t('给快递员捎话') }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||||
|
<el-col :span="18">
|
||||||
|
<el-form-item label="给快递员捎话" prop="orderRemark" >
|
||||||
|
<!-- <CustomerPrivEmpSimplePicker :placeholder="$t('专属业务员')" v-model="form.operateEmployeeCode" postCode="OP" ></CustomerPrivEmpSimplePicker> -->
|
||||||
|
<div style="width:100%;margin-bottom:5px">
|
||||||
|
<span class="goods-tag" @click="onQuickRemark($event)">请带纸箱</span>
|
||||||
|
<span class="goods-tag" @click="onQuickRemark($event)">需要爬楼</span>
|
||||||
|
<span class="goods-tag" @click="onQuickRemark($event)">来前电话</span>
|
||||||
|
</div>
|
||||||
|
<el-input v-model="form.orderRemark" type="textarea" :placeholder="$t('输入其他需求')" maxlength="150" show-word-limit />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-collapse-item>
|
||||||
|
|
||||||
</el-collapse>
|
</el-collapse>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
@ -576,6 +594,19 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col> -->
|
</el-col> -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <el-col :span="24">
|
||||||
|
<el-form-item label="给快递员捎话" prop="orderRemark" >
|
||||||
|
<CustomerPrivEmpSimplePicker :placeholder="$t('专属业务员')" v-model="form.operateEmployeeCode" postCode="OP" ></CustomerPrivEmpSimplePicker>
|
||||||
|
<div style="width:100%;margin-bottom:5px">
|
||||||
|
<span class="goods-tag" @click="onQuickRemark($event)">请带纸箱</span>
|
||||||
|
<span class="goods-tag" @click="onQuickRemark($event)">需要爬楼</span>
|
||||||
|
<span class="goods-tag" @click="onQuickRemark($event)">来前电话</span>
|
||||||
|
</div>
|
||||||
|
<el-input v-model="form.orderRemark" type="textarea" :placeholder="$t('输入其他需求')" maxlength="150" show-word-limit />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col> -->
|
||||||
|
|
||||||
<div style="text-align: center;margin-top: 10px;margin-bottom: 100px;">
|
<div style="text-align: center;margin-top: 10px;margin-bottom: 100px;">
|
||||||
<div >
|
<div >
|
||||||
<el-checkbox style="font-size:400;margin-right:10px;color:black" v-model="form.blAgree" :true-label="'1'" :false-label="'0'"><span style="font-size:12px"> {{ $t('我已同意接受') }} </span> <span style="font-size:12px">《快递运单契约条款》</span></el-checkbox>
|
<el-checkbox style="font-size:400;margin-right:10px;color:black" v-model="form.blAgree" :true-label="'1'" :false-label="'0'"><span style="font-size:12px"> {{ $t('我已同意接受') }} </span> <span style="font-size:12px">《快递运单契约条款》</span></el-checkbox>
|
||||||
@ -600,10 +631,12 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { realMatchWaybill } from "@/api/oms/emisCommon";
|
import { realMatchWaybill } from "@/api/oms/emisCommon";
|
||||||
import { preCalcWaybillFee,getWaybillDetail,realSubmitOrder,calcWaybillFee,calcSetteldWeight,calcVolumeWeight} from "@/api/oms/emisWaybill";
|
import { calcProductFee,getWaybillDetail,realSubmitOrder,calcWaybillFee,calcSetteldWeight,calcVolumeWeight} from "@/api/oms/emisWaybill";
|
||||||
import { parseTime } from "@/utils/custom";
|
import { parseTime } from "@/utils/custom";
|
||||||
import { debounce } from 'throttle-debounce'
|
import { debounce } from 'throttle-debounce'
|
||||||
import { getDestSite,getSendSite } from "@/api/oms/emisDestination";
|
import { getDestSite,getSendSite } from "@/api/oms/emisDestination";
|
||||||
|
import { listSimpleEmisTransProduct } from "@/api/oms/emisTransProduct";
|
||||||
|
|
||||||
|
|
||||||
import DestinationPicker from '@/views/oms/EmisBaseTools/DestinationPicker.vue';
|
import DestinationPicker from '@/views/oms/EmisBaseTools/DestinationPicker.vue';
|
||||||
|
|
||||||
@ -648,6 +681,9 @@ import WarehouseSimplePicker from '@/views/oms/EmisBaseTools/WarehouseSimplePick
|
|||||||
|
|
||||||
import PayeePicker from '@/views/oms/EmisBaseTools/PayeePicker.vue';
|
import PayeePicker from '@/views/oms/EmisBaseTools/PayeePicker.vue';
|
||||||
import SalemanPicker from '@/views/oms/EmisBaseTools/SalemanPicker.vue';
|
import SalemanPicker from '@/views/oms/EmisBaseTools/SalemanPicker.vue';
|
||||||
|
import TakeEmpPicker from '@/views/oms/EmisBaseTools/TakeEmpPicker.vue';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import TimePicker from '@/components/DatePickerAdv/TimePicker';
|
import TimePicker from '@/components/DatePickerAdv/TimePicker';
|
||||||
|
|
||||||
@ -699,14 +735,15 @@ components: {
|
|||||||
GoodsTablePicker,
|
GoodsTablePicker,
|
||||||
GoodsInput,
|
GoodsInput,
|
||||||
CustomerPrivEmpSimplePicker,
|
CustomerPrivEmpSimplePicker,
|
||||||
WarehouseSimplePicker
|
WarehouseSimplePicker,
|
||||||
|
TakeEmpPicker
|
||||||
},
|
},
|
||||||
dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear',
|
dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear',
|
||||||
'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type',
|
'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type',
|
||||||
'emis_calc_fee_type','emis_print_type'],
|
'emis_calc_fee_type','emis_print_type'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
activeNames:['1','2','3','4'],
|
activeNames:['1','2','3','4','5'],
|
||||||
billCode:null,
|
billCode:null,
|
||||||
emisWaybillOptions: [],
|
emisWaybillOptions: [],
|
||||||
addressType:null,
|
addressType:null,
|
||||||
@ -1338,9 +1375,7 @@ methods: {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 通过服务器其计算,保留自定义费用
|
// 通过服务器其计算,保留自定义费用
|
||||||
preCalcWaybillFee(postData).then(response => {
|
calcProductFee(postData).then(response => {
|
||||||
console.log(response);
|
|
||||||
|
|
||||||
this.productFeeList = response.data;
|
this.productFeeList = response.data;
|
||||||
if(!this.productFeeList || this.productFeeList.length==0){
|
if(!this.productFeeList || this.productFeeList.length==0){
|
||||||
this.$message.error(`无报价`);
|
this.$message.error(`无报价`);
|
||||||
|
|||||||
@ -904,6 +904,9 @@ export default {
|
|||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
handleInWarehouseConfirm(){
|
||||||
|
|
||||||
},
|
},
|
||||||
// 多选框选中数据
|
// 多选框选中数据
|
||||||
handleSelectionChange(selection) {
|
handleSelectionChange(selection) {
|
||||||
|
|||||||
106
src/views/openpage/queryTraceInfo.vue
Normal file
106
src/views/openpage/queryTraceInfo.vue
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
<template>
|
||||||
|
<div class="" style="background-color: #F3F4F8;padding:5px">
|
||||||
|
<div>
|
||||||
|
<div style="display: inline-flex;width: 100%;" class="panel">
|
||||||
|
<!-- <el-input v-model="billCode" placeholder="输入运单号查询物流详情" /> -->
|
||||||
|
|
||||||
|
<div style="width:85%">
|
||||||
|
<el-input v-model="billCode" clearable="" placeholder="输入运单号查询物流详情" @keyup.enter.native="queryTrace" >
|
||||||
|
<i slot="prefix" class="iconfont"></i>
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
<div style=" width: 15%;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 30px;" @click="queryTrace">查询</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- <el-scrollbar style="height:400px;"> -->
|
||||||
|
<div style="min-height:50px;margin-top: 10px;" class="panel" >
|
||||||
|
<!-- <div style="font-weight: 600;margin-bottom: 20px;padding-left: 40px;">运单号:{{ billCode }}</div> -->
|
||||||
|
<el-timeline :reverse="reverse">
|
||||||
|
<el-timeline-item
|
||||||
|
v-for="(step, stepIndex) in traceInfoList"
|
||||||
|
:key="stepIndex"
|
||||||
|
:timestamp="step.time"
|
||||||
|
:type="stepIndex==0?'primary ':''"
|
||||||
|
>
|
||||||
|
{{step.content}}
|
||||||
|
</el-timeline-item>
|
||||||
|
</el-timeline>
|
||||||
|
</div>
|
||||||
|
<!-- </el-scrollbar> -->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { queryTraceInfo } from "@/api/oms/emisCommon";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "queryTraceInfo",
|
||||||
|
props:{
|
||||||
|
// billCode:{
|
||||||
|
// type: String,
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
dicts: [],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
billCode:null,
|
||||||
|
reverse: false,
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 地球洲表格数据
|
||||||
|
traceInfoList: []
|
||||||
|
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// this.queryData();
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
// "billCode": {
|
||||||
|
// handler (newValue, oldValue) {
|
||||||
|
// this.queryData();
|
||||||
|
// },
|
||||||
|
// deep: true
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询地球洲列表 */
|
||||||
|
queryTrace() {
|
||||||
|
this.loading = true;
|
||||||
|
if(!this.billCode){
|
||||||
|
return this.$message.error("输入查询单号")
|
||||||
|
}
|
||||||
|
queryTraceInfo(this.billCode,"1234").then(response => {
|
||||||
|
this.traceInfoList = response.data;
|
||||||
|
console.log(this.traceInfoList);
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style rel="stylesheet/scss" lang="scss">
|
||||||
|
|
||||||
|
:deep #app{
|
||||||
|
background-color: #fff!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-input__inner:hover {
|
||||||
|
border-color: #eeeeee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel {
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 5px;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
Loading…
Reference in New Issue
Block a user