haoxuan
2023-12-20 caf1f99e718ca2ac07fa64e7a71a6d7fa88b8989
src/views/sales/salesDetails/AddSalesDetailsDialog.vue
@@ -252,6 +252,25 @@
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="选择项目" prop="projectId">
                  <el-select
                    v-model="editConfig.infomation.projectId"
                    placeholder="请选择"
                    size="mini"
                    style="width: 100%"
                    :disabled="isView"
                  >
                    <el-option
                      v-for="item in projectList"
                      :key="item.projectId"
                      :label="item.projectName"
                      :value="item.projectId"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
            </el-row>
          </div>
          <!-- 收货信息 -->
@@ -471,7 +490,7 @@
<script>
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
import { getAllData } from "@/api/client/client"
import { getAddSalesDetails, getUpdateSalesDetails } 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"
@@ -519,9 +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" }]
        quotation_number: [{ required: true, message: "请选择销售报价单", trigger: "change" }],
        deliveryDate: [{ required: true, message: "请选择交付日期", trigger: "change" }]
        // approvalOpinion: [{ required: true, message: "请输入", trigger: "blur" }]
      },
      memberOptions: [],
@@ -567,12 +587,14 @@
      isAddQuatation: true,
      // 交付类型
      deliveryTypeList: getDataByType("deliveryType"),
      projectList: [],
      quotationList: [],
      quotationId: this.editCommonConfig.infomation.quotationId,
      tableData: [],
      selProductData: [],
      isView: this.editCommonConfig.title === "查看",
      selectBox: this.editCommonConfig.title !== "查看"
      selectBox: this.editCommonConfig.title !== "查看",
      thatMember: {}
    }
  },
  created() {
@@ -586,6 +608,7 @@
    if (this.editConfig.title === "编辑") {
      this.productTableList.tableData = this.editConfig.infomation.products
    }
    this.getProjectList()
  },
  watch: {
    "editClientManageConfig.visible"(val) {
@@ -611,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.$set(this.editConfig.infomation, "memberId", item.id)
              }
            })
          }
          // this.dataProcess()
        })
        .catch((err) => {
@@ -640,7 +671,6 @@
            this.$message.error("请选择产品")
          } else {
            const params = this.saveParams()
            console.log(params)
            if (this.editConfig.title === "新建") {
              getAddSalesDetails(params).then((res) => {
                console.log(res)
@@ -696,7 +726,8 @@
        logisticNumber: data.logisticNumber || "",
        quotationId: this.quotationId,
        deliverType: data.deliverType || 0,
        status: 1
        status: 1,
        projectId: data.projectId || ""
      }
      let params = {}
      if (this.editConfig.title === "新建") {
@@ -806,6 +837,7 @@
    },
    handleSelectClient(value, item) {
      if (value === "client") {
        this.thatMember = item.member
        this.editConfig.infomation.subbill_name = ""
        this.editConfig.infomation.sale_chance_name = ""
        this.clientId = item.id
@@ -931,6 +963,23 @@
    // 选择产品
    getSelectArray(val) {
      this.selProductData = val
    },
    // 获取项目列表
    async getProjectList() {
      await getProjectList({
        page: 1,
        pageSize: 100
      }).then((res) => {
        this.projectList = res.data
      })
    },
    // 销售负责人自定义校验规则
    validateMemberId(rule, value, callback) {
      if (this.editConfig.infomation?.memberId > 0) {
        callback()
      } else {
        callback(new Error("请选择销售负责人"))
      }
    }
  }
}