Commit b5916621 by 史敦盼

bug修复

1 parent d0d7be7c
This diff could not be displayed because it is too large.
...@@ -63,8 +63,8 @@ export default { ...@@ -63,8 +63,8 @@ export default {
prop: 'createMan', // 字段名 prop: 'createMan', // 字段名
element: 'el-input', // 指定elementui组件 element: 'el-input', // 指定elementui组件
initValue: '', // 字段初始值 initValue: '', // 字段初始值
placeholder: '请输入内容', // elementui组件属性 // placeholder: '请输入内容', // elementui组件属性
rules: [], readonly: true,
}, },
{ {
label: '创建时间', // label文字 label: '创建时间', // label文字
...@@ -74,6 +74,7 @@ export default { ...@@ -74,6 +74,7 @@ export default {
element: 'el-date-picker', // 指定elementui组件 element: 'el-date-picker', // 指定elementui组件
initValue: new Date().format('yyyy-MM-dd'), // 字段初始值 initValue: new Date().format('yyyy-MM-dd'), // 字段初始值
placeholder: '请选择', // elementui组件属性 placeholder: '请选择', // elementui组件属性
readonly: true,
}, },
{ {
label: '年度', // label文字 label: '年度', // label文字
...@@ -100,7 +101,6 @@ export default { ...@@ -100,7 +101,6 @@ export default {
element: 'el-input', // 指定elementui组件 element: 'el-input', // 指定elementui组件
placeholder: '请输入内容', // elementui组件属性 placeholder: '请输入内容', // elementui组件属性
span: 24, span: 24,
rules: [{ required: true, trigger: 'blur', message: '不能为空' }],
}, },
] ]
}, },
......
<template> <template>
<div class="etpManage"> <div class="etpManage">
<div class="table_container"> <div class="table_container">
<div class="search_menu"> <div class="search_menu">
<div class="search_menu_item_container"> <div class="search_menu_item_container">
<div class="search_menu_item"> <div class="search_menu_item">
<span class="search_title">专家库名称</span> <span class="search_title">专家库名称</span>
<el-input v-model="searchParams.talentPoolName" placeholder="请输入内容" class="search_item"></el-input> <el-input
</div> v-model="searchParams.talentPoolName"
<div class="search_menu_item"> placeholder="请输入内容"
<span class="search_title">专家标签</span> class="search_item"
<el-select v-model="searchParams.tagId" placeholder="请选择" clearable class="search_item"> ></el-input>
<el-option v-for="(item,idnex) in selectData3" :key="idnex" :label="item.label" :value="item.value" ></el-option> </div>
</el-select> <div class="search_menu_item">
</div> <span class="search_title">专家标签</span>
<div class="search_menu_item"> <el-select
<span class="search_title">专家状态</span> v-model="searchParams.tagId"
<el-select v-model="searchParams.state" placeholder="请选择" clearable class="search_item"> placeholder="请选择"
<el-option v-for="(item,idnex) in selectData4" :key="idnex" :label="item.label" :value="item.value" ></el-option> clearable
</el-select> class="search_item"
</div> >
</div> <el-option
<div class="search_menu_btn_container"> v-for="(item, idnex) in selectData3"
<div class="query_btn" @click="search_table"> :key="idnex"
<img class="btn_icon" src="@/assets/archi-ele-list/search.png" alt="" /> :label="item.label"
<p>查询</p> :value="item.value"
</div> ></el-option>
<div class="reset_btn" @click="reset"> </el-select>
<img class="btn_icon" src="@/assets/archi-ele-list/reset.png" alt="" /> </div>
<p>重置</p> <div class="search_menu_item">
</div> <span class="search_title">专家状态</span>
</div> <el-select
</div> v-model="searchParams.state"
<div class="search_btn"> placeholder="请选择"
<el-button type="primary" size="medium" icon="el-icon-document-add" @click="operate('add')">新建</el-button> clearable
<el-button type="primary" size="medium" icon="el-icon-delete" @click="operate('delMultiple')">删除</el-button> class="search_item"
<!-- <el-button type="primary" size="medium" icon="el-icon-plus" @click="exportFile">导出</el-button> --> >
</div> <el-option
<el-table :height="tableHeight" :data="tableData" stripe border @selection-change="handleSelectionChange"> v-for="(item, idnex) in selectData4"
<!-- <el-table-column type="selection" width="55" :selectable="selectInit"></el-table-column> --> :key="idnex"
<el-table-column type="selection" width="55"></el-table-column> :label="item.label"
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column> :value="item.value"
<el-table-column prop="talentPoolName" label="专家库名称" align="center"></el-table-column> ></el-option>
<el-table-column prop="deptName" label="单位" width="150" align="center"></el-table-column> </el-select>
<el-table-column prop="talentName" label="专家名称" align="center"></el-table-column> </div>
<el-table-column prop="" width="250" label="专家标签" align="center"> </div>
<template slot-scope="scope"> <div class="search_menu_btn_container">
<div class="tagName"> <div class="query_btn" @click="search_table">
<el-tag <img
v-for="item in scope.row.tagIdlist" class="btn_icon"
:key="item.tagId"> src="@/assets/archi-ele-list/search.png"
{{ item.name }} alt=""
</el-tag> />
</div> <p>查询</p>
</template> </div>
</el-table-column> <div class="reset_btn" @click="reset">
<el-table-column prop="level_" label="专家级别" align="center"></el-table-column> <img
<el-table-column prop="comments" label="专家评价" align="center"></el-table-column> class="btn_icon"
<el-table-column prop="state_" label="专家状态" width="150" align="center"></el-table-column> src="@/assets/archi-ele-list/reset.png"
<el-table-column prop="remark" label="备注" align="center"></el-table-column> alt=""
<el-table-column label="操作" width="200" align="center"> />
<template slot-scope="scope"> <p>重置</p>
<div style="display: flex;align-items: center;justify-content: center;"> </div>
<el-button type="primary" icon="el-icon-edit" size="mini" @click="operate('edit',scope.row)">编辑</el-button> </div>
<el-button class="delBtn" type="primary" icon="el-icon-delete" size="mini" @click="operate('del',scope.row)">删除</el-button> </div>
</div> <div class="search_btn">
</template> <el-button
</el-table-column> type="primary"
</el-table> size="medium"
<el-pagination icon="el-icon-document-add"
background @click="operate('add')"
@size-change="handleSizeChange" >新建</el-button
@current-change="handleCurrentChange" >
:current-page="pager.current" <el-button
:page-sizes="pager.sizes" type="primary"
:page-size="pager.size" size="medium"
layout="total, sizes, prev, pager, next, jumper" icon="el-icon-delete"
:total="pager.total"> @click="operate('delMultiple')"
</el-pagination> >删除</el-button
</div> >
<!-- <el-button type="primary" size="medium" icon="el-icon-plus" @click="exportFile">导出</el-button> -->
</div>
<el-table
:height="tableHeight"
:data="tableData"
stripe
border
@selection-change="handleSelectionChange"
>
<!-- <el-table-column type="selection" width="55" :selectable="selectInit"></el-table-column> -->
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column
type="index"
label="序号"
width="80"
align="center"
></el-table-column>
<el-table-column
prop="talentPoolName"
label="专家库名称"
align="center"
></el-table-column>
<el-table-column
prop="deptName"
label="单位"
width="150"
align="center"
></el-table-column>
<el-table-column
prop="talentName"
label="专家名称"
align="center"
></el-table-column>
<el-table-column prop="" width="250" label="专家标签" align="center">
<template slot-scope="scope">
<div class="tagName">
<el-tag v-for="item in scope.row.tagIdlist" :key="item.tagId">
{{ item.name }}
</el-tag>
</div>
</template>
</el-table-column>
<el-table-column
prop="level_"
label="专家级别"
align="center"
></el-table-column>
<el-table-column
prop="comments"
label="专家评价"
align="center"
></el-table-column>
<el-table-column
prop="state_"
label="专家状态"
width="150"
align="center"
></el-table-column>
<el-table-column
prop="remark"
label="备注"
align="center"
></el-table-column>
<el-table-column label="操作" width="200" align="center">
<template slot-scope="scope">
<div
style="
display: flex;
align-items: center;
justify-content: center;
"
>
<el-button
type="primary"
icon="el-icon-edit"
size="mini"
@click="operate('edit', scope.row)"
>编辑</el-button
>
<el-button
class="delBtn"
type="primary"
icon="el-icon-delete"
size="mini"
@click="operate('del', scope.row)"
>删除</el-button
>
</div>
</template>
</el-table-column>
</el-table>
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pager.current"
:page-sizes="pager.sizes"
:page-size="pager.size"
layout="total, sizes, prev, pager, next, jumper"
:total="pager.total"
>
</el-pagination>
</div>
<el-dialog <el-dialog
:title="title" :title="title"
:visible.sync="add_dialog" :visible.sync="add_dialog"
:center="false" :center="false"
width="55%"> width="55%"
<div class="add_dialog_content"> >
<div class="dialog_content_1"> <div class="add_dialog_content">
<div class="dialog_form_item"> <div class="dialog_content_1">
<div class="dialog_form_item_title">单位</div> <div class="dialog_form_item">
<el-input v-model="formData.deptName" placeholder="请输入内容" class="search_item"></el-input> <div class="dialog_form_item_title">单位</div>
</div> <el-input
<div class="dialog_form_item"> v-model="formData.deptName"
<div class="dialog_form_item_title">专家库名称</div> placeholder="请输入内容"
<el-select v-model="formData.talentPoolName" placeholder="请选择" clearable class="search_item"> class="search_item"
<el-input placeholder="请输入内容" v-model="add_select1_value"> ></el-input>
<div slot="append" @click="add_select1"> </div>
新增 <div class="dialog_form_item">
</div> <div class="dialog_form_item_title">专家库名称</div>
</el-input> <el-select
<el-option v-for="(item,idnex) in selectData1" :key="idnex" :label="item.talentPoolName" :value="item.talentPoolName" ></el-option> v-model="formData.talentPoolName"
</el-select> placeholder="请选择"
</div> clearable
<div class="dialog_form_item"> class="search_item"
<div class="dialog_form_item_title">专家名称</div> >
<el-input v-model="formData.talentName" placeholder="请输入内容" class="search_item"></el-input> <el-input placeholder="请输入内容" v-model="add_select1_value">
</div> <div slot="append" @click="add_select1">新增</div>
</div> </el-input>
<div class="dialog_content_1"> <el-option
<div class="dialog_form_item"> v-for="(item, idnex) in selectData1"
<div class="dialog_form_item_title">专家标签</div> :key="idnex"
<el-select v-model="formData.taglist" placeholder="请选择" clearable class="search_item" :multiple="true"> :label="item.talentPoolName"
<el-option v-for="(item,idnex) in selectData3" :key="idnex" :label="item.label" :value="item.value" ></el-option> :value="item.talentPoolName"
</el-select> ></el-option>
</div> </el-select>
<div class="dialog_form_item"> </div>
<div class="dialog_form_item_title">专家级别</div> <div class="dialog_form_item">
<el-select v-model="formData.level" placeholder="请选择" clearable class="search_item"> <div class="dialog_form_item_title">专家名称</div>
<el-option v-for="(item,idnex) in selectData2" :key="idnex" :label="item.label" :value="item.value" ></el-option> <el-input
</el-select> v-model="formData.talentName"
</div> placeholder="请输入内容"
<div class="dialog_form_item"> class="search_item"
<div class="dialog_form_item_title">专家评价</div> ></el-input>
<el-input v-model="formData.comments" placeholder="请输入内容" class="search_item"></el-input> </div>
</div> </div>
</div> <div class="dialog_content_1">
<div class="dialog_content_1"> <div class="dialog_form_item">
<div class="dialog_form_item"> <div class="dialog_form_item_title">专家标签</div>
<div class="dialog_form_item_title">专家状态</div> <el-select
<el-select v-model="formData.state" placeholder="请选择" clearable class="search_item"> v-model="formData.taglist"
<el-option v-for="(item,idnex) in selectData4" :key="idnex" :label="item.label" :value="item.value" ></el-option> placeholder="请选择"
</el-select> clearable
</div> class="search_item"
</div> :multiple="true"
<div class="dialog_form_item"> >
<div class="dialog_form_item_title">备注</div> <el-option
<el-input type="textarea" :rows="2" placeholder="请输入内容" class="dialog_form_item_content" v-model="formData.remark"></el-input> v-for="(item, idnex) in selectData3"
</div> :key="idnex"
</div> :label="item.label"
<span slot="footer" class="dialog-footer"> :value="item.value"
<el-button class="greenButton" @click="operate('create')">保存</el-button> ></el-option>
<el-button @click="add_dialog = false">取消</el-button> </el-select>
</span> </div>
</el-dialog> <div class="dialog_form_item">
</div> <div class="dialog_form_item_title">专家级别</div>
<el-select
v-model="formData.level"
placeholder="请选择"
clearable
class="search_item"
>
<el-option
v-for="(item, idnex) in selectData2"
:key="idnex"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
<div class="dialog_form_item">
<div class="dialog_form_item_title">专家评价</div>
<el-input
v-model="formData.comments"
placeholder="请输入内容"
class="search_item"
></el-input>
</div>
</div>
<div class="dialog_content_1">
<div class="dialog_form_item">
<div class="dialog_form_item_title">专家状态</div>
<el-select
v-model="formData.state"
placeholder="请选择"
clearable
class="search_item"
>
<el-option
v-for="(item, idnex) in selectData4"
:key="idnex"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
</div>
<div class="dialog_form_item">
<div class="dialog_form_item_title">备注</div>
<el-input
type="textarea"
:rows="2"
placeholder="请输入内容"
class="dialog_form_item_content"
v-model="formData.remark"
></el-input>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="operate('create')"
>保存</el-button
>
<el-button @click="add_dialog = false">取消</el-button>
</span>
</el-dialog>
</div>
</template> </template>
<script> <script>
import { import {
getETPManageList, getETPManageList,
getETPManageAdd, getETPManageAdd,
...@@ -156,606 +318,613 @@ import { ...@@ -156,606 +318,613 @@ import {
getDianXingAnLiSelectData, getDianXingAnLiSelectData,
getETPManagePoolName, getETPManagePoolName,
getETPManagePoolNameAdd, getETPManagePoolNameAdd,
} from "@/api/index.js"; } from '@/api/index.js'
import $ from 'jquery'; import $ from 'jquery'
import { MessageBox, Message } from 'element-ui'; import { MessageBox, Message } from 'element-ui'
export default { export default {
name: 'etpManage', name: 'etpManage',
components: { components: {},
data() {
}, return {
data() { tableData: [],
return { selectList: [],
tableData: [], add_dialog: false,
selectList: [], add_dialog3: false,
add_dialog: false, title: '',
add_dialog3: false, openType: '',
title: "", formData: {
openType: "", deptName: '',
formData: { talentPoolName: '',
deptName: "", talentName: '',
talentPoolName: "", taglist: [],
talentName: "", level: '',
taglist: [], comments: '',
level: "", state: '',
comments: "", remark: '',
state: "", talentId: null,
remark: "", },
talentId: null, searchParams: {
}, talentPoolName: '',
searchParams: { tagId: '',
talentPoolName: "", state: '',
tagId: "", },
state: "", pager: {
}, current: 1,
pager: { sizes: [10, 20, 50, 100, 200],
current: 1, size: 10,
sizes: [10, 20, 50, 100, 200], total: 0, //总条数
size: 10, },
total: 0, //总条数 selectData1: [],
}, selectData2: [],
selectData1: [], selectData3: [],
selectData2: [], selectData4: [],
selectData3: [], eleList: [],
selectData4: [], radioName: '',
eleList: [], search_select1: [],
radioName: "", tableHeight: null,
search_select1: [], add_select1_value: '',
tableHeight: null, }
add_select1_value: '' },
}; mounted() {
}, window.addEventListener('resize', () => {
mounted() { this.set_table_height()
window.addEventListener('resize', () => { })
this.set_table_height(); this.set_table_height()
})
this.set_table_height();
// 获取元素列表
this.getSelect1();
this.getSelect2().then(res => {
this.selectData2 = res;
});
this.getSelect3().then(res => {
this.selectData3 = res;
});
this.getSelect4().then(res => {
this.selectData4 = res;
});
},
created() {
// 初始化查询列表
this.getList();
},
methods: {
search_table() {//搜索
this.pager.current = 1;
this.getList();
},
// 查询列表
getList() {
this.loading = true;
const params = {
"talentPoolName": this.searchParams.talentPoolName,
"tagId": this.searchParams.tagId,
"state": this.searchParams.state,
"current": this.pager.current,
"pageSize": this.pager.size,
};
getETPManageList(params).then(res => {
Promise.all([ this.getSelect2(), this.getSelect4(), this.getSelect3() ]).then(res2 => {
res.records.map(item => {
if(item.tagIdlist && item.tagIdlist.length > 0) {
res2[2].forEach(item2 => {
item.tagIdlist.map(item3 => {
if(item2.value == item3.tagId) {
item3['name'] = item2.label;
}
})
})
}
let result1 = res2[0].find(item2 => item2.value == item.level);
let result2 = res2[1].find(item2 => item2.value == item.state);
item['level_'] = result1 ? result1.label : '';
item['state_'] = result2 ? result2.label : '';
});
this.pager.current = res.current;
this.pager.total = res.total;
this.pager.size = res.size;
this.tableData = res.records;
})
});
},
// 重置
reset(){
this.params = {
talentPoolName: "",
tagId: "",
state: "",
}
},
// 分页事件
handleSizeChange(val) {
this.page.current = 1;
this.page.size = val;
this.getList();
},
handleCurrentChange(val) {
this.page.current = val;
this.getList();
},
// 所有操作
operate(type,item){
this.openType = type;
if (type == "add") {
this.add_dialog = true;
this.title = "新建专家人才库";
this.resetForm();
this.formData.talentId = null;
}else if (type == "edit") {
this.add_dialog = true;
this.title = "编辑专家人才库";
this.resetForm();
// this.formData = item;
this.formData.deptName = item.deptName;
this.formData.talentPoolName = Number(item.talentPoolName);
this.formData.talentName = item.talentName;
this.formData.state = String(item.state);
this.formData.level = String(item.level);
this.formData.taglist = [];
if(item.tagIdlist) {
item.tagIdlist.forEach(item => {
this.formData.taglist.push(String(item.tagId));
});
}
this.formData.comments = item.comments;
this.formData.remark = item.remark;
this.formData.talentId = item.talentId;
}else if (type == "create") {
let tagIdlist_ = [];
this.selectData3.forEach(item1 => {
this.formData.taglist.forEach(item2 => {
if (item1.value == item2) {
tagIdlist_.push(
{
tagId: item1.value,
}
)
}
})
})
const params = { ...this.formData, taglist: tagIdlist_ }; // 获取元素列表
if (this.formData.talentId) { this.getSelect1()
this.getSelect2().then((res) => {
this.selectData2 = res
})
this.getSelect3().then((res) => {
this.selectData3 = res
})
this.getSelect4().then((res) => {
this.selectData4 = res
})
},
created() {
// 初始化查询列表
this.getList()
},
methods: {
search_table() {
//搜索
this.pager.current = 1
this.getList()
},
// 查询列表
getList() {
this.loading = true
const params = {
talentPoolName: this.searchParams.talentPoolName,
tagId: this.searchParams.tagId,
state: this.searchParams.state,
current: this.pager.current,
pageSize: this.pager.size,
}
getETPManageList(params).then((res) => {
Promise.all([
this.getSelect2(),
this.getSelect4(),
this.getSelect3(),
]).then((res2) => {
res.records.map((item) => {
if (item.tagIdlist && item.tagIdlist.length > 0) {
res2[2].forEach((item2) => {
item.tagIdlist.map((item3) => {
if (item2.value == item3.tagId) {
item3['name'] = item2.label
}
})
})
}
let result1 = res2[0].find((item2) => item2.value == item.level)
let result2 = res2[1].find((item2) => item2.value == item.state)
item['level_'] = result1 ? result1.label : ''
item['state_'] = result2 ? result2.label : ''
})
this.pager.current = res.current
this.pager.total = res.total
this.pager.size = res.size
this.tableData = res.records
})
})
},
// 重置
reset() {
this.params = {
talentPoolName: '',
tagId: '',
state: '',
}
},
// 分页事件
handleSizeChange(val) {
this.pager.current = 1
this.pager.size = val
this.getList()
},
handleCurrentChange(val) {
this.pager.current = val
this.getList()
},
// 所有操作
operate(type, item) {
this.openType = type
if (type == 'add') {
this.add_dialog = true
this.title = '新建专家人才库'
this.resetForm()
this.formData.talentId = null
} else if (type == 'edit') {
this.add_dialog = true
this.title = '编辑专家人才库'
this.resetForm()
// this.formData = item;
this.formData.deptName = item.deptName
this.formData.talentPoolName = Number(item.talentPoolName)
this.formData.talentName = item.talentName
this.formData.state = String(item.state)
this.formData.level = String(item.level)
this.formData.taglist = []
if (item.tagIdlist) {
item.tagIdlist.forEach((item) => {
this.formData.taglist.push(String(item.tagId))
})
}
// 编辑保存 this.formData.comments = item.comments
getETPManageUpdate(params).then(res => { this.formData.remark = item.remark
if (res.code == 200) { this.formData.talentId = item.talentId
this.$message.success("保存成功"); } else if (type == 'create') {
this.add_dialog = false; let tagIdlist_ = []
this.getList(); this.selectData3.forEach((item1) => {
}else{ this.formData.taglist.forEach((item2) => {
this.add_dialog = false; if (item1.value == item2) {
this.$message.error(res.msg); tagIdlist_.push({
} tagId: item1.value,
}); })
}else{ }
// 新建保存 })
getETPManageAdd(params).then(res => { })
if (res.code == 200) {
this.$message.success("保存成功");
this.add_dialog = false;
this.getList();
}else{
this.add_dialog = false;
this.$message.error(res.msg);
}
});
}
}else if (type == "del") {
// 删除
const params = {
talentId: item.talentId,
delFlag: 1,
}
this.$confirm("确认删除吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
confirmButtonClass: 'confirmClass',
type: "warning"
}).then(() => {
getETPManageUpdate(params).then(res => {
if (res.code == 200) {
this.$message.success("删除成功");
this.getList();
}else{
this.$message.error(res.msg);
}
});
}).catch(() => {
});
}else if (type == "delMultiple") {
if (this.selectList.length <= 0) {
this.$message.error("请选择一项进行删除");
return;
}
let params = {
talentId: [],
};
this.selectList.map(item => {
params.talentId.push(item.talentId)
})
this.$confirm("确认批量删除吗", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
confirmButtonClass: 'confirmClass',
type: "warning"
}).then(() => {
getETPManageDelBatch(params).then(res => {
if (res.code == 200) {
this.$message.success("批量删除成功");
this.getList();
}else{
this.$message.error(res.msg);
}
});
}).catch(() => {
});
}
},
// 新建清空表单
resetForm(){
this.formData = {
deptName: "",
talentPoolName: "",
talentName: "",
taglist: [],
level: "",
comments: "",
state: "",
remark: "",
}
this.labelList = [];
},
exportFile() {//导出
// getTypicalExampleExcel(this.params).then(res => {
// let blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
// let url = URL.createObjectURL(blob);
// let link = document.createElement('a');
// link.href = url;
// document.body.appendChild(link);
// link.click();
// })
},
add_select1() {//新增专家库名称
const params = {
talentPoolName: this.add_select1_value
}
getETPManagePoolNameAdd(params).then(res => {
if(res.code == 200) {
Message({
type: 'success',
message: '新增成功!'
});
this.getSelect1();
}
})
},
getSelect1() {//专家库下来
getETPManagePoolName().then(res => {
if(res.code == 200) {
this.selectData1 = res.data;
}
})
},
getSelect2() {//专家级别下拉
const params = {
key: "talent_level"
}
return new Promise((resolve, reject) => {
getDianXingAnLiSelectData(params).then(res => {
if(res.code == 200) {
resolve(res.data);
}
})
})
},
getSelect3() {//专家标签下拉
const params = {
key: "talent_tag"
}
return new Promise((resolve, reject) => {
getDianXingAnLiSelectData(params).then(res => {
if(res.code == 200) {
resolve(res.data);
}
})
})
},
getSelect4() {//专家状态下拉
const params = {
key: "talent_status"
}
return new Promise((resolve, reject) => {
getDianXingAnLiSelectData(params).then(res => {
if(res.code == 200) {
resolve(res.data);
}
})
})
},
set_table_height() {//动态设置表格高度 const params = { ...this.formData, taglist: tagIdlist_ }
const table_container_height = $(".table_container").height(); if (this.formData.talentId) {
const search_menu_height = $(".search_menu").height(); // 编辑保存
const search_btn_height = $(".search_btn").outerHeight(true); getETPManageUpdate(params).then((res) => {
this.tableHeight = table_container_height - search_menu_height - search_btn_height - 90 + 'px'; if (res.code == 200) {
}, this.$message.success('保存成功')
// 表格多选 this.add_dialog = false
handleSelectionChange(e) { this.getList()
this.selectList = e; } else {
}, this.add_dialog = false
selectInit(row,index){ this.$message.error(res.msg)
if(row.state != "1"){ }
return true //可勾选 })
}else{ } else {
return false //不可勾选 // 新建保存
} getETPManageAdd(params).then((res) => {
}, if (res.code == 200) {
this.$message.success('保存成功')
this.add_dialog = false
this.getList()
} else {
this.add_dialog = false
this.$message.error(res.msg)
}
})
}
} else if (type == 'del') {
// 删除
const params = {
talentId: item.talentId,
delFlag: 1,
}
this.$confirm('确认删除吗', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
confirmButtonClass: 'confirmClass',
type: 'warning',
})
.then(() => {
getETPManageUpdate(params).then((res) => {
if (res.code == 200) {
this.$message.success('删除成功')
this.getList()
} else {
this.$message.error(res.msg)
}
})
})
.catch(() => {})
} else if (type == 'delMultiple') {
if (this.selectList.length <= 0) {
this.$message.error('请选择一项进行删除')
return
}
let params = {
talentId: [],
}
this.selectList.map((item) => {
params.talentId.push(item.talentId)
})
}, this.$confirm('确认批量删除吗', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
confirmButtonClass: 'confirmClass',
type: 'warning',
})
.then(() => {
getETPManageDelBatch(params).then((res) => {
if (res.code == 200) {
this.$message.success('批量删除成功')
this.getList()
} else {
this.$message.error(res.msg)
}
})
})
.catch(() => {})
}
},
// 新建清空表单
resetForm() {
this.formData = {
deptName: '',
talentPoolName: '',
talentName: '',
taglist: [],
level: '',
comments: '',
state: '',
remark: '',
}
this.labelList = []
},
exportFile() {
//导出
// getTypicalExampleExcel(this.params).then(res => {
// let blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
// let url = URL.createObjectURL(blob);
// let link = document.createElement('a');
// link.href = url;
// document.body.appendChild(link);
// link.click();
// })
},
add_select1() {
//新增专家库名称
const params = {
talentPoolName: this.add_select1_value,
}
getETPManagePoolNameAdd(params).then((res) => {
if (res.code == 200) {
Message({
type: 'success',
message: '新增成功!',
})
this.getSelect1()
}
})
},
getSelect1() {
//专家库下来
getETPManagePoolName().then((res) => {
if (res.code == 200) {
this.selectData1 = res.data
}
})
},
getSelect2() {
//专家级别下拉
const params = {
key: 'talent_level',
}
return new Promise((resolve, reject) => {
getDianXingAnLiSelectData(params).then((res) => {
if (res.code == 200) {
resolve(res.data)
}
})
})
},
getSelect3() {
//专家标签下拉
const params = {
key: 'talent_tag',
}
return new Promise((resolve, reject) => {
getDianXingAnLiSelectData(params).then((res) => {
if (res.code == 200) {
resolve(res.data)
}
})
})
},
getSelect4() {
//专家状态下拉
const params = {
key: 'talent_status',
}
return new Promise((resolve, reject) => {
getDianXingAnLiSelectData(params).then((res) => {
if (res.code == 200) {
resolve(res.data)
}
})
})
},
set_table_height() {
//动态设置表格高度
const table_container_height = $('.table_container').height()
const search_menu_height = $('.search_menu').height()
const search_btn_height = $('.search_btn').outerHeight(true)
this.tableHeight =
table_container_height -
search_menu_height -
search_btn_height -
90 +
'px'
},
// 表格多选
handleSelectionChange(e) {
this.selectList = e
},
selectInit(row, index) {
if (row.state != '1') {
return true //可勾选
} else {
return false //不可勾选
}
},
},
} }
</script> </script>
<style> <style>
.confirmClass{ .confirmClass {
background-color: #0D867F !important; background-color: #0d867f !important;
} }
.el-message-box__content{ .el-message-box__content {
padding: 60px 15px 60px 15px; padding: 60px 15px 60px 15px;
} }
</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
/deep/ .el-input-group__append{ /deep/ .el-input-group__append {
background-color: #0D867F; background-color: #0d867f;
color: #fff; color: #fff;
cursor: pointer; cursor: pointer;
} }
/deep/ .el-dialog__header{ /deep/ .el-dialog__header {
background-color: #0D867F; background-color: #0d867f;
text-align: left; text-align: left;
} }
/deep/ .el-dialog__title{ /deep/ .el-dialog__title {
color: #fff; color: #fff;
} }
/deep/ .el-dialog__close { /deep/ .el-dialog__close {
color: #fff; color: #fff;
} }
/deep/ .el-tag{ /deep/ .el-tag {
color: #0D867F; color: #0d867f;
} }
.etpManage{ .etpManage {
width: 100%; width: 100%;
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;
} }
.dialog_content_1{ .dialog_content_1 {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.el-input{ .el-input {
width: 210px; width: 210px;
} }
.el-select{ .el-select {
width: 210px; width: 210px;
} }
} }
.dialog_form_item3{ .dialog_form_item3 {
margin-top: 20px; margin-top: 20px;
display: flex; display: flex;
align-items: center; align-items: center;
.dialog_form_item3_content1{ .dialog_form_item3_content1 {
display: flex; display: flex;
align-items: center; align-items: center;
.tu_biao_icon2{ .tu_biao_icon2 {
width: 20px; width: 20px;
} }
} }
} }
.search_menu{ .search_menu {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
.search_menu_item_container{ .search_menu_item_container {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.search_menu_btn_container{ .search_menu_btn_container {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.search_menu_item{ .search_menu_item {
display: flex; display: flex;
align-items: center; align-items: center;
width: 344px; width: 344px;
} }
.search_title{ .search_title {
/* width: 20%; */ /* width: 20%; */
flex-shrink: 0; flex-shrink: 0;
margin-right: 15px; margin-right: 15px;
} }
.search_item{ .search_item {
width: 60%; width: 60%;
} }
.search_btn{ .search_btn {
width: 100%; width: 100%;
display: flex; display: flex;
margin-top: 50px; margin-top: 50px;
margin-bottom: 20px; margin-bottom: 20px;
.el-button--primary{ .el-button--primary {
background: rgba(13,134,127,0.1); background: rgba(13, 134, 127, 0.1);
color: #0D867F; color: #0d867f;
border: 0; border: 0;
} }
} }
.el-button--primary{ .el-button--primary {
background: rgba(13,134,127,0.1); background: rgba(13, 134, 127, 0.1);
color: #0D867F; color: #0d867f;
border: 0; border: 0;
} }
.add_btn{ .add_btn {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
width: 76px; width: 76px;
height: 32px; height: 32px;
background: rgba(13,134,127,0.1); background: rgba(13, 134, 127, 0.1);
border-radius: 6px 6px 6px 6px; border-radius: 6px 6px 6px 6px;
border: 1px solid #0D867F; border: 1px solid #0d867f;
font-size: 14px; font-size: 14px;
color: #0D867F; color: #0d867f;
cursor: pointer; cursor: pointer;
} }
.version_btn{ .version_btn {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
width: 104px; width: 104px;
height: 32px; height: 32px;
background: rgba(13,134,127,0.1); background: rgba(13, 134, 127, 0.1);
border-radius: 6px 6px 6px 6px; border-radius: 6px 6px 6px 6px;
border: 1px solid #0D867F; border: 1px solid #0d867f;
font-size: 14px; font-size: 14px;
color: #0D867F; color: #0d867f;
cursor: pointer; cursor: pointer;
margin-left: 15px; margin-left: 15px;
} }
.query_btn{ .query_btn {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
width: 76px; width: 76px;
height: 32px; height: 32px;
background: rgba(13,134,127,1); background: rgba(13, 134, 127, 1);
border-radius: 6px 6px 6px 6px; border-radius: 6px 6px 6px 6px;
border: 1px solid #0D867F; border: 1px solid #0d867f;
font-size: 14px; font-size: 14px;
color: #fff; color: #fff;
margin-right: 10px; margin-right: 10px;
cursor: pointer; cursor: pointer;
}
} .reset_btn {
.reset_btn{ display: flex;
display: flex; align-items: center;
align-items: center; justify-content: center;
justify-content: center; width: 76px;
width: 76px; height: 32px;
height: 32px; background: rgba(244, 244, 244, 1);
background: rgba(244,244,244,1); border-radius: 6px 6px 6px 6px;
border-radius: 6px 6px 6px 6px; border: 1px solid #ccc;
border: 1px solid #ccc; font-size: 14px;
font-size: 14px; color: #666;
color: #666; cursor: pointer;
cursor: pointer; }
.btn_icon {
} margin-right: 10px;
.btn_icon{ }
margin-right: 10px; .table_container {
} width: 97%;
.table_container{ margin-top: 20px;
width: 97%; height: calc(100% - 40px);
margin-top: 20px; .tableIcon {
height: calc(100% - 40px); width: 100%;
.tableIcon{ display: flex;
width: 100%; justify-content: center;
display: flex; .iconItem {
justify-content: center; width: 30px;
.iconItem{ height: 30px;
width: 30px; }
height: 30px; }
} .delBtn {
} color: #dd6a15;
.delBtn{ background-color: #f8ebe2;
color: #DD6A15; }
background-color: #F8EBE2; .stopBtn {
} color: #e7a20e;
.stopBtn{ }
color: #E7A20E; .tagName {
} .el-tag {
.tagName{ margin: 0 5px;
.el-tag{ }
margin:0 5px; }
} }
} .el-pagination {
} margin-top: 50px;
.el-pagination{ }
margin-top: 50px; .dialog_form_item {
} display: flex;
.dialog_form_item{ align-items: center;
display: flex; margin-bottom: 10px;
align-items: center; .formArea {
margin-bottom: 10px; width: 900px;
.formArea{ border-radius: 5px;
width: 900px; border: 1px solid #0d867f;
border-radius: 5px; margin-top: 10px;
border: 1px solid #0D867F; .formLine {
margin-top: 10px; display: flex;
.formLine{ align-items: center;
display: flex; height: 50px;
align-items: center; margin-left: 10px;
height: 50px; .formItem {
margin-left: 10px; margin-left: 15px;
.formItem{ display: flex;
margin-left: 15px; align-items: center;
display: flex; .label {
align-items: center; width: 70px;
.label{ text-align: right;
width: 70px; margin-right: 5px;
text-align: right; }
margin-right: 5px; /deep/.el-select {
} width: 140px;
/deep/.el-select{ }
width: 140px; /deep/.el-input {
} width: 140px;
/deep/.el-input{ }
width: 140px; }
} .newBtn {
} margin-left: 15px;
.newBtn{ .addItem {
margin-left: 15px; background-color: #0d867f;
.addItem{ color: #fff;
background-color: #0D867F; }
color: #fff; }
} }
} }
} }
} .dialog_form_item_title {
} flex-shrink: 0;
.dialog_form_item_title{ margin-right: 15px;
flex-shrink: 0; width: 100px;
margin-right: 15px; text-align: right;
width: 100px; .reqIcon {
text-align: right; color: red;
.reqIcon{ }
color: red; }
} /deep/ .el-dialog__header {
} text-align: left;
/deep/ .el-dialog__header{ }
text-align: left; /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
} background-color: #0d867f;
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active{ }
background-color: #0D867F; .greenButton {
} background-color: #0d867f;
.greenButton{ color: #fff;
background-color: #0D867F; }
color: #fff; </style>
}
</style>
\ No newline at end of file
...@@ -458,7 +458,7 @@ export default { ...@@ -458,7 +458,7 @@ export default {
}) })
.then(() => { .then(() => {
let params = { let params = {
ids: [item.ktcId], ids: [item.caseId],
} }
getTypicalExampleDel(params).then((res) => { getTypicalExampleDel(params).then((res) => {
if (res.code == 200) { if (res.code == 200) {
...@@ -479,7 +479,7 @@ export default { ...@@ -479,7 +479,7 @@ export default {
ids: [], ids: [],
} }
this.selectList.map((item) => { this.selectList.map((item) => {
params.ids.push(item.ktcId) params.ids.push(item.caseId)
}) })
this.$confirm('确认批量删除吗', '提示', { this.$confirm('确认批量删除吗', '提示', {
...@@ -628,7 +628,7 @@ export default { ...@@ -628,7 +628,7 @@ export default {
padding: 60px 15px 60px 15px; padding: 60px 15px 60px 15px;
} }
</style> </style>
<style scoped> <style scoped lang="scss">
.form_item_container { .form_item_container {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!