321 lines
9.3 KiB
Vue
321 lines
9.3 KiB
Vue
<template>
|
|
<el-dialog
|
|
v-if="visible"
|
|
:visible.sync="visible"
|
|
:before-close="handleClose"
|
|
:append-to-body="true"
|
|
title="培训申请"
|
|
width="60%">
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
prop="TERRITORIALITY"
|
|
label="集团单位 "
|
|
>
|
|
<Treeselect
|
|
:options="jituanDanweiTreeData"
|
|
:normalizer="normalizer"
|
|
v-model="form.TERRITORIALITY"
|
|
placeholder="请选择集团单位 "
|
|
no-options-text="暂无数据"
|
|
no-children-text="暂无数据"
|
|
style="width: 100%;"
|
|
@select="getUserList($event)"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
prop="TERRITORIALITY_USER_ID"
|
|
label="审核人员"
|
|
>
|
|
<div style="display:flex;justify-content: space-between;align-items: flex-start;">
|
|
<el-select v-model="form.TERRITORIALITY_USER_ID">
|
|
<el-option
|
|
v-for="item in companyUserList"
|
|
:key="item.USER_ID"
|
|
:label="item.NAME"
|
|
:value="item.USER_ID"/>
|
|
</el-select>
|
|
</div>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
prop="MANAGER"
|
|
label="主管部门"
|
|
>
|
|
<Treeselect
|
|
:options="treeData"
|
|
:normalizer="normalizer"
|
|
v-model="form.MANAGER"
|
|
:disabled="true"
|
|
placeholder="请选择主管部门"
|
|
no-options-text="暂无数据"
|
|
no-children-text="暂无数据"
|
|
style="width: 100%;"
|
|
@select="getmanagerUserList($event)"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
prop="MANAGER_USER_ID"
|
|
label="审核人员"
|
|
>
|
|
<div style="display:flex;justify-content: space-between;align-items: flex-start;">
|
|
<el-select v-model="form.MANAGER_USER_ID">
|
|
<el-option
|
|
v-for="item in managercompanyUserList"
|
|
:key="item.USER_ID"
|
|
:label="item.NAME"
|
|
:value="item.USER_ID"/>
|
|
</el-select>
|
|
</div>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
prop="SUPERVISION"
|
|
label="安监部门"
|
|
>
|
|
<Treeselect
|
|
:options="treeData"
|
|
:normalizer="normalizer"
|
|
v-model="form.SUPERVISION"
|
|
:disabled="true"
|
|
placeholder="请选择安监部门"
|
|
no-options-text="暂无数据"
|
|
no-children-text="暂无数据"
|
|
style="width: 100%;"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
|
|
<el-col :span="12">
|
|
<el-form-item
|
|
prop="SUPERVISION_USER_ID"
|
|
label="审核人员"
|
|
>
|
|
<div style="display:flex;justify-content: space-between;align-items: flex-start;">
|
|
<el-select v-model="form.SUPERVISION_USER_ID">
|
|
<el-option v-for="item in userList" :key="item.USER_ID" :label="item.NAME" :value="item.USER_ID"/>
|
|
</el-select>
|
|
</div>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="24">
|
|
<el-form-item label="备注">
|
|
<el-input :rows="3" v-model="form.DESCR" type="textarea" placeholder="这里输入备注..."/>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button @click="closeWindow">取 消</el-button>
|
|
<el-button :loading="loading" type="primary" @click="save">确 定</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
</template>
|
|
|
|
<script>
|
|
import { requestFN } from '@/utils/request'
|
|
import Treeselect from '@riophae/vue-treeselect'
|
|
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
|
|
|
export default {
|
|
components: {
|
|
Treeselect
|
|
},
|
|
props: {
|
|
corpInfo: {
|
|
type: String,
|
|
default: ''
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
visible: false,
|
|
loading: false,
|
|
treeData: [],
|
|
companyTreeData: [],
|
|
corpinfo: {},
|
|
userList: [],
|
|
companyUserList: [],
|
|
managercompanyUserList: [],
|
|
jituanDanwei: '',
|
|
jituanDanweiTreeData: [],
|
|
normalizer(node) {
|
|
return {
|
|
id: node.id,
|
|
label: node.name,
|
|
children: node.nodes
|
|
}
|
|
},
|
|
form: {},
|
|
rules: {
|
|
// SUPERVISION: [{ required: true, message: '安监部门不能为空', trigger: 'blur' }],
|
|
SUPERVISION_USER_ID: [{ required: true, message: '审核人员不能为空', trigger: 'blur' }],
|
|
MANAGER: [{ required: true, message: '主管部门不能为空', trigger: 'blur' }],
|
|
MANAGER_USER_ID: [{ required: true, message: '审核人员不能为空', trigger: 'blur' }],
|
|
TERRITORIALITY: [{ required: true, message: '属地管理部门不能为空', trigger: 'blur' }],
|
|
TERRITORIALITY_USER_ID: [{ required: true, message: '审核人员不能为空', trigger: 'blur' }]
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
async init(e) {
|
|
if (e) {
|
|
this.users = e
|
|
}
|
|
this.visible = true
|
|
this.loading = false
|
|
this.form = {}
|
|
/**
|
|
* 获取相关方的 集团单位 corpinfo/getDataForEditByCorpInfoId
|
|
* 根据集团单位 找到 对应的 企业id
|
|
*/
|
|
await this.getCorpinfo()
|
|
},
|
|
getCorpinfo() {
|
|
requestFN(
|
|
'/corpinfo/getDataForEditByCorpInfoId',
|
|
{
|
|
CORPINFO_ID: JSON.parse(sessionStorage.getItem('user')).CORPINFO_ID,
|
|
tm: new Date().getTime()
|
|
}
|
|
).then((data) => {
|
|
this.corpinfo = data.pd
|
|
// 河港机械 jtdw002 1e6dbbe16004402f8d2c0e52afd9a676
|
|
// 河港港工 jtdw003 3a854eefa7894e06aaa1a2611bca80f6
|
|
// 河港检测 jtdw004 020578a4c1f04bc692ee25145c2efbe5
|
|
// 方宇物业 jtdw005 90966974de3c4b83aca6f8fd6432d5c2
|
|
|
|
if (data.pd.CORP_TYPE == 'jtdw002') {
|
|
this.jituanDanwei = '1e6dbbe16004402f8d2c0e52afd9a676'
|
|
}
|
|
if (data.pd.CORP_TYPE == 'jtdw003') {
|
|
this.jituanDanwei = '3a854eefa7894e06aaa1a2611bca80f6'
|
|
}
|
|
if (data.pd.CORP_TYPE == 'jtdw004') {
|
|
this.jituanDanwei = '020578a4c1f04bc692ee25145c2efbe5'
|
|
}
|
|
if (data.pd.CORP_TYPE == 'jtdw005') {
|
|
this.jituanDanwei = '90966974de3c4b83aca6f8fd6432d5c2'
|
|
}
|
|
this.getTreeData()
|
|
})
|
|
},
|
|
// 获得部门树
|
|
getTreeData() {
|
|
requestFN(
|
|
'/regulatoryApi/department/listTree',
|
|
{}
|
|
).then((data) => {
|
|
this.treeData = JSON.parse(data.zTreeNodes)
|
|
// 必须指定【股份-安全监督部】
|
|
this.form.SUPERVISION = 'c31058273a2d40f9b83dd8e5ae3a723c'
|
|
this.form.MANAGER = this.corpinfo.MAIN_DEPARTMENT
|
|
this.getRegulatoryUserList(this.form.SUPERVISION)
|
|
this.getmanagerUserList(this.corpinfo.MAIN_DEPARTMENT)
|
|
}).catch((e) => {
|
|
console.log(e)
|
|
})
|
|
|
|
if (this.jituanDanwei) {
|
|
requestFN(
|
|
'/companyApi/department/listTree',
|
|
{ CORPINFO_ID: this.jituanDanwei }
|
|
).then((data) => {
|
|
this.jituanDanweiTreeData = JSON.parse(data.zTreeNodes)
|
|
}).catch((e) => {
|
|
})
|
|
}
|
|
},
|
|
getRegulatoryUserList(DEPARTMENT_ID) {
|
|
requestFN(
|
|
'/regulatoryApi/user/listAll',
|
|
{
|
|
DEPARTMENT_ID: DEPARTMENT_ID,
|
|
ISASSESS: '1'
|
|
}
|
|
).then((data) => {
|
|
this.userList = data.userList
|
|
}).catch((e) => {
|
|
})
|
|
},
|
|
// 人员
|
|
getUserList({ id: DEPARTMENT_ID }) {
|
|
requestFN(
|
|
'/companyApi/user/listAll',
|
|
{
|
|
DEPARTMENT_ID
|
|
}
|
|
).then((data) => {
|
|
this.companyUserList = data.userList
|
|
}).catch((e) => {
|
|
})
|
|
},
|
|
getmanagerUserList(DEPARTMENT_ID) {
|
|
requestFN(
|
|
'/regulatoryApi/user/listAll',
|
|
{
|
|
DEPARTMENT_ID: DEPARTMENT_ID
|
|
}
|
|
).then((data) => {
|
|
this.managercompanyUserList = data.userList
|
|
}).catch((e) => {
|
|
})
|
|
},
|
|
|
|
save() {
|
|
this.$refs.form.validate(valid => {
|
|
if (valid) {
|
|
this.loading = true
|
|
this.form.USER_COUNT = this.users.length
|
|
this.form.AUDIT_STATUS = 0
|
|
this.form.TYPE = 2
|
|
requestFN(
|
|
'/trainingbatch/add',
|
|
{
|
|
...this.form,
|
|
users: this.users.join(',')
|
|
}
|
|
).then((data) => {
|
|
this.loading = false
|
|
this.$message({
|
|
message: '申请成功',
|
|
type: 'success'
|
|
})
|
|
this.handleClose()
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
} else {
|
|
return false
|
|
}
|
|
})
|
|
},
|
|
handleClose() {
|
|
this.visible = false
|
|
this.$emit('finish', '')
|
|
},
|
|
closeWindow() {
|
|
this.handleClose()
|
|
}
|
|
}
|
|
}
|
|
</script>
|