Blame view

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