Commit d625d224 authored by 1483922988@qq.com's avatar 1483922988@qq.com

6

parent 4af4e00f
This diff is collapsed.
......@@ -337,6 +337,28 @@
<el-card class="box-card">
<div slot="header" class="clearfix">
<el-form size="small" :inline="true" label-width="100px">
<el-form-item :label="$t('编号')" prop="number">
<el-input v-model.trim="followForm.number" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('报价单号')" prop="offerNumber">
<el-input v-model.trim="followForm.offerNumber" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('联系人')" prop="contactName">
<el-input v-model.trim="followForm.contactName" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('联系方式')" prop="contactPhone">
<el-input v-model.trim="followForm.contactPhone" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('客户经理')" prop="salesmanIds">
<user-selector v-model="followForm.salesmanIds" multiple clearable @change="handleQuery" />
</el-form-item>
<el-form-item :label="$t('下次跟进时间')">
<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('关联跟进记录')" prop="parentNumber">
<el-input v-model.trim="followForm.parentNumber" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('跟进类型')">
<dict-selector clearable :type="DICT_TYPE.CUSTOMER_FOLLOWUP_TYPE" v-model="followForm.followType" @change="handleQuery"></dict-selector>
</el-form-item>
......@@ -353,14 +375,6 @@
<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('跟进时间')">
<el-date-picker type="datetimerange" clearable v-model="followTime" style="width: 320px" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始跟进时间')" :end-placeholder="$t('结束跟进时间')" />
</el-form-item>
<el-form-item :label="$t('下次跟进时间')">
<el-date-picker type="datetimerange" clearable v-model="nextTime" style="width: 320px" value-format="yyyy-MM-dd HH:mm:ss" range-separator="-" :start-placeholder="$t('开始下次跟进时间')" :end-placeholder="$t('结束下次跟进时间')" />
</el-form-item>
-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="getCustomerFollowList">{{ $t("搜索") }} </el-button>
<el-button
......@@ -423,7 +437,7 @@
</el-table-column>
<el-table-column width="150px" :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" @click="handleCustomerFollow(scope.row, scope.row.status === 0)" v-hasPermi="['ecw:customer:follow-update']">{{ $t("编辑") }} </el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="!scope.row.status" @click="handleCustomerFollow(scope.row, scope.row.status === 0)" 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>
</template>
</el-table-column>
......@@ -991,6 +1005,7 @@ export default {
pageNo: 1,
pageSize: 10
},
followFormTmp: {},
followTime: [],
nextTime: [],
customerFollowTotal: 0,
......
......@@ -7,11 +7,11 @@
</el-form-item>
<el-form-item :label="$t('客户')" prop="searchCustomer">
<el-input v-model.trim="queryParams.searchCustomer" :placeholder="$t('请输入客户')" clearable @keyup.enter.native="handleQuery" />
<el-input v-model.trim="queryParams.searchCustomer" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item :label="$t('联系方式')" prop="relationPhone">
<el-input v-model.trim="queryParams.relationPhone" :placeholder="$t('请输入客户')" clearable @keyup.enter.native="handleQuery" @input="queryParams.relationPhone = queryParams.relationPhone.replace(/\s+/g, '')" />
<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">
......@@ -111,14 +111,18 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="list" border>
<el-table-column :label="$t('报价单号')" align="left" prop="number" width="200px">
<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="left" prop="orderNo" />
<el-table-column :label="$t('联系人')" align="left" prop="relationName" width="180" />
<el-table-column :label="$t('联系电话')" align="left" prop="relationPhone" />
<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" 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="departureName" />
<el-table-column :label="$t('目的地')" align="center" prop="objectiveName" />
......@@ -568,7 +572,7 @@ export default {
/** 导出按钮操作 */
handleExport() {
// 处理查询参数
let params = { ...this.queryParams }
let params = { ...this.queryParams, ...this.formatQuery() }
params.pageNo = undefined
params.pageSize = undefined
// 执行导出
......
<template>
<div class="app-container">
<el-card>
<div slot="header" class="card-title">{{$t('跟进记录列表')}}</div>
<div slot="header" class="card-title">{{ $t("跟进记录列表") }}</div>
<!-- 列表 -->
<div class="offer-header">
<span style="font-size: 15px;">{{$t('报价单号')}}{{number}}</span>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
>{{$t('新增')}}</el-button>
<span style="font-size: 15px">{{ $t("报价单号") }}{{ number }}</span>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">{{ $t("新增") }}</el-button>
</div>
<el-table v-loading="loading" :data="list">
<el-table-column :label="$t('序号')" align="center" prop="id" type="index">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('跟进类型')" align="center" prop="type" >
<el-table-column :label="$t('跟进类型')" align="center" prop="type">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_OFFER_TYPE" :value="scope.row.type"></dict-tag>
</template>
......@@ -29,105 +28,101 @@
</el-table-column>
<el-table-column :label="$t('跟进时间')" align="center" prop="followUpTime" width="180">
<template slot-scope="scope">
<span>{{ scope.row.followUpTime}}</span>
<span>{{ scope.row.followUpTime }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('客户反馈')" align="center" prop="customerFeedback" />
<el-table-column :label="$t('处理结果')" align="center" prop="processingResults" />
<el-table-column :label="$t('客户经理')" align="center" prop="followUpSalesmanName">
<template slot-scope="scope">
<span>{{getCustomerService(scope.row.followUpSalesmanId)}}</span>
<span>{{ getCustomerService(scope.row.followUpSalesmanId) }}</span>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="params.page" :limit.sync="params.rows"
@pagination="getList"/>
<pagination v-show="total > 0" :total="total" :page.sync="params.page" :limit.sync="params.rows" @pagination="getList" />
</el-card>
</div>
</template>
<script>
import {getOfferLogPage} from "@/api/ecw/offerLog";
import {DICT_TYPE} from '@/utils/dict'
import {getOffer} from '@/api/ecw/offer'
import { userList } from "@/api/system/user"
import { getOfferLogPage } from "@/api/ecw/offerLog"
import { DICT_TYPE } from "@/utils/dict"
import { getOffer } from "@/api/ecw/offer"
import { userList } from "@/api/system/user"
export default {
name: "OfferLog",
components: {
},
components: {},
data() {
return {
// 遮罩层
loading: true,
list: [],
total:0,
params:{
page:1,
rows:20,
offerId:0,
type:2
total: 0,
params: {
page: 1,
rows: 20,
offerId: 0,
type: 2
},
number:'',
relationId:0,
creatorName:'test',
creatorData:[]
};
number: "",
relationId: 0,
creatorName: "test",
creatorData: []
}
},
created() {
if(this.$route.query.offerId){
if (this.$route.query.offerId) {
this.params.offerId = this.$route.query.offerId
this.getList();
this.getList()
this.getRelationID()
}
userList('customer service').then(res =>this.creatorData = res.data)
userList("customer service").then((res) => (this.creatorData = res.data))
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
let params = {...this.params};
this.loading = true
let params = { ...this.params }
// 执行查询
getOfferLogPage(params).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
getOfferLogPage(params).then((response) => {
this.list = response.data.list
this.total = response.data.total
this.loading = false
})
},
getCustomerService(id){
var user = this.creatorData.find(item=>item.id==id)
if(user) return user.nickname
return ''
getCustomerService(id) {
var user = this.creatorData.find((item) => item.id == id)
if (user) return user.nickname
return ""
},
getRelationID(){
getOffer(this.params.offerId).then(response => {
this.relationId = response.data.consignorId;
this.number = response.data.number;
getRelationID() {
getOffer(this.params.offerId).then((response) => {
this.relationId = response.data.consignorId
this.number = response.data.number
})
},
/** 新增按钮操作 */
handleAdd() {
this.$router.push({
path: "/offer/createLog",
query:{
offerId:this.params.offerId,
number:this.number
query: {
offerId: this.params.offerId,
number: this.number
}
})
}
});
},
}
};
}
</script>
<style scoped>
.card-title{
.card-title {
font-size: 18px;
font-weight: bold;
}
.offer-header{
}
.offer-header {
padding-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
}
}
</style>
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