This commit is contained in:
gyj
2024-02-29 17:39:28 +08:00
22 changed files with 1335 additions and 1196 deletions
+29 -2
View File
@@ -1,3 +1,30 @@
# Mediation-Frontend
## 开发
调解系统PC端服务
```bash
# 克隆项目
git clone https://gitee.com/y_project/RuoYi-Vue
# 进入项目目录
cd ruoyi-ui
# 安装依赖
npm install
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com
# 启动服务
npm run dev
```
浏览器访问 http://localhost:80
## 发布
```bash
# 构建测试环境
npm run build:stage
# 构建生产环境
npm run build:prod
```
+2 -3
View File
@@ -1,7 +1,7 @@
{
"name": "ruoyi",
"version": "3.8.6",
"description": "智慧仲裁管理系统",
"description": "调解系统",
"author": "智慧仲裁",
"license": "MIT",
"scripts": {
@@ -48,8 +48,7 @@
"js-beautify": "1.13.0",
"js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1",
"lodash": "^4.17.21",
"moment": "^2.30.1",
"moment": "^2.29.4",
"nprogress": "0.2.0",
"qrcodejs2": "0.0.2",
"quill": "1.3.7",
+10
View File
@@ -0,0 +1,10 @@
import request from '@/utils/request'
// 查询首页待办
export function todoCount(data) {
return request({
url: '/caseApplication/todoCount',
method: 'get',
params: data
})
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

+2 -2
View File
@@ -51,12 +51,12 @@ export default {
// 图片数量限制
limit: {
type: Number,
default: 5,
default: 1,
},
// 大小限制(MB)
fileSize: {
type: Number,
default: 5,
// default: 5,
},
// 文件类型, 例如['png', 'jpg', 'jpeg']
fileType: {
+2 -1
View File
@@ -9,7 +9,8 @@ export default {
name: 'RuoYiDoc',
data() {
return {
url: 'http://doc.ruoyi.vip/ruoyi-vue'
// url: 'http://doc.ruoyi.vip/ruoyi-vue'
url: '#'
}
},
methods: {
+2 -7
View File
@@ -7,15 +7,10 @@
<div class="right-menu">
<template v-if="device!=='mobile'">
<!-- <search id="header-search" class="right-menu-item" />
<el-tooltip content="源码地址" effect="dark" placement="bottom">
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
</el-tooltip>
<!-- <search id="header-search" class="right-menu-item" /> -->
<el-tooltip content="文档地址" effect="dark" placement="bottom">
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
</el-tooltip> -->
</el-tooltip>
<screenfull id="screenfull" class="right-menu-item hover-effect" />
+6 -3
View File
@@ -4,7 +4,7 @@ import Cookies from 'js-cookie'
import Element from 'element-ui'
import './assets/styles/element-variables.scss'
import './assets/icons' // icon
import '@/assets/styles/index.scss' // global css
import '@/assets/styles/ruoyi.scss' // ruoyi css
import App from './App'
@@ -14,6 +14,8 @@ import directive from './directive' // directive
import plugins from './plugins' // plugins
import { download } from '@/utils/request'
import './assets/icons' // icon
// 引入Iconfont 矢量图标库
import './assets/icon/iconfont.css'
import './permission' // permission control
import { getDicts } from "@/api/system/dict/data";
@@ -37,8 +39,9 @@ import DictTag from '@/components/DictTag'
import VueMeta from 'vue-meta'
// 字典数据组件
import DictData from '@/components/DictData'
//画布组件
import vueEsign from 'vue-esign'
import {checkPermi} from '@/utils/permission'
import { statusRole } from '@/utils/permission'
// 全局方法挂载
Vue.prototype.getDicts = getDicts
@@ -51,7 +54,6 @@ Vue.prototype.selectDictLabels = selectDictLabels
Vue.prototype.download = download
Vue.prototype.handleTree = handleTree
Vue.prototype.checkPermi = checkPermi
Vue.prototype.statusRole = statusRole
// 全局组件挂载
Vue.component('DictTag', DictTag)
@@ -65,6 +67,7 @@ Vue.component('ImagePreview', ImagePreview)
Vue.use(directive)
Vue.use(plugins)
Vue.use(VueMeta)
Vue.use(vueEsign)
DictData.install()
/**
+4 -2
View File
@@ -100,7 +100,8 @@ export const dynamicRoutes = [
children: [
{
path: 'role/:userId(\\d+)',
component: () => import('@/views/system/user/authRole'),
// component: () => import('@/views/system/user/authRole'),
component: (resolve) => require(['@/views/system/user/authRole'],resolve),
name: 'AuthRole',
meta: { title: '分配角色', activeMenu: '/system/user' }
}
@@ -114,7 +115,8 @@ export const dynamicRoutes = [
children: [
{
path: 'user/:roleId(\\d+)',
component: () => import('@/views/system/role/authUser'),
// component: () => import('@/views/system/role/authUser'),
component: (resolve) => require(['@/views/system/role/authUser'],resolve),
name: 'AuthUser',
meta: { title: '分配用户', activeMenu: '/system/role' }
}
+1
View File
@@ -126,6 +126,7 @@ export const loadView = (view) => {
return (resolve) => require([`@/views/${view}`], resolve)
} else {
// 使用 import 实现生产环境的路由懒加载
// return () => import(`@/views/${view}`)
return (resolve) => require([`@/views/${view}`], resolve)
}
}
-1
View File
@@ -50,7 +50,6 @@ const user = {
GetInfo({ commit, state }) {
return new Promise((resolve, reject) => {
getInfo().then(res => {
sessionStorage.setItem('caseStatus', JSON.stringify(res.caseStatus))
const user = res.user
const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
-40
View File
@@ -24,7 +24,6 @@ export function checkPermi(value) {
return false
}
}
/**
* 角色权限校验
* @param {Array} value 校验值
@@ -49,42 +48,3 @@ export function checkRole(value) {
return false
}
}
/**
* 状态权限校验
* @param {Number} value 校验值
* @returns {Boolean}
*/
export function statusRole(value) {
let caseStatusStr = sessionStorage.getItem('caseStatus');
let caseStatus = [];
caseStatus = JSON.parse(caseStatusStr);
if (caseStatus.length == 0) {
return false
}
// if (caseStatus.includes(value)) {
// // caseStatus.forEach(item => {
// // if (item == value) {
// // return true
// // }
// // });
// for(let i = 0;i < caseStatus.length;i++){
// if(caseStatus[i] == value){
// return true
// }
// }
// } else {
// return false
// }
let flag = null;
for (let i = 0; i < caseStatus.length; i++) {
if (caseStatus[i] == value) {
flag = caseStatus[i]
}
}
if (flag == value) {
return true
} else {
return false
}
}
+2 -5
View File
@@ -17,7 +17,8 @@ const service = axios.create({
// axios中请求配置有baseURL选项,表示请求URL公共部分
baseURL: process.env.VUE_APP_BASE_API,
// 超时
timeout: 10000
// timeout: 10000
timeout: 15000
})
// request拦截器
@@ -36,10 +37,6 @@ service.interceptors.request.use(config => {
config.params = {};
config.url = url;
}
if (config.url === '/caseApplication/mediation') {
// 调解时对于特定的请求设置超时时间为20秒
config.timeout = 20000; // 20秒
}
if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
const requestObj = {
url: config.url,
+259 -221
View File
@@ -3,8 +3,8 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
<el-form-item label="案件状态" prop="caseFlowId">
<el-select v-model="queryParams.caseFlowId" placeholder="请选择" clearable>
<el-option v-for="dict in caseStausArr" :key="dict.id" :label="dict.caseStatusName"
:value="dict.id" @keyup.enter.native="handleQuery"></el-option>
<el-option v-for="dict in caseStausArr" :key="dict.id" :label="dict.caseStatusName" :value="dict.id"
@keyup.enter.native="handleQuery"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="申请机构" prop="applicationOrganId">
@@ -33,7 +33,8 @@
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" v-hasPermi="['caseManagement:list:add']" size="mini" @click="addCase()">新增案件</el-button>
<el-button type="primary" plain icon="el-icon-plus" v-hasPermi="['caseManagement:list:add']" size="mini"
@click="addCase()">新增案件</el-button>
</el-col>
<!-- TODO 后期可能加上-->
<!-- <el-col :span="1.5">
@@ -61,19 +62,27 @@
<el-table-column label="创建时间" align="center" prop="createTime" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text"
icon="el-icon-edit" v-hasPermi="['caseManagement:list:edit']" v-if="scope.row.caseFlowId <= 1">修改</el-button>
<el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text" icon="el-icon-edit"
v-hasPermi="['caseManagement:list:edit']" v-if="scope.row.caseFlowId <= 1">修改</el-button>
<el-button size="mini" @click="checkDetail(scope.row)" type="text" icon="el-icon-view">查看详情</el-button>
<el-button size="mini" @click="caseFlow(scope.row)" type="text" icon="el-icon-zoom-in">查看流程</el-button>
<el-button size="mini" @click="caseLog(scope.row)" type="text"
icon="el-icon-edit-outline">案件日志</el-button>
<el-button size="mini" @click="viewpaymentformRow(scope.row)" type="text"
icon="el-icon-edit">查看缴费单</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
@click="evidenceUpload(scope.row)" v-hasPermi="['caseManagement:list:evidenceEdit']" v-if="scope.row.caseFlowId <= 9">上传证据</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseFlowId == 15 || scope.row.caseFlowId == 16 || scope.row.caseFlowId == 17" @click="caseFilingDetails(scope.row)">归档详情</el-button>
<el-button size="mini" type="text" icon="el-icon-tickets" v-for="(item) in buttonList" :key="item.id"
@click="caseClick(scope.row,item.id)" v-if="item.id == scope.row.caseFlowId && checkPermi([item.buttonAuthFlag]) && scope.row.signButtonFlag != 1">{{ item.nodeName }}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="evidenceUpload(scope.row)"
v-hasPermi="['caseManagement:list:evidenceEdit']" v-if="scope.row.caseFlowId <= 9">上传证据</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseFlowId == 15 ||
scope.row.caseFlowId == 16 ||
scope.row.caseFlowId == 17
" @click="caseFilingDetails(scope.row)">归档详情</el-button>
<div class="btnList" v-for="item in buttonList" :key="item.id">
<el-button size="mini" type="text" icon="el-icon-tickets" @click="caseClick(scope.row, item.id)"
v-if="item.id == scope.row.caseFlowId &&
checkPermi([item.buttonAuthFlag]) &&
scope.row.signButtonFlag != 1
">{{ item.nodeName }}</el-button>
</div>
</template>
</el-table-column>
</el-table>
@@ -91,23 +100,27 @@
:caseFlowNumber="caseFlowNumber">
</mediationCaseDetails>
<!-- 案件日志 -->
<mediationCaseLog :showcaseLog="showcaseLog" @cancelcaseLog="cancelcaseLog" :caselogDataArr="caselogDataArr" :flagLoading="flagLoading"></mediationCaseLog>
<mediationCaseLog :showcaseLog="showcaseLog" @cancelcaseLog="cancelcaseLog" :caselogDataArr="caselogDataArr"
:flagLoading="flagLoading"></mediationCaseLog>
<!-- 证据修改 -->
<evidenceDialog :evidenceVisable="evidenceVisable" @cancelEvidence="cancelEvidence" :evidenceData="evidenceData">
</evidenceDialog>
<!-- 缴费 -->
<payDialog :openPay="openPay" :payTitle="payTitle" :formPayDetail="formPayDetail" :payId="payId" :payForm="payForm"
:queryParams="queryParams" @getList="getList" @paycancelRow="paycancelRow" :formPayDetailAffiliate="formPayDetailAffiliate"></payDialog>
:queryParams="queryParams" @getList="getList" @paycancelRow="paycancelRow"
:formPayDetailAffiliate="formPayDetailAffiliate"></payDialog>
<!-- 缴费确认查看详情 -->
<paymentdetailsDialog :openDialog="openDialog" @cancelpaymentdetails="cancelpaymentdetails" :title="payTitle"
:detailform="detailform" :queryParams="queryParams" :flag="flag" :paymentConfirma="paymentConfirma" :isapplicant="isapplicant" @getList="getList">
:detailform="detailform" :queryParams="queryParams" :flag="flag" :paymentConfirma="paymentConfirma"
:isapplicant="isapplicant" @getList="getList">
</paymentdetailsDialog>
<!-- 案件受理 -->
<caseAcceptance :showAcceptance="showAcceptance" @cancelAcceptance="cancelAcceptance"
:caseAcceptanceData="caseAcceptanceData" @getList="getList"></caseAcceptance>
<!-- 被申请人缴费 -->
<respondentPay :openResPay="openResPay" :resPayTitle="resPayTitle" :formResPayDetail="formResPayDetail" :resPayId="resPayId" :resPayForm="resPayForm"
:queryParams="queryParams" @getList="getList" @paycancelRes="paycancelRes" :formResPay="formResPay"></respondentPay>
<respondentPay :openResPay="openResPay" :resPayTitle="resPayTitle" :formResPayDetail="formResPayDetail"
:resPayId="resPayId" :resPayForm="resPayForm" :queryParams="queryParams" @getList="getList"
@paycancelRes="paycancelRes" :formResPay="formResPay"></respondentPay>
<!-- 调解员弹窗 -->
<selectMediator @cancelMediator="cancelMediator" :mediatorVisable="mediatorVisable" :mediatorData="mediatorData"
@getList="getList" :queryParams="queryParams"></selectMediator>
@@ -121,36 +134,50 @@
<timeConfirm @cancelTimeConfirm="cancelTimeConfirm" :timeConfirmVisable="timeConfirmVisable"
:timeConfirmData="timeConfirmData" @getList="getList" :queryParams="queryParams"></timeConfirm>
<!-- 待调解 -->
<mediation @cancelMediation="cancelMediation" :mediationVisable="mediationVisable"
:mediationData="mediationData" @getList="getList" :queryParams="queryParams"></mediation>
<mediation @cancelMediation="cancelMediation" :mediationVisable="mediationVisable" :mediationData="mediationData"
@getList="getList" :queryParams="queryParams"></mediation>
<confirmMediation @cancelConfirmTion="cancelConfirmTion" :confirmTionVisable="confirmTionVisable"
:confirmTionData="confirmTionData" @getList="getList" :queryParams="queryParams"></confirmMediation>
<!-- 归档详情 -->
<caseFilingDetailsPage :showarchiveDetails="showarchiveDetails" :caseFilingData="caseFilingData" @cancelDetail="cancelDetail" :detailsAwardNum="detailsAwardNum" :flagLoadingS="flagLoadingS"></caseFilingDetailsPage>
<caseFilingDetailsPage :showarchiveDetails="showarchiveDetails" :caseFilingData="caseFilingData"
@cancelDetail="cancelDetail" :detailsAwardNum="detailsAwardNum" :flagLoadingS="flagLoadingS">
</caseFilingDetailsPage>
</div>
</template>
<script>
import { caseApplicationList, caseApplicationSelectById,submitCaseApply,selectPaymentDetail,sealApply,selectSealUrl,listCaseLogRecord,msCaseFile,msCaseSign,listDeptApplied,msCaseSignUrlApplyPC} from '@/api/caseManagement/caseManagement.js'
import { listDept } from '@/api/system/dept.js'
import { queryCaseFlowInfo } from '@/api/caseprocessManagement/caseprocessManagement.js'
import {
caseApplicationList,
caseApplicationSelectById,
submitCaseApply,
selectPaymentDetail,
sealApply,
selectSealUrl,
listCaseLogRecord,
msCaseFile,
msCaseSign,
listDeptApplied,
msCaseSignUrlApplyPC,
} from "@/api/caseManagement/caseManagement.js";
import { listDept } from "@/api/system/dept.js";
import { queryCaseFlowInfo } from "@/api/caseprocessManagement/caseprocessManagement.js";
import moment from "moment";
import addCase from './components/addCase.vue'
import evidenceDialog from './components/evidenceDialog.vue';
import caseCompressionPackage from './components/caseCompressionPackage.vue';
import mediationCaseDetails from './components/mediationCaseDetails.vue'
import mediationCaseLog from './components/mediationCaseLog.vue'
import addCase from "./components/addCase.vue";
import evidenceDialog from "./components/evidenceDialog.vue";
import caseCompressionPackage from "./components/caseCompressionPackage.vue";
import mediationCaseDetails from "./components/mediationCaseDetails.vue";
import mediationCaseLog from "./components/mediationCaseLog.vue";
import payDialog from "./components/payDialog.vue";
import respondentPay from "./components/respondentPay.vue"
import paymentdetailsDialog from './components/paymentdetailsDialog.vue'
import caseAcceptance from './components/caseAcceptance.vue'
import selectMediator from './components/selectMediator.vue'
import confirmMediator from './components/confirmMediator.vue'
import departmentMediator from './components/departmentMediator.vue'
import timeConfirm from './components/timeConfirm.vue'
import mediation from './components/mediation.vue'
import confirmMediation from './components/confirmMediation.vue'
import caseFilingDetailsPage from './components/caseFilingDetailsPage.vue'
import respondentPay from "./components/respondentPay.vue";
import paymentdetailsDialog from "./components/paymentdetailsDialog.vue";
import caseAcceptance from "./components/caseAcceptance.vue";
import selectMediator from "./components/selectMediator.vue";
import confirmMediator from "./components/confirmMediator.vue";
import departmentMediator from "./components/departmentMediator.vue";
import timeConfirm from "./components/timeConfirm.vue";
import mediation from "./components/mediation.vue";
import confirmMediation from "./components/confirmMediation.vue";
import caseFilingDetailsPage from "./components/caseFilingDetailsPage.vue";
export default {
name: "caseList",
dicts: ["case_flow_node"],
@@ -163,14 +190,14 @@ export default {
payDialog,
paymentdetailsDialog,
caseAcceptance,
selectMediator,//调解员弹窗
selectMediator, //调解员弹窗
confirmMediator,
departmentMediator,
timeConfirm,
mediation,
confirmMediation,
caseFilingDetailsPage,
respondentPay
respondentPay,
},
data() {
return {
@@ -187,143 +214,148 @@ export default {
// 校验表单
rules: {},
dataList: [],
addVisable: false,//新增弹窗
addVisable: false, //新增弹窗
openPay: false, //缴费弹框
openResPay:false,//被申请人缴费弹窗
openResPay: false, //被申请人缴费弹窗
formPayDetail: {},
formResPayDetail:{},
formResPayDetail: {},
payId: null,
resPayId:null,
resPayId: null,
payForm: {},
resPayForm:{},
openCompressedPackages: false,//压缩包导入弹窗
processVisable: false,//案件详情
showcaseLog: false,//案件日志
openDialog: false,//确认缴费和缴费详情
resPayForm: {},
openCompressedPackages: false, //压缩包导入弹窗
processVisable: false, //案件详情
showcaseLog: false, //案件日志
openDialog: false, //确认缴费和缴费详情
detailform: {}, //缴费详情数据
evidenceVisable: false,//证据修改弹窗
mediationVisable:false,//待调解弹窗
mediationData:{},
payTitle:"",//缴费标题
resPayTitle:'',//被申请人缴费标题
paymentConfirma:{},//缴费确认
showAcceptance:false,//案件受理弹框
caseAcceptanceData:{},//案件受理数据
mediatorVisable:false,//选择调解员弹窗
timeVisable:false,//预约时间弹窗
confirmVisable:false,//确认时间/调解员
caseFlowNumber:{},//案件流程数据
caselogDataArr:[],//案件日志数据
evidenceVisable: false, //证据修改弹窗
mediationVisable: false, //待调解弹窗
mediationData: {},
payTitle: "", //缴费标题
resPayTitle: "", //被申请人缴费标题
paymentConfirma: {}, //缴费确认
showAcceptance: false, //案件受理弹框
caseAcceptanceData: {}, //案件受理数据
mediatorVisable: false, //选择调解员弹窗
timeVisable: false, //预约时间弹窗
confirmVisable: false, //确认时间/调解员
caseFlowNumber: {}, //案件流程数据
caselogDataArr: [], //案件日志数据
flagLoading: true, //案件日志弹框loading
confirmTionVisable:false,//确认调解书弹窗
addModifyData:null,//新增修改传的参数
showarchiveDetails:false,//归档详情弹窗
detailsAwardNum:{},
confirmTionVisable: false, //确认调解书弹窗
addModifyData: null, //新增修改传的参数
showarchiveDetails: false, //归档详情弹窗
detailsAwardNum: {},
flagLoadingS: true,
formPayDetailAffiliate:{},
formResPay:{},
mediatorData:{},
formPayDetailAffiliate: {},
formResPay: {},
mediatorData: {},
flag: null,
caseData: {},
evidenceData: {},
caseDisabled: false,
caseTime: '',
caseTime: "",
deptList: [],
payTitle: '',
payTitle: "",
tabFlag: false,
confirmData: {},
departmentVisable: false,
departmentData: {},
timeConfirmVisable: false,
timeConfirmData: {},
confirmTionData:{},
confirmTionData: {},
buttonList: [],
caseStausArr: [],//案件状态
caseStausArr: [], //案件状态
isapplicant: true, //判断角色申请人或非申请人
caseFilingData:{}
caseFilingData: {},
};
},
created() {
// this.getList(this.queryParams);
this.listDeptFn();
// this.getButtonList()
queryCaseFlowInfo({
pageNum: 1,
pageSize: 100000,
}).then((res) => {
res.rows.forEach((item) => {
if (item.id != 17) {
this.buttonList.push(item);
}
this.caseStausArr.push(item);
});
if (this.$route.query.caseFlowId) {
let querydata = Number(this.$route.query.caseFlowId);
if (querydata > 0) {
this.$set(this.queryParams, 'caseFlowId', querydata)
}
}
this.getList(this.queryParams);
this.listDeptFn()
this.getButtonList()
});
},
methods: {
/**所有按钮事件 */
caseClick(val,type){
if(type == 1){
caseClick(val, type) {
if (type == 1) {
// 提交案件
this.onsubmitRow(val);
}else if(type == 2){
} else if (type == 2) {
// 缴费
this.payStatus(val);
}else if(type == 3 || type == 45){
} else if (type == 3 || type == 45) {
// 确认缴费
this.paymentconfirmationRow(val,type);
}else if(type == 4){
this.paymentconfirmationRow(val, type);
} else if (type == 4) {
// 受理分配
this.caseAccep(val);
}else if(type == 5){
} else if (type == 5) {
// 选择调解员
this.selectMediator(val);
}else if(type == 6){
} else if (type == 6) {
// 核实调解员
this.secretaryConfirm(val);
}else if(type == 7){
} else if (type == 7) {
// 确认调解员
this.department(val);
}else if(type == 8){
} else if (type == 8) {
// 确定调解时间
this.timeConfirm(val);
}else if(type == 9){
} else if (type == 9) {
// 调解
this.mediationClick(val)
}else if(type == 10){
this.mediationClick(val);
} else if (type == 10) {
// 确认调解书
this.confirmMediation(val)
}else if(type == 11){
this.confirmMediation(val);
} else if (type == 11) {
// 签名
this.msCaseSignUrlApplyPCFn(val)
}else if(type == 12){
this.msCaseSignUrlApplyPCFn(val);
} else if (type == 12) {
// 用印申请
this.consultantApplica(val)
}else if(type == 13){
this.consultantApplica(val);
} else if (type == 13) {
// 用印
this.departmentApplica(val)
}else if(type == 14){
this.departmentApplica(val);
} else if (type == 14) {
// 归档
this.caseFiling(val);
}else if(type == 15){
} else if (type == 15) {
// 申请人签收
this.signMediation(val)
}else if(type == 16){
this.signMediation(val);
} else if (type == 16) {
// 被申请人签收
this.receivedMediation(val)
}else if(type == 17){
this.receivedMediation(val);
} else if (type == 17) {
//结束
}else if(type == 44){
} else if (type == 44) {
// 被申请人缴费
this.resPayStatus(val)
this.resPayStatus(val);
}
},
/**查询按钮列表 */
getButtonList() {
queryCaseFlowInfo({
pageNum: 1,
pageSize: 100000
}).then(res => {
console.log(res)
res.rows.forEach(item => {
if(item.id !=17){
this.buttonList.push(item)
}
this.caseStausArr.push(item)
});
})
},
getButtonList() { },
/** 新增案件 */
addCase() {
this.addModifyData =1;
this.addModifyData = 1;
this.addVisable = true;
this.caseData = {};
this.caseDisabled = false;
@@ -331,7 +363,7 @@ export default {
},
/** 查看详情 */
checkDetail(val) {
this.addModifyData =2;
this.addModifyData = 2;
this.addVisable = true;
this.caseData = val;
this.caseDisabled = true;
@@ -339,10 +371,10 @@ export default {
},
/** 修改案件 */
eidtNodeprocess(row) {
this.addModifyData = 3
this.addModifyData = 3;
this.addVisable = true;
this.caseData = row;
this.$set(this.caseData,'flag',2)
this.$set(this.caseData, "flag", 2);
this.caseDisabled = false;
this.tabFlag = false;
},
@@ -389,10 +421,10 @@ export default {
// this.$modal.msgSuccess("立案申请成功");
// })
// .catch(() => { });
msCaseSignUrlApplyPC({ caseId: row.id }).then(res=>{
console.log(res,"PPPPPPPPPPPPPPPPPPPP");
msCaseSignUrlApplyPC({ caseId: row.id }).then((res) => {
console.log(res, "PPPPPPPPPPPPPPPPPPPP");
window.open(res.data.sealUrl);
})
});
},
/** 选择调解员 */
selectMediator(val) {
@@ -404,12 +436,12 @@ export default {
this.timeVisable = true;
},
/** 调解 */
mediationClick(val){
mediationClick(val) {
this.mediationVisable = true;
this.mediationData = val;
},
/** 确认调解书 */
confirmMediation(val){
confirmMediation(val) {
this.confirmTionVisable = true;
this.confirmTionData = val;
},
@@ -447,23 +479,22 @@ export default {
/** 时间改变处理 */
caseTimeChange() {
if (this.caseTime) {
this.queryParams.startTime = moment(
this.caseTime[0]
).format("YYYY-MM-DD HH:mm:ss");
this.queryParams.endTime = moment(
this.caseTime[1]
).format("YYYY-MM-DD HH:mm:ss");
this.queryParams.startTime = moment(this.caseTime[0]).format(
"YYYY-MM-DD HH:mm:ss"
);
this.queryParams.endTime = moment(this.caseTime[1]).format(
"YYYY-MM-DD HH:mm:ss"
);
} else {
this.queryParams.startTime = '';
this.queryParams.endTime = '';
this.queryParams.startTime = "";
this.queryParams.endTime = "";
}
},
/** 获取所有部门 */
listDeptFn() {
listDeptApplied().then(res => {
listDeptApplied().then((res) => {
this.deptList = res.data;
})
});
},
/** 修改证据 */
evidenceUpload(row) {
@@ -499,14 +530,14 @@ export default {
this.timeVisable = false;
},
/**取消调解 */
cancelMediation(){
cancelMediation() {
this.timeConfirmVisable = false;
},
/** 取消确认调解弹窗 */
cancelConfirmTion(){
cancelConfirmTion() {
this.confirmTionVisable = false;
},
cancelMediation(){
cancelMediation() {
this.mediationVisable = false;
},
cancelConfirm() {
@@ -535,163 +566,170 @@ export default {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
})
});
},
// 法律顾问用印申请
consultantApplica(row) {
let paramsValue = {
caseId: row.id,
batchNumber: "",
caseFlowId: row.caseFlowId
}
this.$modal.confirm("你确定要用印申请吗?").then((res) => {
sealApply(paramsValue).then(res => {
caseFlowId: row.caseFlowId,
};
this.$modal
.confirm("你确定要用印申请吗?")
.then((res) => {
sealApply(paramsValue).then((res) => {
this.getList(this.queryParams);
this.$modal.msgSuccess("用印申请成功");
});
})
}).catch(() => {
})
.catch(() => { });
},
// 部门长用印申请
departmentApplica(row) {
this.$modal.confirm("你确定要用印确认吗?").then((res) => {
this.$modal
.confirm("你确定要用印确认吗?")
.then((res) => {
let paramsValue = {
caseId: row.id
}
selectSealUrl(paramsValue).then(res => {
window.open(res.data.sealUrl)
this.$modal.confirm("你确认用印了吗?").then((res) => {
caseId: row.id,
};
selectSealUrl(paramsValue).then((res) => {
window.open(res.data.sealUrl);
this.$modal
.confirm("你确认用印了吗?")
.then((res) => {
this.getList(this.queryParams);
}).catch(() => {
})
.catch(() => { });
});
})
}).catch(() => {
})
.catch(() => { });
},
// 案件受理
caseAccep(row) {
this.caseAcceptanceData = row
this.showAcceptance = true
this.caseAcceptanceData = row;
this.showAcceptance = true;
},
cancelAcceptance() {
this.showAcceptance = false
this.showAcceptance = false;
},
// 缴费确认
paymentconfirmationRow(row,type) {
this.paymentConfirma = row
console.log(this.paymentConfirma)
paymentconfirmationRow(row, type) {
this.paymentConfirma = row;
console.log(this.paymentConfirma);
this.paymentDetails({
id: row.id
})
this.openDialog = true
this.payTitle = "缴费确认"
id: row.id,
});
this.openDialog = true;
this.payTitle = "缴费确认";
this.flag = 0;
this.detailform = {}
this.detailform = {};
if (type == 3) {
// 申请人
this.isapplicant = true
}else {
this.isapplicant = false
this.isapplicant = true;
} else {
this.isapplicant = false;
}
},
cancelpaymentdetails() {
this.openDialog = false
this.openDialog = false;
},
// 查看缴费确认
viewpaymentformRow(row) {
this.paymentDetails({
id: row.id
})
this.payTitle = "缴费单详情"
id: row.id,
});
this.payTitle = "缴费单详情";
this.flag = 1;
this.detailform = {}
this.openDialog = true
this.detailform = {};
this.openDialog = true;
},
// 缴费详情
paymentDetails(val) {
selectPaymentDetail(val).then(res => {
selectPaymentDetail(val).then((res) => {
this.detailform = res.data;
})
});
},
//案件流程
caseFlow(row) {
this.caseFlowNumber = row
this.processVisable = true
this.caseFlowNumber = row;
this.processVisable = true;
},
cancelViewProcess() {
this.processVisable = false
this.processVisable = false;
},
//案件日志
caseLog(row) {
this.caseLogNumber = row
this.showcaseLog = true
this.caseLogNumber = row;
this.showcaseLog = true;
this.flagLoading = true;
listCaseLogRecord({caseId:row.id}).then(res=>{
this.caselogDataArr = res.data
listCaseLogRecord({ caseId: row.id }).then((res) => {
this.caselogDataArr = res.data;
this.flagLoading = false;
})
});
},
cancelcaseLog() {
this.showcaseLog = false
this.showcaseLog = false;
},
// 案件送达
caseFiling(row) {
console.log(row.id)
console.log(row.id);
let paramValues = {
ids:[row.id]
}
this.$modal.confirm("你确定要案件送达吗?").then((res) => {
msCaseFile(paramValues).then(res=>{
ids: [row.id],
};
this.$modal
.confirm("你确定要案件送达吗?")
.then((res) => {
msCaseFile(paramValues).then((res) => {
this.$modal.msgSuccess("案件送达成功");
this.getList(this.queryParams);
});
})
}).catch(() => {
})
.catch(() => { });
},
//申请人签收调解书
signMediation(row) {
this.$modal.confirm("你确定要签收调解书吗?").then((res) => {
this.signingMediationAgreement({caseId:row.id,isSignApply:1})
}).catch(() => {
this.$modal
.confirm("你确定要签收调解书吗?")
.then((res) => {
this.signingMediationAgreement({ caseId: row.id, isSignApply: 1 });
})
.catch(() => { });
},
//被申请人签收调解书
receivedMediation(row) {
this.$modal.confirm("你确定要签收调解书吗?").then((res) => {
this.signingMediationAgreement({caseId:row.id,isSignRespon:1})
}).catch(() => {
this.$modal
.confirm("你确定要签收调解书吗?")
.then((res) => {
this.signingMediationAgreement({ caseId: row.id, isSignRespon: 1 });
})
.catch(() => { });
},
// 申请人和被申请人签收调解书接口
signingMediationAgreement(val){
console.log(val)
msCaseSign(val).then(res=>{
signingMediationAgreement(val) {
console.log(val);
msCaseSign(val).then((res) => {
this.$modal.msgSuccess("签收成功");
this.getList(this.queryParams);
})
});
},
//归档详情
caseFilingDetails(val){
caseFilingDetails(val) {
this.showarchiveDetails = true;
this.caseFilingData = val;
let vals = {id:val.id}
caseApplicationSelectById(vals).then(res=>{
res.data.affiliate.respondentSex = Number(res.data.affiliate.respondentSex)
this.detailsAwardNum = res.data
console.log(this.detailsAwardNum)
this.flagLoadingS = false
})
let vals = { id: val.id };
caseApplicationSelectById(vals).then((res) => {
res.data.affiliate.respondentSex = Number(
res.data.affiliate.respondentSex
);
this.detailsAwardNum = res.data;
console.log(this.detailsAwardNum);
this.flagLoadingS = false;
});
},
cancelDetail() {
this.showarchiveDetails = false;
},
cancelDetail(){
this.showarchiveDetails = false
}
},
};
</script>
+105 -3
View File
@@ -1,27 +1,129 @@
<template>
<div class="app-container home">
调解系统
<div class="header">
<div class="iconTitle"></div>
<div class="headerMain">我的待办</div>
</div>
<div class="homeMain">
<div class="cardList" v-for="(item, index) in pendingTasks" :key="index" @click="pushPage(item.caseFlowId)">
<div class="badge">{{item.caseCount}}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daiban.png" alt="" />
</div>
<div class="cardMain">
<div class="imgTitle">{{ item.caseStatusName }}</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { todoCount } from "@/api/system/homepage.js";
export default {
name: "Index",
data() {
return {
// 版本号
version: "3.8.6"
version: "3.8.6",
pendingTasks: [], //案件代办状态
};
},
created() {
this.gettodoCount();
},
methods: {
goTarget(href) {
window.open(href, "_blank");
},
// 查询代办状态
gettodoCount() {
todoCount({}).then((res) => {
this.pendingTasks = res.data.toDoCountList
console.log(res.data.toDoCountList, "this.pendingTasks");
});
},
// 点击待办按钮跳转
pushPage(status) {
this.$router.push({ path: '/caseManagement/caseManagement/caseList', query: { caseFlowId: status + '' } })
}
}
},
};
</script>
<style scoped lang="scss">
.home {
font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
color: #676a6c;
overflow-x: hidden;
background-color: #f1f1f1;
height: 100vh;
.header {
width: 100%;
height: 80px;
display: flex;
align-items: center;
.iconTitle {
width: 5px;
height: 25px;
background-color: #0f5c9b;
margin-right: 25px;
}
.headerMain {
font-size: 20px;
}
}
.homeMain {
width: 100%;
display: flex;
flex-wrap: wrap;
.cardList {
width: 13%;
height: 200px;
border-radius: 30px;
background-color: #ffffff;
position: relative;
margin-right: 38px;
margin-bottom: 30px;
.badge {
width: 50px;
height: 30px;
text-align: center;
line-height: 30px;
font-size: 18px;
font-weight: 500;
color: #e32a4f;
border-radius: 10px 30px 10px 30px;
background-color: #05baf1;
position: absolute;
right: 0;
}
.cardMain {
width: 100%;
display: flex;
justify-content: center;
margin-top: 20px;
.iconImg {
width: 100px;
height: 110px;
}
.imgTitle {
font-size: 15px;
font-weight: 900;
}
}
}
}
}
</style>
+7 -3
View File
@@ -67,7 +67,8 @@
</div>
<!-- 底部 -->
<div class="el-login-footer">
<span>Copyright © 2023 乙巢(上海)企业管理服务有限公司.</span>
<div>Copyright © 2023 乙巢(上海)企业管理服务有限公司.</div>
<div>Version:1.0.1</div>
</div>
</div>
</template>
@@ -247,8 +248,8 @@ export default {
}
.el-login-footer {
background-color: rgb(126, 131, 135);
height: 40px;
line-height: 40px;
height: 55px;
line-height: 55px;
position: fixed;
bottom: 0;
width: 100%;
@@ -257,6 +258,9 @@ export default {
font-family: Arial;
font-size: 12px;
letter-spacing: 1px;
div {
height: 30%;
}
}
.login-code-img {
height: 38px;
+2 -1
View File
@@ -41,6 +41,8 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
// target: `http://192.168.3.77:8080`,
// target: `http://121.40.189.20:9001`,
target: API,
changeOrigin: true,
pathRewrite: {
@@ -59,7 +61,6 @@ module.exports = {
},
configureWebpack: {
name: name,
devtool: '#eval-source-map',
resolve: {
alias: {
'@': resolve('src')