Commit 8681432d authored by honghy's avatar honghy

需求95 报价单页面和列表调整

parent 13598193
......@@ -43,6 +43,15 @@ export function getOfferPage(query) {
})
}
// 汇总
export function statistics(query) {
return request({
url: "/ecw/offer/statistics",
method: "get",
params: query
})
}
// 导出报价单管理 Excel
export function exportOfferExcel(query) {
return request({
......
......@@ -4941,6 +4941,10 @@
"标题(英文)": "Title (English)",
"标题(法文)": "Title (French)",
"是否确认删除广告设置编号为'{0}'的数据项?": "Are you sure you want to delete the advertisement setting with ID '{0}'?",
"渠道已关闭,禁止下单": "The channel has been closed and orders are prohibited"
"渠道已关闭,禁止下单": "The channel has been closed and orders are prohibited",
"询盘来源": "Inquiry Source",
"货物状态": "Goods Status",
"厂家": "Manufacturer",
"厂家电话": "Manufacturer Phone",
"预计发货时间": "Estimated Delivery Time"
}
......@@ -170,6 +170,10 @@ export const DICT_TYPE = {
CUSTOMER_FOLLOWUP_TYPE: "customer_followup_type", //跟进类型
CUSTOMER_FOLLOWUP_METHOD: "customer_followup_method", //跟进方式
CUSTOMER_FOLLOWUP_SALE_STAGE: "sale_stage", //销售阶段
ECW_OFFER_CUSTOMER_STATUS: "ecw_offer_customer_status", //客户状态
ECW_OFFER_CARGO_STATUS: "ecw_offer_cargo_status", //货物状态
ECW_OFFER_INQUIRY_SOURCE: "ecw_offer_inquiry_source", //询盘来源
ECW_OFFER_REASON_DICT: "ecw_offer_reason_dict", //输单原因
CUSTOMER_FOLLOWUP_RESULT_TYPE: "customer_followup_result_type", //跟进结果
CUSTOMER_FOLLOWUP_STATUS: "customer_followup_status", //跟进状态
CUSTOMER_QUERY_NUMBER_FIELD: "customer_query_number_field", //客户查询数字字段
......
......@@ -38,7 +38,20 @@
{{ consignorData.socialNumber ? "(" + consignorData.socialNumber + ")" : "" }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4" border class="card" v-if="list.consignorId" :labelStyle="{ width: '110px' }" style="margin-top: 0">
<el-descriptions-item :label="$t('销售阶段') + ':'">
<dict-tag :type="DICT_TYPE.CUSTOMER_FOLLOWUP_SALE_STAGE" :value="list.saleStage" />
</el-descriptions-item>
<el-descriptions-item :label="$t('客户状态') + ':'">
<dict-tag :type="DICT_TYPE.ECW_OFFER_CUSTOMER_STATUS" :value="list.customerStatus" />
</el-descriptions-item>
<el-descriptions-item :label="$t('货物状态') + ':'">
<dict-tag :type="DICT_TYPE.ECW_OFFER_CARGO_STATUS" :value="list.cargoStatus" />
</el-descriptions-item>
<el-descriptions-item :label="$t('询盘来源') + ':'">
<dict-tag :type="DICT_TYPE.ECW_OFFER_INQUIRY_SOURCE" :value="list.inquirySource" />
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="3" border class="card" v-if="list.consigneeId" :labelStyle="{ width: '110px' }">
<el-descriptions-item :label="$t('收货人') + ':'">
{{ consigneeData.contactsName || $t("") }}
......@@ -124,6 +137,26 @@
<template>{{ $t("全包价") }} {{ row.oneSeaFreight }} {{ currentcyMap[row.seaFreightCurrency] }} / {{ unitMap[row.seaFreightVolume] }}</template>
</template>
<template v-else-if="!row.oneSeaFreight && !row.oneClearanceFreight">{{ $t("未报价") }}</template>
<template v-else-if="row.specialPriceType">
<div style="color: red;font-weight: 700;">
{{ $t("原价") }}
</div>
<div>
{{ $t("运费") }}{{ row.originalSeaFreight }} {{ currentcyMap[row.seaFreightCurrency] }} / {{ unitMap[row.seaFreightVolume] }}
</div>
<div>
{{ $t("清关费") }}{{ row.originalClearanceFreight }} {{ currentcyMap[row.clearanceFreightCurrency] }} / {{ unitMap[row.clearanceFreightVolume] }}
</div>
<div style="color: red;font-weight: 700;">
{{ $t("特价") }}
</div>
<div>
{{ $t("运费") }}{{ row.oneSeaFreight }} {{ currentcyMap[row.seaFreightCurrency] }} / {{ unitMap[row.seaFreightVolume] }}
</div>
<div>
{{ $t("清关费") }}{{ row.oneClearanceFreight }} {{ currentcyMap[row.clearanceFreightCurrency] }} / {{ unitMap[row.clearanceFreightVolume] }}
</div>
</template>
<template v-else>
<div>{{ $t("运费") }}{{ row.oneSeaFreight }} {{ currentcyMap[row.seaFreightCurrency] }} / {{ unitMap[row.seaFreightVolume] }}</div>
<div v-if="row.oneClearanceFreight">{{ $t("清关费") }}{{ row.oneClearanceFreight }} {{ currentcyMap[row.clearanceFreightCurrency] }} / {{ unitMap[row.clearanceFreightVolume] }}</div>
......@@ -159,12 +192,12 @@
</template>
<template v-if="otherFeeList.length == 0"> 0 </template>
</el-descriptions-item>
<el-descriptions-item :label="$t('原价')" :span="2">
<template v-if="originalFeeList.length > 0" v-for="item in originalFeeList">
<div :key="item.currencyId">{{ item.amount || 0 }}{{ currentcyMap[item.currencyId] }}</div>
</template>
<template v-if="originalFeeList.length == 0"> 0 </template>
</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('原价')" :span="2">-->
<!-- <template v-if="originalFeeList.length > 0" v-for="item in originalFeeList">-->
<!-- <div :key="item.currencyId">{{ item.amount || 0 }}{{ currentcyMap[item.currencyId] }}</div>-->
<!-- </template>-->
<!-- <template v-if="originalFeeList.length == 0"> 0 </template>-->
<!-- </el-descriptions-item>-->
</el-descriptions>
<div class="card-title" style="padding: 20px 0">{{ $t("优惠信息") }}</div>
......@@ -225,6 +258,9 @@
<el-descriptions-item :label="$t('预计结束时间')">
{{ list.stopTime || "/" }}
</el-descriptions-item>
<el-descriptions-item :label="$t('预计发货时间')">
{{ list.estimatedShippingTime || "/" }}
</el-descriptions-item>
<el-descriptions-item :label="$t('控货')">
{{ list.control ? $t("是") : $t("否") }}
</el-descriptions-item>
......
......@@ -5,6 +5,12 @@
<div slot="header" class="card-title">
{{ $route.path.indexOf("create") > -1 ? $t("新建报价单") : $t("编辑报价单") }}
</div>
<el-form-item :label="$t('销售阶段')" prop="saleStage">
<el-select v-model="form.saleStage" clearable :placeholder="$t('请选择')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_SALE_STAGE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<br>
<el-form-item :label="$t('所属人')" prop="relation">
<!-- <el-radio-group v-model="form.relation" > -->
<el-radio-group v-model="form.relation" id="relation" @change="handleChangeRelation">
......@@ -67,6 +73,22 @@
</el-form-item>
</div>
<el-form-item :label="$t('客户状态')" prop="customerStatus">
<el-select v-model="form.customerStatus" clearable :placeholder="$t('请选择')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.ECW_OFFER_CUSTOMER_STATUS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item :label="$t('货物状态')" prop="cargoStatus">
<el-select v-model="form.cargoStatus" clearable :placeholder="$t('请选择')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.ECW_OFFER_CARGO_STATUS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item :label="$t('询盘来源')" prop="inquirySource">
<el-select v-model="form.inquirySource" clearable :placeholder="$t('请选择')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.ECW_OFFER_INQUIRY_SOURCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<!-- <el-descriptions :column="3" border>
<el-descriptions-item :label="$t('*发货人')" :labelStyle="labelStyle" >
<el-form-item label="" label-width="0" style="margin-bottom: 0" prop="consignorId" required :error="$t('发货人不能为空')">
......@@ -153,7 +175,6 @@
<el-card class="mt-10">
<div slot="header" class="card-title">
<div class="card-name">{{ $t("商品") }}</div>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="addProduct()" :disabled="!canAddProduct"></el-button>
</div>
<el-table :data="form.prodCreateReqVOList" border class="product-list">
<el-table-column :label="$t('序号')" width="60px" fixed>
......@@ -185,7 +206,7 @@
</template>
</el-table-column>
<el-table-column width="100px">
<template slot="header" slot-scope="scope"> {{ $t("品牌") }} <span class="red">*</span> </template>
<template slot="header" slot-scope="scope"> {{ $t("品牌") }}</template>
<template slot-scope="scope">
<el-form-item
label=""
......@@ -203,13 +224,13 @@
</el-table-column>
<el-table-column :label="$t('件数')" width="90px">
<template slot="header" slot-scope="scope"> {{ $t("件数") }} <span class="red">*</span> </template>
<template slot="header" slot-scope="scope"> {{ $t("件数") }}</template>
<template slot-scope="{ row }">
<el-input v-model.number="row.num" @input="calculationPrice" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('包装单位')" width="100px">
<template slot="header" slot-scope="scope"> {{ $t("包装单位") }} <span class="red">*</span> </template>
<template slot="header" slot-scope="scope"> {{ $t("包装单位") }}</template>
<template slot-scope="{ row }">
<dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable @input="calculationPrice" :disabled="!canAddProduct" />
</template>
......@@ -219,14 +240,38 @@
<el-input v-model="row.quantity" @input="calculationPrice" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('总体积') + '(m³)'" width="100px">
<template slot-scope="{ row }">
<el-input v-model="row.volume" @input="calculationPrice" :disabled="!canAddProduct" />
<el-table-column width="100px">
<template slot="header" slot-scope="scope"> {{ $t('总体积') + '(m³)' }} <span class="red">*</span> </template>
<template slot-scope="scope">
<el-form-item
style="margin-bottom: 0;"
label=""
:prop="`prodCreateReqVOList.${scope.$index}.volume`"
:rules="{
required: true,
message: $t('不能为空'),
trigger: 'blur'
}"
>
<el-input v-model="scope.row.volume" @input="calculationPrice" :disabled="!canAddProduct" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="$t('总重量') + '(kg)'" width="100px">
<template slot-scope="{ row }">
<el-input v-model="row.weight" @input="calculationPrice" :disabled="!canAddProduct" />
<template slot="header" slot-scope="scope"> {{ $t('总重量') + '(kg)' }} <span class="red">*</span> </template>
<template slot-scope="scope">
<el-form-item
style="margin-bottom: 0;"
label=""
:prop="`prodCreateReqVOList.${scope.$index}.weight`"
:rules="{
required: true,
message: $t('不能为空'),
trigger: 'blur'
}"
>
<el-input v-model="scope.row.weight" @input="calculationPrice" :disabled="!canAddProduct" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="$t('总货值') + '(RMB)'" width="120px">
......@@ -261,6 +306,30 @@
</template>
</template>
<template v-else-if="!row.fee || (!row.fee.oneFreight && !row.fee.oneClearanceFee)">{{ $t("未报价") }}</template>
<template v-else-if="(row.fee.oneClearanceFee!=row.fee.groupDto.orgClearanceFeePrice)&&row.fee.specialPriceType">
<div style="color: red;font-weight: 700;">
{{ $t("原价") }}
</div>
<div>
{{ $t("运费") }}{{ row.fee.groupDto.orgClearanceFeePrice }} {{ currencyMap[row.fee.freightCurrency] }} /
{{ unitMap[row.fee.freightVolume] }}
</div>
<div>
{{ $t("清关费") }}{{ row.fee.groupDto.orgFreightPrice }} {{ currencyMap[row.fee.clearanceFeeCurrency] }} /
{{ unitMap[row.fee.clearanceFeeVolume] }}
</div>
<div style="color: red;font-weight: 700;">
{{ $t("特价") }}
</div>
<div>
{{ $t("运费") }}{{ row.fee.oneFreight }} {{ currencyMap[row.fee.freightCurrency] }} /
{{ unitMap[row.fee.freightVolume] }}
</div>
<div>
{{ $t("清关费") }}{{ row.fee.oneClearanceFee }} {{ currencyMap[row.fee.clearanceFeeCurrency] }} /
{{ unitMap[row.fee.clearanceFeeVolume] }}
</div>
</template>
<template v-else-if="row.fee">
<div>
{{ $t("运费") }}{{ row.fee.oneFreight }} {{ currencyMap[row.fee.freightCurrency] }} /
......@@ -297,22 +366,33 @@
</template>
</el-table-column>
</el-table>
<div class="card-title">
<div class="card-name">
<div class="card-title" style="float: left">{{ $t("合计") }}</div>
<div class="card-title" style="float: left;margin-left: 470px;">{{ sum.totalNum.toFixed() || 0 }}</div>
<div class="card-title" style="float: left;margin-left: 700px;position: absolute;">{{ sum.totalQuatity.toFixed() || 0 }}</div>
<div class="card-title" style="float: left;margin-left: 780px;position: absolute;">{{ sum.totalVolume.toFixed() || 0 }}</div>
<div class="card-title" style="float: left;margin-left: 870px;position: absolute;">{{ sum.totalWeight.toFixed() || 0 }}</div>
<div class="card-title" style="float: left;margin-left: 970px;position: absolute;">{{ sum.totalWorth.toFixed() || 0 }}</div>
</div>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="addProduct()" :disabled="!canAddProduct"></el-button>
</div>
<!--
</el-card>
<el-card class="mt-10"> -->
<div class="card-title" style="padding: 20px 0">{{ $t("合计") }}</div>
<el-descriptions :column="4" border>
<el-descriptions-item :label="$t('总件数')">
{{ sum.totalNum.toFixed() || 0 }}
</el-descriptions-item>
<el-descriptions-item :label="$t('总体积')"> {{ sum.totalVolume.toFixed() || 0 }}m³ </el-descriptions-item>
<el-descriptions-item :label="$t('总重量')"> {{ sum.totalWeight.toFixed() || 0 }}kg </el-descriptions-item>
<el-descriptions-item :label="$t('总数量')">
{{ sum.totalQuatity.toFixed() || 0 }}
</el-descriptions-item>
<!-- <div class="card-title" style="padding: 20px 0">{{ $t("合计") }}</div>-->
<!-- <el-descriptions :column="4" border>-->
<!-- <el-descriptions-item :label="$t('总件数')">-->
<!-- {{ sum.totalNum.toFixed() || 0 }}-->
<!-- </el-descriptions-item>-->
<!-- <el-descriptions-item :label="$t('总体积')"> {{ sum.totalVolume.toFixed() || 0 }}m³ </el-descriptions-item>-->
<!-- <el-descriptions-item :label="$t('总重量')"> {{ sum.totalWeight.toFixed() || 0 }}kg </el-descriptions-item>-->
<!-- <el-descriptions-item :label="$t('总数量')">-->
<!-- {{ sum.totalQuatity.toFixed() || 0 }}-->
<!-- </el-descriptions-item>-->
<el-descriptions-item :label="$t('总货值') + '(RMB)'"> {{ sum.totalWorth.toFixed() || 0 }}{{ $t("元") }} </el-descriptions-item>
</el-descriptions>
<!-- <el-descriptions-item :label="$t('总货值') + '(RMB)'"> {{ sum.totalWorth.toFixed() || 0 }}{{ $t("元") }} </el-descriptions-item>-->
<!-- </el-descriptions>-->
</el-card>
<el-card class="mt-10">
......@@ -338,43 +418,43 @@
<el-input v-model="form.otherFee" placeholder="" class="w-100 mr-10"></el-input>
<selector v-model="form.otherFeeCurrencyId" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable class="w-100" />
</el-descriptions-item>
<el-descriptions-item :label="$t('原价')" :span="2">
<template v-for="item in originalFeeList">
<div :key="item.currencyId">{{ item.amount || 0 }}{{ currencyMap[item.currencyId] }}</div>
</template>
</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('原价')" :span="2">-->
<!-- <template v-for="item in originalFeeList">-->
<!-- <div :key="item.currencyId">{{ item.amount || 0 }}{{ currencyMap[item.currencyId] }}</div>-->
<!-- </template>-->
<!-- </el-descriptions-item>-->
</el-descriptions>
<div class="card-title" style="padding: 20px 0">
{{ $t("优惠信息") }}
</div>
<el-table :data="couponList" :show-header="false" :empty-text="$t('暂无优惠')">
<el-table-column label="">
<template slot-scope="scope">
{{ scope.$index + 1 }}.
{{ $l(productNames[scope.row.prodId], "title") || $t("未知") }}
</template>
</el-table-column>
<el-table-column label="">
<template slot-scope="{ row }">
<dict-tag :type="DICT_TYPE.ECW_COUPON_TYPE" :value="row.type" />
</template>
</el-table-column>
<el-table-column label="">
<template slot-scope="{ row }">
{{ $l(row, "title") }}
</template>
</el-table-column>
<el-table-column label="">
<template slot-scope="{ row }">
-{{ row.reduceAmount }}
{{ currencyMap[row.reduceCurrencyId] }}
</template>
</el-table-column>
<el-table-column label="">
<template slot-scope="{ row }"> {{ $t("有效期至") }}{{ row.endTime ? row.endTime : $t("永久有效") }} </template>
</el-table-column>
</el-table>
<!-- <div class="card-title" style="padding: 20px 0">-->
<!-- {{ $t("优惠信息") }}-->
<!-- </div>-->
<!-- <el-table :data="couponList" :show-header="false" :empty-text="$t('暂无优惠')">-->
<!-- <el-table-column label="">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.$index + 1 }}.-->
<!-- {{ $l(productNames[scope.row.prodId], "title") || $t("未知") }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="">-->
<!-- <template slot-scope="{ row }">-->
<!-- <dict-tag :type="DICT_TYPE.ECW_COUPON_TYPE" :value="row.type" />-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="">-->
<!-- <template slot-scope="{ row }">-->
<!-- {{ $l(row, "title") }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="">-->
<!-- <template slot-scope="{ row }">-->
<!-- -{{ row.reduceAmount }}-->
<!-- {{ currencyMap[row.reduceCurrencyId] }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="">-->
<!-- <template slot-scope="{ row }"> {{ $t("有效期至") }}:{{ row.endTime ? row.endTime : $t("永久有效") }} </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<el-descriptions :column="1" class="mt-20">
<el-descriptions-item :label="$t('优惠费用')" v-if="couponTotalAmountList && couponTotalAmountList.length">
......@@ -401,9 +481,13 @@
</el-form-item>
</div>
<div class="form-section">
<el-form-item :label="$t('预计结束时间')" prop="stopTime">
<!-- <el-form-item :label="$t('预计结束时间')" prop="stopTime">-->
<!-- &lt;!&ndash; <el-date-picker v-model="form.stopTime" value-format="yyyy-MM-dd HH:mm:ss" class="w-200"></el-date-picker> &ndash;&gt;-->
<!-- <el-date-picker v-model="form.stopTime" value-format="yyyy-MM-dd" class="w-200" :picker-options="stopDate"></el-date-picker>-->
<!-- </el-form-item>-->
<el-form-item :label="$t('预计发货时间')" prop="estimatedShippingTime">
<!-- <el-date-picker v-model="form.stopTime" value-format="yyyy-MM-dd HH:mm:ss" class="w-200"></el-date-picker> -->
<el-date-picker v-model="form.stopTime" value-format="yyyy-MM-dd" class="w-200" :picker-options="stopDate"></el-date-picker>
<el-date-picker v-model="form.estimatedShippingTime" value-format="yyyy-MM-dd" class="w-200" :picker-options="stopDate"></el-date-picker>
</el-form-item>
<el-form-item :label="$t('是否控货')" prop="control" label-width="200px">
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" formatter="bool" v-model="form.control" form-type="radio" />
......@@ -439,38 +523,51 @@
<el-form-item :label="$t('交货地址')">
<el-input v-model="form.tradeAdress" :placeholder="$t('港口或地点')"></el-input>
</el-form-item>
<br>
<el-form-item :label="$t('厂家')" prop="manufacturer">
<el-input v-model="form.manufacturer" type="textarea" style="width: 1100px; height: 50px"></el-input>
</el-form-item>
<br>
<el-form-item :label="$t('厂家电话')" prop="manufacturerPhone">
<el-input v-model="form.manufacturerPhone" type="textarea" style="width: 1100px; height: 50px"></el-input>
</el-form-item>
</div>
<div class="form-section">
<el-form-item :label="$t('备注')" :span="2">
<el-input v-model="form.remarks" type="textarea" placeholder="" style="width: 410px; height: 100px"></el-input>
<el-form-item :label="$t('备注')" :span="2" prop="remarks">
<el-input v-model="form.remarks" type="textarea" placeholder="" style="width: 1100px; height: 100px"></el-input>
</el-form-item>
</div>
</el-card>
<el-card class="mt-10" v-if="transport">
<div class="card-title" slot="header">{{ $t("其他") }}</div>
<div class="card-title" slot="header">
<div class="card-name">
{{ $t("其他") }}
</div>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="qiTaTag=!qiTaTag"></el-button>
</div>
<!-- <el-form-item :label="$t('快递单号')">
<el-input v-model="form.number" :placeholder="$t('请输入购买商品的快递单号')"></el-input>
</el-form-item> -->
<el-form-item :label="$t('特殊要求')">
<el-form-item :label="$t('特殊要求')" v-show="qiTaTag">
<dict-selector v-model="form.transportVO.packageTypeArr" form-type="checkbox" :type="DICT_TYPE.ORDER_SPECIAL_NEEDS" multiple />
</el-form-item>
<br />
<el-form-item :label="$t('特殊要求备注')">
<el-form-item :label="$t('特殊要求备注')" v-show="qiTaTag">
<el-input v-model="form.transportVO.packageRemarks"></el-input>
</el-form-item>
<br />
<el-form-item :label="$t('是否双清')" v-if="[2, 3, 4].indexOf(+form.transportId) > -1">
<el-form-item :label="$t('是否双清')" v-if="[2, 3, 4].indexOf(+form.transportId) > -1" v-show="qiTaTag">
<dict-selector v-model="form.transportVO.doubleClear" form-type="radio" :type="DICT_TYPE.ECW_DOUBLE_CLEAR" />
</el-form-item>
<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" v-show="qiTaTag">
<!--待查询备选数据-->
<!-- <el-select placeholder="" v-model="form.airlineCompany">
</el-select> -->
<supplier-selector v-model="form.transportVO.airlineCompany" companyType="10" />
</el-form-item>
<el-form-item :label="$t('船公司')" v-if="[2].indexOf(+form.transportId) > -1">
<el-form-item :label="$t('船公司')" v-if="[2].indexOf(+form.transportId) > -1" v-show="qiTaTag">
<!-- <el-select placeholder="" v-model="form.shippingCompany">
</el-select> -->
<supplier-selector v-model="form.transportVO.shippingCompany" companyType="9" />
......@@ -577,7 +674,8 @@ const createDefaultForm = () => {
isCargoControl: false,
prodCreateReqVOList: [],
transportVO: {},
serviceType: []
serviceType: [],
saleStage: 3
}
}
export default {
......@@ -653,7 +751,8 @@ export default {
},
AddressProvince: [],
AddressCity: [],
competitorList: []
competitorList: [],
qiTaTag: false
}
},
computed: {
......@@ -723,7 +822,9 @@ export default {
// }
// }
// },
isChinese() {
return this.$i18n.locale === "zh_CN"
},
rules() {
let rules = {
marks: [
......@@ -746,12 +847,23 @@ export default {
// departureId: [{required: true, message: this.$t('请选择始发城市')}],
destCountryId: [{ required: true, message: this.$t("请选择目的国家") }],
channelId: [{ required: true, message: this.$t("选择出货渠道") }],
stopTime: [{ required: true, message: this.$t("不能为空") }],
// stopTime: [{ required: true, message: this.$t("不能为空") }],
estimatedShippingTime: [{ required: true, message: this.$t("不能为空") }],
relation: [{ required: true, message: this.$t("请选择所属人") }],
control: [{ required: true, message: this.$t("请选择是否控货") }],
importance: [
{ required: true, message: this.$t("请选择重要程度") },
{ type: "number", min: 1, message: this.$t("请选择重要程度") }
saleStage: [{ required: true, message: this.$t("销售阶段不能为空") }],
// control: [{ required: true, message: this.$t("请选择是否控货") }],
// importance: [
// { required: true, message: this.$t("请选择重要程度") },
// { type: "number", min: 1, message: this.$t("请选择重要程度") }
// ]
remarks: [
{ max: 500, message: '500max', trigger: 'blur' }
],
manufacturer: [
{ max: 100, message: '100max', trigger: 'blur' }
],
manufacturerPhone: [
{ max: 50, message: '50max', trigger: 'blur' }
]
}
if (this.form.relation == 1) {
......@@ -1142,6 +1254,7 @@ export default {
formData.transportVO.packageTypeArr = formData.transportVO.packageType.split(",").filter((item) => item && item != "")
}
if (res.data.offerProdRespVOList) {
res.data.offerProdRespVOList.forEach((item) => {
formData.prodCreateReqVOList.push({
goodsType: item.goodsType,
......@@ -1157,6 +1270,25 @@ export default {
transportId: item.transportId,
weight: item.weight,
worth: item.worth,
specialPriceType: item.specialPriceType,
oneSeaFreight: item.oneSeaFreight,
orgFreightPrice: item.originalSeaFreight,
originalSeaFreight: item.originalSeaFreight,
oneClearanceFee: item.oneClearanceFreight,
oneClearanceFreight: item.oneClearanceFreight,
orgClearanceFeePrice: item.originalClearanceFreight,
originalClearanceFreight: item.originalClearanceFreight,
freightVolume: item.seaFreightVolume,
seaFreightVolume: item.seaFreightVolume,
clearanceFeeVolume: item.clearanceFreightVolume,
clearanceFreightVolume: item.clearanceFreightVolume,
charging: item.charging,
freightCurrency: item.seaFreightCurrency,
seaFreightCurrency: item.seaFreightCurrency,
freight: item.seaFreight,
clearanceFeeCurrency: item.clearanceFreightCurrency,
clearanceFreightCurrency: item.clearanceFreightCurrency,
clearanceFee: item.clearanceFreight,
prodAttrArr:
item.prodAttrIds && item.prodAttrIds != ""
? item.prodAttrIds
......@@ -1173,6 +1305,7 @@ export default {
formData.startTime = ""
formData.endTime = ""
formData.stopTime = ""
formData.estimatedShippingTime = ""
// 复制报价单状态重置为草稿
formData.status = 2
}
......@@ -1420,7 +1553,15 @@ export default {
}
this.form.prodCreateReqVOList.map((item, index) => {
this.$set(item, "fee", res.data.prodCostDtoList[index] || null)
console.log("============================")
console.log(item)
console.log("============================")
var a = null
if(res.data.prodCostDtoList[index]) {
a = res.data.prodCostDtoList[index]
a['specialPriceType'] = item.specialPriceType
}
this.$set(item, "fee", a)
})
})
.finally(() => {
......
......@@ -6,6 +6,10 @@
<el-input v-model.trim="queryParams.searchNumber" :placeholder="$t('请输入报价单号、订单号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('客户状态')" prop="customerStatusList">
<dict-selector :type="DICT_TYPE.ECW_OFFER_CUSTOMER_STATUS" multiple v-model="queryParams.customerStatusList" clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('客户')" prop="searchCustomer">
<el-input v-model.trim="queryParams.searchCustomer" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
......@@ -14,8 +18,24 @@
<el-input v-model.trim="queryParams.relationPhone" clearable @keyup.enter.native="handleQuery" @input="queryParams.relationPhone = queryParams.relationPhone.replace(/\s+/g, '')" />
</el-form-item>
<el-form-item :label="$t('区号')" prop="relationAreaCode">
<el-input v-model.trim="queryParams.relationAreaCode" :placeholder="$t('请输入客户')" clearable @keyup.enter.native="handleQuery" @input="queryParams.relationAreaCode = queryParams.relationAreaCode.replace(/\s+/g, '')" />
<el-form-item :label="$t('客户经理')" prop="salesmanIds">
<user-selector v-model="queryParams.salesmanIds" multiple clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('询盘来源')" prop="inquirySourceList">
<dict-selector :type="DICT_TYPE.ECW_OFFER_INQUIRY_SOURCE" multiple v-model="queryParams.inquirySourceList" clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('销售阶段')" prop="saleStageList">
<dict-selector :type="DICT_TYPE.CUSTOMER_FOLLOWUP_SALE_STAGE" multiple v-model="queryParams.saleStageList" clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('货物状态')" prop="cargoStatusList">
<dict-selector :type="DICT_TYPE.ECW_OFFER_CARGO_STATUS" multiple v-model="queryParams.cargoStatusList" clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId" v-show="showSearch">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" multiple formatter="number" clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('始发仓')" prop="startWarehouseId">
......@@ -40,21 +60,22 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('客户经理')" prop="salesmanIds">
<user-selector v-model="queryParams.salesmanIds" multiple clearable @change="handleQuery" />
<el-form-item :label="$t('创建时间')">
<el-date-picker v-model="queryTmp.createTime" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss" @change="handleQuery"> </el-date-picker>
</el-form-item>
<el-form-item :label="$t('销售阶段')" prop="statusList">
<dict-selector :type="DICT_TYPE.ECW_OFFER_STATUS" multiple v-model="queryParams.statusList" clearable @change="handleQuery" />
<el-form-item :label="$t('客户来源')" prop="sourceIds" v-show="showSearch">
<dict-selector :type="DICT_TYPE.CUSTOMER_SOURCE" multiple v-model="queryParams.sourceIds" clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('重要程度')" prop="importances">
<el-select v-model="queryParams.importances" multiple :placeholder="$t('请选择')" clearable @change="handleQuery">
<el-option v-for="item in [1, 2, 3, 4, 5]" :label="item" :value="item" :key="item"></el-option>
</el-select>
<el-form-item :label="$t('输单原因')" prop="reasonDictList" v-show="showSearch">
<dict-selector :type="DICT_TYPE.ECW_OFFER_REASON_DICT" multiple v-model="queryParams.reasonDictList" clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId" v-show="showSearch">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" multiple formatter="number" clearable @change="handleQuery" />
<el-form-item :label="$t('区号')" prop="relationAreaCode" v-show="showSearch">
<el-input v-model.trim="queryParams.relationAreaCode" :placeholder="$t('请输入客户')" clearable @keyup.enter.native="handleQuery" @input="queryParams.relationAreaCode = queryParams.relationAreaCode.replace(/\s+/g, '')" />
</el-form-item>
<el-form-item :label="$t('出货渠道')" prop="channelIds" v-show="showSearch">
<selector :clearable="true" :options="channelList" :label-field="$l('name')" value-field="channelId" v-model="queryParams.channelIds" multiple @change="handleQuery"></selector>
</el-form-item>
......@@ -75,27 +96,29 @@
<el-option :label="$t('海外仓')" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('客户来源')" prop="sourceIds" v-show="showSearch">
<dict-selector :type="DICT_TYPE.CUSTOMER_SOURCE" multiple v-model="queryParams.sourceIds" clearable @change="handleQuery" />
<el-form-item :label="$t('厂家')" prop="manufacturer" v-show="showSearch">
<el-input v-model.trim="queryParams.manufacturer" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('创建人')" prop="creatorIds">
<user-selector v-model="queryParams.creatorIds" multiple clearable @change="handleQuery" />
<el-form-item :label="$t('厂家电话')" prop="manufacturerPhone" v-show="showSearch">
<el-input v-model.trim="queryParams.manufacturerPhone" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('创建时间')">
<el-date-picker v-model="queryTmp.createTime" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss" @change="handleQuery"> </el-date-picker>
<el-form-item :label="$t('预计发货时间')">
<el-date-picker v-model="queryTmp.estimatedShippingTime" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss" @change="handleQuery"> </el-date-picker>
</el-form-item>
<el-form-item :label="$t('创建人')" prop="creatorIds" v-show="showSearch">
<user-selector v-model="queryParams.creatorIds" multiple clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('有效期开始')" v-show="showSearch">
<el-date-picker v-model="queryTmp.startTime" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss" @change="handleQuery"> </el-date-picker>
</el-form-item>
<el-form-item :label="$t('有效期结束')" v-show="showSearch">
<el-date-picker v-model="queryTmp.endTime" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss" @change="handleQuery"> </el-date-picker>
</el-form-item>
<el-form-item :label="$t('预计结束时间')" v-show="showSearch">
<el-date-picker v-model="queryTmp.stopTime" type="datetimerange" range-separator="-" :start-placeholder="$t('开始日期')" :end-placeholder="$t('结束日期')" value-format="yyyy-MM-dd HH:mm:ss" @change="handleQuery"> </el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">{{ $t("搜索") }}</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">{{ $t("重置") }}</el-button>
......@@ -110,35 +133,45 @@
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading" v-hasPermi="['ecw:offer:export']">{{ $t("导出") }}</el-button>
</el-col>
<el-col :span="15">
<!-- 订单列表显示搜索条件对应箱数、仓库实测、收款方数、重量 -->
汇总:{{statistics.volume}}CBM/{{statistics.weight}}KG
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list" border ref="dataTable" id="dataTable" :height="autoHeight">
<el-table-column :label="$t('报价单号')" align="left" prop="number" width="150" fixed>
<el-table-column :label="$t('创建时间')" align="left" width="120" fixed>
<template slot-scope="{ row }">
<el-link type="primary" @click.native="$router.push('detail?offerId=' + row.offerId)">{{ row.number }}</el-link>
<span>{{ parseTime(row.createTime, "{y}-{m}-{d} {h}:{i}:{s}") }}</span>
<div style="display: flex; flex-wrap: wrap" v-if="row.specialPriceType">
<el-button size="mini" style="margin-left: 20px" type="danger" circle></el-button>
</div>
</template>
</el-table-column>
<el-table-column :label="$t('订单编号')" align="left" width="120" fixed>
<el-table-column :label="$t('客户状态')" align="left" width="100" fixed>
<template slot-scope="{ row }">
<a class="el-link el-link--primary is-underline" href="javascript:;" @click="$router.push(`/order/detail?orderId=${row.orderId}`)">{{ row.orderNo }}</a>
<dict-tag :type="DICT_TYPE.ECW_OFFER_CUSTOMER_STATUS" :value="row.customerStatus" />
</template>
</el-table-column>
<el-table-column :label="$t('最新跟进时间')" width="180">
<template slot-scope="scope" v-if="scope.row.followupBackVO">
{{ parseTime(scope.row.followupBackVO.followTime) }}
<el-table-column :label="$t('客户编号')" align="left" width="100" fixed>
<template slot-scope="{ row }">
{{ row.customerNumber }}
</template>
</el-table-column>
<el-table-column :label="$t('最新跟进记录')" width="120">
<template slot-scope="scope" v-if="scope.row.followupBackVO">
<a href="javascript:void(0)" @click="handleCustomerFollowLink(scope.row.followupBackVO)" class="link-type">{{ scope.row.followupBackVO.number }}</a>
<el-table-column :label="$t('客户名称')" align="left" prop="customerName" fixed> </el-table-column>
<el-table-column :label="$t('客户经理')" align="left" prop="followUpSalesmanName"> </el-table-column>
<el-table-column :label="$t('询盘来源')" align="left" width="100">
<template slot-scope="{ row }">
<dict-tag :type="DICT_TYPE.ECW_OFFER_INQUIRY_SOURCE" :value="row.inquirySource" />
</template>
</el-table-column>
<el-table-column :label="$t('掉入公海时间')" align="left" width="120">
<template slot-scope="{ row }">
{{ row.estimateEnterOpenSeaTime || row.enterOpenSeaTime }}
</template>
</el-table-column>
<el-table-column :label="$t('联系人')" align="left" prop="relationName" width="120" />
<el-table-column :label="$t('联系电话')" align="left" prop="relationPhone" width="150" />
<el-table-column :label="$t('重要程序')" align="center" prop="importance" />
<el-table-column :label="$t('始发仓')" align="left" prop="startWarehouseName" />
<el-table-column :label="$t('运输方式-渠道/目的仓')" width="200">
<template slot-scope="{ row }">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="row.transportId" />
......@@ -148,33 +181,100 @@
</el-table-column>
<el-table-column :label="$t('销售阶段')" align="left" width="100">
<template slot-scope="{ row }">
<dict-tag :type="DICT_TYPE.ECW_OFFER_STATUS" :value="row.status" />
<dict-tag :type="DICT_TYPE.CUSTOMER_FOLLOWUP_SALE_STAGE" :value="row.saleStage" />
</template>
</el-table-column>
<el-table-column :label="$t('预计结束时间')" align="left" width="100">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.stopTime, "{y}-{m}-{d}") }}</span>
<el-table-column :label="$t('上次跟进类型')" width="120">
<template slot-scope="scope" v-if="scope.row.followupBackVO">
<a href="javascript:void(0)" @click="handleCustomerFollowLink(scope.row.followupBackVO)" class="link-type">
<dict-tag :type="DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE" :value="scope.row.followupBackVO.followType" />
</a>
</template>
</el-table-column>
<el-table-column :label="$t('预计销售额')" align="left" prop="estCost" width="160">
<template slot-scope="{ row }">
<div class="" v-for="(item, feeIndex) in row.estCostVO.feeDtoList" :key="feeIndex">
<dict-tag :type="DICT_TYPE.ECW_COST_FEE_TYPE" :value="item.feeType" />
{{ item.amount }} {{ currencyMap[item.currencyId] }}
<el-table-column :label="$t('上次跟进时间')" width="180">
<template slot-scope="scope" v-if="scope.row.followupBackVO">
{{ parseTime(scope.row.followupBackVO.followTime) }}
</template>
</el-table-column>
<el-table-column :label="$t('上次跟进内容')" width="180">
<template slot-scope="scope" v-if="scope.row.followupBackVO">
{{ scope.row.followupBackVO.feedback }}
</template>
</el-table-column>
<el-table-column :label="$t('所报价格')" width="180">
<template slot-scope="scope" v-if="scope.row.offerProds">
<template v-for="row1 in scope.row.offerProds">
{{row1.prodTitleZh}}:
<template v-if="row1.charging == 1">
<template v-if="!row1.oneSeaFreight">{{ $t("未报价") }}</template>
<template>{{ $t("全包价") }} {{ row1.oneSeaFreight }} {{ currencyMap[row1.seaFreightCurrency] }} / {{ unitMap[row1.seaFreightVolume] }}</template>
</template>
<template v-else-if="!row1.oneSeaFreight && !row1.oneClearanceFreight">{{ $t("未报价") }}</template>
<template v-else-if="row1.specialPriceType">
<div style="color: red;font-weight: 700;">
{{ $t("原价") }}
</div>
<div>
{{ $t("运费") }}{{ row1.originalSeaFreight }} {{ currencyMap[row1.seaFreightCurrency] }} / {{ unitMap[row1.seaFreightVolume] }}
</div>
<div>
{{ $t("清关费") }}{{ row1.originalClearanceFreight }} {{ currencyMap[row1.clearanceFreightCurrency] }} / {{ unitMap[row1.clearanceFreightVolume] }}
</div>
<div style="color: red;font-weight: 700;">
{{ $t("特价") }}
</div>
<div>
{{ $t("运费") }}{{ row1.oneSeaFreight }} {{ currencyMap[row1.seaFreightCurrency] }} / {{ unitMap[row1.seaFreightVolume] }}
</div>
<div>
{{ $t("清关费") }}{{ row1.oneClearanceFreight }} {{ currencyMap[row1.clearanceFreightCurrency] }} / {{ unitMap[row1.clearanceFreightVolume] }}
</div>
</template>
<template v-else>
<div>{{ $t("运费") }}{{ row1.oneSeaFreight }} {{ currencyMap[row1.seaFreightCurrency] }} / {{ unitMap[row1.seaFreightVolume] }}</div>
<div v-if="row1.oneClearanceFreight">{{ $t("清关费") }}{{ row1.oneClearanceFreight }} {{ currencyMap[row1.clearanceFreightCurrency] }} / {{ unitMap[row1.clearanceFreightVolume] }}</div>
<div v-else>{{ $t("清关费未报价") }}</div>
</template>
</template>
</template>
</el-table-column>
<el-table-column :label="$t('客户经理')" align="left" prop="followUpSalesmanName"> </el-table-column>
<el-table-column :label="$t('创建人')" align="left" prop="creatorName"> </el-table-column>
<el-table-column :label="$t('创建时间')" align="left" width="120">
<el-table-column :label="$t('货物描述')" width="180">
<template slot-scope="scope" v-if="scope.row.offerProds">
<template v-for="row1 in scope.row.offerProds">
<div>
{{row1.prodTitleZh}}:<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row1.brand"></dict-tag>-
{{row1.volume}}CBM/{{row1.weight}}KG
</div>
</template>
</template>
</el-table-column>
<el-table-column :label="$t('总方数')" align="left" prop="volume" width="100" />
<el-table-column :label="$t('总重量')" align="left" prop="weight" width="100" />
<el-table-column :label="$t('货物状态')" align="left" width="100">
<template slot-scope="{ row }">
<span>{{ parseTime(row.createTime, "{y}-{m}-{d} {h}:{i}:{s}") }}</span>
<dict-tag :type="DICT_TYPE.ECW_OFFER_CARGO_STATUS" :value="row.cargoStatus" />
</template>
</el-table-column>
<el-table-column :label="$t('有效期')" align="left" width="120">
<el-table-column :label="$t('预计发货时间')" align="left" prop="estimatedShippingTime" width="120" />
<el-table-column :label="$t('厂家/电话')" align="left" width="100">
<template slot-scope="{ row }">
<div>{{ parseTime(row.startTime, "{y}-{m}-{d}") }}</div>
{{ parseTime(row.endTime, "{y}-{m}-{d}") }}
{{row.manufacturer}}/{{row.manufacturerPhone}}
</template>
</el-table-column>
<el-table-column :label="$t('订单编号')" align="left" width="120">
<template slot-scope="{ row }">
<a class="el-link el-link--primary is-underline" href="javascript:;" @click="$router.push(`/order/detail?orderId=${row.orderId}`)">{{ row.orderNo }}</a>
</template>
</el-table-column>
<el-table-column :label="$t('输单原因')" align="left" width="100">
<template slot-scope="{ row }">
<dict-tag :type="DICT_TYPE.ECW_OFFER_REASON_DICT" :value="row.reasonDict" />
</template>
</el-table-column>
<el-table-column :label="$t('输单备注')" align="left" prop="reason" width="120" />
<el-table-column :label="$t('报价单号')" align="left" prop="number" width="150">
<template slot-scope="{ row }">
<el-link type="primary" @click.native="$router.push('detail?offerId=' + row.offerId)">{{ row.number }}</el-link>
</template>
</el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" fixed="right">
......@@ -213,7 +313,7 @@
</template>
<script>
import { deleteOffer, getOfferPage, exportOfferExcel, cancel, recovery, offerDeptPage, exportDeptOfferExcel } from "@/api/ecw/offer"
import { deleteOffer, getOfferPage, statistics, exportOfferExcel, cancel, recovery, offerDeptPage, exportDeptOfferExcel } from "@/api/ecw/offer"
import { getChannelList } from "@/api/ecw/channel"
import { getRegionList } from "@/api/ecw/order"
import { getCurrencyList } from "@/api/ecw/currency"
......@@ -223,6 +323,7 @@ import UserSelector from "@/components/UserSelector"
import Selector from "@/components/Selector"
import Template from "@/views/cms/template/index.vue"
import CustomerFollow from "@/views/ecw/customer/components/customerFollow"
import { getUnitList } from "@/api/ecw/unit"
export default {
name: "EcwOfferIndex",
components: {
......@@ -246,8 +347,13 @@ export default {
list: [],
// 查询参数
queryParams: {
customerStatusList: [],
salesmanIds: [],
statusList: [],
cargoStatusList: [],
saleStageList: [],
reasonDictList: [],
inquirySourceList: [],
importances: [],
channelIds: [],
sourceIds: [],
......@@ -257,6 +363,7 @@ export default {
queryTmp: {
createTime: ["", ""],
stopTime: ["", ""],
estimatedShippingTime: ["", ""],
startTime: ["", ""],
endTime: ["", ""]
},
......@@ -280,10 +387,19 @@ export default {
destWarehouseList: [],
curData: {},
dept: false, // 是否部门订单
autoHeight: 500
autoHeight: 500,
unitList: [],
statistics: {}
}
},
computed: {
unitMap() {
let map = {}
this.unitList.forEach((item) => {
map[item.id] = this.$i18n.locale == "zh_CN" ? item.titleZh : item.titleEn
})
return map
},
isMobile() {
const userAgent = navigator.userAgent || navigator.vendor || window.opera;
// 匹配常见的移动设备标识
......@@ -326,6 +442,7 @@ export default {
if (this.$route.fullPath.indexOf("dept") > -1) {
this.dept = true
}
getUnitList().then((res) => (this.unitList = res.data))
// getTradeCityList().then((res) => (this.tradeCityList = res.data))
getWarehouseList().then((res) => {
this.tradeCityList = res.data
......@@ -561,6 +678,8 @@ export default {
obj.endCreateTime = this.queryTmp.createTime[1]
obj.beginStopTime = this.queryTmp.stopTime[0]
obj.endStopTime = this.queryTmp.stopTime[1]
obj.beginEstimatedShippingTime = this.queryTmp.estimatedShippingTime[0]
obj.endEstimatedShippingTime = this.queryTmp.estimatedShippingTime[1]
obj.beginStartTime = this.queryTmp.startTime[0]
obj.endStartTime = this.queryTmp.startTime[1]
obj.beginEndTime = this.queryTmp.endTime[0]
......@@ -571,7 +690,14 @@ export default {
getList() {
this.loading = true
let func = this.dept ? offerDeptPage : getOfferPage
if(!this.dept) {
statistics({
...this.queryParams,
...this.formatQuery()
}).then((response) => {
this.statistics = response.data
})
}
// 执行查询
func({
...this.queryParams,
......
......@@ -35,7 +35,12 @@
</el-form-item>
</template>
<template v-else>
<el-form-item :label="$t('原因')" prop="reason">
<el-form-item :label="$t('原因')" prop="reasonDict">
<el-select v-model="form.reasonDict " clearable :placeholder="$t('请选择')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.ECW_OFFER_REASON_DICT)" :key="dict.value" :label="dict.label" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
<el-form-item :label="$t('备注')" prop="reason">
<el-input style="width: 500px;" type="textarea" placeholder="" v-model="form.reason"></el-input>
</el-form-item>
</template>
......
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