Commit 61d2ddee authored by 邓春圆's avatar 邓春圆

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

parents 54cd0a43 2bec96f8
......@@ -99,9 +99,7 @@ let autoTransCnt = 0
async function translate(obj){
// 对未翻译内容调用百度翻译进行翻译操作,有变量的不做处理
for(let text in obj){
if(obj[text] || text.includes('{'))continue
// 只有空格的不翻译
if(text.trim() === '')continue
if(obj[text] || text.trim() === '')continue
try{
const textEn = await translateText(text)
console.log(`${text} => ${textEn}\n`)
......
......@@ -3889,7 +3889,7 @@
"公司中文名称": "Chinese name of the company",
"展示": "show",
"无归属订单": "Unassigned Order",
"最多可放入{quantity}": "",
"最多可放入{quantity}": "Up to {quantity} can be placed",
"可放入仓方数": "Number of storage units that can be placed",
"可放入收费方数": "Number of charging parties that can be placed",
"入仓方数": "Number of parties entering the warehouse",
......@@ -4426,7 +4426,7 @@
"还有{days}天到期": "Due in {days} days",
"请选择客户经理。": "Please select an account manager.",
"回收客户": "Recycling customers",
"是否要回收当前{name}": "",
"是否要回收当前{name}": "Do you want to recycle the current {name}",
"回收成功。": "Recycling successful.",
"已完成目标值": "Target value completed",
"请输入目标单位": "Please enter the target unit",
......@@ -4523,12 +4523,12 @@
"所属目的国家": "Destination country",
" ": "",
"区间设置不完整,将被忽略": "Incomplete interval settings will be ignored",
"{n}个全包阶梯价": "",
"{n}个运费阶梯价": "",
"{n}个清关费阶梯价": "",
"已选择{route}条路线,{product}个商品": "",
"{n}个全包阶梯价": "{n} All inclusive tiered pricing",
"{n}个运费阶梯价": "{n} Shipping cost tiered pricing",
"{n}个清关费阶梯价": "{n} Staircase price for individual customs clearance fees",
"已选择{route}条路线,{product}个商品": "{route} selected, {product} products",
";确认提交修改?": "; Confirm submitting modifications?",
"空运{type}设置": "",
"空运{type}设置": "Air freight {type} settings",
"未选择包装类型将被忽略": "No packaging type selected will be ignored",
"请输入加价金额": "Please enter the markup amount",
"运费快捷加价": "Quick freight markup",
......@@ -4537,7 +4537,7 @@
"提交清关费": "Submit customs clearance fee",
"全包价快捷加价": "Quick and all inclusive price increase",
"提交全包价": "Submit full package price",
"第{no}阶段": "",
"第{no}阶段": "Stage {no}",
"线路重量上限": "Upper limit of line weight",
"包含": "contain",
"不包含": "Excluding",
......@@ -4545,5 +4545,14 @@
"运费+清关费": "Freight+customs clearance fee",
"未设置全包价阶梯价": "No fully inclusive tiered pricing has been set",
"未设置运费阶梯价": "No freight tiered pricing has been set",
"渠道包装清关费": "Channel packaging customs clearance fee"
"渠道包装清关费": "Channel packaging customs clearance fee",
"所属国家": "Country",
"请输入所属国家": "Please enter your country of origin",
"包装加价": "Packaging markup",
"海运运费价格设置": "Ocean freight price setting",
"海运清关费价格设置": "Price setting for sea freight customs clearance fees",
"请设置{priceName}第{index}阶段的起始值": "Please set the starting value for the {index} stage of {priceName}",
"请设置{priceName}第{index}阶段的结束值": "Please set the end value for the {index} stage of {priceName}",
"请设置第{index}阶段的{priceName}": "Please set the {priceName} for the {index} stage",
"请设置第{index}阶段的包装类型{i}的{priceName}": "Please set the {priceName} for the packaging type {i} in the {index} stage"
}
\ No newline at end of file
......@@ -756,6 +756,10 @@ export default {
if(row['discountFreightPrice'] && row['discountFreightPrice'] > 0){
freightFields.push({field: 'afterDiscountSeaFreight', label: this.$t('优惠后单价')})
}
// 包装加价
if(row['packagingFreightPrice'] && row['packagingFreightPrice'] > 0){
freightFields.push({field: 'packagingFreightPrice', label: this.$t('包装加价')})
}
freightFields.push({field: 'oneSeaFreight', label: this.$t('成交单价')})
console.log({freightFields})
freightFields.forEach(item => {
......@@ -790,6 +794,10 @@ export default {
if(row['discountClearanceFeePrice'] && row['discountClearanceFeePrice'] > 0){
clearanceFields.push({field: 'afterDiscountClearanceFreight', label: this.$t('优惠后单价')})
}
// 包装加价
if(row['packagingClearanceFeePrice'] && row['packagingClearanceFeePrice'] > 0){
clearanceFields.push({field: 'packagingClearanceFeePrice', label: this.$t('包装加价')})
}
clearanceFields.push({field: 'oneClearanceFreight', label: this.$t('成交单价')})
clearanceFields.forEach(item => {
if(row[item.field]){
......
This diff is collapsed.
......@@ -102,21 +102,34 @@ export default {
const index = this.index
const errors = []
// 区间设置检查
if(index > 0 && !this.value.startNum){
errors.push(`请设置${this.priceName}${index+1}阶段的起始值`)
if(typeof this.value.startNum != "number"){
errors.push(this.$t("请设置{priceName}第{index}阶段的起始值", {
index: index + 1,
priceName: this.priceName
}))
}
if(!this.value.endNum){
errors.push(`请设置${this.priceName}${index+1}阶段的结束值`)
errors.push(this.$t("请设置{priceName}第{index}阶段的结束值", {
index: index + 1,
priceName: this.priceName
}))
}
// 价格检查
if(!this.validatePrice(this.value[`${this.fieldPrefix}Price`])){
errors.push(`请设置第${index+1}阶段的${this.priceName}`)
errors.push(this.$t("请设置第{index}阶段的{priceName}", {
index: index+1,
priceName: this.priceName
}))
}
// 包装价格检查
if(this.value.packagingList?.length){
this.value.packagingList.forEach((item, i) => {
if(item.packagingTypes?.length && !this.validatePrice(item.packagingPrice)){
errors.push(`请设置第${index+1}阶段的包装类型${i+1}${this.priceName}`)
errors.push(this.$t("请设置第{index}阶段的包装类型{i}的{priceName}", {
index: index+1,
i: i+1,
priceName: this.priceName
}))
}
})
}
......
......@@ -93,7 +93,9 @@ export default {
</script>
<template>
<div>
<el-row>
<el-col :span="12">
<div class="page-title">{{$t('海运运费价格设置')}}</div>
<el-form-item :label="$t('默认运费')" v-if="!priceType">
<el-input-number v-model="value[`transportPrice`]" :placeholder="$t('整数或者两位小数')" :controls="false":disabled="readonly" class="w-100 mr-10"/>
<selector
......@@ -120,54 +122,81 @@ export default {
value-field="id"
class="w-100" />
</el-form-item>
<el-form-item :label="$t('默认清关费')" v-if="!priceType">
<el-input-number v-model="value[`clearancePrice`]" :placeholder="$t('整数或者两位小数')" :disabled="readonly" :controls="false" class="w-100 mr-10"/>
<el-form-item :label="$t('默认全包价')" v-if="priceType">
<el-input-number v-model="value[`allPrice`]" :placeholder="$t('整数或者两位小数')" :disabled="readonly" :controls="false" class="w-100 mr-10"/>
<selector
:disabled="readonly"
v-model="value[`clearancePriceUnit`]"
v-model="value[`allPriceUnit`]"
:options="currencyList"
:label-field="$l(null, 'title')"
@input="$emit('changeUnit', {
value: $event,
field: `clearancePriceUnit`
field: `allPriceUnit`
})"
value-field="id"
class="w-100" />
/
<selector
:disabled="readonly"
v-model="value[`clearanceVolumeUnit`]"
v-model="value[`allVolumeUnit`]"
:options="unitList"
:label-field="$l(null, 'title')"
@input="$emit('changeUnit', {
value: $event,
field: `clearanceVolumeUnit`
field: `allVolumeUnit`
})"
value-field="id"
class="w-100" />
</el-form-item>
<el-form-item :label="$t('默认全包价')" v-if="priceType">
<el-input-number v-model="value[`allPrice`]" :placeholder="$t('整数或者两位小数')" :disabled="readonly" :controls="false" class="w-100 mr-10"/>
<!--特性加价-->
<template v-for="(special, specialIndex) in value.specialList">
<div :key="specialIndex + 'transport'">
<el-form-item
v-if="!priceType"
:label="getDictDataLabel(DICT_TYPE.ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS, special.specialDictType) + $t('运费')"
>
<el-input-number v-model.number="special[`transportPrice`]" :controls="false" :min="0" :disabled="readonly" :placeholder="$t('整数或者两位小数')" class="w-100 mr-10" />
<selector disabled v-model="special[`transportPriceUnit`]" :options="currencyList" :label-field="$l(null, 'title')" value-field="id" defaultable2 class="w-100 mr-10" />
<span class="mr-10">/</span>
<selector disabled v-model="special[`transportVolumeUnit`]" :options="unitList" :label-field="$l(null, 'title')" value-field="id" defaultable2 class="w-100" />
</el-form-item>
<el-form-item
v-if="priceType"
:label="getDictDataLabel(DICT_TYPE.ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS, special.specialDictType) + $t('全包价')"
>
<el-input-number v-model.number="special[`allPrice`]" :controls="false" :min="0" :disabled="readonly" :placeholder="$t('整数或者两位小数')" class="w-100 mr-10" />
<selector disabled v-model="special[`allPriceUnit`]" :options="currencyList" :label-field="$l(null, 'title')" value-field="id" defaultable2 class="w-100 mr-10" />
<span class="mr-10">/</span>
<selector disabled v-model="special[`allVolumeUnit`]" :options="unitList" :label-field="$l(null, 'title')" value-field="id" defaultable2 class="w-100" />
</el-form-item>
</div>
</template>
</el-col>
<el-col :span="12" v-if="!priceType">
<div class="page-title">{{$t('海运清关费价格设置')}}</div>
<el-form-item :label="$t('默认清关费')">
<el-input-number v-model="value[`clearancePrice`]" :placeholder="$t('整数或者两位小数')" :disabled="readonly" :controls="false" class="w-100 mr-10"/>
<selector
:disabled="readonly"
v-model="value[`allPriceUnit`]"
v-model="value[`clearancePriceUnit`]"
:options="currencyList"
:label-field="$l(null, 'title')"
@input="$emit('changeUnit', {
value: $event,
field: `allPriceUnit`
field: `clearancePriceUnit`
})"
value-field="id"
class="w-100" />
/
<selector
:disabled="readonly"
v-model="value[`allVolumeUnit`]"
v-model="value[`clearanceVolumeUnit`]"
:options="unitList"
:label-field="$l(null, 'title')"
@input="$emit('changeUnit', {
value: $event,
field: `allVolumeUnit`
field: `clearanceVolumeUnit`
})"
value-field="id"
class="w-100" />
......@@ -175,15 +204,7 @@ export default {
<!--特性加价-->
<template v-for="(special, specialIndex) in value.specialList">
<div :key="specialIndex + 'transport'">
<el-form-item
v-if="!priceType"
:label="getDictDataLabel(DICT_TYPE.ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS, special.specialDictType) + $t('运费')"
>
<el-input-number v-model.number="special[`transportPrice`]" :controls="false" :min="0" :disabled="readonly" :placeholder="$t('整数或者两位小数')" class="w-100 mr-10" />
<selector disabled v-model="special[`transportPriceUnit`]" :options="currencyList" :label-field="$l(null, 'title')" value-field="id" defaultable2 class="w-100 mr-10" />
<span class="mr-10">/</span>
<selector disabled v-model="special[`transportVolumeUnit`]" :options="unitList" :label-field="$l(null, 'title')" value-field="id" defaultable2 class="w-100" />
</el-form-item>
<el-form-item
v-if="!priceType"
:label="getDictDataLabel(DICT_TYPE.ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS, special.specialDictType) + $t('清关费')"
......@@ -193,18 +214,12 @@ export default {
<span class="mr-10">/</span>
<selector disabled v-model="special[`clearanceVolumeUnit`]" :options="unitList" :label-field="$l(null, 'title')" value-field="id" defaultable2 class="w-100" />
</el-form-item>
<el-form-item
v-if="priceType"
:label="getDictDataLabel(DICT_TYPE.ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS, special.specialDictType) + $t('全包价')"
>
<el-input-number v-model.number="special[`allPrice`]" :controls="false" :min="0" :disabled="readonly" :placeholder="$t('整数或者两位小数')" class="w-100 mr-10" />
<selector disabled v-model="special[`allPriceUnit`]" :options="currencyList" :label-field="$l(null, 'title')" value-field="id" defaultable2 class="w-100 mr-10" />
<span class="mr-10">/</span>
<selector disabled v-model="special[`allVolumeUnit`]" :options="unitList" :label-field="$l(null, 'title')" value-field="id" defaultable2 class="w-100" />
</el-form-item>
</div>
</template>
</div>
</el-col>
</el-row>
</template>
<style scoped lang="scss">
......
......@@ -371,12 +371,14 @@ export default {
if(this.form.stepPrice === 1){
this.initStepPrice()
}
this.syncMinWeightUnit()
},
'form.stepPrice'(stepPrice){
if(this.form.stepPrice === 1){
this.initStepPrice()
}
this.stepPrice = !!stepPrice
this.syncMinWeightUnit()
},
needPay(val){
this.$set(this.form, 'needPay', val ? 1 : 0)
......@@ -521,6 +523,21 @@ export default {
})
},
methods: {
// 设置最小起计量单位
syncMinWeightUnit(){
// 如果是阶梯价
if(this.form.stepPrice){
const field = this.form.priceType === 1 ? "fullPriceStepList" : "freightPriceStepList"
const stepPriceList = this.form[field]
if(stepPriceList?.length){
this.form.minWeightUnit = stepPriceList[0]?.weightUnit || DEFAULT_WEIGHT_UNIT
}else {
this.form.minWeightUnit = DEFAULT_WEIGHT_UNIT
}
}else{
this.form.minWeightUnit = this.form[this.form.priceType === 1 ? 'allVolumeUnit' : 'transportVolumeUnit'] || DEFAULT_WEIGHT_UNIT
}
},
handleAddPrice(field, fieldPrefix){
if(!this.form[field]){
this.$set(this.form, field, [])
......@@ -593,11 +610,18 @@ export default {
},
// 非阶梯价格更新单位
handleFormUnitChange(data){
// 海运非阶梯价没有重量单位,所以按照体积单位同步最小起计量单位
if(data.field === 'transportVolumeUnit' || data.field == 'allVolumeUnit'){
this.form.minWeightUnit = data.value
}
if(this.form.specialList?.length){
this.form.specialList.forEach(p => {
p[data.field] = data.value
})
}
// TODO 等加了包装之后还需要同步包装的单位
},
initStepPrice(){
if(this.form.priceType == 1 && !this.form.fullPriceStepList?.length){
......
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