diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index bac9652..3e518ed 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -253,6 +253,13 @@ callback(new Error('举报人电话不能为空')) } } + const verifyPersonValidator = (rule, value, callback) => { + if (value <= 0 && this.caseForm.isNeedVerify === '1') { + callback(new Error('请选择监督员')) + } else { + callback() + } + } return { caseForm: { reporterName: '', // 举报人姓名 @@ -278,22 +285,22 @@ description: '', // 案件描述 fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id - photos: '' // 图片存储的地址 + fileIdVerify: '' // 图片存储的地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], reporterPhone: [{ required: true, trigger: ['blur'], validator: phoneValidator }], - source: [{ required: true, message: '信息来源不能为空', trigger: ['change'] }], - caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['change'] }], - eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['change'] }], - casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['change'] }], - casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['change'] }], + source: [{ required: true, message: '信息来源不能为空', trigger: ['blur'] }], + caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['blur'] }], + eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['blur'] }], + casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['blur'] }], + casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['blur'] }], description: [{ required: true, message: '案卷描述不能为空', trigger: ['blur'] }], - fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }] + fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }], + verifyPersonId: [{ required: false, trigger: ['blur'], validator: verifyPersonValidator }] }, // 表单验证 hideUpload: false, fileList: [], - imageList: [], uploadPath: process.env.BASE_API + 'imageUpload', // 图片上传路径 dialogImageUrl: '', dialogVisible: false, @@ -353,6 +360,30 @@ this.initVerifyPerson() }, methods: { + initCaseForm: function() { + this.caseForm.reporterName = '' + this.caseForm.reporterPhone = '' + this.caseForm.isNeedVerify = '1' + this.caseForm.isNeedRevisit = '1' + this.caseForm.lng = '' + this.caseForm.lat = '' + this.caseForm.communityCode = '' + this.caseForm.communityName = '' + this.caseForm.gridId = '' + this.caseForm.componentId = '' + this.caseForm.casetypesTimeId = '' + this.caseForm.bzhours = 0 + this.caseForm.bzminis = 0 + this.caseForm.description = '' + this.caseForm.fieldintro = '' + this.caseForm.verifyPersonId = '' + this.caseForm.fileIdVerify = '' + this.caseForm.eorc = '' + this.caseForm.casetypeCode = '' + this.caseForm.casetypeDetailCode = '' + + this.$refs.upload.clearFiles() + }, initCaseSource: function() { getCaseSource().then(response => { this.caseSourceOpts = [] @@ -386,7 +417,6 @@ initVerifyPerson: function() { getVerifyPerson().then(response => { this.verifyPersonOpts = [] - console.log(response) for (const opt of response.data) { this.verifyPersonOpts.push(opt) } @@ -467,7 +497,6 @@ if (typeDetailId > 0) { getCaseTypesTime(typeDetailId).then(response => { - console.log(response) for (const opt of response.data) { this.caseTypeTimeOpts.push(opt) } @@ -544,11 +573,10 @@ this.fileList.forEach(photo => { photos += photo.url + ',' }) - this.caseForm.photos = photos.substring(0, photos.length - 1) + this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } this.$refs['dataForm'].validate((valid) => { - console.log(valid) if (valid) { addCase(this.caseForm).then(function(response) { if (response.code === 200) { @@ -557,7 +585,10 @@ type: 'success' }) - that.$router.push({ path: '/dashboard' }) + // 重新赋值 + that.initCaseForm() + + that.$router.push({ path: '/supWork' }) } else { that.$message({ message: '添加案卷失败', @@ -573,7 +604,6 @@ console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' Uploadimg(file).then(res => { - console.log(res) if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } @@ -633,7 +663,6 @@ }, handleSuccess(response, file, fileList) { console.log('handleSuccess') - console.log(response) const base_url = process.env.BASE_API + '/static/' if (response.code === 200) { this.fileList.push({ name: file.file.name, url: base_url + response.data }) diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index bac9652..3e518ed 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -253,6 +253,13 @@ callback(new Error('举报人电话不能为空')) } } + const verifyPersonValidator = (rule, value, callback) => { + if (value <= 0 && this.caseForm.isNeedVerify === '1') { + callback(new Error('请选择监督员')) + } else { + callback() + } + } return { caseForm: { reporterName: '', // 举报人姓名 @@ -278,22 +285,22 @@ description: '', // 案件描述 fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id - photos: '' // 图片存储的地址 + fileIdVerify: '' // 图片存储的地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], reporterPhone: [{ required: true, trigger: ['blur'], validator: phoneValidator }], - source: [{ required: true, message: '信息来源不能为空', trigger: ['change'] }], - caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['change'] }], - eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['change'] }], - casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['change'] }], - casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['change'] }], + source: [{ required: true, message: '信息来源不能为空', trigger: ['blur'] }], + caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['blur'] }], + eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['blur'] }], + casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['blur'] }], + casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['blur'] }], description: [{ required: true, message: '案卷描述不能为空', trigger: ['blur'] }], - fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }] + fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }], + verifyPersonId: [{ required: false, trigger: ['blur'], validator: verifyPersonValidator }] }, // 表单验证 hideUpload: false, fileList: [], - imageList: [], uploadPath: process.env.BASE_API + 'imageUpload', // 图片上传路径 dialogImageUrl: '', dialogVisible: false, @@ -353,6 +360,30 @@ this.initVerifyPerson() }, methods: { + initCaseForm: function() { + this.caseForm.reporterName = '' + this.caseForm.reporterPhone = '' + this.caseForm.isNeedVerify = '1' + this.caseForm.isNeedRevisit = '1' + this.caseForm.lng = '' + this.caseForm.lat = '' + this.caseForm.communityCode = '' + this.caseForm.communityName = '' + this.caseForm.gridId = '' + this.caseForm.componentId = '' + this.caseForm.casetypesTimeId = '' + this.caseForm.bzhours = 0 + this.caseForm.bzminis = 0 + this.caseForm.description = '' + this.caseForm.fieldintro = '' + this.caseForm.verifyPersonId = '' + this.caseForm.fileIdVerify = '' + this.caseForm.eorc = '' + this.caseForm.casetypeCode = '' + this.caseForm.casetypeDetailCode = '' + + this.$refs.upload.clearFiles() + }, initCaseSource: function() { getCaseSource().then(response => { this.caseSourceOpts = [] @@ -386,7 +417,6 @@ initVerifyPerson: function() { getVerifyPerson().then(response => { this.verifyPersonOpts = [] - console.log(response) for (const opt of response.data) { this.verifyPersonOpts.push(opt) } @@ -467,7 +497,6 @@ if (typeDetailId > 0) { getCaseTypesTime(typeDetailId).then(response => { - console.log(response) for (const opt of response.data) { this.caseTypeTimeOpts.push(opt) } @@ -544,11 +573,10 @@ this.fileList.forEach(photo => { photos += photo.url + ',' }) - this.caseForm.photos = photos.substring(0, photos.length - 1) + this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } this.$refs['dataForm'].validate((valid) => { - console.log(valid) if (valid) { addCase(this.caseForm).then(function(response) { if (response.code === 200) { @@ -557,7 +585,10 @@ type: 'success' }) - that.$router.push({ path: '/dashboard' }) + // 重新赋值 + that.initCaseForm() + + that.$router.push({ path: '/supWork' }) } else { that.$message({ message: '添加案卷失败', @@ -573,7 +604,6 @@ console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' Uploadimg(file).then(res => { - console.log(res) if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } @@ -633,7 +663,6 @@ }, handleSuccess(response, file, fileList) { console.log('handleSuccess') - console.log(response) const base_url = process.env.BASE_API + '/static/' if (response.code === 200) { this.fileList.push({ name: file.file.name, url: base_url + response.data }) diff --git a/src/views/layout/SupLayout.vue b/src/views/layout/SupLayout.vue new file mode 100644 index 0000000..5ada200 --- /dev/null +++ b/src/views/layout/SupLayout.vue @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index bac9652..3e518ed 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -253,6 +253,13 @@ callback(new Error('举报人电话不能为空')) } } + const verifyPersonValidator = (rule, value, callback) => { + if (value <= 0 && this.caseForm.isNeedVerify === '1') { + callback(new Error('请选择监督员')) + } else { + callback() + } + } return { caseForm: { reporterName: '', // 举报人姓名 @@ -278,22 +285,22 @@ description: '', // 案件描述 fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id - photos: '' // 图片存储的地址 + fileIdVerify: '' // 图片存储的地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], reporterPhone: [{ required: true, trigger: ['blur'], validator: phoneValidator }], - source: [{ required: true, message: '信息来源不能为空', trigger: ['change'] }], - caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['change'] }], - eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['change'] }], - casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['change'] }], - casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['change'] }], + source: [{ required: true, message: '信息来源不能为空', trigger: ['blur'] }], + caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['blur'] }], + eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['blur'] }], + casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['blur'] }], + casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['blur'] }], description: [{ required: true, message: '案卷描述不能为空', trigger: ['blur'] }], - fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }] + fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }], + verifyPersonId: [{ required: false, trigger: ['blur'], validator: verifyPersonValidator }] }, // 表单验证 hideUpload: false, fileList: [], - imageList: [], uploadPath: process.env.BASE_API + 'imageUpload', // 图片上传路径 dialogImageUrl: '', dialogVisible: false, @@ -353,6 +360,30 @@ this.initVerifyPerson() }, methods: { + initCaseForm: function() { + this.caseForm.reporterName = '' + this.caseForm.reporterPhone = '' + this.caseForm.isNeedVerify = '1' + this.caseForm.isNeedRevisit = '1' + this.caseForm.lng = '' + this.caseForm.lat = '' + this.caseForm.communityCode = '' + this.caseForm.communityName = '' + this.caseForm.gridId = '' + this.caseForm.componentId = '' + this.caseForm.casetypesTimeId = '' + this.caseForm.bzhours = 0 + this.caseForm.bzminis = 0 + this.caseForm.description = '' + this.caseForm.fieldintro = '' + this.caseForm.verifyPersonId = '' + this.caseForm.fileIdVerify = '' + this.caseForm.eorc = '' + this.caseForm.casetypeCode = '' + this.caseForm.casetypeDetailCode = '' + + this.$refs.upload.clearFiles() + }, initCaseSource: function() { getCaseSource().then(response => { this.caseSourceOpts = [] @@ -386,7 +417,6 @@ initVerifyPerson: function() { getVerifyPerson().then(response => { this.verifyPersonOpts = [] - console.log(response) for (const opt of response.data) { this.verifyPersonOpts.push(opt) } @@ -467,7 +497,6 @@ if (typeDetailId > 0) { getCaseTypesTime(typeDetailId).then(response => { - console.log(response) for (const opt of response.data) { this.caseTypeTimeOpts.push(opt) } @@ -544,11 +573,10 @@ this.fileList.forEach(photo => { photos += photo.url + ',' }) - this.caseForm.photos = photos.substring(0, photos.length - 1) + this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } this.$refs['dataForm'].validate((valid) => { - console.log(valid) if (valid) { addCase(this.caseForm).then(function(response) { if (response.code === 200) { @@ -557,7 +585,10 @@ type: 'success' }) - that.$router.push({ path: '/dashboard' }) + // 重新赋值 + that.initCaseForm() + + that.$router.push({ path: '/supWork' }) } else { that.$message({ message: '添加案卷失败', @@ -573,7 +604,6 @@ console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' Uploadimg(file).then(res => { - console.log(res) if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } @@ -633,7 +663,6 @@ }, handleSuccess(response, file, fileList) { console.log('handleSuccess') - console.log(response) const base_url = process.env.BASE_API + '/static/' if (response.code === 200) { this.fileList.push({ name: file.file.name, url: base_url + response.data }) diff --git a/src/views/layout/SupLayout.vue b/src/views/layout/SupLayout.vue new file mode 100644 index 0000000..5ada200 --- /dev/null +++ b/src/views/layout/SupLayout.vue @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index 1faad3f..7b4c7dd 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -22,6 +22,9 @@ + 回首页 + + 修改密码 @@ -74,6 +77,9 @@ this.showSetPwd = true this.$refs.retPwd.initDialog(true) }, + backToIndex() { + this.$router.push('/dashboard') + }, // 切换子系统 handleCommand(command) { console.log('切换子系统:' + command.name) diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index bac9652..3e518ed 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -253,6 +253,13 @@ callback(new Error('举报人电话不能为空')) } } + const verifyPersonValidator = (rule, value, callback) => { + if (value <= 0 && this.caseForm.isNeedVerify === '1') { + callback(new Error('请选择监督员')) + } else { + callback() + } + } return { caseForm: { reporterName: '', // 举报人姓名 @@ -278,22 +285,22 @@ description: '', // 案件描述 fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id - photos: '' // 图片存储的地址 + fileIdVerify: '' // 图片存储的地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], reporterPhone: [{ required: true, trigger: ['blur'], validator: phoneValidator }], - source: [{ required: true, message: '信息来源不能为空', trigger: ['change'] }], - caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['change'] }], - eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['change'] }], - casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['change'] }], - casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['change'] }], + source: [{ required: true, message: '信息来源不能为空', trigger: ['blur'] }], + caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['blur'] }], + eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['blur'] }], + casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['blur'] }], + casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['blur'] }], description: [{ required: true, message: '案卷描述不能为空', trigger: ['blur'] }], - fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }] + fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }], + verifyPersonId: [{ required: false, trigger: ['blur'], validator: verifyPersonValidator }] }, // 表单验证 hideUpload: false, fileList: [], - imageList: [], uploadPath: process.env.BASE_API + 'imageUpload', // 图片上传路径 dialogImageUrl: '', dialogVisible: false, @@ -353,6 +360,30 @@ this.initVerifyPerson() }, methods: { + initCaseForm: function() { + this.caseForm.reporterName = '' + this.caseForm.reporterPhone = '' + this.caseForm.isNeedVerify = '1' + this.caseForm.isNeedRevisit = '1' + this.caseForm.lng = '' + this.caseForm.lat = '' + this.caseForm.communityCode = '' + this.caseForm.communityName = '' + this.caseForm.gridId = '' + this.caseForm.componentId = '' + this.caseForm.casetypesTimeId = '' + this.caseForm.bzhours = 0 + this.caseForm.bzminis = 0 + this.caseForm.description = '' + this.caseForm.fieldintro = '' + this.caseForm.verifyPersonId = '' + this.caseForm.fileIdVerify = '' + this.caseForm.eorc = '' + this.caseForm.casetypeCode = '' + this.caseForm.casetypeDetailCode = '' + + this.$refs.upload.clearFiles() + }, initCaseSource: function() { getCaseSource().then(response => { this.caseSourceOpts = [] @@ -386,7 +417,6 @@ initVerifyPerson: function() { getVerifyPerson().then(response => { this.verifyPersonOpts = [] - console.log(response) for (const opt of response.data) { this.verifyPersonOpts.push(opt) } @@ -467,7 +497,6 @@ if (typeDetailId > 0) { getCaseTypesTime(typeDetailId).then(response => { - console.log(response) for (const opt of response.data) { this.caseTypeTimeOpts.push(opt) } @@ -544,11 +573,10 @@ this.fileList.forEach(photo => { photos += photo.url + ',' }) - this.caseForm.photos = photos.substring(0, photos.length - 1) + this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } this.$refs['dataForm'].validate((valid) => { - console.log(valid) if (valid) { addCase(this.caseForm).then(function(response) { if (response.code === 200) { @@ -557,7 +585,10 @@ type: 'success' }) - that.$router.push({ path: '/dashboard' }) + // 重新赋值 + that.initCaseForm() + + that.$router.push({ path: '/supWork' }) } else { that.$message({ message: '添加案卷失败', @@ -573,7 +604,6 @@ console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' Uploadimg(file).then(res => { - console.log(res) if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } @@ -633,7 +663,6 @@ }, handleSuccess(response, file, fileList) { console.log('handleSuccess') - console.log(response) const base_url = process.env.BASE_API + '/static/' if (response.code === 200) { this.fileList.push({ name: file.file.name, url: base_url + response.data }) diff --git a/src/views/layout/SupLayout.vue b/src/views/layout/SupLayout.vue new file mode 100644 index 0000000..5ada200 --- /dev/null +++ b/src/views/layout/SupLayout.vue @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index 1faad3f..7b4c7dd 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -22,6 +22,9 @@ + 回首页 + + 修改密码 @@ -74,6 +77,9 @@ this.showSetPwd = true this.$refs.retPwd.initDialog(true) }, + backToIndex() { + this.$router.push('/dashboard') + }, // 切换子系统 handleCommand(command) { console.log('切换子系统:' + command.name) diff --git a/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue new file mode 100644 index 0000000..806edb1 --- /dev/null +++ b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue @@ -0,0 +1,109 @@ + + + + + + + + + diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index bac9652..3e518ed 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -253,6 +253,13 @@ callback(new Error('举报人电话不能为空')) } } + const verifyPersonValidator = (rule, value, callback) => { + if (value <= 0 && this.caseForm.isNeedVerify === '1') { + callback(new Error('请选择监督员')) + } else { + callback() + } + } return { caseForm: { reporterName: '', // 举报人姓名 @@ -278,22 +285,22 @@ description: '', // 案件描述 fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id - photos: '' // 图片存储的地址 + fileIdVerify: '' // 图片存储的地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], reporterPhone: [{ required: true, trigger: ['blur'], validator: phoneValidator }], - source: [{ required: true, message: '信息来源不能为空', trigger: ['change'] }], - caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['change'] }], - eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['change'] }], - casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['change'] }], - casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['change'] }], + source: [{ required: true, message: '信息来源不能为空', trigger: ['blur'] }], + caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['blur'] }], + eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['blur'] }], + casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['blur'] }], + casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['blur'] }], description: [{ required: true, message: '案卷描述不能为空', trigger: ['blur'] }], - fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }] + fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }], + verifyPersonId: [{ required: false, trigger: ['blur'], validator: verifyPersonValidator }] }, // 表单验证 hideUpload: false, fileList: [], - imageList: [], uploadPath: process.env.BASE_API + 'imageUpload', // 图片上传路径 dialogImageUrl: '', dialogVisible: false, @@ -353,6 +360,30 @@ this.initVerifyPerson() }, methods: { + initCaseForm: function() { + this.caseForm.reporterName = '' + this.caseForm.reporterPhone = '' + this.caseForm.isNeedVerify = '1' + this.caseForm.isNeedRevisit = '1' + this.caseForm.lng = '' + this.caseForm.lat = '' + this.caseForm.communityCode = '' + this.caseForm.communityName = '' + this.caseForm.gridId = '' + this.caseForm.componentId = '' + this.caseForm.casetypesTimeId = '' + this.caseForm.bzhours = 0 + this.caseForm.bzminis = 0 + this.caseForm.description = '' + this.caseForm.fieldintro = '' + this.caseForm.verifyPersonId = '' + this.caseForm.fileIdVerify = '' + this.caseForm.eorc = '' + this.caseForm.casetypeCode = '' + this.caseForm.casetypeDetailCode = '' + + this.$refs.upload.clearFiles() + }, initCaseSource: function() { getCaseSource().then(response => { this.caseSourceOpts = [] @@ -386,7 +417,6 @@ initVerifyPerson: function() { getVerifyPerson().then(response => { this.verifyPersonOpts = [] - console.log(response) for (const opt of response.data) { this.verifyPersonOpts.push(opt) } @@ -467,7 +497,6 @@ if (typeDetailId > 0) { getCaseTypesTime(typeDetailId).then(response => { - console.log(response) for (const opt of response.data) { this.caseTypeTimeOpts.push(opt) } @@ -544,11 +573,10 @@ this.fileList.forEach(photo => { photos += photo.url + ',' }) - this.caseForm.photos = photos.substring(0, photos.length - 1) + this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } this.$refs['dataForm'].validate((valid) => { - console.log(valid) if (valid) { addCase(this.caseForm).then(function(response) { if (response.code === 200) { @@ -557,7 +585,10 @@ type: 'success' }) - that.$router.push({ path: '/dashboard' }) + // 重新赋值 + that.initCaseForm() + + that.$router.push({ path: '/supWork' }) } else { that.$message({ message: '添加案卷失败', @@ -573,7 +604,6 @@ console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' Uploadimg(file).then(res => { - console.log(res) if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } @@ -633,7 +663,6 @@ }, handleSuccess(response, file, fileList) { console.log('handleSuccess') - console.log(response) const base_url = process.env.BASE_API + '/static/' if (response.code === 200) { this.fileList.push({ name: file.file.name, url: base_url + response.data }) diff --git a/src/views/layout/SupLayout.vue b/src/views/layout/SupLayout.vue new file mode 100644 index 0000000..5ada200 --- /dev/null +++ b/src/views/layout/SupLayout.vue @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index 1faad3f..7b4c7dd 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -22,6 +22,9 @@ + 回首页 + + 修改密码 @@ -74,6 +77,9 @@ this.showSetPwd = true this.$refs.retPwd.initDialog(true) }, + backToIndex() { + this.$router.push('/dashboard') + }, // 切换子系统 handleCommand(command) { console.log('切换子系统:' + command.name) diff --git a/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue new file mode 100644 index 0000000..806edb1 --- /dev/null +++ b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue @@ -0,0 +1,109 @@ + + + + + + + + + diff --git a/src/views/otherComment/highFreq/highFreqChart.vue b/src/views/otherComment/highFreq/highFreqChart.vue index 3c62d66..5b146b1 100644 --- a/src/views/otherComment/highFreq/highFreqChart.vue +++ b/src/views/otherComment/highFreq/highFreqChart.vue @@ -43,22 +43,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index bac9652..3e518ed 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -253,6 +253,13 @@ callback(new Error('举报人电话不能为空')) } } + const verifyPersonValidator = (rule, value, callback) => { + if (value <= 0 && this.caseForm.isNeedVerify === '1') { + callback(new Error('请选择监督员')) + } else { + callback() + } + } return { caseForm: { reporterName: '', // 举报人姓名 @@ -278,22 +285,22 @@ description: '', // 案件描述 fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id - photos: '' // 图片存储的地址 + fileIdVerify: '' // 图片存储的地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], reporterPhone: [{ required: true, trigger: ['blur'], validator: phoneValidator }], - source: [{ required: true, message: '信息来源不能为空', trigger: ['change'] }], - caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['change'] }], - eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['change'] }], - casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['change'] }], - casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['change'] }], + source: [{ required: true, message: '信息来源不能为空', trigger: ['blur'] }], + caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['blur'] }], + eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['blur'] }], + casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['blur'] }], + casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['blur'] }], description: [{ required: true, message: '案卷描述不能为空', trigger: ['blur'] }], - fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }] + fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }], + verifyPersonId: [{ required: false, trigger: ['blur'], validator: verifyPersonValidator }] }, // 表单验证 hideUpload: false, fileList: [], - imageList: [], uploadPath: process.env.BASE_API + 'imageUpload', // 图片上传路径 dialogImageUrl: '', dialogVisible: false, @@ -353,6 +360,30 @@ this.initVerifyPerson() }, methods: { + initCaseForm: function() { + this.caseForm.reporterName = '' + this.caseForm.reporterPhone = '' + this.caseForm.isNeedVerify = '1' + this.caseForm.isNeedRevisit = '1' + this.caseForm.lng = '' + this.caseForm.lat = '' + this.caseForm.communityCode = '' + this.caseForm.communityName = '' + this.caseForm.gridId = '' + this.caseForm.componentId = '' + this.caseForm.casetypesTimeId = '' + this.caseForm.bzhours = 0 + this.caseForm.bzminis = 0 + this.caseForm.description = '' + this.caseForm.fieldintro = '' + this.caseForm.verifyPersonId = '' + this.caseForm.fileIdVerify = '' + this.caseForm.eorc = '' + this.caseForm.casetypeCode = '' + this.caseForm.casetypeDetailCode = '' + + this.$refs.upload.clearFiles() + }, initCaseSource: function() { getCaseSource().then(response => { this.caseSourceOpts = [] @@ -386,7 +417,6 @@ initVerifyPerson: function() { getVerifyPerson().then(response => { this.verifyPersonOpts = [] - console.log(response) for (const opt of response.data) { this.verifyPersonOpts.push(opt) } @@ -467,7 +497,6 @@ if (typeDetailId > 0) { getCaseTypesTime(typeDetailId).then(response => { - console.log(response) for (const opt of response.data) { this.caseTypeTimeOpts.push(opt) } @@ -544,11 +573,10 @@ this.fileList.forEach(photo => { photos += photo.url + ',' }) - this.caseForm.photos = photos.substring(0, photos.length - 1) + this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } this.$refs['dataForm'].validate((valid) => { - console.log(valid) if (valid) { addCase(this.caseForm).then(function(response) { if (response.code === 200) { @@ -557,7 +585,10 @@ type: 'success' }) - that.$router.push({ path: '/dashboard' }) + // 重新赋值 + that.initCaseForm() + + that.$router.push({ path: '/supWork' }) } else { that.$message({ message: '添加案卷失败', @@ -573,7 +604,6 @@ console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' Uploadimg(file).then(res => { - console.log(res) if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } @@ -633,7 +663,6 @@ }, handleSuccess(response, file, fileList) { console.log('handleSuccess') - console.log(response) const base_url = process.env.BASE_API + '/static/' if (response.code === 200) { this.fileList.push({ name: file.file.name, url: base_url + response.data }) diff --git a/src/views/layout/SupLayout.vue b/src/views/layout/SupLayout.vue new file mode 100644 index 0000000..5ada200 --- /dev/null +++ b/src/views/layout/SupLayout.vue @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index 1faad3f..7b4c7dd 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -22,6 +22,9 @@ + 回首页 + + 修改密码 @@ -74,6 +77,9 @@ this.showSetPwd = true this.$refs.retPwd.initDialog(true) }, + backToIndex() { + this.$router.push('/dashboard') + }, // 切换子系统 handleCommand(command) { console.log('切换子系统:' + command.name) diff --git a/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue new file mode 100644 index 0000000..806edb1 --- /dev/null +++ b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue @@ -0,0 +1,109 @@ + + + + + + + + + diff --git a/src/views/otherComment/highFreq/highFreqChart.vue b/src/views/otherComment/highFreq/highFreqChart.vue index 3c62d66..5b146b1 100644 --- a/src/views/otherComment/highFreq/highFreqChart.vue +++ b/src/views/otherComment/highFreq/highFreqChart.vue @@ -43,22 +43,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/views/otherComment/highFreq/highFreqChart4Sup.vue b/src/views/otherComment/highFreq/highFreqChart4Sup.vue new file mode 100644 index 0000000..9b9b25d --- /dev/null +++ b/src/views/otherComment/highFreq/highFreqChart4Sup.vue @@ -0,0 +1,106 @@ + + + + + + + + + diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index bac9652..3e518ed 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -253,6 +253,13 @@ callback(new Error('举报人电话不能为空')) } } + const verifyPersonValidator = (rule, value, callback) => { + if (value <= 0 && this.caseForm.isNeedVerify === '1') { + callback(new Error('请选择监督员')) + } else { + callback() + } + } return { caseForm: { reporterName: '', // 举报人姓名 @@ -278,22 +285,22 @@ description: '', // 案件描述 fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id - photos: '' // 图片存储的地址 + fileIdVerify: '' // 图片存储的地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], reporterPhone: [{ required: true, trigger: ['blur'], validator: phoneValidator }], - source: [{ required: true, message: '信息来源不能为空', trigger: ['change'] }], - caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['change'] }], - eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['change'] }], - casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['change'] }], - casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['change'] }], + source: [{ required: true, message: '信息来源不能为空', trigger: ['blur'] }], + caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['blur'] }], + eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['blur'] }], + casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['blur'] }], + casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['blur'] }], description: [{ required: true, message: '案卷描述不能为空', trigger: ['blur'] }], - fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }] + fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }], + verifyPersonId: [{ required: false, trigger: ['blur'], validator: verifyPersonValidator }] }, // 表单验证 hideUpload: false, fileList: [], - imageList: [], uploadPath: process.env.BASE_API + 'imageUpload', // 图片上传路径 dialogImageUrl: '', dialogVisible: false, @@ -353,6 +360,30 @@ this.initVerifyPerson() }, methods: { + initCaseForm: function() { + this.caseForm.reporterName = '' + this.caseForm.reporterPhone = '' + this.caseForm.isNeedVerify = '1' + this.caseForm.isNeedRevisit = '1' + this.caseForm.lng = '' + this.caseForm.lat = '' + this.caseForm.communityCode = '' + this.caseForm.communityName = '' + this.caseForm.gridId = '' + this.caseForm.componentId = '' + this.caseForm.casetypesTimeId = '' + this.caseForm.bzhours = 0 + this.caseForm.bzminis = 0 + this.caseForm.description = '' + this.caseForm.fieldintro = '' + this.caseForm.verifyPersonId = '' + this.caseForm.fileIdVerify = '' + this.caseForm.eorc = '' + this.caseForm.casetypeCode = '' + this.caseForm.casetypeDetailCode = '' + + this.$refs.upload.clearFiles() + }, initCaseSource: function() { getCaseSource().then(response => { this.caseSourceOpts = [] @@ -386,7 +417,6 @@ initVerifyPerson: function() { getVerifyPerson().then(response => { this.verifyPersonOpts = [] - console.log(response) for (const opt of response.data) { this.verifyPersonOpts.push(opt) } @@ -467,7 +497,6 @@ if (typeDetailId > 0) { getCaseTypesTime(typeDetailId).then(response => { - console.log(response) for (const opt of response.data) { this.caseTypeTimeOpts.push(opt) } @@ -544,11 +573,10 @@ this.fileList.forEach(photo => { photos += photo.url + ',' }) - this.caseForm.photos = photos.substring(0, photos.length - 1) + this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } this.$refs['dataForm'].validate((valid) => { - console.log(valid) if (valid) { addCase(this.caseForm).then(function(response) { if (response.code === 200) { @@ -557,7 +585,10 @@ type: 'success' }) - that.$router.push({ path: '/dashboard' }) + // 重新赋值 + that.initCaseForm() + + that.$router.push({ path: '/supWork' }) } else { that.$message({ message: '添加案卷失败', @@ -573,7 +604,6 @@ console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' Uploadimg(file).then(res => { - console.log(res) if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } @@ -633,7 +663,6 @@ }, handleSuccess(response, file, fileList) { console.log('handleSuccess') - console.log(response) const base_url = process.env.BASE_API + '/static/' if (response.code === 200) { this.fileList.push({ name: file.file.name, url: base_url + response.data }) diff --git a/src/views/layout/SupLayout.vue b/src/views/layout/SupLayout.vue new file mode 100644 index 0000000..5ada200 --- /dev/null +++ b/src/views/layout/SupLayout.vue @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index 1faad3f..7b4c7dd 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -22,6 +22,9 @@ + 回首页 + + 修改密码 @@ -74,6 +77,9 @@ this.showSetPwd = true this.$refs.retPwd.initDialog(true) }, + backToIndex() { + this.$router.push('/dashboard') + }, // 切换子系统 handleCommand(command) { console.log('切换子系统:' + command.name) diff --git a/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue new file mode 100644 index 0000000..806edb1 --- /dev/null +++ b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue @@ -0,0 +1,109 @@ + + + + + + + + + diff --git a/src/views/otherComment/highFreq/highFreqChart.vue b/src/views/otherComment/highFreq/highFreqChart.vue index 3c62d66..5b146b1 100644 --- a/src/views/otherComment/highFreq/highFreqChart.vue +++ b/src/views/otherComment/highFreq/highFreqChart.vue @@ -43,22 +43,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/views/otherComment/highFreq/highFreqChart4Sup.vue b/src/views/otherComment/highFreq/highFreqChart4Sup.vue new file mode 100644 index 0000000..9b9b25d --- /dev/null +++ b/src/views/otherComment/highFreq/highFreqChart4Sup.vue @@ -0,0 +1,106 @@ + + + + + + + + + diff --git a/src/views/otherComment/sourceStatis/sourceStatisChart.vue b/src/views/otherComment/sourceStatis/sourceStatisChart.vue index 25a7332..f4e564e 100644 --- a/src/views/otherComment/sourceStatis/sourceStatisChart.vue +++ b/src/views/otherComment/sourceStatis/sourceStatisChart.vue @@ -45,22 +45,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index bac9652..3e518ed 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -253,6 +253,13 @@ callback(new Error('举报人电话不能为空')) } } + const verifyPersonValidator = (rule, value, callback) => { + if (value <= 0 && this.caseForm.isNeedVerify === '1') { + callback(new Error('请选择监督员')) + } else { + callback() + } + } return { caseForm: { reporterName: '', // 举报人姓名 @@ -278,22 +285,22 @@ description: '', // 案件描述 fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id - photos: '' // 图片存储的地址 + fileIdVerify: '' // 图片存储的地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], reporterPhone: [{ required: true, trigger: ['blur'], validator: phoneValidator }], - source: [{ required: true, message: '信息来源不能为空', trigger: ['change'] }], - caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['change'] }], - eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['change'] }], - casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['change'] }], - casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['change'] }], + source: [{ required: true, message: '信息来源不能为空', trigger: ['blur'] }], + caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['blur'] }], + eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['blur'] }], + casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['blur'] }], + casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['blur'] }], description: [{ required: true, message: '案卷描述不能为空', trigger: ['blur'] }], - fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }] + fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }], + verifyPersonId: [{ required: false, trigger: ['blur'], validator: verifyPersonValidator }] }, // 表单验证 hideUpload: false, fileList: [], - imageList: [], uploadPath: process.env.BASE_API + 'imageUpload', // 图片上传路径 dialogImageUrl: '', dialogVisible: false, @@ -353,6 +360,30 @@ this.initVerifyPerson() }, methods: { + initCaseForm: function() { + this.caseForm.reporterName = '' + this.caseForm.reporterPhone = '' + this.caseForm.isNeedVerify = '1' + this.caseForm.isNeedRevisit = '1' + this.caseForm.lng = '' + this.caseForm.lat = '' + this.caseForm.communityCode = '' + this.caseForm.communityName = '' + this.caseForm.gridId = '' + this.caseForm.componentId = '' + this.caseForm.casetypesTimeId = '' + this.caseForm.bzhours = 0 + this.caseForm.bzminis = 0 + this.caseForm.description = '' + this.caseForm.fieldintro = '' + this.caseForm.verifyPersonId = '' + this.caseForm.fileIdVerify = '' + this.caseForm.eorc = '' + this.caseForm.casetypeCode = '' + this.caseForm.casetypeDetailCode = '' + + this.$refs.upload.clearFiles() + }, initCaseSource: function() { getCaseSource().then(response => { this.caseSourceOpts = [] @@ -386,7 +417,6 @@ initVerifyPerson: function() { getVerifyPerson().then(response => { this.verifyPersonOpts = [] - console.log(response) for (const opt of response.data) { this.verifyPersonOpts.push(opt) } @@ -467,7 +497,6 @@ if (typeDetailId > 0) { getCaseTypesTime(typeDetailId).then(response => { - console.log(response) for (const opt of response.data) { this.caseTypeTimeOpts.push(opt) } @@ -544,11 +573,10 @@ this.fileList.forEach(photo => { photos += photo.url + ',' }) - this.caseForm.photos = photos.substring(0, photos.length - 1) + this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } this.$refs['dataForm'].validate((valid) => { - console.log(valid) if (valid) { addCase(this.caseForm).then(function(response) { if (response.code === 200) { @@ -557,7 +585,10 @@ type: 'success' }) - that.$router.push({ path: '/dashboard' }) + // 重新赋值 + that.initCaseForm() + + that.$router.push({ path: '/supWork' }) } else { that.$message({ message: '添加案卷失败', @@ -573,7 +604,6 @@ console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' Uploadimg(file).then(res => { - console.log(res) if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } @@ -633,7 +663,6 @@ }, handleSuccess(response, file, fileList) { console.log('handleSuccess') - console.log(response) const base_url = process.env.BASE_API + '/static/' if (response.code === 200) { this.fileList.push({ name: file.file.name, url: base_url + response.data }) diff --git a/src/views/layout/SupLayout.vue b/src/views/layout/SupLayout.vue new file mode 100644 index 0000000..5ada200 --- /dev/null +++ b/src/views/layout/SupLayout.vue @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index 1faad3f..7b4c7dd 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -22,6 +22,9 @@ + 回首页 + + 修改密码 @@ -74,6 +77,9 @@ this.showSetPwd = true this.$refs.retPwd.initDialog(true) }, + backToIndex() { + this.$router.push('/dashboard') + }, // 切换子系统 handleCommand(command) { console.log('切换子系统:' + command.name) diff --git a/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue new file mode 100644 index 0000000..806edb1 --- /dev/null +++ b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue @@ -0,0 +1,109 @@ + + + + + + + + + diff --git a/src/views/otherComment/highFreq/highFreqChart.vue b/src/views/otherComment/highFreq/highFreqChart.vue index 3c62d66..5b146b1 100644 --- a/src/views/otherComment/highFreq/highFreqChart.vue +++ b/src/views/otherComment/highFreq/highFreqChart.vue @@ -43,22 +43,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/views/otherComment/highFreq/highFreqChart4Sup.vue b/src/views/otherComment/highFreq/highFreqChart4Sup.vue new file mode 100644 index 0000000..9b9b25d --- /dev/null +++ b/src/views/otherComment/highFreq/highFreqChart4Sup.vue @@ -0,0 +1,106 @@ + + + + + + + + + diff --git a/src/views/otherComment/sourceStatis/sourceStatisChart.vue b/src/views/otherComment/sourceStatis/sourceStatisChart.vue index 25a7332..f4e564e 100644 --- a/src/views/otherComment/sourceStatis/sourceStatisChart.vue +++ b/src/views/otherComment/sourceStatis/sourceStatisChart.vue @@ -45,22 +45,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue b/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue new file mode 100644 index 0000000..18aefe5 --- /dev/null +++ b/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue @@ -0,0 +1,103 @@ + + + + + + + + + diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index bac9652..3e518ed 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -253,6 +253,13 @@ callback(new Error('举报人电话不能为空')) } } + const verifyPersonValidator = (rule, value, callback) => { + if (value <= 0 && this.caseForm.isNeedVerify === '1') { + callback(new Error('请选择监督员')) + } else { + callback() + } + } return { caseForm: { reporterName: '', // 举报人姓名 @@ -278,22 +285,22 @@ description: '', // 案件描述 fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id - photos: '' // 图片存储的地址 + fileIdVerify: '' // 图片存储的地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], reporterPhone: [{ required: true, trigger: ['blur'], validator: phoneValidator }], - source: [{ required: true, message: '信息来源不能为空', trigger: ['change'] }], - caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['change'] }], - eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['change'] }], - casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['change'] }], - casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['change'] }], + source: [{ required: true, message: '信息来源不能为空', trigger: ['blur'] }], + caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['blur'] }], + eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['blur'] }], + casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['blur'] }], + casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['blur'] }], description: [{ required: true, message: '案卷描述不能为空', trigger: ['blur'] }], - fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }] + fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }], + verifyPersonId: [{ required: false, trigger: ['blur'], validator: verifyPersonValidator }] }, // 表单验证 hideUpload: false, fileList: [], - imageList: [], uploadPath: process.env.BASE_API + 'imageUpload', // 图片上传路径 dialogImageUrl: '', dialogVisible: false, @@ -353,6 +360,30 @@ this.initVerifyPerson() }, methods: { + initCaseForm: function() { + this.caseForm.reporterName = '' + this.caseForm.reporterPhone = '' + this.caseForm.isNeedVerify = '1' + this.caseForm.isNeedRevisit = '1' + this.caseForm.lng = '' + this.caseForm.lat = '' + this.caseForm.communityCode = '' + this.caseForm.communityName = '' + this.caseForm.gridId = '' + this.caseForm.componentId = '' + this.caseForm.casetypesTimeId = '' + this.caseForm.bzhours = 0 + this.caseForm.bzminis = 0 + this.caseForm.description = '' + this.caseForm.fieldintro = '' + this.caseForm.verifyPersonId = '' + this.caseForm.fileIdVerify = '' + this.caseForm.eorc = '' + this.caseForm.casetypeCode = '' + this.caseForm.casetypeDetailCode = '' + + this.$refs.upload.clearFiles() + }, initCaseSource: function() { getCaseSource().then(response => { this.caseSourceOpts = [] @@ -386,7 +417,6 @@ initVerifyPerson: function() { getVerifyPerson().then(response => { this.verifyPersonOpts = [] - console.log(response) for (const opt of response.data) { this.verifyPersonOpts.push(opt) } @@ -467,7 +497,6 @@ if (typeDetailId > 0) { getCaseTypesTime(typeDetailId).then(response => { - console.log(response) for (const opt of response.data) { this.caseTypeTimeOpts.push(opt) } @@ -544,11 +573,10 @@ this.fileList.forEach(photo => { photos += photo.url + ',' }) - this.caseForm.photos = photos.substring(0, photos.length - 1) + this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } this.$refs['dataForm'].validate((valid) => { - console.log(valid) if (valid) { addCase(this.caseForm).then(function(response) { if (response.code === 200) { @@ -557,7 +585,10 @@ type: 'success' }) - that.$router.push({ path: '/dashboard' }) + // 重新赋值 + that.initCaseForm() + + that.$router.push({ path: '/supWork' }) } else { that.$message({ message: '添加案卷失败', @@ -573,7 +604,6 @@ console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' Uploadimg(file).then(res => { - console.log(res) if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } @@ -633,7 +663,6 @@ }, handleSuccess(response, file, fileList) { console.log('handleSuccess') - console.log(response) const base_url = process.env.BASE_API + '/static/' if (response.code === 200) { this.fileList.push({ name: file.file.name, url: base_url + response.data }) diff --git a/src/views/layout/SupLayout.vue b/src/views/layout/SupLayout.vue new file mode 100644 index 0000000..5ada200 --- /dev/null +++ b/src/views/layout/SupLayout.vue @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index 1faad3f..7b4c7dd 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -22,6 +22,9 @@ + 回首页 + + 修改密码 @@ -74,6 +77,9 @@ this.showSetPwd = true this.$refs.retPwd.initDialog(true) }, + backToIndex() { + this.$router.push('/dashboard') + }, // 切换子系统 handleCommand(command) { console.log('切换子系统:' + command.name) diff --git a/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue new file mode 100644 index 0000000..806edb1 --- /dev/null +++ b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue @@ -0,0 +1,109 @@ + + + + + + + + + diff --git a/src/views/otherComment/highFreq/highFreqChart.vue b/src/views/otherComment/highFreq/highFreqChart.vue index 3c62d66..5b146b1 100644 --- a/src/views/otherComment/highFreq/highFreqChart.vue +++ b/src/views/otherComment/highFreq/highFreqChart.vue @@ -43,22 +43,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/views/otherComment/highFreq/highFreqChart4Sup.vue b/src/views/otherComment/highFreq/highFreqChart4Sup.vue new file mode 100644 index 0000000..9b9b25d --- /dev/null +++ b/src/views/otherComment/highFreq/highFreqChart4Sup.vue @@ -0,0 +1,106 @@ + + + + + + + + + diff --git a/src/views/otherComment/sourceStatis/sourceStatisChart.vue b/src/views/otherComment/sourceStatis/sourceStatisChart.vue index 25a7332..f4e564e 100644 --- a/src/views/otherComment/sourceStatis/sourceStatisChart.vue +++ b/src/views/otherComment/sourceStatis/sourceStatisChart.vue @@ -45,22 +45,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue b/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue new file mode 100644 index 0000000..18aefe5 --- /dev/null +++ b/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue @@ -0,0 +1,103 @@ + + + + + + + + + diff --git a/src/views/supControl/supControl.vue b/src/views/supControl/supControl.vue index 2f5d520..6859f75 100644 --- a/src/views/supControl/supControl.vue +++ b/src/views/supControl/supControl.vue @@ -1,63 +1,93 @@ - - - - 案卷 - 人员 - 部件 - + + + + + + + + + + + 案卷 + 人员 + 部件 + + + + + + + + + + + + + + + + + + 是否超期 + + 全部 + 超期 + 未超期 + + + + + + + + + + + + 监督员 + 处置员 + + + + + + + + + + + + + + + 部件小类 + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index bac9652..3e518ed 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -253,6 +253,13 @@ callback(new Error('举报人电话不能为空')) } } + const verifyPersonValidator = (rule, value, callback) => { + if (value <= 0 && this.caseForm.isNeedVerify === '1') { + callback(new Error('请选择监督员')) + } else { + callback() + } + } return { caseForm: { reporterName: '', // 举报人姓名 @@ -278,22 +285,22 @@ description: '', // 案件描述 fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id - photos: '' // 图片存储的地址 + fileIdVerify: '' // 图片存储的地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], reporterPhone: [{ required: true, trigger: ['blur'], validator: phoneValidator }], - source: [{ required: true, message: '信息来源不能为空', trigger: ['change'] }], - caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['change'] }], - eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['change'] }], - casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['change'] }], - casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['change'] }], + source: [{ required: true, message: '信息来源不能为空', trigger: ['blur'] }], + caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['blur'] }], + eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['blur'] }], + casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['blur'] }], + casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['blur'] }], description: [{ required: true, message: '案卷描述不能为空', trigger: ['blur'] }], - fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }] + fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }], + verifyPersonId: [{ required: false, trigger: ['blur'], validator: verifyPersonValidator }] }, // 表单验证 hideUpload: false, fileList: [], - imageList: [], uploadPath: process.env.BASE_API + 'imageUpload', // 图片上传路径 dialogImageUrl: '', dialogVisible: false, @@ -353,6 +360,30 @@ this.initVerifyPerson() }, methods: { + initCaseForm: function() { + this.caseForm.reporterName = '' + this.caseForm.reporterPhone = '' + this.caseForm.isNeedVerify = '1' + this.caseForm.isNeedRevisit = '1' + this.caseForm.lng = '' + this.caseForm.lat = '' + this.caseForm.communityCode = '' + this.caseForm.communityName = '' + this.caseForm.gridId = '' + this.caseForm.componentId = '' + this.caseForm.casetypesTimeId = '' + this.caseForm.bzhours = 0 + this.caseForm.bzminis = 0 + this.caseForm.description = '' + this.caseForm.fieldintro = '' + this.caseForm.verifyPersonId = '' + this.caseForm.fileIdVerify = '' + this.caseForm.eorc = '' + this.caseForm.casetypeCode = '' + this.caseForm.casetypeDetailCode = '' + + this.$refs.upload.clearFiles() + }, initCaseSource: function() { getCaseSource().then(response => { this.caseSourceOpts = [] @@ -386,7 +417,6 @@ initVerifyPerson: function() { getVerifyPerson().then(response => { this.verifyPersonOpts = [] - console.log(response) for (const opt of response.data) { this.verifyPersonOpts.push(opt) } @@ -467,7 +497,6 @@ if (typeDetailId > 0) { getCaseTypesTime(typeDetailId).then(response => { - console.log(response) for (const opt of response.data) { this.caseTypeTimeOpts.push(opt) } @@ -544,11 +573,10 @@ this.fileList.forEach(photo => { photos += photo.url + ',' }) - this.caseForm.photos = photos.substring(0, photos.length - 1) + this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } this.$refs['dataForm'].validate((valid) => { - console.log(valid) if (valid) { addCase(this.caseForm).then(function(response) { if (response.code === 200) { @@ -557,7 +585,10 @@ type: 'success' }) - that.$router.push({ path: '/dashboard' }) + // 重新赋值 + that.initCaseForm() + + that.$router.push({ path: '/supWork' }) } else { that.$message({ message: '添加案卷失败', @@ -573,7 +604,6 @@ console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' Uploadimg(file).then(res => { - console.log(res) if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } @@ -633,7 +663,6 @@ }, handleSuccess(response, file, fileList) { console.log('handleSuccess') - console.log(response) const base_url = process.env.BASE_API + '/static/' if (response.code === 200) { this.fileList.push({ name: file.file.name, url: base_url + response.data }) diff --git a/src/views/layout/SupLayout.vue b/src/views/layout/SupLayout.vue new file mode 100644 index 0000000..5ada200 --- /dev/null +++ b/src/views/layout/SupLayout.vue @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index 1faad3f..7b4c7dd 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -22,6 +22,9 @@ + 回首页 + + 修改密码 @@ -74,6 +77,9 @@ this.showSetPwd = true this.$refs.retPwd.initDialog(true) }, + backToIndex() { + this.$router.push('/dashboard') + }, // 切换子系统 handleCommand(command) { console.log('切换子系统:' + command.name) diff --git a/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue new file mode 100644 index 0000000..806edb1 --- /dev/null +++ b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue @@ -0,0 +1,109 @@ + + + + + + + + + diff --git a/src/views/otherComment/highFreq/highFreqChart.vue b/src/views/otherComment/highFreq/highFreqChart.vue index 3c62d66..5b146b1 100644 --- a/src/views/otherComment/highFreq/highFreqChart.vue +++ b/src/views/otherComment/highFreq/highFreqChart.vue @@ -43,22 +43,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/views/otherComment/highFreq/highFreqChart4Sup.vue b/src/views/otherComment/highFreq/highFreqChart4Sup.vue new file mode 100644 index 0000000..9b9b25d --- /dev/null +++ b/src/views/otherComment/highFreq/highFreqChart4Sup.vue @@ -0,0 +1,106 @@ + + + + + + + + + diff --git a/src/views/otherComment/sourceStatis/sourceStatisChart.vue b/src/views/otherComment/sourceStatis/sourceStatisChart.vue index 25a7332..f4e564e 100644 --- a/src/views/otherComment/sourceStatis/sourceStatisChart.vue +++ b/src/views/otherComment/sourceStatis/sourceStatisChart.vue @@ -45,22 +45,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue b/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue new file mode 100644 index 0000000..18aefe5 --- /dev/null +++ b/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue @@ -0,0 +1,103 @@ + + + + + + + + + diff --git a/src/views/supControl/supControl.vue b/src/views/supControl/supControl.vue index 2f5d520..6859f75 100644 --- a/src/views/supControl/supControl.vue +++ b/src/views/supControl/supControl.vue @@ -1,63 +1,93 @@ - - - - 案卷 - 人员 - 部件 - + + + + + + + + + + + 案卷 + 人员 + 部件 + + + + + + + + + + + + + + + + + + 是否超期 + + 全部 + 超期 + 未超期 + + + + + + + + + + + + 监督员 + 处置员 + + + + + + + + + + + + + + + 部件小类 + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/views/supControl/supStatisPanel.vue b/src/views/supControl/supStatisPanel.vue new file mode 100644 index 0000000..85934ef --- /dev/null +++ b/src/views/supControl/supStatisPanel.vue @@ -0,0 +1,299 @@ + + + + + 案卷情况 + + + + + + + 本月 + 前三月 + 前半年 + 前一年 + + + + + + + + 立案 + 件 + + + + + + 本日立案 + 件 + + + + + + + + 处理率 + % + + + + + + 未处理 + 件 + + + + + + + + 高发问题统计 + + + + + + + + + + + + + 各单位处置情况 + + + + + + + + + + + + + 问题来源统计 + + + + + + + + + + + + + + + diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index bac9652..3e518ed 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -253,6 +253,13 @@ callback(new Error('举报人电话不能为空')) } } + const verifyPersonValidator = (rule, value, callback) => { + if (value <= 0 && this.caseForm.isNeedVerify === '1') { + callback(new Error('请选择监督员')) + } else { + callback() + } + } return { caseForm: { reporterName: '', // 举报人姓名 @@ -278,22 +285,22 @@ description: '', // 案件描述 fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id - photos: '' // 图片存储的地址 + fileIdVerify: '' // 图片存储的地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], reporterPhone: [{ required: true, trigger: ['blur'], validator: phoneValidator }], - source: [{ required: true, message: '信息来源不能为空', trigger: ['change'] }], - caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['change'] }], - eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['change'] }], - casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['change'] }], - casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['change'] }], + source: [{ required: true, message: '信息来源不能为空', trigger: ['blur'] }], + caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['blur'] }], + eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['blur'] }], + casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['blur'] }], + casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['blur'] }], description: [{ required: true, message: '案卷描述不能为空', trigger: ['blur'] }], - fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }] + fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }], + verifyPersonId: [{ required: false, trigger: ['blur'], validator: verifyPersonValidator }] }, // 表单验证 hideUpload: false, fileList: [], - imageList: [], uploadPath: process.env.BASE_API + 'imageUpload', // 图片上传路径 dialogImageUrl: '', dialogVisible: false, @@ -353,6 +360,30 @@ this.initVerifyPerson() }, methods: { + initCaseForm: function() { + this.caseForm.reporterName = '' + this.caseForm.reporterPhone = '' + this.caseForm.isNeedVerify = '1' + this.caseForm.isNeedRevisit = '1' + this.caseForm.lng = '' + this.caseForm.lat = '' + this.caseForm.communityCode = '' + this.caseForm.communityName = '' + this.caseForm.gridId = '' + this.caseForm.componentId = '' + this.caseForm.casetypesTimeId = '' + this.caseForm.bzhours = 0 + this.caseForm.bzminis = 0 + this.caseForm.description = '' + this.caseForm.fieldintro = '' + this.caseForm.verifyPersonId = '' + this.caseForm.fileIdVerify = '' + this.caseForm.eorc = '' + this.caseForm.casetypeCode = '' + this.caseForm.casetypeDetailCode = '' + + this.$refs.upload.clearFiles() + }, initCaseSource: function() { getCaseSource().then(response => { this.caseSourceOpts = [] @@ -386,7 +417,6 @@ initVerifyPerson: function() { getVerifyPerson().then(response => { this.verifyPersonOpts = [] - console.log(response) for (const opt of response.data) { this.verifyPersonOpts.push(opt) } @@ -467,7 +497,6 @@ if (typeDetailId > 0) { getCaseTypesTime(typeDetailId).then(response => { - console.log(response) for (const opt of response.data) { this.caseTypeTimeOpts.push(opt) } @@ -544,11 +573,10 @@ this.fileList.forEach(photo => { photos += photo.url + ',' }) - this.caseForm.photos = photos.substring(0, photos.length - 1) + this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } this.$refs['dataForm'].validate((valid) => { - console.log(valid) if (valid) { addCase(this.caseForm).then(function(response) { if (response.code === 200) { @@ -557,7 +585,10 @@ type: 'success' }) - that.$router.push({ path: '/dashboard' }) + // 重新赋值 + that.initCaseForm() + + that.$router.push({ path: '/supWork' }) } else { that.$message({ message: '添加案卷失败', @@ -573,7 +604,6 @@ console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' Uploadimg(file).then(res => { - console.log(res) if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } @@ -633,7 +663,6 @@ }, handleSuccess(response, file, fileList) { console.log('handleSuccess') - console.log(response) const base_url = process.env.BASE_API + '/static/' if (response.code === 200) { this.fileList.push({ name: file.file.name, url: base_url + response.data }) diff --git a/src/views/layout/SupLayout.vue b/src/views/layout/SupLayout.vue new file mode 100644 index 0000000..5ada200 --- /dev/null +++ b/src/views/layout/SupLayout.vue @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index 1faad3f..7b4c7dd 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -22,6 +22,9 @@ + 回首页 + + 修改密码 @@ -74,6 +77,9 @@ this.showSetPwd = true this.$refs.retPwd.initDialog(true) }, + backToIndex() { + this.$router.push('/dashboard') + }, // 切换子系统 handleCommand(command) { console.log('切换子系统:' + command.name) diff --git a/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue new file mode 100644 index 0000000..806edb1 --- /dev/null +++ b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue @@ -0,0 +1,109 @@ + + + + + + + + + diff --git a/src/views/otherComment/highFreq/highFreqChart.vue b/src/views/otherComment/highFreq/highFreqChart.vue index 3c62d66..5b146b1 100644 --- a/src/views/otherComment/highFreq/highFreqChart.vue +++ b/src/views/otherComment/highFreq/highFreqChart.vue @@ -43,22 +43,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/views/otherComment/highFreq/highFreqChart4Sup.vue b/src/views/otherComment/highFreq/highFreqChart4Sup.vue new file mode 100644 index 0000000..9b9b25d --- /dev/null +++ b/src/views/otherComment/highFreq/highFreqChart4Sup.vue @@ -0,0 +1,106 @@ + + + + + + + + + diff --git a/src/views/otherComment/sourceStatis/sourceStatisChart.vue b/src/views/otherComment/sourceStatis/sourceStatisChart.vue index 25a7332..f4e564e 100644 --- a/src/views/otherComment/sourceStatis/sourceStatisChart.vue +++ b/src/views/otherComment/sourceStatis/sourceStatisChart.vue @@ -45,22 +45,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue b/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue new file mode 100644 index 0000000..18aefe5 --- /dev/null +++ b/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue @@ -0,0 +1,103 @@ + + + + + + + + + diff --git a/src/views/supControl/supControl.vue b/src/views/supControl/supControl.vue index 2f5d520..6859f75 100644 --- a/src/views/supControl/supControl.vue +++ b/src/views/supControl/supControl.vue @@ -1,63 +1,93 @@ - - - - 案卷 - 人员 - 部件 - + + + + + + + + + + + 案卷 + 人员 + 部件 + + + + + + + + + + + + + + + + + + 是否超期 + + 全部 + 超期 + 未超期 + + + + + + + + + + + + 监督员 + 处置员 + + + + + + + + + + + + + + + 部件小类 + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/views/supControl/supStatisPanel.vue b/src/views/supControl/supStatisPanel.vue new file mode 100644 index 0000000..85934ef --- /dev/null +++ b/src/views/supControl/supStatisPanel.vue @@ -0,0 +1,299 @@ + + + + + 案卷情况 + + + + + + + 本月 + 前三月 + 前半年 + 前一年 + + + + + + + + 立案 + 件 + + + + + + 本日立案 + 件 + + + + + + + + 处理率 + % + + + + + + 未处理 + 件 + + + + + + + + 高发问题统计 + + + + + + + + + + + + + 各单位处置情况 + + + + + + + + + + + + + 问题来源统计 + + + + + + + + + + + + + + + diff --git a/static/images/case/status_dealing.png b/static/images/case/status_dealing.png new file mode 100644 index 0000000..f553650 --- /dev/null +++ b/static/images/case/status_dealing.png Binary files differ diff --git a/src/api/assess/assessDept.js b/src/api/assess/assessDept.js index 26c8862..408742d 100644 --- a/src/api/assess/assessDept.js +++ b/src/api/assess/assessDept.js @@ -51,6 +51,15 @@ }) } +// 高发问题按大类统计 +export function highCaseEventList(params) { + return request({ + url: '/departmentAssess/highCaseEventList', + method: 'get', + params + }) +} + // 高发问题文件导出 export function exportAssessHighEvent(params) { return request({ diff --git a/src/api/common.js b/src/api/common.js index 56e4831..5192da3 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -18,7 +18,7 @@ const param = new FormData() param.append('file', fileobj.file) return request({ - url: 'imageUpload', + url: 'fileUpload', method: 'post', headers: { 'Content-Type': 'multipart/form-data' }, data: param diff --git a/src/components/Map/arcgisMap.vue b/src/components/Map/arcgisMap.vue index 910e58f..028986c 100644 --- a/src/components/Map/arcgisMap.vue +++ b/src/components/Map/arcgisMap.vue @@ -179,6 +179,7 @@ center: [116.597, 28.24], // 初始显示的地图中心点,经纬度 zoom: 3 // 当前地图缩放等级 }) + this.view.ui._removeComponents(['zoom']) const that = this this.view.on('click', function(event) { @@ -217,8 +218,10 @@ query.units = 'meters' query.returnGeometry = true query.outFields = ['BGID', 'COMMUID', 'COMMUNAME'] + console.log(that.layers.dx2wGrid) that.layers.dx2wGrid.queryFeatures(query) .then(function(response) { + console.log(response) const result = response.features[0].attributes // 赋值 @@ -334,7 +337,7 @@ id: 'dxbjMph' }) this.layers.dx2wGrid = new this.esriObj.FeatureLayer({ - url: serverConfig.mapUrlBase + '/1', + url: serverConfig.mapUrlBase + '/6', id: 'gridLayer' }) @@ -513,8 +516,8 @@ diff --git a/src/views/callCase/callCase.vue b/src/views/callCase/callCase.vue index bac9652..3e518ed 100644 --- a/src/views/callCase/callCase.vue +++ b/src/views/callCase/callCase.vue @@ -253,6 +253,13 @@ callback(new Error('举报人电话不能为空')) } } + const verifyPersonValidator = (rule, value, callback) => { + if (value <= 0 && this.caseForm.isNeedVerify === '1') { + callback(new Error('请选择监督员')) + } else { + callback() + } + } return { caseForm: { reporterName: '', // 举报人姓名 @@ -278,22 +285,22 @@ description: '', // 案件描述 fieldintro: '', // 位置描述 verifyPersonId: '', // 核实人员id - photos: '' // 图片存储的地址 + fileIdVerify: '' // 图片存储的地址 }, // 表单 rules: { reporterName: [{ required: true, message: '举报人姓名不能为空', trigger: ['blur'] }], reporterPhone: [{ required: true, trigger: ['blur'], validator: phoneValidator }], - source: [{ required: true, message: '信息来源不能为空', trigger: ['change'] }], - caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['change'] }], - eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['change'] }], - casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['change'] }], - casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['change'] }], + source: [{ required: true, message: '信息来源不能为空', trigger: ['blur'] }], + caseLevel: [{ required: true, message: '案卷等级不能为空', trigger: ['blur'] }], + eorc: [{ required: true, message: '案卷类别不能为空', trigger: ['blur'] }], + casetypeCode: [{ required: true, message: '案卷大类不能为空', trigger: ['blur'] }], + casetypeDetailCode: [{ required: true, message: '案卷小类不能为空', trigger: ['blur'] }], description: [{ required: true, message: '案卷描述不能为空', trigger: ['blur'] }], - fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }] + fieldintro: [{ required: true, message: '位置描述不能为空', trigger: ['blur'] }], + verifyPersonId: [{ required: false, trigger: ['blur'], validator: verifyPersonValidator }] }, // 表单验证 hideUpload: false, fileList: [], - imageList: [], uploadPath: process.env.BASE_API + 'imageUpload', // 图片上传路径 dialogImageUrl: '', dialogVisible: false, @@ -353,6 +360,30 @@ this.initVerifyPerson() }, methods: { + initCaseForm: function() { + this.caseForm.reporterName = '' + this.caseForm.reporterPhone = '' + this.caseForm.isNeedVerify = '1' + this.caseForm.isNeedRevisit = '1' + this.caseForm.lng = '' + this.caseForm.lat = '' + this.caseForm.communityCode = '' + this.caseForm.communityName = '' + this.caseForm.gridId = '' + this.caseForm.componentId = '' + this.caseForm.casetypesTimeId = '' + this.caseForm.bzhours = 0 + this.caseForm.bzminis = 0 + this.caseForm.description = '' + this.caseForm.fieldintro = '' + this.caseForm.verifyPersonId = '' + this.caseForm.fileIdVerify = '' + this.caseForm.eorc = '' + this.caseForm.casetypeCode = '' + this.caseForm.casetypeDetailCode = '' + + this.$refs.upload.clearFiles() + }, initCaseSource: function() { getCaseSource().then(response => { this.caseSourceOpts = [] @@ -386,7 +417,6 @@ initVerifyPerson: function() { getVerifyPerson().then(response => { this.verifyPersonOpts = [] - console.log(response) for (const opt of response.data) { this.verifyPersonOpts.push(opt) } @@ -467,7 +497,6 @@ if (typeDetailId > 0) { getCaseTypesTime(typeDetailId).then(response => { - console.log(response) for (const opt of response.data) { this.caseTypeTimeOpts.push(opt) } @@ -544,11 +573,10 @@ this.fileList.forEach(photo => { photos += photo.url + ',' }) - this.caseForm.photos = photos.substring(0, photos.length - 1) + this.caseForm.fileIdVerify = photos.substring(0, photos.length - 1) } this.$refs['dataForm'].validate((valid) => { - console.log(valid) if (valid) { addCase(this.caseForm).then(function(response) { if (response.code === 200) { @@ -557,7 +585,10 @@ type: 'success' }) - that.$router.push({ path: '/dashboard' }) + // 重新赋值 + that.initCaseForm() + + that.$router.push({ path: '/supWork' }) } else { that.$message({ message: '添加案卷失败', @@ -573,7 +604,6 @@ console.log('uploadFile:' + file.file.name) // const base_url = process.env.BASE_API + '/static/' Uploadimg(file).then(res => { - console.log(res) if (res.code === 200) { this.fileList.push({ name: file.file.name, url: res.data }) } @@ -633,7 +663,6 @@ }, handleSuccess(response, file, fileList) { console.log('handleSuccess') - console.log(response) const base_url = process.env.BASE_API + '/static/' if (response.code === 200) { this.fileList.push({ name: file.file.name, url: base_url + response.data }) diff --git a/src/views/layout/SupLayout.vue b/src/views/layout/SupLayout.vue new file mode 100644 index 0000000..5ada200 --- /dev/null +++ b/src/views/layout/SupLayout.vue @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/views/layout/components/AppHeader.vue b/src/views/layout/components/AppHeader.vue index 1faad3f..7b4c7dd 100644 --- a/src/views/layout/components/AppHeader.vue +++ b/src/views/layout/components/AppHeader.vue @@ -22,6 +22,9 @@ + 回首页 + + 修改密码 @@ -74,6 +77,9 @@ this.showSetPwd = true this.$refs.retPwd.initDialog(true) }, + backToIndex() { + this.$router.push('/dashboard') + }, // 切换子系统 handleCommand(command) { console.log('切换子系统:' + command.name) diff --git a/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue new file mode 100644 index 0000000..806edb1 --- /dev/null +++ b/src/views/otherComment/deptHandle/deptHandleChart4Sup.vue @@ -0,0 +1,109 @@ + + + + + + + + + diff --git a/src/views/otherComment/highFreq/highFreqChart.vue b/src/views/otherComment/highFreq/highFreqChart.vue index 3c62d66..5b146b1 100644 --- a/src/views/otherComment/highFreq/highFreqChart.vue +++ b/src/views/otherComment/highFreq/highFreqChart.vue @@ -43,22 +43,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/views/otherComment/highFreq/highFreqChart4Sup.vue b/src/views/otherComment/highFreq/highFreqChart4Sup.vue new file mode 100644 index 0000000..9b9b25d --- /dev/null +++ b/src/views/otherComment/highFreq/highFreqChart4Sup.vue @@ -0,0 +1,106 @@ + + + + + + + + + diff --git a/src/views/otherComment/sourceStatis/sourceStatisChart.vue b/src/views/otherComment/sourceStatis/sourceStatisChart.vue index 25a7332..f4e564e 100644 --- a/src/views/otherComment/sourceStatis/sourceStatisChart.vue +++ b/src/views/otherComment/sourceStatis/sourceStatisChart.vue @@ -45,22 +45,22 @@ tooltip: { show: true }, - // toolbox: { - // show: true, - // right: '20', - // feature: { - // saveAsImage: { - // show: true - // } - // } - // }, - // color: [ - // '#19d4ae', '#5ab1ef', '#fa6e86', - // '#ffb980', '#0067a6', '#c4b4e4', - // '#d87a80', '#9cbbff', '#d9d0c7', - // '#87a997', '#d49ea2', '#5b4947', - // '#7ba3a8' - // ], + toolbox: { + show: true, + right: '20', + feature: { + saveAsImage: { + show: true + } + } + }, + color: [ + '#19d4ae', '#5ab1ef', '#fa6e86', + '#ffb980', '#0067a6', '#c4b4e4', + '#d87a80', '#9cbbff', '#d9d0c7', + '#87a997', '#d49ea2', '#5b4947', + '#7ba3a8' + ], legend: { orient: 'vertical', right: 0, diff --git a/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue b/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue new file mode 100644 index 0000000..18aefe5 --- /dev/null +++ b/src/views/otherComment/sourceStatis/sourceStatisChart4Sup.vue @@ -0,0 +1,103 @@ + + + + + + + + + diff --git a/src/views/supControl/supControl.vue b/src/views/supControl/supControl.vue index 2f5d520..6859f75 100644 --- a/src/views/supControl/supControl.vue +++ b/src/views/supControl/supControl.vue @@ -1,63 +1,93 @@ - - - - 案卷 - 人员 - 部件 - + + + + + + + + + + + 案卷 + 人员 + 部件 + + + + + + + + + + + + + + + + + + 是否超期 + + 全部 + 超期 + 未超期 + + + + + + + + + + + + 监督员 + 处置员 + + + + + + + + + + + + + + + 部件小类 + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/views/supControl/supStatisPanel.vue b/src/views/supControl/supStatisPanel.vue new file mode 100644 index 0000000..85934ef --- /dev/null +++ b/src/views/supControl/supStatisPanel.vue @@ -0,0 +1,299 @@ + + + + + 案卷情况 + + + + + + + 本月 + 前三月 + 前半年 + 前一年 + + + + + + + + 立案 + 件 + + + + + + 本日立案 + 件 + + + + + + + + 处理率 + % + + + + + + 未处理 + 件 + + + + + + + + 高发问题统计 + + + + + + + + + + + + + 各单位处置情况 + + + + + + + + + + + + + 问题来源统计 + + + + + + + + + + + + + + + diff --git a/static/images/case/status_dealing.png b/static/images/case/status_dealing.png new file mode 100644 index 0000000..f553650 --- /dev/null +++ b/static/images/case/status_dealing.png Binary files differ diff --git a/static/images/case/status_done.png b/static/images/case/status_done.png new file mode 100644 index 0000000..9b3ecb8 --- /dev/null +++ b/static/images/case/status_done.png Binary files differ