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
-
+
@@ -92,6 +93,7 @@
methods: {
// 移除视频
handleRemove(file) {
+ console.log('remove', this.fileLists)
for (const i in this.fileLists) {
if (this.fileLists[i].uid === file.uid) {
this.fileLists.splice(i, 1)
@@ -100,6 +102,7 @@
this.submitFile()
},
beforeUploadVideo(file) {
+ console.log('in before')
const isLt10M = file.size / 1024 / 1024 < 10
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) === -1) {
this.$message.error('请上传正确的视频格式')
@@ -109,10 +112,12 @@
this.$message.error('上传视频大小不能超过10MB!')
return false
}
+ this.$emit('beforeUpload')
},
handleShowVideo(file) {
- console.log(file)
- this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ console.log('show', file)
+ // this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ this.dialogImageUrl = file.url
this.dialogVisible = true
},
// 上传完成
@@ -129,11 +134,13 @@
name: response.data,
status: 'success',
uid: file.uid,
- url: this.baseConfig.baseUrl + '/static/' + response.data
+ url: this.baseConfig.baseUrl + '/static/' + response.data,
+ simpleUrl: response.data
}
this.fileLists.push(obj)
this.submitFile()
}
+ this.$emit('finishUpload')
},
// 将图片文件传回给父组件
submitFile() {
@@ -198,6 +205,16 @@
max-height: 600px;
min-width: 200px;
max-width: 100%;
+ object-fit: contain !important;
+ }
+ /*video {*/
+ /*width: 150px;*/
+ /*height: 150px;*/
+ /*margin-right: 20px;*/
+ /*object-fit: cover;*/
+ /*}*/
+ :fullscreen {
+ object-fit: contain !important;
}
.progressModule >>> .el-progress__text{
color:#278df9;
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
-
+
@@ -92,6 +93,7 @@
methods: {
// 移除视频
handleRemove(file) {
+ console.log('remove', this.fileLists)
for (const i in this.fileLists) {
if (this.fileLists[i].uid === file.uid) {
this.fileLists.splice(i, 1)
@@ -100,6 +102,7 @@
this.submitFile()
},
beforeUploadVideo(file) {
+ console.log('in before')
const isLt10M = file.size / 1024 / 1024 < 10
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) === -1) {
this.$message.error('请上传正确的视频格式')
@@ -109,10 +112,12 @@
this.$message.error('上传视频大小不能超过10MB!')
return false
}
+ this.$emit('beforeUpload')
},
handleShowVideo(file) {
- console.log(file)
- this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ console.log('show', file)
+ // this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ this.dialogImageUrl = file.url
this.dialogVisible = true
},
// 上传完成
@@ -129,11 +134,13 @@
name: response.data,
status: 'success',
uid: file.uid,
- url: this.baseConfig.baseUrl + '/static/' + response.data
+ url: this.baseConfig.baseUrl + '/static/' + response.data,
+ simpleUrl: response.data
}
this.fileLists.push(obj)
this.submitFile()
}
+ this.$emit('finishUpload')
},
// 将图片文件传回给父组件
submitFile() {
@@ -198,6 +205,16 @@
max-height: 600px;
min-width: 200px;
max-width: 100%;
+ object-fit: contain !important;
+ }
+ /*video {*/
+ /*width: 150px;*/
+ /*height: 150px;*/
+ /*margin-right: 20px;*/
+ /*object-fit: cover;*/
+ /*}*/
+ :fullscreen {
+ object-fit: contain !important;
}
.progressModule >>> .el-progress__text{
color:#278df9;
diff --git a/src/views/caseCommon/caseDetailRead.vue b/src/views/caseCommon/caseDetailRead.vue
index 559be3d..37075d0 100644
--- a/src/views/caseCommon/caseDetailRead.vue
+++ b/src/views/caseCommon/caseDetailRead.vue
@@ -128,16 +128,33 @@
-
-
-
-
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -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
-
+
@@ -92,6 +93,7 @@
methods: {
// 移除视频
handleRemove(file) {
+ console.log('remove', this.fileLists)
for (const i in this.fileLists) {
if (this.fileLists[i].uid === file.uid) {
this.fileLists.splice(i, 1)
@@ -100,6 +102,7 @@
this.submitFile()
},
beforeUploadVideo(file) {
+ console.log('in before')
const isLt10M = file.size / 1024 / 1024 < 10
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) === -1) {
this.$message.error('请上传正确的视频格式')
@@ -109,10 +112,12 @@
this.$message.error('上传视频大小不能超过10MB!')
return false
}
+ this.$emit('beforeUpload')
},
handleShowVideo(file) {
- console.log(file)
- this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ console.log('show', file)
+ // this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ this.dialogImageUrl = file.url
this.dialogVisible = true
},
// 上传完成
@@ -129,11 +134,13 @@
name: response.data,
status: 'success',
uid: file.uid,
- url: this.baseConfig.baseUrl + '/static/' + response.data
+ url: this.baseConfig.baseUrl + '/static/' + response.data,
+ simpleUrl: response.data
}
this.fileLists.push(obj)
this.submitFile()
}
+ this.$emit('finishUpload')
},
// 将图片文件传回给父组件
submitFile() {
@@ -198,6 +205,16 @@
max-height: 600px;
min-width: 200px;
max-width: 100%;
+ object-fit: contain !important;
+ }
+ /*video {*/
+ /*width: 150px;*/
+ /*height: 150px;*/
+ /*margin-right: 20px;*/
+ /*object-fit: cover;*/
+ /*}*/
+ :fullscreen {
+ object-fit: contain !important;
}
.progressModule >>> .el-progress__text{
color:#278df9;
diff --git a/src/views/caseCommon/caseDetailRead.vue b/src/views/caseCommon/caseDetailRead.vue
index 559be3d..37075d0 100644
--- a/src/views/caseCommon/caseDetailRead.vue
+++ b/src/views/caseCommon/caseDetailRead.vue
@@ -128,16 +128,33 @@
-
-
-
-
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -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 @@
-
-
-
-
-
- 查看地图
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
-
+
-
+
-
-
-
-
+
+
-
+
@@ -187,9 +209,9 @@
-
+
- 提交
+ 提交
-
+
+
-
+
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
-
+
@@ -92,6 +93,7 @@
methods: {
// 移除视频
handleRemove(file) {
+ console.log('remove', this.fileLists)
for (const i in this.fileLists) {
if (this.fileLists[i].uid === file.uid) {
this.fileLists.splice(i, 1)
@@ -100,6 +102,7 @@
this.submitFile()
},
beforeUploadVideo(file) {
+ console.log('in before')
const isLt10M = file.size / 1024 / 1024 < 10
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) === -1) {
this.$message.error('请上传正确的视频格式')
@@ -109,10 +112,12 @@
this.$message.error('上传视频大小不能超过10MB!')
return false
}
+ this.$emit('beforeUpload')
},
handleShowVideo(file) {
- console.log(file)
- this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ console.log('show', file)
+ // this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ this.dialogImageUrl = file.url
this.dialogVisible = true
},
// 上传完成
@@ -129,11 +134,13 @@
name: response.data,
status: 'success',
uid: file.uid,
- url: this.baseConfig.baseUrl + '/static/' + response.data
+ url: this.baseConfig.baseUrl + '/static/' + response.data,
+ simpleUrl: response.data
}
this.fileLists.push(obj)
this.submitFile()
}
+ this.$emit('finishUpload')
},
// 将图片文件传回给父组件
submitFile() {
@@ -198,6 +205,16 @@
max-height: 600px;
min-width: 200px;
max-width: 100%;
+ object-fit: contain !important;
+ }
+ /*video {*/
+ /*width: 150px;*/
+ /*height: 150px;*/
+ /*margin-right: 20px;*/
+ /*object-fit: cover;*/
+ /*}*/
+ :fullscreen {
+ object-fit: contain !important;
}
.progressModule >>> .el-progress__text{
color:#278df9;
diff --git a/src/views/caseCommon/caseDetailRead.vue b/src/views/caseCommon/caseDetailRead.vue
index 559be3d..37075d0 100644
--- a/src/views/caseCommon/caseDetailRead.vue
+++ b/src/views/caseCommon/caseDetailRead.vue
@@ -128,16 +128,33 @@
-
-
-
-
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -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 @@
-
-
-
-
-
- 查看地图
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
-
+
-
+
-
-
-
-
+
+
-
+
@@ -187,9 +209,9 @@
-
+
- 提交
+ 提交
-
+
+
-
+
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
-
+
@@ -92,6 +93,7 @@
methods: {
// 移除视频
handleRemove(file) {
+ console.log('remove', this.fileLists)
for (const i in this.fileLists) {
if (this.fileLists[i].uid === file.uid) {
this.fileLists.splice(i, 1)
@@ -100,6 +102,7 @@
this.submitFile()
},
beforeUploadVideo(file) {
+ console.log('in before')
const isLt10M = file.size / 1024 / 1024 < 10
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) === -1) {
this.$message.error('请上传正确的视频格式')
@@ -109,10 +112,12 @@
this.$message.error('上传视频大小不能超过10MB!')
return false
}
+ this.$emit('beforeUpload')
},
handleShowVideo(file) {
- console.log(file)
- this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ console.log('show', file)
+ // this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ this.dialogImageUrl = file.url
this.dialogVisible = true
},
// 上传完成
@@ -129,11 +134,13 @@
name: response.data,
status: 'success',
uid: file.uid,
- url: this.baseConfig.baseUrl + '/static/' + response.data
+ url: this.baseConfig.baseUrl + '/static/' + response.data,
+ simpleUrl: response.data
}
this.fileLists.push(obj)
this.submitFile()
}
+ this.$emit('finishUpload')
},
// 将图片文件传回给父组件
submitFile() {
@@ -198,6 +205,16 @@
max-height: 600px;
min-width: 200px;
max-width: 100%;
+ object-fit: contain !important;
+ }
+ /*video {*/
+ /*width: 150px;*/
+ /*height: 150px;*/
+ /*margin-right: 20px;*/
+ /*object-fit: cover;*/
+ /*}*/
+ :fullscreen {
+ object-fit: contain !important;
}
.progressModule >>> .el-progress__text{
color:#278df9;
diff --git a/src/views/caseCommon/caseDetailRead.vue b/src/views/caseCommon/caseDetailRead.vue
index 559be3d..37075d0 100644
--- a/src/views/caseCommon/caseDetailRead.vue
+++ b/src/views/caseCommon/caseDetailRead.vue
@@ -128,16 +128,33 @@
-
-
-
-
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -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 @@
-
-
-
-
-
- 查看地图
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
-
+
-
+
-
-
-
-
+
+
-
+
@@ -187,9 +209,9 @@
-
+
- 提交
+ 提交
-
+
+
-
+
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
-
+
@@ -92,6 +93,7 @@
methods: {
// 移除视频
handleRemove(file) {
+ console.log('remove', this.fileLists)
for (const i in this.fileLists) {
if (this.fileLists[i].uid === file.uid) {
this.fileLists.splice(i, 1)
@@ -100,6 +102,7 @@
this.submitFile()
},
beforeUploadVideo(file) {
+ console.log('in before')
const isLt10M = file.size / 1024 / 1024 < 10
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) === -1) {
this.$message.error('请上传正确的视频格式')
@@ -109,10 +112,12 @@
this.$message.error('上传视频大小不能超过10MB!')
return false
}
+ this.$emit('beforeUpload')
},
handleShowVideo(file) {
- console.log(file)
- this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ console.log('show', file)
+ // this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ this.dialogImageUrl = file.url
this.dialogVisible = true
},
// 上传完成
@@ -129,11 +134,13 @@
name: response.data,
status: 'success',
uid: file.uid,
- url: this.baseConfig.baseUrl + '/static/' + response.data
+ url: this.baseConfig.baseUrl + '/static/' + response.data,
+ simpleUrl: response.data
}
this.fileLists.push(obj)
this.submitFile()
}
+ this.$emit('finishUpload')
},
// 将图片文件传回给父组件
submitFile() {
@@ -198,6 +205,16 @@
max-height: 600px;
min-width: 200px;
max-width: 100%;
+ object-fit: contain !important;
+ }
+ /*video {*/
+ /*width: 150px;*/
+ /*height: 150px;*/
+ /*margin-right: 20px;*/
+ /*object-fit: cover;*/
+ /*}*/
+ :fullscreen {
+ object-fit: contain !important;
}
.progressModule >>> .el-progress__text{
color:#278df9;
diff --git a/src/views/caseCommon/caseDetailRead.vue b/src/views/caseCommon/caseDetailRead.vue
index 559be3d..37075d0 100644
--- a/src/views/caseCommon/caseDetailRead.vue
+++ b/src/views/caseCommon/caseDetailRead.vue
@@ -128,16 +128,33 @@
-
-
-
-
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -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 @@
-
-
-
-
-
- 查看地图
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
-
+
-
+
-
-
-
-
+
+
-
+
@@ -187,9 +209,9 @@
-
+
- 提交
+ 提交
-
+
+
-
+
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
-
+
@@ -92,6 +93,7 @@
methods: {
// 移除视频
handleRemove(file) {
+ console.log('remove', this.fileLists)
for (const i in this.fileLists) {
if (this.fileLists[i].uid === file.uid) {
this.fileLists.splice(i, 1)
@@ -100,6 +102,7 @@
this.submitFile()
},
beforeUploadVideo(file) {
+ console.log('in before')
const isLt10M = file.size / 1024 / 1024 < 10
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) === -1) {
this.$message.error('请上传正确的视频格式')
@@ -109,10 +112,12 @@
this.$message.error('上传视频大小不能超过10MB!')
return false
}
+ this.$emit('beforeUpload')
},
handleShowVideo(file) {
- console.log(file)
- this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ console.log('show', file)
+ // this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ this.dialogImageUrl = file.url
this.dialogVisible = true
},
// 上传完成
@@ -129,11 +134,13 @@
name: response.data,
status: 'success',
uid: file.uid,
- url: this.baseConfig.baseUrl + '/static/' + response.data
+ url: this.baseConfig.baseUrl + '/static/' + response.data,
+ simpleUrl: response.data
}
this.fileLists.push(obj)
this.submitFile()
}
+ this.$emit('finishUpload')
},
// 将图片文件传回给父组件
submitFile() {
@@ -198,6 +205,16 @@
max-height: 600px;
min-width: 200px;
max-width: 100%;
+ object-fit: contain !important;
+ }
+ /*video {*/
+ /*width: 150px;*/
+ /*height: 150px;*/
+ /*margin-right: 20px;*/
+ /*object-fit: cover;*/
+ /*}*/
+ :fullscreen {
+ object-fit: contain !important;
}
.progressModule >>> .el-progress__text{
color:#278df9;
diff --git a/src/views/caseCommon/caseDetailRead.vue b/src/views/caseCommon/caseDetailRead.vue
index 559be3d..37075d0 100644
--- a/src/views/caseCommon/caseDetailRead.vue
+++ b/src/views/caseCommon/caseDetailRead.vue
@@ -128,16 +128,33 @@
-
-
-
-
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -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 @@
-
-
-
-
-
- 查看地图
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
-
+
-
+
-
-
-
-
+
+
-
+
@@ -187,9 +209,9 @@
-
+
- 提交
+ 提交
-
+
+
-
+
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
-
+
@@ -92,6 +93,7 @@
methods: {
// 移除视频
handleRemove(file) {
+ console.log('remove', this.fileLists)
for (const i in this.fileLists) {
if (this.fileLists[i].uid === file.uid) {
this.fileLists.splice(i, 1)
@@ -100,6 +102,7 @@
this.submitFile()
},
beforeUploadVideo(file) {
+ console.log('in before')
const isLt10M = file.size / 1024 / 1024 < 10
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) === -1) {
this.$message.error('请上传正确的视频格式')
@@ -109,10 +112,12 @@
this.$message.error('上传视频大小不能超过10MB!')
return false
}
+ this.$emit('beforeUpload')
},
handleShowVideo(file) {
- console.log(file)
- this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ console.log('show', file)
+ // this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ this.dialogImageUrl = file.url
this.dialogVisible = true
},
// 上传完成
@@ -129,11 +134,13 @@
name: response.data,
status: 'success',
uid: file.uid,
- url: this.baseConfig.baseUrl + '/static/' + response.data
+ url: this.baseConfig.baseUrl + '/static/' + response.data,
+ simpleUrl: response.data
}
this.fileLists.push(obj)
this.submitFile()
}
+ this.$emit('finishUpload')
},
// 将图片文件传回给父组件
submitFile() {
@@ -198,6 +205,16 @@
max-height: 600px;
min-width: 200px;
max-width: 100%;
+ object-fit: contain !important;
+ }
+ /*video {*/
+ /*width: 150px;*/
+ /*height: 150px;*/
+ /*margin-right: 20px;*/
+ /*object-fit: cover;*/
+ /*}*/
+ :fullscreen {
+ object-fit: contain !important;
}
.progressModule >>> .el-progress__text{
color:#278df9;
diff --git a/src/views/caseCommon/caseDetailRead.vue b/src/views/caseCommon/caseDetailRead.vue
index 559be3d..37075d0 100644
--- a/src/views/caseCommon/caseDetailRead.vue
+++ b/src/views/caseCommon/caseDetailRead.vue
@@ -128,16 +128,33 @@
-
-
-
-
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -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 @@
-
-
-
-
-
- 查看地图
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
-
+
-
+
-
-
-
-
+
+
-
+
@@ -187,9 +209,9 @@
-
+
- 提交
+ 提交
-
+
+
-
+
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
-
+
@@ -92,6 +93,7 @@
methods: {
// 移除视频
handleRemove(file) {
+ console.log('remove', this.fileLists)
for (const i in this.fileLists) {
if (this.fileLists[i].uid === file.uid) {
this.fileLists.splice(i, 1)
@@ -100,6 +102,7 @@
this.submitFile()
},
beforeUploadVideo(file) {
+ console.log('in before')
const isLt10M = file.size / 1024 / 1024 < 10
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) === -1) {
this.$message.error('请上传正确的视频格式')
@@ -109,10 +112,12 @@
this.$message.error('上传视频大小不能超过10MB!')
return false
}
+ this.$emit('beforeUpload')
},
handleShowVideo(file) {
- console.log(file)
- this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ console.log('show', file)
+ // this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ this.dialogImageUrl = file.url
this.dialogVisible = true
},
// 上传完成
@@ -129,11 +134,13 @@
name: response.data,
status: 'success',
uid: file.uid,
- url: this.baseConfig.baseUrl + '/static/' + response.data
+ url: this.baseConfig.baseUrl + '/static/' + response.data,
+ simpleUrl: response.data
}
this.fileLists.push(obj)
this.submitFile()
}
+ this.$emit('finishUpload')
},
// 将图片文件传回给父组件
submitFile() {
@@ -198,6 +205,16 @@
max-height: 600px;
min-width: 200px;
max-width: 100%;
+ object-fit: contain !important;
+ }
+ /*video {*/
+ /*width: 150px;*/
+ /*height: 150px;*/
+ /*margin-right: 20px;*/
+ /*object-fit: cover;*/
+ /*}*/
+ :fullscreen {
+ object-fit: contain !important;
}
.progressModule >>> .el-progress__text{
color:#278df9;
diff --git a/src/views/caseCommon/caseDetailRead.vue b/src/views/caseCommon/caseDetailRead.vue
index 559be3d..37075d0 100644
--- a/src/views/caseCommon/caseDetailRead.vue
+++ b/src/views/caseCommon/caseDetailRead.vue
@@ -128,16 +128,33 @@
-
-
-
-
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -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 @@
-
-
-
-
-
- 查看地图
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
-
+
-
+
-
-
-
-
+
+
-
+
@@ -187,9 +209,9 @@
-
+
- 提交
+ 提交
-
+
+
-
+
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
-
+
@@ -92,6 +93,7 @@
methods: {
// 移除视频
handleRemove(file) {
+ console.log('remove', this.fileLists)
for (const i in this.fileLists) {
if (this.fileLists[i].uid === file.uid) {
this.fileLists.splice(i, 1)
@@ -100,6 +102,7 @@
this.submitFile()
},
beforeUploadVideo(file) {
+ console.log('in before')
const isLt10M = file.size / 1024 / 1024 < 10
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) === -1) {
this.$message.error('请上传正确的视频格式')
@@ -109,10 +112,12 @@
this.$message.error('上传视频大小不能超过10MB!')
return false
}
+ this.$emit('beforeUpload')
},
handleShowVideo(file) {
- console.log(file)
- this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ console.log('show', file)
+ // this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ this.dialogImageUrl = file.url
this.dialogVisible = true
},
// 上传完成
@@ -129,11 +134,13 @@
name: response.data,
status: 'success',
uid: file.uid,
- url: this.baseConfig.baseUrl + '/static/' + response.data
+ url: this.baseConfig.baseUrl + '/static/' + response.data,
+ simpleUrl: response.data
}
this.fileLists.push(obj)
this.submitFile()
}
+ this.$emit('finishUpload')
},
// 将图片文件传回给父组件
submitFile() {
@@ -198,6 +205,16 @@
max-height: 600px;
min-width: 200px;
max-width: 100%;
+ object-fit: contain !important;
+ }
+ /*video {*/
+ /*width: 150px;*/
+ /*height: 150px;*/
+ /*margin-right: 20px;*/
+ /*object-fit: cover;*/
+ /*}*/
+ :fullscreen {
+ object-fit: contain !important;
}
.progressModule >>> .el-progress__text{
color:#278df9;
diff --git a/src/views/caseCommon/caseDetailRead.vue b/src/views/caseCommon/caseDetailRead.vue
index 559be3d..37075d0 100644
--- a/src/views/caseCommon/caseDetailRead.vue
+++ b/src/views/caseCommon/caseDetailRead.vue
@@ -128,16 +128,33 @@
-
-
-
-
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -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 @@
-
-
-
-
-
- 查看地图
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
-
+
-
+
-
-
-
-
+
+
-
+
@@ -187,9 +209,9 @@
-
+
- 提交
+ 提交
-
+
+
-
+
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
-
+
@@ -92,6 +93,7 @@
methods: {
// 移除视频
handleRemove(file) {
+ console.log('remove', this.fileLists)
for (const i in this.fileLists) {
if (this.fileLists[i].uid === file.uid) {
this.fileLists.splice(i, 1)
@@ -100,6 +102,7 @@
this.submitFile()
},
beforeUploadVideo(file) {
+ console.log('in before')
const isLt10M = file.size / 1024 / 1024 < 10
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(file.type) === -1) {
this.$message.error('请上传正确的视频格式')
@@ -109,10 +112,12 @@
this.$message.error('上传视频大小不能超过10MB!')
return false
}
+ this.$emit('beforeUpload')
},
handleShowVideo(file) {
- console.log(file)
- this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ console.log('show', file)
+ // this.dialogImageUrl = this.baseConfig.baseUrl + '/static/' + file.response.data
+ this.dialogImageUrl = file.url
this.dialogVisible = true
},
// 上传完成
@@ -129,11 +134,13 @@
name: response.data,
status: 'success',
uid: file.uid,
- url: this.baseConfig.baseUrl + '/static/' + response.data
+ url: this.baseConfig.baseUrl + '/static/' + response.data,
+ simpleUrl: response.data
}
this.fileLists.push(obj)
this.submitFile()
}
+ this.$emit('finishUpload')
},
// 将图片文件传回给父组件
submitFile() {
@@ -198,6 +205,16 @@
max-height: 600px;
min-width: 200px;
max-width: 100%;
+ object-fit: contain !important;
+ }
+ /*video {*/
+ /*width: 150px;*/
+ /*height: 150px;*/
+ /*margin-right: 20px;*/
+ /*object-fit: cover;*/
+ /*}*/
+ :fullscreen {
+ object-fit: contain !important;
}
.progressModule >>> .el-progress__text{
color:#278df9;
diff --git a/src/views/caseCommon/caseDetailRead.vue b/src/views/caseCommon/caseDetailRead.vue
index 559be3d..37075d0 100644
--- a/src/views/caseCommon/caseDetailRead.vue
+++ b/src/views/caseCommon/caseDetailRead.vue
@@ -128,16 +128,33 @@
-
-
-
-
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -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 @@
-
-
-
-
-
- 查看地图
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
案卷附件
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
+
+
-
+
-
+
-
-
-
-
+
+
-
+
@@ -187,9 +209,9 @@
-
+
- 提交
+ 提交
-
+
+
-
+