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

This commit was merged in pull request #29.
This commit is contained in:
2024-01-30 17:24:51 +08:00
committed by Gitea
13 changed files with 194 additions and 324 deletions
+1 -1
View File
@@ -50,7 +50,7 @@
</el-table-column> </el-table-column>
<!-- <el-table-column label="批号" align="center" prop="batchNumber" :show-overflow-tooltip="true" /> --> <!-- <el-table-column label="批号" align="center" prop="batchNumber" :show-overflow-tooltip="true" /> -->
<el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" /> <el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
<el-table-column label="申请机构名称" align="center" prop="applicationOrganName" :show-overflow-tooltip="true" /> <el-table-column label="申请人" align="center" prop="applicationName" :show-overflow-tooltip="true" />
<el-table-column label="被申请人" align="center" prop="respondentName" :show-overflow-tooltip="true" /> <el-table-column label="被申请人" align="center" prop="respondentName" :show-overflow-tooltip="true" />
<el-table-column label="案件标的" align="center" prop="caseSubjectAmount" :show-overflow-tooltip="true" /> <el-table-column label="案件标的" align="center" prop="caseSubjectAmount" :show-overflow-tooltip="true" />
<el-table-column label="调解员" align="center" prop="mediatorName" :show-overflow-tooltip="true" /> <el-table-column label="调解员" align="center" prop="mediatorName" :show-overflow-tooltip="true" />
@@ -130,7 +130,7 @@
trigger: 'blur', trigger: 'blur',
}, },
]"> ]">
<el-input v-model="formData.affiliate.applicationOrganName" placeholder="请输入申请机构名称" /> <el-input v-model="formData.affiliate.applicationName" placeholder="请输入申请机构名称" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" v-if="organizeFlag==0"> <el-col :span="12" v-if="organizeFlag==0">
@@ -12,7 +12,7 @@
<el-form-item label="调解方式:"> <el-form-item label="调解方式:">
<el-radio-group v-model="courtReviewform.mediationMethod"> <el-radio-group v-model="courtReviewform.mediationMethod">
<el-radio :label="1">开庭调解</el-radio> <el-radio :label="1">开庭调解</el-radio>
<el-radio :label="2">书面调解</el-radio> <el-radio :label="2">线下调解</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="是否纸质送达:"> <el-form-item label="是否纸质送达:">
@@ -19,8 +19,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="申请人:" prop="affiliate.applicationOrganName"> <el-form-item label="申请人:" prop="affiliate.applicationName">
<el-input v-model="formData.affiliate.applicationOrganName" :disabled="true" /> <el-input v-model="formData.affiliate.applicationName" :disabled="true" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@@ -80,7 +80,7 @@ export default {
applicantTable: [], applicantTable: [],
respondentTable: [], respondentTable: [],
multipleSelection: [], multipleSelection: [],
tableDataFlag: false, tableDataFlag: true,
formLabelAlign: { formLabelAlign: {
time: [] time: []
}, },
@@ -107,7 +107,8 @@ export default {
this.applicantTable = res.data.mediatorList; this.applicantTable = res.data.mediatorList;
this.respondentTable = res.data.resMediatorList; this.respondentTable = res.data.resMediatorList;
this.tableDataNow = [{ mediatorId: res.data.mediatorId, mediatorName: res.data.mediatorName }]; this.tableDataNow = [{ mediatorId: res.data.mediatorId, mediatorName: res.data.mediatorName }];
if (this.tableDataNow.length > 0) {
if (this.tableDataNow[0].mediatorId) {
this.tableDataFlag = false; this.tableDataFlag = false;
} else { } else {
this.tableDataFlag = true; this.tableDataFlag = true;
@@ -131,14 +132,14 @@ export default {
mediatorId: this.tableDataNow[0].mediatorId, mediatorId: this.tableDataNow[0].mediatorId,
mediatorName: this.tableDataNow[0].mediatorName, mediatorName: this.tableDataNow[0].mediatorName,
}) })
} else if (this.multipleSelection.length > 0 && this.tableDataNow.length == 0) { } else if (this.multipleSelection.length > 0 && !this.tableDataNow[0].mediatorId) {
this.verifyMediatorFn({ this.verifyMediatorFn({
id: this.confirmData.id, id: this.confirmData.id,
caseFlowId: this.confirmData.caseFlowId, caseFlowId: this.confirmData.caseFlowId,
mediatorId: this.multipleSelection[0].mediatorId, mediatorId: this.multipleSelection[0].mediatorId,
mediatorName: this.multipleSelection[0].mediatorName, mediatorName: this.multipleSelection[0].mediatorName,
}) })
} else if (this.multipleSelection.length > 1 && this.tableDataNow.length == 0) { } else if (this.multipleSelection.length > 1 && !this.tableDataNow[0].mediatorId) {
Message.error('最多选择一名调解员'); Message.error('最多选择一名调解员');
return return
} }
@@ -3,7 +3,7 @@
<el-dialog title="修改证据" :visible="evidenceVisable" @close="cancel" center :distroy-on-close="true"> <el-dialog title="修改证据" :visible="evidenceVisable" @close="cancel" center :distroy-on-close="true">
<el-descriptions title="案件内容" :column="2" border> <el-descriptions title="案件内容" :column="2" border>
<el-descriptions-item label="案件编号">{{ evidenceData.caseNum }}</el-descriptions-item> <el-descriptions-item label="案件编号">{{ evidenceData.caseNum }}</el-descriptions-item>
<el-descriptions-item label="申请人(机构)">{{ evidenceData.applicantName }}</el-descriptions-item> <el-descriptions-item label="申请人">{{ evidenceData.applicationName }}</el-descriptions-item>
<el-descriptions-item label="案件标的">{{ evidenceData.caseSubjectAmount }}</el-descriptions-item> <el-descriptions-item label="案件标的">{{ evidenceData.caseSubjectAmount }}</el-descriptions-item>
<el-descriptions-item label="案件状态"> <el-descriptions-item label="案件状态">
<el-tag size="small">{{ evidenceData.caseStatusName }}</el-tag> <el-tag size="small">{{ evidenceData.caseStatusName }}</el-tag>
@@ -1,13 +1,6 @@
<template> <template>
<div> <div>
<el-dialog <el-dialog :title="title" :visible="mediationVisable" @close="cancel" center :distroy-on-close="true" width="1000px">
:title="title"
:visible="mediationVisable"
@close="cancel"
center
:distroy-on-close="true"
width="1000px"
>
<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>
@@ -18,8 +11,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="申请人:" prop="affiliate.applicationOrganName"> <el-form-item label="申请人:" prop="affiliate.applicationName">
<el-input v-model="formData.affiliate.applicationOrganName" :disabled="true" /> <el-input v-model="formData.affiliate.applicationName" :disabled="true" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@@ -29,11 +22,7 @@
</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">
@@ -50,7 +39,7 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item label="申请人案件证据:"> <el-form-item label="申请人案件证据:">
<div v-if="applicateArr.length == 0">申请人暂未提供证据!</div> <div v-if="applicateArr.length == 0">申请人暂未提供证据!</div>
<div v-else v-for="(item, index) in applicateArr" :key="index" v-if="item.annexType==2"> <div v-else v-for="(item, index) in applicateArr" :key="index" v-if="item.annexType == 2">
<a href="#" @click="toFile(item, index)" style="color: blue">{{ item.annexName }}</a> <a href="#" @click="toFile(item, index)" style="color: blue">{{ item.annexName }}</a>
</div> </div>
</el-form-item> </el-form-item>
@@ -80,25 +69,28 @@
<div>{{ formData.hearDate }}</div> <div>{{ formData.hearDate }}</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" v-if="!mediationType">
<el-form-item label="上传调解书">
<el-upload class="upload-demo" ref="upload" :action="UploadUrl()" :headers="headers" :data="filedata"
:on-preview="handlePreview" :on-remove="handleRemove" :on-change="beforeUpload" :on-success="handlSuccess"
:file-list="fileList">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
</el-form-item>
</el-col>
<!-- </el-form> --> <!-- </el-form> -->
</el-form> </el-form>
<el-button @click="openmeeting" type="primary" v-if="mediationType">发起会议</el-button> <el-button @click="openmeeting" type="primary" v-if="mediationType">发起会议</el-button>
<el-button <el-button @click="openArbitrationresults" type="primary"
@click="openArbitrationresults" v-if="this.recordArr.length <= 0 && mediationData.mediationMethod == '1'">确认会议结果</el-button>
type="primary"
v-if="this.recordArr.length <= 0 && mediationData.mediationMethod == '1'"
>确认会议结果</el-button>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1" round> <el-button @click="cancel" class="endbutton1" round>
<span>取 消</span> <span>取 消</span>
</el-button> </el-button>
<el-button <el-button @click="submitMediation" :disabled="this.recordArr.length <= 0 && mediationData.mediationMethod == '1'"
@click="submitMediation" class="endbutton1" type="primary" round>
:disabled="this.recordArr.length <= 0 && mediationData.mediationMethod == '1'"
class="endbutton1"
type="primary"
round
>
<span>提 交</span> <span>提 交</span>
</el-button> </el-button>
</div> </div>
@@ -113,6 +105,7 @@ import {
} from "@/api/caseManagement/caseManagement.js"; } from "@/api/caseManagement/caseManagement.js";
import { getUserProfile } from "@/api/system/user"; import { getUserProfile } from "@/api/system/user";
import { reserveConferenceList } from "@/api/metting/metting.js"; import { reserveConferenceList } from "@/api/metting/metting.js";
import { getToken } from "@/utils/auth";
export default { export default {
props: ["mediationVisable", "mediationData", "queryParams"], props: ["mediationVisable", "mediationData", "queryParams"],
data() { data() {
@@ -130,7 +123,15 @@ export default {
user: "", user: "",
userId: null, userId: null,
flieList: [], flieList: [],
mediationType: true mediationType: true,
headers: {
Authorization: "Bearer " + getToken(),
},
filedata: {
annexType: 7,
},
fileList:[],
attachList:[],
}; };
}, },
watch: { watch: {
@@ -140,7 +141,7 @@ export default {
this.title = "开庭调解"; this.title = "开庭调解";
this.mediationType = true; this.mediationType = true;
} else if (this.mediationData.mediationMethod == "2") { } else if (this.mediationData.mediationMethod == "2") {
this.title = "书面调解"; this.title = "线下调解";
this.mediationType = false; this.mediationType = false;
} }
if (val) { if (val) {
@@ -151,8 +152,24 @@ export default {
} }
} }
}, },
created() {}, created() { },
methods: { methods: {
/**上传地址*/
UploadUrl() {
return window.location.origin + "/API/common/upload";
},
handlePreview(file) {
},
handleRemove(file, fileList) {
},
beforeUpload(flie, fileList) {
this.fileList = fileList;
},
handlSuccess(res, file) {
this.attachList = [{annexId:res.annexId}];
// this.$set(this.mediationData, "attachList", {annexId:res.annexId});
},
/** 获取案件详情信息 */ /** 获取案件详情信息 */
caseApplicationSelectByIdFn(data) { caseApplicationSelectByIdFn(data) {
caseApplicationSelectById(data).then(res => { caseApplicationSelectById(data).then(res => {
@@ -207,9 +224,14 @@ export default {
this.$emit("cancelMediation"); this.$emit("cancelMediation");
}, },
submitMediation() { submitMediation() {
if (this.fileList.length < 1 && !this.mediationType) {
this.$modal.msgError("请上传调解书");
return
}
this.mediationFn({ this.mediationFn({
id: this.mediationData.id, id: this.mediationData.id,
caseFlowId: this.mediationData.caseFlowId caseFlowId: this.mediationData.caseFlowId,
attachList: this.attachList
}); });
} }
} }
@@ -7,7 +7,7 @@
formPayDetail.caseNum formPayDetail.caseNum
}}</el-descriptions-item> }}</el-descriptions-item>
<el-descriptions-item label="申请人">{{ <el-descriptions-item label="申请人">{{
formPayDetailAffiliate.applicationOrganName || '' formPayDetailAffiliate.applicationName || ''
}}</el-descriptions-item> }}</el-descriptions-item>
<el-descriptions-item label="案件标的">{{ <el-descriptions-item label="案件标的">{{
formPayDetail.caseSubjectAmount formPayDetail.caseSubjectAmount
@@ -8,9 +8,9 @@
<el-form-item label="案件标的:" prop="caseSubjectAmount"> <el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input v-model="form.caseSubjectAmount" /> <el-input v-model="form.caseSubjectAmount" />
</el-form-item> </el-form-item>
<el-form-item label="缴费人:" prop="applicantName"> <!-- <el-form-item label="缴费人:" prop="applicantName">
<el-input v-model="form.applicationOrganName" placeholder="" /> <el-input v-model="form.applicationName" placeholder="" />
</el-form-item> </el-form-item> -->
<el-form-item label="缴费金额:" prop="feePayable"> <el-form-item label="缴费金额:" prop="feePayable">
<el-input v-model="form.feePayable" /> <el-input v-model="form.feePayable" />
</el-form-item> </el-form-item>
@@ -2,20 +2,20 @@
<div> <div>
<el-dialog title="秘书确认时间" :visible="timeConfirmVisable" v-if="timeConfirmVisable" @close="cancel" center <el-dialog title="秘书确认时间" :visible="timeConfirmVisable" v-if="timeConfirmVisable" @close="cancel" center
:distroy-on-close="true"> :distroy-on-close="true">
<div style="margin-bottom: 20px;"> <!-- <div style="margin-bottom: 20px;">
<el-radio-group v-model="confirmFlag"> <el-radio-group v-model="confirmFlag">
<el-radio :label="1">同意</el-radio> <el-radio :label="1">同意</el-radio>
<el-radio :label="2">拒绝</el-radio> <el-radio :label="2">拒绝</el-radio>
</el-radio-group> </el-radio-group>
</div> </div> -->
<div> <div>
<div> <div>
<div style="margin-top: 20px;margin-bottom: 20px;">时间</div> <!-- <div style="margin-top: 20px;margin-bottom: 20px;">时间</div> -->
<el-form label-position="right" label-width="80px" :model="formLabelAlign" :disabled="confirmShow"> <el-form label-position="right" label-width="80px" :model="formLabelAlign">
<el-form-item label="时间"> <el-form-item label="时间">
<el-date-picker v-if="!confirmShow" v-model="formLabelAlign.name" type="datetime" placeholder="选择日期时间"> <el-date-picker v-model="formLabelAlign.name" type="datetime" placeholder="选择日期时间">
</el-date-picker> </el-date-picker>
<el-input v-else v-model="formLabelAlign.name"></el-input> <!-- <el-input v-else v-model="formLabelAlign.name"></el-input> -->
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@@ -30,7 +30,7 @@
<script> <script>
import { Message } from 'element-ui' import { Message } from 'element-ui'
import { listMediator, selectReservation,confirmDate } from '@/api/caseManagement/caseManagement.js' import { listMediator, selectReservation, confirmDate } from '@/api/caseManagement/caseManagement.js'
import { createRoomId } from '@/api/metting/metting.js' import { createRoomId } from '@/api/metting/metting.js'
import moment from "moment"; import moment from "moment";
export default { export default {
@@ -41,35 +41,17 @@ export default {
multipleSelection: [], multipleSelection: [],
formLabelAlign: { formLabelAlign: {
time: [], time: [],
name:"" name: ""
}, },
formTimeArr: [], formTimeArr: [],
mediatorArr: [],
confirmFlag: 1,
confirmShow: true,
}; };
}, },
watch: { watch: {
timeConfirmVisable(val) { timeConfirmVisable(val) {
if (val) { if (val) {
this.confirmFlag = 1;
this.mediatorArr = [];
this.formTimeArr = []; this.formTimeArr = [];
this.selectReservationFn({ id: this.timeConfirmData.id })
} }
}, },
confirmFlag(val) {
if (val == 1) {
this.confirmShow = true;
console.log(this.timeConfirmData.id);
this.selectReservationFn({ id: this.timeConfirmData.id })
} else {
this.confirmShow = false;
listMediator().then(res => {
this.tableData = res.data;
})
}
}
}, },
methods: { methods: {
cancel() { cancel() {
@@ -78,7 +60,6 @@ export default {
selectReservationFn(data) { selectReservationFn(data) {
selectReservation(data).then(res => { selectReservation(data).then(res => {
this.tableData = res.data.mediatorList; this.tableData = res.data.mediatorList;
// this.formLabelAlign.time[0] = res.data.herDates[0];
this.formLabelAlign.name = res.data.herDates[0] this.formLabelAlign.name = res.data.herDates[0]
}) })
}, },
@@ -91,40 +72,18 @@ export default {
}) })
}, },
// 生成会议房间号 // 生成会议房间号
createRoomIdFn(data){ createRoomIdFn(data) {
createRoomId(data).then(res=>{ createRoomId(data).then(res => {
console.log(res,"房间号"); console.log(res, "房间号");
}) })
}, },
/**提交选择结果*/ /**提交选择结果*/
async submitMediator() { async submitMediator() {
this.createRoomIdFn({ this.createRoomIdFn({
caseId:this.timeConfirmData.id caseId: this.timeConfirmData.id
}) })
if (this.confirmFlag == 1) {
let userArr = [];
this.tableData.forEach(item => {
userArr.push({
userId: item.mediatorId,
userName: item.mediatorName
})
})
this.verifyMediatorFn({
id: this.timeConfirmData.id,
caseFlowId: this.timeConfirmData.caseFlowId,
// userList: userArr,
herDates: [this.formLabelAlign.name]
})
} else {
// if (this.multipleSelection.length > 1) {
// Message.error('最多选择一名调解员');
// return
// } else if (this.multipleSelection.length < 1) {
// Message.error('至少选择一名调解员');
// return
// }
if (this.formLabelAlign.name == '') { if (this.formLabelAlign.name == '') {
Message.error('至少选择一个时间'); Message.error('请选择时间');
return return
} }
this.formLabelAlign.time.forEach(item => { this.formLabelAlign.time.forEach(item => {
@@ -133,22 +92,12 @@ export default {
).format("YYYY-MM-DD HH:mm:ss"); ).format("YYYY-MM-DD HH:mm:ss");
this.formTimeArr.push(item) this.formTimeArr.push(item)
}) })
this.multipleSelection.forEach(item => {
this.mediatorArr.push({
userId: item.mediatorId,
userName: item.mediatorName
})
})
this.verifyMediatorFn({ this.verifyMediatorFn({
id: this.timeConfirmData.id, id: this.timeConfirmData.id,
caseFlowId: this.timeConfirmData.caseFlowId, caseFlowId: this.timeConfirmData.caseFlowId,
herDates: [this.formLabelAlign.name] herDates: [this.formLabelAlign.name]
}) })
}
}, },
handleSelectionChange(val) {
this.multipleSelection = val;
}
}, },
}; };
</script> </script>
@@ -25,6 +25,9 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="权限字符" prop="buttonAuthFlag">
<el-input v-model="ruleForm.buttonAuthFlag" placeholder="请输入"></el-input>
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button> <el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
@@ -58,6 +61,9 @@ export default {
], ],
roleIds: [ roleIds: [
{ required: true, message: '请选择关联角色', trigger: 'blur' }, { required: true, message: '请选择关联角色', trigger: 'blur' },
],
buttonAuthFlag: [
{ required: true, message: '请输入权限字符', trigger: 'blur' },
] ]
}, },
dealvalue: [], dealvalue: [],
@@ -121,7 +127,7 @@ export default {
if (this.ruleForm.id) { if (this.ruleForm.id) {
let nodevalue = this.dict.type.case_flow_node; let nodevalue = this.dict.type.case_flow_node;
this.dealvalue = nodevalue.filter((item) => { this.dealvalue = nodevalue.filter((item) => {
if(item.value == this.ruleForm.nodeId) { if (item.value == this.ruleForm.nodeId) {
return item return item
} }
} }
@@ -134,7 +140,8 @@ export default {
caseStatusName: this.ruleForm.caseStatusName, caseStatusName: this.ruleForm.caseStatusName,
backFlowId: this.ruleForm.backFlowId, backFlowId: this.ruleForm.backFlowId,
roleIds: this.ruleForm.roleIds, roleIds: this.ruleForm.roleIds,
sort: this.ruleForm.sort sort: this.ruleForm.sort,
buttonAuthFlag: this.ruleForm.buttonAuthFlag
} }
} else { } else {
let nodevalue = this.dict.type.case_flow_node; let nodevalue = this.dict.type.case_flow_node;
@@ -150,7 +157,8 @@ export default {
nodeName: this.dealvalue[0].label, nodeName: this.dealvalue[0].label,
caseStatusName: this.ruleForm.caseStatusName, caseStatusName: this.ruleForm.caseStatusName,
backFlowId: this.ruleForm.backFlowId, backFlowId: this.ruleForm.backFlowId,
roleIds: this.ruleForm.roleIds roleIds: this.ruleForm.roleIds,
buttonAuthFlag: this.ruleForm.buttonAuthFlag
} }
} }
if (params.backFlowId == undefined) { if (params.backFlowId == undefined) {
+74 -184
View File
@@ -4,75 +4,35 @@
<!--部门数据--> <!--部门数据-->
<el-col :span="4" :xs="24"> <el-col :span="4" :xs="24">
<div class="head-container"> <div class="head-container">
<el-input <el-input v-model="deptName" placeholder="请输入部门名称" clearable size="small" prefix-icon="el-icon-search"
v-model="deptName" style="margin-bottom: 20px" />
placeholder="请输入部门名称"
clearable
size="small"
prefix-icon="el-icon-search"
style="margin-bottom: 20px"
/>
</div> </div>
<div class="head-container"> <div class="head-container">
<el-tree <el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false"
:data="deptOptions" :filter-node-method="filterNode" ref="tree" node-key="id" default-expand-all highlight-current
:props="defaultProps" @node-click="handleNodeClick" />
:expand-on-click-node="false"
:filter-node-method="filterNode"
ref="tree"
node-key="id"
default-expand-all
highlight-current
@node-click="handleNodeClick"
/>
</div> </div>
</el-col> </el-col>
<!--用户数据--> <!--用户数据-->
<el-col :span="20" :xs="24"> <el-col :span="20" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户名称" prop="userName"> <el-form-item label="用户名称" prop="userName">
<el-input <el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 240px"
v-model="queryParams.userName" @keyup.enter.native="handleQuery" />
placeholder="请输入用户名称"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="手机号码" prop="phonenumber"> <el-form-item label="手机号码" prop="phonenumber">
<el-input <el-input v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable style="width: 240px"
v-model="queryParams.phonenumber" @keyup.enter.native="handleQuery" />
placeholder="请输入手机号码"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select <el-select v-model="queryParams.status" placeholder="用户状态" clearable style="width: 240px">
v-model="queryParams.status" <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
placeholder="用户状态" :value="dict.value" />
clearable
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间"> <el-form-item label="创建时间">
<el-date-picker <el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange"
v-model="dateRange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -82,56 +42,24 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
type="primary" v-hasPermi="['system:user:add']">新增</el-button>
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:user:add']"
>新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
type="success" v-hasPermi="['system:user:edit']">修改</el-button>
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:user:edit']"
>修改</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
type="danger" v-hasPermi="['system:user:remove']">删除</el-button>
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:user:remove']"
>删除</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport"
type="info" v-hasPermi="['system:user:import']">导入</el-button>
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport"
v-hasPermi="['system:user:import']"
>导入</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
type="warning" v-hasPermi="['system:user:export']">导出</el-button>
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:user:export']"
>导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row> </el-row>
@@ -139,18 +67,18 @@
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" /> <el-table-column type="selection" width="50" align="center" />
<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" /> <el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
<el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" /> <el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible"
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" /> :show-overflow-tooltip="true" />
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" /> <el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible"
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" /> :show-overflow-tooltip="true" />
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible"
:show-overflow-tooltip="true" />
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible"
width="120" />
<el-table-column label="状态" align="center" key="status" v-if="columns[5].visible"> <el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch v-model="scope.row.status" active-value="0" inactive-value="1"
v-model="scope.row.status" @change="handleStatusChange(scope.row)"></el-switch>
active-value="0"
inactive-value="1"
@change="handleStatusChange(scope.row)"
></el-switch>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160"> <el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
@@ -158,28 +86,14 @@
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
label="操作"
align="center"
width="160"
class-name="small-padding fixed-width"
>
<template slot-scope="scope" v-if="scope.row.userId !== 1"> <template slot-scope="scope" v-if="scope.row.userId !== 1">
<el-button <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
size="mini" v-hasPermi="['system:user:edit']">修改</el-button>
type="text" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
icon="el-icon-edit" v-hasPermi="['system:user:remove']">删除</el-button>
@click="handleUpdate(scope.row)" <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)"
v-hasPermi="['system:user:edit']" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:user:remove']"
>删除</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button> <el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="handleResetPwd" icon="el-icon-key" <el-dropdown-item command="handleResetPwd" icon="el-icon-key"
@@ -192,13 +106,8 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
v-show="total>0" @pagination="getList" />
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-col> </el-col>
</el-row> </el-row>
@@ -213,7 +122,10 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="归属部门" prop="deptId"> <el-form-item label="归属部门" prop="deptId">
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" /> <el-select v-model="form.deptId" multiple placeholder="请选择角色">
<el-option v-for="item in deptOptions" :key="item.id" :label="item.label" :value="item.id"></el-option>
</el-select>
<!-- <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" /> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -237,7 +149,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户密码" prop="password"> <el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password/> <el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -245,23 +157,16 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户性别"> <el-form-item label="用户性别">
<el-select v-model="form.sex" placeholder="请选择性别"> <el-select v-model="form.sex" placeholder="请选择性别">
<el-option <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
v-for="dict in dict.type.sys_user_sex" :value="dict.value"></el-option>
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="状态"> <el-form-item label="状态">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.status">
<el-radio <el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value"
v-for="dict in dict.type.sys_normal_disable" :label="dict.value">{{ dict.label }}</el-radio>
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -270,26 +175,16 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="岗位"> <el-form-item label="岗位">
<el-select v-model="form.postIds" multiple placeholder="请选择岗位"> <el-select v-model="form.postIds" multiple placeholder="请选择岗位">
<el-option <el-option v-for="item in postOptions" :key="item.postId" :label="item.postName" :value="item.postId"
v-for="item in postOptions" :disabled="item.status == 1"></el-option>
:key="item.postId"
:label="item.postName"
:value="item.postId"
:disabled="item.status == 1"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="角色"> <el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色"> <el-select v-model="form.roleIds" multiple placeholder="请选择角色">
<el-option <el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId"
v-for="item in roleOptions" :disabled="item.status == 1"></el-option>
:key="item.roleId"
:label="item.roleName"
:value="item.roleId"
:disabled="item.status == 1"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -317,18 +212,9 @@
<!-- 用户导入对话框 --> <!-- 用户导入对话框 -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
<el-upload <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
ref="upload" :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
:limit="1" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
accept=".xlsx, .xls"
:headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport"
:disabled="upload.isUploading"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
:auto-upload="false"
drag
>
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip text-center" slot="tip"> <div class="el-upload__tip text-center" slot="tip">
@@ -336,7 +222,8 @@
<el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据 <el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据
</div> </div>
<span>仅允许导入xls、xlsx格式文件。</span> <span>仅允许导入xls、xlsx格式文件。</span>
<el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link> <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;"
@click="importTemplate">下载模板</el-link>
</div> </div>
</el-upload> </el-upload>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@@ -502,11 +389,11 @@ export default {
// 用户状态修改 // 用户状态修改
handleStatusChange(row) { handleStatusChange(row) {
let text = row.status === "0" ? "启用" : "停用"; let text = row.status === "0" ? "启用" : "停用";
this.$modal.confirm('确认要"' + text + '""' + row.userName + '"用户吗?').then(function() { this.$modal.confirm('确认要"' + text + '""' + row.userName + '"用户吗?').then(function () {
return changeUserStatus(row.userId, row.status); return changeUserStatus(row.userId, row.status);
}).then(() => { }).then(() => {
this.$modal.msgSuccess(text + "成功"); this.$modal.msgSuccess(text + "成功");
}).catch(function() { }).catch(function () {
row.status = row.status === "0" ? "1" : "0"; row.status = row.status === "0" ? "1" : "0";
}); });
}, },
@@ -586,6 +473,7 @@ export default {
this.roleOptions = response.roles; this.roleOptions = response.roles;
this.$set(this.form, "postIds", response.postIds); this.$set(this.form, "postIds", response.postIds);
this.$set(this.form, "roleIds", response.roleIds); this.$set(this.form, "roleIds", response.roleIds);
this.$set(this.form, "deptId", response.deptId);
this.open = true; this.open = true;
this.title = "修改用户"; this.title = "修改用户";
this.form.password = ""; this.form.password = "";
@@ -603,15 +491,15 @@ export default {
resetUserPwd(row.userId, value).then(response => { resetUserPwd(row.userId, value).then(response => {
this.$modal.msgSuccess("修改成功,新密码是:" + value); this.$modal.msgSuccess("修改成功,新密码是:" + value);
}); });
}).catch(() => {}); }).catch(() => { });
}, },
/** 分配角色操作 */ /** 分配角色操作 */
handleAuthRole: function(row) { handleAuthRole: function (row) {
const userId = row.userId; const userId = row.userId;
this.$router.push("/system/user-auth/role/" + userId); this.$router.push("/system/user-auth/role/" + userId);
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function() { submitForm: function () {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.userId != undefined) { if (this.form.userId != undefined) {
@@ -633,12 +521,12 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const userIds = row.userId || this.ids; const userIds = row.userId || this.ids;
this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function() { this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function () {
return delUser(userIds); return delUser(userIds);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => {}); }).catch(() => { });
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
@@ -676,14 +564,16 @@ export default {
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.head-container{ .head-container {
width:220px; width: 220px;
::v-deep .el-tree-node { ::v-deep .el-tree-node {
white-space: normal; white-space: normal;
.el-tree-node__content { .el-tree-node__content {
height: 100%; height: 100%;
align-items: start; align-items: start;
} }
} }
} }
</style> </style>
+2 -2
View File
@@ -12,10 +12,10 @@ const name = process.env.VUE_APP_TITLE || '调解系统' // 网页标题
const port = process.env.port || process.env.npm_config_port || 80 // 端口 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:9001' //生产
// const API = 'http://121.40.189.20:6001' //测试 const API = 'http://121.40.189.20:6001' //测试
// const API = 'http://192.168.3.18:6001' //B // const API = 'http://192.168.3.18:6001' //B
// const API = 'http://192.168.3.77:6001' //Q // const API = 'http://192.168.3.77:6001' //Q
const API = 'http://172.16.1.17:6001' //w // const API = 'http://172.16.1.17:6001' //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