Commit cb0a72a6809883debb70850ede6d9ecdfd34db06

Authored by monkeyhouyi
1 parent 46bce7e6

核查处置优化

src/api/common.js
... ... @@ -20,9 +20,9 @@ export async function uploader({ type, file }) {
20 20 data: { file }
21 21 });
22 22 }
23   -export function getDownloadUrl(type, fileName) {
  23 +export function getDownloadUrl(type, fileId, name) {
24 24 return request({
25   - url: `/file/Download/${type}/${fileName}`,
  25 + url: `/file/Download/${type}/${fileId}/${encodeURIComponent(name)}`,
26 26 method: 'get'
27 27 })
28 28 }
... ...
src/api/systemData/dataInterface.js
... ... @@ -139,4 +139,13 @@ export function getDataInterfaceLog(id, data) {
139 139 method: 'GET',
140 140 data
141 141 })
  142 +}
  143 +
  144 +// 编辑不进入流程
  145 +export function UpdateByHandle(data) {
  146 + return request({
  147 + url: `/Extend/BaseInspectionReport/${data.id}/UpdateByHandle`,
  148 + method: 'PUT',
  149 + data
  150 + })
142 151 }
143 152 \ No newline at end of file
... ...
src/views/DisposalSuggestions/Form.vue
... ... @@ -109,24 +109,58 @@
109 109 <div class="text">{{ dataForm.areaName || "--" }}</div>
110 110 </div>
111 111 </el-col>
112   - <el-col :span="24">
  112 + <el-col :span="24" v-for="(v, i) in dataForm.judgmentOpinions" :key="i" style="border: #f6f6f6 solid 1px; border-radius: 10px; padding: 8px; margin-bottom: 5px;">
  113 + <div class="title">研判信息{{ i + 1 }}</div>
113 114 <div class="form-item">
114   - <div class="label w-100">处置建议:</div>
115   - <div class="text">{{ dataForm.judgmentOpinions || "--" }}</div>
  115 + <div class="label w-120">处置类型:</div>
  116 + <div class="text">{{ v.State }}</div>
  117 + </div>
  118 + <div class="form-item">
  119 + <div class="label w-120">处置建议:</div>
  120 + <div class="text">{{ v.judgmentOpinion }}</div>
116 121 </div>
117 122 </el-col>
118   - <el-col :span="24">
  123 + <el-col :span="24" v-for="(v, index) in dataForm.disposalSuggestions" :key="index" style="border: #f6f6f6 solid 1px; border-radius: 10px; padding: 8px; margin-bottom: 5px;">
  124 + <div class="title">处置信息{{ index + 1 }}</div>
119 125 <div class="form-item">
120   - <div class="label w-100">处置结果:</div>
121   - <div class="text">{{ dataForm.disposalSuggestions || "--" }}</div>
  126 + <div class="label w-120">处置结果:</div>
  127 + <div class="text">{{ v.disposalSuggestion }}</div>
  128 + </div>
  129 + <div class="form-item" v-if="v.fileUrl">
  130 + <div class="label w-120">处置附件:</div>
  131 + <div class="text" style="width: calc(100% - 120px);">
  132 + <NCC-UploadFz v-model="v.fileUrl" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
  133 + </div>
122 134 </div>
123 135 </el-col>
124   - <el-col :span="24">
  136 + <!-- <el-col :span="24">
  137 + <div class="form-item">
  138 + <div class="label w-100">处置建议:</div>
  139 + <div class="text">
  140 + <div class="text" v-if="!dataForm.judgmentOpinions || !dataForm.judgmentOpinions.length">无</div>
  141 + <template v-else>
  142 + <div class="text" v-for="v in dataForm.judgmentOpinions" :key="v">{{ v }}</div>
  143 + </template>
  144 + </div>
  145 + </div>
  146 + </el-col> -->
  147 + <!-- <el-col :span="24">
  148 + <div class="form-item">
  149 + <div class="label w-100">处置结果:</div>
  150 + <div class="text">
  151 + <div class="text" v-if="!dataForm.disposalSuggestions || !dataForm.disposalSuggestions.length">无</div>
  152 + <template v-else>
  153 + <div class="text" v-for="v in dataForm.disposalSuggestions" :key="v">{{ v }}</div>
  154 + </template>
  155 + </div>
  156 + </div>
  157 + </el-col> -->
  158 + <!-- <el-col :span="24">
125 159 <el-col class="form-item">
126 160 <div class="label w-100">处置附件:</div>
127 161 <div class="text" v-if="dataForm.judgmentOpinions">
128 162 <NCC-UploadFz
129   - v-model="dataForm.judgmentOpinions"
  163 + v-model="dataForm.disposalResult"
130 164 :fileSize="5"
131 165 sizeUnit="MB"
132 166 :limit="9"
... ... @@ -135,7 +169,7 @@
135 169 />
136 170 </div>
137 171 </el-col>
138   - </el-col>
  172 + </el-col> -->
139 173 </el-row>
140 174 </el-col>
141 175 <el-col :span="14">
... ... @@ -242,6 +276,7 @@ import { getDictionaryDataSelector } from &quot;@/api/systemData/dictionary&quot;;
242 276 import {
243 277 getDetail,
244 278 disposalSuggestionsAPI,
  279 + UpdateByHandle
245 280 } from "@/api/systemData/dataInterface";
246 281 export default {
247 282 components: {},
... ... @@ -301,6 +336,7 @@ export default {
301 336 areaOptions: [],
302 337 btnLoading: false,
303 338 communicationOutOptions: [],
  339 + formType: '',
304 340 };
305 341 },
306 342 computed: {
... ... @@ -341,12 +377,13 @@ export default {
341 377 goBack() {
342 378 this.$emit("refresh");
343 379 },
344   - async init(id, isDetail) {
  380 + async init(id, isDetail, type) {
345 381 this.dataForm.id = id || 0;
346 382 this.visible = true;
347 383 this.showSuggsetion = false;
348 384 this.showarea = false;
349 385 this.loading = true;
  386 + this.formType = type || '';
350 387 await this.initCommunicationOutOptions();
351 388 await this.getSourceOptions();
352 389 await this.initAreaTypeList();
... ... @@ -390,7 +427,15 @@ export default {
390 427 id: this.dataForm.id,
391 428 };
392 429 this.btnLoading = true;
393   - let res = await disposalSuggestionsAPI(obj);
  430 + let res
  431 + if(this.formType) {
  432 + // 编辑
  433 + res = await UpdateByHandle(obj);
  434 + console.log(res, 'bianji');
  435 + } else {
  436 + // 研判
  437 + res = await disposalSuggestionsAPI(obj);
  438 + }
394 439 if (res.code != 200) return (this.btnLoading = false);
395 440 this.$message({
396 441 message: res.msg,
... ...
src/views/DisposalSuggestions/HandleForm.vue
... ... @@ -110,24 +110,58 @@
110 110 <div class="text">{{ dataForm.areaName || "--" }}</div>
111 111 </div>
112 112 </el-col>
113   - <el-col :span="24">
  113 + <el-col :span="24" v-for="(v, i) in dataForm.judgmentOpinions" :key="i" style="border: #f6f6f6 solid 1px; border-radius: 10px; padding: 8px; margin-bottom: 5px;">
  114 + <div class="title">研判信息{{ i + 1 }}</div>
  115 + <div class="form-item">
  116 + <div class="label w-120">处置类型:</div>
  117 + <div class="text">{{ v.State }}</div>
  118 + </div>
  119 + <div class="form-item">
  120 + <div class="label w-120">处置建议:</div>
  121 + <div class="text">{{ v.judgmentOpinion }}</div>
  122 + </div>
  123 + </el-col>
  124 + <el-col :span="24" v-for="(v, i) in dataForm.disposalSuggestions" :key="i" style="border: #f6f6f6 solid 1px; border-radius: 10px; padding: 8px; margin-bottom: 5px;">
  125 + <div class="title">处置信息{{ i + 1 }}</div>
  126 + <div class="form-item">
  127 + <div class="label w-120">处置结果:</div>
  128 + <div class="text">{{ v.disposalSuggestion }}</div>
  129 + </div>
  130 + <div class="form-item" v-if="v.fileUrl">
  131 + <div class="label w-120">处置附件:</div>
  132 + <div class="text" style="width: calc(100% - 120px);">
  133 + <NCC-UploadFz v-model="v.fileUrl" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
  134 + </div>
  135 + </div>
  136 + </el-col>
  137 + <!-- <el-col :span="24">
114 138 <div class="form-item">
115 139 <div class="label w-100">处置建议:</div>
116   - <div class="text">{{ dataForm.judgmentOpinions || "--" }}</div>
  140 + <div class="text">
  141 + <div class="text" v-if="!dataForm.judgmentOpinions || !dataForm.judgmentOpinions.length">无</div>
  142 + <template v-else>
  143 + <div class="text" v-for="v in dataForm.judgmentOpinions" :key="v">{{ v }}</div>
  144 + </template>
  145 + </div>
117 146 </div>
118 147 </el-col>
119 148 <el-col :span="24">
120 149 <div class="form-item">
121 150 <div class="label w-100">处置结果:</div>
122   - <div class="text">{{ dataForm.disposalSuggestions || "--" }}</div>
  151 + <div class="text">
  152 + <div class="text" v-if="!dataForm.disposalSuggestions || !dataForm.disposalSuggestions.length">无</div>
  153 + <template v-else>
  154 + <div class="text" v-for="v in dataForm.disposalSuggestions" :key="v">{{ v }}</div>
  155 + </template>
  156 + </div>
123 157 </div>
124   - </el-col>
125   - <el-col :span="24">
  158 + </el-col> -->
  159 + <!-- <el-col :span="24">
126 160 <el-col class="form-item">
127 161 <div class="label w-100">处置附件:</div>
128 162 <div class="text" v-if="dataForm.judgmentOpinions">
129 163 <NCC-UploadFz
130   - v-model="dataForm.judgmentOpinions"
  164 + v-model="dataForm.disposalResult"
131 165 :fileSize="5"
132 166 sizeUnit="MB"
133 167 :limit="9"
... ... @@ -136,7 +170,7 @@
136 170 />
137 171 </div>
138 172 </el-col>
139   - </el-col>
  173 + </el-col> -->
140 174 </el-row>
141 175 </el-col>
142 176 <el-col :span="14">
... ...
src/views/DisposalSuggestions/index.vue
1 1 <template>
2   - <div class="SystemInfo item-box common-info-box">
3   - <div class="item-title">{{isSHILevel ? '线索研判' : '巡查处理'}}</div>
4   - <div class="item-body">
5   - <div class="NCC-common-layout">
6   - <div class="NCC-common-layout-center">
7   - <el-row class="NCC-common-search-box" :gutter="16">
8   - <el-form @submit.native.prevent size="mini">
9   - <el-col :span="5">
10   - <el-form-item label="">
11   - <el-date-picker
12   - v-model="query.creatorTime"
13   - type="datetimerange"
14   - value-format="timestamp"
15   - format="yyyy-MM-dd HH:mm:ss"
16   - start-placeholder="登记开始日期"
17   - end-placeholder="登记结束日期"
18   - >
19   - </el-date-picker>
20   - </el-form-item>
21   - </el-col>
22   - <el-col :span="3">
23   - <el-form-item label="">
24   - <el-input v-model="query.platformName" placeholder="请输入应用名称" clearable />
25   - </el-form-item>
26   - </el-col>
27   - <el-col :span="3">
28   - <el-form-item label="">
29   - <el-select v-model="query.platformType" placeholder="请选择应用类型" clearable >
30   - <el-option v-for="(item, index) in systemTypeOptions" :key="index" :label="item.FullName" :value="item.Id" />
31   - </el-select>
32   - </el-form-item>
33   - </el-col>
34   - <!-- <el-col :span="3">
  2 + <div class="SystemInfo item-box common-info-box">
  3 + <div class="item-title">{{ isSHILevel ? "线索研判" : "巡查处理" }}</div>
  4 + <div class="item-body">
  5 + <div class="NCC-common-layout">
  6 + <div class="NCC-common-layout-center">
  7 + <el-row class="NCC-common-search-box" :gutter="16">
  8 + <el-form @submit.native.prevent size="mini">
  9 + <el-col :span="5">
  10 + <el-form-item label="">
  11 + <el-date-picker
  12 + v-model="query.creatorTime"
  13 + type="datetimerange"
  14 + value-format="timestamp"
  15 + format="yyyy-MM-dd HH:mm:ss"
  16 + start-placeholder="登记开始日期"
  17 + end-placeholder="登记结束日期"
  18 + >
  19 + </el-date-picker>
  20 + </el-form-item>
  21 + </el-col>
  22 + <el-col :span="3">
  23 + <el-form-item label="">
  24 + <el-input
  25 + v-model="query.platformName"
  26 + placeholder="请输入应用名称"
  27 + clearable
  28 + />
  29 + </el-form-item>
  30 + </el-col>
  31 + <el-col :span="3">
  32 + <el-form-item label="">
  33 + <el-select
  34 + v-model="query.platformType"
  35 + placeholder="请选择应用类型"
  36 + clearable
  37 + >
  38 + <el-option
  39 + v-for="(item, index) in systemTypeOptions"
  40 + :key="index"
  41 + :label="item.FullName"
  42 + :value="item.Id"
  43 + />
  44 + </el-select>
  45 + </el-form-item>
  46 + </el-col>
  47 + <!-- <el-col :span="3">
35 48 <el-form-item label="">
36 49 <depSelect v-model="query.department" placeholder="请选择部门" />
37 50 </el-form-item>
38 51 </el-col> -->
39   - <el-col :span="3">
40   - <el-form-item label="">
41   - <el-input v-model="query.questionType" placeholder="请选择问题类型" clearable />
42   - </el-form-item>
43   - </el-col>
44   - <el-col :span="3">
45   - <el-form-item>
46   - <el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button>
47   - <el-button icon="el-icon-refresh-right" @click="reset()">重置</el-button>
48   - </el-form-item>
49   - </el-col>
50   - </el-form>
51   - </el-row>
52   - <div class="NCC-common-layout-main NCC-flex-main">
53   - <NCC-table v-loading="listLoading" :data="list">
54   - <el-table-column show-overflow-tooltip prop="platformNameStr" label="应用名称" align="left" />
55   - <el-table-column show-overflow-tooltip label="应用类型" prop="platformType" align="left">
56   - <template slot-scope="scope">{{ scope.row.platformNameStr || scope.row.platformName }}</template>
57   - </el-table-column>
58   - <el-table-column show-overflow-tooltip label="问题类型" prop="questionType" align="left" ></el-table-column>
59   - <el-table-column show-overflow-tooltip label="线索编号" prop="leadNumber" align="left" ></el-table-column>
60   - <!-- <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> -->
61   - <!-- <el-table-column show-overflow-tooltip prop="questionClass" label="关键词" align="left" /> -->
62   - <el-table-column show-overflow-tooltip prop="creatorTime" label="录入时间" align="left" :formatter="ncc.tableDateFormat"/>
63   - <el-table-column show-overflow-tooltip prop="state" label="状态" align="left" />
64   - <!-- <el-table-column show-overflow-tooltip prop="disposalSuggestions" label="处置建议" align="left" />
  52 + <el-col :span="3">
  53 + <el-form-item label="">
  54 + <el-input
  55 + v-model="query.questionType"
  56 + placeholder="请选择问题类型"
  57 + clearable
  58 + />
  59 + </el-form-item>
  60 + </el-col>
  61 + <el-col :span="3">
  62 + <el-form-item>
  63 + <el-button
  64 + type="primary"
  65 + icon="el-icon-search"
  66 + @click="search()"
  67 + >查询</el-button
  68 + >
  69 + <el-button icon="el-icon-refresh-right" @click="reset()"
  70 + >重置</el-button
  71 + >
  72 + </el-form-item>
  73 + </el-col>
  74 + <div class="NCC-common-search-box-right">
  75 + <el-button
  76 + type="primary"
  77 + icon="el-icon-download"
  78 + size="mini"
  79 + @click="exportData()"
  80 + >导出</el-button
  81 + >
  82 + </div>
  83 + </el-form>
  84 + </el-row>
  85 + <div class="NCC-common-layout-main NCC-flex-main">
  86 + <NCC-table v-loading="listLoading" :data="list">
  87 + <el-table-column
  88 + show-overflow-tooltip
  89 + prop="platformNameStr"
  90 + label="应用名称"
  91 + align="left"
  92 + />
  93 + <el-table-column
  94 + show-overflow-tooltip
  95 + label="应用类型"
  96 + prop="platformType"
  97 + align="left"
  98 + >
  99 + <template slot-scope="scope">{{
  100 + scope.row.platformNameStr || scope.row.platformName
  101 + }}</template>
  102 + </el-table-column>
  103 + <el-table-column
  104 + show-overflow-tooltip
  105 + label="问题类型"
  106 + prop="questionType"
  107 + align="left"
  108 + ></el-table-column>
  109 + <el-table-column
  110 + show-overflow-tooltip
  111 + label="线索编号"
  112 + prop="leadNumber"
  113 + align="left"
  114 + ></el-table-column>
  115 + <!-- <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> -->
  116 + <!-- <el-table-column show-overflow-tooltip prop="questionClass" label="关键词" align="left" /> -->
  117 + <el-table-column
  118 + show-overflow-tooltip
  119 + prop="creatorTime"
  120 + label="录入时间"
  121 + align="left"
  122 + :formatter="ncc.tableDateFormat"
  123 + />
  124 + <el-table-column
  125 + show-overflow-tooltip
  126 + prop="state"
  127 + label="状态"
  128 + align="left"
  129 + />
  130 + <!-- <el-table-column show-overflow-tooltip prop="disposalSuggestions" label="处置建议" align="left" />
65 131 <el-table-column show-overflow-tooltip prop="id" label="主键" align="left" />
66 132 <el-table-column show-overflow-tooltip prop="department" label="部门" align="left" />
67 133 <el-table-column show-overflow-tooltip label="问题分类" prop="questionClass" align="left">
... ... @@ -70,171 +136,241 @@
70 136 <el-table-column show-overflow-tooltip label="阶段" prop="stage" align="left">
71 137 <template slot-scope="scope">{{ scope.row.stage | dynamicText(stageOptions) }}</template>
72 138 </el-table-column> -->
73   - <el-table-column label="操作" fixed="right" width="100">
74   - <template slot-scope="scope">
75   - <!-- 未研判 ‘577006621985604869’/未下发 ‘577006641364189019’ / 已处置 ‘577006696312866053’ 可以研判 -->
76   - <!-- <el-button type="text" v-if="isSHILevel" @click="addOrUpdateHandle(scope.row.id)" :disabled="['577006621985604869', '577006641364189019', '577006696312866053'].includes(scope.row.stage) == -1">{{ scope.row.stage == '577006641364189019' ? '下发' : '研判'}}</el-button> -->
77   - <el-button type="text" v-if="isSHILevel" @click="addOrUpdateHandle(scope.row.id)" :disabled="!['577006621985604869', '577006641364189019', '577006696312866053'].includes(scope.row.stage)">研判</el-button>
78   - <!-- 待处置进行处理 -->
79   - <el-button type="text" v-else @click="toHandle(scope.row.id)" :disabled="scope.row.stage != '577006131314196155'">处理</el-button>
80   - <el-button type="text" @click="toDetail(scope.row.id)" >详情</el-button>
81   - </template>
82   - </el-table-column>
83   - </NCC-table>
84   - <pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData" />
85   - </div>
86   - </div>
87   - <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" />
88   - <HandleForm v-if="HandleFormVisible" ref="HandleForm" @refresh="refresh" />
89   - <ReportForm v-if="ReportFormVisible" ref="ReportForm" @refresh="refresh" />
90   - </div>
91   - </div>
92   - </div>
93   -
  139 + <el-table-column label="操作" fixed="right" width="150">
  140 + <template slot-scope="scope">
  141 + <el-button
  142 + type="text"
  143 + @click="addOrUpdateHandle(scope.row.id, false, 'edit')"
  144 + v-if="isSHILevel && scope.row.stage == '577006666214540549'"
  145 + >编辑</el-button
  146 + >
  147 + <!-- 未研判 ‘577006621985604869’/未下发 ‘577006641364189019’ / 已处置 ‘577006696312866053’ 可以研判 -->
  148 + <!-- <el-button type="text" v-if="isSHILevel" @click="addOrUpdateHandle(scope.row.id)" :disabled="['577006621985604869', '577006641364189019', '577006696312866053'].includes(scope.row.stage) == -1">{{ scope.row.stage == '577006641364189019' ? '下发' : '研判'}}</el-button> -->
  149 + <el-button
  150 + type="text"
  151 + v-if="isSHILevel && scope.row.stage != '577006666214540549'"
  152 + @click="addOrUpdateHandle(scope.row.id)"
  153 + :disabled="
  154 + ![
  155 + '577006621985604869',
  156 + '577006641364189019',
  157 + '577006696312866053',
  158 + ].includes(scope.row.stage)
  159 + "
  160 + >研判</el-button
  161 + >
  162 + <!-- 待处置进行处理 -->
  163 + <el-button
  164 + type="text"
  165 + v-if="!isSHILevel"
  166 + @click="toHandle(scope.row.id)"
  167 + :disabled="scope.row.stage != '577006131314196155'"
  168 + >处理</el-button
  169 + >
  170 + <el-button type="text" @click="toDetail(scope.row.id)"
  171 + >详情</el-button
  172 + >
  173 + </template>
  174 + </el-table-column>
  175 + </NCC-table>
  176 + <pagination
  177 + :total="total"
  178 + :page.sync="listQuery.currentPage"
  179 + :limit.sync="listQuery.pageSize"
  180 + @pagination="initData"
  181 + />
  182 + </div>
  183 + </div>
  184 + <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" />
  185 + <HandleForm
  186 + v-if="HandleFormVisible"
  187 + ref="HandleForm"
  188 + @refresh="refresh"
  189 + />
  190 + <ReportForm
  191 + v-if="ReportFormVisible"
  192 + ref="ReportForm"
  193 + @refresh="refresh"
  194 + />
  195 + </div>
  196 + </div>
  197 + </div>
94 198 </template>
95 199 <script>
96   - import request from '@/utils/request'
97   - import infoMixin from "@/mixins/info";
98   - import NCCForm from './Form'
99   - import HandleForm from './HandleForm'
100   - import { getListForJudge, previewDataInterface } from '@/api/systemData/dataInterface'
101   - import ReportForm from '@/views/baseInspectionReport/Form.vue' // 巡查处置
102   - export default {
103   - components: { NCCForm, HandleForm, ReportForm },
104   - mixins: [infoMixin],
105   - data() {
106   - return {
107   - showAll: false,
108   - query: {
109   - platformName:undefined,
110   - platformNameStr: undefined,
111   - platformType:undefined,
112   - department:undefined,
113   - questionType:undefined,
114   - questionClass:undefined,
115   - creatorTime: [],
116   - },
117   - list: [],
118   - listLoading: true,
119   - multipleSelection: [], total: 0,
120   - listQuery: {
121   - currentPage: 1,
122   - pageSize: 20,
123   - sort: "desc",
124   - sidx: "",
125   - },
126   - formVisible: false,
127   - exportBoxVisible: false,
128   - columnList: [
129   - { prop: 'platformName', label: '平台名称' },
130   - { prop: 'platformType', label: '平台类型' },
131   - { prop: 'questionType', label: '问题类型' },
132   - { prop: 'link', label: '有害链接' },
133   - { prop: 'disposalSuggestions', label: '处置建议' },
134   - { prop: 'id', label: '主键' },
135   - { prop: 'department', label: '部门' },
136   - { prop: 'questionClass', label: '问题分类' },
137   - { prop: 'stage', label: '阶段' },
138   - ],
139   - sourceOptions:[{"fullName":"市网信办线索","id":"市网信办线索"},{"fullName":"自主巡查发现","id":"自主巡查发现"}],
140   - systemTypeOptions : [],
141   - questionTypeOptions : [],
142   - questionClassOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
143   - stageOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
  200 +import request from "@/utils/request";
  201 +import infoMixin from "@/mixins/info";
  202 +import NCCForm from "./Form";
  203 +import HandleForm from "./HandleForm";
  204 +import {
  205 + getListForJudge,
  206 + previewDataInterface,
  207 +} from "@/api/systemData/dataInterface";
  208 +import ReportForm from "@/views/baseInspectionReport/Form.vue"; // 巡查处置
  209 +import define from '@/utils/define'
  210 +
  211 +export default {
  212 + components: { NCCForm, HandleForm, ReportForm },
  213 + mixins: [infoMixin],
  214 + data() {
  215 + return {
  216 + showAll: false,
  217 + query: {
  218 + platformName: undefined,
  219 + platformNameStr: undefined,
  220 + platformType: undefined,
  221 + department: undefined,
  222 + questionType: undefined,
  223 + questionClass: undefined,
  224 + creatorTime: [],
  225 + },
  226 + list: [],
  227 + listLoading: true,
  228 + multipleSelection: [],
  229 + total: 0,
  230 + listQuery: {
  231 + currentPage: 1,
  232 + pageSize: 20,
  233 + sort: "desc",
  234 + sidx: "",
  235 + },
  236 + formVisible: false,
  237 + exportBoxVisible: false,
  238 + columnList: [
  239 + { prop: "platformName", label: "平台名称" },
  240 + { prop: "platformType", label: "平台类型" },
  241 + { prop: "questionType", label: "问题类型" },
  242 + { prop: "link", label: "有害链接" },
  243 + { prop: "disposalSuggestions", label: "处置建议" },
  244 + { prop: "id", label: "主键" },
  245 + { prop: "department", label: "部门" },
  246 + { prop: "questionClass", label: "问题分类" },
  247 + { prop: "stage", label: "阶段" },
  248 + ],
  249 + sourceOptions: [
  250 + { fullName: "市网信办线索", id: "市网信办线索" },
  251 + { fullName: "自主巡查发现", id: "自主巡查发现" },
  252 + ],
  253 + systemTypeOptions: [],
  254 + questionTypeOptions: [],
  255 + questionClassOptions: [
  256 + { fullName: "选项一", id: "1" },
  257 + { fullName: "选项二", id: "2" },
  258 + ],
  259 + stageOptions: [
  260 + { fullName: "选项一", id: "1" },
  261 + { fullName: "选项二", id: "2" },
  262 + ],
  263 +
  264 + HandleFormVisible: false,
  265 + ReportFormVisible: false,
  266 + };
  267 + },
  268 + computed: {
  269 + isSHILevel() {
  270 + // 判断角色是否为‘市级办公室’
  271 + return this.$store.state.user.islader;
  272 + },
  273 + },
  274 + created() {
  275 + this.initSystemTypeList();
  276 + this.initData();
  277 + },
  278 + methods: {
  279 + initData() {
  280 + this.listLoading = true;
  281 + let _query = {
  282 + ...this.listQuery,
  283 + ...this.query,
  284 + };
  285 + let query = {};
  286 + for (let key in _query) {
  287 + if (Array.isArray(_query[key])) {
  288 + query[key] = _query[key].join();
  289 + } else {
  290 + query[key] = _query[key];
  291 + }
  292 + }
  293 + getListForJudge(query).then((res) => {
  294 + this.list = res.data.list;
  295 + this.total = res.data.pagination.total;
  296 + this.listLoading = false;
  297 + });
  298 + },
  299 +
  300 + addOrUpdateHandle(id, isDetail, type) {
  301 + this.formVisible = true;
  302 + this.$nextTick(() => {
  303 + this.$refs.NCCForm.init(id, isDetail, type);
  304 + });
  305 + },
  306 + search() {
  307 + this.listQuery = {
  308 + currentPage: 1,
  309 + pageSize: 20,
  310 + sort: "desc",
  311 + sidx: "",
  312 + };
  313 + this.initData();
  314 + },
  315 + refresh(isrRefresh) {
  316 + this.formVisible = false;
  317 + this.HandleFormVisible = false;
  318 + this.ReportFormVisible = false;
  319 + if (isrRefresh) this.reset();
  320 + },
  321 + // 处理
  322 + toHandle(id, isDetail) {
  323 + this.HandleFormVisible = true;
  324 + this.$nextTick(() => {
  325 + this.$refs.HandleForm.init(id, isDetail);
  326 + });
  327 + },
144 328  
145   - HandleFormVisible: false,
146   - ReportFormVisible: false,
147   - }
148   - },
149   - computed: {
150   - isSHILevel() {
151   - // 判断角色是否为‘市级办公室’
152   - return this.$store.state.user.islader;
153   - },
154   - },
155   - created() {
156   - this.initSystemTypeList();
157   - this.initData()
158   - },
159   - methods: {
160   - initData() {
161   - this.listLoading = true;
162   - let _query = {
163   - ...this.listQuery,
164   - ...this.query
165   - };
166   - let query = {}
167   - for (let key in _query) {
168   - if (Array.isArray(_query[key])) {
169   - query[key] = _query[key].join()
170   - } else {
171   - query[key] = _query[key]
172   - }
173   - }
174   - getListForJudge(query).then(res => {
175   - this.list = res.data.list
176   - this.total = res.data.pagination.total
177   - this.listLoading = false
178   - })
179   - },
180   -
181   - addOrUpdateHandle(id, isDetail) {
182   - this.formVisible = true
183   - this.$nextTick(() => {
184   - this.$refs.NCCForm.init(id, isDetail)
185   - })
186   - },
187   - search() {
188   - this.listQuery = {
189   - currentPage: 1,
190   - pageSize: 20,
191   - sort: "desc",
192   - sidx: "",
193   - }
194   - this.initData()
195   - },
196   - refresh(isrRefresh) {
197   - this.formVisible = false;
198   - this.HandleFormVisible = false;
199   - this.ReportFormVisible = false;
200   - if (isrRefresh) this.reset();
201   - },
202   - // 处理
203   - toHandle(id, isDetail) {
204   - this.HandleFormVisible = true
205   - this.$nextTick(() => {
206   - this.$refs.HandleForm.init(id, isDetail)
207   - })
208   - },
  329 + // 详情
  330 + toDetail(id) {
  331 + this.ReportFormVisible = true;
  332 + this.$nextTick(() => {
  333 + this.$refs.ReportForm.init(id, true);
  334 + });
  335 + },
209 336  
210   - // 详情
211   - toDetail(id) {
212   - this.ReportFormVisible = true;
213   - this.$nextTick(() => {
214   - this.$refs.ReportForm.init(id, true);
215   - });
216   - },
217   -
218   - reset() {
219   - for (let key in this.query) {
220   - this.query[key] = undefined
221   - }
222   - this.listQuery = {
223   - currentPage: 1,
224   - pageSize: 20,
225   - sort: "desc",
226   - sidx: "",
227   - }
228   - this.initData()
229   - }
230   - }
231   - }
  337 + reset() {
  338 + for (let key in this.query) {
  339 + this.query[key] = undefined;
  340 + }
  341 + this.listQuery = {
  342 + currentPage: 1,
  343 + pageSize: 20,
  344 + sort: "desc",
  345 + sidx: "",
  346 + };
  347 + this.initData();
  348 + },
  349 + exportData() {
  350 + let obj = {
  351 + url: "/Extend/BaseInspectionReport/Actions/ExportByJudge",
  352 + method: "POST",
  353 + data: {
  354 + ...this.query,
  355 + },
  356 + };
  357 + request(obj).then((res) => {
  358 + if (res.code != 200) return;
  359 + const url = define.APIURl + res.data.url;
  360 + const link = document.createElement("a");
  361 + link.href = url;
  362 + link.download = res.data ? res.data.name : "研判列表.xlsx";
  363 + link.click();
  364 + });
  365 + },
  366 + },
  367 +};
232 368 </script>
233 369 <style scoped lang="scss">
234 370 .common-info-box {
235   - :deep(.el-table__body-wrapper.is-scrolling-none) {
236   - height: calc(100% - 47px);
237   - overflow-y: scroll;
238   - }
  371 + :deep(.el-table__body-wrapper.is-scrolling-none) {
  372 + height: calc(100% - 47px);
  373 + overflow-y: scroll;
  374 + }
239 375 }
240   -</style>
241 376 \ No newline at end of file
  377 +</style>
... ...
src/views/baseInspectionReport/Form.vue
... ... @@ -129,7 +129,7 @@
129 129 <el-input v-model="dataForm.questionClass" placeholder="请输入关键词" clearable :style="{ width: '100%' }"></el-input>
130 130 </el-form-item>
131 131 </el-col>
132   - <el-col :span="24" v-if="isSHILevel">
  132 + <!-- <el-col :span="24" v-if="isSHILevel">
133 133 <el-form-item label="处置建议" prop="judgmentOpinions">
134 134 <el-input
135 135 v-model="dataForm.judgmentOpinions"
... ... @@ -142,7 +142,7 @@
142 142 >
143 143 </el-input>
144 144 </el-form-item>
145   - </el-col>
  145 + </el-col> -->
146 146 <el-col :span="24" v-if="!isSHILevel">
147 147 <el-form-item label="处置结果" prop="disposalSuggestions">
148 148 <el-input
... ... @@ -228,18 +228,28 @@
228 228 <div class="label w-120">所属外协:</div>
229 229 <div class="text">外协一</div>
230 230 </el-col>
231   - <el-col class="form-item">
232   - <div class="label w-120">处置建议:</div>
233   - <div class="text">{{ dataForm.judgmentOpinions || '--' }}</div>
234   - </el-col>
235   - <el-col class="form-item">
236   - <div class="label w-120">处置结果:</div>
237   - <div class="text">{{ dataForm.disposalSuggestions || '--' }}</div>
  231 + <el-col v-for="(v, i) in dataForm.judgmentOpinions" :key="i" style="border: #f6f6f6 solid 1px; border-radius: 10px; padding: 8px; margin-bottom: 5px;">
  232 + <div class="title">研判信息{{ i + 1 }}</div>
  233 + <div class="form-item">
  234 + <div class="label w-120">处置类型:</div>
  235 + <div class="text">{{ v.State }}</div>
  236 + </div>
  237 + <div class="form-item">
  238 + <div class="label w-120">处置建议:</div>
  239 + <div class="text">{{ v.judgmentOpinion }}</div>
  240 + </div>
238 241 </el-col>
239   - <el-col class="form-item">
240   - <div class="label w-120">处置附件:</div>
241   - <div class="text" style="width: calc(100% - 120px);" v-if="dataForm.disposalResultFileUrl">
242   - <NCC-UploadFz v-model="dataForm.disposalResultFileUrl" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
  242 + <el-col v-for="(v, i) in dataForm.disposalSuggestions" :key="i" style="border: #f6f6f6 solid 1px; border-radius: 10px; padding: 8px; margin-bottom: 5px;">
  243 + <div class="title">处置信息{{ i + 1 }}</div>
  244 + <div class="form-item">
  245 + <div class="label w-120">处置结果:</div>
  246 + <div class="text">{{ v.disposalSuggestion }}</div>
  247 + </div>
  248 + <div class="form-item" v-if="v.fileUrl">
  249 + <div class="label w-120">处置附件:</div>
  250 + <div class="text" style="width: calc(100% - 120px);">
  251 + <NCC-UploadFz v-model="v.fileUrl" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/>
  252 + </div>
243 253 </div>
244 254 </el-col>
245 255 </el-row>
... ... @@ -305,6 +315,9 @@ export default {
305 315 questionType: [
306 316 { required: true, message: "请选择问题类型", trigger: "blur" },
307 317 ],
  318 + disposalSuggestions: [
  319 + { required: true, message: "请填写处置结果", trigger: "blur" },
  320 + ],
308 321 // otherQuestionType: [
309 322 // { required: true, message: "请输入其他问题类型", trigger: "blur" },
310 323 // ],
... ... @@ -459,6 +472,10 @@ export default {
459 472 if(res.code != 200) return this.form_loading = false;
460 473 if(!res.data) return;
461 474 this.dataForm = res.data;
  475 + if(!this.isDetail) {
  476 + let disposalSuggestions = this.dataForm.disposalSuggestions;
  477 + this.dataForm.disposalSuggestions = disposalSuggestions[disposalSuggestions.length - 1].disposalSuggestion;
  478 + }
462 479 res.data.areaId && (this.dataForm.areaName = dynamicText(res.data.areaId, this.areaOptions));
463 480 this.sourceOptions.length && this.dataForm.reportSource && (this.dataForm.reportSourceName = this.sourceOptions.find(v => v.Id == this.dataForm.reportSource).FullName);
464 481 if(this.questionTypeOptions.findIndex(v => v.fullName == this.dataForm.questionType) == -1) {
... ... @@ -479,7 +496,14 @@ export default {
479 496 ...this.dataForm,
480 497 questionType: this.dataForm.questionType == '其他' ? this.dataForm.otherQuestionType : this.dataForm.questionType,
481 498 selfMediaPlatformType: this.dataForm.selfMediaPlatformType == '其他' ? this.dataForm.selfMediaPlatformTypeOther : this.dataForm.selfMediaPlatformType,
482   - }
  499 + disposalSuggestions: [
  500 + {
  501 + disposalSuggestion: this.dataForm.disposalSuggestions,
  502 + fileUrl: '',
  503 + }
  504 + ],
  505 + };
  506 + this.isSHILevel && delete obj.disposalSuggestions;
483 507 this.btnLoading = true;
484 508 try {
485 509 let res = !this.dataForm.id ? await addForm(obj) : await updataForm(obj);
... ...
src/views/baseInspectionReport/index.vue
... ... @@ -84,7 +84,7 @@
84 84 <template slot-scope="scope">
85 85 <!-- 未研判 ‘577006621985604869’/未下发 ‘577006641364189019’可以修改 -->
86 86 <el-button type="text" @click="addOrUpdateHandle(scope.row.id)" :disabled="scope.row.stage != '577006621985604869' && scope.row.stage !='577006641364189019'">编辑</el-button>
87   - <el-button type="text" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" >删除</el-button>
  87 + <el-button type="text" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" :disabled="scope.row.stage != '577006621985604869' && scope.row.stage !='577006641364189019'">删除</el-button>
88 88 </template>
89 89 </el-table-column>
90 90 </NCC-table>
... ...