| | |
| | | ref="searchCommonView" |
| | | :query-class-options="queryClassOptions" |
| | | :search-options="searchOptions" |
| | | :search-sel="searchSel" |
| | | @searchClick="searchClick" |
| | | @resetClick="resetClick" |
| | | /> |
| | | <div class="btn-pager"> |
| | | <PublicFunctionBtnView :statistics="true" :operates-list="operatesList" /> |
| | | <PublicFunctionBtnView :statistics="true" :operates-list="operatesList" @batchDelete="delClick" /> |
| | | <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> |
| | | </div> |
| | | </div> |
| | |
| | | :select-box="!isDetail" |
| | | @selContactsClick="selContactsClick" |
| | | @selClientClick="selClientClick" |
| | | @getSelectArray="getSelectArray" |
| | | > |
| | | <template slot="tableButton"> |
| | | <el-table-column label="操作" width="120" fixed="right"> |
| | | <el-table-column label="操作" width="60" fixed="right"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button> |
| | | <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button> |
| | | <!-- <el-button @click="delClick(scope.row.id)" type="text" size="small">删除</el-button> --> |
| | | </template> |
| | | </el-table-column> |
| | | </template> |
| | |
| | | isDetail: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | addConfig: { |
| | | type: Object, |
| | | default: () => { |
| | | return {} |
| | | } |
| | | }, |
| | | addIdConfig: { |
| | | type: Object, |
| | | default: () => { |
| | | return {} |
| | | } |
| | | } |
| | | }, |
| | | mixins: [pageMixin], |
| | |
| | | clientDeail: { |
| | | visible: false, |
| | | infomation: {} |
| | | } |
| | | }, |
| | | selValueList: [], |
| | | searchSel: { |
| | | value: "topic", |
| | | label: "" |
| | | }, |
| | | search_map: {} |
| | | } |
| | | }, |
| | | created() { |
| | | this.setTable() |
| | | this.getData() |
| | | if (!this.isDetail) { |
| | | this.search_map = {} |
| | | } else { |
| | | let content = "" |
| | | if (this.addConfig.keywordType === "销售机会") { |
| | | content = this.addConfig.id |
| | | } else { |
| | | content = this.addConfig.common_name |
| | | } |
| | | this.search_map = { |
| | | [this.addConfig.id_name]: content |
| | | } |
| | | } |
| | | this.getData(this.search_map) |
| | | }, |
| | | methods: { |
| | | setTable() { |
| | |
| | | { label: "主题", prop: "topic", min: 120 }, // 主题 |
| | | { label: "客户名称", prop: "client_name", min: 190, isClientClick: true }, // 客户名称 |
| | | { label: "联系人姓名", prop: "contact_name", min: 100, isContactClick: true }, // 联系人姓名 |
| | | { label: "客户状态", prop: "client_status_id", min: 100 }, // 客户状态 |
| | | { label: "联系方式", prop: "phone", min: 100 }, // 联系方式 |
| | | { label: "联系人日期", prop: "follow_time", isTime: true, min: 130 }, // 联系人日期 |
| | | { label: "下次回访日期", prop: "next_follow_time", isTime: true, min: 130 }, // 下次回访日期 |
| | | { label: "负责人", prop: "member_id", min: 110 }, // 负责人 |
| | | { label: "客户状态", prop: "client_status", min: 100 }, // 客户状态 |
| | | { label: "联系方式", prop: "contact_information_name", min: 100 }, // 联系方式 |
| | | { label: "联系日期", prop: "follow_time", min: 130 }, // 联系人日期 |
| | | { label: "下次回访日期", prop: "next_follow_time", min: 130 }, // 下次回访日期 |
| | | { label: "负责人", prop: "member_name", min: 110 }, // 负责人 |
| | | { label: "跟进记录", prop: "record", min: 130 } // 跟进记录 |
| | | ] |
| | | } |
| | | this.searchOptions = [] |
| | | for (let i = 0; i < this.tableList.tableColumn.length; i++) { |
| | | const label = this.tableList.tableColumn[i].label |
| | | this.searchOptions.push({ value: (i + 1).toString(), label: label }) |
| | | const value = this.tableList.tableColumn[i].prop |
| | | this.searchOptions.push({ value: value, label: label }) |
| | | } |
| | | }, |
| | | // 请求数据 |
| | | async getData() { |
| | | this.loading = true |
| | | await getFollowRecordList({ |
| | | keyword: "", |
| | | search_map: this.search_map, |
| | | page: this.pagerOptions.currPage, |
| | | pageSize: this.pagerOptions.pageSize |
| | | }) |
| | |
| | | ...item, |
| | | client_name: item.client.name, |
| | | contact_name: item.contact.name, |
| | | client_status_id: item.client.client_status_id, |
| | | phone: item.contact.phone |
| | | client_status: item.client_status.name, |
| | | phone: item.contact.phone, |
| | | member_name: item.member.username, |
| | | contact_information_name: item.contact_information.name |
| | | } |
| | | }) |
| | | this.tableList.tableInfomation = list || [] |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | // 搜索 |
| | | searchClick(val, content) { |
| | | console.log(val, content) |
| | | this.search_map = { |
| | | [val.value]: content |
| | | } |
| | | this.getData() |
| | | }, |
| | | resetClick() { |
| | | this.search_map = {} |
| | | this.getData() |
| | | }, |
| | | // 新建 |
| | | addBtnClick() { |
| | | this.editConfig.visible = true |
| | | this.editConfig.title = "新建" |
| | | this.editConfig.infomation = {} |
| | | this.editConfig.infomation = { ...this.addConfig } |
| | | }, |
| | | // 编辑 |
| | | handleClick(row) { |
| | |
| | | this.editConfig.infomation = { ...row, sale_chance_name: "", sales_leads_name: "" } |
| | | }, |
| | | // 删除 |
| | | delClick(id) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then(function () { |
| | | return getDeleteFollowRecord({ id: id }) |
| | | delClick() { |
| | | if (this.selValueList && this.selValueList.length > 0) { |
| | | this.$confirm("是否确认删除?", "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }) |
| | | .then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | .catch(function () {}) |
| | | .then(() => { |
| | | getDeleteFollowRecord({ ids: this.selValueList }).then((response) => { |
| | | if (response.code === 200) { |
| | | this.$message.success("删除成功") |
| | | this.getData() |
| | | } else { |
| | | this.$message.warning("删除失败") |
| | | } |
| | | }) |
| | | }) |
| | | .catch(() => {}) |
| | | } else { |
| | | this.$message.warning("请至少选择一条记录") |
| | | } |
| | | }, |
| | | getSelectArray(val) { |
| | | console.log(val) |
| | | this.selValueList = [] |
| | | const list = val.map((item) => { |
| | | return item.id |
| | | }) |
| | | this.selValueList = list |
| | | }, |
| | | // 联系人详情 |
| | | selContactsClick(row) { |
| | | console.log(row) |
| | | this.contactsDeail.visible = true |
| | | this.contactsDeail.infomation = { ...row } |
| | | this.contactsDeail.infomation = { |
| | | ...row.contact, |
| | | Client: { name: row.client_name, client_status_id: row.client.client_status_id }, |
| | | client_name: row.client_name |
| | | } |
| | | }, |
| | | // 客户名称详情 |
| | | selClientClick(row) { |
| | | console.log(row) |
| | | this.clientDeail.visible = true |
| | | this.clientDeail.infomation = { ...row } |
| | | this.clientDeail.infomation = { |
| | | ...row.client, |
| | | client_name: row.client.name, |
| | | client_level: row.client.client_level.name, |
| | | client_status: row.client.client_status.name, |
| | | contact_name: row.contact_name |
| | | } |
| | | } |
| | | } |
| | | } |