Commit 759b12911f0f86e2417f33ce6db8e8723bb4d508

Authored by monkeyhouyi
1 parent 3fabdbc9

表单合并

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 &quot;@/views/baseInspectionReport/Form.vue&quot;; // 巡查处置
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>
... ...