bug
jiangping
2023-12-06 1f4e7d0f73a73e7350cf5a1df279d5f30904c5d5
web_standard/src/components/business/OperaSalaryParamWindow.vue
@@ -7,7 +7,7 @@
  >
    <el-form :model="form" ref="form" :rules="rules">
      <el-form-item label="计价方式" prop="type">
        <el-select v-model="form.type" placeholder="请选择计价方式" clearable>
        <el-select v-model="form.type" :disabled="isEdit" placeholder="请选择计价方式" clearable>
          <el-option
            v-for="item in type"
            :key="item.value"
@@ -18,7 +18,7 @@
        </el-select>
      </el-form-item>
      <el-form-item label="工厂" prop="departId">
        <el-select v-model="form.departId" placeholder="请选择工厂" clearable @change="selectFactoey">
        <el-select v-model="form.departId" placeholder="请选择工厂" :disabled="isEdit" clearable @change="selectFactoey">
          <el-option
            v-for="item in factories"
            :key="item.id"
@@ -29,7 +29,7 @@
        </el-select>
      </el-form-item>
      <el-form-item label="物料" prop="materialId">
        <el-select v-model="form.materialId" placeholder="请选择物料" clearable>
        <el-select v-model="form.materialId" placeholder="请选择物料" :disabled="isEdit" clearable @change="selectMaterial">
          <el-option
            v-for="item in materials"
            :key="item.materialId"
@@ -40,7 +40,7 @@
        </el-select>
      </el-form-item>
      <el-form-item label="工序" prop="procedureId">
        <el-select v-model="form.procedureId" placeholder="请选择计价方式" clearable>
        <el-select v-model="form.procedureId" placeholder="请选择工序" :disabled="isEdit" clearable>
          <el-option
            v-for="item in productes"
            :key="item.id"
@@ -51,7 +51,7 @@
        </el-select>
      </el-form-item>
      <el-form-item label="工资单价(元)" prop="salary">
        <el-input v-model="form.salary" placeholder="请输入工资单价(元)" v-trim/>
        <el-input v-model="form.salary" placeholder="请输入工资单价(元)" @input="inputZAction(form, 'salary')" v-trim/>
      </el-form-item>
      <el-form-item label="标准效率" prop="num">
        <div style="display: flex;">
@@ -76,6 +76,7 @@
import { getDepartmentListByConditon } from '@/api/ext/departmentExt'
import { getBomMaterialList } from '@/api/ext/bomExt'
import { routeExt as proceList } from '@/api/ext/routeProcedureExt'
import { numRule } from '@/utils/form'
export default {
  name: 'OperaSalaryParamWindow',
  extends: BaseOpera,
@@ -102,8 +103,9 @@
        minute: '',
        second: '',
        unqualified: 0,
        type: ''
        type: 0
      },
      isEdit: false,
      type: [
        { label: '计件', value: 0 },
        { label: '计时', value: 1 },
@@ -113,6 +115,18 @@
      productes: [],
      // 验证规则
      rules: {
        departId: [
          { required: true, validator: numRule, message: '请选择工厂', tigger: 'change' }
        ],
        materialId: [
          { required: true, validator: numRule, message: '请选择物料', tigger: 'change' }
        ],
        procedureId: [
          { required: true, validator: numRule, message: '请选择工序', tigger: 'change' }
        ],
        salary: [
          { required: true, validator: numRule, message: '请输入工资单价', tigger: 'blur' }
        ],
      }
    }
  },
@@ -179,10 +193,12 @@
        .then(res => {
          // console.log(res)
          this.materials = res
          if (!isEdit) {
            this.form.materialId = res[0]?res[0].materialId:''
          // if (!isEdit) {
          //   this.form.materialId = res[0]?res[0].materialId:''
          // }
          if (isEdit) {
            this.selectMaterial(this.form.materialId)
          }
          this.selectMaterial(this.form.materialId, isEdit)
        })
        .catch(err => {
          console.log(err)
@@ -201,12 +217,23 @@
          // console.log(res)
          this.productes = res.proceList
          if (!isEdit) {
            // debugger
            this.form.procedureId = this.productes[0]?this.productes[0].id:''
          }
        }).catch(err => {
          console.log(err)
        })
    },
    // 2位有效销售(正)
    inputZAction(item, key) {
      item[key] = item[key].replace(/[^\d.]/g, '')
                      .replace(/\.{2,}/g, '.')
                      .replace('.', '$#$')
                      .replace(/\./g, '')
                      .replace('$#$', '.')
                      .replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')
                      .replace(/^\./g, '')
    },
    confirm () {
      // console.log((+this.form.hours) * 3600);
      // console.log((+this.form.minute) * 60);