diff --git a/src/assets/style/element-ui-variable.scss b/src/assets/style/element-ui-variable.scss index d3533bc..44aceb2 100644 --- a/src/assets/style/element-ui-variable.scss +++ b/src/assets/style/element-ui-variable.scss @@ -26,4 +26,12 @@ $--button-primary-border-color: #1960F4 !default; color: #FFFFFF; } +.el-popover{padding: 0 !important; + .el-popover__title{ + padding: 12px 10px; + border-bottom: solid 1px #E5E6EB; + margin-bottom: 2px; + } +} + @import "~element-ui/packages/theme-chalk/src/index"; \ No newline at end of file diff --git a/src/components/uploadFile copy.vue b/src/components/uploadFile copy.vue deleted file mode 100644 index 7ad41f6..0000000 --- a/src/components/uploadFile copy.vue +++ /dev/null @@ -1,330 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/uploadSingleFile.vue b/src/components/uploadSingleFile.vue new file mode 100644 index 0000000..131d6bc --- /dev/null +++ b/src/components/uploadSingleFile.vue @@ -0,0 +1,218 @@ + + + + + \ No newline at end of file diff --git a/src/pages/mediation-management/components/batchofficeDeliveryDialog.vue b/src/pages/mediation-management/components/batchofficeDeliveryDialog.vue index de4118f..96e3e03 100644 --- a/src/pages/mediation-management/components/batchofficeDeliveryDialog.vue +++ b/src/pages/mediation-management/components/batchofficeDeliveryDialog.vue @@ -55,10 +55,10 @@ export default { {label: '调解申请书', value: 'MEDIATE_APPLICATION'}, {label: '调解询问笔录', value: 'MEDIATE_RECORD'}, {label: '调解协议', value: 'MEDIATE_AGREEMENT'}, - {label: '司法申请书', value: 'JUDICATURE_APPLICATION'}, - {label: '司法承诺书', value: 'JUDICATURE_PROMISE'}, + // {label: '司法申请书', value: 'JUDICATURE_APPLICATION'}, + // {label: '司法承诺书', value: 'JUDICATURE_PROMISE'}, {label: '送达地址确认书', value: 'CONFIRMATION_OF_ADDRESS'}, - {label: '身份识别报告', value: 'VERIFY_IDD'} + // {label: '身份识别报告', value: 'VERIFY_IDD'} ], ObjectInfo: { documentTypes: ['MEDIATE_NOTE', 'MEDIATE_APPLICATION', 'MEDIATE_RECORD', 'MEDIATE_AGREEMENT', diff --git a/src/pages/mediation-management/components/batchofficeDialog.vue b/src/pages/mediation-management/components/batchofficeDialog.vue index f46e496..1f9f508 100644 --- a/src/pages/mediation-management/components/batchofficeDialog.vue +++ b/src/pages/mediation-management/components/batchofficeDialog.vue @@ -60,10 +60,10 @@ export default { // {label: '司法申请书', value: 'JUDICATURE_APPLICATION'}, // {label: '司法承诺书', value: 'JUDICATURE_PROMISE'}, {label: '送达地址确认书', value: 'CONFIRMATION_OF_ADDRESS'}, - {label: '身份识别报告', value: 'VERIFY_IDD'} + // {label: '身份识别报告', value: 'VERIFY_IDD'} ], ObjectInfo: { - documentTypes: [], + documentTypes: ['MEDIATE_NOTE','MEDIATE_APPLICATION','CONFIRMATION_OF_ADDRESS'], }, }; }, @@ -83,7 +83,12 @@ export default { this.$emit('update:eventTraDialog', null) }, handleSubmit() { - if (!this.ObjectInfo.documentTypes.length){ return; } + + if (this.ObjectInfo.documentTypes.length == 0){ + this.$message.warning("请选择文书类型!"); + return + } + if(!this.$clickThrottle()) { return }//防止重复点击 let dataJson = { caseIdList: this.eventTraDialog.caseids, diff --git a/src/pages/mediation-management/components/batchofficeWDialog.vue b/src/pages/mediation-management/components/batchofficeWDialog.vue index ac9b728..718b2ca 100644 --- a/src/pages/mediation-management/components/batchofficeWDialog.vue +++ b/src/pages/mediation-management/components/batchofficeWDialog.vue @@ -16,8 +16,8 @@
- - + + {{item.label}}
@@ -25,7 +25,7 @@
签字有效时间 - @@ -64,12 +64,19 @@ import api from "@/services/caseManagement"; }, data() { return { - officeOptions:[{label:'调解告知书',value:'1'},{label:'调解申请书',value:'2'}, - {label:'送达地址确认书',value:'3'},{label:'调解笔录',value:'4'},{label:'调解协议',value:'5'}], + officeOptions:[ + {label: '调解告知书', value: 'MEDIATE_NOTE'}, + {label: '调解申请书', value: 'MEDIATE_APPLICATION'}, + {label: '送达地址确认书', value: 'CONFIRMATION_OF_ADDRESS'}, + {label: '调解询问笔录', value: 'MEDIATE_RECORD'}, + {label: '调解协议', value: 'MEDIATE_AGREEMENT'}, + ], + + ObjectInfo:{ - methodIds:['调解告知书','调解申请书','送达地址确认书'], - users:'', - content:'' + fileTypes:['MEDIATE_NOTE','MEDIATE_APPLICATION','CONFIRMATION_OF_ADDRESS'], + deadline:'1', + caseId:[] }, tableData:[], total:0, @@ -87,6 +94,31 @@ import api from "@/services/caseManagement"; this.ObjectInfo.users = jsonData.users this.ObjectInfo.content = jsonData.content }, + handleSubmit(){ + if(!this.$clickThrottle()) { return }//防止重复点击 + if (this.ObjectInfo.fileTypes.length == 0){ + this.$message.warning("请选择文书类型!"); + return + } + // 获取当前日期 + let currentDate = new Date(); + // 获取昨天的日期 + const nextDate = currentDate + currentDate.setDate(currentDate.getDate() + (this.ObjectInfo.deadline*1)) + const year = nextDate.getFullYear(); + const month = (nextDate.getMonth() + 1).toString().padStart(2, '0'); + const day = nextDate.getDate().toString().padStart(2, '0'); + this.ObjectInfo.deadline = year +'-'+ month +'-'+ day + ' 23:23:59' + + this.ObjectInfo.caseId = this.eventTraDialog.caseids; + api.traceSignBatchCreate(this.ObjectInfo).then((res) => { + this.$message.success("批量发起签字成功"); + this.handleClose() + this.$parent.getCaseInfoList() + }); + }, + + // traceSignBatchCreate handleClose() { this.$emit('update:eventTraDialog', null) diff --git a/src/pages/mediation-page/components/LayoutContentNew.vue b/src/pages/mediation-page/components/LayoutContentNew.vue index 54e96fa..a156a9a 100644 --- a/src/pages/mediation-page/components/LayoutContentNew.vue +++ b/src/pages/mediation-page/components/LayoutContentNew.vue @@ -567,18 +567,48 @@
协议
-
- -
签字
-
-
- -
签章
-
-
- -
送达
-
+ + + + + + 签字 + + + + + + + + + 签章 + + + + + + + + 送达 + + + +
类案
@@ -621,9 +651,16 @@ export default { contactPerson: () => import('./contactPerson'),//联系人左 cassWrit: () => import('./cassWrit'),// caseVideoReservationDialog: () => import('./caseVideoReservationDialog'),// + + singleofficeWritPopover: () => import('./singleofficeWritPopover.vue'),//发起签字 + singleofficeSealPopover: () => import('./singleofficeSealPopover.vue'),//发起签章 + singleofficeDeliveryPopover: () => import('./singleofficeDeliveryPopover.vue'),//发起送达 }, data() { return { + singledeliveryvisible:false, + singlesealvisible:false, + singleofficevisible:false, eventDialog: {caseId: this.$route.query.caseId}, leftActive: 1, rightActive: 1, diff --git a/src/pages/mediation-page/components/cassWrit.vue b/src/pages/mediation-page/components/cassWrit.vue index 74d5a4f..447feae 100644 --- a/src/pages/mediation-page/components/cassWrit.vue +++ b/src/pages/mediation-page/components/cassWrit.vue @@ -2,31 +2,82 @@
案件文书 - +
+ + + + + 发起签字 + + + + + + + 文书签章 + + + +
- +
- {{item.fileName}} - {{ $util.formatDate(item.signTime, 'YYYY-MM-DD HH:mm:ss')}} -
+ {{item.fileName}} + + + + 生成中 + 生成失败 + 已生成 + 签字中 + 已签字 + 签字失败 + + + + {{item.handleBy}}  {{ $util.formatDate(item.handleTime, 'YYYY-MM-DD HH:mm:ss')}} +
签字
{{item1.signed}} + v-for="(item1, index1) in item.signList" :key="index1">{{item1.signed}} {{item2.unsigned}} + v-for="(item2, index2) in item.unsignList" :key="index2">{{item2.unsigned}}
@@ -39,6 +90,9 @@ import caseManagement from "@/services/caseManagement"; export default { components: { pdfPreview: () => import('@/components/pdfPreview.vue'),//查看PDF文件 + uploadFile: () => import('@/components/uploadSingleFile.vue'),//上传 + singleofficeWritPopover: () => import('./singleofficeWritPopover.vue'),//发起签字 + singleofficeSealPopover: () => import('./singleofficeSealPopover.vue'),//发起签章 }, name: "cassWrit", props: { @@ -51,38 +105,25 @@ export default { }, data() { return{ + singlesealvisible:false, + singleofficevisible:false, tableData: [], previewPath: '', - editPdfFlag: false + editPdfFlag: false, + + officeOptions:[{label:'调解告知书',value:'1'},{label:'调解申请书',value:'2'}, + {label:'送达地址确认书',value:'3'},{label:'调解笔录',value:'4'},{label:'调解协议',value:'5'}], + ObjectInfo:{ + methodIds:['调解告知书','调解申请书','送达地址确认书'], + users:'', + content:'' + }, } }, async created() { await this.getWritCaseList(); }, methods: { - reg_img(item) { - if(item==null||item=='') { - return item - } - // console.log(/.(xls|xlsx)$/.test(fileUrl.toLowerCase()),'111') - if(/.(pdf)$/.test(item.toLowerCase())) { - return require('@/assets/image/util/pdf_img.jpg') - } - else if(/.(xls|xlsx)$/.test(item.toLowerCase())) { - return require('@/assets/image/util/excel_img.jpg') - } - else if(/.(doc|docx)$/.test(item.toLowerCase())) { - return require('@/assets/image/util/word_img.jpg') - } - else if(/.(zip|rar)$/.test(item.toLowerCase())) { - return require('@/assets/image/util/yswj.jpg') - } - else { - // let previewUrl = `/mediate/minio/preview/${fileUrl}` - // return service.service.serviceurl+fileUrl - return item - } - }, // 列表数据 getWritCaseList() { let dataJson = { @@ -96,6 +137,27 @@ export default { } }) }, + // 上传文书模板 + handleUploadFile(){ + this.$message.success("上传模板成功"); + this.getWritCaseList() + }, + // 生成文书 + handleFileGenerate(item){ + console.log(item,'item') + this.$confirm("请确定是否生成文件?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }).then(() => { + if(!this.$clickThrottle()) { return }//防止重复点击 + let data = {caseId: this.caseId,documentTypes:[item.type]} + caseManagement.traceGenerateCreate(data).then((res) => { + this.$message.success("生成文件成功"); + this.getWritCaseList() + }); + }).catch(() => {}); + }, handleDelete(item) { this.$confirm("请确定是否删除?", "提示", { confirmButtonText: "确定", @@ -105,7 +167,7 @@ export default { if(!this.$clickThrottle()) { return }//防止重复点击 let data = {id: item.id} caseManagement.traceGenerateDelete(data).then((res) => { - this.$message.success("成功"); + this.$message.success("文书删除成功"); this.getWritCaseList() }); }).catch(() => {}); @@ -133,6 +195,11 @@ export default { \ No newline at end of file + + diff --git a/src/pages/mediation-page/components/singleofficeDeliveryPopover.vue b/src/pages/mediation-page/components/singleofficeDeliveryPopover.vue new file mode 100644 index 0000000..c9d12de --- /dev/null +++ b/src/pages/mediation-page/components/singleofficeDeliveryPopover.vue @@ -0,0 +1,127 @@ + + + + \ No newline at end of file diff --git a/src/pages/mediation-page/components/singleofficeSealPopover.vue b/src/pages/mediation-page/components/singleofficeSealPopover.vue new file mode 100644 index 0000000..6b5dc8c --- /dev/null +++ b/src/pages/mediation-page/components/singleofficeSealPopover.vue @@ -0,0 +1,120 @@ + + + + \ No newline at end of file diff --git a/src/pages/mediation-page/components/singleofficeWritPopover.vue b/src/pages/mediation-page/components/singleofficeWritPopover.vue new file mode 100644 index 0000000..fc010d5 --- /dev/null +++ b/src/pages/mediation-page/components/singleofficeWritPopover.vue @@ -0,0 +1,158 @@ + + + + \ No newline at end of file diff --git a/src/services/caseManagement.js b/src/services/caseManagement.js index c320854..bda2f06 100644 --- a/src/services/caseManagement.js +++ b/src/services/caseManagement.js @@ -209,7 +209,10 @@ const caseManagementApi = { }, // 案件文书-上传模板 customFileUpload: data => { - return service.service.post(`${apiAdmin}api/trace/traceGenerate/customFile/upload`, data) + return service.service.post(`${apiAdmin}api/trace/traceGenerate/customFile/upload`, data, { + headers: + {'Content-Type': 'multipart/form-data'}, + },) }, // 案件文书-生成文书 traceGenerateCreate: data => { @@ -232,6 +235,18 @@ const caseManagementApi = { return service.service.post(`${apiAdmin}api/trace/traceGenerate/batch-retry`, data) }, + // + // 案件签字-发起签字 + traceSignCreate: data => { + return service.service.post(`${apiAdmin}api/trace/traceSign/create`, data) + }, + // 案件签字-批量发起签字 + traceSignBatchCreate: data => { + return service.service.post(`${apiAdmin}api/trace/traceSign/batch-create`, data) + }, + + + //========================end::案件管理====================================== } export default caseManagementApi; \ No newline at end of file diff --git a/src/utils/util.js b/src/utils/util.js index b71883a..ded155e 100644 --- a/src/utils/util.js +++ b/src/utils/util.js @@ -171,9 +171,9 @@ const util = { reg_img(fileUrl) { console.log(fileUrl,'---fileUrl') if(fileUrl==null||fileUrl=='') { - return fileUrl + // return fileUrl + return require('../assets/image/util/word_img.jpg') } - console.log(/.(pdf)$/.test(fileUrl.toLowerCase()),'111') if(/.(pdf)$/.test(fileUrl.toLowerCase())) { return require('../assets/image/util/pdf_img.jpg') }