Commit a0f5409b authored by 我在何方's avatar 我在何方
parents 7fad46a4 93529e7a
...@@ -143,6 +143,17 @@ export function billCreate(data) { ...@@ -143,6 +143,17 @@ export function billCreate(data) {
}); });
} }
/**
* 获得提单补料pdf
*/
export function getBoxLadingBillPdf(params) {
return request({
url: "/ecw/box-lading-bill/getBoxLadingBillPdf",
method: "get",
params,
});
}
/** /**
* 驳船 * 驳船
* *
......
...@@ -395,11 +395,11 @@ export function paymentVerificationCancel(data) { ...@@ -395,11 +395,11 @@ export function paymentVerificationCancel(data) {
}) })
} }
// 取消付款单反核销 // 取消付款单反核销
export function paymentCancelFinancePaymentWriteOffNo(params){ export function paymentCancelFinancePaymentWriteOffNo(data){
return request({ return request({
url:'ecw/payment/cancelFinancePaymentWriteOffNo', url:'ecw/payment/cancelFinancePaymentWriteOffNo',
method:'get', method:'post',
params data
}) })
} }
......
...@@ -93,3 +93,14 @@ export function getOrderReportVolume(params){ ...@@ -93,3 +93,14 @@ export function getOrderReportVolume(params){
params params
}) })
} }
// 根据运输方式ID获取待排单订单方数
export function getWarehousingVolume(params){
return request({
url: '/ecw/future-box/getWarehousingVolume',
method: 'get',
params
})
}
...@@ -177,22 +177,21 @@ export default { ...@@ -177,22 +177,21 @@ export default {
this.initArea() this.initArea()
}, },
handleSave(){ handleSave(){
this.$emit('input', this.inputValue) this.$nextTick(() => {
this.dialogVisible = false const data = this.inputValue.map(e => {
return {
if (this.isEditing) { ...e,
this.$nextTick(() => { orderItemId: this.orderItemId,
const data = this.inputValue.map(e => { warehouseInId: this.warehouseInId
return { }
...e,
orderItemId: this.orderItemId,
warehouseInId: this.warehouseInId
}
})
updateWarehouseInLocation(data)
}) })
} this.$emit('input', data)
this.dialogVisible = false
if (this.isEditing || this.orderItemId) {
updateWarehouseInLocation(data)
}
})
}, },
handleClose() { handleClose() {
this.dialogVisible = false this.dialogVisible = false
......
...@@ -339,7 +339,7 @@ export default { ...@@ -339,7 +339,7 @@ export default {
id: this.processInstance.businessKey, id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath path: this.processInstance.processDefinition?.formCustomViewPath
}, },
//付款单审核 //付款单审核-所有审核流程详情组件
finance_payment_approve:{ finance_payment_approve:{
component: () => import('@/views/ecw/financial/components/PaymentApproval'), component: () => import('@/views/ecw/financial/components/PaymentApproval'),
id: this.processInstance.businessKey, id: this.processInstance.businessKey,
...@@ -351,7 +351,7 @@ export default { ...@@ -351,7 +351,7 @@ export default {
id: this.processInstance.businessKey, id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath path: this.processInstance.processDefinition?.formCustomViewPath
}, },
//收款单核销 //收款单核销
finance_receipt_write_off:{ finance_receipt_write_off:{
component: () => import('@/views/ecw/financial/components/CollectionWriteoff'), component: () => import('@/views/ecw/financial/components/CollectionWriteoff'),
id: this.processInstance.businessKey, id: this.processInstance.businessKey,
...@@ -381,6 +381,12 @@ export default { ...@@ -381,6 +381,12 @@ export default {
id: this.processInstance.businessKey, id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath path: this.processInstance.processDefinition?.formCustomViewPath
}, },
//佣金付款单审核详情-关于佣金付款单所有审核详情
commissionPaymentDetails:{
component: ()=>import('@/views/ecw/financial/components/commissionPaymentDetails.vue'),
id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath
}
} }
console.log('formCustomViewPath', this.processInstance.processDefinition.formCustomViewPath.trim()) console.log('formCustomViewPath', this.processInstance.processDefinition.formCustomViewPath.trim())
return map[this.processInstance.processDefinition.formCustomViewPath.trim()] return map[this.processInstance.processDefinition.formCustomViewPath.trim()]
......
<template>
<iframe src="https://chat.groupage.cn/" class="iframe"></iframe>
</template>
<style>
.iframe{
width: 100%;
height: calc(100vh - 84px);
border: none;
}
</style>
...@@ -190,7 +190,7 @@ ...@@ -190,7 +190,7 @@
</template> </template>
<script> <script>
import { createFutureBox, updateFutureBox, deleteFutureBox, getFutureBox, getFutureBoxPage, exportFutureBoxExcel, getBoxedVolume, getToBeWareHousedVolume,getWareHousedVolume,getExceptionVolume, getOrderReportVolume} from "@/api/ecw/futureBox"; import { createFutureBox, updateFutureBox, deleteFutureBox, getFutureBox, getFutureBoxPage, exportFutureBoxExcel, getBoxedVolume, getToBeWareHousedVolume,getWareHousedVolume,getExceptionVolume, getOrderReportVolume,getWarehousingVolume} from "@/api/ecw/futureBox";
import {getCabinetPage} from "@/api/ecw/cabinet"; import {getCabinetPage} from "@/api/ecw/cabinet";
import { getChannelList } from '@/api/ecw/channel'; import { getChannelList } from '@/api/ecw/channel';
import { getWarehouseList } from "@/api/ecw/warehouse" import { getWarehouseList } from "@/api/ecw/warehouse"
...@@ -334,10 +334,10 @@ export default { ...@@ -334,10 +334,10 @@ export default {
'form.shippingChannelId'(){ 'form.shippingChannelId'(){
this.getVolume() this.getVolume()
}, },
'form.warehousedNumber'(){ //'form.warehousedNumber'(){
//在仓 = 已入仓-已封柜 //在仓 = 已入仓-已封柜
this.$set(this.form, 'warehousingNumber', Decimal(this.form.warehousedNumber).minus(this.form.loadingNumber)) //this.$set(this.form, 'warehousingNumber', Decimal(this.form.warehousedNumber).minus(this.form.loadingNumber))
}, //},
'form.loadingNumber'(){ 'form.loadingNumber'(){
//在仓 = 已入仓-已封柜 //在仓 = 已入仓-已封柜
this.$set(this.form, 'warehousingNumber', Decimal(this.form.warehousedNumber).minus(this.form.loadingNumber)) this.$set(this.form, 'warehousingNumber', Decimal(this.form.warehousedNumber).minus(this.form.loadingNumber))
...@@ -378,6 +378,11 @@ export default { ...@@ -378,6 +378,11 @@ export default {
getOrderReportVolume(data).then(res => { getOrderReportVolume(data).then(res => {
this.$set(this.form, 'orderReportNumber', res.data || 0) this.$set(this.form, 'orderReportNumber', res.data || 0)
}) })
// 获得待排单订单方数
getWarehousingVolume(data).then(res => {
this.$set(this.form, 'warehousingNumber', res.data || 0)
})
}, },
setDefaultVolume(){ setDefaultVolume(){
this.$set(this.form, 'loadingNumber', 0) this.$set(this.form, 'loadingNumber', 0)
......
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
<el-form-item :label="$t('驳船港')"> <el-form-item :label="$t('驳船港')">
<dockSelect v-model="bookingObj.bargePortId" :placeholder="$t('请选择驳船港')" :allDocks="this.$attrs.allDocks" /> <dockSelect v-model="bookingObj.bargePortId" :placeholder="$t('请选择驳船港')" :allDocks="this.$attrs.allDocks" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('大船港')"> <el-form-item :label="$t('起运港')">
<dockSelect v-model="bookingObj.bigPortId" :placeholder="$t('请选择大船港')" :allDocks="this.$attrs.allDocks" /> <dockSelect v-model="bookingObj.bigPortId" :placeholder="$t('请选择起运港')" :allDocks="this.$attrs.allDocks" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('目的港')"> <el-form-item :label="$t('目的港')">
<dockSelect v-model="bookingObj.destPortId" :placeholder="$t('请选择目的港')" :allDocks="this.$attrs.allDocks" /> <dockSelect v-model="bookingObj.destPortId" :placeholder="$t('请选择目的港')" :allDocks="this.$attrs.allDocks" />
......
<template>
<el-select filterable :value="value === 0 ? undefined : value" @change="change" v-bind="$attrs" clearable>
<el-option v-for="user in getUser" :key="user.id" :value="user.id" :label="$l(user, 'company')"></el-option>
</el-select>
</template>
<script>
/**
* 用户
*/
export default {
name: "userSelect",
inheritAttrs: false,
props: {
value: Number | Array,
allUsers: Array,
},
model: {
prop: "value",
event: "change",
},
data() {
return {};
},
computed: {
getUser() {
return this.allUsers;
},
},
methods: {
change(val) {
this.$emit("change", val);
},
},
};
</script>
...@@ -6,13 +6,12 @@ ...@@ -6,13 +6,12 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('提单号M/BL NO.')" class="two-element"> <el-form-item :label="$t('提单号M/BL NO.')" class="two-element">
<el-input v-model="subMaterialObj.blMblNo" :placeholder="$t('请输入提单号')"></el-input> <el-input v-model="subMaterialObj.blMblNo" :placeholder="$t('请输入提单号')"></el-input>
<el-button type="primary">{{$t('提单确认件')}}</el-button>
</el-form-item> </el-form-item>
<el-form-item label="SO NO."> <el-form-item label="SO NO.">
<el-input v-model="subMaterialObj.soNo" :placeholder="$t('请输入SO NO')"></el-input> <el-input v-model="subMaterialObj.soNo" :placeholder="$t('请输入SO NO')"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('装货港')"> <el-form-item :label="$t('起运港')">
<dockSelect v-model="subMaterialObj.startPortId" :placeholder="$t('请选择装货港')" :allDocks="this.$attrs.allDocks" /> <dockSelect v-model="subMaterialObj.startPortId" :placeholder="$t('请选择起运港')" :allDocks="this.$attrs.allDocks" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('目的港')"> <el-form-item :label="$t('目的港')">
<dockSelect v-model="subMaterialObj.destPortId" :placeholder="$t('请选择目的港')" :allDocks="this.$attrs.allDocks" /> <dockSelect v-model="subMaterialObj.destPortId" :placeholder="$t('请选择目的港')" :allDocks="this.$attrs.allDocks" />
...@@ -21,7 +20,7 @@ ...@@ -21,7 +20,7 @@
<supplierSelect v-model="subMaterialObj.shipCompanyId" :companyType="'9'" :placeholder="$t('请选择船公司')" :allSupplier="this.$attrs.allSupplier" /> <supplierSelect v-model="subMaterialObj.shipCompanyId" :companyType="'9'" :placeholder="$t('请选择船公司')" :allSupplier="this.$attrs.allSupplier" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('托运人')"> <el-form-item :label="$t('托运人')">
<userSelect v-model="subMaterialObj.shipperId" :placeholder="$t('请选择托运人')" :allUsers="this.$attrs.allUsers" /> <ladingSelect v-model="subMaterialObj.shipperId" :placeholder="$t('请选择托运人')" :allUsers="this.$attrs.allLading" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人')"> <el-form-item :label="$t('收货人')">
<el-input v-model="subMaterialObj.consigneeName"></el-input> <el-input v-model="subMaterialObj.consigneeName"></el-input>
...@@ -70,6 +69,7 @@ ...@@ -70,6 +69,7 @@
<el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button> <el-button type="primary" @click="onSubmit(1)">{{$t('保存')}}</el-button>
<el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button> <el-button type="success" @click="onSubmit(2)">{{$t('提交')}}</el-button>
<el-button @click="cancel">{{$t('关闭')}}</el-button> <el-button @click="cancel">{{$t('关闭')}}</el-button>
<el-button :disabled="shipmentObj.ladingBillInfo == null" @click="download">{{$t('下载提单确认件')}}</el-button>
</el-row> </el-row>
</div> </div>
</template> </template>
...@@ -78,11 +78,13 @@ ...@@ -78,11 +78,13 @@
import supplierSelect from "./common/supplierSelect.vue"; import supplierSelect from "./common/supplierSelect.vue";
import dockSelect from "./common/dockSelect.vue"; import dockSelect from "./common/dockSelect.vue";
import userSelect from "./common/userSelect.vue"; import userSelect from "./common/userSelect.vue";
import ladingSelect from "./common/ladingSelect.vue";
import { getUnitList } from "@/api/ecw/unit"; import { getUnitList } from "@/api/ecw/unit";
import { getCabinetPage } from "@/api/ecw/cabinet"; import { getCabinetPage } from "@/api/ecw/cabinet";
import { billCreate } from "@/api/ecw/boxSea"; import { billCreate, getBoxLadingBillPdf } from "@/api/ecw/boxSea";
import { getSupplier } from "@/api/ecw/supplier"; import { getSupplier } from "@/api/ecw/supplier";
import { formatNumberString, constantDict, serviceMsg } from "../utils"; import { formatNumberString, constantDict, serviceMsg } from "../utils";
import FileSaver from 'file-saver'
/** /**
* 提单补料 * 提单补料
...@@ -90,7 +92,7 @@ import { formatNumberString, constantDict, serviceMsg } from "../utils"; ...@@ -90,7 +92,7 @@ import { formatNumberString, constantDict, serviceMsg } from "../utils";
export default { export default {
name: "subMaterial", name: "subMaterial",
inheritAttrs: false, inheritAttrs: false,
components: { supplierSelect, dockSelect, userSelect }, components: { supplierSelect, dockSelect, userSelect, ladingSelect },
props: { props: {
shipmentObj: Object, shipmentObj: Object,
}, },
...@@ -121,6 +123,7 @@ export default { ...@@ -121,6 +123,7 @@ export default {
let cabinetItem = cabinetList[index]; let cabinetItem = cabinetList[index];
if (cabinetItem.id == this.shipmentObj.cabinetId) { if (cabinetItem.id == this.shipmentObj.cabinetId) {
this.cabinetType = cabinetItem.name; this.cabinetType = cabinetItem.name;
this.$set(this.subMaterialObj,'cbm',cabinetItem.ladingBill)
} }
} }
}); });
...@@ -132,6 +135,11 @@ export default { ...@@ -132,6 +135,11 @@ export default {
packageUnit: oldData.packageUnit === 0 ? undefined : oldData.packageUnit, packageUnit: oldData.packageUnit === 0 ? undefined : oldData.packageUnit,
}; };
this.$set(this.subMaterialObj,'agentId',this.shipmentObj.agentInfo?.agentId||undefined) this.$set(this.subMaterialObj,'agentId',this.shipmentObj.agentInfo?.agentId||undefined)
this.$set(this.subMaterialObj,'soNo',this.shipmentObj.bookSeaInfo?.sono||undefined)
this.$set(this.subMaterialObj,'markNo',"N/M")
this.$set(this.subMaterialObj,'startPortId',this.shipmentObj.bookSeaInfo?.bigPortId||undefined)
this.$set(this.subMaterialObj,'destPortId',this.shipmentObj.bookSeaInfo?.destPortId||undefined)
this.$set(this.subMaterialObj,'containerSealNo',(this.shipmentObj.trailerInfo?.tlContainerNo||'')+'/'+(this.shipmentObj.trailerInfo?.tlStripSeal||'/'))
this.getSup(this.subMaterialObj.agentId) this.getSup(this.subMaterialObj.agentId)
}, },
methods: { methods: {
...@@ -159,6 +167,7 @@ export default { ...@@ -159,6 +167,7 @@ export default {
operateType, operateType,
}).then((res) => { }).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
this.download()
this.cancel("submit"); this.cancel("submit");
}); });
}); });
...@@ -169,6 +178,12 @@ export default { ...@@ -169,6 +178,12 @@ export default {
cancel(type) { cancel(type) {
this.$emit("closeDialog", type); this.$emit("closeDialog", type);
}, },
download() {
getBoxLadingBillPdf({shipmentId: this.shipmentObj.id}).then(res=>{
let blob = new Blob([res], {type: "application/pdf"})
FileSaver.saveAs(blob, this.$t('提单确认件'));
})
}
}, },
}; };
</script> </script>
......
<template> <template>
<!-- 订单获取入仓记录 --> <!-- 订单获取入仓记录 -->
<el-dialog :title="title" visible :before-close="closeDialog" :close-on-click-modal="false" width="1000px" append-to-body> <el-dialog :title="title" visible :before-close="closeDialog" :close-on-click-modal="false" width="95%" append-to-body>
<el-table v-if="warehouseItem && warehouseItem.orderWarehouseInBackItemDoList" :data="warehouseItem.orderWarehouseInBackItemDoList"> <el-table v-if="warehouseItem && warehouseItem.orderWarehouseInBackItemDoList" :data="warehouseItem.orderWarehouseInBackItemDoList">
<el-table-column type="index" :label="$t('序号')" /> <el-table-column type="index" :label="$t('序号')" />
<el-table-column :label="$t('箱数')" prop="cartonsNum" /> <el-table-column :label="$t('箱数')" prop="cartonsNum" />
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
<el-table-column :label="$t('重量') + '(kg)'" prop="weight" /> <el-table-column :label="$t('重量') + '(kg)'" prop="weight" />
<el-table-column :label="$t('数量(个)')" prop="quantityAll" /> <el-table-column :label="$t('数量(个)')" prop="quantityAll" />
<el-table-column :label="$t('快递单号')" prop="expressNo" /> <el-table-column :label="$t('快递单号')" prop="expressNo" />
<el-table-column :label="$t('储位')" align="center" prop="positionNo" width="250px"></el-table-column>
<el-table-column :label="$t('入仓时间')" prop="inTime"> <el-table-column :label="$t('入仓时间')" prop="inTime">
<template slot-scope="{row}">{{row.inTime|parseTime}}</template> <template slot-scope="{row}">{{row.inTime|parseTime}}</template>
</el-table-column> </el-table-column>
...@@ -77,7 +78,7 @@ export default { ...@@ -77,7 +78,7 @@ export default {
title() { title() {
if (!this.orderItem) return "-"; if (!this.orderItem) return "-";
return this.$l(this.orderItem, "prodTitle") + " - " + this.$t("入仓记录"); return this.$l(this.orderItem, "prodTitle") + " - " + this.$t("入仓记录");
}, }
}, },
created() { created() {
......
...@@ -46,6 +46,7 @@ import unloadingWidget from "./nodePage/unloading/index.vue"; ...@@ -46,6 +46,7 @@ import unloadingWidget from "./nodePage/unloading/index.vue";
import settlementWidget from "./nodePage/settlement.vue"; import settlementWidget from "./nodePage/settlement.vue";
import reviewWidget from "./nodePage/review.vue"; import reviewWidget from "./nodePage/review.vue";
import tallyWidget from "./nodePage/tally/index.vue"; import tallyWidget from "./nodePage/tally/index.vue";
import {checkPermi} from '@/utils/permission'
/** /**
* 海运流程图 * 海运流程图
...@@ -131,6 +132,10 @@ export default { ...@@ -131,6 +132,10 @@ export default {
}, },
/** 节点点击 */ /** 节点点击 */
nodeClick(currIndex, node) { nodeClick(currIndex, node) {
if (!checkPermi(['box:'+node.type+':show'])) {
this.$message.error(this.$t("没有此操作的权限"));
return;
}
if (currIndex > this.currIndex) { if (currIndex > this.currIndex) {
this.$message.error(this.$t("请先完成上一步")); this.$message.error(this.$t("请先完成上一步"));
return; return;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="app-seaStepDetail"> <div class="app-seaStepDetail">
<el-scrollbar :vertical="true" viewClass="shipping-step"> <el-scrollbar :vertical="true" viewClass="shipping-step">
<template v-for="(step, index) in flatSeaStep"> <template v-for="(step, index) in flatSeaStep">
<div :key="index" v-if="shipmentObj[step.voName] && columnsMapping[step.voName]" class="step-table"> <div :key="index" v-if="shipmentObj[step.voName] && columnsMapping[step.voName] && checkPermi(['box:'+step.type+':show'])" class="step-table">
<div class="step-title">{{step.title}}</div> <div class="step-title">{{step.title}}</div>
<div v-for="(data, index) in columnsMapping[step.voName]" :key="index" class="step-content"> <div v-for="(data, index) in columnsMapping[step.voName]" :key="index" class="step-content">
<p>{{data.title}}</p> <p>{{data.title}}</p>
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
<script> <script>
import dayjs from "dayjs"; import dayjs from "dayjs";
import * as _C from "./utils"; import * as _C from "./utils";
import {checkPermi} from '@/utils/permission'
export default { export default {
name: "seaStepDetail", name: "seaStepDetail",
...@@ -32,6 +33,7 @@ export default { ...@@ -32,6 +33,7 @@ export default {
}; };
}, },
methods: { methods: {
checkPermi, // 检查权限
getObjInfo(voName, data) { getObjInfo(voName, data) {
const { key, type } = data; const { key, type } = data;
let val = this.shipmentObj[voName]?.[key] ?? ""; let val = this.shipmentObj[voName]?.[key] ?? "";
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
</el-card> </el-card>
<!-- 海运流程图 --> <!-- 海运流程图 -->
<seaProcess :seaBaseData="seaBaseData" :shipmentObj="shipmentObj" :allSupplier="allSupplier" :allDocks="allDocks" :allUsers="allUsers" :warehouseList="warehouseList" @getBoxInfo="getBoxInfo" /> <seaProcess :seaBaseData="seaBaseData" :shipmentObj="shipmentObj" :allSupplier="allSupplier" :allDocks="allDocks" :allUsers="allUsers" :allLading="allLading" :warehouseList="warehouseList" @getBoxInfo="getBoxInfo" />
<!-- 海运步骤图 --> <!-- 海运步骤图 -->
<seaStepDetail :seaBaseData="seaBaseData" :shipmentObj="shipmentObj" :allSupplier="allSupplier" :allDocks="allDocks" :allUsers="allUsers" :warehouseList="warehouseList" /> <seaStepDetail :seaBaseData="seaBaseData" :shipmentObj="shipmentObj" :allSupplier="allSupplier" :allDocks="allDocks" :allUsers="allUsers" :warehouseList="warehouseList" />
...@@ -43,6 +43,7 @@ import { getWarehouseList } from "@/api/ecw/warehouse"; ...@@ -43,6 +43,7 @@ import { getWarehouseList } from "@/api/ecw/warehouse";
import { getSupplierPage } from "@/api/ecw/supplier"; import { getSupplierPage } from "@/api/ecw/supplier";
import { getDockPage } from "@/api/ecw/dock"; import { getDockPage } from "@/api/ecw/dock";
import { listUser } from "@/api/system/user"; import { listUser } from "@/api/system/user";
import { getLadingShipperPage } from "@/api/ecw/ladingShipper";
// 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,然后再页面上用$l函数调用 // 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,然后再页面上用$l函数调用
import { seaBaseData } from "./utils"; import { seaBaseData } from "./utils";
...@@ -64,6 +65,8 @@ export default { ...@@ -64,6 +65,8 @@ export default {
warehouseList: [], warehouseList: [],
// 供应商 // 供应商
allSupplier: [], allSupplier: [],
// 托运人
allLading: [],
// 码头 // 码头
allDocks: [], allDocks: [],
// 用户 // 用户
...@@ -90,6 +93,10 @@ export default { ...@@ -90,6 +93,10 @@ export default {
return item; return item;
}); });
}); });
// 托运人
getLadingShipperPage({ pageNo: "1", pageSize: "10000" }).then(res=>{
this.allLading = res.data.list
})
// 码头 // 码头
getDockPage({ pageNo: "1", pageSize: "10000" }).then((res) => { getDockPage({ pageNo: "1", pageSize: "10000" }).then((res) => {
const { data } = res; const { data } = res;
......
...@@ -662,7 +662,7 @@ export default { ...@@ -662,7 +662,7 @@ export default {
} }
}) })
this.$set(this.form, 'suitableProdType', this.isAllProduct ? 0 : 1)
let data = Object.assign({}, this.form, {discountDetailedVOs}) let data = Object.assign({}, this.form, {discountDetailedVOs})
...@@ -681,6 +681,7 @@ export default { ...@@ -681,6 +681,7 @@ export default {
if(this.form.type != 1 && !this.isAllProduct && !this.form.prodIds){ if(this.form.type != 1 && !this.isAllProduct && !this.form.prodIds){
return this.$message.error('请选择商品') return this.$message.error('请选择商品')
} }
this.$set(this.form, 'suitableProdType', this.isAllProduct ? 0 : 1)
// 修改的提交 // 修改的提交
if (data.couponId != null) { if (data.couponId != null) {
......
<template> <template>
<div style="padding: 20px"> <div :style="{padding:customerId ? '0px' : '20px'}">
<el-card :title="'客户操作日志'"> <el-card style="margin-bottom: 30px" v-show="!customerId" :title="'客户操作日志'">
<el-descriptions border :column="3"> <el-descriptions border :column="3">
<el-descriptions-item label="订单编号"><el-input v-model="queryForm.orderNo"></el-input></el-descriptions-item> <el-descriptions-item label="订单编号"><el-input :placeholder="$t('请输入订单编号')" v-model="queryForm.orderNo"></el-input></el-descriptions-item>
<el-descriptions-item label="操作人"><el-input v-model="queryForm.operator"></el-input></el-descriptions-item> <el-descriptions-item label="操作人">
<el-descriptions-item label="老客户经理"><el-input v-model="queryForm.oldCustomerService"></el-input></el-descriptions-item> <el-select filterable v-model="queryForm.operator">
<el-descriptions-item label="客户编号"><el-input v-model="queryForm.number"></el-input></el-descriptions-item> <el-option v-for="(item) in allSimplList" :value="item.id" :label="item.nickname" :key="item.id"></el-option>
<el-descriptions-item label="新客户经理"><el-input v-model="queryForm.newCustomerService"></el-input></el-descriptions-item> </el-select>
<el-descriptions-item label="客户名称"><el-input v-model="queryForm.name"></el-input></el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="老客户经理">
<el-select filterable v-model="queryForm.oldCustomerService">
<el-option v-for="(item) in customerServiceList" :value="item.id" :label="item.nickname" :key="item.id"></el-option>
</el-select>
<!-- <el-input v-model="queryForm.oldCustomerService"></el-input>-->
</el-descriptions-item>
<el-descriptions-item label="客户编号"><el-input :placeholder="$t('请输入客户编号')" v-model="queryForm.number"></el-input></el-descriptions-item>
<el-descriptions-item label="新客户经理">
<el-select clearable filterable v-model="queryForm.newCustomerService">
<el-option v-for="(item) in customerServiceList" :value="item.id" :label="item.nickname" :key="item.id"></el-option>
</el-select>
<!-- <el-input v-model="queryForm.newCustomerService"></el-input>-->
</el-descriptions-item>
<el-descriptions-item label="客户名称"><el-input :placeholder="$t('请输入客户名称')" style="width: 45%;" v-model="queryForm.name"></el-input></el-descriptions-item>
<el-descriptions-item label="操作类型">
<dict-selector :type="DICT_TYPE.CUSTOMER_OPERATE_TYPE" v-model="queryForm.operateType">
</dict-selector>
</el-descriptions-item>
<el-descriptions-item label="新的预计进入公海的时间"> <el-descriptions-item label="新的预计进入公海的时间">
<el-date-picker <el-date-picker
v-model="newEstimateEnterOpenSeaTimeArr" v-model="newEstimateEnterOpenSeaTimeArr"
...@@ -32,22 +51,22 @@ ...@@ -32,22 +51,22 @@
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<el-button @click="getList">搜索</el-button> <el-button @click="getList">搜索</el-button>
<el-button @click="initialize">重置</el-button> <el-button @click="initialize();getList()">重置</el-button>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<el-table style="margin-top: 30px" :data="list"> <el-table :data="list">
<el-table-column label="订单编号" prop="orderNo"></el-table-column> <el-table-column label="订单编号" prop="orderNo"></el-table-column>
<el-table-column label="客户编号" prop="number"></el-table-column> <el-table-column label="客户编号" prop="number"></el-table-column>
<el-table-column label="客户名称" prop="name"></el-table-column> <el-table-column label="客户名称" prop="name"></el-table-column>
<el-table-column label="新客户经理" prop="newCustomerService"> <el-table-column label="新客户经理" prop="newCustomerService">
<template v-slot="{row}"> <template v-slot="{row}">
{{row.newCustomerService ? row.newCustomerService : '/'}} {{row.newCustomerService ? operatorFn(row.newCustomerService) : '/'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="老客户经理" prop="oldCustomerService"> <el-table-column label="老客户经理" prop="oldCustomerService">
<template v-slot="{row}"> <template v-slot="{row}">
{{row.oldCustomerService ? row.oldCustomerService : '/'}} {{row.oldCustomerService ? operatorFn(row.oldCustomerService) : '/'}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作类型"> <el-table-column label="操作类型">
...@@ -70,7 +89,7 @@ ...@@ -70,7 +89,7 @@
{{parseTime(row.oldEstimateEnterOpenSeaTime)}} {{parseTime(row.oldEstimateEnterOpenSeaTime)}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template v-slot="{row}"> <template v-slot="{row}">
<el-button type="text" @click="getCustomerLog(row.id)"> <el-button type="text" @click="getCustomerLog(row.id)">
详情 详情
...@@ -109,6 +128,9 @@ ...@@ -109,6 +128,9 @@
<el-form-item label="老的预计进入公海时间:"> <el-form-item label="老的预计进入公海时间:">
{{parseTime(dataLog.oldEstimateEnterOpenSeaTime)}} {{parseTime(dataLog.oldEstimateEnterOpenSeaTime)}}
</el-form-item> </el-form-item>
<el-form-item label="备注:">
{{dataLog.remark}}
</el-form-item>
<el-form-item label="更新json:"> <el-form-item label="更新json:">
{{dataLog.updateBody}} {{dataLog.updateBody}}
</el-form-item> </el-form-item>
...@@ -122,9 +144,16 @@ import {getCustomerOperatelog, getCustomerOperatelogPage} from "@/api/ecw/custom ...@@ -122,9 +144,16 @@ import {getCustomerOperatelog, getCustomerOperatelogPage} from "@/api/ecw/custom
import {parseTime} from "../../../utils/ruoyi"; import {parseTime} from "../../../utils/ruoyi";
import Template from "@/views/cms/template/index.vue"; import Template from "@/views/cms/template/index.vue";
import {DICT_TYPE} from "@/utils/dict"; import {DICT_TYPE} from "@/utils/dict";
import {listAllSimpl} from "@/api/system/user"; import {listAllSimpl, listServiceUser} from "@/api/system/user";
import {number} from "echarts/lib/export";
export default { export default {
name: "customerLog", name: "customerLog",
props:{
customerId:{
type:[Number,String],
default:null,
}
},
computed: { computed: {
DICT_TYPE() { DICT_TYPE() {
return DICT_TYPE return DICT_TYPE
...@@ -142,6 +171,9 @@ export default { ...@@ -142,6 +171,9 @@ export default {
listAllSimpl().then(r => { listAllSimpl().then(r => {
this.allSimplList = r.data this.allSimplList = r.data
}) })
listServiceUser().then(r=>{
this.customerServiceList = r.data;
})
}, },
data(){ data(){
return { return {
...@@ -152,7 +184,8 @@ export default { ...@@ -152,7 +184,8 @@ export default {
total:0, total:0,
show:false, show:false,
allSimplList:[], allSimplList:[],
dataLog:{} dataLog:{},
customerServiceList:[],
} }
}, },
methods:{ methods:{
...@@ -172,6 +205,7 @@ export default { ...@@ -172,6 +205,7 @@ export default {
beginOldEstimateEnterOpenSeaTime:null, beginOldEstimateEnterOpenSeaTime:null,
endNewEstimateEnterOpenSeaTime:null, endNewEstimateEnterOpenSeaTime:null,
endOldEstimateEnterOpenSeaTime:null, endOldEstimateEnterOpenSeaTime:null,
customerId:this.customerId
} }
}, },
getList(){ getList(){
......
...@@ -419,88 +419,88 @@ ...@@ -419,88 +419,88 @@
<el-button style="float: right;" size="small" type="primary" @click="addBankData">+</el-button> <el-button style="float: right;" size="small" type="primary" @click="addBankData">+</el-button>
</div> </div>
<el-form ref="bankForm" :model="form"> <el-form ref="bankForm" :model="form">
<el-table border :data="form.customerBankAccounts"> <el-table border :data="form.customerBanks">
<el-table-column label="序号" type="index"></el-table-column> <el-table-column :label="$t('序号')" type="index"></el-table-column>
<el-table-column> <el-table-column>
<div slot="header"> <div slot="header">
账户名称 <span style="color: red;">*</span> {{$t('账户名称')}} <span style="color: red;">*</span>
</div> </div>
<template v-slot="{row,$index}"> <template v-slot="{row,$index}">
<el-form-item :rules="{required:true,message:'请输入账户名称'}" :prop="'customerBankAccounts.'+ $index +'.baAccountName'"> <el-form-item :rules="{required:true,message:$t('请输入账户名称')}" :prop="'customerBanks.'+ $index +'.accountName'">
<el-input size="mini" v-model="row.baAccountName"></el-input> <el-input size="mini" v-model="row.accountName"></el-input>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="币别"> <el-table-column :label="$t('币别')">
<div slot="header"> <div slot="header">
币别 <span style="color: red;">*</span> {{$t('币别')}} <span style="color: red;">*</span>
</div> </div>
<template v-slot="{row,$index}"> <template v-slot="{row,$index}">
<el-form-item :prop="'customerBankAccounts.'+ $index +'.currency'" :rules="{required:true,message:'请输入币别'}" > <el-form-item :prop="'customerBanks.'+ $index +'.currency'" :rules="{required:true,message:$t('请输入币别')}" >
<el-select v-model="row.currency"> <el-select v-model="row.currency">
<el-option v-for="(item) in currecyList" :label="$l(item,'title')" :value="item.id" :key="item.id"></el-option> <el-option v-for="(item) in currecyList" :label="$l(item,'title')" :value="item.id.toString()" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="银行名称"> <el-table-column :label="$t('银行名称')">
<div slot="header"> <div slot="header">
银行名称 <span style="color: red;">*</span> {{$t('银行名称')}} <span style="color: red;">*</span>
</div> </div>
<template v-slot="{row,$index}"> <template v-slot="{row,$index}">
<el-form-item :prop="'customerBankAccounts.'+ $index +'.baBankName'" :rules="{required:true,message:'银行名称'}"> <el-form-item :prop="'customerBanks.'+ $index +'.bankName'" :rules="{required:true,message:$t('银行名称')}">
<el-input v-model="row.baBankName" size="mini"></el-input> <el-input v-model="row.bankName" size="mini"></el-input>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="银行账户"> <el-table-column :label="$t('银行账户')">
<div slot="header"> <div slot="header">
银行账户 <span style="color: red;">*</span> {{$t('银行账户')}} <span style="color: red;">*</span>
</div> </div>
<template v-slot="{row,$index}"> <template v-slot="{row,$index}">
<el-form-item :prop="`customerBankAccounts.${$index}.baAccountNum`" :rules="{required:true,message:'请输入银行账户'}"> <el-form-item :prop="`customerBanks.${$index}.bankAccount`" :rules="{required:true,message:$t('请输入银行账户')}">
<el-input v-model="row.baAccountNum" size="mini"></el-input> <el-input v-model="row.bankAccount" size="mini"></el-input>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="银行代码"> <el-table-column :label="$t('银行代码')">
<template v-slot="{row}"> <template v-slot="{row}">
<el-form-item prop="baSwiftCode"> <el-form-item prop="bankCode">
<el-input v-model="row.baSwiftCode" size="mini"></el-input> <el-input v-model="row.bankCode" size="mini"></el-input>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="账户类型"> <el-table-column :label="$t('账户类型')">
<template v-slot="{row}"> <template v-slot="{row}">
<el-form-item> <el-form-item>
<el-select v-model="row.baType"> <el-select v-model="row.accountType">
<el-option value="1" label="公账"></el-option> <el-option value="1" :label="$t('公账')"></el-option>
<el-option value="2" label="私账" ></el-option> <el-option value="2" :label="$t('私账')" ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="状态"> <el-table-column :label="$t('状态')">
<template v-slot="{row}"> <template v-slot="{row}">
<el-form-item> <el-form-item>
<el-select v-model="row.status"> <el-select v-model="row.status">
<el-option value="0" label="停用"></el-option> <el-option :value="0" :label="$t('停用')"></el-option>
<el-option value="1" label="正常"></el-option> <el-option :value="1" :label="$t('正常')"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="银行地址"> <el-table-column :label="$t('银行地址')">
<template v-slot="{row}"> <template v-slot="{row}">
<el-form-item prop="baBankAdd"> <el-form-item prop="baBankAdd">
<el-input v-model="row.baBankAdd" size="mini"></el-input> <el-input v-model="row.bankAddress" size="mini"></el-input>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column :label="$t('操作')">
<template v-slot="{$index}"> <template v-slot="{$index}">
<el-button @click="deleteBankData($index)">删除</el-button> <el-button @click="deleteBankData($index)">{{$t('删除')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -693,26 +693,26 @@ export default { ...@@ -693,26 +693,26 @@ export default {
methods: { methods: {
deleteBankData(index){ deleteBankData(index){
if(this.form.customerBankAccounts.length === 1){ if(this.form.customerBanks.length === 1){
this.$message.warning('至少添加一条银行卡号信息'); this.$message.warning('至少添加一条银行卡号信息');
}else { }else {
this.form.customerBankAccounts.splice(index, 1); this.form.customerBanks.splice(index, 1);
} }
}, },
//添加银行卡 //添加银行卡
addBankData(){ addBankData(){
let p = { let p = {
baAccountName: "", bankName: "",
baAccountNum: "", bankAccount: "",
baBankAdd: "", bankAddress: "",
baBankName: "", bankCode: "",
baSwiftCode: "", accountType: null,
baType: null,
status: null, status: null,
currency:'', currency:'',
accountName:''
}; };
this.form.customerBankAccounts = [...this.form.customerBankAccounts,p] this.form.customerBanks = [...this.form.customerBanks,p]
}, },
/* getUserMemberUserFn(val){ /* getUserMemberUserFn(val){
userMemberUserList({pageNo:1,pageSize:100,searchKey:val}).then(r => { userMemberUserList({pageNo:1,pageSize:100,searchKey:val}).then(r => {
...@@ -899,7 +899,7 @@ export default { ...@@ -899,7 +899,7 @@ export default {
isShowTidanPrice:true, isShowTidanPrice:true,
carName:undefined, carName:undefined,
carNo:undefined, carNo:undefined,
customerBankAccounts:[] customerBanks:[]
}; };
this.form.createTime = (new Date()).getTime() this.form.createTime = (new Date()).getTime()
this.resetForm("form"); this.resetForm("form");
...@@ -908,7 +908,7 @@ export default { ...@@ -908,7 +908,7 @@ export default {
getCustomer(id) { getCustomer(id) {
return getCustomer(id).then(response => { return getCustomer(id).then(response => {
console.log(response,'response') console.log(response,'response')
this.form = { ...this.form, ...response.data, id: this.customerId,transportType: response.data.transportType.split(',') }; this.form = { ...this.form, ...response.data, id: this.customerId,transportType: response.data.transportType.split(','),customerBanks:response.data.customerBankBackVOList };
this.open = true; this.open = true;
this.title = this.$t('修改客户'); this.title = this.$t('修改客户');
this.getZhongPao() this.getZhongPao()
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('市场获客')" prop="department"> <el-form-item :label="$t('市场获客')" prop="department">
<dict-selector clearable :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="queryParams.marketType" formatter="number"></dict-selector> <dict-selector clearable :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="queryParams.resourceType" formatter="number"></dict-selector>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
...@@ -575,7 +575,7 @@ export default { ...@@ -575,7 +575,7 @@ export default {
department: null, department: null,
creditLevel:null, creditLevel:null,
country:null, country:null,
marketType:null, resourceType:null,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
......
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
<el-descriptions-item :label="$t('公司名称')">{{ customer.company }}</el-descriptions-item> <el-descriptions-item :label="$t('公司名称')">{{ customer.company }}</el-descriptions-item>
<el-descriptions-item :label="$t('联系地址')">{{ customer.address }}</el-descriptions-item> <el-descriptions-item :label="$t('联系地址')">{{ customer.address }}</el-descriptions-item>
<el-descriptions-item :label="$t('创建时间')">{{ parseTime(customer.createTime) }}</el-descriptions-item> <el-descriptions-item :label="$t('创建时间')">{{ parseTime(customer.createTime) }}</el-descriptions-item>
<el-descriptions-item :label="$t('创建人')">{{ customer.founderName }}</el-descriptions-item>
<el-descriptions-item :label="$t('状态')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_STATUS, customer.status) }}</el-descriptions-item> <el-descriptions-item :label="$t('状态')">{{ getDictDataLabel(DICT_TYPE.CUSTOMER_STATUS, customer.status) }}</el-descriptions-item>
<el-descriptions-item :label="$t('主营类别')">{{ productType }}</el-descriptions-item> <el-descriptions-item :label="$t('主营类别')">{{ productType }}</el-descriptions-item>
<el-descriptions-item :label="$t('常提货网点')">{{ pickupPoint }}</el-descriptions-item> <el-descriptions-item :label="$t('常提货网点')">{{ pickupPoint }}</el-descriptions-item>
...@@ -112,18 +113,20 @@ ...@@ -112,18 +113,20 @@
<el-card style="margin-top: 15px;"> <el-card style="margin-top: 15px;">
<h3>{{$t('银行账户')}}</h3> <h3>{{$t('银行账户')}}</h3>
<el-table :data="customer.customerBankBackVOList" border> <el-table :data="customer.customerBankBackVOList" border>
<el-table-column label="编号"></el-table-column> <el-table-column label="编号" type="index"></el-table-column>
<el-table-column label="账户名称" prop="accountName"></el-table-column> <el-table-column label="账户名称" prop="accountName"></el-table-column>
<el-table-column label="币别"> <el-table-column label="币别">
<template> <template v-slot="{row}">
{{$l(currecyList.find(i => row.currency == i.id),'title')}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="银行名称" prop="bankName"></el-table-column> <el-table-column label="银行名称" prop="bankName"></el-table-column>
<el-table-column label="银行账户" prop="bankAccount"></el-table-column> <el-table-column label="银行账户" prop="bankAccount"></el-table-column>
<el-table-column label="银行代码" prop="bankCode"></el-table-column> <el-table-column label="银行代码" prop="bankCode"></el-table-column>
<el-table-column label="账户类型"> <el-table-column label="账户类型">
<template></template> <template v-slot="{row}">
{{row.accountType === 1 ? $t('公账') : $t('私账')}}
</template>
</el-table-column> </el-table-column>
<el-table-column label="状态"> <el-table-column label="状态">
<template v-slot="{row}"> <template v-slot="{row}">
...@@ -425,6 +428,9 @@ ...@@ -425,6 +428,9 @@
</el-table> </el-table>
<pagination @pagination="getCustomerGrade" :page.sync="getCustomerGradeFrom.pageNo" :limit.sync="getCustomerGradeFrom.pageSize" :total="getCustomerGradeFrom.total" ></pagination> <pagination @pagination="getCustomerGrade" :page.sync="getCustomerGradeFrom.pageNo" :limit.sync="getCustomerGradeFrom.pageSize" :total="getCustomerGradeFrom.total" ></pagination>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="operationLog" v-if="permissions.includes('ecw:customer:operation-log')" :label="$t('操作日志')" >
<customer-log :customerId="id" v-if="'operationLog' === activeName"></customer-log>
</el-tab-pane>
</el-tabs> </el-tabs>
</el-col> </el-col>
</el-row> </el-row>
...@@ -482,15 +488,22 @@ import {getOrderPage} from "@/api/ecw/order"; ...@@ -482,15 +488,22 @@ import {getOrderPage} from "@/api/ecw/order";
import Template from "@/views/cms/template"; import Template from "@/views/cms/template";
import {getCreditRulePage} from "@/api/customer/creditRule"; import {getCreditRulePage} from "@/api/customer/creditRule";
import {getCountry} from "@/api/ecw/country" import {getCountry} from "@/api/ecw/country"
import {getCurrencyList} from "@/api/ecw/currency";
import customerLog from "@/views/ecw/customer/customerLog.vue";
export default { export default {
name: 'query', name: 'query',
components: { components: {
Template, Template,
CustomerFollow, CustomerFollow,
CustomerComplaint CustomerComplaint,
customerLog,
}, },
created() { created() {
// 获取币种
getCurrencyList().then(response => {
this.currecyList = response.data;
})
//获取信用类型 //获取信用类型
getCreditRulePage({page:1,rows:999,type:2}).then(r => { getCreditRulePage({page:1,rows:999,type:2}).then(r => {
this.creditTypeList = r.data.list this.creditTypeList = r.data.list
...@@ -500,6 +513,7 @@ export default { ...@@ -500,6 +513,7 @@ export default {
}) })
getCustomer(this.id).then(response => { getCustomer(this.id).then(response => {
this.customer = { ...this.customer, ...response.data } this.customer = { ...this.customer, ...response.data }
console.log( this.customer,'this.customer')
getCustomerContactsListByCustomer({customerId: this.id}).then(r => { getCustomerContactsListByCustomer({customerId: this.id}).then(r => {
this.customerContacts = r.data this.customerContacts = r.data
...@@ -537,7 +551,6 @@ export default { ...@@ -537,7 +551,6 @@ export default {
}, },
watch:{ watch:{
activeName(val){ activeName(val){
console.log(val,'val')
switch (val) { switch (val) {
case 'order': case 'order':
this.getorderList()//订单 this.getorderList()//订单
...@@ -567,6 +580,7 @@ export default { ...@@ -567,6 +580,7 @@ export default {
data() { data() {
return { return {
activeName:'order', activeName:'order',
currecyList:[],
STATUS:{ STATUS:{
0:this.$t('取消报价'), 0:this.$t('取消报价'),
1:this.$t('特价审批中'), 1:this.$t('特价审批中'),
......
...@@ -8,12 +8,12 @@ ...@@ -8,12 +8,12 @@
<el-row :gutter="30"> <el-row :gutter="30">
<el-col :span="7"> <el-col :span="7">
<el-form-item :label="$t('付款单号')"> <el-form-item :label="$t('付款单号')">
<el-input v-model="queryParams.paymentNo"></el-input> <el-input :placeholder="$t('请输入付款单号')" v-model="queryParams.paymentNo"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('客户')"> <el-form-item :label="$t('客户')">
<el-input v-model="queryParams.searchKey"></el-input> <el-input :placeholder="$t('请输入客户')" v-model="queryParams.searchKey"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('账单号')"> <el-form-item :label="$t('账单号')">
<el-input v-model="queryParams.accountNumber"></el-input> <el-input :placeholder="$t('请输入账单号')" v-model="queryParams.accountNumber"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
...@@ -105,17 +105,17 @@ ...@@ -105,17 +105,17 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')"> <el-table-column :label="$t('操作')">
<template v-slot="{row}"> <template v-slot="{row}">
<el-button type="text" v-has-permi="['ecw:commission-Payment:edit']" v-if="[0,2].includes(row.state)" @click="$router.push({path:'/financial/commission-requestFunds',query:{id:row.id}})" >{{$t('编辑')}}</el-button> <el-button type="text" size="mini" v-has-permi="['ecw:commission-Payment:edit']" v-if="[0,2].includes(row.state)" @click="$router.push({path:'/financial/commission-requestFunds',query:{id:row.id}})" >{{$t('编辑')}}</el-button>
<el-button type="text" v-has-permi="['ecw:commission-Payment:delete']" @click="deleteFn(row)" v-if="[0,2].includes(row.state)" > {{$t('删除')}}</el-button> <el-button type="text" size="mini" v-has-permi="['ecw:commission-Payment:delete']" @click="deleteFn(row)" v-if="[0,2].includes(row.state)" > {{$t('删除')}}</el-button>
<el-button type="text" v-has-permi="['ecw:commission-Payment:details']" v-if="[7,3,1].includes(row.state)" @click="$router.push({path:'/bpm/process-instance/detail',query:{id:row.bmpId}})" >{{$t('审核详情')}}</el-button> <el-button type="text" size="mini" v-has-permi="['ecw:commission-Payment:details']" v-if="[7,3,1,5].includes(row.state)" @click="$router.push({path:'/bpm/process-instance/detail',query:{id:row.bmpId}})" >{{$t('审核详情')}}</el-button>
<el-button type="text" v-has-permi="['ecw:commission-Payment:Unapprove']" v-if="[1].includes(row.state)" @click="bridgeFn('取消审核',7, row, '取消审核' )" >{{$t('取消审核')}}</el-button> <el-button type="text" size="mini" v-has-permi="['ecw:commission-Payment:Unapprove']" v-if="[1].includes(row.state)" @click="bridgeFn('取消审核',7, row, '取消审核' )" >{{$t('取消审核')}}</el-button>
<el-button type="text" v-has-permi="['ecw:commission-Payment:De-approval']" v-if="[4,].includes(row.state)" @click="bridgeFn('付款单反审核', 1, row, '提交反审核',)" >{{$t('反审核')}}</el-button> <el-button type="text" size="mini" v-has-permi="['ecw:commission-Payment:De-approval']" v-if="[4,].includes(row.state)" @click="bridgeFn('付款单反审核', 1, row, '提交反审核',)" >{{$t('反审核')}}</el-button>
<el-button type="text" v-has-permi="['ecw:commission-Payment:Write-off']" v-if="[4,].includes(row.state)" @click="bridgeFn('付款单核销申请', 2, row, '提交核销')" >{{$t('核销')}}</el-button> <el-button type="text" size="mini" v-has-permi="['ecw:commission-Payment:Write-off']" v-if="[4,].includes(row.state)" @click="bridgeFn('付款单核销申请', 2, row, '提交核销')" >{{$t('核销')}}</el-button>
<el-button type="text" v-has-permi="['ecw:commission-Payment:print']" v-if="[4,6].includes(row.state)" @click="$router.push({path:'/financial/printPaymentVoucherCommission',query:{id:row.id}})" >{{$t('打印')}}</el-button> <el-button type="text" size="mini" v-has-permi="['ecw:commission-Payment:print']" v-if="[4,6].includes(row.state)" @click="$router.push({path:'/financial/printPaymentVoucherCommission',query:{id:row.id}})" >{{$t('打印')}}</el-button>
<el-button type="text" v-has-permi="['ecw:commission-Payment:CancelWrite-off']" v-if="[6,].includes(row.state)" @click="bridgeFn('付款单反核销申请', 3, row, '提交方核销')" >{{$t('反核销')}}</el-button> <el-button type="text" size="mini" v-has-permi="['ecw:commission-Payment:CancelWrite-off']" v-if="[6,].includes(row.state)" @click="bridgeFn('付款单反核销申请', 3, row, '提交方核销')" >{{$t('反核销')}}</el-button>
<el-button type="text" v-has-permi="['ecw:commission-Payment:CancelDe-approval']" v-if="[3].includes(row.state)" @click="bridgeFn('取消反审核',4, row, '提交取消反审核' )" >{{$t('取消反审核')}}</el-button> <el-button type="text" size="mini" v-has-permi="['ecw:commission-Payment:CancelDe-approval']" v-if="[3].includes(row.state)" @click="bridgeFn('取消反审核',4, row, '提交取消反审核' )" >{{$t('取消反审核')}}</el-button>
<el-button type="text" v-has-permi="['ecw:commission-Payment:CancelWrite-off']" v-if="[5].includes(row.state)" @click="bridgeFn('取消付款单核销',5, row, '取消付款单核销' )" > {{$t('取消核销')}} </el-button> <el-button type="text" size="mini" v-has-permi="['ecw:commission-Payment:CancelWrite-off']" v-if="[5].includes(row.state)" @click="bridgeFn('取消付款单核销',5, row, '取消付款单核销' )" > {{$t('取消核销')}} </el-button>
<el-button type="text" v-has-permi="['ecw:commission-Payment:CancelCancellingWrite-off']" v-if="[7].includes(row.state)" @click="bridgeFn('取消付款单反核销',6, row, '取消付款单反核销' )" > {{$t('取消反核销')}} </el-button> <el-button type="text" size="mini" v-has-permi="['ecw:commission-Payment:CancelCancellingWrite-off']" v-if="[7].includes(row.state)" @click="bridgeFn('取消付款单反核销',6, row, '取消付款单反核销' )" > {{$t('取消反核销')}} </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -127,14 +127,14 @@ ...@@ -127,14 +127,14 @@
@pagination="getList" @pagination="getList"
/> />
<!--对话框 审核 --> <!--对话框 审核 -->
<el-dialog width="30%" :title="paymentTitle" :visible.sync="paymentShow"> <el-dialog @close="paymentValue = ''" width="30%" :title="paymentTitle" :visible.sync="paymentShow">
<div class="cancel_content"> <div class="cancel_content">
<span>{{ $t('申请理由') }}</span> <span>{{ $t('申请理由') }}</span>
<el-input type="textarea" :rows="6" v-model="paymentValue" :placeholder="$t('请输入取消理由')"></el-input> <el-input type="textarea" :rows="6" v-model="paymentValue" :placeholder="$t('请输入取消理由')"></el-input>
</div> </div>
<span slot="footer" class="dialog-footers"> <span slot="footer" class="dialog-footers">
<el-button type="primary" @click="cancelWriteOffClick()">{{ $t(butTitle) }}</el-button> <el-button type="primary" @click="cancelWriteOffClick()">{{ $t(butTitle) }}</el-button>
<el-button @click="paymentShow = false">{{ $t('取消') }}</el-button> <el-button @click="paymentShow = false; paymentValue = ''">{{ $t('取消') }}</el-button>
</span> </span>
</el-dialog> </el-dialog>
<!-- <commission-payment-details :id="6"></commission-payment-details>--> <!-- <commission-payment-details :id="6"></commission-payment-details>-->
...@@ -230,15 +230,16 @@ export default { ...@@ -230,15 +230,16 @@ export default {
//提交 //提交
cancelWriteOffClick(){ cancelWriteOffClick(){
if(!this.paymentValue) return this.$message.warning(this.$t('请输入理由!')) if(!this.paymentValue) return this.$message.warning(this.$t('请输入理由!'))
let resolve = ()=>{ let resolve = (val = '操作成功')=>{
this.getList(); this.getList();
this.paymentShow = false; this.paymentShow = false;
this.paymentValue = '' this.paymentValue = ''
this.$message.success(this.$t('操作成功!')); this.$message.success(val);
} }
let reject = ()=>{ let reject = ()=>{
this.paymentShow = false; this.paymentShow = false;
this.paymentValue = ''
} }
let p = { let p = {
"paymentId": this.paymentRow.id, "paymentId": this.paymentRow.id,
...@@ -248,31 +249,31 @@ export default { ...@@ -248,31 +249,31 @@ export default {
switch (this.paymentIndex){ switch (this.paymentIndex){
case 1: case 1:
// 反审核佣金付款单 // 反审核佣金付款单
commissionPaymentVerifyCancel(p).then(resolve, reject) commissionPaymentVerifyCancel(p).then(()=>resolve(this.$t('提交佣金付款单反审核成功,请耐心等待审核结果!')), reject)
break; break;
case 2: case 2:
// 佣金付款单核销 // 佣金付款单核销
commissionPaymentVerification(p).then(resolve, reject) commissionPaymentVerification(p).then(() =>resolve(this.$t('提交佣金付款单核销成功,请耐心等待审核结果!!')), reject)
break; break;
case 3: case 3:
// 付款单反核销申请 // 付款单反核销申请
commissionPaymentVerificationCancel(p).then(resolve, reject) commissionPaymentVerificationCancel(p).then(() =>resolve(this.$t('提交佣金付款单反核销申请成功,请耐心等待审核结果!!')), reject)
break; break;
case 4: case 4:
// 取消付款单反审核 // 取消付款单反审核
commissionPaymentCancelFinancePaymentApprovalNo(p).then(resolve, reject) commissionPaymentCancelFinancePaymentApprovalNo(p).then(() =>resolve(this.$t('取消佣金付款单反审核成功!')), reject)
break; break;
case 5: case 5:
// 取消付款单核销 // 取消付款单核销
commissionPaymentCancelFinancePaymentWriteOff(p).then(resolve, reject) commissionPaymentCancelFinancePaymentWriteOff(p).then(() =>resolve(this.$t('取消佣金付款单核销成功!')), reject)
break break
case 6: case 6:
// 取消付款单反核销 // 取消付款单反核销
commissionPaymentCancelFinancePaymentWriteOffNo(p).then(resolve, reject) commissionPaymentCancelFinancePaymentWriteOffNo(p).then(() =>resolve(this.$t('取消佣金付款单反核销成功!')), reject)
break; break;
case 7: case 7:
// 取消付款单审核 // 取消付款单审核
commissionPaymentCancelFinancePaymentApproval(p).then(resolve, reject) commissionPaymentCancelFinancePaymentApproval(p).then(() =>resolve(this.$t('取消佣金付款单审核成功!')), reject)
break; break;
} }
......
...@@ -8,12 +8,12 @@ ...@@ -8,12 +8,12 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('订单号')"> <el-form-item :label="$t('订单号')">
<el-input v-model="queryParams.orderNo"></el-input> <el-input :placeholder="$t('请输入订单号')" v-model="queryParams.orderNo"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('客户')"> <el-form-item :label="$t('客户')">
<el-input v-model="queryParams.customerName"></el-input> <el-input :placeholder="$t('请输入客户')" v-model="queryParams.customerName"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
...@@ -118,7 +118,7 @@ ...@@ -118,7 +118,7 @@
<el-table-column :label="$t('备注')" prop="remark" ></el-table-column> <el-table-column :label="$t('备注')" prop="remark" ></el-table-column>
<el-table-column align="center" :label="$t('操作')"> <el-table-column align="center" :label="$t('操作')">
<template v-slot="{row}"> <template v-slot="{row}">
<el-button v-has-permi="['ecw:commission-payable:funds']" v-if="!row.state" type="text" @click="$router.push({path:'/financial/commission-requestFunds',query:{payableId:row.id}})" >{{$t('请款')}}</el-button> <el-button size="mini" v-has-permi="['ecw:commission-payable:funds']" v-if="!row.state" type="text" @click="$router.push({path:'/financial/commission-requestFunds',query:{payableId:row.id}})" >{{$t('请款')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -154,15 +154,15 @@ export default { ...@@ -154,15 +154,15 @@ export default {
STATE:[ STATE:[
{ {
value:0, value:0,
title:'未付款', title:this.$t('未付款'),
}, },
{ {
value:1, value:1,
title:'付款中', title:this.$t('付款中'),
}, },
{ {
value:2, value:2,
title:'已付款', title:this.$t('已付款'),
} }
], ],
warehouseList:[], warehouseList:[],
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-card> <el-card>
<div slot="header" class="card-title">{{ $t('请款单') }}</div> <div slot="header" class="card-title">{{ $t('佣金请款单') }}{{id ? `-${form.paymentNo}` :''}} </div>
<el-form <el-form
ref="form" ref="form"
:model="form" :model="form"
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
<el-descriptions-item :label="$t('客户的账户名称')" > <el-descriptions-item :label="$t('客户的账户名称')" >
<el-form-item label-width="0" prop="customerBankAccountName"> <el-form-item label-width="0" prop="customerBankAccountName">
<el-select v-model="form.customerBankAccount" > <el-select v-model="form.customerBankAccount" >
<el-option @click.native="getBankInfo(item)" v-for="(item) in bankAccountList" :value="item.baAccountNum" :label="item.baAccountNum + (item.baAccountName)" ></el-option> <el-option @click.native="getBankInfo(item)" v-for="(item) in bankAccountList" :value="item.bankAccount" :label="item.bankAccount + (item.bankName)" ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
...@@ -188,7 +188,7 @@ ...@@ -188,7 +188,7 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
style="padding: 10px; margin-bottom: 10px" style="padding: 10px; margin-bottom: 10px"
>{{ $t('添加未付供应商款项') }} >{{ $t('加未付客户款项') }}
</el-button </el-button
> >
</el-col> </el-col>
...@@ -433,6 +433,7 @@ ...@@ -433,6 +433,7 @@
<el-button @click="hiddenDialog">{{ $t('取消') }}</el-button> <el-button @click="hiddenDialog">{{ $t('取消') }}</el-button>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
...@@ -673,7 +674,7 @@ export default { ...@@ -673,7 +674,7 @@ export default {
if(val){ if(val){
getCustomer(val).then(r => { getCustomer(val).then(r => {
this.form.customerName = r.data.name this.form.customerName = r.data.name
this.bankAccountList = r.data.customerBankAccountBackVOList this.bankAccountList = r.data.customerBankBackVOList
// this.$set(this.form, 'customerBank',r.data.bank ) // this.$set(this.form, 'customerBank',r.data.bank )
// this.$set(this.form, 'customerBankAccount',r.data.bankNumber ) // this.$set(this.form, 'customerBankAccount',r.data.bankNumber )
// this.$set(this.form, 'customerBankAccountName',r.data.name ) // this.$set(this.form, 'customerBankAccountName',r.data.name )
...@@ -697,19 +698,20 @@ export default { ...@@ -697,19 +698,20 @@ export default {
// t && (this.bankData = t.bankList) // t && (this.bankData = t.bankList)
}, },
getBankInfo(val){ getBankInfo(val){
let {baAccountName,baAccountNum,baBankAdd,baBankName,baSwiftCode,baType,status} = val console.log(val,'valbank')
let {accountName,bankAccount,bankAddress,bankName,bankCode,accountType} = val
// this.form.customerAccountType = baType; //账户类型 // this.form.customerAccountType = baType; //账户类型
this.$set(this.form, 'customerAccountType', baType) this.$set(this.form, 'customerAccountType', accountType)
// this.form.customerBank = baBankName; //客户银行 // this.form.customerBank = baBankName; //客户银行
this.$set(this.form, 'customerBank', baBankName) this.$set(this.form, 'customerBank', bankName)
// this.form.customerBankAccount = baAccountNum; // 客户银行账号 // this.form.customerBankAccount = baAccountNum; // 客户银行账号
this.$set(this.form, 'customerBankAccount', baAccountNum) this.$set(this.form, 'customerBankAccount', bankAccount)
// this.form.customerBankAccountName = customerBankAccountName; //客户银行账户名 // this.form.customerBankAccountName = customerBankAccountName; //客户银行账户名
this.$set(this.form, 'customerBankAccountName', baAccountName ) this.$set(this.form, 'customerBankAccountName', accountName)
// this.form.customerBankAddress = customerBankAddress; // 银行地址 // this.form.customerBankAddress = customerBankAddress; // 银行地址
this.$set(this.form, 'customerBankAddress', baBankAdd) this.$set(this.form, 'customerBankAddress', bankAddress)
// this.form.customerBankAddress = customerBankCode; // 银行代码 // this.form.customerBankAddress = customerBankCode; // 银行代码
this.$set(this.form, 'customerBankCode', baSwiftCode) this.$set(this.form, 'customerBankCode', bankCode)
}, },
handleQuery() { handleQuery() {
......
...@@ -7,15 +7,15 @@ ...@@ -7,15 +7,15 @@
<el-descriptions-item label="业务员">{{record.salesmanName}}</el-descriptions-item> <el-descriptions-item label="业务员">{{record.salesmanName}}</el-descriptions-item>
<el-descriptions-item label="付款金额">{{record.totalAmount}}rmb</el-descriptions-item> <el-descriptions-item label="付款金额">{{record.totalAmount}}rmb</el-descriptions-item>
</el-descriptions> </el-descriptions>
<router-link :to="{path:'/financial/commission-requestFunds',query:{lookId: this.id}}"> <router-link :to="{path:'/financial/commission-requestFunds',query:{lookId: this.record.id}}">
<el-button>查看详情</el-button> <el-button type="primary">查看详情</el-button>
</router-link> </router-link>
</div> </div>
</template> </template>
<script> <script>
import {getCommissionPayment} from "@/api/ecw/financial"; import {commissionPaymentGetPaymentApprove, getCommissionPayment} from "@/api/ecw/financial";
import {parseTime} from "../../../../utils/ruoyi"; import {parseTime} from "../../../../utils/ruoyi";
export default { export default {
...@@ -35,9 +35,10 @@ export default { ...@@ -35,9 +35,10 @@ export default {
watch:{ watch:{
id:{ id:{
handler:function (newVal){ handler:function (newVal){
getCommissionPayment({id:newVal}).then(r => { commissionPaymentGetPaymentApprove({id:newVal}).then(r => {
console.log(r.data, '审批') getCommissionPayment({id:r.data.paymentId}).then(res => {
this.record = r.data; this.record = res.data;
})
}) })
}, },
immediate:true, immediate:true,
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-card> <el-card>
<div slot="header" class="card-title">{{ $t('请款单') }}</div> <div slot="header" class="card-title">{{ $t('请款单') }} {{id ? `-${form.paymentNo}` :''}}</div>
<el-form <el-form
ref="form" ref="form"
:model="form" :model="form"
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-card> <el-card>
<div slot="header" class="card-title">{{ $t('付款单详情') }}</div> <div slot="header" class="card-title">{{ $t('付款单详情') }}{{id ? `-${form.paymentNo}` :''}}</div>
<el-form <el-form
ref="form" ref="form"
:model="form" :model="form"
......
...@@ -146,12 +146,12 @@ ...@@ -146,12 +146,12 @@
v-hasPermi="['ecw:paymentVoucher:edit']" type="text">{{ $t('编辑') }} v-hasPermi="['ecw:paymentVoucher:edit']" type="text">{{ $t('编辑') }}
</el-button> </el-button>
<!-- <el-button v-if="[1,3].includes(row.state)" size="mini" v-hasPermi="['ecw:paymentVoucher:process']" type="text" @click="examineClick(scope.row.id)">{{ $t('审核') }}</el-button>--> <!-- <el-button v-if="[1,3].includes(row.state)" size="mini" v-hasPermi="['ecw:paymentVoucher:process']" type="text" @click="examineClick(scope.row.id)">{{ $t('审核') }}</el-button>-->
<el-button v-has-permi="['ecw:paymentVoucher:Unapprove']" type="text" v-if="[1].includes(row.state)" @click="bridgeFn(1, '取消审核',row)"> <el-button size="mini" v-has-permi="['ecw:paymentVoucher:Unapprove']" type="text" v-if="[1].includes(row.state)" @click="bridgeFn(1, '取消审核',row)">
{{ $t('取消审核') }} {{ $t('取消审核') }}
</el-button> </el-button>
<el-button type="text" v-has-permi="['ecw:paymentVoucher:details']" v-if="[7,3,1].includes(row.state)" @click="$router.push({path:'/bpm/process-instance/detail',query:{id:row.bmpId}})" >{{ $t('审核详情') }}</el-button> <el-button size="mini" type="text" v-has-permi="['ecw:paymentVoucher:details']" v-if="[7,3,1,5].includes(row.state)" @click="$router.push({path:'/bpm/process-instance/detail',query:{id:row.bmpId}})" >{{ $t('审核详情') }}</el-button>
<el-button type="text" v-has-permi="['ecw:paymentVoucher:Cancel-De-approval']" v-if="[3].includes(row.state)" @click="bridgeFn(2, '取消付款单反审核',row)" >{{ $t('取消反审核') }}</el-button> <el-button size="mini" type="text" v-has-permi="['ecw:paymentVoucher:Cancel-De-approval']" v-if="[3].includes(row.state)" @click="bridgeFn(2, '取消付款单反审核',row)" >{{ $t('取消反审核') }}</el-button>
<el-button v-has-permi="['ecw:paymentVoucher:Cancel-Write-off']" type="text" v-if="[5].includes(row.state)" @click="bridgeFn(3, '取消付款单核销',row)" >{{ $t('取消核销审核') }}</el-button> <el-button size="mini" v-has-permi="['ecw:paymentVoucher:Cancel-Write-off']" type="text" v-if="[5].includes(row.state)" @click="bridgeFn(3, '取消付款单核销',row)" >{{ $t('取消核销') }}</el-button>
<el-button v-if="[4].includes(row.state)" size="mini" type="text" v-hasPermi="['ecw:paymentVoucher:De-approval']" <el-button v-if="[4].includes(row.state)" size="mini" type="text" v-hasPermi="['ecw:paymentVoucher:De-approval']"
@click="bridgeFn(4, '反审核',row)">{{ $t('反审核') }} @click="bridgeFn(4, '反审核',row)">{{ $t('反审核') }}
...@@ -217,14 +217,14 @@ ...@@ -217,14 +217,14 @@
</div> </div>
</el-dialog> </el-dialog>
<!--对话框 审核 --> <!--对话框 审核 -->
<el-dialog width="30%" :title="examineTitle" :visible.sync="examineShow"> <el-dialog width="30%" @close="cancelReason = ''" :title="examineTitle" :visible.sync="examineShow">
<div class="cancel_content"> <div class="cancel_content">
<span>{{ $t('申请理由') }}</span> <span>{{ $t('申请理由') }}</span>
<el-input type="textarea" :rows="6" v-model="cancelReason" :placeholder="$t('请输入取消理由')"></el-input> <el-input type="textarea" :rows="6" v-model="cancelReason" :placeholder="$t('请输入取消理由')"></el-input>
</div> </div>
<span slot="footer" class="dialog-footers"> <span slot="footer" class="dialog-footers">
<el-button type="primary" @click="cancelWriteOffClick()">{{ $t('提交') }}</el-button> <el-button type="primary" @click="cancelWriteOffClick()">{{ $t('提交') }}</el-button>
<el-button @click="examineShow = false">{{ $t('取消') }}</el-button> <el-button @click="examineShow = false;">{{ $t('取消') }}</el-button>
</span> </span>
</el-dialog> </el-dialog>
...@@ -410,12 +410,12 @@ export default { ...@@ -410,12 +410,12 @@ export default {
if(!this.cancelReason){ if(!this.cancelReason){
return this.$message.warning(this.$t('请输入申请理由!')) return this.$message.warning(this.$t('请输入申请理由!'))
} }
let successFn = () => { let resolve = (val = this.$t('操作成功吗!')) => {
this.getList(); this.getList();
this.$message('取消成功'); this.$message.success(val);
this.examineShow = false; this.examineShow = false;
} }
let loserFn = () => { let reject = () => {
this.examineShow = false; this.examineShow = false;
} }
let {id: paymentId,paymentNo} = this.examineData let {id: paymentId,paymentNo} = this.examineData
...@@ -423,31 +423,31 @@ export default { ...@@ -423,31 +423,31 @@ export default {
switch (this.examineIndex) { switch (this.examineIndex) {
case 1: case 1:
// 取消审核 // 取消审核
cancelFinancePaymentApproval(p).then(successFn,loserFn) cancelFinancePaymentApproval(p).then(()=>resolve(this.$t('取消付款单审核成功!')),reject)
break break
case 2: case 2:
// 取消付款单反审核 // 取消付款单反审核
cancelFinancePaymentApprovalNo(p).then(successFn,loserFn) cancelFinancePaymentApprovalNo(p).then(()=>resolve(this.$t('取消付款单反审核成功!')),reject)
break break
case 3: case 3:
//取消付款单核销 //取消付款单核销
cancelFinancePaymentWriteOffNo(p).then(successFn,loserFn) cancelFinancePaymentWriteOffNo(p).then(()=>resolve(this.$t('取消付款单核销成功!')),reject)
break; break;
case 4: case 4:
// 反审核 // 反审核
paymentVerifyCancel(p).then(successFn,loserFn) paymentVerifyCancel(p).then(()=>resolve(this.$t('提交付款单反审核成功,请耐心等待审核结果!')),reject)
break; break;
case 5: case 5:
// 核销 // 核销
paymentVerification(p).then(successFn,loserFn); paymentVerification(p).then(()=>resolve(this.$t('提交付款单核销成功,请耐心等待审核结果!')),reject);
break; break;
case 6: case 6:
// 反核销 // 反核销
paymentVerificationCancel(p).then(successFn,loserFn) paymentVerificationCancel(p).then(()=>resolve(this.$t('提交付款单反核销成功,请耐心等待审核结果!!')),reject)
break; break;
case 7: case 7:
// 取消反核销 // 取消反核销
paymentCancelFinancePaymentWriteOffNo(p).then(successFn,loserFn) paymentCancelFinancePaymentWriteOffNo(p).then(()=>resolve(this.$t('取消付款单反核销成功!')),reject)
break; break;
......
...@@ -307,8 +307,6 @@ export default { ...@@ -307,8 +307,6 @@ export default {
dateType: [], dateType: [],
loading: "", loading: "",
params: { params: {
page: 1,
rows: 20,
}, },
// 查询参数 // 查询参数
queryParams: { queryParams: {
...@@ -355,7 +353,7 @@ export default { ...@@ -355,7 +353,7 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
// 处理查询参数 // 处理查询参数
let params = { ...this.queryParams }; let params = { ...this.params };
this.addBeginAndEndTime(params, this.dateRangeCreateTime, "createTime"); this.addBeginAndEndTime(params, this.dateRangeCreateTime, "createTime");
// 执行查询 // 执行查询
getReceiptList(params).then((response) => { getReceiptList(params).then((response) => {
...@@ -484,6 +482,7 @@ export default { ...@@ -484,6 +482,7 @@ export default {
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.params = {}
if(this.dateFilter&&this.dateFilter.length>0){ if(this.dateFilter&&this.dateFilter.length>0){
this.queryParams.beginCreateTime = this.dateFilter[0] this.queryParams.beginCreateTime = this.dateFilter[0]
this.queryParams.endCreateTime = this.dateFilter[1] this.queryParams.endCreateTime = this.dateFilter[1]
...@@ -493,6 +492,11 @@ export default { ...@@ -493,6 +492,11 @@ export default {
} }
this.queryParams.pageNo = 1; this.queryParams.pageNo = 1;
for(var key in this.queryParams){
if(this.queryParams[key]){
this.params[key] = this.queryParams[key]
}
}
this.getList(); this.getList();
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
......
...@@ -200,7 +200,7 @@ export default { ...@@ -200,7 +200,7 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const id = row.id; const id = row.id;
this.$modal.confirm(this.$t('是否确认删除供应商编号为{id}的数据项?', {id})).then(function() { this.$modal.confirm(this.$t('是否确认删除提单托运人编号为{id}的数据项?', {id})).then(function() {
return deleteLadingShipper(id); return deleteLadingShipper(id);
}).then(() => { }).then(() => {
this.getList(); this.getList();
...@@ -215,7 +215,7 @@ export default { ...@@ -215,7 +215,7 @@ export default {
params.pageSize = undefined; params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出 // 执行导出
this.$modal.confirm(this.$t('是否确认导出所有供应商数据项?')).then(() => { this.$modal.confirm(this.$t('是否确认导出所有提单托运人数据项?')).then(() => {
this.exportLoading = true; this.exportLoading = true;
return exportLadingShipperExcel(params); return exportLadingShipperExcel(params);
}).then(response => { }).then(response => {
......
...@@ -35,12 +35,12 @@ ...@@ -35,12 +35,12 @@
<el-form-item :label="$t('提单号')" prop="tidanNo"> <el-form-item :label="$t('提单号')" prop="tidanNo">
<el-input v-model="queryParams.tidanNo" :placeholder="$t('提单号')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.tidanNo" :placeholder="$t('提单号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('发货人')" prop="consignorId"> <el-form-item :label="$t('发货人')" prop="consignorKey">
<el-input v-model="queryParams.consignorId" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeId"> <el-form-item :label="$t('收货人')" prop="consigneeKey">
<el-input v-model="queryParams.consigneeId" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('报关方式')" prop="customsType"> <el-form-item :label="$t('报关方式')" prop="customsType">
...@@ -246,15 +246,20 @@ export default { ...@@ -246,15 +246,20 @@ export default {
this.loading = true; this.loading = true;
// 执行查询 // 执行查询
getCargoControlOrderPage(this.combinedQueryParams).then(response => { getCargoControlOrderPage(this.combinedQueryParams).then(response => {
this.list = response.data.list; this.list = []
this.total = response.data.total; // 直接更细数据,可能因为elTable的部分渲染产生bug,比如权限控制异常
this.$nextTick( () => {
this.list = response.data.list;
this.total = response.data.total;
})
this.loading = false; this.loading = false;
}); });
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNo = 1; this.queryParams.page = 1;
this.getList(); this.getList();
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
......
...@@ -42,7 +42,11 @@ ...@@ -42,7 +42,11 @@
<template slot-scope="scope">{{scope.$index + 1}}</template> <template slot-scope="scope">{{scope.$index + 1}}</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('收货人')" prop="consigneeName" /> <el-table-column :label="$t('收货人')" prop="consigneeName" />
<el-table-column :label="$t('收货人电话')" prop="consigneePhone" /> <el-table-column :label="$t('收货人电话')" prop="consigneePhone">
<template slot-scope="{row}">
+{{row.consigneeCountryCode}} {{row.consigneePhone}}
</template>
</el-table-column>
<el-table-column :label="$t('控货箱数')" prop="controlNum"></el-table-column> <el-table-column :label="$t('控货箱数')" prop="controlNum"></el-table-column>
<el-table-column :label="$t('放货箱数')" prop="pickNum"></el-table-column> <el-table-column :label="$t('放货箱数')" prop="pickNum"></el-table-column>
<el-table-column :label="$t('体积') + '(m³)'" prop="pickVolume"></el-table-column> <el-table-column :label="$t('体积') + '(m³)'" prop="pickVolume"></el-table-column>
...@@ -67,7 +71,7 @@ ...@@ -67,7 +71,7 @@
<el-button v-if="scope.row.status == 3" type="danger" size="mini" @click="fallbackIndex=scope.$index">{{$t('反复核')}}</el-button> <el-button v-if="scope.row.status == 3" type="danger" size="mini" @click="fallbackIndex=scope.$index">{{$t('反复核')}}</el-button>
<el-button v-if="scope.row.status == 3" type="success" size="mini" @click="cargoControlPickId=scope.row.id">{{$t('调货')}}</el-button> <el-button v-if="scope.row.status == 3" type="success" size="mini" @click="cargoControlPickId=scope.row.id">{{$t('调货')}}</el-button>
<el-button v-if="[2,4, 5, 6].indexOf(scope.row.status) > -1" type="primary" size="mini" @click="showApprovalDetail(scope.row.id)">{{$t('审核详情')}}</el-button> <el-button v-if="[2,4, 5, 6].indexOf(scope.row.status) > -1" type="primary" size="mini" @click="showApprovalDetail(scope.row.formId)">{{$t('审核详情')}}</el-button>
<el-button v-if="[2,4, 5, 6].indexOf(scope.row.status) > -1" type="danger" size="mini" @click="cancelApproval(scope.row.id)">{{$t('取消审核')}}</el-button> <el-button v-if="[2,4, 5, 6].indexOf(scope.row.status) > -1" type="danger" size="mini" @click="cancelApproval(scope.row.id)">{{$t('取消审核')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
...@@ -181,8 +185,8 @@ export default { ...@@ -181,8 +185,8 @@ export default {
this.loadData() this.loadData()
}, },
// 查看审核详情 // 查看审核详情
showApprovalDetail(id){ showApprovalDetail(formId){
this.$router.push('/bpm/process-instance/detail?id=' + this.getApproval(id, 'formId')) this.$router.push('/bpm/process-instance/detail?id=' + formId)
}, },
// 取消审核 // 取消审核
cancelApproval(id){ cancelApproval(id){
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<p style="padding-bottom:10px;font-size:16px;"> <p style="padding-bottom:10px;font-size:16px;">
{{$t('订单号')}}{{detail.orderNo}} {{$t('订单号')}}{{detail.orderNo}}
&nbsp;&nbsp;&nbsp;{{$t('发货人电话')}}{{detail.consignorVO.countryCode}} {{detail.consignorVO.phone}} &nbsp;&nbsp;&nbsp;{{$t('发货人电话')}}{{detail.consignorVO.countryCode}} {{detail.consignorVO.phone}}
&nbsp;&nbsp;&nbsp;{{$t('提货地点')}}{{objective.titleZh}} &nbsp;&nbsp;&nbsp;{{$t('提货地点')}}{{$l(objective, 'title')}}
<img :src="qrcode" style="margin-left: 10px;width:17mm;vertical-align:middle" /> <img :src="qrcode" style="margin-left: 10px;width:17mm;vertical-align:middle" />
</p> </p>
<div id="table1" width="205mm"> <div id="table1" width="205mm">
...@@ -100,10 +100,14 @@ export default { ...@@ -100,10 +100,14 @@ export default {
return t return t
}, },
objective(){ objective(){
if(this.detail && this.detail.orderObjectiveVO && this.detail.orderObjectiveVO.objective){ return {
titleZh: this.detail.logisticsInfoDto.destTitleZh,
titleEn: this.detail.logisticsInfoDto.destTitleEn
}
/* if(this.detail && this.detail.orderObjectiveVO && this.detail.orderObjectiveVO.objective){
return JSON.parse(this.detail.orderObjectiveVO.objective) return JSON.parse(this.detail.orderObjectiveVO.objective)
} }
return {} return {} */
}, },
items(){ items(){
let arr = [] let arr = []
......
...@@ -38,10 +38,7 @@ ...@@ -38,10 +38,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('储位')" prop="orderLocationBackVOList" > <el-table-column :label="$t('储位')" prop="orderLocationBackVOList" >
<template slot-scope="{row}"> <template slot-scope="{row}">
<warehouse-area-select {{getLocationName(row.orderLocationBackVOList)}}
v-model="row.orderLocationBackVOList"
readonly
:order-id="orderId"></warehouse-area-select>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -96,6 +93,15 @@ export default { ...@@ -96,6 +93,15 @@ export default {
this.getOrderWarehouseIn() this.getOrderWarehouseIn()
}, },
methods:{ methods:{
// 获取储位名称
getLocationName(locationArr){
if(!locationArr || !locationArr.length) return ''
let arr = []
locationArr.forEach(item => {
arr.push(`${item.areaName}${item.locationName || ''}`)
})
return Array.from(new Set(arr)).join(",")
},
closeDialog(){ closeDialog(){
this.show = false this.show = false
this.$emit('close'); this.$emit('close');
......
...@@ -202,10 +202,14 @@ ...@@ -202,10 +202,14 @@
</el-table-column> </el-table-column>
<el-table-column prop="" :label="$t('储位')"> <el-table-column prop="" :label="$t('储位')">
<template slot-scope="{row}"> <template slot-scope="{row}">
<warehouse-area-select <!-- <warehouse-area-select
v-if="row.warehouseInInfoVO"
v-model="row.warehouseInInfoVO.orderLocationBackVOList" v-model="row.warehouseInInfoVO.orderLocationBackVOList"
readonly readonly
:order-id="orderId"></warehouse-area-select> :order-id="orderId"></warehouse-area-select> -->
<template v-if="row.warehouseInInfoVO">
{{getLocationName(row.warehouseInInfoVO.orderLocationMergeVOSet)}}
</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="" :label="$t('快递单号')"> <el-table-column prop="" :label="$t('快递单号')">
...@@ -278,17 +282,26 @@ ...@@ -278,17 +282,26 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="$t('操作日志')" name="five"> <!-- 这个地方v-hasPermi不生效,所以换checkPermi函数检查 -->
<el-tab-pane :label="$t('操作日志')" name="five" v-if="checkPermi(['ecw:order:logs'])">
<el-table :data="logs"> <el-table :data="logs">
<el-table-column :label="$t('时间')"> <el-table-column :label="$t('时间')" width="150">
<template slot-scope="{row}">{{ parseTime(row.createTime) }}</template> <template slot-scope="{row}">{{ parseTime(row.createTime) }}</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作人')" prop="creatorName"> </el-table-column> <el-table-column :label="$t('操作人')" prop="creatorName" width="150"> </el-table-column>
<el-table-column :label="$t('操作人类型')"> <el-table-column :label="$t('操作人类型')" width="100">
<template slot-scope="{row}">{{ row.userType == 1 ? $t('会员') : $t('管理员') }}</template> <template slot-scope="{row}">{{ row.userType == 1 ? $t('会员') : $t('管理员') }}</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作描述')" prop="msg"></el-table-column> <el-table-column :label="$t('操作描述')" prop="msg" width="300"></el-table-column>
<el-table-column :label="$t('备注')" prop="note"></el-table-column> <el-table-column :label="$t('备注')" prop="note">
<template slot-scope="{row}">
<div v-if="row.note">
<div v-for="item in parseLogNote(row.note)">
{{$t('【{name}】从【{orgValue}】修改为【{newValue}', item)}}
</div>
</div>
</template>
</el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
...@@ -378,7 +391,7 @@ import WarehouseDetail from './components/WarehouseDetail'; ...@@ -378,7 +391,7 @@ import WarehouseDetail from './components/WarehouseDetail';
import {getProductBrank} from '@/api/ecw/productBrank' import {getProductBrank} from '@/api/ecw/productBrank'
import { parseTime } from '@/utils/ruoyi'; import { parseTime } from '@/utils/ruoyi';
import WarehouseAreaSelect from "@/components/WarehouseAreaSelect" import WarehouseAreaSelect from "@/components/WarehouseAreaSelect"
import {checkPermi} from '@/utils/permission'
export default { export default {
name: "detail", name: "detail",
components: { components: {
...@@ -488,6 +501,16 @@ export default { ...@@ -488,6 +501,16 @@ export default {
console.log('2023-01-14 23:23 看到此消息则表示代码最新') console.log('2023-01-14 23:23 看到此消息则表示代码最新')
}, },
methods: { methods: {
checkPermi, // 检查权限
// 获取储位名称
getLocationName(locationArr){
if(!locationArr || !locationArr.length) return ''
let arr = []
locationArr.forEach(item => {
arr.push(`${item.areaName}${item.locationName || ''}`)
})
return Array.from(new Set(arr)).join(",")
},
// 显示费用详情 // 显示费用详情
showFeeDetail(row, type){ showFeeDetail(row, type){
this.showFeeDetailDialog = true this.showFeeDetailDialog = true
...@@ -611,7 +634,7 @@ export default { ...@@ -611,7 +634,7 @@ export default {
}, },
// 加载操作日志 // 加载操作日志
loadLogs(){ loadLogs(){
operateLogPage({orderId: this.orderIdDICT_TYPE, page: 1, rows: 10000}).then(res => { operateLogPage({orderId: this.orderId, page: 1, rows: 10000}).then(res => {
this.logs = res.data.list this.logs = res.data.list
}) })
}, },
...@@ -626,6 +649,11 @@ export default { ...@@ -626,6 +649,11 @@ export default {
getOrderWarehouseIn(this.order.id).then(res => { getOrderWarehouseIn(this.order.id).then(res => {
this.orderWarehouseIn = res.data this.orderWarehouseIn = res.data
}) })
},
// 解析日志node字段
parseLogNote(note){
if(!note) return []
return JSON.parse(note)
} }
} }
}; };
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label=""> <el-form-item label="">
<dict-selector :type="DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME" v-model="dateFilterType" defaultable style="width: 150px; margin-right: 5px" /> <dict-selector :type="DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME" :filter="(item) => item.value != 'PickTime'" v-model="dateFilterType" defaultable style="width: 150px; margin-right: 5px" />
<el-date-picker v-model="dateFilter" type="datetimerange" range-separator="-" <el-date-picker v-model="dateFilter" type="datetimerange" range-separator="-"
:start-placeholder="$t('开始日期')" :start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')" :end-placeholder="$t('结束日期')"
......
...@@ -31,7 +31,11 @@ ...@@ -31,7 +31,11 @@
:label="$t('入库货物属性')"> :label="$t('入库货物属性')">
<template v-slot="{row}"> <template v-slot="{row}">
<template v-if="row.warehouseInInfoVO"> <template v-if="row.warehouseInInfoVO">
{{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.feeType" /><br> {{$t('品牌')}}
<!-- 23-03-27 根据需求方要求,按照详情页一样的规则显示 -->
<template v-if="row.brandName">{{row.brandName}}</template>
<dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" />
<!-- <dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.feeType" /> --><br>
{{$t('箱数')}}:{{ row.warehouseInInfoVO.cartonsNum }}<br> {{$t('箱数')}}:{{ row.warehouseInInfoVO.cartonsNum }}<br>
{{$t('体积')}}:{{ row.warehouseInInfoVO.volume }}m³<br> {{$t('体积')}}:{{ row.warehouseInInfoVO.volume }}m³<br>
{{$t('重量')}}:{{ row.warehouseInInfoVO.weight }}Kg {{$t('重量')}}:{{ row.warehouseInInfoVO.weight }}Kg
......
...@@ -162,6 +162,7 @@ ...@@ -162,6 +162,7 @@
<el-table-column :label="$t('储位')" prop="orderLocationBackVOList" width="150px"> <el-table-column :label="$t('储位')" prop="orderLocationBackVOList" width="150px">
<template v-slot="{ row, column, $index }"> <template v-slot="{ row, column, $index }">
<warehouse-area-select <warehouse-area-select
v-if="visible"
v-model="tableData[$index].orderLocationBackVOList" v-model="tableData[$index].orderLocationBackVOList"
:order-id="orderId" :order-id="orderId"
:order-item-id="warehousing.orderItemId" :order-item-id="warehousing.orderItemId"
......
...@@ -153,7 +153,7 @@ ...@@ -153,7 +153,7 @@
<warehouse-area-dialog ref="area" :visible.sync="areaVisible" v-model="form.orderLocationCreateReqVOList" <warehouse-area-dialog ref="area" :visible.sync="areaVisible" v-model="form.orderLocationCreateReqVOList"
:order-id="orderId" :warehouse-id="warehouseId" :is-editing="isEdit"></warehouse-area-dialog> :order-id="orderId" :warehouse-id="warehouseId" :is-editing="isEdit"></warehouse-area-dialog>
<edit-dialog :order="order" :title="title" :order-id="order.orderId" :visible.sync="warehousingVisible" :warehousing="warehousing" :edit="isEdit" :is-jiyun="order.type && order.type.indexOf('1') !== -1"></edit-dialog> <edit-dialog :order="order" :title="title" :order-id="order.orderId" :visible.sync="warehousingVisible" :warehousing="warehousing" :edit="isEdit" :is-jiyun="order.type === 1 || order.type === '1'"></edit-dialog>
<!-- 完成入仓 --> <!-- 完成入仓 -->
<el-dialog <el-dialog
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
<el-table-column :label="$t('入库货物属性')"> <el-table-column :label="$t('入库货物属性')">
<template slot-scope="scope"> <template slot-scope="scope">
<p>{{$t('箱规')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.boxGauge:0}}</p> <p>{{$t('箱规')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.boxGauge:0}}</p>
<p>{{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType" /></p> <p>{{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.feeType" /></p>
<p>{{$t('箱数')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}&nbsp;&nbsp;</p> <p>{{$t('箱数')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}&nbsp;&nbsp;</p>
<p>{{$t('体积')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}CBM&nbsp;&nbsp;</p> <p>{{$t('体积')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}CBM&nbsp;&nbsp;</p>
<p>{{$t('重量')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}KG <p>{{$t('重量')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}KG
......
...@@ -700,7 +700,8 @@ export default { ...@@ -700,7 +700,8 @@ export default {
this.$set(this.form, 'clearancePriceUnit', priceUnit) this.$set(this.form, 'clearancePriceUnit', priceUnit)
this.$set(this.form, 'allPriceUnit', priceUnit) this.$set(this.form, 'allPriceUnit', priceUnit)
}, },
submitForm() { // force 为是否强制提交,在价格过期的时候需要确认后强制提交
submitForm(force = false) {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (!valid) { if (!valid) {
return; return;
...@@ -747,6 +748,20 @@ export default { ...@@ -747,6 +748,20 @@ export default {
} }
} }
// 设置了有效期,且已过期则给提示
if(this.form.validateEndDate && force !== true){
let validateEndDate = new Date(this.form.validateEndDate)
if(validateEndDate.getTime() < Date.now()){
return this.$confirm('您设置的线路价格已过期,确定提交吗?', '提示', {
confirmButtonText: '确认提交',
cancelButtonText: '取消提交',
type: 'warning'
}).then(res => {
this.submitForm(true)
})
}
}
// 修改单条路线 // 修改单条路线
if (this.$route.query.action == 'update') { if (this.$route.query.action == 'update') {
this.loading = true this.loading = true
......
...@@ -752,6 +752,7 @@ export default { ...@@ -752,6 +752,7 @@ export default {
this.$set(this.formData, 'companyTypeArr', this.strToArray(response.data.companyType)) this.$set(this.formData, 'companyTypeArr', this.strToArray(response.data.companyType))
this.$set(this.formData, 'settlementPeriod', response.data.settlementPeriod==0?null:response.data.settlementPeriod) this.$set(this.formData, 'settlementPeriod', response.data.settlementPeriod==0?null:response.data.settlementPeriod)
this.$set(this.formData, 'priceAdvantage', response.data.priceAdvantage==0?null:response.data.priceAdvantage)
this.formData.bankList.forEach(item => { this.formData.bankList.forEach(item => {
item.currency = +item.currency item.currency = +item.currency
}) })
......
...@@ -19,6 +19,17 @@ ...@@ -19,6 +19,17 @@
<el-form-item :label="$t('名称/代码')" prop="keyword"> <el-form-item :label="$t('名称/代码')" prop="keyword">
<el-input v-model="queryParams.keyword" :placeholder="$t('名称/代码')" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.keyword" :placeholder="$t('名称/代码')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('供应商区域')" prop="areaType">
<el-select v-model="queryParams.areaType" placeholder="请选择" clearable="true">
<el-option
v-for="item in areaTypes"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
...@@ -64,7 +75,7 @@ ...@@ -64,7 +75,7 @@
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column fixed="right" :label="$t('操作')" align="center" class-name="small-padding fixed-width"> <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)"
v-hasPermi="['ecw:supplier:query']">{{$t('详情')}}</el-button> v-hasPermi="['ecw:supplier:query']">{{$t('详情')}}</el-button>
...@@ -107,6 +118,12 @@ export default { ...@@ -107,6 +118,12 @@ export default {
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
dateRangeCreateTime: [], dateRangeCreateTime: [],
areaTypes:[
{value:0, label:"国内供应商"},
{value:1, label:"国外供应商"}
],
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<!-- 对话框(添加 / 修改) --> <!-- 对话框(添加 / 修改) -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
<el-upload ref="upload" :limit="1" accept=".jpg, .png, .gif" :auto-upload="false" drag <el-upload ref="upload" :limit="1" accept=".jpg, .png, .gif,.apk" :auto-upload="false" drag
:headers="upload.headers" :action="upload.url" :data="upload.data" :disabled="upload.isUploading" :headers="upload.headers" :action="upload.url" :data="upload.data" :disabled="upload.isUploading"
:on-change="handleFileChange" :on-change="handleFileChange"
:on-progress="handleFileUploadProgress" :on-progress="handleFileUploadProgress"
......
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