zuozhengqing
2023-10-18 0ec635d5e432be07c3103ac2e9bd25edb941f775
src/views/client/followupRecords/AddFollowupRecordsDialog.vue
@@ -65,7 +65,7 @@
                  </div>
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
              <el-col v-if="isUnflod && !isDetail" :span="12">
                <el-form-item label="客户状态" prop="client_status_id">
                  <div class="common-select">
                    <el-select
@@ -179,7 +179,7 @@
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
              <el-col :span="12" v-if="!isDetail">
                <el-form-item label="销售线索" prop="sales_leads_name">
                  <div class="custom-name">
                    <!-- <el-input v-model="editConfig.infomation.sales_leads_id"></el-input> -->
@@ -342,9 +342,10 @@
import SelectChanceDialog from "@/views/other/commonDialog/SelectChanceDialog"
import SelectLeadDialog from "@/views/other/commonDialog/SelectLeadDialog"
import codeMixin from "./mixin/codeMixin"
// import { getContactList } from "@/api/client/contacts"
import { getContactList } from "@/api/client/contacts"
import { mapActions } from "vuex"
import { getSaleChanceList } from "@/api/sales/salesOpportunity"
import { getSalesLeadsList } from "@/api/client/salesLead"
export default {
  name: "AddFollowupRecordsDialog",
@@ -359,25 +360,34 @@
          infomation: {}
        }
      }
    },
    isDetail: {
      type: Boolean,
      default: false
    }
  },
  components: { SelectClientDialog, SelectContactDialog, SelectChanceDialog, SelectLeadDialog },
  components: {
    SelectClientDialog,
    SelectContactDialog,
    SelectChanceDialog,
    SelectLeadDialog
  },
  computed: {
    searchCommonHeight() {
      return this.$refs.searchCommonView.offsetHeight
    },
    clientList() {
      return this.$store.state.getClientName.clientList
    },
    contactNamelist() {
      return this.$store.state.getClientName.contactNamelist
    },
    }
    // contactNamelist() {
    //   return this.$store.state.getClientName.contactNamelist
    // },
    // saleChancelist() {
    //   return this.$store.state.getClientName.saleChancelist
    // },
    saleLeadlist() {
      return this.$store.state.getClientName.saleLeadlist
    }
    // saleLeadlist() {
    //   return this.$store.state.getClientName.saleLeadlist
    // }
  },
  data() {
    return {
@@ -387,7 +397,7 @@
        number: [{ required: true, message: "请输入跟进记录编号", trigger: "blur" }],
        member_id: [{ required: true, message: "请选择负责人", trigger: "change" }],
        record: [{ required: true, message: "请输入跟进记录", trigger: "blur" }],
        client_name: [{ required: true, message: "请选择客户名称", trigger: "change" }],
        client_name: [{ required: true, validator: this.checkClient, trigger: "change" }],
        contact_name: [{ required: true, message: "请选择联系人姓名", trigger: "change" }],
        topic: [{ required: true, message: "请输入主题", trigger: "blur" }],
        // content: [{ required: true, message: "请输入内容", trigger: "blur" }],
@@ -419,17 +429,20 @@
      editSelectContactConfig: {
        editVisible: false,
        title: "",
        infomation: {}
        infomation: {},
        search_map: {}
      },
      editSelectChanceConfig: {
        editVisible: false,
        title: "",
        infomation: {}
        infomation: {},
        search_map: {}
      },
      editSelectLeadConfig: {
        editVisible: false,
        title: "",
        infomation: {}
        infomation: {},
        search_map: {}
      },
      clientId: this.editContactsConfig.infomation.client_id,
      contactId: this.editContactsConfig.infomation.contact_id,
@@ -441,9 +454,9 @@
  },
  created() {
    this.$store.dispatch("geClient")
    this.$store.dispatch("geContact")
    // this.$store.dispatch("geContact")
    // this.$store.dispatch("geChance")
    this.$store.dispatch("geLead")
    // this.$store.dispatch("geLead")
    this.getCommonData()
    this.getContactInfoList()
    this.formInfo()
@@ -459,7 +472,7 @@
    }
  },
  methods: {
    ...mapActions(["getContactFilter"]),
    ...mapActions(["getContactFilter", "getLeadFilter"]),
    formInfo() {
      this.objCode.type = "跟进记录编码"
      this.objCode.codeStandID = ""
@@ -473,7 +486,7 @@
        console.log(res)
        this.clientStatusOptions = res.data.client_status
        this.memberOptions = res.data.member
        this.dataProcess()
        // this.dataProcess()
      })
    },
    async getContactInfoList() {
@@ -501,6 +514,7 @@
    // 保存
    saveClick(formName) {
      this.$refs[formName].validate((valid) => {
        this.validateFormNumber()
        if (valid) {
          const params = this.saveParams()
          if (this.editConfig.title === "新建") {
@@ -559,8 +573,8 @@
    // 获取销售机会
    getChanceList(id) {
      getSaleChanceList({
        page: 0,
        pageSize: 0,
        page: 1,
        pageSize: 15,
        search_map: {
          client_id: id
        }
@@ -590,13 +604,46 @@
        return state.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0
      }
    },
    // 联系人列表
    async getContactList(item) {
      await getContactList({
        search_map: {
          client_id: item.id
        },
        page: 1,
        pageSize: 15
      }).then((res) => {
        if (res.code === 200) {
          this.contactNamelist = res.data.list
        }
      })
    },
    // 销售线索
    async getSalesLeadsList(item) {
      await getSalesLeadsList({
        search_map: {
          name: item.name
        }
      }).then((res) => {
        if (res.code === 200) {
          this.saleLeadlist = res.data.list
        }
      })
    },
    async handleSelectClient(value, item) {
      if (value === "client") {
        this.editConfig.infomation.contact_name = ""
        this.editConfig.infomation.sales_leads_name=""
        this.editConfig.infomation.sale_chance_name=""
        this.editSelectContactConfig.search_map.client_id = item.id
        this.editSelectChanceConfig.search_map.client_id = item.id
        this.editSelectLeadConfig.search_map.name = item.name
        this.getContactList(item)
        this.getSalesLeadsList(item)
        this.clientId = item.id
        this.editConfig.infomation.client_name = item.name
        this.isChance = false
        this.getChanceList(item.id)
        // console.log("clientId",this.clientId,this.editConfig.infomation.client_name)
      } else if (value === "contact") {
        this.contactId = item.id
        this.editConfig.infomation.contact_name = item.name
@@ -624,8 +671,16 @@
        this.editConfig.infomation.contact_name = row.name
        this.contactId = row.id
      } else if (value === "client") {
        this.editConfig.infomation.client_name = row.name
        this.editConfig.infomation.contact_name = ""
        this.editConfig.infomation.sales_leads_name=""
        this.editConfig.infomation.sale_chance_name=""
        this.editSelectContactConfig.search_map.client_id = row.id
        this.editSelectChanceConfig.search_map.client_id = row.id
        this.editSelectLeadConfig.search_map.name = row.name
        this.getContactList(row)
        this.getSalesLeadsList(row)
        this.clientId = row.id
        this.editConfig.infomation.client_name = row.name
        this.isChance = false
        this.getChanceList(row.id)
      } else if (value === "chance") {
@@ -639,6 +694,9 @@
    // 清除已选择用户
    clearupClient(value) {
      if (value === "client") {
        this.editConfig.infomation.contact_name = ""
        this.editConfig.infomation.sales_leads_name=""
        this.editConfig.infomation.sale_chance_name=""
        this.editConfig.infomation.client_name = ""
        this.clientId = 0
        this.isChance = true
@@ -668,6 +726,14 @@
        this.unflodCollapseStr = "收起"
        this.isUnflod = true
      }
    },
    // 客户名称单独校验
    checkClient(rule, value, callback) {
      if (this.editConfig.infomation.client_name && this.editConfig.infomation.client_name.length > 0) {
        callback()
      } else {
        callback(new Error("请选择客户名称"))
      }
    }
  }
}