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