| | |
| | | <template> |
| | | <el-dialog |
| | | :title="!dataForm.id ? '新增' : '修改'" |
| | | :close-on-click-modal="false" |
| | | :visible.sync="visible" |
| | | > |
| | | <el-form |
| | | :model="dataForm" |
| | | :rules="dataRule" |
| | | ref="dataForm" |
| | | label-width="120px" |
| | | class="l-mes" |
| | | > |
| | | <el-dialog :title="!dataForm.id ? '新增' : '修改'" :close-on-click-modal="false" :visible.sync="visible"> |
| | | <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="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="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-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <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> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="岗位编号" prop="postNo"> |
| | | <el-input v-model="dataForm.postNo" placeholder=""></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="岗位名称" prop="postName"> |
| | | <el-input v-model="dataForm.postName" placeholder=""></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="dataForm.remark" placeholder=""></el-input> |
| | |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="visible = false">取消</el-button> |
| | | <el-button |
| | | type="primary" |
| | | :disabled="isSubmit" |
| | | v-thinclick="`dataFormSubmit`" |
| | | >确定</el-button |
| | | > |
| | | <el-button type="primary" :disabled="isSubmit" v-thinclick="`dataFormSubmit`">确定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </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: [], |
| | | optionsdepartment: [], |
| | | dataForm: { |
| | | id: 0, |
| | | companyId: null, |
| | | companyName: null, |
| | | factoryId: null, |
| | | factoryName: null, |
| | | divisionId: null, |
| | | divisionName: null, |
| | | postNo: '', |
| | | postName: '', |
| | | remark: '' |
| | |
| | | dataRule: { |
| | | postName: [ |
| | | { required: true, message: '岗位名称不能为空', trigger: 'blur' } |
| | | ], |
| | | postNo: [ |
| | | { required: true, message: '岗位编号不能为空', trigger: 'blur' } |
| | | ], |
| | | companyId: [ |
| | | { required: true, message: '公司名称不能为空', trigger: 'blur' } |
| | | ], |
| | | factoryId: [ |
| | | { required: true, message: '工厂名称不能为空', trigger: 'blur' } |
| | | ], |
| | | divisionId: [ |
| | | { required: true, message: '部门名称不能为空', trigger: 'blur' } |
| | | ] |
| | | }, |
| | | isSubmit: false |
| | | } |
| | | }, |
| | | 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> |