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
86021765
authored
2025-03-28 15:12:45 +0800
by
lihua
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
fix
1 parent
18970fba
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
44 additions
and
11 deletions
src/components/Form/index.vue
src/views/data_transaction/valuationModelCreate.vue
src/components/Form/index.vue
View file @
8602176
...
...
@@ -1464,7 +1464,7 @@ const panelChange = (scope, row) => {
@visible-change="(vis) => visibleChange(vis, item)" />
<el-date-picker
:class=
"[item.col,
{ is_block: item.block }]" v-else-if="item.type == 'date-month'"
v-model="formInline[item.field]" type="month" :format="item.format ?? 'YYYY-MM'" :value-format="item.valueFormat ?? 'YYYY-MM'"
:placeholder="item.placeholder" :unlink-panels="item.unlink ?? false" :shortcuts="item.shortcuts ?? []"
:placeholder="item.placeholder" :unlink-panels="item.unlink ?? false" :shortcuts="item.shortcuts ?? []"
:clearable="item.clearable ?? true"
:default-value="item.defaultDate" :disabled="item.disabled ?? false" :disabled-date="item.disabledDate"
:popper-class="item.popperClass" @change="(val) => inputChange(val, item)"
@panel-change="(date, mode) => panelChange({ date, mode }, item)"
...
...
src/views/data_transaction/valuationModelCreate.vue
View file @
8602176
...
...
@@ -62,7 +62,7 @@ const valuateFormItems: any = ref([
placeholder
:
"请选择"
,
format
:
'YYYY-MM-DD'
,
valueFormat
:
'YYYY-MM-DD'
,
clearable
:
tru
e
,
clearable
:
fals
e
,
required
:
true
,
style
:
{
width
:
'calc(33.33% - 70px)'
,
'margin-right'
:
'8px'
},
popperClass
:
'date-month-popper'
,
...
...
@@ -128,7 +128,7 @@ const valuateFormItems: any = ref([
]);
const
valuateFormRules
=
ref
({
//
damGuid: [required('请选择数据产品名称')],
damGuid
:
[
required
(
'请选择数据产品名称'
)],
evaluateBaseDate
:
[
required
(
'请选择基准日'
)],
evaluateMethod
:
[
required
(
'请选择评估方法'
)],
useYears
:
[{
type
:
'number'
,
min
:
1
,
max
:
10
,
message
:
"请填写年限1~10"
,
trigger
:
"change"
,
},]
...
...
@@ -572,11 +572,16 @@ const inputChange = (val, scope, field) => {
}
else
{
row
[
field
]
=
val
=
parseFloat
(
val
||
0
).
toFixed
(
2
);
}
if
(
val
==
'NaN'
)
{
row
[
field
]
=
'0.00'
;
}
}
/** 输入框输入触发事件 */
const
inputEventChange
=
(
val
,
scope
,
field
,
max
:
any
=
null
)
=>
{
let
row
=
scope
.
row
;
if
(
row
.
indexName
==
'综合分成率'
||
row
.
indexName
==
'衰减率'
)
{
//只能输入正数
let
row
=
scope
.
row
;
row
[
field
]
=
row
[
field
].
toString
().
replace
(
/
[^\d
.
]
/g
,
""
)
row
[
field
]
=
row
[
field
].
toString
().
replace
(
/
\.{2,}
/g
,
"."
)
row
[
field
]
=
row
[
field
].
toString
().
replace
(
"."
,
"$#$"
).
replace
(
/
\.
/g
,
""
).
replace
(
"$#$"
,
"."
)
...
...
@@ -585,6 +590,29 @@ const inputEventChange = (val, scope, field, max: any = null) => {
if
(
max
!==
null
&&
row
[
field
]
>
max
)
{
row
[
field
]
=
max
;
}
}
else
{
//需要支持负数
row
[
field
]
=
row
[
field
].
toString
().
replace
(
/
[^\d
.-
]
/g
,
""
)
row
[
field
]
=
row
[
field
].
toString
().
replace
(
/
\.{2,}
/g
,
"."
)
// 第四步:移除整数部分前面不必要的零,但保留小数部分的有效零
if
(
row
[
field
].
startsWith
(
'-'
))
{
// 对于负数,去掉负号进行处理
let
tempValue
=
row
[
field
].
substring
(
1
);
tempValue
=
tempValue
.
replace
(
/^0*
(\d
+
(\.\d{0,2})?)
/
,
'$1'
);
row
[
field
]
=
'-'
+
tempValue
;
}
else
{
// 对于正数直接处理
row
[
field
]
=
row
[
field
].
replace
(
/^0*
(\d
+
(\.\d{0,2})?)
/
,
'$1'
);
}
row
[
field
]
=
row
[
field
].
toString
().
replace
(
/^
(
-
?\d{0,12})(\.\d{0,2})?
$/
,
'$1$2'
);
if
(
max
!==
null
)
{
if
(
row
[
field
]
>
max
)
{
row
[
field
]
=
max
;
}
if
(
row
[
field
]
<
0
&&
row
[
field
]
<
-
max
)
{
row
[
field
]
=
-
max
;
}
}
}
}
const
incomeCalculateData
=
computed
(()
=>
{
//响应式不生效
...
...
@@ -606,10 +634,14 @@ const incomeCalculateData = computed(() => { //响应式不生效
incomeYears
.
value
.
forEach
((
year
,
i
)
=>
{
let
C6
=
transfer
(
data
[
5
][
year
.
field
])
let
C7
=
transfer
(
data
[
6
][
year
.
field
])
let
sumC7
:
any
=
C7
;
let
sumC7
:
any
=
0
;
if
(
i
==
0
)
{
sumC7
=
C7
;
}
else
{
incomeYears
.
value
.
slice
(
0
,
i
+
1
).
forEach
((
item
)
=>
{
sumC7
=
sumC7
+
transfer
(
data
[
6
][
item
.
field
]);
})
}
resultInfo
[
'综合分成率'
].
push
(
changeNum
(
C6
*
(
1
-
sumC7
+
C7
/
2
)
*
100
,
2
,
true
));
//TODO综合分成率算法有问题
let
C1
=
transfer
(
data
[
0
][
year
.
field
],
false
)
let
C5
=
transfer
(
data
[
4
][
year
.
field
])
...
...
@@ -646,15 +678,18 @@ const submit = () => {
}
else
{
params
.
valuationEarningsRQVOList
=
incomeTableData
.
value
;
params
.
damValuation
=
incomeCalculateData
.
value
[
'数据资产估值'
];
params
.
valuationEarningsRQVOList
.
forEach
(
d
=>
{
for
(
const
d
of
params
.
valuationEarningsRQVOList
)
{
let
years
:
any
=
{};
incomeYears
.
value
.
forEach
(
y
=>
{
for
(
const
y
of
incomeYears
.
value
)
{
if
(
d
.
auto
!=
true
&&
d
[
y
.
field
]
==
null
)
{
proxy
.
$ElMessage
.
error
(
`收益法的指标【
${
d
.
indexName
}
】预测年限中存在空值,请输入`
);
return
;
}
years
[
y
.
field
]
=
d
[
y
.
field
];
}
)
}
d
.
predictedYears
=
years
;
})
}
params
.
evaluateBaseDate
=
getLastDayOfMonth
(
params
.
evaluateBaseDate
);
}
fullscreenLoading
.
value
=
true
;
if
(
!
route
.
query
.
guid
)
{
saveValuationMode
(
params
).
then
((
res
:
any
)
=>
{
...
...
@@ -738,8 +773,6 @@ onBeforeMount(() => {
item
.
default
=
detailData
[
item
.
field
];
if
(
item
.
field
==
'evaluateMethod'
)
{
valuateFormItems
.
value
.
at
(
-
1
).
visible
=
item
.
default
==
'2'
;
}
else
if
(
item
.
field
==
'evaluateBaseDate'
)
{
item
.
default
=
item
.
default
.
substring
(
0
,
7
);
}
})
if
(
detailData
.
evaluateMethod
==
'2'
)
{
...
...
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