diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/DictAdmin/dictList.vue b/src/views/busAdmin/DictAdmin/dictList.vue new file mode 100644 index 0000000..e951d4a --- /dev/null +++ b/src/views/busAdmin/DictAdmin/dictList.vue @@ -0,0 +1,16 @@ + + + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/DictAdmin/dictList.vue b/src/views/busAdmin/DictAdmin/dictList.vue new file mode 100644 index 0000000..e951d4a --- /dev/null +++ b/src/views/busAdmin/DictAdmin/dictList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/TimeLimit/detailTimeLimit.vue b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue new file mode 100644 index 0000000..08edce0 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/DictAdmin/dictList.vue b/src/views/busAdmin/DictAdmin/dictList.vue new file mode 100644 index 0000000..e951d4a --- /dev/null +++ b/src/views/busAdmin/DictAdmin/dictList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/TimeLimit/detailTimeLimit.vue b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue new file mode 100644 index 0000000..08edce0 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/editTimeLimit.vue b/src/views/busAdmin/TimeLimit/editTimeLimit.vue new file mode 100644 index 0000000..37046da --- /dev/null +++ b/src/views/busAdmin/TimeLimit/editTimeLimit.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/DictAdmin/dictList.vue b/src/views/busAdmin/DictAdmin/dictList.vue new file mode 100644 index 0000000..e951d4a --- /dev/null +++ b/src/views/busAdmin/DictAdmin/dictList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/TimeLimit/detailTimeLimit.vue b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue new file mode 100644 index 0000000..08edce0 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/editTimeLimit.vue b/src/views/busAdmin/TimeLimit/editTimeLimit.vue new file mode 100644 index 0000000..37046da --- /dev/null +++ b/src/views/busAdmin/TimeLimit/editTimeLimit.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/listTimeLimit.vue b/src/views/busAdmin/TimeLimit/listTimeLimit.vue new file mode 100644 index 0000000..27fdb68 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/listTimeLimit.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/DictAdmin/dictList.vue b/src/views/busAdmin/DictAdmin/dictList.vue new file mode 100644 index 0000000..e951d4a --- /dev/null +++ b/src/views/busAdmin/DictAdmin/dictList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/TimeLimit/detailTimeLimit.vue b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue new file mode 100644 index 0000000..08edce0 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/editTimeLimit.vue b/src/views/busAdmin/TimeLimit/editTimeLimit.vue new file mode 100644 index 0000000..37046da --- /dev/null +++ b/src/views/busAdmin/TimeLimit/editTimeLimit.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/listTimeLimit.vue b/src/views/busAdmin/TimeLimit/listTimeLimit.vue new file mode 100644 index 0000000..27fdb68 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/listTimeLimit.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/busAdmin/areaAdmin/areaAdminList.vue b/src/views/busAdmin/areaAdmin/areaAdminList.vue new file mode 100644 index 0000000..8559788 --- /dev/null +++ b/src/views/busAdmin/areaAdmin/areaAdminList.vue @@ -0,0 +1,16 @@ + + + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/DictAdmin/dictList.vue b/src/views/busAdmin/DictAdmin/dictList.vue new file mode 100644 index 0000000..e951d4a --- /dev/null +++ b/src/views/busAdmin/DictAdmin/dictList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/TimeLimit/detailTimeLimit.vue b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue new file mode 100644 index 0000000..08edce0 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/editTimeLimit.vue b/src/views/busAdmin/TimeLimit/editTimeLimit.vue new file mode 100644 index 0000000..37046da --- /dev/null +++ b/src/views/busAdmin/TimeLimit/editTimeLimit.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/listTimeLimit.vue b/src/views/busAdmin/TimeLimit/listTimeLimit.vue new file mode 100644 index 0000000..27fdb68 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/listTimeLimit.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/busAdmin/areaAdmin/areaAdminList.vue b/src/views/busAdmin/areaAdmin/areaAdminList.vue new file mode 100644 index 0000000..8559788 --- /dev/null +++ b/src/views/busAdmin/areaAdmin/areaAdminList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/caseType/detailCaseType.vue b/src/views/busAdmin/caseType/detailCaseType.vue new file mode 100644 index 0000000..ac8cbb3 --- /dev/null +++ b/src/views/busAdmin/caseType/detailCaseType.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/DictAdmin/dictList.vue b/src/views/busAdmin/DictAdmin/dictList.vue new file mode 100644 index 0000000..e951d4a --- /dev/null +++ b/src/views/busAdmin/DictAdmin/dictList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/TimeLimit/detailTimeLimit.vue b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue new file mode 100644 index 0000000..08edce0 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/editTimeLimit.vue b/src/views/busAdmin/TimeLimit/editTimeLimit.vue new file mode 100644 index 0000000..37046da --- /dev/null +++ b/src/views/busAdmin/TimeLimit/editTimeLimit.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/listTimeLimit.vue b/src/views/busAdmin/TimeLimit/listTimeLimit.vue new file mode 100644 index 0000000..27fdb68 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/listTimeLimit.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/busAdmin/areaAdmin/areaAdminList.vue b/src/views/busAdmin/areaAdmin/areaAdminList.vue new file mode 100644 index 0000000..8559788 --- /dev/null +++ b/src/views/busAdmin/areaAdmin/areaAdminList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/caseType/detailCaseType.vue b/src/views/busAdmin/caseType/detailCaseType.vue new file mode 100644 index 0000000..ac8cbb3 --- /dev/null +++ b/src/views/busAdmin/caseType/detailCaseType.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/src/views/busAdmin/caseType/editCaseType.vue b/src/views/busAdmin/caseType/editCaseType.vue new file mode 100644 index 0000000..2755916 --- /dev/null +++ b/src/views/busAdmin/caseType/editCaseType.vue @@ -0,0 +1,412 @@ + + + + + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/DictAdmin/dictList.vue b/src/views/busAdmin/DictAdmin/dictList.vue new file mode 100644 index 0000000..e951d4a --- /dev/null +++ b/src/views/busAdmin/DictAdmin/dictList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/TimeLimit/detailTimeLimit.vue b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue new file mode 100644 index 0000000..08edce0 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/editTimeLimit.vue b/src/views/busAdmin/TimeLimit/editTimeLimit.vue new file mode 100644 index 0000000..37046da --- /dev/null +++ b/src/views/busAdmin/TimeLimit/editTimeLimit.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/listTimeLimit.vue b/src/views/busAdmin/TimeLimit/listTimeLimit.vue new file mode 100644 index 0000000..27fdb68 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/listTimeLimit.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/busAdmin/areaAdmin/areaAdminList.vue b/src/views/busAdmin/areaAdmin/areaAdminList.vue new file mode 100644 index 0000000..8559788 --- /dev/null +++ b/src/views/busAdmin/areaAdmin/areaAdminList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/caseType/detailCaseType.vue b/src/views/busAdmin/caseType/detailCaseType.vue new file mode 100644 index 0000000..ac8cbb3 --- /dev/null +++ b/src/views/busAdmin/caseType/detailCaseType.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/src/views/busAdmin/caseType/editCaseType.vue b/src/views/busAdmin/caseType/editCaseType.vue new file mode 100644 index 0000000..2755916 --- /dev/null +++ b/src/views/busAdmin/caseType/editCaseType.vue @@ -0,0 +1,412 @@ + + + + + diff --git a/src/views/busAdmin/caseType/listCaseType.vue b/src/views/busAdmin/caseType/listCaseType.vue new file mode 100644 index 0000000..fa20f25 --- /dev/null +++ b/src/views/busAdmin/caseType/listCaseType.vue @@ -0,0 +1,368 @@ + + + + + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@ - +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/DictAdmin/dictList.vue b/src/views/busAdmin/DictAdmin/dictList.vue new file mode 100644 index 0000000..e951d4a --- /dev/null +++ b/src/views/busAdmin/DictAdmin/dictList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/TimeLimit/detailTimeLimit.vue b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue new file mode 100644 index 0000000..08edce0 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/editTimeLimit.vue b/src/views/busAdmin/TimeLimit/editTimeLimit.vue new file mode 100644 index 0000000..37046da --- /dev/null +++ b/src/views/busAdmin/TimeLimit/editTimeLimit.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/listTimeLimit.vue b/src/views/busAdmin/TimeLimit/listTimeLimit.vue new file mode 100644 index 0000000..27fdb68 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/listTimeLimit.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/busAdmin/areaAdmin/areaAdminList.vue b/src/views/busAdmin/areaAdmin/areaAdminList.vue new file mode 100644 index 0000000..8559788 --- /dev/null +++ b/src/views/busAdmin/areaAdmin/areaAdminList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/caseType/detailCaseType.vue b/src/views/busAdmin/caseType/detailCaseType.vue new file mode 100644 index 0000000..ac8cbb3 --- /dev/null +++ b/src/views/busAdmin/caseType/detailCaseType.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/src/views/busAdmin/caseType/editCaseType.vue b/src/views/busAdmin/caseType/editCaseType.vue new file mode 100644 index 0000000..2755916 --- /dev/null +++ b/src/views/busAdmin/caseType/editCaseType.vue @@ -0,0 +1,412 @@ + + + + + diff --git a/src/views/busAdmin/caseType/listCaseType.vue b/src/views/busAdmin/caseType/listCaseType.vue new file mode 100644 index 0000000..fa20f25 --- /dev/null +++ b/src/views/busAdmin/caseType/listCaseType.vue @@ -0,0 +1,368 @@ + + + + + diff --git a/src/views/coorBusiness/delayed/index.vue b/src/views/coorBusiness/delayed/index.vue index b81a6a7..fd896bf 100644 --- a/src/views/coorBusiness/delayed/index.vue +++ b/src/views/coorBusiness/delayed/index.vue @@ -21,7 +21,7 @@ closable >
- + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@
- +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/DictAdmin/dictList.vue b/src/views/busAdmin/DictAdmin/dictList.vue new file mode 100644 index 0000000..e951d4a --- /dev/null +++ b/src/views/busAdmin/DictAdmin/dictList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/TimeLimit/detailTimeLimit.vue b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue new file mode 100644 index 0000000..08edce0 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/editTimeLimit.vue b/src/views/busAdmin/TimeLimit/editTimeLimit.vue new file mode 100644 index 0000000..37046da --- /dev/null +++ b/src/views/busAdmin/TimeLimit/editTimeLimit.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/listTimeLimit.vue b/src/views/busAdmin/TimeLimit/listTimeLimit.vue new file mode 100644 index 0000000..27fdb68 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/listTimeLimit.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/busAdmin/areaAdmin/areaAdminList.vue b/src/views/busAdmin/areaAdmin/areaAdminList.vue new file mode 100644 index 0000000..8559788 --- /dev/null +++ b/src/views/busAdmin/areaAdmin/areaAdminList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/caseType/detailCaseType.vue b/src/views/busAdmin/caseType/detailCaseType.vue new file mode 100644 index 0000000..ac8cbb3 --- /dev/null +++ b/src/views/busAdmin/caseType/detailCaseType.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/src/views/busAdmin/caseType/editCaseType.vue b/src/views/busAdmin/caseType/editCaseType.vue new file mode 100644 index 0000000..2755916 --- /dev/null +++ b/src/views/busAdmin/caseType/editCaseType.vue @@ -0,0 +1,412 @@ + + + + + diff --git a/src/views/busAdmin/caseType/listCaseType.vue b/src/views/busAdmin/caseType/listCaseType.vue new file mode 100644 index 0000000..fa20f25 --- /dev/null +++ b/src/views/busAdmin/caseType/listCaseType.vue @@ -0,0 +1,368 @@ + + + + + diff --git a/src/views/coorBusiness/delayed/index.vue b/src/views/coorBusiness/delayed/index.vue index b81a6a7..fd896bf 100644 --- a/src/views/coorBusiness/delayed/index.vue +++ b/src/views/coorBusiness/delayed/index.vue @@ -21,7 +21,7 @@ closable >
- + diff --git a/src/views/coorBusiness/postponed/index.vue b/src/views/coorBusiness/postponed/index.vue index 63d1ed3..513625d 100644 --- a/src/views/coorBusiness/postponed/index.vue +++ b/src/views/coorBusiness/postponed/index.vue @@ -21,7 +21,7 @@ closable >
- + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@
- +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/DictAdmin/dictList.vue b/src/views/busAdmin/DictAdmin/dictList.vue new file mode 100644 index 0000000..e951d4a --- /dev/null +++ b/src/views/busAdmin/DictAdmin/dictList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/TimeLimit/detailTimeLimit.vue b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue new file mode 100644 index 0000000..08edce0 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/editTimeLimit.vue b/src/views/busAdmin/TimeLimit/editTimeLimit.vue new file mode 100644 index 0000000..37046da --- /dev/null +++ b/src/views/busAdmin/TimeLimit/editTimeLimit.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/listTimeLimit.vue b/src/views/busAdmin/TimeLimit/listTimeLimit.vue new file mode 100644 index 0000000..27fdb68 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/listTimeLimit.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/busAdmin/areaAdmin/areaAdminList.vue b/src/views/busAdmin/areaAdmin/areaAdminList.vue new file mode 100644 index 0000000..8559788 --- /dev/null +++ b/src/views/busAdmin/areaAdmin/areaAdminList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/caseType/detailCaseType.vue b/src/views/busAdmin/caseType/detailCaseType.vue new file mode 100644 index 0000000..ac8cbb3 --- /dev/null +++ b/src/views/busAdmin/caseType/detailCaseType.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/src/views/busAdmin/caseType/editCaseType.vue b/src/views/busAdmin/caseType/editCaseType.vue new file mode 100644 index 0000000..2755916 --- /dev/null +++ b/src/views/busAdmin/caseType/editCaseType.vue @@ -0,0 +1,412 @@ + + + + + diff --git a/src/views/busAdmin/caseType/listCaseType.vue b/src/views/busAdmin/caseType/listCaseType.vue new file mode 100644 index 0000000..fa20f25 --- /dev/null +++ b/src/views/busAdmin/caseType/listCaseType.vue @@ -0,0 +1,368 @@ + + + + + diff --git a/src/views/coorBusiness/delayed/index.vue b/src/views/coorBusiness/delayed/index.vue index b81a6a7..fd896bf 100644 --- a/src/views/coorBusiness/delayed/index.vue +++ b/src/views/coorBusiness/delayed/index.vue @@ -21,7 +21,7 @@ closable >
- + diff --git a/src/views/coorBusiness/postponed/index.vue b/src/views/coorBusiness/postponed/index.vue index 63d1ed3..513625d 100644 --- a/src/views/coorBusiness/postponed/index.vue +++ b/src/views/coorBusiness/postponed/index.vue @@ -21,7 +21,7 @@ closable >
- + diff --git a/src/views/coorBusiness/secIsDelay/index.vue b/src/views/coorBusiness/secIsDelay/index.vue index 1d88567..0ec70c1 100644 --- a/src/views/coorBusiness/secIsDelay/index.vue +++ b/src/views/coorBusiness/secIsDelay/index.vue @@ -21,7 +21,7 @@ closable >
- + diff --git a/.gitignore b/.gitignore index 55371e5..ee78858 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ node_modules -.vscode \ No newline at end of file +.vscode +dist +dcms_coo_front.zip +.gitignore diff --git a/config/prod.env.js b/config/prod.env.js index 23e92b9..037e66b 100644 --- a/config/prod.env.js +++ b/config/prod.env.js @@ -1,5 +1,5 @@ 'use strict' module.exports = { NODE_ENV: '"production"', - BASE_API: '"http://119.254.103.80:14536"', + BASE_API: '"http://192.168.8.201:8083"', } diff --git a/src/api/busAdmin/caseType.js b/src/api/busAdmin/caseType.js new file mode 100644 index 0000000..f435e07 --- /dev/null +++ b/src/api/busAdmin/caseType.js @@ -0,0 +1,108 @@ +/** + * 事部件管理接口 + */ +import request from '@/utils/request' + +export function getCaseTypeDict() { + return request({ + url: '/dict/code/eorc', + method: 'get' + }) +} + +export function getCaseTypeList() { + return request({ + url: '/case/type/list', + method: 'get' + }) +} + +export function getCaseDetailType(params) { + return request({ + url: '/case/typeDetail/listPage', + method: 'get', + params + }) +} + +export function getCaseTypesTime(detailId) { + return request({ + url: '/case/typesTime/listPage', + method: 'get', + params: { + detailId: detailId + } + }) +} + +export function getMaxDetailCode(typeId) { + return request({ + url: '/case/typeDetail/maxDetailCode', + method: 'post', + params: { + id: typeId + } + }) +} + +export function addCaseDetailType(params) { + return request({ + url: '/case/typeDetail/add', + method: 'post', + params + }) +} + +export function addCaseTypesTime(data) { + return request({ + url: '/case/typesTime/add', + method: 'post', + headers: { 'Content-Type': 'application/json' }, + data + }) +} + +export function addBatchCaseTypesTime(params) { + return request({ + url: '/case/typesTime/addBatch', + method: 'post', + params + }) +} + +export function updateCaseDetailType(params) { + return request({ + url: '/case/typeDetail/update', + method: 'post', + params + }) +} + +export function updateCaseTypesTime(params) { + return request({ + url: '/case/typesTime/update', + method: 'post', + params + }) +} + +export function deleteCaseDetailType(ids) { + return request({ + url: '/case/typeDetail/delete', + method: 'get', + params: { + ids: ids + } + }) +} + +export function deleteCaseTypesTime(id) { + return request({ + url: '/case/typesTime/delete', + method: 'get', + params: { + id: id + } + }) +} + diff --git a/src/api/busAdmin/timeLimit.js b/src/api/busAdmin/timeLimit.js new file mode 100644 index 0000000..041de86 --- /dev/null +++ b/src/api/busAdmin/timeLimit.js @@ -0,0 +1,45 @@ +/** + * 阶段时限接口 + */ +import request from '@/utils/request' + +export function getCaseState() { + return request({ + url: '/dict/code/caseState', + method: 'get' + }) +} + +export function getStateLimitList(params) { + return request({ + url: '/stateLimit/listPage', + method: 'get', + params + }) +} + +export function addStateLimit(params) { + return request({ + url: '/stateLimit/add', + method: 'post', + params + }) +} + +export function updateStateLimit(params) { + return request({ + url: '/stateLimit/update', + method: 'post', + params + }) +} + +export function deleteStateLimit(ids) { + return request({ + url: '/stateLimit/delete', + method: 'get', + params: { + ids: ids + } + }) +} diff --git a/src/api/coorBusiness/case.js b/src/api/coorBusiness/case.js index 48d00c3..ec5a88a 100644 --- a/src/api/coorBusiness/case.js +++ b/src/api/coorBusiness/case.js @@ -1,10 +1,12 @@ import request from '@/utils/request' -export function getUserList(data) { +export function getUserList(roleTips) { return request({ url: '/mgr/simplelist', method: 'post', - data + params: { + roleTips: roleTips + } }) } diff --git a/src/api/coorBusiness/dict.js b/src/api/coorBusiness/dict.js index 414333e..35a16c4 100644 --- a/src/api/coorBusiness/dict.js +++ b/src/api/coorBusiness/dict.js @@ -3,7 +3,7 @@ // 处置常用语 export function getCommonLanguage() { return request({ - url: '/dict/code/caseSource', + url: '/dict/code/commonApproval', method: 'get' }) } diff --git a/src/components/CaseCommon/caseDetail.vue b/src/components/CaseCommon/caseDetail.vue index 3329859..f7eaf92 100644 --- a/src/components/CaseCommon/caseDetail.vue +++ b/src/components/CaseCommon/caseDetail.vue @@ -8,7 +8,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -134,74 +134,112 @@
- +
案卷处理:
- - - - {{ radio.nextOperation }} - - - - - - - - - - - - - + + + + + {{ radio.nextOperation }} + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + placeholder="请选择立案标准" + @change="updateHoursAndMins"> - - + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + @@ -214,40 +252,24 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + +
@@ -261,7 +283,7 @@ - + 提交 @@ -288,8 +310,8 @@ components: { ArcGisMap }, props: { id: { - type: Number, - default: 0 + type: String, + default: '' }, row: { type: Object, @@ -368,11 +390,14 @@ this.initProcess() } }, - // 选择案件处理单选键组 + // 初始化案件处理单选键组 async initProcess() { const res = await nextNodes(this.caseDetail.caseState) this.processRadioList = res.data }, + /** + * 选择常用语,更新审核意见 + */ selectCommonLang(value) { this.processForm.remarks = value }, @@ -382,7 +407,7 @@ async selectCaseType(value) { const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.processCompObj.caseTypeDetailList = caseTypeDetailRes.data - this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].casetypeDetailCode + this.processCompObj.caseTypeDetail = caseTypeDetailRes.data[0].id }, /** * 选择小类,更新立案标准下拉框 @@ -393,21 +418,35 @@ this.processCompObj.caseTypeTime = caseTypeTimesRes.data[0].id }, /** - * 选择立案标准,同时更新完成时限 + * 案卷等级和立案标准发生改变时,更新hours和minutes */ - selectCaseTypeTime(value) { - console.log('selectCaseTypeTime', value) - if (!value) { // 清空时清空完成时限 + updateHoursAndMins() { + console.log('updateHoursAndMins', this.processCompObj.caseTypeTime) + if (!this.processCompObj.caseLevel) { + this.$message.error('请选择案卷等级') + return + } + if (!this.processCompObj.caseTypeTime) { this.processCompObj.hours = '' this.processCompObj.minutes = '' return } - const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', value]) + const caseTypeTimeObj = _.find(this.processCompObj.caseTypeTimeList, ['id', this.processCompObj.caseTypeTime]) + console.log(this.processCompObj.caseTypeTime, caseTypeTimeObj) const day = parseInt(caseTypeTimeObj.day) let hours = parseInt(caseTypeTimeObj.hours) const minutes = parseInt(caseTypeTimeObj.minutes) if (day) { - hours += day * 24 + switch (this.processCompObj.caseLevel) { + case '1': + hours += day * 7 + break + case '2': + hours += day * 24 + break + default: + this.$message.error('请选择案卷等级') + } } this.processCompObj.hours = hours this.processCompObj.minutes = minutes @@ -432,10 +471,15 @@ async selectNextOperation() { console.log(this.operationKey, radioMap[this.operationKey]) const radioConfig = radioMap[this.operationKey] - switch (radioConfig.showComp) { + if (!radioConfig.showComp) { + this.processCompShow = '' + return + } + switch (radioConfig.showComp.split('_')[0]) { case 'selectUser': { // 选择用户 this.processCompShow = 'selectUser' - const userRes = await getUserList() + const roleTips = radioConfig.showComp.split('_')[1] + const userRes = await getUserList(roleTips) this.$set(this.processCompObj, 'userList', userRes.data) // 有默认id的设默认id this.setDefaultUserId(radioConfig) @@ -452,12 +496,13 @@ this.processCompShow = 'selectCaseTime' const caseTypeRes = await getCaseTypeList(this.caseDetail.eorc) // 大类 this.$set(this.processCompObj, 'caseTypeList', caseTypeRes.data) - const defaultCaseTypeId = _.find(caseTypeRes, ['typeCode', this.caseDetail.casetypeCode]) - this.$set(this.processCompObj, 'caseType', defaultCaseTypeId) + const defaultCaseType = _.find(this.processCompObj.caseTypeList, ['typeCode', this.caseDetail.casetypeCode]) + this.$set(this.processCompObj, 'caseType', defaultCaseType.id) const caseTypeDetailRes = await getCaseTypeDetailList(this.caseDetail.eorc, this.processCompObj.caseType) // 小类 this.$set(this.processCompObj, 'caseTypeDetailList', caseTypeDetailRes.data) - this.$set(this.processCompObj, 'caseTypeDetail', this.caseDetail.casetypeDetailCode) + const defaultCaseTypeDetail = _.find(this.processCompObj.caseTypeDetailList, ['typeDetailCode', this.caseDetail.casetypeDetailCode]) + this.$set(this.processCompObj, 'caseTypeDetail', defaultCaseTypeDetail.id) const caseTypeTimeRes = await getCaseTypeTimes(this.processCompObj.caseTypeDetail) // 立案标准 this.$set(this.processCompObj, 'caseTypeTimeList', caseTypeTimeRes.data) @@ -465,10 +510,11 @@ const caseLevelRes = await getCaseLevelList() // 案卷等级 this.$set(this.processCompObj, 'caseLevelList', caseLevelRes.data) - this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel) + this.$set(this.processCompObj, 'caseLevel', this.caseDetail.caseLevel.toString()) this.$set(this.processCompObj, 'hours', '') this.$set(this.processCompObj, 'minutes', '') + this.updateHoursAndMins() break } case 'selectFilingType': { // 选择归档类型 @@ -506,8 +552,10 @@ // 其他参数 const radioConfig = radioMap[this.operationKey] + console.log(radioConfig) + debugger // 1. taskUserId - if (radioConfig.showComp === 'selectUser' || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { + if ((radioConfig.showComp && radioConfig.showComp.indexOf('selectUser') > -1) || radioConfig.passBack === 'verifyPersonId' || radioConfig.passBack === 'processPersonid') { if (!this.processCompObj.taskUserId) { this.$message.error('请选择人员') return false @@ -634,7 +682,7 @@ width: 98%; } .title{ - margin-left: 20px; + margin-left: 38px; font-size: 14px; font-weight: bold; } diff --git a/src/components/CaseCommon/radioMap.js b/src/components/CaseCommon/radioMap.js index 8202ed9..317a956 100644 --- a/src/components/CaseCommon/radioMap.js +++ b/src/components/CaseCommon/radioMap.js @@ -1,6 +1,6 @@ const radioMap = { 'APHS': { // 安排核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'BLA': { // 不立案 @@ -44,7 +44,7 @@ passBack: null }, 'CZRY': { // 处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null }, 'CZRYFKCLWC': { // 处置人员反馈处理完成 @@ -52,7 +52,7 @@ passBack: null }, 'DHC': { // 待核查 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: null }, 'DLA': { // 待立案 @@ -60,7 +60,7 @@ passBack: null }, 'FHCL': { // 返回处理 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: 'processPersonId' }, 'GQ': { // 挂起 @@ -132,12 +132,12 @@ passBack: null }, 'THHS': { // 退回核实 - showComp: 'selectUser', + showComp: 'selectUser_supervisor', passBack: 'verifyPersonId' }, 'XA': { // 销案 - showComp: 'selectUser', - passBack: null + showComp: null, + passBack: 'isNeedRevisit' }, 'YLA': { // 预立案 showComp: null, @@ -160,7 +160,7 @@ passBack: null }, 'ZCZRY': { // 转处置人员 - showComp: 'selectUser', + showComp: 'selectUser_process', passBack: null } diff --git a/src/router/index.js b/src/router/index.js index fc42d69..14801a6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -10,6 +10,7 @@ import Layout from '../views/layout/Layout' import { systemRouters } from './modules/system' import { cooRouters } from './modules/coo' +import { bmsRouters } from './modules/bms' /** * hidden: true if `hidden:true` will not show in the sidebar(default is false) @@ -245,6 +246,7 @@ // ] // }, ...cooRouters, + ...bmsRouters, systemRouters, { path: '*', redirect: '/404', hidden: true } ] diff --git a/src/router/modules/bms.js b/src/router/modules/bms.js new file mode 100644 index 0000000..cfa69f1 --- /dev/null +++ b/src/router/modules/bms.js @@ -0,0 +1,48 @@ +/* Layout */ +import Layout from '../../views/layout/Layout' +export const bmsRouters = [ + { + path: 'busAdmin', + component: Layout, + name: 'BusAdmin', + redirect: '/timeLimit', + alwaysShow: true, + meta: { + title: '业务管理', + icon: 'icon-setting', // 图标 + permission: ['/busAdmin']// 权限名称 + }, + children: [ + { + path: '/timeLimit', + component: () => import('@/views/busAdmin/TimeLimit/listTimeLimit.vue'), + name: 'TimeLimit', + meta: { title: '阶段时限', icon: '', permission: ['/timeLimit'] } + }, + { + path: '/caseList', + component: () => import('@/views/busAdmin/CaseQuery/caseList.vue'), + name: 'CaseList', + meta: { title: '综合查询', icon: '', permission: ['/caseList'] } + }, + { + path: '/dictList', + component: () => import('@/views/busAdmin/DictAdmin/dictList.vue'), + name: 'DictList', + meta: { title: '字典管理', icon: '', permission: ['/dictList'] } + }, + { + path: '/caseType', + component: () => import('@/views/busAdmin/caseType/listCaseType.vue'), + name: 'CaseType', + meta: { title: '事部件管理', icon: '', permission: ['/caseType'] } + }, + { + path: '/areaAdmin', + component: () => import('@/views/busAdmin/areaAdmin/areaAdminList.vue'), + name: 'AreaAdmin', + meta: { title: '区域管理', icon: '', permission: ['/areaAdmin'] } + } + ] + } +] diff --git a/src/views/busAdmin/CaseQuery/caseList.vue b/src/views/busAdmin/CaseQuery/caseList.vue new file mode 100644 index 0000000..8975fe8 --- /dev/null +++ b/src/views/busAdmin/CaseQuery/caseList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/DictAdmin/dictList.vue b/src/views/busAdmin/DictAdmin/dictList.vue new file mode 100644 index 0000000..e951d4a --- /dev/null +++ b/src/views/busAdmin/DictAdmin/dictList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/TimeLimit/detailTimeLimit.vue b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue new file mode 100644 index 0000000..08edce0 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/detailTimeLimit.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/editTimeLimit.vue b/src/views/busAdmin/TimeLimit/editTimeLimit.vue new file mode 100644 index 0000000..37046da --- /dev/null +++ b/src/views/busAdmin/TimeLimit/editTimeLimit.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/views/busAdmin/TimeLimit/listTimeLimit.vue b/src/views/busAdmin/TimeLimit/listTimeLimit.vue new file mode 100644 index 0000000..27fdb68 --- /dev/null +++ b/src/views/busAdmin/TimeLimit/listTimeLimit.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/busAdmin/areaAdmin/areaAdminList.vue b/src/views/busAdmin/areaAdmin/areaAdminList.vue new file mode 100644 index 0000000..8559788 --- /dev/null +++ b/src/views/busAdmin/areaAdmin/areaAdminList.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/busAdmin/caseType/detailCaseType.vue b/src/views/busAdmin/caseType/detailCaseType.vue new file mode 100644 index 0000000..ac8cbb3 --- /dev/null +++ b/src/views/busAdmin/caseType/detailCaseType.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/src/views/busAdmin/caseType/editCaseType.vue b/src/views/busAdmin/caseType/editCaseType.vue new file mode 100644 index 0000000..2755916 --- /dev/null +++ b/src/views/busAdmin/caseType/editCaseType.vue @@ -0,0 +1,412 @@ + + + + + diff --git a/src/views/busAdmin/caseType/listCaseType.vue b/src/views/busAdmin/caseType/listCaseType.vue new file mode 100644 index 0000000..fa20f25 --- /dev/null +++ b/src/views/busAdmin/caseType/listCaseType.vue @@ -0,0 +1,368 @@ + + + + + diff --git a/src/views/coorBusiness/delayed/index.vue b/src/views/coorBusiness/delayed/index.vue index b81a6a7..fd896bf 100644 --- a/src/views/coorBusiness/delayed/index.vue +++ b/src/views/coorBusiness/delayed/index.vue @@ -21,7 +21,7 @@ closable >
- + diff --git a/src/views/coorBusiness/postponed/index.vue b/src/views/coorBusiness/postponed/index.vue index 63d1ed3..513625d 100644 --- a/src/views/coorBusiness/postponed/index.vue +++ b/src/views/coorBusiness/postponed/index.vue @@ -21,7 +21,7 @@ closable >
- + diff --git a/src/views/coorBusiness/secIsDelay/index.vue b/src/views/coorBusiness/secIsDelay/index.vue index 1d88567..0ec70c1 100644 --- a/src/views/coorBusiness/secIsDelay/index.vue +++ b/src/views/coorBusiness/secIsDelay/index.vue @@ -21,7 +21,7 @@ closable >
- + diff --git a/src/views/coorBusiness/secIsPostpone/index.vue b/src/views/coorBusiness/secIsPostpone/index.vue index be029b5..58300ff 100644 --- a/src/views/coorBusiness/secIsPostpone/index.vue +++ b/src/views/coorBusiness/secIsPostpone/index.vue @@ -21,7 +21,7 @@ closable >
- +