Commit ba023a39 authored by 我在何方's avatar 我在何方
parents 8c84f677 3a2c74d6
......@@ -2,7 +2,7 @@
NODE_ENV = 'production'
# 页面标题
VUE_APP_TITLE = 捷道管理系统 - 测试
VUE_APP_TITLE = 捷道管理系统 - 开发
# 捷道管理系统/开发环境
VUE_APP_BASE_API = 'https://api.sit.jdshangmen.com'
......
......@@ -69,4 +69,13 @@ export function getCustomerAvailableCouponList(data){
method: 'post',
data
})
}
// 更新优惠券有效期
export function updateEndtime(data){
return request({
url: '/product/coupon/update/endTime',
method: 'put',
data
})
}
\ No newline at end of file
......@@ -51,6 +51,16 @@ export function getCustomerPage(query) {
params: query
})
}
/**
* 获得部门客户
* */
export function getCustomerDeptPage(query){
return request({
url:'/ecw/customer/deptPage',
method:'get',
params:query
})
}
// 获得客户下拉
export function getCustomerSelect(query) {
......@@ -350,3 +360,22 @@ export function testEnterToOpenSea(customerId) {
params: {customerId}
})
}
/**
* 获取常用提货网点
* */
export function getServiceNetwork(){
return request({
url:'/ecw/node/list',
method:'get',
})
}
//设置空运客户
export function changeCustomerAir(data){
return request({
url:'/ecw/customer/change-customer-air',
method:'put',
data
})
}
......@@ -10,6 +10,14 @@ export function createDeptTarget(data) {
}
// 我的业绩
export function myDeptAchievementByPage(data) {
return request({
url: '/sale/dept-target/myDeptAchievementByPage',
method: 'post',
data: data
})
}
// 我的部门业绩
export function myAchievementByPage(data) {
return request({
url: '/sale/dept-target/myAchievementByPage',
......
......@@ -76,4 +76,20 @@ export function getWareHousedVolume(params){
method: 'get',
params
})
}
\ No newline at end of file
}
// 根据运输方式ID获取异常订单方数
export function getExceptionVolume(params){
return request({
url: '/ecw/future-box/getExceptionVolume',
method: 'get',
params
})
}
// 根据运输方式ID获取自单代报订单方数
export function getOrderReportVolume(params){
return request({
url: '/ecw/future-box/getOrderReportVolume',
method: 'get',
params
})
}
......@@ -123,4 +123,13 @@ export function recovery(id) {
method: 'delete',
params: {id}
})
}
\ No newline at end of file
}
// 获取部门报价单列表
export function offerDeptPage(params) {
return request({
url: '/ecw/offer/dept/page',
method: 'get',
params
})
}
......@@ -505,3 +505,154 @@ export function warehousePictureList(data){
data
})
}
// 获得部门订单分页
export function deptOrderPage(params){
return request({
url: '/ecw/order/dept-order-page',
method: 'GET',
params
})
}
// 获得订单统计
export function orderStatistics(params){
return request({
url: '/ecw/order/statistics',
method: 'GET',
params
})
}
// 获得我的订单统计
export function orderMyStatistics(params){
return request({
url: '/ecw/order/my/statistics',
method: 'GET',
params
})
}
// 获得部门订单统计
export function orderDeptStatistics(params){
return request({
url: '/ecw/order/dept/statistics',
method: 'GET',
params
})
}
// 参数搜索导出订单管理 Excel
export function orderExportSearch(params){
return request({
url: '/ecw/order/export/search',
method: 'GET',
responseType: 'arraybuffer',
params
})
}
// 参数搜索导出我的订单管理 Excel
export function orderExportMySearch(params){
return request({
url: '/ecw/order/export/my/search',
responseType: 'arraybuffer',
method: 'GET',
params
})
}
// 参数搜索导出部门订单管理 Excel
export function orderExportDeptSearch(params){
return request({
url: '/ecw/order/export/dept/search',
method: 'GET',
responseType: 'arraybuffer',
params
})
}
// 参数搜索导出异常订单统计 Excel
export function exportAbnormal(params){
return request({
url: '/ecw/order/export/export-exception',
method: 'get',
params: params,
responseType: 'blob'
})
}
// 参数搜索导出重货单统计 Excel
export function exportHeavyOrder(params){
return request({
url: '/ecw/order/export/export-heavyOrder',
method: 'get',
params: params,
responseType: 'blob'
})
}
// 参数搜索导出退仓单统计统计 Excel
export function exportReturnOrder(params){
return request({
url: '/ecw/order/export/export-returnOrder',
method: 'get',
params: params,
responseType: 'blob'
})
}
// 参数搜索导出售后赔偿金额统计 Excel
export function exportSaleRepay(params){
return request({
url: '/ecw/order/export/export-saleRepay',
method: 'get',
params: params,
responseType: 'blob'
})
}
// 参数搜索导出报关数统计 Excel
export function exportCustomsDatas(params){
return request({
url: '/ecw/order/export/export-customDatas',
method: 'get',
params: params,
responseType: 'blob'
})
}
// 参数搜索导出客户出货量统计 Excel
export function exportShippingDatas(params){
return request({
url: '/ecw/order/export/export-shipDatas',
method: 'get',
params: params,
responseType: 'blob'
})
}
// 参数搜索导出预付运费统计 Excel
export function exportShipFee(params){
return request({
url: '/ecw/order/export/export-shipFee',
method: 'get',
params: params,
responseType: 'blob'
})
}
// 参数搜索导出卸货费统计 Excel
export function exportUnload(params){
return request({
url: '/ecw/order/export/export-excel',
method: 'get',
params: params,
responseType: 'blob'
})
}
......@@ -138,4 +138,14 @@ export function getCondimentsIno(cargoControlPickId){
url: '/ecw/order-cargo-control-pick/seasoning/condiments/info/' + cargoControlPickId,
method: 'get'
})
}
// 参数搜索导出控货订单列表
export function exportCargoControl(params){
return request({
url: '/ecw/order/export/cargo/control/search',
method: 'get',
responseType: 'arraybuffer',
params
})
}
\ No newline at end of file
......@@ -100,4 +100,14 @@ export function getBmpDetailByBusinessId(businessId) {
method: 'get',
params: {businessId}
})
}
// 导出订单异常 Excel
export function exportExcel(params) {
return request({
url: '/ecw/order-exception/export-excel',
method: 'get',
params,
responseType: 'arraybuffer'
})
}
\ No newline at end of file
......@@ -27,13 +27,20 @@ export function listSimpleUsers() {
}
// 获取用户精简信息列表
// 获取客服岗位精简信息列表
export function listServiceUser() {
return request({
url: '/system/user/list-service-user',
method: 'get'
})
}
// 获取用户精简信息列表
export function listAllSimpl(){
return request({
url:'/system/user/list-all-simple',
method:'get',
})
}
// 查询用户详细
export function getUser(userId) {
......
src/assets/images/profile.jpg

79.2 KB | W: | H:

src/assets/images/profile.jpg

12.7 KB | W: | H:

src/assets/images/profile.jpg
src/assets/images/profile.jpg
src/assets/images/profile.jpg
src/assets/images/profile.jpg
  • 2-up
  • Swipe
  • Onion skin
......@@ -48,11 +48,9 @@ export default {
},
'formData.country'(country){
this.$emit('countryChange', country)
this.$set(this.formData, 'province', undefined)
},
'formData.province'(province){
this.$emit('provinceChange', province)
this.$set(this.formData, 'city', '')
}
},
computed:{
......
......@@ -11,6 +11,7 @@
<div class="line">
<div class="label">{{$t('姓名')}}</div>
<div class="value">{{item.contactsName}}</div>
<el-tag v-if="item.isInOpenSea" type="danger" effect="dark">{{$t('')}}</el-tag>
</div>
<div class="line">
<div class="label">{{$t('电话')}}</div>
......
This diff is collapsed.
{
"编号":"编号",
"登录": "登录",
"上传附件": "上传附件",
"不需要": "不需要",
......
......@@ -7,6 +7,7 @@
<div class="right-menu">
<template v-if="device!=='mobile'">
<router-link class="right-menu-item" to="/chat/chat">捷哥</router-link>
<div class="right-menu-item">
<el-image style="width: 22px;height: 22px;cursor: pointer;" :src="helpIcon" @click="tohelp"></el-image>
</div>
......
......@@ -172,7 +172,13 @@ export const constantRoutes = [
component: (resolve) => require(['@/views/ecw/deptTarget/empAchievement'], resolve),
name: '员工业绩',
meta: {title: '员工业绩', activeMenu: '/deptTarget/index'}
}
},
{
path: 'myDeptAchievement',
component: (resolve) => require(['@/views/ecw/deptTarget/myDeptAchievement'], resolve),
name: '我的部门业绩',
meta: {title: '我的部门业绩', activeMenu: '/deptTarget/myDeptAchievement'}
}
]
},
{
......@@ -258,11 +264,18 @@ export const constantRoutes = [
meta: {title: '佣金设置', titleEn:'Commission settings', icon: '', activeMenu: '/customer/customerCommissionInfo'},
props: true,
},
// {
// path: 'edit/:customerId(\\d+)',
// component: (resolve) => import('@/views/ecw/customer/edit'),
// props: true,
// name: 'customerEdit',
// meta: {title:'编辑客户',titleEn:'Edit Customer', icon: ''}
// },
{
path: 'edit/:customerId(\\d+)',
path: 'edit-distribution/:customerId(\\d+)',
component: (resolve) => import('@/views/ecw/customer/edit'),
props: true,
name: 'customerEdit',
name: 'allocatedCustomerEdit',
meta: {title:'编辑客户',titleEn:'Edit Customer', icon: ''}
},
{
......@@ -278,13 +291,13 @@ export const constantRoutes = [
name: 'perfect',
meta: {title: '完善客户',titleEn:'Perfect customers', icon: ''}
},
{
path: 'query/:customerId(\\d+)',
component: (resolve) => import('@/views/ecw/customer/query'),
props: true,
name: 'customerQuery',
meta: {title: '客户详情',titleEn:'Customer details', icon: '', activeMenu: '/customer/customer'}
}
// {
// path: 'query/:customerId(\\d+)',
// component: (resolve) => import('@/views/ecw/customer/query'),
// props: true,
// name: 'customerQuery',
// meta: {title: '客户详情',titleEn:'Customer details', icon: '', activeMenu: '/customer/customer'}
// }
]
},
{
......
......@@ -117,6 +117,7 @@ export const DICT_TYPE = {
ECW_CANCEL_PICK_TYPE: 'cancel_pick_type', // 取消放货类型
ECW_CUSTOMER_RESOURCE_TYPE: 'customer_resource_type', // 客户资源类型
ECW_CUSTOMER_TRANSPORT_TYPE: 'customer_transport_type', // 客户出货渠道(跟运输方式相同,但是显示全部)
ECW_ORDER_APPROVAL_TYPE: 'order_approval_type', // 订单相关审批类型
//--------ecw---------
CUSTOMER_STATUS: 'customer_status',
CUSTOMER_SOURCE: 'customer_source',
......
......@@ -84,7 +84,7 @@ export function addDateRange(params, dateRange, propName) {
* 大小为 2 的数组,每个时间为 yyyy-MM-dd 格式
* @param propName 加入的参数名,可以为空
*/
export function addBeginAndEndTime(params, dateRange, propName) {
export function addBeginAndEndTime(params, dateRange, propName,isTime = true) {
// 必须传入参数
if (!dateRange) {
return params;
......@@ -97,10 +97,10 @@ export function addBeginAndEndTime(params, dateRange, propName) {
}
// 设置参数
if (dateRange[0]) {
params['begin' + propName] = dateRange[0] + ' 00:00:00';
params['begin' + propName] = dateRange[0] + (isTime ? ' 00:00:00':'');
}
if (dateRange[1]) {
params['end' + propName] = dateRange[1] + ' 23:59:59';
params['end' + propName] = dateRange[1] + (isTime ? ' 23:59:59' : '');
}
return params;
}
......
......@@ -96,7 +96,7 @@ export default {
},
/** 关闭按钮 */
close() {
this.$tab.closeOpenPage({ path: "/bpm/manager/model" });
this.$tab.closeOpenPage({ path: "/manager/model" });
},
}
};
......
......@@ -340,7 +340,7 @@ export default {
path: this.processInstance.processDefinition?.formCustomViewPath
},
}
console.log(this.processInstance.processDefinition.formCustomViewPath.trim())
console.log('formCustomViewPath', this.processInstance.processDefinition.formCustomViewPath.trim())
return map[this.processInstance.processDefinition.formCustomViewPath.trim()]
}
},
......
......@@ -33,8 +33,8 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column :label="$t('流程编号')" align="center" prop="processInstance.id" width="320"/>
<el-table-column :label="$t('流程名称')" align="center" prop="processInstance.name" width="320"/>
<el-table-column :label="$t('流程编号')" align="center" prop="processInstance.id" width="220"/>
<el-table-column :label="$t('流程名称')" align="center" prop="processInstance.name" width="220"/>
<el-table-column :label="$t('流程分类')" align="center" prop="category">
<template slot-scope="scope">
......@@ -66,7 +66,7 @@
<span>{{ parseTime(scope.row.endTime) }}</span>
</template>
</el-table-column> -->
<el-table-column :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width">
<el-table-column :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width" width="150">
<template slot-scope="scope">
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleCancel(scope.row)"
v-hasPermi="['bpm:task:update']">{{ $t('取消') }}
......
<template>
<iframe src="https://chat.groupage.cn/" class="iframe"></iframe>
</template>
<style>
.iframe{
width: 100%;
height: calc(100vh - 84px);
border: none;
}
</style>
......@@ -50,13 +50,13 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['shipment:box:create']">{{$t('出货安排')}}
v-hasPermi="['shipment:box:create:air']">{{$t('出货安排')}}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
:loading="exportLoading"
v-hasPermi="['shipment:box:export']">{{$t('导出')}}
v-hasPermi="['shipment:box:export:air']">{{$t('导出')}}
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
......
......@@ -63,17 +63,27 @@
{{getShipChannelName(row.shippingChannelId)}}
</template>
</el-table-column>
<el-table-column :label="$t('待入仓方数')" align="center" prop="readyWarehousingNumber">
<el-table-column :label="$t('待入仓订单方数')" align="center" prop="readyWarehousingNumber">
<template slot-scope="{row}">
{{row.readyWarehousingNumber || 0}}
</template>
</el-table-column>
<el-table-column :label="$t('已入仓方数')" align="center" prop="warehousedNumber">
<el-table-column :label="$t('已入仓订单方数')" align="center" prop="warehousedNumber">
<template slot-scope="{row}">
{{row.warehousedNumber || 0}}
</template>
</el-table-column>
<el-table-column :label="$t('在仓方数')" align="center" prop="warehousingNumber" >
<el-table-column :label="$t('异常订单方数')" align="center" prop="exceptionNumber">
<template slot-scope="{row}">
{{row.exceptionNumber || 0}}
</template>
</el-table-column>
<el-table-column :label="$t('待排单订单方数')" align="center" prop="warehousingNumber">
<template slot-scope="{row}">
{{row.warehousingNumber || 0}}
</template>
</el-table-column>
<el-table-column :label="$t('自单代报订单方数')" align="center" prop="orderReportNumber" >
<template slot-scope="{row}">
{{row.warehousingNumber || 0}}
</template>
......@@ -133,15 +143,21 @@
<el-option v-for="item in channelList" :label="$l(item, 'name')" :value="item.channelId" :key="item.channelId"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('待入仓方数')">
<el-form-item :label="$t('待入仓订单方数')">
{{form.readyWarehousingNumber}} m³
</el-form-item>
<el-form-item :label="$t('已入仓方数')">
<el-form-item :label="$t('已入仓订单方数')">
{{form.warehousedNumber}} m³
</el-form-item>
<el-form-item :label="$t('在仓方数')">
<el-form-item :label="$t('异常订单方数')">
{{form.exceptionNumber}} m³
</el-form-item>
<el-form-item :label="$t('待排单订单方数')">
{{form.warehousingNumber}} m³
</el-form-item>
<el-form-item :label="$t('自单代报订单方数')">
{{form.orderReportNumber}} m³
</el-form-item>
<el-form-item :label="$t('已装柜仓数')">
{{form.loadingNumber}} m³
</el-form-item>
......@@ -174,7 +190,7 @@
</template>
<script>
import { createFutureBox, updateFutureBox, deleteFutureBox, getFutureBox, getFutureBoxPage, exportFutureBoxExcel, getBoxedVolume, getToBeWareHousedVolume,getWareHousedVolume } from "@/api/ecw/futureBox";
import { createFutureBox, updateFutureBox, deleteFutureBox, getFutureBox, getFutureBoxPage, exportFutureBoxExcel, getBoxedVolume, getToBeWareHousedVolume,getWareHousedVolume,getExceptionVolume, getOrderReportVolume} from "@/api/ecw/futureBox";
import {getCabinetPage} from "@/api/ecw/cabinet";
import { getChannelList } from '@/api/ecw/channel';
import { getWarehouseList } from "@/api/ecw/warehouse"
......@@ -211,7 +227,9 @@ export default {
readyWarehousingNumber: null,
warehousedNumber: null,
warehousingNumber: null,
exceptionNumber: null,
loadingNumber: null,
orderReportNumber: null,
futureNumber: null,
gpNumber: null,
hqNumber: null,
......@@ -352,12 +370,22 @@ export default {
getWareHousedVolume(data).then(res => {
this.$set(this.form, 'warehousedNumber', res.data || 0)
})
// 获得异常订单方数
getExceptionVolume(data).then(res => {
this.$set(this.form, 'exceptionNumber', res.data || 0)
})
// 获得自单代报订单方数
getOrderReportVolume(data).then(res => {
this.$set(this.form, 'orderReportNumber', res.data || 0)
})
},
setDefaultVolume(){
this.$set(this.form, 'loadingNumber', 0)
this.$set(this.form, 'readyWarehousingNumber', 0)
this.$set(this.form, 'warehousedNumber', 0)
this.$set(this.form, 'warehousingNumber', 0)
this.$set(this.form, 'exceptionNumber',0)
this.$set(this.form,'orderReportNumber',0)
},
/** 查询列表 */
getList() {
......@@ -387,7 +415,9 @@ export default {
readyWarehousingNumber: undefined,
warehousedNumber: undefined,
warehousingNumber: undefined,
exceptionNumber: undefined,
loadingNumber: undefined,
orderReportNumber: undefined,
futureNumber: undefined,
gpNumber: undefined,
hqNumber: undefined,
......
......@@ -114,31 +114,31 @@
</el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope">
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)" style="marginRight:10px;">
<el-dropdown trigger="click" v-hasPermi="['shipment:box:action:sea','shipment:box:action:error','shipment:box:action:cost','shipment:box:action:editLadingBill']" @command="(command)=>handleCommand(scope.row, command)" style="marginRight:10px;">
<el-button type="primary">
{{$t('操作')}}<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<!-- <el-dropdown-item :disabled="scope.row.ldStatus>=46" command="edit">{{$t('编辑')}}</el-dropdown-item> -->
<el-dropdown-item command="sea">{{$t('操作-海运')}}</el-dropdown-item>
<el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">{{$t('费用登记')}}</el-dropdown-item>
<el-dropdown-item command="sea" v-hasPermi="['shipment:box:action:sea']">{{$t('操作-海运')}}</el-dropdown-item>
<el-dropdown-item command="error" v-hasPermi="['shipment:box:action:error']">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost" v-hasPermi="['shipment:box:action:cost']">{{$t('费用登记')}}</el-dropdown-item>
<!-- <el-dropdown-item command="delete">{{$t('删除')}}</el-dropdown-item> -->
<el-dropdown-item :disabled="scope.row.ldStatus<46" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.ldStatus<46" command="editLadingBill" v-hasPermi="['shipment:box:action:editLadingBill']">{{$t('编辑提货单')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)" v-hasPermi="['shipment:box:download:downloadPreloadGoodsList','shipment:box:download:downloadLoadGoodsList','shipment:box:download:downloadReceivableList','shipment:box:download:downloadAgentListFiles','shipment:box:download:downloadSoncapFiles','shipment:box:download:zipDownload','shipment:box:download:downloadLadingCopy']">
<el-button type="primary">
{{$t('下载')}}<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="downloadPreloadGoodsList">{{$t('预装单')}}</el-dropdown-item>
<el-dropdown-item command="downloadLoadGoodsList">{{$t('已装单')}}</el-dropdown-item>
<el-dropdown-item command="downloadReceivableList">{{$t('应收汇总表')}}</el-dropdown-item>
<el-dropdown-item command="downloadAgentListFiles">agent list</el-dropdown-item>
<el-dropdown-item command="downloadSoncapFiles">soncap</el-dropdown-item>
<el-dropdown-item command="zipDownload">{{$t('提货单')}}</el-dropdown-item>
<el-dropdown-item command="downloadLadingCopy">{{$t('提单Copy')}}</el-dropdown-item>
<el-dropdown-item command="downloadPreloadGoodsList" v-hasPermi="['shipment:box:download:downloadPreloadGoodsList']">{{$t('预装单')}}</el-dropdown-item>
<el-dropdown-item command="downloadLoadGoodsList" v-hasPermi="['shipment:box:download:downloadLoadGoodsList']">{{$t('已装单')}}</el-dropdown-item>
<el-dropdown-item command="downloadReceivableList" v-hasPermi="['shipment:box:download:downloadReceivableList']">{{$t('应收汇总表')}}</el-dropdown-item>
<el-dropdown-item command="downloadAgentListFiles" v-hasPermi="['shipment:box:download:downloadAgentListFiles']">agent list</el-dropdown-item>
<el-dropdown-item command="downloadSoncapFiles" v-hasPermi="['shipment:box:download:downloadSoncapFiles']">soncap</el-dropdown-item>
<el-dropdown-item command="zipDownload" v-hasPermi="['shipment:box:download:zipDownload']">{{$t('提货单')}}</el-dropdown-item>
<el-dropdown-item command="downloadLadingCopy" v-hasPermi="['shipment:box:download:downloadLadingCopy']">{{$t('提单Copy')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
......@@ -230,7 +230,7 @@ export default {
{ value: "3", label: this.$t("起运时间") },
{ value: "4", label: this.$t("到港时间") },
{ value: "5", label: this.$t("清关时间") },
{ value: "6", label: this.$t("提货时间") },
{ value: "6", label: this.$t("卸柜时间") },
],
// 遮罩层
loading: true,
......
......@@ -51,11 +51,11 @@
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['shipment:box:create']">{{$t('出货安排')}}
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['shipment:box:create:seaAir']">{{$t('出货安排')}}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" v-hasPermi="['shipment:box:export']">{{$t('导出')}}
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" v-hasPermi="['shipment:box:export:seaAir']">{{$t('导出')}}
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
......@@ -106,31 +106,31 @@
</el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope">
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)" style="marginRight:10px;">
<el-dropdown trigger="click" v-hasPermi="['shipment:seaAir:action:edit','shipment:seaAir:action:sea','shipment:seaAir:action:error','shipment:seaAir:action:cost','shipment:seaAir:action:delete','shipment:seaAir:action:editLadingBill']" @command="(command)=>handleCommand(scope.row, command)" style="marginRight:10px;">
<el-button type="primary">
{{$t('操作')}}<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :disabled="scope.row.ldStatus>=46" command="edit">{{$t('编辑')}}</el-dropdown-item>
<el-dropdown-item command="seaAir">{{$t('操作')}}-{{$t('海空联运')}}</el-dropdown-item>
<el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">{{$t('费用登记')}}</el-dropdown-item>
<el-dropdown-item command="delete">{{$t('删除')}}</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.ldStatus<46" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.ldStatus>=46" command="edit" v-hasPermi="['shipment:seaAir:action:edit']">{{$t('编辑')}}</el-dropdown-item>
<el-dropdown-item command="seaAir" v-hasPermi="['shipment:seaAir:action:seaAir']">{{$t('海空联运')}}</el-dropdown-item>
<el-dropdown-item command="error" v-hasPermi="['shipment:seaAir:action:error']">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost" v-hasPermi="['shipment:seaAir:action:cost']">{{$t('费用登记')}}</el-dropdown-item>
<el-dropdown-item command="delete" v-hasPermi="['shipment:seaAir:action:delete']">{{$t('删除')}}</el-dropdown-item>
<el-dropdown-item :disabled="scope.row.ldStatus<46" command="editLadingBill" v-hasPermi="['shipment:seaAir:action:editLadingBill']">{{$t('编辑提货单')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)" v-hasPermi="['shipment:seaAir:download:downloadPreloadGoodsList','shipment:seaAir:download:downloadLoadGoodsList','shipment:seaAir:download:downloadReceivableList','shipment:seaAir:download:downloadAgentListFiles','shipment:seaAir:download:downloadSoncapFiles','shipment:seaAir:download:zipDownload','shipment:seaAir:download:downloadLadingCopy']">
<el-button type="primary">
{{$t('下载')}}<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="downloadPreloadGoodsList">{{$t('预装单')}}</el-dropdown-item>
<el-dropdown-item command="downloadLoadGoodsList">{{$t('已装单')}}</el-dropdown-item>
<el-dropdown-item command="downloadReceivableList">{{$t('应收汇总表')}}</el-dropdown-item>
<el-dropdown-item command="downloadAgentListFiles">agent list</el-dropdown-item>
<el-dropdown-item command="downloadSoncapFiles">soncap</el-dropdown-item>
<el-dropdown-item command="zipDownload">{{$t('提货单')}}</el-dropdown-item>
<el-dropdown-item command="downloadLadingCopy">{{$t('提单Copy')}}</el-dropdown-item>
<el-dropdown-item command="downloadPreloadGoodsList" v-hasPermi="['shipment:seaAir:download:downloadPreloadGoodsList']">{{$t('预装单')}}</el-dropdown-item>
<el-dropdown-item command="downloadLoadGoodsList" v-hasPermi="['shipment:seaAir:download:downloadLoadGoodsList']">{{$t('已装单')}}</el-dropdown-item>
<el-dropdown-item command="downloadReceivableList" v-hasPermi="['shipment:seaAir:download:downloadReceivableList']">{{$t('应收汇总表')}}</el-dropdown-item>
<el-dropdown-item command="downloadAgentListFiles" v-hasPermi="['shipment:seaAir:download:downloadAgentListFiles']">agent list</el-dropdown-item>
<el-dropdown-item command="downloadSoncapFiles" v-hasPermi="['shipment:seaAir:download:downloadSoncapFiles']">soncap</el-dropdown-item>
<el-dropdown-item command="zipDownload" v-hasPermi="['shipment:seaAir:download:zipDownload']">{{$t('提货单')}}</el-dropdown-item>
<el-dropdown-item command="downloadLadingCopy" v-hasPermi="['shipment:seaAir:download:downloadLadingCopy']">{{$t('提单Copy')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
......@@ -222,7 +222,7 @@ export default {
{ value: "3", label: this.$t("起运时间") },
{ value: "4", label: this.$t("到港时间") },
{ value: "5", label: this.$t("清关时间") },
{ value: "6", label: this.$t("提货时间") },
{ value: "6", label: this.$t("卸柜时间") },
],
// 遮罩层
loading: true,
......
......@@ -182,6 +182,7 @@ export default {
const imgWidth = canvas.width
const imgHeight = canvas.height
console.log(imgHeight, imgWidth)
let _w = 595.28;
let _h = 595.28/imgWidth*imgHeight;
if(_h>841.89){
......@@ -194,12 +195,13 @@ export default {
return Promise.reject() */
let form = new FormData()
let file = this.selfNo + '-' + this.currRow.tidanNo + '.pdf'
form.append('file', new File([doc.output('arraybuffer')], file, {type: 'application/pdf'}))
form.append('path', `admin/shipment/${this.selfNo}/pdf/${file}`) // 最前面不能有/,否则返回的url会有两个/
/* let blob = new Blob([doc.output('arraybuffer')], {type: "application/pdf"})
FileSaver.saveAs(blob, file);
return */
FileSaver.saveAs(blob, file);
return */
return uploadFile(form)
}).then(res => {
return this.submit(res.data)
......
......@@ -6,9 +6,9 @@
<h2>{{$t('出货详情')}}</h2>
<div>
<!-- <el-button size="small" @click="handleCommand('edit')">{{$t('编辑')}}</el-button> -->
<el-button size="small" @click="handleCommand('router')">{{$t('操作')}}</el-button>
<el-button type="primary" size="small" @click="handleCommand('error')">{{$t('异常登记')}}</el-button>
<el-button type="primary" size="small" @click="handleCommand('cost')">{{$t('费用登记')}}</el-button>
<el-button size="small" v-hasPermi="['shipment:box:action:sea']" @click="handleCommand('router')">{{$t('操作')}}</el-button>
<el-button type="primary" v-hasPermi="['shipment:box:action:error']" size="small" @click="handleCommand('error')">{{$t('异常登记')}}</el-button>
<el-button type="primary" v-hasPermi="['shipment:box:action:cost']" size="small" @click="handleCommand('cost')">{{$t('费用登记')}}</el-button>
<!-- <el-button type="danger" size="small" @click="handleCommand('delete')">{{$t('删除')}}</el-button> -->
</div>
</div>
......@@ -56,8 +56,8 @@
{{getSectionInfo}}
</p>
<div style="margin-left:30px;">
<el-button type="primary" size="small" @click="()=>updateStatus('selected')">{{$t('更新所选订单状态')}}</el-button>
<el-button type="primary" size="small" @click="()=>updateStatus('all')">{{$t('更新全部订单状态')}}</el-button>
<el-button type="primary" v-hasPermi="['shipment:box:order:select']" size="small" @click="()=>updateStatus('selected')">{{$t('更新所选订单状态')}}</el-button>
<el-button type="primary" v-hasPermi="['shipment:box:order:all']" size="small" @click="()=>updateStatus('all')">{{$t('更新全部订单状态')}}</el-button>
</div>
<div class="document-status">
<p>{{$t('单证状态')}}</p>
......@@ -176,7 +176,7 @@
<el-table-column prop="title" :label="$t('文件类型')"></el-table-column>
<el-table-column prop="" :label="$t('下载链接')">
<template slot-scope="scope">
<a v-if="scope.row.serviceName" href="javascript:void(0)" @click="downloadDetailFile(scope.row)">{{$t('下载')}}</a>
<a v-if="scope.row.serviceName" href="javascript:void(0)" @click="downloadDetailFile(scope.row)" v-hasPermi="[`${scope.row.hasPermi}`]">{{$t('下载')}}</a>
<div v-else>{{$t('未完成')}}</div>
</template>
</el-table-column>
......@@ -298,24 +298,27 @@ export default {
costDetail: {},
// 下载
downloadList: [
{ title: this.$t("预装单"), serviceName: "downloadPreloadGoodsList" },
{ title: this.$t("已装单"), serviceName: "downloadLoadGoodsList" },
{ title: this.$t("应收汇总表"), serviceName: "downloadReceivableList" },
{ title: this.$t("预装单"), serviceName: "downloadPreloadGoodsList", hasPermi: "shipment:box:download:downloadPreloadGoodsList" },
{ title: this.$t("已装单"), serviceName: "downloadLoadGoodsList", hasPermi: "shipment:box:download:downloadLoadGoodsList" },
{ title: this.$t("应收汇总表"), serviceName: "downloadReceivableList", hasPermi: "shipment:box:download:downloadReceivableList" },
{
title: this.$t("提货单"),
serviceName: "zipDownload",
fileFormat: "zip",
hasPermi: "shipment:box:download:zipDownload"
},
{
title: "agent list",
serviceName: "downloadAgentListFiles",
type: "url",
hasPermi: "shipment:box:download:downloadAgentListFiles"
},
{ title: "soncap", serviceName: "downloadSoncapFiles", type: "url" },
{ title: "soncap", serviceName: "downloadSoncapFiles", type: "url", hasPermi: "shipment:box:download:downloadSoncapFiles" },
{
title: this.$t("提单Copy"),
serviceName: "downloadLadingCopy",
type: "url",
hasPermi: "shipment:box:download:downloadLadingCopy"
},
],
// 选中行
......
......@@ -38,7 +38,7 @@
<el-row>
<el-col :span="12">
<el-form-item :label="$t('预计提单补料时间')">
<el-form-item :label="$t('补料时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.ladingBillTime"></el-date-picker>
</el-form-item>
</el-col>
......@@ -51,7 +51,7 @@
<el-row>
<el-col :span="12">
<el-form-item :label="$t('预计报关时间')">
<el-form-item :label="$t('VGM提交时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.customsTime"></el-date-picker>
</el-form-item>
</el-col>
......@@ -64,7 +64,7 @@
<el-row>
<el-col :span="12">
<el-form-item :label="$t('预计截关时间')">
<el-form-item :label="$t('截关时间')">
<el-date-picker type="datetime" :placeholder="$t('请选择日期')" value-format="yyyy-MM-dd HH:mm:ss" v-model="bookingObj.cutOffTime"></el-date-picker>
</el-form-item>
</el-col>
......
......@@ -229,6 +229,7 @@
<p>{{$t('外部仓')}}</p>
</div>
<div class="table-button">
<el-button v-if="item.relateOrderList" type="primary" size="small" style="margin-right: 20px;" @click="getRelationOrder(item)">{{$t('关联订单')}}</el-button>
<el-dropdown trigger="click" @command="(command)=>handleGoods('all',item,command)">
<el-button type="success" size="small" :disabled="isAudit">{{$t('预装全部')}}</el-button>
<el-dropdown-menu slot="dropdown" v-if="preList.sectionGoodList">
......@@ -316,6 +317,15 @@
<el-button type="primary" @click="onSubmit">{{$t('提交申请')}}</el-button>
</div>
</el-row>
<!-- 关联订单弹窗 -->
<el-dialog :title="relationOrderListDialog.title" :visible.sync="relationOrderListDialog.visible" width="30%" append-to-body>
<el-row v-for="(item,index) in relationOrderListDialog.data" :key="item.id">
{{index+1}}. {{item.orderNo}}
</el-row>
<el-row style="margin-top: 10px;text-align: center;">
<el-button type="primary" @click="relationOrderListDialog.visible = false">{{$t('关闭窗口')}}</el-button>
</el-row>
</el-dialog>
</div>
</template>
......@@ -406,6 +416,13 @@ export default {
selectedUsers: [],
// 智慧预装
smartInstall: 1,
//关联订单
relationOrderListDialog: {
title: '',
visible: false,
data: []
},
};
},
computed: {
......@@ -491,8 +508,19 @@ export default {
this.total = data.dataList?.total ?? 0;
this.unloadStatistics = data.unloadStatistics ?? {};
this.toBePreLoading = false;
if(this.toBePreList.length == 0&&this.total!=0){
--this.pageParam.pageNo
this.getPreLoad()
}
});
},
/**查看关联订单 */
getRelationOrder(item) {
console.log(item)
this.relationOrderListDialog.title = item.orderNo+'关联订单'
this.relationOrderListDialog.visible = true
this.relationOrderListDialog.data = item.relateOrderList
},
/** 搜索按钮操作 */
handleQuery(type) {
this.pageParam.pageNo = 1;
......@@ -602,7 +630,7 @@ export default {
.then((_) => {
deleteSection(part.id).then((res) => {
serviceMsg(res, this).then(() => {
this.getSecGoods();
this.queryAllData();
});
});
})
......@@ -635,7 +663,9 @@ export default {
});
});
})
.catch((_) => {});
.catch((_) => {
this.queryAllData();
});
} else {
serviceMsg(res, this).then(() => {
this.queryAllData();
......@@ -655,7 +685,9 @@ export default {
});
});
})
.catch((_) => {});
.catch((_) => {
this.queryAllData();
});
}
});
} else {
......@@ -695,7 +727,6 @@ export default {
},
/* 查询所有数据 */
queryAllData() {
this.pageParam.pageNo = 1;
this.getSecGoods();
this.getPreLoad();
},
......
......@@ -236,7 +236,7 @@ export default {
this.exportLoading = true;
return exportBusiPwdExcel(params);
}).then(response => {
this.$download.excel(response, '${table.classComment}.xls');
this.$download.excel(response, '导出数据.xls');
this.exportLoading = false;
}).catch(() => {});
}
......
......@@ -50,6 +50,13 @@
{{ scope.row.weight }} Kg
</template>
</el-table-column>
<el-table-column label="提单补料(CBM)" align="center" prop="ladingBill">
<template slot-scope="scope">
{{ scope.row.ladingBill }} CBM
</template>
</el-table-column>
<el-table-column :label="$t('是否启用')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
......@@ -75,16 +82,20 @@
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item :label="$t('柜型名称')" prop="name">
<el-input v-model="form.name" :placeholder="$t('请输入柜型名称')" />
</el-form-item>
<el-form-item label="体积(m³)" prop="volume">
<el-input v-model="form.volume" :placeholder="$t('请输入体积')" />
<el-input v-model.trim="form.volume" @input="limitInput($event,'volume')" :placeholder="$t('请输入体积')" />
</el-form-item>
<el-form-item label="重量(Kg)" prop="weight">
<el-input v-model="form.weight" :placeholder="$t('请输入重量')" />
<el-input v-model.trim="form.weight" @input="limitInput($event,'weight')" :placeholder="$t('请输入重量')" />
</el-form-item>
<el-form-item label="提单补料(CBM)" prop="ladingBill">
<el-input v-model.trim="form.ladingBill" @input="limitInput($event,'ladingBill')" :placeholder="$t('请输入提单补料')" />
</el-form-item>
<el-form-item :label="$t('是否启用')" prop="status">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in this.getDictDatas(DICT_TYPE.COMMON_STATUS)"
......@@ -135,7 +146,11 @@ export default {
status: null,
},
// 表单参数
form: {},
form: {
volume: 0,
weight: 0,
ladingBill:0
},
// 表单校验
rules: {
name: [{ required: true, message: this.$t("柜型名称不能为空"), trigger: "blur" }],
......@@ -171,8 +186,9 @@ export default {
this.form = {
id: undefined,
name: undefined,
volume: undefined,
weight: undefined,
volume: 0,
weight: 0,
ladingBill:0,
status: undefined,
sort: undefined,
};
......@@ -253,6 +269,25 @@ export default {
this.$download.excel(response, '机柜配置.xls');
this.exportLoading = false;
}).catch(() => {});
},
limitInput(value, name) {
let val = (value && value.split("")) || [];
let reg1 = /\d/;
let reg2 = /\./;
// 第一个字符不能为小数点
if (val[0] == ".") {
this.form[name] = "";
return;
}
// 过滤掉除数字和小数点外的字符
val = val.filter((e) => reg1.test(e) || reg2.test(e));
// 匹配小数点后只能有两位小数
// 解释一下这个match正则规格
// ^\d* 是指以数字开头,后面允许输入0到多位数字
// (\.?) 是指只允许一个小数点
// \d{0,2} 是指只允许0到2位小数
this.form[name] = val.join("").match(/^\d*(\.?\d{0,2})/g)[0] || null;
}
}
};
......
......@@ -248,8 +248,8 @@
</el-form>
<div class="pl-100">
<template v-if="!readonly">
<el-button type="primary" @click="submitForm(0)">{{$t('保存')}}</el-button>
<el-button type="primary" @click="submitForm(1)">{{$t('发布')}}</el-button>
<el-button type="primary" @click="submitForm(0)" v-hasPermi="['ecw:coupon:draft']">{{$t('保存')}}</el-button>
<el-button type="primary" @click="submitForm(1)" v-hasPermi="['ecw:coupon:publish']">{{$t('发布')}}</el-button>
<el-button type="default" @click="reset">{{$t('重置')}}</el-button>
</template>
<el-button @click="$router.back()">{{$t('返回')}}</el-button>
......@@ -471,10 +471,13 @@ export default {
item.combUnit = 'prodUnit_' + item.prodUnit
}else if(item.fullCurrencyId){
item.combUnit = 'fullCurrencyId_' + item.fullCurrencyId
}else{
}
this.fee[item.type].push({...item})
})
console.log(JSON.stringify(this.fee, null, 4))
/* if(this.costType != this.form.costType){
console.error(`费用类型冲突,计算出来的类型为${this.costType},接口费用类型为${res.data.costType},类型为${res.data.type}`)
this.$alert(this.$t('费用类型冲突'))
......@@ -519,6 +522,7 @@ export default {
},
// 满减活动如果选择的满多少金额减,则在选择满货币后需要同步减的货币,且禁用减的货币修改
checkReduceCurrency(item){
console.log('checkReduceCurrency', {...item}, this.form.type)
// 金额满减
if([2,4,5,7].indexOf(this.form.type) > -1){
// 只要不是按产品单位满减
......
This diff is collapsed.
......@@ -60,11 +60,7 @@
</template>
</el-table-column>
<el-table-column label="100外币兑人民币汇率" align="center" prop="huilv" />
<el-table-column label="100人民币兑外币汇率" align="center" prop="huilv">
<template slot-scope="scope">
{{ scope.row.huilv ? (10000 / scope.row.huilv).toFixed(6) : ''}}
</template>
</el-table-column>
<el-table-column label="100人民币兑外币汇率" align="center" prop="exchangeToFc" />
<el-table-column :label="$t('排序')" align="center" prop="aorder" />
<!-- <el-table-column label="" align="center" prop="createAt" width="180">-->
<!-- <template slot-scope="scope">-->
......@@ -105,11 +101,14 @@
<!-- <el-input v-model="form.show" :placeholder="$t('请输入状态')" />-->
<!-- </el-form-item>-->
<el-form-item label="100外币兑人民币汇率" prop="huilv">
<el-input v-model="form.huilv" placeholder="请输入100外币兑人民币汇率汇率" />
<el-input v-model="form.huilv" placeholder="请输入100外币兑人民币汇率" />
</el-form-item>
<el-form-item label="100人民币兑外币汇率" prop="huilv">
{{ form.huilv ? (10000 / form.huilv).toFixed(6) : ''}}
<el-form-item label="100人民币兑外币汇率" prop="exchangeToFc">
<el-input v-model="form.exchangeToFc" placeholder="请输入100人民币兑外币汇率" />
</el-form-item>
<!-- <el-form-item label="100人民币兑外币汇率" prop="huilv">
{{ form.huilv ? (10000 / form.huilv).toFixed(6) : ''}}
</el-form-item> -->
<el-form-item :label="$t('排序')" prop="aorder">
<el-input v-model="form.aorder" :placeholder="$t('请输入排序')" />
</el-form-item>
......
<template>
<div>
<el-descriptions :column="4">
<el-descriptions-item :label="$t('客户编号')">{{detail.customerId}}</el-descriptions-item>
<el-descriptions-item :label="$t('客户编号')">{{detail.customerNumber}}</el-descriptions-item>
<el-descriptions-item :label="$t('客户名称')">{{detail.customerName}}</el-descriptions-item>
<el-descriptions-item :label="$t('跟进客服')">{{detail.followUpSalesmanName}}</el-descriptions-item>
<el-descriptions-item :label="$t('创建时间')">{{detail.createTime|parseTime}}</el-descriptions-item>
<el-descriptions-item :label="$t('创建时间')">{{parseTime(detail.customerCreateTime)}}</el-descriptions-item>
<el-descriptions-item :span="2" :label="$t('客户原计划掉入公海池时间')">{{parseTime(detail.orgEstimateEnterOpenSeaTime)}}</el-descriptions-item>
<el-descriptions-item :span="2" :label="$t('申请延期后时间')">{{parseTime(detail.estimateEnterOpenSeaTime)}}</el-descriptions-item>
<el-descriptions-item :label="$t('申请凭证')" :span="4">
<el-image v-for="(item, index) in pictures" :key="index" :src="item" style="width:100px; height:100px" :preview-src-list="pictures"></el-image>
</el-descriptions-item>
<el-descriptions-item :label="$t('申请原因')" :span="4">{{detail.reason}}</el-descriptions-item>
</el-descriptions>
</div>
......@@ -16,7 +20,6 @@
import { getApproval } from '@/api/ecw/customer';
import {parseTime} from '@/utils/ruoyi'
export default {
filters: {parseTime},
props:{
id: [String, Number]
},
......@@ -36,6 +39,7 @@ export default {
}
},
created(){
parseTime,
getApproval(this.id).then(res => {
this.info = res.data
})
......
......@@ -33,7 +33,10 @@
<el-col :span="12">
<el-form-item :label="$t('出货渠道')" prop="transportType">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" form-type="checkbox" multiple v-model="form.transportType"></dict-selector>
<!-- <dict-selector :type="DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE" form-type="checkbox" multiple v-model="form.transportType"></dict-selector>-->
<el-checkbox-group v-model="form.transportType">
<el-checkbox v-for="item in getDictDatas(DICT_TYPE.ECW_CUSTOMER_TRANSPORT_TYPE)" :key="item.value" :label="item.value" :disabled="item.value == 4">{{item.label}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
<el-col :span="12">
......@@ -42,8 +45,13 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('资源类型')" prop="remarks">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="form.resourceType" formatter="number"></dict-selector>
<!-- <el-form-item :label="$t('资源类型')" prop="remarks">-->
<!-- <dict-selector :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="form.resourceType" formatter="number"></dict-selector>-->
<!-- </el-form-item>-->
<el-form-item :label="$t('常用提货网点')" prop="remarks">
<el-select v-model="form.pickupPoint">
<el-option v-for="item in serviceNetworkList " :value="item.id" :label="isChinese ? item.titleZh : item.titleEn "></el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -106,8 +114,8 @@
</el-col>
<el-col :span="12">
<el-form-item :label="$t('客户经理')" prop="customerService">
<el-select v-model="form.customerService" :placeholder="$t('请选择客户经理')" :disabled="(customerId !== '0' || isCustomerServiceConfirmed)">
<el-option v-for="item in serviceUserList"
<el-select v-model="form.customerService" :placeholder="$t('请选择客户经理')" :disabled="((customerId !== '0' && $route.name !== 'allocatedCustomerEdit')) || isCustomerServiceConfirmed">
<el-option v-for="item in !(((customerId !== '0' && $route.name !== 'allocatedCustomerEdit')) || isCustomerServiceConfirmed) ? serviceUserList : allSimplList"
:key="item.id" :label="item.nickname" :value="item.id" />
</el-select>
</el-form-item>
......@@ -142,7 +150,7 @@
<el-form-item :label="$t('创建人')" prop="founder">
<el-select v-model="form.founder" disabled>
<el-option
v-for="item in serviceUserList"
v-for="item in allSimplList"
:key="item.id"
:label="item.nickname"
:value="item.id">
......@@ -205,6 +213,14 @@
<customer-line-table v-if="showPao1" :warehouse-list="warehouseList" :import-city-list="importCityList" v-model="paoLines" :zhong-pao-type="2"></customer-line-table>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-hasPermi="['ecw:customer:edit-card']" :label="$t('身份证姓名')">
<el-input v-model="form.carName"></el-input>
</el-form-item>
<el-form-item v-hasPermi="['ecw:customer:edit-card']" :label="$t('身份证号码')">
<el-input v-model="form.carNo" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-card class="box-card">
......@@ -417,7 +433,7 @@ import {
getCustomerPage, memberUserList,
updateCustomer,
userMemberUserList,
getCustomerLines, fillupCustomeInfo
getCustomerLines, fillupCustomeInfo, getServiceNetwork
} from '@/api/ecw/customer'
import {getNodeList} from "@/api/ecw/node"
import { getProductTypeList } from '@/api/ecw/productType'
......@@ -426,7 +442,7 @@ import {getTradeCityList} from "@/api/ecw/region"
import {getWarehouseList} from "@/api/ecw/warehouse"
import CustomerLineTable from '@/components/CustomerLineTable'
import {getCustomerSelect} from "@/api/ecw/customer"
import {listServiceUser, listSimpleUsers} from "@/api/system/user"
import {listAllSimpl, listServiceUser, listSimpleUsers} from "@/api/system/user"
import { getZhongPaoBest, getZhongPaoPage } from '@/api/ecw/zhongPao'
import { getCustomerContactsListByCustomer } from '@/api/ecw/customerContacts'
import { getCountryListAll } from '@/api/ecw/country'
......@@ -437,9 +453,7 @@ import MemberSelector from '@/components/MemberSelector'
export default {
name: "edit",
props: {
customerId: String,
},
components: {
Template,
upload,
......@@ -514,9 +528,16 @@ export default {
listServiceUser().then(r => {
this.serviceUserList = r.data
})
listAllSimpl().then(r => {
this.allSimplList = r.data
})
getCountryListAll().then(r => {
this.countryList = r.data
})
// 获取服务网点
getServiceNetwork().then(r =>{
this.serviceNetworkList = r.data
})
},
data(){
return {
......@@ -566,7 +587,9 @@ export default {
zhongLines: [], // 重货线路
paoLines: [], // 泡货线路
memberList:[],//会员列表
selectMemberList:[]//选中会员列表
selectMemberList:[],//选中会员列表
serviceNetworkList:[], //网点列表
allSimplList:[]
}
},
......@@ -751,13 +774,15 @@ export default {
weightUnit: undefined,
createTime: undefined,
isShowTidanPrice:true,
carName:undefined,
carNo:undefined,
};
this.form.createTime = (new Date()).getTime()
this.resetForm("form");
},
getCustomer(id) {
return getCustomer(id).then(response => {
this.form = { ...this.form, ...response.data, id: this.customerId };
this.form = { ...this.form, ...response.data, id: this.customerId,transportType: response.data.transportType.split(',') };
this.open = true;
this.title = this.$t('修改客户');
this.getZhongPao()
......@@ -776,7 +801,7 @@ export default {
handleAddContact() {
this.form.customerContacts.push({
"areaCode": "",
// "customerId": 0,
// "customerId": 0,q
"department": "",
"email": "",
"isDefault": this.form.customerContacts.length === 0 ? 1 : 0,
......@@ -817,6 +842,9 @@ export default {
userId(){
return this.$store.state.user.id
},
customerId(){
return this.$route.params.customerId;
},
/* userMemberUser(){
let list = this.memberList.filter(item => {
return this.selectMemberList.findIndex(i => i.id === item.id) < 0
......
This diff is collapsed.
......@@ -22,14 +22,16 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('创建时间')">
<el-date-picker clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
<el-date-picker clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</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>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:customer:export']">{{$t('导出')}}</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" v-hasPermi="['ecw:customer:indirect-export']">{{$t('导出')}}</el-button>
</el-form-item>
</el-form>
......@@ -76,7 +78,7 @@
</el-table-column>
<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-user" @click="delay(scope.row)">{{$t('完善')}}</el-button>
<el-button v-has-permi="['ecw:customer:indirect:perfect']" size="mini" type="text" icon="el-icon-user" @click="delay(scope.row)">{{$t('完善')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -127,6 +129,7 @@ export default {
name: null,
source: null,
customerService: null,
marketType:null
},
// 网点
nodeList: [],
......@@ -152,7 +155,7 @@ export default {
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime', false);
// 执行导出
this.$modal.confirm(this.$t('是否确认导出间接客户数据项?')).then(() => {
this.exportLoading = true;
......@@ -175,7 +178,7 @@ export default {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime', false);
// 执行查询
getCustomerPage(params).then(response => {
this.list = response.data.list;
......
This diff is collapsed.
......@@ -64,7 +64,7 @@
<div style="flex: 1">
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button></div>
<div style="flex: 1; text-align: right;">
<div style="flex: 1; text-align: right;" v-has-permi="['ecw:customer:commission-set']">
<router-link :to="'/customerCommissionInfo/'+ 0 ">
<el-button type="primary">{{$t('佣金设置')}}</el-button>
</router-link>
......@@ -126,8 +126,8 @@
</el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-view" @click="handleUpdate(scope.row)">{{ $t('查看') }}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">{{$t('删除')}}</el-button>
<el-button v-has-permi="['ecw:customer:commission-query']" size="mini" type="text" icon="el-icon-view" @click="handleUpdate(scope.row)">{{ $t('查看') }}</el-button>
<el-button v-has-permi="['ecw:customer:commission-delete']" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">{{$t('删除')}}</el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -46,14 +46,17 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('创建时间')">
<el-date-picker clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
<el-date-picker clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('信用等级')" prop="department">
<el-select clearable v-model="queryParams.creditLevel" >
<el-option v-for="(item,index) in creditList" :label=" isChinese ? item.nameZh : item.nameEn" :key="index" :value="item.id" ></el-option>
</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>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
......@@ -64,11 +67,11 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="$router.push({path:'/customer/add-edit/0',query:{isCustomerServiceConfirmed:true,}})"
v-hasPermi="['ecw:customer:create']">{{$t('新增')}}</el-button>
v-hasPermi="['ecw:customer: treat-create']">{{$t('新增')}}</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:customer:export']">{{$t('导出')}}</el-button>
v-hasPermi="['ecw:customer:treat-export']">{{$t('导出')}}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
......@@ -114,16 +117,16 @@
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="handleConfirmService(scope.row)"
v-hasPermi="['ecw:customer:update']">{{$t('确认接收')}}</el-button>
v-hasPermi="['ecw:customer:treat-accept']">{{$t('确认接收')}}</el-button>
<el-button size="mini" type="text" @click="handOver(scope.row)"
v-hasPermi="['ecw:customer:update']">{{$t('移交')}}</el-button>
v-hasPermi="['ecw:customer:treat-transfer']">{{$t('移交')}}</el-button>
<router-link style="margin: 0 10px;" to="/offer/create">
<el-button size="mini" type="text">
<el-button v-has-permi="['ecw:customer:treat-quoted-price']" size="mini" type="text">
{{$t('报价')}}
</el-button>
</router-link>
<el-button size="mini" type="text" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:customer:update']">{{$t('完善')}}</el-button>
v-hasPermi="['ecw:customer:treat-perfect']">{{$t('完善')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -365,6 +368,9 @@ export default {
this.getList();
},
computed:{
DICT_TYPE() {
return DICT_TYPE
},
isChinese(){
return this.$i18n.locale === 'zh_CN'
},
......@@ -402,6 +408,7 @@ export default {
department: null,
creditLevel:null,
country:null,
marketType:null,
},
// 表单参数
form: {},
......@@ -435,6 +442,7 @@ export default {
})
},
methods: {
getDictDatas,
countryFormatter(row, column, cellValue) {
const country = this.countryList.find((e) => e.id === cellValue)
return this.isChinese ? country?.nameZh : country?.nameEn
......@@ -444,7 +452,7 @@ export default {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime', false);
// 执行查询
getWaitForConfirmList(params).then(response => {
this.list = response.data.list;
......
......@@ -47,14 +47,17 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('创建时间')">
<el-date-picker clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
<el-date-picker clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('信用等级')" prop="department">
<el-select clearable v-model="queryParams.creditLevel" >
<el-option v-for="(item,index) in creditList" :label="isChinese ? item.nameZh : item.nameEn" :key="index" :value="item.id" ></el-option>
</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>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
......@@ -65,16 +68,16 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:customer:create']">{{$t('新增')}}</el-button>
v-hasPermi="['ecw:customer:distribution-create']">{{$t('新增')}}</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:customer:export']">{{$t('导出')}}</el-button>
v-hasPermi="['ecw:customer:distribution-export']">{{$t('导出')}}</el-button>
</el-col>
<el-col :span="1.5">
<el-col :span="1.5" >
<el-button :disabled="selectCustomerList.length === 0" type="primary" size="mini" @click="batchTransferShow = true;"
v-hasPermi="['ecw:customer:export']">{{$t('批量移交')}}</el-button>
v-hasPermi="['ecw:customer:distribution-transfer']">{{$t('批量移交')}}</el-button>
</el-col>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
......@@ -122,11 +125,11 @@
<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="handleUpdate(scope.row)"
v-hasPermi="['ecw:customer:update']">{{$t('编辑')}}</el-button>
v-hasPermi="['ecw:customer:distribution-update']">{{$t('编辑')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:customer:delete']">{{$t('删除')}}</el-button>
v-hasPermi="['ecw:customer:distribution-delete']">{{$t('删除')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="distribution(scope.row)"
v-hasPermi="['ecw:customer:delete']">{{$t('分配客服')}}</el-button>
v-hasPermi="['ecw:customer:distribution-customer-service']">{{$t('分配客服')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -212,6 +215,7 @@ export default {
department: null,
creditLevel:null,
country:null,
marketType:null,
},
// 表单参数
form: {},
......@@ -268,7 +272,7 @@ export default {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime', false);
// 执行查询
getCustomerToBeAssigned(params).then(response => {
this.list = response.data.list;
......@@ -359,7 +363,7 @@ export default {
},
/** 修改按钮操作 */
handleUpdate(row) {
this.$router.push('/customer/edit/' + row.id)
this.$router.push('/customer/edit-distribution/' + row.id)
// this.reset();
// const id = row.id;
// getCustomer(id).then(response => {
......
......@@ -229,7 +229,7 @@ import { parseTime } from '@/utils/ruoyi';
for (let index in this.channelList) {
let channelItem = this.channelList[index];
if (channelItem.channelId == shippingChannelId) {
return $l(channelItem, 'name');
return this.$l(channelItem, 'name');
}
}
return '/'
......
......@@ -3,14 +3,14 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item :label="$t('关键字')" prop="transportType">
<el-input v-model="queryParams.key" :placeholder="$t('请输入关键字查找')" />
<el-form-item :label="$t('关键字')" prop="key">
<el-input v-model="queryParams.key" :placeholder="$t('请输入关键字查找')" clearable/>
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportType">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number"/>
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number" clearable/>
</el-form-item>
<el-form-item :label="$t('唛头')" prop="transportType">
<el-input v-model="queryParams.marks" :placeholder="$t('请输入关键字查找')" />
<el-form-item :label="$t('唛头')" prop="marks">
<el-input v-model="queryParams.marks" :placeholder="$t('请输入关键字查找')" clearable />
</el-form-item>
<el-form-item :label="$t('资源类型')" prop="customerType">
<!-- <el-select clearable v-model="queryParams.customerType" :placeholder="$t('请选择资源类型')" clearable size="small">
......@@ -31,8 +31,8 @@
<el-option :label="$t('装柜时间')" value="ldBoxTime"/>
</el-select>
</el-form-item> -->
<el-form-item>
<el-date-picker v-model="dateFilter" type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item prop="dateFilter">
<el-date-picker v-model="dateFilter" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<!-- <el-date-picker v-model="queryParams.beginStartTime" :placeholder="$t('请选择开始时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>-->
</el-form-item>
<!-- <el-form-item :label="$t('结束时间')" prop="endStartTime">-->
......@@ -40,6 +40,7 @@
<!-- </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="resetQuery">{{$t('重置')}}</el-button>
<!-- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
>{{$t('导出')}}</el-button> -->
</el-form-item>
......@@ -301,10 +302,12 @@
this.queryParams.pageNo = 1;
this.queryParams.beginStartTime=this.dateFilter[0];
this.queryParams.endStartTime=this.dateFilter[1];
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateFilter = []
this.dateRangeCreateTime = [];
this.dateRangeStartTime = [];
this.dateRangeEndTime = [];
......@@ -409,6 +412,9 @@
data.sumVolume += item.completeVolume
data.sumNum += item.sumNum
})
data.developVolume = data.developVolume.toFixed(2);
data.companyVolume = data.companyVolume.toFixed(2);
data.sumVolume = data.sumVolume.toFixed(2);
this.$set(this,'totalData',data)
}else{
this.totalData.sumWeight =this.myAchievementData.totalWeight
......
This diff is collapsed.
<template>
<div class="app-container">
<el-card>
<div slot="header" class="card-title">{{ $t('银行实收明细详情') }}</div>
<el-form ref="addForm" :data="addForm" label-width="250px">
<el-form-item :label="$t('收款单号')">{{ form.receiptNo }}</el-form-item>
<el-form-item :label="$t('剩余应收金额')">
<template v-if="surplusData.length==0"> 0</template>
<div v-if="surplusData.length>0">
<div v-for="(amount, currency) in surplusData" :key="currency">
<span v-if="amount"> {{amount}}{{getCurrencyLabel(currency)}}</span>
</div>
</div>
</el-form-item>
<el-form-item :label="$t('收款账户')" prop="accountNo">
<span>{{ addForm.accountNo }}</span>
</el-form-item>
<el-form-item :label="$t('实收日期')" prop="amountDate">
<span>{{ addForm.amountDate }}</span>
</el-form-item>
<div style="display: flex;">
<el-form-item :label="$t('实收')" prop="amount">
<span>{{ addForm.amount }}</span>
</el-form-item>
<el-form-item label-width="0px" prop="currencyId">
<el-select v-model="addForm.currencyId" :disabled="true">
<el-option
v-for="item in currencyList"
:key="item.id"
:label="$i18n.locale=='zh_CN'?item.titleZh:item.titleEn"
:value="item.id"
/>
</el-select>
</el-form-item>
</div>
<el-form-item
v-if="showCurrencyId != addForm.currencyId"
prop="rate"
>
<template slot="label">
<span :title="$t('实收币种与核销基准币种一样时,无需填写汇率,不一样需要填写汇率')">{{ $t('兑核销基准币种汇率') }}{{getCurrencyLabel(showCurrencyId)}}</span>
</template>
<span>{{ addForm.rate}}</span>
</el-form-item>
<el-form-item v-if="showCurrencyId != addForm.currencyId" >
<template slot="label">
{{ $t('兑核销基准币种金额') }}{{getCurrencyLabel(showCurrencyId)}}
</template>
<span>{{ addForm.writeOffAmount?parseFloat(addForm.writeOffAmount).toFixed(6):'' }}</span>
</el-form-item>
<el-form-item :label="$t('水单附件')" prop="attr">
<div>
<div v-for="(v, i) in addForm.attr" :key="i"><el-link :href="v.url" type="primary" target="_blank">{{ v.name }}</el-link></div>
</div>
</el-form-item>
<el-form-item :label="$t('水单号')" prop="billNo">
<span>{{ addForm.billNo }}</span>
</el-form-item>
</el-form>
</el-card>
<div slot="header" class="bpm-title">{{ $t('审核流程') }}</div>
<work-flow xmlkey="merge_order" v-model="selectedUsers"></work-flow>
<div slot="footer" style="margin: 20px 0">
<el-button type="primary" @click="submitForm(0)">{{$t('提交审核')}}</el-button>
<el-button type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{ $t('关闭') }}</el-button>
</div>
</div>
</template>
<script>
import { getReceivableItem ,getInvoicingItem,getReceiptAccountList,getReceiptInfoByIds} from "@/api/ecw/financial";
import { getCurrencyPage } from "@/api/ecw/currency";
import WorkFlow from '@/components/WorkFlow/'
import NP from 'number-precision'
export default {
components: {
WorkFlow
},
data() {
return {
addForm:{},
id:0,
detailed:[],
currencyList: [],
surplusData:[],
receiptAccountList:[],
selectedUsers:[],
list:[],
params: {
page: 1,
rows: 20,
},
bankId:0,
form:{}
}
},
async created() {
if (this.$route.query.id) {
this.id = this.$route.query.id;
}
if (this.$route.query.bankId) {
this.bankId = this.$route.query.bankId;
}
await getInvoicingItem({ id: this.id }).then(res => {
this.list = [...res.data]
})
await getReceiptAccountList({ id: this.id }).then(res => {
this.receiptAccountList = [...res.data]
})
await getCurrencyPage(this.params).then(res => this.currencyList = res.data.list)
await this.getList()
await getReceiptInfoByIds({ id: this.id }).then(res => {
this.form = res.data
})
},
methods:{
getList() {
getReceivableItem({ id: this.id }).then(res => {
this.detailed = res.data.map(v => ({
...v,
amountDate: this.parseTime(v.amountDate, '{y}-{m}-{d}'),
accountNo: +v.accountNo,
rate:parseFloat(v.rate).toFixed(6),
attr: v.attr ? v.attr.split(',').map(t => ({ name: t.slice(t.lastIndexOf('/') + 1), url: t })) : []
}))
this.addForm = this.detailed.find((itt) => itt.id == this.bankId);
this.handleAddReceiptItem()
})
},
getCurrencyLabel(id){
var label = this.currencyList.filter(item=>item.id == id)
if(label.length>0) return this.$i18n.locale=='zh_CN'?label[0].titleZh:label[0].titleEn
return ''
},
handleAddReceiptItem() {
this.surplusData = []
// 已收
let recepted = []
this.detailed.forEach(item => {
if(!recepted[item.currencyId]){
recepted[item.currencyId] = item.amount
}else recepted[item.currencyId] = NP.plus(recepted[item.currencyId], item.amount)
})
console.log('rece',recepted)
// 应收
let collom = []
// 从期望收费金额中提取应收币种和金额
this.currencyList.forEach((item,index)=>{
var nairaListByList = this.list.filter(v => v.currencyId === item.id)
if(nairaListByList.length>0){
var discountNaira = nairaListByList.reduce((total, currentValue) => NP.plus(total, currentValue.discountTotal || 0), 0)
}
var dollarList = this.receiptAccountList.filter(v => v.collectionCurrencyId == item.id)
if(dollarList.length>0){
var dollar = dollarList.reduce((total, currentValue) => NP.plus(total, currentValue.collectionAmount), 0).toFixed(2)
if(dollar){
collom[item.id] = dollar
}else{
collom.push(0)
}
}
})
console.log('collom',collom)
recepted.forEach((amount,currency)=>{
if(amount){
if(collom[currency]){
if((collom[currency]-amount)!=0) this.surplusData[currency] = +parseFloat((collom[currency]-amount).toPrecision(12))
}else{
this.surplusData[currency] = -amount
}
}
})
collom.forEach((amount,currency)=>{
if(amount){
if(!this.surplusData[currency]){
if(recepted[currency]){
if((amount-recepted[currency])!=0) this.surplusData[currency] = +parseFloat((amount-recepted[currency]).toPrecision(12))
}else{
this.surplusData[currency] = amount
}
}
}
})
},
},
computed: {
showCurrencyId() {
let fieldList = [];
let groupList=[];
this.list.map((element)=>{
if(fieldList.indexOf(element['currencyId'])===-1){
fieldList.push(element['currencyId'])
}
})
for(let i=0;i<fieldList.length;i++){
let arr = this.list.filter((element)=>{
return element['currencyId']===fieldList[i];
})
groupList.push({
currencyId:arr[0].currencyId,
list:arr
})
}
if (groupList.length === 1) return groupList[0].currencyId
else return 1
},
}
}
</script>
<style>
.card {
margin-top: 20px;
}
.dialog-footer {
text-align: left;
}
.card-title {
font-size: 18px;
font-weight: bold;
}
.bpm-title{
font-size: 20px;
font-weight: bold;
color:#666;
margin:20px 0;
}
</style>
......@@ -658,7 +658,7 @@ import { getBankAccountPage } from "@/api/ecw/bankAccount";
import { listSimpleDepts } from "@/api/system/dept";
import { getChannelList } from "@/api/ecw/channel";
import { getTradeCityList } from "@/api/ecw/region";
import { createReceipt, getReceivableList, getReceivableInfoByIds, getReceiptInfoByIds, getReceiptAccountList, getInvoicingItem, updateReceipt, updateReceivableDiscountById, getReceivableDiscountLogById } from "@/api/ecw/financial";
import { createReceipt,getFirstReceivableListByOrderId, getReceivableList, getReceivableInfoByIds, getReceiptInfoByIds, getReceiptAccountList, getInvoicingItem, updateReceipt, updateReceivableDiscountById, getReceivableDiscountLogById } from "@/api/ecw/financial";
import {getCustomer} from '@/api/ecw/customer'
import NP from 'number-precision'
import {getOrder} from '@/api/ecw/order'
......@@ -729,6 +729,15 @@ export default {
await getCurrencyPage(this.params).then(res => this.currencyList = res.data.list)
getWarehouseList().then(res => this.warehouseList = res.data)
let that = this;
if (that.$route.query.orderId) {
await getFirstReceivableListByOrderId({id:that.$route.query.orderId}).then(response => {
this.list = [...response.data]
getOrder(that.$route.query.orderId).then(response => {
// console.log(response.data)
if(response.data.customerId) this.$set(this.form,'customerId',response.data.customerId)
})
})
}
if (that.$route.query.id) {
this.flag = true
this.id = this.$route.query.id;
......
......@@ -248,8 +248,15 @@
</el-descriptions>
</el-form>
</el-card>
<!-- <div slot="header" class="bpm-title">{{ $t('审核流程') }}</div>
<work-flow xmlkey="merge_order" v-model="selectedUsers"></work-flow>
<div slot="footer" style="margin: 20px 0">
<el-button type="primary" @click="submitForm(0)">{{$t('提交审核')}}</el-button>
<el-button type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{ $t('关闭') }}</el-button>
</div> -->
<div slot="footer" style="margin: 20px 0">
<!-- <el-button type="primary" @click="submitDraft">{{ $t('保 存') }}</el-button> -->
<el-button type="primary" @click="submitDraft">{{ $t('保 存') }}</el-button>
<el-button type="primary" @click="submitForm">{{id==0?$t('新增'):$t('编辑')}}</el-button>
</div>
<el-dialog
......@@ -312,7 +319,7 @@
/>
</el-form-item>
<!-- </el-row> -->
<!-- <el-form-item :label="$t('出货渠道')">
<el-form-item :label="$t('出货渠道')">
<el-select
v-model="queryParams.channelId"
:placeholder="$t('请选择出货渠道')"
......@@ -326,8 +333,8 @@
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('报关方式')">
<!-- <el-row> -->
<!-- <el-form-item :label="$t('报关方式')">
<dict-selector
:type="DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model="queryParams.customsType"
......@@ -345,20 +352,21 @@
@change="consignor = $event"
/>
</el-form-item>
</el-row>
<el-form-item :label="$t('订单号')" prop="orderNo">
</el-row> -->
<el-form-item :label="$t('订单号')" prop="orderNo">
<el-input
v-model="queryParams.orderNo"
:placeholder="$t('请输入订单号')"
:placeholder="$t('请输入订单号')"
clearable
/>
</el-form-item> -->
</el-form-item>
<el-form-item :label="$t('编号')" prop="selfNo">
<el-form-item :label="$t('业务编号')" prop="selfNo">
<el-input
v-model="queryParams.selfNo"
:placeholder="$t('请输入编号')"
:placeholder="$t('请输入业务编号')"
clearable
@blur="handleQuery"
/>
</el-form-item>
......@@ -377,7 +385,7 @@
row-key="id"
>
<el-table-column type="selection" width="55" :reserve-selection="true"> </el-table-column>
<el-table-column :label="$t('编号')" align="center" prop="payableNo" />
<el-table-column :label="$t('业务编号')" align="center" prop="payableNo" />
<el-table-column :label="$t('货柜号')" align="center" prop="containerNo" />
<el-table-column :label="$t('供应商')" align="center" prop="supplierName" />
<el-table-column :label="$t('费用类型')" align="center" prop="feeType">
......@@ -425,11 +433,12 @@ import { getPayableList, getPayableInfoByIds, createPayment, getPaymentInfoByIds
import { getCurrencyPage } from "@/api/ecw/currency";
import NP from 'number-precision'
import {getWarehouseList} from '@/api/ecw/warehouse'
import WorkFlow from '@/components/WorkFlow/'
export default {
name: "CreatPayment",
components: {
CustomerSelector
CustomerSelector,WorkFlow
},
data() {
return {
......@@ -461,6 +470,7 @@ export default {
allSupplier: [],
currencyList: [],
warehouseList:[],
selectedUsers:[]
};
},
async created() {
......@@ -822,4 +832,10 @@ export default {
font-size: 18px;
font-weight: bold;
}
.bpm-title{
font-size: 20px;
font-weight: bold;
color:#666;
margin:20px 0;
}
</style>
......@@ -120,6 +120,7 @@
<el-button
style="margin-left: 10px"
type="success"
v-hasPermi="['ecw:payable:create']"
@click="handleAdd(0)"
>{{ $t('新增请款单') }}</el-button
>
......@@ -153,13 +154,15 @@
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button size="mini" type="text" @click="editClick(scope.row)"
>{{ $t('编辑') }}</el-button
>
<el-button size="mini" type="text" @click="handleAdd(scope.row.id)"
>{{ $t('请款') }}</el-button
>
<el-button size="mini" type="text" @click="deleteClick(scope.row)">{{ $t('删除') }}</el-button>
<el-button
size="mini"
type="text"
v-hasPermi="['ecw:payable:edit']"
@click="editClick(scope.row)"
>{{ $t('编辑') }}</el-button>
<el-button size="mini" type="text" v-hasPermi="['ecw:payable:add']" @click="handleAdd(scope.row.id)"
>{{ $t('请款') }}</el-button>
<el-button size="mini" type="text" v-hasPermi="['ecw:payable:delete']" @click="deleteClick(scope.row)">{{ $t('删除') }}</el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -141,17 +141,17 @@
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button v-if="scope.row.state == 1 || scope.row.state == 3" size="mini" @click="handleAdd(scope.row.id)" type="text">{{ $t('编辑') }}</el-button>
<el-button v-if="scope.row.state == 1 || scope.row.state == 3" size="mini" v-hasPermi="['ecw:payment:update']" type="text" @click="examineClick(scope.row.id)">{{ $t('审核') }}</el-button>
<el-button v-if="scope.row.state == 1 || scope.row.state == 3" size="mini" @click="handleAdd(scope.row.id)" v-hasPermi="['ecw:paymentVoucher:edit']" type="text">{{ $t('编辑') }}</el-button>
<el-button v-if="scope.row.state == 1 || scope.row.state == 3" size="mini" v-hasPermi="['ecw:paymentVoucher:process']" type="text" @click="examineClick(scope.row.id)">{{ $t('审核') }}</el-button>
<el-button v-if="scope.row.state == 2" size="mini" type="text" v-hasPermi="['ecw:payment:update']" @click="verifyCancelClick(scope.row)">{{ $t('反审核') }}</el-button>
<el-button v-if="scope.row.state == 2" size="mini" type="text" v-hasPermi="['ecw:payment:update']" @click="verificationClick(scope.row)">{{ $t('核销') }}</el-button>
<el-button v-if="scope.row.state == 2" size="mini" type="text" v-hasPermi="['ecw:paymentVoucher:print']" @click="verifyCancelClick(scope.row)">{{ $t('反审核') }}</el-button>
<el-button v-if="scope.row.state == 2" size="mini" type="text" v-hasPermi="['ecw:paymentVoucher:writeOff']" @click="verificationClick(scope.row)">{{ $t('核销') }}</el-button>
<el-button v-if="scope.row.state == 4" size="mini" type="text" v-hasPermi="['ecw:payment:update']" @click="verificationCancelClick(scope.row)">{{ $t('反核销') }}</el-button>
<el-button v-if="scope.row.state == 4" size="mini" type="text" v-hasPermi="['ecw:paymentVoucher:cancelWriteOff']" @click="verificationCancelClick(scope.row)">{{ $t('反核销') }}</el-button>
<!-- <el-button v-if="scope.row.state == 3" size="mini" type="text">{{ $t('开票') }}</el-button> -->
<el-button size="mini" type="text" @click="toprint(scope.row.id)" v-hasPermi="['ecw:payment:query']">{{ $t('打印') }}</el-button>
<el-button v-if="scope.row.state == 1 || scope.row.state == 3" size="mini" type="text" v-hasPermi="['ecw:payment:delete']" @click="deleteClick(scope.row)">{{ $t('删除') }}</el-button>
<el-button size="mini" type="text" @click="toprint(scope.row.id)" v-hasPermi="['ecw:paymentVoucher:print']">{{ $t('打印') }}</el-button>
<el-button v-if="scope.row.state == 1 || scope.row.state == 3" size="mini" type="text" v-hasPermi="['ecw:paymentVoucher:delete']" @click="deleteClick(scope.row)">{{ $t('删除') }}</el-button>
<!-- <el-button size="mini" type="text" @click="open = true">{{ $t('导出订单') }}</el-button> -->
</template>
</el-table-column>
......
......@@ -218,8 +218,8 @@
<el-card class="card">
<div slot="header" class="card-title">{{ $t('银行收款明细') }}</div>
<div>
<el-button type="primary" plain size="mini" @click="batchVerification" v-hasPermi="['ecw:verification:update']" style="padding: 10px; margin-bottom: 10px">{{ $t('批量核销') }}</el-button>
<el-button type="primary" plain size="mini" @click="handleAddReceiptItem" style="padding: 10px; margin-bottom: 10px">{{ $t('添加收款明细') }}</el-button>
<el-button type="primary" plain size="mini" @click="batchVerification" v-hasPermi="['ecw:payment:detail:batchWriteOff']" style="padding: 10px; margin-bottom: 10px">{{ $t('批量核销') }}</el-button>
<el-button type="primary" plain size="mini" @click="handleAddReceiptItem" v-hasPermi="['ecw:payment:detail:addBank']" style="padding: 10px; margin-bottom: 10px">{{ $t('添加收款明细') }}</el-button>
</div>
<el-table ref="multipleTable" :data="detailed" border row-key="id" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" :reserve-selection="true"> </el-table-column>
......@@ -256,11 +256,11 @@
</el-table-column>
<el-table-column :label="$t('操作')" align="center" width="200">
<template slot-scope="scope">
<el-button v-if="scope.row.status == 0" type="text" @click="deleteClick(scope.row)">{{ $t('删除') }}</el-button>
<el-button type="text" @click="detailClick(scope.row)">{{ $t('详情') }}</el-button>
<el-button v-if="scope.row.status == 0" type="text" @click="verificationClick(scope.row)" v-hasPermi="['ecw:verification:update']">{{ $t('核销') }}</el-button>
<el-button v-if="scope.row.status == 1" type="text" @click="verificationCancelClick(scope.row)" v-hasPermi="['ecw:verification:update']">{{ $t('反核销') }}</el-button>
<el-button v-if="scope.row.status == 0" type="text" @click="editClick(scope.row)">{{ $t('编辑') }}</el-button>
<el-button v-if="scope.row.status == 0" v-hasPermi="['ecw:payment:detail:delete']" type="text" @click="deleteClick(scope.row)">{{ $t('删除') }}</el-button>
<el-button type="text" @click="detailClick(scope.row)" v-hasPermi="['ecw:payment:detail:detail']">{{ $t('详情') }}</el-button>
<el-button v-if="scope.row.status == 0" type="text" @click="verificationClick(scope.row)" v-hasPermi="['ecw:payment:detail:writeOff']">{{ $t('核销') }}</el-button>
<el-button v-if="scope.row.status == 1" type="text" @click="verificationCancelClick(scope.row)" v-hasPermi="['ecw:payment:detail:cancelWriteOff']">{{ $t('反核销') }}</el-button>
<el-button v-if="scope.row.status == 0" type="text" @click="editClick(scope.row)" v-hasPermi="['ecw:payment:detail:bankEdit']">{{ $t('编辑') }}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -306,8 +306,8 @@
</el-descriptions>
</el-card>
<div slot="footer" style="margin: 20px 0">
<el-button type="primary" @click="toEdit">{{ $t('编辑') }}</el-button>
<el-button type="primary" @click="verificationAll" v-hasPermi="['ecw:verification:update']">{{ $t('全部核销') }}</el-button>
<el-button type="primary" @click="toEdit" v-hasPermi="['ecw:payment:detail:edit']">{{ $t('编辑') }}</el-button>
<el-button type="primary" @click="verificationAll" v-hasPermi="['ecw:payment:detail:allWriteOff']">{{ $t('全部核销') }}</el-button>
</div>
<el-dialog v-if="openAddDialog" :visible.sync="openAddDialog" :title="dialogTitle" width="50%" append-to-body>
<div style="padding: 0 24px">
......
......@@ -8,6 +8,7 @@
style="float: right; margin-left: 10px"
type="primary"
size="mini"
v-hasPermi="['ecw:receivable:add']"
@click="handleAdd(0)"
>{{ $t('新增收款单') }}</el-button
>
......@@ -232,9 +233,7 @@
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button size="mini" type="text" @click="handleAdd(scope.row.id)"
>{{ $t('收款') }}</el-button
>
<el-button size="mini" type="text" v-hasPermi="['ecw:receivable:collection']" @click="handleAdd(scope.row.id)" >{{ $t('收款') }}</el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -74,11 +74,11 @@
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('收款单号')" align="center" prop="receiptNo">
<template slot-scope="scope">
<span style="color: #1890ff;" @click="verificationCancelClick(scope.row)">{{scope.row.receiptNo}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('收款单号')" align="center" prop="receiptNo" />
<!-- <template slot-scope="scope"> -->
<!-- <span style="color: #1890ff;" @click="verificationCancelClick(scope.row)">{{scope.row.receiptNo}}</span> -->
<!-- </template> -->
<!-- </el-table-column> -->
<el-table-column :label="$t('客户名称')" align="center" prop="customerName" />
<el-table-column :label="$t('创建日期')" align="center" prop="createTime">
<template slot-scope="scope">
......@@ -110,10 +110,17 @@
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
v-hasPermi="['ecw:voucher:see']"
@click="verificationCancelClick(scope.row)"
>{{ $t('查看')}}</el-button>
<el-button
v-if="scope.row.state === 0 || scope.row.state == 1 || scope.row.state == 2 || scope.row.state == 3"
size="mini"
type="text"
v-hasPermi="['ecw:voucher:edit']"
@click="handleAdd(scope.row.id)"
>{{ $t('编辑') }}</el-button
>
......@@ -128,31 +135,33 @@
v-if="scope.row.state == 4 || scope.row.state == 5 || scope.row.state == 6"
size="mini"
type="text"
v-hasPermi="['ecw:voucher:cancelWriteOff']"
@click="verificationCancelClick(scope.row)"
v-hasPermi="['ecw:verification:update']"
>{{ $t('反核销') }}</el-button
>
<el-button
v-if="scope.row.state == 5"
size="mini"
type="text"
v-hasPermi="['ecw:voucher:ballot']"
@click="openInvoice(scope.row.id)"
>{{ $t('开票') }}</el-button
>
<el-button v-if="scope.row.state == 1 || scope.row.state == 2 || scope.row.state == 3" size="mini" type="text" @click="verificationCancelClick(scope.row)">{{ $t('收款') }}</el-button>
<el-button v-if="[0,1,2].indexOf(scope.row.state) > -1" size="mini" type="text" @click="deleteClick(scope.row)">{{ $t('删除') }}</el-button>
<el-button v-if="scope.row.state == 1 || scope.row.state == 2 || scope.row.state == 3" v-hasPermi="['ecw:voucher:payment']" size="mini" type="text" @click="verificationCancelClick(scope.row)">{{ $t('收款') }}</el-button>
<el-button v-if="[0,1,2].indexOf(scope.row.state) > -1" size="mini" type="text" v-hasPermi="['ecw:voucher:delete']" @click="deleteClick(scope.row)">{{ $t('删除') }}</el-button>
<el-button
v-if="scope.row.state != 0"
size="mini"
type="text"
@click="toprint(scope.row.id)"
v-hasPermi="['ecw:verification:create']"
v-hasPermi="['ecw:voucher:print']"
>{{ $t('打印') }}</el-button
>
<el-button
v-if="scope.row.state != 0"
size="mini"
type="text"
v-hasPermi="['ecw:voucher:derive']"
@click="exportReceipt(scope.row.id)"
>{{ $t('导出账单') }}</el-button
>
......
......@@ -41,8 +41,8 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('创建时间')">
<el-date-picker clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd"
type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
<el-date-picker clearable v-model="dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" />
</el-form-item>
<el-form-item :label="$t('信用等级')" prop="department">
......@@ -50,6 +50,9 @@
<el-option v-for="(item,index) in creditList" :label="isChinese ? item.nameZh : item.nameEn" :key="index" :value="item.id" ></el-option>
</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>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
......@@ -60,11 +63,11 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:customer:create']">{{$t('新增')}}</el-button>
v-hasPermi="['ecw:customer:my-create']">{{$t('新增')}}</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:customer:export']">{{$t('导出')}}</el-button>
v-hasPermi="['ecw:customer:my-export']">{{$t('导出')}}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
......@@ -116,15 +119,15 @@
<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-view" @click="handleView(scope.row)"
v-hasPermi="['ecw:customer:query']">{{$t('查看')}}</el-button>
v-hasPermi="['ecw:customer:my-query']">{{$t('查看')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:customer:update']">{{$t('修改')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-collection" @click="followUp(scope.row)">{{$t('跟进')}}</el-button>
v-hasPermi="['ecw:customer:my-update']">{{$t('修改')}}</el-button>
<el-button size="mini" v-hasPermi="['ecw:customer:my-follow-up']" type="text" icon="el-icon-collection" @click="followUp(scope.row)">{{$t('跟进')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-user"
v-hasPermi="['ecw:customer:update']" @click="complaint(scope.row)">{{$t('客诉')}}</el-button>
v-hasPermi="['ecw:customer:my-customer-complaint']" @click="complaint(scope.row)">{{$t('客诉')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:customer:delete']">{{$t('删除')}}</el-button>
<el-button :disabled="scope.row.isInOpenSea" size="mini" type="text" icon="el-icon-user" @click="delay(scope.row)">{{$t('延期')}}</el-button>
v-hasPermi="['ecw:customer:my-delete']">{{$t('删除')}}</el-button>
<el-button v-has-permi="['ecw:customer:my-postpone']" :disabled="scope.row.isInOpenSea" size="mini" type="text" icon="el-icon-user" @click="delay(scope.row)">{{$t('延期')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -203,6 +206,7 @@ export default {
department: null,
creditLevel:null,
country:null,
marketType: null,
},
// 表单参数
form: {},
......@@ -258,7 +262,7 @@ export default {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime', false);
// 执行查询
getMyCustomerService(params).then(response => {
this.list = response.data.list;
......
......@@ -55,6 +55,9 @@
<el-option v-for="(item,index) in creditList" :label="isChinese ? item.nameZh : item.nameEn" :key="index" :value="item.id" ></el-option>
</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>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
......@@ -65,11 +68,11 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ecw:customer:create']">{{$t('新增')}}</el-button>
v-hasPermi="['ecw:customer:sea-create']">{{$t('新增')}}</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ecw:customer:export']">{{$t('导出')}}</el-button>
v-hasPermi="['ecw:customer:sea-export']">{{$t('导出')}}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
......@@ -121,7 +124,7 @@
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- <el-button size="mini" type="text" @click="distribution(scope.row)">{{$t('移交')}}</el-button>-->
<el-button size="mini" type="text" @click="fishingFn(scope.row)">{{$t('捞取')}}</el-button>
<el-button v-has-permi="['ecw:customer:sea-gain']" size="mini" type="text" @click="fishingFn(scope.row)">{{$t('捞取')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -205,6 +208,7 @@ export default {
customerService: null,
status: null,
department: null,
marketType:null,
},
// 表单参数
form: {},
......
This diff is collapsed.
......@@ -6,11 +6,11 @@
<div class="offer-header">
<span style="font-size: 15px;">{{$t('报价单号')}}{{list.number}}</span>
<div class="btns">
<el-button size="mini" type="primary" v-if="list.status!=5" @click="$router.push('edit?id=' + offerId)">{{$t('编辑')}}</el-button>
<el-button type="primary" v-if="[1,3,7].indexOf(list.status) > -1" size="mini" @click="handleAdd">{{$t('跟进')}}</el-button>
<el-button type="primary" v-if="[3,7].indexOf(list.status) > -1" size="mini" @click="toResult">{{$t('结果')}}</el-button>
<el-button size="mini" v-if="[1,3,7].indexOf(list.status) > -1" type="primary" @click.native="$router.push('/offer/special?offerId=' + offerId)" >{{$t('特价')}}</el-button>
<el-button type="danger" size="mini" @click="handleDelete">{{$t('删除')}}</el-button>
<el-button v-hasPermi="['ecw:offer:update']" size="mini" type="primary" v-if="list.status!=5" @click="$router.push('edit?id=' + offerId)">{{$t('编辑')}}</el-button>
<el-button v-hasPermi="['ecw:offer:loglist']" type="primary" v-if="[1,3,7].indexOf(list.status) > -1" size="mini" @click="handleAdd">{{$t('跟进')}}</el-button>
<el-button v-hasPermi="['ecw:offer:result']" type="primary" v-if="[3,7].indexOf(list.status) > -1" size="mini" @click="toResult">{{$t('结果')}}</el-button>
<el-button v-hasPermi="['ecw:offer:discount','ecw:offer:commission']" size="mini" v-if="[1,3,7].indexOf(list.status) > -1" type="primary" @click.native="$router.push('/offer/special?offerId=' + offerId)" >{{$t('特价')}}</el-button>
<el-button v-hasPermi="['ecw:offer:delete']" type="danger" size="mini" @click="handleDelete">{{$t('删除')}}</el-button>
</div>
</div>
<div>
......@@ -290,7 +290,7 @@
{{list.competitor||'/'}}
</el-descriptions-item>
<el-descriptions-item :label="$t('重要程度')">
<el-rate v-model="list.importance"></el-rate>
<el-rate v-model="list.importance" disabled></el-rate>
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
......
......@@ -750,6 +750,21 @@ export default {
arr.push(it)
})
// 没有累加保价费(没有美元计价)但是有保价费则需要加上去
if(!withInsuranceFee && this.fee && this.fee.insuranceFee){
let fee = Decimal(this.fee.insuranceFee)
// 如果没有美元费用,且保价费和其他费用币种相同(都是美元)
if(this.form.otherFeeCurrencyId == 1 && this.form.otherFee){
withOtherFee = true
fee = fee.plus(new Decimal(this.form.otherFee || 0))
}
arr.push({
currencyId: 1,
amount: fee
})
}
// 如果没有累加其他费用,则另外增加货币
if(!withOtherFee && this.form.otherFee){
let fee = {
......@@ -765,13 +780,7 @@ export default {
arr.push(fee)
}
// 没有累加保价费(没有美元计价)但是有保价费则需要加上去
if(!withInsuranceFee && this.fee && this.fee.insuranceFee){
arr.push({
currencyId: 1,
amount: Decimal(this.fee.insuranceFee)
})
}
return arr
},
......
......@@ -10,11 +10,11 @@
<el-form-item :label="$t('客户')" prop="searchCustomer">
<el-input v-model="queryParams.searchCustomer" :placeholder="$t('请输入客户')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('创建时间')" prop="orderNo">
<el-date-picker v-model="queryParams.beginCreateTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>{{ $t('') }}<el-date-picker v-model="queryParams.endCreateTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-date-picker type="datetime" v-model="queryParams.beginCreateTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>{{ $t('') }}<el-date-picker v-model="queryParams.endCreateTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item :label="$t('始发地')" prop="departureId">
<el-select v-model="queryParams.departureId" :placeholder="$t('请选择始发地')" clearable>
<el-option v-for="item in exportCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
......@@ -47,14 +47,14 @@
<div>
<el-form-item :label="$t('预计结束时间')" prop="orderNo">
<el-date-picker v-model="queryParams.beginStopTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>{{ $t('') }}<el-date-picker v-model="queryParams.endStopTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-date-picker type="datetime" v-model="queryParams.beginStopTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>{{ $t('') }}<el-date-picker type="datetime" v-model="queryParams.endStopTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{$t('搜索')}}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{$t('重置')}}</el-button>
</el-form-item>
</div>
</el-form>
<!-- 操作工具栏 -->
......@@ -95,7 +95,7 @@
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportId" />
</template>
</el-table-column>
<el-table-column :label="$t('预计销售额')" align="left" prop="estCost">
<template slot-scope="{row}">
......@@ -109,7 +109,7 @@
</el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!--
<!--
0 取消 恢复
1 特价审批 编辑、跟进、 取消 删除
2 草稿 编辑、 删除
......@@ -122,16 +122,16 @@
<el-dropdown>
<el-button icon="el-icon-plus" circle type="primary"></el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="$router.push('detail?offerId=' + scope.row.offerId)" >{{$t('详情')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push('detail?offerId=' + scope.row.offerId)" v-hasPermi="['ecw:offer:show']">{{$t('详情')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push('edit?id=' + scope.row.offerId)" v-if="[1,2,3,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:update']">{{$t('编辑')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push('logList?offerId=' + scope.row.offerId)" v-if="[1,3,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:update']">{{$t('跟进')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push(`result?offerId=${scope.row.offerId}&number=${scope.row.number}`)" v-if="[3,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:update']">{{$t('结果')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push('/offer/special?offerId=' + scope.row.offerId)" v-if="[1,3,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:update']">{{$t('特价')}}</el-dropdown-item>
<el-dropdown-item @click.native="cancel(scope.row.offerId)" v-if="[1,3,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:update']">{{$t('取消')}}</el-dropdown-item>
<el-dropdown-item @click.native="recovery(scope.row.offerId)" v-if="[0].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:update']">{{$t('恢复')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push('logList?offerId=' + scope.row.offerId)" v-if="[1,3,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:loglist']">{{$t('跟进')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push(`result?offerId=${scope.row.offerId}&number=${scope.row.number}`)" v-if="[3,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:result']">{{$t('结果')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push('/offer/special?offerId=' + scope.row.offerId)" v-if="[1,3,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:discount','ecw:offer:commission']">{{$t('特价')}}</el-dropdown-item>
<el-dropdown-item @click.native="cancel(scope.row.offerId)" v-if="[1,3,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:cancel']">{{$t('取消')}}</el-dropdown-item>
<el-dropdown-item @click.native="recovery(scope.row.offerId)" v-if="[0].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:recovery']">{{$t('恢复')}}</el-dropdown-item>
<el-dropdown-item @click.native="deleteOffer(scope.row.offerId)" v-if="[0,1,2,3,4,5,6,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:delete']">{{$t('删除')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
</template>
</el-table-column>
</el-table>
......@@ -143,7 +143,7 @@
</template>
<script>
import { deleteOffer, getOfferPage, exportOfferExcel,cancel, recovery } from "@/api/ecw/offer";
import { deleteOffer, getOfferPage, exportOfferExcel,cancel, recovery, offerDeptPage } from "@/api/ecw/offer";
import { getCurrencyList } from '@/api/ecw/currency';
import {getTradeCityList} from '@/api/ecw/region'
import UserSelector from '@/components/UserSelector'
......@@ -170,8 +170,8 @@ export default {
pageSize: 10
},
currencyList: [],
tradeCityList:[]
tradeCityList:[],
dept: false, // 是否部门订单
};
},
computed:{
......@@ -193,6 +193,11 @@ export default {
this.getList()
},
created() {
console.log("offer index", this.$route)
// 部门订单
if(this.$route.fullPath.indexOf('dept') > -1){
this.dept = true
}
getTradeCityList().then(res => this.tradeCityList = res.data)
getCurrencyList().then(res => {
......@@ -205,8 +210,9 @@ export default {
/** 查询列表 */
getList() {
this.loading = true;
let func = this.dept ? offerDeptPage : getOfferPage
// 执行查询
getOfferPage(this.queryParams).then(response => {
func(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
......
......@@ -89,8 +89,8 @@
<el-table-column
:label="$t('操作')">
<template v-slot="{row}">
<el-button v-if="row.seaFreight > 0" size="mini" type="text" @click="showOfferProdId=row.offerProdId">{{$t('优惠申请')}}</el-button>
<el-button v-if="row.seaFreight > 0" size="mini" type="text" @click="showCommissionProd=row">{{$t('佣金规则')}}</el-button>
<el-button v-hasPermi="['ecw:offer:discount']" v-if="row.seaFreight > 0" size="mini" type="text" @click="showOfferProdId=row.offerProdId">{{$t('优惠申请')}}</el-button>
<el-button v-hasPermi="['ecw:offer:commission']" v-if="row.seaFreight > 0" size="mini" type="text" @click="showCommissionProd=row">{{$t('佣金规则')}}</el-button>
</template>
</el-table-column>
......
......@@ -66,7 +66,7 @@
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="2">
<el-button type="primary" plain icon="el-icon-setting" size="mini" :disabled="multiple" @click="batchReview">{{$t('批量复核')}}</el-button>
<el-button v-hasPermi="['ecw:cargo_control:batch_review']" type="primary" plain icon="el-icon-setting" size="mini" :disabled="multiple" @click="batchReview">{{$t('批量复核')}}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
......@@ -113,31 +113,31 @@
<template slot-scope="scope">
<!--控货中,已入仓-->
<template v-if="[0,2].indexOf(scope.row.cargoControlStatus) > -1 && scope.row.sumNum > 0">
<el-button type="text" size="mini" @click="showReleaseOrderId=scope.row.orderId">{{$t('放货')}}</el-button>
<el-button type="text" size="mini" @click="showTransferOrder = scope.row" >{{$t('控货权转移')}}</el-button>
<el-button type="text" size="mini" @click="showReleaseOrderId=scope.row.orderId" v-hasPermi="['ecw:cargo_control:release']">{{$t('放货')}}</el-button>
<el-button type="text" size="mini" @click="showTransferOrder = scope.row" v-hasPermi="['ecw:cargo_control:transfer']">{{$t('控货权转移')}}</el-button>
</template>
<!--部分控货-->
<template v-if="scope.row.cargoControlStatus == 2">
<el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('修改')}}</el-button>
<el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('取消')}}</el-button>
<el-button type="text" size="mini" @click="review(scope.row)" v-if="scope.row.isToReview">{{$t('放货复核')}}</el-button>
<el-button type="text" size="mini" @click="toDetail(scope.row)" v-hasPermi="['ecw:cargo_control:update']">{{$t('修改')}}</el-button>
<el-button type="text" size="mini" @click="toDetail(scope.row)" v-hasPermi="['ecw:cargo_control:cancel']">{{$t('取消')}}</el-button>
<el-button type="text" size="mini" @click="review(scope.row)" v-if="scope.row.isToReview" v-hasPermi="['ecw:cargo_control:review']">{{$t('放货复核')}}</el-button>
</template>
<!--已全部放货,但是未复核-->
<template v-if="scope.row.cargoControlStatus == 1 && scope.row.isToReview">
<el-button type="text" size="mini" @click="review(scope.row)">{{$t('放货复核')}}</el-button>
<el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('修改')}}</el-button>
<el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('取消')}}</el-button>
<el-button type="text" size="mini" @click="review(scope.row)" v-hasPermi="['ecw:cargo_control:review']">{{$t('放货复核')}}</el-button>
<el-button type="text" size="mini" @click="toDetail(scope.row)" v-hasPermi="['ecw:cargo_control:update']">{{$t('修改')}}</el-button>
<el-button type="text" size="mini" @click="toDetail(scope.row)" v-hasPermi="['ecw:cargo_control:cancel']">{{$t('取消')}}</el-button>
</template>
<!--已完成放货,且没有待复核;真正的放货完成-->
<template v-if="scope.row.cargoControlStatus == 1 && !scope.row.isToReview">
<!-- <el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('查看')}}</el-button> -->
<el-button type="text" size="mini" @click="cargoTransfer(scope.row)" >{{$t('调货')}}</el-button>
<el-button type="text" size="mini" @click="showFallbackOrder=scope.row" v-if="scope.row.isReleaseAfterGoods">{{$t('反复核')}}</el-button>
<el-button type="text" size="mini" @click="cargoTransfer(scope.row)" v-hasPermi="['ecw:cargo_control:cargo_transfer']">{{$t('调货')}}</el-button>
<el-button type="text" size="mini" @click="showFallbackOrder=scope.row" v-if="scope.row.isReleaseAfterGoods" v-hasPermi="['ecw:cargo_control:fallback']">{{$t('反复核')}}</el-button>
</template>
<el-button type="text" size="mini" @click="toDetail(scope.row)" >{{$t('查看')}}</el-button>
<el-button type="text" size="mini" @click="toDetail(scope.row)" v-hasPermi="['ecw:cargo_control:show']">{{$t('查看')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -161,12 +161,12 @@ import CustomerSelector from '@/components/CustomerSelector'
import Transfer from '@/views/ecw/order/components/Transfer'
import Release from './components/Release'
import CargoControlEdit from './components/CargoControlEdit'
import { getCargoControlOrderPage, batchReview, orderReview, getPickRleaseInfo } from "@/api/ecw/orderCargoControl"
import { getCargoControlOrderPage, batchReview, orderReview, getPickRleaseInfo, exportCargoControl } from "@/api/ecw/orderCargoControl"
import TransferCargo from '@/views/ecw/order/components/TransferCargo'
import Fallback from './components/Fallback'
import {getWarehouseList} from '@/api/ecw/warehouse'
export default {
name: "EcwOrderCargonControl",
name: "EcwOrderCargocontrol",
components: {
CustomerSelector, ProductSelector, Selector, Transfer, Release,CargoControlEdit, TransferCargo, Fallback
},
......@@ -269,9 +269,9 @@ export default {
// 执行导出
this.$modal.confirm('是否确认导出所有订单数据项?').then(() => {
this.exportLoading = true;
return exportOrderExcel(this.combinedQueryParams);
return exportCargoControl(this.combinedQueryParams);
}).then(response => {
this.$download.excel(response, '${table.classComment}.xls');
this.$download.excel(response, this.$t('控货订单') + '.xlsx');
this.exportLoading = false;
}).catch(() => { });
},
......
......@@ -165,8 +165,8 @@ export default {
LODOP.SET_PREVIEW_WINDOW(1,0,0,'410mm','139mm',"");
LODOP.SET_PRINT_PAGESIZE(0,'203.9mm','178mm',"");
LODOP.SET_PRINT_MODE("FULL_WIDTH_FOR_OVERFLOW",true);
LODOP.SET_PRINT_MODE("FULL_HEIGHT_FOR_OVERFLOW",true);
/* LODOP.SET_PRINT_MODE("FULL_WIDTH_FOR_OVERFLOW",true);
LODOP.SET_PRINT_MODE("FULL_HEIGHT_FOR_OVERFLOW",true); */
LODOP.ADD_PRINT_HTM('40mm',0,'204mm','148mm', document.getElementById("myproa").innerHTML);
LODOP.SET_PRINT_MODE("AUTO_CLOSE_PREWINDOW", true);
......
<template>
<index dept />
</template>
<script>
import Index from './index'
export default {
name: 'EcwOrderDept',
components: {Index}
}
</script>
\ No newline at end of file
......@@ -211,15 +211,16 @@
<el-timeline v-if="order.orderTimeVOList && order.orderTimeVOList.length" :reverse="true">
<el-timeline-item v-for="(activity, index) in order.orderTimeVOList" :key="index" :timestamp="activity.timestamp">
{{ activity.titleZh }}
<div>{{$l(activity, 'remarks')}}</div>
</el-timeline-item>
</el-timeline>
<el-result v-else icon="info " :title="$t('暂无数据')" :subTitle="$t('暂无订单动态数据')" />
</el-tab-pane>
<el-tab-pane :label="$t('运单资料/提货单')" name="three">
<!--inWarehouseState 1待入库,2多了,3少了,4到齐-->
<el-button type="text" @click="showWarehouseReceipt=true" :disabled="order.inWarehouseState == 0 && order.shipmentState == 0">{{$t('查看入仓单')}}</el-button>
<el-button type="text" @click.native="showLadingBill=true" :disabled="!order.ladingState">{{$t('查看提货单')}}</el-button>
<el-button :disabled="!order.packingListUrl" type="text" @click="downloadPackingList">{{$t('装箱单')}}</el-button>
<el-button v-hasPermi="['ecw:order:show_receipt']" type="text" @click="showWarehouseReceipt=true" :disabled="order.inWarehouseState == 0 && order.shipmentState == 0">{{$t('查看入仓单')}}</el-button>
<el-button v-hasPermi="['ecw:order:show_landing']" type="text" @click.native="showLadingBill=true" :disabled="!order.ladingState">{{$t('查看提货单')}}</el-button>
<el-button v-hasPermi="['ecw:order:show_packing']" :disabled="!order.packingListUrl" type="text" @click="downloadPackingList">{{$t('装箱单')}}</el-button>
</el-tab-pane>
<el-tab-pane :label="$t('费用明细')" name="four">
<el-table :data="feeList">
......
......@@ -835,7 +835,7 @@ export default {
'form.isCargoControl'(isCargoControl){
console.log('form.isCargoControl', this.form.isCargoControl, this.initing)
if(!this.initing){
this.$set(this.form, 'drawee', isCargoControl ? 1 : 2)
this.$set(this.form, 'drawee', isCargoControl ? 2 : 2)
}
},
/* 'form.orderItemVOList'(){
......@@ -852,6 +852,12 @@ export default {
}
})
},
// 送货上门变化后需要判断当前选择的收货方式,如果选择了送货上门但是当前不支持送货上门则需要重置
homeDeliveryService(enable){
if(!enable && this.form.harvestMethod != 1){
this.form.harvestMethod = 1
}
}
},
activated(){
......
......@@ -95,7 +95,10 @@
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<el-col :span="12">
<el-button type="primary" size="mini" @click="exportSearch" v-hasPermi="['ecw:exception:export']">导出</el-button>
</el-col>
<el-col :span="12"><right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar></el-col>
</el-row>
<!-- 列表 -->
......@@ -169,8 +172,23 @@
</el-table-column>
<el-table-column :label="$t('操作')" align="center">
<template slot-scope="scope">
<el-button v-if="scope.row.orderExceptionStatus<2" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-share" @click="handEdit(scope.row.orderId)">{{$t('查看')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('查看')}}</el-button>
<!-- <el-button size="mini" type="text" icon="el-icon-share" @click="handEdit(scope.row.orderId)">{{$t('查看')}}</el-button> -->
<el-button v-if="scope.row.orderExceptionType=='order_superfluous_box_exception'" v-hasPermi="['ecw:exception:superfluousBox']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_lack_box_exception'" v-hasPermi="['ecw:exception:lackBox']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_pay_exception'" v-hasPermi="['ecw:exception:pay']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_miss_exception'" v-hasPermi="['ecw:exception:miss']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_superfluous_goods_exception'" v-hasPermi="['ecw:exception:superfluousGoods']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_in_water_exception'" v-hasPermi="['ecw:exception:inWater']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_damage_exception'" v-hasPermi="['ecw:exception:damaged']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_heavy_cargo_exception'" v-hasPermi="['ecw:exception:heavyCargo']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_doc_exception'" v-hasPermi="['ecw:exception:doc']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_consignor_exception'" v-hasPermi="['ecw:exception:consignor']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_other_exception'" v-hasPermi="['ecw:exception:other']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_cod_exception'" v-hasPermi="['ecw:exception:cod']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_no_quote_exception'" v-hasPermi="['ecw:exception:noQuote']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_bulky_cargo_exception'" v-hasPermi="['ecw:exception:bulkyCargo']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_pick_up_exception'" v-hasPermi="['ecw:exception:pickUp']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row.orderId)">{{$t('处理')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -181,7 +199,7 @@
</template>
<script>
import {getOrderExceptionPage} from "@/api/ecw/orderException"
import {getOrderExceptionPage, exportExcel} from "@/api/ecw/orderException"
import {getTradeCityList} from '@/api/ecw/region'
import {DICT_TYPE} from '@/utils/dict'
// import { userList } from "@/api/system/user"
......@@ -302,7 +320,22 @@ export default {
tag += this.$t('(空)')
}
return tag
}
},
exportSearch(){
this.exportExcel(exportExcel, this.queryParams, this.$t('异常订单'))
},
// 通用导出函数
exportExcel(func, params, fileName = null){
this.exportLoading = true;
func(params).then(res => {
if(!fileName){
fileName = this.$t('订单')
}
this.$download.excel(res, fileName + '.xls');
}).finally(() => {
this.exportLoading = false
})
},
}
}
</script>
This diff is collapsed.
......@@ -98,6 +98,11 @@
</template>
</el-table-column>
<el-table-column :label="$t('处理人')" align="center" prop="userName" />
<el-table-column :label="$t('创建时间')" align="center">
<template slot-scope="scope">
<span>{{parseTime(scope.row.createTime)}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('处理时间')" align="center">
<template slot-scope="scope">
<span>{{parseTime(scope.row.handlerTime)}}</span>
......@@ -106,7 +111,21 @@
<el-table-column :label="$t('操作')" align="center">
<template slot-scope="scope">
<el-tag v-if="scope.row.orderExceptionStatus==2">{{$t('已完成')}}</el-tag>
<el-button v-else size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_superfluous_box_exception'" v-hasPermi="['ecw:exception:superfluousBox']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_lack_box_exception'" v-hasPermi="['ecw:exception:lackBox']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_pay_exception'" v-hasPermi="['ecw:exception:pay']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_miss_exception'" v-hasPermi="['ecw:exception:miss']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_superfluous_goods_exception'" v-hasPermi="['ecw:exception:superfluousGoods']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_in_water_exception'" v-hasPermi="['ecw:exception:inWater']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_damage_exception'" v-hasPermi="['ecw:exception:damaged']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_heavy_cargo_exception'" v-hasPermi="['ecw:exception:heavyCargo']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_doc_exception'" v-hasPermi="['ecw:exception:doc']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_consignor_exception'" v-hasPermi="['ecw:exception:consignor']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_other_exception'" v-hasPermi="['ecw:exception:other']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_cod_exception'" v-hasPermi="['ecw:exception:cod']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_no_quote_exception'" v-hasPermi="['ecw:exception:noQuote']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_bulky_cargo_exception'" v-hasPermi="['ecw:exception:bulkyCargo']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
<el-button v-else-if="scope.row.orderExceptionType=='order_pick_up_exception'" v-hasPermi="['ecw:exception:pickUp']" size="mini" type="text" icon="el-icon-edit" @click="handEdit(scope.row)">{{$t('处理')}}</el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -69,16 +69,17 @@
</el-form-item>
</el-row>
<el-row v-if="shopData">
<el-form-item :label="$t('入仓参数')+':'" v-if="shopData.warehouseInInfoVO">
<el-form-item :label="$t('入仓参数')+':'" ><template v-if="shopData.warehouseInInfoVO">
{{$t('{num}箱 {volume}m³ {weight}kg {quantity}', {
num: shopData.warehouseInInfoVO.cartonsNum || 0,
volume: shopData.warehouseInInfoVO.volume || 0,
weight: shopData.warehouseInInfoVO.weight || 0,
quantity: shopData.warehouseInInfoVO.quantityAll || 0
})}}
})}}</template>
<!-- <span>{{(orderData.sumNum||0)+$t('')+(orderData.sumVolume||0)+''+(orderData.sumWeight||0)+'kg '+(orderData.sumQuantity||0) +$t('')}}</span> -->
</el-form-item>
<template v-else>{{$t('无入仓数据')}}</template>
</el-form-item>
</el-row>
</template>
......@@ -100,8 +101,19 @@
<span>{{orderData.sumNum||0}}{{$t('')}} {{orderData.wvolume||0}}m³ {{orderData.vweight||0}}Kg {{orderData.sumQuantity||0}}{{$t('')}}</span>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('创建时间')+':'">
<span>{{parseTime(orderExceptionData.createTime)}}</span>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('处理时间')+':'">
<span>{{parseTime(orderExceptionData.handlerTime)||'/'}}</span>
</el-form-item>
</el-row>
</div>
</el-form>
<!-- 预付异常的表格 -->
<el-table v-if="orderExceptionData.orderExceptionType=='order_pay_exception'" v-loading="loading" border :data="preException">
<el-table-column :label="$t('品名')" align="center">
......@@ -380,6 +392,7 @@
import {getExceptionById,handlerExceptionByExceptionId,getOrderItemById,getOrderFeeById} from "@/api/ecw/orderException"
import {getFirstReceivableListByOrderId} from '@/api/ecw/financial'
import WorkFlow from '@/components/WorkFlow'
import {listByIds} from '@/api/ecw/region'
import {cancelProcessInstance} from '@/api/bpm/processInstance'
export default {
name: "PrepayDeal",
......@@ -415,6 +428,7 @@
timers:"", //时间戳
FilePreAll:[], // 预览数组
TragetPic:{},
region:''
};
},
created() {
......@@ -436,6 +450,17 @@
if(val == 'cod' && this.orderExceptionData.orderExceptionAmountCurrencyId){
this.$set(this.handlerParams, 'currency', this.orderExceptionData.orderExceptionAmountCurrencyId)
}
},
'orderData.consigneeVO'(val){
if(!val) return '-'
listByIds({ids: [val.country, val.province, val.city].join(',')}).then(res => {
console.log('listById', res)
let region = ''
res.data.forEach(item => {
region += " " + item.titleZh
})
this.region = region
})
}
},
computed: {
......@@ -605,6 +630,13 @@
</script>
<style scoped>
.link-text{
margin-top:20px;
}
.link-text span{
font-size:16px;
font-weight:600;
}
.card-title{
font-size: 18px;
font-weight: bold;
......
......@@ -22,7 +22,7 @@
<dict-selector :type="DICT_TYPE.ECW_HARVEST_METHOD" v-model="form.pickType" form-type="radio" formatter="number"></dict-selector>
</el-form-item>
<el-form-item :label="$t('提货时间')" v-if="form.pickType == 1">
<el-date-picker v-model="form.pickTime" placeholder="" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-date-picker v-model="form.pickTime" placeholder="" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<template v-if="form.pickType == 2">
......@@ -49,14 +49,14 @@
<el-form-item :label="$t('附件')">
<image-upload v-model="form.attachment" />
</el-form-item>
<el-form-item :label="$t('备注')">
<el-input v-model="form.remark" type="textarea" placeholder=""></el-input>
</el-form-item>
<el-form-item label="">
<el-button type="primary" @click="submit">{{$t('确认放货')}}</el-button>
<el-button type="default" @click="$router.back()">{{$t('取消')}}</el-button>
</el-form-item>
</el-form-item>
</el-form>
</div>
</template>
......@@ -87,7 +87,8 @@ export default {
getOrder(this.$route.query.orderId).then(res => {
this.order = res.data
this.$set(this.form, 'pickType', this.order.consigneeVO.harvestMethod)
})
});
this.form.pickTime = new Date().format('yyyy-MM-dd hh:mm:ss');
},
submit(){
create(Object.assign({orderId: this.order.orderNo}, this.form)).then(res => {
......@@ -98,4 +99,4 @@ export default {
}
}
}
</script>
\ No newline at end of file
</script>
......@@ -92,8 +92,8 @@
prop="address"
:label="$t('操作')">
<template v-slot="{row}">
<el-button v-if="row.originalSeaFreight" size="mini" type="text" v-hasPermi="['ecw:order:update']" @click="showDiscountItem=row">{{$t('优惠申请')}}</el-button>
<el-button v-if="row.originalSeaFreight" size="mini" type="text" v-hasPermi="['ecw:order:update']" @click="showCommissionItem=row">{{$t('佣金规则')}}</el-button>
<el-button v-if="row.originalSeaFreight" size="mini" type="text" v-hasPermi="['ecw:order:reduce']" @click="showDiscountItem=row">{{$t('优惠申请')}}</el-button>
<el-button v-if="row.originalSeaFreight" size="mini" type="text" v-hasPermi="['ecw:order:commission']" @click="showCommissionItem=row">{{$t('佣金规则')}}</el-button>
<el-button v-if="row.originalSeaFreight" size="mini" type="text" v-hasPermi="['ecw:order:discount']" @click="showAllowanceItem=row">{{$t('管理折扣')}}</el-button>
</template>
</el-table-column>
......@@ -105,8 +105,8 @@
1.海运整柜、海运拼柜显示重货优惠 1,2
2.空运专线、海空联运显示泡货优惠 3,4
-->
<el-button type="primary" @click="showPreferentialType=4" v-if="order.transportId === 1 || order.transportId === 2">{{$t('申请重货优惠')}}</el-button>
<el-button type="primary" @click="showPreferentialType=5" v-else>{{$t('申请泡货优惠')}}</el-button>
<el-button v-hasPermi="['ecw:order:heavy']" type="primary" @click="showPreferentialType=4" v-if="order.transportId === 1 || order.transportId === 2">{{$t('申请重货优惠')}}</el-button>
<el-button v-hasPermi="['ecw:order:bulky']" type="primary" @click="showPreferentialType=5" v-else>{{$t('申请泡货优惠')}}</el-button>
<el-button type="primary" @click="$tab.closePage()">{{$t('关闭窗口')}}</el-button>
</div>
</el-card>
......
......@@ -25,7 +25,9 @@
v-model="form.brand"
:placeholder="$t('可修改')"
filterable
remote
@change="handleBrandChange"
:remote-method="getProductBrandPage"
clearable>
<el-option
v-for="item in brandList"
......@@ -197,7 +199,9 @@
v-model="form1.brand"
:placeholder="$t('可修改')"
filterable
remote
@change="handleBrandChange"
:remote-method="getProductBrandPage"
clearable>
<el-option
v-for="item in brandList"
......@@ -393,6 +397,10 @@ export default {
type: Boolean,
default: false
},
isJiyun: {
type: Boolean,
default: false
},
// 入仓修改
edit: {
type: Boolean,
......@@ -410,17 +418,6 @@ export default {
}
},
mounted() {
getProductBrankPage({pageSize: 100000}).then(r => {
this.brandList = r.data.list.map(e => {
if(e.id){
e.id = e.id.toString()
}
return e
})
})
},
data() {
return {
DICT_TYPE,
......@@ -497,6 +494,11 @@ export default {
if (this.warehousing) {
// this.orderItem = this.warehousing
this.inTime = this.warehousing.inTime
if (!!this.warehousing.brandName){
this.getProductBrandPage(this.warehousing.brandName)
} else {
this.getProductBrandPage()
}
}
} else {
}
......@@ -535,8 +537,17 @@ export default {
}
}
},
methods: {
getProductBrandPage(titleZh = undefined) {
getProductBrankPage({pageSize: 20, titleZh}).then(r => {
this.brandList = r.data.list.map(e => {
if(e.id){
e.id = e.id.toString()
}
return e
})
})
},
handleCancelProcessInstance(){
this.$prompt('请输入取消原因?', this.$t("取消流程"), {
type: 'warning',
......@@ -555,7 +566,13 @@ export default {
this.form1.prodTitleZh = product.titleZh
this.form1.prodTitleEn = product.titleEn
},
handleTabs(){},
handleTabs(){
if (this.activeName === 'first'){
this.getProductBrandPage(this.warehousing.brandName)
} else {
this.getProductBrandPage()
}
},
handleBrandChange(v){
getFeeTypeByOrderProduct({
brandId: parseInt(v),
......@@ -694,9 +711,9 @@ export default {
}
const form = val === 1 ? this.form1 : this.form
form.orderWarehouseInItemDoList.push({
"boxGauge1": "",
"boxGauge2": "",
"boxGauge3": "",
"boxGauge1": this.isJiyun ? 0 : '',
"boxGauge2": this.isJiyun ? 0 : '',
"boxGauge3": this.isJiyun ? 0 : '',
"cartonsNum": cartonsNum > 0 ? cartonsNum : '',
"expressNo": "",
"quantityAll": undefined,
......@@ -732,7 +749,7 @@ export default {
const [boxGauge1, boxGauge2, boxGauge3] = boxGaugeList
return {...e, boxGauge1, boxGauge2, boxGauge3}
}
return e
return {...e, boxGauge1: this.isJiyun ? 0 : '', boxGauge2: this.isJiyun ? 0 : '', boxGauge3: this.isJiyun ? 0 : ''}
})
},
tableData1() {
......
......@@ -153,7 +153,7 @@
<warehouse-area-dialog ref="area" :visible.sync="areaVisible" v-model="form.orderLocationCreateReqVOList"
:order-id="orderId" :warehouse-id="warehouseId" :is-editing="isEdit"></warehouse-area-dialog>
<edit-dialog :title="title" :order-id="order.orderId" :visible.sync="warehousingVisible" :warehousing="warehousing" :edit="isEdit"></edit-dialog>
<edit-dialog :title="title" :order-id="order.orderId" :visible.sync="warehousingVisible" :warehousing="warehousing" :edit="isEdit" :is-jiyun="order.type.indexOf('1') !== -1"></edit-dialog>
<!-- 完成入仓 -->
<el-dialog
......@@ -174,7 +174,7 @@
<el-form-item :label="$t('原因类型')">
<dict-selector v-model="form.manualExceptionType" form-type="checkbox" :type="DICT_TYPE.MANUAL_EXCEPTION_TYPE" multiple ></dict-selector>
</el-form-item>
<el-form-item required :label="$t('附件')">
<el-form-item :label="$t('附件')">
<image-upload v-model="form.exceptionUrls"></image-upload>
</el-form-item>
<el-form-item :label="$t('详细信息')">
......@@ -392,7 +392,7 @@ export default {
}
if (this.escapeBol) {
form.exceptionUrls = this.form.exceptionUrls.split(',');
form.exceptionUrls = this.form.exceptionUrls.length !== 0 ? this.form.exceptionUrls?.split(',') : []
form.descZh = this.form.descZh;
form.manualExceptionType = this.form.manualExceptionType.join(',')
}
......
......@@ -17,7 +17,7 @@
<el-form-item :label="$t('商品类型')" prop="attrId">
<el-select v-model="queryParams.typeId" :placeholder="$t('选择商品类型')" clearable>
<el-option v-for="type in typeList" :key="type.id" :label="$l(type, 'title')" :value="type.id" />
<el-option v-for="types in typeList" :key="types.id" :label="$l(types, 'title')" :value="types.id" />
</el-select>
</el-form-item>
......@@ -55,7 +55,7 @@
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" >{{$t('导出')}}</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['ecw:product-price:export']" :loading="exportLoading" >{{$t('导出')}}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
......@@ -134,7 +134,7 @@
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item :label="$t('商品类型')" prop="typeId">
<el-select v-model="form.typeId" :placeholder="$t('选择商品类型')" clearable>
<el-option v-for="type in typeList" :key="type.id" :label="type.titleZh" :value="type.id" />
<el-option v-for="types in typeList" :key="types.id" :label="types.titleZh" :value="types.id" />
</el-select>
</el-form-item>
......@@ -206,7 +206,11 @@
<el-radio v-model.number="form.needBook" :label="1">{{$t('是')}}</el-radio>
<el-radio v-model.number="form.needBook" :label="0">{{$t('否')}}</el-radio>
</el-form-item>
<!-- <el-form-item :label="$t('可参与优惠活动')" prop="you">
<el-select v-model="form.you" :placeholder="$t('可参与优惠活动')" clearable>
<el-option v-for="packageItem in packagingList" :key="packageItem.value" :label="packageItem.label" :value="packageItem.value" />
</el-select>
</el-form-item> -->
<el-form-item :label="$t('每日入仓上限')" prop="dayLimit" v-if="form.needBook==1">
<el-input v-model.number="form.dayLimit" type="number">
<template slot="append">{{$t('立方米')}}</template>
......
......@@ -102,6 +102,14 @@
<span >{{row.startTime?(parseTime(row.startTime, '{y}-{m}-{d}') + ' - ' + parseTime(row.endTime, '{y}-{m}-{d}')):'永久'}}</span>
</template>
</el-table-column>
<el-table-column
prop="startTime"
width="200px"
:label="$t('添加时间')">
<template v-slot="{row}">
<span >{{parseTime(row.createTime)}}</span>
</template>
</el-table-column>
<el-table-column
prop="feeScale"
:formatter="(row) => getDictDataLabel(DICT_TYPE.BRAND_CUSTOMER_CHARGING_MODEL, row.feeScale)"
......
......@@ -61,11 +61,27 @@
<dict-tag :type="DICT_TYPE.BRAND_REG_TYPE" :value="scope.row.filing" />
</template>
</el-table-column>
<el-table-column :label="$t('创建人')" align="center" prop="creator" width="180">
<template v-slot="{row}">
{{(row.creator && allSimplList.length) && allSimplList.find(i => i.id == row.creator).nickname}}
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column> <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
</el-table-column>
<el-table-column :label="$t('修改人')" align="center" prop="updater" width="180">
<template v-slot="{row}">
{{ (row.updater && allSimplList.length) && allSimplList.find(i => i.id == row.updater).nickname}}
</template>
</el-table-column>
<el-table-column :label="$t('修改时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime) }}</span>
</template>
</el-table-column>
<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="handleEmpower(scope.row)" v-show="scope.row.filing === '1'"
v-hasPermi="['ecw:product-brank:update']">{{ $t('添加授权客户') }}</el-button>
......@@ -143,6 +159,7 @@ import {getProductTypeList} from "@/api/ecw/productType"
import {getProductList} from "@/api/ecw/product"
import BrandForm from "@/views/ecw/productBrank/BrandForm"
import Empower from "@/views/ecw/productBrank/Empower"
import {listAllSimpl} from "@/api/system/user";
export default {
name: "ProductBrank",
......@@ -194,7 +211,8 @@ export default {
showEmpower: false,
empowerId: null,
empowerTitle: ''
empowerTitle: '',
allSimplList:[],
};
},
created() {
......@@ -204,6 +222,9 @@ export default {
})
getProductList().then(r => {
this.productList = r.data
});
listAllSimpl().then(r => {
this.allSimplList = r.data
})
},
methods: {
......
......@@ -163,9 +163,9 @@
v-hasPermi="['ecw:product-price:update']">{{$t('修改')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="updateStatus(scope.row, 'blacklist')"
v-hasPermi="['ecw:product-price:update']">{{ scope.row.blacklist == 0 ? $t('加入黑名单') : $t('移除黑名单') }}</el-button>
v-hasPermi="['ecw:product-price:black']">{{ scope.row.blacklist == 0 ? $t('加入黑名单') : $t('移除黑名单') }}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="updateStatus(scope.row, 'auditStatus')"
v-hasPermi="['ecw:product-price:update']">{{scope.row.auditStatus == AuditStatusEnum.PASS ? $t('下架') : $t('上架')}}</el-button>
v-hasPermi="['ecw:product-price:down']">{{scope.row.auditStatus == AuditStatusEnum.PASS ? $t('下架') : $t('上架')}}</el-button>
<!-- <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:product-price:delete']">{{$t('删除')}}</el-button> -->
</template>
......
......@@ -73,15 +73,14 @@
</el-col>
<el-col :span="1.5">
<!--未指定商品-->
<el-button v-if="!$route.query.product_id" type="primary" plain icon="el-icon-setting" size="mini" @click="handleBatchEdit">{{$t('批量设置价格')}}</el-button>
<el-button v-if="!$route.query.product_id" type="primary" plain icon="el-icon-setting" size="mini" @click="batchBlock" :disabled="multiple">{{$t('批量加入黑名单')}}</el-button>
<el-button v-if="!$route.query.product_id" type="primary" plain icon="el-icon-setting" size="mini" @click="batchOff" :disabled="multiple">{{$t('批量下架')}}</el-button>
<el-button v-if="!$route.query.product_id" type="primary" v-hasPermi="['ecw:product-price:batch_update']" size="mini" @click="handleBatchEdit">{{$t('批量设置价格')}}</el-button>
<el-button v-if="!$route.query.product_id" type="primary" v-hasPermi="['ecw:product-price:bartch_black']" size="mini" @click="batchBlock" :disabled="multiple">{{$t('批量加入黑名单')}}</el-button>
<el-button v-if="!$route.query.product_id" type="primary" v-hasPermi="['ecw:product-price:batch_down']" size="mini" @click="batchOff" :disabled="multiple">{{$t('批量下架')}}</el-button>
<el-button v-if="!$route.query.product_id" type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" >{{$t('导出')}}</el-button>
</el-col>
<el-button v-if="!$route.query.product_id" type="warning" v-hasPermi="['ecw:product-price:export']" @click="handleExport" :loading="exportLoading" >{{$t('导出')}}</el-button>
<!--指定商品-->
<el-button v-if="$route.query.product_id" type="primary" plain icon="el-icon-setting" size="mini" @click="batchSetSingleProductPrice">{{$t('批量设置单个商品的路线')}}</el-button>
<el-button v-if="$route.query.product_id" type="primary" v-hasPermi="['ecw:product-price:single_product']" @click="batchSetSingleProductPrice">{{$t('批量设置单个商品的路线')}}</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
......@@ -215,16 +214,16 @@
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="140">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row, true)"
v-hasPermi="['ecw:product-price:update']">{{$t('查看')}}</el-button>
v-hasPermi="['ecw:product-price:show']">{{$t('查看')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:product-price:update']">{{$t('编辑')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="updateStatus(scope.row, 'blacklist')"
>{{ scope.row.blacklist == 0 ? $t('加入黑名单') : $t('移除黑名单') }}</el-button>
v-hasPermi="['ecw:product-price:black']">{{ scope.row.blacklist == 0 ? $t('加入黑名单') : $t('移除黑名单') }}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="updateStatus(scope.row, 'auditStatus')"
>{{scope.row.auditStatus == AuditStatusEnum.PASS ? $t('下架') : $t('上架')}}</el-button>
v-hasPermi="['ecw:product-price:down']">{{scope.row.auditStatus == AuditStatusEnum.PASS ? $t('下架') : $t('上架')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:product-price:delete']">{{$t('删除')}}</el-button>
v-hasPermi="['ecw:product-price:delete']">{{$t('删除')}}</el-button>
</template>
</el-table-column>
</el-table>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -101,7 +101,7 @@ import { CommonStatusEnum } from '@/utils/constants'
import { getDictDatas, DICT_TYPE } from '@/utils/dict'
export default {
name: "Dict",
name: "SystemDictIndex",
data() {
return {
// 遮罩层
......@@ -151,6 +151,9 @@ export default {
created() {
this.getList();
},
activated(){
this.getList();
},
methods: {
/** 查询字典类型列表 */
getList() {
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment