renyuanpeixun
This commit is contained in:
parent
322e3ee0da
commit
93c48b3c6b
|
@ -7,7 +7,12 @@ export function getTrainList(query) {
|
|||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function getTrain(id) {
|
||||
return request({
|
||||
url: `/employee/train/${id}/`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
export function createTrain(data) {
|
||||
return request({
|
||||
url: '/employee/train/',
|
||||
|
|
|
@ -18,21 +18,19 @@
|
|||
<el-col :span="12">
|
||||
<el-form-item label="开始日期" prop="start_time">
|
||||
<el-date-picker v-model="formData.start_time"
|
||||
type="date"
|
||||
placeholder="选择开始日期"
|
||||
format="yyyy 年 MM 月 dd 日"
|
||||
value-format="yyyy-MM-dd">
|
||||
type="datetime"
|
||||
placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="结束日期" prop="end_time">
|
||||
<el-date-picker v-model="formData.end_time"
|
||||
type="date"
|
||||
placeholder="选择结束日期"
|
||||
format="yyyy 年 MM 月 dd 日"
|
||||
value-format="yyyy-MM-dd">
|
||||
type="datetime"
|
||||
placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -55,11 +53,15 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="选择学员" prop="hours">
|
||||
<el-form-item label="选择学员" prop="employees">
|
||||
<el-input v-model="formData.employees" readonly="readonly" clearable :style="{width: '80%'}">
|
||||
</el-input>
|
||||
<el-button type="text" @click="dialogVisible = true">选择</el-button>
|
||||
<el-dialog title="" :visible.sync="dialogVisible">
|
||||
<Userselet @closeMoule="closeMoule"></Userselet>
|
||||
</el-dialog>
|
||||
|
||||
<router-link to="/employee/user/select">
|
||||
<span class="spanfour">link跳转</span>
|
||||
</router-link>
|
||||
<SpeciesAnalyzed @closeMoule="closeMoule"></SpeciesAnalyzed>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -76,7 +78,7 @@
|
|||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="培训内容" prop="teacher">
|
||||
<el-input type="textarea" :rows="2" v-model="formData.teacher"
|
||||
<el-input type="textarea" :rows="2" v-model="formData.content"
|
||||
placeholder="请输入培训内容"
|
||||
clearable
|
||||
:style="{width: '100%'}"></el-input>
|
||||
|
@ -118,6 +120,7 @@
|
|||
</template>
|
||||
<script>
|
||||
|
||||
import { createTrain} from "@/api/train";
|
||||
import { getUserList} from "@/api/user";
|
||||
import { getDictList } from "@/api/dict";
|
||||
import { genTree } from "@/utils";
|
||||
|
@ -126,64 +129,71 @@
|
|||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
import { upUrl, upHeaders } from "@/api/file";
|
||||
import Userselet from '@/views/employee/userselet';
|
||||
const defaultForm = {
|
||||
|
||||
}
|
||||
export default {
|
||||
components: {Treeselect},
|
||||
components: {Treeselect,Userselet},
|
||||
props: [],
|
||||
data() {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return {
|
||||
|
||||
|
||||
dialogVisible: false,
|
||||
formData: Object.assign({}, defaultForm),
|
||||
rules: {},
|
||||
type_Options: [
|
||||
],
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
created() {
|
||||
this.getTypeOptions(),
|
||||
this.getOrgAll(),
|
||||
this. getRoleAll()
|
||||
this.getTypeOptions()
|
||||
|
||||
},
|
||||
mounted() {},
|
||||
mounted() {
|
||||
this.list = this.$route.query.employeelist;
|
||||
this.formData.employees = this.$route.query.employeelist;
|
||||
console.log( this.list)
|
||||
},
|
||||
methods: {
|
||||
submitForm() {
|
||||
this.$refs['elForm'].validate(valid => {
|
||||
if (!valid) return
|
||||
// TODO 提交表单
|
||||
})
|
||||
},
|
||||
getOrgAll() {
|
||||
this.treeLoding = true;
|
||||
getOrgAll().then(response => {
|
||||
this.orgData = genTree(response.data);
|
||||
this.treeLoding = false;
|
||||
});
|
||||
},
|
||||
getRoleAll() {
|
||||
getRoleAll().then(response => {
|
||||
this.roles = genTree(response.data);
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
getTypeOptions() {
|
||||
getDictList({ type__code: "train_type" }).then(response => {
|
||||
this.type_Options = genTree(response.data);
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
closeMoule(e) {
|
||||
|
||||
this.formData.employees = e,
|
||||
this.dialogVisible = false
|
||||
|
||||
|
||||
}
|
||||
,
|
||||
submitForm() {
|
||||
this.$refs["elForm"].validate(valid => {
|
||||
if (!valid) return;
|
||||
|
||||
// TODO 提交表单
|
||||
createTrain(this.formData).then(response => {
|
||||
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '成功!'
|
||||
|
||||
})
|
||||
this.$router.go(-1);
|
||||
});
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
resetForm() {
|
||||
this.$refs['elForm'].resetFields()
|
||||
},
|
||||
|
|
|
@ -1,109 +1,209 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="编号" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入编号" clearable :style="{width: '100%'}"></el-input>
|
||||
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="培训主题" prop="name">
|
||||
<el-input v-model="formData.name" placeholder="请输入培训主题" clearable :style="{width: '100%'}"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="培训机构" prop="train_org">
|
||||
<el-input v-model="formData.train_org" placeholder="请输入培训机构" clearable :style="{width: '100%'}"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="开始日期" prop="start_time">
|
||||
<el-date-picker v-model="formData.start_time"
|
||||
type="datetime"
|
||||
placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="结束日期" prop="end_time">
|
||||
<el-date-picker v-model="formData.end_time"
|
||||
type="datetime"
|
||||
placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="学时" prop="hours">
|
||||
<el-input v-model="formData.hours" placeholder="请输入学时" clearable :style="{width: '100%'}">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="考核方式" prop="kaohe_type">
|
||||
<el-input v-model="formData.kaohe_type" placeholder="请输入考核方式" clearable :style="{width: '100%'}">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="选择学员" prop="employees">
|
||||
<el-input v-model="formData.employees" readonly="readonly" clearable :style="{width: '80%'}">
|
||||
</el-input>
|
||||
<el-button type="text" @click="dialogVisible = true">选择</el-button>
|
||||
<el-dialog title="" :visible.sync="dialogVisible">
|
||||
<Userselet @closeMoule="closeMoule"></Userselet>
|
||||
</el-dialog>
|
||||
|
||||
<SpeciesAnalyzed @closeMoule="closeMoule"></SpeciesAnalyzed>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="培训讲师" prop="teacher">
|
||||
<el-input v-model="formData.teacher" placeholder="请输入培训讲师" clearable :style="{width: '100%'}">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="培训内容" prop="teacher">
|
||||
<el-input type="textarea" :rows="2" v-model="formData.content"
|
||||
placeholder="请输入培训内容"
|
||||
clearable
|
||||
:style="{width: '100%'}"></el-input>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="培训类型" prop="train_type">
|
||||
<el-select v-model="formData.train_type"
|
||||
placeholder="请选择机构类型"
|
||||
clearable
|
||||
:style="{width: '100%'}">
|
||||
<el-option v-for="(item, index) in type_Options"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
:value="item.value"
|
||||
:disabled="item.disabled">
|
||||
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="培训备注" prop="remark">
|
||||
<el-input v-model="formData.remark" placeholder="请输入培训备注" clearable :style="{width: '100%'}">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item size="large">
|
||||
<el-button type="primary" @click="submitForm">提交</el-button>
|
||||
<el-button @click="resetForm">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="易记码" prop="remember_code">
|
||||
<el-input v-model="formData.remember_code" placeholder="请输入易记码" clearable :style="{width: '100%'}">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="性别" prop="gender">
|
||||
<el-select v-model="formData.gender" placeholder="请选择性别" clearable :style="{width: '100%'}" >
|
||||
<el-option
|
||||
v-for="item in genderOptions"
|
||||
:key="item.key"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="座机号" prop="landline">
|
||||
<el-input v-model="formData.landline" placeholder="请输入座机" clearable :style="{width: '100%'}">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-input v-model="formData.email" placeholder="请输入邮箱" clearable :style="{width: '100%'}">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="职称" prop="gender">
|
||||
<el-select v-model="formData.pro_title" placeholder="请选择职称" clearable :style="{width: '100%'}" >
|
||||
<el-option
|
||||
v-for="item in titleOptions"
|
||||
:key="item.key"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="座机号" prop="landline">
|
||||
<el-input v-model="formData.landline" placeholder="请输入座机" clearable :style="{width: '100%'}">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-input v-model="formData.email" placeholder="请输入邮箱" clearable :style="{width: '100%'}">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item size="large">
|
||||
<el-button type="primary" @click="submitForm">提交</el-button>
|
||||
<el-button @click="resetForm">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
const defaultForm = {
|
||||
|
||||
}
|
||||
export default {
|
||||
components: {},
|
||||
props: [],
|
||||
data() {
|
||||
return {
|
||||
formData: Object.assign({}, defaultForm),
|
||||
rules: {},
|
||||
genderOptions:[
|
||||
{'value':'男','label':'男'},
|
||||
{'value':'女','label':'女'}
|
||||
]
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
created() {},
|
||||
mounted() {},
|
||||
methods: {
|
||||
submitForm() {
|
||||
this.$refs['elForm'].validate(valid => {
|
||||
if (!valid) return
|
||||
// TODO 提交表单
|
||||
import { createTrain,getTrain} from "@/api/train";
|
||||
import { getDictList } from "@/api/dict";
|
||||
import { genTree } from "@/utils";
|
||||
import { getOrgAll } from "@/api/org"
|
||||
import { getRoleAll } from "@/api/role"
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
import Userselet from '@/views/employee/userselet';
|
||||
const defaultForm = {
|
||||
|
||||
}
|
||||
export default {
|
||||
components: { Treeselect, Userselet },
|
||||
props: [],
|
||||
data() {
|
||||
return {
|
||||
|
||||
dialogVisible: false,
|
||||
formData: Object.assign({}, defaultForm),
|
||||
rules: {},
|
||||
type_Options: [
|
||||
],
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
created() {
|
||||
this.formData.id = this.$route.query.id, //接收参数
|
||||
this.getData(),
|
||||
this.getTypeOptions()
|
||||
|
||||
|
||||
},
|
||||
mounted() {
|
||||
this.list = this.$route.query.employeelist;
|
||||
this.formData.employees = this.$route.query.employeelist;
|
||||
console.log(this.list)
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
|
||||
getTrain(this.formData.id).then(response => {
|
||||
|
||||
this.formData = response.data
|
||||
})
|
||||
},
|
||||
resetForm() {
|
||||
this.$refs['elForm'].resetFields()
|
||||
},
|
||||
|
||||
getTypeOptions() {
|
||||
getDictList({ type__code: "train_type" }).then(response => {
|
||||
this.type_Options = genTree(response.data);
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
closeMoule(e) {
|
||||
|
||||
this.formData.employees = e,
|
||||
this.dialogVisible = false
|
||||
|
||||
|
||||
}
|
||||
,
|
||||
submitForm() {
|
||||
this.$refs["elForm"].validate(valid => {
|
||||
if (!valid) return;
|
||||
|
||||
// TODO 提交表单
|
||||
createTrain(this.formData).then(response => {
|
||||
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '成功!'
|
||||
|
||||
})
|
||||
this.$router.go(-1);
|
||||
});
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
resetForm() {
|
||||
this.$refs['elForm'].resetFields()
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -23,7 +23,9 @@
|
|||
</span>
|
||||
</el-tree>
|
||||
</el-col>
|
||||
<el-col :span="9">
|
||||
|
||||
<el-col :span="13">
|
||||
|
||||
<el-table ref="staffTable"
|
||||
v-loading="listLoading"
|
||||
:key="tableKey"
|
||||
|
@ -35,13 +37,18 @@
|
|||
<el-table-column type="selection" :reserve-selection="true" width="55"></el-table-column>
|
||||
<el-table-column label="姓名" align="center">
|
||||
<template slot-scope="{row}">
|
||||
<span>{{ row.name }}</span>
|
||||
<span>{{ row.user.name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="邮箱" align="center">
|
||||
<el-table-column label="职务" align="center">
|
||||
<template slot-scope="{row}">
|
||||
<span>{{ row.email }}</span>
|
||||
<span>{{ row.user.position }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="部门" align="center">
|
||||
<template slot-scope="{row}">
|
||||
<span>{{ row.user.dept_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -59,7 +66,7 @@
|
|||
circle
|
||||
style="margin-left: 0;margin-top: 10px;"></el-button>
|
||||
</el-col>
|
||||
<el-col :span="9">
|
||||
<el-col :span="5">
|
||||
<el-table ref="selectedStaffTable"
|
||||
v-loading="listLoading"
|
||||
:key="tableKey"
|
||||
|
@ -71,26 +78,10 @@
|
|||
<el-table-column type="selection" :reserve-selection="true" width="55"></el-table-column>
|
||||
<el-table-column label="姓名" align="center">
|
||||
<template slot-scope="{row}">
|
||||
<span>{{ row.name }}</span>
|
||||
<span>{{ row.user.name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="邮箱" align="center">
|
||||
<template slot-scope="{row}">
|
||||
<span>{{ row.email }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!--<el-table-column label="类型" align="center">
|
||||
<template slot-scope="{row}">
|
||||
<el-select class="filter-item" placeholder="请选择" v-model="row.staffTypeId">
|
||||
<el-option v-for="item in staffOptions"
|
||||
:key="item.key"
|
||||
:label="item.display_name"
|
||||
:value="item.key"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
</el-table>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -101,7 +92,8 @@
|
|||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import checkPermission from '@/utils/permission'
|
||||
import { getEmployeeList, deleteEmployee } from "@/api/employee"
|
||||
import checkPermission from '@/utils/permission'
|
||||
import { getUserList} from "@/api/user"
|
||||
import { getDictList } from "@/api/dict"
|
||||
import { genTree } from "@/utils"
|
||||
|
@ -119,6 +111,9 @@ export default {
|
|||
props: [],
|
||||
data() {
|
||||
return {
|
||||
|
||||
|
||||
dialogVisible: false,
|
||||
listLoading: true,
|
||||
staffTemp: {
|
||||
name: "",
|
||||
|
@ -148,10 +143,12 @@ data() {
|
|||
],
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
watch: {
|
||||
|
||||
filterText(val) {
|
||||
this.$refs.tree.filter(val);
|
||||
}
|
||||
},
|
||||
|
||||
},
|
||||
created() {
|
||||
this.getStaffList(),
|
||||
|
@ -180,7 +177,7 @@ methods: {
|
|||
this.getStaffList();
|
||||
},
|
||||
getStaffList() {
|
||||
getUserList(this.listQuery).then(response => {
|
||||
getEmployeeList(this.listQuery).then(response => {
|
||||
|
||||
this.staffList = response.data.results;
|
||||
|
||||
|
@ -265,8 +262,23 @@ methods: {
|
|||
// 提交
|
||||
modifyStaff() {
|
||||
|
||||
console.log(this.selectedStaffList);
|
||||
|
||||
var userlist = [];
|
||||
var userNameList = [];
|
||||
for (let i = 0; i < this.selectedStaffList.length; i++) {
|
||||
|
||||
userlist[i]=this.selectedStaffList[i].id
|
||||
userNameList[i]= this.selectedStaffList[i].user.name
|
||||
|
||||
}
|
||||
|
||||
|
||||
this.$emit('closeMoule',userlist)
|
||||
|
||||
|
||||
this.dialogVisible = false
|
||||
|
||||
console.log(this.selectedStaffList[0].name)
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -422,12 +422,7 @@
|
|||
code: [{ required: true, message: '请输入工厂编号', trigger: 'blur' }]
|
||||
},
|
||||
field101Options: [],
|
||||
field101Props: {
|
||||
"multiple": false,
|
||||
"label": "name",
|
||||
"value": "code",
|
||||
"children": "children"
|
||||
},
|
||||
|
||||
|
||||
};
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue