Blame view

src/views/baseSpecialAction/index.vue 9.27 KB
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
1
2
3
4
5
6
7
8
9
10
  <template>
    <div class="baseSpecialAction item-box common-info-box">
      <div class="item-title">专项行动管理</div>
      <div class="item-body">
        <div class="NCC-common-layout">
          <div class="NCC-common-layout-center">
            <el-row class="NCC-common-search-box" :gutter="16">
              <el-form @submit.native.prevent size="mini">
                <el-col :span="6">
                  <el-form-item label="">
ce1de261   monkeyhouyi   专项行动
11
                    <el-input v-model="query.title" placeholder="标题" clearable/>
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
12
13
14
15
                  </el-form-item>
                </el-col>
                <el-col :span="6">
                  <el-form-item label="">
ce1de261   monkeyhouyi   专项行动
16
                    <el-select v-model="query.state" placeholder="请选择状态" clearable>
541d55ac   monkeyhouyi   优化
17
                      <el-option label="已存档" value="已存档"></el-option>
ce1de261   monkeyhouyi   专项行动
18
                      <el-option label="已发布" value="已发布"></el-option>
541d55ac   monkeyhouyi   优化
19
                      <el-option label="已发布并部署" value="已发布并部署"></el-option>
ce1de261   monkeyhouyi   专项行动
20
21
                      <el-option label="未发布" value="未发布"></el-option>
                    </el-select>
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
22
23
24
25
                  </el-form-item>
                </el-col>
                <el-col :span="6">
                  <el-form-item>
ce1de261   monkeyhouyi   专项行动
26
27
                    <el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button>
                    <el-button icon="el-icon-refresh-right" @click="reset()">重置</el-button>
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
28
29
30
31
                  </el-form-item>
                </el-col>
              </el-form>
              <div class="NCC-common-search-box-right">
d8af3866   monkeyhouyi   1
32
33
                <el-button type="success" icon="el-icon-plus" @click="addOrUpdateHandle()" size="mini" >新增</el-button>
                <!-- <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData()">导出</el-button> -->
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
34
35
36
              </div>
            </el-row>
            <div class="NCC-common-layout-main NCC-flex-main">
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
37
              <NCC-table v-loading="listLoading" :data="list">
ff36c85d   monkeyhouyi   1
38
                <!-- <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip/> -->
73755355   monkeyhouyi   优化
39
40
41
42
43
                <el-table-column prop="title" label="标题" align="left" show-overflow-tooltip>
                  <template slot-scope="scope">
                    <div :class="`${ncc.timeStartTime(scope.row.creatorTime) ? 'red-start' : ''}`">{{scope.row.title}}</div>
                  </template>
                </el-table-column>
ce1de261   monkeyhouyi   专项行动
44
45
46
                <el-table-column prop="creatorTime" label="发布时间" align="left" :formatter="ncc.tableDateFormat" show-overflow-tooltip/>
                <el-table-column label="传达区域" prop="communicationArea" align="left" show-overflow-tooltip>
                  <template slot-scope="scope">{{ JSON.parse(scope.row.communicationArea) | dynamicText(communicationAreaOptions) }}</template>
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
47
                </el-table-column>
ce1de261   monkeyhouyi   专项行动
48
49
                <el-table-column label="传达外协" prop="communicationOut" align="left" show-overflow-tooltip>
                  <template slot-scope="scope">{{ JSON.parse(scope.row.communicationOut) | dynamicText(communicationOutOptions) }}</template>
93186f57   monkeyhouyi   前端整改页面
50
                </el-table-column>
73755355   monkeyhouyi   优化
51
                <!-- <el-table-column label="内容" prop="content" align="left" show-overflow-tooltip /> -->
ff36c85d   monkeyhouyi   1
52
53
54
55
56
                <el-table-column prop="state" label="状态" align="left" show-overflow-tooltip width="100">
                  <template slot-scope="scope">
                    <el-tag :type="stateColor[`${scope.row.state}`]">{{scope.row.state}}</el-tag>
                  </template>
                </el-table-column>
73755355   monkeyhouyi   优化
57
                <el-table-column prop="deadline" label="截止时间" show-overflow-tooltip :formatter="ncc.tableDateFormat" width="200" align="left">
4614132f   monkeyhouyi   列表查询,案件处理
58
59
60
61
                    <template slot-scope="scope">
                      <el-tag v-if="scope.row.deadline" :type="`${ncc.timeDeadLine(scope.row.deadline)}`">{{ncc.stateDeadLine(scope.row.deadline)}}{{ ncc.tableDateFormat(scope.row, 'deadline', scope.row.deadline) }}</el-tag>
                    </template>
                  </el-table-column>
ff36c85d   monkeyhouyi   1
62
                <!-- <el-table-column prop="creatorUserId" show-overflow-tooltip label="创建用户" align="left"/> -->
73755355   monkeyhouyi   优化
63
                <el-table-column label="操作" fixed="right" width="200">
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
64
                  <template slot-scope="scope">
73755355   monkeyhouyi   优化
65
                    <el-button type="text" @click="toFormDetail(scope.row)">行动详情</el-button>
ff36c85d   monkeyhouyi   1
66
                    <el-button type="text" @click="addOrUpdateHandle(scope.row)">修改</el-button>
89ab0203   monkeyhouyi   修改个人信息弹框
67
                    <el-button type="text" @click="toDetail(scope.row)" v-if="scope.row.state == '已发布并部署' && isSHILevel">处理情况</el-button>
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
68
69
70
                  </template>
                </el-table-column>
              </NCC-table>
ce1de261   monkeyhouyi   专项行动
71
              <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData"/>
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
72
73
74
            </div>
          </div>
          <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" />
ce1de261   monkeyhouyi   专项行动
75
76
          <ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/>
          <InfoForm v-if="InfoFormVisible" ref="InfoForm" @refresh="InfoFormVisible = false"/>
73755355   monkeyhouyi   优化
77
          <FormPage v-if="FormPageVisible" ref="FormPage" @refresh="FormPageVisible = false"/>
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
78
79
80
81
82
83
        </div>
      </div>
    </div>
  </template>
  <script>
  import request from "@/utils/request";
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
84
85
  import NCCForm from "./Form";
  import ExportBox from "./ExportBox";
ce1de261   monkeyhouyi   专项行动
86
  import InfoForm from "./infoForm.vue";
73755355   monkeyhouyi   优化
87
  import FormPage from "./FormPage.vue";
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
88
  export default {
73755355   monkeyhouyi   优化
89
    components: { NCCForm, ExportBox, InfoForm, FormPage },
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
90
91
92
93
94
95
96
97
    data() {
      return {
        query: {
          title: undefined,
          state: undefined,
        },
        list: [],
        listLoading: false,
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
98
99
100
101
102
103
104
105
106
        total: 0,
        listQuery: {
          currentPage: 1,
          pageSize: 20,
          sort: "desc",
          sidx: "",
        },
        formVisible: false,
        exportBoxVisible: false,
ce1de261   monkeyhouyi   专项行动
107
        InfoFormVisible: false,
73755355   monkeyhouyi   优化
108
        FormPageVisible: false,
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
109
        communicationAreaOptions: [],
ce1de261   monkeyhouyi   专项行动
110
        communicationOutOptions: [],
ff36c85d   monkeyhouyi   1
111
112
113
114
115
116
        stateColor: {
          '已存档': "info",
          '已发布': "warning",
          '已发布并部署': "success",
          '未发布': "",
        },
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
117
118
      };
    },
fcbf44a0   monkeyhouyi   1
119
120
121
122
    async created() {
      await this.initAreaTypeList();
      await this.initCommunicationOutOptions();
      this.initData();
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
123
    },
ce1de261   monkeyhouyi   专项行动
124
125
126
127
128
129
    computed: {
  		isSHILevel() {
    		  // 判断角色是否为‘市级办公室’
    		  return this.$store.state.user.islader;
    		},
  	},
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
130
    methods: {
ce1de261   monkeyhouyi   专项行动
131
132
133
134
135
136
137
138
139
      async initAreaTypeList() {
        let list = this.$store.state.meta.area;
        !list && (list = await this.$store.dispatch("getTypeListByCode", "area"));
        this.communicationAreaOptions = list;
      },
      async initCommunicationOutOptions() {
        let list = this.$store.state.meta.externalAssistanceList;
        !list && (list = await this.$store.dispatch("getTypeListByCode", "externalAssistance"));
        this.communicationOutOptions = list;
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
140
141
      },
      initData() {
bae8b004   monkeyhouyi   1
142
        this.list = [];
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
143
144
145
146
147
148
149
150
151
152
153
154
155
        this.listLoading = true;
        let _query = {
          ...this.listQuery,
          ...this.query,
        };
        let query = {};
        for (let key in _query) {
          if (Array.isArray(_query[key])) {
            query[key] = _query[key].join();
          } else {
            query[key] = _query[key];
          }
        }
ce1de261   monkeyhouyi   专项行动
156
        // 市级专项行动列表
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
157
        request({
ce1de261   monkeyhouyi   专项行动
158
          url: '/Extend/BaseSpecialAction',
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
159
          method: "GET",
ce1de261   monkeyhouyi   专项行动
160
          params: query,
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
161
162
        }).then((res) => {
          this.list = res.data.list;
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
163
164
          this.total = res.data.pagination.total;
          this.listLoading = false;
8f1d4460   monkeyhouyi   实现专项行动详情查看
165
166
        }).catch(() => {
          this.listLoading = false;
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
167
168
        });
      },
ce1de261   monkeyhouyi   专项行动
169
     
61009cfc   monkeyhouyi   2024/8/8
170
      addOrUpdateHandle(row, isDetail) {
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
171
172
        this.formVisible = true;
        this.$nextTick(() => {
61009cfc   monkeyhouyi   2024/8/8
173
          this.$refs.NCCForm.init(row, isDetail);
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
174
175
        });
      },
ce1de261   monkeyhouyi   专项行动
176
177
178
179
180
181
      toDetail(row) {
        this.InfoFormVisible = true;
        this.$nextTick(() => {
          this.$refs.InfoForm.init(row);
        });
      },
73755355   monkeyhouyi   优化
182
183
184
185
186
187
      toFormDetail(row) {
        this.FormPageVisible = true;
        this.$nextTick(() => {
          this.$refs.FormPage.init(row);
        });
      },
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
188
189
190
      exportData() {
        this.exportBoxVisible = true;
        this.$nextTick(() => {
ce1de261   monkeyhouyi   专项行动
191
          this.$refs.ExportBox.init(this.list);
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
        });
      },
      download(data) {
        let query = { ...data, ...this.listQuery, ...this.query };
        request({
          url: `/Extend/BaseSpecialAction/Actions/Export`,
          method: "GET",
          data: query,
        }).then((res) => {
          if (!res.data.url) return;
          window.location.href = this.define.comUrl + res.data.url;
          this.$refs.ExportBox.visible = false;
          this.exportBoxVisible = false;
        });
      },
      search() {
        this.listQuery = {
          currentPage: 1,
          pageSize: 20,
          sort: "desc",
          sidx: "",
        };
        this.initData();
      },
      refresh(isrRefresh) {
        this.formVisible = false;
        if (isrRefresh) this.reset();
      },
      reset() {
        for (let key in this.query) {
          this.query[key] = undefined;
        }
        this.listQuery = {
          currentPage: 1,
          pageSize: 20,
          sort: "desc",
          sidx: "",
        };
        this.initData();
      },
    },
  };
  </script>
  <style scoped lang="scss">
  .common-info-box {
    :deep(.el-table__body-wrapper.is-scrolling-none) {
      height: calc(100% - 47px);
      overflow-y: scroll;
    }
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
241
  }
73755355   monkeyhouyi   优化
242
243
244
245
246
247
248
249
250
251
252
  .red-start {
    &::before {
      content: "";
      display: inline-block;
      margin-right: 4px;
      width: 8px;
      height: 8px;
      background: red;
      border-radius: 50%;
    }
  }
4424f41c   monkeyhouyi   网信执法、清单管理静态页面
253
  </style>