Commit a242b994768bc567f614ffd0eba9932945f158ed
1 parent
94f06e38
附件调试
Showing
13 changed files
with
143 additions
and
105 deletions
src/components/Generator/components/Upload/UploadFz.vue
| ... | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | <div class="UploadFile-container"> |
| 3 | 3 | <el-upload :action="define.comUploadUrl+'/'+type" :headers="uploadHeaders" ref="elUpload" |
| 4 | 4 | :on-success="handleSuccess" :multiple="limit!==1" :show-file-list="false" :accept="accept" |
| 5 | - :before-upload="beforeUpload" :on-exceed="handleExceed" :disabled="disabled" :limit="limit"> | |
| 5 | + :before-upload="beforeUpload" :on-exceed="handleExceed" :disabled="disabled" :limit="limit" v-if="!disabled"> | |
| 6 | 6 | <el-button size="small" icon="el-icon-upload" :disabled="disabled">{{buttonText}}</el-button> |
| 7 | 7 | <div slot="tip" class="el-upload__tip" v-show="showTip"> |
| 8 | 8 | 只能上传不超过{{fileSize}}{{sizeUnit}}的{{accept}}文件 | ... | ... |
src/components/InfoForm/index.vue
| 1 | 1 | <template> |
| 2 | - <div class="infoForm"> | |
| 2 | + <div class="infoFormDialog"> | |
| 3 | 3 | <div class="userSelect-input" @click="openDialog"> |
| 4 | 4 | <slot></slot> |
| 5 | 5 | </div> |
| ... | ... | @@ -230,17 +230,13 @@ |
| 230 | 230 | <el-form-item label="应用图标" prop="systemIcon"> |
| 231 | 231 | <el-upload |
| 232 | 232 | class="avatar-uploader" |
| 233 | - action="#" | |
| 233 | + :action="define.APIURl + '/api/file/Uploader/annex'" | |
| 234 | + :headers="uploadHeaders" | |
| 234 | 235 | :show-file-list="false" |
| 235 | - :limit="1" | |
| 236 | - :multiple="false" | |
| 237 | - :http-request="httpRequest" | |
| 238 | - > | |
| 239 | - <img | |
| 240 | - v-if="infoForm.systemIcon" | |
| 241 | - :src="infoForm.systemIcon" | |
| 242 | - class="avatar" | |
| 243 | - /> | |
| 236 | + :on-success="handleAvatarSuccess" | |
| 237 | + accept="image/*" | |
| 238 | + > | |
| 239 | + <img v-if="infoForm.systemIcon" :src="define.comUrl + infoForm.systemIcon" class="avatar"> | |
| 244 | 240 | <i v-else class="el-icon-plus avatar-uploader-icon"></i> |
| 245 | 241 | </el-upload> |
| 246 | 242 | </el-form-item> |
| ... | ... | @@ -292,6 +288,7 @@ export default { |
| 292 | 288 | }, |
| 293 | 289 | data() { |
| 294 | 290 | return { |
| 291 | + uploadHeaders: { Authorization: this.$store.getters.token }, | |
| 295 | 292 | visible: false, |
| 296 | 293 | infoForm_loading: false, |
| 297 | 294 | infoForm: { |
| ... | ... | @@ -368,6 +365,16 @@ export default { |
| 368 | 365 | mounted() {}, |
| 369 | 366 | created() {}, |
| 370 | 367 | methods: { |
| 368 | + handleAvatarSuccess(response, file, fileList) { | |
| 369 | + if(response.code != 200) return; | |
| 370 | + this.infoForm.systemIcon = response.data.url; | |
| 371 | + this.$forceUpdate(); | |
| 372 | + this.$message({ | |
| 373 | + showClose: true, | |
| 374 | + message: response.code == 200 ? '文件上传成功' : '文件上传失败', | |
| 375 | + type: response.code == 200 ? 'success' : 'error', | |
| 376 | + }); | |
| 377 | + }, | |
| 371 | 378 | // 请求公司列表 |
| 372 | 379 | async initCompanyList() { |
| 373 | 380 | let { data } = await getCompanyInfoList(this.listQuery_company); |
| ... | ... | @@ -431,7 +438,7 @@ export default { |
| 431 | 438 | let { data } = await getSystemDetail(this.systemId); |
| 432 | 439 | this.infoForm = data; |
| 433 | 440 | this.handleSystemTypeChange(data.systemType); |
| 434 | - await this.companyChange(data.companyId); | |
| 441 | + data.companyId && await this.companyChange(data.companyId); | |
| 435 | 442 | this.$forceUpdate(); |
| 436 | 443 | }, |
| 437 | 444 | handleSystemTypeChange(val) { |
| ... | ... | @@ -440,6 +447,7 @@ export default { |
| 440 | 447 | this.initSystemClassList(val); |
| 441 | 448 | }, |
| 442 | 449 | async confirm() { |
| 450 | + console.log(this.infoForm); | |
| 443 | 451 | this.$refs["infoForm"].validate((valid) => { |
| 444 | 452 | if (valid) { |
| 445 | 453 | this.btnLoading = true; | ... | ... |
src/views/DisposalSuggestions/Form.vue
| ... | ... | @@ -136,7 +136,7 @@ |
| 136 | 136 | </el-row> |
| 137 | 137 | <span slot="footer" class="dialog-footer"> |
| 138 | 138 | <el-button @click="visible = false">取 消</el-button> |
| 139 | - <el-button type="primary" @click="dataFormSubmit()">确 定</el-button> | |
| 139 | + <el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading">确 定</el-button> | |
| 140 | 140 | </span> |
| 141 | 141 | </el-dialog> |
| 142 | 142 | </template> |
| ... | ... | @@ -203,6 +203,7 @@ export default { |
| 203 | 203 | showarea: false, |
| 204 | 204 | judgmentClassOption: [], |
| 205 | 205 | areaOptions: [], |
| 206 | + btnLoading: false, | |
| 206 | 207 | }; |
| 207 | 208 | }, |
| 208 | 209 | computed: { |
| ... | ... | @@ -271,7 +272,9 @@ export default { |
| 271 | 272 | ...this.suggestionForm, |
| 272 | 273 | id: this.dataForm.id, |
| 273 | 274 | }; |
| 275 | + this.btnLoading = true; | |
| 274 | 276 | let res = await disposalSuggestions(obj); |
| 277 | + if(res.code != 200) return this.btnLoading = false; | |
| 275 | 278 | this.$message({ |
| 276 | 279 | message: res.msg, |
| 277 | 280 | type: "success", | ... | ... |
src/views/DisposalSuggestions/HandleForm.vue
| ... | ... | @@ -112,7 +112,7 @@ |
| 112 | 112 | </el-row> |
| 113 | 113 | <span slot="footer" class="dialog-footer"> |
| 114 | 114 | <el-button @click="visible = false">取 消</el-button> |
| 115 | - <el-button type="primary" @click="dataFormSubmit()">确 定</el-button> | |
| 115 | + <el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading">确 定</el-button> | |
| 116 | 116 | </span> |
| 117 | 117 | </el-dialog> |
| 118 | 118 | </template> |
| ... | ... | @@ -174,6 +174,7 @@ |
| 174 | 174 | showarea: false, |
| 175 | 175 | judgmentClassOption: [], |
| 176 | 176 | areaOptions: [], |
| 177 | + btnLoading: false, | |
| 177 | 178 | }; |
| 178 | 179 | }, |
| 179 | 180 | computed: { |
| ... | ... | @@ -242,7 +243,9 @@ |
| 242 | 243 | ...this.suggestionForm, |
| 243 | 244 | id: this.dataForm.id, |
| 244 | 245 | }; |
| 246 | + this.btnLoading = true; | |
| 245 | 247 | let res = await disposalSuggestions(obj); |
| 248 | + if(res.code != 200) return this.btnLoading = false; | |
| 246 | 249 | this.$message({ |
| 247 | 250 | message: res.msg, |
| 248 | 251 | type: "success", | ... | ... |
src/views/baseComapnyInfo/index.vue
| ... | ... | @@ -29,7 +29,7 @@ |
| 29 | 29 | </el-form> |
| 30 | 30 | <div class="NCC-common-search-box-right"> |
| 31 | 31 | <el-button type="success" icon="el-icon-plus" @click="addOrUpdateHandle()" size="mini" >新增</el-button> |
| 32 | - <!-- <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData('demo')">导出模板</el-button> | |
| 32 | + <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData('demo')">导出模板</el-button> | |
| 33 | 33 | <el-upload |
| 34 | 34 | class="uploadXlax" |
| 35 | 35 | :action="define.APIURl + '/api/Extend/basecomapnyinfo/Actions/ImportByExcel'" |
| ... | ... | @@ -37,13 +37,12 @@ |
| 37 | 37 | :on-success="toUpload" |
| 38 | 38 | :show-file-list="false" |
| 39 | 39 | name="excelfile" |
| 40 | - accept="image/*" | |
| 41 | 40 | > |
| 42 | 41 | <div class="avatar-box"> |
| 43 | - <el-button type="primary" icon="el-icon-download" size="mini">导入</el-button> | |
| 42 | + <el-button type="info" icon="el-icon-upload" size="mini">导入</el-button> | |
| 44 | 43 | </div> |
| 45 | 44 | </el-upload> |
| 46 | - <el-button type="primary" icon="el-icon-download" :loading="exportBtnLoading" size="mini" @click="exportData()">导出</el-button> --> | |
| 45 | + <el-button type="primary" icon="el-icon-download" :loading="exportBtnLoading" size="mini" @click="exportData()">导出</el-button> | |
| 47 | 46 | </div> |
| 48 | 47 | </el-row> |
| 49 | 48 | <div class="NCC-common-layout-main NCC-flex-main"> |
| ... | ... | @@ -162,41 +161,48 @@ export default { |
| 162 | 161 | }); |
| 163 | 162 | }, |
| 164 | 163 | toUpload(response, file, fileList) { |
| 165 | - console.log(response, file, fileList); | |
| 164 | + this.$message({ | |
| 165 | + showClose: true, | |
| 166 | + message: response.msg, | |
| 167 | + type: response.code == 200 ? 'success' : 'error', | |
| 168 | + close: () => { | |
| 169 | + response.code == 200 && this.initData(); | |
| 170 | + } | |
| 171 | + }); | |
| 166 | 172 | }, |
| 167 | 173 | exportData(type) { |
| 168 | 174 | let obj = {}; |
| 169 | 175 | if(type) { |
| 170 | 176 | obj = { |
| 171 | 177 | url: '/Extend/basecomapnyinfo/Actions/GenerateImportTemplate', |
| 178 | + responseType: 'blob', | |
| 172 | 179 | method: "GET", |
| 173 | 180 | } |
| 174 | 181 | } else { |
| 175 | - let _query = { | |
| 176 | - ...this.query, | |
| 177 | - }; | |
| 178 | - let query = {}; | |
| 179 | - for (let key in _query) { | |
| 180 | - if (Array.isArray(_query[key])) { | |
| 181 | - query[key] = _query[key].join(); | |
| 182 | - } else { | |
| 183 | - query[key] = _query[key]; | |
| 184 | - } | |
| 185 | - } | |
| 186 | - obj ={ | |
| 187 | - url: '/Extend/basecomapnyinfo/Actions/ImportByExcel', | |
| 182 | + obj = { | |
| 183 | + url: '/Extend/basecomapnyinfo/Actions/Export', | |
| 188 | 184 | method: "POST", |
| 189 | - data: query, | |
| 185 | + data: this.query, | |
| 190 | 186 | } |
| 191 | 187 | }; |
| 192 | 188 | request(obj).then((res) => { |
| 193 | - console.log(res); | |
| 194 | - const url = define.APIURl + res.data.url; | |
| 195 | - const link = document.createElement("a"); | |
| 196 | - link.href = url; | |
| 197 | - link.download = res.data.name; | |
| 198 | - link.click(); | |
| 199 | - }).catch(() => this.exportBtnLoading = false); | |
| 189 | + if(type) { | |
| 190 | + const blob = new Blob([res], {type: 'application/json'}); | |
| 191 | + const url = window.URL.createObjectURL(blob); | |
| 192 | + let link = document.createElement('a'); | |
| 193 | + link.style.display = 'none'; | |
| 194 | + link.href = url; | |
| 195 | + link.download = '公司录入模板.xlsx'; | |
| 196 | + link.click(); | |
| 197 | + } else { | |
| 198 | + if(res.code != 200) return; | |
| 199 | + const url = define.APIURl + res.data.url; | |
| 200 | + const link = document.createElement("a"); | |
| 201 | + link.href = url; | |
| 202 | + link.download = res.data.name; | |
| 203 | + link.click(); | |
| 204 | + } | |
| 205 | + }) | |
| 200 | 206 | }, |
| 201 | 207 | exportForm(url) { |
| 202 | 208 | const link = document.createElement("a"); | ... | ... |
src/views/baseInspectionReport/Form.vue
| ... | ... | @@ -134,21 +134,21 @@ |
| 134 | 134 | <el-row v-else> |
| 135 | 135 | <el-col class="form-item"> |
| 136 | 136 | <div class="label">问题来源:</div> |
| 137 | - <div class="text">{{ dataForm.reportSource || '--' }}</div> | |
| 137 | + <div class="text">{{ sourceOptions.find(v => v.Id == dataForm.reportSource).FullName || '--' }}</div> | |
| 138 | 138 | </el-col> |
| 139 | 139 | <el-col class="form-item"> |
| 140 | 140 | <div class="label">应用名称:</div> |
| 141 | - <div class="text">{{ dataForm.platformName || '--' }}</div> | |
| 141 | + <div class="text">{{ dataForm.platformNameStr || '--' }}</div> | |
| 142 | 142 | </el-col> |
| 143 | 143 | <el-col class="form-item"> |
| 144 | 144 | <div class="label">运营主体:</div> |
| 145 | - <div class="text">{{ dataForm.company || '--' }}</div> | |
| 145 | + <div class="text">{{ dataForm.companyStr || '--' }}</div> | |
| 146 | 146 | </el-col> |
| 147 | 147 | <el-col class="form-item"> |
| 148 | 148 | <div class="label">应用类型:</div> |
| 149 | - <div class="text">{{ dataForm.platformType || '--' }}</div> | |
| 149 | + <div class="text">{{ dataForm.platformTypeStr || '--' }}</div> | |
| 150 | 150 | </el-col> |
| 151 | - <el-col class="form-item"> | |
| 151 | + <el-col class="form-item" v-if="dataForm.platformType == '580634746028033285'"> | |
| 152 | 152 | <div class="label">归属平台:</div> |
| 153 | 153 | <div class="text">{{ dataForm.selfMediaPlatformType || '--' }}</div> |
| 154 | 154 | </el-col> |
| ... | ... | @@ -174,7 +174,7 @@ |
| 174 | 174 | </el-col> |
| 175 | 175 | <el-col class="form-item"> |
| 176 | 176 | <div class="label">附件:</div> |
| 177 | - <!-- <div class="text">{{ dataForm.questionContent || '--' }}</div> --> | |
| 177 | + <NCC-UploadFz v-model="dataForm.annex" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" disabled/> | |
| 178 | 178 | </el-col> |
| 179 | 179 | </el-row> |
| 180 | 180 | <span slot="footer" class="dialog-footer"> |
| ... | ... | @@ -201,6 +201,9 @@ export default { |
| 201 | 201 | dataForm: { |
| 202 | 202 | id: undefined, |
| 203 | 203 | reportSource: undefined, |
| 204 | + platformNameStr: undefined, | |
| 205 | + platformTypeStr: undefined, | |
| 206 | + companyStr: undefined, | |
| 204 | 207 | platformName: '', |
| 205 | 208 | selfMediaPlatformType: '', |
| 206 | 209 | platformType: undefined, |
| ... | ... | @@ -277,6 +280,7 @@ export default { |
| 277 | 280 | if(!obj) return; |
| 278 | 281 | this.dataForm.platformName = obj ? obj.id : val; |
| 279 | 282 | this.dataForm.company = this.companyOptions.find(v => v.id == obj.companyId || v.companyName == obj.companyId).id; |
| 283 | + console.log(this.dataForm.company, 'this.dataForm.company'); | |
| 280 | 284 | this.dataForm.platformType = this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id; |
| 281 | 285 | this.dataForm.selfMediaPlatformType = obj ? obj.platform : ''; |
| 282 | 286 | }, |
| ... | ... | @@ -331,7 +335,6 @@ export default { |
| 331 | 335 | this.dataForm.questionType = '其他'; |
| 332 | 336 | } |
| 333 | 337 | this.dataForm.selfMediaPlatformType = res.data.selfMediaPlatformType || '--'; |
| 334 | - if (!this.dataForm.annex) this.dataForm.annex = []; | |
| 335 | 338 | } |
| 336 | 339 | }); |
| 337 | 340 | }, | ... | ... |
src/views/baseInspectionReport/index.vue
| ... | ... | @@ -39,7 +39,6 @@ |
| 39 | 39 | :on-error="uploadError" |
| 40 | 40 | :show-file-list="false" |
| 41 | 41 | name="excelfile" |
| 42 | - accept="image/*" | |
| 43 | 42 | > |
| 44 | 43 | <div class="avatar-box"> |
| 45 | 44 | <el-button type="info" icon="el-icon-upload" size="mini">导入</el-button> |
| ... | ... | @@ -89,7 +88,7 @@ |
| 89 | 88 | import infoMixin from "@/mixins/info"; |
| 90 | 89 | import ExportBox from './ExportBox' |
| 91 | 90 | import { getList, previewDataInterface } from '@/api/systemData/dataInterface' |
| 92 | -import { message } from '@/utils/message'; | |
| 91 | + import define from '@/utils/define' | |
| 93 | 92 | export default { |
| 94 | 93 | mixins: [infoMixin], |
| 95 | 94 | components: { NCCForm, ExportBox }, |
| ... | ... | @@ -196,6 +195,9 @@ import { message } from '@/utils/message'; |
| 196 | 195 | showClose: true, |
| 197 | 196 | message: response.msg, |
| 198 | 197 | type: response.code == 200 ? 'success' : 'error', |
| 198 | + close: () => { | |
| 199 | + response.code == 200 && this.initData(); | |
| 200 | + } | |
| 199 | 201 | }); |
| 200 | 202 | }, |
| 201 | 203 | uploadError() { |
| ... | ... | @@ -203,7 +205,6 @@ import { message } from '@/utils/message'; |
| 203 | 205 | }, |
| 204 | 206 | exportData(type) { |
| 205 | 207 | let obj = {} |
| 206 | - this.listLoading = true; | |
| 207 | 208 | if(type) { |
| 208 | 209 | obj = { |
| 209 | 210 | url: '/Extend/BaseInspectionReport/Actions/GenerateImportTemplate', |
| ... | ... | @@ -211,23 +212,10 @@ import { message } from '@/utils/message'; |
| 211 | 212 | responseType: 'blob', |
| 212 | 213 | } |
| 213 | 214 | } else { |
| 214 | - let _query = { | |
| 215 | - ...this.listQuery, | |
| 216 | - ...this.query | |
| 217 | - }; | |
| 218 | - let query = {} | |
| 219 | - for (let key in _query) { | |
| 220 | - if (Array.isArray(_query[key])) { | |
| 221 | - query[key] = _query[key].join() | |
| 222 | - } else { | |
| 223 | - query[key] = _query[key] | |
| 224 | - } | |
| 225 | - } | |
| 226 | 215 | obj = { |
| 227 | 216 | url: '/Extend/BaseInspectionReport/Actions/Export', |
| 228 | 217 | method: "POST", |
| 229 | - data: query, | |
| 230 | - responseType: 'blob', | |
| 218 | + data: this.query, | |
| 231 | 219 | } |
| 232 | 220 | } |
| 233 | 221 | request(obj).then((res) => { |
| ... | ... | @@ -248,7 +236,6 @@ import { message } from '@/utils/message'; |
| 248 | 236 | link.click(); |
| 249 | 237 | } |
| 250 | 238 | }); |
| 251 | - this.listLoading = false; | |
| 252 | 239 | }, |
| 253 | 240 | search() { |
| 254 | 241 | this.listQuery = { | ... | ... |
src/views/baseListHazardousSamples/index.vue
| ... | ... | @@ -40,7 +40,7 @@ |
| 40 | 40 | <el-form-item label=""> |
| 41 | 41 | <el-select |
| 42 | 42 | v-model="query.company" |
| 43 | - placeholder="请选择主体企业" | |
| 43 | + placeholder="请选择运营主体" | |
| 44 | 44 | clearable |
| 45 | 45 | > |
| 46 | 46 | <el-option |
| ... | ... | @@ -54,18 +54,7 @@ |
| 54 | 54 | </el-col> |
| 55 | 55 | <el-col :span="5"> |
| 56 | 56 | <el-form-item label=""> |
| 57 | - <el-select | |
| 58 | - v-model="query.websitePlatform" | |
| 59 | - placeholder="请选择网站平台" | |
| 60 | - clearable | |
| 61 | - > | |
| 62 | - <el-option | |
| 63 | - v-for="(item, index) in websitePlatformOptions" | |
| 64 | - :key="index" | |
| 65 | - :label="item.systemName" | |
| 66 | - :value="item.id" | |
| 67 | - /> | |
| 68 | - </el-select> | |
| 57 | + <el-input v-model="query.questionType" clearable placeholder="请输入问题类型" /> | |
| 69 | 58 | </el-form-item> |
| 70 | 59 | </el-col> |
| 71 | 60 | <el-col :span="3"> |
| ... | ... | @@ -129,7 +118,7 @@ export default { |
| 129 | 118 | content: undefined, |
| 130 | 119 | harmfulInformationTypes: undefined, // 有害类型 |
| 131 | 120 | company: undefined, |
| 132 | - websitePlatform: undefined, | |
| 121 | + questionType: undefined, | |
| 133 | 122 | }, |
| 134 | 123 | list: [], |
| 135 | 124 | listLoading: false, |
| ... | ... | @@ -157,13 +146,11 @@ export default { |
| 157 | 146 | { prop: "lastModifyUserId", label: "修改用户" }, |
| 158 | 147 | { prop: "lastModifyTime", label: "修改时间" }, |
| 159 | 148 | ], |
| 160 | - harmfulInformationTypesOptions: [], | |
| 161 | 149 | levelOptions: [ |
| 162 | - { fullName: "巡查上报", id: "巡查上报" }, | |
| 163 | - { fullName: "案件处理", id: "案件处理" }, | |
| 150 | + { fullName: "核查处置", id: "核查处置" }, | |
| 151 | + { fullName: "网信执法", id: "网信执法" }, | |
| 164 | 152 | ], |
| 165 | 153 | companyOptions: [], |
| 166 | - websitePlatformOptions: [], | |
| 167 | 154 | |
| 168 | 155 | // 导出 |
| 169 | 156 | exportBtnLoading: false, |
| ... | ... | @@ -174,25 +161,16 @@ export default { |
| 174 | 161 | computed: {}, |
| 175 | 162 | created() { |
| 176 | 163 | this.initData(); |
| 177 | - this.getharmfulInformationTypesOptions(); | |
| 178 | 164 | this.getcompanyOptions(); |
| 179 | - // this.getwebsitePlatformOptions(); | |
| 180 | 165 | }, |
| 181 | 166 | methods: { |
| 182 | - getharmfulInformationTypesOptions() { | |
| 183 | - getDictionaryDataSelector("577006896326640901").then((res) => { | |
| 184 | - this.harmfulInformationTypesOptions = res.data.list; | |
| 185 | - }); | |
| 186 | - }, | |
| 187 | 167 | getcompanyOptions() { |
| 188 | - previewDataInterface("576296400682222853").then((res) => { | |
| 189 | - this.companyOptions = res.data; | |
| 190 | - }); | |
| 191 | - }, | |
| 192 | - getwebsitePlatformOptions() { | |
| 193 | - previewDataInterface("576295179435115781").then((res) => { | |
| 194 | - this.websitePlatformOptions = res.data; | |
| 195 | - }); | |
| 168 | + request({ | |
| 169 | + url: `/Extend/basecomapnyinfo/GetNoPagingList`, | |
| 170 | + method: "GET", | |
| 171 | + }).then(({data}) => { | |
| 172 | + this.companyOptions = data; | |
| 173 | + }) | |
| 196 | 174 | }, |
| 197 | 175 | initData() { |
| 198 | 176 | this.listLoading = true; | ... | ... |
src/views/basePrincipalResponsibility/Form.vue
| ... | ... | @@ -148,7 +148,6 @@ |
| 148 | 148 | }).then(res =>{ |
| 149 | 149 | this.dataForm = res.data; |
| 150 | 150 | this.setTileType(res.data.fileType); |
| 151 | - if(!this.dataForm.fileUrl)this.dataForm.fileUrl=[]; | |
| 152 | 151 | this.dialogLoading = false; |
| 153 | 152 | }).catch(() => this.dialogLoading = false) |
| 154 | 153 | } |
| ... | ... | @@ -166,7 +165,6 @@ |
| 166 | 165 | }, |
| 167 | 166 | dataFormSubmit() { |
| 168 | 167 | this.$refs['elForm'].validate((valid) => { |
| 169 | - console.log(valid); | |
| 170 | 168 | if (valid) { |
| 171 | 169 | this.dataForm.fileType = this.dataForm.fileType == '0' ? this.dataForm.otherFileType : this.dataForm.fileType; |
| 172 | 170 | this.btnLoading = true; |
| ... | ... | @@ -176,6 +174,7 @@ |
| 176 | 174 | method: 'post', |
| 177 | 175 | data: this.dataForm, |
| 178 | 176 | }).then((res) => { |
| 177 | + if(res.code != 200) return this.btnLoading = false; | |
| 179 | 178 | this.$message({ |
| 180 | 179 | message: res.msg, |
| 181 | 180 | type: 'success', |
| ... | ... | @@ -190,6 +189,7 @@ |
| 190 | 189 | method: 'PUT', |
| 191 | 190 | data: this.dataForm |
| 192 | 191 | }).then((res) => { |
| 192 | + if(res.code != 200) return this.btnLoading = false; | |
| 193 | 193 | this.$message({ |
| 194 | 194 | message: res.msg, |
| 195 | 195 | type: 'success', | ... | ... |
src/views/baseSpecialAction/Form.vue
| ... | ... | @@ -293,6 +293,7 @@ export default { |
| 293 | 293 | ...this.dataForm, |
| 294 | 294 | state: type |
| 295 | 295 | } |
| 296 | + console.log(obj); | |
| 296 | 297 | let url = !this.dataForm.id ? '/Extend/BaseSpecialAction/Release' : '/Extend/BaseSpecialAction/Update'; |
| 297 | 298 | let method = !this.dataForm.id ? 'PUT' : 'POST'; |
| 298 | 299 | this.toPostForm(url, method, obj); | ... | ... |
src/views/baseSpecialAction/FormPage.vue
| ... | ... | @@ -23,6 +23,18 @@ |
| 23 | 23 | {{ v }} |
| 24 | 24 | </el-tag> |
| 25 | 25 | </div> |
| 26 | + <div class="tag-group"> | |
| 27 | + <span class="tag-group__title title-tag">附件:</span> | |
| 28 | + <NCC-UploadFz | |
| 29 | + v-model="dataForm.annex" | |
| 30 | + :fileSize="5" | |
| 31 | + sizeUnit="MB" | |
| 32 | + :limit="9" | |
| 33 | + buttonText="点击上传" | |
| 34 | + disabled | |
| 35 | + > | |
| 36 | + </NCC-UploadFz> | |
| 37 | + </div> | |
| 26 | 38 | <div class="tag-group" v-if="dataForm.deadline"> |
| 27 | 39 | <span class="tag-group__title title-tag">截止时间:</span> |
| 28 | 40 | {{ ncc.dateFormat(dataForm.deadline) || '--' }} | ... | ... |
src/views/baseSystemInfo/DetailForm.vue
| ... | ... | @@ -117,7 +117,8 @@ |
| 117 | 117 | <el-col :span="24"> |
| 118 | 118 | <div class="form-item"> |
| 119 | 119 | <div class="label w-100">应用图标:</div> |
| 120 | - {{ dataForm.systemIcon || "--" }} | |
| 120 | + <img v-if="dataForm.systemIcon" class="avatar" :src="define.comUrl + dataForm.systemIcon"> | |
| 121 | + <span v-else>无</span> | |
| 121 | 122 | </div> |
| 122 | 123 | </el-col> |
| 123 | 124 | </div> |
| ... | ... | @@ -275,6 +276,7 @@ export default { |
| 275 | 276 | link: undefined, |
| 276 | 277 | obtainEvidence: [], |
| 277 | 278 | annex: [], |
| 279 | + systemIcon: '', | |
| 278 | 280 | }, |
| 279 | 281 | systemTypeOptions: [], |
| 280 | 282 | systemClassOptions: [], |
| ... | ... | @@ -485,4 +487,12 @@ export default { |
| 485 | 487 | // } |
| 486 | 488 | // } |
| 487 | 489 | // } |
| 490 | +.avatar { | |
| 491 | + width: 100px; | |
| 492 | + height: 100px; | |
| 493 | + display: block; | |
| 494 | + border: 1px dashed #d9d9d9; | |
| 495 | + border-radius: 6px; | |
| 496 | + margin-left: 10px; | |
| 497 | +} | |
| 488 | 498 | </style> | ... | ... |
src/views/baseSystemInfo/index.vue
| ... | ... | @@ -50,7 +50,7 @@ |
| 50 | 50 | </el-select> |
| 51 | 51 | </el-form-item> |
| 52 | 52 | </el-col> |
| 53 | - <el-col :span="4"> | |
| 53 | + <el-col :span="3"> | |
| 54 | 54 | <el-form-item label=""> |
| 55 | 55 | <el-input |
| 56 | 56 | v-model="query.principalName" |
| ... | ... | @@ -58,7 +58,7 @@ |
| 58 | 58 | /> |
| 59 | 59 | </el-form-item> |
| 60 | 60 | </el-col> |
| 61 | - <el-col :span="4"> | |
| 61 | + <el-col :span="3"> | |
| 62 | 62 | <el-form-item label=""> |
| 63 | 63 | <el-input |
| 64 | 64 | v-model="query.principalPhone" |
| ... | ... | @@ -79,7 +79,18 @@ |
| 79 | 79 | </el-form> |
| 80 | 80 | <div class="NCC-common-search-box-right"> |
| 81 | 81 | <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData('demo')">导出模板</el-button> |
| 82 | - <!-- <el-button type="success" icon="el-icon-upload2" size="mini">导入</el-button> --> | |
| 82 | + <el-upload | |
| 83 | + class="uploadXlax" | |
| 84 | + :action="define.APIURl + '/api/Extend/basesysteminfo/Actions/ImportByExcel'" | |
| 85 | + :headers="uploadHeaders" | |
| 86 | + :on-success="uploadSuccess" | |
| 87 | + :show-file-list="false" | |
| 88 | + name="excelfile" | |
| 89 | + > | |
| 90 | + <div class="avatar-box"> | |
| 91 | + <el-button type="info" icon="el-icon-upload" size="mini">导入</el-button> | |
| 92 | + </div> | |
| 93 | + </el-upload> | |
| 83 | 94 | <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData()">导出</el-button> |
| 84 | 95 | </div> |
| 85 | 96 | </el-row> |
| ... | ... | @@ -216,6 +227,7 @@ export default { |
| 216 | 227 | data() { |
| 217 | 228 | return { |
| 218 | 229 | loading: false, |
| 230 | + uploadHeaders: { Authorization: this.$store.getters.token }, | |
| 219 | 231 | query: { |
| 220 | 232 | keyword: "", |
| 221 | 233 | systemType: "", |
| ... | ... | @@ -294,6 +306,16 @@ export default { |
| 294 | 306 | }, |
| 295 | 307 | }, |
| 296 | 308 | methods: { |
| 309 | + uploadSuccess(response, file, fileList) { | |
| 310 | + this.$message({ | |
| 311 | + showClose: true, | |
| 312 | + message: response.msg, | |
| 313 | + type: response.code == 200 ? 'success' : 'error', | |
| 314 | + close: () => { | |
| 315 | + response.code == 200 && this.initData(); | |
| 316 | + } | |
| 317 | + }); | |
| 318 | + }, | |
| 297 | 319 | handleSystemTypeChange(val) { |
| 298 | 320 | this.query.systemClass = ""; |
| 299 | 321 | this.initSystemClassList(val); |
| ... | ... | @@ -398,6 +420,7 @@ export default { |
| 398 | 420 | obj = { |
| 399 | 421 | url: '/Extend/basesysteminfo/Actions/GenerateImportTemplate', |
| 400 | 422 | method: "GET", |
| 423 | + responseType: 'blob', | |
| 401 | 424 | } |
| 402 | 425 | } else { |
| 403 | 426 | obj ={ |
| ... | ... | @@ -466,4 +489,8 @@ export default { |
| 466 | 489 | overflow-y: scroll; |
| 467 | 490 | } |
| 468 | 491 | } |
| 492 | +.uploadXlax { | |
| 493 | + display: inline-block; | |
| 494 | + margin: 0 8px; | |
| 495 | +} | |
| 469 | 496 | </style> | ... | ... |