yudao-dev/src/views/group/base/groupTeam/components/groupTeamAdd.vue

128 lines
3.4 KiB
Vue
Raw Normal View History

2023-08-02 09:17:46 +08:00
<template>
2023-10-24 15:16:20 +08:00
<el-form ref="form" :rules="rules" label-width="100px" :model="form">
2023-10-11 14:30:18 +08:00
<el-row>
<el-col :span="12">
<el-form-item label="班组名称" prop="name">
<el-input v-model="form.name"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="班组编码" prop="code">
<el-input v-model="form.code" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
2023-10-24 15:16:20 +08:00
<el-form-item label="班组组长" prop="leaderId">
<el-select v-model="form.leaderId" placeholder="请选择" style="width: 100%;" @change="selectLeader">
<el-option
v-for="item in workerList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
2023-10-11 14:30:18 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
2023-10-24 15:16:20 +08:00
<el-form-item label="手机号" prop="telephone">
<el-input v-model="form.telephone" disabled></el-input>
2023-10-11 14:30:18 +08:00
</el-form-item>
</el-col>
</el-row>
2023-08-02 09:17:46 +08:00
</el-form>
</template>
<script>
import { getGroupTeam, updateGroupTeam, createGroupTeam, getCode } from '@/api/base/groupTeam'
2023-10-24 15:16:20 +08:00
import { getWorkerList } from '@/api/base/worker'
2023-08-02 09:17:46 +08:00
export default {
name: 'groupTeamAdd',
data() {
return {
form: {
id: '',
name: '',
code: '',
2023-10-24 15:16:20 +08:00
leaderId: '',
telephone: ''
2023-08-02 09:17:46 +08:00
},
isEdit: false, //是否是编辑
rules: {
2023-10-24 15:16:20 +08:00
name: [{ required: true, message: '请输入班组名称', trigger: 'blur' }],
code: [{ required: true, message: '请输入班组编码', trigger: 'blur' }],
leaderId: [{ required: true, message: '请选择组长', trigger: 'select' }]
},
workerList: []
2023-08-02 09:17:46 +08:00
}
},
methods: {
init(id) {
2023-10-24 15:16:20 +08:00
this.getWorkerList()
2023-08-02 09:17:46 +08:00
if (id) {
this.isEdit = true
this.form.id = id
getGroupTeam( id ).then((res) => {
if (res.code === 0) {
this.form = res.data
2023-10-24 15:16:20 +08:00
this.selectLeader()
2023-08-02 09:17:46 +08:00
}
})
} else {
this.isEdit = false
this.form.id = ''
getCode().then((res) => {
this.form.code = res.data
})
}
},
2023-10-24 15:16:20 +08:00
// 获取员工list
getWorkerList() {
getWorkerList().then(res => {
this.workerList = res.data
})
},
// 获取手机号
selectLeader() {
if (this.form.leaderId) {
this.workerList.map(item => {
if (item.id === this.form.leaderId) {
this.form.telephone = item.telephone || ''
}
})
} else {
this.form.telephone = ''
}
},
2023-08-02 09:17:46 +08:00
submitForm() {
this.$refs['form'].validate((valid) => {
if (valid) {
if (this.isEdit) {
//编辑
updateGroupTeam({ ...this.form }).then((res) => {
if (res.code === 0) {
this.$modal.msgSuccess("操作成功");
this.$emit('successSubmit')
}
})
} else {
createGroupTeam({ ...this.form }).then((res) => {
if (res.code === 0) {
this.$modal.msgSuccess("操作成功");
this.$emit('successSubmit')
}
})
}
} else {
return false
}
})
},
formClear() {
this.$refs.form.resetFields()
this.isEdit = false
}
}
}
</script>