Commit 56eafbc3 authored by Administrator's avatar Administrator

Merge branch 'pre-release' into 'jd_dev'

Pre release代码合并到jd20241211

See merge request !104
parents ea4f87fd 70e6f6db
......@@ -9,7 +9,7 @@
<el-input v-model="queryParams.name" :placeholder="$t('请输入客户名称')" clearable @keyup.enter.native="handleQuery" @blur="trimCustomerName" />
</el-form-item>
<el-form-item :label="$t('区号')">
<el-select filterable v-model="queryParams.areaCode" :placeholder="$t('请选择区号')">
<el-select filterable v-model="queryParams.areaCode" clearable :placeholder="$t('请选择区号')">
<el-option v-for="(item, index) in countryList" :key="index" :label="item.nameShort + (isChinese ? item.nameZh : item.nameEn) + ' +' + item.tel" :value="item.tel" />
</el-select>
</el-form-item>
......@@ -17,7 +17,7 @@
<el-input :placeholder="$t('请输入联系方式')" clearable v-model.trim="queryParams.defaultContactPhone" @input="queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"></el-input>
</el-form-item>
<el-form-item :label="$t('部门')" v-if="path != '/customer/department-customers'">
<el-select filterable v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">
<el-select filterable clearable v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">
<el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
......@@ -57,7 +57,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('常用提货网点')" v-show="showSearch">
<el-select filterable multiple v-model="form.pickupPoints" :placeholder="$t('请选择提货网点')">
<el-select filterable multiple v-model="queryParams.pickupPoints" :placeholder="$t('请选择提货网点')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.PICKUP_POINTS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
......@@ -127,14 +127,14 @@
<el-option :label="$t('否')" :value="0" />
</el-select>
</el-form-item>
<el-form-item :label="$t('会员电话')" prop="department" label-width="100px">
<el-form-item :label="$t('会员电话')" prop="department" label-width="100px" v-show="showSearch">
<el-input :placeholder="$t('请输入会员电话')" class="w-200" clearable v-model.trim="queryParams.memberMobile" @input="queryParams.memberMobile = queryParams.memberMobile.replace(/\s+/g, '')">
<template slot="prepend">
<area-code-selector v-model="queryParams.memberAreaCode" class="w-50" />
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('会员编号')" prop="number">
<el-form-item :label="$t('会员编号')" prop="number" v-show="showSearch">
<el-input v-model.trim="queryParams.memberCode" :placeholder="$t('请输入会员编号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('控货无收货人')" v-show="showSearch" label-width="100px">
......@@ -251,6 +251,13 @@
</contacts>
</template>
</el-table-column>
<el-table-column :label="$t('最新发货时间')" width="120">
<template slot-scope="scope" v-if="scope.row.lastLoadOrderId">
<router-link :to="`/order/detail?orderId=${scope.row.lastLoadOrderId}`" class="link-type">
{{ parseTime(scope.row.lastLoadOrderLoadTime) }}
</router-link>
</template>
</el-table-column>
<el-table-column :label="$t('最新报价单')" width="120">
<template slot-scope="scope" v-if="scope.row.offerId">
<router-link :to="`/offer/detail?offerId=${scope.row.offerId}`" class="link-type">
......
......@@ -10,13 +10,13 @@
<el-input :placeholder="$t('请输入联系方式')" v-model.trim="queryParams.defaultContactPhone" @keyup.enter.native="handleQuery" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"></el-input>
</el-form-item>
<el-form-item :label="$t('客户经理')" prop="customerService">
<el-select clearable v-model="queryParams.customerService" @change="handleQuery" :placeholder="$t('请选择客户经理')" clearable size="small">
<el-select v-model="queryParams.customerService" @change="handleQuery" :placeholder="$t('请选择客户经理')" clearable size="small">
<el-option v-for="dict in customerServiceList"
:key="dict.id" :label="dict.nickname" :value="dict.id"/>
</el-select>
</el-form-item>
<el-form-item :label="$t('客户来源')" prop="source">
<el-select clearable v-model="queryParams.source" :placeholder="$t('请选择客户来源')" @change="handleQuery" clearable size="small">
<el-select v-model="queryParams.source" :placeholder="$t('请选择客户来源')" @change="handleQuery" clearable size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value"/>
</el-select>
......@@ -25,14 +25,14 @@
<el-form-item :label="$t('市场获客')" prop="department">
<dict-selector clearable :type="DICT_TYPE.ECW_CUSTOMER_RESOURCE_TYPE" v-model="queryParams.marketType" formatter="number" @change="handleQuery"></dict-selector>
</el-form-item>
<el-form-item :label="$t('会员电话')" prop="department" label-width="100px">
<el-form-item :label="$t('会员电话')" prop="department" label-width="100px" v-show="showSearch">
<el-input :placeholder="$t('请输入会员电话')" class="w-200" clearable v-model.trim="queryParams.memberMobile" @input="queryParams.memberMobile = queryParams.memberMobile.replace(/\s+/g, '')">
<template slot="prepend">
<area-code-selector v-model="queryParams.memberAreaCode" class="w-50"/>
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('会员编号')" prop="number">
<el-form-item :label="$t('会员编号')" prop="number" v-show="showSearch">
<el-input
v-model.trim="queryParams.memberCode"
:placeholder="$t('请输入会员编号')"
......
......@@ -18,7 +18,7 @@
<el-input :placeholder="$t('请输入联系方式')" clearable v-model.trim="queryParams.defaultContactPhone" @input="queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"></el-input>
</el-form-item>
<el-form-item :label="$t('部门')" v-if="path != '/customer/department-customers'">
<el-select v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">
<el-select filterable v-model="queryParams.deptIds" :placeholder="$t('请选择部门')" clearable>
<el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
......@@ -58,7 +58,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('常用提货网点')" v-show="showSearch">
<el-select filterable multiple v-model="form.pickupPoints" :placeholder="$t('请选择提货网点')">
<el-select filterable multiple v-model="queryParams.pickupPoints" :placeholder="$t('请选择提货网点')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.PICKUP_POINTS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
......@@ -128,14 +128,14 @@
<el-option :label="$t('否')" :value="0" />
</el-select>
</el-form-item>
<el-form-item :label="$t('会员电话')" prop="department" label-width="100px">
<el-form-item :label="$t('会员电话')" prop="department" label-width="100px" v-show="showSearch">
<el-input :placeholder="$t('请输入会员电话')" class="w-200" clearable v-model.trim="queryParams.memberMobile" @input="queryParams.memberMobile = queryParams.memberMobile.replace(/\s+/g, '')">
<template slot="prepend">
<area-code-selector v-model="queryParams.memberAreaCode" class="w-50"/>
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('会员编号')" prop="number">
<el-form-item :label="$t('会员编号')" prop="number" v-show="showSearch">
<el-input
v-model.trim="queryParams.memberCode"
:placeholder="$t('请输入会员编号')"
......@@ -237,6 +237,13 @@
</contacts>
</template>
</el-table-column>
<el-table-column :label="$t('最新发货时间')" width="120">
<template slot-scope="scope" v-if="scope.row.lastLoadOrderId">
<router-link :to="`/order/detail?orderId=${scope.row.lastLoadOrderId}`" class="link-type">
{{ parseTime(scope.row.lastLoadOrderLoadTime) }}
</router-link>
</template>
</el-table-column>
<el-table-column :label="$t('最新报价单')" width="120">
<template slot-scope="scope" v-if="scope.row.offerId">
<router-link :to="`/offer/detail?offerId=${scope.row.offerId}`" class="link-type">
......
......@@ -18,7 +18,7 @@
<el-input :placeholder="$t('请输入联系方式')" clearable v-model.trim="queryParams.defaultContactPhone" @input="queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"></el-input>
</el-form-item>
<el-form-item :label="$t('部门')" v-if="path != '/customer/department-customers'">
<el-select filterable v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">
<el-select filterable v-model="queryParams.deptIds" :placeholder="$t('请选择部门')" clearable>
<el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
......@@ -58,7 +58,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('常用提货网点')" v-show="showSearch">
<el-select filterable multiple v-model="form.pickupPoints" :placeholder="$t('请选择提货网点')">
<el-select filterable multiple v-model="queryParams.pickupPoints" :placeholder="$t('请选择提货网点')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.PICKUP_POINTS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
......@@ -128,14 +128,14 @@
<el-option :label="$t('否')" :value="0" />
</el-select>
</el-form-item>
<el-form-item :label="$t('会员电话')" prop="department" label-width="100px">
<el-form-item :label="$t('会员电话')" prop="department" label-width="100px" v-show="showSearch">
<el-input :placeholder="$t('请输入会员电话')" class="w-200" clearable v-model.trim="queryParams.memberMobile" @input="queryParams.memberMobile = queryParams.memberMobile.replace(/\s+/g, '')">
<template slot="prepend">
<area-code-selector v-model="queryParams.memberAreaCode" class="w-50"/>
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('会员编号')" prop="number">
<el-form-item :label="$t('会员编号')" prop="number" v-show="showSearch">
<el-input
v-model.trim="queryParams.memberCode"
:placeholder="$t('请输入会员编号')"
......@@ -223,6 +223,13 @@
</contacts>
</template>
</el-table-column>
<el-table-column :label="$t('最新发货时间')" width="120">
<template slot-scope="scope" v-if="scope.row.lastLoadOrderId">
<router-link :to="`/order/detail?orderId=${scope.row.lastLoadOrderId}`" class="link-type">
{{ parseTime(scope.row.lastLoadOrderLoadTime) }}
</router-link>
</template>
</el-table-column>
<el-table-column :label="$t('最新报价单')" width="120">
<template slot-scope="scope" v-if="scope.row.offerId">
<router-link :to="`/offer/detail?offerId=${scope.row.offerId}`" class="link-type">
......
......@@ -18,12 +18,12 @@
<el-input :placeholder="$t('请输入联系方式')" clearable v-model.trim="queryParams.defaultContactPhone" @input="queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"></el-input>
</el-form-item>
<!-- <el-form-item :label="$t('部门')" v-if="path != '/customer/department-customers'">-->
<!-- <el-select v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">-->
<!-- <el-select filterable v-model="queryParams.deptIds" :placeholder="$t('请选择部门')" clearable>-->
<!-- <el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item :label="$t('客户经理')" prop="customerService">-->
<!-- <el-select multiple clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" size="small" @change="handleQuery">-->
<!-- <el-select filterable multiple clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" size="small" @change="handleQuery">-->
<!-- <el-option v-for="dict in customerServiceList" :key="dict.id" :label="dict.nickname" :value="dict.id" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
......@@ -58,7 +58,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('常用提货网点')" v-show="showSearch">
<el-select filterable multiple v-model="form.pickupPoints" :placeholder="$t('请选择提货网点')">
<el-select filterable multiple v-model="queryParams.pickupPoints" :placeholder="$t('请选择提货网点')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.PICKUP_POINTS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
......@@ -128,14 +128,14 @@
<el-option :label="$t('否')" :value="0" />
</el-select>
</el-form-item>
<el-form-item :label="$t('会员电话')" prop="department" label-width="100px">
<el-form-item :label="$t('会员电话')" prop="department" label-width="100px" v-show="showSearch">
<el-input :placeholder="$t('请输入会员电话')" class="w-200" clearable v-model.trim="queryParams.memberMobile" @input="queryParams.memberMobile = queryParams.memberMobile.replace(/\s+/g, '')">
<template slot="prepend">
<area-code-selector v-model="queryParams.memberAreaCode" class="w-50" />
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('会员编号')" prop="number">
<el-form-item :label="$t('会员编号')" prop="number" v-show="showSearch">
<el-input v-model.trim="queryParams.memberCode" :placeholder="$t('请输入会员编号')" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('控货无收货人')" v-show="showSearch" label-width="100px">
......@@ -240,6 +240,13 @@
</contacts>
</template>
</el-table-column>
<el-table-column :label="$t('最新发货时间')" width="120">
<template slot-scope="scope" v-if="scope.row.lastLoadOrderId">
<router-link :to="`/order/detail?orderId=${scope.row.lastLoadOrderId}`" class="link-type">
{{ parseTime(scope.row.lastLoadOrderLoadTime) }}
</router-link>
</template>
</el-table-column>
<el-table-column :label="$t('最新报价单')" width="120">
<template slot-scope="scope" v-if="scope.row.offerId">
<router-link :to="`/offer/detail?offerId=${scope.row.offerId}`" class="link-type">
......
......@@ -19,7 +19,7 @@
<el-input :placeholder="$t('请输入联系方式')" clearable v-model.trim="queryParams.defaultContactPhone" @input="queryParams.defaultContactPhone = queryParams.defaultContactPhone.replace(/\s+/g, '')"></el-input>
</el-form-item>
<el-form-item :label="$t('部门')" v-if="path != '/customer/department-customers'">
<el-select v-model="queryParams.deptIds" :placeholder="$t('请选择部门')">
<el-select filterable v-model="queryParams.deptIds" :placeholder="$t('请选择部门')" clearable>
<el-option v-for="item in deptList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
......@@ -59,7 +59,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('常用提货网点')" v-show="showSearch">
<el-select filterable multiple v-model="form.pickupPoints" :placeholder="$t('请选择提货网点')">
<el-select filterable multiple v-model="queryParams.pickupPoints" :placeholder="$t('请选择提货网点')">
<el-option v-for="dict in getDictDatas(DICT_TYPE.PICKUP_POINTS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="parseInt(dict.value)" />
</el-select>
</el-form-item>
......@@ -129,14 +129,14 @@
<el-option :label="$t('否')" :value="0" />
</el-select>
</el-form-item>
<el-form-item :label="$t('会员电话')" prop="department" label-width="100px">
<el-form-item :label="$t('会员电话')" prop="department" label-width="100px" v-show="showSearch">
<el-input :placeholder="$t('请输入会员电话')" class="w-200" clearable v-model.trim="queryParams.memberMobile" @input="queryParams.memberMobile = queryParams.memberMobile.replace(/\s+/g, '')">
<template slot="prepend">
<area-code-selector v-model="queryParams.memberAreaCode" class="w-50"/>
</template>
</el-input>
</el-form-item>
<el-form-item :label="$t('会员编号')" prop="number">
<el-form-item :label="$t('会员编号')" prop="number" v-show="showSearch">
<el-input
v-model.trim="queryParams.memberCode"
:placeholder="$t('请输入会员编号')"
......@@ -270,6 +270,13 @@
</contacts>
</template>
</el-table-column>
<el-table-column :label="$t('最新发货时间')" width="120">
<template slot-scope="scope" v-if="scope.row.lastLoadOrderId">
<router-link :to="`/order/detail?orderId=${scope.row.lastLoadOrderId}`" class="link-type">
{{ parseTime(scope.row.lastLoadOrderLoadTime) }}
</router-link>
</template>
</el-table-column>
<el-table-column :label="$t('最新报价单')" width="120">
<template slot-scope="scope" v-if="scope.row.offerId">
<router-link :to="`/offer/detail?offerId=${scope.row.offerId}`" class="link-type">
......
......@@ -44,6 +44,11 @@
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_STATUS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item :label="$t('客户来源')" v-show="showSearch">
<el-select filterable multiple clearable v-model="followForm.customerSourceList" :placeholder="$t('请选择')" size="small" @change="handleQuery">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
</el-select>
</el-form-item>
</div>
<div class="search-time">
<el-form-item :label="$t('创建时间')" v-show="showSearch">
......@@ -55,6 +60,9 @@
<el-form-item :label="$t('下次跟进时间')" v-show="showSearch">
<el-date-picker v-model="followFormTmp.nextTime" 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="followFormTmp.customerCreateTime" 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 style="padding-left: 20px; width: auto">
<div class="flex-c-c">
<el-button type="primary" icon="el-icon-search" @click="getDataSpaceCustomerFollowupList">{{ $t("搜索") }} </el-button>
......@@ -82,59 +90,71 @@
</el-row>
<el-table ref="multipleTable" border :data="customerFollowList" v-loading="loading" @selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" width="55" fixed></el-table-column>
<el-table-column prop="number" :label="$t('编号')" align="center" fixed :width="120">
<el-table-column prop="customerNumber" :label="$t('客户编号')" width="120" fixed>
<template slot-scope="scope">
<a href="javascript:void(0)" @click="handleCustomerFollowLink(scope.row)" class="link-type">{{ scope.row.number }}</a>
<a href="javascript:void(0)" @click="handleCustomerViewLink(scope.row)" class="link-type">{{ scope.row.customerNumber }}</a>
</template>
</el-table-column>
<el-table-column prop="followType" :label="$t('跟进类型')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE, cellValue)" :width="120"></el-table-column>
<el-table-column prop="offerNumber" :label="$t('报价单号')" :width="120">
<el-table-column prop="customerName" :label="$t('客户名称')" width="120" fixed/>
<el-table-column prop="contactName" :label="$t('联系人')" width="120"/>
<el-table-column prop="contactPhone" :label="$t('联系方式')" width="120"/>
<el-table-column prop="saleStage" :label="$t('销售阶段')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_SALE_STAGE, cellValue)" width="120"/>
<el-table-column prop="followType" :label="$t('跟进类型')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE, cellValue)" width="120"/>
<el-table-column prop="offerNumber" :label="$t('报价单号')" width="120">
<template slot-scope="{ row }">
<el-link type="primary" @click.native="$router.push('/offer/detail?offerId=' + row.offerId)" v-if="row.offerNumber">{{ row.offerNumber }}</el-link>
</template>
</el-table-column>
<el-table-column prop="followTime" :label="$t('跟进时间')" :formatter="(row, column, cellValue) => parseTime(cellValue)" :width="120"></el-table-column>
<el-table-column prop="customerNumber" :label="$t('客户编号')" :width="120">
<el-table-column prop="followTime" :label="$t('跟进时间')" :formatter="(row, column, cellValue) => parseTime(cellValue)" width="120"></el-table-column>
<el-table-column prop="purpose" :label="$t('目的')" width="240"/>
<el-table-column prop="feedback" :label="$t('跟进情况')" width="240"/>
<el-table-column :label="$t('下次跟进时间')" align="center" width="120">
<template slot-scope="scope">
<a href="javascript:void(0)" @click="handleCustomerViewLink(scope.row)" class="link-type">{{ scope.row.customerNumber }}</a>
{{ parseTime(scope.row.nextTime) }}
</template>
</el-table-column>
<el-table-column prop="contactName" :label="$t('联系人')" :width="120"></el-table-column>
<el-table-column prop="contactPhone" :label="$t('联系方式')" :width="120"></el-table-column>
<el-table-column prop="followUserName" :label="$t('客户经理')" :width="120"></el-table-column>
<el-table-column prop="followMethod" :label="$t('跟进方式')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_METHOD, cellValue)" :width="120"></el-table-column>
<el-table-column prop="purpose" :label="$t('目的')" :width="240"></el-table-column>
<el-table-column prop="feedback" :label="$t('跟进情况')" :width="240"></el-table-column>
<el-table-column prop="saleStage" :label="$t('销售阶段')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_SALE_STAGE, cellValue)" :width="120"></el-table-column>
<!-- <el-table-column prop="resultType" :label="$t('跟进结果')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_RESULT_TYPE, cellValue)"></el-table-column> -->
<el-table-column :label="$t('下次跟进时间')" align="center" :width="120">
<el-table-column prop="nextPlan" :label="$t('下次计划')" align="center" width="240"/>
<el-table-column :label="$t('关联跟进记录')" align="center" prop="parentNumber" width="120">
<template slot-scope="scope">
{{ parseTime(scope.row.nextTime) }}
<a href="javascript:void(0)" @click="handleCustomerFollowLink(scope.row.parentVO)" class="link-type">{{ scope.row.parentNumber }}</a>
</template>
</el-table-column>
<el-table-column :label="$t('关联跟进记录')" align="center" prop="parentNumber" :width="120"></el-table-column>
<el-table-column prop="nextPlan" :label="$t('下次计划')" align="center" :width="240"></el-table-column>
<el-table-column :label="$t('跟进状态')" align="center">
<template slot-scope="scope">
{{ getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_STATUS, scope.row.status) }}
</template>
</el-table-column>
<el-table-column prop="creatorName" :label="$t('创建人')" align="center" :width="120"></el-table-column>
<el-table-column :label="$t('创建时间')" align="center" :width="120">
<el-table-column prop="number" :label="$t('跟进编号')" align="center" width="120">
<template slot-scope="scope">
<a href="javascript:void(0)" @click="handleCustomerFollowLink(scope.row)" class="link-type">{{ scope.row.number }}</a>
</template>
</el-table-column>
<el-table-column prop="followMethod" :label="$t('跟进方式')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_METHOD, cellValue)" width="120" />
<el-table-column prop="followUserName" :label="$t('客户经理')" width="120" />
<el-table-column prop="customerSource" :label="$t('客户来源')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_SOURCE, cellValue)" width="120"/>
<el-table-column :label="$t('客户创建时间')" align="center" width="120">
<template slot-scope="scope">
{{ parseTime(scope.row.customerCreateTime) }}
</template>
</el-table-column>
<el-table-column prop="creatorName" :label="$t('创建人')" align="center" width="120"/>
<el-table-column :label="$t('创建时间')" align="center" width="120">
<template slot-scope="scope">
{{ parseTime(scope.row.createTime) }}
</template>
</el-table-column>
<el-table-column prop="updaterName" :label="$t('最后更新人')" align="center" :width="120"></el-table-column>
<el-table-column :label="$t('最后更新时间')" align="center" :width="120">
<el-table-column prop="updaterName" :label="$t('最后更新人')" align="center" width="120"/>
<el-table-column :label="$t('最后更新时间')" align="center" width="120">
<template slot-scope="scope">
{{ parseTime(scope.row.updateTime) }}
</template>
</el-table-column>
<el-table-column :width="180" :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width">
<el-table-column width="200" :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" v-if="!scope.row.status" @click="handleCustomerFollow(scope.row)" v-hasPermi="['ecw:customer:follow-update']">{{ $t("编辑") }} </el-button>
<el-button size="mini" type="text" icon="el-icon-collection" @click="handleCustomerFollow(scope.row, true)" v-has-permi="['ecw:customer:follow-add-plan']">{{ $t("增加计划") }} </el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleCustomerFollowLink(scope.row)" v-hasPermi="['ecw:customer:follow-update']">{{ $t("查看") }} </el-button>
</template>
</el-table-column>
</el-table>
......@@ -176,7 +196,8 @@ export default {
followFormTmp: {
createTime: ["", ""],
followTime: ["", ""],
nextTime: ["", ""]
nextTime: ["", ""],
customerCreateTime: ["", ""]
}
}
},
......@@ -260,6 +281,8 @@ export default {
obj.endFollowTime = this.followFormTmp.followTime[1]
obj.beginNextTime = this.followFormTmp.nextTime[0]
obj.endNextTime = this.followFormTmp.nextTime[1]
obj.beginCustomerCreateTime = this.followFormTmp.customerCreateTime[0]
obj.endCustomerCreateTime = this.followFormTmp.customerCreateTime[1]
return obj
},
handleQuery() {
......@@ -299,6 +322,7 @@ export default {
this.followFormTmp.createTime = ["", ""]
this.followFormTmp.followTime = ["", ""]
this.followFormTmp.nextTime = ["", ""]
this.followFormTmp.customerCreateTime = ["", ""]
this.followForm = {
pageNo: 1,
pageSize: 10
......
......@@ -45,6 +45,11 @@
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_FOLLOWUP_STATUS)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item :label="$t('客户来源')" v-show="showSearch">
<el-select filterable multiple clearable v-model="followForm.customerSourceList" :placeholder="$t('请选择')" size="small" @change="handleQuery">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value" />
</el-select>
</el-form-item>
</div>
<div class="search-time">
<el-form-item :label="$t('创建时间')" v-show="showSearch">
......@@ -56,6 +61,9 @@
<el-form-item :label="$t('下次跟进时间')" v-show="showSearch">
<el-date-picker v-model="followFormTmp.nextTime" 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="followFormTmp.customerCreateTime" 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 style="padding-left: 20px; width: auto">
<div class="flex-c-c">
<el-button type="primary" icon="el-icon-search" @click="getCustomerFollowupList">{{ $t("搜索") }} </el-button>
......@@ -80,59 +88,71 @@
</el-row>
<el-table ref="multipleTable" :data="customerFollowList" v-loading="loading" @selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" width="55" fixed></el-table-column>
<el-table-column prop="number" :label="$t('编号')" align="center" fixed :width="120">
<el-table-column prop="customerNumber" :label="$t('客户编号')" width="120" fixed>
<template slot-scope="scope">
<a href="javascript:void(0)" @click="handleCustomerFollowLink(scope.row)" class="link-type">{{ scope.row.number }}</a>
<a href="javascript:void(0)" @click="handleCustomerViewLink(scope.row)" class="link-type">{{ scope.row.customerNumber }}</a>
</template>
</el-table-column>
<el-table-column prop="followType" :label="$t('跟进类型')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE, cellValue)" :width="120"></el-table-column>
<el-table-column prop="offerNumber" :label="$t('报价单号')" :width="120">
<el-table-column prop="customerName" :label="$t('客户名称')" width="120" fixed></el-table-column>
<el-table-column prop="contactName" :label="$t('联系人')" width="120"></el-table-column>
<el-table-column prop="contactPhone" :label="$t('联系方式')" width="120"></el-table-column>
<el-table-column prop="saleStage" :label="$t('销售阶段')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_SALE_STAGE, cellValue)" width="120"></el-table-column>
<el-table-column prop="followType" :label="$t('跟进类型')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE, cellValue)" width="120"></el-table-column>
<el-table-column prop="offerNumber" :label="$t('报价单号')" width="120">
<template slot-scope="{ row }">
<el-link type="primary" @click.native="$router.push('/offer/detail?offerId=' + row.offerId)" v-if="row.offerNumber">{{ row.offerNumber }}</el-link>
</template>
</el-table-column>
<el-table-column prop="followTime" :label="$t('跟进时间')" :formatter="(row, column, cellValue) => parseTime(cellValue)" :width="120"></el-table-column>
<el-table-column prop="customerNumber" :label="$t('客户编号')" :width="120">
<el-table-column prop="followTime" :label="$t('跟进时间')" :formatter="(row, column, cellValue) => parseTime(cellValue)" width="120"></el-table-column>
<el-table-column prop="purpose" :label="$t('目的')" width="240"></el-table-column>
<el-table-column prop="feedback" :label="$t('跟进情况')" width="240"></el-table-column>
<el-table-column :label="$t('下次跟进时间')" align="center" width="120">
<template slot-scope="scope">
<a href="javascript:void(0)" @click="handleCustomerViewLink(scope.row)" class="link-type">{{ scope.row.customerNumber }}</a>
{{ parseTime(scope.row.nextTime) }}
</template>
</el-table-column>
<el-table-column prop="contactName" :label="$t('联系人')" :width="120"></el-table-column>
<el-table-column prop="contactPhone" :label="$t('联系方式')" :width="120"></el-table-column>
<el-table-column prop="followUserName" :label="$t('客户经理')" :width="120"></el-table-column>
<el-table-column prop="followMethod" :label="$t('跟进方式')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_METHOD, cellValue)" :width="120"></el-table-column>
<el-table-column prop="purpose" :label="$t('目的')" :width="240"></el-table-column>
<el-table-column prop="feedback" :label="$t('跟进情况')" :width="240"></el-table-column>
<el-table-column prop="saleStage" :label="$t('销售阶段')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_SALE_STAGE, cellValue)" :width="120"></el-table-column>
<!-- <el-table-column prop="resultType" :label="$t('跟进结果')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_RESULT_TYPE, cellValue)"></el-table-column> -->
<el-table-column :label="$t('下次跟进时间')" align="center" :width="120">
<el-table-column prop="nextPlan" :label="$t('下次计划')" align="center" width="240"></el-table-column>
<el-table-column :label="$t('关联跟进记录')" align="center" prop="parentNumber" width="120">
<template slot-scope="scope">
{{ parseTime(scope.row.nextTime) }}
<a href="javascript:void(0)" @click="handleCustomerFollowLink(scope.row.parentVO)" class="link-type">{{ scope.row.parentNumber }}</a>
</template>
</el-table-column>
<el-table-column :label="$t('关联跟进记录')" align="center" prop="parentNumber" :width="120"></el-table-column>
<el-table-column prop="nextPlan" :label="$t('下次计划')" align="center" :width="240"></el-table-column>
<el-table-column :label="$t('跟进状态')" align="center">
<template slot-scope="scope">
{{ getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_STATUS, scope.row.status) }}
</template>
</el-table-column>
<el-table-column prop="creatorName" :label="$t('创建人')" align="center" :width="120"></el-table-column>
<el-table-column :label="$t('创建时间')" align="center" :width="120">
<el-table-column prop="number" :label="$t('跟进编号')" align="center" width="120">
<template slot-scope="scope">
<a href="javascript:void(0)" @click="handleCustomerFollowLink(scope.row)" class="link-type">{{ scope.row.number }}</a>
</template>
</el-table-column>
<el-table-column prop="followMethod" :label="$t('跟进方式')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_FOLLOWUP_METHOD, cellValue)" width="120" />
<el-table-column prop="followUserName" :label="$t('客户经理')" width="120" />
<el-table-column prop="customerSource" :label="$t('客户来源')" :formatter="(row, column, cellValue) => getDictDataLabel(DICT_TYPE.CUSTOMER_SOURCE, cellValue)" />
<el-table-column :label="$t('客户创建时间')" align="center" width="120">
<template slot-scope="scope">
{{ parseTime(scope.row.customerCreateTime) }}
</template>
</el-table-column>
<el-table-column prop="creatorName" :label="$t('创建人')" align="center" width="120"></el-table-column>
<el-table-column :label="$t('创建时间')" align="center" width="120">
<template slot-scope="scope">
{{ parseTime(scope.row.createTime) }}
</template>
</el-table-column>
<el-table-column prop="updaterName" :label="$t('最后更新人')" align="center" :width="120"></el-table-column>
<el-table-column :label="$t('最后更新时间')" align="center" :width="120">
<el-table-column prop="updaterName" :label="$t('最后更新人')" align="center" width="120"></el-table-column>
<el-table-column :label="$t('最后更新时间')" align="center" width="120">
<template slot-scope="scope">
{{ parseTime(scope.row.updateTime) }}
</template>
</el-table-column>
<el-table-column :width="180" :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width">
<el-table-column width="200" :label="$t('操作')" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" v-if="!scope.row.status" @click="handleCustomerFollow(scope.row)" v-hasPermi="['ecw:customer:follow-update']">{{ $t("编辑") }} </el-button>
<el-button size="mini" type="text" icon="el-icon-collection" @click="handleCustomerFollow(scope.row, true)" v-has-permi="['ecw:customer:follow-add-plan']">{{ $t("增加计划") }} </el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleCustomerFollowLink(scope.row)" v-hasPermi="['ecw:customer:follow-update']">{{ $t("查看") }} </el-button>
</template>
</el-table-column>
</el-table>
......@@ -174,7 +194,8 @@ export default {
followFormTmp: {
createTime: ["", ""],
followTime: ["", ""],
nextTime: ["", ""]
nextTime: ["", ""],
customerCreateTime: ["", ""]
}
}
},
......@@ -258,6 +279,8 @@ export default {
obj.endFollowTime = this.followFormTmp.followTime[1]
obj.beginNextTime = this.followFormTmp.nextTime[0]
obj.endNextTime = this.followFormTmp.nextTime[1]
obj.beginCustomerCreateTime = this.followFormTmp.customerCreateTime[0]
obj.endCustomerCreateTime = this.followFormTmp.customerCreateTime[1]
return obj
},
handleQuery() {
......@@ -297,6 +320,7 @@ export default {
this.followFormTmp.createTime = ["", ""]
this.followFormTmp.followTime = ["", ""]
this.followFormTmp.nextTime = ["", ""]
this.followFormTmp.customerCreateTime = ["", ""]
this.followForm = {
pageNo: 1,
pageSize: 10
......
......@@ -65,7 +65,7 @@
</el-form-item> -->
<el-form-item :label="$t('商品')" prop="tidanNo" v-show="showSearch">
<el-input v-model.trim="prodParam.value" :placeholder="$t('请输入商品类型、品名或品牌')" clearable @keyup.enter.native="handleQuery" class="w-200">
<el-input v-model.trim="prodParam.value" :placeholder="$t('请输入商品')" clearable @keyup.enter.native="handleQuery" class="w-200">
<template slot="prepend">
<dict-selector :type="DICT_TYPE.ORDER_QUERY_PROD_FIELD" defaultable v-model="prodParam.key" />
</template>
......@@ -448,8 +448,18 @@
</template>
<!--转异-->
<el-dropdown-item @click.native="handleException(scope.row)" v-hasPermi="['ecw:order:turnException']">{{ $t("转异") }}</el-dropdown-item>
<template
v-if="
(scope.row.status < 12 ||
(scope.row.status == 12 &&
scope.row.shipmentState == 314)) &&
!scope.row.abnormalState &&
exclude(scope.row.inWarehouseState, [204, 205, 206]) &&
exclude(scope.row.shipmentState, [305, 307, 407])
"
>
<el-dropdown-item @click.native="handleException(scope.row)" v-hasPermi="['ecw:order:turnException']">{{ $t("转异") }}</el-dropdown-item>
</template>
<template v-if="scope.row.abnormalState != 0">
<el-dropdown-item @click.native="openException(scope.row)">{{ $t("查看异常") }}</el-dropdown-item>
<el-dropdown-item @click.native="openException(scope.row)">{{ $t("处理异常") }}</el-dropdown-item>
......
......@@ -57,6 +57,7 @@
<el-button type="warning" @click="showNotice = true">{{$t('入仓须知')}}</el-button>
<el-button type="info" @click="$redirect('create')">{{$t('再来一单')}}</el-button>
<el-button class="copy-btn" :data-clipboard-text="orderInfoForCopy">{{$t('复制订单信息')}}</el-button>
<el-button type="danger" @click="$redirect('edit?id=' + order.orderId + '&copy=1')">{{$t('复制并再来一单')}}</el-button>
</div>
<el-dialog :title="$t('查看须知')" :visible.sync="showNotice" width="700px">
......
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