Commit 39c63e34 authored by 1483922988@qq.com's avatar 1483922988@qq.com

客户编辑产品类型多选,主要竞争对手其他回显,客户跟进记录,报价单相关

parent d625d224
import request from '@/utils/request'
import request from "@/utils/request"
// 创建跟进
export function createCustomerFollow(data) {
return request({
url: '/ecw/customer-follow/create',
method: 'post',
url: "/ecw/customer-follow/create",
method: "post",
data: data
})
}
......@@ -12,8 +12,8 @@ export function createCustomerFollow(data) {
// 更新跟进
export function updateCustomerFollow(data) {
return request({
url: '/ecw/customer-follow/update',
method: 'put',
url: "/ecw/customer-follow/update",
method: "put",
data: data
})
}
......@@ -21,31 +21,31 @@ export function updateCustomerFollow(data) {
// 删除跟进
export function deleteCustomerFollow(id) {
return request({
url: '/ecw/customer-follow/delete?id=' + id,
method: 'delete'
url: "/ecw/customer-follow/delete?id=" + id,
method: "delete"
})
}
// 获得跟进
export function getCustomerFollow(id) {
return request({
url: '/ecw/customer-follow/get?id=' + id,
method: 'get'
url: "/ecw/customer-follow/get?id=" + id,
method: "get"
})
}
// 获得跟进分页
export function getCustomerFollowPage(query) {
return request({
url: '/customer/detail/infoList/followPage',
method: 'get',
url: "/customer/detail/infoList/followPage",
method: "get",
params: query
})
}
export function getCustomerFollowPage2(query) {
return request({
url: '/ecw/customer-follow/page',
method: 'get',
url: "/ecw/customer-follow/page",
method: "get",
params: query
})
}
......@@ -53,50 +53,56 @@ export function getCustomerFollowPage2(query) {
// 导出跟进 Excel
export function exportCustomerFollowExcel(query) {
return request({
url: '/ecw/customer-follow/export-excel',
method: 'get',
url: "/ecw/customer-follow/export-excel",
method: "get",
params: query,
responseType: 'blob'
responseType: "blob"
})
}
export function getCustomerFollowList(params) {
return request({
url: '/customer/followup/page',
method: 'get',
url: "/customer/followup/page",
method: "get",
params
})
}
export function getCustomerFollowDetail(params) {
return request({
url: '/customer/followup/get',
method: 'get',
url: "/customer/followup/get",
method: "get",
params
})
}
export function addCustomerFollow(data) {
return request({
url: '/customer/followup/create',
method: 'post',
url: "/customer/followup/create",
method: "post",
data
})
}
export function editCustomerFollow(data) {
return request({
url: '/customer/followup/update',
method: 'put',
url: "/customer/followup/update",
method: "put",
data
})
}
export function exportCustomerFollow(params) {
return request({
url: '/customer/followup/export-excel',
method: 'get',
url: "/customer/followup/export-excel",
method: "get",
params
})
}
export function getFollowupNewNumber() {
return request({
url: "/customer/followup/getFollowupNewNumber",
method: "get"
})
}
......@@ -213,10 +213,10 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('主营类别')" prop="productType">
<el-form-item :label="$t('主营类别')" prop="productTypes">
<el-row :gutter="10">
<el-col :span="11">
<el-select @change="change" v-model="form.productType" :placeholder="$t('请选择产品类别')">
<el-select @change="change" v-model="form.productTypes" multiple :placeholder="$t('请选择产品类别')">
<el-option :label="isChinese ? item.titleZh : item.titleEn" :value="item.id" v-for="item in productTypeList" :key="item.id" />
</el-select>
</el-col>
......@@ -804,7 +804,7 @@ export default {
trigger: "change"
}
],
productType: [
productTypes: [
{
required: true,
message: this.$t("请选择产品类别"),
......@@ -873,7 +873,7 @@ export default {
this.getProductListFn(val)
},
getProductListFn(val) {
getProductList({ typeId: val }).then((r) => {
getProductList({ typeIds: val }).then((r) => {
this.productList = r.data
})
},
......@@ -1040,6 +1040,7 @@ export default {
roles: (this.form.roles || [])?.join(","),
pickupPoints: (this.form.pickupPoints || [])?.join(","),
productIds: (this.form.productIds || [])?.join(","),
productTypes: (this.form.productTypes || [])?.join(","),
busiCountryIds: (this.form.busiCountryIds || [])?.join(","),
noConsignee: undefined,
defaultPay: undefined,
......@@ -1187,7 +1188,8 @@ export default {
pickupPoints: this.stringArrToNumberArr(response.data.pickupPoints),
productIds: this.stringArrToNumberArr(response.data.productIds),
busiCountryIds: this.stringArrToNumberArr(response.data.busiCountryIds),
competitorIds: Number(response.data.competitorIds)
competitorIds: Number(response.data.competitorIds),
productTypes: response.data.productTypes ? response.data.productTypes.split(",") : []
}
if (this.form.productType) {
console.log("1231", this.form.productType)
......@@ -1259,9 +1261,12 @@ export default {
if (!this.form.lightUnit) this.form.lightUnit = r.data.paoEdge
})
},
getCompetitorList() {
getCompetitorList(callback) {
competitorListAll().then((r) => {
this.competitorList = r.data
this.$nextTick(() => {
callback && callback()
})
})
},
changeCompetitor(val) {
......@@ -1273,9 +1278,11 @@ export default {
console.log(data)
addCompetitor({
name: data.value
}).then((_) => {
}).then((r) => {
this.$message.success("添加成功!")
this.getCompetitorList()
this.getCompetitorList(() => {
this.form.competitorIds = r.data
})
})
})
}
......
This diff is collapsed.
<template>
<div class="app-container">
<el-card>
<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>
</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>
</template>
</el-table-column>
<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>
</el-table-column>
<el-table-column :label="$t('联系人')" align="center" prop="contactName" />
<el-table-column :label="$t('跟进方式')" align="center" prop="followUpMethod">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.CUSTOMER_FOLLOW_METHOD" :value="scope.row.followUpMethod"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('跟进时间')" align="center" prop="followUpTime" width="180">
<template slot-scope="scope">
<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>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="params.page" :limit.sync="params.rows" @pagination="getList" />
</el-card>
<logListCommon :offerId="offerId" />
</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 logListCommon from "@/views/ecw/offer/logListCommon"
export default {
name: "OfferLog",
components: {},
name: "offerLogList",
components: { logListCommon },
data() {
return {
// 遮罩层
loading: true,
list: [],
total: 0,
params: {
page: 1,
rows: 20,
offerId: 0,
type: 2
return {}
},
number: "",
relationId: 0,
creatorName: "test",
creatorData: []
}
},
created() {
if (this.$route.query.offerId) {
this.params.offerId = this.$route.query.offerId
this.getList()
this.getRelationID()
}
userList("customer service").then((res) => (this.creatorData = res.data))
},
methods: {
/** 查询列表 */
getList() {
this.loading = true
let params = { ...this.params }
// 执行查询
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 ""
},
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
}
})
computed: {
offerId() {
return parseInt(this.$route.query.offerId || 0)
}
}
}
......
This diff is collapsed.
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