2058fc52 by lihua

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

1 parent fd2815e7
...@@ -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 = {
...@@ -426,6 +429,22 @@ const baseInfoFormItems = ref([ ...@@ -426,6 +429,22 @@ const baseInfoFormItems = ref([
426 required: true, 429 required: true,
427 }, 430 },
428 { 431 {
432 label: "逻辑空间",
433 type: "select",
434 placeholder: "请选择",
435 field: "spaceGuid",
436 default: '',
437 props: {
438 value: 'value',
439 label: 'label'
440 },
441 multiple: false,
442 options: logicSpaceList.value,
443 filterable: true,
444 required: false, //非必填,只能选择跟领域匹配的逻辑空间
445 clearable: true,
446 },
447 {
429 label: '资源描述', 448 label: '资源描述',
430 type: 'textarea', 449 type: 'textarea',
431 placeholder: '该数据资源主要包含的信息,数据更新方式等。', 450 placeholder: '该数据资源主要包含的信息,数据更新方式等。',
...@@ -682,6 +701,8 @@ const baseSelectChange = (val, item, row) => { ...@@ -682,6 +701,8 @@ const baseSelectChange = (val, item, row) => {
682 } 701 }
683 } else if (item.field == 'domain') { 702 } else if (item.field == 'domain') {
684 row.scenario = ''; //清空下应用场景 703 row.scenario = ''; //清空下应用场景
704 // TODO,更新下逻辑空间的列表,顺便清空值。
705 row.spaceGuid = '';
685 setFormItems(row); 706 setFormItems(row);
686 } 707 }
687 } 708 }
...@@ -1018,6 +1039,9 @@ onBeforeMount(() => { ...@@ -1018,6 +1039,9 @@ onBeforeMount(() => {
1018 proxy.$ElMessage.error(res.msg); 1039 proxy.$ElMessage.error(res.msg);
1019 } 1040 }
1020 }) 1041 })
1042
1043 // TODO 获取逻辑空间下拉列表。
1044
1021 }); 1045 });
1022 1046
1023 const cancel = () => { 1047 const cancel = () => {
......
...@@ -1328,7 +1328,11 @@ const respParamsTableInfo = ref({ ...@@ -1328,7 +1328,11 @@ const respParamsTableInfo = ref({
1328 <div v-if="detailInfo.domain == '004'">{{ '所属主题:' + (detailInfo.subjectDomainName || '--') }}</div> 1328 <div v-if="detailInfo.domain == '004'">{{ '所属主题:' + (detailInfo.subjectDomainName || '--') }}</div>
1329 </div> 1329 </div>
1330 <!-- </template> --> 1330 <!-- </template> -->
1331 <div v-show="detailInfo.rightMainName" class="applicationScenarios">{{ '权利主体:' + detailInfo.rightMainName }} 1331 <div class="row-extra-desc" v-if="detailInfo.spaceName">
1332 <div class="per-extra-desc">{{ '权利主体:' + detailInfo.rightMainName }}</div>
1333 <div>{{ '逻辑空间:' + detailInfo.spaceName }}</div>
1334 </div>
1335 <div v-else v-show="detailInfo.rightMainName" class="applicationScenarios">{{ '权利主体:' + detailInfo.rightMainName }}
1332 </div> 1336 </div>
1333 <div class="applicationScenarios" 1337 <div class="applicationScenarios"
1334 :style="{ 'margin-right': (isTruncated && !isExpanded) ? '30px' : '0px', WebkitLineClamp: (!isTruncated ? 'inherit' : (isExpanded ? 'inherit' : 1)), WebkitBoxOrient: 'vertical' }"> 1338 :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!