Showing
47 changed files
with
370 additions
and
1 deletions
@@ -51,7 +51,7 @@ | @@ -51,7 +51,7 @@ | ||
51 | .container .cm-card .search .condition div { | 51 | .container .cm-card .search .condition div { |
52 | margin-right: 2px !important; | 52 | margin-right: 2px !important; |
53 | margin-bottom: 3px !important; | 53 | margin-bottom: 3px !important; |
54 | - width: 250px !important; | 54 | + /*width: 250px !important;*/ |
55 | } | 55 | } |
56 | 56 | ||
57 | .container .cm-card .search .btns { | 57 | .container .cm-card .search .btns { |
@@ -83,6 +83,21 @@ const routes = [{ | @@ -83,6 +83,21 @@ const routes = [{ | ||
83 | name: 'alarmsClearEditor', | 83 | name: 'alarmsClearEditor', |
84 | component: () => myImport('views/alarmsClearEditor/index'), | 84 | component: () => myImport('views/alarmsClearEditor/index'), |
85 | }, | 85 | }, |
86 | + { | ||
87 | + path: '/alarmsApply', | ||
88 | + name: 'alarmsApply', | ||
89 | + component: () => myImport('views/alarmsClearEditor/apply/index'), | ||
90 | + }, | ||
91 | + { | ||
92 | + path: '/alarmsKnowledge', | ||
93 | + name: 'alarmsKnowledge', | ||
94 | + component: () => myImport('views/alarmsClearEditor/knowledge/index'), | ||
95 | + }, | ||
96 | + { | ||
97 | + path: '/res/list', | ||
98 | + name: 'resList', | ||
99 | + component: () => myImport('views/res/list/index') | ||
100 | + }, | ||
86 | ]; | 101 | ]; |
87 | 102 | ||
88 | // hash模式: createWebHashHistory | 103 | // hash模式: createWebHashHistory |
hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/apply/index.html
0 → 100644
1 | +<div class="container" :style="{'height':height+'px','max-height':height+'px'}"> | ||
2 | + <div class="cm-card" :style="{'min-height':height+'px','max-height':height+'px','height':'100%'}"> | ||
3 | + <div class="search"> | ||
4 | + <div class="condition"> | ||
5 | + <el-form-item> | ||
6 | + <el-button-group class="ml-4"> | ||
7 | + <el-button :type="search.status == 0 ? 'primary' : ''" @click="getDataList(0)">草稿</el-button> | ||
8 | + <el-button :type="search.status == 1 ? 'primary' : ''" @click="getDataList(1)">审批中</el-button> | ||
9 | + <el-button :type="search.status == 2 ? 'primary' : ''" @click="getDataList(2)">已审批</el-button> | ||
10 | + <el-button :type="search.status == 3 ? 'primary' : ''" @click="getDataList(3)">驳回</el-button> | ||
11 | + </el-button-group> | ||
12 | + </el-form-item> | ||
13 | + | ||
14 | + <el-form-item > | ||
15 | + <el-input v-else v-model="search.keyword" placeholder="请输入关键字"></el-input> | ||
16 | + </el-form-item> | ||
17 | + <el-form-item > | ||
18 | + <el-button @click="getDataList">查询</el-button> | ||
19 | + </el-form-item> | ||
20 | + </div> | ||
21 | + </div> | ||
22 | + | ||
23 | + <div class="search-table"> | ||
24 | + <cm-table-page :columns="tableData.columns" :dataList="tableData.dataList" | ||
25 | + :showIndex="true" | ||
26 | + @loaddata = "loaddata" | ||
27 | + :total="tableData.count" | ||
28 | + :showSelection="true" | ||
29 | + :showBorder="true" | ||
30 | + :loading="false" | ||
31 | + :pageSize="pageSize" | ||
32 | + :showPage="true" | ||
33 | + :showTools="true" | ||
34 | + :height="height - 110"> | ||
35 | + <template #default="{row,prop,column}"> | ||
36 | + <div v-if="prop == 'resName'"> | ||
37 | + <resNameComponents :textString="row.resName" :resTypeId="row.resType" :resId="resId"/> | ||
38 | + </div> | ||
39 | + </template> | ||
40 | + <template #tools="{scope}"> | ||
41 | + <div class="list-handle"> | ||
42 | + <span class="icon-bg"> | ||
43 | + <i class="el-icon-delete" title="处理" @click="handleDelete(scope.row)"></i> | ||
44 | + </span> | ||
45 | + </div> | ||
46 | + </template> | ||
47 | + </cm-table-page> | ||
48 | + </div> | ||
49 | + </div> | ||
50 | +</div> | ||
51 | + | ||
52 | +<!--新增编辑弹框--> | ||
53 | +<cm-dialog :title="titleName" width="40%" :showDialogVisible="cacheVisible" @hidedialog="cancelBtn" :showFooter="false"> | ||
54 | + <template v-slot> | ||
55 | + | ||
56 | + </template> | ||
57 | +</cm-dialog> | ||
58 | + |
hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/apply/index.js
0 → 100644
1 | +export default { | ||
2 | + name: 'alarmsClearEditorApply', | ||
3 | + template: '', | ||
4 | + components: { | ||
5 | + 'resNameComponents': Vue.defineAsyncComponent( | ||
6 | + () => myImport('components/page/res/resNameComponents/index') | ||
7 | + ) | ||
8 | + }, | ||
9 | + props:[], | ||
10 | + setup(props, {attrs, slots, emit}){ | ||
11 | + const {proxy} = Vue.getCurrentInstance(); | ||
12 | + let height = Vue.ref(window.innerHeight); | ||
13 | + let search = Vue.ref({ | ||
14 | + status:0, | ||
15 | + keyword:'', | ||
16 | + page:1, | ||
17 | + limit:10, | ||
18 | + }); | ||
19 | + //表格字段 | ||
20 | + let tableData = Vue.ref({ | ||
21 | + count:0, | ||
22 | + dataList:[], | ||
23 | + columns : [ | ||
24 | + { | ||
25 | + prop: 'alarmNo', | ||
26 | + label: '告警编号', | ||
27 | + sortable: true, | ||
28 | + align: 'center', | ||
29 | + width:'150' | ||
30 | + }, | ||
31 | + { | ||
32 | + prop: 'resName', | ||
33 | + label: '资源名称', | ||
34 | + sortable: true, | ||
35 | + align: 'center', | ||
36 | + width:'250', | ||
37 | + }, | ||
38 | + { | ||
39 | + prop: 'resType', | ||
40 | + label: '资源类型', | ||
41 | + sortable: true, | ||
42 | + align: 'center', | ||
43 | + width:'150' | ||
44 | + },{ | ||
45 | + prop: 'managenameName', | ||
46 | + label: '处理人', | ||
47 | + sortable: true, | ||
48 | + align: 'center', | ||
49 | + width:'100' | ||
50 | + },{ | ||
51 | + prop: 'approverName', | ||
52 | + label: '审批人', | ||
53 | + sortable: true, | ||
54 | + align: 'center', | ||
55 | + width:'100' | ||
56 | + },{ | ||
57 | + prop: 'reason', | ||
58 | + label: '消除原因', | ||
59 | + sortable: true, | ||
60 | + align: 'center', | ||
61 | + width:'300' | ||
62 | + } | ||
63 | + ] | ||
64 | + }) | ||
65 | + | ||
66 | + | ||
67 | + | ||
68 | + //获取aj配置信息 | ||
69 | + let getDataList=(status)=>{ | ||
70 | + if(status == undefined){ | ||
71 | + status = 0 | ||
72 | + | ||
73 | + } | ||
74 | + search.value.status = status; | ||
75 | + proxy.$http.get(`/api-web/bAlarmManage/page`,{ | ||
76 | + page:search.value.page, | ||
77 | + limit:search.value.limit, | ||
78 | + keyword:search.value.keyword, | ||
79 | + status:search.value.status | ||
80 | + | ||
81 | + }, function (res) { | ||
82 | + if (res && res.data) { | ||
83 | + tableData.value.dataList = res.data; | ||
84 | + tableData.value.count = res.count; | ||
85 | + } else { | ||
86 | + tableData.value.dataList = []; | ||
87 | + tableData.value.count = 0; | ||
88 | + } | ||
89 | + }); | ||
90 | + } | ||
91 | + | ||
92 | + let loaddata = ({ page, limit}) =>{ | ||
93 | + search.value.page = page; | ||
94 | + search.value.limit = limit; | ||
95 | + } | ||
96 | + | ||
97 | + // 挂载完 | ||
98 | + Vue.onMounted(() => { | ||
99 | + getDataList(); | ||
100 | + }) | ||
101 | + | ||
102 | + | ||
103 | + return { | ||
104 | + height, | ||
105 | + search, | ||
106 | + tableData, | ||
107 | + loaddata, | ||
108 | + getDataList | ||
109 | + } | ||
110 | + } | ||
111 | + | ||
112 | +} |
hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/knowledge/index.html
0 → 100644
1 | +<div class="container" :style="{'height':height+'px','max-height':height+'px'}"> | ||
2 | + <div class="cm-card" :style="{'min-height':height+'px','max-height':height+'px','height':'100%'}"> | ||
3 | + <div class="search"> | ||
4 | + <div class="condition"> | ||
5 | + <el-form-item > | ||
6 | + <el-input v-else v-model="" placeholder="请输入关键字"></el-input> | ||
7 | + </el-form-item> | ||
8 | + <el-form-item > | ||
9 | + <el-button @click="loadResList">查询</el-button> | ||
10 | + </el-form-item> | ||
11 | + </div> | ||
12 | + </div> | ||
13 | + | ||
14 | + <div class="search-table"> | ||
15 | + <cm-table-page :columns="tableData.columns" :dataList="tableData.dataList" | ||
16 | + :showIndex="true" | ||
17 | + :total="tableData.count" | ||
18 | + @loaddata = "loaddata" | ||
19 | + :showSelection="true" | ||
20 | + :showBorder="true" | ||
21 | + :loading="false" | ||
22 | + :pageSize="pageSize" | ||
23 | + :showPage="true" | ||
24 | + :showTools="true" | ||
25 | + :height="height - 110"> | ||
26 | + <template #default="{row,prop,column}"> | ||
27 | + <div v-if="prop == 'resName'"> | ||
28 | + <resNameComponents :textString="row.resName" :resTypeId="row.resType" :resId="resId"/> | ||
29 | + </div> | ||
30 | + </template> | ||
31 | + <template #tools="{scope}"> | ||
32 | + <div class="list-handle"> | ||
33 | + <span class="icon-bg"> | ||
34 | + <i class="el-icon-delete" title="处理" @click="handleDelete(scope.row)"></i> | ||
35 | + </span> | ||
36 | + </div> | ||
37 | + </template> | ||
38 | + </cm-table-page> | ||
39 | + </div> | ||
40 | + </div> | ||
41 | +</div> | ||
42 | + | ||
43 | +<!--新增编辑弹框--> | ||
44 | +<cm-dialog :title="titleName" width="40%" :showDialogVisible="cacheVisible" @hidedialog="cancelBtn" :showFooter="false"> | ||
45 | + <template v-slot> | ||
46 | + | ||
47 | + </template> | ||
48 | +</cm-dialog> | ||
49 | + |
hg-monitor-web-base/src/main/resources/static/vue3/src/views/alarmsClearEditor/knowledge/index.js
0 → 100644
1 | +export default { | ||
2 | + name: 'alarmsClearEditorApply', | ||
3 | + template: '', | ||
4 | + components: { | ||
5 | + 'resNameComponents': Vue.defineAsyncComponent( | ||
6 | + () => myImport('components/page/res/resNameComponents/index') | ||
7 | + ) | ||
8 | + }, | ||
9 | + props: [], | ||
10 | + setup(props, {attrs, slots, emit}) { | ||
11 | + const {proxy} = Vue.getCurrentInstance(); | ||
12 | + let height = Vue.ref(window.innerHeight); | ||
13 | + let search = Vue.ref({ | ||
14 | + status: 0, | ||
15 | + keyword: '', | ||
16 | + page: 1, | ||
17 | + limit: 10, | ||
18 | + }); | ||
19 | + //表格字段 | ||
20 | + let tableData = Vue.ref({ | ||
21 | + count:0, | ||
22 | + dataList: [], | ||
23 | + columns: [ | ||
24 | + { | ||
25 | + prop: 'reason', | ||
26 | + label: '原因', | ||
27 | + sortable: true, | ||
28 | + align: 'center', | ||
29 | + width: '300' | ||
30 | + }, { | ||
31 | + prop: 'managenameName', | ||
32 | + label: '贡献人', | ||
33 | + sortable: true, | ||
34 | + align: 'center', | ||
35 | + width: '100' | ||
36 | + }, { | ||
37 | + prop: 'approverName', | ||
38 | + label: '审批人', | ||
39 | + sortable: true, | ||
40 | + align: 'center', | ||
41 | + width: '100' | ||
42 | + }, { | ||
43 | + prop: 'manageTime', | ||
44 | + label: '处理时间', | ||
45 | + sortable: true, | ||
46 | + align: 'center', | ||
47 | + width: '150' | ||
48 | + }, { | ||
49 | + prop: 'browseNum', | ||
50 | + label: '浏览量', | ||
51 | + sortable: true, | ||
52 | + align: 'center', | ||
53 | + width: '150' | ||
54 | + }, { | ||
55 | + prop: 'citationNum', | ||
56 | + label: '引用次数', | ||
57 | + sortable: true, | ||
58 | + align: 'center', | ||
59 | + width: '150' | ||
60 | + }, | ||
61 | + { | ||
62 | + prop: 'keyword', | ||
63 | + label: '关键字', | ||
64 | + sortable: true, | ||
65 | + align: 'center', | ||
66 | + width: '250', | ||
67 | + render: function (row) { | ||
68 | + | ||
69 | + } | ||
70 | + }, | ||
71 | + { | ||
72 | + prop: 'lastAlarmTime', | ||
73 | + label: '最后一次告警时间', | ||
74 | + sortable: true, | ||
75 | + align: 'center', | ||
76 | + width: '150' | ||
77 | + }, | ||
78 | + ] | ||
79 | + }) | ||
80 | + | ||
81 | + //获取aj配置信息 | ||
82 | + let getDataList = () => { | ||
83 | + | ||
84 | + proxy.$http.get(`/api-web//bAlarmManageRepository/page`, { | ||
85 | + page: search.value.page, | ||
86 | + limit: search.value.limit, | ||
87 | + keyword: search.value.keyword, | ||
88 | + status: search.value.status | ||
89 | + | ||
90 | + }, function (res) { | ||
91 | + if (res && res.data) { | ||
92 | + tableData.value.dataList = res.data; | ||
93 | + tableData.value.count = res.count; | ||
94 | + } else { | ||
95 | + tableData.value.dataList = []; | ||
96 | + tableData.value.count = 0; | ||
97 | + } | ||
98 | + }); | ||
99 | + } | ||
100 | + | ||
101 | + let loaddata = ({page, limit}) => { | ||
102 | + search.value.page = page; | ||
103 | + search.value.limit = limit; | ||
104 | + } | ||
105 | + | ||
106 | + | ||
107 | + // 挂载完 | ||
108 | + Vue.onMounted(() => { | ||
109 | + getDataList(); | ||
110 | + }) | ||
111 | + | ||
112 | + | ||
113 | + return { | ||
114 | + height, | ||
115 | + search, | ||
116 | + loaddata, | ||
117 | + tableData, | ||
118 | + getDataList | ||
119 | + } | ||
120 | + } | ||
121 | + | ||
122 | +} |
@@ -185,6 +185,15 @@ const routes = [{ | @@ -185,6 +185,15 @@ const routes = [{ | ||
185 | name: 'alarmsClearEditor', | 185 | name: 'alarmsClearEditor', |
186 | component: () => myImport('views/alarmsClearEditor/index'), | 186 | component: () => myImport('views/alarmsClearEditor/index'), |
187 | }, | 187 | }, |
188 | + { | ||
189 | + path: '/alarmsApply', | ||
190 | + name: 'alarmsApply', | ||
191 | + component: () => myImport('views/alarmsClearEditor/apply/index'), | ||
192 | + },{ | ||
193 | + path: '/alarmsKnowledge', | ||
194 | + name: 'alarmsKnowledge', | ||
195 | + component: () => myImport('views/alarmsClearEditor/knowledge/index'), | ||
196 | + } | ||
188 | ]; | 197 | ]; |
189 | 198 | ||
190 | // hash模式: createWebHashHistory | 199 | // hash模式: createWebHashHistory |
-
Please register or login to post a comment