Blame view

src/views/overView/Overview.vue 13.8 KB
9b7e125f   monkeyhouyi   属地页面
1
2
3
4
  <template>
    <div class="overview">
      <el-row :gutter="20">
        <el-col :span="16">
ce1de261   monkeyhouyi   专项行动
5
          <div class="item-box todo">
be009217   monkeyhouyi   处理,通知公告,任务中心
6
7
8
9
10
11
12
13
14
            <div class="item-title">
              <div class="left">任务中心</div>
              <div class="right">
                <!-- <el-button type="success" size="mini" style="margin-right: 10px;" v-if="isSHILevel" @click="announceMsg">发布</el-button> -->
                <el-tooltip effect="dark" content="刷新" placement="top">
                  <el-link icon="icon-ym icon-ym-Refresh NCC-common-head-icon" :underline="false" @click="resetTask"/>
                </el-tooltip>
              </div>
            </div>
9b7e125f   monkeyhouyi   属地页面
15
16
            <div class="item-body">
              <template>
be009217   monkeyhouyi   处理,通知公告,任务中心
17
                <el-table :data="taskList" style="width: 100%" stripe v-loading="taskLoading">
2201a66b   monkeyhouyi   专项性行动-首页联动
18
19
20
21
22
                  <el-table-column type="index" width="40"> </el-table-column>
                  <el-table-column prop="taskTitle" label="任务名称" show-overflow-tooltip/>
                  <el-table-column prop="taskType" label="任务类型" show-overflow-tooltip width="100"/>
                  <el-table-column prop="taskState" label="状态" show-overflow-tooltip width="80"/>
                  <el-table-column prop="taskContent" label="任务内容" show-overflow-tooltip />
61009cfc   monkeyhouyi   2024/8/8
23
                  <el-table-column prop="deadLine" label="任务期限" show-overflow-tooltip :formatter="ncc.tableDateFormat" width="170">
5a14192c   monkeyhouyi   1
24
                    <template slot-scope="scope">
61009cfc   monkeyhouyi   2024/8/8
25
                      <el-tag :type="`${ncc.timeDeadLine(scope.row.deadLine)}`">{{ncc.stateDeadLine(scope.row.deadLine)}}{{ ncc.tableDateFormat(scope.row, 'deadLine', scope.row.deadLine) }}</el-tag>
5a14192c   monkeyhouyi   1
26
27
                    </template>
                  </el-table-column>
2201a66b   monkeyhouyi   专项性行动-首页联动
28
29
30
                  <el-table-column label="操作" width="100">
                    <template slot-scope="scope">
                      <el-button type="primary" size="small" @click="handleTask(scope.row)">处理</el-button>
9b7e125f   monkeyhouyi   属地页面
31
32
33
                    </template>
                  </el-table-column>
                </el-table>
be009217   monkeyhouyi   处理,通知公告,任务中心
34
                <pagination :total="taskTotal" :page.sync="taskListQuery.currentPage" :limit.sync="taskListQuery.pageSize" @pagination="getAllTaskList" />
9b7e125f   monkeyhouyi   属地页面
35
36
37
              </template>
            </div>
          </div>
ce1de261   monkeyhouyi   专项行动
38
39
40
41
42
43
            <!--<div
            class="item-box earmarked"
            :style="`height: calc(${
              isSHILevel ? '50vh - 115px' : '100vh - 205px'
            });`"
          >
9b7e125f   monkeyhouyi   属地页面
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
            <div class="item-title">专项行动</div>
            <div class="item-body">
              <el-row :gutter="6" class="item-one-list">
                <el-col
                  :span="6"
                  v-for="(item, index) in aimList"
                  :key="index"
                  style="margin-bottom: 6px"
                >
                  <div class="item-one-box">
                    <div class="one-title">关于xxxxxx的专项行动</div>
                    <template v-if="item.type == 1">
                      <div class="one-info">
                        <div>区县:8(已填7)</div>
                        <div>外协:无</div>
                      </div>
                      <div class="one-info">行动时间:2024-07-01至2024-07-31</div>
                      <el-button type="text" class="el-button-qu">管理</el-button>
                      <el-button type="text" class="el-button-qu">查看</el-button>
                    </template>
                    <template v-else>
                      <div class="one-info">行动时间:2024-07-01至2024-07-31</div>
                      <div class="btn-box">
                        <el-button type="success" size="small">填报</el-button>
                        <div class="err">即将超时</div>
                      </div>
                    </template>
                  </div>
                </el-col>
              </el-row>
            </div>
ce1de261   monkeyhouyi   专项行动
75
          </div>-->
9b7e125f   monkeyhouyi   属地页面
76
77
        </el-col>
        <el-col :span="8">
93186f57   monkeyhouyi   前端整改页面
78
          <!-- <div class="item-box tip">
9b7e125f   monkeyhouyi   属地页面
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
            <div class="item-title">工作提示</div>
            <div class="item-body">
              <template>
                <el-table :data="todoTableData" style="width: 100%" stripe>
                  <el-table-column
                    prop="teskName"
                    label="内容"
                    show-overflow-tooltip
                  >
                  </el-table-column>
                  <el-table-column
                    prop="teskCode"
                    label="事件"
                    show-overflow-tooltip
                  >
                  </el-table-column>
                </el-table>
              </template>
            </div>
93186f57   monkeyhouyi   前端整改页面
98
          </div> -->
9b7e125f   monkeyhouyi   属地页面
99
          <div class="item-box msg">
ce1de261   monkeyhouyi   专项行动
100
101
            <div class="item-title">
              <div class="left">通知公告</div>
be009217   monkeyhouyi   处理,通知公告,任务中心
102
103
104
105
106
107
              <div class="right">
                <el-button type="success" size="mini" style="margin-right: 10px;" v-if="isSHILevel" @click="announceMsg">发布</el-button>
                <el-tooltip effect="dark" content="刷新" placement="top">
                  <el-link icon="icon-ym icon-ym-Refresh NCC-common-head-icon" :underline="false" @click="resetMsg"/>
                </el-tooltip>
              </div>
ce1de261   monkeyhouyi   专项行动
108
            </div>
9b7e125f   monkeyhouyi   属地页面
109
110
            <div class="item-body">
              <template>
be009217   monkeyhouyi   处理,通知公告,任务中心
111
112
                <el-table :data="msgList" style="width: 100%" stripe v-loading="msgLoading">
                  <el-table-column prop="title" label="标题" show-overflow-tooltip>
9b7e125f   monkeyhouyi   属地页面
113
                  </el-table-column>
61009cfc   monkeyhouyi   2024/8/8
114
                  <el-table-column label="操作" fixed="right" width="150">
be009217   monkeyhouyi   处理,通知公告,任务中心
115
                    <template slot-scope="scope">
93adad84   monkeyhouyi   网信执法功能添加
116
                      <el-button type="text" @click="checkDetail(scope.row, true)">详情</el-button>
61009cfc   monkeyhouyi   2024/8/8
117
118
                      <el-button type="text" @click="checkDetail(scope.row)" v-if="isSHILevel">编辑</el-button>
                      <el-button type="text" style="color: red;" @click="delNew(scope.row)">删除</el-button>
be009217   monkeyhouyi   处理,通知公告,任务中心
119
                    </template>
9b7e125f   monkeyhouyi   属地页面
120
121
                  </el-table-column>
                </el-table>
61009cfc   monkeyhouyi   2024/8/8
122
                <pagination :total="msgTotal" :page.sync="msgListQuery.currentPage" :limit.sync="msgListQuery.pageSize" @pagination="getAllMsgList" layout="prev, pager, next"/>
9b7e125f   monkeyhouyi   属地页面
123
124
125
126
127
              </template>
            </div>
          </div>
        </el-col>
      </el-row>
5a14192c   monkeyhouyi   1
128
      <MsgForm v-if="MsgFormVisible" ref="MsgForm" @refresh="msgRefresh"/>
2201a66b   monkeyhouyi   专项性行动-首页联动
129
      <HandleInspectForm v-if="HandleInspectFormVisible" ref="HandleInspectForm" @refresh="(val) => {taskRefresh('HandleInspectFormVisible', val)}"/>
e47508b6   monkeyhouyi   优化专项行动
130
      <NCC-Form v-if="formVisible" ref="NCCForm" @refreshDataList="(val) => {taskRefresh('formVisible', val)}" />
93adad84   monkeyhouyi   网信执法功能添加
131
      <HandForm v-if="HandFormVisible" ref="HandForm" @refresh="(val) => {taskRefresh('HandFormVisible', val)}" />
9b7e125f   monkeyhouyi   属地页面
132
133
134
135
    </div>
  </template>
  
  <script>
be009217   monkeyhouyi   处理,通知公告,任务中心
136
137
  import request from "@/utils/request";
  import MsgForm from "./msgForm.vue"
2201a66b   monkeyhouyi   专项性行动-首页联动
138
139
  import HandleInspectForm from "@/views/baseSystemInfo/HandleInspectForm.vue"
  import NCCForm from '@/views/baseSpecialAction/dynamicModel/list/Form'
93adad84   monkeyhouyi   网信执法功能添加
140
  import HandForm from '@/views/baseCaseHandling/Form.vue'
2201a66b   monkeyhouyi   专项性行动-首页联动
141
  
9b7e125f   monkeyhouyi   属地页面
142
143
  export default {
    name: "Overview",
93adad84   monkeyhouyi   网信执法功能添加
144
    components: { MsgForm, HandleInspectForm, NCCForm, HandForm },
9b7e125f   monkeyhouyi   属地页面
145
146
    data() {
      return {
ecc43230   monkeyhouyi   优化首页,应用管理
147
        todoTableData: [],
9b7e125f   monkeyhouyi   属地页面
148
149
        tipTableData: [],
        aimList: [],
be009217   monkeyhouyi   处理,通知公告,任务中心
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
  
        msgLoading: false,
        msgListQuery: {
          currentPage: 1,
          pageSize: 20,
        },
        msgQuery: {
          keyword: ''
        },
        msgList: [],
        msgTotal: 0,
        MsgFormVisible: false,
  
        taskLoading: false,
        taskListQuery: {
          currentPage: 1,
          pageSize: 20,
        },
        taskQuery: {
          keyword: ''
        },
        taskList: [],
        taskTotal: 0,
2201a66b   monkeyhouyi   专项性行动-首页联动
173
        HandleInspectFormVisible: false,
93adad84   monkeyhouyi   网信执法功能添加
174
175
        formVisible: false,
        HandFormVisible: false,
ce1de261   monkeyhouyi   专项行动
176
      };
9b7e125f   monkeyhouyi   属地页面
177
178
    },
    created() {
be009217   monkeyhouyi   处理,通知公告,任务中心
179
180
      this.getAllMsgList();
      this.getAllTaskList();
9b7e125f   monkeyhouyi   属地页面
181
    },
ecc43230   monkeyhouyi   优化首页,应用管理
182
183
184
    computed: {
      isSHILevel() {
        // 判断角色是否为‘市级办公室’
ce1de261   monkeyhouyi   专项行动
185
        return this.$store.state.user.islader;
ecc43230   monkeyhouyi   优化首页,应用管理
186
187
      },
    },
9b7e125f   monkeyhouyi   属地页面
188
    methods: {
be009217   monkeyhouyi   处理,通知公告,任务中心
189
190
191
192
193
194
195
196
197
198
199
200
201
202
      // 通知公告
      getAllMsgList() {
        this.msgLoading = true;
        let _query = {
          ...this.msgListQuery,
          ...this.msgQuery,
        };
        let query = {};
        for (let key in _query) {
          if (Array.isArray(_query[key])) {
            query[key] = _query[key].join();
          } else {
            query[key] = _query[key];
          }
9b7e125f   monkeyhouyi   属地页面
203
        }
be009217   monkeyhouyi   处理,通知公告,任务中心
204
205
206
207
208
209
210
211
        request({
          url: '/SubDev/ZyOaArticle',
          method: "GET",
          params: query,
        }).then((res) => {
          this.msgList = res.data.list;
          this.msgTotal = res.data.pagination.total;
          this.msgLoading = false;
5a14192c   monkeyhouyi   1
212
213
        }).catch(() => {
          this.msgLoading = false;
be009217   monkeyhouyi   处理,通知公告,任务中心
214
        });
9b7e125f   monkeyhouyi   属地页面
215
      },
ce1de261   monkeyhouyi   专项行动
216
217
      resetMsg() {
        this.msgList = [];
be009217   monkeyhouyi   处理,通知公告,任务中心
218
219
220
221
222
        this.msgListQuery = {
          currentPage: 1,
          pageSize: 20,
        };
        this.getAllMsgList();
ce1de261   monkeyhouyi   专项行动
223
      },
be009217   monkeyhouyi   处理,通知公告,任务中心
224
225
226
227
      msgRefresh(val) {
        this.MsgFormVisible = false;
        val && this.getAllMsgList();
      },
61009cfc   monkeyhouyi   2024/8/8
228
      checkDetail(row, isDetail) {
be009217   monkeyhouyi   处理,通知公告,任务中心
229
230
        this.MsgFormVisible = true;
        this.$nextTick(() => {
61009cfc   monkeyhouyi   2024/8/8
231
          this.$refs.MsgForm.init(row.id, isDetail);
be009217   monkeyhouyi   处理,通知公告,任务中心
232
        })
9b7e125f   monkeyhouyi   属地页面
233
      },
61009cfc   monkeyhouyi   2024/8/8
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
      delNew(row) {
        this.$confirm('此操作将永久删除该消息, 是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(async () => {
          let res = await request({
            url: `/SubDev/ZyOaArticle/${row.id}`,
            method: "DELETE",
          });
          this.$message({
            message: res.msg,
            type: 'success'
          });
          this.getAllMsgList();
        });
      },
  
be009217   monkeyhouyi   处理,通知公告,任务中心
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
      // 发布消息通知
      announceMsg() {
        this.MsgFormVisible = true;
        this.$nextTick(() => {
          this.$refs.MsgForm.init();
        })
      },
  
      // 任务中心
      getAllTaskList() {
        this.taskLoading = true;
        let _query = {
          ...this.taskListQuery,
          ...this.taskQuery,
        };
        let query = {};
        for (let key in _query) {
          if (Array.isArray(_query[key])) {
            query[key] = _query[key].join();
9b7e125f   monkeyhouyi   属地页面
271
          } else {
be009217   monkeyhouyi   处理,通知公告,任务中心
272
            query[key] = _query[key];
9b7e125f   monkeyhouyi   属地页面
273
274
          }
        }
be009217   monkeyhouyi   处理,通知公告,任务中心
275
276
277
278
279
280
281
282
        request({
          url: '/Extend/BaseTaskCenter/GetListByCurretUser',
          method: "GET",
          params: query,
        }).then((res) => {
          this.taskList = res.data.list;
          this.taskTotal = res.data.pagination.total;
          this.taskLoading = false;
5a14192c   monkeyhouyi   1
283
284
        }).catch(() => {
          this.taskLoading = false;
be009217   monkeyhouyi   处理,通知公告,任务中心
285
286
287
288
289
290
291
292
293
        });
      },
      resetTask() {
        this.taskList = [];
        this.taskListQuery = {
          currentPage: 1,
          pageSize: 20,
        };
        this.getAllTaskList();
9b7e125f   monkeyhouyi   属地页面
294
      },
2201a66b   monkeyhouyi   专项性行动-首页联动
295
296
297
298
299
300
301
302
      async handleTask(row) {
        if(row.taskType == '归属地变更') {
          this.HandleInspectFormVisible = true;
          this.$nextTick(() => {
            this.$refs.HandleInspectForm.init(row.taskCorrelationId, true);
          })
        } else if(row.taskType == '专项行动') {
          this.formVisible = true;
e47508b6   monkeyhouyi   优化专项行动
303
304
          // let data = await this.getBaseSpecialActionInfo('588008032122701061');
          let data = await this.getBaseSpecialActionInfo(row.taskCorrelationId);
2201a66b   monkeyhouyi   专项性行动-首页联动
305
306
307
308
309
310
311
312
313
314
315
316
317
318
          var  Itemid = data.itemId || '';//数据id,没有的话就是新增 ,有的话就是修改
          var  modelId = data.formId;//关联的表单id
          var taskId = data.id; // 当前专项行动id
          var isPreview = false;//固定死,值不变
          var useFormPermission = false;//固定死,值不变
          var formData = [];
          request({
            url: '/visualdev/OnlineDev/'+modelId+'/Config',
            method: "GET",
            params:null
          }).then(res => {
            formData = res.data.formData;
            this.$refs.NCCForm.init(formData, modelId, Itemid, isPreview, useFormPermission, taskId)
          });
4614132f   monkeyhouyi   列表查询,案件处理
319
        } else if(row.taskType == '案件处理') {
93adad84   monkeyhouyi   网信执法功能添加
320
321
322
323
          this.HandFormVisible = true;
          this.$nextTick(() => {
            this.$refs.HandForm.init(row.taskCorrelationId, false, 1);
          })
2201a66b   monkeyhouyi   专项性行动-首页联动
324
325
326
327
328
329
330
331
332
333
334
335
336
        }
      },
      async getBaseSpecialActionInfo(id) {
        let {data} = await request({
          url: `/Extend/BaseSpecialActionInfo/${id}`,
          method: "GET",
        })
        return data;
      },
      taskRefresh(key, val) {
        this[key] = false;
        val && this.getAllTaskList();
      }
9b7e125f   monkeyhouyi   属地页面
337
    },
9b7e125f   monkeyhouyi   属地页面
338
339
340
341
342
343
344
345
346
347
  };
  </script>
  <style scoped lang="scss">
  .overview {
    .item-box {
      width: 100%;
      border-radius: 10px;
      background-color: rgba(244, 244, 245, 0.38);
      margin-bottom: 15px;
      &.todo {
5a14192c   monkeyhouyi   1
348
        height: calc(100vh - 160px);
9b7e125f   monkeyhouyi   属地页面
349
      }
ce1de261   monkeyhouyi   专项行动
350
      //&.earmarked {
ecc43230   monkeyhouyi   优化首页,应用管理
351
        // height: calc(50vh - 115px);
ce1de261   monkeyhouyi   专项行动
352
353
        //margin-bottom: 0;
      //}
93186f57   monkeyhouyi   前端整改页面
354
355
356
      // &.tip {
      //   height: calc(50vh - 60px);
      // }
9b7e125f   monkeyhouyi   属地页面
357
      &.msg {
5a14192c   monkeyhouyi   1
358
        height: calc(100vh - 160px);
9b7e125f   monkeyhouyi   属地页面
359
360
361
        margin-bottom: 0;
      }
      .item-title {
ce1de261   monkeyhouyi   专项行动
362
363
364
        display: flex;
        justify-content: space-between;
        align-items: center;
9b7e125f   monkeyhouyi   属地页面
365
366
367
368
        color: rgba(255, 255, 255, 1);
        font-size: 16px;
        line-height: 23px;
        padding: 10px;
ce1de261   monkeyhouyi   专项行动
369
370
371
        .el-link.el-link--default {
          color: #fff !important;
        }
9b7e125f   monkeyhouyi   属地页面
372
373
      }
      .item-body {
be009217   monkeyhouyi   处理,通知公告,任务中心
374
        height: calc(100% - 95px);
9b7e125f   monkeyhouyi   属地页面
375
        margin: 0 13px;
ecc43230   monkeyhouyi   优化首页,应用管理
376
        // padding-bottom: 28px;
9b7e125f   monkeyhouyi   属地页面
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
        .el-table {
          border-radius: 10px;
          height: 100%;
          :deep(.el-table__body-wrapper.is-scrolling-none) {
            height: calc(100% - 47px);
            overflow-y: scroll;
          }
        }
      }
    }
    .earmarked {
      .item-title {
        margin-bottom: 0;
      }
      .item-one-list {
        max-height: 100%;
        overflow-y: scroll;
        margin-bottom: -6px;
        .item-one-box {
          box-sizing: border-box;
          background-color: #fff;
          border-radius: 5px;
          padding: 3px;
          height: 90px;
          .one-title {
            color: rgba(0, 122, 255, 1);
            font-size: 14px;
            line-height: 20px;
          }
          .one-info {
            display: flex;
            font-size: 12px;
            line-height: 20px;
          }
          .el-button-qu {
            padding: 5px 0;
          }
          .btn-box {
            margin-top: 10px;
            display: flex;
            align-items: flex-end;
            .err {
              margin-left: 10px;
              color: rgba(236, 47, 47, 1);
              font-size: 12px;
              line-height: 17px;
            }
          }
        }
      }
    }
  }
  </style>