4 Commits
6 changed files with 150 additions and 75 deletions
+6 -1
View File
@@ -48,5 +48,10 @@ export function fileList(caseAppliId) {
} }
// 确定会议结果 // 确定会议结果
export function confirmMeetingResult(data) { export function confirmMeetingResult(data) {
return axios.post(`tjformal/caseApplication/confirmMeetingResult`, data); let appType = sessionStorage.getItem('type');
if (appType == 'tiaojie') {
return axios.post(`tjformal/caseApplication/confirmMeetingResult`, data);
} else {
return axios.post(`zhongcai/caseApplication/confirmMeetingResult`, data);
}
} }
+19 -3
View File
@@ -49,11 +49,22 @@ export function secretaryRoleByUserId(userId, caseId) {
} }
// 获取证据列表 // 获取证据列表
export function selectById(caseId) { export function selectById(caseId) {
return axios.get(`tjformal/caseApplication/selectById?id=${caseId}`); let appType = sessionStorage.getItem('type');
if (appType == 'tiaojie') {
return axios.get(`tjformal/caseApplication/selectById?id=${caseId}`);
} else {
return axios.get(`zhongcai/caseApplication/selectById?id=${caseId}`);
}
} }
// 根据案件id查询登录人是否为申请人被申请人 // 根据案件id查询登录人是否为申请人被申请人
export function selectRoleMenuByCaseId(caseId) { export function selectRoleMenuByCaseId(caseId) {
return axios.get(`tjformal/video/selectRoleMenuByCaseId?caseId=${caseId}`); let appType = sessionStorage.getItem('type');
if (appType == 'tiaojie') {
return axios.get(`tjformal/video/selectRoleMenuByCaseId?caseId=${caseId}`);
} else {
return axios.get(`zhongcai/video/selectRoleMenuByCaseId?caseId=${caseId}`);
}
} }
// 保存onlyOffice文档 // 保存onlyOffice文档
export function saveOnlyOfficeFile(data) { export function saveOnlyOfficeFile(data) {
@@ -61,7 +72,12 @@ export function saveOnlyOfficeFile(data) {
} }
//获取当前用户的操作权限 //获取当前用户的操作权限
export function getMenuPermsByUser(caseId) { export function getMenuPermsByUser(caseId) {
return axios.get(`tjformal/system/menu/getMenuPermsByUser`); let appType = sessionStorage.getItem('type');
if (appType == 'tiaojie') {
return axios.get(`tjformal/system/menu/getMenuPermsByUser`);
} else {
return axios.get(`zhongcai/system/menu/getMenuPermsByUser`);
}
} }
// 上传文件 // 上传文件
export function videoUpload(data) { export function videoUpload(data) {
+4 -2
View File
@@ -16,7 +16,7 @@
</div> --> </div> -->
<div class="mediationPop"> <div class="mediationPop">
<el-button type="warning" @click="mediationPop">调解</el-button> <el-button type="warning" @click="mediationPop">{{ appType == "tiaojie" ? "调解" : "仲裁" }}</el-button>
</div> </div>
<div class="outRoom"> <div class="outRoom">
<el-button type="danger" @click="exitRoom" v-if="!roleFlag">退出</el-button> <el-button type="danger" @click="exitRoom" v-if="!roleFlag">退出</el-button>
@@ -38,7 +38,8 @@ export default {
roomId: null, roomId: null,
taskId: null, taskId: null,
roleFlag: false, roleFlag: false,
caseId:"" caseId:"",
appType:"tiaojie"
}; };
}, },
methods: { methods: {
@@ -102,6 +103,7 @@ export default {
}, },
}, },
async mounted() { async mounted() {
this.appType = sessionStorage.getItem('type');
this.roomId = this.$route.query.roomId; this.roomId = this.$route.query.roomId;
let roleFlag = this.$route.query.flag; let roleFlag = this.$route.query.flag;
this.caseId = this.$route.query.caseId; this.caseId = this.$route.query.caseId;
+3 -1
View File
@@ -19,7 +19,7 @@
</div> </div>
<div class="mediationPop"> <div class="mediationPop">
<el-button type="warning" @click="mediationPop">调解</el-button> <el-button type="warning" @click="mediationPop">{{ appType == "tiaojie" ? "调解" : "仲裁" }}</el-button>
</div> </div>
</div> </div>
</div> </div>
@@ -37,6 +37,7 @@ export default {
taskId: null, taskId: null,
roleFlag: true, roleFlag: true,
caseId: "", caseId: "",
appType:"tiaojie"
}; };
}, },
methods: { methods: {
@@ -100,6 +101,7 @@ export default {
}, },
}, },
async mounted() { async mounted() {
this.appType = sessionStorage.getItem('type');
this.roomId = this.$route.query.roomId; this.roomId = this.$route.query.roomId;
this.caseId = this.$route.query.caseId; this.caseId = this.$route.query.caseId;
let roleFlag = this.$route.query.flag; let roleFlag = this.$route.query.flag;
+116 -66
View File
@@ -2,7 +2,6 @@
<div class="page"> <div class="page">
<div class="iconImg" v-if="!modileFlag && rightType && rightTypeall" @click="checkList(1)"> <div class="iconImg" v-if="!modileFlag && rightType && rightTypeall" @click="checkList(1)">
<i class="el-icon-d-arrow-left" style="font-size: 30px;color: aqua;"></i> <i class="el-icon-d-arrow-left" style="font-size: 30px;color: aqua;"></i>
<!-- <i class="el-icon-d-arrow-right"></i> -->
</div> </div>
<div class="roompage" @mouseover="mouseHover" v-if="modileFlag"> <div class="roompage" @mouseover="mouseHover" v-if="modileFlag">
<div class="txtContent"> <div class="txtContent">
@@ -27,7 +26,7 @@
</roomFooter> </roomFooter>
</div> </div>
</div> </div>
<div class="roomPhone"> <div class="roomPhone" v-if="!modileFlag">
<div class="videoPage"> <div class="videoPage">
<div :class="sharingType" id="screenShare"> <div :class="sharingType" id="screenShare">
</div> </div>
@@ -40,8 +39,6 @@
</div> </div>
<i class="el-icon-d-arrow-right" style="font-size: 30px;color: aqua;" @click="checkList(2)" <i class="el-icon-d-arrow-right" style="font-size: 30px;color: aqua;" @click="checkList(2)"
v-if="!rightType && rightTypeall"></i> v-if="!rightType && rightTypeall"></i>
<!-- <i class="el-icon-d-arrow-left" style="font-size: 30px;color: aqua;" @click="checkList(2)"
v-if="!rightType && !rightTypeall"></i> -->
</div> </div>
<div class="footerPhone"> <div class="footerPhone">
<roomFooterPhone @exitRoom="exitRoom" @micClickOn="micClickOn" @micClickOff="micClickOff" <roomFooterPhone @exitRoom="exitRoom" @micClickOn="micClickOn" @micClickOff="micClickOff"
@@ -50,17 +47,6 @@
:videoFlag="videoFlag" :sharFlag="sharFlag"></roomFooterPhone> :videoFlag="videoFlag" :sharFlag="sharFlag"></roomFooterPhone>
</div> </div>
</div> </div>
<!-- <div class="header">
<roomFooterPhone @exitRoom="exitRoom"></roomFooterPhone>
</div>
<div class="bodyVideo">
<div :class="userClassPhone" id="localStream">
<div class="userNamePhone">{{ userId }}</div>
</div>
<div :class="userClassPhone" v-for="(item, index) in userList" :key="index" :id="item">
<div class="userNamePhone">{{ item }}</div>
</div>
</div> -->
</div> </div>
<!-- 语音转文字弹窗 --> <!-- 语音转文字弹窗 -->
<el-drawer title="会议内容" :visible.sync="textVisible" :modal="false"> <el-drawer title="会议内容" :visible.sync="textVisible" :modal="false">
@@ -81,14 +67,16 @@
:on-change="beforeUpload" :on-success="handlSuccess" :file-list="fileList" v-if="appFlag"> :on-change="beforeUpload" :on-success="handlSuccess" :file-list="fileList" v-if="appFlag">
<el-button slot="trigger" size="small" type="primary">申请人上传证据</el-button> <el-button slot="trigger" size="small" type="primary">申请人上传证据</el-button>
</el-upload> </el-upload>
<el-upload ref="upload1" :limit="1" :action="UploadUrl()" :headers="headers1" :data="filedata1" <el-upload ref="upload1" :limit="1" :action="UploadUrl()" :headers="headers1"
:on-change="beforeUpload1" :on-success="handlSuccess1" :file-list="fileList1" v-if="resFlag"> :data="appType == 'tiaojie' ? filedata1 : filedataz1" :on-change="beforeUpload1" :on-success="handlSuccess1"
:file-list="fileList1" v-if="resFlag">
<el-button slot="trigger" size="small" type="primary">被申请人上传证据</el-button> <el-button slot="trigger" size="small" type="primary">被申请人上传证据</el-button>
</el-upload> </el-upload>
<el-upload ref="upload3" :limit="1" :action="UploadUrl()" :headers="headers3" :data="filedata3" <el-upload ref="upload3" :limit="1" :action="UploadUrl()" :headers="headers3"
:on-change="beforeUpload3" :on-success="handlSuccess3" :file-list="fileList3" accept=".doc,.docx" :data="appType == 'tiaojie' ? filedata3 : filedataz3" :on-change="beforeUpload3" :on-success="handlSuccess3"
v-if="updataFlag"> :file-list="fileList3" accept=".doc,.docx" v-if="updataFlag">
<el-button slot="trigger" size="small" type="primary">上传调解书</el-button> <!-- <el-button slot="trigger" size="small" type="primary">上传调解书</el-button> -->
<el-button slot="trigger" size="small" type="primary">{{ appType == "tiaojie" ? "上传调解书" : "上传裁决书" }}</el-button>
</el-upload> </el-upload>
</div> </div>
<div class="list"> <div class="list">
@@ -107,7 +95,7 @@
</div> </div>
</div> </div>
<div class="mediate" v-if="mediateFile.length > 0"> <div class="mediate" v-if="mediateFile.length > 0">
<div style="font-size: 20px;margin-bottom: 10PX;">调解书:</div> <div style="font-size: 20px;margin-bottom: 10PX;">{{ appType == "tiaojie" ? "调解书" : "裁决书" }}</div>
<div style="color: #104fad; cursor: pointer" v-for="(item, index) in mediateFile" :key="index" <div style="color: #104fad; cursor: pointer" v-for="(item, index) in mediateFile" :key="index"
@click="preview(item, 1)"> @click="preview(item, 1)">
{{ item.annexName }} {{ item.annexName }}
@@ -115,7 +103,7 @@
</div> </div>
</div> </div>
<div v-if="modileFlag && updataFlag"> <div v-if="modileFlag && updataFlag">
<el-form label-width="100px"> <el-form label-width="100px" v-if="appType == 'tiaojie'">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="调解结果:"> <el-form-item label="调解结果:">
<el-radio-group v-model="formData.mediaResult"> <el-radio-group v-model="formData.mediaResult">
@@ -136,6 +124,34 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form> </el-form>
<el-form v-if="appType == 'zhongcai'">
<el-col :span="24">
<el-form-item label="被申请人是否缺席:">
<el-radio-group v-model="formData1.appliIsAbsen">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="申请人是否缺席:">
<el-radio-group v-model="formData1.isAbsence">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="被申请人对上述材料的质证意见">
<el-input type="textarea" v-model="formData1.respondentOpinion" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="申请人对上述材料的质证意见">
<el-input type="textarea" v-model="formData1.applicantOpinion" placeholder="请输入" />
</el-form-item>
</el-col>
</el-form>
</div> </div>
<div v-if="modileFlag && updataFlag"> <div v-if="modileFlag && updataFlag">
<el-button style="width:100%;" type="primary" @click="determineMeeting" :disabled="!updataFlag">确定</el-button> <el-button style="width:100%;" type="primary" @click="determineMeeting" :disabled="!updataFlag">确定</el-button>
@@ -208,7 +224,11 @@ export default {
mediateFile: [], mediateFile: [],
formData: { formData: {
mediaResult: 1, mediaResult: 1,
sealFlag: 1 sealFlag: 1,
},
formData1: {
appliIsAbsen: 0,
isAbsence: 0,
}, },
caseFlowId: null, caseFlowId: null,
headers: { headers: {
@@ -230,6 +250,11 @@ export default {
officeFlag: 0, officeFlag: 0,
caseId: null, caseId: null,
}, },
filedataz1: {
annexType: 6,
officeFlag: 0,
caseId: null,
},
fileList1: [], fileList1: [],
headers3: { headers3: {
// Authorization: "Bearer " + token, // Authorization: "Bearer " + token,
@@ -241,16 +266,28 @@ export default {
isMediaBook: 1, isMediaBook: 1,
caseId: null, caseId: null,
}, },
filedataz3: {
annexType: 3,
officeFlag: 0,
isMediaBook: 1,
caseId: null,
},
fileList3: [], fileList3: [],
editFlag: false, editFlag: false,
micFlag: true, micFlag: true,
videoFlag: true, videoFlag: true,
sharFlag: true, sharFlag: true,
appType: "tiaojie",
timer: null
}; };
}, },
methods: { methods: {
UploadUrl() { UploadUrl() {
return window.location.origin + "/tjformal/video/upload"; if (this.appType == "tiaojie") {
return window.location.origin + "/tjformal/video/upload";
} else if (this.appType == "zhongcai") {
return window.location.origin + "/zhongcai/video/upload";
}
}, },
/**移动端点击换出/隐藏视频列表 */ /**移动端点击换出/隐藏视频列表 */
checkList(data) { checkList(data) {
@@ -364,8 +401,10 @@ export default {
this.fileList1 = fileList; this.fileList1 = fileList;
if (file.name.indexOf("docx") == -1) { if (file.name.indexOf("docx") == -1) {
this.filedata1.officeFlag = 0; this.filedata1.officeFlag = 0;
this.filedataz1.officeFlag = 0;
} else { } else {
this.filedata1.officeFlag = 1; this.filedata1.officeFlag = 1;
this.filedataz1.officeFlag = 1;
} }
}, },
// 文件上传成功 // 文件上传成功
@@ -380,6 +419,7 @@ export default {
beforeUpload3(file, fileList) { beforeUpload3(file, fileList) {
this.fileList3 = fileList; this.fileList3 = fileList;
this.filedata3.officeFlag = 1; this.filedata3.officeFlag = 1;
this.filedataz3.officeFlag = 1;
}, },
// 文件上传成功 // 文件上传成功
handlSuccess3(res, file) { handlSuccess3(res, file) {
@@ -391,29 +431,31 @@ export default {
this.selectByIdFn(this.caseId); this.selectByIdFn(this.caseId);
}, },
preview(item, type) { preview(item, type) {
if (this.modileFlag) { if (this.modileFlag && item.onlyOfficeFileId) {
if (item.onlyOfficeFileId) { let flag = 1;
// this.$router.push({ if (this.editFlag && type != 0) {
// path: "/onlyoffice", flag = 1;
// query: { id: item.onlyOfficeFileId, flag: flag }, } else {
// }); flag = 0;
let flag = 1; }
if (this.editFlag && type != 0) { let token = sessionStorage.getItem("token");
flag = 1; if (this.appType == "tiaojie") {
} else {
flag = 0;
}
let token = sessionStorage.getItem("token");
window.open( window.open(
`http://121.40.189.20:9002/onlyoffice?id=${item.onlyOfficeFileId}&flag=${flag}&token=${token}`, `http://121.40.189.20:9002/onlyoffice?id=${item.onlyOfficeFileId}&flag=${flag}&token=${token}`,
"_black" "_black"
// `http://localhost:81/onlyoffice?id=${item.onlyOfficeFileId}&flag=${flag}&token=${token}`, // `http://localhost:81/onlyoffice?id=${item.onlyOfficeFileId}&flag=${flag}&token=${token}`,
// "_black" // "_black"
); );
} else { }else if(this.appType == "zhongcai"){
window.open(window.location.origin + '/tjformal' + item.annexPath, "_black"); window.open(
`http://121.40.189.20:8000/onlyoffice?id=${item.onlyOfficeFileId}&flag=${flag}&token=${token}`,
"_black"
// `http://localhost:81/onlyoffice?id=${item.onlyOfficeFileId}&flag=${flag}&token=${token}`,
// "_black"
);
} }
}else{
} else {
window.open(window.location.origin + '/tjformal' + item.annexPath, "_black"); window.open(window.location.origin + '/tjformal' + item.annexPath, "_black");
} }
@@ -475,12 +517,22 @@ export default {
this.mediateFile = []; this.mediateFile = [];
let fileList = res.data.caseAttachList; let fileList = res.data.caseAttachList;
fileList.forEach((item) => { fileList.forEach((item) => {
if (item.annexType == 2) { if (this.appType == "tiaojie") {
this.applicantFile.push(item); if (item.annexType == 2) {
} else if (item.annexType == 12) { this.applicantFile.push(item);
this.resFile.push(item); } else if (item.annexType == 12) {
} else if (item.annexType == 7) { this.resFile.push(item);
this.mediateFile.push(item); } else if (item.annexType == 7) {
this.mediateFile.push(item);
}
} else if (this.appType == "zhongcai") {
if (item.annexType == 2) {
this.applicantFile.push(item);
} else if (item.annexType == 6) {
this.resFile.push(item);
} else if (item.annexType == 3) {
this.mediateFile.push(item);
}
} }
}); });
}); });
@@ -494,6 +546,7 @@ export default {
}, },
async exitRoom() { async exitRoom() {
// // 关闭识别 // // 关闭识别
clearInterval(this.timer)
Object.keys(this.asrList).forEach((key) => { Object.keys(this.asrList).forEach((key) => {
this.asrList[key].stop(); this.asrList[key].stop();
}); });
@@ -643,7 +696,7 @@ export default {
mediationPop() { mediationPop() {
this.drawerMediatio = true; this.drawerMediatio = true;
this.selectByIdFn(this.caseId); this.selectByIdFn(this.caseId);
setInterval(() => { this.timer = setInterval(() => {
this.selectByIdFn(this.caseId); this.selectByIdFn(this.caseId);
}, 8000); }, 8000);
this.selectRoleMenuByCaseIdFn(this.caseId); this.selectRoleMenuByCaseIdFn(this.caseId);
@@ -651,11 +704,17 @@ export default {
}, },
// 确定会议结果 // 确定会议结果
determineMeeting() { determineMeeting() {
let valueMeeting = { let valueMeeting = {};
id: this.caseId, if (this.appType == "tiaojie") {
mediaResult: this.formData.mediaResult, valueMeeting = {
sealFlag: this.formData.sealFlag, id: this.caseId,
caseFlowId: this.caseFlowId mediaResult: this.formData.mediaResult,
sealFlag: this.formData.sealFlag,
caseFlowId: this.caseFlowId
}
} else if (this.appType == "zhongcai") {
this.formData1.caseAppliId = this.caseId;
valueMeeting = this.formData1;
} }
confirmMeetingResult(valueMeeting).then(res => { confirmMeetingResult(valueMeeting).then(res => {
if (res.code == 200) { if (res.code == 200) {
@@ -699,7 +758,7 @@ export default {
this.drawerSize = "75%" this.drawerSize = "75%"
} }
} }
} },
}, },
async mounted() { async mounted() {
if (this.userList.length == 1) { if (this.userList.length == 1) {
@@ -726,7 +785,9 @@ export default {
this.headers3.Authorization = "Bearer " + this.token; this.headers3.Authorization = "Bearer " + this.token;
this.filedata.caseId = this.caseId; this.filedata.caseId = this.caseId;
this.filedata1.caseId = this.caseId; this.filedata1.caseId = this.caseId;
this.filedataz1.caseId = this.caseId;
this.filedata3.caseId = this.caseId; this.filedata3.caseId = this.caseId;
this.filedataz3.caseId = this.caseId;
window.sessionStorage.setItem("token", this.token); window.sessionStorage.setItem("token", this.token);
window.sessionStorage.setItem("userId", this.id); window.sessionStorage.setItem("userId", this.id);
this.secretaryRoleByUserIdFn(this.id, this.caseId); this.secretaryRoleByUserIdFn(this.id, this.caseId);
@@ -795,6 +856,7 @@ export default {
}; };
}, },
created() { created() {
this.appType = sessionStorage.getItem('type');
trtc = TRTC.create(); trtc = TRTC.create();
}, },
}; };
@@ -935,14 +997,6 @@ export default {
color: #ffffff; color: #ffffff;
} }
/* .header {
width: 100%;
height: 8%;
background-color: #716c6c;
display: flex;
flex-direction: row-reverse;
align-items: center;
} */
/* 移动端样式 */ /* 移动端样式 */
.roomPhone { .roomPhone {
width: 100%; width: 100%;
@@ -1033,10 +1087,6 @@ export default {
bottom: 8px; bottom: 8px;
} }
.fileList {
/* max-height: 300px; */
/* overflow-y: scroll; */
}
.list { .list {
display: flex; display: flex;
+1 -1
View File
@@ -29,7 +29,7 @@ module.exports = defineConfig({
'^/zhongcai': '' // 将/api前缀重写为空字符串 '^/zhongcai': '' // 将/api前缀重写为空字符串
}, },
}, },
'/zhongcaiz': { '/zhongcaiprod': {
target: 'https://api.xayunmei.com/zhongcaiapi', // 后端服务器地址 target: 'https://api.xayunmei.com/zhongcaiapi', // 后端服务器地址
changeOrigin: true, // 是否改变Origin头信息 changeOrigin: true, // 是否改变Origin头信息
secure : false, secure : false,