Commit 5a884623 authored by dragondean@qq.com's avatar dragondean@qq.com

完善bug和预订舱计划,报价单特价申请等

parent a64ed272
......@@ -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
......@@ -55,7 +55,7 @@ export default {
},
methods:{
handleQuery(){
// this.form.pageNo = 1
this.form.pageNo = 1
this.loadList()
},
loadList(){
......
......@@ -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
})
......
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,7 +131,7 @@ 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'
......@@ -142,7 +142,7 @@ export default {
name: "ProcessInstanceDetail",
components: {
Parser,
specialDetail,
SpecialDetail,
warehouseDetails,
shippingDetail,
SplitDetail,
......
......@@ -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() {
......
......@@ -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-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) }从【${form.departureName}】发往【${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">
暗佣:// TODO {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}
<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'
export default {
name: "Commossion",
props: {
offerProdId: Number,
customerId: Number
},
components: {
DictSelector, WorkFlow
},
created() {
// 查看详情,列表进来的
if(this.offerProdId){
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: '请选择佣金类型'},
}
}
},
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)
}
},
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.offerProdId, {type: 2}).then(r => {
this.form = r.data
})
},
getProductAttrNameById(id){
return this.productAttrList.find(e => e.id === id)?.attrName || ''
},
closeDialog(){
this.$emit('close')
}
}
}
</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')
})
})
},
......
......@@ -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" />
......@@ -130,9 +126,9 @@
<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="cancel(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="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="[1,2,3,4,5,6].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:delete']">{{$t('删除')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
......@@ -184,7 +180,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 +338,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="showCommissionProdId=row.offerProdId">{{$t('佣金规则')}}</el-button>
</template>
</el-table-column>
......@@ -83,7 +83,8 @@
<el-button type="primary">申请泡货优惠</el-button>
<el-button type="primary">关闭窗口</el-button>
</div> -->
<special-discount v-if="showOfferProdId" :offerProdId="showOfferProdId" @close="showOfferProdId=null" @success="onSuccess" />
<special-discount v-if="showOfferProdId" :offerProdId="showOfferProdId" @close="showOfferProdId=null" @success="onSuccess" />
<commossion v-if="showCommissionProdId" :offerProdId="showCommissionProdId" :customer-id="offer.relationId" @close="showCommissionProdId=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
showCommissionProdId: null, // 修改佣金规则的产品ID
};
},
watch:{
......
......@@ -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>
......@@ -296,7 +296,7 @@ export default {
this.showFallbackOrder = null
this.handleQuery()
},
onReansferCargoSuccess(){
onTransferCargoSuccess(){
this.showTransferCargoOrderId = null
this.handleQuery()
}
......
......@@ -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}">
......
......@@ -128,15 +128,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>
......@@ -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,14 +517,14 @@ 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'
// 缓存默认的表单数据
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 {
......@@ -689,6 +686,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:{
......@@ -797,8 +805,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 +844,7 @@ export default {
this.$set(row, 'link', value)
})
},
onFileChoosed(e){
/* onFileChoosed(e){
window.choosed = e
console.log('onFileChoosed', e)
......@@ -845,7 +858,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
......
......@@ -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')
})
}
}
......
......@@ -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