yangfeng
2023-11-29 01fe9929805fc9e73b72033f9717fc3f32005b03
销售管理模块整体新建增加默认负责人
10个文件已修改
189 ■■■■ 已修改文件
src/views/client/contacts/AddContactsDialog.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/client/followupRecords/AddFollowupRecordsDialog.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/contractManage/AddContractManageDialog.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/masterOrder/AddMasterOrderDialog.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/quotation/AddQuotationDialog.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/refundForm/AddRefundFormDialog.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/salesDetails/AddSalesDetailsDialog.vue 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/salesReturn/AddSalesReturnDialog.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sales/subOrder/AddSubOrderDialog.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/client/contacts/AddContactsDialog.vue
@@ -527,7 +527,6 @@
    },
    // 销售负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      console.log(this.editConfig.infomation.member_id, "销售负责人自定义校验规则")
      if (this.editConfig.infomation?.member_id > 0) {
        callback()
      } else {
src/views/client/followupRecords/AddFollowupRecordsDialog.vue
@@ -493,7 +493,7 @@
        console.log(res)
        this.clientStatusOptions = res.data.client_status
        this.memberOptions = res.data.member
        if (this.editContactsConfig.title === "新建") {
        if (this.editConfig.title === "新建") {
          let username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")
          this.memberOptions.map((item) => {
            if (item.username == username) {
@@ -761,7 +761,6 @@
    stopClick() {},
    // 销售负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      console.log(this.editConfig.infomation.member_id, "销售负责人自定义校验规则")
      if (this.editConfig.infomation?.member_id > 0) {
        callback()
      } else {
src/views/sales/contractManage/AddContractManageDialog.vue
@@ -293,7 +293,7 @@
      rules: {
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }],
        client_name: [{ required: true, message: "请选择客户名称", trigger: "change" }],
        member_id: [{ required: true, message: "请选择", trigger: "change" }],
        memberId: [{ required: true, validator: this.validateMemberId, trigger: "change" }],
        contractName: [{ required: true, message: "请输入合同名称", trigger: "blur" }],
        quotation_number: [{ required: true, message: "请选择销售报价单", trigger: "change" }]
      },
@@ -350,6 +350,14 @@
      getAllData()
        .then((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.memberId = item.id
              }
            })
          }
          this.statusOptions = res.data.serviceContractStatus
        })
        .catch((err) => {
@@ -504,6 +512,14 @@
        this.unflodCollapseStr = "收起"
        this.isUnflod = true
      }
    },
    // 负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      if (this.editConfig.infomation?.memberId > 0) {
        callback()
      } else {
        callback(new Error("请输入负责人"))
      }
    }
  }
}
src/views/sales/masterOrder/AddMasterOrderDialog.vue
@@ -33,16 +33,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
@@ -217,9 +215,9 @@
      dialogWidth: "50%",
      editConfig: this.editCommonConfig,
      rules: {
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur",'change'] }],
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }],
        client_name: [{ required: true, message: "请选择", trigger: "change" }],
        member_id: [{ required: true, message: "请选择", trigger: "change" }]
        member_id: [{ required: true, validator: this.validateMemberId, trigger: "change" }]
      },
      memberOptions: [],
      unflodCollapseStr: "收起",
@@ -243,7 +241,7 @@
      if (val) {
        this.formInfo()
      }
    },
    }
  },
  methods: {
    formInfo() {
@@ -257,6 +255,14 @@
      getAllData()
        .then((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
              }
            })
          }
        })
        .catch((err) => {
          console.log(err)
@@ -312,7 +318,7 @@
        money: data.money || 0,
        number: data.number || "",
        start_time: data.start_time || "",
        codeStandID: data.ID,
        codeStandID: data.ID
      }
      return params
    },
@@ -374,6 +380,14 @@
        this.unflodCollapseStr = "收起"
        this.isUnflod = true
      }
    },
    // 负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      if (this.editConfig.infomation?.member_id > 0) {
        callback()
      } else {
        callback(new Error("请输入负责人"))
      }
    }
  }
}
@@ -384,7 +398,7 @@
::v-deep {
  .iframe-dialog .el-dialog__body {
    .basic-info {
      min-height:250px;
      min-height: 250px;
      .basic-info-title {
        background-color: #f4f8fe;
        padding-left: 10px;
src/views/sales/quotation/AddQuotationDialog.vue
@@ -372,7 +372,7 @@
        quotationName: [{ required: true, message: "请输入", trigger: "blur" }],
        quotation_status_id: [{ required: true, message: "请选择", trigger: "change" }],
        sale_chance_name: [{ required: true, validator: this.checkChance, trigger: "change" }],
        member_id: [{ required: true, message: "请选择负责人", trigger: "change" }]
        member_id: [{ required: true, validator: this.validateMemberId, trigger: "change" }]
      },
      memberOptions: [],
      quotationStatusOptions: [], // 报价单状态
@@ -436,6 +436,14 @@
      getAllData()
        .then((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.quotationStatusOptions = res.data.quotationStatus
          this.dataProcess()
        })
@@ -682,6 +690,14 @@
      } else {
        callback(new Error("请选择销售机会"))
      }
    },
    // 销售负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      if (this.editConfig.infomation?.member_id > 0) {
        callback()
      } else {
        callback(new Error("请输入销售负责人"))
      }
    }
  }
}
src/views/sales/refundForm/AddRefundFormDialog.vue
@@ -362,7 +362,7 @@
        client_name: [{ required: true, message: "请选择客户名称", trigger: "change" }],
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }],
        refundDate: [{ required: true, message: "请选择退款日期", trigger: "change" }],
        memberId: [{ required: true, message: "请选择销售负责人", trigger: "change" }],
        memberId: [{ required: true, validator: this.validateMemberId, trigger: "change" }],
        sale_return_nunber: [{ required: true, message: "请选择销售退货单", trigger: "change" }]
      },
      memberOptions: [],
@@ -426,6 +426,14 @@
      const res = await getAllData()
      if (res.code == 200) {
        this.memberOptions = res.data.member ? 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.memberId = item.id
            }
          })
        }
      }
      this.$set(this.editConfig.infomation, "memberId", this.editConfig.infomation.memberId)
      this.getPaymentTypeList()
@@ -665,6 +673,14 @@
    clearupProduct(data) {
      this.tableData = data
      this.productTableList.tableData = this.tableData
    },
    // 销售负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      if (this.editConfig.infomation?.memberId > 0) {
        callback()
      } else {
        callback(new Error("请输入销售负责人"))
      }
    }
  }
}
src/views/sales/salesDetails/AddSalesDetailsDialog.vue
@@ -261,7 +261,12 @@
                    style="width: 100%"
                    :disabled="isView"
                  >
                    <el-option v-for="item in projectList" :key="item.projectId" :label="item.projectName" :value="item.projectId">
                    <el-option
                      v-for="item in projectList"
                      :key="item.projectId"
                      :label="item.projectName"
                      :value="item.projectId"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
@@ -485,7 +490,7 @@
<script>
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
import { getAllData } from "@/api/client/client"
import { getAddSalesDetails, getUpdateSalesDetails,getProjectList} from "@/api/sales/salesDetails"
import { getAddSalesDetails, getUpdateSalesDetails, getProjectList } from "@/api/sales/salesDetails"
import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog"
import SelectChanceDialog from "@/views/other/commonDialog/SelectChanceDialog"
import AddCollectionPlan from "@/views/other/payment/collectionPlan/AddCollectionPlan"
@@ -533,10 +538,10 @@
        // subbill_name: [{ required: true, message: "请选择销售子单", trigger: "change" }],
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }],
        signTime: [{ required: true, message: "请选择签约日期", trigger: "change" }],
        memberId: [{ required: true, message: "请选择销售负责人", trigger: "change" }],
        memberId: [{ required: true, validator: this.validateMemberId, trigger: "change" }],
        sale_chance_name: [{ required: true, message: "请选择销售机会", trigger: "change" }],
        quotation_number: [{ required: true, message: "请选择销售报价单", trigger: "change" }],
        deliveryDate: [{ required: true, message: "请选择交付日期", trigger: "change" }],
        deliveryDate: [{ required: true, message: "请选择交付日期", trigger: "change" }]
        // approvalOpinion: [{ required: true, message: "请输入", trigger: "blur" }]
      },
      memberOptions: [],
@@ -582,14 +587,14 @@
      isAddQuatation: true,
      // 交付类型
      deliveryTypeList: getDataByType("deliveryType"),
      projectList:[],
      projectList: [],
      quotationList: [],
      quotationId: this.editCommonConfig.infomation.quotationId,
      tableData: [],
      selProductData: [],
      isView: this.editCommonConfig.title === "查看",
      selectBox: this.editCommonConfig.title !== "查看",
      thatMember:{}
      thatMember: {}
    }
  },
  created() {
@@ -629,6 +634,14 @@
      getAllData()
        .then((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.memberId = item.id
              }
            })
          }
          // this.dataProcess()
        })
        .catch((err) => {
@@ -714,7 +727,7 @@
        quotationId: this.quotationId,
        deliverType: data.deliverType || 0,
        status: 1,
        projectId:data.projectId||''
        projectId: data.projectId || ""
      }
      let params = {}
      if (this.editConfig.title === "新建") {
@@ -824,7 +837,7 @@
    },
    handleSelectClient(value, item) {
      if (value === "client") {
        this.thatMember=item.member
        this.thatMember = item.member
        this.editConfig.infomation.subbill_name = ""
        this.editConfig.infomation.sale_chance_name = ""
        this.clientId = item.id
@@ -952,13 +965,21 @@
      this.selProductData = val
    },
    // 获取项目列表
    async getProjectList(){
    async getProjectList() {
      await getProjectList({
        page: 1,
        pageSize: 100,
        pageSize: 100
      }).then((res) => {
        this.projectList=res.data
        this.projectList = res.data
      })
    },
    // 销售负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      if (this.editConfig.infomation?.memberId > 0) {
        callback()
      } else {
        callback(new Error("请输入销售负责人"))
      }
    }
  }
}
src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
@@ -649,7 +649,7 @@
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }],
        name: [{ required: true, message: "请输入机会名称", trigger: "blur" }],
        member_id: [{ required: true, message: "请选择销售负责人", trigger: "change" }],
        member_id: [{ required: true, validator: this.validateMemberId, trigger: "change" }],
        sale_stage_id: [{ required: true, message: "请选择销售阶段", trigger: "change" }],
        currency: [{ required: true, message: "请选择币种", trigger: "change" }],
        expected_time: [{ required: true, message: "请选择预计成交日期", trigger: "change" }],
@@ -732,6 +732,14 @@
      getAllData()
        .then((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.businessSourceOptions = res.data.sales_source
          this.businessTypeOptions = res.data.sale_type
          this.oldCustomerMarketOptions = res.data.regular_customers
@@ -1027,6 +1035,14 @@
    clearupProduct(data) {
      this.tableData = data
      this.productTableList.tableData = this.tableData
    },
    // 销售负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      if (this.editConfig.infomation?.member_id > 0) {
        callback()
      } else {
        callback(new Error("请输入销售负责人"))
      }
    }
  }
}
src/views/sales/salesReturn/AddSalesReturnDialog.vue
@@ -297,7 +297,7 @@
      rules: {
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }],
        repository: [{ required: true, message: "请选择退入仓库", trigger: "change" }],
        memberId: [{ required: true, message: "请选择负责人", trigger: "change" }],
        memberId: [{ required: true, validator: this.validateMemberId, trigger: "change" }],
        salesDetailNumber: [{ required: true, message: "请选择销售明细单", trigger: "change" }]
      },
      memberOptions: [],
@@ -364,6 +364,14 @@
      getAllData()
        .then((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.memberId = item.id
              }
            })
          }
          this.repositoryOptions = res.data.repository
          this.statusOptions = res.data.salesReturnStatus
        })
@@ -588,6 +596,14 @@
    getSelectArray(val) {
      console.log(val, "cccccccccccccccccc")
      this.selProductData = val
    },
    // 销售负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      if (this.editConfig.infomation?.memberId > 0) {
        callback()
      } else {
        callback(new Error("请输入销售负责人"))
      }
    }
  }
}
src/views/sales/subOrder/AddSubOrderDialog.vue
@@ -239,7 +239,7 @@
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }],
        master_order_number: [{ required: true, message: "请选择或创建销售总单", trigger: "blur" }],
        client_name: [{ required: true, message: "请选择", trigger: "change" }],
        memberId: [{ required: true, message: "请选择", trigger: "change" }]
        memberId: [{ required: true, validator: this.validateMemberId, trigger: "change" }]
      },
      memberOptions: [],
      discount: "2",
@@ -308,7 +308,15 @@
          console.log(res)
          if (res.code === 200) {
            this.memberOptions = res.data.member
            this.$set(this.editConfig.infomation, "memberId", this.editConfig.infomation.memberId)
            // this.$set(this.editConfig.infomation, "memberId", this.editConfig.infomation.memberId)
            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.memberId = item.id
                }
              })
            }
            this.dataProcess()
          }
        })
@@ -566,6 +574,14 @@
    clearupProduct(data) {
      this.tableData = data
      this.productTableList.tableData = this.tableData
    },
    // 负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      if (this.editConfig.infomation?.memberId > 0) {
        callback()
      } else {
        callback(new Error("请输入负责人"))
      }
    }
  }
}