2058fc52 by lihua

数字合约带逻辑空间的修改

1 parent fd2815e7
......@@ -65,6 +65,9 @@ const updateFrequencyDictList: any = ref([]);
/** 所属科室下拉列表 */
const medDepartmentCodeList: any = ref([]);
/** 逻辑空间下拉列表 */
const logicSpaceList: any = ref([]);
const getArea = (node, resolve) => {
const { level } = node
let params = {
......@@ -426,6 +429,22 @@ const baseInfoFormItems = ref([
required: true,
},
{
label: "逻辑空间",
type: "select",
placeholder: "请选择",
field: "spaceGuid",
default: '',
props: {
value: 'value',
label: 'label'
},
multiple: false,
options: logicSpaceList.value,
filterable: true,
required: false, //非必填,只能选择跟领域匹配的逻辑空间
clearable: true,
},
{
label: '资源描述',
type: 'textarea',
placeholder: '该数据资源主要包含的信息,数据更新方式等。',
......@@ -682,6 +701,8 @@ const baseSelectChange = (val, item, row) => {
}
} else if (item.field == 'domain') {
row.scenario = ''; //清空下应用场景
// TODO,更新下逻辑空间的列表,顺便清空值。
row.spaceGuid = '';
setFormItems(row);
}
}
......@@ -1018,6 +1039,9 @@ onBeforeMount(() => {
proxy.$ElMessage.error(res.msg);
}
})
// TODO 获取逻辑空间下拉列表。
});
const cancel = () => {
......
......@@ -1328,7 +1328,11 @@ const respParamsTableInfo = ref({
<div v-if="detailInfo.domain == '004'">{{ '所属主题:' + (detailInfo.subjectDomainName || '--') }}</div>
</div>
<!-- </template> -->
<div v-show="detailInfo.rightMainName" class="applicationScenarios">{{ '权利主体:' + detailInfo.rightMainName }}
<div class="row-extra-desc" v-if="detailInfo.spaceName">
<div class="per-extra-desc">{{ '权利主体:' + detailInfo.rightMainName }}</div>
<div>{{ '逻辑空间:' + detailInfo.spaceName }}</div>
</div>
<div v-else v-show="detailInfo.rightMainName" class="applicationScenarios">{{ '权利主体:' + detailInfo.rightMainName }}
</div>
<div class="applicationScenarios"
:style="{ 'margin-right': (isTruncated && !isExpanded) ? '30px' : '0px', WebkitLineClamp: (!isTruncated ? 'inherit' : (isExpanded ? 'inherit' : 1)), WebkitBoxOrient: 'vertical' }">
......
......@@ -191,6 +191,10 @@ const props = defineProps({
isReport: {
type: Boolean,
default: false
},
templateJson: { // 数据产品来自所属逻辑空间配置的策略模板
type: Array<any>,
default: []
}
})
......@@ -641,6 +645,15 @@ const arraySpanMethod = ({ row, column, rowIndex, columnIndex }) => {
/** 弹出模板选择对话框 */
const invokeTemplate = () => {
// TODO,判断是否有策略模板信息。
if (props.templateJson?.length) {
proxy.$openMessageBox("使用模板会覆盖现有策略信息,确定要使用产品所在逻辑空间的模板配置吗?", () => {
strategyValueInfo.value = transferValueToNew(props.templateJson, true);
}, () => {
proxy.$ElMessage.info("已取消");
})
return;
}
/** 调用获取启用的模板列表接口,如果返回null则提示没有可调用的模板。 */
getValidContractTemplateList().then((res: any) => {
if (res?.code == proxy.$passCode) {
......
......@@ -241,6 +241,7 @@ const productTableInfo = ref({
{ label: "数据产品编码", field: "dataProductId", width: 261 },
{ label: "产品类型", field: "dataProductTypeName", width: 100 },
{ label: "所属主体名称", field: "dataProductEntityName", width: 200 },
{ label: "逻辑空间", field: "logicSpaceName", width: 200 }, //TODO,字段名称
{ label: "产品简介", field: "dataProductAbstract", width: 240 },
],
editInfo: {
......@@ -308,6 +309,8 @@ const hanldeTableSelectChange = (val, scope, item) => {
scope.row.dataProductGuid = productItem?.productGuid;
scope.row.dataProductType = productItem?.productType;
scope.row.dataProductTypeName = productItem?.productTypeName;
//TODO,逻辑空间名称
scope.row.logicSpaceName = productItem?.logicSpaceName;
/** 选择了产品,需要重新查询去重字段 */
if (productItem?.productGuid) {
getDamFieldsByProductGuid(productItem?.productGuid, isDataUse.value ? 'Y' : 'N').then((res: any) => {
......@@ -326,9 +329,17 @@ const hanldeTableSelectChange = (val, scope, item) => {
res?.msg && proxy.$ElMessage.error(res?.msg)
}
})
// TODO,需要重新更新数据使用方的下拉列表,如果逻辑空间是空值,则可以选择所有企业,否则只能选择逻辑空间下的成员企业。
if (productItem?.logicSpaceName) {
// 建议使用方下拉列表企业包含所在的逻辑空间。一个企业可能有多个逻辑空间。或者根据逻辑空间获取成员列表。
// tenantList.value.filter();
// 调用逻辑空间接口,因为策略模板也需要使用。
//templateJson.value = res.data;
}
} else {
productFieldList.value = initProductFieldValue.value;
annonFieldsList.value = initProductFieldValue.value;
// TODO,需要更新数据使用方下拉列表
}
// 连接器只能选择数据提供方的产品,不需要切换了
// let nodeInfo = nodeInfoFormRef.value.formInline;
......
......@@ -316,7 +316,8 @@ const productTableInfo = ref({
{ label: "序号", type: "index", width: TableColumnWidth.INDEX, align: "center" },
{ label: "数据产品", field: "dataProductName", width: 270 },
{ label: "数据产品编码", field: "dataProductId", width: 261 },
{ label: "所属主体名称", field: "dataProductEntityName", width: 240 },
{ label: "所属主体名称", field: "dataProductEntityName", width: 200 },
{ label: "逻辑空间", field: "logicSpaceName", width: 200 }, //TODO,字段名称
{ label: "产品简介", field: "dataProductAbstract", width: 240 },
],
data: <any>[],
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!