Merge branch 'hcb' of SH-Arbitrate/Mediation-Frontend into dev

This commit was merged in pull request #42.
This commit is contained in:
2024-02-20 17:22:37 +08:00
committed by Gitea
10 changed files with 349 additions and 65 deletions
+20
View File
@@ -0,0 +1,20 @@
import request from '@/utils/request'
// 查询邮件列表
export function emailList(data) {
return request({
url: '/sendMailRecord/list',
method: 'get',
params: data
})
}
// 查询短信列表
export function smsList(data,params) {
return request({
url: '/caseApplication/smsRecord',
method: 'post',
data: data,
params:params
})
}
+19
View File
@@ -57,3 +57,22 @@ export function getCodeImg() {
timeout: 20000
})
}
// 获取手机验证码
export function sendCode(data) {
return request({
url: '/weChatUser/sendCode',
method: 'get',
params:data
})
}
// 注册方法
export function wxregister(data) {
return request({
url: '/weChatUser/registerUser',
headers: {
isToken: false
},
method: 'post',
data: data
})
}
+25 -39
View File
@@ -490,13 +490,15 @@ export default {
applicantEvidence: [], //申请人证据
respondentEvidence: [], //被申请人证据
buttonFlag: true,
getUserInfoList: {}
getUserInfoList: {},
applicationFlag: null
};
},
watch: {
addModifyData(val) {
if (val == 1) {
this.title = "新增案件";
this.getUserInfoFn();
this.modelFlag = false;
this.buttonFlag = true;
this.formData = {
@@ -524,48 +526,12 @@ export default {
if (this.addModifyData != 1) {
this.caseApplicationSelectByIdFn(this.caseData.id);
}
if (this.formData.affiliate.organizeFlag == 0) {
this.formData.affiliate.applicationName = this.getUserInfoList.nickName;
this.formData.affiliate.code = this.getUserInfoList.idCard;
this.formData.affiliate.applicationEmail = this.getUserInfoList.email;
this.formData.affiliate.applicationPhone = this.getUserInfoList.phonenumber;
} else if (this.formData.affiliate.organizeFlag == 1) {
this.formData.affiliate.nameAgent = this.getUserInfoList.nickName;
this.formData.affiliate.agentEmail = this.getUserInfoList.email;
this.formData.affiliate.contactTelphoneAgent = this.getUserInfoList.phonenumber;
}
}
},
formData: {
handler(newVal) {
if (newVal) {
console.log('newVal========newVal==========newVal', newVal);
if (newVal.affiliate.organizeFlag == 0) {
this.formData.affiliate.applicationName = this.getUserInfoList.nickName;
this.formData.affiliate.code = this.getUserInfoList.idCard;
this.formData.affiliate.applicationEmail = this.getUserInfoList.email;
this.formData.affiliate.applicationPhone = this.getUserInfoList.phonenumber;
// this.formData.affiliate.nameAgent = '';
// this.formData.affiliate.agentEmail = '';
// this.formData.affiliate.contactTelphoneAgent = '';
} else if (newVal.affiliate.organizeFlag == 1) {
// this.formData.affiliate.applicationName = "";
// this.formData.affiliate.code = "";
// this.formData.affiliate.applicationEmail = "";
// this.formData.affiliate.applicationPhone = "";
this.formData.affiliate.nameAgent = this.getUserInfoList.nickName;
this.formData.affiliate.agentEmail = this.getUserInfoList.email;
this.formData.affiliate.contactTelphoneAgent = this.getUserInfoList.phonenumber;
}
}
},
deep: true, // 深度监听
immediate: true, // 初始化监听
}
},
created() {
console.log(this.formData, "000000000000000000")
this.getUserInfoFn();
// this.getUserInfoFn();
},
methods: {
/** 切换申请类型 */
@@ -576,8 +542,11 @@ export default {
/**获取申请人信息 */
getUserInfoFn() {
getUserInfo().then(res => {
console.log(res, "信息信息信息信息信息信息信息信息信息信息信息信息信息信息");
this.getUserInfoList = res.data;
this.$set(this.formData.affiliate, "applicationName", this.getUserInfoList.nickName);
this.$set(this.formData.affiliate, "code", this.getUserInfoList.idCard);
this.$set(this.formData.affiliate, "applicationEmail", this.getUserInfoList.email);
this.$set(this.formData.affiliate, "applicationPhone", this.getUserInfoList.phonenumber);
})
},
/** 根据案件id获取对应信息 */
@@ -671,6 +640,23 @@ export default {
});
},
clearValidate(val) {
if (val == 0) {
this.$set(this.formData.affiliate, "applicationName", this.getUserInfoList.nickName);
this.$set(this.formData.affiliate, "code", this.getUserInfoList.idCard);
this.$set(this.formData.affiliate, "applicationEmail", this.getUserInfoList.email);
this.$set(this.formData.affiliate, "applicationPhone", this.getUserInfoList.phonenumber);
this.formData.affiliate.nameAgent = null;
this.formData.affiliate.agentEmail = null;
this.formData.affiliate.contactTelphoneAgent = null;
} else if (val == 1) {
this.$set(this.formData.affiliate, "nameAgent", this.getUserInfoList.nickName);
this.$set(this.formData.affiliate, "agentEmail", this.getUserInfoList.email);
this.$set(this.formData.affiliate, "contactTelphoneAgent", this.getUserInfoList.phonenumber);
this.formData.affiliate.applicationName = null;
this.formData.affiliate.code = null;
this.formData.affiliate.applicationEmail = null;
this.formData.affiliate.applicationPhone = null;
}
this.$refs["ruleForm"].clearValidate()
},
cancel() {
@@ -12,7 +12,7 @@
<el-descriptions-item label="案件标的">{{
formPayDetail.caseSubjectAmount
}}</el-descriptions-item>
<el-descriptions-item label="案件应缴费用">{{
<el-descriptions-item label="申请人应缴费用">{{
formPayDetail.feePayable
}}</el-descriptions-item>
<el-descriptions-item label="被申请人">{{
@@ -1,17 +1,20 @@
<template>
<div>
<el-dialog :title="title" :visible="openDialog" @close="cancel" :destroy-on-close="true" center>
<el-form ref="form" :model="form" label-width="90px" :disabled="true">
<el-form ref="form" :model="form" label-width="180px" :disabled="true">
<el-form-item label="案件编号:" prop="caseNum">
<el-input v-model="form.caseNum" placeholder="" />
</el-form-item>
<el-form-item label="案件标的:" prop="caseSubjectAmount">
<!-- <el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input v-model="form.caseSubjectAmount" />
</el-form-item>
</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-form-item label="申请人缴费金额:" prop="feePayable">
<el-input v-model="form.feePayable" />
</el-form-item>
<el-form-item label="被申请人缴费金额:" prop="feePayable">
<el-input v-model="form.feePayable" />
</el-form-item>
<el-form-item label="申请人缴费凭证:" v-if="form.caseAttachList.length > 0">
@@ -12,7 +12,7 @@
<el-descriptions-item label="案件标的">{{
formResPayDetail.caseSubjectAmount
}}</el-descriptions-item>
<el-descriptions-item label="案件应缴费用">{{
<el-descriptions-item label="被申请人应缴费用">{{
formResPayDetail.feePayable
}}</el-descriptions-item>
<el-descriptions-item label="被申请人">{{
+104
View File
@@ -0,0 +1,104 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="案件编号" prop="caseNum">
<el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="dataList" style="width: 100%">
<el-table-column label="序号" type="index" align="center">
<template slot-scope="scope">
<span>{{
(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
}}</span>
</template>
</el-table-column>
<el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
<el-table-column label="名称" align="center" prop="mailName" :show-overflow-tooltip="true" />
<!-- <el-table-column label="证件号码" align="center" prop="caseNum" :show-overflow-tooltip="true" /> -->
<el-table-column label="邮箱地址" align="center" prop="mailAddress" />
<el-table-column label="发送时间" align="center" prop="sendTime" :show-overflow-tooltip="true" />
<el-table-column label="发送状态" align="center" prop="sendStatus" />
<!-- <el-table-column label="文书类型" align="center" prop="hearDate" :show-overflow-tooltip="true" /> -->
<!-- 缴费人 -->
<!-- <el-table-column label="案件状态" align="center" prop="caseStatusName" /> -->
<el-table-column label="内容" align="center" prop="mailContent"></el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList(queryParams)" />
</div>
</template>
<script>
import {
emailList,
} from "@/api/deliveryRecord/deliveryRecord.js";
import { getDicts } from '@/api/system/dict/data.js'
export default {
name: "paymentList",
dicts: ["case_status"],
components: {},
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 10,
},
caseStatus: [],
// 遮罩层
loading: false,
// 总条数
total: 0,
// 表格数据
form: {},
// 校验表单
rules: {},
dataList: [],
};
},
created() {
getDicts("case_status").then(res => {
this.caseStatus = res.data;
this.getList(this.queryParams);
})
},
methods: {
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList(this.queryParams);
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 查询列表数据
getList(parms) {
this.loading = true;
emailList(parms).then((response) => {
this.dataList = response.rows;
this.dataList.forEach(item => {
if (item.sendStatus == 0) {
item.sendStatus = "未发送"
} else if (item.sendStatus == 1) {
item.sendStatus = "已发送"
} else {
item.sendStatus = "未发送"
}
})
this.total = response.total;
this.loading = false;
});
},
},
};
</script>
<style lang="scss" scoped></style>
+100
View File
@@ -0,0 +1,100 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="案件编号" prop="caseNum">
<el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="dataList" style="width: 100%">
<el-table-column label="序号" type="index" align="center">
<template slot-scope="scope">
<span>{{
(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
}}</span>
</template>
</el-table-column>
<el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
<el-table-column label="手机号" align="center" prop="phone" :show-overflow-tooltip="true" />
<el-table-column label="发送时间" align="center" prop="sendTime" />
<el-table-column label="发送状态" align="center" prop="sendStatus" />
<el-table-column label="发送内容" align="center" prop="sendContent" :show-overflow-tooltip="true" />
</el-table>
<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})" />
</div>
</template>
<script>
import {
smsList,
} from "@/api/deliveryRecord/deliveryRecord.js";
import { getDicts } from '@/api/system/dict/data.js'
export default {
name: "paymentList",
dicts: ["case_status"],
components: { },
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 10,
},
caseStatus: [],
// 遮罩层
loading: false,
// 总条数
total: 0,
// 表格数据
form: {},
// 校验表单
rules: {},
dataList: [],
};
},
created() {
getDicts("case_status").then(res => {
this.getList({caseNum:this.queryParams.caseNum},{pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
})
},
methods: {
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList({caseNum:this.queryParams.caseNum},{pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 查询列表数据
getList(data,params) {
this.loading = true;
smsList(data,params).then((response) => {
this.dataList = response.rows;
this.dataList.forEach(item=>{
if(item.sendStatus == 0){
item.sendStatus = "发送失败"
}else if(item.sendStatus == 1){
item.sendStatus = "已送达"
}else if(item.sendStatus == 2){
item.sendStatus = "已读取"
}else{
item.sendStatus = "发送失败"
}
})
this.total = response.total;
this.loading = false;
});
},
},
};
</script>
<style lang="scss" scoped></style>
+70 -9
View File
@@ -29,6 +29,39 @@
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="identityNo">
<el-input v-model="registerForm.identityNo" type="text" auto-complete="off" placeholder="身份证号码">
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="email">
<el-input v-model="registerForm.email" type="text" auto-complete="off" placeholder="邮箱">
<svg-icon slot="prefix" icon-class="email" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="name">
<el-input v-model="registerForm.name" type="text" auto-complete="off" placeholder="用户名">
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="phone">
<el-input
v-model="registerForm.phone"
auto-complete="off"
placeholder="手机号"
style="width: 63%"
>
<svg-icon slot="prefix" icon-class="phone" class="el-input__icon input-icon" />
</el-input>
<div class="register-code">
<el-button type="primary" :disabled="codeDisabled" @click="getCodeNumber(registerForm.phone)">{{codeText}}</el-button>
</div>
</el-form-item>
<el-form-item prop="verifyCode">
<el-input v-model="registerForm.verifyCode" type="text" auto-complete="off" placeholder="手机验证码">
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="code" v-if="captchaEnabled">
<el-input
v-model="registerForm.code"
@@ -67,7 +100,7 @@
</template>
<script>
import { getCodeImg, register } from "@/api/login";
import { getCodeImg, register, sendCode, wxregister } from "@/api/login";
export default {
name: "Register",
@@ -80,13 +113,16 @@ export default {
}
};
return {
codeText: "发送验证码",
codeDisabled:false,
codeUrl: "",
registerForm: {
username: "",
password: "",
phone:"",
confirmPassword: "",
code: "",
uuid: ""
uuid: "",
},
registerRules: {
username: [
@@ -124,7 +160,7 @@ export default {
this.$refs.registerForm.validate(valid => {
if (valid) {
this.loading = true;
register(this.registerForm).then(res => {
wxregister(this.registerForm).then(res => {
const username = this.registerForm.username;
this.$alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功!</font>", '系统提示', {
dangerouslyUseHTMLString: true,
@@ -140,7 +176,31 @@ export default {
})
}
});
},
getCodeNumber(data) {
sendCode({
phone: data
}).then(res => {
if (res.code != 200) {
this.$modal.msgError(res.msg);
return
} else {
this.$modal.msgSuccess('发送成功');
let time = 60;
let timer = setInterval(() => {
time--;
this.codeDisabled = true;
this.codeText = time + 's重试'
if (time == 0) {
clearInterval(timer)
this.codeText = '发送验证码'
this.codeDisabled = false;
}
}, 1000)
}
})
},
}
};
</script>
@@ -164,13 +224,14 @@ export default {
border-radius: 6px;
background: #ffffff;
width: 400px;
height: 90%;
padding: 25px 25px 5px 25px;
.el-input {
height: 38px;
input {
height: 38px;
}
}
// .el-input {
// height: 38px;
// input {
// height: 38px;
// }
// }
.input-icon {
height: 39px;
width: 14px;
+1 -10
View File
@@ -14,18 +14,8 @@ const port = process.env.port || process.env.npm_config_port || 80 // 端口
// const API = 'http://121.40.189.20:9001' //生产
const API = 'http://121.40.189.20:6001' //测试
// const API = 'http://192.168.3.18:6001' //B
<<<<<<< HEAD
// const API = 'http://172.16.0.237:6001' //Q
// const API = 'http://172.16.1.43:6001' //w
=======
// const API = 'http://172.16.1.30:6001' //Q
<<<<<<< HEAD
// const API = 'http://172.16.1.43:6001' //w
=======
// const API = 'http://172.16.1.17:6001' //w
>>>>>>> 14df1eebfbde9573a5c541678ad9dfbb33797007
>>>>>>> 2fbaf17b60f7f1acb11b1a884129643927270d1b
// vue.config.js 配置说明
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
// 这里只列一部分,具体配置参考文档
@@ -68,6 +58,7 @@ module.exports = {
},
configureWebpack: {
name: name,
devtool: '#eval-source-map',
resolve: {
alias: {
'@': resolve('src')