39 Commits
Author SHA1 Message Date
gyj 06cd25c936 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Frontend into gyj 2024-05-31 08:56:48 +08:00
gyj b7fd6444b1 修改ip 2024-05-31 08:56:32 +08:00
hanchaoboandGitea d58fb3582c Merge branch 'hcb' of SH-Arbitrate/Arbitrate-Frontend into dev 2024-05-30 18:06:43 +08:00
hanchaobo 027fadfd36 bug修改 2024-05-30 18:06:12 +08:00
hanchaobo 377c33c6b5 bug修改 2024-05-30 18:00:30 +08:00
gaogaoyujieandGitea a15fffb8b1 Merge branch 'gyj' of SH-Arbitrate/Arbitrate-Frontend into dev 2024-05-30 16:18:06 +08:00
gyj 26e8b30555 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Frontend into gyj 2024-05-30 16:17:02 +08:00
gyj 7d8c96071d 修改短信bug 2024-05-30 16:16:41 +08:00
gaogaoyujieandGitea 9ab4d87e21 Merge branch 'gyj' of SH-Arbitrate/Arbitrate-Frontend into dev 2024-05-29 10:07:24 +08:00
gyj 59b8773ce0 修改冲突 2024-05-29 10:05:42 +08:00
gyj f4cec02f6e 短信修改 2024-05-29 10:01:34 +08:00
hanchaoboandGitea 002893cf07 Merge branch 'hcb' of SH-Arbitrate/Arbitrate-Frontend into dev 2024-05-29 09:56:19 +08:00
hanchaobo 1e85a8b4e8 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Frontend into hcb 2024-05-29 09:55:38 +08:00
hanchaobo 7c9d7010e1 邮箱界面 2024-05-29 09:55:27 +08:00
hanchaoboandGitea f291bda89e Merge branch 'hcb' of SH-Arbitrate/Arbitrate-Frontend into dev 2024-05-28 09:01:40 +08:00
hanchaobo e5390e9721 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Frontend into hcb 2024-05-28 09:00:35 +08:00
hanchaobo fea5e406b6 bug修改 2024-05-28 09:00:23 +08:00
hanchaoboandGitea b275c86bde Merge branch 'hcb' of SH-Arbitrate/Arbitrate-Frontend into dev 2024-05-24 11:13:25 +08:00
hanchaobo 28663c1341 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Frontend into hcb 2024-05-24 11:12:08 +08:00
hanchaobo 44d5f97807 案件新增,多人多机构 2024-05-24 11:11:58 +08:00
hanchaoboandGitea 5d9919fbfa Merge branch 'hcb' of SH-Arbitrate/Arbitrate-Frontend into dev 2024-05-20 16:58:15 +08:00
hanchaobo fb5f88710a Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Frontend into hcb 2024-05-20 16:56:48 +08:00
hanchaobo 7cf0427b56 裁决书上传无法更新问题 2024-05-20 16:56:38 +08:00
gaogaoyujieandGitea bede7d0dc2 Merge branch 'gyj' of SH-Arbitrate/Arbitrate-Frontend into dev 2024-05-17 15:56:20 +08:00
gyj dd8c361b67 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Frontend into gyj 2024-05-17 15:53:16 +08:00
gyj f7c098940b 修改新增页面样式 2024-05-17 15:52:46 +08:00
hanchaoboandGitea 240ee96a33 Merge branch 'hcb' of SH-Arbitrate/Arbitrate-Frontend into dev 2024-05-16 16:18:09 +08:00
hanchaobo d4c5610f53 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Frontend into hcb 2024-05-16 16:17:14 +08:00
hanchaobo 8b147a46f3 bug修改 2024-05-16 16:17:04 +08:00
gaogaoyujieandGitea f846f5bce2 Merge branch 'gyj' of SH-Arbitrate/Arbitrate-Frontend into dev 2024-05-16 16:12:03 +08:00
gyj 25f13bbbe9 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Frontend into gyj 2024-05-16 16:11:03 +08:00
gyj 5e8091a164 bug修改 2024-05-16 16:10:49 +08:00
hanchaobo b79b8520c1 禅道bug515 2024-05-15 18:07:08 +08:00
hanchaoboandGitea 0f27b71dce Merge branch 'hcb' of SH-Arbitrate/Arbitrate-Frontend into dev 2024-05-14 15:47:14 +08:00
hanchaobo fe5e2497a2 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Frontend into hcb 2024-05-14 15:45:59 +08:00
hanchaobo 8424561111 视频会议,onlyoffice 2024-05-14 15:45:47 +08:00
gaogaoyujieandGitea 349eed537c Merge branch 'gyj' of SH-Arbitrate/Arbitrate-Frontend into dev 2024-05-14 15:39:37 +08:00
gyj 421a8fded4 Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Arbitrate-Frontend into gyj 2024-05-14 15:38:01 +08:00
gyj 95ab58c156 修改测试bug 2024-05-14 15:37:44 +08:00
22 changed files with 1942 additions and 1159 deletions
+1
View File
@@ -7,6 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= webpackConfig.name %></title> <title><%= webpackConfig.name %></title>
<script src="http://121.40.189.20:8899/web-apps/apps/api/documents/api.js"></script>
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]--> <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<style> <style>
html, html,
+8
View File
@@ -164,3 +164,11 @@ export function caseApplicationList(data) {
params: data params: data
}) })
} }
// 根据案件id查询当前登陆人是否为仲裁员
export function secretaryRoleByUserId(data) {
return request({
url: '/video/secretaryRoleByUserId',
method: 'get',
params: data
})
}
+31
View File
@@ -18,3 +18,34 @@ export function smsList(data,params) {
params:params params:params
}) })
} }
// 更新邮件发送记录
export function update(data) {
return request({
url: 'sendMailRecord/update',
})
}
// 分页查询短信
export function recordList(data) {
return request({
url: '/shortMessage/recordList',
method: 'get',
params: data
})
}
//更新短信内容
export function updateSendContent(data) {
return request({
url: 'shortMessage/updateSendContent',
method: 'post',
data: data,
})
}
// 重新发送短信
export function reSendShortMessage(data) {
return request({
url: 'shortMessage/reSendShortMessage',
method: 'post',
data: data,
})
}
+20
View File
@@ -0,0 +1,20 @@
import request from '@/utils/request'
// 获取onlyoffice配置文件
export function getOnlyoffice(params) {
return request({
url: '/onlyOffice',
// headers: {
// isToken: false
// },
method: 'get',
params: params
})
}
// 保存onlyoffice文档
export function saveOnlyOfficeFile(data) {
return request({
url: '/caseApplication/saveOnlyOfficeFile',
method: 'post',
data: data
})
}
+5
View File
@@ -61,6 +61,11 @@ export const constantRoutes = [
component: () => import('@/views/error/401'), component: () => import('@/views/error/401'),
hidden: true hidden: true
}, },
{
path: '/onlyoffice',
component: () => import('@/views/onlyoffice/onlyoffice'),
hidden: true
},
{ {
path: '', path: '',
component: Layout, component: Layout,
+1
View File
@@ -15,5 +15,6 @@ const getters = {
topbarRouters:state => state.permission.topbarRouters, topbarRouters:state => state.permission.topbarRouters,
defaultRoutes:state => state.permission.defaultRoutes, defaultRoutes:state => state.permission.defaultRoutes,
sidebarRouters:state => state.permission.sidebarRouters, sidebarRouters:state => state.permission.sidebarRouters,
userId:state => state.user.userId,
} }
export default getters export default getters
+4
View File
@@ -11,6 +11,9 @@ const user = {
}, },
mutations: { mutations: {
SET_USERID:(state,userId) => {
state.userId = userId
},
SET_TOKEN: (state, token) => { SET_TOKEN: (state, token) => {
state.token = token state.token = token
}, },
@@ -60,6 +63,7 @@ const user = {
} }
commit('SET_NAME', user.userName) commit('SET_NAME', user.userName)
commit('SET_AVATAR', avatar) commit('SET_AVATAR', avatar)
commit('SET_USERID',user.userId)
resolve(res) resolve(res)
}).catch(error => { }).catch(error => {
reject(error) reject(error)
+16 -10
View File
@@ -5,7 +5,7 @@
<el-input style="width:180px" v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable @keyup.enter.native="handleQuery" /> <el-input style="width:180px" v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="案件批号" prop="caseNum"> <el-form-item label="案件批号" prop="caseNum">
<el-input style="width:180px" v-model="queryParams.batchNumber" placeholder="请输入案件批号" clearable @keyup.enter.native="handleQuery" /> <el-input style="width:180px" @input="handleInput" v-model="queryParams.batchNumber" placeholder="请输入案件批号" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="申请人" prop="applicantName"> --> <!-- <el-form-item label="申请人" prop="applicantName"> -->
<!-- <el-input <!-- <el-input
@@ -130,7 +130,7 @@
checkPermi(['caseManagement:list:pay']) && btnStatus checkPermi(['caseManagement:list:pay']) && btnStatus
">缴费</el-button> ">缴费</el-button>
<el-button size="mini" type="text" icon="el-icon-zoom-in" @click="paymentconfirmationRow(scope.row)" v-if="checkPermi(['caseManagement:list:payconfirm']) && btnStatus&&scope.row.caseStatus==3">确认缴费</el-button> <el-button size="mini" type="text" icon="el-icon-zoom-in" @click="paymentconfirmationRow(scope.row)" v-if="checkPermi(['caseManagement:list:payconfirm']) && btnStatus&&scope.row.caseStatus==3">确认缴费</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="viewpaymentformRow(scope.row)" v-if="checkPermi(['caseManagement:list:detail'])">查看缴费单</el-button> <el-button size="mini" type="text" icon="el-icon-edit" @click="viewpaymentformRow(scope.row)" v-if="checkPermi(['caseManagement:list:detail'])&&scope.row.caseStatus>2">查看缴费单</el-button>
<el-button size="mini" type="text" icon="el-icon-tickets" @click="evidenceListS(scope.row)" >证据清单</el-button> <el-button size="mini" type="text" icon="el-icon-tickets" @click="evidenceListS(scope.row)" >证据清单</el-button>
<!-- <el-button <!-- <el-button
size="mini" size="mini"
@@ -203,7 +203,7 @@
<el-button size="mini" type="text" icon="el-icon-edit" <el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 16 && checkPermi(['caseManagement:list:archive']) && btnStatus" v-if="scope.row.caseStatus == 16 && checkPermi(['caseManagement:list:archive']) && btnStatus"
@click="showCasefilingModel(scope.row, 6)">案件归档</el-button> @click="showCasefilingModel(scope.row, 6)">案件归档</el-button>
<el-button size="mini" type="text" icon="el-icon-tickets" @click="detailsAwardList(scope.row)">案件详情</el-button> <!-- <el-button size="mini" type="text" icon="el-icon-tickets" @click="detailsAwardList(scope.row)">案件详情</el-button> -->
<!-- 暂时隐藏后期可能会放其他地方 --> <!-- 暂时隐藏后期可能会放其他地方 -->
<!-- <el-button v-if="checkPermi(['caseManagement:list:listEvidence']) && scope.row.caseStatus <= 1 && btnStatus" <!-- <el-button v-if="checkPermi(['caseManagement:list:listEvidence']) && scope.row.caseStatus <= 1 && btnStatus"
size="mini" type="text" icon="el-icon-upload" @click="uploadCase(scope.row)">上传证据目录</el-button> --> size="mini" type="text" icon="el-icon-upload" @click="uploadCase(scope.row)">上传证据目录</el-button> -->
@@ -225,7 +225,7 @@
@pagination="getcaseApply(queryParams)" /> @pagination="getcaseApply(queryParams)" />
<!-- 立案申请弹框 --> <!-- 立案申请弹框 -->
<caseentryDialog :visible="visible" @cancel="cancel" :form="form" :queryParams="queryParams" <caseentryDialog :visible="visible" @cancel="cancel" :form="form" :detailsAwardForm="detailsAwardForm" :queryParams="queryParams"
:dialogtitle="dialogtitle" :getcaseApply="getcaseApply" :flag="flag" :caseAttachList="caseAttachList" :dialogtitle="dialogtitle" :getcaseApply="getcaseApply" :flag="flag" :caseAttachList="caseAttachList"
:initpaymentArr="initpaymentArr" :initpaymentArr1="initpaymentArr1" :columnValues="columnValues"></caseentryDialog> :initpaymentArr="initpaymentArr" :initpaymentArr1="initpaymentArr1" :columnValues="columnValues"></caseentryDialog>
<!-- 批量申请弹框 openbatch--> <!-- 批量申请弹框 openbatch-->
@@ -305,9 +305,9 @@
<!-- 送达裁决书页面 --> <!-- 送达裁决书页面 -->
<mailawardDialog :openMailawardDialog="openMailawardDialog" @closeMailaward="closeMailaward" :mailawardata="mailawardata" :emailobj="emailobj" @getcaseApply="getcaseApply" :queryParams="queryParams"></mailawardDialog> <mailawardDialog :openMailawardDialog="openMailawardDialog" @closeMailaward="closeMailaward" :mailawardata="mailawardata" :emailobj="emailobj" @getcaseApply="getcaseApply" :queryParams="queryParams"></mailawardDialog>
<!-- 裁决书案件详情 --> <!-- 裁决书案件详情 -->
<detailsAward :showarchiveDetails="showarchiveDetails" @cancelDetail="cancelDetail" :detailsAwardNum="detailsAwardNum" :videoList="videoList" <!-- <detailsAward :showarchiveDetails="showarchiveDetails" @cancelDetail="cancelDetail" :detailsAwardNum="detailsAwardNum" :videoList="videoList"
:flagLoadingS="flagLoadingS" :trialTranscripts="trialTranscripts" :flagLoadingS="flagLoadingS" :trialTranscripts="trialTranscripts"
></detailsAward> ></detailsAward> -->
</div> </div>
</template> </template>
@@ -398,6 +398,7 @@ export default {
}, },
data() { data() {
return { return {
detailsAwardForm: {},
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 总条数 // 总条数
@@ -519,6 +520,10 @@ export default {
this.getInstitution(); this.getInstitution();
}, },
methods: { methods: {
handleInput(event) {
const value = event;
this.queryParams.batchNumber = value.replace(/[^\d]/g, ''); // 去除非数字字符
},
cancel() { cancel() {
this.visible = false; this.visible = false;
}, },
@@ -733,7 +738,7 @@ export default {
this.form = row; this.form = row;
this.visible = true; this.visible = true;
this.dialogtitle = "立案详情"; this.dialogtitle = "立案详情";
this.getInfo(row); // this.getInfo(row);
}, },
// 案件日志 // 案件日志
caselogRow(row) { caselogRow(row) {
@@ -772,10 +777,10 @@ export default {
editRow(row) { editRow(row) {
this.flag = "1"; this.flag = "1";
this.form = row; this.form = row;
console.log(this.form) // console.log(this.form)
this.visible = true; this.visible = true;
this.dialogtitle = "立案修改"; this.dialogtitle = "立案修改";
this.getInfo(row); // this.getInfo(row);
}, },
// 列表提交立案 // 列表提交立案
onsubmitRow(row) { onsubmitRow(row) {
@@ -927,7 +932,7 @@ export default {
console.log(row, "开庭审理"); console.log(row, "开庭审理");
this.showtrialincourt = true; this.showtrialincourt = true;
this.form = row; this.form = row;
this.getInfo(row); // this.getInfo(row);
}, },
canceltrialincourt() { canceltrialincourt() {
this.showtrialincourt = false; this.showtrialincourt = false;
@@ -959,6 +964,7 @@ export default {
version: row.version version: row.version
} }
selectCaseApply(params).then((res) => { selectCaseApply(params).then((res) => {
this.detailsAwardForm = res.data;
// 证据清单 // 证据清单
this.caseAttachListR = res.data.caseAttachList; this.caseAttachListR = res.data.caseAttachList;
// this.visible = true; // this.visible = true;
@@ -31,7 +31,7 @@
</el-row> </el-row>
<el-row> <el-row>
<el-form-item :span="24" label="案件压缩包上传:" prop="upload"> <el-form-item :span="24" label="案件压缩包上传:" prop="upload">
<el-upload class="upload-demo" ref="uploadZipBatch" :limit="1" accept=".zip" :headers="upload.headers" <el-upload class="upload-demo" ref="uploadZipBatch" :limit="1" accept=".zip" :headers="upload.headers" :on-error="onError"
:action="upload.url" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :action="upload.url" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess" :auto-upload="false" :data="paramsData" drag> :on-success="handleFileSuccess" :auto-upload="false" :data="paramsData" drag>
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
@@ -47,10 +47,20 @@
<el-option v-for="dict in templateList" :key="dict.id" :label="dict.temName" :value="dict.id"></el-option> <el-option v-for="dict in templateList" :key="dict.id" :label="dict.temName" :value="dict.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :span="24" label="申请人类型" prop="applicantType">
<el-select v-model="form.applicantType" placeholder="请选择">
<el-option v-for="item in appList" :key="item.id" :label="item.temName" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item :span="24" label="被申请人类型" prop="resType">
<el-select v-model="form.resType" placeholder="请选择">
<el-option v-for="item in resList" :key="item.id" :label="item.temName" :value="item.id"></el-option>
</el-select>
</el-form-item>
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" class="endbutton"><span>确 定</span></el-button> <el-button type="primary" @click="submitForm" class="endbutton" :loading="loadingSubmit"><span>确 定</span></el-button>
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button> <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
</div> </div>
</el-dialog> </el-dialog>
@@ -69,14 +79,26 @@ export default {
// key: value, // key: value,
form: {}, form: {},
fileList: [], fileList: [],
appList: [
{ id: 1, temName: "自然人" },
{ id: 2, temName: "机构" },
],
resList: [
{ id: 1, temName: "自然人" },
{ id: 2, temName: "机构" },
],
templateList: [], templateList: [],
loadingSubmit:false,
rules: { rules: {
// upload: [
// { required: true, message: "案件压缩包不能为空", trigger: "blur" },
// ],
templateId: [ templateId: [
{ required: true, message: "裁决书模板不能为空", trigger: "blur" }, { required: true, message: "裁决书模板不能为空", trigger: "blur" },
], ],
applicantType: [
{ required: true, message: "申请人类型不能为空", trigger: "blur" },
],
resType: [
{ required: true, message: "被申请人类型不能为空", trigger: "blur" },
],
}, },
paramsData:{ paramsData:{
// templateId:this.form.templateId // templateId:this.form.templateId
@@ -112,16 +134,20 @@ export default {
methods: { methods: {
submitForm() { submitForm() {
this.paramsData.templateId = this.form.templateId; this.paramsData.templateId = this.form.templateId;
this.paramsData.applicantType = this.form.applicantType;
this.paramsData.resType = this.form.resType;
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
this.loadingSubmit = true
if (valid) { if (valid) {
this.$refs.uploadZipBatch.submit(); this.$refs.uploadZipBatch.submit();
} }
}) })
}, },
// 获取裁决书模板 // 获取裁决书模板
getTemplateFn(data) { getTemplateFn(data) {
getTemplate(data).then(res => { getTemplate(data).then(res => {
console.log(res.rows, "KKKKKKKKKKKKKKKKKKKKKKK");
this.templateList = res.rows; this.templateList = res.rows;
}) })
}, },
@@ -141,7 +167,6 @@ export default {
}, },
// 下载模板 importTemplate // 下载模板 importTemplate
downloadTemplate() { downloadTemplate() {
// console.log("下载模板");
this.download( this.download(
"caseApplication/uploadCaseZipFile", "caseApplication/uploadCaseZipFile",
{}, {},
@@ -154,11 +179,11 @@ export default {
}, },
// 文件上传成功处理 // 文件上传成功处理
handleFileSuccess(response, file, fileList) { handleFileSuccess(response, file, fileList) {
// this.upload.open = false;
this.$emit("cancelCompreess"); this.$emit("cancelCompreess");
this.upload.isUploading = false; this.upload.isUploading = false;
this.$refs.uploadZipBatch.clearFiles(); this.$refs.uploadZipBatch.clearFiles();
if (response.code == 200) { if (response.code == 200) {
this.loadingSubmit = false
this.$alert( this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg + response.msg +
@@ -166,7 +191,9 @@ export default {
"导入结果", "导入结果",
{ dangerouslyUseHTMLString: true } { dangerouslyUseHTMLString: true }
) )
this.$emit("getcaseApply", this.queryParams);
} else { } else {
this.loadingSubmit = false
this.$alert( this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
"导入压缩失败" + "导入压缩失败" +
@@ -175,9 +202,10 @@ export default {
{ dangerouslyUseHTMLString: true } { dangerouslyUseHTMLString: true }
) )
} }
this.getcaseApply(this.queryParams);
}, },
onError(){
this.loadingSubmit = false
}
}, },
}; };
</script> </script>
File diff suppressed because it is too large Load Diff
@@ -8,11 +8,11 @@
@close="cancel" @close="cancel"
:destroy-on-close="true" :destroy-on-close="true"
> >
<div v-show="choosetrialmethodata.arbitraMethodIssame!=2"> <div v-show="formData.arbitraMethodIssame!=2">
<el-descriptions> <el-descriptions>
<el-descriptions-item label="当前仲裁方式:"> <el-descriptions-item label="当前仲裁方式:">
<el-tag size="small">{{ <el-tag size="small">{{
choosetrialmethodata.arbitratMethodName formData.arbitratMethodName
}}</el-tag> }}</el-tag>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
@@ -41,10 +41,8 @@
> >
</div> </div>
</div> </div>
<div v-show="choosetrialmethodata.arbitraMethodIssame==2"> <div v-show="formData.arbitraMethodIssame==2">
<el-descriptions> <div>{{formData.arbitratMethodIllustrate}}</div>
<el-descriptions-item label="当前案件开庭方式">{{choosetrialmethodata.arbitratMethodIllustrate}}</el-descriptions-item>
</el-descriptions>
<el-form :model="form" :rules="rules" ref="form"> <el-form :model="form" :rules="rules" ref="form">
<el-form-item label="选择开庭方式" prop="arbitratMethod"> <el-form-item label="选择开庭方式" prop="arbitratMethod">
<el-radio-group v-model="form.arbitratMethod"> <el-radio-group v-model="form.arbitratMethod">
@@ -64,6 +62,7 @@
<script> <script>
import { arbitrateMethod } from "@/api/caseManagement/caseManagement.js"; import { arbitrateMethod } from "@/api/caseManagement/caseManagement.js";
import { selectCaseApply } from "@/api/caseAccess/caseEntry";
export default { export default {
name: "showchoosetrialmethodDialog", name: "showchoosetrialmethodDialog",
props: ["showchoosetrialmethod", "choosetrialmethodata", "queryParams"], props: ["showchoosetrialmethod", "choosetrialmethodata", "queryParams"],
@@ -75,9 +74,24 @@ export default {
arbitratMethod: [ arbitratMethod: [
{ required: true, message: '请选择开庭方式', trigger: 'change' } { required: true, message: '请选择开庭方式', trigger: 'change' }
] ]
} },
formData:{}
}; };
}, },
watch:{
showchoosetrialmethod(val){
if(val){
let params = {
id: this.choosetrialmethodata.id,
version: this.choosetrialmethodata.version
}
selectCaseApply(params).then(res=>{
console.log(res,"PPPPPPPPPPPPPPPPPPPPPPPPPPPPP");
this.formData = res.data;
})
}
}
},
methods: { methods: {
// 审核仲裁方式 arbitrateMethod // 审核仲裁方式 arbitrateMethod
submitForm(val) { submitForm(val) {
@@ -85,8 +99,8 @@ export default {
opinion: val opinion: val
}; };
let id = { let id = {
id: this.choosetrialmethodata.id, id: this.formData.id,
arbitratMethod:this.choosetrialmethodata.arbitratMethod arbitratMethod:this.formData.arbitratMethod
}; };
arbitrateMethod(paramsdata,id) arbitrateMethod(paramsdata,id)
.then((res) => { .then((res) => {
@@ -2,7 +2,7 @@
<div> <div>
<!-- 组庭界面 --> <!-- 组庭界面 -->
<el-dialog <el-dialog
title="组庭建议" title="组庭审核"
:visible="showformateCourt" :visible="showformateCourt"
v-if="showformateCourt" v-if="showformateCourt"
@close="cancel" @close="cancel"
@@ -15,16 +15,16 @@
label-width="110px" label-width="110px"
label-position="left" label-position="left"
> >
<el-form-item label="是否同意组庭:"> <!-- <el-form-item label="是否同意组庭:">
<el-radio-group v-model="isAgreePendTral" @change="radioValue"> <el-radio-group v-model="isAgreePendTral" @change="radioValue">
<el-radio :label="1">是</el-radio> <el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio> <el-radio :label="0">否</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item> -->
<el-tag type="warning" v-if="noArbitrator" <!-- <el-tag type="warning" v-if="noArbitrator"
>当前案件未指定仲裁员,请先指定仲裁员!</el-tag >当前案件未指定仲裁员,请先指定仲裁员!</el-tag
> > -->
<p></p> <!-- <p></p> -->
<!-- <el-form ref="form"> --> <!-- <el-form ref="form"> -->
<!-- v-if="isAgreePendTral == 0 || noArbitrator" --> <!-- v-if="isAgreePendTral == 0 || noArbitrator" -->
<div style="display: inline-flex; margin-bottom: 8px"> <div style="display: inline-flex; margin-bottom: 8px">
@@ -77,6 +77,31 @@
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="arbitrateRecordt.responCrossOpin" <el-input type="textarea" :autosize="{ minRows: 6 }" v-model="arbitrateRecordt.responCrossOpin"
placeholder="请输入" /> placeholder="请输入" />
</el-form-item> --> </el-form-item> -->
<el-col :span="24">
<el-form-item label="上传裁决书:" label-width="100px" v-if="flag==1|| flag==4">
<el-upload
class="upload-demo"
accept=".doc,.docx"
ref="upload"
:action="UploadUrls()"
:headers="headers"
:data="filedatas"
:before-remove="beforeRemoves"
:limit="2"
:on-change="beforeUpload"
:on-success="handlSuccessAw"
:file-list="fileListAw"
:before-upload="beforeAvatarUploads"
>
<el-button slot="trigger" size="small" type="primary"
>选取文件</el-button
>
<div slot="tip" class="el-upload__tip">
只能上传.doc,docx文件
</div>
</el-upload>
</el-form-item>
</el-col>
<el-form-item label="驳回原因:" label-width="100px" v-if="flag==1 && awardDetailform.arbitrateReject"> <el-form-item label="驳回原因:" label-width="100px" v-if="flag==1 && awardDetailform.arbitrateReject">
<div style="width:800px;">{{awardDetailform.arbitrateReject}}</div> <div style="width:800px;">{{awardDetailform.arbitrateReject}}</div>
</el-form-item> </el-form-item>
@@ -99,7 +124,7 @@
]"> ]">
<el-input type="textarea" :rows="2" placeholder="请输入驳回原因" v-model.trim="arbitrateRecord.arbitrateReject"></el-input> <el-input type="textarea" :rows="2" placeholder="请输入驳回原因" v-model.trim="arbitrateRecord.arbitrateReject"></el-input>
</el-form-item> </el-form-item>
<el-form-item label-width="100px" label="bmz驳回原因" v-if="agreeOrNotCheck==2 && flag ==2" prop="deptorReject" <el-form-item label-width="100px" label="驳回原因" v-if="agreeOrNotCheck==2 && flag ==2" prop="deptorReject"
:rules="[ :rules="[
{ required: true, message: '请输入驳回原因', trigger: 'blur' } { required: true, message: '请输入驳回原因', trigger: 'blur' }
]"> ]">
@@ -115,7 +140,7 @@
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<!-- <el-button type="danger" @click="submitForm(4)" v-if="flag == 1">重新生成裁决书</el-button> --> <!-- <el-button type="danger" @click="submitForm(4)" v-if="flag == 1">重新生成裁决书</el-button> -->
<el-button type="primary" @click="submitForm(0)" v-if="flag == 1">提 交</el-button> <el-button type="primary" @click="submitForm(0)" v-if="flag == 1">提 交</el-button>
<el-button type="primary" @click="submitForm(1)" v-if="flag == 2">5提交</el-button> <el-button type="primary" @click="submitForm(1)" v-if="flag == 2">提交</el-button>
<!-- <el-button type="danger" @click="submitForm(2)" v-if="flag == 2">驳 回</el-button> --> <!-- <el-button type="danger" @click="submitForm(2)" v-if="flag == 2">驳 回</el-button> -->
<!-- <el-button type="primary" @click="submitForm(3)" v-if="flag == 3">提 交</el-button> --> <!-- <el-button type="primary" @click="submitForm(3)" v-if="flag == 3">提 交</el-button> -->
<!-- <el-button type="primary" @click="submitForm(5)" v-if="flag == 4">同 意</el-button> --> <!-- <el-button type="primary" @click="submitForm(5)" v-if="flag == 4">同 意</el-button> -->
@@ -134,6 +159,7 @@ import {
regenerationDocument, regenerationDocument,
arbitratorCheckArbitrateRecord arbitratorCheckArbitrateRecord
} from "@/api/awardManagement/awardManagement"; } from "@/api/awardManagement/awardManagement";
import { getToken } from "@/utils/auth";
export default { export default {
props: ["openDialogInfor", "title", "flag", "awardDetailform","queryParams"], props: ["openDialogInfor", "title", "flag", "awardDetailform","queryParams"],
data() { data() {
@@ -142,6 +168,14 @@ export default {
arbitrateRecordt: {}, arbitrateRecordt: {},
agreeOrNotCheck:1, agreeOrNotCheck:1,
form: {}, form: {},
headers: {
Authorization: "Bearer " + getToken(),
},
filedatas: {
annexType: 3,
id:null
},
fileListAw:[],
arbitrateRecord: { arbitrateRecord: {
// checkOpinion:"同意" // checkOpinion:"同意"
checkOpinion: "" checkOpinion: ""
@@ -331,15 +365,22 @@ export default {
this.$message("成功"); this.$message("成功");
}) })
}, },
// 重新生成裁决书 // 上传裁决书
getRegenerationDocument(params) { UploadUrls() {
regenerationDocument(params).then(res => { return window.location.origin + "/API/evidence/uploadRecord";
console.log(res.data, "重新生成裁决书"); },
this.awardFileArr = []; beforeRemoves(file,fileList){
this.awardPathArr = []; return this.$confirm(`确定移除 ${file.name}?`);
this.awardFileArr[0] = res.data.annexName; },
this.awardPathArr[0] = res.data.annexPath; beforeUpload(flie, fileList) {
}) // this.fileList = fileList;
},
// 上传文件成功
handlSuccessAw(res, file) {
// this.fileListAw.push(file);
},
beforeAvatarUploads(){
this.filedatas.id = this.awardDetailform.id;
}, },
submitForm(parms) { submitForm(parms) {
let that = this; let that = this;
@@ -1,12 +1,6 @@
<template> <template>
<div> <div>
<el-dialog <el-dialog :title="title" :visible="openDialog" @close="cancel" :destroy-on-close="true" center>
:title="title"
:visible="openDialog"
@close="cancel"
:destroy-on-close="true"
center
>
<el-form ref="form" :model="form" label-width="120px"> <el-form ref="form" :model="form" label-width="120px">
<el-form-item label="案件编号:" prop="caseNum"> <el-form-item label="案件编号:" prop="caseNum">
<el-input v-model="form.caseNum" placeholder="" :disabled="true" /> <el-input v-model="form.caseNum" placeholder="" :disabled="true" />
@@ -15,11 +9,7 @@
<el-input v-model="form.caseSubjectAmount" :disabled="true" /> <el-input v-model="form.caseSubjectAmount" :disabled="true" />
</el-form-item> </el-form-item>
<el-form-item label="缴费人:" prop="applicantName"> <el-form-item label="缴费人:" prop="applicantName">
<el-input <el-input v-model="form.applicantName" placeholder="" :disabled="true" />
v-model="form.applicantName"
placeholder=""
:disabled="true"
/>
</el-form-item> </el-form-item>
<el-form-item label="缴费金额:" prop="feePayable"> <el-form-item label="缴费金额:" prop="feePayable">
<el-input v-model="form.feePayable" :disabled="true" /> <el-input v-model="form.feePayable" :disabled="true" />
@@ -37,13 +27,9 @@
</el-tag> </el-tag>
</el-form-item> --> </el-form-item> -->
<el-form-item label="缴费凭证:" prop="caseStatusName"> <el-form-item label="缴费凭证:" prop="caseStatusName">
<div <div style="color: #104fad; cursor: pointer" v-for="(item, index) in form.caseAttachList" :key="index"
style="color: #104fad; cursor: pointer" @click="preview(item.annexPath)">
v-for="(item, index) in form.caseAttachList" <span v-if="item.annexType == 8">{{ item.annexName }}</span>
:key="index"
@click="preview(item.annexPath)"
>
<span v-if="item.annexType==8">{{ item.annexName }}</span>
</div> </div>
<!-- <el-tag>{{ form.caseStatusName }}</el-tag> --> <!-- <el-tag>{{ form.caseStatusName }}</el-tag> -->
</el-form-item> </el-form-item>
@@ -55,31 +41,15 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 缴费驳回原因--> <!-- 缴费驳回原因-->
<el-form-item <el-form-item label="拒绝原因:" v-if="agreeOrNotCheck == 0" prop="caseCheckReject" :rules="[
label="拒绝原因:"
v-if="agreeOrNotCheck == 0"
prop="caseCheckReject"
:rules="[
{ required: true, message: '请输入驳回原因', trigger: 'blur' }, { required: true, message: '请输入驳回原因', trigger: 'blur' },
]" ]">
> <el-input type="textarea" :rows="2" placeholder="请输入驳回原因" v-model="form.caseCheckReject"></el-input>
<el-input
type="textarea"
:rows="2"
placeholder="请输入驳回原因"
v-model="form.caseCheckReject"
></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button <el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton"
type="primary" :loading="loadingSubmit">确认已缴费</el-button>
@click="submitForm"
v-if="flag == 0"
class="endbutton"
:loading="loadingSubmit"
>确认已缴费</el-button
>
<el-button @click="cancel" class="endbutton1">取 消</el-button> <el-button @click="cancel" class="endbutton1">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
@@ -89,7 +59,7 @@
<script> <script>
import { confirmPay } from "@/api/pay/pay"; import { confirmPay } from "@/api/pay/pay";
export default { export default {
props: ["openDialog", "title", "flag", "detailform", "queryParams","getcaseApply"], props: ["openDialog", "title", "flag", "detailform", "queryParams", "getcaseApply"],
data() { data() {
return { return {
// key: value // key: value
@@ -123,9 +93,9 @@ export default {
// 确认缴费 // 确认缴费
submitForm() { submitForm() {
let paramsVal = { let paramsVal = {
ids:[this.form.id], ids: [this.form.id],
agreeOrNotCheck:this.agreeOrNotCheck, agreeOrNotCheck: this.agreeOrNotCheck,
caseCheckReject:this.form.caseCheckReject caseCheckReject: this.form.caseCheckReject
} }
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
@@ -136,10 +106,7 @@ export default {
type: "success", type: "success",
}); });
this.loadingSubmit = false; this.loadingSubmit = false;
if (res.code == 200) { this.$emit("getcaseApply", this.queryParams);
this.getcaseApply(this.queryParams)
// this.getList();
}
}).catch((err) => { }).catch((err) => {
this.loadingSubmit = false; this.loadingSubmit = false;
}); });
@@ -1,69 +1,40 @@
<template> <template>
<div> <div>
<el-dialog <el-dialog title="开庭审理" :visible="showtrialincourt" @close="cancel" :destroy-on-close="true">
title="开庭审理"
:visible="showtrialincourt"
@close="cancel"
:destroy-on-close="true"
>
<el-form ref="form" :model="formData" label-width="180px"> <el-form ref="form" :model="formData" label-width="180px">
<div class="caseInfo">案件信息:</div> <div class="caseInfo">案件信息:</div>
<el-divider></el-divider> <el-divider></el-divider>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="案件编号:" prop="caseNum"> <el-form-item label="案件编号:" prop="caseNum">
<el-input <el-input v-model="formData.caseNum" placeholder="请输入案件编号" :disabled="true" />
v-model="formData.caseNum"
placeholder="请输入案件编号"
:disabled="true"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="申请人:" prop="applicantName"> <el-form-item label="申请人:" prop="applicantName">
<el-input <el-input v-model="formData.applicantName" :disabled="true" />
v-model="adjudicatename.applicantName"
:disabled="true"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="被申请人:" prop="respondentName"> <el-form-item label="被申请人:" prop="respondentName">
<el-input <el-input v-model="formData.respondentName" :disabled="true" />
v-model="adjudicatename.respondentName"
:disabled="true"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="借款开始日期:" prop="loanStartDate"> <el-form-item label="借款开始日期:" prop="loanStartDate">
<el-date-picker <el-date-picker v-model="formData.loanStartDate" type="datetime" placeholder="借款开始日期" :disabled="true">
v-model="formData.loanStartDate"
type="datetime"
placeholder="借款开始日期"
:disabled="true"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="借款结束日期:" prop="loanEndDate"> <el-form-item label="借款结束日期:" prop="loanEndDate">
<el-date-picker <el-date-picker v-model="formData.loanEndDate" type="datetime" placeholder="借款结束日期" :disabled="true">
v-model="formData.loanEndDate"
type="datetime"
placeholder="借款结束日期"
:disabled="true"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="案件标的:" prop="caseSubjectAmount"> <el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input <el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" :disabled="true" />
v-model="formData.caseSubjectAmount"
placeholder="请输入案件标的"
:disabled="true"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="12"> <!-- <el-col :span="12">
@@ -76,20 +47,12 @@
</el-col> --> </el-col> -->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="仲裁费用:" prop="feePayable"> <el-form-item label="仲裁费用:" prop="feePayable">
<el-input <el-input v-model="formData.feePayable" placeholder="请输入仲裁费用" :disabled="true" />
v-model="adjudicatename.feePayable"
placeholder="请输入仲裁费用"
:disabled="true"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed"> <el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
<el-input <el-input v-model="formData.claimPrinciOwed" placeholder="请输入" :disabled="true" />
v-model="formData.claimPrinciOwed"
placeholder="请输入"
:disabled="true"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="12"> <!-- <el-col :span="12">
@@ -99,31 +62,18 @@
</el-col> --> </el-col> -->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="案件状态:" prop="caseStatus"> <el-form-item label="案件状态:" prop="caseStatus">
<el-input <el-input v-model="formData.caseStatusName" placeholder="请输入" :disabled="true" />
v-model="formData.caseStatusName"
placeholder="请输入"
:disabled="true"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="仲裁员:" prop="arbitratorName"> <el-form-item label="仲裁员:" prop="arbitratorName">
<el-input <el-input v-model="formData.arbitratorName" placeholder="请输入" :disabled="true" />
v-model="adjudicatename.arbitratorName"
placeholder="请输入"
:disabled="true"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="开庭日期:" prop="hearDate"> <el-form-item label="开庭日期:" prop="hearDate">
<el-date-picker <el-date-picker v-model="formData.hearDate" type="datetime" placeholder="开庭日期" :disabled="true">
v-model="adjudicatename.hearDate"
type="datetime"
placeholder="开庭日期"
:disabled="true"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -157,7 +107,7 @@
<el-form-item label="裁决书:"> <el-form-item label="裁决书:">
<div v-if="awardArr.length == 0">裁决书暂未提供!</div> <div v-if="awardArr.length == 0">裁决书暂未提供!</div>
<div v-for="(item, index) in awardArr" :key="index"> <div v-for="(item, index) in awardArr" :key="index">
<a href="#" @click="awardToFile(item, index)" style="color: blue"> <a href="#" @click="awardToFile(item.onlyOfficeFileId)" style="color: blue">
{{ item.annexName }} {{ item.annexName }}
</a> </a>
</div> </div>
@@ -165,11 +115,7 @@
</el-col> </el-col>
<el-col :span="24" v-if="recordArr.length > 0"> <el-col :span="24" v-if="recordArr.length > 0">
<el-form-item label="庭审笔录:"> <el-form-item label="庭审笔录:">
<div <div v-for="(item, index) in recordArr" :key="index" style="color: blue">
v-for="(item, index) in recordArr"
:key="index"
style="color: blue"
>
<a href="#" @click="toFile2(item, index)">{{ item.annexName }}</a> <a href="#" @click="toFile2(item, index)">{{ item.annexName }}</a>
</div> </div>
</el-form-item> </el-form-item>
@@ -184,25 +130,12 @@
<div>{{ startTime }}</div> <div>{{ startTime }}</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" v-if="submitFlag">
<el-form-item label="上传裁决书:"> <el-form-item label="上传裁决书:">
<el-upload <el-upload class="upload-demo" accept=".doc,.docx" ref="upload" :action="UploadUrls()" :headers="headers"
class="upload-demo" :data="filedatas" :before-remove="beforeRemoves" :limit="2" :on-change="beforeUpload"
accept=".doc,.docx" :on-success="handlSuccessAw" :file-list="fileListAw" :before-upload="beforeAvatarUploads">
ref="upload" <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
:action="UploadUrls()"
:headers="headers"
:data="filedatas"
:before-remove="beforeRemoves"
:limit="2"
:on-change="beforeUpload"
:on-success="handlSuccessAw"
:file-list="fileListAw"
:before-upload="beforeAvatarUploads"
>
<el-button slot="trigger" size="small" type="primary"
>选取文件</el-button
>
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> --> <!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
<div slot="tip" class="el-upload__tip"> <div slot="tip" class="el-upload__tip">
只能上传.doc,docx文件 只能上传.doc,docx文件
@@ -210,25 +143,12 @@
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24" v-if="submitFlag">
<el-form-item label="上传庭审笔录:"> <el-form-item label="上传庭审笔录:">
<el-upload <el-upload class="upload-demo" ref="fileupload" accept=".doc,.docx" :action="UploadUrlsT()"
class="upload-demo" :on-success="handlSuccess" :on-remove="handleRemove" :on-preview="handlePreview"
ref="fileupload" :before-remove="beforeRemove" :headers="headers" :data="filedata" multiple :limit="3"
accept=".doc,.docx" :on-exceed="handleExceed" :before-upload="beforeAvatarUpload" :file-list="fileList">
:action="UploadUrl()"
:on-success="handlSuccess"
:on-remove="handleRemove"
:on-preview="handlePreview"
:before-remove="beforeRemove"
:headers="headers"
:data="filedata"
multiple
:limit="3"
:on-exceed="handleExceed"
:before-upload="beforeAvatarUpload"
:file-list="fileList"
>
<el-button type="primary" size="small">选择文件</el-button> <el-button type="primary" size="small">选择文件</el-button>
<div slot="tip" class="el-upload__tip"> <div slot="tip" class="el-upload__tip">
文件支持上传.doc,docx文件 文件支持上传.doc,docx文件
@@ -239,32 +159,15 @@
<!-- </el-form> --> <!-- </el-form> -->
</el-form> </el-form>
<el-button @click="openmeeting" type="primary">发起会议</el-button> <el-button @click="openmeeting" type="primary">发起会议</el-button>
<el-button <el-button @click="openArbitrationresults" type="primary"
@click="openArbitrationresults" v-if="this.awardArr.length <= 0 && submitFlag">确认会议结果</el-button>
type="primary"
v-if="this.awardArr.length <= 0"
>确认会议结果</el-button>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button <el-button class="endbutton" :disabled="(showsubmit && recordArr.length == 0) || form2.isAbsence == 1
class="endbutton" " @click="submitResults" :loading="loadingSub" v-if="submitFlag">提交</el-button>
:disabled=" <el-button @click="cancel" class="endbutton1"><span>关 闭</span></el-button>
(showsubmit && recordArr.length == 0) || form2.isAbsence == 1
"
@click="submitResults"
:loading="loadingSub"
>提交</el-button
>
<el-button @click="cancel" class="endbutton1"
><span>关 闭</span></el-button
>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog <el-dialog title="庭审笔录" :visible="showArbitrationresults" @close="closeArbitrationresults" center>
title="庭审笔录"
:visible="showArbitrationresults"
@close="closeArbitrationresults"
center
>
<el-form ref="form2" :model="form2" label-width="150px"> <el-form ref="form2" :model="form2" label-width="150px">
<!-- <el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="申请人是否缺席:" prop="isAbsence" :rules="[ <el-form-item label="申请人是否缺席:" prop="isAbsence" :rules="[
@@ -280,16 +183,12 @@
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<el-col :span="24"> <el-col :span="24">
<el-form-item <el-form-item label="被申请人是否缺席:" prop="appliIsAbsen" :rules="[
label="被申请人是否缺席:"
prop="appliIsAbsen"
:rules="[
{ {
required: true, required: true,
message: '请输入', message: '请输入',
}, },
]" ]">
>
<el-radio-group v-model="form2.appliIsAbsen"> <el-radio-group v-model="form2.appliIsAbsen">
<el-radio :label="1">是</el-radio> <el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio> <el-radio :label="0">否</el-radio>
@@ -297,16 +196,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item <el-form-item label="申请人是否缺席:" prop="isAbsence" :rules="[
label="申请人是否缺席:"
prop="isAbsence"
:rules="[
{ {
required: true, required: true,
message: '请输入', message: '请输入',
}, },
]" ]">
>
<el-radio-group v-model="form2.isAbsence"> <el-radio-group v-model="form2.isAbsence">
<el-radio :label="1">是</el-radio> <el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio> <el-radio :label="0">否</el-radio>
@@ -314,29 +209,13 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item <el-form-item label="被申请人对上述材料的质证意见" prop="respondentOpinion">
label="被申请人对上述材料的质证意见" <el-input type="textarea" :autosize="{ minRows: 6 }" v-model="form2.respondentOpinion" placeholder="请输入" />
prop="respondentOpinion"
>
<el-input
type="textarea"
:autosize="{ minRows: 6 }"
v-model="form2.respondentOpinion"
placeholder="请输入"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item <el-form-item label="申请人对上述材料的质证意见" prop="applicantOpinion">
label="申请人对上述材料的质证意见" <el-input type="textarea" :autosize="{ minRows: 6 }" v-model="form2.applicantOpinion" placeholder="请输入" />
prop="applicantOpinion"
>
<el-input
type="textarea"
:autosize="{ minRows: 6 }"
v-model="form2.applicantOpinion"
placeholder="请输入"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="24"> <!-- <el-col :span="24">
@@ -444,16 +323,9 @@
</el-col> --> </el-col> -->
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button <el-button @click="submitForm" class="endbutton" :loading="loadingSubmit">
@click="submitForm" <span>确定</span></el-button>
class="endbutton" <el-button @click="closeArbitrationresults" class="endbutton1"><span>取 消</span></el-button>
:loading="loadingSubmit"
>
<span>确定</span></el-button
>
<el-button @click="closeArbitrationresults" class="endbutton1"
><span>取 消</span></el-button
>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
@@ -468,24 +340,27 @@ import {
creatTrialRecord, creatTrialRecord,
creatTrialRecordnew, creatTrialRecordnew,
document, document,
changeCaseStatus changeCaseStatus,
secretaryRoleByUserId
} from "@/api/caseManagement/caseManagement.js"; } from "@/api/caseManagement/caseManagement.js";
import { reserveConferenceList } from "@/api/meeting/index.js"; import { reserveConferenceList } from "@/api/meeting/index.js";
export default { export default {
props: ["showtrialincourt", "adjudicatename", "form", "queryParams"], props: ["showtrialincourt", "adjudicatename", "form", "queryParams"],
data() { data() {
return { return {
submitFlag: false,
formData: {}, formData: {},
headers: { headers: {
Authorization: "Bearer " + getToken(), Authorization: "Bearer " + getToken(),
}, },
filedata: { filedata: {
annexType: 7, annexType: 7,
id: 0, id: null,
}, },
filedatas: { filedatas: {
annexType: 3, annexType: 3,
id:null officeFlag: 1,
caseId: null
}, },
upLife: "", upLife: "",
user: "", user: "",
@@ -505,27 +380,34 @@ export default {
roomId: null, roomId: null,
startTime: "", startTime: "",
fileList: [], fileList: [],
fileListAw:[], fileListAw: [],
loadingSubmit: false, loadingSubmit: false,
loadingSub:false, loadingSub: false,
}; };
}, },
watch: { watch: {
showtrialincourt: { showtrialincourt: {
handler(val) { handler(val) {
if (val) { if (val) {
let val = {
id: this.form.id,
version: this.form.version,
};
selectCaseApply(val).then(res => {
this.formData = res.data;
})
this.reserveConferenceListFn({ caseId: this.form.id }); this.reserveConferenceListFn({ caseId: this.form.id });
this.getUser(); this.getUser();
this.formData = this.form; // this.formData = this.form;
console.log(this.formData); console.log(this.formData);
this.applicateArr = []; this.applicateArr = [];
this.quiltArr = []; this.quiltArr = [];
this.awardArr = []; this.awardArr = [];
this.recordArr = []; this.recordArr = [];
setTimeout(() => { setTimeout(() => {
console.log(this.adjudicatename); console.log(this.formData);
if (this.adjudicatename.caseAttachList.length > 0) { if (this.formData.caseAttachList.length > 0) {
this.adjudicatename.caseAttachList.forEach((item) => { this.formData.caseAttachList.forEach((item) => {
// 申请人案件附件 // 申请人案件附件
if (item.annexType == 2) { if (item.annexType == 2) {
this.applicateArr.push({ this.applicateArr.push({
@@ -549,10 +431,7 @@ export default {
} }
//裁决书附件 //裁决书附件
if (item.annexType == 3) { if (item.annexType == 3) {
this.awardArr.push({ this.awardArr.push(item);
annexName: item.annexName,
annexPath: item.annexPath,
});
} }
}); });
} }
@@ -561,8 +440,14 @@ export default {
}, },
}, },
}, },
created() {}, created() { },
methods: { methods: {
// 根据案件id和用户id查询当前登陆人是否为仲裁员
secretaryRoleByUserIdFn(data) {
secretaryRoleByUserId(data).then(res => {
this.submitFlag = res.data.isSecretaryRole;
})
},
// 根据案件id查询会议号 // 根据案件id查询会议号
reserveConferenceListFn(data) { reserveConferenceListFn(data) {
reserveConferenceList(data).then((res) => { reserveConferenceList(data).then((res) => {
@@ -585,11 +470,16 @@ export default {
); );
}, },
//裁决书文件 //裁决书文件
awardToFile(item, index) { awardToFile(item) {
window.open( // window.open(
window.location.origin + "/API" + this.awardArr[index].annexPath, // window.location.origin + "/API" + this.awardArr[index].annexPath,
"_black" // "_black"
); // );
if (this.checkPermi(['caseManagement:list:editOffice'])) {
this.$router.push({ path: '/onlyoffice', query: { id: item, flag: 1 } })
} else {
this.$router.push({ path: '/onlyoffice', query: { id: item, flag: 0 } })
}
}, },
// 庭审笔录附件 // 庭审笔录附件
toFile2(item, index) { toFile2(item, index) {
@@ -602,6 +492,7 @@ export default {
getUserProfile().then((response) => { getUserProfile().then((response) => {
this.user = response.data.userName; this.user = response.data.userName;
this.userId = response.data.userId; this.userId = response.data.userId;
this.secretaryRoleByUserIdFn({ caseId: this.form.id, userId: this.userId })
}); });
}, },
// 打开会议 // 打开会议
@@ -627,33 +518,12 @@ export default {
this.loadingSubmit = true; this.loadingSubmit = true;
creatTrialRecordnew({ creatTrialRecordnew({
caseAppliId: this.formData.id, caseAppliId: this.formData.id,
// evidenDetermi: this.form2.evidenDetermi,
// factDetermi: this.form2.factDetermi,
// caseSketch: this.form2.caseSketch,
// arbitrateThink: this.form2.arbitrateThink,
// rulingFollows: this.form2.rulingFollows,
// isAbsence: this.form2.isAbsence,
// appliIsAbsen: this.form2.appliIsAbsen,
// responCrossOpin: this.form2.responCrossOpin,
// applicaCrossOpin: this.form2.applicaCrossOpin,
// responDefenOpini: this.form2.responDefenOpini,
isAbsence: this.form2.isAbsence, isAbsence: this.form2.isAbsence,
appliIsAbsen: this.form2.appliIsAbsen, appliIsAbsen: this.form2.appliIsAbsen,
respondentOpinion: this.form2.respondentOpinion, respondentOpinion: this.form2.respondentOpinion,
applicantOpinion: this.form2.applicantOpinion, applicantOpinion: this.form2.applicantOpinion,
// caseFacts: this.form2.caseFacts,
// caseFocus: this.form2.caseFocus
}) })
.then((res) => { .then((res) => {
// console.log(res);
// res.data.caseAttachList.forEach((item) => {
// if (item.annexType == 7) {
// this.recordArr.push({
// annexName: item.annexName,
// annexPath: item.annexPath,
// });
// }
// });
this.$modal.msgSuccess("提交成功"); this.$modal.msgSuccess("提交成功");
this.showsubmit = false; this.showsubmit = false;
this.closeArbitrationresults(); this.closeArbitrationresults();
@@ -665,15 +535,12 @@ export default {
id: this.form.id, id: this.form.id,
version: this.form.version, version: this.form.version,
}; };
this.awardArr =[]; this.awardArr = [];
selectCaseApply(val).then((res) => { selectCaseApply(val).then((res) => {
this.adjudicatename.caseAttachList = res.data.caseAttachList; this.formData.caseAttachList = res.data.caseAttachList;
this.adjudicatename.caseAttachList.forEach(item=>{ this.formData.caseAttachList.forEach(item => {
if(item.annexType==3){ if (item.annexType == 3) {
this.awardArr.push({ this.awardArr.push(item);
annexName: item.annexName,
annexPath: item.annexPath,
});
} }
}) })
@@ -691,14 +558,14 @@ export default {
}, },
// 提交开庭审理结果 // 提交开庭审理结果
submitResults() { submitResults() {
if (this.fileList.length == 0&&this.recordArr.length==0) { if (this.fileList.length == 0 && this.recordArr.length == 0) {
this.$message({ this.$message({
showClose: true, showClose: true,
message: "请先上传案件笔录", message: "请先上传案件笔录",
type: "warning", type: "warning",
}); });
} else { } else {
this.loadingSub=true; this.loadingSub = true;
let id = this.formData.id; let id = this.formData.id;
changeCaseStatus({ changeCaseStatus({
id: id, id: id,
@@ -709,15 +576,11 @@ export default {
this.loadingSub = false this.loadingSub = false
this.fileList = []; this.fileList = [];
} }
}).catch((err)=>{ }).catch((err) => {
this.loadingSub = false this.loadingSub = false
}); });
} }
}, },
// 上传庭审笔录
UploadUrl() {
return window.location.origin + "/API/evidence/uploadRecord";
},
// 文件上传成功 // 文件上传成功
handlSuccess(res, file) { handlSuccess(res, file) {
// this.fileList.push(file); // this.fileList.push(file);
@@ -725,11 +588,11 @@ export default {
id: this.form.id, id: this.form.id,
version: this.form.version, version: this.form.version,
}; };
this.recordArr =[]; this.recordArr = [];
selectCaseApply(val).then((res) => { selectCaseApply(val).then((res) => {
this.adjudicatename.caseAttachList = res.data.caseAttachList; this.formData.caseAttachList = res.data.caseAttachList;
this.adjudicatename.caseAttachList.forEach(item=>{ this.formData.caseAttachList.forEach(item => {
if(item.annexType==7){ if (item.annexType == 7) {
this.recordArr.push({ this.recordArr.push({
annexName: item.annexName, annexName: item.annexName,
annexPath: item.annexPath, annexPath: item.annexPath,
@@ -741,8 +604,8 @@ export default {
}, },
// 文件列表移除文件时的钩子 // 文件列表移除文件时的钩子
handleRemove(file, fileList) {}, handleRemove(file, fileList) { },
handlePreview(file) {}, handlePreview(file) { },
// 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。 // 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
beforeRemove(file, fileList) { beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`); return this.$confirm(`确定移除 ${file.name}?`);
@@ -750,8 +613,7 @@ export default {
// 文件超出个数限制时的钩子 // 文件超出个数限制时的钩子
handleExceed(files, fileList) { handleExceed(files, fileList) {
this.$message.warning( this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${ `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
files.length + fileList.length
} 个文件` } 个文件`
); );
}, },
@@ -760,9 +622,12 @@ export default {
}, },
// 上传裁决书 // 上传裁决书
UploadUrls() { UploadUrls() {
return window.location.origin + "/API/video/upload";
},
UploadUrlsT() {
return window.location.origin + "/API/evidence/uploadRecord"; return window.location.origin + "/API/evidence/uploadRecord";
}, },
beforeRemoves(file,fileList){ beforeRemoves(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`); return this.$confirm(`确定移除 ${file.name}?`);
}, },
beforeUpload(flie, fileList) { beforeUpload(flie, fileList) {
@@ -775,22 +640,19 @@ export default {
id: this.form.id, id: this.form.id,
version: this.form.version, version: this.form.version,
}; };
this.awardArr =[]; this.awardArr = [];
selectCaseApply(val).then((res) => { selectCaseApply(val).then((res) => {
this.adjudicatename.caseAttachList = res.data.caseAttachList; this.formData.caseAttachList = res.data.caseAttachList;
this.adjudicatename.caseAttachList.forEach(item=>{ this.formData.caseAttachList.forEach(item => {
if(item.annexType==3){ if (item.annexType == 3) {
this.awardArr.push({ this.awardArr.push(item);
annexName: item.annexName,
annexPath: item.annexPath,
});
} }
}) })
}); });
}, },
beforeAvatarUploads(){ beforeAvatarUploads() {
this.filedatas.id = this.formData.id; this.filedatas.caseId = this.formData.id;
} }
}, },
}; };
@@ -7,6 +7,7 @@
<el-step :title="item.caseNodeName || item.content" v-for="(item,index) in pageData.allCasenode" :key="index"> <el-step :title="item.caseNodeName || item.content" v-for="(item,index) in pageData.allCasenode" :key="index">
<template slot="description"> <template slot="description">
<p>{{item.createNickName || ''}}{{item.caseNodeTime || ''}}</p> <p>{{item.createNickName || ''}}{{item.caseNodeTime || ''}}</p>
<p>{{item.currentRoleName}}</p>
<p>{{item.nextRoleName || ''}}</p> <p>{{item.nextRoleName || ''}}</p>
</template> </template>
</el-step> </el-step>
@@ -0,0 +1,140 @@
<template>
<div>
<el-dialog title="邮件内容" :visible="emailVidable" @close="cancel" center :distroy-on-close="true">
<div>
<el-form>
<el-col :span="24">
<el-form-item label="邮件主题:" label-width="100px">
<div>{{ emailRow.mailSubject }}</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="收件人:" label-width="100px">
<div>{{ emailRow.mailAddress }}</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="发件人:" label-width="100px">
<div>{{ emailRow.mailFromAddress }}</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="邮件附件:" label-width="100px">
<div style="color: blue; cursor: pointer" v-for="(item, index) in emailRow.caseAttachList"
:key="index" @click="viewAttachments(item.annexPath)">
{{ item.annexName }}
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="附件上传:" label-width="100px">
<el-upload class="upload-demo" accept=".doc,.docx,.pdf" ref="upload" :action="UploadUrl()"
:headers="headers" :data="filedata" :on-preview="handlePreview"
:on-remove="handleRemove" :limit="1" :on-change="beforeUpload"
:on-success="handlSuccess" :file-list="fileList">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<div slot="tip" class="el-upload__tip">
只能上传.doc,docx,pdf文件
</div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="邮件正文:" label-width="100px">
<el-input type="textarea" :rows="4" placeholder="请输入内容" v-model="sendData"></el-input>
</el-form-item>
</el-col>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
<el-button @click="submitSend" class="endbutton1" type="primary" round><span>确 认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
updateSendContent,
update,
} from "@/api/deliveryRecord/deliveryRecord.js";
import { getToken } from "@/utils/auth";
export default {
props: ["emailVidable", "emailRow", "queryParams"],
data() {
return {
sendData: "",
fileURL: window.location.origin + "/API",
headers: {
Authorization: "Bearer " + getToken(),
},
filedata: {
annexType: 13,
},
fileList: [],
files: [],
};
},
watch: {
emailVidable(val) {
if (val) {
console.log(this.emailRow);
this.sendData = this.emailRow.mailContent;
}
},
},
methods: {
cancel() {
this.$emit("cancelEmail");
},
submitSend() {
console.log(this.emailRow.mailContent);
let caseAttachListParms = {};
if (this.files.annexId) {
caseAttachListParms = {
id: this.emailRow.id,
mailContent: this.sendData,
caseAttachList: [{ annexId: this.files.annexId }],
}
} else{
caseAttachListParms = {
id: this.emailRow.id,
mailContent: this.sendData,
caseAttachList: [],
}
}
this.updateSendContentFn(caseAttachListParms);
},
updateSendContentFn(data) {
update(data).then((res) => {
this.$message.success("更新成功");
this.$emit("cancelEmail");
this.$emit("getList", this.queryParams);
this.$refs.upload.clearFiles(); // 清除文件列表
});
},
// 查看附件下载附件
viewAttachments(val) {
window.open(this.fileURL + val);
},
/**上传地址*/
UploadUrl() {
return window.location.origin + "/API/evidence/upload";
},
handlePreview(file) { },
handleRemove(file, fileList) { },
beforeUpload(flie, fileList) {
},
handlSuccess(res, file) {
const fileSuccess = [{ annexId: res.annexId, annexType: res.annexType, annexName: res.newFileName, annexPath: res.fileName, onlyOfficeFileId: res.onlyOfficeFileId }]
// this.emailRow.caseAttachList = fileSuccess
this.files = res
console.log(res)
},
},
};
</script>
<style lang="scss" scoped></style>
@@ -0,0 +1,69 @@
<template>
<div>
<el-dialog title="修改内容" :visible="resendVidable" v-if="resendVidable" @close="cancel" center
:distroy-on-close="true">
<div style="margin-bottom: 30px;"><span style="font-weight: bold;">发送内容:</span>{{ sendData }}</div>
<el-form label-width="100px">
<el-form-item v-for="(item,index) in rowData.templateParams" :label="item.paramName" :key="item.id">
<el-input v-model="rowData.templateParams[index].paramValue" @input="changeContent"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
<el-button @click="submitSend" class="endbutton1" type="primary" round><span>确 认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
updateSendContent,
} from "@/api/deliveryRecord/deliveryRecord.js";
export default {
props: ["resendVidable", "rowData","queryParams"],
data() {
return {
sendData:'',
param:"",
paramValue:""
};
},
watch: {
resendVidable(val){
if(val){
this.sendData = this.rowData.sendContent;
}
}
},
methods: {
cancel() {
this.$emit("cancelSend");
},
submitSend() {
console.log(this.rowData)
this.updateSendContentFn({
id:this.rowData.id,
templateParams:this.rowData.templateParams
})
},
updateSendContentFn(data){
updateSendContent(data).then(res=>{
this.$message.success('更新成功');
this.$emit("cancelSend");
this.$emit('getList',this.queryParams);
})
},
changeContent(){
let templateContent = this.rowData.templateContent
this.rowData.templateParams.forEach(item => {
templateContent = templateContent.replace(item.param,item.paramValue)
});
this.sendData = templateContent
}
},
};
</script>
<style lang="scss" scoped></style>
+35 -2
View File
@@ -27,7 +27,14 @@
<!-- 缴费人 --> <!-- 缴费人 -->
<!-- <el-table-column label="案件状态" align="center" prop="caseStatusName" /> --> <!-- <el-table-column label="案件状态" align="center" prop="caseStatusName" /> -->
<el-table-column label="内容" align="center" prop="mailContent"></el-table-column> <el-table-column label="内容" align="center" prop="mailContent"></el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="emailEditing(scope.row)" icon="el-icon-s-promotion">邮箱编辑</el-button>
<el-button v-if="scope.row.sendStatus == '未发送'" size="mini" type="text" @click="resendCounts(scope.row)" icon="el-icon-s-promotion">重新发送</el-button>
</template>
</el-table-column>
</el-table> </el-table>
<emailEdits :emailVidable="emailVidable" @cancelEmail="cancelEmail" @getList="getList" :queryParams="queryParams" :emailRow="emailRow"></emailEdits>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList(queryParams)" /> @pagination="getList(queryParams)" />
@@ -38,12 +45,12 @@
import { import {
emailList, emailList,
} from "@/api/deliveryRecord/deliveryRecord.js"; } from "@/api/deliveryRecord/deliveryRecord.js";
import emailEdits from "./components/emailEdits.vue";
import { getDicts } from '@/api/system/dict/data.js' import { getDicts } from '@/api/system/dict/data.js'
export default { export default {
name: "paymentList", name: "paymentList",
dicts: ["case_status"], dicts: ["case_status"],
components: {}, components: {emailEdits},
data() { data() {
return { return {
queryParams: { queryParams: {
@@ -60,6 +67,8 @@ export default {
// 校验表单 // 校验表单
rules: {}, rules: {},
dataList: [], dataList: [],
emailVidable:false,
emailRow:{},
}; };
}, },
created() { created() {
@@ -69,6 +78,30 @@ export default {
}) })
}, },
methods: { methods: {
// 邮箱编辑内容
emailEditing(data){
this.emailVidable = true
this.emailRow = data;
console.log(data)
},
// 重新发送
resendCounts(row){
if(row.sendStatus=='未发送'){
row.sendStatus = 0
}else if(row.sendStatus=='已发送'){
row.sendStatus = 1
}
reSendMailRecord(row).then(res=>{
console.log(res)
this.$message.success('发送成功');
this.getList(this.queryParams);
})
},
// 关闭弹窗
cancelEmail(){
this.emailVidable = false
},
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
+65 -14
View File
@@ -22,29 +22,40 @@
<el-table-column label="发送时间" align="center" prop="sendTime" /> <el-table-column label="发送时间" align="center" prop="sendTime" />
<el-table-column label="发送状态" align="center" prop="sendStatus" /> <el-table-column label="发送状态" align="center" prop="sendStatus" />
<el-table-column label="发送内容" align="center" prop="sendContent" :show-overflow-tooltip="true" /> <el-table-column label="发送内容" align="center" prop="sendContent" :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="copyContent(scope.row.sendContent)" type="text"
icon="el-icon-document-copy">复制内容</el-button>
<el-button size="mini" @click="resend(scope.row)" type="text" icon="el-icon-s-promotion">编辑内容</el-button>
<el-button v-if="scope.row.sendStatus == '发送失败'|| scope.row.sendStatus == '发送中'" size="mini" type="text" @click="resendMessage(scope.row)" icon="el-icon-s-promotion">重新发送</el-button>
</template>
</el-table-column>
</el-table> </el-table>
<resend :resendVidable="resendVidable" :rowData="rowData" @getList="getList" @cancelSend="cancelSend" :queryParams="queryParams"></resend>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList({caseNum:queryParams.caseNum},{pageNum:queryParams.pageNum,pageSize:queryParams.pageSize})" /> @pagination="getList({caseNum:queryParams.caseNum,pageNum:queryParams.pageNum,pageSize:queryParams.pageSize})" />
</div> </div>
</template> </template>
<script> <script>
import { import {
smsList, recordList,reSendShortMessage
} from "@/api/deliveryRecord/deliveryRecord.js"; } from "@/api/deliveryRecord/deliveryRecord.js";
import resend from "./components/resend.vue";
import { getDicts } from '@/api/system/dict/data.js' import { getDicts } from '@/api/system/dict/data.js'
export default { export default {
name: "paymentList", name: "paymentList",
dicts: ["case_status"], dicts: ["case_status"],
components: { }, components: {resend },
data() { data() {
return { return {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}, },
resendVidable:false,
rowData:{},
caseStatus: [], caseStatus: [],
// 遮罩层 // 遮罩层
loading: false, loading: false,
@@ -59,14 +70,14 @@ export default {
}, },
created() { created() {
getDicts("case_status").then(res => { getDicts("case_status").then(res => {
this.getList({caseNum:this.queryParams.caseNum},{pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize}); this.getList({caseNum:this.queryParams.caseNum,pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
}) })
}, },
methods: { methods: {
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
this.getList({caseNum:this.queryParams.caseNum},{pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize}); this.getList({caseNum:this.queryParams.caseNum,pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
@@ -74,18 +85,19 @@ export default {
this.handleQuery(); this.handleQuery();
}, },
// 查询列表数据 // 查询列表数据
getList(data,params) { getList(data) {
console.log(data)
this.loading = true; this.loading = true;
smsList(data,params).then((response) => { recordList(data).then((response) => {
this.dataList = response.rows; this.dataList = response.rows;
console.log(this.dataList)
this.dataList.forEach(item=>{ this.dataList.forEach(item=>{
if(item.sendStatus == 0){ console.log(item)
item.sendStatus = "发送失败" if(item.sendStatus == 1){
}else if(item.sendStatus == 1){ item.sendStatus = "发送成功"
item.sendStatus = "已送达"
}else if(item.sendStatus == 2){ }else if(item.sendStatus == 2){
item.sendStatus = "已读取" item.sendStatus = "发送中"
}else{ }else if(item.sendStatus == 3){
item.sendStatus = "发送失败" item.sendStatus = "发送失败"
} }
}) })
@@ -93,6 +105,45 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
/** 复制内容 */
copyContent(row) {
const el = document.createElement('textarea');
el.value = row;
document.body.appendChild(el);
el.select();
document.execCommand('copy');
document.body.removeChild(el);
this.$message.success('复制成功');
},
/**重新发送 */
resend(row){
console.log(row)
this.resendVidable = true;
this.rowData = row;
},
/**关闭弹窗 */
cancelSend(){
this.resendVidable = false;
},
// 重新发送
resendMessage(row){
console.log(row.sendStatus)
let valuesRow ={
id:row.id,
templateId:row.templateId,
phone:row.phone,
templateParams:row.templateParams
}
this.reSendShortMessageFn(valuesRow)
console.log(valuesRow)
},
reSendShortMessageFn(valuesRow){
reSendShortMessage(valuesRow).then(res=>{
this.$message.success('发送成功');
this.getList({ caseNum: this.queryParams.caseNum,pageNum: this.queryParams.pageNum, pageSize: this.queryParams.pageSize });
})
}
}, },
}; };
</script> </script>
+108
View File
@@ -0,0 +1,108 @@
<template>
<div style="width: 100%; height: 100%">
<div id="placeholder"></div>
</div>
</template>
<script>
import { getOnlyoffice, saveOnlyOfficeFile } from "@/api/onlyoffice/onlyoffice";
import { setToken } from "@/utils/auth";
import store from "@/store";
import axios from "axios";
export default {
props: [],
data() {
return {
config: {},
flag: 0,
userId: store.getters.userId,
websock: null,
};
},
destroyed() {
//页面销毁时关闭ws连接
if (this.websock) {
this.websock.close(); // 关闭websocket
}
},
methods: {
getConfig(id) {
let edit = "edit";
if (this.flag == 0) {
edit = "view";
} else {
edit = "edit";
}
axios
.get(
`http://121.40.189.20:9090/onlyOfficeConfig/${edit}/${id}/${this.userId}/desktop/true/zhongcai`
)
.then((res) => {
this.config = res.data;
this.config.editorConfig.callbackUrl = this.config.editorConfig.callbackUrl + "/" + id;
// this.config.callbackUrl = this.config.callbackUrl + `/${this.userId}`;
var docEditor = new DocsAPI.DocEditor("placeholder", this.config);
});
},
//初始化weosocket
initWebSocket() {
if (typeof WebSocket === "undefined") {
alert("您的浏览器不支持WebSocket");
return false;
}
const wsuri = `ws://121.40.189.20:9090/api/websocket/${this.userId}`; // websocket地址
this.websock = new WebSocket(wsuri);
this.websock.onopen = this.websocketonopen;
this.websock.onmessage = this.websocketonmessage;
this.websock.onerror = this.websocketonerror;
this.websock.onclose = this.websocketclose;
},
//连接成功
websocketonopen() {
console.log("WebSocket连接成功");
},
//接收后端返回的数据
websocketonmessage(e) {
let dataJson = e.data;
if (dataJson != "conn_success") {
dataJson = JSON.parse(dataJson);
}
if (dataJson.caseId) {
saveOnlyOfficeFile({
caseAppliId: Number(dataJson.caseId),
annexName: dataJson.fileName,
annexPath: dataJson.filePath,
onlyOfficeFileId: dataJson.fileId,
}).then((res) => {
this.websock.send();
});
}
// 在这里使用后端返回的数据,对数据进行处理渲染
},
//连接建立失败重连
websocketonerror(e) {
console.log(`连接失败的信息:`, e);
this.initWebSocket(); // 连接失败后尝试重新连接
},
//关闭连接
websocketclose(e) {
console.log("断开连接", e);
},
/**是否从视频会议跳转,是处理token */
async getToken() {
setToken(this.$route.query.token);
},
},
async mounted() {
if (this.$route.query.token) {
await this.getToken();
}
let id = this.$route.query.id;
this.flag = this.$route.query.flag;
this.getConfig(id);
this.initWebSocket();
},
watch: {},
};
</script>
<style lang="scss" scoped></style>
+1 -1
View File
@@ -15,7 +15,7 @@ const port = process.env.port || process.env.npm_config_port || 80 // 端口
const API = 'http://121.40.189.20:8001' //测试 const API = 'http://121.40.189.20:8001' //测试
// const API = 'http://172.16.1.26:8001' //Bs // const API = 'http://172.16.1.26:8001' //Bs
// const API = 'http://192.168.3.77:9001' //Q // const API = 'http://192.168.3.77:9001' //Q
// const API = 'http://172.16.1.26:8001' //W // const API = 'http://172.16.0.241:8001' //W
// vue.config.js 配置说明 // vue.config.js 配置说明
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions