Commit d8af3866069d44bbbe8f3f3cf5c6dc0da01e45f2

Authored by monkeyhouyi
1 parent ff36c85d

1

src/views/DisposalSuggestions/Form.vue
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 v-loading="loading" 9 v-loading="loading"
10 > 10 >
11 <el-row :gutter="15" class="NCC-dialog-content"> 11 <el-row :gutter="15" class="NCC-dialog-content">
12 - <el-col :span="10" style="border-right: 1px solid #e6e6e6"> 12 + <el-col :span="10" style="border-right: 1px solid #e6e6e6; height: 400px;">
13 <el-row> 13 <el-row>
14 <el-col :span="24" class="form_title"> 巡查上报详情 </el-col> 14 <el-col :span="24" class="form_title"> 巡查上报详情 </el-col>
15 <el-col :span="24"> 15 <el-col :span="24">
@@ -73,6 +73,12 @@ @@ -73,6 +73,12 @@
73 <div class="label w-100">取证内容</div> 73 <div class="label w-100">取证内容</div>
74 </div> 74 </div>
75 </el-col> 75 </el-col>
  76 + <el-col :span="24">
  77 + <div class="form-item">
  78 + <div class="label w-100">所属区域</div>
  79 + {{ dataForm.areaName || "--" }}
  80 + </div>
  81 + </el-col>
76 </el-row> 82 </el-row>
77 </el-col> 83 </el-col>
78 <el-col :span="14"> 84 <el-col :span="14">
@@ -86,32 +92,6 @@ @@ -86,32 +92,6 @@
86 label-width="100px" 92 label-width="100px"
87 label-position="right" 93 label-position="right"
88 > 94 >
89 - <!-- <el-col :span="24">  
90 - <el-form-item  
91 - :label="isSHILevel ? '处置要求' : '处置建议'"  
92 - prop="disposalSuggestions"  
93 - >  
94 - <el-input  
95 - v-model="suggestionForm.disposalSuggestions"  
96 - placeholder="请输入处置建议"  
97 - show-word-limit  
98 - :style="{ width: '100%' }"  
99 - type="textarea"  
100 - :autosize="{ minRows: 4, maxRows: 4 }"  
101 - maxlength="200"  
102 - >  
103 - </el-input>  
104 - </el-form-item>  
105 - </el-col> -->  
106 - <!-- <el-col :span="24">  
107 - <el-form-item label="截止时间" prop="deadline">  
108 - <el-date-picker  
109 - v-model="suggestionForm.deadline"  
110 - type="date"  
111 - placeholder="选择日期"  
112 - ></el-date-picker>  
113 - </el-form-item>  
114 - </el-col> -->  
115 <el-col :span="24"> 95 <el-col :span="24">
116 <el-form-item label="研判类型" prop="reviewType"> 96 <el-form-item label="研判类型" prop="reviewType">
117 <el-radio-group 97 <el-radio-group
@@ -123,6 +103,13 @@ @@ -123,6 +103,13 @@
123 </el-radio-group> 103 </el-radio-group>
124 </el-form-item> 104 </el-form-item>
125 </el-col> 105 </el-col>
  106 + <el-col :span="24" v-if="!dataForm.areaId && showarea">
  107 + <el-form-item label="所属区县" prop="area">
  108 + <el-radio-group v-model="suggestionForm.area" placeholder="请选择所属区县" style="line-height: 22px">
  109 + <el-radio v-for="v in areaOptions" :key="v.id" :label="v.id">{{ v.fullName }}</el-radio>
  110 + </el-radio-group>
  111 + </el-form-item>
  112 + </el-col>
126 <el-col :span="24" v-if="showSuggsetion"> 113 <el-col :span="24" v-if="showSuggsetion">
127 <el-form-item label="研判意见" prop="judgmentOpinions"> 114 <el-form-item label="研判意见" prop="judgmentOpinions">
128 <el-input 115 <el-input
@@ -149,10 +136,13 @@ @@ -149,10 +136,13 @@
149 </template> 136 </template>
150 <script> 137 <script>
151 import request from "@/utils/request"; 138 import request from "@/utils/request";
  139 +import infoMixin from "@/mixins/info";
  140 +import { dynamicText } from "@/filters/index";
152 import { getDictionaryDataSelector } from "@/api/systemData/dictionary"; 141 import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
153 import { getDetail, disposalSuggestions } from "@/api/systemData/dataInterface"; 142 import { getDetail, disposalSuggestions } from "@/api/systemData/dataInterface";
154 export default { 143 export default {
155 components: {}, 144 components: {},
  145 + mixins: [infoMixin],
156 props: [], 146 props: [],
157 data() { 147 data() {
158 return { 148 return {
@@ -190,17 +180,23 @@ export default { @@ -190,17 +180,23 @@ export default {
190 judgmentOpinions: "", //判断意见 180 judgmentOpinions: "", //判断意见
191 reviewType: "", //判断分类 181 reviewType: "", //判断分类
192 deadline: "", 182 deadline: "",
  183 + area: '',
193 }, 184 },
194 rules: { 185 rules: {
195 reviewType: [ 186 reviewType: [
196 - { required: true, message: "请选择审核类型", trigger: "change" }, 187 + { required: true, message: "请选择审核类型", trigger: "blur" },
  188 + ],
  189 + area: [
  190 + { required: true, message: "请选择所属区域", trigger: "bulr" },
197 ], 191 ],
198 judgmentOpinions: [ 192 judgmentOpinions: [
199 { required: true, message: "请填写研判意见", trigger: "bulr" } 193 { required: true, message: "请填写研判意见", trigger: "bulr" }
200 ] 194 ]
201 }, 195 },
202 showSuggsetion: false, 196 showSuggsetion: false,
  197 + showarea: false,
203 judgmentClassOption: [], 198 judgmentClassOption: [],
  199 + areaOptions: [],
204 }; 200 };
205 }, 201 },
206 computed: { 202 computed: {
@@ -211,6 +207,7 @@ export default { @@ -211,6 +207,7 @@ export default {
211 }, 207 },
212 watch: {}, 208 watch: {},
213 created() { 209 created() {
  210 + this.initAreaTypeList();
214 this.getplatformTypeOptions(); 211 this.getplatformTypeOptions();
215 this.getquestionTypeOptions(); 212 this.getquestionTypeOptions();
216 this.getjudgmentClassOptions(); 213 this.getjudgmentClassOptions();
@@ -249,6 +246,8 @@ export default { @@ -249,6 +246,8 @@ export default {
249 let res = await getDetail(this.dataForm.id); 246 let res = await getDetail(this.dataForm.id);
250 this.dataForm = res.data; 247 this.dataForm = res.data;
251 this.loading = false; 248 this.loading = false;
  249 + this.dataForm.areaName = dynamicText(res.data.areaId, this.areaOptions);
  250 + this.suggestionForm.area = res.data.areaId
252 if (!this.dataForm.obtainEvidence) this.dataForm.obtainEvidence = []; 251 if (!this.dataForm.obtainEvidence) this.dataForm.obtainEvidence = [];
253 if (!this.dataForm.annex) this.dataForm.annex = []; 252 if (!this.dataForm.annex) this.dataForm.annex = [];
254 } 253 }
@@ -256,22 +255,13 @@ export default { @@ -256,22 +255,13 @@ export default {
256 }, 255 },
257 judgmentClassChange(v) { 256 judgmentClassChange(v) {
258 this.suggestionForm.judgmentOpinions = ''; 257 this.suggestionForm.judgmentOpinions = '';
259 - this.showSuggsetion = Boolean(v == "590769458901943557" || v == "590769521820697861"); 258 + this.showSuggsetion = Boolean(v == "590769458901943557" || v == "590769521820697861"); // 进一步处置,不采纳
  259 + this.showarea = Boolean(v == "590769199001896197" || v == "590769458901943557"); // 执法,进一步处置
260 }, 260 },
261 dataFormSubmit() { 261 dataFormSubmit() {
262 - if (  
263 - !this.suggestionForm.disposalSuggestions &&  
264 - !this.suggestionForm.judgmentOpinions &&  
265 - !this.suggestionForm.reviewType  
266 - ) {  
267 - this.$message({  
268 - message: "研判建议不能为空!",  
269 - type: "danger",  
270 - });  
271 - }  
272 this.$refs["suggestionForm"].validate(async (valid) => { 262 this.$refs["suggestionForm"].validate(async (valid) => {
273 if (valid) { 263 if (valid) {
274 - let res = await disposalSuggestions(this.dataForm); 264 + let res = await disposalSuggestions(this.suggestionForm);
275 this.$message({ 265 this.$message({
276 message: res.msg, 266 message: res.msg,
277 type: "success", 267 type: "success",
src/views/baseSpecialAction/index.vue
@@ -27,15 +27,11 @@ @@ -27,15 +27,11 @@
27 </el-col> 27 </el-col>
28 </el-form> 28 </el-form>
29 <div class="NCC-common-search-box-right"> 29 <div class="NCC-common-search-box-right">
30 - <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData()">导出</el-button> 30 + <el-button type="success" icon="el-icon-plus" @click="addOrUpdateHandle()" size="mini" >新增</el-button>
  31 + <!-- <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData()">导出</el-button> -->
31 </div> 32 </div>
32 </el-row> 33 </el-row>
33 <div class="NCC-common-layout-main NCC-flex-main"> 34 <div class="NCC-common-layout-main NCC-flex-main">
34 - <div class="NCC-common-head">  
35 - <div>  
36 - <el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()" size="mini" >新增</el-button>  
37 - </div>  
38 - </div>  
39 <NCC-table v-loading="listLoading" :data="list"> 35 <NCC-table v-loading="listLoading" :data="list">
40 <!-- <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip/> --> 36 <!-- <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip/> -->
41 <el-table-column prop="title" label="标题" align="left" show-overflow-tooltip/> 37 <el-table-column prop="title" label="标题" align="left" show-overflow-tooltip/>
src/views/baseSpecialAction/infoForm.vue
@@ -10,14 +10,17 @@ @@ -10,14 +10,17 @@
10 > 10 >
11 <el-row :gutter="15" style="height: 65vh" class="NCC-dialog-content"> 11 <el-row :gutter="15" style="height: 65vh" class="NCC-dialog-content">
12 <el-col :span="24" style="margin-bottom: 20px;"> 12 <el-col :span="24" style="margin-bottom: 20px;">
13 - <el-col :span="12" class="form-item"> 13 + <el-col :span="10" class="form-item">
14 <div class="label w-100">行动标题:</div> 14 <div class="label w-100">行动标题:</div>
15 <div>{{ form.title }}</div> 15 <div>{{ form.title }}</div>
16 </el-col> 16 </el-col>
17 - <el-col :span="12" class="form-item"> 17 + <el-col :span="10" class="form-item">
18 <div class="label w-100">截止日期:</div> 18 <div class="label w-100">截止日期:</div>
19 <div>{{ ncc.dateFormat(form.deadline) }}</div> 19 <div>{{ ncc.dateFormat(form.deadline) }}</div>
20 </el-col> 20 </el-col>
  21 + <el-col :span="2" class="form-item">
  22 + <el-button type="primary" icon="el-icon-download" size="mini" @click="toExport" :loading="exportBtnLoading">导出</el-button>
  23 + </el-col>
21 </el-col> 24 </el-col>
22 <el-col :span="24" style="height: calc(100% - 100px);"> 25 <el-col :span="24" style="height: calc(100% - 100px);">
23 <NCC-table :data="tableData" style="width: 100%" v-loading="loading" stripe> 26 <NCC-table :data="tableData" style="width: 100%" v-loading="loading" stripe>
@@ -60,6 +63,7 @@ export default { @@ -60,6 +63,7 @@ export default {
60 total: 0, 63 total: 0,
61 form: {}, 64 form: {},
62 dialogVisible: false, 65 dialogVisible: false,
  66 + exportBtnLoading: false,
63 }; 67 };
64 }, 68 },
65 computed: {}, 69 computed: {},
@@ -80,40 +84,37 @@ export default { @@ -80,40 +84,37 @@ export default {
80 }) 84 })
81 }, 85 },
82 initList() { 86 initList() {
83 - request({  
84 - url: `/Extend/BaseSpecialActionInfo/GetListById`,  
85 - method: "GET",  
86 - params: {  
87 - ...this.listQuery,  
88 - specialActionId: this.form.id,  
89 - },  
90 - }).then((res) => {  
91 - this.tableData = res.data.list;  
92 - this.total = res.data.pagination.total;  
93 - this.loading = false;  
94 - });  
95 - } 87 + request({
  88 + url: `/Extend/BaseSpecialActionInfo/GetListById`,
  89 + method: "GET",
  90 + params: {
  91 + ...this.listQuery,
  92 + specialActionId: this.form.id,
  93 + },
  94 + }).then((res) => {
  95 + this.tableData = res.data.list;
  96 + this.total = res.data.pagination.total;
  97 + this.loading = false;
  98 + });
96 }, 99 },
97 - toDetailForm(row) {  
98 - console.log(row);  
99 -  
100 - // this.dialogVisible = true;  
101 - // var Itemid = row.itemId || '';//数据id,没有的话就是新增 ,有的话就是修改  
102 - // var modelId = row.formId;//关联的表单id  
103 - // var taskId = row.id; // 当前专项行动id  
104 - // var isPreview = false;//固定死,值不变  
105 - // var useFormPermission = false;//固定死,值不变  
106 - // var formData = [];  
107 - // request({  
108 - // url: '/visualdev/OnlineDev/'+modelId+'/Config',  
109 - // method: "GET",  
110 - // params:null  
111 - // }).then(res => {  
112 - // formData = res.data.formData;  
113 - // this.$refs.NCCForm.init(formData, modelId, Itemid, isPreview, useFormPermission, taskId)  
114 - // }); 100 + // 导出
  101 + toExport() {
  102 + this.exportBtnLoading = true;
  103 + request({
  104 + url: `/Extend/BaseSpecialActionInfo/Actions/Export`,
  105 + method: "POST",
  106 + data: {specialActionId: this.form.id},
  107 + }).then((res) => {
  108 + const url = process.env.VUE_APP_BASE_API + res.data.url;
  109 + const link = document.createElement("a");
  110 + link.href = url;
  111 + link.download = res.data.name;
  112 + link.click();
  113 + this.exportBtnLoading = false;
  114 + }).catch(() => this.exportBtnLoading = false);
115 }, 115 },
116 -}; 116 + },
  117 +}
117 </script> 118 </script>
118 <style lang="scss" scoped> 119 <style lang="scss" scoped>
119 .NCC-dialog { 120 .NCC-dialog {