Commit d8af3866069d44bbbe8f3f3cf5c6dc0da01e45f2
1 parent
ff36c85d
1
Showing
3 changed files
with
67 additions
and
80 deletions
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 { | ... | ... |