调整实体库管理数据来源维护规则

This commit is contained in:
wkc
2026-04-23 17:31:56 +08:00
parent d444eafd5f
commit b7d020c0b2
12 changed files with 630 additions and 125 deletions

View File

@@ -1,84 +1,102 @@
<template>
<div class="app-container">
<el-form ref="queryForm" :model="queryParams" size="small" :inline="true" v-show="showSearch" label-width="110px">
<el-form-item label="企业名称" prop="enterpriseName">
<el-input
v-model="queryParams.enterpriseName"
placeholder="请输入企业名称"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="统一社会信用代码" prop="socialCreditCode">
<el-input
v-model="queryParams.socialCreditCode"
placeholder="请输入统一社会信用代码"
clearable
maxlength="18"
style="width: 240px"
@input="queryParams.socialCreditCode = normalizeUpperCode(queryParams.socialCreditCode)"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="企业类型" prop="enterpriseType">
<el-select v-model="queryParams.enterpriseType" placeholder="请选择企业类型" clearable style="width: 240px">
<el-option
v-for="item in corpTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="企业性质" prop="enterpriseNature">
<el-select v-model="queryParams.enterpriseNature" placeholder="请选择企业性质" clearable style="width: 240px">
<el-option
v-for="item in corpNatureOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="行业分类" prop="industryClass">
<el-input
v-model="queryParams.industryClass"
placeholder="请输入行业分类"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="经营状态" prop="status">
<el-input
v-model="queryParams.status"
placeholder="请输入经营状态"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="风险等级" prop="riskLevel">
<el-select v-model="queryParams.riskLevel" placeholder="请选择风险等级" clearable style="width: 240px">
<el-option
v-for="item in riskLevelOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="企业来源" prop="entSource">
<el-select v-model="queryParams.entSource" placeholder="请选择企业来源" clearable style="width: 240px">
<el-option
v-for="item in enterpriseSourceOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form ref="queryForm" :model="queryParams" size="small" v-show="showSearch" label-width="110px" class="query-form">
<el-row :gutter="16">
<el-col :span="6">
<el-form-item label="企业名称" prop="enterpriseName">
<el-input
v-model="queryParams.enterpriseName"
placeholder="请输入企业名称"
clearable
style="width: 100%"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="统一社会信用代码" prop="socialCreditCode">
<el-input
v-model="queryParams.socialCreditCode"
placeholder="请输入统一社会信用代码"
clearable
maxlength="18"
style="width: 100%"
@input="queryParams.socialCreditCode = normalizeUpperCode(queryParams.socialCreditCode)"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="企业类型" prop="enterpriseType">
<el-select v-model="queryParams.enterpriseType" placeholder="请选择企业类型" clearable style="width: 100%">
<el-option
v-for="item in corpTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="企业性质" prop="enterpriseNature">
<el-select v-model="queryParams.enterpriseNature" placeholder="请选择企业性质" clearable style="width: 100%">
<el-option
v-for="item in corpNatureOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="行业分类" prop="industryClass">
<el-input
v-model="queryParams.industryClass"
placeholder="请输入行业分类"
clearable
style="width: 100%"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="经营状态" prop="status">
<el-input
v-model="queryParams.status"
placeholder="请输入经营状态"
clearable
style="width: 100%"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="风险等级" prop="riskLevel">
<el-select v-model="queryParams.riskLevel" placeholder="请选择风险等级" clearable style="width: 100%">
<el-option
v-for="item in riskLevelOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="企业来源" prop="entSource">
<el-select v-model="queryParams.entSource" placeholder="请选择企业来源" clearable style="width: 100%">
<el-option
v-for="item in enterpriseSourceOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row :gutter="10" class="mb8">
@@ -336,16 +354,9 @@
</el-col>
</el-row>
<el-row :gutter="16">
<el-col :span="12">
<el-col :span="12" v-if="!isAdd">
<el-form-item label="数据来源" prop="dataSource">
<el-select v-model="form.dataSource" placeholder="请选择数据来源" style="width: 100%">
<el-option
v-for="item in dataSourceOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-input :value="formatDataSource(form.dataSource) || '-'" disabled />
</el-form-item>
</el-col>
</el-row>
@@ -515,6 +526,13 @@ const socialCreditCodePattern = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]
export default {
name: "EnterpriseBaseInfo",
data() {
const validateDataSource = (rule, value, callback) => {
if (this.isAdd || value) {
callback();
return;
}
callback(new Error("请选择数据来源"));
};
return {
loading: true,
ids: [],
@@ -556,9 +574,6 @@ export default {
{ required: true, message: "企业名称不能为空", trigger: "blur" },
{ max: 200, message: "企业名称长度不能超过200个字符", trigger: "blur" }
],
status: [
{ required: true, message: "经营状态不能为空", trigger: "blur" }
],
riskLevel: [
{ required: true, message: "请选择风险等级", trigger: "change" }
],
@@ -566,7 +581,7 @@ export default {
{ required: true, message: "请选择企业来源", trigger: "change" }
],
dataSource: [
{ required: true, message: "请选择数据来源", trigger: "change" }
{ validator: validateDataSource, trigger: "change" }
]
},
upload: {
@@ -711,6 +726,7 @@ export default {
}
var payload = this.normalizePayload(this.form);
if (this.isAdd) {
delete payload.dataSource;
addEnterpriseBaseInfo(payload).then(() => {
this.$modal.msgSuccess("新增成功");
this.open = false;
@@ -973,6 +989,19 @@ export default {
</script>
<style scoped>
.query-form ::v-deep .el-row {
display: flex;
flex-wrap: wrap;
}
.query-form ::v-deep .el-col {
float: none;
}
.query-form ::v-deep .el-form-item {
margin-right: 0;
}
.el-upload__tip {
line-height: 1.6;
}