yangfeng
2023-08-15 c1adf27fbabbff1d76b60993521c765ef1ed79ef
src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue
@@ -54,7 +54,7 @@
                <el-form-item label="服务合同">
                  <div class="custom-name">
                    <el-autocomplete
                      v-model="editConfig.infomation.service_number"
                      v-model="editConfig.infomation.serviceContract_Number"
                      :fetch-suggestions="
                        (queryString, callback) => {
                          querySearchAsync(queryString, callback, 'serviceContract')
@@ -85,7 +85,7 @@
                      <el-option v-for="item in faultTypeOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                    <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> -->
                  </div>
                </el-form-item>
              </el-col>
@@ -116,7 +116,7 @@
                  </div>
                </el-form-item>
              </el-col>
              <el-col :span="12">
              <!-- <el-col :span="12">
                <el-form-item label="产品类别" prop="productCategory">
                  <div class="common-select">
                    <el-select
@@ -136,7 +136,7 @@
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                  </div>
                </el-form-item>
              </el-col>
              </el-col> -->
              <el-col :span="12">
                <el-form-item label="产品名称" prop="product_name">
                  <div class="custom-name">
@@ -167,12 +167,11 @@
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                      @focus="getServiceTypeList"
                    >
                      <el-option v-for="item in serviceTypeOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                    <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> -->
                  </div>
                </el-form-item>
              </el-col>
@@ -226,12 +225,11 @@
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                      @focus="getSeverityList"
                    >
                      <el-option v-for="item in severityOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                    <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> -->
                  </div>
                </el-form-item>
              </el-col>
@@ -253,7 +251,6 @@
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                      @focus="getPriorityLevelList"
                    >
                      <el-option
                        v-for="item in priorityLevelOptions"
@@ -263,7 +260,7 @@
                      >
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                    <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> -->
                  </div>
                </el-form-item>
              </el-col>
@@ -317,7 +314,7 @@
                      <el-option v-for="item in statusOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                    <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> -->
                  </div>
                </el-form-item>
              </el-col>
@@ -329,24 +326,46 @@
            <el-row>
              <el-col :span="12">
                <el-form-item label="希望处理时间" prop="expectTime">
                  <el-date-picker v-model="editConfig.infomation.expectTime" type="datetime" placeholder="选择时间">
                  <el-date-picker
                    v-model="editConfig.infomation.expectTime"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    type="datetime"
                    placeholder="选择时间"
                  >
                  </el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="实际处理时间" prop="realTime">
                  <el-date-picker v-model="editConfig.infomation.startTime" type="realTime" placeholder="选择时间">
                  <el-date-picker
                    v-model="editConfig.infomation.startTime"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    type="realTime"
                    placeholder="选择时间"
                  >
                  </el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="交通费" prop="carFare">
                  <el-input v-model="editConfig.infomation.carFare"></el-input>
                  <el-input-number
                    v-model="editConfig.infomation.carFare"
                    placeholder="请输入"
                    :min="0"
                    :controls="false"
                    style="width: 100%; margin-right: 5px"
                  ></el-input-number>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="收费金额" prop="chargeAmount">
                  <el-input v-model="editConfig.infomation.chargeAmount"></el-input>
                  <el-input-number
                    v-model="editConfig.infomation.chargeAmount"
                    placeholder="请输入"
                    :min="0"
                    :controls="false"
                    style="width: 100%; margin-right: 5px"
                  ></el-input-number>
                </el-form-item>
              </el-col>
              <el-col :span="12">
@@ -357,12 +376,11 @@
                      placeholder="请选择"
                      class="common-select-sel"
                      size="mini"
                      @focus="getTimeSpentList"
                    >
                      <el-option v-for="item in timeSpentOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div class="common-select-btn"><i class="el-icon-setting"></i></div>
                    <!-- <div class="common-select-btn"><i class="el-icon-setting"></i></div> -->
                  </div>
                </el-form-item>
              </el-col>
@@ -601,7 +619,7 @@
        serviceNumber: [{ required: true, message: "请输入服务单编号", trigger: "blur" }],
        faultTypeId: [{ required: true, message: "请选择故障类别", trigger: "change" }],
        subject: [{ required: true, message: "请输入主题", trigger: "blur" }],
        productCategory: [{ required: true, message: "请选择产品类别", trigger: "change" }],
        // productCategory: [{ required: true, message: "请选择产品类别", trigger: "change" }],
        serviceManId: [{ required: true, message: "请选择产品类别", trigger: "change" }],
        serviceOrderStatusId: [{ required: true, message: "请选择故障类别", trigger: "change" }],
        problemDesc: [{ required: true, message: "请输入问题描述", trigger: "blur" }]
@@ -654,8 +672,8 @@
      },
      clientId: this.editCommonConfig.infomation.clientId,
      contactId: this.editCommonConfig.infomation.contactId,
      serviceContractId: this.editCommonConfig.infomation.contractId,
      contractId: this.editCommonConfig.infomation.orderId,
      serviceContractId: this.editCommonConfig.infomation.serviceContractId,
      SalesDetailsId: this.editCommonConfig.infomation.SalesDetailsId,
      productNameId: this.editCommonConfig.infomation.productId,
      saleChanceId: this.editCommonConfig.infomation.saleChanceId
    }
@@ -664,6 +682,16 @@
    this.$store.dispatch("geClient")
    this.getCommonData()
    this.setTable()
  },
  mounted() {
    this.$store.dispatch("geServiceContract")
    this.$store.dispatch("geSalesDetails")
    this.$store.dispatch("geContact")
    this.$store.dispatch("geChance")
    this.getFaultTypeList()
    this.getSeverityList()
    this.getPriorityLevelList()
    this.getTimeSpentList()
  },
  methods: {
    setTable() {
@@ -696,37 +724,23 @@
          const params = this.saveParams()
          console.log(params)
          if (this.editConfig.title === "新建") {
            getAddServiceOrder(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)
              })
            getAddServiceOrder(params).then((res) => {
              console.log(res)
              this.editConfig.visible = false
              if (res.code === 200) {
                this.$message.success("添加成功")
                this.$parent.getData()
              }
            })
          } else {
            getUpdateServiceOrder(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)
              })
            getUpdateServiceOrder(params).then((res) => {
              console.log(res)
              this.editConfig.visible = false
              if (res.code === 200) {
                this.$message.success("编辑成功")
                this.$parent.getData()
              }
            })
          }
        } else {
          console.log("error submit")
@@ -741,20 +755,20 @@
        appointmentTime: data.appointmentTime || "",
        carFare: data.carFare || 0,
        chargeAmount: data.chargeAmount || 0,
        clientId: this.clientId,
        contactId: this.contactId,
        contractId: this.serviceContractId,
        clientId: this.clientId || 0,
        contactId: this.contactId || 0,
        serviceContractId: this.serviceContractId || 0,
        expectTime: data.expectTime || "",
        faqId: data.faqId || 0,
        faultTypeId: data.faultTypeId || 0,
        id: data.id || 0,
        orderId: this.contractId,
        SalesDetailsId: this.SalesDetailsId || 0,
        priorityLevelId: data.priorityLevelId || 0,
        problemDesc: data.problemDesc || "",
        productId: this.productNameId,
        realTime: data.realTime || "",
        remark: data.remark || "",
        saleChanceId: this.saleChanceId,
        saleChanceId: this.saleChanceId || 0,
        serviceManId: data.serviceManId || 0,
        serviceNumber: data.serviceNumber || "",
        serviceTypeId: data.serviceTypeId || 0,
@@ -772,10 +786,6 @@
    },
    // 选择用户相关方法
    querySearchAsync(queryString, cb, value) {
      this.$store.dispatch("geServiceContract")
      this.$store.dispatch("geSalesDetails")
      this.$store.dispatch("geContact")
      this.$store.dispatch("geChance")
      var restaurants = []
      if (value === "client") {
        restaurants = this.clientList
@@ -808,7 +818,7 @@
      } else if (value === "serviceContract") {
        this.serviceContractId = item.id
      } else if (value === "contract") {
        this.contractId = item.id
        this.SalesDetailsId = item.id
      } else if (value === "productName") {
        this.productCategoryId = item.id
      } else if (value === "contact") {
@@ -852,7 +862,7 @@
        this.serviceContractId = row.id
      } else if (value === "contract") {
        this.editConfig.infomation.number = row.number
        this.contractId = row.id
        this.SalesDetailsId = row.id
      } else if (value === "productName") {
        this.editConfig.infomation.product_name = row.name
        this.productNameId = row.id
@@ -867,11 +877,11 @@
        this.editConfig.infomation.client_name = ""
        this.clientId = 0
      } else if (value === "serviceContract") {
        this.editConfig.infomation.service_number = ""
        this.editConfig.infomation.serviceContract_Number = ""
        this.serviceContractId = 0
      } else if (value === "contract") {
        this.editConfig.infomation.number = ""
        this.contractId = 0
        this.SalesDetailsId = 0
      } else if (value === "productName") {
        this.editConfig.infomation.product_name = ""
        this.productNameId = 0
@@ -899,53 +909,32 @@
    // 故障类别
    async getFaultTypeList() {
      await getFaultTypeList().then((res) => {
        console.log(res)
        this.faultTypeOptions = res.data.data
      })
    },
    // 服务方式
    async getServiceTypeList() {
      await getServiceTypeList()
        .then((res) => {
          console.log(res)
          this.serviceTypeOptions = res.data.data
        })
        .catch((err) => {
          console.log(err)
        })
      await getServiceTypeList().then((res) => {
        this.serviceTypeOptions = res.data.data
      })
    },
    // 严重程度
    async getSeverityList() {
      await getSeverityList()
        .then((res) => {
          console.log(res)
          this.severityOptions = res.data.data
        })
        .catch((err) => {
          console.log(err)
        })
      await getSeverityList().then((res) => {
        this.severityOptions = res.data.data
      })
    },
    // 优先级别
    async getPriorityLevelList() {
      await getPriorityLevelList()
        .then((res) => {
          console.log(res)
          this.priorityLevelOptions = res.data.data
        })
        .catch((err) => {
          console.log(err)
        })
      await getPriorityLevelList().then((res) => {
        this.priorityLevelOptions = res.data.data
      })
    },
    // 花费时间
    async getTimeSpentList() {
      await getTimeSpentList()
        .then((res) => {
          console.log(res)
          this.timeSpentOptions = res.data.data
        })
        .catch((err) => {
          console.log(err)
        })
      await getTimeSpentList().then((res) => {
        this.timeSpentOptions = res.data.data
      })
    }
  }
}
@@ -1017,6 +1006,9 @@
      height: 55px;
      line-height: 55px;
    }
    .el-input__inner {
      text-align: left;
    }
  }
}
</style>