Commit 759b12911f0f86e2417f33ce6db8e8723bb4d508

Authored by monkeyhouyi
1 parent 3fabdbc9

表单合并

src/views/DisposalSuggestions/index.vue
1 <template> 1 <template>
2 <div class="SystemInfo item-box common-info-box"> 2 <div class="SystemInfo item-box common-info-box">
3 - <div class="item-title">{{ isSHILevel ? "线索研判" : "线索核查" }}</div> 3 + <div class="item-title">核查处置</div>
4 <div class="item-body"> 4 <div class="item-body">
5 <div class="NCC-common-layout"> 5 <div class="NCC-common-layout">
6 <div class="NCC-common-layout-center"> 6 <div class="NCC-common-layout-center">
@@ -8,118 +8,75 @@ @@ -8,118 +8,75 @@
8 <el-form @submit.native.prevent size="mini"> 8 <el-form @submit.native.prevent size="mini">
9 <el-col :span="5"> 9 <el-col :span="5">
10 <el-form-item label=""> 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 </el-form-item> 12 </el-form-item>
21 </el-col> 13 </el-col>
22 <el-col :span="3"> 14 <el-col :span="3">
23 <el-form-item label=""> 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 </el-form-item> 17 </el-form-item>
30 </el-col> 18 </el-col>
31 <el-col :span="3"> 19 <el-col :span="3">
32 <el-form-item label=""> 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 </el-select> 23 </el-select>
45 </el-form-item> 24 </el-form-item>
46 </el-col> 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 <el-col :span="3"> 26 <el-col :span="3">
53 <el-form-item label=""> 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 </el-form-item> 36 </el-form-item>
60 </el-col> 37 </el-col>
61 <el-col :span="3"> 38 <el-col :span="3">
62 <el-form-item> 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 </el-form-item> 42 </el-form-item>
73 </el-col> 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 </el-form> 45 </el-form>
84 </el-row> 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 <div class="NCC-common-layout-main NCC-flex-main"> 65 <div class="NCC-common-layout-main NCC-flex-main">
86 <NCC-table v-loading="listLoading" :data="list"> 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 <el-table-column label="应用类型" prop="platformType" align="left" show-overflow-tooltip> 68 <el-table-column label="应用类型" prop="platformType" align="left" show-overflow-tooltip>
94 <template slot-scope="scope">{{ scope.row.platformType | dynamicTextUP(systemTypeOptions) }}</template> 69 <template slot-scope="scope">{{ scope.row.platformType | dynamicTextUP(systemTypeOptions) }}</template>
95 </el-table-column> 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 <!-- <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> --> 76 <!-- <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> -->
109 <!-- <el-table-column show-overflow-tooltip prop="questionClass" label="关键词" align="left" /> --> 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 <!-- <el-table-column show-overflow-tooltip prop="disposalSuggestions" label="处置建议" align="left" /> 80 <!-- <el-table-column show-overflow-tooltip prop="disposalSuggestions" label="处置建议" align="left" />
124 <el-table-column show-overflow-tooltip prop="id" label="主键" align="left" /> 81 <el-table-column show-overflow-tooltip prop="id" label="主键" align="left" />
125 <el-table-column show-overflow-tooltip prop="department" label="部门" align="left" /> 82 <el-table-column show-overflow-tooltip prop="department" label="部门" align="left" />
@@ -129,40 +86,19 @@ @@ -129,40 +86,19 @@
129 <el-table-column show-overflow-tooltip label="阶段" prop="stage" align="left"> 86 <el-table-column show-overflow-tooltip label="阶段" prop="stage" align="left">
130 <template slot-scope="scope">{{ scope.row.stage | dynamicText(stageOptions) }}</template> 87 <template slot-scope="scope">{{ scope.row.stage | dynamicText(stageOptions) }}</template>
131 </el-table-column> --> 88 </el-table-column> -->
132 - <el-table-column label="操作" fixed="right" width="150"> 89 + <el-table-column label="操作" fixed="right" width="200">
133 <template slot-scope="scope"> 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 <!-- 未研判 ‘577006621985604869’/未下发 ‘577006641364189019’ / 已处置 ‘577006696312866053’ 可以研判 --> 96 <!-- 未研判 ‘577006621985604869’/未下发 ‘577006641364189019’ / 已处置 ‘577006696312866053’ 可以研判 -->
141 <!-- <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> --> 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 </template> 102 </template>
167 </el-table-column> 103 </el-table-column>
168 </NCC-table> 104 </NCC-table>
@@ -174,6 +110,7 @@ @@ -174,6 +110,7 @@
174 /> 110 />
175 </div> 111 </div>
176 </div> 112 </div>
  113 + <ADDNCCForm v-if="addformVisible" ref="ADDNCCForm" @refresh="refresh" />
177 <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" /> 114 <NCC-Form v-if="formVisible" ref="NCCForm" @refresh="refresh" />
178 <HandleForm 115 <HandleForm
179 v-if="HandleFormVisible" 116 v-if="HandleFormVisible"
@@ -193,6 +130,7 @@ @@ -193,6 +130,7 @@
193 import request from "@/utils/request"; 130 import request from "@/utils/request";
194 import infoMixin from "@/mixins/info"; 131 import infoMixin from "@/mixins/info";
195 import NCCForm from "./Form"; 132 import NCCForm from "./Form";
  133 +import ADDNCCForm from '@/views/baseInspectionReport/Form.vue'
196 import HandleForm from "./HandleForm"; 134 import HandleForm from "./HandleForm";
197 import { 135 import {
198 getListForJudge, 136 getListForJudge,
@@ -202,7 +140,7 @@ import ReportForm from &quot;@/views/baseInspectionReport/Form.vue&quot;; // 巡查处置 @@ -202,7 +140,7 @@ import ReportForm from &quot;@/views/baseInspectionReport/Form.vue&quot;; // 巡查处置
202 import define from '@/utils/define' 140 import define from '@/utils/define'
203 141
204 export default { 142 export default {
205 - components: { NCCForm, HandleForm, ReportForm }, 143 + components: { NCCForm, HandleForm, ReportForm, ADDNCCForm },
206 mixins: [infoMixin], 144 mixins: [infoMixin],
207 data() { 145 data() {
208 return { 146 return {
@@ -253,9 +191,11 @@ export default { @@ -253,9 +191,11 @@ export default {
253 { fullName: "选项一", id: "1" }, 191 { fullName: "选项一", id: "1" },
254 { fullName: "选项二", id: "2" }, 192 { fullName: "选项二", id: "2" },
255 ], 193 ],
  194 + uploadHeaders: { Authorization: this.$store.getters.token },
256 195
257 HandleFormVisible: false, 196 HandleFormVisible: false,
258 ReportFormVisible: false, 197 ReportFormVisible: false,
  198 + addformVisible: false,
259 }; 199 };
260 }, 200 },
261 computed: { 201 computed: {
@@ -263,12 +203,23 @@ export default { @@ -263,12 +203,23 @@ export default {
263 // 判断角色是否为‘市级办公室’ 203 // 判断角色是否为‘市级办公室’
264 return this.$store.state.user.islader; 204 return this.$store.state.user.islader;
265 }, 205 },
  206 + userId() {
  207 + return this.$store.state.user.id
  208 + }
266 }, 209 },
267 created() { 210 created() {
268 this.initSystemTypeList(); 211 this.initSystemTypeList();
  212 + this.getSourceOptions();
269 this.initData(); 213 this.initData();
270 }, 214 },
271 methods: { 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 initData() { 223 initData() {
273 this.listLoading = true; 224 this.listLoading = true;
274 let _query = { 225 let _query = {
@@ -372,6 +323,43 @@ export default { @@ -372,6 +323,43 @@ export default {
372 link.click(); 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 </script> 365 </script>
@@ -382,4 +370,14 @@ export default { @@ -382,4 +370,14 @@ export default {
382 overflow-y: scroll; 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 </style> 383 </style>