Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
csbr-daop
/
fe-data-trusted-space
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
3ad84ff1
authored
2025-09-25 10:31:48 +0800
by
lihua
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
fix: 修复新增定价切换模型问题
1 parent
2623ab08
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
151 additions
and
134 deletions
src/views/data_pricing/calculateConfig.vue
src/views/data_pricing/calculateConfigNew.vue
src/views/data_pricing/calculateConfig.vue
View file @
3ad84ff
...
...
@@ -199,7 +199,7 @@ const getDiseaseData = () => {
item
.
options
=
typeMap
.
value
[
'diseaseGuid'
];
if
(
guid
)
{
const
diseaseData
=
typeMap
.
value
.
diseaseGuid
.
find
(
m
=>
m
.
guid
==
flowDetail
.
value
.
diseaseGuid
);
if
(
!
diseaseData
)
{
if
(
!
diseaseData
&&
flowDetail
.
value
.
diseaseGuid
)
{
item
.
options
.
unshift
({
guid
:
flowDetail
.
value
.
diseaseGuid
,
diseaseName
:
flowDetail
.
value
.
diseaseName
...
...
@@ -501,7 +501,7 @@ const setTableData = (dataArr) => {
},
0
);
setTimeout
(()
=>
{
tableData
.
value
.
map
(
t
=>
{
expendTableRef
.
value
.
toggleRowExpansion
(
t
);
expendTableRef
.
value
?
.
toggleRowExpansion
(
t
);
})
},
200
)
}
...
...
src/views/data_pricing/calculateConfigNew.vue
View file @
3ad84ff
<route
lang=
"yaml"
>
name: calculateConfig
name: calculateConfig
New
</route>
<
script
lang=
"ts"
setup
name=
"calculateConfig"
>
<
script
lang=
"ts"
setup
name=
"calculateConfig
New
"
>
import
{
ref
,
onMounted
}
from
"vue"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
{
ElMessage
,
ElMessageBox
}
from
"element-plus"
;
...
...
@@ -24,6 +24,7 @@ import {
}
from
'@/api/modules/dataPricing'
;
import
{
changeNum
}
from
"@/utils/common"
;
import
{
useValidator
}
from
'@/hooks/useValidator'
;
import
{
cloneDeep
}
from
"lodash-es"
;
const
{
required
}
=
useValidator
();
const
{
proxy
}
=
getCurrentInstance
()
as
any
;
...
...
@@ -119,7 +120,7 @@ const productConfigFormRules = ref({
// 基础设置
const
baseConfigFormRef
=
ref
();
const
baseConfigFormItems
:
any
=
ref
([
const
baseConfig
Init
FormItems
:
any
=
ref
([
{
label
:
'模型名称'
,
type
:
'select'
,
...
...
@@ -189,6 +190,8 @@ const baseConfigFormItems: any = ref([
// disabled: true
// },
])
const
baseConfigFormItems
=
ref
(
cloneDeep
(
baseConfigInitFormItems
.
value
));
const
baseConfigFormRules
:
any
=
ref
({
modelGuid
:
[
{
required
:
true
,
trigger
:
'change'
,
message
:
"请选择模型名称"
}
...
...
@@ -420,7 +423,7 @@ const setDiseaseFormItems = () => {
if
(
item
)
{
item
.
options
=
typeMap
.
value
[
'diseaseGuid'
];
const
diseaseData
=
typeMap
.
value
.
diseaseGuid
.
find
(
m
=>
m
.
guid
==
flowDetail
.
value
.
diseaseGuid
);
if
(
!
diseaseData
)
{
if
(
!
diseaseData
&&
flowDetail
.
value
.
diseaseGuid
)
{
item
.
options
.
unshift
({
guid
:
flowDetail
.
value
.
diseaseGuid
,
diseaseName
:
flowDetail
.
value
.
diseaseName
...
...
@@ -558,7 +561,7 @@ const setTableData = (dataArr) => {
const
rGuid
=
item
.
demandTableGuid
||
item
.
guid
;
const
rIndex
=
i
;
(()
=>
{
getDemandField
(
rGuid
,
rIndex
);
//
getDemandField(rGuid, rIndex);
})()
}
})
...
...
@@ -567,7 +570,7 @@ const setTableData = (dataArr) => {
},
0
);
setTimeout
(()
=>
{
tableData
.
value
.
map
(
t
=>
{
expendTableRef
.
value
.
toggleRowExpansion
(
t
);
expendTableRef
.
value
?
.
toggleRowExpansion
(
t
);
})
},
200
)
}
...
...
@@ -612,7 +615,7 @@ const getQuilityModelScore = (sGuid) => {
})
}
// 獲取模型相关信息
const
getModelInfo
=
(
mGuid
)
=>
{
const
getModelInfo
=
(
mGuid
,
valueInfo
=
null
)
=>
{
const
promises
:
any
=
[
getModelConfig
(
mGuid
),
getModelDetail
(
mGuid
)
...
...
@@ -626,7 +629,7 @@ const getModelInfo = (mGuid) => {
dataTransactionPrice
.
value
=
flowDetail
.
value
.
dataTransactionPrice
;
setTimeout
(()
=>
{
// getResourceDetail(flowDetail.value.dataResourceGuid, false);
setFormItems
();
setFormItems
(
valueInfo
);
setdemandTableData
(
mGuid
);
},
200
);
}
else
{
...
...
@@ -747,11 +750,18 @@ const selectChange = async (val, row, info) => {
demandTableFieldAllNum
.
value
=
0
;
resourceTableAllNum
.
value
=
0
;
resourceTableFieldAllNum
.
value
=
0
;
await
setFormItems
(
info
);
val
&&
getModelInfo
(
val
);
baseConfigFormItems
.
value
[
0
].
default
=
val
;
baseConfigFormItems
.
value
=
[
baseConfigFormItems
.
value
[
0
]];
if
(
val
)
{
getModelInfo
(
val
,
info
);
}
else
{
setFormItems
(
info
);
}
// await setFormItems(info);
// val && getModelInfo(val, info);
currModelGuid
.
value
=
val
||
''
;
qualityScoreData
.
value
=
{};
// baseConfigFormItems.value[1].default = '';
// baseConfigFormItems.value[1].default = '';
// changeDatasource();
}
// else if (row.field == 'dataResourceGuid') {
...
...
@@ -789,38 +799,38 @@ const selectChange = async (val, row, info) => {
}
}
// 获取需求表字段
const
getDemandField
=
(
rGuid
,
rIndex
)
=>
{
getDemandList
({
pageSize
:
-
1
,
pageIndex
:
1
,
relationMenuGuid
:
rGuid
,
bizState
:
'Y'
}).
then
((
res
:
any
)
=>
{
tableLoading
.
value
=
false
;
if
(
res
.
code
==
proxy
.
$passCode
)
{
const
data
=
res
.
data
||
{};
const
fData
=
data
.
records
||
[];
const
tFields
=
tableData
.
value
[
rIndex
].
dataFields
;
const
tData
=
fData
.
map
(
item
=>
{
const
iData
=
tFields
.
find
(
t
=>
t
.
demandFieldGuid
==
item
.
guid
)
||
{};
return
{
...
item
,
fieldName
:
item
.
fieldName
,
isRequired
:
item
.
isRequired
,
chName
:
item
.
chName
||
''
,
enName
:
item
.
enName
||
''
,
...
iData
}
});
tableData
.
value
[
rIndex
].
dataFields
=
tData
;
//
const getDemandField = (rGuid, rIndex) => {
//
getDemandList({
//
pageSize: -1,
//
pageIndex: 1,
//
relationMenuGuid: rGuid,
//
bizState: 'Y'
//
}).then((res: any) => {
//
tableLoading.value = false;
//
if (res.code == proxy.$passCode) {
//
const data = res.data || {};
//
const fData = data.records || [];
//
const tFields = tableData.value[rIndex].dataFields;
//
const tData = fData.map(item => {
//
const iData = tFields.find(t => t.demandFieldGuid == item.guid) || {};
//
return {
//
...item,
//
fieldName: item.fieldName,
//
isRequired: item.isRequired,
//
chName: item.chName || '',
//
enName: item.enName || '',
//
...iData
//
}
//
});
//
tableData.value[rIndex].dataFields = tData;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
}).
catch
(()
=>
{
tableLoading
.
value
=
false
;
})
}
//
} else {
//
proxy.$ElMessage.error(res.msg);
//
}
//
}).catch(() => {
//
tableLoading.value = false;
//
})
//
}
const
toPath
=
()
=>
{
userStore
.
setTabbar
(
userStore
.
tabbar
.
filter
((
tab
:
any
)
=>
tab
.
fullPath
!==
fullPath
));
assetStore
.
set
(
true
);
...
...
@@ -849,7 +859,7 @@ const getTargetNum = (params) => {
const
getCalculateParams
=
(
baseConfigFormObj
,
baseConfigFormInfo
)
=>
{
let
companyInfo
=
productConfigFormRef
.
value
.
formInline
;
const
modelName
=
typeMap
.
value
.
modelGuid
.
find
(
d
=>
d
.
guid
==
baseConfigFormInfo
.
modelGuid
)?.
modelName
||
''
;
// const dataResourceName = typeMap.value.dataResourceGuid.find(d => d.damGuid == baseConfigFormInfo.dataResourceGuid)?.damName || '';
// const dataResourceName = typeMap.value.dataResourceGuid.find(d => d.damGuid == baseConfigFormInfo.dataResourceGuid)?.damName || '';
const
diseaseGuid
=
baseConfigFormInfo
.
diseaseGuid
||
''
;
let
params
:
any
=
{
tenantGuid
:
userData
.
tenantGuid
,
...
...
@@ -890,27 +900,27 @@ const getCalculateParams = (baseConfigFormObj, baseConfigFormInfo) => {
})
params
.
dictionaryJson
=
Object
.
keys
(
dictionaryJson
).
length
?
JSON
.
stringify
(
dictionaryJson
)
:
''
;
params
.
builtIndicators
=
builtInTarget
;
let
demandMatchingData
:
any
=
[];
tableData
.
value
.
map
(
item
=>
{
demandMatchingData
.
push
({
demandTableName
:
item
.
demandTableName
,
demandTableGuid
:
item
.
demandTableGuid
||
item
.
guid
,
// 需求表guid
dataTableGuid
:
item
.
dataTableGuid
||
''
,
// 数据资源表guid
weightDemandTable
:
item
.
weightDemandTable
,
dataFieldsNum
:
item
.
dataFieldsNum
,
pricingDemandFieldRQVOS
:
item
.
dataFields
.
map
(
d
=>
{
return
{
demandFieldGuid
:
d
.
demandFieldGuid
||
d
.
guid
,
// 资源表字段guid
fieldName
:
d
.
fieldName
,
enName
:
d
.
enName
,
chName
:
d
.
chName
,
isRequired
:
d
.
isRequired
,
orderNum
:
d
.
orderNum
}
})
})
});
params
.
dataPricingDemandmatchingRQVOS
=
demandMatchingData
;
//
let demandMatchingData: any = [];
//
tableData.value.map(item => {
//
demandMatchingData.push({
//
demandTableName: item.demandTableName,
//
demandTableGuid: item.demandTableGuid || item.guid, // 需求表guid
//
dataTableGuid: item.dataTableGuid || '', // 数据资源表guid
//
weightDemandTable: item.weightDemandTable,
//
dataFieldsNum: item.dataFieldsNum,
//
pricingDemandFieldRQVOS: item.dataFields.map(d => {
//
return {
//
demandFieldGuid: d.demandFieldGuid || d.guid, // 资源表字段guid
//
fieldName: d.fieldName,
//
enName: d.enName,
//
chName: d.chName,
//
isRequired: d.isRequired,
//
orderNum: d.orderNum
//
}
//
})
//
})
//
});
params
.
dataPricingDemandmatchingRQVOS
=
[]
;
guid
&&
(
params
.
guid
=
guid
);
return
params
;
}
...
...
@@ -939,79 +949,86 @@ const checkForm = (type) => {
const
baseConfigFormObj
=
baseConfigFormRef
.
value
;
const
baseConfigFormEl
=
baseConfigFormObj
.
ruleFormRef
;
const
baseConfigFormInfo
=
baseConfigFormObj
.
formInline
;
productConfigFormRef
.
value
.
ruleFormRef
.
validate
((
valid1
,
errorItem
)
=>
{
if
(
valid1
)
{
baseConfigFormEl
.
validate
(
async
(
valid
,
errorItem
)
=>
{
if
(
valid
)
{
const
paramsInfo
=
getCalculateParams
(
baseConfigFormObj
,
baseConfigFormInfo
);
const
validateModelConfig
=
()
=>
{
baseConfigFormEl
.
validate
(
async
(
valid
,
errorItem
)
=>
{
if
(
valid
)
{
const
paramsInfo
=
getCalculateParams
(
baseConfigFormObj
,
baseConfigFormInfo
);
loading
.
value
=
true
;
// 先获取计算结果
const
priceData
=
await
getCalculatPrice
(
paramsInfo
);
// 显示结果
dataTransactionPrice
.
value
=
priceData
.
transactionPrice
.
toFixed
(
2
);
if
(
type
==
'export'
)
{
loading
.
value
=
true
;
// 先获取计算结果
const
priceData
=
await
getCalculatPrice
(
paramsInfo
);
// 显示结果
dataTransactionPrice
.
value
=
priceData
.
transactionPrice
.
toFixed
(
2
);
if
(
type
==
'export'
)
{
loading
.
value
=
true
;
const
exportOut
=
{
one
:
priceData
.
one
,
two
:
priceData
.
two
,
three
:
priceData
.
three
,
}
exportModelScore
(
exportOut
).
then
((
res
:
any
)
=>
{
loading
.
value
=
false
;
if
(
res
&&
!
res
.
msg
)
{
ElMessage
({
type
:
"success"
,
message
:
'下载报告成功'
,
});
download
(
res
,
`数据定价报告.doc`
,
'word'
);
}
else
{
res
?.
msg
&&
ElMessage
.
error
(
res
?.
msg
);
}
}).
catch
(()
=>
{
loading
.
value
=
false
;
const
exportOut
=
{
one
:
priceData
.
one
,
two
:
priceData
.
two
,
three
:
priceData
.
three
,
}
exportModelScore
(
exportOut
).
then
((
res
:
any
)
=>
{
loading
.
value
=
false
;
if
(
res
&&
!
res
.
msg
)
{
ElMessage
({
type
:
"
error
"
,
message
:
'下载报告
请求失败
'
,
type
:
"
success
"
,
message
:
'下载报告
成功
'
,
});
})
}
else
if
(
type
==
'submit'
)
{
let
params
=
{
...
paramsInfo
,
dataTransactionPrice
:
dataTransactionPrice
.
value
,
download
(
res
,
`数据定价报告.doc`
,
'word'
);
}
else
{
res
?.
msg
&&
ElMessage
.
error
(
res
?.
msg
);
}
loading
.
value
=
true
;
savePrice
(
params
).
then
((
res
:
any
)
=>
{
loading
.
value
=
false
;
if
(
res
.
code
==
proxy
.
$passCode
)
{
ElMessage
({
type
:
"success"
,
message
:
guid
?
'编辑数据定价成功'
:
'新增数据定价成功'
,
});
toPath
()
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
}).
catch
(()
=>
{
loading
.
value
=
false
;
}).
catch
(()
=>
{
loading
.
value
=
false
;
ElMessage
({
type
:
"error"
,
message
:
'下载报告请求失败'
,
});
})
}
else
if
(
type
==
'submit'
)
{
let
params
=
{
...
paramsInfo
,
dataTransactionPrice
:
dataTransactionPrice
.
value
,
}
}
else
{
expand1
.
value
=
true
;
var
obj
=
Object
.
keys
(
errorItem
);
baseConfigFormEl
.
scrollToField
(
obj
[
0
]);
}
})
}
else
{
expandProduct
.
value
=
true
;
var
obj
=
Object
.
keys
(
errorItem
);
productConfigFormRef
.
value
.
scrollToField
(
obj
[
0
]);
baseConfigFormEl
.
validate
((
valid
,
errorItem1
)
=>
{
if
(
!
valid
)
{
expand1
.
value
=
true
;
loading
.
value
=
true
;
savePrice
(
params
).
then
((
res
:
any
)
=>
{
loading
.
value
=
false
;
if
(
res
.
code
==
proxy
.
$passCode
)
{
ElMessage
({
type
:
"success"
,
message
:
guid
?
'编辑数据定价成功'
:
'新增数据定价成功'
,
});
toPath
()
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
}).
catch
(()
=>
{
loading
.
value
=
false
;
});
}
})
}
})
}
else
{
expand1
.
value
=
true
;
var
obj
=
Object
.
keys
(
errorItem
);
baseConfigFormEl
.
scrollToField
(
obj
[
0
]);
}
})
}
if
(
type
==
'calculate'
)
{
validateModelConfig
();
}
else
{
productConfigFormRef
.
value
.
ruleFormRef
.
validate
((
valid1
,
errorItem
)
=>
{
if
(
valid1
)
{
validateModelConfig
();
}
else
{
expandProduct
.
value
=
true
;
var
obj
=
Object
.
keys
(
errorItem
);
productConfigFormRef
.
value
.
scrollToField
(
obj
[
0
]);
baseConfigFormEl
.
validate
((
valid
,
errorItem1
)
=>
{
if
(
!
valid
)
{
expand1
.
value
=
true
;
}
})
}
})
}
}
const
btnClick
=
async
(
btn
,
row
:
any
=
null
)
=>
{
const
type
=
btn
.
value
;
...
...
@@ -1107,8 +1124,8 @@ onMounted(() => {
</ContentWrap>
<ContentWrap
id=
"contract-content-wrap"
title=
"输入参数"
expandSwicth
style=
"margin-top: 15px"
:isExpand=
"expand1"
@
expand=
"(v) => expand1 = v"
>
<Form
ref=
"baseConfigFormRef"
formId=
"contract-content-form"
:itemList=
"baseConfigForm
.i
tems"
:rules=
"baseConfigForm
.r
ules"
col=
"col3"
@
selectChange=
"selectChange"
@
cascaderChange=
"cascaderChange"
/>
<Form
ref=
"baseConfigFormRef"
formId=
"contract-content-form"
:itemList=
"baseConfigForm
I
tems"
:rules=
"baseConfigForm
R
ules"
col=
"col3"
@
selectChange=
"selectChange"
@
cascaderChange=
"cascaderChange"
/>
</ContentWrap>
<!--
<ContentWrap
id=
"contract-signatory-wrap"
title=
"需求匹配"
expandSwicth
style=
"margin-top: 15px"
:isExpand=
"expand2"
@
expand=
"(v) => expand2 = v"
>
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment