Blame view

src/views/overView/Overview.vue 12.6 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 />
5a14192c   monkeyhouyi   1
23
24
25
26
27
                  <el-table-column prop="deadLine" label="任务期限" show-overflow-tooltip :formatter="ncc.tableDateFormat" width="140">
                    <template slot-scope="scope">
                      <el-tag :type="ncc.timeDeadLine(scope.row.deadLine)">{{ ncc.tableDateFormat(scope.row, 'deadLine', scope.row.deadLine) }}</el-tag>
                    </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>
be009217   monkeyhouyi   处理,通知公告,任务中心
114
115
116
117
                  <el-table-column label="操作" fixed="right" width="80">
                    <template slot-scope="scope">
                      <el-button type="text" @click="checkDetail(scope.row)">详情</el-button>
                    </template>
9b7e125f   monkeyhouyi   属地页面
118
119
                  </el-table-column>
                </el-table>
be009217   monkeyhouyi   处理,通知公告,任务中心
120
                <pagination :total="msgTotal" :page.sync="msgListQuery.currentPage" :limit.sync="msgListQuery.pageSize" @pagination="getAllMsgList" />
9b7e125f   monkeyhouyi   属地页面
121
122
123
124
125
              </template>
            </div>
          </div>
        </el-col>
      </el-row>
5a14192c   monkeyhouyi   1
126
      <MsgForm v-if="MsgFormVisible" ref="MsgForm" @refresh="msgRefresh"/>
2201a66b   monkeyhouyi   专项性行动-首页联动
127
      <HandleInspectForm v-if="HandleInspectFormVisible" ref="HandleInspectForm" @refresh="(val) => {taskRefresh('HandleInspectFormVisible', val)}"/>
e47508b6   monkeyhouyi   优化专项行动
128
      <NCC-Form v-if="formVisible" ref="NCCForm" @refreshDataList="(val) => {taskRefresh('formVisible', val)}" />
9b7e125f   monkeyhouyi   属地页面
129
130
131
132
    </div>
  </template>
  
  <script>
be009217   monkeyhouyi   处理,通知公告,任务中心
133
134
  import request from "@/utils/request";
  import MsgForm from "./msgForm.vue"
2201a66b   monkeyhouyi   专项性行动-首页联动
135
136
137
  import HandleInspectForm from "@/views/baseSystemInfo/HandleInspectForm.vue"
  import NCCForm from '@/views/baseSpecialAction/dynamicModel/list/Form'
  
9b7e125f   monkeyhouyi   属地页面
138
139
  export default {
    name: "Overview",
2201a66b   monkeyhouyi   专项性行动-首页联动
140
    components: { MsgForm, HandleInspectForm, NCCForm },
9b7e125f   monkeyhouyi   属地页面
141
142
    data() {
      return {
ecc43230   monkeyhouyi   优化首页,应用管理
143
        todoTableData: [],
9b7e125f   monkeyhouyi   属地页面
144
145
        tipTableData: [],
        aimList: [],
be009217   monkeyhouyi   处理,通知公告,任务中心
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
  
        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   专项性行动-首页联动
169
170
        HandleInspectFormVisible: false,
        formVisible: false
ce1de261   monkeyhouyi   专项行动
171
      };
9b7e125f   monkeyhouyi   属地页面
172
173
    },
    created() {
be009217   monkeyhouyi   处理,通知公告,任务中心
174
175
      this.getAllMsgList();
      this.getAllTaskList();
9b7e125f   monkeyhouyi   属地页面
176
    },
ecc43230   monkeyhouyi   优化首页,应用管理
177
178
179
    computed: {
      isSHILevel() {
        // 判断角色是否为‘市级办公室’
ce1de261   monkeyhouyi   专项行动
180
        return this.$store.state.user.islader;
ecc43230   monkeyhouyi   优化首页,应用管理
181
182
      },
    },
9b7e125f   monkeyhouyi   属地页面
183
    methods: {
be009217   monkeyhouyi   处理,通知公告,任务中心
184
185
186
187
188
189
190
191
192
193
194
195
196
197
      // 通知公告
      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   属地页面
198
        }
be009217   monkeyhouyi   处理,通知公告,任务中心
199
200
201
202
203
204
205
206
        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
207
208
        }).catch(() => {
          this.msgLoading = false;
be009217   monkeyhouyi   处理,通知公告,任务中心
209
        });
9b7e125f   monkeyhouyi   属地页面
210
      },
ce1de261   monkeyhouyi   专项行动
211
212
      resetMsg() {
        this.msgList = [];
be009217   monkeyhouyi   处理,通知公告,任务中心
213
214
215
216
217
        this.msgListQuery = {
          currentPage: 1,
          pageSize: 20,
        };
        this.getAllMsgList();
ce1de261   monkeyhouyi   专项行动
218
      },
be009217   monkeyhouyi   处理,通知公告,任务中心
219
220
221
222
223
224
225
226
227
228
      msgRefresh(val) {
        this.MsgFormVisible = false;
        val && this.getAllMsgList();
      },
      checkDetail(row) {
        console.log(row);
        this.MsgFormVisible = true;
        this.$nextTick(() => {
          this.$refs.MsgForm.init(row.id, true);
        })
9b7e125f   monkeyhouyi   属地页面
229
      },
be009217   monkeyhouyi   处理,通知公告,任务中心
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
      // 发布消息通知
      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   属地页面
249
          } else {
be009217   monkeyhouyi   处理,通知公告,任务中心
250
            query[key] = _query[key];
9b7e125f   monkeyhouyi   属地页面
251
252
          }
        }
be009217   monkeyhouyi   处理,通知公告,任务中心
253
254
255
256
257
258
259
260
        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
261
262
        }).catch(() => {
          this.taskLoading = false;
be009217   monkeyhouyi   处理,通知公告,任务中心
263
264
265
266
267
268
269
270
271
        });
      },
      resetTask() {
        this.taskList = [];
        this.taskListQuery = {
          currentPage: 1,
          pageSize: 20,
        };
        this.getAllTaskList();
9b7e125f   monkeyhouyi   属地页面
272
      },
2201a66b   monkeyhouyi   专项性行动-首页联动
273
274
275
276
277
278
279
280
      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   优化专项行动
281
282
          // let data = await this.getBaseSpecialActionInfo('588008032122701061');
          let data = await this.getBaseSpecialActionInfo(row.taskCorrelationId);
2201a66b   monkeyhouyi   专项性行动-首页联动
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
          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)
          });
        }
      },
      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   属地页面
310
    },
9b7e125f   monkeyhouyi   属地页面
311
312
313
314
315
316
317
318
319
320
  };
  </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
321
        height: calc(100vh - 160px);
9b7e125f   monkeyhouyi   属地页面
322
      }
ce1de261   monkeyhouyi   专项行动
323
      //&.earmarked {
ecc43230   monkeyhouyi   优化首页,应用管理
324
        // height: calc(50vh - 115px);
ce1de261   monkeyhouyi   专项行动
325
326
        //margin-bottom: 0;
      //}
93186f57   monkeyhouyi   前端整改页面
327
328
329
      // &.tip {
      //   height: calc(50vh - 60px);
      // }
9b7e125f   monkeyhouyi   属地页面
330
      &.msg {
5a14192c   monkeyhouyi   1
331
        height: calc(100vh - 160px);
9b7e125f   monkeyhouyi   属地页面
332
333
334
        margin-bottom: 0;
      }
      .item-title {
ce1de261   monkeyhouyi   专项行动
335
336
337
        display: flex;
        justify-content: space-between;
        align-items: center;
9b7e125f   monkeyhouyi   属地页面
338
339
340
341
        color: rgba(255, 255, 255, 1);
        font-size: 16px;
        line-height: 23px;
        padding: 10px;
ce1de261   monkeyhouyi   专项行动
342
343
344
        .el-link.el-link--default {
          color: #fff !important;
        }
9b7e125f   monkeyhouyi   属地页面
345
346
      }
      .item-body {
be009217   monkeyhouyi   处理,通知公告,任务中心
347
        height: calc(100% - 95px);
9b7e125f   monkeyhouyi   属地页面
348
        margin: 0 13px;
ecc43230   monkeyhouyi   优化首页,应用管理
349
        // padding-bottom: 28px;
9b7e125f   monkeyhouyi   属地页面
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
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
        .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>