Commit d8af3866069d44bbbe8f3f3cf5c6dc0da01e45f2

Authored by monkeyhouyi
1 parent ff36c85d

1

src/views/DisposalSuggestions/Form.vue
... ... @@ -9,7 +9,7 @@
9 9 v-loading="loading"
10 10 >
11 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 13 <el-row>
14 14 <el-col :span="24" class="form_title"> 巡查上报详情 </el-col>
15 15 <el-col :span="24">
... ... @@ -73,6 +73,12 @@
73 73 <div class="label w-100">取证内容</div>
74 74 </div>
75 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 82 </el-row>
77 83 </el-col>
78 84 <el-col :span="14">
... ... @@ -86,32 +92,6 @@
86 92 label-width="100px"
87 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 95 <el-col :span="24">
116 96 <el-form-item label="研判类型" prop="reviewType">
117 97 <el-radio-group
... ... @@ -123,6 +103,13 @@
123 103 </el-radio-group>
124 104 </el-form-item>
125 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 113 <el-col :span="24" v-if="showSuggsetion">
127 114 <el-form-item label="研判意见" prop="judgmentOpinions">
128 115 <el-input
... ... @@ -149,10 +136,13 @@
149 136 </template>
150 137 <script>
151 138 import request from "@/utils/request";
  139 +import infoMixin from "@/mixins/info";
  140 +import { dynamicText } from "@/filters/index";
152 141 import { getDictionaryDataSelector } from "@/api/systemData/dictionary";
153 142 import { getDetail, disposalSuggestions } from "@/api/systemData/dataInterface";
154 143 export default {
155 144 components: {},
  145 + mixins: [infoMixin],
156 146 props: [],
157 147 data() {
158 148 return {
... ... @@ -190,17 +180,23 @@ export default {
190 180 judgmentOpinions: "", //判断意见
191 181 reviewType: "", //判断分类
192 182 deadline: "",
  183 + area: '',
193 184 },
194 185 rules: {
195 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 192 judgmentOpinions: [
199 193 { required: true, message: "请填写研判意见", trigger: "bulr" }
200 194 ]
201 195 },
202 196 showSuggsetion: false,
  197 + showarea: false,
203 198 judgmentClassOption: [],
  199 + areaOptions: [],
204 200 };
205 201 },
206 202 computed: {
... ... @@ -211,6 +207,7 @@ export default {
211 207 },
212 208 watch: {},
213 209 created() {
  210 + this.initAreaTypeList();
214 211 this.getplatformTypeOptions();
215 212 this.getquestionTypeOptions();
216 213 this.getjudgmentClassOptions();
... ... @@ -249,6 +246,8 @@ export default {
249 246 let res = await getDetail(this.dataForm.id);
250 247 this.dataForm = res.data;
251 248 this.loading = false;
  249 + this.dataForm.areaName = dynamicText(res.data.areaId, this.areaOptions);
  250 + this.suggestionForm.area = res.data.areaId
252 251 if (!this.dataForm.obtainEvidence) this.dataForm.obtainEvidence = [];
253 252 if (!this.dataForm.annex) this.dataForm.annex = [];
254 253 }
... ... @@ -256,22 +255,13 @@ export default {
256 255 },
257 256 judgmentClassChange(v) {
258 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 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 262 this.$refs["suggestionForm"].validate(async (valid) => {
273 263 if (valid) {
274   - let res = await disposalSuggestions(this.dataForm);
  264 + let res = await disposalSuggestions(this.suggestionForm);
275 265 this.$message({
276 266 message: res.msg,
277 267 type: "success",
... ...
src/views/baseSpecialAction/index.vue
... ... @@ -27,15 +27,11 @@
27 27 </el-col>
28 28 </el-form>
29 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 32 </div>
32 33 </el-row>
33 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 35 <NCC-table v-loading="listLoading" :data="list">
40 36 <!-- <el-table-column prop="id" label="主键" align="left" show-overflow-tooltip/> -->
41 37 <el-table-column prop="title" label="标题" align="left" show-overflow-tooltip/>
... ...
src/views/baseSpecialAction/infoForm.vue
... ... @@ -10,14 +10,17 @@
10 10 >
11 11 <el-row :gutter="15" style="height: 65vh" class="NCC-dialog-content">
12 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 14 <div class="label w-100">行动标题:</div>
15 15 <div>{{ form.title }}</div>
16 16 </el-col>
17   - <el-col :span="12" class="form-item">
  17 + <el-col :span="10" class="form-item">
18 18 <div class="label w-100">截止日期:</div>
19 19 <div>{{ ncc.dateFormat(form.deadline) }}</div>
20 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 24 </el-col>
22 25 <el-col :span="24" style="height: calc(100% - 100px);">
23 26 <NCC-table :data="tableData" style="width: 100%" v-loading="loading" stripe>
... ... @@ -60,6 +63,7 @@ export default {
60 63 total: 0,
61 64 form: {},
62 65 dialogVisible: false,
  66 + exportBtnLoading: false,
63 67 };
64 68 },
65 69 computed: {},
... ... @@ -80,40 +84,37 @@ export default {
80 84 })
81 85 },
82 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 118 </script>
118 119 <style lang="scss" scoped>
119 120 .NCC-dialog {
... ...