案件列表信息,详情,修改,压缩包

This commit is contained in:
fz
2024-01-11 17:46:26 +08:00
parent 82661af1b7
commit 3151c2f6cf
5 changed files with 363 additions and 199 deletions
+58 -176
View File
@@ -2,8 +2,7 @@
<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-form :model="formData" ref="ruleForm" label-width="130px" class="demo-ruleForm" :disabled="caseDisabled">
<el-row>
<div style="display: inline-flex">
<div class="infoIcon"></div>
@@ -57,6 +56,20 @@
<el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="裁决书模板" prop="templateId" :rules="[
{
required: true,
message: '裁决书模板',
trigger: 'blur',
},
]">
<el-select placeholder="请选择裁决书模板" v-model="formData.templateId">
<el-option v-for="item in templateList" :label="item.temName" :key="item.id"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<div style="display: inline-flex">
<div class="infoIcon"></div>
@@ -262,99 +275,19 @@
</el-form-item>
</el-col>
</el-row>
<el-col :span="24" v-if="modelFlag">
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo">抓取规则设置</div>
</div>
<el-divider></el-divider>
</el-col>
<el-col :span="24" v-if="modelFlag">
<el-form-item v-for="(item) in formData.columnValueList" :label="item.name" :key="item.id">
<el-input type="textarea" v-model="item.value"></el-input>
</el-form-item>
</el-col>
</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>
@@ -367,8 +300,11 @@ import {
caseApplicationInsert,
caseApplicationSelectById
} from "@/api/caseManagement/caseManagement.js";
import {
getTemplate,
} from "@/api/officialSeal/officialSeal.js";
export default {
props: ["addVisable", "queryParams", "caseData"],
props: ["addVisable", "queryParams", "caseData", "caseDisabled"],
dicts: ["case_built_type"],
data() {
return {
@@ -380,34 +316,35 @@ export default {
columnValueList: [],
caseAttachList: []
},
formData_type: {
forms: []
},
formData_custom: {
forms: []
},
fatchOrderList: [
{
name: '从前向后抓取',
key: 0
},
{
name: '从后往前抓取',
key: 1
}
],
templateList: [],
modelFlag:false,
};
},
watch: {
caseData: {
deep: true,
handler(val) {
console.log(val, "OOOOOOOOOOOOOOOOO");
if (val.id) {
this.getTemplateFn();
if (val.id && !val.flag) {
this.modelFlag = true;
this.title = '修改案件';
this.caseApplicationSelectByIdFn(val.id)
} else if (!val.id && !val.flag) {
this.modelFlag = false;
this.title = '新增案件';
this.formData = {
affiliate: {
respondentSex: 0
},
columnValueList: [],
caseAttachList: []
};
} else if (val.id && val.flag == 1) {
this.modelFlag = true;
this.title = '案件详情';
this.caseApplicationSelectByIdFn(val.id);
}
}
},
},
},
created() {
@@ -416,18 +353,8 @@ export default {
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)
}
})
}))
},
// 新增案件
@@ -438,69 +365,24 @@ export default {
this.$emit('getList', this.queryParams);
})
},
/** 获取裁决书模板 */
getTemplateFn(data) {
getTemplate(data).then(res => {
console.log(res)
this.templateList = res.rows;
})
},
// 提交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>