diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 49e0eaf..ffbc9f1 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -136,19 +136,36 @@ -
- - - +
+
案卷附件 + + +
+ + + - - + + - - + +
+
案卷处理:
@@ -343,10 +360,11 @@ import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' import { radioMap } from './radioMap' +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead,ArcGisMapRead }, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { const validateEmptyString = (rule, value, callback) => { if (!value.trim()) { @@ -389,7 +407,8 @@ operationKey: [{ required: true, message: '操作类型不能为空', trigger: ['blur', 'change'] }], // remarks: [{ required: true, message: '处置意见不能为空', trigger: ['blur', 'change'] }] remarks: [{ required: true, validator: validateEmptyString, trigger: ['blur', 'change'] }] - } + }, + showFile: false } }, computed: { @@ -407,6 +426,18 @@ return true } }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile + }, operationKey: function() { // 案件处理按钮key return this.processForm.operationKey } @@ -903,6 +934,12 @@ }).catch(() => { // 点击“取消”后的操作 }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 49e0eaf..ffbc9f1 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -136,19 +136,36 @@
-
- - - +
+
案卷附件 + + +
+ + + - - + + - - + +
+
案卷处理:
@@ -343,10 +360,11 @@ import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' import { radioMap } from './radioMap' +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead,ArcGisMapRead }, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { const validateEmptyString = (rule, value, callback) => { if (!value.trim()) { @@ -389,7 +407,8 @@ operationKey: [{ required: true, message: '操作类型不能为空', trigger: ['blur', 'change'] }], // remarks: [{ required: true, message: '处置意见不能为空', trigger: ['blur', 'change'] }] remarks: [{ required: true, validator: validateEmptyString, trigger: ['blur', 'change'] }] - } + }, + showFile: false } }, computed: { @@ -407,6 +426,18 @@ return true } }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile + }, operationKey: function() { // 案件处理按钮key return this.processForm.operationKey } @@ -903,6 +934,12 @@ }).catch(() => { // 点击“取消”后的操作 }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } } diff --git a/src/components/CaseCommon/caseFile.vue b/src/components/CaseCommon/caseFile.vue new file mode 100644 index 0000000..3c463e1 --- /dev/null +++ b/src/components/CaseCommon/caseFile.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 49e0eaf..ffbc9f1 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -136,19 +136,36 @@
-
- - - +
+
案卷附件 + + +
+ + + - - + + - - + +
+
案卷处理:
@@ -343,10 +360,11 @@ import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' import { radioMap } from './radioMap' +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead,ArcGisMapRead }, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { const validateEmptyString = (rule, value, callback) => { if (!value.trim()) { @@ -389,7 +407,8 @@ operationKey: [{ required: true, message: '操作类型不能为空', trigger: ['blur', 'change'] }], // remarks: [{ required: true, message: '处置意见不能为空', trigger: ['blur', 'change'] }] remarks: [{ required: true, validator: validateEmptyString, trigger: ['blur', 'change'] }] - } + }, + showFile: false } }, computed: { @@ -407,6 +426,18 @@ return true } }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile + }, operationKey: function() { // 案件处理按钮key return this.processForm.operationKey } @@ -903,6 +934,12 @@ }).catch(() => { // 点击“取消”后的操作 }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } } diff --git a/src/components/CaseCommon/caseFile.vue b/src/components/CaseCommon/caseFile.vue new file mode 100644 index 0000000..3c463e1 --- /dev/null +++ b/src/components/CaseCommon/caseFile.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 49e0eaf..ffbc9f1 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -136,19 +136,36 @@
-
- - - +
+
案卷附件 + + +
+ + + - - + + - - + +
+
案卷处理:
@@ -343,10 +360,11 @@ import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' import { radioMap } from './radioMap' +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead,ArcGisMapRead }, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { const validateEmptyString = (rule, value, callback) => { if (!value.trim()) { @@ -389,7 +407,8 @@ operationKey: [{ required: true, message: '操作类型不能为空', trigger: ['blur', 'change'] }], // remarks: [{ required: true, message: '处置意见不能为空', trigger: ['blur', 'change'] }] remarks: [{ required: true, validator: validateEmptyString, trigger: ['blur', 'change'] }] - } + }, + showFile: false } }, computed: { @@ -407,6 +426,18 @@ return true } }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile + }, operationKey: function() { // 案件处理按钮key return this.processForm.operationKey } @@ -903,6 +934,12 @@ }).catch(() => { // 点击“取消”后的操作 }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } } diff --git a/src/components/CaseCommon/caseFile.vue b/src/components/CaseCommon/caseFile.vue new file mode 100644 index 0000000..3c463e1 --- /dev/null +++ b/src/components/CaseCommon/caseFile.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 49e0eaf..ffbc9f1 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -136,19 +136,36 @@
-
- - - +
+
案卷附件 + + +
+ + + - - + + - - + +
+
案卷处理:
@@ -343,10 +360,11 @@ import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' import { radioMap } from './radioMap' +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead,ArcGisMapRead }, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { const validateEmptyString = (rule, value, callback) => { if (!value.trim()) { @@ -389,7 +407,8 @@ operationKey: [{ required: true, message: '操作类型不能为空', trigger: ['blur', 'change'] }], // remarks: [{ required: true, message: '处置意见不能为空', trigger: ['blur', 'change'] }] remarks: [{ required: true, validator: validateEmptyString, trigger: ['blur', 'change'] }] - } + }, + showFile: false } }, computed: { @@ -407,6 +426,18 @@ return true } }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile + }, operationKey: function() { // 案件处理按钮key return this.processForm.operationKey } @@ -903,6 +934,12 @@ }).catch(() => { // 点击“取消”后的操作 }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } } diff --git a/src/components/CaseCommon/caseFile.vue b/src/components/CaseCommon/caseFile.vue new file mode 100644 index 0000000..3c463e1 --- /dev/null +++ b/src/components/CaseCommon/caseFile.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/views/callCase/components/audioUpload.vue b/src/views/callCase/components/audioUpload.vue index bb9252a..752e6d6 100644 --- a/src/views/callCase/components/audioUpload.vue +++ b/src/views/callCase/components/audioUpload.vue @@ -75,11 +75,12 @@ name: file.name, status: 'success', uid: file.uid, - url: this.baseConfig.baseUrl + '/static/' + response.data + url: response.data } this.fileList.push(obj) this.submitFile() } + this.$emit('finishUpload') }, // 移除 handleRemove(file, fileList) { @@ -108,6 +109,7 @@ this.$message.error('上传视频大小不能超过5MB!') return false } + this.$emit('beforeUpload') }, // 限制提示 handleExceed(files, fileList) { diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 49e0eaf..ffbc9f1 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -136,19 +136,36 @@
-
- - - +
+
案卷附件 + + +
+ + + - - + + - - + +
+
案卷处理:
@@ -343,10 +360,11 @@ import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' import { radioMap } from './radioMap' +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead,ArcGisMapRead }, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { const validateEmptyString = (rule, value, callback) => { if (!value.trim()) { @@ -389,7 +407,8 @@ operationKey: [{ required: true, message: '操作类型不能为空', trigger: ['blur', 'change'] }], // remarks: [{ required: true, message: '处置意见不能为空', trigger: ['blur', 'change'] }] remarks: [{ required: true, validator: validateEmptyString, trigger: ['blur', 'change'] }] - } + }, + showFile: false } }, computed: { @@ -407,6 +426,18 @@ return true } }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile + }, operationKey: function() { // 案件处理按钮key return this.processForm.operationKey } @@ -903,6 +934,12 @@ }).catch(() => { // 点击“取消”后的操作 }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } } diff --git a/src/components/CaseCommon/caseFile.vue b/src/components/CaseCommon/caseFile.vue new file mode 100644 index 0000000..3c463e1 --- /dev/null +++ b/src/components/CaseCommon/caseFile.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/views/callCase/components/audioUpload.vue b/src/views/callCase/components/audioUpload.vue index bb9252a..752e6d6 100644 --- a/src/views/callCase/components/audioUpload.vue +++ b/src/views/callCase/components/audioUpload.vue @@ -75,11 +75,12 @@ name: file.name, status: 'success', uid: file.uid, - url: this.baseConfig.baseUrl + '/static/' + response.data + url: response.data } this.fileList.push(obj) this.submitFile() } + this.$emit('finishUpload') }, // 移除 handleRemove(file, fileList) { @@ -108,6 +109,7 @@ this.$message.error('上传视频大小不能超过5MB!') return false } + this.$emit('beforeUpload') }, // 限制提示 handleExceed(files, fileList) { diff --git a/src/views/callCase/components/videoUpload.vue b/src/views/callCase/components/videoUpload.vue index 375ff38..7846f66 100644 --- a/src/views/callCase/components/videoUpload.vue +++ b/src/views/callCase/components/videoUpload.vue @@ -9,14 +9,15 @@ :headers="{token:token}" :disabled="fileLists.length >= limit || uploadBtn" :limit="limit" - multiple + :file-list="fileLists" + list-type="picture-card" class="video-upload" accept="video/mp4, video/ogg, video/flv,video/avi,video/wmv,video/rmvb">
最多上传{{ limit }}段视频,每段大小不超过10M
-
-
- - - +
+
案卷附件 + + +
+ + + - - + + - - + +
+
案卷处理:
@@ -343,10 +360,11 @@ import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' import { radioMap } from './radioMap' +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead,ArcGisMapRead }, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { const validateEmptyString = (rule, value, callback) => { if (!value.trim()) { @@ -389,7 +407,8 @@ operationKey: [{ required: true, message: '操作类型不能为空', trigger: ['blur', 'change'] }], // remarks: [{ required: true, message: '处置意见不能为空', trigger: ['blur', 'change'] }] remarks: [{ required: true, validator: validateEmptyString, trigger: ['blur', 'change'] }] - } + }, + showFile: false } }, computed: { @@ -407,6 +426,18 @@ return true } }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile + }, operationKey: function() { // 案件处理按钮key return this.processForm.operationKey } @@ -903,6 +934,12 @@ }).catch(() => { // 点击“取消”后的操作 }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } } diff --git a/src/components/CaseCommon/caseFile.vue b/src/components/CaseCommon/caseFile.vue new file mode 100644 index 0000000..3c463e1 --- /dev/null +++ b/src/components/CaseCommon/caseFile.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/views/callCase/components/audioUpload.vue b/src/views/callCase/components/audioUpload.vue index bb9252a..752e6d6 100644 --- a/src/views/callCase/components/audioUpload.vue +++ b/src/views/callCase/components/audioUpload.vue @@ -75,11 +75,12 @@ name: file.name, status: 'success', uid: file.uid, - url: this.baseConfig.baseUrl + '/static/' + response.data + url: response.data } this.fileList.push(obj) this.submitFile() } + this.$emit('finishUpload') }, // 移除 handleRemove(file, fileList) { @@ -108,6 +109,7 @@ this.$message.error('上传视频大小不能超过5MB!') return false } + this.$emit('beforeUpload') }, // 限制提示 handleExceed(files, fileList) { diff --git a/src/views/callCase/components/videoUpload.vue b/src/views/callCase/components/videoUpload.vue index 375ff38..7846f66 100644 --- a/src/views/callCase/components/videoUpload.vue +++ b/src/views/callCase/components/videoUpload.vue @@ -9,14 +9,15 @@ :headers="{token:token}" :disabled="fileLists.length >= limit || uploadBtn" :limit="limit" - multiple + :file-list="fileLists" + list-type="picture-card" class="video-upload" accept="video/mp4, video/ogg, video/flv,video/avi,video/wmv,video/rmvb">
最多上传{{ limit }}段视频,每段大小不超过10M
-
-
- - - + +
+
案卷附件 + + +
+ + + - - + + - - + +
@@ -167,11 +184,11 @@ import { historicalRecords } from '@/api/coorBusiness/process' import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' - +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead, ArcGisMapRead}, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { return { id: '', @@ -196,7 +213,8 @@ processRadioList: [], // 案件处理单选按钮 processCompShow: '', // 案卷处理组件显示 processCompObj: {}, // 案卷处理组件相关对象 - dialogVisible: false + dialogVisible: false, + showFile: false } }, computed: { @@ -213,6 +231,18 @@ }, imgList() { return this.fileIdVerify.concat(this.fileIdProcess).concat(this.fileIdCheck) + }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile } }, mounted() { @@ -245,8 +275,15 @@ historicalRecords(this.processForm.processId).then(response => { this.recordList = response.data }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } + } @@ -284,16 +321,17 @@ } } .edit_btns{ - float:right; + float:right; .edit_btn{ margin:7px 10px;//为了需要居中显示margin-top和bottom要用$tableTitleHeight减去按钮原高度除以2 } } .title{ - margin-left: 38px; font-size: 14px; font-weight: bold; + margin: 10px; + margin-left: 20px; } .button{ margin-bottom: 30px; @@ -309,10 +347,11 @@ height: 150px; margin-right: 20px; } - /deep/ .gutter{ + /deep/ .gutter{ background-color: #f3f3f3; } /deep/ .el-icon-circle-close{ color: #e2e2e2 } + diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 49e0eaf..ffbc9f1 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -136,19 +136,36 @@
-
- - - +
+
案卷附件 + + +
+ + + - - + + - - + +
+
案卷处理:
@@ -343,10 +360,11 @@ import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' import { radioMap } from './radioMap' +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead,ArcGisMapRead }, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { const validateEmptyString = (rule, value, callback) => { if (!value.trim()) { @@ -389,7 +407,8 @@ operationKey: [{ required: true, message: '操作类型不能为空', trigger: ['blur', 'change'] }], // remarks: [{ required: true, message: '处置意见不能为空', trigger: ['blur', 'change'] }] remarks: [{ required: true, validator: validateEmptyString, trigger: ['blur', 'change'] }] - } + }, + showFile: false } }, computed: { @@ -407,6 +426,18 @@ return true } }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile + }, operationKey: function() { // 案件处理按钮key return this.processForm.operationKey } @@ -903,6 +934,12 @@ }).catch(() => { // 点击“取消”后的操作 }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } } diff --git a/src/components/CaseCommon/caseFile.vue b/src/components/CaseCommon/caseFile.vue new file mode 100644 index 0000000..3c463e1 --- /dev/null +++ b/src/components/CaseCommon/caseFile.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/views/callCase/components/audioUpload.vue b/src/views/callCase/components/audioUpload.vue index bb9252a..752e6d6 100644 --- a/src/views/callCase/components/audioUpload.vue +++ b/src/views/callCase/components/audioUpload.vue @@ -75,11 +75,12 @@ name: file.name, status: 'success', uid: file.uid, - url: this.baseConfig.baseUrl + '/static/' + response.data + url: response.data } this.fileList.push(obj) this.submitFile() } + this.$emit('finishUpload') }, // 移除 handleRemove(file, fileList) { @@ -108,6 +109,7 @@ this.$message.error('上传视频大小不能超过5MB!') return false } + this.$emit('beforeUpload') }, // 限制提示 handleExceed(files, fileList) { diff --git a/src/views/callCase/components/videoUpload.vue b/src/views/callCase/components/videoUpload.vue index 375ff38..7846f66 100644 --- a/src/views/callCase/components/videoUpload.vue +++ b/src/views/callCase/components/videoUpload.vue @@ -9,14 +9,15 @@ :headers="{token:token}" :disabled="fileLists.length >= limit || uploadBtn" :limit="limit" - multiple + :file-list="fileLists" + list-type="picture-card" class="video-upload" accept="video/mp4, video/ogg, video/flv,video/avi,video/wmv,video/rmvb">
最多上传{{ limit }}段视频,每段大小不超过10M
-
-
- - - + +
+
案卷附件 + + +
+ + + - - + + - - + +
@@ -167,11 +184,11 @@ import { historicalRecords } from '@/api/coorBusiness/process' import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' - +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead, ArcGisMapRead}, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { return { id: '', @@ -196,7 +213,8 @@ processRadioList: [], // 案件处理单选按钮 processCompShow: '', // 案卷处理组件显示 processCompObj: {}, // 案卷处理组件相关对象 - dialogVisible: false + dialogVisible: false, + showFile: false } }, computed: { @@ -213,6 +231,18 @@ }, imgList() { return this.fileIdVerify.concat(this.fileIdProcess).concat(this.fileIdCheck) + }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile } }, mounted() { @@ -245,8 +275,15 @@ historicalRecords(this.processForm.processId).then(response => { this.recordList = response.data }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } + } @@ -284,16 +321,17 @@ } } .edit_btns{ - float:right; + float:right; .edit_btn{ margin:7px 10px;//为了需要居中显示margin-top和bottom要用$tableTitleHeight减去按钮原高度除以2 } } .title{ - margin-left: 38px; font-size: 14px; font-weight: bold; + margin: 10px; + margin-left: 20px; } .button{ margin-bottom: 30px; @@ -309,10 +347,11 @@ height: 150px; margin-right: 20px; } - /deep/ .gutter{ + /deep/ .gutter{ background-color: #f3f3f3; } /deep/ .el-icon-circle-close{ color: #e2e2e2 } + diff --git a/src/views/caseCommon/caseDetailSupervise.vue b/src/views/caseCommon/caseDetailSupervise.vue index cd3421f..4cef72d 100644 --- a/src/views/caseCommon/caseDetailSupervise.vue +++ b/src/views/caseCommon/caseDetailSupervise.vue @@ -1,175 +1,197 @@ diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/views/callCase/components/audioUpload.vue b/src/views/callCase/components/audioUpload.vue index bb9252a..752e6d6 100644 --- a/src/views/callCase/components/audioUpload.vue +++ b/src/views/callCase/components/audioUpload.vue @@ -75,11 +75,12 @@ name: file.name, status: 'success', uid: file.uid, - url: this.baseConfig.baseUrl + '/static/' + response.data + url: response.data } this.fileList.push(obj) this.submitFile() } + this.$emit('finishUpload') }, // 移除 handleRemove(file, fileList) { @@ -108,6 +109,7 @@ this.$message.error('上传视频大小不能超过5MB!') return false } + this.$emit('beforeUpload') }, // 限制提示 handleExceed(files, fileList) { diff --git a/src/views/callCase/components/videoUpload.vue b/src/views/callCase/components/videoUpload.vue index 375ff38..7846f66 100644 --- a/src/views/callCase/components/videoUpload.vue +++ b/src/views/callCase/components/videoUpload.vue @@ -9,14 +9,15 @@ :headers="{token:token}" :disabled="fileLists.length >= limit || uploadBtn" :limit="limit" - multiple + :file-list="fileLists" + list-type="picture-card" class="video-upload" accept="video/mp4, video/ogg, video/flv,video/avi,video/wmv,video/rmvb">
最多上传{{ limit }}段视频,每段大小不超过10M
-
-
- - - + +
+
案卷附件 + + +
+ + + - - + + - - + +
@@ -167,11 +184,11 @@ import { historicalRecords } from '@/api/coorBusiness/process' import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' - +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead, ArcGisMapRead}, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { return { id: '', @@ -196,7 +213,8 @@ processRadioList: [], // 案件处理单选按钮 processCompShow: '', // 案卷处理组件显示 processCompObj: {}, // 案卷处理组件相关对象 - dialogVisible: false + dialogVisible: false, + showFile: false } }, computed: { @@ -213,6 +231,18 @@ }, imgList() { return this.fileIdVerify.concat(this.fileIdProcess).concat(this.fileIdCheck) + }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile } }, mounted() { @@ -245,8 +275,15 @@ historicalRecords(this.processForm.processId).then(response => { this.recordList = response.data }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } + } @@ -284,16 +321,17 @@ } } .edit_btns{ - float:right; + float:right; .edit_btn{ margin:7px 10px;//为了需要居中显示margin-top和bottom要用$tableTitleHeight减去按钮原高度除以2 } } .title{ - margin-left: 38px; font-size: 14px; font-weight: bold; + margin: 10px; + margin-left: 20px; } .button{ margin-bottom: 30px; @@ -309,10 +347,11 @@ height: 150px; margin-right: 20px; } - /deep/ .gutter{ + /deep/ .gutter{ background-color: #f3f3f3; } /deep/ .el-icon-circle-close{ color: #e2e2e2 } + diff --git a/src/views/caseCommon/caseDetailSupervise.vue b/src/views/caseCommon/caseDetailSupervise.vue index cd3421f..4cef72d 100644 --- a/src/views/caseCommon/caseDetailSupervise.vue +++ b/src/views/caseCommon/caseDetailSupervise.vue @@ -1,175 +1,197 @@ diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/views/callCase/components/audioUpload.vue b/src/views/callCase/components/audioUpload.vue index bb9252a..752e6d6 100644 --- a/src/views/callCase/components/audioUpload.vue +++ b/src/views/callCase/components/audioUpload.vue @@ -75,11 +75,12 @@ name: file.name, status: 'success', uid: file.uid, - url: this.baseConfig.baseUrl + '/static/' + response.data + url: response.data } this.fileList.push(obj) this.submitFile() } + this.$emit('finishUpload') }, // 移除 handleRemove(file, fileList) { @@ -108,6 +109,7 @@ this.$message.error('上传视频大小不能超过5MB!') return false } + this.$emit('beforeUpload') }, // 限制提示 handleExceed(files, fileList) { diff --git a/src/views/callCase/components/videoUpload.vue b/src/views/callCase/components/videoUpload.vue index 375ff38..7846f66 100644 --- a/src/views/callCase/components/videoUpload.vue +++ b/src/views/callCase/components/videoUpload.vue @@ -9,14 +9,15 @@ :headers="{token:token}" :disabled="fileLists.length >= limit || uploadBtn" :limit="limit" - multiple + :file-list="fileLists" + list-type="picture-card" class="video-upload" accept="video/mp4, video/ogg, video/flv,video/avi,video/wmv,video/rmvb">
最多上传{{ limit }}段视频,每段大小不超过10M
-
-
- - - + +
+
案卷附件 + + +
+ + + - - + + - - + +
@@ -167,11 +184,11 @@ import { historicalRecords } from '@/api/coorBusiness/process' import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' - +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead, ArcGisMapRead}, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { return { id: '', @@ -196,7 +213,8 @@ processRadioList: [], // 案件处理单选按钮 processCompShow: '', // 案卷处理组件显示 processCompObj: {}, // 案卷处理组件相关对象 - dialogVisible: false + dialogVisible: false, + showFile: false } }, computed: { @@ -213,6 +231,18 @@ }, imgList() { return this.fileIdVerify.concat(this.fileIdProcess).concat(this.fileIdCheck) + }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile } }, mounted() { @@ -245,8 +275,15 @@ historicalRecords(this.processForm.processId).then(response => { this.recordList = response.data }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } + } @@ -284,16 +321,17 @@ } } .edit_btns{ - float:right; + float:right; .edit_btn{ margin:7px 10px;//为了需要居中显示margin-top和bottom要用$tableTitleHeight减去按钮原高度除以2 } } .title{ - margin-left: 38px; font-size: 14px; font-weight: bold; + margin: 10px; + margin-left: 20px; } .button{ margin-bottom: 30px; @@ -309,10 +347,11 @@ height: 150px; margin-right: 20px; } - /deep/ .gutter{ + /deep/ .gutter{ background-color: #f3f3f3; } /deep/ .el-icon-circle-close{ color: #e2e2e2 } + diff --git a/src/views/caseCommon/caseDetailSupervise.vue b/src/views/caseCommon/caseDetailSupervise.vue index cd3421f..4cef72d 100644 --- a/src/views/caseCommon/caseDetailSupervise.vue +++ b/src/views/caseCommon/caseDetailSupervise.vue @@ -1,175 +1,197 @@ diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/views/callCase/components/audioUpload.vue b/src/views/callCase/components/audioUpload.vue index bb9252a..752e6d6 100644 --- a/src/views/callCase/components/audioUpload.vue +++ b/src/views/callCase/components/audioUpload.vue @@ -75,11 +75,12 @@ name: file.name, status: 'success', uid: file.uid, - url: this.baseConfig.baseUrl + '/static/' + response.data + url: response.data } this.fileList.push(obj) this.submitFile() } + this.$emit('finishUpload') }, // 移除 handleRemove(file, fileList) { @@ -108,6 +109,7 @@ this.$message.error('上传视频大小不能超过5MB!') return false } + this.$emit('beforeUpload') }, // 限制提示 handleExceed(files, fileList) { diff --git a/src/views/callCase/components/videoUpload.vue b/src/views/callCase/components/videoUpload.vue index 375ff38..7846f66 100644 --- a/src/views/callCase/components/videoUpload.vue +++ b/src/views/callCase/components/videoUpload.vue @@ -9,14 +9,15 @@ :headers="{token:token}" :disabled="fileLists.length >= limit || uploadBtn" :limit="limit" - multiple + :file-list="fileLists" + list-type="picture-card" class="video-upload" accept="video/mp4, video/ogg, video/flv,video/avi,video/wmv,video/rmvb">
最多上传{{ limit }}段视频,每段大小不超过10M
-
-
- - - + +
+
案卷附件 + + +
+ + + - - + + - - + +
@@ -167,11 +184,11 @@ import { historicalRecords } from '@/api/coorBusiness/process' import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' - +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead, ArcGisMapRead}, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { return { id: '', @@ -196,7 +213,8 @@ processRadioList: [], // 案件处理单选按钮 processCompShow: '', // 案卷处理组件显示 processCompObj: {}, // 案卷处理组件相关对象 - dialogVisible: false + dialogVisible: false, + showFile: false } }, computed: { @@ -213,6 +231,18 @@ }, imgList() { return this.fileIdVerify.concat(this.fileIdProcess).concat(this.fileIdCheck) + }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile } }, mounted() { @@ -245,8 +275,15 @@ historicalRecords(this.processForm.processId).then(response => { this.recordList = response.data }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } + } @@ -284,16 +321,17 @@ } } .edit_btns{ - float:right; + float:right; .edit_btn{ margin:7px 10px;//为了需要居中显示margin-top和bottom要用$tableTitleHeight减去按钮原高度除以2 } } .title{ - margin-left: 38px; font-size: 14px; font-weight: bold; + margin: 10px; + margin-left: 20px; } .button{ margin-bottom: 30px; @@ -309,10 +347,11 @@ height: 150px; margin-right: 20px; } - /deep/ .gutter{ + /deep/ .gutter{ background-color: #f3f3f3; } /deep/ .el-icon-circle-close{ color: #e2e2e2 } + diff --git a/src/views/caseCommon/caseDetailSupervise.vue b/src/views/caseCommon/caseDetailSupervise.vue index cd3421f..4cef72d 100644 --- a/src/views/caseCommon/caseDetailSupervise.vue +++ b/src/views/caseCommon/caseDetailSupervise.vue @@ -1,175 +1,197 @@ diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/views/callCase/components/audioUpload.vue b/src/views/callCase/components/audioUpload.vue index bb9252a..752e6d6 100644 --- a/src/views/callCase/components/audioUpload.vue +++ b/src/views/callCase/components/audioUpload.vue @@ -75,11 +75,12 @@ name: file.name, status: 'success', uid: file.uid, - url: this.baseConfig.baseUrl + '/static/' + response.data + url: response.data } this.fileList.push(obj) this.submitFile() } + this.$emit('finishUpload') }, // 移除 handleRemove(file, fileList) { @@ -108,6 +109,7 @@ this.$message.error('上传视频大小不能超过5MB!') return false } + this.$emit('beforeUpload') }, // 限制提示 handleExceed(files, fileList) { diff --git a/src/views/callCase/components/videoUpload.vue b/src/views/callCase/components/videoUpload.vue index 375ff38..7846f66 100644 --- a/src/views/callCase/components/videoUpload.vue +++ b/src/views/callCase/components/videoUpload.vue @@ -9,14 +9,15 @@ :headers="{token:token}" :disabled="fileLists.length >= limit || uploadBtn" :limit="limit" - multiple + :file-list="fileLists" + list-type="picture-card" class="video-upload" accept="video/mp4, video/ogg, video/flv,video/avi,video/wmv,video/rmvb">
最多上传{{ limit }}段视频,每段大小不超过10M
-
-
- - - + +
+
案卷附件 + + +
+ + + - - + + - - + +
@@ -167,11 +184,11 @@ import { historicalRecords } from '@/api/coorBusiness/process' import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' - +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead, ArcGisMapRead}, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { return { id: '', @@ -196,7 +213,8 @@ processRadioList: [], // 案件处理单选按钮 processCompShow: '', // 案卷处理组件显示 processCompObj: {}, // 案卷处理组件相关对象 - dialogVisible: false + dialogVisible: false, + showFile: false } }, computed: { @@ -213,6 +231,18 @@ }, imgList() { return this.fileIdVerify.concat(this.fileIdProcess).concat(this.fileIdCheck) + }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile } }, mounted() { @@ -245,8 +275,15 @@ historicalRecords(this.processForm.processId).then(response => { this.recordList = response.data }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } + } @@ -284,16 +321,17 @@ } } .edit_btns{ - float:right; + float:right; .edit_btn{ margin:7px 10px;//为了需要居中显示margin-top和bottom要用$tableTitleHeight减去按钮原高度除以2 } } .title{ - margin-left: 38px; font-size: 14px; font-weight: bold; + margin: 10px; + margin-left: 20px; } .button{ margin-bottom: 30px; @@ -309,10 +347,11 @@ height: 150px; margin-right: 20px; } - /deep/ .gutter{ + /deep/ .gutter{ background-color: #f3f3f3; } /deep/ .el-icon-circle-close{ color: #e2e2e2 } + diff --git a/src/views/caseCommon/caseDetailSupervise.vue b/src/views/caseCommon/caseDetailSupervise.vue index cd3421f..4cef72d 100644 --- a/src/views/caseCommon/caseDetailSupervise.vue +++ b/src/views/caseCommon/caseDetailSupervise.vue @@ -1,175 +1,197 @@ diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/views/callCase/components/audioUpload.vue b/src/views/callCase/components/audioUpload.vue index bb9252a..752e6d6 100644 --- a/src/views/callCase/components/audioUpload.vue +++ b/src/views/callCase/components/audioUpload.vue @@ -75,11 +75,12 @@ name: file.name, status: 'success', uid: file.uid, - url: this.baseConfig.baseUrl + '/static/' + response.data + url: response.data } this.fileList.push(obj) this.submitFile() } + this.$emit('finishUpload') }, // 移除 handleRemove(file, fileList) { @@ -108,6 +109,7 @@ this.$message.error('上传视频大小不能超过5MB!') return false } + this.$emit('beforeUpload') }, // 限制提示 handleExceed(files, fileList) { diff --git a/src/views/callCase/components/videoUpload.vue b/src/views/callCase/components/videoUpload.vue index 375ff38..7846f66 100644 --- a/src/views/callCase/components/videoUpload.vue +++ b/src/views/callCase/components/videoUpload.vue @@ -9,14 +9,15 @@ :headers="{token:token}" :disabled="fileLists.length >= limit || uploadBtn" :limit="limit" - multiple + :file-list="fileLists" + list-type="picture-card" class="video-upload" accept="video/mp4, video/ogg, video/flv,video/avi,video/wmv,video/rmvb">
最多上传{{ limit }}段视频,每段大小不超过10M
-
-
- - - + +
+
案卷附件 + + +
+ + + - - + + - - + +
@@ -167,11 +184,11 @@ import { historicalRecords } from '@/api/coorBusiness/process' import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' - +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead, ArcGisMapRead}, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { return { id: '', @@ -196,7 +213,8 @@ processRadioList: [], // 案件处理单选按钮 processCompShow: '', // 案卷处理组件显示 processCompObj: {}, // 案卷处理组件相关对象 - dialogVisible: false + dialogVisible: false, + showFile: false } }, computed: { @@ -213,6 +231,18 @@ }, imgList() { return this.fileIdVerify.concat(this.fileIdProcess).concat(this.fileIdCheck) + }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile } }, mounted() { @@ -245,8 +275,15 @@ historicalRecords(this.processForm.processId).then(response => { this.recordList = response.data }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } + } @@ -284,16 +321,17 @@ } } .edit_btns{ - float:right; + float:right; .edit_btn{ margin:7px 10px;//为了需要居中显示margin-top和bottom要用$tableTitleHeight减去按钮原高度除以2 } } .title{ - margin-left: 38px; font-size: 14px; font-weight: bold; + margin: 10px; + margin-left: 20px; } .button{ margin-bottom: 30px; @@ -309,10 +347,11 @@ height: 150px; margin-right: 20px; } - /deep/ .gutter{ + /deep/ .gutter{ background-color: #f3f3f3; } /deep/ .el-icon-circle-close{ color: #e2e2e2 } + diff --git a/src/views/caseCommon/caseDetailSupervise.vue b/src/views/caseCommon/caseDetailSupervise.vue index cd3421f..4cef72d 100644 --- a/src/views/caseCommon/caseDetailSupervise.vue +++ b/src/views/caseCommon/caseDetailSupervise.vue @@ -1,175 +1,197 @@ diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/views/callCase/components/audioUpload.vue b/src/views/callCase/components/audioUpload.vue index bb9252a..752e6d6 100644 --- a/src/views/callCase/components/audioUpload.vue +++ b/src/views/callCase/components/audioUpload.vue @@ -75,11 +75,12 @@ name: file.name, status: 'success', uid: file.uid, - url: this.baseConfig.baseUrl + '/static/' + response.data + url: response.data } this.fileList.push(obj) this.submitFile() } + this.$emit('finishUpload') }, // 移除 handleRemove(file, fileList) { @@ -108,6 +109,7 @@ this.$message.error('上传视频大小不能超过5MB!') return false } + this.$emit('beforeUpload') }, // 限制提示 handleExceed(files, fileList) { diff --git a/src/views/callCase/components/videoUpload.vue b/src/views/callCase/components/videoUpload.vue index 375ff38..7846f66 100644 --- a/src/views/callCase/components/videoUpload.vue +++ b/src/views/callCase/components/videoUpload.vue @@ -9,14 +9,15 @@ :headers="{token:token}" :disabled="fileLists.length >= limit || uploadBtn" :limit="limit" - multiple + :file-list="fileLists" + list-type="picture-card" class="video-upload" accept="video/mp4, video/ogg, video/flv,video/avi,video/wmv,video/rmvb">
最多上传{{ limit }}段视频,每段大小不超过10M
-
-
- - - + +
+
案卷附件 + + +
+ + + - - + + - - + +
@@ -167,11 +184,11 @@ import { historicalRecords } from '@/api/coorBusiness/process' import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' - +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead, ArcGisMapRead}, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { return { id: '', @@ -196,7 +213,8 @@ processRadioList: [], // 案件处理单选按钮 processCompShow: '', // 案卷处理组件显示 processCompObj: {}, // 案卷处理组件相关对象 - dialogVisible: false + dialogVisible: false, + showFile: false } }, computed: { @@ -213,6 +231,18 @@ }, imgList() { return this.fileIdVerify.concat(this.fileIdProcess).concat(this.fileIdCheck) + }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile } }, mounted() { @@ -245,8 +275,15 @@ historicalRecords(this.processForm.processId).then(response => { this.recordList = response.data }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } + } @@ -284,16 +321,17 @@ } } .edit_btns{ - float:right; + float:right; .edit_btn{ margin:7px 10px;//为了需要居中显示margin-top和bottom要用$tableTitleHeight减去按钮原高度除以2 } } .title{ - margin-left: 38px; font-size: 14px; font-weight: bold; + margin: 10px; + margin-left: 20px; } .button{ margin-bottom: 30px; @@ -309,10 +347,11 @@ height: 150px; margin-right: 20px; } - /deep/ .gutter{ + /deep/ .gutter{ background-color: #f3f3f3; } /deep/ .el-icon-circle-close{ color: #e2e2e2 } + diff --git a/src/views/caseCommon/caseDetailSupervise.vue b/src/views/caseCommon/caseDetailSupervise.vue index cd3421f..4cef72d 100644 --- a/src/views/caseCommon/caseDetailSupervise.vue +++ b/src/views/caseCommon/caseDetailSupervise.vue @@ -1,175 +1,197 @@ diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/views/callCase/components/audioUpload.vue b/src/views/callCase/components/audioUpload.vue index bb9252a..752e6d6 100644 --- a/src/views/callCase/components/audioUpload.vue +++ b/src/views/callCase/components/audioUpload.vue @@ -75,11 +75,12 @@ name: file.name, status: 'success', uid: file.uid, - url: this.baseConfig.baseUrl + '/static/' + response.data + url: response.data } this.fileList.push(obj) this.submitFile() } + this.$emit('finishUpload') }, // 移除 handleRemove(file, fileList) { @@ -108,6 +109,7 @@ this.$message.error('上传视频大小不能超过5MB!') return false } + this.$emit('beforeUpload') }, // 限制提示 handleExceed(files, fileList) { diff --git a/src/views/callCase/components/videoUpload.vue b/src/views/callCase/components/videoUpload.vue index 375ff38..7846f66 100644 --- a/src/views/callCase/components/videoUpload.vue +++ b/src/views/callCase/components/videoUpload.vue @@ -9,14 +9,15 @@ :headers="{token:token}" :disabled="fileLists.length >= limit || uploadBtn" :limit="limit" - multiple + :file-list="fileLists" + list-type="picture-card" class="video-upload" accept="video/mp4, video/ogg, video/flv,video/avi,video/wmv,video/rmvb">
最多上传{{ limit }}段视频,每段大小不超过10M
-
-
- - - + +
+
案卷附件 + + +
+ + + - - + + - - + +
@@ -167,11 +184,11 @@ import { historicalRecords } from '@/api/coorBusiness/process' import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' - +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead, ArcGisMapRead}, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { return { id: '', @@ -196,7 +213,8 @@ processRadioList: [], // 案件处理单选按钮 processCompShow: '', // 案卷处理组件显示 processCompObj: {}, // 案卷处理组件相关对象 - dialogVisible: false + dialogVisible: false, + showFile: false } }, computed: { @@ -213,6 +231,18 @@ }, imgList() { return this.fileIdVerify.concat(this.fileIdProcess).concat(this.fileIdCheck) + }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile } }, mounted() { @@ -245,8 +275,15 @@ historicalRecords(this.processForm.processId).then(response => { this.recordList = response.data }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } + } @@ -284,16 +321,17 @@ } } .edit_btns{ - float:right; + float:right; .edit_btn{ margin:7px 10px;//为了需要居中显示margin-top和bottom要用$tableTitleHeight减去按钮原高度除以2 } } .title{ - margin-left: 38px; font-size: 14px; font-weight: bold; + margin: 10px; + margin-left: 20px; } .button{ margin-bottom: 30px; @@ -309,10 +347,11 @@ height: 150px; margin-right: 20px; } - /deep/ .gutter{ + /deep/ .gutter{ background-color: #f3f3f3; } /deep/ .el-icon-circle-close{ color: #e2e2e2 } + diff --git a/src/views/caseCommon/caseDetailSupervise.vue b/src/views/caseCommon/caseDetailSupervise.vue index cd3421f..4cef72d 100644 --- a/src/views/caseCommon/caseDetailSupervise.vue +++ b/src/views/caseCommon/caseDetailSupervise.vue @@ -1,175 +1,197 @@ diff --git a/src/router/modules/suphandle.js b/src/router/modules/suphandle.js index 1a3720b..41376ae 100644 --- a/src/router/modules/suphandle.js +++ b/src/router/modules/suphandle.js @@ -81,5 +81,50 @@ meta: { title: '综合查询', icon: '', belongSys: '', permission: '/ListSupSeo' } } ] + }, + { + path: '/callSupervise', + component: Layout, + name: 'CallSupervise', + redirect: '/overtimeList', + meta: { + title: '案卷督办', + permission: ['/callSupervise'], + sys: '/suphandle' + }, + children: [ + { + path: '/callSupervise/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + }, + { + path: '/callSupervise/criticalList', + component: () => import('@/views/supervise/criticalCase'), + name: 'CriticalList', + meta: { title: '紧急案卷', icon: '', permission: '/case/isCriticalListPage' } + } + ] + }, + { + path: '/callUrge', + component: Layout, + alwaysShow: true, + name: 'CallUrge', + redirect: '/overtimeList', + meta: { + title: '案卷催办', + permission: ['/callUrge'], + sys: '/suphandle' + }, + children: [ + { + path: '/callUrge/overtimeList', + component: () => import('@/views/supervise/overtimeCase'), + name: 'OvertimeList', + meta: { title: '超时未办', icon: '', permission: '/case/isOvertimeListPage' } + } + ] } ] diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index 5941e6c..3104b9d 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -202,17 +202,21 @@ + @submitVideo="submitVideo" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> + @submitAudio="submitAudio" + @beforeUpload="beforeUpload" + @finishUpload="finishUpload"/> - 提交 + 提交
@@ -306,7 +310,9 @@ fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id dispatchDeptId: '', // 处置部门id - fileIdVerify: '' // 图片存储的地址 + fileIdVerify: '', // 图片存储的地址 + videoIdVerify: '', // 视频地址 + audioIdVerify: '' // 音频地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], @@ -322,6 +328,8 @@ }, // 表单验证 hideUpload: false, fileList: [], + videoList: [], + audioList: [], uploadPath: this.baseConfig.baseUrl + '/file/upload', // 图片上传路径 token: '', dialogImageUrl: '', @@ -340,7 +348,8 @@ showCaseTypesTime: false, caseTypeCodeAuto: '', // 自动生成的案卷大类代码 caseTypeDetailCodeAuto: '', // 自动生成的案卷小类代码 - fileType: '' + fileType: '', // 附件类型 + submitDisable: false } }, computed: { @@ -388,12 +397,14 @@ this.token = this.$store.getters.token }, methods: { - // todo 视频列表 + submitVideo(videoList) { console.log('videoList', videoList) + this.videoList = videoList }, submitAudio(audioList) { console.log('audioList', audioList) + this.audioList = audioList }, initDept() { getDeptList().then(response => { @@ -418,6 +429,8 @@ this.caseForm.fieldintro = '' this.caseForm.verifyPersonId = '' this.caseForm.fileIdVerify = '' + this.caseForm.videoIdVerify = '' + this.caseForm.audioIdVerify = '' this.caseForm.dispatchDeptId = '' this.caseForm.eorc = '' this.caseForm.casetypeCode = '' @@ -627,6 +640,22 @@ this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } + if (this.videoList.length > 0) { + let videos = '' + this.videoList.forEach(video => { + videos += video.simpleUrl + ',' + }) + this.caseForm.videoIdVerify = videos.substring(0, videos.length - 1) + } + + if (this.audioList.length > 0) { + let audios = '' + this.audioList.forEach(audio => { + audios += audio.url + ',' + }) + this.caseForm.audioIdVerify = audios.substring(0, audios.length - 1) + } + console.log('submit form', this.caseForm) this.$refs['dataForm'].validate((valid) => { if (valid) { if (!this.checkCaseTime()) { @@ -670,10 +699,12 @@ uploadFile(file) { console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' + this.submitDisable = true Uploadimg(file).then(res => { if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } + this.submitDisable = false }) }, // 上传前判断文件格式及大小 @@ -749,6 +780,14 @@ reporterPhone: this.caseForm.reporterPhone } }) + }, + beforeUpload() { + console.log('before') + this.submitDisable = true + }, + finishUpload() { + console.log('finish') + this.submitDisable = false } } } @@ -780,6 +819,7 @@ display: flex; } + /deep/ .el-input__count-inner, .el-input__count{ line-height: initial !important } diff --git a/src/views/callCase/components/audioUpload.vue b/src/views/callCase/components/audioUpload.vue index bb9252a..752e6d6 100644 --- a/src/views/callCase/components/audioUpload.vue +++ b/src/views/callCase/components/audioUpload.vue @@ -75,11 +75,12 @@ name: file.name, status: 'success', uid: file.uid, - url: this.baseConfig.baseUrl + '/static/' + response.data + url: response.data } this.fileList.push(obj) this.submitFile() } + this.$emit('finishUpload') }, // 移除 handleRemove(file, fileList) { @@ -108,6 +109,7 @@ this.$message.error('上传视频大小不能超过5MB!') return false } + this.$emit('beforeUpload') }, // 限制提示 handleExceed(files, fileList) { diff --git a/src/views/callCase/components/videoUpload.vue b/src/views/callCase/components/videoUpload.vue index 375ff38..7846f66 100644 --- a/src/views/callCase/components/videoUpload.vue +++ b/src/views/callCase/components/videoUpload.vue @@ -9,14 +9,15 @@ :headers="{token:token}" :disabled="fileLists.length >= limit || uploadBtn" :limit="limit" - multiple + :file-list="fileLists" + list-type="picture-card" class="video-upload" accept="video/mp4, video/ogg, video/flv,video/avi,video/wmv,video/rmvb">
最多上传{{ limit }}段视频,每段大小不超过10M
-
-
- - - + +
+
案卷附件 + + +
+ + + - - + + - - + +
@@ -167,11 +184,11 @@ import { historicalRecords } from '@/api/coorBusiness/process' import TianDiTuMapRead from '@/components/Map/tiandiMapRead' import ArcGisMapRead from '@/components/Map/arcgisMapRead' - +import CaseFile from '@/components/caseCommon/caseFile' export default { name: 'CaseDetail', - components: { TianDiTuMapRead, ArcGisMapRead}, + components: { TianDiTuMapRead, ArcGisMapRead, CaseFile }, data() { return { id: '', @@ -196,7 +213,8 @@ processRadioList: [], // 案件处理单选按钮 processCompShow: '', // 案卷处理组件显示 processCompObj: {}, // 案卷处理组件相关对象 - dialogVisible: false + dialogVisible: false, + showFile: false } }, computed: { @@ -213,6 +231,18 @@ }, imgList() { return this.fileIdVerify.concat(this.fileIdProcess).concat(this.fileIdCheck) + }, + showVerifyFile() { + return this.caseDetail.fileIdVerify || this.caseDetail.audioIdVerify || this.caseDetail.videoIdVerify + }, + showProcessFile() { + return this.caseDetail.fileIdProcess || this.caseDetail.videoIdProcess || this.caseDetail.audioIdProcess + }, + showCheckFile() { + return this.caseDetail.fileIdCheck || this.caseDetail.videoIdCheck || this.caseDetail.audioIdCheck + }, + hasFile() { + return this.showVerifyFile || this.showProcessFile || this.showCheckFile } }, mounted() { @@ -245,8 +275,15 @@ historicalRecords(this.processForm.processId).then(response => { this.recordList = response.data }) + }, + funShowFile() { + this.showFile = true + }, + funHideFile() { + this.showFile = false } } + } @@ -284,16 +321,17 @@ } } .edit_btns{ - float:right; + float:right; .edit_btn{ margin:7px 10px;//为了需要居中显示margin-top和bottom要用$tableTitleHeight减去按钮原高度除以2 } } .title{ - margin-left: 38px; font-size: 14px; font-weight: bold; + margin: 10px; + margin-left: 20px; } .button{ margin-bottom: 30px; @@ -309,10 +347,11 @@ height: 150px; margin-right: 20px; } - /deep/ .gutter{ + /deep/ .gutter{ background-color: #f3f3f3; } /deep/ .el-icon-circle-close{ color: #e2e2e2 } + diff --git a/src/views/caseCommon/caseDetailSupervise.vue b/src/views/caseCommon/caseDetailSupervise.vue index cd3421f..4cef72d 100644 --- a/src/views/caseCommon/caseDetailSupervise.vue +++ b/src/views/caseCommon/caseDetailSupervise.vue @@ -1,175 +1,197 @@