yangfeng
2023-07-19 23d80c1b64f23ede237ab8e89ebc2ee2aaf43f26
src/views/sales/generatePlan/AddGeneratePlanDialog.vue
@@ -21,40 +21,45 @@
          <div class="basic-info-view">
            <el-row>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="客户名称" prop="customName">
                <el-form-item label="客户名称" prop="clientId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.customName"></el-input>
                    <el-input v-model="editConfig.infomation.clientId"></el-input>
                    <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="选择"></i></div>
                    <div class="common-select-btn"><i class="el-icon-edit" title="编辑"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="单据编号" prop="documentNumber">
                  <el-input v-model="editConfig.infomation.documentNumber"></el-input>
                <el-form-item label="单据编号" prop="number">
                  <el-input v-model="editConfig.infomation.number"></el-input>
                </el-form-item>
              </el-col>
              <el-col v-if="isUnflod" :span="12">
                <el-form-item label="负责人" prop="owner">
                  <el-select v-model="editConfig.infomation.owner" placeholder="请选择" size="mini" style="width: 63%">
                    <el-option v-for="item in ownerOptions" :key="item.value" :label="item.label" :value="item.value">
                <el-form-item label="负责人" prop="memberId">
                  <el-select
                    v-model="editConfig.infomation.memberId"
                    placeholder="请选择"
                    size="mini"
                    style="width: 63%"
                  >
                    <el-option v-for="item in memberOptions" :key="item.value" :label="item.label" :value="item.value">
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="销售子单" prop="subOrder">
                <el-form-item label="销售子单" prop="subOrderId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.subOrder"></el-input>
                    <el-input v-model="editConfig.infomation.subOrderId"></el-input>
                    <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="选择"></i></div>
                    <div class="common-select-btn"><i class="el-icon-edit" title="编辑"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="销售明细单" prop="salesDetails">
                <el-form-item label="销售明细单" prop="salesDetailsId">
                  <div class="custom-name">
                    <el-input v-model="editConfig.infomation.salesDetails"></el-input>
                    <el-input v-model="editConfig.infomation.salesDetailsId"></el-input>
                    <div class="common-select-btn"><i class="el-icon-circle-plus-outline" title="选择"></i></div>
                    <div class="common-select-btn"><i class="el-icon-edit" title="编辑"></i></div>
                  </div>
@@ -67,23 +72,23 @@
          <div class="address-view">
            <el-row>
              <el-col :span="12">
                <el-form-item label="计划开始时间" prop="planStartTime">
                  <el-date-picker v-model="editConfig.infomation.planStartTime" type="datetime" default-time="12:00:00">
                <el-form-item label="计划开始时间" prop="startTime">
                  <el-date-picker v-model="editConfig.infomation.startTime" type="datetime" default-time="12:00:00">
                  </el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="计划截止时间" prop="planDeadline">
                  <el-date-picker v-model="editConfig.infomation.planDeadline" type="datetime" default-time="12:00:00">
                <el-form-item label="计划截止时间" prop="endTime">
                  <el-date-picker v-model="editConfig.infomation.endTime" type="datetime" default-time="12:00:00">
                  </el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="24">
                <el-form-item label="计划内容" prop="refundReason">
                <el-form-item label="计划内容" prop="content">
                  <el-input
                    type="textarea"
                    :autosize="{ minRows: 2 }"
                    v-model="editConfig.infomation.refundReason"
                    v-model="editConfig.infomation.content"
                  ></el-input>
                </el-form-item>
              </el-col>
@@ -133,6 +138,8 @@
</template>
<script>
import { getAllData } from "@/api/client/client"
import { getAddPlan, getUpdatePlan } from "@/api/sales/generatePlan"
export default {
  name: "AddGeneratePlanDialog",
  props: {
@@ -142,15 +149,7 @@
        return {
          visible: false,
          title: "新建",
          infomation: {
            customName: "",
            documentNumber: "",
            owner: "",
            subOrder: "",
            salesDetails: "",
            planStartTime: "",
            planDeadline: ""
          }
          infomation: {}
        }
      }
    }
@@ -162,25 +161,91 @@
      dialogWidth: "80%",
      editConfig: this.editCommonConfig,
      rules: {
        documentNumber: [{ required: true, message: "请输入", trigger: "blur" }],
        owner: [{ required: true, message: "请选择", trigger: "change" }]
        number: [{ required: true, message: "请输入", trigger: "blur" }],
        memberId: [{ required: true, message: "请选择", trigger: "change" }]
      },
      ownerOptions: [
        // 负责人
        { value: "1", label: "BOSS" },
        { value: "2", label: "Mia" },
        { value: "3", label: "财务" },
        { value: "4", label: "市场" },
        { value: "5", label: "系统管理员" },
        { value: "6", label: "销售" },
        { value: "7", label: "销售总监" }
      ],
      memberOptions: [],
      unflodCollapseStr: "收起",
      isUnflod: true
    }
  },
  created() {},
  created() {
    this.getCommonData()
  },
  methods: {
    getCommonData() {
      getAllData()
        .then((res) => {
          this.memberOptions = res.data.member
        })
        .catch((err) => {
          console.log(err)
        })
    },
    // 保存
    saveClick(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          console.log(this.editConfig.infomation)
          const params = this.saveParams()
          console.log(params)
          if (this.editConfig.title === "新建") {
            getAddPlan(params)
              .then((res) => {
                console.log(res)
                this.editConfig.visible = false
                if (res.code === 200) {
                  this.$message({
                    message: "添加成功",
                    type: "success"
                  })
                  this.$parent.getData()
                }
              })
              .catch((err) => {
                console.log(err)
              })
          } else {
            getUpdatePlan(params)
              .then((res) => {
                console.log(res)
                this.editConfig.visible = false
                if (res.code === 200) {
                  this.$message({
                    message: "编辑成功",
                    type: "success"
                  })
                  this.$parent.getData()
                }
              })
              .catch((err) => {
                console.log(err)
              })
          }
        } else {
          console.log("error submit")
          return false
        }
      })
    },
    saveParams() {
      let data = this.editConfig.infomation
      let params = {
        id: this.editConfig.title === "新建" ? 0 : data.id,
        plan: {
          clientId: data.clientId || 0,
          content: data.content || "",
          endTime: data.endTime || "",
          file: data.file || "",
          memberId: data.memberId || 0,
          number: data.number || "",
          salesDetailsId: data.salesDetailsId || 0,
          startTime: data.startTime || "",
          subOrderId: data.subOrderId || 0
        }
      }
      return params
    },
    handleClose() {
      this.editConfig.visible = false
    },