Commit 3123755f authored by TIAN.DESHENG's avatar TIAN.DESHENG
parents 7937d53f 2160afa2
......@@ -46,6 +46,10 @@ export default {
align-items: center;
justify-content: center;
}
.empty-placeholder{
padding: 50px;
text-align: center;
}
$sizes: 10,20,30,50,100,150,200,500,800,1000;
@for $i from 1 through length($sizes){
$item: nth($sizes, $i);
......
......@@ -197,6 +197,15 @@ export function rollbackApply(data){
})
}
// 退仓-订单项退仓(不审批)
export function rollbackDelete(data){
return request({
url: '/order/order-warehouse-in/rollback-order-item',
method: 'put',
data
})
}
//取消订单
export function cancelOrder(orderId){
return request({
......@@ -359,3 +368,11 @@ export function getOrderSpecialByApproveId(approveId) {
})
}
// 根据合并订单编号获得已合单的订单动态
export function getMergeLogByMergedOrderNo(params){
return request({
url: '/order/merge/getMergeLogByMergedOrderNo',
method: 'get',
params
})
}
......@@ -93,3 +93,26 @@ export function orderReview(orderId){
method: 'put'
})
}
// 根据订单id批量复合订单控货人放货
export function batchReview(data){
return request({
url: '/ecw/order-cargo-control-pick/review/',
method: 'put',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
data
})
}
// 获得可调货的控货订单列表
export function seasoningCondimentsSelect(params){
return request({
url: '/ecw/order-cargo-control-pick/seasoning-condiments/cargo-control/order/select',
method: 'get',
params
})
}
<template>
<div class="need-know" :id="'need-know_' + keyname" v-if="detail">
<!-- <h2>{{detail.titleZh}}</h2> -->
<div class="body" v-html="detail.contentZh"></div>
<div class="body" ref="body" v-html="detail.contentZh"></div>
</div>
</template>
<script>
......@@ -26,6 +26,9 @@ export default {
download(){
// 直接保存图片
let l = this.$loading()
/* document.querySelectorAll(`#need-know_${this.keyname} img`).forEach(img => {
img.setAttribute('crossOrigin', '*')
}) */
html2canvas(document.querySelector("#need-know_" + this.keyname)).then(canvas => {
canvas.toBlob((blob) => {
FileSaver.saveAs(blob, this.keyname + '.png')
......
......@@ -297,7 +297,7 @@ export const constantRoutes = [
meta: {title: '订单特价申请', icon: '', activeMenu: '/order/index'}
},
{
path: 'discount/:offerProdId(\\d+)',
path: 'discount/:orderItemId(\\d+)',
component: (resolve) => import('@/views/ecw/order/special/discount'),
props: true,
name: 'discount',
......
......@@ -2,16 +2,16 @@
<div class="app-seaProcess">
<!-- 海运流程图 -->
<el-scrollbar :vertical="true" viewClass="shipping-chart">
<div v-for="(nodes,index) in seaBaseData" :key="index" class="chart-nodes">
<div v-for="(nodes,index) in processData" :key="index" class="chart-nodes">
<div class="node-area">
<div v-for="node in nodes" :key="node.title" @click="nodeClick(index, node)" class="node-div">
<div v-show="isShowAgent(node.type)">
<div>
<img :src="getImgSrc(node)" alt="">
<p>{{node.title}}</p>
</div>
</div>
</div>
<div class="arrow-area" v-if="index !== (seaBaseData.length-1)">
<div class="arrow-area" v-if="index !== (processData.length-1)">
<img src="@/assets/images/shipping/jt-start.png" alt="" v-if="index >= currIndex">
<img src="@/assets/images/shipping/jt-end.png" alt="" v-if="index < currIndex">
</div>
......@@ -90,10 +90,12 @@ export default {
currIndex: 0,
// 当前节点
currNode: {},
// 数据
processData: this.seaBaseData,
};
},
created() {},
computed: {
/* computed: {
isShowAgent() {
return (type) => {
if (type === "agent") {
......@@ -106,7 +108,7 @@ export default {
return true;
};
},
},
}, */
methods: {
/** 关闭弹窗 */
closeDialog(type) {
......@@ -176,6 +178,7 @@ export default {
watch: {
/* 监听发货对象 */
shipmentObj(val) {
let newNodes = [];
// 迭代每个节点
for (let i = 0; i < this.seaBaseData.length; i++) {
const nodes = this.seaBaseData[i];
......@@ -218,7 +221,9 @@ export default {
// 加1表示为已完成步骤后一步
this.currIndex = i + 1;
}
newNodes.push(nodes);
}
this.processData = newNodes;
},
},
};
......
......@@ -280,7 +280,7 @@
</el-card>
<el-card class="card">
<div slot="header" class="card-title">应收账单</div>
<el-table :data="form.receiptAccountList" border>
<el-table :data="form.receiptAccountList" border :key="form.receiptAccountList.length">
<el-table-column label="应收币种" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" />
......@@ -430,7 +430,7 @@
</el-card> -->
</el-form>
<div slot="footer" style="margin: 20px 0">
<el-button type="primary" @click="submitForm(1)">保 存</el-button>
<el-button type="primary" :loading="saveBtnLoading" @click="submitForm(1)">保 存</el-button>
<el-button type="primary" @click="submitForm(0)">{{ id ? '修 改' : '新 增' }}</el-button>
</div>
<el-dialog
......@@ -579,7 +579,19 @@
></dict-tag>
</template>
</el-table-column>
<el-table-column label="单价美元" align="center" prop="unitPrice" />
<!-- <el-table-column label="单价美元" align="center" prop="unitPrice" /> -->
<el-table-column label="单价" align="center" prop="unitPrice">
<template slot-scope="scope">
<span>{{ scope.row.unitPrice }}</span>
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" />
</template>
</el-table-column>
<el-table-column label="总金额" align="center" prop="totalAmount">
<template slot-scope="scope">
<span>{{ scope.row.totalAmount }}</span>
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_PRICE_UNIT" :value="scope.row.currencyId" />
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
......@@ -663,7 +675,8 @@ export default {
tradeCityList: [],
id: 0,
receiptId: 0,
currencyList: []
currencyList: [],
saveBtnLoading: false
};
},
async created() {
......@@ -1009,6 +1022,7 @@ export default {
this.open = false;
},
submitForm(addType) {
this.saveBtnLoading = true
const params = {...this.form, addType}
params.receiptAccountList.length = params.receiptAccountList.length - 1
// params.receiptAccountList = params.receiptAccountList.map(v => Object.assign(v, { }))
......@@ -1018,6 +1032,7 @@ export default {
}
if (params.receivableVOList.length === 0) {
this.$modal.msgError("请添加未收客户款项");
this.saveBtnLoading = false
return
}
if (addType === 1) {
......@@ -1038,11 +1053,13 @@ export default {
if (this.id && this.id !== '0') {
updateReceipt(params).then(res => {
this.$modal.msgSuccess("修改成功");
this.saveBtnLoading = false
this.$router.back();
})
} else {
createReceipt(params).then(res => {
this.$modal.msgSuccess("保存成功");
this.saveBtnLoading = false
this.$router.back();
})
}
......@@ -1066,11 +1083,13 @@ export default {
if (this.id && this.id !== '0') {
updateReceipt(params).then(res => {
this.$modal.msgSuccess("修改成功");
this.saveBtnLoading = false
this.$router.back();
})
} else {
createReceipt(params).then(res => {
this.$modal.msgSuccess("新增成功");
this.saveBtnLoading = false
this.$router.back();
})
}
......
......@@ -113,7 +113,11 @@
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="收款单号" align="center" prop="receiptNo" />
<el-table-column label="收款单号" align="center" prop="receiptNo">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="verificationCancelClick(scope.row)">{{ scope.row.receiptNo }}</el-button>
</template>
</el-table-column>
<!-- <el-table-column label="自编号" align="center" prop="orderNo" /> -->
<el-table-column label="订单号" align="center" prop="orderNo" />
<el-table-column label="客户名称" align="center" prop="customerName" />
......
......@@ -23,19 +23,19 @@
{{ form.isPayAdvance === 0 ? '' : '' }}
</el-form-item>
<el-form-item label="旧运费">
<el-input v-model="form.orgSeaFreight" readonly>
<el-input v-model="form.orgSeaFreight" readonly style="width: 400px">
<div slot="prepend" style="width: 60px">{{ currentMap[form.orgSeaFreightCurrency] }}</div>
<div slot="append" style="width: 60px">{{ unitMap[form.orgSeaFreightVolume] }}</div>
</el-input>
</el-form-item>
<el-form-item label="旧清关费">
<el-input v-model="form.orgClearanceFreight" readonly>
<el-input v-model="form.orgClearanceFreight" readonly style="width: 400px">
<div slot="prepend" style="width: 60px">{{ currentMap[form.orgClearanceFreightCurrency] }}</div>
<div slot="append" style="width: 60px">{{ unitMap[form.orgClearanceFreightVolume] }}</div>
</el-input>
</el-form-item>
<el-form-item label="新运费" required>
<el-input v-model.number="form.seaFreight">
<el-form-item label="新运费" required style="width: 400px">
<el-input v-model="form.seaFreight" type="number">
<el-select v-model="form.seaFreightCurrency" placeholder="请选择" slot="prepend" style="width: 100px">
<el-option
v-for="item in currencyList"
......@@ -54,8 +54,8 @@
</el-select>
</el-input>
</el-form-item>
<el-form-item label="新清关费" required>
<el-input v-model.number="form.clearanceFreight">
<el-form-item label="新清关费" required style="width: 400px">
<el-input v-model="form.clearanceFreight" type="number">
<el-select v-model="form.clearanceFreightCurrency" placeholder="请选择" slot="prepend" style="width: 100px">
<el-option
v-for="item in currencyList"
......
......@@ -63,7 +63,7 @@
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="2">
<el-button type="primary" plain icon="el-icon-setting" size="mini" :disabled="multiple">批量复核</el-button>
<el-button type="primary" plain icon="el-icon-setting" size="mini" :disabled="multiple" @click="batchReview">批量复核</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
......@@ -118,7 +118,7 @@
<template v-if="scope.row.cargoControlStatus == 1">
<el-button type="text" size="mini" @click="toDetail(scope.row)" >查看</el-button>
<el-button type="text" size="mini" @click="showTransferCargoOrderId=scope.row.orderId" >调货</el-button>
<el-button type="text" size="mini" @click="$alert('//TODO')">反复核</el-button>
<el-button type="text" size="mini" @click="showFallbackOrder=scope.row">反复核</el-button>
</template>
<!-- <el-button type="text" size="mini" >取消</el-button>
......@@ -136,6 +136,7 @@
<transfer v-if="showTransferOrder" v-bind="showTransferOrder" @close="showTransferOrder=null" />
<release v-if="showReleaseOrderId" :order-id="showReleaseOrderId" @close="showReleaseOrderId=null" @success="onReleaseSuccess" />
<transfer-cargo v-if="showTransferCargoOrderId" :order-id="showTransferCargoOrderId" @close="showTransferCargoOrderId=null" />
<fallback v-if="showFallbackOrder !== null" :order="showFallbackOrder" :index="null" @close="showFallbackOrder=null" @success="onFallbackSuccess" />
</div>
</template>
......@@ -148,14 +149,14 @@ import { getTradeCityList } from '@/api/ecw/region'
import Transfer from '@/views/ecw/order/components/Transfer'
import Release from './components/Release'
import CargoControlEdit from './components/CargoControlEdit'
import { getCargoControlOrderPage } from "@/api/ecw/orderCargoControl"
import { getCargoControlOrderPage, batchReview } from "@/api/ecw/orderCargoControl"
import TransferCargo from '@/views/ecw/order/components/TransferCargo'
import Fallback from './components/Fallback'
export default {
name: "OrderCargonControl",
components: {
CustomerSelector, ProductSelector, Selector, Transfer, Release,CargoControlEdit, TransferCargo
CustomerSelector, ProductSelector, Selector, Transfer, Release,CargoControlEdit, TransferCargo, Fallback
},
data() {
return {
......@@ -191,6 +192,7 @@ export default {
showTransferOrder: null, // 控制权转移操作订单
showReleaseOrderId: null, // 放货ID
showTransferCargoOrderId: null, // 调货ID
showFallbackOrder: null, // 调货订单
};
},
computed: {
......@@ -272,10 +274,26 @@ export default {
this.$message.success('操作成功')
this.handleQuery()
})
},
// 批量复核
batchReview(){
this.$confirm('确定复核选中的订单么?').then(() => {
return batchReview("orderIds=" + this.ids.join(','))
}).then(() => {
this.$message.success('操作成功')
this.handleQuery()
})
},
// 反复核
unReview(row){
},
onReleaseSuccess(){
this.showReleaseOrderId = null
this.handleQuery()
},
onFallbackSuccess(){
this.showFallbackOrder = null
}
}
};
......
......@@ -25,7 +25,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="原放货箱数">
{{info.pickNum}}
{{index == null ? order.releaseNum : info.pickNum}}
</el-form-item>
</el-col>
</el-row>
......@@ -37,7 +37,13 @@
</el-form-item>
<el-form-item label="控货手机号">
+{{info.countryCode}} {{info.phone}}
<template v-if="index !== null">
+ {{info.countryCode}} {{info.phone}}
</template>
<template v-else>
+{{order.cargoControlCountryCode}} {{order.cargoControlPhone}}
</template>
</el-form-item>
<el-form-item label="手机验证码" prop="code">
<el-input v-model="formData.code" placeholder="" style="width: 100px; margin-right:10px"></el-input>
......@@ -82,7 +88,9 @@ export default {
return t
},
info(){
return this.order.cargoControlPickBackVOList[this.index]
if(this.index !== null)
return this.order.cargoControlPickBackVOList[this.index]
return this.order
}
},
watch:{
......
<template>
<el-dialog :title="title" visible :before-close="closeDialog" :close-on-click-modal="false">
<el-collapse v-model="activeNames">
<template v-for="item in list">
<el-collapse-item :key="item.orderNo" :title="item.orderNo" :name="item.orderNo">
<el-timeline :reverse="reverse">
<el-timeline-item
v-for="(activity, index) in item.logs"
:key="index"
:timestamp="activity.createTime|parseTime">
{{activity.titleZh}}
</el-timeline-item>
</el-timeline>
</el-collapse-item>
</template>
<div class="empty-placeholder" v-if="status == 'finished' && !list.length">
暂无数据
</div>
</el-collapse>
</el-dialog>
</template>
<script>
import {getMergeLogByMergedOrderNo} from '@/api/ecw/order'
import {parseTime} from '@/utils/ruoyi'
export default {
props:{
orderNo: String
},
data(){
return {
show: false,
list:[],
activeNames:[],
status: null
}
},
filters: {parseTime},
computed:{
title(){
return '合单日志 - ' + this.orderNo
}
},
created(){
this.status = 'loading'
getMergeLogByMergedOrderNo({mergedOrderNo: this.orderNo}).then(res => {
for(let orderNo in res.data){
this.list.push({
orderNo,
logs: res.data[orderNo]
})
}
if(!this.list.length){
this.empty = true
}
}).finally(res => {
this.status = 'finished'
})
},
methods:{
closeDialog(){
this.show = false
this.$emit('close');
}
}
}
</script>
\ No newline at end of file
......@@ -17,7 +17,12 @@
</el-form>
</div>
<div v-if="step=='preview'" style="height:250px; overflow-y:hidden">
<div class="order-print-tag-item" v-for="item in tags.filter(tag => tag.num >= form.start && tag.num <= form.end)" style="width: 80mm; margin: 0 auto;" :id="'order-print-tag' + item.num" :key="item.num">
<div
class="order-print-tag-item"
v-for="(item, index) in tags.filter(tag => tag.num >= form.start && tag.num <= form.end)"
style="width: 80mm; margin: 0 auto;" :id="'order-print-tag' + item.num"
:style="{display: index == 0 ? 'block':'none' }"
:key="item.num">
<div style="float: left; width: 28mm; border-bottom: 0.2mm solid #333; border-right: 0.2mm solid #333; " >
<img :src="detail.url" alt="ECP0063704N-1" style="width: 26mm" />
<p style=" text-align: center; height: 5mm; font-size: 3mm; -webkit-margin-before: 0em; -webkit-margin-after: 0em; margin-top: 0mm; " >
......
<template>
<el-dialog title="调货" visible :before-close="closeDialog" :close-on-click-modal="false" width="800px">
<!--调货-->
<el-form ref="form" :model="formData" :rules="rules" size="small" label-width="150px" >
<el-form ref="form" :model="formData" :rules="rules" size="small" label-width="150px" v-if="detail" >
<el-row>
<el-col :span="12">
<el-form-item label="收货人">
{{detail.orderNo}}
{{detail.consigneeName}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="收货人电话">
{{detail.sumNum}}
{{detail.consigneeCountryCode}} {{detail.consigneePhone}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="选择控货订单">
<el-select v-model="formData.order" placeholder="请选择控货中的订单" multiple>
<el-option :label="1" :value="1"></el-option>
<el-select v-model="formData.orderIds" placeholder="请选择控货中的订单" multiple>
<el-option v-for="item in orders" :label="item.orderNo" :value="item.orderId" :key="item.orderId"></el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -72,7 +72,7 @@
</el-dialog>
</template>
<script>
import {createPick, getRleaseInfo} from '@/api/ecw/orderCargoControl'
import {createPick, getRleaseInfo, seasoningCondimentsSelect} from '@/api/ecw/orderCargoControl'
import AreaCodeSelector from '@/components/AreaCodeSelector'
import SendSmsCode from '@/views/ecw/order/components/SendSmsCode'
export default {
......@@ -85,25 +85,31 @@ export default {
show: false,
detail: null,
formData:{
"pickNum": 0,
"pickQuantity": 0,
"pickVolume": 0,
"pickWeight": 0,
"remarks": "",
orderIds:[]
},
rules:{
consigneeName: {required: true, message: '请填写收货人'},
code: {required: true, message: '请填写验证码'}
},
orders: [],
selectedOrders:[]
}
},
watch:{
'formData.orderIds'(val){
this.selectedOrders = this.orders.filter(item => val.indexOf(item.orderId) > -1)
}
},
created(){
this.show = true
this.loadData()
},
methods:{
loadData(){
getRleaseInfo(this.orderId).then(res => this.detail = res.data)
getRleaseInfo(this.orderId).then(res => this.detail = res.data)
seasoningCondimentsSelect({orderId: this.orderId}).then(res => {
this.orders = res.data
})
},
closeDialog(){
this.show = false
......
......@@ -86,7 +86,7 @@
<el-descriptions-item label="始发仓">{{FeeDetails.startWarehouse}}</el-descriptions-item>
<el-descriptions-item label="目的仓">{{FeeDetails.destWarehouse}}</el-descriptions-item>
</el-descriptions>
<el-descriptions v-else-if="type === 3" :column="4" border>
<el-descriptions v-else-if="type === 3 || type === 4" :column="4" border>
<el-descriptions-item label="订单号">{{FeeDetails.orderNo}}</el-descriptions-item>
<el-descriptions-item label="运输方式">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="FeeDetails.transportId"></dict-tag>
......
......@@ -44,7 +44,7 @@
<el-col :span="12">
<el-descriptions class="margin-top" border title="基础信息" :column="2">
<el-descriptions-item label="唛头">{{order.marks}}</el-descriptions-item>
<el-descriptions-item label="送货时间"></el-descriptions-item>
<el-descriptions-item label="送货时间">{{order.consigneeVO.deliveryDate}}</el-descriptions-item>
<el-descriptions-item label="是否控货">{{order.isCargoControl?'是':'否'}}</el-descriptions-item>
<el-descriptions-item label="填单信息">
{{order.costVO.totalNum}}箱 {{order.costVO.totalWeight}}Kg {{order.costVO.totalVolume}}m³
......@@ -83,7 +83,7 @@
</template>
</el-table-column>
<el-table-column prop="num" label="填单件数" />
<el-table-column prop="num" label="入仓件数" />
<el-table-column prop="sumNum" label="入仓件数" />
<el-table-column prop="unit" label="单位">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PACKAGE_TYPE" :value="row.unit" />
......@@ -129,8 +129,8 @@
<el-result v-else icon="info " title="暂无数据" subTitle="暂无订单动态数据" />
</el-tab-pane>
<el-tab-pane label="运单资料/提货单" name="three">
<el-button type="text" @click="showWarehouseReceipt=true">查看入仓单</el-button>
<!--inWarehouseState 1待入库,2多了,3少了,4到齐-->
<el-button type="text" @click="showWarehouseReceipt=true" :disabled="order.inWarehouseState <= 1">查看入仓单</el-button>
<el-button type="text" @click.native="showLadingBill=true" :disabled="!order.tidanNo">查看提货单</el-button>
<el-button :disabled="true" type="text">装箱单未上传</el-button>
</el-tab-pane>
......
......@@ -19,7 +19,7 @@
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="电话" :labelStyle="labelStyle">
{{consignorContact.phoneNew || ''}}
{{consignorContact.areaCode}} {{consignorContact.phoneNew || ''}}
</el-descriptions-item>
<el-descriptions-item label="发货人公司" :labelStyle="labelStyle">
{{consignorContact.company || ''}}
......@@ -35,7 +35,7 @@
</el-form-item>
</el-descriptions-item>
<el-descriptions-item label="电话" :labelStyle="labelStyle">
{{consigneeContact.phoneNew || ''}}
{{consigneeContact.areaCode}} {{consigneeContact.phoneNew || ''}}
</el-descriptions-item>
<el-descriptions-item label="收货人公司" :labelStyle="labelStyle">
{{consigneeContact.company || ''}}
......@@ -190,11 +190,20 @@
</template>
</template>
</el-table-column> -->
<el-table-column label="是否预付">
<template slot-scope="{row}">
<dict-tag v-if="row.fee" :type="DICT_TYPE.ECW_PAY_ADVANCE" :value="row.fee.isPayAdvance" />
</template>
</el-table-column>
<el-table-column label="商品链接" width="200px" align="center">
<template slot-scope="{row}">
<el-link type="primary" :href="row.link" target="_blank" style="display:block">{{row.link}}</el-link>
<el-button type="primary" size="mini" @click="setLink(row)">
{{row.link ? '编辑商品链接' : '添加商品链接'}}
</el-button>
</template>
</el-table-column>
<el-table-column label="操作" width="80px" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="delProduct(scope.$index)">删除</el-button>
......@@ -541,9 +550,9 @@ export default {
homeDeliveryService(){
return this.selectedRouter && this.selectedRouter.otherService && this.selectedRouter.otherService.indexOf('1') > -1
},
// 代收货款
// 代收货款(非控货订单,且路线开通了代收服务)
collectionProxy(){
return this.selectedRouter && this.selectedRouter.otherService && this.selectedRouter.otherService.indexOf('2') > -1
return !this.form.isCargoControl && this.selectedRouter && this.selectedRouter.otherService && this.selectedRouter.otherService.indexOf('2') > -1
},
// 根据渠道id显示渠道名
getChannelNameById(){
......@@ -673,6 +682,12 @@ export default {
downloadTpl(){
window.open('http://v4.groupage.cn/Download/%E8%A3%85%E7%AE%B1%E5%8D%95%E6%A8%A1%E6%9D%BF.xls')
},
setLink(row){
this.$prompt('请输入商品链接', {inputValue: row.link}).then(({value}) => {
console.log('value', value)
this.$set(row, 'link', value)
})
},
onFileChoosed(e){
window.choosed = e
console.log('onFileChoosed', e)
......
......@@ -72,7 +72,7 @@
</el-form-item>
<el-form-item label="是否齐货" >
<!--// 字段存疑-->
<dict-selector v-model="queryParams.isCargoControl" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" />
<dict-selector v-model="queryParams.isNeat" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" />
</el-form-item>
<!-- <el-form-item label="重货比" prop="weightRatio">
<el-input style="width: 100px;" v-model="molecule" placeholder="" clearable @change="moleculeChange"
......@@ -179,6 +179,7 @@
<el-button type="text" size="mini" @click="$router.push(`/order/release?orderId=${scope.row.orderId}`)">确认放货</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/singleApply?orderNo=${scope.row.orderNo}`)">合单申请</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/splitApply?orderId=${scope.row.orderId}`)">拆单申请</el-button>
<el-button type="text" size="mini" @click="showMergedLogOrderNo=scope.row.orderNo">合单日志</el-button>
</div>
</el-popover>
......@@ -241,6 +242,7 @@
<withdrawal v-if="show" :dialog-visible="show" :orderId="orderId" ></withdrawal>
<batch-single-application :order-list="orderId" :dialog-visible.sync="warehouseBol"></batch-single-application>
<fee-application :order-id="orderId" :dialog-visible.sync="feeApplicationBol"></fee-application>
<merge-log :order-no="showMergedLogOrderNo" v-if="showMergedLogOrderNo !== null" @close="showMergedLogOrderNo=null" />
</div>
</template>
......@@ -272,12 +274,14 @@ import withdrawal from "@/views/ecw/order/withdrawal";
import UserSelector from '@/components/UserSelector'
import BatchSingleApplication from "@/views/ecw/order/batchSingleApplication";
import FeeApplication from "@/views/ecw/order/feeApplication";
import MergeLog from '@/views/ecw/order/components/MergeLog'
export default {
name: "Order",
components: {
UserSelector,
FeeApplication,
BatchSingleApplication,
MergeLog,
CustomerSelector, ProductSelector, Selector,specialNeeds,PrintTag, PrintWarehouseReceipt, PrintLadingBill, BatchPickup,withdrawal
},
props: {
......@@ -353,6 +357,7 @@ export default {
printWarehouseReceiptOrderId: null, // 打印入仓单的订单ID
printLadingBillInfo: null, // 打印提单
showBatchPickup: false, // 是否显示批量提货弹窗
showMergedLogOrderNo:null, // 显示合单日志订单号
isShow:false,//特殊显示
orderId:undefined,
/* DICT_TYPE,
......
......@@ -8,7 +8,7 @@
</div>
<el-form v-if="!readonly" ref="form" :model="form" label-width="80px">
<el-form-item label="商品类型">
<span>{{ getProductAttrNameById(form.productType) }}</span>
<span>{{ getProductAttrNameById(form.prodType) }}</span>
</el-form-item>
<el-form-item label="商品名称">
<span>{{ form.prodTitleZh }}</span>
......@@ -17,26 +17,26 @@
<span>{{ form.prodTitleEn }}</span>
</el-form-item>
<el-form-item label="线路">
{{ `【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)}】${ getChannelNameById(form.channelId) }从【${form.departureName}】发往【${form.objectiveName}】`}}
{{ `【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)}】${ getChannelNameById(form.channelId) }从【${startTitleZh}】发往【${destTitleZh}】`}}
</el-form-item>
<el-form-item label="是否预付">
{{ form.isPayAdvance === 0 ? '' : '' }}
</el-form-item>
<el-form-item label="旧运费">
<el-input v-model="form.orgSeaFreight" readonly>
<div slot="prepend" style="width: 60px">{{ currentMap[form.orgSeaFreightCurrency] }}</div>
<div slot="append" style="width: 60px">{{ unitMap[form.orgSeaFreightVolume] }}</div>
<el-form-item label="旧运费" style="width: 400px">
<el-input v-model="form.orgFreight" readonly>
<div slot="prepend" style="width: 60px">{{ currentMap[form.orgFreightCurrency] }}</div>
<div slot="append" style="width: 60px">{{ unitMap[form.orgFreightVolume] }}</div>
</el-input>
</el-form-item>
<el-form-item label="旧清关费">
<el-form-item label="旧清关费" style="width: 400px">
<el-input v-model="form.orgClearanceFreight" readonly>
<div slot="prepend" style="width: 60px">{{ currentMap[form.orgClearanceFreightCurrency] }}</div>
<div slot="append" style="width: 60px">{{ unitMap[form.orgClearanceFreightVolume] }}</div>
</el-input>
</el-form-item>
<el-form-item label="新运费" required>
<el-input v-model.number="form.seaFreight">
<el-select v-model="form.seaFreightCurrency" placeholder="请选择" slot="prepend" style="width: 100px">
<el-form-item label="新运费" required style="width: 400px">
<el-input v-model="form.freight" type="number">
<el-select v-model="form.freightCurrency" placeholder="请选择" slot="prepend" style="width: 100px">
<el-option
v-for="item in currencyList"
:key="item.id"
......@@ -44,7 +44,7 @@
:value="item.id">
</el-option>
</el-select>
<el-select v-model="form.seaFreightVolume" placeholder="请选择" slot="append" style="width: 100px">
<el-select v-model="form.freightVolume" placeholder="请选择" slot="append" style="width: 100px">
<el-option
v-for="item in unitList"
:key="item.id"
......@@ -54,8 +54,8 @@
</el-select>
</el-input>
</el-form-item>
<el-form-item label="新清关费" required>
<el-input v-model.number="form.clearanceFreight">
<el-form-item label="新清关费" required style="width: 400px">
<el-input v-model="form.clearanceFreight" type="number">
<el-select v-model="form.clearanceFreightCurrency" placeholder="请选择" slot="prepend" style="width: 100px">
<el-option
v-for="item in currencyList"
......@@ -84,12 +84,12 @@
<el-descriptions-item label="商品名称">{{ form.prodTitleZh }}</el-descriptions-item>
<el-descriptions-item label="英文名称">{{ form.prodTitleEn }}</el-descriptions-item>
<el-descriptions-item label="线路">
{{ `【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)}】${ getChannelNameById(form.channelId) }从【${form.departureName}】发往【${form.objectiveName}】`}}
{{ `【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)}】${ getChannelNameById(form.channelId) }从【${startTitleZh}】发往【${destTitleZh}】`}}
</el-descriptions-item>
<el-descriptions-item label="是否预付">{{ form.isPayAdvance === 0 ? '' : '' }}</el-descriptions-item>
<el-descriptions-item label="旧运费">{{ form.orgSeaFreight }} {{ currentMap[form.orgSeaFreightCurrency] }}/{{ unitMap[form.orgSeaFreightVolume] }}</el-descriptions-item>
<el-descriptions-item label="旧运费">{{ form.orgFreight }} {{ currentMap[form.orgFreightCurrency] }}/{{ unitMap[form.orgFreightVolume] }}</el-descriptions-item>
<el-descriptions-item label="旧清关费">{{ form.orgClearanceFreight }} {{ currentMap[form.orgClearanceFreightCurrency] }}/{{ unitMap[form.orgClearanceFreightVolume] }}</el-descriptions-item>
<el-descriptions-item label="新运费">{{ form.seaFreight }} {{ currentMap[form.seaFreightCurrency] }}/{{ unitMap[form.seaFreightVolume] }}</el-descriptions-item>
<el-descriptions-item label="新运费">{{ form.freight }} {{ currentMap[form.freightCurrency] }}/{{ unitMap[form.freightVolume] }}</el-descriptions-item>
<el-descriptions-item label="新清关费">{{ form.clearanceFreight }} {{ currentMap[form.clearanceFreightCurrency] }}/{{ unitMap[form.clearanceFreightVolume] }}</el-descriptions-item>
</el-descriptions>
</el-card>
......@@ -106,11 +106,12 @@ import {getUnitList} from "@/api/ecw/unit"
import {getChannelList} from "@/api/ecw/channel"
import { getCurrencyList } from '@/api/ecw/currency'
import { getProductAttrList } from '@/api/ecw/productAttr'
import {openedRouterList} from "@/api/ecw/warehouse"
export default {
name: "specialDiscount",
props: {
offerProdId: String,
orderItemId: String,
id: Number,
readonly: {
type: Boolean,
......@@ -122,14 +123,14 @@ export default {
},
created() {
// 临时
if(this.$route.query.offerId){
this.form.offerId = this.$route.query.offerId - 0
if(this.$route.query.orderId){
this.form.orderId = this.$route.query.orderId - 0
// this.getOrder()
}
// 查看详情,列表进来的
if(this.offerProdId){
this.form.offerProdId = this.offerProdId - 0
if(this.orderItemId){
this.form.orderItemId = this.orderItemId - 0
this.getOrderSpecial()
}
......@@ -155,7 +156,7 @@ export default {
"abnormalState": 0,
"applyResult": "",
"applyStatus": 0,
"applyType": 0,
"applyType": '1',
"ccIds": "",
"channelId": 0,
"charging": 0,
......@@ -206,26 +207,30 @@ export default {
"transportId": 0,
"vweight": "",
"wvolume": ""
}
},
startTitleZh: '',
destTitleZh: ''
}
},
methods: {
handleSubmit(){
createOrderSpecial({
"applyType": '1',
clearanceFreight: this.form.clearanceFreight,
clearanceFreightCurrency: this.form.clearanceFreightCurrency,
clearanceFreightVolume: this.form.clearanceFreightVolume,
offerId: this.form.offerId,
offerProdId: this.form.offerProdId,
seaFreight: this.form.seaFreight,
seaFreightCurrency: this.form.seaFreightCurrency,
seaFreightVolume: this.form.seaFreightVolume,
orderId: this.form.orderId,
orderItemId: this.form.orderItemId,
freight: this.form.freight,
freightCurrency: this.form.freightCurrency,
freightVolume: this.form.freightVolume,
}).then(r => {
this.$message.success(r.msg || '提交成功')
})
},
getOrderSpecial(){
getOrderSpecial(this.form.offerProdId).then(r => {
getOrderSpecial(this.form.orderItemId).then(r => {
this.form = r.data
})
},
......@@ -260,6 +265,19 @@ export default {
})
return map
}
},
watch: {
'form.lineId'(val){
if (val){
openedRouterList({lineId: val}).then(r => {
if(r.data && r.data.length > 0){
this.startTitleZh = r.data[0].startTitleZh
this.destTitleZh = r.data[0].destTitleZh
}
})
}
}
}
}
</script>
......
......@@ -4,7 +4,7 @@
<div slot="header" class="card-title">申请特价</div>
<!-- 列表 -->
<div class="order-header">
<span style="font-size: 15px;">订单号:{{ order.number }}</span>
<span style="font-size: 15px;">订单号:{{ order.orderNo }}</span>
</div>
<el-table v-loading="loading" :data="order.orderItemVOList">
......@@ -78,7 +78,7 @@
prop="address"
label="操作">
<template v-slot="{row}">
<el-button size="mini" type="text" v-hasPermi="['ecw:order:update']" @click="$router.push(`/order/discount/${row.prodId}?orderId=${row.orderId}`)">优惠申请</el-button>
<el-button size="mini" type="text" v-hasPermi="['ecw:order:update']" @click="$router.push(`/order/discount/${row.orderItemId}?orderId=${row.orderId}`)">优惠申请</el-button>
<el-button size="mini" type="text" v-hasPermi="['ecw:order:update']">佣金规则</el-button>
<el-button size="mini" type="text" v-hasPermi="['ecw:order:update']">管理折扣</el-button>
</template>
......
......@@ -29,7 +29,7 @@
<el-dialog title="查看须知" :visible.sync="showNotice" width="700px">
<!-- <img :src="noticeUrl" id="noticeImg" /> -->
<need-know keyname="control" ref="needKnow" />
<need-know keyname="warehousing" ref="needKnow" />
<div style="text-align:center">
<el-button type="primary" @click="$refs.needKnow.download()">下载</el-button>
</div>
......
......@@ -170,7 +170,7 @@ import {
getOrderWarehouseIn,
getSpecialListByOrderId, listByOrderId,
orderWarehouseInFinish,
rollbackApply
rollbackDelete
} from '@/api/ecw/order'
import orderBaseInfo from "@/components/OrderBaseInfo"
import WarehouseAreaDialog from '@/components/WarehouseAreaDialog'
......@@ -274,15 +274,17 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
rollbackApply({
rollbackDelete({
"orderId": item.orderId,
"orderNo": item.orderNo,
"reason": ""
"orderItemId": item.orderItemId
}).then(() => {
this.$message({
type: 'success',
message: '申请退仓成功!'
});
getOrderWarehouseIn(this.orderId).then(r => this.orderItemList = r.data.reverse())
getOrder(this.orderId).then(r => this.order = r.data)
})
}).catch(() => {
......
<template>
<div class="app-container">
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-form ref="form" :model="form" :rules="rules" label-width="150px" :disabled="readonly">
<el-form-item label="商品类型" prop="productType">
<el-select v-model="form.productType" :disabled="!!$route.query.ids">
......@@ -230,7 +230,7 @@
</el-form>
<div style="margin: 20px 0">
<el-button @click="submitForm" type="primary">确认提交</el-button>
<el-button @click="submitForm" type="primary" v-if="!readonly">确认提交</el-button>
<el-button type="default" @click="$router.back()">返回上一页</el-button>
</div>
</div>
......@@ -280,6 +280,7 @@ export default {
unitList: [],
productTypeList: [],
productDisabled: true,
readonly: false,
lineList: [] //路线数组
}
},
......@@ -364,6 +365,9 @@ export default {
}
},
async created() {
if(this.$route.query.readonly){
this.readonly = true
}
// action=batchUpdate 表示批量修改单个商品的价格(一条或者多条),如果没有ids显示路线选择组件,否则不显示路线组件
// action=update 表示修改单个商品的单条路线价格,需要回显
if(this.$route.query.action == 'update'){
......
......@@ -171,6 +171,8 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="140">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row, true)"
v-hasPermi="['ecw:product-price:update']">查看</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:product-price:update']">编辑</el-button>
......@@ -402,7 +404,8 @@ export default {
if(this.$route.query.product_id != productId){
this.queryParams = {
pageNo: 1,
pageSize: 10
pageSize: 10,
productId: this.$route.query.product_id
}
getProduct(this.$route.query.product_id).then(res => {
this.product = res.data
......@@ -417,6 +420,7 @@ export default {
}
// 指定产品获取产品信息
if(this.$route.query.product_id){
this.$set(this.queryParams, 'productId', +this.$route.query.product_id);
getProduct(this.$route.query.product_id).then(res => {
this.product = res.data
})
......@@ -578,8 +582,10 @@ export default {
this.$router.push('../../lineProject/batch-edit')
},
/** 修改按钮操作 */
handleUpdate(row) {
return this.$router.push('../../lineProject/product-price/edit?action=update&id=' + row.id)
handleUpdate(row, readonly) {
let url = '../../lineProject/product-price/edit?action=update&id=' + row.id
if(readonly)url += '&readonly=1'
return this.$router.push(url)
},
updateStatus(row, type) {
......
......@@ -103,7 +103,7 @@ export default {
companyZh: undefined,
agentName: undefined,
tell: "",
address: "Abc123456",
address: "",
remark: undefined,
field110: undefined,
companyType: [],
......@@ -137,23 +137,11 @@ export default {
},
treeList:[],
provinceList:[],
cityList:[]/*
selectedCountryIndex: null,
selectedProvinceIndex: null,
selectedCityIndex: null, */
// selectedRegionIndex: null
cityList:[]
}
},
computed: {
/* provinceList(){
return this.treeList[this.selectedCountryIndex] ?. children || []
},
cityList(){
return this.provinceList[this.selectedProvinceIndex] ?. children || []
},
regionList(){
return this.cityList[this.selectedCityIndex] ?. children || []
} */
},
watch: {
'formData.country'(country){
......@@ -197,20 +185,7 @@ export default {
return;
}
let data = Object.assign({}, this.formData)
/* if(data.companyType && data.companyType.length){
data.companyType = data.companyType.join(',')
} */
/* let regionArr = []
if(this.selectedCountryIndex !== null){
//regionArr.push(this.treeList[this.selectedCountryIndex].id)
data.country = this.treeList[this.selectedCountryIndex].id
}
if(this.selectedProvinceIndex !== null){
data.province = this.treeList[this.selectedCountryIndex].id
}
if(this.selectedCityIndex !== null){
data.city = this.cityList[this.selectedCityIndex].id
} */
// 修改的提交
if (data.id != null) {
updateSupplier(data).then(response => {
......@@ -229,21 +204,7 @@ export default {
},
resetForm() {
this.$refs['elForm'].resetFields()
},
/* licenseBeforeUpload(file) {
let isRightSize = file.size / 1024 / 1024 < 2
if (!isRightSize) {
this.$message.error('文件大小超过 2MB')
}
return isRightSize
},
contractBeforeUpload(file) {
let isRightSize = file.size / 1024 / 1024 < 2
if (!isRightSize) {
this.$message.error('文件大小超过 2MB')
}
return isRightSize
}, */
}
}
}
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment