| | |
| | | <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="120px" class="l-mes"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="公司" prop="company"> |
| | | <el-select style="width: 100%;" v-model="dataForm.company" placeholder="请选择"> |
| | | <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> |
| | | <el-form-item label="公司" prop="companyId"> |
| | | <el-select @change="changeCompany" style="width: 100%;" v-model="dataForm.companyId" placeholder="请选择"> |
| | | <el-option v-for="item in options" :key="item.id" :label="item.companyName" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="工厂" prop="factory"> |
| | | <el-select style="width: 100%;" v-model="dataForm.factory" placeholder="请选择"> |
| | | <el-option v-for="item in optionsfactory" :key="item.value" :label="item.label" :value="item.value"> |
| | | <el-form-item label="工厂" prop="factoryId"> |
| | | <el-select @change="changeFactory" style="width: 100%;" v-model="dataForm.factoryId" placeholder="请选择"> |
| | | <el-option v-for="item in optionsfactory" :key="item.id" :label="item.factoryName" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="部门" prop="division"> |
| | | <el-select style="width: 100%;" v-model="dataForm.division" placeholder="请选择"> |
| | | <el-option v-for="item in optionsdepartment" :key="item.value" :label="item.label" :value="item.value"> |
| | | <el-form-item label="部门" prop="divisionId"> |
| | | <el-select @change="changeDivision" style="width: 100%;" v-model="dataForm.divisionId" placeholder="请选择"> |
| | | <el-option v-for="item in optionsdepartment" :key="item.id" :label="item.divisionName" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getObj, addObj, putObj } from '@/api/basic/post' |
| | | |
| | | import { getObj, addObj, putObj, getDivisionByFactoryId } from '@/api/basic/post' |
| | | import { |
| | | loadStaff, |
| | | dataFormTransfer, |
| | | loadFactoryListByCompany |
| | | } from '@/api/basic/division' |
| | | import { loadCompany } from '@/api/basic/factory' |
| | | export default { |
| | | data() { |
| | | return { |
| | | ruleOptions: [], |
| | | visible: false, |
| | | options: [], |
| | | optionsfactory:[], |
| | | optionsfactory: [], |
| | | optionsdepartment: [], |
| | | dataForm: { |
| | | id: 0, |
| | | company: null, |
| | | factory: null, |
| | | division: null, |
| | | companyId: null, |
| | | companyName: null, |
| | | factoryId: null, |
| | | factoryName: null, |
| | | divisionId: null, |
| | | divisionName: null, |
| | | postNo: '', |
| | | postName: '', |
| | | remark: '' |
| | |
| | | postNo: [ |
| | | { required: true, message: '岗位编号不能为空', trigger: 'blur' } |
| | | ], |
| | | company: [ |
| | | companyId: [ |
| | | { required: true, message: '公司名称不能为空', trigger: 'blur' } |
| | | ], |
| | | factory: [ |
| | | factoryId: [ |
| | | { required: true, message: '工厂名称不能为空', trigger: 'blur' } |
| | | ], |
| | | division: [ |
| | | ], |
| | | divisionId: [ |
| | | { required: true, message: '部门名称不能为空', trigger: 'blur' } |
| | | ] |
| | | }, |
| | |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.initTestRuleSelect() |
| | | // this.initTestRuleSelect() |
| | | this.initCompanySelect() |
| | | }, |
| | | methods: { |
| | | changeDivision(){ |
| | | this.dataForm.divisionName = this.optionsdepartment.filter(item => { |
| | | return item.id == this.dataForm.divisionId |
| | | })[0].divisionName; |
| | | }, |
| | | changeCompany() { |
| | | loadFactoryListByCompany(this.dataForm.companyId).then((res) => { |
| | | this.optionsfactory = res.data.data |
| | | }) |
| | | this.dataForm.companyName = this.options.filter(item => { |
| | | return item.id == this.dataForm.companyId |
| | | })[0].companyName; |
| | | }, |
| | | changeFactory() { |
| | | getDivisionByFactoryId(this.dataForm.companyId, this.dataForm.factoryId).then((res) => { |
| | | this.optionsdepartment=res.data.data |
| | | }) |
| | | this.dataForm.factoryName = this.optionsfactory.filter(item => { |
| | | return item.id == this.dataForm.factoryId |
| | | })[0].factoryName; |
| | | }, |
| | | initCompanySelect() { |
| | | loadCompany().then((res) => { |
| | | this.options = res.data |
| | | }) |
| | | }, |
| | | init(id) { |
| | | this.dataForm.id = id || 0 |
| | | this.visible = true |
| | |
| | | if (this.dataForm.id) { |
| | | getObj(this.dataForm.id).then((response) => { |
| | | this.dataForm = response.data.data |
| | | this.changeCompany() |
| | | this.changeFactory() |
| | | }) |
| | | } |
| | | }) |
| | |
| | | this.isSubmit = false |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | }, |
| | | watch: { |
| | | 'dataForm.companyId': { |
| | | handler(newValue, oldValue) { |
| | | if (newValue != ''&&oldValue!=''&&oldValue!=undefined&&newValue!=undefined) { |
| | | console.log(newValue); |
| | | console.log(oldValue); |
| | | if(oldValue!=newValue){ |
| | | this.dataForm.factoryId=null |
| | | this.dataForm.divisionId=null |
| | | this.optionsdepartment=[] |
| | | } |
| | | } |
| | | }, |
| | | immediate: true, |
| | | deep: true |
| | | }, |
| | | 'dataForm.factoryId': { |
| | | handler(newValue, oldValue) { |
| | | if (newValue != ''&&oldValue!=''&&oldValue!=undefined&&newValue!=undefined) { |
| | | console.log(newValue); |
| | | console.log(oldValue); |
| | | if(oldValue!=newValue){ |
| | | this.dataForm.divisionId=null |
| | | this.optionsdepartment=[] |
| | | } |
| | | } |
| | | }, |
| | | immediate: true, |
| | | deep: true |
| | | }, |
| | | } |
| | | } |
| | | </script> |