Commit d4b1a4bd authored by dcy's avatar dcy

Merge remote-tracking branch 'origin/dev' into dev

parents bf235db7 6bc49b26
...@@ -181,6 +181,7 @@ export const DICT_TYPE = { ...@@ -181,6 +181,7 @@ export const DICT_TYPE = {
MANUAL_EXCEPTION_TYPE:'manual_exception_type', MANUAL_EXCEPTION_TYPE:'manual_exception_type',
APPLY_STATUS:'apply_status',//特价申请审核状态 APPLY_STATUS:'apply_status',//特价申请审核状态
WAREHOUSING_SPECIFICATION_TYPE: 'warehousing_specification_type', WAREHOUSING_SPECIFICATION_TYPE: 'warehousing_specification_type',
ECW_AUTH_TYPE:'auth_type',//品牌授权
ECASH_INIT:'ecash_init', //e-cash ECASH_INIT:'ecash_init', //e-cash
FEE_TYPE:'receivable_fee_type', FEE_TYPE:'receivable_fee_type',
......
...@@ -33,7 +33,11 @@ export default { ...@@ -33,7 +33,11 @@ export default {
}, },
created() { created() {
const { currNode, shipmentObj } = this.$attrs; const { currNode, shipmentObj } = this.$attrs;
const { preInstallBackInfo, cabinetUnloadBackApprovalInfo } = shipmentObj; const {
preInstallBackInfo,
cabinetBackInfo,
cabinetUnloadBackApprovalInfo,
} = shipmentObj;
if (currNode.type === "preinstall") { if (currNode.type === "preinstall") {
this.isReview = preInstallBackInfo ? true : false; this.isReview = preInstallBackInfo ? true : false;
if (preInstallBackInfo && preInstallBackInfo.approvalStatus !== 1) { if (preInstallBackInfo && preInstallBackInfo.approvalStatus !== 1) {
...@@ -41,9 +45,19 @@ export default { ...@@ -41,9 +45,19 @@ export default {
} }
this.bpmProcessId = preInstallBackInfo?.bpmProcessId; this.bpmProcessId = preInstallBackInfo?.bpmProcessId;
} }
if (currNode.type === "cabinet") {
this.isReview = cabinetBackInfo ? true : false;
if (cabinetBackInfo && cabinetBackInfo.approvalStatus !== 1) {
this.isReview = false;
}
this.bpmProcessId = cabinetBackInfo?.bpmProcessId;
}
if (currNode.type === "unloading") { if (currNode.type === "unloading") {
this.isReview = cabinetUnloadBackApprovalInfo ? true : false; this.isReview = cabinetUnloadBackApprovalInfo ? true : false;
if (cabinetUnloadBackApprovalInfo && cabinetUnloadBackApprovalInfo.approvalStatus !== 1) { if (
cabinetUnloadBackApprovalInfo &&
cabinetUnloadBackApprovalInfo.approvalStatus !== 1
) {
this.isReview = false; this.isReview = false;
} }
this.bpmProcessId = cabinetUnloadBackApprovalInfo?.bpmProcessId; this.bpmProcessId = cabinetUnloadBackApprovalInfo?.bpmProcessId;
...@@ -59,11 +73,15 @@ export default { ...@@ -59,11 +73,15 @@ export default {
this.$refs["reviewForm"].validate((valid) => { this.$refs["reviewForm"].validate((valid) => {
if (valid) { if (valid) {
const { currNode, shipmentObj } = this.$attrs; const { currNode, shipmentObj } = this.$attrs;
let approvalType = 4; // 预装反审
if (currNode.type === "cabinet") approvalType = 9; // 装柜反审
if (currNode.type === "unloading") approvalType = 7; // 卸柜反审核
approvalCreate({ approvalCreate({
shipmentId: shipmentObj.id, shipmentId: shipmentObj.id,
...this.reviewObj, ...this.reviewObj,
approvalStatus: 0, approvalStatus: 0,
approvalType: currNode.type === "preinstall" ? 4 : 7, // 4预装反审 7卸柜反审核 approvalType,
}).then((res) => { }).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
this.cancel("submit"); this.cancel("submit");
......
...@@ -80,12 +80,12 @@ export default { ...@@ -80,12 +80,12 @@ export default {
seaBaseData: Array, seaBaseData: Array,
width: { width: {
type: String, type: String,
default: '76px' default: "76px",
}, },
height: { height: {
type: String, type: String,
default: '76px' default: "76px",
} },
}, },
data() { data() {
return { return {
...@@ -169,6 +169,16 @@ export default { ...@@ -169,6 +169,16 @@ export default {
this.$set(this.dialogConfig, "fullscreen", true); this.$set(this.dialogConfig, "fullscreen", true);
this.$set(this.dialogConfig, "title", this.$t("出货安排(预装)")); this.$set(this.dialogConfig, "title", this.$t("出货安排(预装)"));
} }
// 装柜
case "cabinet":
// 装柜反审
const cabStatus = this.shipmentObj[node.keyName];
if ([47].includes(cabStatus)) {
this.currentComponent = `reviewWidget`;
this.$set(this.dialogConfig, "width", "700px");
this.$set(this.dialogConfig, "title", this.$t("装柜反审"));
}
break;
// 卸柜 // 卸柜
case "unloading": case "unloading":
// 卸柜反审 // 卸柜反审
......
...@@ -197,7 +197,7 @@ ...@@ -197,7 +197,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('价税合计(RMB)')" align="center" prop="total" > <el-table-column :label="$t('价税合计(RMB)')" align="center" prop="total" >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.total = ((scope.row.totalAmount * scope.row.exchangeRate) + (scope.row.totalAmount * scope.row.exchangeRate) * (scope.row.taxRate/100)).toFixed(6) }}</span> <span>{{ scope.row.total = ((scope.row.totalAmount * scope.row.exchangeRate) + (scope.row.totalAmount * scope.row.exchangeRate) * (scope.row.taxRate/100)).toFixed(2) }}</span>
<!-- <span>{{scope.row.total}}</span> --> <!-- <span>{{scope.row.total}}</span> -->
</template> </template>
</el-table-column> </el-table-column>
......
...@@ -230,7 +230,7 @@ import { getSupplierPage } from "@/api/ecw/supplier"; ...@@ -230,7 +230,7 @@ import { getSupplierPage } from "@/api/ecw/supplier";
import { getCurrencyPage } from "@/api/ecw/currency"; import { getCurrencyPage } from "@/api/ecw/currency";
export default { export default {
name: "Payable", name: "EcwFinancialPayable",
components: {}, components: {},
data() { data() {
return { return {
......
...@@ -196,7 +196,7 @@ import { getSupplierPage } from "@/api/ecw/supplier"; ...@@ -196,7 +196,7 @@ import { getSupplierPage } from "@/api/ecw/supplier";
import { getPaymentList, deletePayment, paymentVerification, paymentVerificationCancel, paymentVerifyCancel } from "@/api/ecw/financial" import { getPaymentList, deletePayment, paymentVerification, paymentVerificationCancel, paymentVerifyCancel } from "@/api/ecw/financial"
export default { export default {
name: "paymentVoucher", name: "EcwFinancialPaymentvoucher",
components: { components: {
CustomerSelector, CustomerSelector,
}, },
......
...@@ -258,7 +258,7 @@ import { getReceivableList } from "@/api/ecw/financial"; ...@@ -258,7 +258,7 @@ import { getReceivableList } from "@/api/ecw/financial";
import { getCurrencyPage } from "@/api/ecw/currency"; import { getCurrencyPage } from "@/api/ecw/currency";
export default { export default {
name: "Receivable", name: "EcwFinancialReceivable",
components: { components: {
CustomerSelector, CustomerSelector,
}, },
......
...@@ -263,7 +263,7 @@ import { ...@@ -263,7 +263,7 @@ import {
} from "@/api/ecw/financial"; } from "@/api/ecw/financial";
export default { export default {
name: "Voucher", name: "EcwFinancialVoucher",
components: { components: {
CustomerSelector, CustomerSelector,
}, },
......
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<div class="form-section"> <div class="form-section">
<el-form-item :label="$t('运输方式')" prop="transportId"> <el-form-item :label="$t('运输方式')" prop="transportId">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="form.transportId" @input="calculationPrice" class="w-200"/> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="form.transportId" class="w-200"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('出货渠道')" v-if="getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass == 'channel'" prop="channelId"> <el-form-item :label="$t('出货渠道')" v-if="getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass == 'channel'" prop="channelId">
<selector <selector
...@@ -102,7 +102,6 @@ ...@@ -102,7 +102,6 @@
:options="channelList" :options="channelList"
value-field="channelId" value-field="channelId"
label-field="nameZh" label-field="nameZh"
@input="calculationPrice"
class="w-200" class="w-200"
></selector> ></selector>
</el-form-item> </el-form-item>
...@@ -801,8 +800,7 @@ export default { ...@@ -801,8 +800,7 @@ export default {
'form.objectiveId'(){ 'form.objectiveId'(){
this.getOpenedRouterList() this.getOpenedRouterList()
}, },
'form.transportId'(transportId){ 'form.transportId'(transportId, oldTransportId){
// 海空联运默认数据 // 海空联运默认数据
if(transportId == 4){ if(transportId == 4){
this.$set(this.form.transportVO, Object.assign(this.form.transportVO, { this.$set(this.form.transportVO, Object.assign(this.form.transportVO, {
...@@ -815,15 +813,27 @@ export default { ...@@ -815,15 +813,27 @@ export default {
})) }))
} }
this.getOpenedRouterList() this.getOpenedRouterList()
// 更换运输方式之后,之前选择的路线会失效,需要重新选择
if(oldTransportId && oldTransportId != transportId && transportId != this.selectedRouter?.transportType){
console.log('重置路线',oldTransportId, transportId, this.selectedRouter?.transportType)
this.$set(this.form, 'lineId', undefined)
}
}, },
'form.channelId'(){ 'form.channelId'(){
this.getOpenedRouterList() this.getOpenedRouterList()
this.calculationPrice('form.channelId')
}, },
'form.lineId'(lineId){ 'form.lineId'(lineId){
let router = this.routerList.find(item => item.id == lineId) let router = this.routerList.find(item => item.id == lineId)
if(!router) return if(router){
this.$set(this.form, 'departureId', router.startCityId) this.$set(this.form, 'departureId', router.startCityId)
this.$set(this.form, 'objectiveId', router.destCityId) this.$set(this.form, 'objectiveId', router.destCityId)
}
this.$nextTick(() => {
this.calculationPrice('form.lineId')
})
}, },
'form.transportVO.packageTypeArr'(val){ 'form.transportVO.packageTypeArr'(val){
this.$set(this.form.transportVO, 'packageType', val.join(',')) this.$set(this.form.transportVO, 'packageType', val.join(','))
...@@ -922,17 +932,17 @@ export default { ...@@ -922,17 +932,17 @@ export default {
}) })
} }
this.calculationPrice() this.calculationPrice('onProductChange')
}, },
onLineChange(row){ /* onLineChange(row){
this.calculationPrice() this.calculationPrice()
// this.updateEnabledTransports() // this.updateEnabledTransports()
}, }, */
onChannelChange(row){ onChannelChange(row){
this.calculationPrice() this.calculationPrice('onChannelChange')
}, },
onProductAttrChange(row, attr){ onProductAttrChange(row, attr){
this.calculationPrice() this.calculationPrice('onProductAttrChange')
}, },
addProduct(data){ addProduct(data){
this.form.prodCreateReqVOList.push(data || {prodAttrArr:[]}) this.form.prodCreateReqVOList.push(data || {prodAttrArr:[]})
...@@ -1027,7 +1037,8 @@ export default { ...@@ -1027,7 +1037,8 @@ export default {
}) })
}, },
// 计算商品运费 // 计算商品运费
calculationPrice(){ calculationPrice(tag){
console.log('calculationPrice@', tag)
let calcable = true let calcable = true
if(!this.form.prodCreateReqVOList.length) return if(!this.form.prodCreateReqVOList.length) return
this.form.prodCreateReqVOList.forEach(item => { this.form.prodCreateReqVOList.forEach(item => {
...@@ -1037,7 +1048,14 @@ export default { ...@@ -1037,7 +1048,14 @@ export default {
} }
item.brandType = item.brand item.brandType = item.brand
}) })
if(this.calculating || !calcable) return false if(this.calculating || !calcable){
console.log('不满足费用计算条件,清空已获取的费用信息')
this.form.prodCreateReqVOList.forEach(item => {
delete item.fee
})
this.fee = {}
return false
}
this.calculating = true this.calculating = true
console.log('calculationPrice') console.log('calculationPrice')
...@@ -1045,7 +1063,7 @@ export default { ...@@ -1045,7 +1063,7 @@ export default {
calculationPrice({ calculationPrice({
lineId: this.form.lineId, lineId: this.form.lineId,
transportId: this.form.transportId, transportId: this.form.transportId,
channelId: this.form.channelId, channelId: [3,4].indexOf(this.form.transportId) > -1 ? this.form.channelId : undefined,
prodConditionParamList: this.getProductListWithDefaultValue(), prodConditionParamList: this.getProductListWithDefaultValue(),
consigneeCustomerContactsId: this.form.consigneeCustomerContactsId, consigneeCustomerContactsId: this.form.consigneeCustomerContactsId,
consignorCustomerContactsId: this.form.consignorCustomerContactsId, consignorCustomerContactsId: this.form.consignorCustomerContactsId,
......
<template>
<!-- 订单获取入仓记录 -->
<el-dialog :title="title" visible :before-close="closeDialog" :close-on-click-modal="false" width="1000px">
<el-table v-if="warehouseItem && warehouseItem.orderWarehouseInBackItemDoList" :data="warehouseItem.orderWarehouseInBackItemDoList">
<el-table-column type="index" :label="$t('序号')" />
<el-table-column :label="$t('箱数')" prop="cartonsNum" />
<el-table-column :label="$t('入仓类型')" prop="cartonsNum">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE" :value="row.specificationType" />
</template>
</el-table-column>
<el-table-column :label="$t('包装类型')" prop="unit">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="row.unit" />
</template>
</el-table-column>
<el-table-column :label="$t('长')" prop="boxGauge">
<template slot-scope="{row}">
{{row.boxGauge.split('*')[0]}}
</template>
</el-table-column>
<el-table-column :label="$t('宽')" prop="boxGauge" >
<template slot-scope="{row}">
{{row.boxGauge.split('*')[1]}}
</template>
</el-table-column>
<el-table-column :label="$t('高')" prop="boxGauge" >
<template slot-scope="{row}">
{{row.boxGauge.split('*')[2]}}
</template>
</el-table-column>
<el-table-column :label="$t('体积') + '(m³)'" prop="volume" />
<el-table-column :label="$t('重量') + '(kg)'" prop="weight" />
<el-table-column :label="$t('数量(个)')" prop="quantityAll" />
<el-table-column :label="$t('快递单号')" prop="expressNo" />
<el-table-column :label="$t('入仓时间')" prop="inTime" >
<template slot-scope="{row}">{{row.inTime|parseTime}}</template>
</el-table-column>
</el-table>
</el-dialog>
</template>
<script>
import { getOrder, getOrderWarehouseIn } from '@/api/ecw/order'
import { DICT_TYPE } from '@/utils/dict'
import { parseTime } from '@/utils/ruoyi'
export default {
filters: {parseTime},
props:{
order: Object, // order 和 orderId 二选一
orderId: Number,
orderItemId: Number,
},
data(){
return {
orderDetail: null,
warehouseList: null
}
},
computed:{
info(){
return this.orderDetail || this.order
},
orderItem(){
if(!this.info) return null
return this.info.orderItemVOList.find(item => item.orderItemId == this.orderItemId)
},
warehouseItem(){
if(!this.warehouseList) return []
return this.warehouseList.find(item => item.orderItemId == this.orderItemId) || []
},
title(){
if(!this.orderItem) return '-'
return this.$l(this.orderItem, 'prodTitle') + ' - ' + this.$t('入仓记录')
}
},
created(){
this.show = true
if(!this.order && this.orderId){
getOrder(this.orderId).then(res => {
this.orderDetail = res.data
})
}
this.getOrderWarehouseIn()
},
methods:{
closeDialog(){
this.show = false
this.$emit('close');
},
getOrderWarehouseIn(){
getOrderWarehouseIn(this.info.orderId).then(res => {
this.warehouseList = res.data
})
}
}
}
</script>
\ No newline at end of file
...@@ -120,7 +120,8 @@ ...@@ -120,7 +120,8 @@
<el-table-column prop="num" :label="$t('填单件数')" width="90px"/> <el-table-column prop="num" :label="$t('填单件数')" width="90px"/>
<el-table-column prop="sumNum" :label="$t('入仓件数')" width="90px"> <el-table-column prop="sumNum" :label="$t('入仓件数')" width="90px">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{row.warehouseInInfoVO ? row.warehouseInInfoVO.cartonsNum : 0}} <el-link type="primary" @click.native="showWarehouseLogs(row)">{{row.warehouseInInfoVO ? row.warehouseInInfoVO.cartonsNum : 0}}</el-link>
<div v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification">(多规格)</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="unit" :label="$t('单位')" width="90px"> <el-table-column prop="unit" :label="$t('单位')" width="90px">
...@@ -242,6 +243,7 @@ ...@@ -242,6 +243,7 @@
<print-warehouse-receipt v-if="showWarehouseReceipt" :order-id="order.orderId" @close="showWarehouseReceipt=false" /> <print-warehouse-receipt v-if="showWarehouseReceipt" :order-id="order.orderId" @close="showWarehouseReceipt=false" />
<print-lading-bill v-if="showLadingBill" :order-id="order.orderId" :transport-type="order.transportId" @close="showLadingBill=false" /> <print-lading-bill v-if="showLadingBill" :order-id="order.orderId" :transport-type="order.transportId" @close="showLadingBill=false" />
<warehouse-detail :order="order" :orderItemId="showWarehouseInItemId" v-if="showWarehouseInItemId" @close="showWarehouseInItemId=null" />
</div> </div>
</template> </template>
...@@ -255,11 +257,12 @@ import {getCurrencyList} from '@/api/ecw/currency' ...@@ -255,11 +257,12 @@ import {getCurrencyList} from '@/api/ecw/currency'
import {getReceivableListByOrderId} from '@/api/ecw/receipt' import {getReceivableListByOrderId} from '@/api/ecw/receipt'
import { getChannel } from '@/api/ecw/channel'; import { getChannel } from '@/api/ecw/channel';
import {listByIds} from '@/api/ecw/region' import {listByIds} from '@/api/ecw/region'
import WarehouseDetail from './components/WarehouseDetail';
export default { export default {
name: "detail", name: "detail",
components: { components: {
PrintWarehouseReceipt, PrintLadingBill PrintWarehouseReceipt, PrintLadingBill, WarehouseDetail
}, },
filters: { filters: {
customsTypeFilter(e, customsTypeList) { customsTypeFilter(e, customsTypeList) {
...@@ -290,7 +293,9 @@ export default { ...@@ -290,7 +293,9 @@ export default {
unitList:[], unitList:[],
feeList: [], feeList: [],
channelName: '/', channelName: '/',
region: '' region: '',
orderWarehouseIn: null, // 入仓详情
showWarehouseInItemId: null, // 当前显示的入仓
} }
}, },
computed:{ computed:{
...@@ -374,6 +379,15 @@ export default { ...@@ -374,6 +379,15 @@ export default {
}, },
downloadPackingList(){ downloadPackingList(){
window.open(this.order.packingListUrl) window.open(this.order.packingListUrl)
},
// 显示入仓记录
showWarehouseLogs(row){
this.showWarehouseInItemId = row.orderItemId
},
getWarehouseIn(){
getOrderWarehouseIn(this.order.id).then(res => {
this.orderWarehouseIn = res.data
})
} }
} }
}; };
......
...@@ -791,7 +791,7 @@ export default { ...@@ -791,7 +791,7 @@ export default {
// 勾选外部仓则添加一个默认的,取消则删除默认的空的 // 勾选外部仓则添加一个默认的,取消则删除默认的空的
if(!isExternalWarehouse){ if(!isExternalWarehouse){
this.$set(this.form, 'externalWarehouseDtoList', []) this.$set(this.form, 'externalWarehouseDtoList', [])
}else if(!this.form.externalWarehouseDtoList.length){ }else if(!this.form.externalWarehouseDtoList || !this.form.externalWarehouseDtoList.length){
this.$set(this.form, 'externalWarehouseDtoList', [{}]) this.$set(this.form, 'externalWarehouseDtoList', [{}])
} }
}, },
......
...@@ -238,12 +238,7 @@ ...@@ -238,12 +238,7 @@
</template> </template>
<!-- 合单,拆单 --> <!-- 合单,拆单 -->
<template v-if=" <template v-if=" (scope.row.status < 12 || (scope.row.status == 12 && scope.row.shipmentState == 314)) && !scope.row.abnormalState">
exclude(scope.row.status, [0,2]) &&
exclude(scope.row.abnormalState, [1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14]) &&
scope.row.shipmentState < 320 &&
exclude(scope.row.inWarehouseState, [201])
">
<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/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="$router.push(`/order/splitApply?orderId=${scope.row.orderId}`)" >{{$t('拆单申请')}}</el-dropdown-item>
</template> </template>
......
<template> <template>
<el-dialog visible :close-on-click-modal="false" :before-close="closeDialog" :title="$t('管理折扣')"> <el-dialog visible :close-on-click-modal="false" :before-close="closeDialog" :title="title">
<el-form ref="form" :model="form" label-width="120px" :rules="rules"> <el-form ref="form" :model="form" label-width="120px" :rules="rules">
<!-- 海运是重货,空运是泡货 --> <!-- 海运是重货,空运是泡货 -->
...@@ -72,6 +72,11 @@ export default { ...@@ -72,6 +72,11 @@ export default {
this.$set(this.form, 'ccIds', this.ccIdArr.join(',')) this.$set(this.form, 'ccIds', this.ccIdArr.join(','))
} }
}, },
computed:{
title(){
return this.applyType == 4 ? this.$t('重货优惠申请') : this.$t('泡货优惠申请')
}
},
methods: { methods: {
handleSubmit(){ handleSubmit(){
this.$refs.form.validate().then(res => { this.$refs.form.validate().then(res => {
......
...@@ -7,16 +7,16 @@ ...@@ -7,16 +7,16 @@
width="1080px" width="1080px"
:before-close="handleClose()"> :before-close="handleClose()">
<el-tabs v-model="activeName"> <el-tabs v-model="activeName">
<el-tab-pane label="未授权客户" name="first"> <el-tab-pane :label="$t('未授权客户')" name="first">
<div class="brand"> <div class="brand">
<el-radio-group v-model="productBrank.unauthChargingModel" @change="changeModel"> <el-radio-group v-model="productBrank.unauthChargingModel" @change="changeModel">
<el-radio label="0">统一收费标准</el-radio> <el-radio label="0">{{$t('统一收费标准')}}</el-radio>
<el-radio label="1">针对客户收费标准</el-radio> <el-radio label="1">{{$t('针对客户收费标准')}}</el-radio>
</el-radio-group> </el-radio-group>
</div> </div>
<div v-if="productBrank.unauthChargingModel==0" class="brand"> <div v-if="productBrank.unauthChargingModel==0" class="brand">
<span>针对所有未授权客户的收费模式</span> <span>{{$t('针对所有未授权客户的收费模式')}}</span>
<el-select v-model="productBrank.unauthDefaultFeeType" placeholder="请选择" size="small" style="margin-right: 10px;"> <el-select v-model="productBrank.unauthDefaultFeeType" :placeholder="$t('请选择')" size="small" style="margin-right: 10px;">
<el-option <el-option
v-for="(item,index) in feeType" v-for="(item,index) in feeType"
:key="index" :key="index"
...@@ -24,14 +24,14 @@ ...@@ -24,14 +24,14 @@
:value="item.value"> :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
<el-button type="primary" @click="updateBrank">确定修改</el-button> <el-button type="primary" @click="updateBrank">{{$t('确定修改')}}</el-button>
</div> </div>
<el-form :inline="true" class="demo-form-inline"> <el-form :inline="true" class="demo-form-inline">
<el-form-item label="关键字"> <el-form-item :label="$t('关键字')">
<el-input v-model="list1QueryParams.customerKey" placeholder="请填入关键字"></el-input> <el-input v-model="list1QueryParams.customerKey" :placeholder="$t('请填入关键字')"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="filterCustomer">查询</el-button> <el-button type="primary" @click="filterCustomer">{{$t('查询')}}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -40,27 +40,27 @@ ...@@ -40,27 +40,27 @@
style="width: 100%"> style="width: 100%">
<el-table-column <el-table-column
prop="customerName" prop="customerName"
label="客户名称"> :label="$t('客户名称')">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="phone" prop="phone"
:formatter="(row, column, cellValue) => '+' + cellValue" :formatter="(row, column, cellValue) => '+' + cellValue"
label="客户号码"> :label="$t('客户号码')">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="feeScale" prop="feeScale"
label="收费类型"> :label="$t('收费类型')">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag v-if="productBrank.unauthChargingModel==1&&scope.row.feeScale" :type="DICT_TYPE.BRAND_CUSTOMER_CHARGING_MODEL" :value="scope.row.feeScale" /> <dict-tag v-if="productBrank.unauthChargingModel==1&&scope.row.feeScale" :type="DICT_TYPE.BRAND_CUSTOMER_CHARGING_MODEL" :value="scope.row.feeScale" />
<span v-else-if="productBrank.unauthDefaultFeeType">{{productBrank.unauthDefaultFeeType==1?'有牌价':'中性价'}}</span> <span v-else-if="productBrank.unauthDefaultFeeType">{{productBrank.unauthDefaultFeeType==1?$t('有牌价'):$t('中性价')}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
width="200px" width="200px"
label="操作"> :label="$t('操作')">
<template v-slot="{row}"> <template v-slot="{row}">
<el-button type="primary" size="mini" @click="handleAdd(row)">添加授权</el-button> <el-button type="primary" size="mini" @click="handleAdd(row)">{{$t('添加授权')}}</el-button>
<el-button v-if="productBrank.unauthChargingModel=='1'" type="primary" size="mini" @click="editAdd(row)">修改收费</el-button> <el-button v-if="productBrank.unauthChargingModel=='1'" type="primary" size="mini" @click="editAdd(row)">{{$t('修改收费')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
...@@ -69,52 +69,53 @@ ...@@ -69,52 +69,53 @@
<pagination v-show="total1 > 0" :total="total1" :page.sync="list1QueryParams.pageNo" :limit.sync="list1QueryParams.pageSize" <pagination v-show="total1 > 0" :total="total1" :page.sync="list1QueryParams.pageNo" :limit.sync="list1QueryParams.pageSize"
@pagination="getList1" style="height: 40px"/> @pagination="getList1" style="height: 40px"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="已授权客户" name="second"> <el-tab-pane :label="$t('已授权客户')" name="second">
<el-table <el-table
:data="list2" :data="list2"
style="width: 100%"> style="width: 100%">
<el-table-column <el-table-column
prop="customerName" prop="customerName"
label="客户名称"> :label="$t('客户名称')">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="phone" prop="phone"
:formatter="(row, column, cellValue) => '+' + cellValue" :formatter="(row, column, cellValue) => '+' + cellValue"
label="客户号码"> :label="$t('客户号码')">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="fileUrl" prop="fileUrl"
label="授权证明"> :label="$t('授权证明')">
<template v-slot="{row}"> <template v-slot="{row}">
<div v-if="!!row.fileUrl && row.fileUrl.length > 0"> <div v-if="!!row.fileUrl && row.fileUrl.length > 0">
<span v-for="(item, index) in row.fileUrl.split(',')"> <span v-for="(item, index) in row.fileUrl.split(',')">
<a :href="item" target="_blank">附件{{ index + 1 }}</a>, <a :href="item" target="_blank">{{$t('附件')}}{{ index + 1 }}</a>,
</span> </span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="startTime" prop="startTime"
width="200px" width="200px"
label="授权时间"> :label="$t('授权时间')">
<template v-slot="{row}"> <template v-slot="{row}">
<span>{{row.startTime?(parseTime(row.startTime, '{y}-{m}-{d}') + ' - ' + parseTime(row.endTime, '{y}-{m}-{d}')):'永久'}}</span> <span >{{row.startTime?(parseTime(row.startTime, '{y}-{m}-{d}') + ' - ' + parseTime(row.endTime, '{y}-{m}-{d}')):'永久'}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="feeScale" prop="feeScale"
:formatter="(row) => getDictDataLabel(DICT_TYPE.BRAND_CUSTOMER_CHARGING_MODEL, row.feeScale)" :formatter="(row) => getDictDataLabel(DICT_TYPE.BRAND_CUSTOMER_CHARGING_MODEL, row.feeScale)"
label="收费标准"> :label="$t('收费标准')">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createUsername" prop="createUsername"
label="添加人"> :label="$t('添加人')">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
width="100px" width="100px"
label="操作"> :label="$t('操作')">
<template v-slot="{row}"> <template v-slot="{row}">
<el-button type="danger" size="mini" @click="handleDelete(row.id)">删除</el-button> <el-button type="danger" size="mini" @click="handleDelete(row.id)">{{$t('删除')}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -127,12 +128,16 @@ ...@@ -127,12 +128,16 @@
<!-- 添加弹窗 --> <!-- 添加弹窗 -->
<el-dialog <el-dialog
title="添加" :title="$t('添加')"
:visible.sync="addDialog.dialogVisible" :visible.sync="addDialog.dialogVisible"
width="600px"> width="600px">
<el-form ref="form" :model="addDialog.form" label-width="80px"> <el-form ref="form" :model="addDialog.form" label-width="80px">
<el-form-item label="客户名称">{{ addDialog.form.customerName }}</el-form-item> <el-form-item :label="$t('客户名称')">{{ addDialog.form.customerName }}</el-form-item>
<el-form-item label="授权时间"> <el-form-item :label="$t('授权类型')">
<dict-selector v-model="addDialog.form.authType" :type="DICT_TYPE.ECW_AUTH_TYPE"></dict-selector>
</el-form-item>
<el-form-item :label="$t('授权时间')" v-if="addDialog.form.authType==1">
<!-- <el-date-picker <!-- <el-date-picker
v-model="addDialog.dateRange" v-model="addDialog.dateRange"
@chang="handleDatePick" @chang="handleDatePick"
...@@ -143,31 +148,31 @@ ...@@ -143,31 +148,31 @@
end-placeholder="结束日期"> end-placeholder="结束日期">
</el-date-picker> --> </el-date-picker> -->
<el-date-picker clearable v-model="addDialog.form.startTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择开始日期')" /> <el-date-picker clearable v-model="addDialog.form.startTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择开始日期')" />
<span style="margin: 0 8px;"></span> <span style="margin: 0 8px;">{{$t('')}}</span>
<el-date-picker clearable v-model="addDialog.form.endTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择结束日期')" /> <el-date-picker clearable v-model="addDialog.form.endTime" 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>
<el-form-item label="收费模式"> <el-form-item :label="$t('收费模式')">
<dict-selector v-model="addDialog.form.feeScale" :type="DICT_TYPE.BRAND_CUSTOMER_CHARGING_MODEL"></dict-selector> <dict-selector v-model="addDialog.form.feeScale" :type="DICT_TYPE.BRAND_CUSTOMER_CHARGING_MODEL"></dict-selector>
</el-form-item> </el-form-item>
<el-form-item label="授权证明"> <el-form-item :label="$t('授权证明')">
<file-upload v-model="addDialog.form.fileUrl"></file-upload> <file-upload v-model="addDialog.form.fileUrl"></file-upload>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="addDialog.dialogVisible = false"> </el-button> <el-button @click="addDialog.dialogVisible = false">{{$t('取消')}}</el-button>
<el-button type="primary" @click="handleAddSubmit"> </el-button> <el-button type="primary" @click="handleAddSubmit">{{$t('确定')}}</el-button>
</span> </span>
</el-dialog> </el-dialog>
<!-- 添加弹窗 --> <!-- 添加弹窗 -->
<el-dialog <el-dialog
title="修改单个客户收费模式" :title="$t('修改单个客户收费模式')"
:visible.sync="editDialog.dialogVisible" :visible.sync="editDialog.dialogVisible"
width="500px"> width="500px">
<el-form ref="form" :model="editDialog.form" label-width="80px"> <el-form ref="form" :model="editDialog.form" label-width="80px">
<el-form-item label="客户名称">{{ editDialog.customerName }}</el-form-item> <el-form-item :label="$t('客户名称')">{{ editDialog.customerName }}</el-form-item>
<el-form-item label="收费模式"> <el-form-item :label="$t('收费模式')">
<el-select v-model="editDialog.form.feeScale" placeholder="请选择" size="small" style="margin-right: 10px;"> <el-select v-model="editDialog.form.feeScale" :placeholder="$t('请选择')" size="small" style="margin-right: 10px;">
<el-option <el-option
v-for="item in feeType" v-for="item in feeType"
:key="item.value" :key="item.value"
...@@ -179,8 +184,8 @@ ...@@ -179,8 +184,8 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handleEditSubmit"> </el-button> <el-button type="primary" @click="handleEditSubmit">{{$t('确定修改')}}</el-button>
<el-button @click="editDialog.dialogVisible = false"> </el-button> <el-button @click="editDialog.dialogVisible = false">{{$t('关闭窗口')}}</el-button>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
...@@ -228,10 +233,10 @@ export default { ...@@ -228,10 +233,10 @@ export default {
list1: [], list1: [],
list2: [], list2: [],
feeType:[{ feeType:[{
label:'有牌价', label:this.$t('有牌价'),
value:1 value:1
},{ },{
label:'中性价', label:this.$t('中性价'),
value:2 value:2
}], }],
unauthChargingModel:0, unauthChargingModel:0,
...@@ -256,7 +261,8 @@ export default { ...@@ -256,7 +261,8 @@ export default {
"fileUrl": "", "fileUrl": "",
"productBrandId": null, "productBrandId": null,
"startTime": "", "startTime": "",
"status": 0 "status": 0,
"authType":'0'
}, },
dateRange: [] dateRange: []
}, },
...@@ -339,7 +345,7 @@ export default { ...@@ -339,7 +345,7 @@ export default {
this.getList1() this.getList1()
this.getList2() this.getList2()
this.getBrank() this.getBrank()
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess(this.$t("修改成功"));
}) })
}, },
changeModel(){ changeModel(){
...@@ -361,9 +367,9 @@ export default { ...@@ -361,9 +367,9 @@ export default {
this.editDialog.dialogVisible = true this.editDialog.dialogVisible = true
}, },
handleDelete(id) { handleDelete(id) {
this.$confirm('确认删除该用户的授权?', '提示', { this.$confirm(this.$t('确认删除该用户的授权')+'?', this.$t('提示'), {
confirmButtonText: '确定', confirmButtonText: this.$t('确定'),
cancelButtonText: '取消', cancelButtonText: this.$t('取消'),
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
deleteProductBrandEmpower(id).then(r => { deleteProductBrandEmpower(id).then(r => {
...@@ -371,13 +377,13 @@ export default { ...@@ -371,13 +377,13 @@ export default {
this.getList2() this.getList2()
this.$message({ this.$message({
type: 'success', type: 'success',
message: '撤销授权成功!' message: this.$t('撤销授权成功')
}); });
}) })
}).catch(() => { }).catch(() => {
this.$message({ this.$message({
type: 'info', type: 'info',
message: '已取消删除' message: this.$t('已取消删除')
}); });
}); });
}, },
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<el-col :span="20" :xs="24"> <el-col :span="20" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户名称" prop="username"> <el-form-item label="用户名称" prop="username">
<el-input v-model="queryParams.username" placeholder="请输入用户名称" clearable style="width: 240px" <el-input v-model="queryParams.username" placeholder="请输入用户名或昵称" clearable style="width: 240px"
@keyup.enter.native="handleQuery"/> @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="手机号码" prop="mobile"> <el-form-item label="手机号码" prop="mobile">
......
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