Authored by 王涛

修改图标消失的问题

Showing 47 changed files with 370 additions and 1 deletions
  1 +<title>告警意见处理</title>
  2 +<iframe src="/vue3/index.html#/alarmsApply" frameborder="0" class="layadmin-iframe" style="height: 99.5%!important;"/>
  1 +<title>告警意见处理</title>
  2 +<iframe src="/vue3/index.html#/alarmsKnowledge" frameborder="0" class="layadmin-iframe" style="height: 99.5%!important;"/>
@@ -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
  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 +
  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 +}
  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 +
  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