Commit 759b12911f0f86e2417f33ce6db8e8723bb4d508
1 parent
3fabdbc9
表单合并
Showing
1 changed file
with
114 additions
and
116 deletions
src/views/DisposalSuggestions/index.vue
| 1 | 1 | <template> |
| 2 | 2 | <div class="SystemInfo item-box common-info-box"> |
| 3 | - <div class="item-title">{{ isSHILevel ? "线索研判" : "线索核查" }}</div> | |
| 3 | + <div class="item-title">核查处置</div> | |
| 4 | 4 | <div class="item-body"> |
| 5 | 5 | <div class="NCC-common-layout"> |
| 6 | 6 | <div class="NCC-common-layout-center"> |
| ... | ... | @@ -8,118 +8,75 @@ |
| 8 | 8 | <el-form @submit.native.prevent size="mini"> |
| 9 | 9 | <el-col :span="5"> |
| 10 | 10 | <el-form-item label=""> |
| 11 | - <el-date-picker | |
| 12 | - v-model="query.creatorTime" | |
| 13 | - type="datetimerange" | |
| 14 | - value-format="yyyy-MM-dd HH:mm:ss" | |
| 15 | - format="yyyy-MM-dd HH:mm:ss" | |
| 16 | - start-placeholder="登记开始日期" | |
| 17 | - end-placeholder="登记结束日期" | |
| 18 | - > | |
| 19 | - </el-date-picker> | |
| 11 | + <el-date-picker v-model="query.creatorTime" type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" start-placeholder="登记开始日期" end-placeholder="登记结束日期"/> | |
| 20 | 12 | </el-form-item> |
| 21 | 13 | </el-col> |
| 22 | 14 | <el-col :span="3"> |
| 23 | 15 | <el-form-item label=""> |
| 24 | - <el-input | |
| 25 | - v-model="query.platformName" | |
| 26 | - placeholder="请输入应用名称" | |
| 27 | - clearable | |
| 28 | - /> | |
| 16 | + <el-input v-model="query.platformName" placeholder="请输入应用名称" clearable/> | |
| 29 | 17 | </el-form-item> |
| 30 | 18 | </el-col> |
| 31 | 19 | <el-col :span="3"> |
| 32 | 20 | <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 | - /> | |
| 21 | + <el-select v-model="query.platformType" placeholder="请选择应用类型" clearable> | |
| 22 | + <el-option v-for="(item, index) in systemTypeOptions" :key="index" :label="item.FullName" :value="item.Id"/> | |
| 44 | 23 | </el-select> |
| 45 | 24 | </el-form-item> |
| 46 | 25 | </el-col> |
| 47 | - <!-- <el-col :span="3"> | |
| 48 | - <el-form-item label=""> | |
| 49 | - <depSelect v-model="query.department" placeholder="请选择部门" /> | |
| 50 | - </el-form-item> | |
| 51 | - </el-col> --> | |
| 52 | 26 | <el-col :span="3"> |
| 53 | 27 | <el-form-item label=""> |
| 54 | - <el-input | |
| 55 | - v-model="query.questionType" | |
| 56 | - placeholder="请选择问题类型" | |
| 57 | - clearable | |
| 58 | - /> | |
| 28 | + <el-select v-model="query.reportSource" placeholder="请选择问题来源" clearable> | |
| 29 | + <el-option v-for="(item, index) in sourceOptions" :key="index" :label="item.FullName" :value="item.Id"/> | |
| 30 | + </el-select> | |
| 31 | + </el-form-item> | |
| 32 | + </el-col> | |
| 33 | + <el-col :span="3"> | |
| 34 | + <el-form-item label=""> | |
| 35 | + <el-input v-model="query.questionType" placeholder="请选择问题类型" clearable/> | |
| 59 | 36 | </el-form-item> |
| 60 | 37 | </el-col> |
| 61 | 38 | <el-col :span="3"> |
| 62 | 39 | <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 | - > | |
| 40 | + <el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button> | |
| 41 | + <el-button icon="el-icon-refresh-right" @click="reset()">重置</el-button> | |
| 72 | 42 | </el-form-item> |
| 73 | 43 | </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> | |
| 44 | + <div class="NCC-common-search-box-right"></div> | |
| 83 | 45 | </el-form> |
| 84 | 46 | </el-row> |
| 47 | + <div class="btns-box"> | |
| 48 | + <el-button type="success" icon="el-icon-plus" @click="addForm()" size="mini" >新增</el-button> | |
| 49 | + <el-button type="primary" icon="el-icon-download" size="mini" @click="exportDemo()">导出模板</el-button> | |
| 50 | + <el-upload | |
| 51 | + class="uploadXlax" | |
| 52 | + :action="define.APIURl + '/api/Extend/BaseInspectionReport/Actions/ImportByExcel'" | |
| 53 | + :headers="uploadHeaders" | |
| 54 | + :on-success="uploadSuccess" | |
| 55 | + :on-error="uploadError" | |
| 56 | + :show-file-list="false" | |
| 57 | + name="excelfile" | |
| 58 | + > | |
| 59 | + <div class="avatar-box"> | |
| 60 | + <el-button type="info" icon="el-icon-upload" size="mini">导入</el-button> | |
| 61 | + </div> | |
| 62 | + </el-upload> | |
| 63 | + <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData()" >导出</el-button> | |
| 64 | + </div> | |
| 85 | 65 | <div class="NCC-common-layout-main NCC-flex-main"> |
| 86 | 66 | <NCC-table v-loading="listLoading" :data="list"> |
| 87 | - <el-table-column | |
| 88 | - show-overflow-tooltip | |
| 89 | - prop="platformNameStr" | |
| 90 | - label="应用名称" | |
| 91 | - align="left" | |
| 92 | - /> | |
| 67 | + <el-table-column show-overflow-tooltip prop="platformNameStr" label="应用名称" align="left"/> | |
| 93 | 68 | <el-table-column label="应用类型" prop="platformType" align="left" show-overflow-tooltip> |
| 94 | 69 | <template slot-scope="scope">{{ scope.row.platformType | dynamicTextUP(systemTypeOptions) }}</template> |
| 95 | 70 | </el-table-column> |
| 96 | - <el-table-column | |
| 97 | - show-overflow-tooltip | |
| 98 | - label="问题类型" | |
| 99 | - prop="questionType" | |
| 100 | - align="left" | |
| 101 | - ></el-table-column> | |
| 102 | - <el-table-column | |
| 103 | - show-overflow-tooltip | |
| 104 | - label="线索编号" | |
| 105 | - prop="leadNumber" | |
| 106 | - align="left" | |
| 107 | - ></el-table-column> | |
| 71 | + <el-table-column label="问题来源" prop="reportSource" align="left" show-overflow-tooltip> | |
| 72 | + <template slot-scope="scope">{{ scope.row.reportSource | dynamicTextUP(sourceOptions) }}</template> | |
| 73 | + </el-table-column> | |
| 74 | + <el-table-column show-overflow-tooltip label="问题类型" prop="questionType" align="left"/> | |
| 75 | + <el-table-column show-overflow-tooltip label="线索编号" prop="leadNumber" align="left"/> | |
| 108 | 76 | <!-- <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> --> |
| 109 | 77 | <!-- <el-table-column show-overflow-tooltip prop="questionClass" label="关键词" align="left" /> --> |
| 110 | - <el-table-column | |
| 111 | - show-overflow-tooltip | |
| 112 | - prop="creatorTime" | |
| 113 | - label="录入时间" | |
| 114 | - align="left" | |
| 115 | - :formatter="ncc.tableDateFormat" | |
| 116 | - /> | |
| 117 | - <el-table-column | |
| 118 | - show-overflow-tooltip | |
| 119 | - prop="state" | |
| 120 | - label="状态" | |
| 121 | - align="left" | |
| 122 | - /> | |
| 78 | + <el-table-column show-overflow-tooltip prop="creatorTime" label="录入时间" align="left" :formatter="ncc.tableDateFormat"/> | |
| 79 | + <el-table-column show-overflow-tooltip prop="state" label="状态" align="left"/> | |
| 123 | 80 | <!-- <el-table-column show-overflow-tooltip prop="disposalSuggestions" label="处置建议" align="left" /> |
| 124 | 81 | <el-table-column show-overflow-tooltip prop="id" label="主键" align="left" /> |
| 125 | 82 | <el-table-column show-overflow-tooltip prop="department" label="部门" align="left" /> |
| ... | ... | @@ -129,40 +86,19 @@ |
| 129 | 86 | <el-table-column show-overflow-tooltip label="阶段" prop="stage" align="left"> |
| 130 | 87 | <template slot-scope="scope">{{ scope.row.stage | dynamicText(stageOptions) }}</template> |
| 131 | 88 | </el-table-column> --> |
| 132 | - <el-table-column label="操作" fixed="right" width="150"> | |
| 89 | + <el-table-column label="操作" fixed="right" width="200"> | |
| 133 | 90 | <template slot-scope="scope"> |
| 134 | - <el-button | |
| 135 | - type="text" | |
| 136 | - @click="addOrUpdateHandle(scope.row.id, false, 'edit')" | |
| 137 | - v-if="isSHILevel && scope.row.stage == '577006666214540549'" | |
| 138 | - >编辑</el-button | |
| 139 | - > | |
| 91 | + <template v-if="userId == scope.row.creatorUserId"> | |
| 92 | + <el-button type="text" @click="addOrUpdateHandle(scope.row.id)" :disabled="scope.row.stage != '577006621985604869' && scope.row.stage !='577006641364189019'">编辑</el-button> | |
| 93 | + <el-button type="text" @click="handleDel(scope.row.id)" class="NCC-table-delBtn" :disabled="scope.row.stage != '577006621985604869' && scope.row.stage !='577006641364189019'">删除</el-button> | |
| 94 | + </template> | |
| 95 | + <el-button type="text" @click="addOrUpdateHandle(scope.row.id, false, 'edit')" v-if="isSHILevel && scope.row.stage == '577006666214540549'" >建议修改</el-button> | |
| 140 | 96 | <!-- 未研判 ‘577006621985604869’/未下发 ‘577006641364189019’ / 已处置 ‘577006696312866053’ 可以研判 --> |
| 141 | 97 | <!-- <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> --> |
| 142 | - <el-button | |
| 143 | - type="text" | |
| 144 | - v-if="isSHILevel && scope.row.stage != '577006666214540549'" | |
| 145 | - @click="addOrUpdateHandle(scope.row.id)" | |
| 146 | - :disabled=" | |
| 147 | - ![ | |
| 148 | - '577006621985604869', | |
| 149 | - '577006641364189019', | |
| 150 | - '577006696312866053', | |
| 151 | - ].includes(scope.row.stage) | |
| 152 | - " | |
| 153 | - >研判</el-button | |
| 154 | - > | |
| 98 | + <el-button type="text" v-if="isSHILevel && scope.row.stage != '577006666214540549'" @click="addOrUpdateHandle(scope.row.id)" :disabled="!['577006621985604869','577006641364189019','577006696312866053'].includes(scope.row.stage)">研判</el-button> | |
| 155 | 99 | <!-- 待处置进行处理 --> |
| 156 | - <el-button | |
| 157 | - type="text" | |
| 158 | - v-if="!isSHILevel" | |
| 159 | - @click="toHandle(scope.row.id)" | |
| 160 | - :disabled="scope.row.stage != '577006131314196155'" | |
| 161 | - >处理</el-button | |
| 162 | - > | |
| 163 | - <el-button type="text" @click="toDetail(scope.row.id)" | |
| 164 | - >详情</el-button | |
| 165 | - > | |
| 100 | + <el-button type="text" v-if="!isSHILevel" @click="toHandle(scope.row.id)" :disabled="scope.row.stage != '577006131314196155'" >处理</el-button> | |
| 101 | + <el-button type="text" @click="toDetail(scope.row.id)">详情</el-button> | |
| 166 | 102 | </template> |
| 167 | 103 | </el-table-column> |
| 168 | 104 | </NCC-table> |
| ... | ... | @@ -174,6 +110,7 @@ |
| 174 | 110 | /> |
| 175 | 111 | </div> |
| 176 | 112 | </div> |
| 113 | + <ADDNCCForm v-if="addformVisible" ref="ADDNCCForm" @refresh="refresh" /> | |
| 177 | 114 | <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" /> |
| 178 | 115 | <HandleForm |
| 179 | 116 | v-if="HandleFormVisible" |
| ... | ... | @@ -193,6 +130,7 @@ |
| 193 | 130 | import request from "@/utils/request"; |
| 194 | 131 | import infoMixin from "@/mixins/info"; |
| 195 | 132 | import NCCForm from "./Form"; |
| 133 | +import ADDNCCForm from '@/views/baseInspectionReport/Form.vue' | |
| 196 | 134 | import HandleForm from "./HandleForm"; |
| 197 | 135 | import { |
| 198 | 136 | getListForJudge, |
| ... | ... | @@ -202,7 +140,7 @@ import ReportForm from "@/views/baseInspectionReport/Form.vue"; // 巡查处置 |
| 202 | 140 | import define from '@/utils/define' |
| 203 | 141 | |
| 204 | 142 | export default { |
| 205 | - components: { NCCForm, HandleForm, ReportForm }, | |
| 143 | + components: { NCCForm, HandleForm, ReportForm, ADDNCCForm }, | |
| 206 | 144 | mixins: [infoMixin], |
| 207 | 145 | data() { |
| 208 | 146 | return { |
| ... | ... | @@ -253,9 +191,11 @@ export default { |
| 253 | 191 | { fullName: "选项一", id: "1" }, |
| 254 | 192 | { fullName: "选项二", id: "2" }, |
| 255 | 193 | ], |
| 194 | + uploadHeaders: { Authorization: this.$store.getters.token }, | |
| 256 | 195 | |
| 257 | 196 | HandleFormVisible: false, |
| 258 | 197 | ReportFormVisible: false, |
| 198 | + addformVisible: false, | |
| 259 | 199 | }; |
| 260 | 200 | }, |
| 261 | 201 | computed: { |
| ... | ... | @@ -263,12 +203,23 @@ export default { |
| 263 | 203 | // 判断角色是否为‘市级办公室’ |
| 264 | 204 | return this.$store.state.user.islader; |
| 265 | 205 | }, |
| 206 | + userId() { | |
| 207 | + return this.$store.state.user.id | |
| 208 | + } | |
| 266 | 209 | }, |
| 267 | 210 | created() { |
| 268 | 211 | this.initSystemTypeList(); |
| 212 | + this.getSourceOptions(); | |
| 269 | 213 | this.initData(); |
| 270 | 214 | }, |
| 271 | 215 | methods: { |
| 216 | + async getSourceOptions() { | |
| 217 | + let { data } = await request({ | |
| 218 | + url: `/Extend/baseinspectionreport/GetReportSourceList`, | |
| 219 | + method: "GET", | |
| 220 | + }); | |
| 221 | + this.sourceOptions = data; | |
| 222 | + }, | |
| 272 | 223 | initData() { |
| 273 | 224 | this.listLoading = true; |
| 274 | 225 | let _query = { |
| ... | ... | @@ -372,6 +323,43 @@ export default { |
| 372 | 323 | link.click(); |
| 373 | 324 | }); |
| 374 | 325 | }, |
| 326 | + | |
| 327 | + // 巡查上报列表方法----------------------------------------------------------------------- | |
| 328 | + addForm(id, isDetail) { | |
| 329 | + this.addformVisible = true | |
| 330 | + this.$nextTick(() => { | |
| 331 | + this.$refs.ADDNCCForm.init(id, isDetail) | |
| 332 | + }) | |
| 333 | + }, | |
| 334 | + exportDemo() { | |
| 335 | + let obj = { | |
| 336 | + url: '/Extend/BaseInspectionReport/Actions/GenerateImportTemplate', | |
| 337 | + method: "GET", | |
| 338 | + responseType: 'blob', | |
| 339 | + }; | |
| 340 | + request(obj).then((res) => { | |
| 341 | + const blob = new Blob([res], {type: 'application/json'}); | |
| 342 | + const url = window.URL.createObjectURL(blob); | |
| 343 | + let link = document.createElement('a'); | |
| 344 | + link.style.display = 'none'; | |
| 345 | + link.href = url; | |
| 346 | + link.download = '线索录入模板.xlsx'; | |
| 347 | + link.click(); | |
| 348 | + }); | |
| 349 | + }, | |
| 350 | + uploadSuccess(response, file, fileList) { | |
| 351 | + this.$message({ | |
| 352 | + showClose: true, | |
| 353 | + message: response.msg, | |
| 354 | + type: response.code == 200 ? 'success' : 'error', | |
| 355 | + close: () => { | |
| 356 | + response.code == 200 && this.initData(); | |
| 357 | + } | |
| 358 | + }); | |
| 359 | + }, | |
| 360 | + uploadError() { | |
| 361 | + console.log('erroe'); | |
| 362 | + }, | |
| 375 | 363 | }, |
| 376 | 364 | }; |
| 377 | 365 | </script> |
| ... | ... | @@ -382,4 +370,14 @@ export default { |
| 382 | 370 | overflow-y: scroll; |
| 383 | 371 | } |
| 384 | 372 | } |
| 373 | +.uploadXlax { | |
| 374 | + display: inline-block; | |
| 375 | + margin: 0 8px; | |
| 376 | +} | |
| 377 | +.NCC-common-search-box { | |
| 378 | + margin-bottom: 0; | |
| 379 | +} | |
| 380 | +.btns-box { | |
| 381 | + margin-bottom: 14px; | |
| 382 | +} | |
| 385 | 383 | </style> | ... | ... |