|
@@ -103,27 +103,34 @@
|
|
|
($e) => captureSwitchChange($e, formItem, v - 1)
|
|
|
"
|
|
|
>
|
|
|
- <el-tooltip
|
|
|
+ <!-- <el-tooltip
|
|
|
placement="left"
|
|
|
content="注意, 切换开关会导致右侧的成本数据 以(点过'保存按钮'后的 / 默认的)初始值 计算重置"
|
|
|
- >
|
|
|
- <el-switch
|
|
|
- v-model="formItem[`${v - 1}_${formItem.number}`]"
|
|
|
- size="small"
|
|
|
- active-color="#409eff"
|
|
|
- inactive-color="#ccc"
|
|
|
- active-value="on"
|
|
|
- inactive-value="off"
|
|
|
- @change="() => generateStep3Form()"
|
|
|
- />
|
|
|
- </el-tooltip>
|
|
|
+ > -->
|
|
|
+ <el-switch
|
|
|
+ v-model="formItem[`${v - 1}_${formItem.number}`]"
|
|
|
+ size="small"
|
|
|
+ active-color="#409eff"
|
|
|
+ inactive-color="#ccc"
|
|
|
+ active-value="on"
|
|
|
+ inactive-value="off"
|
|
|
+ @change="
|
|
|
+ () => generateStep3Form({ y: v - 1, x: index })
|
|
|
+ "
|
|
|
+ />
|
|
|
+ <!-- </el-tooltip> -->
|
|
|
</div>
|
|
|
</template>
|
|
|
<div v-if="v === 1">
|
|
|
<el-select
|
|
|
v-model="formItem[`method_0_${formItem.number}`]"
|
|
|
size="small"
|
|
|
- @change="reGenerateFormAfterMidwayTypeChange"
|
|
|
+ @change="
|
|
|
+ reGenerateFormAfterMidwayTypeChange({
|
|
|
+ x: index,
|
|
|
+ y: 0,
|
|
|
+ })
|
|
|
+ "
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="option in airOption"
|
|
@@ -146,7 +153,12 @@
|
|
|
<el-select
|
|
|
v-model="formItem[`method_2_${formItem.number}`]"
|
|
|
size="small"
|
|
|
- @change="reGenerateFormAfterMidwayTypeChange"
|
|
|
+ @change="
|
|
|
+ reGenerateFormAfterMidwayTypeChange({
|
|
|
+ x: index,
|
|
|
+ y: 2,
|
|
|
+ })
|
|
|
+ "
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="option in seaOption"
|
|
@@ -1058,7 +1070,7 @@ let initForm = (switchStatus = [] as any[], useOldFormData = true) => {
|
|
|
setFreight()
|
|
|
if (useOldFormData) {
|
|
|
// 仅页面初始化时会执行到这里
|
|
|
- generateStep3Form(true)
|
|
|
+ generateStep3Form({ withOldData: true })
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1092,22 +1104,27 @@ let reGenerateFormAfterCityChange = () => {
|
|
|
})
|
|
|
|
|
|
initForm(temp)
|
|
|
- generateStep3Form()
|
|
|
+ // 切换城市后, 理论上所有数据都应该重置
|
|
|
+ generateStep3Form({ withOldData: false })
|
|
|
}
|
|
|
/**
|
|
|
- * 切换运送方式之后, 重新计算中途运费和生成step3的表单内容. 开关属于开启状态才有必要重算
|
|
|
+ * 切换运送方式之后, 重新计算中途运费和生成step3的表单内容.
|
|
|
*/
|
|
|
-let reGenerateFormAfterMidwayTypeChange = () => {
|
|
|
+let reGenerateFormAfterMidwayTypeChange = (p: any) => {
|
|
|
setFreight()
|
|
|
- generateStep3Form()
|
|
|
+ generateStep3Form(p || {})
|
|
|
}
|
|
|
-let generateStep3Form = (withOldData = false) => {
|
|
|
+let generateStep3Form = (p = {}) => {
|
|
|
+ const config = Object.assign({}, { withOldData: true, x: -1, y: -1 }, p || {})
|
|
|
+ const withOldData = config.withOldData
|
|
|
const labelList = ['快递', '空+派', '海运', 'DTD', 'LCL散货']
|
|
|
const result: any[] = []
|
|
|
const oldData = productInfo.value.save_cal
|
|
|
- formList.value.forEach((i: any) => {
|
|
|
+ formList.value.forEach((i: any, formRow) => {
|
|
|
+ // console.log(i, '表单行数据')
|
|
|
for (let n = 0; n < 5; n++) {
|
|
|
if (i[`${n}_${i.number}`] === 'on') {
|
|
|
+ // console.log(config, 'config')
|
|
|
let temp = Object.assign({}, step3FormDemo.value, {
|
|
|
tabLabel: `${i.number} ${labelList[n]}`,
|
|
|
number: i.number,
|
|
@@ -1143,18 +1160,21 @@ let generateStep3Form = (withOldData = false) => {
|
|
|
.add(i.extend_cost)
|
|
|
.add(temp.freight_cost)
|
|
|
.add(
|
|
|
- withOldData
|
|
|
- ? oldData[`cal_quote_${n}_${i.number}`].tax_fee
|
|
|
+ withOldData && oldData[`cal_quote_${n}_${i.number}`]
|
|
|
+ ? oldData[`cal_quote_${n}_${i.number}`].tax_fee ||
|
|
|
+ step3FormDemo.value.tax_fee
|
|
|
: step3FormDemo.value.tax_fee,
|
|
|
)
|
|
|
.add(
|
|
|
- withOldData
|
|
|
- ? oldData[`cal_quote_${n}_${i.number}`].gatt_tax_fee
|
|
|
+ withOldData && oldData[`cal_quote_${n}_${i.number}`]
|
|
|
+ ? oldData[`cal_quote_${n}_${i.number}`].gatt_tax_fee ||
|
|
|
+ step3FormDemo.value.gatt_tax_fee
|
|
|
: step3FormDemo.value.gatt_tax_fee,
|
|
|
)
|
|
|
.add(
|
|
|
- withOldData
|
|
|
- ? oldData[`cal_quote_${n}_${i.number}`].review_cost
|
|
|
+ withOldData && oldData[`cal_quote_${n}_${i.number}`]
|
|
|
+ ? oldData[`cal_quote_${n}_${i.number}`].review_cost ||
|
|
|
+ step3FormDemo.value.review_cost
|
|
|
: step3FormDemo.value.review_cost,
|
|
|
)
|
|
|
.done()
|
|
@@ -1190,18 +1210,21 @@ let generateStep3Form = (withOldData = false) => {
|
|
|
// .done(),
|
|
|
// )
|
|
|
.add(
|
|
|
- withOldData
|
|
|
- ? oldData[`cal_quote_${n}_${i.number}`].tax_fee
|
|
|
+ withOldData && oldData[`cal_quote_${n}_${i.number}`]
|
|
|
+ ? oldData[`cal_quote_${n}_${i.number}`].tax_fee ||
|
|
|
+ step3FormDemo.value.tax_fee
|
|
|
: step3FormDemo.value.tax_fee,
|
|
|
)
|
|
|
.add(
|
|
|
- withOldData
|
|
|
- ? oldData[`cal_quote_${n}_${i.number}`].gatt_tax_fee
|
|
|
+ withOldData && oldData[`cal_quote_${n}_${i.number}`]
|
|
|
+ ? oldData[`cal_quote_${n}_${i.number}`].gatt_tax_fee ||
|
|
|
+ step3FormDemo.value.gatt_tax_fee
|
|
|
: step3FormDemo.value.gatt_tax_fee,
|
|
|
)
|
|
|
.add(
|
|
|
- withOldData
|
|
|
- ? oldData[`cal_quote_${n}_${i.number}`].review_cost
|
|
|
+ withOldData && oldData[`cal_quote_${n}_${i.number}`]
|
|
|
+ ? oldData[`cal_quote_${n}_${i.number}`].review_cost ||
|
|
|
+ step3FormDemo.value.review_cost
|
|
|
: step3FormDemo.value.review_cost,
|
|
|
)
|
|
|
.done()
|
|
@@ -1242,18 +1265,21 @@ let generateStep3Form = (withOldData = false) => {
|
|
|
// .done(),
|
|
|
// )
|
|
|
.add(
|
|
|
- withOldData
|
|
|
- ? oldData[`cal_quote_${n}_${i.number}`].tax_fee
|
|
|
+ withOldData && oldData[`cal_quote_${n}_${i.number}`]
|
|
|
+ ? oldData[`cal_quote_${n}_${i.number}`].tax_fee ||
|
|
|
+ step3FormDemo.value.tax_fee
|
|
|
: step3FormDemo.value.tax_fee,
|
|
|
)
|
|
|
.add(
|
|
|
- withOldData
|
|
|
- ? oldData[`cal_quote_${n}_${i.number}`].gatt_tax_fee
|
|
|
+ withOldData && oldData[`cal_quote_${n}_${i.number}`]
|
|
|
+ ? oldData[`cal_quote_${n}_${i.number}`].gatt_tax_fee ||
|
|
|
+ step3FormDemo.value.gatt_tax_fee
|
|
|
: step3FormDemo.value.gatt_tax_fee,
|
|
|
)
|
|
|
.add(
|
|
|
- withOldData
|
|
|
- ? oldData[`cal_quote_${n}_${i.number}`].review_cost
|
|
|
+ withOldData && oldData[`cal_quote_${n}_${i.number}`]
|
|
|
+ ? oldData[`cal_quote_${n}_${i.number}`].review_cost ||
|
|
|
+ step3FormDemo.value.review_cost
|
|
|
: step3FormDemo.value.review_cost,
|
|
|
)
|
|
|
.done()
|
|
@@ -1266,8 +1292,9 @@ let generateStep3Form = (withOldData = false) => {
|
|
|
// 利润率是整数, 除100算出百分数.
|
|
|
mathjs
|
|
|
.chain(
|
|
|
- withOldData
|
|
|
- ? oldData[`cal_quote_${n}_${i.number}`].profit_margin
|
|
|
+ withOldData && oldData[`cal_quote_${n}_${i.number}`]
|
|
|
+ ? oldData[`cal_quote_${n}_${i.number}`].profit_margin ||
|
|
|
+ step3FormDemo.value.profit_margin
|
|
|
: step3FormDemo.value.profit_margin,
|
|
|
)
|
|
|
.divide(100)
|
|
@@ -1280,8 +1307,9 @@ let generateStep3Form = (withOldData = false) => {
|
|
|
.multiply(
|
|
|
mathjs
|
|
|
.chain(
|
|
|
- withOldData
|
|
|
- ? oldData[`cal_quote_${n}_${i.number}`].profit_margin
|
|
|
+ withOldData && oldData[`cal_quote_${n}_${i.number}`]
|
|
|
+ ? oldData[`cal_quote_${n}_${i.number}`].profit_margin ||
|
|
|
+ step3FormDemo.value.profit_margin
|
|
|
: step3FormDemo.value.profit_margin,
|
|
|
)
|
|
|
.add(100)
|
|
@@ -1298,7 +1326,7 @@ let generateStep3Form = (withOldData = false) => {
|
|
|
.chain(temp.sold_price)
|
|
|
.subtract(temp.add_freight_cost)
|
|
|
.subtract(
|
|
|
- withOldData
|
|
|
+ withOldData && oldData[`cal_quote_${n}_${i.number}`]
|
|
|
? oldData[`cal_quote_${n}_${i.number}`].setup_cost
|
|
|
: step3FormDemo.value.setup_cost,
|
|
|
)
|
|
@@ -1312,20 +1340,32 @@ let generateStep3Form = (withOldData = false) => {
|
|
|
.done()
|
|
|
.toFixed(2)
|
|
|
|
|
|
- exportForm.value[`zdy_date_${n}_${i.number}`] = ''
|
|
|
- exportForm.value[`cycle_name_${n}_${i.number}`] = 'weeks'
|
|
|
+ // exportForm.value[`zdy_date_${n}_${i.number}`] = ''
|
|
|
+ // exportForm.value[`cycle_name_${n}_${i.number}`] = 'weeks'
|
|
|
|
|
|
- if (withOldData === true) {
|
|
|
+ // 行和列只要有一项不等, 就不是点开关的那个, 就应该用已保存数据覆盖
|
|
|
+ // if (withOldData && (config.y !== n || config.x !== formRow)) {
|
|
|
+ // 出了切换城市, 全部用已保存的数据覆盖
|
|
|
+ if (withOldData) {
|
|
|
if (oldData[`cal_quote_${n}_${i.number}`]) {
|
|
|
const cloneData = cloneDeep(oldData[`cal_quote_${n}_${i.number}`])
|
|
|
cloneData.freight_cost = cloneData.freight
|
|
|
delete cloneData.freight
|
|
|
temp = Object.assign(temp, cloneData)
|
|
|
}
|
|
|
- exportForm.value[`zdy_date_${n}_${i.number}`] =
|
|
|
- oldData[`zdy_date_${n}_${i.number}`] || ''
|
|
|
- exportForm.value[`cycle_name_${n}_${i.number}`] =
|
|
|
- oldData[`cycle_name_${n}_${i.number}`] || 'weeks'
|
|
|
+ exportForm.value[`zdy_date_${n}_${i.number}`] = oldData[
|
|
|
+ `zdy_date_${n}_${i.number}`
|
|
|
+ ]
|
|
|
+ ? oldData[`zdy_date_${n}_${i.number}`]
|
|
|
+ : ''
|
|
|
+ exportForm.value[`cycle_name_${n}_${i.number}`] = oldData[
|
|
|
+ `cycle_name_${n}_${i.number}`
|
|
|
+ ]
|
|
|
+ ? oldData[`cycle_name_${n}_${i.number}`]
|
|
|
+ : 'weeks'
|
|
|
+ console.log('覆盖: 行:', formRow + 1, '列:', n)
|
|
|
+ } else {
|
|
|
+ console.log('重算, 没有覆盖: 行:', config.x + 1, '列:', config.y)
|
|
|
}
|
|
|
|
|
|
// console.log(temp, 'temp')
|
|
@@ -1674,7 +1714,7 @@ let dtdChange = (data: any) => {
|
|
|
data.method_fcl || ''
|
|
|
formList.value[dtdData.value.rowNum].fclData.total_fcl =
|
|
|
Number(data.freight_cost) || 0
|
|
|
- generateStep3Form()
|
|
|
+ generateStep3Form({ x: dtdData.value.rowNum, y: dtdData.value.columnNum })
|
|
|
}
|
|
|
let openLCLDialog = (columnNum: number, rowNum: number) => {
|
|
|
lclData.value = {
|
|
@@ -1703,7 +1743,7 @@ let lclChange = (data: any) => {
|
|
|
formList.value[lclData.value.rowNum].lclData.total_lcl =
|
|
|
Number(data.freight_cost) || 0
|
|
|
|
|
|
- generateStep3Form()
|
|
|
+ generateStep3Form({ x: lclData.value.rowNum, y: lclData.value.columnNum })
|
|
|
}
|
|
|
let isExport = ref(0)
|
|
|
let checkForm = (type = 1) => {
|