yangfeng
2023-08-25 f417dc0a44d225d4ed19bcb5207250eb1b669455
src/views/client/followupRecords/index.vue
@@ -9,6 +9,9 @@
        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" @batchDelete="delClick" />
@@ -53,6 +56,18 @@
    isDetail: {
      type: Boolean,
      default: false
    },
    addConfig: {
      type: Object,
      default: () => {
        return {}
      }
    },
    addIdConfig: {
      type: Object,
      default: () => {
        return {}
      }
    }
  },
  mixins: [pageMixin],
@@ -103,12 +118,30 @@
        visible: false,
        infomation: {}
      },
      selValueList: []
      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() {
@@ -118,25 +151,26 @@
          { 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
      })
@@ -149,8 +183,10 @@
                  ...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 || []
@@ -169,11 +205,23 @@
          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) {
@@ -217,7 +265,11 @@
    selContactsClick(row) {
      console.log(row)
      this.contactsDeail.visible = true
      this.contactsDeail.infomation = { ...row.contact, Client: { name: row.client_name } }
      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) {
@@ -227,7 +279,8 @@
        ...row.client,
        client_name: row.client.name,
        client_level: row.client.client_level.name,
        client_status: row.client.client_status.name
        client_status: row.client.client_status.name,
        contact_name: row.contact_name
      }
    }
  }