4b2ccde4 by lihua

数据目录接口联调

1 parent 4109a88f
......@@ -233,7 +233,9 @@ onBeforeMount(() => {
// }
// })
fullscreenLoading.value = true;
getRegisterCatalogDetail(route.query.guid).then((res: any) => {
getRegisterCatalogDetail({
guid: route.query.damGuid
}).then((res: any) => {
fullscreenLoading.value = false;
if (res?.code == proxy.$passCode) {
let detail = res.data || {};
......
......@@ -12,7 +12,7 @@
@blur="toSearch(true, true)" @keyup.enter.native="searchEnterFun" clearable />
</div>
<Table :tableInfo="tableInfo" @tablePageChange="tablePageChange"
style="height: calc(100% - 96px);margin: 16px 16px 0px;" />
style="height: calc(100% - 96px);margin: 16px 16px 0px;width: calc(100% - 32px);" />
</div>
</div>
</template>
......@@ -90,11 +90,10 @@ const treeInfo = ref({
* @param nodeObj - 节点对象
*/
const handleTreeNodeChange = (checkedObj, id, nodeObj) => {
debugger
let treeRefs = treeRef.value.treeRef;
let checkedKeys = checkedObj.checkedObj || []; // 全勾选的所有节点
let checkedObjs = checkedObj.checkedObj || []; // 全勾选的所有节点
let halfCheckedKeys = checkedObj.halfCheckedKeys || []; // 半勾选的节点
let checkedKeys = checkedObj.checkedKeys || [];
// 思路:一个个的分类判断是否在半勾选,如果是,就将其勾选的子节点获取出来
/** 产品类型 */
......@@ -128,8 +127,73 @@ const handleTreeNodeChange = (checkedObj, id, nodeObj) => {
}
/** 领域及应用场景 */
page.value.domainList = [];
page.value.scenarioList = [];
page.value.subjectDomainList = [];
page.value.medDepartList = [];
if (halfCheckedKeys.includes('domain')) {
// 计算领域下勾选的子节点,同时判断医疗健康和工业制造
domainDictList.value.forEach(domainItem => {
if (domainItem.value == '003') {//包含医疗健康,所属科室
if (halfCheckedKeys.includes('003')) {
if (halfCheckedKeys.includes('scenario3')) {//
let list = treeRefs.getNode('scenario3')?.childNodes?.filter(c => c.checked == true);
list?.forEach(item => {
page.value.scenarioList.push(item.value);
});
}
if (halfCheckedKeys.includes('medDepartmentCode')) {
treeRefs.getNode('medDepartmentCode').childNodes?.forEach(node => {
if (node.checked && node.isLeaf) {
page.value.medDepartList.push(node.data.value);
} else if (node.checked || (!node.isLeaf && node.indeterminate)) { //不是叶子节点
node.childNodes?.forEach(childNode => {
if (childNode.checked && childNode.isLeaf) {
page.value.medDepartList.push(childNode.data.value);
}
});
}
});
} else if (checkedKeys.includes(domainItem.value)) {
page.value.domainList.push(domainItem.value); //全选要加入
}
}
else if (domainItem.value == '004') {//包含医工业制造,所属主题
if (halfCheckedKeys.includes('004')) {
if (halfCheckedKeys.includes('scenario4')) {//
let list = treeRefs.getNode('scenario4')?.childNodes?.filter(c => c.checked == true);
list?.forEach(item => {
page.value.scenarioList.push(item.value);
});
}
if (halfCheckedKeys.includes('subjectDomain')) {
treeRefs.getNode('subjectDomain').childNodes?.forEach(node => {
if (node.checked && node.isLeaf) {
page.value.subjectDomainList.push(node.data.value);
} else if (node.checked || (!node.isLeaf && node.indeterminate)) { //不是叶子节点
node.childNodes?.forEach(childNode => {
if (childNode.checked && childNode.isLeaf) {
page.value.subjectDomainList.push(childNode.data.value);
}
});
}
});
}
} else if (checkedKeys.includes(domainItem.value)) {
page.value.domainList.push(domainItem.value); //全选要加入
}
} else {
if (halfCheckedKeys.includes(domainItem.value)) {
let list = treeRefs.getNode(domainItem.value)?.childNodes?.filter(c => c.checked == true);
list?.forEach(item => {
page.value.scenarioList.push(item.value);
});
} else if (checkedKeys.includes(domainItem.value)) {
page.value.domainList.push(domainItem.value); //全选要加入
}
}
}
})
}
page.value.curr = 1;
getSearchData();
......@@ -143,7 +207,8 @@ const page = ref({
...commonPageConfig, // 继承通用页面配置
searchKey: '', // 搜索关键词
damTypes: [],
domainList: [],
domainList: <any>[],
scenarioList: <any>[],
industryList: [],
institutionTypeList: [],
dataSourcesList: [],
......@@ -195,7 +260,8 @@ const getSearchData = (clear = false) => {
damName: page.value.searchKey,
damTypes: page.value.damTypes,
domains: page.value.domainList,
scenarios: page.value.subjectDomainList,
scenarios: page.value.scenarioList,
subjectDomains: page.value.subjectDomainList,
industrys: page.value.industryList,
institutionTypes: page.value.institutionTypeList,
dataSourceList: page.value.dataSourcesList,
......@@ -240,15 +306,8 @@ const tableInfo = ref({
type: "text_btn",
columClass: 'text_btn',
value: "detail",
// 合同状态为06时禁用点击
disabled: (scope) => {
return scope.row.contractStatus == '06';
},
// 点击查看详细信息
click: (scope) => {
if (scope.row.contractStatus == '06') {
return;
}
router.push({
name: 'productSortCatalogDetail',
query: {
......@@ -261,9 +320,8 @@ const tableInfo = ref({
}
},
{ label: "产品类型", field: "damTypeName", width: 100 },
{ label: "应用场景", field: "scenarioName", width: 120 },
{ label: "行业分类", field: "industryName", width: 220 },
{ label: "机构分类", field: "institutionTypeName", width: 120 },
{ label: "机构分类", field: "institutionTypeName", width: 110 },
{
label: "数据来源",
field: "dataSources",
......@@ -273,6 +331,10 @@ const tableInfo = ref({
return scope.row.dataSources && dataSourceList.value.find(i => i.value == scope.row.dataSources)?.label || '--'
}
},
{ label: "领域", field: "domainName", width: 120 },
{ label: "应用场景", field: "scenarioName", width: 120 },
{ label: "所属科室", field: "medDepartmentCodeName", width: 110 },
{ label: "所属主题", field: "subjectDomainName", width: 120 },
{ label: "上架时间", field: "groundingTime", width: 170 },
],
data: [], // 表格数据
......@@ -422,7 +484,7 @@ onBeforeMount(() => {
let item = domainDictList.value.find(i => i.value == '003'); // 医疗健康,下级应用场景和所属科室
let childDictList = item.childDictList || [];
item.childDictList = [{
value: 'scenario',
value: 'scenario3',
label: '应用场景',
childDictList: childDictList
}];
......@@ -437,7 +499,7 @@ onBeforeMount(() => {
let item4 = domainDictList.value.find(i => i.value == '004'); // 工业制造
let childDictList4 = item4.childDictList || [];
item4.childDictList = [{
value: 'scenario',
value: 'scenario4',
label: '应用场景',
childDictList: childDictList4
}];
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!