案件管理
This commit is contained in:
@@ -0,0 +1,525 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog :title="title" :visible="addVisable" v-if="addVisable" @close="cancel" width="1000px" center
|
||||
:distroy-on-close="true">
|
||||
|
||||
<el-form :model="formData" ref="ruleForm" label-width="130px" class="demo-ruleForm">
|
||||
<el-row>
|
||||
<div style="display: inline-flex">
|
||||
<div class="infoIcon"></div>
|
||||
<div class="caseInfo">案件信息:</div>
|
||||
</div>
|
||||
<el-divider></el-divider>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="申请人仲裁请求" prop="arbitratClaims" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '申请人仲裁请求不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.arbitratClaims" placeholder="请输入申请人仲裁诉求" type="textarea"
|
||||
:autosize="{ minRows: 4, maxRows: 8 }" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="事实和理由" prop="facts" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '事实和理由不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.facts" placeholder="请输入事实和理由" type="textarea"
|
||||
:autosize="{ minRows: 4, maxRows: 8 }" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="申请人请求仲裁庭裁决" prop="requestRule">
|
||||
<el-input v-model="formData.requestRule" placeholder="请输入申请人请求仲裁庭裁决" type="textarea"
|
||||
:autosize="{ minRows: 4, maxRows: 8 }" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="案件描述" prop="caseDescribe">
|
||||
<el-input v-model="formData.caseDescribe" placeholder="请输入案件描述" type="textarea"
|
||||
:autosize="{ minRows: 4, maxRows: 8 }" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="案件标的" prop="caseSubjectAmount" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '案件标的不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div style="display: inline-flex">
|
||||
<div class="infoIcon"></div>
|
||||
<div class="caseInfo">双方信息:</div>
|
||||
</div>
|
||||
<el-divider></el-divider>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="申请机构名称" prop="affiliate.applicationOrganName" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '申请机构名称不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.applicationOrganName" placeholder="请输入申请机构名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="统一社会信用代码" prop="affiliate.creditCode" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '统一社会信用代码不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.creditCode" placeholder="请输入统一社会信用代码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="法定代表人" prop="affiliate.compLegalPerson" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '法定代表人不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.compLegalPerson" placeholder="请输入法定代表人" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="申请人住所" prop="affiliate.applicantHome" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '申请人住所不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.applicantHome" placeholder="请输入申请人住所" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="申请人联系地址" prop="affiliate.applicantAddress" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '申请人联系地址不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.applicantAddress" placeholder="请输入申请人联系地址" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '代理人联系电话不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
|
||||
message: '请输入正确的手机号码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="委托代理人姓名" prop="affiliate.nameAgent" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '委托代理人姓名不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.nameAgent" placeholder="请输入委托代理人姓名" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="代理人邮箱" prop="affiliate.agentEmail" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '代理人邮箱不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern:
|
||||
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
|
||||
message: '请输入正确的邮箱地址',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="被申请人姓名" prop="affiliate.respondentName" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '被申请人姓名不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.respondentName" placeholder="请输入被申请人姓名" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="被申请人联系电话" prop="affiliate.respondentPhone" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '被申请人联系电话不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
|
||||
message: '请输入正确的手机号码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.respondentPhone" placeholder="请输入被申请人联系电话" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="被申请人身份证号" prop="affiliate.respondentIdentityNum" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '被申请人身份证号不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern:
|
||||
/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
|
||||
message: '请输入正确的身份证号码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.respondentIdentityNum" placeholder="请输入被申请人身份证号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="被申请人性别:" prop="affiliate.respondentSex" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '请选择性别'
|
||||
},
|
||||
]">
|
||||
<el-radio-group v-model="formData.affiliate.respondentSex">
|
||||
<el-radio label="0">男</el-radio>
|
||||
<el-radio label="1">女</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="被申请人出生年月日:" prop="affiliate.respondentBirth" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '被申请人出生年月日不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-date-picker v-model="formData.affiliate.respondentBirth" type="date"
|
||||
placeholder="被申请人出生年月日">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="被申请人申请人住所" prop="affiliate.respondentHome" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '被申请人申请人住所不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.respondentHome" placeholder="请输入被申请人申请人住所" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="被申请人邮箱" prop="affiliate.respondentEmail" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '代理人邮箱不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern:
|
||||
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
|
||||
message: '请输入正确的邮箱地址',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="formData.affiliate.respondentEmail" placeholder="请输入被申请人邮箱" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div style="display: inline-flex">
|
||||
<div class="infoIcon"></div>
|
||||
<div class="caseInfo">抓取规则设置</div>
|
||||
</div>
|
||||
<el-divider></el-divider>
|
||||
<el-button type="primary" icon="el-icon-plus" style="margin-bottom: 20px;"
|
||||
@click="addForm">新增系统内置抓取规则</el-button>
|
||||
<div class="formDom">
|
||||
<el-form ref="form" :model="formData_type" label-width="150px">
|
||||
<div class="formItem" v-for="(item, index) in formData_type.forms" :key="item.key">
|
||||
<el-button type="primary" icon="el-icon-delete" style="margin-bottom: 20px;"
|
||||
@click="deleteForm(item)">删除</el-button>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="字段:" :prop="'forms.' + index + '.column'">
|
||||
<el-input v-model="item.column" placeholder="请输入字段" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="字段名:" :prop="'forms.' + index + '.columnName'">
|
||||
<el-select v-model="item.columnName" placeholder="请选择" @change="columnNameChange(item)">
|
||||
<el-option v-for="dict in dict.type.case_built_type" :key="dict.value"
|
||||
:label="dict.label" :value="dict.label"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="字段值:" :prop="'forms.' + index + '.value'">
|
||||
<el-input v-model="item.value" placeholder="请输入字段值" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-button type="primary" icon="el-icon-plus" style="margin-bottom: 20px;"
|
||||
@click="addFormCustom">新增自定义抓取规则</el-button>
|
||||
<div class="formDom">
|
||||
<el-form ref="form_custom" :model="formData_custom" label-width="150px">
|
||||
<div class="formItem" v-for="(item, index) in formData_custom.forms" :key="item.key">
|
||||
<el-button type="primary" icon="el-icon-delete" style="margin-bottom: 20px;"
|
||||
@click="deleteFormCustom(item)">删除</el-button>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="字段:" :prop="'forms.' + index + '.column'">
|
||||
<el-input v-model="item.column" placeholder="请输入字段" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="字段名:" :prop="'forms.' + index + '.name'">
|
||||
<el-input v-model="item.name" placeholder="请输入字段名" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="字段值:" :prop="'forms.' + index + '.value'">
|
||||
<el-input v-model="item.value" placeholder="请输入字段值" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="12">
|
||||
<el-form-item label="开始抓取字段:" :prop="'forms.' + index + '.startContent'">
|
||||
<el-input v-model="item.startContent" placeholder="请输入开始抓取字段" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="结束抓取字段:" :prop="'forms.' + index + '.endContent'">
|
||||
<el-input v-model="item.endContent" placeholder="结束抓取字段" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="指定抓取开始位置:" :prop="'forms.' + index + '.startContentRepeatOrder'">
|
||||
<el-input-number v-model="item.startContentRepeatOrder" controls-position="right"
|
||||
:min="1"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="指定抓取结束位置:" :prop="'forms.' + index + '.endContentRepeatOrder'">
|
||||
<el-input-number v-model="item.endContentRepeatOrder" controls-position="right"
|
||||
:min="1"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="抓取方向:" :prop="'forms.' + index + '.fatchOrder'">
|
||||
<el-select v-model="item.fatchOrder" placeholder="请选择">
|
||||
<el-option v-for="dict in fatchOrderList" :key="dict.key" :label="dict.name"
|
||||
:value="dict.key"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
|
||||
<el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
caseApplicationInsert,
|
||||
caseApplicationSelectById
|
||||
} from "@/api/caseManagement/caseManagement.js";
|
||||
export default {
|
||||
props: ["addVisable", "queryParams", "caseData"],
|
||||
dicts: ["case_built_type"],
|
||||
data() {
|
||||
return {
|
||||
title: "新增案件",
|
||||
formData: {
|
||||
affiliate: {
|
||||
respondentSex: 0
|
||||
},
|
||||
columnValueList: [],
|
||||
caseAttachList: []
|
||||
},
|
||||
formData_type: {
|
||||
forms: []
|
||||
},
|
||||
formData_custom: {
|
||||
forms: []
|
||||
},
|
||||
fatchOrderList: [
|
||||
{
|
||||
name: '从前向后抓取',
|
||||
key: 0
|
||||
},
|
||||
{
|
||||
name: '从后往前抓取',
|
||||
key: 1
|
||||
}
|
||||
],
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
caseData: {
|
||||
deep: true,
|
||||
handler(val) {
|
||||
console.log(val, "OOOOOOOOOOOOOOOOO");
|
||||
if (val.id) {
|
||||
this.title = '修改案件';
|
||||
this.caseApplicationSelectByIdFn(val.id)
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
/** 根据案件id获取对应信息 */
|
||||
caseApplicationSelectByIdFn(data) {
|
||||
this.formData_type.forms = [];
|
||||
this.formData_custom.forms = [];
|
||||
caseApplicationSelectById({ id: data }).then((res => {
|
||||
console.log(res.data, "详情");
|
||||
this.formData = res.data;
|
||||
this.formData.columnValueList.forEach(item => {
|
||||
if (item.isDefault == 0) {
|
||||
this.formData_type.forms.push(item)
|
||||
} else {
|
||||
this.formData_custom.forms.push(item)
|
||||
}
|
||||
})
|
||||
}))
|
||||
},
|
||||
// 新增案件
|
||||
insertFn(data) {
|
||||
caseApplicationInsert(data).then(res => {
|
||||
this.$modal.msgSuccess("新增成功!");
|
||||
this.$emit("cancelCaseAdd");
|
||||
this.$emit('getList', this.queryParams);
|
||||
})
|
||||
},
|
||||
// 提交form表单
|
||||
submitForm() {
|
||||
this.$refs['ruleForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
let paramsList = this.formData_type.forms.concat(this.formData_custom.forms);
|
||||
this.formData.columnValueList = paramsList;
|
||||
this.insertFn(this.formData)
|
||||
}
|
||||
});
|
||||
console.log(this.formData, this.formData_type, this.formData_custom, "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL");
|
||||
},
|
||||
cancel() {
|
||||
this.$emit("cancelCaseAdd");
|
||||
},
|
||||
addForm() {
|
||||
this.formData_type.forms.push({
|
||||
column: "",
|
||||
name: "",
|
||||
value: "",
|
||||
isDefault: 0
|
||||
});
|
||||
},
|
||||
deleteForm(item) {
|
||||
var index = this.formData_type.forms.indexOf(item)
|
||||
if (index !== -1) {
|
||||
this.formData_type.forms.splice(index, 1)
|
||||
}
|
||||
},
|
||||
deleteFormCustom(item) {
|
||||
var index = this.formData_custom.forms.indexOf(item)
|
||||
if (index !== -1) {
|
||||
this.formData_custom.forms.splice(index, 1)
|
||||
}
|
||||
},
|
||||
addFormCustom() {
|
||||
this.formData_custom.forms.push({
|
||||
column: "",
|
||||
name: "",
|
||||
value: "",
|
||||
isDefault: 1
|
||||
});
|
||||
},
|
||||
columnNameChange(item) {
|
||||
let result = this.dict.type.case_built_type.find((data => {
|
||||
return data.label == item.columnName
|
||||
}))
|
||||
item.column = result.value;
|
||||
},
|
||||
submitRules() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.$refs['form_custom'].validate((valid_custom) => {
|
||||
if (valid_custom) {
|
||||
let paramsList = this.formData_type.forms.concat(this.formData_custom.forms)
|
||||
this.saveFatchRulesFn({
|
||||
id: this.rulesData.id,
|
||||
fatchRules: paramsList
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.infoIcon {
|
||||
width: 4px;
|
||||
// height: 17px;
|
||||
background-color: #0072ff;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.caseInfo {
|
||||
font-size: 17px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
::v-deep .el-dialog__body {
|
||||
height: 700px !important;
|
||||
overflow: auto !important;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user