Commit 548352b4 authored by dcy's avatar dcy

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

parents e80196b4 1d040bb3
...@@ -610,6 +610,20 @@ export function boxUpdate(data) { ...@@ -610,6 +610,20 @@ export function boxUpdate(data) {
}); });
} }
/**
* 拆单审核
*
* @param {*} params
* @returns
*/
export function createApproval(data) {
return request({
url: "/ecw/box-approval/create",
method: "post",
data,
});
}
/***************************** 装柜 end **********************************/ /***************************** 装柜 end **********************************/
/***************************** 卸柜 start **********************************/ /***************************** 卸柜 start **********************************/
......
...@@ -40,10 +40,6 @@ export default { ...@@ -40,10 +40,6 @@ export default {
type: [Function, String], type: [Function, String],
default: String default: String
}, },
/* forceString: {
type: Boolean,
default: true
}, */
defaultable: Boolean, // 是否默认选择第一个 defaultable: Boolean, // 是否默认选择第一个
disabled: Boolean, disabled: Boolean,
/** /**
...@@ -80,11 +76,10 @@ export default { ...@@ -80,11 +76,10 @@ export default {
}, },
watch:{ watch:{
valueSync(val){ valueSync(val){
//this.$emit('input', this.forceString ? String(this.valueSync) : this.valueSync) this.$emit('input', val)
this.$emit('input', this.format(val))
}, },
value(val){ value(val){
this.setValueSync() if(val != this.valueSync)this.setValueSync()
}, },
dictList(){ dictList(){
this.setDefault() this.setDefault()
...@@ -96,7 +91,7 @@ export default { ...@@ -96,7 +91,7 @@ export default {
}, },
methods:{ methods:{
format(val){ format(val){
if(val === null || val == undefined) return val if(val === null || val == undefined || val == '') return val
let formatter = typeof this.formatter == 'function' ? this.formatter : FORMATTERS[this.formatter] let formatter = typeof this.formatter == 'function' ? this.formatter : FORMATTERS[this.formatter]
if(!formatter){ if(!formatter){
console.warn('格式器无效', this.formatter) console.warn('格式器无效', this.formatter)
...@@ -108,7 +103,9 @@ export default { ...@@ -108,7 +103,9 @@ export default {
this.valueSync = val this.valueSync = val
}, },
setValueSync(){ setValueSync(){
if(this.value === null || this.value === undefined || this.value === '') return if(this.value === null || this.value === undefined || this.value === ''){
return this.valueSync = this.multiple ? [] : this.value
}
if(this.multiple){ if(this.multiple){
let value = [] let value = []
if(typeof this.value == 'string'){ if(typeof this.value == 'string'){
...@@ -118,17 +115,13 @@ export default { ...@@ -118,17 +115,13 @@ export default {
}else{ }else{
this.valueSync = this.format(this.value) this.valueSync = this.format(this.value)
} }
/* if(this.forceString && this.multiple){
this.valueSync = this.value.split(',')
}else this.valueSync = this.forceString ? String(this.value) : this.value */
}, },
getList(){ getList(){
return this.getDictDatas(this.type) return this.getDictDatas(this.type)
}, },
setDefault(){ setDefault(){
if(!this.defaultable) return if(!this.defaultable) return
if(this.dictList.length && (this.valueSync === null || this.valueSync == '')){ if(this.dictList.length && (this.valueSync === null || this.valueSync == undefined || this.valueSync == '')){
this.valueSync = this.multiple ? [] : this.formattedList[0].value this.valueSync = this.multiple ? [] : this.formattedList[0].value
} }
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<el-select <el-select
v-model="index" v-model="index"
filterable filterable
clearable :clearable="clearable"
remote remote
reserve-keyword reserve-keyword
placeholder="请选择" placeholder="请选择"
...@@ -20,7 +20,8 @@ import {getCustomerContactsSelect, getCustomerContacts} from '@/api/ecw/customer ...@@ -20,7 +20,8 @@ import {getCustomerContactsSelect, getCustomerContacts} from '@/api/ecw/customer
import {listSimpleUsers} from '@/api/system/user' import {listSimpleUsers} from '@/api/system/user'
export default { export default {
props:{ props:{
value: [String, Number] value: [String, Number],
clearable: Boolean
}, },
data(){ data(){
return { return {
...@@ -36,7 +37,10 @@ export default { ...@@ -36,7 +37,10 @@ export default {
this.$emit('change', val !== null ? this.list[val]: null) this.$emit('change', val !== null ? this.list[val]: null)
}, },
value(val){ value(val){
// this.init() this.resetIndex()
},
list(){
this.resetIndex()
} }
}, },
created(){ created(){
...@@ -46,6 +50,11 @@ export default { ...@@ -46,6 +50,11 @@ export default {
// this.init() // this.init()
}, },
methods:{ methods:{
resetIndex(){
let index = this.list.findIndex(item => item.id == this.value)
if(index < 0) this.index = null
else this.index = index
}
/* init(){ /* init(){
console.log('初始化联系人选择', this.value) console.log('初始化联系人选择', this.value)
if(!this.value) return if(!this.value) return
......
...@@ -317,8 +317,7 @@ export default { ...@@ -317,8 +317,7 @@ export default {
}; };
</script> </script>
<style> <style scoped>
/** 处理中 */ /** 处理中 */
.highlight-todo.djs-connection > .djs-visual > path { .highlight-todo.djs-connection > .djs-visual > path {
stroke: #1890ff !important; stroke: #1890ff !important;
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</el-col> </el-col>
</el-card> </el-card>
<!-- 申请信息 --> <!-- 申请信息 -->
<el-card class="box-card" v-loading="processInstanceLoading"> <el-card class="box-card mt-10" v-loading="processInstanceLoading">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span class="el-icon-document">申请信息【{{ processInstance.name }}</span> <span class="el-icon-document">申请信息【{{ processInstance.name }}</span>
</div> </div>
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
</div> </div>
</el-card> </el-card>
<el-card class="box-card" v-loading="tasksLoad"> <el-card class="box-card mt-10" v-loading="tasksLoad">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span class="el-icon-picture-outline">审批记录</span> <span class="el-icon-picture-outline">审批记录</span>
</div> </div>
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
</el-card> </el-card>
<!-- 高亮流程图 --> <!-- 高亮流程图 -->
<el-card class="box-card" v-loading="processInstanceLoading"> <el-card class="box-card mt-10" v-loading="processInstanceLoading">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span class="el-icon-picture-outline">流程图</span> <span class="el-icon-picture-outline">流程图</span>
</div> </div>
...@@ -594,7 +594,7 @@ export default { ...@@ -594,7 +594,7 @@ export default {
}; };
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
.my-process-designer { .my-process-designer {
height: calc(100vh - 200px); height: calc(100vh - 200px);
} }
......
...@@ -7,16 +7,16 @@ ...@@ -7,16 +7,16 @@
<!-- <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-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" /> <dict-selector :type="DICT_TYPE.TRANSPORT_TYPE" v-model="queryParams.transportType" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="始发仓" prop="startWarehouseId"> <el-form-item label="始发仓" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" placeholder="请选择始发地"> <el-select v-model="queryParams.startWarehouseId" placeholder="请选择始发地" clearable>
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="目的仓" prop="destWarehouseId"> <el-form-item label="目的仓" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" placeholder="请选择目的地"> <el-select v-model="queryParams.destWarehouseId" placeholder="请选择目的地" clearable>
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -179,6 +179,7 @@ import {getCabinetPage} from "@/api/ecw/cabinet"; ...@@ -179,6 +179,7 @@ import {getCabinetPage} from "@/api/ecw/cabinet";
import { getChannelList } from '@/api/ecw/channel'; import { getChannelList } from '@/api/ecw/channel';
import { getWarehouseList } from "@/api/ecw/warehouse" import { getWarehouseList } from "@/api/ecw/warehouse"
import {getTradeCityList} from '@/api/ecw/region' import {getTradeCityList} from '@/api/ecw/region'
import Decimal from 'decimal.js'
export default { export default {
name: "indexFutureBox", name: "indexFutureBox",
components: { components: {
...@@ -327,11 +328,11 @@ export default { ...@@ -327,11 +328,11 @@ export default {
}, },
'form.warehousedNumber'(){ 'form.warehousedNumber'(){
//在仓 = 已入仓-已封柜 //在仓 = 已入仓-已封柜
this.$set(this.form, 'warehousingNumber', this.form.warehousedNumber - this.form.loadingNumber) this.$set(this.form, 'warehousingNumber', Decimal(this.form.warehousedNumber).minus(this.form.loadingNumber))
}, },
'form.loadingNumber'(){ 'form.loadingNumber'(){
//在仓 = 已入仓-已封柜 //在仓 = 已入仓-已封柜
this.$set(this.form, 'warehousingNumber', this.form.warehousedNumber - this.form.loadingNumber) this.$set(this.form, 'warehousingNumber', Decimal(this.form.warehousedNumber).minus(this.form.loadingNumber))
} }
}, },
methods: { methods: {
......
...@@ -175,7 +175,11 @@ export default { ...@@ -175,7 +175,11 @@ export default {
this.$set(this.dialogCfg, "visible", true); this.$set(this.dialogCfg, "visible", true);
}, },
makeBill(row) { makeBill(row) {
makeBillService({ orderId: row.orderId }).then((res) => { const { bookSeaInfo } = this.shipmentObj;
makeBillService({
orderId: row.orderId,
zgDate: bookSeaInfo.sailTime,
}).then((res) => {
const { data } = res; const { data } = res;
const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {}; const { titleZh = "", contentZh = "" } = data?.ladingTemplate ?? {};
let billContent = `${titleZh}${contentZh}`, let billContent = `${titleZh}${contentZh}`,
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="moveOut(scope.row)" v-if="!isUnderReview && scope.row.installNum === 0">移出</el-button> <el-button type="text" size="small" @click="moveOut(scope.row)" v-if="!isUnderReview && scope.row.installNum === 0">移出</el-button>
<!-- <el-button type="text" size="small" v-if="isShowSplitOrder(scope.row)" @click="handlerSplitOrder(scope.row, 'splitOrder','拆单')">拆单</el-button> --> <el-button type="text" size="small" v-if="isShowSplitOrder(scope.row)" @click="handlerSplitOrder(scope.row, 'splitOrder','拆单')">拆单</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -194,7 +194,7 @@ ...@@ -194,7 +194,7 @@
</el-row> </el-row>
</template> </template>
<!-- 拆单 --> <!-- 拆单 -->
<splitOrder v-if="dialogConfig.type === 'splitOrder' && dialogConfig.dialogVisible" :currRow="currRow" @closeDialog="closeDialog" /> <splitOrder v-bind="$attrs" :shipmentObj="shipmentObj" v-if="dialogConfig.type === 'splitOrder' && dialogConfig.dialogVisible" :currRow="currRow" @closeDialog="closeDialog" />
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
......
...@@ -2,11 +2,12 @@ ...@@ -2,11 +2,12 @@
<div> <div>
<el-form ref="reviewForm" :model="reviewObj" label-width="120px"> <el-form ref="reviewForm" :model="reviewObj" label-width="120px">
<el-form-item label="申请理由"> <el-form-item label="申请理由">
<el-input v-model="reviewObj.applyReason" type="textarea" rows="2" placeholder="请输入申请理由"></el-input> <el-input v-model="reviewObj.applyReason" type="textarea" rows="2" placeholder="请输入申请理由" :disabled="isReview"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="success" @click="onSubmit">发起申请</el-button> <el-button type="success" @click="onSubmit" :disabled="isReview">发起申请</el-button>
<el-button type="primary" @click="jumpReviewDetail" :disabled="!isReview">审核中</el-button>
<el-button @click="cancel">关闭</el-button> <el-button @click="cancel">关闭</el-button>
</el-row> </el-row>
</div> </div>
...@@ -14,7 +15,7 @@ ...@@ -14,7 +15,7 @@
<script> <script>
import { approvalCreate } from "@/api/ecw/boxSea"; import { approvalCreate } from "@/api/ecw/boxSea";
import { serviceMsg } from "../utils"; import { serviceMsg, toReviewDetail } from "../utils";
/** /**
* 反审 * 反审
...@@ -26,9 +27,29 @@ export default { ...@@ -26,9 +27,29 @@ export default {
return { return {
// 反审对象 // 反审对象
reviewObj: {}, reviewObj: {},
isReview: false,
bpmProcessId: "",
}; };
}, },
created() {
const { currNode, shipmentObj } = this.$attrs;
if (currNode.type === "preinstall") {
this.isReview = shipmentObj["preInstallBackInfo"] ? true : false;
this.bpmProcessId = shipmentObj["preInstallBackInfo"]?.bpmProcessId;
}
if (currNode.type === "unloading") {
this.isReview = shipmentObj["cabinetUnloadBackApprovalInfo"]
? true
: false;
this.bpmProcessId =
shipmentObj["cabinetUnloadBackApprovalInfo"]?.bpmProcessId;
}
},
methods: { methods: {
jumpReviewDetail() {
toReviewDetail.apply(this, [this.bpmProcessId]);
this.$emit("closeDialog");
},
/** 提交 */ /** 提交 */
onSubmit() { onSubmit() {
this.$refs["reviewForm"].validate((valid) => { this.$refs["reviewForm"].validate((valid) => {
......
...@@ -229,21 +229,11 @@ export default { ...@@ -229,21 +229,11 @@ export default {
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
return this.$router.push('edit') return this.$router.push('create_channel')
this.reset();
this.open = true;
this.title = "添加渠道管理";
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
return this.$router.push('edit?id=' + row.channelId) return this.$router.push('edit_channel?id=' + row.channelId)
this.reset();
const channelId = row.channelId;
getChannel(channelId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改渠道管理";
});
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
......
...@@ -499,7 +499,7 @@ import ChooseContactDialog from '@/components/ChooseContactDialog' ...@@ -499,7 +499,7 @@ import ChooseContactDialog from '@/components/ChooseContactDialog'
import QuickCreateCustomer from '@/components/QuickCreateCustomer' import QuickCreateCustomer from '@/components/QuickCreateCustomer'
import {getCustomerContactsSelect} from '@/api/ecw/customerContacts' import {getCustomerContactsSelect} from '@/api/ecw/customerContacts'
import Decimal from 'decimal.js' import Decimal from 'decimal.js'
window.Decimal= Decimal
export default { export default {
name: "EcwOfferEdit", name: "EcwOfferEdit",
components: { components: {
...@@ -657,26 +657,61 @@ export default { ...@@ -657,26 +657,61 @@ export default {
originalFeeList(){ originalFeeList(){
let arr = [] let arr = []
this.clearanceFeeList.forEach(item => { this.clearanceFeeList.forEach(item => {
let it = {...item} let it = {
src: '清关费',
currencyId: item.currencyId,
amount: Decimal(item.amount)
}
let freight = this.freightFeeList.find(fee => fee.currencyId == item.currencyId) let freight = this.freightFeeList.find(fee => fee.currencyId == item.currencyId)
if(freight){ if(freight){
it.amount += freight.amount it.amount = it.amount.plus(freight.amount)
} }
arr.push(it) arr.push(it)
}) })
// 判断是否有运费单位不在清关费里的
this.freightFeeList.forEach(item => {
if(!arr.find(arrItem => arrItem.currencyId == item.currencyId)){
arr.push({
src: '未计算的运费',
currencyId: item.currencyId,
amount: Decimal(item.amount)
})
}
})
return arr return arr
}, },
// 预计费用(原价 - 优惠金额) // 预计费用(原价 - 优惠金额 + 其他费用 + 保价费)
estimatedCosts(){ estimatedCosts(){
let arr = [] let arr = []
let withInsuranceFee = false
this.originalFeeList.forEach(item => { this.originalFeeList.forEach(item => {
let it = {...item} let it = {
currencyId: item.currencyId,
amount: Decimal(item.amount)
}
let coupon = this.couponList.find(coupon => coupon.reduceCurrencyId == item.currencyId) let coupon = this.couponList.find(coupon => coupon.reduceCurrencyId == item.currencyId)
if(coupon){ if(coupon){
it.amount -= coupon.reduceAmount it.amount = it.amount.minus(coupon.reduceAmount)
}
if(this.form.otherFee && this.form.otherFeeCurrencyId == item.currencyId){
it.amount = it.amount.plus(this.form.otherFee)
}
// 保价费(美元)
if(item.currencyId == 1 && this.fee && this.fee.insuranceFee){
it.amount = it.amount.plus(this.fee.insuranceFee)
withInsuranceFee = true
} }
arr.push(it) arr.push(it)
}) })
// 没有累加保价费(没有美元计价)但是有保价费则需要加上去
if(!withInsuranceFee && this.fee && this.fee.insuranceFee){
arr.push({
currencyId: 1,
amount: Decimal(this.fee.insuranceFee)
})
}
return arr return arr
}, },
// 路线开通的服务 // 路线开通的服务
...@@ -935,8 +970,11 @@ export default { ...@@ -935,8 +970,11 @@ export default {
orderType: this.form.orderType, orderType: this.form.orderType,
}).then(res => { }).then(res => {
this.$set(this, 'fee', res.data.costDto) this.$set(this, 'fee', res.data.costDto)
this.$set(this, 'couponTotalAmountList', res.data.availableDto.couponTotalAmountList) if(res.data.availableDto){
this.$set(this, 'couponAvailableGroupDtoList', res.data.availableDto.couponAvailableGroupDtoList) this.$set(this, 'couponTotalAmountList', res.data.availableDto.couponTotalAmountList)
this.$set(this, 'couponAvailableGroupDtoList', res.data.availableDto.couponAvailableGroupDtoList)
}
this.form.prodCreateReqVOList.map((item, index) => { this.form.prodCreateReqVOList.map((item, index) => {
this.$set(item, 'fee', res.data.prodCostDtoList[index] || null) this.$set(item, 'fee', res.data.prodCostDtoList[index] || null)
......
...@@ -18,33 +18,33 @@ ...@@ -18,33 +18,33 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('始发地')" prop="departureId"> <el-form-item :label="$t('始发地')" prop="departureId">
<el-select v-model="queryParams.departureId" :placeholder="$t('请选择始发地')"> <el-select v-model="queryParams.departureId" :placeholder="$t('请选择始发地')" clearable>
<el-option v-for="item in exportCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in exportCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('目的地')" prop="objectiveId"> <el-form-item :label="$t('目的地')" prop="objectiveId">
<el-select v-model="queryParams.objectiveId" :placeholder="$t('请选择目的地')"> <el-select v-model="queryParams.objectiveId" :placeholder="$t('请选择目的地')" clearable>
<el-option v-for="item in importCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in importCityList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId"> <el-form-item :label="$t('运输方式')" prop="transportId">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" formatter="number" /> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" formatter="number" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('商品')" prop="prodTitle"> <el-form-item :label="$t('商品')" prop="prodTitle">
<el-input v-model="queryParams.prodTitle" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.prodTitle" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('控货')" prop="control"> <el-form-item :label="$t('控货')" prop="control">
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" v-model="queryParams.control" /> <dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" v-model="queryParams.control" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('客户经理')" prop="followUpSalesmanId"> <el-form-item :label="$t('客户经理')" prop="followUpSalesmanId">
<user-selector v-model="queryParams.followUpSalesmanId" /> <user-selector v-model="queryParams.followUpSalesmanId" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('销售阶段')" prop="status"> <el-form-item :label="$t('销售阶段')" prop="status">
<dict-selector :type="DICT_TYPE.ECW_OFFER_STATUS" v-model="queryParams.status" /> <dict-selector :type="DICT_TYPE.ECW_OFFER_STATUS" v-model="queryParams.status" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('报关方式')" prop="customsType"> <el-form-item :label="$t('报关方式')" prop="customsType">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" /> <dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" clearable />
</el-form-item> </el-form-item>
<div> <div>
...@@ -164,44 +164,10 @@ export default { ...@@ -164,44 +164,10 @@ export default {
total: 0, total: 0,
// 报价单管理列表 // 报价单管理列表
list: [], list: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
dateRangeStopTime: [],
dateRangeStartTime: [],
dateRangeEndTime: [],
dateRangeCreateTime: [],
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10
number: null,
orderIds: null,
orderNo: null,
consignorId: null,
consigneeId: null,
marks: null,
customsType: null,
departureId: null,
departure: null,
objectiveId: null,
objective: null,
control: null,
competitor: null,
importance: null,
tradeType: null,
tradeAdress: null,
remarks: null,
status: null,
oldStatus: null,
relation: null,
relationId: null,
commissionType: null,
warehousingType: null,
reason: null,
estCost: null,
sendstatus: null,
}, },
currencyList: [], currencyList: [],
tradeCityList:[] tradeCityList:[]
...@@ -236,14 +202,8 @@ export default { ...@@ -236,14 +202,8 @@ export default {
/** 查询列表 */ /** 查询列表 */
getList() { getList() {
this.loading = true; this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeStopTime, 'stopTime');
this.addBeginAndEndTime(params, this.dateRangeStartTime, 'startTime');
this.addBeginAndEndTime(params, this.dateRangeEndTime, 'endTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询 // 执行查询
getOfferPage(params).then(response => { getOfferPage(this.queryParams).then(response => {
this.list = response.data.list; this.list = response.data.list;
this.total = response.data.total; this.total = response.data.total;
this.loading = false; this.loading = false;
...@@ -257,16 +217,15 @@ export default { ...@@ -257,16 +217,15 @@ export default {
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.dateRangeStopTime = []; this.queryParams = {
this.dateRangeStartTime = []; pageNo: 1,
this.dateRangeEndTime = []; pageSize: 10
this.dateRangeCreateTime = []; }
this.resetForm("queryForm");
this.handleQuery(); this.handleQuery();
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
return this.$router.push('edit') return this.$router.push('create')
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
...@@ -289,16 +248,12 @@ export default { ...@@ -289,16 +248,12 @@ export default {
let params = {...this.queryParams}; let params = {...this.queryParams};
params.pageNo = undefined; params.pageNo = undefined;
params.pageSize = undefined; params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeStopTime, 'stopTime');
this.addBeginAndEndTime(params, this.dateRangeStartTime, 'startTime');
this.addBeginAndEndTime(params, this.dateRangeEndTime, 'endTime');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行导出 // 执行导出
this.$modal.confirm(this.$t('是否确认导出所有报价单管理数据项?')).then(() => { this.$modal.confirm(this.$t('是否确认导出所有报价单管理数据项?')).then(() => {
this.exportLoading = true; this.exportLoading = true;
return exportOfferExcel(params); return exportOfferExcel(params);
}).then(response => { }).then(response => {
this.$download.excel(response, '${table.classComment}.xls'); this.$download.excel(response, '报价列表.xls');
this.exportLoading = false; this.exportLoading = false;
}).catch(() => {}); }).catch(() => {});
}, },
......
...@@ -87,11 +87,12 @@ export default { ...@@ -87,11 +87,12 @@ export default {
} }
let data = Object.assign({}, this.form) let data = Object.assign({}, this.form)
updateOfferResult(data).then(response => { updateOfferResult(data).then(response => {
this.$modal.msgSuccess(this.$t("赢单成功"));
if(response.data > 0){ if(response.data > 0){
this.$message.success(this.$t('赢单成功'))
this.$redirect('../order/edit?id=' + response.data) this.$redirect('../order/edit?id=' + response.data)
return return
} }
this.$message.success(this.$t('输单成功'))
this.$router.back(); this.$router.back();
}); });
}); });
......
编辑
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
status != 20,21
shipmentState != 320,322,323
inWarehouseState != 212, 218, 213, 214, 215 && status != 5,8
取消
status = 0,2
费用申请
status != 0,
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
shipmentState != 320,322,323
特需,关联,互斥
status != 0,
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
status > 5
inWarehouseState == 204
特价
status !=0
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
shipmentState != 320,322,323
确认提货
status != 0,2
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
shipmentState != 320,322,323
合单,拆单
status != 0,2
abnormalState != 1 ,99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
shipmentState > 320
入仓操作
status == 0,2
abnormalState == 1
入仓补充
inWarehouseState == 201,202, 208, 202, 210, 202, 211, 202, 213, 214, 215, 216
abnormalState != 99 ,2 ,3 ,4 ,9 ,10 ,11 ,12 ,14
入仓修改
inWarehouseState == 202, 207, 208, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216, 204, 205, 206
退仓
inWarehouseState == 201, 202, 207, 208, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216
abnormalState != 1
调仓
inWarehouseState == 201, 202, 208, 202, 210, 202, 211, 202, 213, 215, 216
取消调仓
inWarehouseState == 212,213,214
调拨出仓
inWarehouseState == 213
调拨到仓
inWarehouseState= 214
打印标签
status != 0
shipmentState != 320,322,323
abnormalState !=5,6,7,8
打印入仓单
status != 0,2
abnormalState != 1,5,6,7,8
shipmentState != 320,322,323
打印提单
...@@ -8,29 +8,29 @@ ...@@ -8,29 +8,29 @@
<el-date-picker v-model="dateFilter" type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker v-model="dateFilter" type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="$t('始发地')" prop="startWarehouseId"> <el-form-item :label="$t('始发地')" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发地')"> <el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发地')" clearable>
<el-option v-for="item in expoerCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in expoerCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('目的地')" prop="destWarehouseId"> <el-form-item :label="$t('目的地')" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" :placeholder="$t('请选择目的地')"> <el-select v-model="queryParams.destWarehouseId" :placeholder="$t('请选择目的地')" clearable>
<el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId"> <el-form-item :label="$t('运输方式')" prop="transportId">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" formatter="number" /> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model.number="queryParams.transportId" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('订单编号')" prop="orderNo"> <el-form-item :label="$t('订单编号')" prop="orderNo">
<el-input v-model="queryParams.orderNo" :placeholder="$t('订单编号')" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.orderNo" :placeholder="$t('订单编号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('品名')" prop="prodId"> <el-form-item :label="$t('品名')" prop="prodId">
<product-selector v-model="queryParams.prodId" @keyup.enter.native="handleQuery" /> <product-selector v-model="queryParams.prodId" @keyup.enter.native="handleQuery" clearable/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('控货')" prop="isCargoControl"> <el-form-item :label="$t('控货')" prop="isCargoControl">
<dict-selector v-model="queryParams.isCargoControl" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" /> <dict-selector v-model="queryParams.isCargoControl" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('订单状态')" prop="status"> <el-form-item :label="$t('订单状态')" prop="status">
<dict-selector :type="DICT_TYPE.PAY_ORDER_STATUS" v-model="queryParams.status" <dict-selector :type="DICT_TYPE.PAY_ORDER_STATUS" v-model="queryParams.status" clearable
@keyup.enter.native="handleQuery" /> @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('提单号')" prop="tidanNo"> <el-form-item :label="$t('提单号')" prop="tidanNo">
......
...@@ -409,7 +409,7 @@ ...@@ -409,7 +409,7 @@
<div v-if="[2,3,4].indexOf(+form.transportId) > -1"> <div v-if="[2,3,4].indexOf(+form.transportId) > -1">
<el-form-item :label="$t('是否双清')"> <el-form-item :label="$t('是否双清')">
<dict-selector v-model="form.doubleClear" form-type="radio" :type="DICT_TYPE.ECW_DOUBLE_CLEAR" /> <dict-selector v-model="form.doubleClear" form-type="radio" :type="DICT_TYPE.ECW_DOUBLE_CLEAR" defaultable />
</el-form-item> </el-form-item>
</div> </div>
...@@ -425,7 +425,7 @@ ...@@ -425,7 +425,7 @@
</div> </div>
<div v-if="[2,3,4].indexOf(+form.transportId) > -1"> <div v-if="[2,3,4].indexOf(+form.transportId) > -1">
<el-form-item :label="$t('清关证书')"> <el-form-item :label="$t('清关证书')">
<dict-selector v-model="form.customsClearCert" form-type="radio" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" /> <dict-selector v-model="form.customsClearCert" form-type="radio" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" defaultable />
</el-form-item> </el-form-item>
<el-form-item label="清关证书备注" > <el-form-item label="清关证书备注" >
<el-input v-model="form.remarks" ></el-input> <el-input v-model="form.remarks" ></el-input>
...@@ -433,12 +433,12 @@ ...@@ -433,12 +433,12 @@
</div> </div>
<div v-if="[3,4].indexOf(+form.transportId) > -1"> <div v-if="[3,4].indexOf(+form.transportId) > -1">
<el-form-item label="是否拆包"> <el-form-item label="是否拆包">
<dict-selector v-model="form.isUnpack" form-type="radio" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" /> <dict-selector v-model="form.isUnpack" form-type="radio" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" defaultable />
</el-form-item> </el-form-item>
</div> </div>
<div class="form-section"> <div class="form-section">
<el-form-item :label="$t('单票立刻转运')" v-if="[3,4].indexOf(+form.transportId) > -1"> <el-form-item :label="$t('单票立刻转运')" v-if="[3,4].indexOf(+form.transportId) > -1">
<dict-selector v-model="form.isSingleTicketTransport" form-type="radio" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" /> <dict-selector v-model="form.isSingleTicketTransport" form-type="radio" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" defaultable />
<span style="margin-left:10px">{{$t('注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”')}}</span> <span style="margin-left:10px">{{$t('注:若只有一件,货到仓库立即发,选“是”,多件需仓库集运待发,选“否”')}}</span>
</el-form-item> </el-form-item>
</div> </div>
...@@ -462,7 +462,7 @@ ...@@ -462,7 +462,7 @@
<el-dialog :title="$t('批量导入')" :visible.sync="showBatchImportDialog" width="1000px" :close-on-click-modal="false"> <el-dialog :title="$t('批量导入')" :visible.sync="showBatchImportDialog" width="1000px" :close-on-click-modal="false">
<el-steps :active="importList.length > 0 ? 1 : 0" finish-status="success" class="w-500" style="margin: 20px auto"> <el-steps :active="importList.length > 0 ? 1 : 0" finish-status="success" class="w-500" style="margin: 20px auto">
<el-step :title="$t('上传集装箱')"></el-step> <el-step :title="$t('上传装箱单')"></el-step>
<el-step :title="$t('开始导入')"></el-step> <el-step :title="$t('开始导入')"></el-step>
<el-step :title="$t('完成')"></el-step> <el-step :title="$t('完成')"></el-step>
</el-steps> </el-steps>
......
...@@ -21,18 +21,18 @@ ...@@ -21,18 +21,18 @@
<el-date-picker v-model="dateFilter" type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker v-model="dateFilter" type="daterange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item :label="$t('始发地')" prop="startWarehouseId"> <el-form-item :label="$t('始发地')" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发地')"> <el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发地')" clearable>
<el-option v-for="item in exportCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in exportCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('目的地')" prop="destWarehouseId"> <el-form-item :label="$t('目的地')" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" :placeholder="$t('请选择目的地')"> <el-select v-model="queryParams.destWarehouseId" :placeholder="$t('请选择目的地')" clearable>
<el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId" v-if="!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" /> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model.number="queryParams.transportId" clearable/>
</el-form-item> </el-form-item>
<!-- <el-form-item label="商品分类" prop="goodsType"> <!-- <el-form-item label="商品分类" prop="goodsType">
...@@ -52,17 +52,17 @@ ...@@ -52,17 +52,17 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('控货')" prop="isCargoControl"> <el-form-item :label="$t('控货')" prop="isCargoControl">
<dict-selector v-model="queryParams.isCargoControl" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" /> <dict-selector v-model="queryParams.isCargoControl" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('入仓类型')" prop="warehouseType"> <el-form-item :label="$t('入仓类型')" prop="warehouseType">
<dict-selector :type="DICT_TYPE.ECW_WAREHOUSING_TYPE" v-model="queryParams.warehousingType" /> <dict-selector :type="DICT_TYPE.ECW_WAREHOUSING_TYPE" v-model="queryParams.warehousingType" clearable/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('客户经理')" > <el-form-item :label="$t('客户经理')" >
<user-selector v-model="queryParams.salesmanId" /> <user-selector v-model="queryParams.salesmanId" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('订单状态')" prop="status"> <el-form-item :label="$t('订单状态')" prop="status">
<dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.status" <dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.status"
@keyup.enter.native="handleQuery" /> @keyup.enter.native="handleQuery" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('报关方式')" prop="customsType"> <el-form-item :label="$t('报关方式')" prop="customsType">
<dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" clearable <dict-selector :type="DICT_TYPE.ECW_CUSTOMS_TYPE" v-model="queryParams.customsType" clearable
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('是否齐货')" > <el-form-item :label="$t('是否齐货')" >
<!--// 字段存疑--> <!--// 字段存疑-->
<dict-selector v-model="queryParams.isNeat" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" /> <dict-selector v-model="queryParams.isNeat" :type="DICT_TYPE.INFRA_BOOLEAN_STRING" fomatter="bool" clearable/>
</el-form-item> </el-form-item>
<!-- <el-form-item label="重货比" prop="weightRatio"> <!-- <el-form-item label="重货比" prop="weightRatio">
<el-input style="width: 100px;" v-model="molecule" placeholder="" clearable @change="moleculeChange" <el-input style="width: 100px;" v-model="molecule" placeholder="" clearable @change="moleculeChange"
......
...@@ -29,27 +29,27 @@ ...@@ -29,27 +29,27 @@
// TODO // TODO
</el-form-item> --> </el-form-item> -->
<el-form-item :label="$t('运输方式')" prop="transportType"> <el-form-item :label="$t('运输方式')" prop="transportType">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number" /> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('出货渠道')" prop="shippingChannelId"> <el-form-item :label="$t('出货渠道')" prop="shippingChannelId">
<el-select v-model="queryParams.shippingChannelId" clearable> <el-select v-model="queryParams.shippingChannelId" clearable>
<el-option v-for="item in channelList" :key="item.id" :label="item.nameZh" :value="item.channelId" /> <el-option v-for="item in channelList" :key="item.id" :label="$l(item, 'name')" :value="item.channelId" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('始发地')" prop="startCityId"> <el-form-item :label="$t('始发地')" prop="startCityId">
<el-select v-model="queryParams.startCityId" clearable> <el-select v-model="queryParams.startCityId" clearable>
<el-option v-for="city in startCityList" :key="city.id" :label="city.titleZh" :value="city.id" /> <el-option v-for="city in startCityList" :key="city.id" :label="$l(city, 'title')" :value="city.id" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('目的地')" prop="destCityId"> <el-form-item :label="$t('目的地')" prop="destCityId">
<el-select v-model="queryParams.destCityId" clearable> <el-select v-model="queryParams.destCityId" clearable>
<el-option v-for="city in destCityList" :key="city.id" :label="city.titleZh" :value="city.id" /> <el-option v-for="city in destCityList" :key="city.id" :label="$l(city, 'title')" :value="city.id" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('审核状态')" prop="auditStatus"> <el-form-item :label="$t('审核状态')" prop="auditStatus">
<dict-selector :type="DICT_TYPE.ECW_PRICE_AUDIT_STATUS" v-model="queryParams.auditStatus" /> <dict-selector :type="DICT_TYPE.ECW_PRICE_AUDIT_STATUS" v-model="queryParams.auditStatus" clearable/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('状态')" prop="status"> <el-form-item :label="$t('状态')" prop="status">
// TODO // TODO
......
...@@ -44,10 +44,10 @@ ...@@ -44,10 +44,10 @@
<el-option v-for="dict in this.getDictDatas('company_type')" <el-option v-for="dict in this.getDictDatas('company_type')"
:key="dict.value" :label="dict.label" :value="dict.value"/> :key="dict.value" :label="dict.label" :value="dict.value"/>
</el-select--> </el-select-->
<dict-selector :type="DICT_TYPE.ECW_COMPANY_TYPE" v-model="queryParams.companyType" /> <dict-selector :type="DICT_TYPE.ECW_COMPANY_TYPE" v-model="queryParams.companyType" clearable />
</el-form-item> </el-form-item>
<el-form-item :label="$t('合作类型')" prop="cooperationType"> <el-form-item :label="$t('合作类型')" prop="cooperationType">
<dict-selector :type="DICT_TYPE.ECW_COOPERATION_TYPE" v-model="queryParams.cooperationType" /> <dict-selector :type="DICT_TYPE.ECW_COOPERATION_TYPE" v-model="queryParams.cooperationType" clearable/>
<!--el-select v-model="queryParams.cooperationType" placeholder="请选择合作类型" clearable size="small"> <!--el-select v-model="queryParams.cooperationType" placeholder="请选择合作类型" clearable size="small">
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
</el-select--> </el-select-->
......
...@@ -318,7 +318,7 @@ export default { ...@@ -318,7 +318,7 @@ export default {
|| this.form.type === SystemMenuTypeEnum.MENU) { || this.form.type === SystemMenuTypeEnum.MENU) {
// 如果是外链,则不进行校验 // 如果是外链,则不进行校验
const path = this.form.path const path = this.form.path
if (path.indexOf('http://') === -1 || path.indexOf('https://') === -1) { if (path && path.indexOf('http://') === -1 || path.indexOf('https://') === -1) {
// 父权限为根节点,path 必须以 / 开头 // 父权限为根节点,path 必须以 / 开头
if (this.form.parentId === 0 && path.charAt(0) !== '/') { if (this.form.parentId === 0 && path.charAt(0) !== '/') {
this.$modal.msgSuccess('前端必须以 / 开头') this.$modal.msgSuccess('前端必须以 / 开头')
......
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