Authored by 王涛

Merge branch 'master-v32-lushangqing' into 'master'

【#1162】 变更负责人相关业务-角色权限无搜索,导出功能 #1



See merge request !629
... ... @@ -306,7 +306,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'upload', 'common', 'sessions',
let title=`
<div style="display: flex;justify-content: space-between; align-items: center;">
<span>"`+$(this).data('nickname')+`"相关业务批量变更</span>
<button id="exportBtn" type="button" class="layui-btn layui-btn-sm layui-btn-normal exportBtn">导出</button>
<!-- <button id="exportBtn" type="button" class="layui-btn layui-btn-sm layui-btn-normal exportBtn">导出</button>-->
</div>
`;
layer.open({
... ... @@ -317,57 +317,6 @@ layui.define(['table', 'form', 'admin', 'layer', 'upload', 'common', 'sessions',
id: 'batch_change_leaders',
content: ['/vue3/index.html#/vue3/batchChangeLeaders?'+urlParams, 'no'],
success:function (layero,index){
console.log("112233",$("#exportBtn"))
$(".exportBtn").unbind('click').on('click', function () {
console.log("669")
debugger
layer.open({
id:'exportChange',
content:'<div id="batch_change_select">123</div>',
btn: ['确定','取消'],
title:'导出相关业务',
type:'1',
area:['320px','170px'],
success:function (){
debugger
//获取字典中的变更相关业务选项卡
admin.req({
url: domainName + '/api-web/manage/ddic/findSucDdics/batch_change_leaders'
, method: 'POST'
, async: false
, success: function (res) {
if(res && res.data){
let content= xmSelect.render({
el: '#batch_change_select',
name: 'batchChangeTab',
// tips: '=服务商=',
// radio: true,
// clickClose: true,
filterable: true,
data:res.data,
prop: {
name: 'ddicName',
value: 'ddicCode'
},
on: function(data){
// setTimeout(function () {
// reloadTable();
// },500)
},
});
}
}
});
},
yes:function (index,layero) {
layer.msg('导出成功', {icon: 7});
layer.close(index)
}
})
})
},
cancel: function () {
// clearTimeout(obj.lineTimer);
... ...
<div class="batchChange-container" style="padding:10px;">
<el-row >
<el-col :span="24">
<el-col :span="22">
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane v-for="(item,index) in tabData" :key="index" :label="item.ddicName" :name="item.ddicCode">
... ... @@ -37,10 +37,55 @@
</div>
<div class="table-container" v-else>暂无数据</div>-->
</el-tab-pane>
<component :is="activeName" ref="roomDetail" />
</el-tabs>
</el-col>
<el-col :span="2">
<div style="padding:0 10px 6px;border-bottom: 2px solid var(--el-border-color-light);">
<el-button type="primary" @click="exportClick()" size="small" style="margin-left: 6px">导出</el-button>
</div>
</el-col>
</el-row>
</div>
\ No newline at end of file
<el-row>
<el-col :span="24">
<component :is="activeName" ref="roomDetail" />
</el-col>
</el-row>
</div>
<cm-dialog :title="title" width="500px" :showDialogVisible="show" @hidedialog="hidedialog" @okfunc="okExport">
<template v-slot>
<el-row>
<el-col :span="24">
<el-radio-group v-model="isAll">
<el-radio :label="1">导出全部</el-radio>
<el-radio :label="0">导出部分</el-radio>
</el-radio-group>
</el-col>
</el-row>
<el-row v-if="isAll==0">
<el-col :span="24" class="table-height">
<!-- <span style="margin-right:6px;"><el-button type="primary" @click="clickAll">全部</el-button></span>-->
<el-select
v-model="selectModel"
placeholder="请选择需要导出的页签"
multiple
style="width:80%"
clearable
filterable
>
<el-option
v-for="item in tabData"
:key="item.ddicCode"
:label="item.ddicName"
:value="item.ddicCode"
/>
</el-select>
</el-col>
</el-row>
</template>
</cm-dialog>
\ No newline at end of file
... ...
... ... @@ -40,12 +40,49 @@ export default {
},
setup: function (props, {attrs, slots, emit}) {
const {proxy} = Vue.getCurrentInstance();
const tabData=Vue.ref()
const activeName = Vue.ref('')
const tabData=Vue.ref();//页签列表数据
const activeName = Vue.ref('');//标签页显示的页签名称
let selectModel=Vue.ref([]);//导出列表选中的数据
let title=Vue.ref('导出列表');//导出列表弹框名称
let show=Vue.ref(false);//导出列表弹框是否显示
let isAll=Vue.ref(1);//导出全部或者部分
//页签点击事件
const handleClick = (tab, event) => {
console.log(tab, event)
}
//导出点击事件
const exportClick=()=>{
show.value=true;
}
//导出全部按钮点击事件
const clickAll=()=>{
let arr=[];
tabData.value.map(item=>{
arr.push(item.ddicCode)
})
selectModel.value=arr;
}
//导出弹框关闭事件
let hidedialog=(flag)=>{
show.value=flag;
}
//导出弹框确认事件
let okExport=()=>{
let params={
userName:proxy.$route.query.username,
}
if(isAll.value==0){
if(selectModel.value && selectModel.value.length>0){
params.code=selectModel.value.join(',');
}else{
proxy.$global.showMsg('请选择导出所需列表','warning');
return;
}
}else{
params.code='';
}
proxy.$http.downloadFile("/api-web/personnelChange/export", params);
}
//获取需变更的选项卡数据
let getBatchChangeData=()=>{
proxy.$http.post("/api-web/manage/ddic/findSucDdics/batch_change_leaders", {}, function (res) {
... ... @@ -64,6 +101,14 @@ export default {
activeName,
handleClick,
tabData,
selectModel,
title,
show,
exportClick,
hidedialog,
okExport,
clickAll,
isAll
}
}
}
\ No newline at end of file
... ...
... ... @@ -193,10 +193,7 @@ export default {
})
resTypeId.value=arr.join(",");//选中的值
}
//勾选数据行的checked
let handleSelect=(selection)=>{
console.log("selection",selection)
}
//获取资源类型数据
let getResourceTypoe=()=>{
proxy.$http.get(`/api-web/manage/restype/list`, {}, function (res) {
... ... @@ -324,7 +321,6 @@ export default {
getListData,
loadTableDataList,
handleSelect
}
}
}
\ No newline at end of file
... ...
<el-row>
<!--<el-row>
<el-col :span="24" class="search">
<div class="condition" >
<el-form ref=“form” style="display: flex;">
... ... @@ -11,7 +11,7 @@
</el-form>
</div>
</el-col>
</el-row>
</el-row>-->
<el-row style="margin-bottom: 10px;">
<div class="flex-div-start">
<el-button type="primary" @click="changeCancel()" size="small">取消</el-button>
... ...