yangfeng
2023-11-29 f2b7de3623f3e439c27fd0363d73a6d74a9b4aaf
客户管理模块新建设置默认负责人为当前用户
4个文件已修改
208 ■■■■■ 已修改文件
src/views/client/client/AddClientManageDialog.vue 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/client/contacts/AddContactsDialog.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/client/followupRecords/AddFollowupRecordsDialog.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/client/salesLead/AddSalesLeadDialog.vue 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/client/client/AddClientManageDialog.vue
@@ -28,16 +28,14 @@
                  <el-input
                    v-if="
                      editConfig.title == '编辑' ||
                      (editConfig.title == '新建' &&
                        codenumer &&
                        (explain != '' || isIdDisabled))
                      (editConfig.title == '新建' && codenumer && (explain != '' || isIdDisabled))
                    "
                    :disabled="editConfig.title == '编辑'"
                    v-model="editConfig.infomation.number"
                    placeholder="请输入编码"
                  >
                  </el-input>
                  <span  v-else-if="editConfig.title == '新建'" style="color: #f56c6c"
                  <span v-else-if="editConfig.title == '新建'" style="color: #f56c6c"
                    >请优先配置编码规范 <el-button type="text" @click="numberClick"> 配置规范 </el-button></span
                  >
                  <!-- <WordInput
@@ -553,33 +551,33 @@
      dialogWidth: "50%",
      editConfig: this.editClientManageConfig,
      rules: {
        number: [{ required: true, validator: this.validateCheckCode,  trigger: ["change",'blur' ]}],
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }],
        name: [
          { required: true, message: "请输入客户名称", trigger: ["change",'blur' ] },
          { required: true, message: "请输入客户名称", trigger: ["change", "blur"] },
          {
            validator: this.checkNameClient,
            trigger: ["change",'blur' ]
            trigger: ["change", "blur"]
          }
        ],
        client_status_id: [{ required: true, message: "请选择客户状态", trigger: ["change",'blur' ] }],
        member_id: [{ required: false, message: "请选择销售负责人", trigger: ["change",'blur' ] }],
        approvalOpinion: [{ required: true, message: "请输入审批意见", trigger: ["change",'blur' ] }],
        contact_name: [{ required: true, message: "请输入联系人姓名", trigger: ["change",'blur' ] }],
        client_status_id: [{ required: true, message: "请选择客户状态", trigger: ["change", "blur"] }],
        member_id: [{ required: false, message: "请选择销售负责人", trigger: ["change", "blur"] }],
        approvalOpinion: [{ required: true, message: "请输入审批意见", trigger: ["change", "blur"] }],
        contact_name: [{ required: true, message: "请输入联系人姓名", trigger: ["change", "blur"] }],
        contact_phone: [
          { required: true, message: "请输入联系人手机", trigger:["change",'blur' ] },
          { len: 11, message: "长度在11个字符", trigger: ["change",'blur' ] },
          { required: true, message: "请输入联系人手机", trigger: ["change", "blur"] },
          { len: 11, message: "长度在11个字符", trigger: ["change", "blur"] },
          {
            pattern: /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/,
            message: "请输入正确的手机号",
            trigger: ["change",'blur' ]
            trigger: ["change", "blur"]
          }
        ],
        contact_email: [
          { required: false, message: "", trigger: ["change",'blur' ] },
          { required: false, message: "", trigger: ["change", "blur"] },
          {
            pattern: /^[a-zA-Z0-9_\\.]+@[a-zA-Z0-9-]+[\\.a-zA-Z]+$/,
            message: "请输入正确的邮箱格式",
            trigger: ["change",'blur' ]
            trigger: ["change", "blur"]
          }
        ]
      },
@@ -606,24 +604,24 @@
      this.getCityList(this.editConfig.infomation.province_id, "edit")
    }
    this.getCommonData()
    this.formInfo();
    this.formInfo()
  },
  watch:{
    'editClientManageConfig.visible'(val){
      if(val){
  watch: {
    "editClientManageConfig.visible"(val) {
      if (val) {
        this.formInfo()
      }
    },
    }
  },
  methods: {
    formInfo(){
      this.objCode.type='客户编码'
      this.objCode.codeStandID = ''
      if(this.editConfig.infomation.codeStandID){
        this.objCode.codeStandID = this.editConfig.infomation.codeStandID;
    formInfo() {
      this.objCode.type = "客户编码"
      this.objCode.codeStandID = ""
      if (this.editConfig.infomation.codeStandID) {
        this.objCode.codeStandID = this.editConfig.infomation.codeStandID
      }
      this.getRCodeStandardList();
    },
      this.getRCodeStandardList()
    },
    getCommonData() {
      this.editConfig.infomation.country_id = 1
      this.editConfig.infomation.province_id =
@@ -633,7 +631,15 @@
      getAllData()
        .then((res) => {
          this.memberOptions = res.data.member
          this.$set(this.editConfig.infomation,'member_id',this.editConfig.infomation.member_id)
          // this.$set(this.editConfig.infomation,'member_id',this.editConfig.infomation.member_id)
          if (this.editConfig.title === "新建") {
            let username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")
            this.memberOptions.map((item) => {
              if (item.username == username) {
                this.editConfig.infomation.member_id = item.id
              }
            })
          }
          this.clientSourceOptions = res.data.client_origin
          this.clientStatusOptions = res.data.client_status
          this.importantLevelOptions = res.data.client_level
@@ -658,7 +664,6 @@
    },
    // 保存
    saveClick(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          console.log(this.editConfig.infomation)
@@ -743,7 +748,7 @@
        service_member_id: data.service_member_id || 0,
        sales_leads_id: data.sales_leads_id || 0,
        contact_id: data.contact_id || 0,
        codeStandID:data.ID,
        codeStandID: data.ID
      }
      return params
    },
src/views/client/contacts/AddContactsDialog.vue
@@ -95,7 +95,7 @@
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12" style='height:47px;'>
              <el-col :span="12" style="height: 47px">
                <el-form-item v-if="isUnflod" label="首要联系人" prop="is_first">
                  <el-switch v-model="editConfig.infomation.is_first" active-color="#2E68DB" inactive-color="#AEB9CA">
                  </el-switch>
@@ -299,25 +299,25 @@
      dialogWidth: "50%",
      editConfig: this.editContactsConfig,
      rules: {
        name: [{ required: true, message: "请输入联系人姓名", trigger:  ["change",'blur'] }],
        number: [{ required: true, message: "请输入", trigger: ["change",'blur'] }],
        client_name: [{ required: true, message: "请选择客户名称", trigger: ["change",'blur'] }],
        member_id: [{ required: true, message: "请选择", trigger: ["change",'blur'] }],
        name: [{ required: true, message: "请输入联系人姓名", trigger: ["change", "blur"] }],
        number: [{ required: true, message: "请输入", trigger: ["change", "blur"] }],
        client_name: [{ required: true, message: "请选择客户名称", trigger: ["change", "blur"] }],
        member_id: [{ required: true, validator: this.validateMemberId, trigger: ["change", "blur"] }],
        phone: [
          { required: false, message: "请输入手机号", trigger: ["change",'blur'] },
          { len: 11, message: "长度在11个字符", trigger: ["change",'blur'] },
          { required: false, message: "请输入手机号", trigger: ["change", "blur"] },
          { len: 11, message: "长度在11个字符", trigger: ["change", "blur"] },
          {
            pattern: /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/,
            message: "请输入正确的手机号",
            trigger: ["change",'blur']
            trigger: ["change", "blur"]
          }
        ],
        email: [
          { required: false, message: "", trigger: ["change",'blur'] },
          { required: false, message: "", trigger: ["change", "blur"] },
          {
            pattern: /^[a-zA-Z0-9_\\.]+@[a-zA-Z0-9-]+[\\.a-zA-Z]+$/,
            message: "请输入正确的邮箱格式",
            trigger: ["change",'blur']
            trigger: ["change", "blur"]
          }
        ]
      },
@@ -358,6 +358,7 @@
    "editContactsConfig.visible"(val) {
      if (val) {
        // this.formInfo()
        console.log("11111")
      }
    },
    "editContactsConfig.infomation.codeStandID"() {
@@ -380,8 +381,15 @@
      this.editConfig.infomation.city_id =
        this.editConfig.infomation.city_id === 0 ? "" : this.editConfig.infomation.city_id
      getAllData().then((res) => {
        console.log(res)
        this.memberOptions = res.data.member
        if (this.editConfig.title === "新建") {
          let username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")
          this.memberOptions.map((item) => {
            if (item.username == username) {
              this.editConfig.infomation.member_id = item.id
            }
          })
        }
        this.provinceOptions = res.data.province
      })
    },
@@ -452,7 +460,7 @@
        position: data.position || "",
        province_id: data.province_id || 0,
        region_id: data.region_id || 0,
        wechat: data.wechat || "",
        wechat: data.wechat || ""
        // codeStandID: data.ID,
      }
      return params
@@ -478,14 +486,14 @@
    selClient(row) {
      console.log(row)
      this.clientId = row.id
      this.$set( this.editConfig.infomation,'client_name',row.name)
      this.$set(this.editConfig.infomation, "client_name", row.name)
    },
    // 清除已选择用户
    clearupClient() {
      console.log(this.editConfig.infomation.client_name,'sssssssss')
      console.log(this.editConfig.infomation.client_name, "sssssssss")
      // if (this.editConfig.infomation.client_name !== "") {
      this.clientId = null
      this.$set(this.editConfig.infomation,'client_name','')
      this.$set(this.editConfig.infomation, "client_name", "")
      // }
    },
    // 添加附件
@@ -516,6 +524,15 @@
          }
        }
      })
    },
    // 销售负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      console.log(this.editConfig.infomation.member_id, "销售负责人自定义校验规则")
      if (this.editConfig.infomation?.member_id > 0) {
        callback()
      } else {
        callback(new Error("请输入销售负责人"))
      }
    }
  }
}
src/views/client/followupRecords/AddFollowupRecordsDialog.vue
@@ -404,7 +404,7 @@
      editConfig: this.editContactsConfig,
      rules: {
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }],
        member_id: [{ required: true, message: "请选择负责人", trigger: "change" }],
        member_id: [{ required: true, validator: this.validateMemberId, trigger: "change" }],
        record: [{ required: true, message: "请输入跟进记录", trigger: "blur" }],
        client_name: [{ required: true, validator: this.checkClient, trigger: "change" }],
        contact_name: [{ required: true, message: "请选择联系人姓名", trigger: "change" }],
@@ -493,6 +493,15 @@
        console.log(res)
        this.clientStatusOptions = res.data.client_status
        this.memberOptions = res.data.member
        if (this.editContactsConfig.title === "新建") {
          let username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")
          this.memberOptions.map((item) => {
            if (item.username == username) {
              this.editConfig.infomation.member_id = item.id
            }
          })
        }
        // this.dataProcess()
      })
    },
@@ -749,7 +758,16 @@
      }
    },
    // 阻止可点击事件
    stopClick() {}
    stopClick() {},
    // 销售负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      console.log(this.editConfig.infomation.member_id, "销售负责人自定义校验规则")
      if (this.editConfig.infomation?.member_id > 0) {
        callback()
      } else {
        callback(new Error("请输入负责人"))
      }
    }
  }
}
</script>
src/views/client/salesLead/AddSalesLeadDialog.vue
@@ -25,16 +25,14 @@
                  <el-input
                    v-if="
                      editConfig.title == '编辑' ||
                      (editConfig.title == '新建' &&
                        codenumer &&
                        (explain != '' || isIdDisabled))
                      (editConfig.title == '新建' && codenumer && (explain != '' || isIdDisabled))
                    "
                    :disabled="editConfig.title == '编辑'"
                    v-model="editConfig.infomation.number"
                    placeholder="请输入编码"
                  >
                  </el-input>
                  <span  v-else-if="editConfig.title == '新建'" style="color: #f56c6c"
                  <span v-else-if="editConfig.title == '新建'" style="color: #f56c6c"
                    >请优先配置编码规范 <el-button type="text" @click="numberClick"> 配置规范 </el-button></span
                  >
                  <!-- <WordInput
@@ -116,7 +114,12 @@
              </el-col>
              <el-col :span="12">
                <el-form-item label="负责人" prop="member_id">
                  <el-select v-model="editConfig.infomation.member_id" placeholder="请选择" style="width: 100%" size="mini">
                  <el-select
                    v-model="editConfig.infomation.member_id"
                    placeholder="请选择"
                    style="width: 100%"
                    size="mini"
                  >
                    <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id">
                    </el-option>
                  </el-select>
@@ -285,17 +288,17 @@
      dialogWidth: "50%",
      editConfig: this.editSalesLeadConfig,
      rules: {
        name: [{ required: true, message: "请输入客户名称", trigger: ["change",'blur' ]}],
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["change",'blur' ] }],
        businessStatus: [{ required: true, message: "请输入线索状态", trigger: ["change",'blur' ] }],
        sales_sources_id: [{ required: true, message: "请选择线索来源", trigger: ["change",'blur' ] }],
        name: [{ required: true, message: "请输入客户名称", trigger: ["change", "blur"] }],
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }],
        businessStatus: [{ required: true, message: "请输入线索状态", trigger: ["change", "blur"] }],
        sales_sources_id: [{ required: true, message: "请选择线索来源", trigger: ["change", "blur"] }],
        contact_phone: [
          { required: true, message: "请输入手机号码", trigger: ["change",'blur' ] },
          { len: 11, message: "长度在11个字符", trigger: ["change",'blur' ] },
          { required: true, message: "请输入手机号码", trigger: ["change", "blur"] },
          { len: 11, message: "长度在11个字符", trigger: ["change", "blur"] },
          {
            pattern: /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/,
            message: "请输入正确的手机号",
            trigger: ["change",'blur' ]
            trigger: ["change", "blur"]
          }
        ]
      },
@@ -311,7 +314,8 @@
        editVisible: false,
        title: "",
        infomation: {}
      }
      },
      defaultMemberId: 0
    }
  },
  created() {
@@ -319,24 +323,24 @@
      this.getCityList(this.editConfig.infomation.province_id, "edit")
    }
    this.getCommonData()
    this.formInfo();
    this.formInfo()
  },
  mounted() {},
  watch:{
    'editSalesLeadConfig.visible'(val){
      if(val){
  watch: {
    "editSalesLeadConfig.visible"(val) {
      if (val) {
        this.formInfo()
      }
    },
    }
  },
  methods: {
    formInfo(){
      this.objCode.type='销售线索编码'
      this.objCode.codeStandID = ''
      if(this.editConfig.infomation.codeStandID){
        this.objCode.codeStandID = this.editConfig.infomation.codeStandID;
    formInfo() {
      this.objCode.type = "销售线索编码"
      this.objCode.codeStandID = ""
      if (this.editConfig.infomation.codeStandID) {
        this.objCode.codeStandID = this.editConfig.infomation.codeStandID
      }
      this.getRCodeStandardList();
      this.getRCodeStandardList()
    },
    getCommonData() {
      this.editConfig.infomation.country_id = 1
@@ -352,6 +356,14 @@
          this.provinceOptions = res.data.province
          this.regionOptions = res.data.region
          this.memberOptions = res.data.member
          if (this.editConfig.title === "新建") {
            let username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")
            this.memberOptions.map((item) => {
              if (item.username == username) {
                this.editConfig.infomation.member_id = item.id
              }
            })
          }
        })
        .catch((err) => {
          console.log(err)
@@ -379,7 +391,7 @@
            region_id: this.editConfig.infomation.region_id || 0,
            sales_sources_id: this.editConfig.infomation.sales_sources_id || 0,
            detail_address: this.editConfig.infomation.detail_address || "",
            codeStandID:this.editConfig.infomation.ID,
            codeStandID: this.editConfig.infomation.ID
          }
          if (this.editConfig.title === "新建") {
            getAddSalesLeads(params).then((res) => {
@@ -428,8 +440,8 @@
    },
    // 选择省份
    selProvinceChange(val) {
      this.cityOptions=[]
      if(val){
      this.cityOptions = []
      if (val) {
        this.getCityList(val, "sel")
      }
    },
@@ -437,7 +449,7 @@
      await getCityList({ province_id: val }).then((res) => {
        console.log(res)
        if (res.code === 200) {
          this.cityOptions = res.data.list?res.data.list:[]
          this.cityOptions = res.data.list ? res.data.list : []
          if (value === "sel") {
            this.editConfig.infomation.city_id = ""
          }
@@ -467,7 +479,7 @@
      .common-select {
        display: flex;
        .common-select-sel {
          width:100%;
          width: 100%;
        }
        .common-select-btn {
          margin-left: 5px;
@@ -482,7 +494,7 @@
    height: 30px;
    justify-content: center;
    align-items: center;
    cursor:pointer;
    cursor: pointer;
    color: #6166d3;
  }
}