Mr.Zhang
2023-08-15 38dff69b2c218ae53b4cc79257368139a2803ebc
web_standard/src/components/business/OperaSalaryParamWindow.vue
@@ -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,18 +29,18 @@
        </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"
            :key="item.realMaterialId"
            :label="item.mmodel.name"
            :value="item.materialId"
            :value="item.realMaterialId"
          >
          </el-option>
        </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,
@@ -104,6 +105,7 @@
        unqualified: 0,
        type: ''
      },
      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,10 @@
        .then(res => {
          // console.log(res)
          this.materials = res
          if (!isEdit) {
            this.form.materialId = res[0]?res[0].materialId:''
          }
          this.selectMaterial(this.form.materialId, isEdit)
          // if (!isEdit) {
          //   this.form.materialId = res[0]?res[0].materialId:''
          // }
          // this.selectMaterial(this.form.materialId)
        })
        .catch(err => {
          console.log(err)
@@ -192,7 +206,7 @@
     
      let routeId;
      for (const item of this.materials) {
        if (item.materialId === id) {
        if (item.realMaterialId === id) {
          routeId = item.routeId
        }
      }
@@ -201,12 +215,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);