Commit 3c4db856 authored by zhoutong's avatar zhoutong
parents 23b010d7 e32b9b84
......@@ -5,7 +5,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
**/*.log
*.stackdump
tests/**/coverage/
tests/e2e/reports
selenium-debug.log
......
Stack trace:
Frame Function Args
00800000010 0018006401E (001802839A0, 0018026EFD1, 00000000059, 000FFFFB700)
00800000010 0018004973A (00800000010, 00100000000, 00000000000, 00000000001)
00800000010 00180049772 (00000000000, 00000000000, 00000000059, 00180354100)
00800000010 00180070FE9 (00000000000, 000FFFFC7D0, 0000000000B, 00000000000)
00800000010 001800712A0 (00000000003, 000FFFFC8F0, 00180045BCF, 000FFFFC8F0)
00800000010 00180072AB9 (000FFFFC8F0, 00180271795, 001801004A7, 0000000000D)
00800000010 0018005B2A3 (7FF8018B1490, 00000000000, 00000000000, 000FFFFFFFF)
00800000010 0018005C655 (00800029390, 1D400000000, 00000000000, 00000000008)
00800000010 0018005CB3F (000FFFFCCE0, 000FFFFCC45, 00000000000, 205C745C615C635C)
000FFFFCBBC 0018005CF2F (635C655C205C265C, 3E5C205C6F5C685C, 765C655C645C2F5C, 795C745C745C2F5C)
000FFFFCCE0 00180049EE8 (00000000000, 00000000000, 00000000000, 00000000000)
000FFFFFFF0 00180048846 (00000000000, 00000000000, 00000000000, 00000000000)
000FFFFFFF0 001800488F4 (00000000000, 00000000000, 00000000000, 00000000000)
End of stack trace
Stack trace:
Frame Function Args
00800000010 0018006401E (001802839A0, 0018026EFD1, 00000000059, 000FFFFB710)
00800000010 0018004973A (00800000010, 00100000000, 00000000000, 00000000001)
00800000010 00180049772 (00000000000, 00000000000, 00000000059, 00180353FD0)
00800000010 00180070FE9 (00000000002, 000FFFFC7E0, 0000000000B, 00000000000)
00800000010 001800712A0 (000FFFFCBC0, 00800000010, 00180045B55, 000FFFFC900)
00800000010 00180072AB9 (000FFFFC900, 00180271795, 001801004A7, 0000000000D)
00800000010 0018005B2A3 (7FF8018B1490, 00000000000, 00000000000, 040FFFFFFFF)
00800000010 0018005C655 (00000000002, 00180350D08, 00000000002, 00000000008)
00800000010 0018005CB3F (000FFFFCC9C, 000FFFFCCE0, 000FFFFCC9D, 000FFFFCC00)
000FFFFCBCC 0018005CF2F (6D5C2D5C6C5C615C, 675C615C6E5C615C, 635C2D5C725C655C, 205C655C725C6F5C)
000FFFFCCE0 00180049EE8 (00000000000, 00000000000, 00000000000, 00000000000)
000FFFFFFF0 00180048846 (00000000000, 00000000000, 00000000000, 00000000000)
000FFFFFFF0 001800488F4 (00000000000, 00000000000, 00000000000, 00000000000)
End of stack trace
......@@ -29,3 +29,12 @@ export function exportCustomerCommissionExcel(query) {
})
}
//
export function getDarkReturnCommission(data){
return request({
url: '/ecw/customer-commission/get-dark-return-commission',
method: 'post',
data
})
}
\ No newline at end of file
......@@ -52,3 +52,28 @@ export function exportFutureBoxExcel(query) {
responseType: 'blob'
})
}
// 根据运输方式ID得到已封柜方数
export function getBoxedVolume(params){
return request({
url: '/ecw/future-box/getBoxedVolume',
method: 'get',
params
})
}
// 根据运输方式ID得到待入仓方数
export function getToBeWareHousedVolume(params){
return request({
url: '/ecw/future-box/getToBeWareHousedVolume',
method: 'get',
params
})
}
// 根据运输方式ID得到已入仓方数
export function getWareHousedVolume(params){
return request({
url: '/ecw/future-box/getWareHousedVolume',
method: 'get',
params
})
}
\ No newline at end of file
......@@ -106,3 +106,21 @@ export function getOfferSpecialByApproveId(approveId) {
})
}
// 取消报价管理
export function cancel(id) {
return request({
url: '/ecw/offer/cancel',
method: 'delete',
params: {id}
})
}
// 恢复取消的报价管理
export function recovery(id) {
return request({
url: '/ecw/offer/recovery',
method: 'delete',
params: {id}
})
}
\ No newline at end of file
......@@ -116,3 +116,19 @@ export function seasoningCondimentsSelect(params){
})
}
// 根据放货ID查询控货订单放货修改审核详情
export function getPpickUpdateInfo(id){
return request({
url: '/ecw/order-cargo-control-pick/update/info/{id}/' + id,
method: 'get'
})
}
// 获得控货订单放货修改申请详情 {approveId: 1}
export function getPickUpdateApproveInfo(params){
return request({
url: '/ecw/order-cargo-control-pick/update/info',
method: 'get',
params
})
}
\ No newline at end of file
......@@ -36,7 +36,7 @@ $base-sub-menu-background:#000c17;
$base-sub-menu-hover:#001528;
*/
$base-sidebar-width: 200px;
$base-sidebar-width: 250px;
// the :export directive is the magic sauce for webpack
// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
......
<template>
<selector v-model="valueSync" :options="countryList" value-field="tel" key-field="id" :label-field="item => item.nameZh + item.tel" filterable clearable :disabled="disabled"></selector>
<selector v-model="valueSync" :options="countryList" value-field="tel" key-field="id" :label-field="item => $l(item, 'name') + ' +' + item.tel" filterable clearable :disabled="disabled"></selector>
</template>
<script>
import {getCountryListAll} from '@/api/ecw/country'
......@@ -18,7 +18,7 @@ export default {
},
watch:{
valueSync(){
this.$emit('input', this.valueSync)
this.$emit('input', this.valueSync.replace('+', ''))
},
value(){
if(this.value)this.valueSync = this.value
......@@ -29,7 +29,10 @@ export default {
this.valueSync = this.value
}
getCountryListAll().then(res => {
this.countryList = res.data
this.countryList = res.data.map(item => {
item.tel = item.tel.replace('+', '')
return item
})
})
},
methods:{
......
......@@ -55,7 +55,7 @@ export default {
},
methods:{
handleQuery(){
// this.form.pageNo = 1
this.form.pageNo = 1
this.loadList()
},
loadList(){
......
......@@ -158,7 +158,7 @@ export default {
},
created() {
this.resetCustomerFollowForm()
// this.resetCustomerFollowForm()
if (!!this.customerId) getCustomerContactsListByCustomer({customerId: this.customerId}).then(r => {
this.customerContactsList = r.data
this.customerFollow.form.customerId = this.customerId
......@@ -213,6 +213,7 @@ export default {
this.customerFollow.dialogVisible = false
},
resetCustomerFollowForm() {
console.log(11)
this.customerFollow.form = {
"bizId": this.id,
"contactName": undefined,
......
......@@ -11,7 +11,6 @@
<el-row :gutter="10">
<el-col>
<el-form-item label="跟进类型" required>
<span>{{form.followType}}</span>
<dict-selector ref="dictTag" form-type="radio" v-model="form.followType" :type="DICT_TYPE.CUSTOMER_FOLLOW_TYPE"></dict-selector>
</el-form-item>
</el-col>
......@@ -104,7 +103,7 @@ export default {
},
created() {
this.resetCustomerFollowForm()
// this.resetCustomerFollowForm()
if (!!this.customerId) getCustomerContactsListByCustomer({customerId: this.customerId}).then(r => {
this.customerContactsList = r.data
// this.$set(form, 'customerId', this.customerId)
......
......@@ -73,7 +73,7 @@ export default {
number: 0,
uploadList: [],
baseUrl: process.env.VUE_APP_BASE_API,
uploadFileUrl: process.env.VUE_APP_BASE_API + "/app-api/file/upload", // 上传的文件服务器地址
uploadFileUrl: process.env.VUE_APP_BASE_API + "/admin-api/infra/file/org-name/up", // 上传的文件服务器地址
headers: {
Authorization: "Bearer " + getToken(),
},
......
......@@ -187,8 +187,9 @@ export default {
})
getTradeCityList().then(res => {
this.tradeCityList = res.data
})
// 路线需要过滤失效的进出口城市,所以在程序加载后再加载路线
this.getOpenedRouterList()
})
if(this.value && this.value.length){
this.selectedRoutes = this.value
......
......@@ -57,7 +57,8 @@ export default {
},
remoteMethod(keyword){
let params = {
pageSize: 100
pageSize: 500,
companyType: this.companyType
}
params.keyword = keyword
this.loading = true
......
......@@ -12,10 +12,20 @@ const i18n = new VueI18n({
}
})
console.log({i18n})
/*
用法
$l('title') => titleZh
$l(item, 'title') => item.titleZh
$l(null, 'title') => titleZh
$l() => Zh
*/
Vue.prototype.$l = (object, field = '') => {
let prefix = i18n.locale.split('_')[0]
let append = prefix.charAt(0).toUpperCase() + prefix.toLowerCase().substr(1)
// 如果object是null则返回字段名
if(typeof object == 'string'){
return object + append
}
// 如果object是null或者字符串则返回字段名
if(!object) return field + append
return object[field + append] || object[field]
......
......@@ -17,7 +17,7 @@ const store = new Vuex.Store({
tagsView,
permission,
settings,
dict
dict,
},
getters
})
......
......@@ -82,6 +82,26 @@ const mutations = {
}
return false
})
},
DEL_LEFT_VIEWS: (state, view) => {
const index = state.visitedViews.findIndex(v => v.path === view.path)
if (index === -1) {
return
}
state.visitedViews = state.visitedViews.filter((item, idx) => {
if (idx >= index || (item.meta && item.meta.affix)) {
return true
}
const i = state.cachedViews.indexOf(item.name)
if (i > -1) {
state.cachedViews.splice(i, 1)
}
if(item.meta.link) {
const fi = state.iframeViews.findIndex(v => v.path === item.path)
state.iframeViews.splice(fi, 1)
}
return false
})
}
}
......@@ -176,6 +196,12 @@ const actions = {
resolve([...state.visitedViews])
})
},
delLeftTags({ commit }, view){
return new Promise(resolve => {
commit('DEL_LEFT_VIEWS', view)
resolve([...state.visitedViews])
})
},
delCurrentView({ dispatch }){
const view = router.history.current
return dispatch('delView', view).then(({visitedViews}) => {
......
import store from '../store'
export default {
getChannels(){
if(!store.state.cache.channelList){
store.dispatch('cache/getChannelList')
}
return store.state.cache.channelList
}
}
\ No newline at end of file
......@@ -110,6 +110,7 @@ export const DICT_TYPE = {
ECW_RELEASE_STATUS: 'release_status', // 放货状态
ECW_PICK_RECURRENT_NUCLEAR_TYPE: 'PICK_RECURRENT_NUCLEAR_TYPE', // 放货反复核类型
ECW_COST_FEE_TYPE: 'cost_fee_type', // 清单费用类型
ECW_PRICE_AUDIT_STATUS: 'price_audit_status', // 路线价格审核状态
//--------ecw---------
CUSTOMER_STATUS: 'customer_status',
CUSTOMER_SOURCE: 'customer_source',
......
......@@ -131,22 +131,23 @@ import {approveTask, getTaskListByProcessInstanceId, rejectTask, updateTaskAssig
import {getDate} from "@/utils/dateUtils";
import {listSimpleUsers} from "@/api/system/user";
import {getActivityList} from "@/api/bpm/activity";
import specialDetail from "@/views/ecw/offer/components/specialDetail"
import SpecialDetail from "@/views/ecw/offer/components/SpecialDetail"
import warehouseDetails from "@/views/ecw/order/components/warehouseDetails";
import shippingDetail from '@/views/ecw/box/shippingDetail'
import SplitDetail from '@/views/ecw/order/components/SplitDetail'
import MergeDetail from '@/views/ecw/order/components/MergeDetail'
import CargoControlDetail from '@/views/ecw/order/components/CargoControlDetail'
// 流程实例的详情页,可用于审批
export default {
name: "ProcessInstanceDetail",
components: {
Parser,
specialDetail,
SpecialDetail,
warehouseDetails,
shippingDetail,
SplitDetail,
MergeDetail
MergeDetail,
CargoControlDetail
},
computed:{
matterNum(){
......@@ -253,9 +254,33 @@ export default {
merge_detail: {
component: "MergeDetail",
id: this.processInstance.businessKey,
},
// 放货修改
order_update_release: {
component: 'CargoControlDetail',
id: this.processInstance.businessKey,
applyType: 7
},
// 反复核
order_fallback: {
component: 'CargoControlDetail',
id: this.processInstance.businessKey,
applyType: 8
},
// 调货审核
order_cargo_transfer: {
component: 'CargoControlDetail',
id: this.processInstance.businessKey,
applyType: 9
},
// 取消放货审核 // TODO 接口待完善,applyType待完善
order_cancel_release: {
component: 'CargoControlDetail',
id: this.processInstance.businessKey,
applyType: 10
}
}
return map[this.processInstance.processDefinition.formCustomViewPath]
return map[this.processInstance.processDefinition.formCustomViewPath.trim()]
}
},
data() {
......
......@@ -4,17 +4,18 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="运输方式" prop="transportType">
<el-select v-model="queryParams.transportType" placeholder="请选择运输方式" clearable size="small">
<!-- <el-select v-model="queryParams.transportType" placeholder="请选择运输方式" clearable size="small">
<el-option v-for="dict in transportTypes" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-select> -->
<dict-selector :type="DICT_TYPE.TRANSPORT_TYPE" v-model="queryParams.transportType" />
</el-form-item>
<el-form-item label="始发" prop="startWarehouseId">
<el-form-item label="始发" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" placeholder="请选择始发地">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的" prop="destWarehouseId">
<el-form-item label="目的" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" placeholder="请选择目的地">
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
......@@ -30,7 +31,7 @@
<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:future-box:create']"></el-button>
v-hasPermi="['ecw:future-box:create']">建计划</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
......@@ -41,38 +42,68 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="主键ID" align="center" prop="id" />
<el-table-column label="始发地" align="center" prop="startWarehouse" />
<el-table-column label="目的地" align="center" prop="destWarehouse" />
<el-table-column label="运输方式" align="center" prop="transportType">
<el-table-column :label="$t('序号')" align="center" prop="id" />
<el-table-column :label="$t('始发地')" align="center" prop="startWarehouse">
<template slot-scope="{row}">
{{getExportWarehouseName(row.startWarehouseId)}}
</template>
</el-table-column>
<el-table-column :label="$t('目的地')" align="center" prop="destWarehouse" >
<template slot-scope="{row}">
{{getImportWarehouseName(row.destWarehouseId)}}
</template>
</el-table-column>
<el-table-column :label="$t('运输方式')" align="center" prop="transportType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportType" />
</template>
</el-table-column>
<el-table-column label="出货渠道" align="center" prop="shippingChannelId" />
<el-table-column label="待入仓方数" align="center" prop="readyWarehousingNumber" />
<el-table-column label="已入仓方数" align="center" prop="warehousedNumber" />
<el-table-column label="在仓方数" align="center" prop="warehousingNumber" />
<el-table-column label="已装柜方数" align="center" prop="loadingNumber" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<el-table-column :label="$t('出货渠道')" align="center" prop="shippingChannelId">
<template slot-scope="{row}">
{{getShipChannelName(row.shippingChannelId)}}
</template>
</el-table-column>
<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">
<template slot-scope="{row}">
{{row.warehousedNumber || 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="loadingNumber" >
<template slot-scope="{row}">
{{row.loadingNumber || 0}}
</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="未来天数" align="center" prop="futureNumber" />
<el-table-column label="计划货柜" align="center" prop="gpNumber">
<el-table-column :label="$t('未来天数')" align="center" prop="futureNumber" />
<el-table-column :label="$t('计划货柜')" align="center" prop="gpNumber">
<template slot-scope="{row}">
{{row.gpNumber}}个40GP/{{row.hqNumber}}个40HQ
<div>{{row.gpNumber}}个40GP</div>
<div>{{row.hqNumber}}个40HQ</div>
</template>
</el-table-column>
<el-table-column label="未来计划方数" align="center" prop="futurePlanNumber" />
<el-table-column label="未来实际方数" align="center" prop="actualNumber" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('未来计划方数')" align="center" prop="futurePlanNumber" />
<el-table-column :label="$t('未来实际方数')" align="center" prop="actualNumber" />
<el-table-column :label="$t('创建人')" align="center" prop="createName" />
<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:future-box:update']">编辑</el-button>
v-hasPermi="['ecw:future-box:update']">{{$t('编辑')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:future-box:delete']">删除</el-button>
v-hasPermi="['ecw:future-box:delete']">{{$t('删除')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -95,37 +126,43 @@
</el-select>
</el-form-item>
<el-form-item label="运输方式" prop="transportType">
<el-radio-group v-model="form.transportType">
<!-- <el-radio-group v-model="form.transportType">
<el-radio v-for="dict in transportTypes" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
</el-radio-group>
</el-radio-group> -->
<dict-selector :type="DICT_TYPE.TRANSPORT_TYPE" v-model="form.transportType" form-type="radio" />
</el-form-item>
<el-form-item label="出货渠道" prop="shippingChannelId">
<el-form-item label="出货渠道" prop="shippingChannelId" v-if="form.transportType == 3 || form.transportType == 4">
<el-select v-model="form.shippingChannelId" placeholder="请选择出货渠道">
<el-option v-for="item in channelList" :label="item.nameZh" :value="item.channelId" :key="item.channelId"></el-option>
<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="待入仓方数" prop="readyWarehousingNumber"/>
<el-form-item label="已入仓方数" prop="warehousedNumber"/>
<el-form-item label="在仓方数" prop="warehousingNumber"/>
<el-form-item label="已装柜仓数" prop="loadingNumber"/>
<el-form-item label="未来" />
<el-form-item prop="futureNumber">
<el-input v-model="form.futureNumber" placeholder="请输入未来货柜天数" />
<el-form-item label="待入仓方数">
{{form.readyWarehousingNumber}} m³
</el-form-item>
<el-form-item label="天货柜数" />
<el-form-item prop="gpNumber">
<el-input v-model="form.gpNumber" placeholder="请输入GP" />
<el-form-item label="已入仓方数">
{{form.warehousedNumber}} m³
</el-form-item>
<el-form-item label="x40GP"/>
<el-form-item prop="hqNumber">
<el-input v-model="form.hqNumber" placeholder="请输入hq" />
<el-form-item label="在仓方数">
{{form.warehousingNumber}} m³
</el-form-item>
<el-form-item label="x40HQ"/>
<el-form-item label="未来计划方数" prop="futurePlanNumber">
<el-input v-model="form.futurePlanNumber" placeholder="请输入未来计划方数" />
<el-form-item label="已装柜仓数">
{{form.loadingNumber}} m³
</el-form-item>
<el-form-item label="未来实际方数" prop="actualNumber">
<el-input v-model="form.actualNumber" placeholder="请输入未来实际方数" />
<el-form-item label="">
<div>
未来 <el-input v-model="form.futureNumber" class="w-100"></el-input> 天货柜数
</div>
<div class="mt-10">
<el-input v-model="form.gpNumber" class="w-100" /> &times; 40GP
<el-input v-model="form.hqNumber" class="w-100 ml-10" /> &times; 40HQ
</div>
<div class="mt-10">
未来{{form.futureNumber}}天计划方数:<el-input v-model="form.futurePlanNumber" class="w-100"></el-input>
</div>
<div class="mt-10">
未来{{form.futureNumber}}天实际方数:<el-input v-model="form.actualNumber" class="w-100"></el-input>
</div>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -137,11 +174,11 @@
</template>
<script>
import { createFutureBox, updateFutureBox, deleteFutureBox, getFutureBox, getFutureBoxPage, exportFutureBoxExcel } from "@/api/ecw/futureBox";
import { createFutureBox, updateFutureBox, deleteFutureBox, getFutureBox, getFutureBoxPage, exportFutureBoxExcel, getBoxedVolume, getToBeWareHousedVolume,getWareHousedVolume } from "@/api/ecw/futureBox";
import {getCabinetPage} from "@/api/ecw/cabinet";
import { getChannelList } from '@/api/ecw/channel';
import { getWarehouseList } from "@/api/ecw/warehouse"
import {getTradeCityList} from '@/api/ecw/region'
export default {
name: "indexFutureBox",
components: {
......@@ -183,15 +220,21 @@ export default {
status: null,
},
// 表单参数
form: {},
form: {
},
// 表单校验
rules: {
},
warehouseList: [],
channelList: [],
/* tradeCityList: [] */
};
},
computed: {
channels(){
return this.$store.getters.channels
},
exportWarehouseList() {
return this.warehouseList.filter(
(item) => item.tradeType == "2" || item.type == "3"
......@@ -217,25 +260,80 @@ export default {
for (let index in this.channelList) {
let channelItem = this.channelList[index];
if (channelItem.channelId == shippingChannelId) {
return channelItem.nameZh;
return this.$l(channelItem, 'name');
}
}
return '/'
}
},
getExportWarehouseName(){
return id => {
let warehouse = this.exportWarehouseList.find(item => item.id == id)
return this.$l(warehouse, 'title')
}
},
getImportWarehouseName(){
return id => {
let warehouse = this.importWarehouseList.find(item => item.id == id)
return this.$l(warehouse, 'title')
}
}
/* importCityList(){
return this.tradeCityList.filter(item => item.type == 1 || item.tye == 3)
},
exportCityList(){
return this.tradeCityList.filter(item => item.type == 2 || item.type == 3)
} */
},
created() {
/* getTradeCityList().then(res => {
this.tradeCityList = res.data
}) */
// 查询渠道
getChannelList().then((res) => (this.channelList = res.data));
this.transportTypes = this.getDictDatas(
/* this.transportTypes = this.getDictDatas(
this.DICT_TYPE.ECW_TRANSPORT_TYPE
).filter((item) => item.value == "1" || item.value == "2");
).filter((item) => item.value == "1" || item.value == "2"); */
getWarehouseList().then((res) => (this.warehouseList = res.data));
getCabinetPage(null).then((response) => {
this.cabinetList = response.data.list;
});
this.getList();
},
watch:{
'form.transportType'(transportId){
if(!transportId){
this.$set(this.form, 'loadingNumber', 0)
this.$set(this.form, 'readyWarehousingNumber', 0)
this.$set(this.form, 'warehousedNumber', 0)
this.$set(this.form, 'warehousingNumber', 0)
return
}
// 获得已封柜方数
getBoxedVolume({transportId}).then(res => {
this.$set(this.form, 'loadingNumber', res.data || 0)
})
// 获得待入仓方数
getToBeWareHousedVolume({transportId}).then(res => {
this.$set(this.form, 'readyWarehousingNumber', res.data || 0)
})
// 获得已入仓方数
getWareHousedVolume({transportId}).then(res => {
this.$set(this.form, 'warehousedNumber', res.data || 0)
})
},
'form.warehousedNumber'(){
//在仓 = 已入仓-已封柜
this.$set(this.form, 'warehousingNumber', this.form.warehousedNumber - this.form.loadingNumber)
},
'form.loadingNumber'(){
//在仓 = 已入仓-已封柜
this.$set(this.form, 'warehousingNumber', this.form.warehousedNumber - this.form.loadingNumber)
}
},
methods: {
/** 查询列表 */
getList() {
......
......@@ -692,7 +692,7 @@ export default {
this.exportLoading = true;
return exportCustomerExcel(params);
}).then(response => {
this.$download.excel(response, '${table.classComment}.xls');
this.$download.excel(response, '客户信息.xls');
this.exportLoading = false;
}).catch(() => {});
},
......
......@@ -53,7 +53,7 @@
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button></div>
<div style="flex: 1; text-align: right;">
<router-link :to="'/customerCommissionInfo/'+ 0 ">
<el-button>佣金设置</el-button>
<el-button type="primary">佣金设置</el-button>
</router-link>
</div>
</div>
......@@ -119,7 +119,7 @@
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>-->
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
......@@ -194,6 +194,9 @@ export default {
},
},
created() {
if(this.$route.query.customerId){
this.queryParams.customerId = this.$route.query.customerId
}
this.getList();
getTradeCityList().then(res => {
this.tradeCityList = res.data
......
<template>
<el-select v-if="options" v-model="selectVal" placeholder="请选择">
<el-option v-if="allShow" label="全部" :value='0'></el-option>
<el-option
v-for="item in options"
:key="item[valueKey]"
......@@ -26,6 +27,10 @@ export default {
type:String,
default: 'value',
},
allShow:{
type:Boolean,
default:false
}
},
data(){
return{
......
......@@ -6,43 +6,47 @@
<el-row>
<el-col :span="5">
<el-form-item label="客户名称" prop="customerId">
<el-select
v-model="customerForm.name"
filterable
placeholder="请输入关键词"
@change="changefn">
<el-option
v-for="item in customeList"
:key="item.id"
:value="item.id.toString()"
:label="item.name"
>
{{ item.number }}|{{ item.name }}|{{ item.defaultContactPhone }}
</el-option>
</el-select>
<div style="display: flex">
<el-input placeholder="请输入选择客户" v-model="customerName"></el-input>
<img style="width: 40px;height: 40px;margin-left: 40px;" src="@/assets/images/phonebook.png" class="phonebook" @click="customerNameShow= true" />
</div>
<!-- <el-select-->
<!-- v-model="customerForm.name"-->
<!-- filterable-->
<!-- placeholder="请输入关键词"-->
<!-- @change="changefn">-->
<!-- <el-option-->
<!-- v-for="item in customeList"-->
<!-- :key="item.id"-->
<!-- :value="item.id.toString()"-->
<!-- :label="item.name"-->
<!-- >-->
<!-- {{ item.number }}|{{ item.name }}|{{ item.defaultContactPhone }}-->
<!-- </el-option>-->
<!-- </el-select>-->
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<el-form-item label="运输方式" prop="transportId">
<div>
<custom-selectors-dictionary v-model="form.transportId" :options="getDictDatas(DICT_TYPE.ECW_TRANSPORT_TYPE)"></custom-selectors-dictionary>
<custom-selectors-dictionary :all-show="true" v-model="form.transportId" :options="getDictDatas(DICT_TYPE.ECW_TRANSPORT_TYPE)"></custom-selectors-dictionary>
</div>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="始发地" prop="departureId">
<div>
<custom-selectors-dictionary label-key="titleZh" value-key="id" v-model="form.departureId"
<custom-selectors-dictionary :all-show="true" label-key="titleZh" value-key="id" v-model="form.departureId"
:options="exportCityList"></custom-selectors-dictionary>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<el-form-item label="目的地" prop="objectiveId">
<div>
<custom-selectors-dictionary label-key="titleZh" value-key="id" v-model="form.objectiveId"
<custom-selectors-dictionary :all-show="true" label-key="titleZh" value-key="id" v-model="form.objectiveId"
:options="importCityList"></custom-selectors-dictionary>
</div>
</el-form-item>
......@@ -50,7 +54,7 @@
<el-col :span="5">
<el-form-item label="报关方式" prop="customsType">
<div>
<custom-selectors-dictionary v-model="form.customsType"
<custom-selectors-dictionary :all-show="true" v-model="form.customsType"
:options="getDictDatas(DICT_TYPE.SHIPPING_DECLARATION_TYPE)"></custom-selectors-dictionary>
</div>
</el-form-item>
......@@ -58,7 +62,7 @@
<el-col :span="5">
<el-form-item label="备案" prop="approval">
<div>
<custom-selectors-dictionary v-model="form.approval"
<custom-selectors-dictionary :all-show="true" v-model="form.approval"
:options="getDictDatas(DICT_TYPE.COMMISSION_PRODUCT_APPROVAL)"></custom-selectors-dictionary>
</div>
</el-form-item>
......@@ -109,7 +113,7 @@
<el-form-item label="商品类型" v-for="(item,index) in darkServantAndProductForm" :key="index">
<div class="shanping-type">
<div class="tool">
<custom-selectors-dictionary v-model="item.productType" :options="commodity" label-key="titleZh"
<custom-selectors-dictionary :all-show="true" v-model="item.productType" :options="productAttrList" label-key="titleZh"
value-key="id"></custom-selectors-dictionary>
</div>
<div class="box">
......@@ -117,7 +121,7 @@
商品特性
</div>
<div class="custom">
<custom-selectors-dictionary v-model="item.productAttr" label-key="attrName" value-key="id"
<custom-selectors-dictionary :all-show="true" v-model="item.productAttr" label-key="attrName" value-key="id"
:options="commodityType"></custom-selectors-dictionary>
</div>
</div>
......@@ -229,6 +233,7 @@
</el-row>
</el-card>
</el-form>
<choose-contact-dialog v-if="customerNameShow" @choose="onContactChoose" @close="customerNameShow = false" />
</div>
</template>
......@@ -244,16 +249,20 @@ import {getTradeCityList} from "@/api/ecw/region";
import RoutersSelector from "@/components/RoutersSelector"
import CustomersSelector from "@/components/CustomersSelector";
import {getUnitList} from "@/api/ecw/unit";
import ChooseContactDialog from '@/components/ChooseContactDialog'
import {getProductTypeList} from "@/api/ecw/productType";
export default {
name: "CustomerCommissionInfo",
components: {
customSelectorsDictionary,
RoutersSelector,
CustomersSelector
CustomersSelector,
ChooseContactDialog
},
data() {
return {
customerName:undefined,
customerNameShow:false,
value: '',
isSubmit:false,
getDictDatas,
......@@ -262,20 +271,20 @@ export default {
tradeCityList: [],
// 表单参数
form: {
approval: undefined,// 产品备案
approval: 0,// 产品备案
customerCommissionInfoBaseVOList: [],// 佣金详情
customerId: undefined,//客户id
customsType: undefined,//报关类别:我司全代:1,自单代报:2,混合报关:3
customsType: 0,//报关类别:我司全代:1,自单代报:2,混合报关:3
darkReturnType: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_DARK_TYPE)[0].value),// 暗佣类型 1产品2达标
departureId: undefined,// 始发地id
objectiveId: undefined,//目的地id
transportId:undefined,//运输方式
departureId: 0,// 始发地id
objectiveId: 0 ,//目的地id
transportId:0,//运输方式
type: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_TYPE)[1].value),// 佣金类型
},
//明佣
mingServantFrom: [
{
refund: 0,
refund: 1,
refundCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),
refundUnit:undefined,
}
......@@ -283,9 +292,9 @@ export default {
//暗佣金+产品
darkServantAndProductForm: [
{
productType:undefined,//商品类型
productAttr: undefined,//暗佣 产品属性
darkCommission: 0,//暗佣 佣金
productType:0,//商品类型
productAttr: 0,//暗佣 产品属性
darkCommission: 1,//暗佣 佣金
darkCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),// 暗佣 货币
darkUnit:undefined,// 暗佣 单位
}
......@@ -293,10 +302,10 @@ export default {
//暗佣+达标返佣
darkServantAndRebateForm: [
{
amount: 0,// 暗佣-满减金额
amount: 1,// 暗佣-满减金额
amountCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),// 暗佣-满减金额对应货币
amountUnit:undefined,// 暗佣-满减金额对应单位,
refund: 0,//暗佣-满之后返还金额
refund: 1,//暗佣-满之后返还金额
refundCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//暗佣-满之后返还金额的货币
refundUnit:undefined,//暗佣-满之后返还金额的单位
}
......@@ -304,10 +313,10 @@ export default {
//暗佣+明金
mingServantAnddarkServant: [
{
refund: 0,// 暗佣+明佣 上调金额
refund: 1,// 暗佣+明佣 上调金额
refundCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),// 暗佣+明佣 上调对应的货币
refundUnit: undefined,//暗佣+明佣 上调对应的单位
darkAdjustCommission: 0,//暗佣+明佣 上调金额
darkAdjustCommission: 1,//暗佣+明佣 上调金额
darkAdjustCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//暗佣+明佣 上调对应的货币
darkAdjustUnit:undefined,//暗佣+明佣 上调对应的单位
}
......@@ -326,8 +335,8 @@ export default {
},
customerShow: true,
id:undefined,//佣金id
weightList:[]
weightList:[],
productAttrList:[]
};
},
computed:{
......@@ -339,37 +348,41 @@ export default {
},
},
created() {
getProductTypeList().then(response => {
console.log(response.data,'response.data')
this.productAttrList = response.data
})
//重量单位
getUnitList().then(r =>{
if(r.code === 0){
this.weightList = r.data
this.$set(this.mingServantFrom,0, {
refund: 0,
refund: 1,
refundCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),
refundUnit: parseInt(this.weightList[0].id),})
this.$set(this.darkServantAndProductForm, 0,
{
productType: undefined,//商品类型
productAttr: undefined,//暗佣 产品属性
darkCommission: 0,//暗佣 佣金
productType: 0,//商品类型
productAttr: 0,//暗佣 产品属性
darkCommission: 1,//暗佣 佣金
darkCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),// 暗佣 货币
darkUnit: parseInt(this.weightList[0].id),// 暗佣 单位
})
this.$set(this.darkServantAndRebateForm, 0,
{
amount: 0,// 暗佣-满减金额
amount: 1,// 暗佣-满减金额
amountCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),// 暗佣-满减金额对应货币
amountUnit:parseInt (this.weightList[0].id),// 暗佣-满减金额对应单位,
refund: 0,//暗佣-满之后返还金额
refund: 1,//暗佣-满之后返还金额
refundCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//暗佣-满之后返还金额的货币
refundUnit:parseInt(this.weightList[0].id),//暗佣-满之后返还金额的单位
})
this.$set(this.mingServantAnddarkServant, 0,
{
refund: 0,// 暗佣+明佣 上调金额
refund: 1,// 暗佣+明佣 上调金额
refundCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),// 暗佣+明佣 上调对应的货币
refundUnit: parseInt(this.weightList[0].id),//暗佣+明佣 上调对应的单位
darkAdjustCommission: 0,//暗佣+明佣 上调金额
darkAdjustCommission: 1,//暗佣+明佣 上调金额
darkAdjustCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//暗佣+明佣 上调对应的货币
darkAdjustUnit:parseInt(this.weightList[0].id),//暗佣+明佣 上调对应的单位
})
......@@ -453,10 +466,10 @@ export default {
approval: undefined,
customerCommissionInfoBaseVOList: [],
customerId: undefined,//客户id
customsType: undefined,//报关类别:我司全代:1,自单代报:2,混合报关:3
customsType: '',//报关类别:我司全代:1,自单代报:2,混合报关:3
darkReturnType: this.getDictDatas(this.DICT_TYPE.COMMISSION_DARK_TYPE)[0].value,// 暗佣类型 1产品2达标
departureId: undefined,// 始发地id
objectiveId: undefined,// 运输方式
departureId: '',// 始发地id
objectiveId: '',// 运输方式
type: this.getDictDatas(this.DICT_TYPE.COMMISSION_TYPE)[1].value,// 佣金类型
};
this.resetForm("form");
......@@ -465,18 +478,18 @@ export default {
addToFn(val){
if(val === 1){
this.darkServantAndProductForm.push({
productType:this.commodity[0].id,//商品类型
productAttr: this.commodityType[0].id,//暗佣 产品属性
darkCommission: 0,//暗佣 佣金
productType:0,//商品类型
productAttr:0,//暗佣 产品属性
darkCommission: 1,//暗佣 佣金
darkCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),// 暗佣 货币
darkUnit:this.darkServantAndProductForm[0].darkUnit,// 暗佣 单位
})
}else {
this.darkServantAndRebateForm.push( {
amount: 0,// 暗佣-满减金额
amount: 1,// 暗佣-满减金额
amountCurrency:parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),// 暗佣-满减金额对应货币
amountUnit: parseInt(this.weightList[0].id),// 暗佣-满减金额对应单位,
refund: 0,//暗佣-满之后返还金额
refund: 1,//暗佣-满之后返还金额
refundCurrency: parseInt(this.getDictDatas(this.DICT_TYPE.COMMISSION_CURRENCY_TYPE)[0].value),//暗佣-满之后返还金额的货币
refundUnit: this.darkServantAndRebateForm[0].refundUnit,//暗佣-满之后返还金额的单位
})
......@@ -488,21 +501,25 @@ export default {
this.isSubmit = true;
if(!valid)return
if (this.form.type == 1) {
if(Number(this.mingServantFrom[0].refund) <= 0 || isNaN(Number(this.mingServantFrom[0].refund))) return this.$message.warning('请输入大于0的金额')
this.form.customerCommissionInfoBaseVOList = this.mingServantFrom
} else if (this.form.type == 2) {
if (this.form.darkReturnType == 1) {
if(this.darkServantAndProductForm.some(i => i.darkCommission <= 0 || isNaN(i.darkCommission))) return this.$message.warning('请输入大于0的金额')
this.form.customerCommissionInfoBaseVOList = this.darkServantAndProductForm
} else {
if(this.darkServantAndRebateForm.some(i => i.amount <= 0 || i.refund <=0)) return this.$message.warning('请输入大于0的金额')
this.form.customerCommissionInfoBaseVOList = this.darkServantAndRebateForm
}
} else if (this.form.type == 3) {
if(this.mingServantAnddarkServant[0].darkAdjustCommission <= 0 || this.mingServantAnddarkServant[0].refund <= 0 ) return this.$message.warning('请输入大于0的金额')
this.form.customerCommissionInfoBaseVOList = this.mingServantAnddarkServant
}
if(this.$route.params.dictId == 0){
createCommission(this.form).then(r =>{
console.log('添加',r)
if(r.code == 0){
this.$message('添加成功!');
this.$message.success('添加成功!');
this.$router.go(-1)
}
})
......@@ -513,10 +530,9 @@ export default {
}
p.customerCommissionInfoBaseVOList.forEach(item => {item.commissionId = this.$route.params.dictId})
updateCustomerCommissionInfo(p).then(r=>{
console.log('更新',r)
if(r.code == 0){
this.$router.go(-1)
this.$message('修改成功!');
this.$message.success('修改成功!');
}
})
}
......@@ -529,7 +545,7 @@ export default {
if (res.code === 0) {
this.commodityType = res.data;
if(this.$route.params.dictId == 0 || (this.form.type == 2 && this.form.darkReturnType != 1)){
this.darkServantAndProductForm.forEach(item =>{item.productAttr = this.commodityType[0].id})
this.darkServantAndProductForm.forEach(item =>{item.productAttr = 0})
}
}
})
......@@ -539,9 +555,15 @@ export default {
commodityList().then(res => {
this.commodity = res.data
if(this.$route.params.dictId == 0 || (this.form.type == 2 && this.form.darkReturnType != 1)){
this.darkServantAndProductForm.forEach(item=>{item.productType =this.commodity[0].id})
this.darkServantAndProductForm.forEach(item=>{item.productType = 0})
}
})
},
onContactChoose(val){
this.customerNameShow = false;
this.customerName = val.customerName;
this.form.customerId = val.customerId;
}
},
watch:{
......@@ -554,7 +576,7 @@ export default {
deep:true,
},
'form.transportId':function (val){
if(!this.weightList) return
if(this.weightList.length === 0 || !val) return
if((val == 1 || val == 2)){
let index = this.weightList.findIndex(item => item.id == 7);
this.mingServantFrom.forEach(item =>{
......
......@@ -736,7 +736,7 @@ export default {
};
</script>
<style>
<style scoped>
.card {
margin-top: 20px;
}
......
......@@ -330,7 +330,7 @@ export default {
};
</script>
<style>
<style scoped>
.card {
margin-top: 20px;
}
......
......@@ -319,7 +319,7 @@ export default {
};
</script>
<style>
<style scoped>
.card {
margin-top: 20px;
}
......
......@@ -384,7 +384,7 @@ export default {
};
</script>
<style>
<style scoped>
.card {
margin-top: 20px;
}
......
<template>
<el-dialog visible :close-on-click-modal="false" :before-close="closeDialog" :title="$t('佣金规则申请')">
<el-form ref="form" :model="form" label-width="80px" :rules="rules">
<el-form-item :label="$t('商品类型')">
<span>{{ getProductAttrNameById(form.productType) }}</span>
</el-form-item>
<el-form-item :label="$t('商品名称')">
<span>{{ form.prodTitleZh }}</span>
</el-form-item>
<el-form-item :label="$t('英文名称')">
<span>{{ form.prodTitleEn }}</span>
</el-form-item>
<el-form-item :label="$t('线路')">
{{ `【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)}】${ getChannelNameById(form.channelId) }`}}
{{$t("从【{departureName}】发往【{objectiveName}", {departureName: form.departureName, objectiveName: form.objectiveName})}}
</el-form-item>
<el-row v-if="!form.charging">
<el-col :span="12">
<el-form-item :label="$t('运费')">
{{form.orgSeaFreight}} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('清关费')">
{{form.orgClearanceFreight}} {{ currentMap[form.orgClearanceFreightCurrency] }} / {{ unitMap[form.orgClearanceFreightVolume] }}
</el-form-item>
</el-col>
</el-row>
<el-form-item :label="$t('全包价')" v-if="form.charging">
{{form.orgSeaFreight}} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}
</el-form-item>
<el-form-item :label="$t('佣金类型')" prop="commissionType">
<dict-selector :type="DICT_TYPE.COMMISSION_TYPE" v-model="form.commissionType" form-type="radio" />
</el-form-item>
<!-- 明佣或者明佣+暗佣才显示 -->
<el-form-item label="明佣佣金" v-if="form.commissionType == 1 || form.commissionType == 3">
<el-input v-model.number="form.lightCommissionAmount" placeholder="" class="w-100"></el-input>
{{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}
</el-form-item>
<!-- 明佣+暗佣才显示 -->
<el-form-item label="暗佣佣金" v-if="form.commissionType == 3">
<el-input v-model.number="form.shadeCommissionAmount" placeholder="" class="w-100"></el-input>
{{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}
</el-form-item>
<!-- 无佣金不显示 -->
<div class="pl-50" v-if="form.commissionType != 0">
<div>{{$l(form, 'prodTitle')}}</div>
<!-- 明佣+暗佣显示 -->
<div v-if="form.commissionType == 3">
成本价:{{form.orgSeaFreight}} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}
</div>
<!-- 暗佣显示 -->
<div v-if="form.commissionType == 2">
{{$l(form, 'prodTitle')}}
<template v-if="darkCommission">
{{$t('暗佣')}}{{darkCommission}} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}
</template>
<el-link type="primary" @click.native="$router.push('/customer/customerCommission?customerId=' + customerId)">去设置</el-link>
</div>
<div v-if="form.commissionType == 1 || form.commissionType == 3">销售价:{{form.orgSeaFreight + form.shadeCommissionAmount + form.lightCommissionAmount }} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}</div>
<div v-if="form.commissionType == 3">实际佣金返点:{{form.shadeCommissionAmount + form.lightCommissionAmount }} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}</div>
</div>
</el-form>
<div class="page-title">审批流程</div>
<work-flow xmlkey="sheet_sale" v-model="ccIdArr" />
<div v-if="!form.applyStatus">
<el-button type="primary" @click="handleSubmit">提交</el-button>
</div>
<div v-else>
<el-button type="primary" @click="$router.push('/bpm/process-instance/detail?id=' + form.formId)">
<dict-tag :type="DICT_TYPE.APPLY_STATUS" :value="form.applyStatus" />
</el-button>
</div>
</el-dialog>
</template>
<script>
import {createOfferSpecial, getOfferSpecial, getOfferSpecialByApproveId} from "@/api/ecw/offer"
import {DICT_TYPE, getDictDataLabel} from "@/utils/dict"
import DictSelector from "@/components/DictSelector"
import {getUnitList} from "@/api/ecw/unit"
import {getChannelList} from "@/api/ecw/channel"
import { getCurrencyList } from '@/api/ecw/currency'
import { getProductAttrList } from '@/api/ecw/productAttr'
import WorkFlow from '@/components/WorkFlow'
import {getDarkReturnCommission} from '@/api/ecw/customerCommission'
export default {
name: "Commossion",
props: {
offer: Object,
offerProd: Object,
/*
offerProdId: Number,
customerId: Number */
},
components: {
DictSelector, WorkFlow
},
created() {
this.getOfferSpecial()
getUnitList().then(res => this.unitList = res.data)
getChannelList().then(res => this.channelList = res.data)
getCurrencyList().then(res => this.currencyList = res.data)
getProductAttrList().then(res => this.productAttrList = res.data)
},
data() {
return {
getDictDataLabel,
DICT_TYPE,
unitList:[],
channelList:[],
currencyList:[],
productAttrList:[],
ccIdArr: [],
form: {
type: 2
},
rules:{
commissionType : {required: true, message: '请选择佣金类型'},
},
darkCommission: null, // 暗佣佣金
}
},
computed: {
// 根据渠道id显示渠道名
getChannelNameById(){
return channelId => {
const s = this.channelList.find(item => item.channelId == channelId) ?. nameZh
return s ? '' + s + '' : ''
}
},
currentMap(){
let map = {}
this.currencyList.forEach(item => {
map[item.id] = this.$l(item, 'title')
})
return map
},
unitMap(){
let map = {}
this.unitList.forEach(item => {
map[item.id] = this.$l(item, 'title')
})
return map
},
},
watch:{
ccIdArr(){
this.$set(this.form, 'ccIds', this.ccIdArr.join(','))
},
'form.commissionType'(val){
this.$set(this.form, 'lightCommissionAmount', 0)
this.$set(this.form, 'shadeCommissionAmount', 0)
// 暗佣需要查询暗佣设置
if(val == 2){
this.getCommission()
}
}
},
methods: {
handleSubmit(){
this.$refs.form.validate().then(res => {
// 接口运费不能为空,所以这里提交了运费字段
createOfferSpecial(Object.assign({
clearanceFreight: this.form.orgClearanceFreight,
seaFreight: this.form.orgSeaFreight
}, this.form, {type: 2})).then(res => {
this.$message.success(this.$t('提交成功'))
this.$emit('success')
})
})
},
getOfferSpecial(){
getOfferSpecial(this.offerProd.offerProdId, {type: 2}).then(r => {
this.form = r.data
})
},
getProductAttrNameById(id){
return this.productAttrList.find(e => e.id === id)?.attrName || ''
},
closeDialog(){
this.$emit('close')
},
getCommission(){
getDarkReturnCommission({
customerId: this.offer.relationId,
customsType: this.offer.customsType,
darkCurrency: this.form.orgSeaFreightCurrency,
darkUnit: this.form.orgSeaFreightVolume,
departureId: this.offer.departureId,
objectiveId: this.offer.objectiveId,
productAttr: 3, //this.offerProd.prodAttrIds,
productType: this.offerProd.productType,
transportId: this.offer.transportId,
type: 2, // 暗佣
}).then(res => {
this.darkCommission = res.data?.darkCommission
})
}
}
}
</script>
......@@ -55,9 +55,14 @@
</el-form>
<div class="page-title">审批流程</div>
<work-flow xmlkey="sheet_sale" v-model="ccIdArr" />
<div>
<div v-if="!form.applyStatus">
<el-button type="primary" @click="handleSubmit">提交</el-button>
</div>
<div v-else>
<el-button type="primary" @click="$router.push('/bpm/process-instance/detail?id=' + form.formId)">
<dict-tag :type="DICT_TYPE.APPLY_STATUS" :value="form.applyStatus" />
</el-button>
</div>
</el-dialog>
</template>
......@@ -116,10 +121,9 @@ export default {
methods: {
handleSubmit(){
this.$refs.form.validate().then(res => {
console.log(this.form.type)
createOfferSpecial(Object.assign({}, this.form, {type: 1})).then(res => {
this.$message.success(this.$t('提交成功'))
this.$emit('success')
})
})
},
......
......@@ -25,7 +25,7 @@
{{consigneeData.length>0?consigneeData[0].customerName||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('手机号:')">
{{consigneeData.length>0?(consigneeData[0].areaCode+consigneeData[0].phoneNew)||$t(''):$t('')}}
{{consigneeData.length>0?(checkCode(consigneeData[0].areaCode)+consigneeData[0].phoneNew)||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('联系地址:')">
{{consigneeData.length>0?consigneeData[0].address||$t(''):$t('')}}
......@@ -46,7 +46,7 @@
{{consigneeData.length>1?consigneeData[1].customerName||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('手机号:')">
{{consigneeData.length>1?(consigneeData[1].areaCode+consigneeData[1].phoneNew)||$t(''):$t('')}}
{{consigneeData.length>1?(checkCode(consigneeData[1].areaCode)+consigneeData[1].phoneNew)||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('联系地址:')">
{{consigneeData.length>1?consigneeData[1].address||$t(''):$t('')}}
......@@ -234,7 +234,7 @@
<div slot="header" class="card-title">{{$t('通用信息')}}</div>
<el-descriptions :column="4">
<el-descriptions-item :label="$t('唛头')">
{{list.marks}}
{{list.marks||'/'}}
</el-descriptions-item>
<el-descriptions-item :label="$t('报关方式')">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="list.customsType"></dict-tag>
......@@ -242,13 +242,13 @@
</el-descriptions>
<el-descriptions :column="4">
<el-descriptions-item :label="$t('预计结束时间')">
{{list.stopTime}}
{{list.stopTime||'/'}}
</el-descriptions-item>
<el-descriptions-item :label="$t('控货')">
{{list.control?$t('是'):$t('否')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('竞争对手')">
{{list.competitor}}
{{list.competitor||'/'}}
</el-descriptions-item>
<el-descriptions-item :label="$t('重要程度')">
<el-rate v-model="list.importance"></el-rate>
......@@ -265,7 +265,7 @@
</el-descriptions>
<el-descriptions >
<el-descriptions-item :label="$t('备注')">
{{list.remarks}}
{{list.remarks||'/'}}
</el-descriptions-item>
</el-descriptions>
</el-card>
......@@ -276,12 +276,12 @@
<div class="line">
<el-descriptions>
<el-descriptions-item :label="[3,4].indexOf(list.transportId)>-1?$t('空运路线'):$t('海运路线')">
{{getRouterNameById(list.lineId)}}
{{getRouterNameById(list.lineId)||'/'}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions v-if="[3,4].indexOf(list.transportId) > -1">
<el-descriptions-item :label="$t('出货渠道')">
{{channelName}}
{{channelName||'/'}}
</el-descriptions-item>
</el-descriptions>
</div>
......@@ -292,12 +292,12 @@
</el-descriptions>
<el-descriptions v-if="[3,4].indexOf(list.transportId) > -1">
<el-descriptions-item :label="$t('航空公司')">
{{getSupplierData(list.transportVO.airlineCompany)}}
{{getSupplierData(list.transportVO.airlineCompany)||'/'}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions v-if="list.transportId==2">
<el-descriptions-item :label="$t('船公司')">
{{getSupplierData(list.transportVO.shippingCompany)}}
{{getSupplierData(list.transportVO.shippingCompany)||'/'}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions v-if="[2,3,4].indexOf(list.transportId) > -1">
......@@ -307,7 +307,7 @@
</el-descriptions>
<el-descriptions v-if="[2,3,4].indexOf(list.transportId) > -1">
<el-descriptions-item :label="$t('清关证书备注')">
{{list.transportVO.remarks}}
{{list.transportVO.remarks||'/'}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions class="card" v-if="[3,4].indexOf(list.transportId) > -1">
......@@ -330,7 +330,7 @@
</el-descriptions>
<el-descriptions>
<el-descriptions-item :label="$t('特殊要求备注')">
{{list.transportVO.packageRemarks}}
{{list.transportVO.packageRemarks||'/'}}
</el-descriptions-item>
</el-descriptions>
</el-card>
......@@ -466,6 +466,12 @@
}
},
methods: {
checkCode(data){
if(data.indexOf('+')==-1){
return '+'+data
}
return data
},
getOrderData(id) {
let that = this
that.loading = true;
......
......@@ -135,7 +135,7 @@
<el-card class="mt-10">
<div slot="header" class="card-title">
<div class="card-name">{{$t('商品信息')}}</div>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="addProduct()" :disabled="!form.lineId"></el-button>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="addProduct()" :disabled="!canAddProduct"></el-button>
</div>
<el-table :data="form.prodCreateReqVOList" border class="product-list">
<el-table-column :label="$t('序号')" width="60px" fixed>
......@@ -152,13 +152,13 @@
}"
class="mb-0 mr-0"
>
<product-selector v-model="scope.row.prodId" @change="onProductChange(scope.row, $event)" />
<product-selector v-model="scope.row.prodId" @change="onProductChange(scope.row, $event)" :disabled="!canAddProduct" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="$t('英文品名')" width="160px">
<template slot-scope="{row}">
<product-selector lang="En" v-model="row.prodId" @change="onProductChange(row, $event)" />
<product-selector lang="En" v-model="row.prodId" @change="onProductChange(row, $event)" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('品牌')" width="100px">
......@@ -170,34 +170,34 @@
}"
class="mb-0 mr-0"
>
<dict-selector v-model="scope.row.brand" :type="DICT_TYPE.ECW_IS_BRAND" defaultable @input="calculationPrice" />
<dict-selector v-model="scope.row.brand" :type="DICT_TYPE.ECW_IS_BRAND" defaultable @input="calculationPrice" :disabled="!canAddProduct" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="$t('件数')" width="90px">
<template slot-scope="{row}">
<el-input v-model.number="row.num" @input="calculationPrice" />
<el-input v-model.number="row.num" @input="calculationPrice" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('包装单位')">
<template slot-scope="{row}">
<dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGE_TYPE" defaultable @input="calculationPrice" />
<dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGE_TYPE" defaultable @input="calculationPrice" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('数量') + '(个)'">
<template slot-scope="{row}">
<el-input v-model.number="row.quantity" @input="calculationPrice" />
<el-input v-model.number="row.quantity" @input="calculationPrice" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('总体积') + '(m³)'" width="100px">
<template slot-scope="{row}">
<el-input v-model="row.volume" @input="calculationPrice"/>
<el-input v-model="row.volume" @input="calculationPrice" :disabled="!canAddProduct"/>
</template>
</el-table-column>
<el-table-column :label="$t('总重量') + '(kg)'" width="100px">
<template slot-scope="{row}">
<el-input v-model="row.weight" @input="calculationPrice" />
<el-input v-model="row.weight" @input="calculationPrice" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('总货值') + '(RMB)'" width="100px">
......@@ -209,13 +209,13 @@
}"
class="mb-0 mr-0"
>
<el-input v-model="scope.row.worth" @input="calculationPrice" />
<el-input v-model="scope.row.worth" @input="calculationPrice" :disabled="!canAddProduct" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="$t('商品特性')" width="250px">
<template slot-scope="{row}">
<el-checkbox-group v-model="row.prodAttrArr" @change="onProductAttrChange(row, $event)">
<el-checkbox-group v-model="row.prodAttrArr" @change="onProductAttrChange(row, $event)" :disabled="!canAddProduct">
<el-checkbox v-for="item in productAttrList" :label="item.id" :key="item.id">{{item.attrName}}</el-checkbox>
</el-checkbox-group>
</template>
......@@ -247,14 +247,14 @@
<el-table-column :label="$t('商品链接')" width="200px" align="center">
<template slot-scope="{row}">
<el-link type="primary" :href="row.link" target="_blank" style="display:block">{{row.link}}</el-link>
<el-button type="primary" size="mini" @click="setLink(row)">
<el-button type="primary" size="mini" @click="setLink(row)" :disabled="!canAddProduct">
{{row.link ? $t('编辑商品链接') : $t('添加商品链接')}}
</el-button>
</template>
</el-table-column>
<el-table-column :label="$t('快递单号')" width="100px">
<template slot-scope="{row}">
<el-input v-model="row.expressNo" placeholder="" />
<el-input v-model="row.expressNo" placeholder="" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('操作')" width="180px" fixed="right">
......@@ -269,20 +269,20 @@
<div class="card-title" style="padding:20px 0;">{{$t('合计')}}</div>
<el-descriptions :column="4" border>
<el-descriptions-item :label="$t('总件数')">
{{sum.totalNum || 0}}
{{sum.totalNum.toFixed() || 0}}
</el-descriptions-item>
<el-descriptions-item label="总体积">
{{sum.totalVolume || 0}}m³
{{sum.totalVolume.toFixed() || 0}}m³
</el-descriptions-item>
<el-descriptions-item label="总重量">
{{sum.totalWeight || 0}}kg
{{sum.totalWeight.toFixed() || 0}}kg
</el-descriptions-item>
<el-descriptions-item label="总数量">
{{sum.totalQuatity || 0}}
{{sum.totalQuatity.toFixed() || 0}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总货值') + '(RMB)'">
{{sum.totalWorth || 0}}{{$t('元')}}
{{sum.totalWorth.toFixed() || 0}}{{$t('元')}}
</el-descriptions-item>
</el-descriptions>
</el-card>
......@@ -498,6 +498,7 @@ import SupplierSelector from '@/components/SupplierSelector'
import ChooseContactDialog from '@/components/ChooseContactDialog'
import QuickCreateCustomer from '@/components/QuickCreateCustomer'
import {getCustomerContactsSelect} from '@/api/ecw/customerContacts'
import Decimal from 'decimal.js'
export default {
name: "EcwOfferEdit",
......@@ -605,17 +606,18 @@ export default {
},
sum(){
let sum = {
totalNum: 0,
totalVolume: 0,
totalWeight: 0,
totalWorth: 0,
totalNum: new Decimal(0),
totalVolume: new Decimal(0),
totalWeight: new Decimal(0),
totalWorth: new Decimal(0),
totalQuatity: new Decimal(0)
}
this.form.prodCreateReqVOList.forEach(item => {
sum.totalNum += parseInt(item.num) || 0
sum.totalVolume += parseFloat(item.volume) || 0
sum.totalWeight += parseFloat(item.weight) || 0
sum.totalWorth += parseFloat(item.worth) || 0
sum.totalNum = sum.totalNum.plus(item.num || 0)
sum.totalVolume = sum.totalVolume.plus(item.volume || 0)
sum.totalWeight = sum.totalWeight.plus(item.weight || 0)
sum.totaltotalWorthNum = sum.totalWorth.plus(item.worth || 0)
sum.totalQuatity = sum.totalQuatity.plus(item.quantity || 0)
})
return sum
},
......@@ -681,6 +683,17 @@ export default {
routeOtherServices(){
if(!this.selectedRouter || !this.selectedRouter.otherService) return []
return this.selectedRouter.otherService.split(',')
},
// 是否可以添加商品
canAddProduct(){
if(!this.form.lineId){
return false
}
// 如果是海空联运或者空运专线则必须选择渠道
if(this.transport && this.transport.cssClass == 'channel' && !this.form.channelId ){
return false
}
return true
}
},
watch:{
......
......@@ -3,14 +3,12 @@
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item :label="$t('编号')" prop="number">
<el-input v-model="queryParams.number" :placeholder="$t('请输入报价单号、订单号')" clearable @keyup.enter.native="handleQuery"/>
<!--// TODO -->
<el-form-item :label="$t('编号')" prop="searchNumber">
<el-input v-model="queryParams.searchNumber" :placeholder="$t('请输入报价单号、订单号')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('客户')" prop="orderNo">
<el-input v-model="queryParams.orderNo" :placeholder="$t('请输入客户')" clearable @keyup.enter.native="handleQuery"/>
<!--// TODO -->
<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">
......@@ -30,19 +28,17 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="orderNo">
<el-form-item :label="$t('运输方式')" prop="transportId">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" formatter="number" />
</el-form-item>
<el-form-item :label="$t('商品')" prop="orderNo">
<el-input v-model="queryParams.product" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery"/>
<!--// TODO -->
<el-form-item :label="$t('商品')" prop="prodTitle">
<el-input v-model="queryParams.prodTitle" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('控货')" prop="control">
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" v-model="queryParams.control" />
</el-form-item>
<el-form-item :label="$t('客户经理')" prop="orderNo">
<user-selector v-model="queryParams.salesman" />
<!--// TODO -->
<el-form-item :label="$t('客户经理')" prop="followUpSalesmanId">
<user-selector v-model="queryParams.followUpSalesmanId" />
</el-form-item>
<el-form-item :label="$t('销售阶段')" prop="status">
<dict-selector :type="DICT_TYPE.ECW_OFFER_STATUS" v-model="queryParams.status" />
......@@ -121,58 +117,21 @@
4 赢单 删除
5 输单 删除
6 完成 删除
7 跟进中 编辑、跟进、结果、特价、取消、 删除
-->
<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('edit?id=' + scope.row.offerId)" v-if="[1,2,3].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].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].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="[3].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:update']">{{$t('特价')}}</el-dropdown-item>
<el-dropdown-item @click.native="$alert('// TODO')" v-if="[1,3].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:update']">{{$t('取消')}}</el-dropdown-item>
<el-dropdown-item @click.native="$alert('// TODO')" v-if="[0].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:update']">{{$t('恢复')}}</el-dropdown-item>
<el-dropdown-item @click.native="$alert('// TODO')" v-if="[1,2,3,4,5,6].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:delete']">{{$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="[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="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-popover
style="margin-left: 10px;"
placement="bottom"
width="100"
trigger="hover">
<el-button slot="reference" icon="el-icon-plus" circle type="primary"></el-button>
<div style=" display:flex; flex-direction:column">
<template v-if="[1,2].indexOf(scope.row.status) > -1">
<el-link type="primary" @click.native="$router.push('detail?offerId=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:detail']">{{$t('详情')}}</el-link>
<el-link type="primary" @click="$router.push('edit?id=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">{{$t('编辑')}}</el-link>
<el-link type="primary" @click="$router.push('logList?offerId=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">{{$t('跟进')}}</el-link>
</template>
<template v-if="scope.row.status == 2">
<el-button size="mini" type="text" @click="$router.push('detail?offerId=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">{{$t('详情')}}</el-button>
<el-button size="mini" type="text" @click="$router.push(`result?offerId=${scope.row.offerId}&number=${scope.row.number}`)"
v-hasPermi="['ecw:offer:update']">{{$t('结果')}}</el-button>
<el-button size="mini" type="text" @click="$router.push('/offer/special/' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">{{$t('特价')}}</el-button>
<el-button size="mini" type="text"
v-hasPermi="['ecw:offer:update']">{{$t('取消')}}</el-button>
<el-button size="mini" type="text"
v-hasPermi="['ecw:offer:update']">{{$t('恢复')}}</el-button>
</template>
<el-button size="mini" type="text" @click="$router.push('detail?offerId=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">{{$t('详情')}}</el-button>
<el-button size="mini" type="text"
v-hasPermi="['ecw:offer:delete']">{{$t('删除')}}</el-button>
</div>
</el-popover> -->
</template>
</el-table-column>
</el-table>
......@@ -184,7 +143,7 @@
</template>
<script>
import { deleteOffer, getOfferPage, exportOfferExcel } from "@/api/ecw/offer";
import { deleteOffer, getOfferPage, exportOfferExcel,cancel, recovery } from "@/api/ecw/offer";
import { getCurrencyList } from '@/api/ecw/currency';
import {getTradeCityList} from '@/api/ecw/region'
import UserSelector from '@/components/UserSelector'
......@@ -342,6 +301,24 @@ export default {
this.$download.excel(response, '${table.classComment}.xls');
this.exportLoading = false;
}).catch(() => {});
},
cancel(id){
this.doAction('确定要取消此报价单么?', cancel, id);
},
recovery(id){
this.doAction('确定要恢复此报价单么?', recovery, id);
},
deleteOffer(id){
this.doAction('确定要删除此报价单么?', deleteOffer, id);
},
doAction(tips, action, id){
this.$confirm(tips).then(res => {
return action(id)
})
.then(() => {
this.$message.success('操作成功')
this.handleQuery()
})
}
}
};
......
......@@ -72,7 +72,7 @@
:label="$t('操作')">
<template v-slot="{row}">
<el-button size="mini" type="text" @click="showOfferProdId=row.offerProdId">{{$t('优惠申请')}}</el-button>
<el-button size="mini" type="text" @click="$alert('// TODO')">{{$t('佣金规则')}}</el-button>
<el-button size="mini" type="text" @click="showCommissionProd=row">{{$t('佣金规则')}}</el-button>
</template>
</el-table-column>
......@@ -84,6 +84,7 @@
<el-button type="primary">关闭窗口</el-button>
</div> -->
<special-discount v-if="showOfferProdId" :offerProdId="showOfferProdId" @close="showOfferProdId=null" @success="onSuccess" />
<commossion v-if="showCommissionProd" :offer="offer" :offerProd="showCommissionProd" @close="showCommissionProd=null" @success="onSuccess" />
</el-card>
</div>
</template>
......@@ -97,11 +98,13 @@ import {getProductAttrList} from "@/api/ecw/productAttr"
import { parseTime } from '@/utils/ruoyi'
import {listByIds} from '@/api/ecw/region'
import {getChannel} from '@/api/ecw/channel'
import specialDiscount from '@/views/ecw/offer/components/specialDiscount'
import SpecialDiscount from '@/views/ecw/offer/components/SpecialDiscount'
import Commossion from '@/views/ecw/offer/components/Commossion'
export default {
name: "OfferSpecial",
components: {
specialDiscount
SpecialDiscount, Commossion
},
props: {
offerId: String
......@@ -133,7 +136,8 @@ export default {
objective: null,
departure: null,
channel: null, // 渠道信息
showOfferProdId: null // 显示申请优惠的产品id
showOfferProdId: null, // 显示申请优惠的产品id
showCommissionProd: null, // 修改佣金规则的产品ID
};
},
watch:{
......@@ -181,6 +185,7 @@ export default {
},
onSuccess(){
this.showOfferProdId = null
this.showCommissionProd = null
}
},
computed: {
......
......@@ -139,7 +139,7 @@
<transfer v-if="showTransferOrder" v-bind="showTransferOrder" @close="showTransferOrder=null" />
<release v-if="showReleaseOrderId" :order-id="showReleaseOrderId" @close="showReleaseOrderId=null" @success="onReleaseSuccess" />
<transfer-cargo v-if="showTransferCargoOrderId" :order-id="showTransferCargoOrderId" @close="showTransferCargoOrderId=null" @success="onReansferCargoSuccess" />
<transfer-cargo v-if="showTransferCargoOrderId" :order-id="showTransferCargoOrderId" @close="showTransferCargoOrderId=null" @success="onTransferCargoSuccess" />
<fallback v-if="showFallbackOrder !== null" :order="showFallbackOrder" @close="showFallbackOrder=null" @success="onFallbackSuccess" :index="null" />
</div>
</template>
......@@ -153,7 +153,7 @@ import { getTradeCityList } from '@/api/ecw/region'
import Transfer from '@/views/ecw/order/components/Transfer'
import Release from './components/Release'
import CargoControlEdit from './components/CargoControlEdit'
import { getCargoControlOrderPage, batchReview } from "@/api/ecw/orderCargoControl"
import { getCargoControlOrderPage, batchReview, orderReview } from "@/api/ecw/orderCargoControl"
import TransferCargo from '@/views/ecw/order/components/TransferCargo'
import Fallback from './components/Fallback'
......@@ -296,7 +296,7 @@ export default {
this.showFallbackOrder = null
this.handleQuery()
},
onReansferCargoSuccess(){
onTransferCargoSuccess(){
this.showTransferCargoOrderId = null
this.handleQuery()
}
......
<!--拆单审核中的申请信息部分-->
<template>
<div v-if="order">
<el-descriptions :column="3">
<el-descriptions-item label="订单号">{{detail.orderNo}}</el-descriptions-item>
<el-descriptions-item label="运输方式">
<dict-tag :type="DICT_TYPE.TRANSPORT_TYPE" :value="order.transportId" />
</el-descriptions-item>
<el-descriptions-item label="出货方式">
{{channelName}}
</el-descriptions-item>
<el-descriptions-item label="订单状态">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="order.status" />
</el-descriptions-item>
<el-descriptions-item label="唛头">{{order.marks}}</el-descriptions-item>
<el-descriptions-item label="始发仓">{{$l(order.logisticsInfoDto, 'startTitle')}}</el-descriptions-item>
<el-descriptions-item label="目的仓">{{$l(order.logisticsInfoDto, 'destTitle')}}</el-descriptions-item>
<!-- 放货修改 -->
<el-descriptions-item label="放货件数" v-if="applyType == 7">
{{detail.pickNum}}{{$t('')}} {{detail.currentPickNum}}
</el-descriptions-item>
<!-- 反复核 -->
<el-descriptions-item label="申请原因" v-if="applyType == 8">
<dict-tag :type="DICT_TYPE.ECW_PICK_RECURRENT_NUCLEAR_TYPE" :value="detail.recurrentNuclearType" />
</el-descriptions-item>
<!-- 调货 -->
<el-descriptions-item label="申请原因" v-if="applyType == 9">
EC0063600N调为EC0063094N进行放货,放货箱数为:6,EC0063095N进行放货,放货箱数为:4,EC0063096N进行放货,放货箱数为:2,备注:123123
</el-descriptions-item>
</el-descriptions>
</div>
</template>
<script>
import {getPickUpdateApproveInfo} from '@/api/ecw/orderCargoControl'
import {getOrder} from '@/api/ecw/order'
import {getChannelListByIds} from '@/api/ecw/channel'
import {parseTime} from '@/utils/ruoyi'
export default {
filters: {parseTime},
props:{
id: [String, Number],
applyType: Number, // 申请类型 7 放货修改申请 8 放货反复核申 9 调货审核
},
data(){
return {
detail: null,
order: null,
channels: [],
channelName: '/'
}
},
watch:{
id(){
this.getData()
}
},
computed:{
jsonParse(){
return d => {
return JSON.parse(d)
}
},
getChannelName(){
return id => {
let channel = this.channels.find(item => item.channelId == id)
return channel ? channel.nameZh : '/'
}
}
},
created(){
if(this.id){
this.getData()
}
},
methods:{
getData(){
getPickUpdateApproveInfo({approveId: this.id}).then(res => {
this.detail = res.data
return getOrder(this.detail.orderId)
}).then(res => {
this.order = res.data
this.getChannel()
})
},
getChannel(){
if(!this.order || !this.order.channelId) return
getChannel(this.order.channelId).then(res => {
this.channelName = this.$l(res.data, 'name')
})
},
}
}
</script>
<style scoped lang="scss">
.title{
padding: 10px 0;
span{
font-size: 14px;
font-weight: bold;
}
}
</style>
\ No newline at end of file
......@@ -12,7 +12,7 @@
</el-col>
<el-col :span="12">
<el-form-item :label="$t('收货人电话')">
+{{info.consigneeCountryCode}} {{info.consigneePhone}}
+{{info.consigneeCountryCode.replace(/\+/g, '')}} {{info.consigneePhone}}
</el-form-item>
</el-col>
</el-row>
......
......@@ -142,7 +142,13 @@ export default {
},
methods:{
loadData(){
getRleaseInfo(this.orderId).then(res => this.detail = res.data)
getRleaseInfo(this.orderId).then(res => {
this.detail = res.data
this.$set(this.formData, 'consigneeName', res.data.consigneeName)
this.$set(this.formData, 'consigneeCountryCode', '+' + res.data.consigneeCountryCode)
this.$set(this.formData, 'consigneePhone', res.data.consigneePhone)
this.$set(this.formData, 'consigneeEmail', res.data.consigneeEmail)
})
},
closeDialog(){
this.show = false
......
......@@ -24,7 +24,9 @@
<el-table :data="selectedOrders" border>
<el-table-column :label="$t('订单号')">
{{detail.orderNo}}
<template slot-scope="{row}">
{{row.orderNo}}
</template>
</el-table-column>
<el-table-column :label="$t('目的地')">
<template slot-scope="{row}">
......
......@@ -9,12 +9,12 @@
v-bind="$attrs"
>
<el-tabs v-model="activeName" type="card" @tab-click="activeWarehouse = {}">
<el-tab-pane v-if="item.warehouseId === warehouseId" :label="item.name" :name="'' + index" v-for="(item, index) in area" :key="index">
<el-tab-pane v-if="item.warehouseId === warehouseId" :label="item.name" :name="'' + index" v-for="(item, index) in area" :key="item.id + index">
<div>
<div style="text-align: center">区域</div>
<div style="background-color: #efefef;padding: 10px 10px 0;border: #dcdcdc solid 1px;border-radius: 2px">
<el-row :gutter="20">
<el-col :span="12" v-for="(warehouse, i) in item.children" :key="i">
<el-col :span="12" v-for="(warehouse, i) in item.children" :key="warehouse.id + i">
<div
class="warehouse-block"
:class="{'warehouse-block-selected': warehouse.selected, 'warehouse-block-active': warehouse.id === activeWarehouse.id}"
......@@ -29,7 +29,7 @@
<div>
<div style="text-align: center">仓位</div>
<div class="position-group">
<div class="position" v-for="position in activeWarehouse.positionList" :key="item.id">
<div class="position" v-for="(position ,index) in activeWarehouse.positionList" :key="item.id + index ">
<div
class="position-item"
v-for="item in position.children"
......
......@@ -76,6 +76,9 @@
<el-descriptions-item :label="$t('单证报关')">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" />
</el-descriptions-item>
<el-descriptions-item :label="$t('出单方式')">
<dict-tag :type="DICT_TYPE.ECW_SUING_METHOD" :value="order.issuingMethod" />
</el-descriptions-item>
<el-descriptions-item :label="$t('代收货款')">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="order.isCollection" />
</el-descriptions-item>
......@@ -128,15 +131,15 @@
<template v-if="row.charging ==1">
<template v-if="!row.seaFreight">未报价</template>
<template>{{$t('全包价')}} {{row.seaFreight}} {{currentcyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}</template>
<template>{{$t('全包价')}} {{row.oneSeaFreight}} {{currentcyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}</template>
</template>
<template v-else-if="!row.seaFreight && !row.clearanceFreight">未报价</template>
<template v-else>
<div>
{{$t('运费')}}{{row.seaFreight}} {{currentcyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
{{$t('运费')}}{{row.oneSeaFreight}} {{currentcyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</div>
<div>
{{$t('清关费')}}{{row.clearanceFreight}} {{currentcyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}}
{{$t('清关费')}}{{row.oneClearanceFreight}} {{currentcyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}}
</div>
</template>
</template>
......
......@@ -93,8 +93,8 @@
<el-card class="mt-10">
<div slot="header" class="card-title">
<div class="card-name">{{$t('商品信息')}}</div>
<el-button type="primary" size="mini" @click="addProduct(null)" :disabled="!form.lineId">{{$t('添加货物')}}</el-button>
<el-button type="primary" size="mini" @click="showBatchImportDialog=true" :disabled="!form.lineId">{{$t('批量添加货物')}}</el-button>
<el-button type="primary" size="mini" @click="addProduct(null)" :disabled="!canAddProduct">{{$t('添加货物')}}</el-button>
<el-button type="primary" size="mini" @click="showBatchImportDialog=true" :disabled="!canAddProduct">{{$t('批量添加货物')}}</el-button>
</div>
<el-table :data="form.orderItemVOList" border class="product-list">
<el-table-column :label="$t('序号')" width="60px" fixed>
......@@ -111,13 +111,13 @@
}"
class="mb-0 mr-0"
>
<product-selector v-model="scope.row.prodId" @change="onProductChange(scope.row, $event)" :disabled="!form.lineId || !productEditable" />
<product-selector v-model="scope.row.prodId" @change="onProductChange(scope.row, $event)" :disabled="!canAddProduct || !productEditable" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="$t('英文品名')" width="160px">
<template slot-scope="scope">
<product-selector lang="En" v-model="scope.row.prodId" @change="onProductChange(scope.row, $event)" :disabled="!form.lineId || !productEditable" />
<product-selector lang="En" v-model="scope.row.prodId" @change="onProductChange(scope.row, $event)" :disabled="!canAddProduct || !productEditable" />
</template>
</el-table-column>
<!-- <el-table-column label="商品类型" width="160px">
......@@ -135,33 +135,33 @@
}"
class="mb-0 mr-0"
>
<dict-selector v-model="scope.row.brandType" :type="DICT_TYPE.ECW_IS_BRAND" defaultable :disabled="!form.lineId || !productEditable" />
<dict-selector v-model="scope.row.brandType" :type="DICT_TYPE.ECW_IS_BRAND" defaultable :disabled="!canAddProduct || !productEditable" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="$t('件数')" width="90px">
<template slot-scope="{row}">
<el-input v-model.number="row.num" :disabled="!form.lineId || !productEditable" />
<el-input v-model.number="row.num" :disabled="!canAddProduct || !productEditable" />
</template>
</el-table-column>
<el-table-column :label="$t('包装单位')">
<template slot-scope="{row}">
<dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGE_TYPE" defaultable :disabled="!form.lineId || !productEditable" />
<dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGE_TYPE" defaultable :disabled="!canAddProduct || !productEditable" />
</template>
</el-table-column>
<el-table-column :label="$t('数量') + '(个)'" width="120px">
<template slot-scope="{row}">
<el-input v-model="row.quantity" type="number" :disabled="!form.lineId || !productEditable" />
<el-input v-model="row.quantity" type="number" :disabled="!canAddProduct || !productEditable" />
</template>
</el-table-column>
<el-table-column :label="$t('总体积') + '(m³)'" width="100px">
<template slot-scope="{row}">
<el-input v-model="row.volume" :disabled="!form.lineId || !productEditable" />
<el-input v-model="row.volume" :disabled="!canAddProduct || !productEditable" />
</template>
</el-table-column>
<el-table-column :label="$t('总重量') + '(kg)'" width="100px">
<template slot-scope="{row}">
<el-input v-model="row.weight" :disabled="!form.lineId || !productEditable" />
<el-input v-model="row.weight" :disabled="!canAddProduct || !productEditable" />
</template>
</el-table-column>
<el-table-column :label="$t('总货值') + '(RMB)'" width="100px">
......@@ -173,13 +173,13 @@
}"
class="mb-0 mr-0"
>
<el-input v-model="scope.row.worth" :disabled="!form.lineId" @input="calculationPrice" />
<el-input v-model="scope.row.worth" :disabled="!canAddProduct" @input="calculationPrice" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="$t('商品特性')" width="250px">
<template slot-scope="{row}">
<el-checkbox-group v-model="row.prodAttrArr" @change="onProductAttrChange(row, $event)" :disabled="!form.lineId || !productEditable">
<el-checkbox-group v-model="row.prodAttrArr" @change="onProductAttrChange(row, $event)" :disabled="!canAddProduct || !productEditable">
<el-checkbox v-for="item in productAttrList" :label="item.id" :key="item.id">{{$l(item, 'attrName')}}</el-checkbox>
</el-checkbox-group>
</template>
......@@ -216,19 +216,19 @@
<div class="card-title" style="padding:20px 0;">{{$t('合计')}}</div>
<el-descriptions :column="6" border>
<el-descriptions-item :label="$t('总件数')">
{{sum.totalNum || 0}}
{{sum.totalNum.toFixed()}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总体积')">
{{sum.totalVolume || 0}}m³
{{sum.totalVolume.toFixed()}}m³
</el-descriptions-item>
<el-descriptions-item :label="$t('总重量')">
{{sum.totalWeight || 0}}kg
{{sum.totalWeight.toFixed()}}kg
</el-descriptions-item>
<el-descriptions-item :label="$t('总数量')">
{{sum.totalQuatity || 0}}
{{sum.totalQuatity.toFixed() || 0}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总货值') + '(RMB)'">
{{sum.totalWorth || 0}}元
{{sum.totalWorth.toFixed() || 0}}元
</el-descriptions-item>
<el-descriptions-item :label="$t('保价费')">
{{fee.insuranceFee || 0}} {{$t('美元')}}
......@@ -415,15 +415,12 @@
<div v-if="[3,4].indexOf(+form.transportId) > -1">
<el-form-item :label="$t('航空公司')">
<!--待查询备选数据-->
<el-select placeholder="" v-model="form.airlineCompany">
</el-select>
<supplier-selector v-model="form.airlineCompany" company-type="10" />
</el-form-item>
</div>
<div v-if="[2].indexOf(+form.transportId) > -1">
<el-form-item :label="$t('船公司')">
<el-select placeholder="" v-model="form.shippingCompany">
</el-select>
<supplier-selector v-model="form.shippingCompany" company-type="9" />
</el-form-item>
</div>
<div v-if="[2,3,4].indexOf(+form.transportId) > -1">
......@@ -520,6 +517,8 @@ import AreaCodeSelector from '@/components/AreaCodeSelector'
import ChooseContactDialog from '@/components/ChooseContactDialog'
import QuickCreateCustomer from '@/components/QuickCreateCustomer'
import {calculationPrice} from '@/api/ecw/product'
import SupplierSelector from '@/components/SupplierSelector'
import Decimal from 'decimal.js'
// 缓存默认的表单数据
let defaultFormData = null
......@@ -527,7 +526,7 @@ let defaultFormData = null
export default {
name: "EcwOrderEdit",
components: {
ProductSelector, Selector, CustomerContactSelector, AreaSelector, FileUpload, AreaCodeSelector, ChooseContactDialog, QuickCreateCustomer
ProductSelector, Selector, CustomerContactSelector, AreaSelector, FileUpload, AreaCodeSelector, ChooseContactDialog, QuickCreateCustomer, SupplierSelector
},
data() {
return {
......@@ -656,19 +655,18 @@ export default {
},
sum(){
let sum = {
totalNum: 0,
totalVolume: 0,
totalWeight: 0,
totalWorth: 0,
totalQuatity: 0
totalNum: new Decimal(0),
totalVolume: new Decimal(0),
totalWeight: new Decimal(0),
totalWorth: new Decimal(0),
totalQuatity: new Decimal(0)
}
this.form.orderItemVOList.forEach(item => {
sum.totalNum += parseInt(item.num) || 0
sum.totalVolume += (parseFloat(item.volume) || 0) // * (parseInt(item.num) || 0)
sum.totalWeight += (parseFloat(item.weight) || 0) // * (parseInt(item.num) || 0)
sum.totalWorth += parseFloat(item.worth) || 0
sum.totalQuatity += parseInt(item.quantity) || 0
sum.totalNum = sum.totalNum.plus(item.num || 0)
sum.totalVolume = sum.totalVolume.plus(item.volume || 0)
sum.totalWeight = sum.totalWeight.plus(item.weight || 0)
sum.totaltotalWorthNum = sum.totalWorth.plus(item.worth || 0)
sum.totalQuatity = sum.totalQuatity.plus(item.quantity || 0)
})
return sum
},
......@@ -689,6 +687,17 @@ export default {
routeOtherServices(){
if(!this.selectedRouter || !this.selectedRouter.otherService) return []
return this.selectedRouter.otherService.split(',')
},
// 是否可以添加商品
canAddProduct(){
if(!this.form.lineId){
return false
}
// 如果是海空联运或者空运专线则必须选择渠道
if(this.transport && this.transport.cssClass == 'channel' && !this.form.channelId ){
return false
}
return true
}
},
watch:{
......@@ -761,7 +770,7 @@ export default {
this.form.type = this.form.type ? this.form.type.split(',').filter(item => item != '') : []
this.$set(this.form, 'consignorCompany', res.data.consignorVO.company)
this.$set(this.form, 'consignorContactsId', res.data.consignorVO.customerContactsId)
this.$set(this.form, 'consignorCountryCode', res.data.consignorVO.countryCode)
this.$set(this.form, 'consignorCountryCode', res.data.consignorVO.countryCode.replace('+', ''))
this.$set(this.form, 'consignorEmail', res.data.consignorVO.email)
this.$set(this.form, 'consignorId', res.data.consignorVO.customerId)
this.$set(this.form, 'consignorName', res.data.consignorVO.name)
......@@ -769,7 +778,7 @@ export default {
this.$set(this.form, 'consigneeCompany', res.data.consigneeVO.company)
this.$set(this.form, 'consigneeContactsId', res.data.consigneeVO.customerContactsId)
this.$set(this.form, 'consigneeCountryCode', res.data.consigneeVO.countryCode)
this.$set(this.form, 'consigneeCountryCode', res.data.consigneeVO.countryCode.replace('+', ''))
this.$set(this.form, 'consigneeEmail', res.data.consigneeVO.email)
this.$set(this.form, 'consigneeId', res.data.consigneeVO.customerId)
this.$set(this.form, 'consigneeName', res.data.consigneeVO.name)
......@@ -784,7 +793,7 @@ export default {
}
this.$set(this.form, this.contactChooseType + 'Company', contact.company)
this.$set(this.form, this.contactChooseType + 'ContactsId', contact.customerContactsId)
this.$set(this.form, this.contactChooseType + 'CountryCode', contact.areaCode)
this.$set(this.form, this.contactChooseType + 'CountryCode', contact.areaCode.replace('+', ''))
this.$set(this.form, this.contactChooseType + 'Email', contact.email)
this.$set(this.form, this.contactChooseType + 'Id', contact.customerId)
this.$set(this.form, this.contactChooseType + 'Name', contact.contactsName)
......@@ -797,8 +806,13 @@ export default {
let form = new FormData()
form.append('file', e.file)
orderImport(form).then(res => {
if(!this.importList.length){
return this.$message.error('无有效数据')
}
this.importList = res.data.list
this.$set(this.form, 'packingListUrl', res.data.packingListUrl)
})
},
addToProductList(){
......@@ -831,7 +845,7 @@ export default {
this.$set(row, 'link', value)
})
},
onFileChoosed(e){
/* onFileChoosed(e){
window.choosed = e
console.log('onFileChoosed', e)
......@@ -845,7 +859,7 @@ export default {
window.zzexcel = zzexcel
window.tableJson = xlsx.utils.sheet_to_json(zzexcel.Sheets[zzexcel.SheetNames[0]])
}
},
}, */
onProductChange(row, product){
console.log(product)
// row.goodsType = product ? product.typeId : null
......
......@@ -4,7 +4,7 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-row>
<el-form-item >
<el-select v-model="queryParams.dateType" style="width: 172px;">
<el-select v-model="queryParams.dateType" style="width: 172px;" clearable>
<el-option :label="$t('入仓时间')" value="1"/>
<el-option :label="$t('处理时间')" value="2"/>
</el-select>
......@@ -13,28 +13,28 @@
<el-date-picker clearable v-model="queryParams.endCreateTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择结束日期')" />
</el-form-item>
<el-form-item :label="$t('始发地:')">
<el-select v-model="queryParams.originId" :placeholder="$t('请选择始发地')">
<el-select v-model="queryParams.originId" :placeholder="$t('请选择始发地')" clearable>
<el-option v-for="item in expoerCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的地:')" >
<el-select v-model="queryParams.destinationId" :placeholder="$t('请选择目的地')">
<el-select v-model="queryParams.destinationId" :placeholder="$t('请选择目的地')" clearable>
<el-option v-for="item in importCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id" ></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('运输方式:')" >
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" formatter="number"/>
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :clearable="true" v-model="queryParams.transportId" />
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('控货:')">
<dict-selector :type="DICT_TYPE.ECW_YESNO" v-model="queryParams.isCargoControl" @keyup.enter.native="handleQuery"/>
<dict-selector :type="DICT_TYPE.ECW_YESNO" :clearable="true" v-model="queryParams.isCargoControl" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('异常状态:')">
<dict-selector :type="DICT_TYPE.ORDER_EXCEPTION_STATUS" v-model="queryParams.orderExceptionStatus" @keyup.enter.native="handleQuery"/>
<dict-selector :type="DICT_TYPE.ORDER_EXCEPTION_STATUS" :clearable="true" v-model="queryParams.orderExceptionStatus" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('异常类型:')">
<dict-selector :type="DICT_TYPE.ORDER_ERROR_TYPE" v-model="queryParams.orderExceptionType" @keyup.enter.native="handleQuery"/>
<dict-selector :type="DICT_TYPE.ORDER_ERROR_TYPE" :clearable="true" v-model="queryParams.orderExceptionType" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('订单号:')">
<el-input v-model="queryParams.orderNo" :placeholder="$t('请输入订单号')" clearable @keyup.enter.native="handleQuery"/>
......@@ -42,21 +42,21 @@
</el-row>
<el-row>
<el-form-item :label="$t('发货人:')">
<customer-selector v-model="queryParams.consignor" @change="consignor = $event" />
<customer-selector v-model="queryParams.consignor" :clearable="true" @change="consignor = $event" />
</el-form-item>
<el-form-item :label="$t('唛头:')">
<el-input v-model="queryParams.marks" :placeholder="$t('请输入唛头')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('品名:')">
<product-selector v-model="queryParams.goodsName" @keyup.enter.native="handleQuery" />
<product-selector v-model="queryParams.goodsName" :clearable="true" @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('备案:')">
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" v-model="queryParams.productRecord" @keyup.enter.native="handleQuery"/>
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :clearable="true" v-model="queryParams.productRecord" @keyup.enter.native="handleQuery"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item :label="$t('跟进业务:')">
<el-select v-model="queryParams.salesmanId" :placeholder="$t('请选择跟进业务')">
<el-select v-model="queryParams.salesmanId" :placeholder="$t('请选择跟进业务')" clearable>
<el-option v-for="item in creatorData" :key="item.id" :label="item.nickname" :value="item.id"/>
</el-select>
</el-form-item>
......@@ -98,7 +98,8 @@
</el-table-column>
<el-table-column :label="$t('体积/重量')" align="center">
<template slot-scope="scope">
<span>{{scope.row.volume+"m³/"+scope.row.weight+"kg"}}</span>
<span v-if="scope.row.orderStatus >= 5 ">{{scope.row.volume+"m³/"+scope.row.weight+"kg"}}</span>
<span v-else>{{scope.row.totalVolume+"m³/"+scope.row.totalWeight+"kg"}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('运输方式/目的地')" align="center">
......@@ -144,7 +145,8 @@
import {getOrderExceptionPage} from "@/api/ecw/orderException"
import {getTradeCityList} from '@/api/ecw/region'
import {DICT_TYPE} from '@/utils/dict'
import { userList } from "@/api/system/user"
// import { userList } from "@/api/system/user"
import {listServiceUser} from "@/api/system/user"
import CustomerSelector from '@/components/CustomerSelector'
import ProductSelector from '@/components/ProductSelector'
......@@ -176,7 +178,10 @@ export default {
created() {
this.getList();
getTradeCityList().then(res => this.tradeCityList = res.data)
userList('salesman').then(res =>this.creatorData = res.data)
listServiceUser().then(r => {
this.creatorData = r.data
})
// userList('salesman').then(res =>this.creatorData = res.data)
},
computed:{
expoerCityList(){
......@@ -198,6 +203,7 @@ export default {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
this.reset()
});
},
/** 表单重置 */
......@@ -206,14 +212,12 @@ export default {
page: 1,
rows: 10,
};
this.resetForm("queryForm");
},
importCityName(id){
return this.tradeCityList.filter(item => item.id == id)
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.page = 1;
this.getList();
},
handEdit(id){
......
......@@ -31,7 +31,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId">
<el-form-item :label="$t('运输方式')" prop="transportId" v-if="!transportId">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" formatter="number" />
</el-form-item>
......@@ -151,86 +151,59 @@
</el-table-column>
<el-table-column :label="$t('订单状态')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" />
<!-- <dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" /> -->
{{scope.row.statusMsg}}
</template>
</el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="150px">
<template slot-scope="scope">
<!--操作相关的-->
<el-popover
style="margin-left: 10px;"
placement="bottom"
width="100"
trigger="hover">
<el-button type="text" slot="reference">{{$t('操作')}}</el-button>
<div style=" display:flex; flex-direction:column">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:order:update']">{{$t('编辑')}}</el-button>
<el-button v-if="[0, 88].indexOf(scope.row.status) > -1" size="mini" type="text" icon="el-icon-delete" @click="oprateOrder(scope.row.orderId, 'deleteOrder')"
v-hasPermi="['ecw:order:delete']">{{$t('删除')}}</el-button>
<el-button v-if="scope.row.status < 5" size="mini" type="text" icon="el-icon-delete" @click="oprateOrder(scope.row.orderId, 'cancelOrder')">{{$t('取消订单')}}</el-button>
<el-button v-if="scope.row.status == 88" size="mini" type="text" icon="el-icon-delete" @click="oprateOrder(scope.row.orderId, 'recoveryOrder')">{{$t('恢复订单')}}</el-button>
<el-dropdown>
<el-button type="text">{{$t('操作')}}</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="handleUpdate(scope.row)" v-hasPermi="['ecw:order:update']" >{{$t('编辑')}}</el-dropdown-item>
<el-dropdown-item @click.native="oprateOrder(scope.row.orderId, 'deleteOrder')" v-hasPermi="['ecw:order:delete']" >{{$t('删除')}}</el-dropdown-item>
<el-dropdown-item @click.native="oprateOrder(scope.row.orderId, 'cancelOrder')" >{{$t('取消订单')}}</el-dropdown-item>
<el-dropdown-item @click.native="oprateOrder(scope.row.orderId, 'recoveryOrder')" >{{$t('恢复订单')}}</el-dropdown-item>
<el-dropdown-item @click.native="feeApplicationBol = true; orderId = scope.row.orderId" >{{$t('费用申请')}}</el-dropdown-item>
<el-dropdown-item @click.native="orderId = scope.row.orderId;orderNo = scope.row.orderNo;isShow = true" >{{$t('特需')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push(`/order/associated-order/${scope.row.orderId}`)" >{{$t('关联')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push(`/order/mutex-order/${scope.row.orderId}`)" >{{$t('互斥')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push('/order/special/' + scope.row.orderId)" v-hasPermi="['ecw:order:update']" >{{$t('特价')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push(`/order/release?orderId=${scope.row.orderId}`)" >{{$t('确认放货')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push(`/order/singleApply?orderNo=${scope.row.orderNo}`)" >{{$t('合单申请')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push(`/order/splitApply?orderId=${scope.row.orderId}`)" >{{$t('拆单申请')}}</el-dropdown-item>
<el-dropdown-item @click.native="showMergedLogOrderNo=scope.row.orderNo" >{{$t('合单日志')}}</el-dropdown-item>
<el-dropdown-item @click.native="showPickupLogOrderNo=scope.row.orderNo" >{{$t('提货日志')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button type="text" size="mini" @click="feeApplicationBol = true; orderId = scope.row.orderId">{{$t('费用申请')}}</el-button>
<el-button type="text" size="mini" @click="orderId = scope.row.orderId;orderNo = scope.row.orderNo;isShow = true" >{{$t('特需')}}</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/associated-order/${scope.row.orderId}`)" >{{$t('关联')}}</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/mutex-order/${scope.row.orderId}`)" >{{$t('互斥')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('/order/special/' + scope.row.orderId)"
v-hasPermi="['ecw:order:update']">{{$t('特价')}}</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/release?orderId=${scope.row.orderId}`)">{{$t('确认放货')}}</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/singleApply?orderNo=${scope.row.orderNo}`)">{{$t('合单申请')}}</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/splitApply?orderId=${scope.row.orderId}`)">{{$t('拆单申请')}}</el-button>
<el-button type="text" size="mini" @click="showMergedLogOrderNo=scope.row.orderNo">{{$t('合单日志')}}</el-button>
<el-button type="text" size="mini" @click="showPickupLogOrderNo=scope.row.orderNo">{{$t('提货日志')}}</el-button>
</div>
</el-popover>
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:order:update']">编辑</el-button> -->
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('/order/warehousing?id=' + scope.row.orderId)"
v-hasPermi="['ecw:order:update']">入仓</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:order:update']">退仓</el-button> -->
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('/order/special?id=' + scope.row.orderId)"
v-hasPermi="['ecw:order:update']">特价</el-button> -->
<!-- <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:order:delete']">删除</el-button> -->
<el-divider direction="vertical"></el-divider>
<!--仓库相关的-->
<el-popover
style="margin-left: 10px;"
placement="bottom"
width="100"
trigger="hover">
<el-button type="text" slot="reference">{{$t('仓库')}}</el-button>
<div style=" display:flex; flex-direction:column">
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('/order/warehousing?id=' + scope.row.orderId)"
v-hasPermi="['ecw:order:update']">{{$t('入仓')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="show = true;orderId = scope.row.orderId; "
v-hasPermi="['ecw:order:update']">{{$t('退仓')}}</el-button>
<el-button type="text" :disabled="!(scope.row.status === 5 && (scope.row.inWarehouseState === 215 ||scope.row.inWarehouseState === 0))" size="mini" @click="orderId = scope.row.orderId;warehouseBol=true;">{{$t('调仓')}}</el-button>
<el-button type="text" :disabled="!(scope.row.status === 8 && scope.row.inWarehouseState === 213)" size="mini" @click="$router.push({path:'/order/transfer-warehousing/' + scope.row.orderId + '/' + 1 })" >{{$t('调拨出仓')}}</el-button>
<el-button type="text" :disabled="!(scope.row.status === 8 && scope.row.inWarehouseState === 214)" size="mini" @click="$router.push({path:'/order/transfer-to-warehouse/' + scope.row.orderId + '/' + 2 })" >{{$t('调拨到仓')}}</el-button>
</div>
<el-dropdown>
<el-button type="text">{{$t('仓库')}}</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="$router.push('/order/warehousing?id=' + scope.row.orderId)" v-hasPermi="['ecw:order:update']">{{$t('入仓')}}</el-dropdown-item>
<el-dropdown-item @click.native="show = true;orderId = scope.row.orderId; " v-hasPermi="['ecw:order:update']">{{$t('退仓')}}</el-dropdown-item>
<el-dropdown-item @click.native="orderId = scope.row.orderId;warehouseBol=true;" >{{$t('调仓')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push({path:'/order/transfer-warehousing/' + scope.row.orderId + '/' + 1 })" >{{$t('调拨出仓')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push({path:'/order/transfer-to-warehouse/' + scope.row.orderId + '/' + 2 })" >{{$t('调拨到仓')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-popover>
<el-divider direction="vertical"></el-divider>
<!--打印相关的-->
<el-popover
style="margin-left: 10px;"
placement="bottom"
width="100"
trigger="hover">
<div style=" display:flex; flex-direction:column">
<el-button size="mini" type="text" @click="printTagOrderId=scope.row.orderId">{{$t('打印标签')}}</el-button>
<el-button size="mini" type="text" @click="printWarehouseReceiptOrderId=scope.row.orderId">{{$t('打印入仓单')}}</el-button>
<el-button size="mini" type="text" @click="printLadingBillInfo={tidanNO: scope.row.tidanNo, transportType: scope.row.transportId}" :disabled="!scope.row.tidanNo">{{$t('打印提单')}}</el-button>
</div>
<el-button type="text" slot="reference">{{$t('打印')}}</el-button>
</el-popover>
<el-dropdown>
<el-button type="text">{{$t('操作')}}</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="printTagOrderId=scope.row.orderId">{{$t('打印标签')}}</el-dropdown-item>
<el-dropdown-item @click.native="printWarehouseReceiptOrderId=scope.row.orderId">{{$t('打印入仓单')}}</el-dropdown-item>
<el-dropdown-item @click.native="printLadingBillInfo={tidanNO: scope.row.tidanNo, transportType: scope.row.transportId}" :disabled="!scope.row.tidanNo">{{$t('打印提单')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
......@@ -294,23 +267,6 @@ export default {
props: {
mine: Boolean
},
/* filters: {
cargoControlStatusFilter(e, cargoControlStatusList) {
if (e) return cargoControlStatusList.find(item => item.value == e).label
},
recordFilter(e, productRecordList) {
if (e) return productRecordList.find(item => item.value == e).label
},
customsTypeFilter(e, customsTypeList) {
if (e) return customsTypeList.find(item => item.value == e).label
},
orderStatusFilter(e, orderStatusList) {
if (e) return orderStatusList.find(item => item.value == e) ? orderStatusList.find(item => item.value == e).label : ''
},
transportFilter(e, transportList) {
if (e) return transportList.find(item => item.value == e).label
}
}, */
data() {
return {
// 选中数组
......@@ -333,26 +289,11 @@ export default {
title: "",
// 是否显示弹出层
open: false,
/* dateRangeRucangtime: [],
dateRangeDaogangtime: [],
dateRangeQingguantime: [],
dateRangePreLoadTime: [],
dateRangeLoadTime: [],
dateRangeUnloadTime: [],
dateRangeTakeTime: [],
dateRangeSplitTime: [],
dateRangeCreateTime: [], */
// 查询参数
queryParams: {
page: 1,
rows: 10
},
/* productRecordList: getDictDatas(DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE),
cargoControlStatusList: getDictDatas(DICT_TYPE.CONTROL_GOODS_STATUS),
customsTypeList: getDictDatas(DICT_TYPE.ECW_CUSTOMS_TYPE),
orderStatusList: getDictDatas(DICT_TYPE.PAY_ORDER_STATUS),
transportList: getDictDatas(DICT_TYPE.ECW_TRANSPORT_TYPE), */
tradeCityList: [],
productAttrList: [], // 商品属性
molecule: '', //重货比分子
......@@ -368,13 +309,13 @@ export default {
showPickupLogOrderNo: null, // 显示提货日志的订单号
isShow:false,//特殊显示
orderId:undefined,
/* DICT_TYPE,
getDictDatas */
adjustmentList:[],
show:false,
warehouseBol:false,//调仓申请
feeApplicationBol:false,//费用申请
multipleSelection:[]
multipleSelection:[],
transportId: null, // 指定运输方式
};
},
computed: {
......@@ -390,7 +331,11 @@ export default {
timeParams['begin' + this.dateFilterType] = this.dateFilter[0]
timeParams['end' + this.dateFilterType] = this.dateFilter[1]
}
return Object.assign({}, this.queryParams, timeParams)
let queryParams = Object.assign({}, this.queryParams, timeParams)
if(this.transportId){
queryParams.transportId = this.transportId
}
return queryParams
},
batchWarehouseAdjustment(){
return this.multipleSelection.length > 0 && this.multipleSelection.every(e => e.status === 5)
......@@ -398,11 +343,18 @@ export default {
},
created() {
this.getTransportFromRoute()
this.getList();
getProductAttrList().then(res => this.productAttrList = res.data)
getTradeCityList().then(res => this.tradeCityList = res.data)
},
methods: {
// 提取路径中的运输方式
getTransportFromRoute(){
let match = this.$route.path.match(/transport_(\d)/)
if(!match) return
this.transportId = match[1]
},
oprateOrder(orderId, type){
let actions = {
cancelOrder: {
......@@ -457,7 +409,10 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams = {
page: 1,
rows: 10
}
this.handleQuery();
},
/** 新增按钮操作 */
......
......@@ -34,7 +34,7 @@
{{orderData.consignorVO?orderData.consignorVO.company||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('发货电话')">
{{orderData.consignorVO?orderData.consignorVO.phone||$t(''):$t('')}}
{{orderData.consignorVO?((orderData.consignorVO.countryCode?checkCode(orderData.consignorVO.countryCode):'')+orderData.consignorVO.phone)||$t(''):$t('')}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
......@@ -45,7 +45,7 @@
{{orderData.consigneeVO?orderData.consigneeVO.company||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('收货电话')">
{{orderData.consigneeVO?orderData.consigneeVO.phone||$t(''):$t('')}}
{{orderData.consigneeVO?((orderData.consigneeVO.countryCode?checkCode(orderData.consigneeVO.countryCode):'')+orderData.consigneeVO.phone)||$t(''):$t('')}}
</el-descriptions-item>
</el-descriptions>
</el-card>
......@@ -89,7 +89,7 @@
</el-table-column>
<el-table-column :label="$t('操作')" align="center">
<template slot-scope="scope">
<el-tag v-if="scope.row.orderExceptionStatus>0">{{$t('已完成')}}</el-tag>
<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>
</template>
</el-table-column>
......@@ -151,6 +151,12 @@ export default {
this.loading = false;
});
},
checkCode(data){
if(data.indexOf('+')==-1){
return '+'+data
}
return data
},
getOrders(){
getOrder(this.orderId).then(response => {
this.orderData = response.data
......@@ -159,14 +165,19 @@ export default {
handEdit(row){
if(row.orderExceptionType=='order_no_quote_exception'){
let url = '../../lineProject/product-price/edit'
if(row.orderItem){
getProduct(row.orderItemId).then(res=>{
url = '../../lineProject/product-price/edit?product_id='+row.orderItemId+'&product_type='+res.data.typeId
if(row.orderItemId){
var productData = this.orderData.orderItemVOList.find(item=>item.orderItemId==row.orderItemId)
if(productData){
getProduct(productData.prodId).then(res=>{
let url = '../../lineProject/product-price/edit?product_id='+productData.prodId+'&product_type='+res.data.typeId
return this.$router.push(url)
})
}
}else{
let url = '../../lineProject/product-price/edit'
return this.$router.push(url)
}
}else if(row.orderExceptionType == 'order_heavy_cargo_exception'||row.orderExceptionType=='order_bulky_cargo_exception'){
this.$router.push({
path:"/order/weightDeal?id="+row.id+'&type='+row.orderExceptionType,
......
......@@ -48,7 +48,8 @@
</div>
</template>
<script>
import {getOrder, createOrderPickup} from '@/api/ecw/order'
import {getOrder} from '@/api/ecw/order'
import {create} from '@/api/ecw/orderPickup'
import ImageUpload from '@/components/ImageUpload'
export default {
components: {ImageUpload},
......@@ -69,10 +70,10 @@ export default {
})
},
submit(){
createOrderPickup(Object.assign({orderId: this.order.orderNo}, this.form)).then(res => {
create(Object.assign({orderId: this.order.orderNo}, this.form)).then(res => {
return this.$alert(res.message || this.$t('操作成功'))
}).then(res => {
this.$router.back()
this.$store.dispatch('tagsView/delCurrentView')
})
}
}
......
......@@ -37,7 +37,7 @@
{{orderData.consignorVO?orderData.consignorVO.company||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('发货电话')">
{{!orderData.consignorVO?$t(''):!orderData.consignorVO.phone?$t(''):(orderData.consignorVO.countryCode+orderData.consignorVO.phone)}}
{{!orderData.consignorVO?$t(''):!orderData.consignorVO.phone?$t(''):(checkCode(orderData.consignorVO.countryCode)+orderData.consignorVO.phone)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
......@@ -48,7 +48,7 @@
{{orderData.consigneeVO?orderData.consigneeVO.company||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('收货电话')">
{{!orderData.consigneeVO?$t(''):!orderData.consigneeVO.phone?$t(''):(orderData.consigneeVO.countryCode+orderData.consigneeVO.phone)}}
{{!orderData.consigneeVO?$t(''):!orderData.consigneeVO.phone?$t(''):(checkCode(orderData.consigneeVO.countryCode)+orderData.consigneeVO.phone)}}
</el-descriptions-item>
</el-descriptions>
......@@ -209,6 +209,12 @@ export default {
getTradeCityList().then(res => this.tradeCityList = res.data)
},
methods: {
checkCode(data){
if(data.indexOf('+')==-1){
return '+'+data
}
return data
},
/** 查询列表 */
getList() {
this.loading = true;
......
......@@ -36,45 +36,24 @@
</el-form-item>
<el-form-item label="新运费" required style="width: 400px">
<el-input v-model="form.freight" type="number" class="input-with-select">
<el-select v-model="form.freightCurrency" placeholder="请选择" slot="prepend" style="width: 100px">
<el-option
v-for="item in currencyList"
:key="item.id"
:label="item.titleZh"
:value="item.id">
</el-option>
</el-select>
<el-select v-model="form.freightVolume" placeholder="请选择" slot="append" style="width: 100px">
<el-option
v-for="item in unitList"
:key="item.id"
:label="item.titleZh"
:value="item.id">
</el-option>
</el-select>
<div slot="prepend" style="width: 60px">{{ currentMap[form.freightCurrency] }}</div>
<div slot="append" style="width: 60px">{{ unitMap[form.freightVolume] }}</div>
</el-input>
</el-form-item>
<el-form-item label="新清关费" required style="width: 400px">
<el-input v-model="form.clearanceFreight" type="number" class="input-with-select">
<el-select v-model="form.clearanceFreightCurrency" placeholder="请选择" slot="prepend" style="width: 100px">
<el-option
v-for="item in currencyList"
:key="item.id"
:label="item.titleZh"
:value="item.id">
</el-option>
</el-select>
<el-select v-model="form.clearanceFreightVolume" placeholder="请选择" slot="append" style="width: 100px">
<el-option
v-for="item in unitList"
:key="item.id"
:label="item.titleZh"
:value="item.id">
</el-option>
</el-select>
<div slot="prepend" style="width: 60px">{{ currentMap[form.clearanceFreightCurrency] }}</div>
<div slot="append" style="width: 60px">{{ unitMap[form.clearanceFreightVolume] }}</div>
</el-input>
</el-form-item>
</el-form>
<div >
<h2>审批流程</h2>
<work-flow xmlkey="free_apply" v-model="form.channelId" />
<!-- <div>选择的用户:{{selectedUsers}}</div>-->
</div>
<div v-if="!readonly">
<el-button type="primary" @click="handleSubmit">提交</el-button>
</div>
......@@ -107,6 +86,7 @@ import {getChannelList} from "@/api/ecw/channel"
import { getCurrencyList } from '@/api/ecw/currency'
import { getProductAttrList } from '@/api/ecw/productAttr'
import {openedRouterList} from "@/api/ecw/warehouse"
import WorkFlow from "@/components/WorkFlow"
export default {
name: "specialDiscount",
......@@ -119,7 +99,8 @@ export default {
}
},
components: {
DictSelector
DictSelector,
WorkFlow
},
created() {
// 临时
......@@ -227,6 +208,7 @@ export default {
freightVolume: this.form.freightVolume,
}).then(r => {
this.$message.success(r.msg || '提交成功')
this.$tab.closePage()
})
},
getOrderSpecial(){
......@@ -287,9 +269,4 @@ export default {
</script>
<style scoped lang="scss">
::v-deep .input-with-select {
.el-input-group__prepend, .el-input-group__append {
background-color: #fff;
}
}
</style>
......@@ -36,7 +36,7 @@
体积:{{ row.warehouseInInfoVO.volume }}<br>
重量:{{ row.warehouseInInfoVO.weight }}Kg
</template>
<span v-else>展示没有入库信息</span>
<span v-else>暂时没有入库信息</span>
</template>
</el-table-column>
<el-table-column
......@@ -88,8 +88,8 @@
</el-table>
<div style="text-align: center;margin-top: 80px">
<el-button type="primary" @click="toweight" v-if="hasWarehouseInInfo && order.transportId === 1">申请重货优惠</el-button>
<el-button type="primary" @click="tolight" v-if="hasWarehouseInInfo && order.transportId === 2">申请泡货优惠</el-button>
<el-button type="primary" @click="toweight" v-if="hasWarehouseInInfo && (order.transportId === 1 || order.transportId === 2)">申请重货优惠</el-button>
<el-button type="primary" @click="tolight" v-if="hasWarehouseInInfo && (order.transportId === 3 || order.transportId === 4)">申请泡货优惠</el-button>
<el-button type="primary" @click="$tab.closePage()">关闭窗口</el-button>
</div>
</el-card>
......
......@@ -40,7 +40,7 @@
{{orderData.consignorVO?orderData.consignorVO.company||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('发货电话')">
{{!orderData.consignorVO?$t(''):!orderData.consignorVO.phone?$t(''):(orderData.consignorVO.countryCode+orderData.consignorVO.phone)}}
{{!orderData.consignorVO?$t(''):!orderData.consignorVO.phone?$t(''):(checkCode(orderData.consignorVO.countryCode)+orderData.consignorVO.phone)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
......@@ -51,7 +51,7 @@
{{orderData.consigneeVO?orderData.consigneeVO.company||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('收货电话')">
{{!orderData.consigneeVO?$t(''):!orderData.consigneeVO.phone?$t(''):(orderData.consigneeVO.countryCode+orderData.consigneeVO.phone)}}
{{!orderData.consigneeVO?$t(''):!orderData.consigneeVO.phone?$t(''):(checkCode(orderData.consigneeVO.countryCode)+orderData.consigneeVO.phone)}}
</el-descriptions-item>
</el-descriptions>
......@@ -359,6 +359,12 @@ export default {
}
},
methods: {
checkCode(data){
if(data.indexOf('+')==-1){
return '+'+data
}
return data
},
getOrder(){
this.loading = true;
getOrder(this.queryParams.orderId).then(response => {
......
......@@ -67,25 +67,26 @@
<el-descriptions style="margin-top: 20px" :column="4" border>
<el-descriptions-item label="集运仓库">{{ warehouseDetails && warehouseDetails.warehouseOutName ? warehouseDetails.warehouseOutName : '' }}</el-descriptions-item>
<el-descriptions-item label="储位">
<div v-for="item in storageSpaceList" style="display: flex;"><div>{{item.warehouseName ? item.warehouseName : ''}}</div><div>{{item.warehouseName ? item.regionName :''}} 区</div></div>
<div v-for="item in storageSpaceList" style="display: flex;"><div>{{item.warehouseName ? item.warehouseName : ''}}</div><div>{{item.warehouseName ? item.regionName :''}} 区</div> <div>{{item.code}}</div></div>
</el-descriptions-item>
<el-descriptions-item v-if="type == 2" label="选择储位">
<div @click="areaVisible = true" style="color: #0a84ff;cursor: pointer;">选择储位</div>
</el-descriptions-item>
<el-descriptions-item label="调拨目标仓">{{ warehouseDetails && warehouseDetails.warehouseInName ? warehouseDetails.warehouseInName : '' }}</el-descriptions-item>
<el-descriptions-item label="物流公司">
<el-select v-model="params.logisticsCompany" >
<el-select :disabled="type == 2" v-model="params.logisticsCompany" >
<el-option v-for="(item,index) in expressList " :key="index" :value="item.id" :label="item.companyZh"></el-option>
</el-select>
</el-descriptions-item>
<el-descriptions-item label="物流单号">
<el-input v-model="params.logisticsNo"></el-input>
<el-input :disabled="type == 2" v-model="params.logisticsNo"></el-input>
</el-descriptions-item>
<el-descriptions-item label="联系电话">
<el-input v-model="params.phone"></el-input>
<el-input :disabled="type == 2" v-model="params.phone"></el-input>
</el-descriptions-item>
<el-descriptions-item label="出仓日期" >
<el-date-picker
:disabled="type == 2"
value-format="yyyy-MM-dd HH:mm:ss"
v-model="params.deliveryDate"
type="date"
......@@ -276,15 +277,27 @@ export default {
if(item.wareId === itemm.id){
itemm.children.forEach(itemmm => {
if(itemmm.id === item.areaId){
if(itemmm.positionList.length > 0){
itemmm.positionList.forEach(ic =>{
if(ic.children.length > 0){
ic.children.forEach(icc => {
if(icc.id === item.locationId){
obj.push({
warehouseName:itemm.name,
regionName:itemmm.name
regionName:itemmm.name,
code:icc.code
})
}
})
}
})
}
}
})
}
})
})
console.log(obj)
this.storageSpaceList = obj;
})
}
......@@ -366,6 +379,42 @@ export default {
});
},
},
watch:{
'params.orderLocationCreateReqVOList'(val){
console.log(val,'123')
getByWarehouseId().then(r =>{
console.log(r,'仓库')
let obj = [];
val.forEach(item => {
r.data.forEach(itemm => {
if(item.wareId === itemm.id){
itemm.children.forEach(itemmm => {
if(itemmm.id === item.areaId){
if(itemmm.positionList.length > 0){
itemmm.positionList.forEach(ic =>{
if(ic.children.length > 0){
ic.children.forEach(icc => {
if(icc.id === item.locationId){
obj.push({
warehouseName:itemm.name,
regionName:itemmm.name,
code:icc.code
})
}
})
}
})
}
}
})
}
})
})
console.log(obj,'obj')
this.storageSpaceList = obj;
})
}
}
}
</script>
......
......@@ -34,7 +34,7 @@
{{orderData.consignorVO?orderData.consignorVO.company||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('发货电话')">
{{orderData.consignorVO?orderData.consignorVO.phone||$t(''):$t('')}}
{{orderData.consignorVO?((orderData.consignorVO.countryCode?checkCode(orderData.consignorVO.countryCode):'')+orderData.consignorVO.phone)||$t(''):$t('')}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
......@@ -45,7 +45,7 @@
{{orderData.consigneeVO?orderData.consigneeVO.company||$t(''):$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('收货电话')">
{{orderData.consigneeVO?orderData.consigneeVO.phone||$t(''):$t('')}}
{{orderData.consigneeVO?((orderData.consigneeVO.countryCode?checkCode(orderData.consigneeVO.countryCode):'')+orderData.consigneeVO.phone)||$t(''):$t('')}}
</el-descriptions-item>
</el-descriptions>
</el-card>
......@@ -74,9 +74,9 @@
</el-table-column>
<el-table-column :label="$t('入库货物属性')" align="center" >
<template slot-scope="scope">
<span>{{$t('品牌')}}{{scope.row.boxGauge||0}}</span>
<span>{{$t('箱规')}}{{scope.row.boxGauge||0}}</span>
<p>
<span>品牌<dict-tag :value="scope.row.brandType" :type="DICT_TYPE.ECW_IS_BRAND" /></span>
<span>{{$t('品牌')}}<dict-tag :value="scope.row.brandType" :type="DICT_TYPE.ECW_IS_BRAND" /></span>
<span>{{$t('箱数')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}</span>
<span>{{$t('体积')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}CBM</span>
<span>{{$t('重量')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}KG</span>
......@@ -147,6 +147,12 @@ export default {
this.getOrders()
});
},
checkCode(data){
if(data.indexOf('+')==-1){
return '+'+data
}
return data
},
getOrders(){
getOrder(this.list.orderId).then(response => {
this.orderData = response.data
......
......@@ -82,49 +82,49 @@
</template>
</div>
<el-form-item :label="$t(`第{index}阶梯`, {index: index + 1})">
<el-input v-model="item.startNum" type="number" placeholder="" class="w100"></el-input>
<el-input v-model="item.startNum" type="number" placeholder="" class="w-100"></el-input>
-
<el-input v-model="item.endNum" type="number" placeholder="" class="w100"></el-input>
<el-input v-model="item.endNum" type="number" placeholder="" class="w-100"></el-input>
/
<selector v-model="form.weightUnit" :options="unitList" label-field="titleZh" value-field="id" defaultable class="w100" />
<selector v-model="form.weightUnit" :options="unitList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100" />
</el-form-item>
<el-form-item :label="$t('默认运费')" v-if="form.priceType != 1">
<inputor default="0" v-model.number="item.transportPrice" type="number" :placeholder="$t('整数或者两位小数')" class="w100 mr10" />
<selector v-model="item.transportPriceUnit" :options="currencyList" label-field="titleZh" value-field="id" defaultable class="w100" />
/ <selector v-model="item.transportVolumeUnit" :options="unitList" label-field="titleZh" value-field="id" defaultable class="w100" />
<inputor default="0" v-model.number="item.transportPrice" type="number" :placeholder="$t('整数或者两位小数')" class="w-100 mr-10" />
<selector v-model="item.transportPriceUnit" :options="currencyList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100" />
/ <selector v-model="item.transportVolumeUnit" :options="unitList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100" />
</el-form-item>
<el-form-item :label="$t('默认清关费')" v-if="form.priceType != 1">
<inputor default="0" v-model.number="item.clearancePrice" type="number" :placeholder="$t('整数或者两位小数')" class="w100 mr10" />
<selector v-model="item.clearancePriceUnit" :options="currencyList" label-field="titleZh" value-field="id" defaultable class="w100" />
/ <selector v-model="item.clearanceVolumeUnit" :options="unitList" label-field="titleZh" value-field="id" defaultable class="w100" />
<inputor default="0" v-model.number="item.clearancePrice" type="number" :placeholder="$t('整数或者两位小数')" class="w-100 mr-10" />
<selector v-model="item.clearancePriceUnit" :options="currencyList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100" />
/ <selector v-model="item.clearanceVolumeUnit" :options="unitList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100" />
</el-form-item>
<el-form-item :label="$t('默认全包价')" v-if="form.priceType == 1">
<inputor default="0" v-model.number="item.allPrice" type="number" :placeholder="$t('整数或者两位小数')" class="w100 mr10" />
<selector v-model="item.allPriceUnit" :options="currencyList" label-field="titleZh" value-field="id" defaultable class="w100" />
/ <selector v-model="item.allVolumeUnit" :options="unitList" label-field="titleZh" value-field="id" defaultable class="w100" />
<selector v-model="item.allPriceUnit" :options="currencyList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100" />
<inputor default="0" v-model.number="item.allPrice" type="number" :placeholder="$t('整数或者两位小数')" class="w-100 mr-10" />
/ <selector v-model="item.allVolumeUnit" :options="unitList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100" />
</el-form-item>
</div>
</template>
<template v-else>
<el-form-item :label="$t('默认全包价')" v-if="form.priceType == 1">
<selector v-model="form.allPriceUnit" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable class="w-100 mr-10" />
<inputor default="0" v-model.number="form.allPrice" type="number" :placeholder="$t('整数或者两位小数')" class="w100 mr10" />
<selector v-model="form.allPriceUnit" :options="currencyList" label-field="titleZh" value-field="id" defaultable class="w100" />
/ <selector v-model="form.allVolumeUnit" :options="unitList" label-field="titleZh" value-field="id" defaultable class="w100" />
/ <selector v-model="form.allVolumeUnit" :options="unitList" :label-field="$l('title')" value-field="id" defaultable class="w-100" />
</el-form-item>
<template v-else>
<el-form-item :label="$t('默认运费')" prop="transportPrice">
<selector v-model="form.transportPriceUnit" :options="currencyList" label-field="titleZh" value-field="id" defaultable class="w-100 mr-10" />
<selector v-model="form.transportPriceUnit" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable class="w-100 mr-10" />
<inputor default="0" v-model.number="form.transportPrice" type="number" :placeholder="$t('整数或者两位小数')" class="w-100 mr-10" />
<span class="mr-10">/</span>
<selector v-model="form.transportVolumeUnit" :options="unitList" label-field="titleZh" value-field="id" defaultable class="w-100" />
<selector v-model="form.transportVolumeUnit" :options="unitList" :label-field="$l('title')" value-field="id" defaultable class="w-100" />
</el-form-item>
<el-form-item :label="$t('默认清关费')" prop="clearancePrice">
<selector v-model="form.clearancePriceUnit" :options="currencyList" label-field="titleZh" value-field="id" defaultable class="w-100 mr-10" />
<selector v-model="form.clearancePriceUnit" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable class="w-100 mr-10" />
<inputor default="0" v-model.number="form.clearancePrice" type="number" :placeholder="$t('整数或者两位小数')" class="w-100 mr-10" />
<span class="mr-10">/</span>
<selector v-model="form.clearanceVolumeUnit" :options="unitList" label-field="titleZh" value-field="id" defaultable class="w-100" />
<selector v-model="form.clearanceVolumeUnit" :options="unitList" :label-field="$l('title')" value-field="id" defaultable class="w-100" />
</el-form-item>
</template>
......@@ -135,28 +135,28 @@
v-for="(special, specialIndex) in this.specialProducts"
:label="getDictDataLabel(DICT_TYPE.ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS, special.specialDictType) + $t('全包价')"
:key="specialIndex + 'transport'">
<selector v-model="special.allPriceUnit" :options="currencyList" label-field="titleZh" value-field="id" defaultable class="w-100 mr-10" />
<selector v-model="special.allPriceUnit" :options="currencyList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100 mr-10" />
<inputor default="0" v-model.number="special.allPrice" type="number" :placeholder="$t('整数或者两位小数')" class="w-100 mr-10" />
<span class="mr-10">/</span>
<selector v-model="special.allVolumeUnit" :options="unitList" label-field="titleZh" value-field="id" defaultable class="w-100" />
<selector v-model="special.allVolumeUnit" :options="unitList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100" />
</el-form-item>
</template>
<template v-else v-for="(special, specialIndex) in this.specialProducts">
<el-form-item
:label="getDictDataLabel(DICT_TYPE.ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS, special.specialDictType) + $t('运费')"
:key="specialIndex + 'transport'">
<selector v-model="special.transportPriceUnit" :options="currencyList" label-field="titleZh" value-field="id" defaultable class="w-100 mr-10" />
<selector v-model="special.transportPriceUnit" :options="currencyList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100 mr-10" />
<inputor default="0" v-model.number="special.transportPrice" type="number" :placeholder="$t('整数或者两位小数')" class="w-100 mr-10" />
<span class="mr-10">/</span>
<selector v-model="special.transportVolumeUnit" :options="unitList" label-field="titleZh" value-field="id" defaultable class="w-100" />
<selector v-model="special.transportVolumeUnit" :options="unitList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100" />
</el-form-item>
<el-form-item
:label="getDictDataLabel(DICT_TYPE.ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS, special.specialDictType) + $t('清关费')"
:key="specialIndex + 'clearance'">
<selector v-model="special.clearancePriceUnit" :options="currencyList" label-field="titleZh" value-field="id" defaultable class="w-100 mr-10" />
<selector v-model="special.clearancePriceUnit" :options="currencyList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100 mr-10" />
<inputor default="0" v-model.number="special.clearancePrice" type="number" :placeholder="$t('整数或者两位小数')" class="w-100 mr-10" />
<span class="mr-10">/</span>
<selector v-model="special.clearanceVolumeUnit" :options="unitList" label-field="titleZh" value-field="id" defaultable class="w-100" />
<selector v-model="special.clearanceVolumeUnit" :options="unitList" :label-field="$l(null, 'title')" value-field="id" defaultable class="w-100" />
</el-form-item>
</template>
</template>
......
......@@ -48,7 +48,10 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('状态')" prop="destCityId" v-if="!$route.query.product_id">
<el-form-item :label="$t('审核状态')" prop="auditStatus">
<dict-selector :type="DICT_TYPE.ECW_PRICE_AUDIT_STATUS" v-model="queryParams.auditStatus" />
</el-form-item>
<el-form-item :label="$t('状态')" prop="status">
// TODO
</el-form-item>
......
......@@ -44,7 +44,7 @@
<el-option v-for="dict in this.getDictDatas('company_type')"
:key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select-->
<dict-selector :type="DICT_TYPE.COMPANY_TYPE" v-model="queryParams.companyType" />
<dict-selector :type="DICT_TYPE.ECW_COMPANY_TYPE" v-model="queryParams.companyType" />
</el-form-item>
<el-form-item :label="$t('合作类型')" prop="cooperationType">
<dict-selector :type="DICT_TYPE.ECW_COOPERATION_TYPE" v-model="queryParams.cooperationType" />
......
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