Commit db1ed10f authored by Marcus's avatar Marcus

Merge remote-tracking branch 'origin/dev1.6' into dev1.6

parents c51da1d8 1cc46338
......@@ -93,3 +93,14 @@ export function getOrderReportVolume(params){
params
})
}
// 根据运输方式ID获取待排单订单方数
export function getWarehousingVolume(params){
return request({
url: '/ecw/future-box/getWarehousingVolume',
method: 'get',
params
})
}
......@@ -339,7 +339,7 @@ export default {
id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath
},
//付款单审核
//付款单审核-所有审核流程详情组件
finance_payment_approve:{
component: () => import('@/views/ecw/financial/components/PaymentApproval'),
id: this.processInstance.businessKey,
......@@ -351,7 +351,7 @@ export default {
id: this.processInstance.businessKey,
path: this.processInstance.processDefinition?.formCustomViewPath
},
//收款单核销
//收款单核销
finance_receipt_write_off:{
component: () => import('@/views/ecw/financial/components/CollectionWriteoff'),
id: this.processInstance.businessKey,
......@@ -381,6 +381,12 @@ export default {
id: this.processInstance.businessKey,
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())
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 @@
</template>
<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 { getChannelList } from '@/api/ecw/channel';
import { getWarehouseList } from "@/api/ecw/warehouse"
......@@ -334,10 +334,10 @@ export default {
'form.shippingChannelId'(){
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'(){
//在仓 = 已入仓-已封柜
this.$set(this.form, 'warehousingNumber', Decimal(this.form.warehousedNumber).minus(this.form.loadingNumber))
......@@ -378,6 +378,11 @@ export default {
getOrderReportVolume(data).then(res => {
this.$set(this.form, 'orderReportNumber', res.data || 0)
})
// 获得待排单订单方数
getWarehousingVolume(data).then(res => {
this.$set(this.form, 'warehousingNumber', res.data || 0)
})
},
setDefaultVolume(){
this.$set(this.form, 'loadingNumber', 0)
......
......@@ -10,8 +10,8 @@
<el-form-item :label="$t('驳船港')">
<dockSelect v-model="bookingObj.bargePortId" :placeholder="$t('请选择驳船港')" :allDocks="this.$attrs.allDocks" />
</el-form-item>
<el-form-item :label="$t('大船港')">
<dockSelect v-model="bookingObj.bigPortId" :placeholder="$t('请选择大船港')" :allDocks="this.$attrs.allDocks" />
<el-form-item :label="$t('起运港')">
<dockSelect v-model="bookingObj.bigPortId" :placeholder="$t('请选择起运港')" :allDocks="this.$attrs.allDocks" />
</el-form-item>
<el-form-item :label="$t('目的港')">
<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 @@
</el-form-item>
<el-form-item :label="$t('提单号M/BL NO.')" class="two-element">
<el-input v-model="subMaterialObj.blMblNo" :placeholder="$t('请输入提单号')"></el-input>
<el-button type="primary">{{$t('提单确认件')}}</el-button>
</el-form-item>
<el-form-item label="SO NO.">
<el-input v-model="subMaterialObj.soNo" :placeholder="$t('请输入SO NO')"></el-input>
</el-form-item>
<el-form-item :label="$t('装货港')">
<dockSelect v-model="subMaterialObj.startPortId" :placeholder="$t('请选择装货港')" :allDocks="this.$attrs.allDocks" />
<el-form-item :label="$t('起运港')">
<dockSelect v-model="subMaterialObj.startPortId" :placeholder="$t('请选择起运港')" :allDocks="this.$attrs.allDocks" />
</el-form-item>
<el-form-item :label="$t('目的港')">
<dockSelect v-model="subMaterialObj.destPortId" :placeholder="$t('请选择目的港')" :allDocks="this.$attrs.allDocks" />
......@@ -21,7 +20,7 @@
<supplierSelect v-model="subMaterialObj.shipCompanyId" :companyType="'9'" :placeholder="$t('请选择船公司')" :allSupplier="this.$attrs.allSupplier" />
</el-form-item>
<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 :label="$t('收货人')">
<el-input v-model="subMaterialObj.consigneeName"></el-input>
......@@ -78,6 +77,7 @@
import supplierSelect from "./common/supplierSelect.vue";
import dockSelect from "./common/dockSelect.vue";
import userSelect from "./common/userSelect.vue";
import ladingSelect from "./common/ladingSelect.vue";
import { getUnitList } from "@/api/ecw/unit";
import { getCabinetPage } from "@/api/ecw/cabinet";
import { billCreate } from "@/api/ecw/boxSea";
......@@ -90,7 +90,7 @@ import { formatNumberString, constantDict, serviceMsg } from "../utils";
export default {
name: "subMaterial",
inheritAttrs: false,
components: { supplierSelect, dockSelect, userSelect },
components: { supplierSelect, dockSelect, userSelect, ladingSelect },
props: {
shipmentObj: Object,
},
......@@ -121,6 +121,7 @@ export default {
let cabinetItem = cabinetList[index];
if (cabinetItem.id == this.shipmentObj.cabinetId) {
this.cabinetType = cabinetItem.name;
this.$set(this.subMaterialObj,'cbm',cabinetItem.ladingBill)
}
}
});
......@@ -131,7 +132,13 @@ export default {
...oldData,
packageUnit: oldData.packageUnit === 0 ? undefined : oldData.packageUnit,
};
console.log(this.shipmentObj)
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)
},
methods: {
......
<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-column type="index" :label="$t('序号')" />
<el-table-column :label="$t('箱数')" prop="cartonsNum" />
......
......@@ -131,6 +131,10 @@ export default {
},
/** 节点点击 */
nodeClick(currIndex, node) {
// if () {
// this.$message.error(this.$t("没有此操作的权限"));
// return;
// }
if (currIndex > this.currIndex) {
this.$message.error(this.$t("请先完成上一步"));
return;
......
......@@ -26,7 +26,7 @@
</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" />
......@@ -43,6 +43,7 @@ import { getWarehouseList } from "@/api/ecw/warehouse";
import { getSupplierPage } from "@/api/ecw/supplier";
import { getDockPage } from "@/api/ecw/dock";
import { listUser } from "@/api/system/user";
import { getLadingShipperPage } from "@/api/ecw/ladingShipper";
// 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,然后再页面上用$l函数调用
import { seaBaseData } from "./utils";
......@@ -64,6 +65,8 @@ export default {
warehouseList: [],
// 供应商
allSupplier: [],
// 托运人
allLading: [],
// 码头
allDocks: [],
// 用户
......@@ -90,6 +93,10 @@ export default {
return item;
});
});
// 托运人
getLadingShipperPage({ pageNo: "1", pageSize: "10000" }).then(res=>{
this.allLading = res.data.list
})
// 码头
getDockPage({ pageNo: "1", pageSize: "10000" }).then((res) => {
const { data } = res;
......
......@@ -662,7 +662,7 @@ export default {
}
})
this.$set(this.form, 'suitableProdType', this.isAllProduct ? 0 : 1)
let data = Object.assign({}, this.form, {discountDetailedVOs})
......@@ -681,6 +681,7 @@ export default {
if(this.form.type != 1 && !this.isAllProduct && !this.form.prodIds){
return this.$message.error('请选择商品')
}
this.$set(this.form, 'suitableProdType', this.isAllProduct ? 0 : 1)
// 修改的提交
if (data.couponId != null) {
......
<template>
<div style="padding: 20px">
<el-card :title="'客户操作日志'">
<div :style="{padding:customerId ? '0px' : '20px'}">
<el-card style="margin-bottom: 30px" v-show="!customerId" :title="'客户操作日志'">
<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 v-model="queryForm.operator"></el-input></el-descriptions-item>
<el-descriptions-item label="老客户经理"><el-input v-model="queryForm.oldCustomerService"></el-input></el-descriptions-item>
<el-descriptions-item label="客户编号"><el-input v-model="queryForm.number"></el-input></el-descriptions-item>
<el-descriptions-item label="新客户经理"><el-input v-model="queryForm.newCustomerService"></el-input></el-descriptions-item>
<el-descriptions-item label="客户名称"><el-input v-model="queryForm.name"></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-select filterable v-model="queryForm.operator">
<el-option v-for="(item) in allSimplList" :value="item.id" :label="item.nickname" :key="item.id"></el-option>
</el-select>
</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">
......@@ -41,18 +55,18 @@
</el-descriptions-item>
</el-descriptions>
</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="number"></el-table-column>
<el-table-column label="客户名称" prop="name"></el-table-column>
<el-table-column label="新客户经理" prop="newCustomerService">
<template v-slot="{row}">
{{row.newCustomerService ? row.newCustomerService : '/'}}
{{row.newCustomerService ? operatorFn(row.newCustomerService) : '/'}}
</template>
</el-table-column>
<el-table-column label="老客户经理" prop="oldCustomerService">
<template v-slot="{row}">
{{row.oldCustomerService ? row.oldCustomerService : '/'}}
{{row.oldCustomerService ? operatorFn(row.oldCustomerService) : '/'}}
</template>
</el-table-column>
<el-table-column label="操作类型">
......@@ -75,7 +89,7 @@
{{parseTime(row.oldEstimateEnterOpenSeaTime)}}
</template>
</el-table-column>
<el-table-column label="操作">
<el-table-column label="操作">
<template v-slot="{row}">
<el-button type="text" @click="getCustomerLog(row.id)">
详情
......@@ -130,9 +144,16 @@ import {getCustomerOperatelog, getCustomerOperatelogPage} from "@/api/ecw/custom
import {parseTime} from "../../../utils/ruoyi";
import Template from "@/views/cms/template/index.vue";
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 {
name: "customerLog",
props:{
customerId:{
type:[Number,String],
default:null,
}
},
computed: {
DICT_TYPE() {
return DICT_TYPE
......@@ -150,6 +171,9 @@ export default {
listAllSimpl().then(r => {
this.allSimplList = r.data
})
listServiceUser().then(r=>{
this.customerServiceList = r.data;
})
},
data(){
return {
......@@ -160,7 +184,8 @@ export default {
total:0,
show:false,
allSimplList:[],
dataLog:{}
dataLog:{},
customerServiceList:[],
}
},
methods:{
......@@ -173,7 +198,6 @@ export default {
oldCustomerService:null,
newCustomerService:null,
operateType:null,
operator:null,
orderNo:null,
newEstimateEnterOpenSeaTime:null,
......@@ -181,6 +205,7 @@ export default {
beginOldEstimateEnterOpenSeaTime:null,
endNewEstimateEnterOpenSeaTime:null,
endOldEstimateEnterOpenSeaTime:null,
customerId:this.customerId
}
},
getList(){
......
......@@ -57,7 +57,7 @@
</el-select>
</el-form-item>
<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-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
......@@ -575,7 +575,7 @@ export default {
department: null,
creditLevel:null,
country:null,
marketType:null,
resourceType:null,
},
// 表单参数
form: {},
......
......@@ -40,6 +40,7 @@
<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('创建时间')">{{ 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('主营类别')">{{ productType }}</el-descriptions-item>
<el-descriptions-item :label="$t('常提货网点')">{{ pickupPoint }}</el-descriptions-item>
......@@ -427,6 +428,9 @@
</el-table>
<pagination @pagination="getCustomerGrade" :page.sync="getCustomerGradeFrom.pageNo" :limit.sync="getCustomerGradeFrom.pageSize" :total="getCustomerGradeFrom.total" ></pagination>
</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-col>
</el-row>
......@@ -485,13 +489,15 @@ import Template from "@/views/cms/template";
import {getCreditRulePage} from "@/api/customer/creditRule";
import {getCountry} from "@/api/ecw/country"
import {getCurrencyList} from "@/api/ecw/currency";
import customerLog from "@/views/ecw/customer/customerLog.vue";
export default {
name: 'query',
components: {
Template,
CustomerFollow,
CustomerComplaint
CustomerComplaint,
customerLog,
},
created() {
// 获取币种
......
......@@ -8,12 +8,12 @@
<el-row :gutter="30">
<el-col :span="7">
<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-col>
<el-col :span="6">
<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-col>
<el-col :span="6">
......@@ -58,7 +58,7 @@
</el-col>
<el-col :span="6">
<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-col>
<el-col :span="4">
......@@ -249,15 +249,15 @@ export default {
switch (this.paymentIndex){
case 1:
// 反审核佣金付款单
commissionPaymentVerifyCancel(p).then(()=>resolve(this.$t('佣金付款单付款单反审核成功!')), reject)
commissionPaymentVerifyCancel(p).then(()=>resolve(this.$t('提交佣金付款单反审核成功,请耐心等待审核结果!')), reject)
break;
case 2:
// 佣金付款单核销
commissionPaymentVerification(p).then(() =>resolve(this.$t('佣金付款单核销成功')), reject)
commissionPaymentVerification(p).then(() =>resolve(this.$t('提交佣金付款单核销成功,请耐心等待审核结果!')), reject)
break;
case 3:
// 付款单反核销申请
commissionPaymentVerificationCancel(p).then(() =>resolve(this.$t('佣金付款单反核销申请成功')), reject)
commissionPaymentVerificationCancel(p).then(() =>resolve(this.$t('提交佣金付款单反核销申请成功,请耐心等待审核结果!')), reject)
break;
case 4:
// 取消付款单反审核
......
......@@ -8,12 +8,12 @@
<el-row :gutter="20">
<el-col :span="6">
<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-col>
<el-col :span="6">
<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-col>
<el-col :span="6">
......
<template>
<div class="app-container">
<el-card>
<div slot="header" class="card-title">{{ $t('请款单') }}</div>
<div slot="header" class="card-title">{{ $t('佣金请款单') }}{{id ? `-${form.paymentNo}` :''}} </div>
<el-form
ref="form"
:model="form"
......
......@@ -8,7 +8,7 @@
<el-descriptions-item label="付款金额">{{record.totalAmount}}rmb</el-descriptions-item>
</el-descriptions>
<router-link :to="{path:'/financial/commission-requestFunds',query:{lookId: this.record.id}}">
<el-button>查看详情</el-button>
<el-button type="primary">查看详情</el-button>
</router-link>
</div>
</template>
......
<template>
<div class="app-container">
<el-card>
<div slot="header" class="card-title">{{ $t('请款单') }}</div>
<div slot="header" class="card-title">{{ $t('请款单') }} {{id ? `-${form.paymentNo}` :''}}</div>
<el-form
ref="form"
:model="form"
......
<template>
<div class="app-container">
<el-card>
<div slot="header" class="card-title">{{ $t('付款单详情') }}</div>
<div slot="header" class="card-title">{{ $t('付款单详情') }}{{id ? `-${form.paymentNo}` :''}}</div>
<el-form
ref="form"
:model="form"
......
......@@ -435,15 +435,15 @@ export default {
break;
case 4:
// 反审核
paymentVerifyCancel(p).then(()=>resolve(this.$t('取消反审核成功!')),reject)
paymentVerifyCancel(p).then(()=>resolve(this.$t('提交付款单反审核成功,请耐心等待审核结果!')),reject)
break;
case 5:
// 核销
paymentVerification(p).then(()=>resolve(this.$t('付款核销成功')),reject);
paymentVerification(p).then(()=>resolve(this.$t('提交付款单核销成功,请耐心等待审核结果')),reject);
break;
case 6:
// 反核销
paymentVerificationCancel(p).then(()=>resolve(this.$t('付款单反核销成功')),reject)
paymentVerificationCancel(p).then(()=>resolve(this.$t('提交付款单反核销成功,请耐心等待审核结果!')),reject)
break;
case 7:
// 取消反核销
......
......@@ -307,8 +307,6 @@ export default {
dateType: [],
loading: "",
params: {
page: 1,
rows: 20,
},
// 查询参数
queryParams: {
......@@ -355,7 +353,7 @@ export default {
getList() {
this.loading = true;
// 处理查询参数
let params = { ...this.queryParams };
let params = { ...this.params };
this.addBeginAndEndTime(params, this.dateRangeCreateTime, "createTime");
// 执行查询
getReceiptList(params).then((response) => {
......@@ -484,6 +482,7 @@ export default {
},
/** 搜索按钮操作 */
handleQuery() {
this.params = {}
if(this.dateFilter&&this.dateFilter.length>0){
this.queryParams.beginCreateTime = this.dateFilter[0]
this.queryParams.endCreateTime = this.dateFilter[1]
......@@ -493,6 +492,11 @@ export default {
}
this.queryParams.pageNo = 1;
for(var key in this.queryParams){
if(this.queryParams[key]){
this.params[key] = this.queryParams[key]
}
}
this.getList();
},
/** 新增按钮操作 */
......
......@@ -200,7 +200,7 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
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);
}).then(() => {
this.getList();
......@@ -215,7 +215,7 @@ export default {
params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出
this.$modal.confirm(this.$t('是否确认导出所有供应商数据项?')).then(() => {
this.$modal.confirm(this.$t('是否确认导出所有提单托运人数据项?')).then(() => {
this.exportLoading = true;
return exportLadingShipperExcel(params);
}).then(response => {
......
......@@ -35,12 +35,12 @@
<el-form-item :label="$t('提单号')" prop="tidanNo">
<el-input v-model="queryParams.tidanNo" :placeholder="$t('提单号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('发货人')" prop="consignorId">
<el-input v-model="queryParams.consignorId" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" />
<el-form-item :label="$t('发货人')" prop="consignorKey">
<el-input v-model="queryParams.consignorKey" :placeholder="$t('发货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('收货人')" prop="consigneeId">
<el-input v-model="queryParams.consigneeId" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" />
<el-form-item :label="$t('收货人')" prop="consigneeKey">
<el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('报关方式')" prop="customsType">
......@@ -246,15 +246,20 @@ export default {
this.loading = true;
// 执行查询
getCargoControlOrderPage(this.combinedQueryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.list = []
// 直接更细数据,可能因为elTable的部分渲染产生bug,比如权限控制异常
this.$nextTick( () => {
this.list = response.data.list;
this.total = response.data.total;
})
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.queryParams.page = 1;
this.getList();
},
/** 重置按钮操作 */
......
......@@ -42,7 +42,11 @@
<template slot-scope="scope">{{scope.$index + 1}}</template>
</el-table-column>
<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="pickNum"></el-table-column>
<el-table-column :label="$t('体积') + '(m³)'" prop="pickVolume"></el-table-column>
......@@ -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="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>
</template>
</el-table-column>
......@@ -181,8 +185,8 @@ export default {
this.loadData()
},
// 查看审核详情
showApprovalDetail(id){
this.$router.push('/bpm/process-instance/detail?id=' + this.getApproval(id, 'formId'))
showApprovalDetail(formId){
this.$router.push('/bpm/process-instance/detail?id=' + formId)
},
// 取消审核
cancelApproval(id){
......
......@@ -6,7 +6,7 @@
<p style="padding-bottom:10px;font-size:16px;">
{{$t('订单号')}}{{detail.orderNo}}
&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" />
</p>
<div id="table1" width="205mm">
......@@ -100,10 +100,14 @@ export default {
return t
},
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 {}
return {} */
},
items(){
let arr = []
......
......@@ -282,7 +282,8 @@
</el-table-column>
</el-table>
</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-column :label="$t('时间')" width="150">
<template slot-scope="{row}">{{ parseTime(row.createTime) }}</template>
......@@ -390,7 +391,7 @@ import WarehouseDetail from './components/WarehouseDetail';
import {getProductBrank} from '@/api/ecw/productBrank'
import { parseTime } from '@/utils/ruoyi';
import WarehouseAreaSelect from "@/components/WarehouseAreaSelect"
import {checkPermi} from '@/utils/permission'
export default {
name: "detail",
components: {
......@@ -500,6 +501,7 @@ export default {
console.log('2023-01-14 23:23 看到此消息则表示代码最新')
},
methods: {
checkPermi, // 检查权限
// 获取储位名称
getLocationName(locationArr){
if(!locationArr || !locationArr.length) return ''
......
......@@ -17,7 +17,7 @@
<el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<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="-"
:start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')"
......
......@@ -31,7 +31,11 @@
:label="$t('入库货物属性')">
<template v-slot="{row}">
<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.volume }}m³<br>
{{$t('重量')}}:{{ row.warehouseInInfoVO.weight }}Kg
......
......@@ -700,7 +700,8 @@ export default {
this.$set(this.form, 'clearancePriceUnit', priceUnit)
this.$set(this.form, 'allPriceUnit', priceUnit)
},
submitForm() {
// force 为是否强制提交,在价格过期的时候需要确认后强制提交
submitForm(force = false) {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
......@@ -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') {
this.loading = true
......
......@@ -752,6 +752,7 @@ export default {
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, 'priceAdvantage', response.data.priceAdvantage==0?null:response.data.priceAdvantage)
this.formData.bankList.forEach(item => {
item.currency = +item.currency
})
......
......@@ -75,7 +75,7 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</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">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)"
v-hasPermi="['ecw:supplier:query']">{{$t('详情')}}</el-button>
......
......@@ -55,7 +55,7 @@
<!-- 对话框(添加 / 修改) -->
<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"
:on-change="handleFileChange"
: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