提交 7d2365d9 authored 作者: pengxiaohui's avatar pengxiaohui
...@@ -3,39 +3,20 @@ ...@@ -3,39 +3,20 @@
<div class="bar"> <div class="bar">
<el-button v-if="btnUpdate" type="primary" size="small" @click="dialogVisable = true">更 新</el-button> <el-button v-if="btnUpdate" type="primary" size="small" @click="dialogVisable = true">更 新</el-button>
</div> </div>
<!-- <div class="info">
<div class="item"><label>客户名称:</label>{{ form.name }}</div>
<div class="item"><label>客户简称:</label>{{ form.short_name }}</div>
<div class="item"><label>客户来源:</label>{{ form.source | sourceFilter }}</div>
<div class="item"><label>客户分类:</label>{{ form.type | typeFilter }}</div>
<div class="item"><label>所在地区:</label>{{ form.region }}</div>
<div class="item"><label>详细地址:</label>{{ form.address }}</div>
<div class="item"><label>备注:</label>{{ form.remark }}</div>
</div> -->
<el-descriptions class="margin-top" title="" :column="2" size="" border> <el-descriptions class="margin-top" title="" :column="2" size="" border>
<el-descriptions-item> <el-descriptions-item> <template slot="label">客户名称</template>{{ form.name }} </el-descriptions-item>
<template slot="label">客户名称</template>{{ form.name }} <el-descriptions-item> <template slot="label">客户简称</template>{{ form.short_name }} </el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">客户简称</template>{{ form.short_name }}
</el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label">客户来源</template>{{ form.source | sourceFilter }} <template slot="label">客户来源</template>{{ form.source | sourceFilter }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label">客户分类</template>{{ form.type | typeFilter }} <template slot="label">客户分类</template>{{ form.type | typeFilter }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item> <template slot="label">所在地区</template>{{ form.region }} </el-descriptions-item>
<template slot="label">所在地区</template>{{ form.region }} <el-descriptions-item> <template slot="label">详细地址</template>{{ form.address }} </el-descriptions-item>
</el-descriptions-item> <el-descriptions-item> <template slot="label">备注</template>{{ form.remark }} </el-descriptions-item>
<el-descriptions-item>
<template slot="label">详细地址</template>{{ form.address }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">备注</template>{{ form.remark }}
</el-descriptions-item>
</el-descriptions> </el-descriptions>
<customer-form-dialog v-model="dialogVisable" :info="form" @change="getBaseInfo"/> <customer-form-dialog v-model="dialogVisable" :info="form" @change="getBaseInfo" />
</div> </div>
</template> </template>
<script> <script>
......
...@@ -75,11 +75,9 @@ export default { ...@@ -75,11 +75,9 @@ export default {
{ prop: 'wechat', label: '微信号', align: 'center' }, { prop: 'wechat', label: '微信号', align: 'center' },
{ prop: 'sub_mobile', label: '附属手机号', align: 'center' }, { prop: 'sub_mobile', label: '附属手机号', align: 'center' },
{ prop: 'qq', label: 'QQ号', align: 'center' }, { prop: 'qq', label: 'QQ号', align: 'center' },
// { prop: 'created_by.username', label: '创建员工', align: 'center' },
{ {
prop: 'created_by', prop: 'created_by',
label: '创建员工', label: '创建员工',
// minWidth: '100px',
computed({ row }) { computed({ row }) {
return row.created_by.realname || row.created_by.nickname || row.created_by.username return row.created_by.realname || row.created_by.nickname || row.created_by.username
} }
......
<template> <template>
<el-dialog :visible="value" :close-on-click-modal="false" :close-on-press-escape="false" top="15vh" @close="handleClose" width="560px" title="创建跟进记录"> <el-dialog
:visible="value"
:close-on-click-modal="false"
:close-on-press-escape="false"
top="15vh"
@close="handleClose"
width="560px"
title="创建跟进记录"
>
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="跟进员工" prop="staff"> <el-form-item label="跟进员工" prop="staff">
<app-user-search v-model="form.staff"></app-user-search> <app-user-search v-model="form.staff"></app-user-search>
</el-form-item> </el-form-item>
<el-form-item label="跟进时间" prop="follow_up_date"> <el-form-item label="跟进时间" prop="follow_up_date">
<!-- <el-input v-model="form.follow_up_date" /> --> <el-date-picker v-model="form.follow_up_date" type="datetime" placeholder="请选择跟进时间" size="small">
<el-date-picker
v-model="form.follow_up_date"
type="datetime"
placeholder="请选择跟进时间"
size="small"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="联系人" prop="contact_id"> <el-form-item label="联系人" prop="contact_id">
...@@ -21,7 +23,12 @@ ...@@ -21,7 +23,12 @@
</el-form-item> </el-form-item>
<el-form-item label="跟进项目" prop="project_id"> <el-form-item label="跟进项目" prop="project_id">
<el-select v-model="form.project_id" placeholder="请选择跟进项目" size="small" style="width: 100%"> <el-select v-model="form.project_id" placeholder="请选择跟进项目" size="small" style="width: 100%">
<el-option :label="item.tag === 1 ? '产业学院':'1+X'" :value="item.id" :key="item.id" v-for="item in projectList"></el-option> <el-option
:label="item.tag === 1 ? '产业学院' : '1+X'"
:value="item.id"
:key="item.id"
v-for="item in projectList"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="跟进方式" prop="communication_mode"> <el-form-item label="跟进方式" prop="communication_mode">
...@@ -33,12 +40,7 @@ ...@@ -33,12 +40,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="下次联络时间" prop="next_contact_time"> <el-form-item label="下次联络时间" prop="next_contact_time">
<el-date-picker <el-date-picker v-model="form.next_contact_time" type="datetime" placeholder="请选择下次联络时间" size="small">
v-model="form.next_contact_time"
type="datetime"
placeholder="请选择下次联络时间"
size="small"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="当前项目进展" prop="project_status"> <el-form-item label="当前项目进展" prop="project_status">
......
...@@ -8,8 +8,6 @@ ...@@ -8,8 +8,6 @@
top="15vh" top="15vh"
@close="handleClose" @close="handleClose"
> >
<!-- <div slot="title">
</div> -->
<el-form :model="form" :rules="rules" ref="ruleForm" label-width="90px"> <el-form :model="form" :rules="rules" ref="ruleForm" label-width="90px">
<el-form-item label="客户名称" prop="name"> <el-form-item label="客户名称" prop="name">
<el-input v-model="form.name" size="small" placeholder="请输入客户名称" /> <el-input v-model="form.name" size="small" placeholder="请输入客户名称" />
...@@ -113,36 +111,24 @@ export default { ...@@ -113,36 +111,24 @@ export default {
fetchCreateCustomer() { fetchCreateCustomer() {
const params = Object.assign({}, this.form) const params = Object.assign({}, this.form)
params.region = this.form.region.join('-') params.region = this.form.region.join('-')
createCustomer(params) createCustomer(params).then(res => {
.then(res => { if (res.code === 0 && res.data && res.data.id) {
if (res.code === 0 && res.data && res.data.id) { this.$message.success('创建客户成功')
this.$message.success('创建客户成功') this.$emit('input', false)
this.$emit('input', false) this.$emit('change')
this.$emit('change') }
} else { })
this.$message.error('创建客户失败')
}
})
.catch(() => {
this.$message.error('创建客户失败')
})
}, },
fetchUpdateCustomer() { fetchUpdateCustomer() {
const params = Object.assign({}, this.form) const params = Object.assign({}, this.form)
params.region = this.form.region.join('-') params.region = this.form.region.join('-')
updateCustomer(this.info.id, params) updateCustomer(this.info.id, params).then(res => {
.then(res => { if (res.code === 0 && res.data && res.data.status) {
if (res.code === 0 && res.data && res.data.status) { this.$message.success('更新客户成功')
this.$message.success('更新客户成功') this.$emit('input', false)
this.$emit('input', false) this.$emit('change')
this.$emit('change') }
} else { })
this.$message.error('更新客户失败')
}
})
.catch(() => {
this.$message.error('更新客户失败')
})
} }
} }
} }
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</template> </template>
</template> </template>
</app-list> </app-list>
<create-follow v-model="dialogVisible" v-if="dialogVisible" @success="handleRefetchList"/> <create-follow v-model="dialogVisible" v-if="dialogVisible" @success="handleRefetchList" />
</div> </div>
</template> </template>
<script> <script>
...@@ -55,47 +55,44 @@ export default { ...@@ -55,47 +55,44 @@ export default {
} }
}, },
columns: [ columns: [
// { type: 'selection', minWidth: '40px' },
{ {
align: 'center',
prop: 'staff', prop: 'staff',
label: '跟进员工', label: '跟进员工',
minWidth: '100px',
computed({ row }) { computed({ row }) {
return row.staff.realname || row.staff.nickname return row.staff.realname || row.staff.nickname
} }
}, },
// { prop: 'project.tag', label: '跟进项目', minWidth: '120px' },
{ {
align: 'center',
prop: 'project.tag', prop: 'project.tag',
label: '跟进项目', label: '跟进项目',
minWidth: '120px',
computed({ row }) { computed({ row }) {
return row.project.tag === 1 ? '产业学院' : '1+x' return row.project.tag === 1 ? '产业学院' : '1+x'
} }
}, },
{ prop: 'contact.name', label: '联系人', minWidth: '80px' }, { align: 'center', prop: 'contact.name', label: '联系人', minWidth: '80px' },
{ prop: 'follow_up_date', label: '跟进时间', minWidth: '150px' }, { align: 'center', prop: 'follow_up_date', label: '跟进时间', minWidth: '150px' },
{ prop: 'next_contact_time', label: '下次联络时间', minWidth: '150px' }, { align: 'center', prop: 'next_contact_time', label: '下次联络时间', minWidth: '150px' },
// { prop: 'communication_mode', label: '跟进方式', minWidth: '140px' },
{ {
align: 'center',
prop: 'communication_mode', prop: 'communication_mode',
label: '跟进方式', label: '跟进方式',
minWidth: '120px',
computed({ row }) { computed({ row }) {
return communicationModeMap[row.communication_mode] return communicationModeMap[row.communication_mode]
} }
}, },
{ {
align: 'center',
prop: 'created_by', prop: 'created_by',
label: '创建人', label: '创建人',
minWidth: '100px',
computed({ row }) { computed({ row }) {
return row.created_by.realname || row.created_by.nickname || row.created_by.username return row.created_by.realname || row.created_by.nickname || row.created_by.username
} }
}, },
{ prop: 'created_at', label: '创建时间', minWidth: '140px' }, { align: 'center', prop: 'created_at', label: '创建时间' },
{ prop: 'desc', label: '跟进记录', minWidth: '140px' }, { align: 'center', prop: 'desc', label: '跟进记录' },
{ label: '操作', minWidth: '140px', slots: 'table-operate' } { label: '操作', slots: 'table-operate', align: 'center' }
] ]
} }
} }
...@@ -125,10 +122,7 @@ export default { ...@@ -125,10 +122,7 @@ export default {
if (res.code === 0 && res.data && res.data.status) { if (res.code === 0 && res.data && res.data.status) {
this.$message.success('删除跟进记录成功') this.$message.success('删除跟进记录成功')
this.handleRefetchList() this.handleRefetchList()
} else {
this.$message.error('删除跟进记录失败')
} }
}).catch(() => {
this.$message.error('删除跟进记录失败') this.$message.error('删除跟进记录失败')
}) })
}, },
...@@ -139,12 +133,12 @@ export default { ...@@ -139,12 +133,12 @@ export default {
} }
</script> </script>
<style scoped> <style scoped>
.bar{ .bar {
padding-bottom:10px; padding-bottom: 10px;
} }
.item{ .item {
font-size:16px; font-size: 16px;
line-height:48px; line-height: 48px;
color:#494949; color: #494949;
} }
</style> </style>
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
<app-list v-bind="tableOptions" ref="list"> <app-list v-bind="tableOptions" ref="list">
<template v-slot:table-person="{ row }"> <template v-slot:table-person="{ row }">
<p v-for="(item, index) in row.charge_persons" :key="index">{{ item.username }}</p> <p v-for="(item, index) in row.charge_persons" :key="index">{{ item.username }}</p>
<!-- {{row.charge_persons}} -->
</template> </template>
<!-- 操作 --> <!-- 操作 -->
<template v-slot:table-operate="{ row }"> <template v-slot:table-operate="{ row }">
...@@ -112,11 +111,9 @@ export default { ...@@ -112,11 +111,9 @@ export default {
} }
}, },
{ prop: 'cooperation_intention', label: '合作意向', align: 'center' }, { prop: 'cooperation_intention', label: '合作意向', align: 'center' },
// { prop: 'created_by.username', label: '创建人', align: 'center' },
{ {
prop: 'created_by', prop: 'created_by',
label: '创建员工', label: '创建员工',
// minWidth: '100px',
computed({ row }) { computed({ row }) {
return row.created_by.realname || row.created_by.nickname || row.created_by.username return row.created_by.realname || row.created_by.nickname || row.created_by.username
} }
......
...@@ -59,11 +59,9 @@ export default { ...@@ -59,11 +59,9 @@ export default {
{ label: '合作项目', prop: 'project_count', align: 'center' }, { label: '合作项目', prop: 'project_count', align: 'center' },
{ label: '所在地区', prop: 'region', align: 'center' }, { label: '所在地区', prop: 'region', align: 'center' },
{ label: '创建时间', prop: 'created_at', align: 'center' }, { label: '创建时间', prop: 'created_at', align: 'center' },
// { label: '创建人', prop: 'created_by.username', align: 'center' }
{ {
prop: 'created_by', prop: 'created_by',
label: '创建人', label: '创建人',
// minWidth: '100px',
computed({ row }) { computed({ row }) {
return row.created_by.realname || row.created_by.nickname || row.created_by.username return row.created_by.realname || row.created_by.nickname || row.created_by.username
} }
......
...@@ -68,17 +68,13 @@ export default { ...@@ -68,17 +68,13 @@ export default {
}, },
// 新建客户组 // 新建客户组
create() { create() {
createCustomerGroup(this.form) createCustomerGroup(this.form).then(res => {
.then(res => { if (res.code === 0) {
if (res.code === 0) { this.$message.success('客户组创建成功')
this.$message.success('客户组创建成功') this.$emit('update:visible', false)
this.$emit('update:visible', false) this.$emit('success', res.data)
this.$emit('success', res.data) }
} })
})
.catch(error => {
this.$message.error(error.message)
})
} }
} }
} }
......
...@@ -55,11 +55,9 @@ export default { ...@@ -55,11 +55,9 @@ export default {
columns: [ columns: [
{ label: '客户名称', prop: 'customer.name', align: 'center' }, { label: '客户名称', prop: 'customer.name', align: 'center' },
{ label: '创建时间', prop: 'created_at', align: 'center' }, { label: '创建时间', prop: 'created_at', align: 'center' },
// { label: '创建人', prop: 'created_by.username', align: 'center' },
{ {
prop: 'created_by', prop: 'created_by',
label: '创建人', label: '创建人',
// minWidth: '100px',
computed({ row }) { computed({ row }) {
return row.created_by.realname || row.created_by.nickname || row.created_by.username return row.created_by.realname || row.created_by.nickname || row.created_by.username
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论