提交 656d8954 authored 作者: matian's avatar matian

代码提交

上级 624a9da7
...@@ -64,3 +64,7 @@ export function createFollowRecord(id, data) { ...@@ -64,3 +64,7 @@ export function createFollowRecord(id, data) {
export function deleteFollowRecord(id) { export function deleteFollowRecord(id) {
return httpRequest.delete(`/api/customer/admin/v1/record/${id}`) return httpRequest.delete(`/api/customer/admin/v1/record/${id}`)
} }
// 获取合作项目详情
export function getprojectDetail(data) {
return httpRequest.get(`/api/customer/admin/v1/project/${data.id}`, data)
}
...@@ -2,48 +2,48 @@ ...@@ -2,48 +2,48 @@
<el-dialog v-bind="$attrs" v-on="$listeners" top="20vh" :title="title" width="60%"> <el-dialog v-bind="$attrs" v-on="$listeners" top="20vh" :title="title" width="60%">
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col span="12"> <el-col :span="12">
<el-form-item label="姓名" prop="name"> <el-form-item label="姓名" prop="name">
<el-input v-model="form.name" /> <el-input v-model="form.name" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="12"> <el-col :span="12">
<el-form-item label="职责" prop="position"> <el-form-item label="职责" prop="position">
<el-input v-model="form.position" /> <el-input v-model="form.position" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col span="12"> <el-col :span="12">
<el-form-item label="部门" prop="department"> <el-form-item label="部门" prop="department">
<el-input v-model="form.department" /> <el-input v-model="form.department" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="12"> <el-col :span="12">
<el-form-item label="电话" prop="mobile"> <el-form-item label="电话" prop="mobile">
<el-input v-model="form.mobile" /> <el-input v-model="form.mobile" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col span="12"> <el-col :span="12">
<el-form-item label="邮箱" prop="email"> <el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" /> <el-input v-model="form.email" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="12"> <el-col :span="12">
<el-form-item label="微信号" prop="wechat"> <el-form-item label="微信号" prop="wechat">
<el-input v-model="form.wechat" /> <el-input v-model="form.wechat" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col span="12"> <el-col :span="12">
<el-form-item label="QQ" prop="qq"> <el-form-item label="QQ" prop="qq">
<el-input v-model="form.qq" /> <el-input v-model="form.qq" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="12"> <el-col :span="12">
<el-form-item label="附属手机" prop="sub_mobile"> <el-form-item label="附属手机" prop="sub_mobile">
<el-input v-model="form.sub_mobile" /> <el-input v-model="form.sub_mobile" />
</el-form-item> </el-form-item>
......
<template> <template>
<el-dialog v-bind="$attrs" v-on="$listeners" top="20vh" :title="title"> <el-dialog v-bind="$attrs" v-on="$listeners" top="20vh" :title="title" width="60%">
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row> <el-row>
<el-col span="12"> <el-col :span="12">
<el-form-item label="项目" prop="tag"> <el-form-item label="项目" prop="tag">
<el-select v-model="form.tag" placeholder="请选择项目" size="small" style="width: 100%"> <el-select v-model="form.tag" placeholder="请选择项目" size="small" style="width: 100%">
<el-option label="产业学院" :value="1"></el-option> <el-option label="产业学院" :value="1"></el-option>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="12"> <el-col :span="12">
<el-form-item label="项目进度" prop="status"> <el-form-item label="项目进度" prop="status">
<el-select v-model="form.status" placeholder="请选择进度" size="small" style="width: 100%"> <el-select v-model="form.status" placeholder="请选择进度" size="small" style="width: 100%">
<el-option label="待跟进" :value="1"></el-option> <el-option label="待跟进" :value="1"></el-option>
...@@ -24,12 +24,16 @@ ...@@ -24,12 +24,16 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col span="12"> <el-col :span="12">
<el-form-item label="负责人" prop="project_sso_ids"> <el-form-item label="负责人" prop="project_sso_ids">
<app-user-search v-model="form.project_sso_ids" :options="{ multiple: true }"></app-user-search> <app-user-search
v-model="form.project_sso_ids"
:defaultList="form.charge_persons"
:options="{ multiple: true }"
></app-user-search>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="12"> <el-col :span="12">
<el-form-item label="合作意向" prop="cooperation_intention"> <el-form-item label="合作意向" prop="cooperation_intention">
<el-select <el-select
v-model="form.cooperation_intention" v-model="form.cooperation_intention"
...@@ -99,13 +103,23 @@ export default { ...@@ -99,13 +103,23 @@ export default {
isEdit: { isEdit: {
type: Boolean, type: Boolean,
default: false default: false
},
formData: {
type: Object,
default: () => ({})
} }
}, },
watch: { watch: {
row: { formData: {
immediate: true, immediate: true,
handler(row) { handler(formData) {
this.form = Object.assign({}, this.form, row) this.form.project_sso_ids = []
if (formData.charge_persons) {
formData.charge_persons.forEach(item => {
this.form.project_sso_ids.push(item.id)
})
this.form = Object.assign({}, this.form, formData)
}
} }
} }
}, },
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
:isEdit="isEdit" :isEdit="isEdit"
v-if="isShowDialog" v-if="isShowDialog"
:id="id" :id="id"
:formData="formData"
/> />
</app-list> </app-list>
</div> </div>
...@@ -25,7 +26,7 @@ ...@@ -25,7 +26,7 @@
<script> <script>
// 组件 // 组件
import CreateCoopProject from '../components/CreateCoopProject.vue' import CreateCoopProject from '../components/CreateCoopProject.vue'
import { getCoopList, delCooProject } from '../api' import { getCoopList, delCooProject, getprojectDetail } from '../api'
export default { export default {
name: 'Contact', name: 'Contact',
components: { CreateCoopProject }, components: { CreateCoopProject },
...@@ -33,7 +34,8 @@ export default { ...@@ -33,7 +34,8 @@ export default {
return { return {
isShowDialog: false, isShowDialog: false,
isEdit: false, isEdit: false,
row: {} row: {},
formData: {}
} }
}, },
props: { props: {
...@@ -72,10 +74,11 @@ export default { ...@@ -72,10 +74,11 @@ export default {
label: '负责人', label: '负责人',
align: 'center', align: 'center',
computed({ row }) { computed({ row }) {
const find = row.charge_persons.find(item => { const userName = []
return item.username row.charge_persons.forEach(item => {
userName.push(item.username)
}) })
return find.username return userName.join('\n')
} }
}, },
{ {
...@@ -112,6 +115,7 @@ export default { ...@@ -112,6 +115,7 @@ export default {
this.$refs.list.refetch() this.$refs.list.refetch()
}, },
handleAdd() { handleAdd() {
this.formData = {}
this.row = {} this.row = {}
this.isEdit = false this.isEdit = false
this.isShowDialog = true this.isShowDialog = true
...@@ -120,6 +124,9 @@ export default { ...@@ -120,6 +124,9 @@ export default {
this.row = row this.row = row
this.isEdit = true this.isEdit = true
this.isShowDialog = true this.isShowDialog = true
getprojectDetail({ id: row.id }).then(res => {
this.formData = res.data
})
}, },
handleDelete(row) { handleDelete(row) {
delCooProject({ id: row.id }).then(res => { delCooProject({ id: row.id }).then(res => {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<app-card> <app-card>
<app-list v-bind="tableOptions" ref="list" @selection-change="handleSelectionChange"> <app-list v-bind="tableOptions" ref="list" @selection-change="handleSelectionChange">
<template v-slot:filter-userSearch="{ params }"> <template v-slot:filter-userSearch="{ params }">
<app-user-search v-model="params.created_by" :options="{ multiple: true }"></app-user-search> <app-user-search v-model="params.created_by"></app-user-search>
</template> </template>
<template #footer> <template #footer>
<el-button @click="$emit('update:visible', false)" style="margin-left: 20px">取消</el-button> <el-button @click="$emit('update:visible', false)" style="margin-left: 20px">取消</el-button>
...@@ -73,11 +73,17 @@ export default { ...@@ -73,11 +73,17 @@ export default {
const param = this.multipleSelection const param = this.multipleSelection
const arr = param.map(item => item.id) const arr = param.map(item => item.id)
const params = { group_id: this.id, customer_ids: arr } const params = { group_id: this.id, customer_ids: arr }
createCustomer(params).then(res => { createCustomer(params)
this.$message.success('添加客户成功') .then(res => {
this.$emit('update:visible', false) if (res.code === 0) {
this.$emit('success') this.$message.success('添加客户成功')
}) this.$emit('update:visible', false)
this.$emit('success')
}
})
.catch(error => {
this.$message.error(error.message)
})
} }
} }
} }
......
<template> <template>
<el-dialog v-bind="$attrs" v-on="$listeners" width="20%" top="30vh" :title="title"> <el-dialog v-bind="$attrs" v-on="$listeners" width="40%" top="30vh" :title="title">
<el-form ref="form" :model="form" :rules="rules" label-width="100px" label-position="top"> <el-form ref="form" :model="form" :rules="rules" label-width="100px" label-position="top">
<el-form-item label="客户组名称" prop="name" label-width="100px"> <el-form-item label="客户组名称" prop="name" label-width="100px">
<el-input v-model="form.name" /> <el-input v-model="form.name" />
...@@ -60,19 +60,29 @@ export default { ...@@ -60,19 +60,29 @@ export default {
// 编辑/更新客户组 // 编辑/更新客户组
edit() { edit() {
const params = Object.assign({ id: this.row.id }, this.form) const params = Object.assign({ id: this.row.id }, this.form)
editCustomerGroup(params).then(res => { editCustomerGroup(params)
this.$message.success('客户组创建成功') .then(res => {
this.$emit('update:visible', false) this.$message.success('客户组创建成功')
this.$emit('success', res.data) this.$emit('update:visible', false)
}) this.$emit('success', res.data)
})
.catch(error => {
this.$message.error(error.message)
})
}, },
// 新建客户组 // 新建客户组
create() { create() {
createCustomerGroup(this.form).then(res => { createCustomerGroup(this.form)
this.$message.success('客户组创建成功') .then(res => {
this.$emit('update:visible', false) if (res.code === 0) {
this.$emit('success', res.data) this.$message.success('客户组创建成功')
}) this.$emit('update:visible', false)
this.$emit('success', res.data)
}
})
.catch(error => {
this.$message.error(error.message)
})
} }
} }
} }
......
<template> <template>
<el-dialog v-bind="$attrs" v-on="$listeners" width="20%" top="30vh" title="添加员工"> <el-dialog v-bind="$attrs" v-on="$listeners" width="40%" top="30vh" title="添加员工">
<el-form ref="form" :model="form" :rules="rules" label-position="top"> <el-form ref="form" :model="form" :rules="rules" label-position="top">
<el-form-item label="员工名称" prop="id" size="medium" label-width="100px"> <el-form-item label="员工名称" prop="id" size="medium" label-width="100px">
<el-select <el-select
...@@ -83,19 +83,31 @@ export default { ...@@ -83,19 +83,31 @@ export default {
} }
} }
// 搜索员工 // 搜索员工
getEmployee(params).then(res => { getEmployee(params)
this.loading = false .then(res => {
this.employeeList = res.data.items if (res.code === 0) {
}) this.loading = false
this.employeeList = res.data.items
}
})
.catch(error => {
this.$message.error(error.message)
})
}, },
submit() { submit() {
this.$refs.form.validate().then(() => { this.$refs.form.validate().then(() => {
const params = Object.assign({ group_id: this.id, staff_ids: this.form.id }) const params = Object.assign({ group_id: this.id, staff_ids: this.form.id })
createEmployee(params).then(res => { createEmployee(params)
this.$message.success('添加员工成功') .then(res => {
this.$emit('update:visible', false) if (res.code === 0) {
this.$emit('success') this.$message.success('添加员工成功')
}) this.$emit('update:visible', false)
this.$emit('success')
}
})
.catch(error => {
this.$message.error(error.message)
})
}) })
} }
} }
......
...@@ -69,10 +69,16 @@ export default { ...@@ -69,10 +69,16 @@ export default {
handleRemove(row) { handleRemove(row) {
const arr = [] const arr = []
arr.push(row.id) arr.push(row.id)
delCustomer({ ids: arr }).then(res => { delCustomer({ ids: arr })
this.$message({ type: 'success', message: '删除成功' }) .then(res => {
this.$refs.list.refetch() if (res.code === 0) {
}) this.$message({ type: 'success', message: '删除成功' })
this.$refs.list.refetch()
}
})
.catch(error => {
this.$message.error(error.message)
})
} }
} }
} }
......
...@@ -72,9 +72,16 @@ export default { ...@@ -72,9 +72,16 @@ export default {
handleRemove(row) { handleRemove(row) {
const arr = [] const arr = []
arr.push(row.id) arr.push(row.id)
delEmployee({ ids: arr }).then(res => { delEmployee({ ids: arr })
this.$message({ type: 'success', message: '删除成功' }) .then(res => {
}) if (res.code === 0) {
this.$message({ type: 'success', message: '删除成功' })
this.success()
}
})
.catch(error => {
this.$message.error(error.message)
})
} }
} }
} }
......
...@@ -95,10 +95,16 @@ export default { ...@@ -95,10 +95,16 @@ export default {
}, },
// 删除 // 删除
handleRemove(row) { handleRemove(row) {
deleteGroup({ id: row.id }).then(res => { deleteGroup({ id: row.id })
this.$message({ type: 'success', message: '删除成功' }) .then(res => {
this.$refs.list.refetch() if (res.code === 0) {
}) this.$message({ type: 'success', message: '删除成功' })
this.$refs.list.refetch()
}
})
.catch(error => {
this.$message.error(error.message)
})
} }
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论