This commit is contained in:
hhl123456789
2024-03-01 18:14:32 +08:00
19 changed files with 944 additions and 955 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 394 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 校验值
@@ -48,43 +47,4 @@ export function checkRole(value) {
console.error(`need roles! Like checkRole="['admin','editor']"`)
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,
@@ -1,148 +1,148 @@
<template>
<div>
<!-- 案件受理 -->
<el-dialog title="案件受理" :visible="showAcceptance" @close="cancel" :destroy-on-close="true" center>
<el-form ref="courtReviewform" :model="courtReviewform">
<el-form-item label="被申请人是否同意调解:">
<el-radio-group v-model="courtReviewform.agreeFlag">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="调解方式:" v-if="courtReviewform.agreeFlag == 1">
<el-radio-group v-model="courtReviewform.mediationMethod">
<el-radio :label="1">线上调解</el-radio>
<el-radio :label="2">线下调解</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否纸质送达:" v-if="courtReviewform.agreeFlag == 1">
<el-radio-group v-model="courtReviewform.paperFlag">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="是否仲裁确认:" v-if="courtReviewform.agreeFlag == 1" >
<el-radio-group v-model="courtReviewform.arbitrateConfirm">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item> -->
<el-form-item v-if="courtReviewform.agreeFlag == 0" label="拒绝理由:" prop="rejectReason" :rules="[
{
required: true,
message: '拒绝理由不能为空',
trigger: 'blur',
},
]">
<el-input v-model="courtReviewform.rejectReason" type="textarea" :rows="8" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" class="endbutton"><span>确 定</span></el-button>
<el-button @click="cancel" class="endbutton1"><span> 取 消</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { accept } from '@/api/caseManagement/caseManagement.js'
export default {
name: "caseAcceptance",
props: ["showAcceptance", "caseAcceptanceData", "getList", "queryParams"],
data() {
return {
courtReviewform: {
mediationMethod: 2,
paperFlag: 0,
arbitrateConfirm: 0,
agreeFlag: 1
},
};
},
watch: {
showAcceptance(val) {
if (val) {
console.log(this.caseAcceptanceData)
}
},
},
methods: {
submitForm() {
this.$refs["courtReviewform"].validate((valid) => {
if (valid) {
let paramsdata = {
id: this.caseAcceptanceData.id,
caseFlowId: this.caseAcceptanceData.caseFlowId,
batchNumber: ""
}
let mergeValue = Object.assign({}, this.courtReviewform, paramsdata)
accept(mergeValue).then((res) => {
this.$modal.msgSuccess("确认成功");
this.$emit("getList", this.queryParams)
this.cancel();
})
.catch((err) => { });
}
});
},
cancel() {
this.$emit("cancelAcceptance");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
background: #ffffff;
border-radius: 20px;
}
.el-form-item {
margin-left: 10%;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
// line-height: 48px;
}
}
.endbutton1 {
width: 124px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
// line-height: 48px;
}
}
.nowarbitrator {
margin-left: 10%;
}
::v-deep .el-form-item__error {
left: 90px;
}
<template>
<div>
<!-- 案件受理 -->
<el-dialog title="案件受理" :visible="showAcceptance" @close="cancel" :destroy-on-close="true" center>
<el-form ref="courtReviewform" :model="courtReviewform">
<el-form-item label="被申请人是否同意调解:">
<el-radio-group v-model="courtReviewform.agreeFlag">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="调解方式:" v-if="courtReviewform.agreeFlag == 1">
<el-radio-group v-model="courtReviewform.mediationMethod">
<el-radio :label="1">线上调解</el-radio>
<el-radio :label="2">线下调解</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否纸质送达:" v-if="courtReviewform.agreeFlag == 1">
<el-radio-group v-model="courtReviewform.paperFlag">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="是否仲裁确认:" v-if="courtReviewform.agreeFlag == 1" >
<el-radio-group v-model="courtReviewform.arbitrateConfirm">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item> -->
<el-form-item v-if="courtReviewform.agreeFlag == 0" label="拒绝理由:" prop="rejectReason" :rules="[
{
required: true,
message: '拒绝理由不能为空',
trigger: 'blur',
},
]">
<el-input v-model="courtReviewform.rejectReason" type="textarea" :rows="8" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" class="endbutton"><span>确 定</span></el-button>
<el-button @click="cancel" class="endbutton1"><span> 取 消</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { accept } from '@/api/caseManagement/caseManagement.js'
export default {
name: "caseAcceptance",
props: ["showAcceptance", "caseAcceptanceData", "getList", "queryParams"],
data() {
return {
courtReviewform: {
mediationMethod: 2,
paperFlag: 0,
arbitrateConfirm: 0,
agreeFlag: 1
},
};
},
watch: {
showAcceptance(val) {
if (val) {
console.log(this.caseAcceptanceData)
}
},
},
methods: {
submitForm() {
this.$refs["courtReviewform"].validate((valid) => {
if (valid) {
let paramsdata = {
id: this.caseAcceptanceData.id,
caseFlowId: this.caseAcceptanceData.caseFlowId,
batchNumber: ""
}
let mergeValue = Object.assign({}, this.courtReviewform, paramsdata)
accept(mergeValue).then((res) => {
this.$modal.msgSuccess("确认成功");
this.$emit("getList", this.queryParams)
this.cancel();
})
.catch((err) => { });
}
});
},
cancel() {
this.$emit("cancelAcceptance");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
background: #ffffff;
border-radius: 20px;
}
.el-form-item {
margin-left: 10%;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
// line-height: 48px;
}
}
.endbutton1 {
width: 124px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
// line-height: 48px;
}
}
.nowarbitrator {
margin-left: 10%;
}
::v-deep .el-form-item__error {
left: 90px;
}
</style>
@@ -1,366 +1,366 @@
<template>
<div>
<el-dialog title="归档详情" :visible="showarchiveDetails" @close="cancel" :destroy-on-close="true" center>
<div class="loading" v-if="flagLoadingS">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="案件信息" name="five"></el-tab-pane>
<el-tab-pane label="申请人案件证据资料" name="first"></el-tab-pane>
<!-- <el-tab-pane label="被申请人案件证据资料" name="second"></el-tab-pane> -->
<el-tab-pane label="调解书" name="third"></el-tab-pane>
<el-tab-pane label="案件视频" name="fourth" v-if="caseFilingData.mediationMethod == '1'"></el-tab-pane>
<el-tab-pane label="庭审笔录" name="six" v-if="caseFilingData.mediationMethod == '1'"></el-tab-pane>
</el-tabs>
<div v-show="activeName=='first'">
<div v-for="(item,index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType==2" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,2) == 0" description="暂无数据"></el-empty>
</div>
<!-- <div v-show="activeName=='second'">
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
</div> -->
<div v-show="activeName=='third'">
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==7" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,7) == 0" description="暂无数据"></el-empty>
</div>
<div v-show="activeName=='fourth'">
<div style="margin-top:10px;" v-for="(item,index) in detailsAwardNum.caseAttachList" v-if="item.annexType==5">
<video style="background-color: #181717;width: 350px;height: 200px;margin: 10px;" :key="index" :src="fileURL+item.annexPath" controls="controls"></video>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,5) == 0" description="暂无数据"></el-empty>
</div>
<div v-show="activeName=='six'">
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
</div>
<div v-show="activeName=='five'">
<el-form :disabled="true" :model="detailsAwardNum" label-width="130px"
class="demo-ruleForm">
<el-row>
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo">案件信息:</div>
</div>
<el-divider></el-divider>
<el-col :span="24">
<el-form-item label="申请人调解请求">
<el-input v-model="detailsAwardNum.arbitratClaims" placeholder="请输入申请人调解诉求" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="事实和理由">
<el-input v-model="detailsAwardNum.facts" placeholder="请输入事实和理由" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence">
<el-upload class="upload-demo" ref="fileupload" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
:action="UploadUrl()" :on-success="handlSuccess" :on-remove="handleRemove" :on-preview="handlePreview"
:before-remove="beforeRemove" :data="filedata" :headers="headers" multiple :limit="50"
:on-exceed="handleExceed" :file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="证据:">
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 2">
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
{{ item.annexName }}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="调解申请书:">
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 3">
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
{{ item.annexName }}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="调解书:">
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 7">
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
{{ item.annexName }}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo">双方信息:</div>
</div>
<el-divider></el-divider>
</el-col>
<el-col :span="24">
<el-form-item label="选择机构或自然人" prop="affiliate.organizeFlag">
<el-radio-group v-model="detailsAwardNum.affiliate.organizeFlag">
<el-radio :label="0">自然人</el-radio>
<el-radio :label="1">机构</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="申请机构名称">
<el-input v-model="detailsAwardNum.affiliate.applicationName" placeholder="请输入申请机构名称" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="申请人">
<el-input v-model="detailsAwardNum.affiliate.applicationName" placeholder="请输入申请人姓名" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="统一社会信用代码">
<el-input v-model="detailsAwardNum.affiliate.code" placeholder="请输入统一社会信用代码" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="申请人身份证号码">
<el-input v-model="detailsAwardNum.affiliate.code" placeholder="请输入申请人的身份证号" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="申请人邮箱">
<el-input v-model="detailsAwardNum.affiliate.applicationEmail" placeholder="请输入申请人邮箱" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="申请人电话">
<el-input v-model="detailsAwardNum.affiliate.applicationPhone" placeholder="请输入申请人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="法定代表人">
<el-input v-model="detailsAwardNum.affiliate.compLegalPerson" placeholder="请输入法定代表人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人住所">
<el-input v-model="detailsAwardNum.affiliate.applicantHome" placeholder="请输入申请人住所" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人联系地址">
<el-input v-model="detailsAwardNum.affiliate.applicantAddress" placeholder="请输入申请人联系地址" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="代理人联系电话">
<el-input v-model="detailsAwardNum.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent">
<el-input v-model="detailsAwardNum.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="代理人姓名" prop="affiliate.nameAgent">
<el-input v-model="detailsAwardNum.affiliate.nameAgent" placeholder="请输入代理人姓名" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="代理人姓名" prop="affiliate.nameAgent">
<el-input v-model="detailsAwardNum.affiliate.nameAgent" placeholder="请输入代理人姓名" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="代理人邮箱">
<el-input v-model="detailsAwardNum.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="代理人邮箱">
<el-input v-model="detailsAwardNum.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人姓名">
<el-input v-model="detailsAwardNum.affiliate.respondentName" placeholder="请输入被申请人姓名" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人联系电话" >
<el-input v-model="detailsAwardNum.affiliate.respondentPhone" placeholder="请输入被申请人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人身份证号">
<el-input v-model="detailsAwardNum.affiliate.respondentIdentityNum" placeholder="请输入被申请人身份证号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人性别:">
<el-radio-group v-model="detailsAwardNum.affiliate.respondentSex">
<el-radio :label="0">男</el-radio>
<el-radio :label="1">女</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人出生年月日:" prop="affiliate.respondentBirth">
<el-date-picker v-model="detailsAwardNum.affiliate.respondentBirth" type="date" placeholder="被申请人出生年月日">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人申请人住所">
<el-input v-model="detailsAwardNum.affiliate.respondentHome" placeholder="请输入被申请人申请人住所" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人邮箱">
<el-input v-model="detailsAwardNum.affiliate.respondentEmail" placeholder="请输入被申请人邮箱" />
</el-form-item>
</el-col>
</el-row>
<el-col :span="24">
<el-form-item v-for="item in detailsAwardNum.columnValueList" :label="item.name" :key="item.id">
<el-input type="textarea" v-model="item.value"></el-input>
</el-form-item>
</el-col>
</el-form>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
export default {
props: ["showarchiveDetails","detailsAwardNum","videoList","flagLoadingS","trialTranscripts","caseFilingData"],
components: {
},
data() {
return {
activeName: 'five',
fileURL: window.location.origin + "/API",
noData: false,
filedata: {
annexType: 2,
},
fileList: [],
headers: {
Authorization: "Bearer " + getToken(),
},
};
},
watch: {
showarchiveDetails: {
handler(val) {
if (val) {
this.activeName = 'five'
// this.detailsAwardNum.affiliate.respondentSex = Number(this.detailsAwardNum.affiliate.respondentSex)
console.log(this.detailsAwardNum)
}
},
},
},
created(){
},
methods: {
isNoData(data,type){
let resNumber = 0
if(data){
let list = data.filter(item => item.annexType == type)
if(list){
resNumber = list.length
}
}
return resNumber
},
/** 查看证据 */
fileDetil(val) {
window.open(this.fileURL + val);
},
/** 文件上传地址 */
UploadUrl() {
return window.location.origin + "/API/common/upload";
},
/**文件上传成功*/
handlSuccess(res, file) {
this.detailsAwardNum.caseAttachList.push({
annexId: res.annexId,
});
},
/**文件超出个数限制时的钩子*/
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
} 个文件`
);
},
// 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
handleRemove(file, fileList) {
this.caseAttachListArr = this.caseAttachListArr.filter(
(item) => item.annexId != file.annexId
);
},
handlePreview(file) {
window.open(
window.location.origin + "/API" + file.certificatePath,
"_blank"
);
},
handleClick(tab, event) {
},
cancel() {
this.$emit("cancelDetail");
},
},
}
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 850px;
background: #ffffff;
border-radius: 20px;
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
<template>
<div>
<el-dialog title="归档详情" :visible="showarchiveDetails" @close="cancel" :destroy-on-close="true" center>
<div class="loading" v-if="flagLoadingS">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="案件信息" name="five"></el-tab-pane>
<el-tab-pane label="申请人案件证据资料" name="first"></el-tab-pane>
<!-- <el-tab-pane label="被申请人案件证据资料" name="second"></el-tab-pane> -->
<el-tab-pane label="调解书" name="third"></el-tab-pane>
<el-tab-pane label="案件视频" name="fourth" v-if="caseFilingData.mediationMethod == '1'"></el-tab-pane>
<el-tab-pane label="庭审笔录" name="six" v-if="caseFilingData.mediationMethod == '1'"></el-tab-pane>
</el-tabs>
<div v-show="activeName=='first'">
<div v-for="(item,index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType==2" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,2) == 0" description="暂无数据"></el-empty>
</div>
<!-- <div v-show="activeName=='second'">
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
</div> -->
<div v-show="activeName=='third'">
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==7" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,7) == 0" description="暂无数据"></el-empty>
</div>
<div v-show="activeName=='fourth'">
<div style="margin-top:10px;" v-for="(item,index) in detailsAwardNum.caseAttachList" v-if="item.annexType==5">
<video style="background-color: #181717;width: 350px;height: 200px;margin: 10px;" :key="index" :src="fileURL+item.annexPath" controls="controls"></video>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,5) == 0" description="暂无数据"></el-empty>
</div>
<div v-show="activeName=='six'">
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
</div>
<div v-show="activeName=='five'">
<el-form :disabled="true" :model="detailsAwardNum" label-width="130px"
class="demo-ruleForm">
<el-row>
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo">案件信息:</div>
</div>
<el-divider></el-divider>
<el-col :span="24">
<el-form-item label="申请人调解请求">
<el-input v-model="detailsAwardNum.arbitratClaims" placeholder="请输入申请人调解诉求" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="事实和理由">
<el-input v-model="detailsAwardNum.facts" placeholder="请输入事实和理由" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence">
<el-upload class="upload-demo" ref="fileupload" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
:action="UploadUrl()" :on-success="handlSuccess" :on-remove="handleRemove" :on-preview="handlePreview"
:before-remove="beforeRemove" :data="filedata" :headers="headers" multiple :limit="50"
:on-exceed="handleExceed" :file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="证据:">
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 2">
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
{{ item.annexName }}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="调解申请书:">
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 3">
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
{{ item.annexName }}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="调解书:">
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 7">
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
{{ item.annexName }}
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo">双方信息:</div>
</div>
<el-divider></el-divider>
</el-col>
<el-col :span="24">
<el-form-item label="选择机构或自然人" prop="affiliate.organizeFlag">
<el-radio-group v-model="detailsAwardNum.affiliate.organizeFlag">
<el-radio :label="0">自然人</el-radio>
<el-radio :label="1">机构</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="申请机构名称">
<el-input v-model="detailsAwardNum.affiliate.applicationName" placeholder="请输入申请机构名称" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="申请人">
<el-input v-model="detailsAwardNum.affiliate.applicationName" placeholder="请输入申请人姓名" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="统一社会信用代码">
<el-input v-model="detailsAwardNum.affiliate.code" placeholder="请输入统一社会信用代码" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="申请人身份证号码">
<el-input v-model="detailsAwardNum.affiliate.code" placeholder="请输入申请人的身份证号" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="申请人邮箱">
<el-input v-model="detailsAwardNum.affiliate.applicationEmail" placeholder="请输入申请人邮箱" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="申请人电话">
<el-input v-model="detailsAwardNum.affiliate.applicationPhone" placeholder="请输入申请人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="法定代表人">
<el-input v-model="detailsAwardNum.affiliate.compLegalPerson" placeholder="请输入法定代表人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人住所">
<el-input v-model="detailsAwardNum.affiliate.applicantHome" placeholder="请输入申请人住所" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人联系地址">
<el-input v-model="detailsAwardNum.affiliate.applicantAddress" placeholder="请输入申请人联系地址" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="代理人联系电话">
<el-input v-model="detailsAwardNum.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent">
<el-input v-model="detailsAwardNum.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="代理人姓名" prop="affiliate.nameAgent">
<el-input v-model="detailsAwardNum.affiliate.nameAgent" placeholder="请输入代理人姓名" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="代理人姓名" prop="affiliate.nameAgent">
<el-input v-model="detailsAwardNum.affiliate.nameAgent" placeholder="请输入代理人姓名" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
<el-form-item label="代理人邮箱">
<el-input v-model="detailsAwardNum.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
</el-form-item>
</el-col>
<el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
<el-form-item label="代理人邮箱">
<el-input v-model="detailsAwardNum.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人姓名">
<el-input v-model="detailsAwardNum.affiliate.respondentName" placeholder="请输入被申请人姓名" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人联系电话" >
<el-input v-model="detailsAwardNum.affiliate.respondentPhone" placeholder="请输入被申请人联系电话" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人身份证号">
<el-input v-model="detailsAwardNum.affiliate.respondentIdentityNum" placeholder="请输入被申请人身份证号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人性别:">
<el-radio-group v-model="detailsAwardNum.affiliate.respondentSex">
<el-radio :label="0">男</el-radio>
<el-radio :label="1">女</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人出生年月日:" prop="affiliate.respondentBirth">
<el-date-picker v-model="detailsAwardNum.affiliate.respondentBirth" type="date" placeholder="被申请人出生年月日">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人申请人住所">
<el-input v-model="detailsAwardNum.affiliate.respondentHome" placeholder="请输入被申请人申请人住所" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人邮箱">
<el-input v-model="detailsAwardNum.affiliate.respondentEmail" placeholder="请输入被申请人邮箱" />
</el-form-item>
</el-col>
</el-row>
<el-col :span="24">
<el-form-item v-for="item in detailsAwardNum.columnValueList" :label="item.name" :key="item.id">
<el-input type="textarea" v-model="item.value"></el-input>
</el-form-item>
</el-col>
</el-form>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
export default {
props: ["showarchiveDetails","detailsAwardNum","videoList","flagLoadingS","trialTranscripts","caseFilingData"],
components: {
},
data() {
return {
activeName: 'five',
fileURL: window.location.origin + "/API",
noData: false,
filedata: {
annexType: 2,
},
fileList: [],
headers: {
Authorization: "Bearer " + getToken(),
},
};
},
watch: {
showarchiveDetails: {
handler(val) {
if (val) {
this.activeName = 'five'
// this.detailsAwardNum.affiliate.respondentSex = Number(this.detailsAwardNum.affiliate.respondentSex)
console.log(this.detailsAwardNum)
}
},
},
},
created(){
},
methods: {
isNoData(data,type){
let resNumber = 0
if(data){
let list = data.filter(item => item.annexType == type)
if(list){
resNumber = list.length
}
}
return resNumber
},
/** 查看证据 */
fileDetil(val) {
window.open(this.fileURL + val);
},
/** 文件上传地址 */
UploadUrl() {
return window.location.origin + "/API/common/upload";
},
/**文件上传成功*/
handlSuccess(res, file) {
this.detailsAwardNum.caseAttachList.push({
annexId: res.annexId,
});
},
/**文件超出个数限制时的钩子*/
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
} 个文件`
);
},
// 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
handleRemove(file, fileList) {
this.caseAttachListArr = this.caseAttachListArr.filter(
(item) => item.annexId != file.annexId
);
},
handlePreview(file) {
window.open(
window.location.origin + "/API" + file.certificatePath,
"_blank"
);
},
handleClick(tab, event) {
},
cancel() {
this.$emit("cancelDetail");
},
},
}
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 850px;
background: #ffffff;
border-radius: 20px;
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
</style>
@@ -200,9 +200,9 @@ export default {
userId: this.userId
}).then(res => {
this.isSecretaryRole = res.data.isSecretaryRole;
if(this.recordArrMediate){
this.isSecretaryRole = false
}
// if(this.recordArrMediate){
// this.isSecretaryRole = false
// }
})
},
/**上传地址*/
@@ -1,93 +1,93 @@
<template>
<div>
<el-dialog title="案件流程" :visible="processVisable" @close="cancel" center :distroy-on-close="true">
<div class="loading" v-if="flagLoading">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<el-steps class="steps" :active="finishCasenode.length">
<el-step :title="item.content" :description="(item.createNickName || '') + (item.caseNodeTime || '')+(item.nextRoleName || '')" v-for="(item,index) in stepNumber" :key="index"></el-step>
</el-steps>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {selectCaseProgress} from '@/api/caseManagement/caseManagement.js'
export default {
props: ["processVisable","processData","caseFlowNumber"],
data() {
return {
processId:null,
pageData:{},
caseStatus:0,
finishCasenode:[],
stepNumber:[],
flagLoading:true
};
},
watch: {
processVisable(val){
if(val){
this.processId = this.caseFlowNumber.id;
this.selectCaseProgressFn({caseId:this.processId});
}
}
},
methods: {
cancel() {
this.$emit("cancelViewProcess");
},
selectCaseProgressFn(data){
selectCaseProgress(data).then(res=>{
let finishCasenode = res.data.data.finishCasenode;;
this.finishCasenode = finishCasenode;
let inCasenode = res.data.data.inCasenode;
let nextCasenode = res.data.data.nextCasenode;
this.stepNumber= [...finishCasenode,...inCasenode,...nextCasenode];
this.flagLoading =false
})
}
},
};
</script>
<style lang="scss" scoped>
.steps{
display: flex;
flex-wrap: wrap;
}
::v-deep .el-step{
// width: 150px;
flex-basis:25% !important;
margin-right: 20px;
margin-bottom: 20px;
}
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
<template>
<div>
<el-dialog title="案件流程" :visible="processVisable" @close="cancel" center :distroy-on-close="true">
<div class="loading" v-if="flagLoading">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<el-steps class="steps" :active="finishCasenode.length">
<el-step :title="item.content" :description="(item.createNickName || '') + (item.caseNodeTime || '')+(item.nextRoleName || '')" v-for="(item,index) in stepNumber" :key="index"></el-step>
</el-steps>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {selectCaseProgress} from '@/api/caseManagement/caseManagement.js'
export default {
props: ["processVisable","processData","caseFlowNumber"],
data() {
return {
processId:null,
pageData:{},
caseStatus:0,
finishCasenode:[],
stepNumber:[],
flagLoading:true
};
},
watch: {
processVisable(val){
if(val){
this.processId = this.caseFlowNumber.id;
this.selectCaseProgressFn({caseId:this.processId});
}
}
},
methods: {
cancel() {
this.$emit("cancelViewProcess");
},
selectCaseProgressFn(data){
selectCaseProgress(data).then(res=>{
let finishCasenode = res.data.data.finishCasenode;;
this.finishCasenode = finishCasenode;
let inCasenode = res.data.data.inCasenode;
let nextCasenode = res.data.data.nextCasenode;
this.stepNumber= [...finishCasenode,...inCasenode,...nextCasenode];
this.flagLoading =false
})
}
},
};
</script>
<style lang="scss" scoped>
.steps{
display: flex;
flex-wrap: wrap;
}
::v-deep .el-step{
// width: 150px;
flex-basis:25% !important;
margin-right: 20px;
margin-bottom: 20px;
}
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
</style>
@@ -1,113 +1,113 @@
<template>
<div>
<el-dialog
title="案件日志"
:visible="showcaseLog"
@close="cancel"
center
:distroy-on-close="true"
>
<div class="loading" v-if="flagLoading">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<div class="noData" v-if="noData">暂无数据!</div>
<el-timeline v-else>
<el-timeline-item
v-for="(activity, index) in activities"
:key="index"
:timestamp="(index + 1).toString()"
placement="top"
>
<p>{{ activity.content }}</p>
</el-timeline-item>
</el-timeline>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"
><span>取 消</span></el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
props: ["showcaseLog", "flagLoading", "caselogDataArr"],
data() {
return {
reverse: true,
activities: [],
noData: false,
};
},
watch: {
caselogDataArr: {
handler(val) {
if (val && val.length > 0) {
this.noData = false;
this.activities = val;
this.activities.forEach((item) => {
item.content = item.content;
});
} else {
this.noData = true;
}
},
},
},
methods: {
cancel() {
this.$emit("cancelcaseLog");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton1 {
width: 154px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
}
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
.noData {
width: 100%;
height: 400px;
font-size: 30px;
font-weight: 700;
color: #959595;
display: flex;
justify-content: center;
align-items: center;
}
<template>
<div>
<el-dialog
title="案件日志"
:visible="showcaseLog"
@close="cancel"
center
:distroy-on-close="true"
>
<div class="loading" v-if="flagLoading">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<div class="noData" v-if="noData">暂无数据!</div>
<el-timeline v-else>
<el-timeline-item
v-for="(activity, index) in activities"
:key="index"
:timestamp="(index + 1).toString()"
placement="top"
>
<p>{{ activity.content }}</p>
</el-timeline-item>
</el-timeline>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"
><span>取 消</span></el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
props: ["showcaseLog", "flagLoading", "caselogDataArr"],
data() {
return {
reverse: true,
activities: [],
noData: false,
};
},
watch: {
caselogDataArr: {
handler(val) {
if (val && val.length > 0) {
this.noData = false;
this.activities = val;
this.activities.forEach((item) => {
item.content = item.content;
});
} else {
this.noData = true;
}
},
},
},
methods: {
cancel() {
this.$emit("cancelcaseLog");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton1 {
width: 154px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
}
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
.noData {
width: 100%;
height: 400px;
font-size: 30px;
font-weight: 700;
color: #959595;
display: flex;
justify-content: center;
align-items: center;
}
</style>
@@ -1,169 +1,169 @@
<template>
<div>
<el-dialog :title="title" :visible="openDialog" @close="cancel" :destroy-on-close="true" center>
<el-form ref="form" :model="form" label-width="180px">
<el-form-item label="案件编号:" prop="caseNum">
<el-input v-model="form.caseNum" placeholder="" :disabled="true"/>
</el-form-item>
<!-- <el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input v-model="form.caseSubjectAmount" :disabled="true"/>
</el-form-item> -->
<!-- <el-form-item label="缴费人:" prop="applicantName">
<el-input v-model="form.applicationName" placeholder="" />
</el-form-item> -->
<el-form-item label="缴费金额:" prop="feePayable">
<el-input v-model="form.feePayable" :disabled="true"/>
</el-form-item>
<el-form-item label="申请人缴费凭证:" v-if="form.caseAttachList && form.caseAttachList.length > 0">
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.caseAttachList" :key="index"
@click="preview(item.annexPath)">
{{ item.annexName }}
</div>
</el-form-item>
<el-form-item label="被申请人缴费凭证:" v-if="form.resCaseAttachList && form.resCaseAttachList.length > 0">
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.resCaseAttachList" :key="index"
@click="preview(item.annexPath)">
{{ item.annexName }}
</div>
</el-form-item>
<!-- 判断缴费是否通过 -->
<el-form-item label="是否缴费通过:" v-if="flag == 0">
<el-radio-group v-model="yesOrNo">
<el-radio :label="1">通过</el-radio>
<el-radio :label="0">驳回</el-radio>
</el-radio-group>
</el-form-item>
<!-- 缴费驳回原因-->
<el-form-item label="驳回原因:" v-if="yesOrNo == 0" prop="reason" :rules="[{ required: true, message: '请输入驳回原因',trigger: 'blur',},]">
<el-input type="textarea" :rows="2" placeholder="请输入驳回原因" v-model="form.reason"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- <el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确认已缴费</el-button> -->
<el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确 认</el-button>
<el-button @click="cancel" class="endbutton1">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { confirmPaid, resConfirmPaid } from '@/api/caseManagement/caseManagement.js'
export default {
props: ["openDialog", "title", "flag", "detailform", "getList", "paymentConfirma", "queryParams",'isapplicant'],
data() {
return {
form: {
reason: '',//驳回原因
},
yesOrNo: 1,
srcList: [],
};
},
watch: {
detailform: {
handler(val) {
if (val) {
this.form = val;
}
},
},
openDialog: {
handler(val) {
if (val) {
this.yesOrNo = 1
}
}
}
},
methods: {
preview(data) {
window.open(
window.location.origin + "/API" + data,
"_blank"
);
},
// 确认缴费
submitForm() {
let paramsVal = {
caseId: this.paymentConfirma.id,
batchNumber: "",
caseFlowId: this.paymentConfirma.caseFlowId,
yesOrNo: this.yesOrNo,
reason: this.form.reason
}
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.isapplicant) {
confirmPaid(paramsVal).then((res) => {
this.$message({
message: "确认成功",
type: "success",
});
this.cancel();
this.$emit("getList", this.queryParams);
})
console.log('申请人');
} else {
// 被申请人 resConfirmPaid
resConfirmPaid(paramsVal).then((res) => {
this.$message({
message: "确认成功",
type: "success",
});
this.cancel();
this.$emit("getList", this.queryParams);
})
console.log('被申请人');
}
}
})
},
cancel() {
this.$emit("cancelpaymentdetails");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
width: 50%;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
// line-height: 48px;
}
}
.endbutton1 {
width: 124px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
}
}
<template>
<div>
<el-dialog :title="title" :visible="openDialog" @close="cancel" :destroy-on-close="true" center>
<el-form ref="form" :model="form" label-width="180px">
<el-form-item label="案件编号:" prop="caseNum">
<el-input v-model="form.caseNum" placeholder="" :disabled="true"/>
</el-form-item>
<!-- <el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input v-model="form.caseSubjectAmount" :disabled="true"/>
</el-form-item> -->
<!-- <el-form-item label="缴费人:" prop="applicantName">
<el-input v-model="form.applicationName" placeholder="" />
</el-form-item> -->
<el-form-item label="缴费金额:" prop="feePayable">
<el-input v-model="form.feePayable" :disabled="true"/>
</el-form-item>
<el-form-item label="申请人缴费凭证:" v-if="form.caseAttachList">
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.caseAttachList" :key="index"
@click="preview(item.annexPath)">
{{ item.annexName }}
</div>
</el-form-item>
<el-form-item label="被申请人缴费凭证:" v-if="form.resCaseAttachList">
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.resCaseAttachList" :key="index"
@click="preview(item.annexPath)">
{{ item.annexName }}
</div>
</el-form-item>
<!-- 判断缴费是否通过 -->
<el-form-item label="是否缴费通过:" v-if="flag == 0">
<el-radio-group v-model="yesOrNo">
<el-radio :label="1">通过</el-radio>
<el-radio :label="0">驳回</el-radio>
</el-radio-group>
</el-form-item>
<!-- 缴费驳回原因-->
<el-form-item label="驳回原因:" v-if="yesOrNo == 0" prop="reason" :rules="[{ required: true, message: '请输入驳回原因',trigger: 'blur',},]">
<el-input type="textarea" :rows="2" placeholder="请输入驳回原因" v-model="form.reason"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- <el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确认已缴费</el-button> -->
<el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确 认</el-button>
<el-button @click="cancel" class="endbutton1">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { confirmPaid, resConfirmPaid } from '@/api/caseManagement/caseManagement.js'
export default {
props: ["openDialog", "title", "flag", "detailform", "getList", "paymentConfirma", "queryParams",'isapplicant'],
data() {
return {
form: {
reason: '',//驳回原因
},
yesOrNo: 1,
srcList: [],
};
},
watch: {
detailform: {
handler(val) {
if (val) {
this.form = val;
}
},
},
openDialog: {
handler(val) {
if (val) {
this.yesOrNo = 1
}
}
}
},
methods: {
preview(data) {
window.open(
window.location.origin + "/API" + data,
"_blank"
);
},
// 确认缴费
submitForm() {
let paramsVal = {
caseId: this.paymentConfirma.id,
batchNumber: "",
caseFlowId: this.paymentConfirma.caseFlowId,
yesOrNo: this.yesOrNo,
reason: this.form.reason
}
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.isapplicant) {
confirmPaid(paramsVal).then((res) => {
this.$message({
message: "确认成功",
type: "success",
});
this.cancel();
this.$emit("getList", this.queryParams);
})
console.log('申请人');
} else {
// 被申请人 resConfirmPaid
resConfirmPaid(paramsVal).then((res) => {
this.$message({
message: "确认成功",
type: "success",
});
this.cancel();
this.$emit("getList", this.queryParams);
})
console.log('被申请人');
}
}
})
},
cancel() {
this.$emit("cancelpaymentdetails");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
width: 50%;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
// line-height: 48px;
}
}
.endbutton1 {
width: 124px;
height: 37px;
background: #ffffff;
border: 1px solid #d0d0d0;
border-radius: 19px;
span {
width: 31px;
height: 13px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #959595;
}
}
</style>