|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <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" | 
|---|
|  |  |  | 
|---|
|  |  |  | </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" | 
|---|
|  |  |  | 
|---|
|  |  |  | </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" | 
|---|
|  |  |  | 
|---|
|  |  |  | </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" | 
|---|
|  |  |  | 
|---|
|  |  |  | </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;"> | 
|---|
|  |  |  | 
|---|
|  |  |  | 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, | 
|---|
|  |  |  | 
|---|
|  |  |  | minute: '', | 
|---|
|  |  |  | second: '', | 
|---|
|  |  |  | unqualified: 0, | 
|---|
|  |  |  | type: '' | 
|---|
|  |  |  | type: 0 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | isEdit: false, | 
|---|
|  |  |  | type: [ | 
|---|
|  |  |  | { label: '计件', value: 0 }, | 
|---|
|  |  |  | { label: '计时', value: 1 }, | 
|---|
|  |  |  | 
|---|
|  |  |  | 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' } | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | .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) | 
|---|
|  |  |  | 
|---|
|  |  |  | // 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); | 
|---|