Blame view

src/views/baseSystemInfo/index.vue 15 KB
0af91599   monkeyhouyi   弹框请求优化
1
  <template>
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
2
3
4
5
6
7
8
9
10
11
    <!-- 应用信息 -->
    <div class="SystemInfo 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="5">
              <el-form @submit.native.prevent size="mini">
                <el-col :span="5">
                  <el-form-item label="">
ecc43230   monkeyhouyi   优化首页,应用管理
12
                    <el-input
1c867c77   monkeyhouyi   1
13
                      clearable
ecc43230   monkeyhouyi   优化首页,应用管理
14
                      v-model="query.keyword"
65aeaaa1   monkeyhouyi   样式修改
15
                      placeholder="请输入应用名称、运营主体名称进行查询"
ecc43230   monkeyhouyi   优化首页,应用管理
16
                    />
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
17
18
19
20
                  </el-form-item>
                </el-col>
                <el-col :span="3">
                  <el-form-item label="">
ecc43230   monkeyhouyi   优化首页,应用管理
21
22
23
24
25
26
                    <el-select
                      v-model="query.systemType"
                      placeholder="请选择应用类型"
                      clearable
                      @change="handleSystemTypeChange"
                    >
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
27
                      <el-option
ecc43230   monkeyhouyi   优化首页,应用管理
28
                        v-for="item in systemTypeOptions"
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
29
30
31
32
33
34
35
36
37
                        :key="item.Id"
                        :label="item.FullName"
                        :value="item.Id"
                      />
                    </el-select>
                  </el-form-item>
                </el-col>
                <el-col :span="3">
                  <el-form-item label="">
ecc43230   monkeyhouyi   优化首页,应用管理
38
                    <el-select
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
39
                      v-model="query.proId"
65aeaaa1   monkeyhouyi   样式修改
40
                      placeholder="请选择应用分类"
ecc43230   monkeyhouyi   优化首页,应用管理
41
                      :disabled="!query.systemType"
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
42
43
44
                      clearable
                    >
                      <el-option
ecc43230   monkeyhouyi   优化首页,应用管理
45
                        v-for="item in systemClassOptions"
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
46
47
48
49
50
51
52
                        :key="item.Id"
                        :label="item.ClassName"
                        :value="item.Id"
                      />
                    </el-select>
                  </el-form-item>
                </el-col>
ecc43230   monkeyhouyi   优化首页,应用管理
53
                <el-col :span="4">
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
54
55
                  <el-form-item label="">
                    <el-input
4614132f   monkeyhouyi   列表查询,案件处理
56
                      v-model="query.principalName"
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
57
58
59
60
                      placeholder="请输入联系人"
                    />
                  </el-form-item>
                </el-col>
ecc43230   monkeyhouyi   优化首页,应用管理
61
                <el-col :span="4">
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
62
63
                  <el-form-item label="">
                    <el-input
4614132f   monkeyhouyi   列表查询,案件处理
64
                      v-model="query.principalPhone"
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
                      placeholder="请输入联系电话"
                    />
                  </el-form-item>
                </el-col>
                <el-col :span="2">
                  <el-form-item>
                    <el-button
                      type="primary"
                      icon="el-icon-search"
                      @click="search()"
                      >搜索</el-button
                    >
                  </el-form-item>
                </el-col>
              </el-form>
              <div class="NCC-common-search-box-right">
94f06e38   monkeyhouyi   优化
81
                <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData('demo')">导出模板</el-button>
89ab0203   monkeyhouyi   修改个人信息弹框
82
                <!-- <el-button type="success" icon="el-icon-upload2" size="mini">导入</el-button> -->
94f06e38   monkeyhouyi   优化
83
                <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData()">导出</el-button>
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
84
85
86
              </div>
            </el-row>
            <div class="NCC-common-layout-main NCC-flex-main">
ecc43230   monkeyhouyi   优化首页,应用管理
87
88
89
90
              <NCC-table v-loading="loading" :data="infoDataList">
                <el-table-column
                  show-overflow-tooltip
                  prop="companyName"
65aeaaa1   monkeyhouyi   样式修改
91
                  label="运营主体名称"
ecc43230   monkeyhouyi   优化首页,应用管理
92
93
94
95
96
97
98
99
                  align="center"
                />
                <el-table-column
                  show-overflow-tooltip
                  prop="systemName"
                  label="应用名称"
                  align="center"
                />
9913f656   monkeyhouyi   巡查上报
100
101
102
                <el-table-column label="应用类型" prop="systemType" align="left" show-overflow-tooltip>
                  <template slot-scope="scope">{{ scope.row.systemType | dynamicTextUP(systemTypeOptions) }}</template>
                </el-table-column>
76e683c7   monkeyhouyi   提交
103
                <el-table-column label="应用分类" prop="systemClass" align="left" show-overflow-tooltip>
9913f656   monkeyhouyi   巡查上报
104
105
                  <!-- <template slot-scope="scope">{{ scope.row.systemClass | dynamicTextUP(systemTypeOptions) }}</template> -->
                </el-table-column>
ecc43230   monkeyhouyi   优化首页,应用管理
106
107
                <el-table-column
                  show-overflow-tooltip
65aeaaa1   monkeyhouyi   样式修改
108
                  prop="contactUser"
ecc43230   monkeyhouyi   优化首页,应用管理
109
110
111
112
113
                  label="联系人"
                  align="center"
                />
                <el-table-column
                  show-overflow-tooltip
65aeaaa1   monkeyhouyi   样式修改
114
                  prop="contactPhone"
ecc43230   monkeyhouyi   优化首页,应用管理
115
116
117
                  label="联系电话"
                  align="center"
                />
e47508b6   monkeyhouyi   优化专项行动
118
119
120
                <el-table-column label="所属区域" prop="areaId" align="left" show-overflow-tooltip>
                  <template slot-scope="scope">{{ scope.row.areaId | dynamicText(areaOptions) }}</template>
                </el-table-column>
93186f57   monkeyhouyi   前端整改页面
121
                <el-table-column label="操作" width="250">
ecc43230   monkeyhouyi   优化首页,应用管理
122
123
                  <!-- 查看,修改,归属地变更,上报 -->
                  <template slot-scope="scope">
65aeaaa1   monkeyhouyi   样式修改
124
                    <infoForm class="btn_dialog" type="edit" :systemId="scope.row.id" @reInit="search">
ecc43230   monkeyhouyi   优化首页,应用管理
125
126
                      <el-button size="mini" type="text">修改</el-button>
                    </infoForm>
5a14192c   monkeyhouyi   1
127
                    <el-button size="mini" type="text" @click="toDetail(scope.row)">查看</el-button>
89ab0203   monkeyhouyi   修改个人信息弹框
128
129
                    <el-button size="mini" type="text" @click="toChangeArea(scope.row)" >归属地变更</el-button>
                    <el-button size="mini" type="text" @click="toInspection(scope.row)" >上报</el-button>
73755355   monkeyhouyi   优化
130
                    <!-- <el-button type="text" style="color: red;" @click="delNew(scope.row)" v-if="isSHILevel">删除</el-button> -->
ecc43230   monkeyhouyi   优化首页,应用管理
131
132
133
134
135
                  </template>
                </el-table-column>
              </NCC-table>
              <pagination
                :total="total"
73755355   monkeyhouyi   优化
136
                :page.sync="listQuery.currentPage"
ecc43230   monkeyhouyi   优化首页,应用管理
137
138
139
140
                :limit.sync="listQuery.pageSize"
                @pagination="initList"
              />
            </div>
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
141
          </div>
ecc43230   monkeyhouyi   优化首页,应用管理
142
143
144
145
146
147
148
149
150
151
152
153
154
          <el-dialog
            title="归属地变更"
            :visible.sync="areaChangeVisible"
            width="50%"
          >
            <el-form
              :model="areaForm"
              :rules="areaRules"
              ref="areaForm"
              size="small"
              label-width="100px"
              v-loading="areaDialogLoading"
            >
eec97c6a   monkeyhouyi   归属地变更去除市属
155
              <!-- <el-form-item label="市属" prop="city">
93186f57   monkeyhouyi   前端整改页面
156
157
158
159
160
                <el-input
                  v-model="areaForm.city"
                  placeholder="请输入市属"
                  maxlength="20"
                ></el-input>
eec97c6a   monkeyhouyi   归属地变更去除市属
161
              </el-form-item> -->
ecc43230   monkeyhouyi   优化首页,应用管理
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
              <el-form-item label="所属区县" prop="areaId">
                <el-radio-group
                  v-model="areaForm.areaId"
                  placeholder="请选择所属区县"
                  style="line-height: 22px"
                >
                  <el-radio v-for="v in areaOptions" :key="v.id" :label="v.id">{{
                    v.fullName
                  }}</el-radio>
                </el-radio-group>
              </el-form-item>
              <el-form-item label="申请内容描述" prop="applnycontent">
                <el-input
                  type="textarea"
                  v-model="areaForm.applnycontent"
                  placeholder="请输入申请内容描述"
                  maxlength="300"
                ></el-input>
              </el-form-item>
            </el-form>
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
182
  
ecc43230   monkeyhouyi   优化首页,应用管理
183
184
            <span slot="footer" class="dialog-footer">
              <el-button @click="areaChangeVisible = false">取 消</el-button>
2201a66b   monkeyhouyi   专项性行动-首页联动
185
              <el-button type="primary" @click="areaSubmit" :loading="btnLoading">确 定</el-button>
ecc43230   monkeyhouyi   优化首页,应用管理
186
187
            </span>
          </el-dialog>
006cc67a   monkeyhouyi   巡查上报
188
189
190
191
192
          <InspectionForm
            v-if="InspectionFormVisible"
            ref="InspectionForm"
            @refresh="refresh"
          />
93186f57   monkeyhouyi   前端整改页面
193
          <ChangeRecord v-if="ChangeRecordVisible" ref="ChangeRecord"/>
5a14192c   monkeyhouyi   1
194
          <DetailForm v-if="DetailFormVisible" ref="DetailForm"/>
3662215e   monkeyhouyi   有害清单,应用详情
195
          <ExportBox v-if="ExportBoxVisible" ref="ExportBox" @download="download"/>
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
196
197
198
199
200
201
        </div>
      </div>
    </div>
  </template>
  
  <script>
3662215e   monkeyhouyi   有害清单,应用详情
202
  import request from "@/utils/request";
76e683c7   monkeyhouyi   提交
203
  import { getList } from "@/api/baseData/info";
5330d757   monkeyhouyi   公司信息管理完成
204
  import { applnyChageArea } from "@/api/baseData/info";
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
205
  import infoMixin from "@/mixins/info";
006cc67a   monkeyhouyi   巡查上报
206
  import InspectionForm from "./InspectForm.vue";
87e6927c   monkeyhouyi   弹框样式
207
  import DetailForm from './DetailForm.vue';
93186f57   monkeyhouyi   前端整改页面
208
  import ChangeRecord from "./ChangeRecord.vue";
3662215e   monkeyhouyi   有害清单,应用详情
209
  import ExportBox from "./ExportBox.vue";
94f06e38   monkeyhouyi   优化
210
  import define from '@/utils/define'
006cc67a   monkeyhouyi   巡查上报
211
  
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
212
213
214
  export default {
    name: "SystemInfo",
    mixins: [infoMixin],
3662215e   monkeyhouyi   有害清单,应用详情
215
    components: { InspectionForm, ChangeRecord, DetailForm, ExportBox },
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
216
217
218
    data() {
      return {
        loading: false,
ecc43230   monkeyhouyi   优化首页,应用管理
219
220
        query: {
          keyword: "",
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
221
222
          systemType: "",
          systemClass: "",
4614132f   monkeyhouyi   列表查询,案件处理
223
224
          principalName: "",
          principalPhone: "",
ecc43230   monkeyhouyi   优化首页,应用管理
225
        },
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
226
        listQuery: {
73755355   monkeyhouyi   优化
227
          currentPage: 1,
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
228
229
230
231
232
233
234
          pageSize: 10,
          sort: "desc",
          sidx: "",
        },
        total: 0,
        infoDataList: [],
  
ecc43230   monkeyhouyi   优化首页,应用管理
235
236
237
238
239
        //   归属地变更
        areaChangeVisible: false,
        areaDialogLoading: false,
        activeAreaId: "",
        areaForm: {
93186f57   monkeyhouyi   前端整改页面
240
          city: '',
ecc43230   monkeyhouyi   优化首页,应用管理
241
242
243
244
245
          areaId: "",
          applnycontent: "",
        },
        areaRules: {
          areaId: {
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
246
247
248
249
            required: true,
            message: "请输入所属区县",
            trigger: "change",
          },
ecc43230   monkeyhouyi   优化首页,应用管理
250
251
        },
        activeSystemId: "",
006cc67a   monkeyhouyi   巡查上报
252
253
254
  
        // 上报
        InspectionFormVisible: false,
2201a66b   monkeyhouyi   专项性行动-首页联动
255
256
        ChangeRecordVisible: false,
        btnLoading: false,
5a14192c   monkeyhouyi   1
257
258
259
  
        // 详情
        DetailFormVisible: false,
3662215e   monkeyhouyi   有害清单,应用详情
260
261
262
263
264
265
266
267
268
269
270
271
  
        // 导出
        ExportBoxVisible: false,
        columnList: [
          { prop: "companyName", label: "主体企业" },
          { prop: "systemName", label: "应用名称" },
          { prop: "systemType", label: "应用类型" },
          { prop: "systemClass", label: "系统类型" },
          { prop: "principalName", label: "联系人" },
          { prop: "principalPhone", label: "联系电话" },
          { prop: "areaId", label: "所属区域" },
        ],
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
272
273
      };
    },
73755355   monkeyhouyi   优化
274
    
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
275
    created() {
ecc43230   monkeyhouyi   优化首页,应用管理
276
      this.initSystemTypeList();
e47508b6   monkeyhouyi   优化专项行动
277
      this.initAreaTypeList();
9913f656   monkeyhouyi   巡查上报
278
      this.initList();
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
279
    },
ecc43230   monkeyhouyi   优化首页,应用管理
280
    mounted() {},
73755355   monkeyhouyi   优化
281
282
283
284
285
286
    computed: {
      isSHILevel() {
        // 判断角色是否为‘市级办公室’
        return this.$store.state.user.islader;
      },
    },
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
287
    watch: {
5330d757   monkeyhouyi   公司信息管理完成
288
289
      $route: {
        handler: function (route) {
ecc43230   monkeyhouyi   优化首页,应用管理
290
          this.query.keyword = route.query.keyword || "";
5330d757   monkeyhouyi   公司信息管理完成
291
292
293
294
          this.initList();
        },
        immediate: true,
      },
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
295
296
    },
    methods: {
ecc43230   monkeyhouyi   优化首页,应用管理
297
298
299
300
      handleSystemTypeChange(val) {
        this.query.systemClass = "";
        this.initSystemClassList(val);
      },
006cc67a   monkeyhouyi   巡查上报
301
302
303
304
305
306
307
308
309
310
311
312
313
  
      reset() {
        for (let key in this.query) {
          this.query[key] = undefined;
        }
        this.listQuery = {
          currentPage: 1,
          pageSize: 20,
          sort: "desc",
          sidx: "",
        };
        this.initList();
      },
ecc43230   monkeyhouyi   优化首页,应用管理
314
315
      search() {
        this.listQuery = {
73755355   monkeyhouyi   优化
316
          currentPage: 1,
ecc43230   monkeyhouyi   优化首页,应用管理
317
318
319
320
321
322
          pageSize: 10,
          sort: "desc",
          sidx: "",
        };
        this.initList();
      },
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
323
      initList() {
ecc43230   monkeyhouyi   优化首页,应用管理
324
325
        this.loading = true;
        let query = {
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
326
327
328
          ...this.listQuery,
          ...this.query,
        };
76e683c7   monkeyhouyi   提交
329
        getList(query).then(({ data }) => {
7d4da54c   monkeyhouyi   修改应用列表接口
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
          // let list = [];
          // data.list.length &&
          //   data.list.forEach((v) => {
          //     let obj = {
          //       companyName: v.compayInfo.CompanyName,
          //       systemName: v.SysytemInfo.SystemName,
          //       systemType: v.SysytemInfo.SystemType,
          //       systemClass: v.SysytemInfo.SystemClass,
          //       areaId: v.SysytemInfo.AreaId,
          //       principalName: v.SysytemInfo.PrincipalName,
          //       principalPhone: v.SysytemInfo.PrincipalPhone,
          //       Id: v.SysytemInfo.Id,
          //     };
          //     list.push(obj);
          //   });
          // this.infoDataList = list;
          // this.total = data.totalCount;
          this.total = data.pagination.total;
          this.infoDataList = data.list;
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
349
350
351
          this.loading = false;
        });
      },
5a14192c   monkeyhouyi   1
352
      toDetail(row) {
5a14192c   monkeyhouyi   1
353
354
355
356
357
        this.DetailFormVisible = true;
        this.$nextTick(() => {
          this.$refs.DetailForm.init(row);
        });
      },
ecc43230   monkeyhouyi   优化首页,应用管理
358
      // 上报
006cc67a   monkeyhouyi   巡查上报
359
360
361
362
363
364
      toInspection(row) {
        this.InspectionFormVisible = true;
        this.$nextTick(() => {
          this.$refs.InspectionForm.init(row);
        });
      },
006cc67a   monkeyhouyi   巡查上报
365
366
367
368
      refresh(isrRefresh) {
        this.InspectionFormVisible = false;
        if (isrRefresh) this.reset();
      },
ecc43230   monkeyhouyi   优化首页,应用管理
369
370
371
372
373
      async toChangeArea(row) {
        this.areaChangeVisible = true;
        this.areaDialogLoading = true;
        this.activeAreaId = row.areaId;
        this.areaForm.areaId = row.areaId;
65aeaaa1   monkeyhouyi   样式修改
374
        this.activeSystemId = row.id;
ecc43230   monkeyhouyi   优化首页,应用管理
375
376
377
378
379
        await this.initAreaTypeList();
        this.areaDialogLoading = false;
      },
      areaSubmit() {
        if (this.activeAreaId == this.areaForm.areaId) return;
2201a66b   monkeyhouyi   专项性行动-首页联动
380
        this.btnLoading = true;
ecc43230   monkeyhouyi   优化首页,应用管理
381
382
383
384
385
        applnyChageArea({
          id: this.activeSystemId,
          toChangeIntoId: this.areaForm.areaId,
          applnycontent: this.areaForm.applnycontent,
        }).then((res) => {
2201a66b   monkeyhouyi   专项性行动-首页联动
386
          this.btnLoading = false;
ecc43230   monkeyhouyi   优化首页,应用管理
387
          this.areaChangeVisible = false;
2201a66b   monkeyhouyi   专项性行动-首页联动
388
389
390
391
          this.$message({
            message: res.msg,
            type: 'success'
          });
ecc43230   monkeyhouyi   优化首页,应用管理
392
393
394
          this.initList();
        });
      },
94f06e38   monkeyhouyi   优化
395
396
397
398
399
400
401
402
403
404
405
406
407
      exportData(type) {
        let obj = {};
        if(type) {
          obj = {
            url: '/Extend/basesysteminfo/Actions/GenerateImportTemplate',
            method: "GET",
          }
        } else {
          obj ={
            url: '/Extend/basesysteminfo/Actions/Export',
            method: "POST",
            data: this.query,
          }
89ab0203   monkeyhouyi   修改个人信息弹框
408
        };
94f06e38   monkeyhouyi   优化
409
410
411
412
413
414
415
416
417
        request(obj).then((res) => {
          if(type) {
            const blob = new Blob([res], {type: 'application/json'});
            const url = window.URL.createObjectURL(blob);
            let link = document.createElement('a');
            link.style.display = 'none';
            link.href = url;
            link.download = '应用信息模板.xlsx';
            link.click();
89ab0203   monkeyhouyi   修改个人信息弹框
418
          } else {
94f06e38   monkeyhouyi   优化
419
420
421
422
423
424
            if(res.code != 200) return;
            const url = define.APIURl + res.data.url;
            const link = document.createElement("a");
            link.href = url;
            link.download = res.data.name;
            link.click();
89ab0203   monkeyhouyi   修改个人信息弹框
425
          }
94f06e38   monkeyhouyi   优化
426
        })
3662215e   monkeyhouyi   有害清单,应用详情
427
428
429
430
431
432
433
434
435
436
437
438
439
440
      },
      download(data) {
        let query = { ...data, ...this.listQuery, ...this.query };
        request({
          url: `/Extend/BasePrincipalResponsibility/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;
        });
      },
89ab0203   monkeyhouyi   修改个人信息弹框
441
442
443
444
445
446
447
448
  
      delNew(row) {
        this.$confirm('此操作将永久删除该系统, 是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(async () => {
          let res = await request({
65aeaaa1   monkeyhouyi   样式修改
449
            url: `/Extend/basesysteminfo/${row.id}`,
89ab0203   monkeyhouyi   修改个人信息弹框
450
451
452
453
454
455
456
457
458
            method: "DELETE",
          });
          this.$message({
            message: res.msg,
            type: 'success'
          });
          this.initList();
        });
      },
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
459
460
461
462
463
464
465
466
467
    },
  };
  </script>
  <style scoped lang="scss">
  .common-info-box {
    :deep(.el-table__body-wrapper.is-scrolling-none) {
      height: calc(100% - 47px);
      overflow-y: scroll;
    }
7af40104   monkeyhouyi   应用信息页面完成(上报没写)
468
469
  }
  </style>