Authored by wangtao

【1162】实现页面批量更改主辅负责人的操作,在各组更换业务相关负责人时,能在页面进行批量更改

Showing 19 changed files with 308 additions and 115 deletions
... ... @@ -55,6 +55,30 @@
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe67b;</span>
<div class="name">微信</div>
<div class="code-name">&amp;#xe67b;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe908;</span>
<div class="name">邮箱</div>
<div class="code-name">&amp;#xe908;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xeb42;</span>
<div class="name">短信群发</div>
<div class="code-name">&amp;#xeb42;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xea6f;</span>
<div class="name">业务资源拓扑</div>
<div class="code-name">&amp;#xea6f;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xeb67;</span>
<div class="name">仪表盘</div>
<div class="code-name">&amp;#xeb67;</div>
... ... @@ -1410,9 +1434,9 @@
<pre><code class="language-css"
>@font-face {
font-family: 'iconfont';
src: url('iconfont.woff2?t=1639498542236') format('woff2'),
url('iconfont.woff?t=1639498542236') format('woff'),
url('iconfont.ttf?t=1639498542236') format('truetype');
src: url('iconfont.woff2?t=1654501118919') format('woff2'),
url('iconfont.woff?t=1654501118919') format('woff'),
url('iconfont.ttf?t=1654501118919') format('truetype');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
... ... @@ -1439,6 +1463,42 @@
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont icon-weixin"></span>
<div class="name">
微信
</div>
<div class="code-name">.icon-weixin
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-youxiang"></span>
<div class="name">
邮箱
</div>
<div class="code-name">.icon-youxiang
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-duanxinqunfa"></span>
<div class="name">
短信群发
</div>
<div class="code-name">.icon-duanxinqunfa
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-yewuziyuantuopu"></span>
<div class="name">
业务资源拓扑
</div>
<div class="code-name">.icon-yewuziyuantuopu
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-yibiaopan"></span>
<div class="name">
仪表盘
... ... @@ -3474,6 +3534,38 @@
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-weixin"></use>
</svg>
<div class="name">微信</div>
<div class="code-name">#icon-weixin</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-youxiang"></use>
</svg>
<div class="name">邮箱</div>
<div class="code-name">#icon-youxiang</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-duanxinqunfa"></use>
</svg>
<div class="name">短信群发</div>
<div class="code-name">#icon-duanxinqunfa</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-yewuziyuantuopu"></use>
</svg>
<div class="name">业务资源拓扑</div>
<div class="code-name">#icon-yewuziyuantuopu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-yibiaopan"></use>
</svg>
<div class="name">仪表盘</div>
... ...
@font-face {
font-family: "iconfont"; /* Project id 2843738 */
src: url('iconfont.woff2?t=1639498542236') format('woff2'),
url('iconfont.woff?t=1639498542236') format('woff'),
url('iconfont.ttf?t=1639498542236') format('truetype');
src: url('iconfont.woff2?t=1654501118919') format('woff2'),
url('iconfont.woff?t=1654501118919') format('woff'),
url('iconfont.ttf?t=1654501118919') format('truetype');
}
.iconfont {
... ... @@ -13,6 +13,22 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-weixin:before {
content: "\e67b";
}
.icon-youxiang:before {
content: "\e908";
}
.icon-duanxinqunfa:before {
content: "\eb42";
}
.icon-yewuziyuantuopu:before {
content: "\ea6f";
}
.icon-yibiaopan:before {
content: "\eb67";
}
... ...
... ... @@ -6,6 +6,34 @@
"description": "",
"glyphs": [
{
"icon_id": "1206404",
"name": "微信",
"font_class": "weixin",
"unicode": "e67b",
"unicode_decimal": 59003
},
{
"icon_id": "4552970",
"name": "邮箱",
"font_class": "youxiang",
"unicode": "e908",
"unicode_decimal": 59656
},
{
"icon_id": "5387727",
"name": "短信群发",
"font_class": "duanxinqunfa",
"unicode": "eb42",
"unicode_decimal": 60226
},
{
"icon_id": "742139",
"name": "业务资源拓扑",
"font_class": "yewuziyuantuopu",
"unicode": "ea6f",
"unicode_decimal": 60015
},
{
"icon_id": "3868284",
"name": "仪表盘",
"font_class": "yibiaopan",
... ...
... ... @@ -54,51 +54,43 @@ export default {
}, {
prop: "subWay",
label: "通知类型",
width: "200",
width: "120",
sortable: true,
align: 'center',
render: function (row) {
switch (row.subWay){
case 'wechat':
return '<div class="small-icon small-icon-wechat"></div>'
return '<div class="iconfont icon-weixin" style="font-size: 22px"></div>'
break;
case 'email':
return '<div class="small-icon small-icon-email"></div>'
return '<div class="iconfont icon-youxiang" style="font-size: 22px"></div>'
break;
case 'message':
return '<div class="small-icon small-icon-msg"></div>'
return '<div class="iconfont icon-duanxinqunfa" style="font-size: 22px"></div>'
break;
}
}
}, {
prop: "alarmTempTotal",
label: "订阅对象",
sortable: true,
align: 'center',
// render: (row) => {
// switch (row.alarmTempTotal) {
// case 0:
// return '否';
// case 1:
// return '是';
// default:
// return '';
// }
// }
}, {
},{
prop: "tempType",
label: "通知说明",
width: "300",
sortable: true,
align: 'center',
render: (row) => {
switch (row.tempType) {
render: (d) => {
var sendWay = '';
switch (d.subWay){
case 'wechat':
return '微信'
sendWay = '微信'
break;
case 'email':
return '邮箱';
case 'msg':
return '短信';
sendWay = '邮箱';
break;
case 'message':
sendWay = '短信';
break;
}
var unit = d.sentFrequency && d.sentFrequency.indexOf("?")>0?"":"分钟一次";
return `${sendWay}通知${d.sendTotal}次;频率${d.sentFrequency}${unit}`;
}
}, {
prop: "userTotal",
... ... @@ -199,7 +191,7 @@ export default {
data.value.searchParams.subId = arr.join(',')
proxy.$global.confirm("确定取消相关资源?", function () {
proxy.$global.showMsg('取消成功!');
proxy.$http.post(`/api-web/personnelChange/remove/alarmSubPer`, data.value.searchParams , function (res) {
if (res && res.success) {
proxy.$global.showMsg('取消成功!');
... ...
... ... @@ -26,41 +26,69 @@ export default {
columns: [{
prop: "docName",
label: "文档名称",
width: "350",
width: "300",
sortable: true,
align: 'center'
}, {
prop: "frequency",
label: "CRON表达式",
width: "170",
prop: "frequencyType",
label: "调度类型",
width: "120",
sortable: true,
align: 'center'
},{
prop: "handleHour",
label: "处理时常(时)",
width: "150",
sortable: true,
align: 'center'
align: 'center',
render:(d)=>{
switch (d.frequencyType) {
case 'quarter':
return '季度'
case 'month':
return '每月'
case 'day':
return '每日'
case 'hour':
return '小时'
case 'year':
return '每年'
case 'week':
return '每周'
}
}
}, {
prop: "inspectionType",
label: "巡检类型",
label: "报表类型",
width: "100",
sortable: true,
align: 'center',
render: (row) => {
switch (row.important) {
case '0':
return '自动巡检';
case '1':
return '人工巡检';
default:
return '';
render: (d) => {
switch (d.reportType) {
case 'yxjk':
return '运行监控'
case 'jkjc':
return '健康检查'
case 'lxwh':
return '例行维护'
case 'gzfx':
return '故障分析'
case 'fxbg':
return '分析报告'
}
}
}, {
prop: "runningFlag",
label: "启用/禁用",
width: "120",
sortable: true,
align: 'center',
render: (d) => {
switch (d.runningFlag) {
case '1':
return '启用'
default :
return '禁用'
}
}
},{
prop: "templatePath",
label: "文档地址",
label: "模板地址",
sortable: true,
align: 'left'
}],
... ... @@ -139,7 +167,6 @@ export default {
data.value.searchParams.reportId = arr.join(',')
proxy.$global.confirm("确定取消相关资源?", function () {
proxy.$global.showMsg('取消成功!');
proxy.$http.post(`/api-web/personnelChange/remove/autoPatrolPortPer`, data.value.searchParams, function (res) {
if (res && res.success) {
proxy.$global.showMsg('取消成功!');
... ...
... ... @@ -2,8 +2,8 @@
<el-col :span="24" class="search">
<div class="condition" >
<el-form ref=“form” style="display: flex;">
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-input v-model="search.keyword" placeholder="请输入业务名称"></el-input>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;width: 300px">
<el-input v-model="search.keyword" placeholder="关键字支持:业务名称"></el-input>
</el-form-item>
<!--<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-select filterable clearable v-model="search.resType" placeholder="请选择资源类型">
... ... @@ -16,18 +16,21 @@
</el-select>
</el-form-item>-->
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-button @click="getListData" type="primary">查询</el-button>
<el-button @click="getListData" >查询</el-button>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-button type="primary" @click="changeAdmin()" style="margin-left: 6px">变更</el-button>
</el-form-item>
</el-form>
</div>
</el-col>
</el-row>
<el-row style="margin-bottom: 10px;">
<!--<el-row style="margin-bottom: 10px;">
<div class="flex-div-start">
<!-- <el-button type="primary" @click="changeCancel()" size="small">取消</el-button>-->
&lt;!&ndash; <el-button type="primary" @click="changeCancel()" size="small">取消</el-button>&ndash;&gt;
<el-button type="primary" @click="changeAdmin()" size="small" style="margin-left: 6px">变更</el-button>
</div>
</el-row>
</el-row>-->
<el-row class="margin-bottom-50" style="margin-top: 3px">
<el-col :span="24" class="table-height">
<cm-table-page :columns="columns"
... ...
... ... @@ -174,7 +174,6 @@ export default {
data.value.searchParams.busId = arr.join(',')
proxy.$global.confirm("确定取消相关资源?", function () {
proxy.$global.showMsg('取消成功!');
proxy.$http.post(`/api-web/personnelChange/remove/bizPer`, data.value.searchParams , function (res) {
if (res && res.success) {
proxy.$global.showMsg('取消成功!');
... ...
... ... @@ -122,7 +122,6 @@ export default {
data.value.searchParams.docId = arr.join(',')
proxy.$global.confirm("确定取消相关资源?", function () {
proxy.$global.showMsg('取消成功!');
proxy.$http.post(`/api-web/personnelChange/remove/fileManagePer`, data.value.searchParams, function (res) {
if (res && res.success) {
proxy.$global.showMsg('取消成功!');
... ...
... ... @@ -2,8 +2,8 @@
<el-col :span="24" class="search">
<div class="condition" >
<el-form ref=“form” style="display: flex;">
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-input v-model="search.keyword" placeholder="请输入资源名称/ip"></el-input>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;width: 300px">
<el-input v-model="search.keyword" placeholder="关键字支持:资源名称、IP"></el-input>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-select filterable clearable v-model="search.resType" placeholder="请选择资源类型">
... ... @@ -16,18 +16,26 @@
</el-select>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-button @click="getListData" type="primary">查询</el-button>
<el-button @click="getListData">查询</el-button>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-button type="primary" @click="changeCancel()" >取消</el-button>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-button type="primary" @click="changeAdmin()" style="margin-left: 6px">变更</el-button>
</el-form-item>
</el-form>
</div>
</el-col>
</el-row>
<el-row style="margin-bottom: 10px;">
<!--<el-row style="margin-bottom: 10px;">
<div class="flex-div-start">
<el-button type="primary" @click="changeCancel()" size="small">取消</el-button>
<el-button type="primary" @click="changeAdmin()" size="small" style="margin-left: 6px">变更</el-button>
</div>
</el-row>
</el-row>-->
<el-row class="margin-bottom-50" style="margin-top: 3px">
<el-col :span="24" class="table-height">
<cm-table-page :columns="columns"
... ...
... ... @@ -44,6 +44,12 @@ export default {
label: '资源名称',
sortable: true,
align: 'center',
render: function (row) {
if(!row.resName){
return row.resCode;
}
return row.resName;
}
},
{
prop: 'ip',
... ... @@ -59,15 +65,29 @@ export default {
},
{
prop: 'resMainAdmin',
label: '主负责人',
sortable: true,
align: 'center',
},
{
prop: 'resAuxiliaryAdmin',
label: '辅负责人',
label: '负责人',
sortable: true,
align: 'center',
render: function (row) {
let text = "";
let preFix = "";
if(row.resMainAdmin && row.resMainAdmin.includes(userName.value)){
// 主要负责人
text = row.resMainAdmin
preFix = "主";
} else {
// 辅负责人
text = row.resAuxiliaryAdmin
preFix = "辅";
}
return `<div style="display: flex">
<div style='width: 22px;height: 22px;border-radius: 50%;line-height: 22px;border: solid 1px #5fafff;font-size: 12px;font-weight: bold;margin-right: 3px'>
${preFix}
</div>
${text}
</div>`;
}
},
{
prop: 'resTypeName',
... ... @@ -94,8 +114,8 @@ export default {
}
},
{
prop: 'paramDesc',
label: '展示类型',
prop: 'resCategory',
label: '资源分类',
sortable: true,
align: 'center',
/* render: function (row) {
... ... @@ -140,23 +160,6 @@ export default {
arr.push(item.resId)
})
resIds.value=arr.join(",");//选中的值
/*proxy.resourceData.map((v, i) => {
v.checked = false;
});
let selectData = val;
if (selectData.length > 0) {
selectData.map((item, index) => {
proxy.resourceData.map((v, i) => {
if (item.id == v.id) {
v.checked = true;
}
})
})
} else {
proxy.resourceData.map((v, i) => {
v.checked = false;
})
}*/
}
//获取资源类型数据
let getResourceTypoe=()=>{
... ... @@ -269,4 +272,4 @@ export default {
userName
}
}
}
\ No newline at end of file
}
... ...
... ... @@ -2,8 +2,8 @@
<el-col :span="24" class="search">
<div class="condition" >
<el-form ref=“form” style="display: flex;">
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-input v-model="search.keyword" placeholder="请输入资源名称/ip"></el-input>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;width: 300px">
<el-input v-model="search.keyword" placeholder="关键字支持:资源名称、IP"></el-input>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-select filterable clearable v-model="search.resType" placeholder="请选择资源类型">
... ... @@ -16,18 +16,24 @@
</el-select>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-button @click="getListData" type="primary">查询</el-button>
<el-button @click="getListData" >查询</el-button>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-button type="primary" @click="changeCancel()">取消</el-button>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-button type="primary" @click="changeAdmin()" style="margin-left: 6px">变更</el-button>
</el-form-item>
</el-form>
</div>
</el-col>
</el-row>
<el-row style="margin-bottom: 10px;">
<!--<el-row style="margin-bottom: 10px;">
<div class="flex-div-start">
<el-button type="primary" @click="changeCancel()" size="small">取消</el-button>
<el-button type="primary" @click="changeAdmin()" size="small" style="margin-left: 6px">变更</el-button>
</div>
</el-row>
</el-row>-->
<el-row class="margin-bottom-50" style="margin-top: 3px">
<el-col :span="24" class="table-height">
<cm-table-page :columns="columns"
... ...
... ... @@ -2,8 +2,8 @@
<el-col :span="24" class="search">
<div class="condition" >
<el-form ref=“form” style="display: flex;">
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-input v-model="search.keyword" placeholder="请输入资源类型"></el-input>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;width: 300px">
<el-input v-model="search.keyword" placeholder="关键字支持:资源类型名称"></el-input>
</el-form-item>
<!-- <el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-select filterable clearable v-model="search.resType" placeholder="请选择资源类型">
... ... @@ -16,18 +16,24 @@
</el-select>
</el-form-item>-->
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-button @click="getListData" type="primary">查询</el-button>
<el-button @click="getListData">查询</el-button>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-button type="primary" @click="changeCancel()" >取消</el-button>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-button type="primary" @click="changeAdmin()" style="margin-left: 6px">变更</el-button>
</el-form-item>
</el-form>
</div>
</el-col>
</el-row>
<el-row style="margin-bottom: 10px;">
<!--<el-row style="margin-bottom: 10px;">
<div class="flex-div-start">
<el-button type="primary" @click="changeCancel()" size="small">取消</el-button>
<el-button type="primary" @click="changeAdmin()" size="small" style="margin-left: 6px">变更</el-button>
</div>
</el-row>
</el-row>-->
<el-row class="margin-bottom-50" style="margin-top: 3px">
<el-col :span="24" class="table-height tree-table">
<cm-table-page :columns="columns"
... ...
<!--<el-row>
<el-row>
<el-col :span="24" class="search">
<div class="condition" >
<el-form ref=“form” style="display: flex;">
<el-form-item style="margin-right: 6px;margin-bottom: 10px;width: 300px">
<el-input v-model="search.keyword" placeholder="关键字支持:角色名称"></el-input>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-input v-model="search.keyword" placeholder="请输入角色名称"></el-input>
<el-button @click="getListData" >查询</el-button>
</el-form-item>
<el-form-item style="margin-right: 6px;margin-bottom: 10px;">
<el-button @click="getListData" type="primary">查询</el-button>
<el-button type="primary" @click="changeCancel()" >取消</el-button>
</el-form-item>
</el-form>
</div>
</el-col>
</el-row>-->
<el-row style="margin-bottom: 10px;">
</el-row>
<!--<el-row style="margin-bottom: 10px;">
<div class="flex-div-start">
<el-button type="primary" @click="changeCancel()" size="small">取消</el-button>
<!-- <el-button type="primary" @click="changeAdmin()" size="small" style="margin-left: 6px">变更</el-button>-->
&lt;!&ndash; <el-button type="primary" @click="changeAdmin()" size="small" style="margin-left: 6px">变更</el-button>&ndash;&gt;
</div>
</el-row>
</el-row>-->
<el-row class="margin-bottom-50" style="margin-top: 3px">
<el-col :span="24" class="table-height">
<cm-table-page :columns="columns"
... ...
... ... @@ -42,6 +42,18 @@ export default {
label: '角色名称',
sortable: true,
align: 'center',
},
{
prop: 'code',
label: '角色编码',
sortable: true,
align: 'center',
},
{
prop: 'remark',
label: '角色备注',
sortable: true,
align: 'center',
}
];
... ... @@ -161,4 +173,4 @@ export default {
userName
}
}
}
\ No newline at end of file
}
... ...
... ... @@ -174,7 +174,6 @@ export default {
data.value.searchParams.busId = arr.join(',')
proxy.$global.confirm("确定取消相关资源?", function () {
proxy.$global.showMsg('取消成功!');
proxy.$http.post(`/api-web/personnelChange/remove/topoPer`, data.value.searchParams , function (res) {
if (res && res.success) {
proxy.$global.showMsg('取消成功!');
... ...