94e31af5 by lihua

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

1 parent 98bba07a
...@@ -65,6 +65,9 @@ const updateFrequencyDictList: any = ref([]); ...@@ -65,6 +65,9 @@ const updateFrequencyDictList: any = ref([]);
65 /** 所属科室下拉列表 */ 65 /** 所属科室下拉列表 */
66 const medDepartmentCodeList: any = ref([]); 66 const medDepartmentCodeList: any = ref([]);
67 67
68 /** 逻辑空间下拉列表 */
69 const logicSpaceList: any = ref([]);
70
68 const getArea = (node, resolve) => { 71 const getArea = (node, resolve) => {
69 const { level } = node 72 const { level } = node
70 let params = { 73 let params = {
...@@ -455,6 +458,22 @@ const baseInfoFormItems = ref([ ...@@ -455,6 +458,22 @@ const baseInfoFormItems = ref([
455 visible: false, 458 visible: false,
456 }, 459 },
457 { 460 {
461 label: "逻辑空间",
462 type: "select",
463 placeholder: "请选择",
464 field: "spaceGuid",
465 default: '',
466 props: {
467 value: 'value',
468 label: 'label'
469 },
470 multiple: false,
471 options: logicSpaceList.value,
472 filterable: true,
473 required: false, //非必填,只能选择跟领域匹配的逻辑空间
474 clearable: true,
475 },
476 {
458 label: '资源描述', 477 label: '资源描述',
459 type: 'textarea', 478 type: 'textarea',
460 placeholder: '该数据资源主要包含的信息,数据更新方式等。', 479 placeholder: '该数据资源主要包含的信息,数据更新方式等。',
...@@ -723,6 +742,8 @@ const baseSelectChange = (val, item, row) => { ...@@ -723,6 +742,8 @@ const baseSelectChange = (val, item, row) => {
723 } 742 }
724 } else if (item.field == 'domain') { 743 } else if (item.field == 'domain') {
725 row.scenario = ''; //清空下应用场景 744 row.scenario = ''; //清空下应用场景
745 // TODO,更新下逻辑空间的列表,顺便清空值。
746 row.spaceGuid = '';
726 setFormItems(row); 747 setFormItems(row);
727 } 748 }
728 } 749 }
...@@ -1070,6 +1091,9 @@ onBeforeMount(() => { ...@@ -1070,6 +1091,9 @@ onBeforeMount(() => {
1070 proxy.$ElMessage.error(res.msg); 1091 proxy.$ElMessage.error(res.msg);
1071 } 1092 }
1072 }) 1093 })
1094
1095 // TODO 获取逻辑空间下拉列表。
1096
1073 }); 1097 });
1074 1098
1075 const cancel = () => { 1099 const cancel = () => {
......
...@@ -1366,7 +1366,11 @@ const respParamsTableInfo = ref({ ...@@ -1366,7 +1366,11 @@ const respParamsTableInfo = ref({
1366 <div v-if="detailInfo.domain == '004'">{{ '所属主题:' + (detailInfo.subjectDomainName || '--') }}</div> 1366 <div v-if="detailInfo.domain == '004'">{{ '所属主题:' + (detailInfo.subjectDomainName || '--') }}</div>
1367 </div> 1367 </div>
1368 <!-- </template> --> 1368 <!-- </template> -->
1369 <div v-show="detailInfo.rightMainName" class="applicationScenarios">{{ '权利主体:' + detailInfo.rightMainName }} 1369 <div class="row-extra-desc" v-if="detailInfo.spaceName">
1370 <div class="per-extra-desc">{{ '权利主体:' + detailInfo.rightMainName }}</div>
1371 <div>{{ '逻辑空间:' + detailInfo.spaceName }}</div>
1372 </div>
1373 <div v-else v-show="detailInfo.rightMainName" class="applicationScenarios">{{ '权利主体:' + detailInfo.rightMainName }}
1370 </div> 1374 </div>
1371 <div class="applicationScenarios" 1375 <div class="applicationScenarios"
1372 :style="{ 'margin-right': (isTruncated && !isExpanded) ? '30px' : '0px', WebkitLineClamp: (!isTruncated ? 'inherit' : (isExpanded ? 'inherit' : 1)), WebkitBoxOrient: 'vertical' }"> 1376 :style="{ 'margin-right': (isTruncated && !isExpanded) ? '30px' : '0px', WebkitLineClamp: (!isTruncated ? 'inherit' : (isExpanded ? 'inherit' : 1)), WebkitBoxOrient: 'vertical' }">
......
...@@ -191,6 +191,10 @@ const props = defineProps({ ...@@ -191,6 +191,10 @@ const props = defineProps({
191 isReport: { 191 isReport: {
192 type: Boolean, 192 type: Boolean,
193 default: false 193 default: false
194 },
195 templateJson: { // 数据产品来自所属逻辑空间配置的策略模板
196 type: Array<any>,
197 default: []
194 } 198 }
195 }) 199 })
196 200
...@@ -641,6 +645,15 @@ const arraySpanMethod = ({ row, column, rowIndex, columnIndex }) => { ...@@ -641,6 +645,15 @@ const arraySpanMethod = ({ row, column, rowIndex, columnIndex }) => {
641 645
642 /** 弹出模板选择对话框 */ 646 /** 弹出模板选择对话框 */
643 const invokeTemplate = () => { 647 const invokeTemplate = () => {
648 // TODO,判断是否有策略模板信息。
649 if (props.templateJson?.length) {
650 proxy.$openMessageBox("使用模板会覆盖现有策略信息,确定要使用产品所在逻辑空间的模板配置吗?", () => {
651 strategyValueInfo.value = transferValueToNew(props.templateJson, true);
652 }, () => {
653 proxy.$ElMessage.info("已取消");
654 })
655 return;
656 }
644 /** 调用获取启用的模板列表接口,如果返回null则提示没有可调用的模板。 */ 657 /** 调用获取启用的模板列表接口,如果返回null则提示没有可调用的模板。 */
645 getValidContractTemplateList().then((res: any) => { 658 getValidContractTemplateList().then((res: any) => {
646 if (res?.code == proxy.$passCode) { 659 if (res?.code == proxy.$passCode) {
......
...@@ -241,6 +241,7 @@ const productTableInfo = ref({ ...@@ -241,6 +241,7 @@ const productTableInfo = ref({
241 { label: "数据产品编码", field: "dataProductId", width: 261 }, 241 { label: "数据产品编码", field: "dataProductId", width: 261 },
242 { label: "产品类型", field: "dataProductTypeName", width: 100 }, 242 { label: "产品类型", field: "dataProductTypeName", width: 100 },
243 { label: "所属主体名称", field: "dataProductEntityName", width: 200 }, 243 { label: "所属主体名称", field: "dataProductEntityName", width: 200 },
244 { label: "逻辑空间", field: "logicSpaceName", width: 200 }, //TODO,字段名称
244 { label: "产品简介", field: "dataProductAbstract", width: 240 }, 245 { label: "产品简介", field: "dataProductAbstract", width: 240 },
245 ], 246 ],
246 editInfo: { 247 editInfo: {
...@@ -308,6 +309,8 @@ const hanldeTableSelectChange = (val, scope, item) => { ...@@ -308,6 +309,8 @@ const hanldeTableSelectChange = (val, scope, item) => {
308 scope.row.dataProductGuid = productItem?.productGuid; 309 scope.row.dataProductGuid = productItem?.productGuid;
309 scope.row.dataProductType = productItem?.productType; 310 scope.row.dataProductType = productItem?.productType;
310 scope.row.dataProductTypeName = productItem?.productTypeName; 311 scope.row.dataProductTypeName = productItem?.productTypeName;
312 //TODO,逻辑空间名称
313 scope.row.logicSpaceName = productItem?.logicSpaceName;
311 /** 选择了产品,需要重新查询去重字段 */ 314 /** 选择了产品,需要重新查询去重字段 */
312 if (productItem?.productGuid) { 315 if (productItem?.productGuid) {
313 getDamFieldsByProductGuid(productItem?.productGuid, isDataUse.value ? 'Y' : 'N').then((res: any) => { 316 getDamFieldsByProductGuid(productItem?.productGuid, isDataUse.value ? 'Y' : 'N').then((res: any) => {
...@@ -326,9 +329,17 @@ const hanldeTableSelectChange = (val, scope, item) => { ...@@ -326,9 +329,17 @@ const hanldeTableSelectChange = (val, scope, item) => {
326 res?.msg && proxy.$ElMessage.error(res?.msg) 329 res?.msg && proxy.$ElMessage.error(res?.msg)
327 } 330 }
328 }) 331 })
332 // TODO,需要重新更新数据使用方的下拉列表,如果逻辑空间是空值,则可以选择所有企业,否则只能选择逻辑空间下的成员企业。
333 if (productItem?.logicSpaceName) {
334 // 建议使用方下拉列表企业包含所在的逻辑空间。一个企业可能有多个逻辑空间。或者根据逻辑空间获取成员列表。
335 // tenantList.value.filter();
336 // 调用逻辑空间接口,因为策略模板也需要使用。
337 //templateJson.value = res.data;
338 }
329 } else { 339 } else {
330 productFieldList.value = initProductFieldValue.value; 340 productFieldList.value = initProductFieldValue.value;
331 annonFieldsList.value = initProductFieldValue.value; 341 annonFieldsList.value = initProductFieldValue.value;
342 // TODO,需要更新数据使用方下拉列表
332 } 343 }
333 // 连接器只能选择数据提供方的产品,不需要切换了 344 // 连接器只能选择数据提供方的产品,不需要切换了
334 // let nodeInfo = nodeInfoFormRef.value.formInline; 345 // let nodeInfo = nodeInfoFormRef.value.formInline;
......
...@@ -316,7 +316,8 @@ const productTableInfo = ref({ ...@@ -316,7 +316,8 @@ const productTableInfo = ref({
316 { label: "序号", type: "index", width: TableColumnWidth.INDEX, align: "center" }, 316 { label: "序号", type: "index", width: TableColumnWidth.INDEX, align: "center" },
317 { label: "数据产品", field: "dataProductName", width: 270 }, 317 { label: "数据产品", field: "dataProductName", width: 270 },
318 { label: "数据产品编码", field: "dataProductId", width: 261 }, 318 { label: "数据产品编码", field: "dataProductId", width: 261 },
319 { label: "所属主体名称", field: "dataProductEntityName", width: 240 }, 319 { label: "所属主体名称", field: "dataProductEntityName", width: 200 },
320 { label: "逻辑空间", field: "logicSpaceName", width: 200 }, //TODO,字段名称
320 { label: "产品简介", field: "dataProductAbstract", width: 240 }, 321 { label: "产品简介", field: "dataProductAbstract", width: 240 },
321 ], 322 ],
322 data: <any>[], 323 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!