Blame view

src/views/overView/Overview.vue 15.3 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
                  <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"/>
2201a66b   monkeyhouyi   专项性行动-首页联动
21
                  <el-table-column prop="taskContent" label="任务内容" show-overflow-tooltip />
ff36c85d   monkeyhouyi   1
22
23
24
25
26
27
                  <el-table-column prop="taskState" label="状态" show-overflow-tooltip width="80">
                    <template slot-scope="scope">
                      <el-tag type="success">{{ scope.row.taskState }}</el-tag>
                    </template>
                  </el-table-column>
                  <el-table-column prop="deadLine" label="任务期限" show-overflow-tooltip :formatter="ncc.tableDateFormat" width="200">
5a14192c   monkeyhouyi   1
28
                    <template slot-scope="scope">
61009cfc   monkeyhouyi   2024/8/8
29
                      <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
30
31
                    </template>
                  </el-table-column>
2201a66b   monkeyhouyi   专项性行动-首页联动
32
33
34
                  <el-table-column label="操作" width="100">
                    <template slot-scope="scope">
                      <el-button type="primary" size="small" @click="handleTask(scope.row)">处理</el-button>
9b7e125f   monkeyhouyi   属地页面
35
36
37
                    </template>
                  </el-table-column>
                </el-table>
be009217   monkeyhouyi   处理,通知公告,任务中心
38
                <pagination :total="taskTotal" :page.sync="taskListQuery.currentPage" :limit.sync="taskListQuery.pageSize" @pagination="getAllTaskList" />
9b7e125f   monkeyhouyi   属地页面
39
40
41
              </template>
            </div>
          </div>
ce1de261   monkeyhouyi   专项行动
42
43
44
45
46
47
            <!--<div
            class="item-box earmarked"
            :style="`height: calc(${
              isSHILevel ? '50vh - 115px' : '100vh - 205px'
            });`"
          >
9b7e125f   monkeyhouyi   属地页面
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
75
76
77
78
            <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   专项行动
79
          </div>-->
9b7e125f   monkeyhouyi   属地页面
80
81
        </el-col>
        <el-col :span="8">
93186f57   monkeyhouyi   前端整改页面
82
          <!-- <div class="item-box tip">
9b7e125f   monkeyhouyi   属地页面
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
            <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   前端整改页面
102
          </div> -->
9b7e125f   monkeyhouyi   属地页面
103
          <div class="item-box msg">
ce1de261   monkeyhouyi   专项行动
104
105
            <div class="item-title">
              <div class="left">通知公告</div>
be009217   monkeyhouyi   处理,通知公告,任务中心
106
107
108
109
110
111
              <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   专项行动
112
            </div>
9b7e125f   monkeyhouyi   属地页面
113
114
            <div class="item-body">
              <template>
be009217   monkeyhouyi   处理,通知公告,任务中心
115
116
                <el-table :data="msgList" style="width: 100%" stripe v-loading="msgLoading">
                  <el-table-column prop="title" label="标题" show-overflow-tooltip>
9b7e125f   monkeyhouyi   属地页面
117
                  </el-table-column>
61009cfc   monkeyhouyi   2024/8/8
118
                  <el-table-column label="操作" fixed="right" width="150">
be009217   monkeyhouyi   处理,通知公告,任务中心
119
                    <template slot-scope="scope">
93adad84   monkeyhouyi   网信执法功能添加
120
                      <el-button type="text" @click="checkDetail(scope.row, true)">详情</el-button>
61009cfc   monkeyhouyi   2024/8/8
121
122
                      <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   处理,通知公告,任务中心
123
                    </template>
9b7e125f   monkeyhouyi   属地页面
124
125
                  </el-table-column>
                </el-table>
61009cfc   monkeyhouyi   2024/8/8
126
                <pagination :total="msgTotal" :page.sync="msgListQuery.currentPage" :limit.sync="msgListQuery.pageSize" @pagination="getAllMsgList" layout="prev, pager, next"/>
9b7e125f   monkeyhouyi   属地页面
127
128
129
130
131
              </template>
            </div>
          </div>
        </el-col>
      </el-row>
5a14192c   monkeyhouyi   1
132
      <MsgForm v-if="MsgFormVisible" ref="MsgForm" @refresh="msgRefresh"/>
2201a66b   monkeyhouyi   专项性行动-首页联动
133
      <HandleInspectForm v-if="HandleInspectFormVisible" ref="HandleInspectForm" @refresh="(val) => {taskRefresh('HandleInspectFormVisible', val)}"/>
e47508b6   monkeyhouyi   优化专项行动
134
      <NCC-Form v-if="formVisible" ref="NCCForm" @refreshDataList="(val) => {taskRefresh('formVisible', val)}" />
76e683c7   monkeyhouyi   提交
135
        <!-- 案件处理 -->
93adad84   monkeyhouyi   网信执法功能添加
136
      <HandForm v-if="HandFormVisible" ref="HandForm" @refresh="(val) => {taskRefresh('HandFormVisible', val)}" />
76e683c7   monkeyhouyi   提交
137
138
139
140
        <!-- 研判 -->
      <DisposalForm v-if="DisposalFormVisible" ref="DisposalForm" @refresh="(val) => {taskRefresh('DisposalFormVisible', val)}"/>
      <DisposalHandleForm v-if="DisposalHandleFormVisible" ref="DisposalHandleForm" @refresh="(val) => {taskRefresh('DisposalHandleFormVisible', val)}"/>
  
9b7e125f   monkeyhouyi   属地页面
141
142
143
144
    </div>
  </template>
  
  <script>
be009217   monkeyhouyi   处理,通知公告,任务中心
145
146
  import request from "@/utils/request";
  import MsgForm from "./msgForm.vue"
2201a66b   monkeyhouyi   专项性行动-首页联动
147
148
  import HandleInspectForm from "@/views/baseSystemInfo/HandleInspectForm.vue"
  import NCCForm from '@/views/baseSpecialAction/dynamicModel/list/Form'
93adad84   monkeyhouyi   网信执法功能添加
149
  import HandForm from '@/views/baseCaseHandling/Form.vue'
76e683c7   monkeyhouyi   提交
150
151
152
153
  // 研判
  import DisposalForm from "@/views/DisposalSuggestions/Form.vue";
  // 巡查处理
  import DisposalHandleForm from "@/views/DisposalSuggestions/HandleForm.vue";
9b7e125f   monkeyhouyi   属地页面
154
155
  export default {
    name: "Overview",
76e683c7   monkeyhouyi   提交
156
    components: { MsgForm, HandleInspectForm, NCCForm, HandForm, DisposalForm, DisposalHandleForm },
9b7e125f   monkeyhouyi   属地页面
157
158
    data() {
      return {
ecc43230   monkeyhouyi   优化首页,应用管理
159
        todoTableData: [],
9b7e125f   monkeyhouyi   属地页面
160
161
        tipTableData: [],
        aimList: [],
be009217   monkeyhouyi   处理,通知公告,任务中心
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
  
        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   专项性行动-首页联动
185
        HandleInspectFormVisible: false,
93adad84   monkeyhouyi   网信执法功能添加
186
187
        formVisible: false,
        HandFormVisible: false,
76e683c7   monkeyhouyi   提交
188
189
        DisposalHandleFormVisible: false,
        DisposalFormVisible: false,
ce1de261   monkeyhouyi   专项行动
190
      };
9b7e125f   monkeyhouyi   属地页面
191
192
    },
    created() {
be009217   monkeyhouyi   处理,通知公告,任务中心
193
194
      this.getAllMsgList();
      this.getAllTaskList();
9b7e125f   monkeyhouyi   属地页面
195
    },
ecc43230   monkeyhouyi   优化首页,应用管理
196
197
198
    computed: {
      isSHILevel() {
        // 判断角色是否为‘市级办公室’
ce1de261   monkeyhouyi   专项行动
199
        return this.$store.state.user.islader;
ecc43230   monkeyhouyi   优化首页,应用管理
200
201
      },
    },
9b7e125f   monkeyhouyi   属地页面
202
    methods: {
be009217   monkeyhouyi   处理,通知公告,任务中心
203
204
205
206
207
208
209
210
211
212
213
214
215
216
      // 通知公告
      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   属地页面
217
        }
be009217   monkeyhouyi   处理,通知公告,任务中心
218
219
220
221
222
223
224
225
        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
226
227
        }).catch(() => {
          this.msgLoading = false;
be009217   monkeyhouyi   处理,通知公告,任务中心
228
        });
9b7e125f   monkeyhouyi   属地页面
229
      },
ce1de261   monkeyhouyi   专项行动
230
231
      resetMsg() {
        this.msgList = [];
be009217   monkeyhouyi   处理,通知公告,任务中心
232
233
234
235
236
        this.msgListQuery = {
          currentPage: 1,
          pageSize: 20,
        };
        this.getAllMsgList();
ce1de261   monkeyhouyi   专项行动
237
      },
be009217   monkeyhouyi   处理,通知公告,任务中心
238
239
240
241
      msgRefresh(val) {
        this.MsgFormVisible = false;
        val && this.getAllMsgList();
      },
61009cfc   monkeyhouyi   2024/8/8
242
      checkDetail(row, isDetail) {
be009217   monkeyhouyi   处理,通知公告,任务中心
243
244
        this.MsgFormVisible = true;
        this.$nextTick(() => {
61009cfc   monkeyhouyi   2024/8/8
245
          this.$refs.MsgForm.init(row.id, isDetail);
be009217   monkeyhouyi   处理,通知公告,任务中心
246
        })
9b7e125f   monkeyhouyi   属地页面
247
      },
61009cfc   monkeyhouyi   2024/8/8
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
      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   处理,通知公告,任务中心
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
      // 发布消息通知
      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   属地页面
285
          } else {
be009217   monkeyhouyi   处理,通知公告,任务中心
286
            query[key] = _query[key];
9b7e125f   monkeyhouyi   属地页面
287
288
          }
        }
be009217   monkeyhouyi   处理,通知公告,任务中心
289
290
291
292
293
294
295
296
        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
297
298
        }).catch(() => {
          this.taskLoading = false;
be009217   monkeyhouyi   处理,通知公告,任务中心
299
300
301
302
303
304
305
306
307
        });
      },
      resetTask() {
        this.taskList = [];
        this.taskListQuery = {
          currentPage: 1,
          pageSize: 20,
        };
        this.getAllTaskList();
9b7e125f   monkeyhouyi   属地页面
308
      },
2201a66b   monkeyhouyi   专项性行动-首页联动
309
      async handleTask(row) {
76e683c7   monkeyhouyi   提交
310
        if(row.taskType == '专项行动') {
2201a66b   monkeyhouyi   专项性行动-首页联动
311
          this.formVisible = true;
e47508b6   monkeyhouyi   优化专项行动
312
313
          // let data = await this.getBaseSpecialActionInfo('588008032122701061');
          let data = await this.getBaseSpecialActionInfo(row.taskCorrelationId);
2201a66b   monkeyhouyi   专项性行动-首页联动
314
315
316
317
318
319
320
321
322
323
324
325
326
327
          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)
          });
76e683c7   monkeyhouyi   提交
328
329
330
331
332
333
334
335
        } else {
          let type = row.taskType;
          if(row.taskType == '核查处理' || row.taskType == '研判') {
            let str = row.taskTitle;
            type = str.slice(1, str.indexOf('】'));
          }
          let openObject = this.getDialog(type);
          this[openObject.visible] = true;
93adad84   monkeyhouyi   网信执法功能添加
336
          this.$nextTick(() => {
76e683c7   monkeyhouyi   提交
337
            this.$refs[`${openObject.node}`].init(row.taskCorrelationId, true, openObject.isDetail, 1);
93adad84   monkeyhouyi   网信执法功能添加
338
          })
2201a66b   monkeyhouyi   专项性行动-首页联动
339
340
        }
      },
76e683c7   monkeyhouyi   提交
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
      getDialog(type) {
        switch (type) {
          case '归属地变更':
            return { visible: 'HandleInspectFormVisible', node: 'HandleInspectForm', isDetail: true }
            break;
          case '专项行动':
            
            break;
          case '案件处理':
          case '网信执法':
            return { visible: 'HandFormVisible', node: 'HandForm', isDetail: false, type: 1}
            break;
          case '研判':
            return { visible: 'DisposalFormVisible', node: 'DisposalForm', isDetail: false}
            break;
          case '进一步处置':
            return { visible: 'DisposalHandleFormVisible', node: 'DisposalHandleForm', isDetail: false}
            break;
          default:
            break;
        }
      },
2201a66b   monkeyhouyi   专项性行动-首页联动
363
364
365
366
367
368
369
370
371
372
373
      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   属地页面
374
    },
9b7e125f   monkeyhouyi   属地页面
375
376
377
378
379
380
381
382
383
384
  };
  </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
385
        height: calc(100vh - 160px);
9b7e125f   monkeyhouyi   属地页面
386
      }
ce1de261   monkeyhouyi   专项行动
387
      //&.earmarked {
ecc43230   monkeyhouyi   优化首页,应用管理
388
        // height: calc(50vh - 115px);
ce1de261   monkeyhouyi   专项行动
389
390
        //margin-bottom: 0;
      //}
93186f57   monkeyhouyi   前端整改页面
391
392
393
      // &.tip {
      //   height: calc(50vh - 60px);
      // }
9b7e125f   monkeyhouyi   属地页面
394
      &.msg {
5a14192c   monkeyhouyi   1
395
        height: calc(100vh - 160px);
9b7e125f   monkeyhouyi   属地页面
396
397
398
        margin-bottom: 0;
      }
      .item-title {
ce1de261   monkeyhouyi   专项行动
399
400
401
        display: flex;
        justify-content: space-between;
        align-items: center;
9b7e125f   monkeyhouyi   属地页面
402
403
404
405
        color: rgba(255, 255, 255, 1);
        font-size: 16px;
        line-height: 23px;
        padding: 10px;
ce1de261   monkeyhouyi   专项行动
406
407
408
        .el-link.el-link--default {
          color: #fff !important;
        }
9b7e125f   monkeyhouyi   属地页面
409
410
      }
      .item-body {
be009217   monkeyhouyi   处理,通知公告,任务中心
411
        height: calc(100% - 95px);
9b7e125f   monkeyhouyi   属地页面
412
        margin: 0 13px;
ecc43230   monkeyhouyi   优化首页,应用管理
413
        // padding-bottom: 28px;
9b7e125f   monkeyhouyi   属地页面
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
        .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>