Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
pdczt_qd
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhaopanyu
pdczt_qd
Commits
e42ebf4c
Commit
e42ebf4c
authored
Nov 20, 2025
by
jiang'yun
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
6bad13b4
b52c00b8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
195 additions
and
1 deletions
+195
-1
src/views/efficiencyAnalysis/djxx/detail/components/HistogramGraph.vue
+0
-0
src/views/efficiencyAnalysis/djxx/index.vue
+18
-0
src/views/wellDesign/components/WellStructure.vue
+177
-1
No files found.
src/views/efficiencyAnalysis/djxx/detail/components/HistogramGraph.vue
View file @
e42ebf4c
This diff is collapsed.
Click to expand it.
src/views/efficiencyAnalysis/djxx/index.vue
View file @
e42ebf4c
...
...
@@ -88,6 +88,18 @@
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"开次"
prop=
"kc"
>
<el-input
v-model=
"formData.kc"
placeholder=
"请输入开次"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"井眼尺寸"
prop=
"jycc"
>
<el-input
v-model=
"formData.jycc"
placeholder=
"请输入井眼尺寸"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"选择邻井"
prop=
"jhs"
>
<div
style=
"cursor: pointer;"
@
click=
"handleSelectAdjacentWell"
>
<el-input
v-model=
"formData.jhs"
placeholder=
"请点击选择邻井"
readonly
...
...
@@ -197,6 +209,8 @@ export default {
famc
:
''
,
qk
:
''
,
jhs
:
''
,
kc
:
''
,
jycc
:
''
,
jl
:
'10000'
,
// 距离默认值10000
wjsjks
:
null
,
// 完井时间开始默认五年前的今天
wjsjjs
:
null
,
// 完井时间结束默认今天
...
...
@@ -310,6 +324,8 @@ export default {
famc
:
''
,
qk
:
''
,
jhs
:
''
,
kc
:
''
,
jycc
:
''
,
jl
:
'10000'
,
// 距离默认值10000
wjsjks
:
this
.
getFiveYearsAgoDate
(),
// 完井时间开始默认五年前的今天
wjsjjs
:
this
.
getCurrentDate
(),
// 完井时间结束默认今天
...
...
@@ -445,6 +461,8 @@ export default {
famc
:
''
,
qk
:
''
,
jhs
:
''
,
kc
:
''
,
jycc
:
''
,
jl
:
'10000'
,
// 距离默认值10000
wjsjks
:
this
.
getFiveYearsAgoDate
(),
// 完井时间开始默认五年前的今天
wjsjjs
:
this
.
getCurrentDate
(),
// 完井时间结束默认今天
...
...
src/views/wellDesign/components/WellStructure.vue
View file @
e42ebf4c
...
...
@@ -442,7 +442,7 @@ export default {
svg2
.
append
(
"rect"
)
.
attr
(
"width"
,
this
.
width
)
.
attr
(
"height"
,
this
.
height
)
.
style
(
"fill"
,
"
rgb(38,42,50)"
);
.
style
(
"fill"
,
"
transparent"
);
// 设置背景色为浅灰色
svg2
.
append
(
"g"
)
.
attr
(
"transform"
,
`translate(0,
${
this
.
marginTop
}
)`
)
...
...
@@ -491,6 +491,20 @@ export default {
.
y0
(
d
=>
y
(
d
.
depth1
))
.
y1
(
d
=>
y
(
d
.
depth2
));
// 深色填充区域(例如井筒内部)
if
(
Array
.
isArray
(
res
.
svg2ConstructFillDark
))
{
for
(
let
k
=
0
;
k
<
res
.
svg2ConstructFillDark
.
length
;
k
++
)
{
const
item
=
res
.
svg2ConstructFillDark
[
k
];
if
(
!
item
||
!
item
.
fill
)
continue
;
svg2
.
append
(
"path"
)
.
attr
(
"transform"
,
`translate(0,0)`
)
.
datum
(
item
.
fill
)
.
attr
(
"class"
,
"area-dark"
)
.
attr
(
"d"
,
area
)
.
attr
(
"fill"
,
"rgb(60,60,60)"
);
}
}
if
(
Array
.
isArray
(
res
.
svg2ConstructFillGrey
))
{
for
(
let
k
=
0
;
k
<
res
.
svg2ConstructFillGrey
.
length
;
k
++
)
{
const
item
=
res
.
svg2ConstructFillGrey
[
k
];
...
...
@@ -552,6 +566,127 @@ export default {
}
}
}
// 标注用的直线生成器(左右说明箭头)
const
arrowLine
=
d3
.
line
()
.
x
(
d
=>
x
(
d
[
0
]))
.
y
(
d
=>
y
(
d
[
1
]))
.
curve
(
d3
.
curveLinear
);
// 左侧标注点与文字
if
(
Array
.
isArray
(
res
.
svg2ConstructPointLeft
))
{
for
(
let
i
=
0
;
i
<
res
.
svg2ConstructPointLeft
.
length
;
i
++
)
{
const
item
=
res
.
svg2ConstructPointLeft
[
i
];
if
(
!
item
||
!
Array
.
isArray
(
item
.
point
)
||
item
.
point
.
length
<
2
)
continue
;
// 箭头线
svg2
.
append
(
"path"
)
.
attr
(
"d"
,
arrowLine
(
item
.
point
))
.
attr
(
"stroke"
,
"#ffffff"
)
.
attr
(
"fill"
,
"none"
)
.
attr
(
"stroke-width"
,
1
)
.
attr
(
"stroke-linecap"
,
"round"
);
// 起点实心圆
const
circleX
=
x
(
item
.
point
[
0
][
0
]);
const
circleY
=
y
(
item
.
point
[
0
][
1
]);
svg2
.
append
(
"circle"
)
.
attr
(
"cx"
,
circleX
)
.
attr
(
"cy"
,
circleY
)
.
attr
(
"r"
,
3
)
.
attr
(
"fill"
,
"#ffffff"
)
.
attr
(
"stroke"
,
"none"
);
// 文本位置在箭头起点右侧稍上
const
textX
=
x
(
item
.
point
[
0
][
0
]
+
20
);
const
textY
=
y
(
item
.
point
[
0
][
1
]
-
3
);
const
group
=
svg2
.
append
(
"g"
)
.
attr
(
"transform"
,
"translate(0,0)"
);
const
text
=
group
.
append
(
"text"
)
.
attr
(
"x"
,
textX
+
10
)
.
attr
(
"y"
,
textY
)
.
attr
(
"fill"
,
"#ffffff"
)
.
attr
(
"font-size"
,
"12px"
);
if
(
item
.
describe1
)
{
text
.
append
(
"tspan"
)
.
attr
(
"x"
,
textX
+
10
)
.
attr
(
"y"
,
textY
)
.
attr
(
"font-weight"
,
"bold"
)
.
text
(
item
.
describe1
);
}
if
(
item
.
describe2
)
{
text
.
append
(
"tspan"
)
.
attr
(
"x"
,
textX
+
10
)
.
attr
(
"y"
,
textY
+
16
)
.
attr
(
"font-weight"
,
"bold"
)
.
text
(
item
.
describe2
);
}
if
(
item
.
describe3
)
{
text
.
append
(
"tspan"
)
.
attr
(
"x"
,
textX
+
10
)
.
attr
(
"y"
,
textY
+
32
)
.
attr
(
"font-weight"
,
"bold"
)
.
text
(
item
.
describe3
);
}
}
}
// 右侧标注点与文字
if
(
Array
.
isArray
(
res
.
svg2ConstructPointRight
))
{
for
(
let
i
=
0
;
i
<
res
.
svg2ConstructPointRight
.
length
;
i
++
)
{
const
item
=
res
.
svg2ConstructPointRight
[
i
];
if
(
!
item
||
!
Array
.
isArray
(
item
.
point
)
||
item
.
point
.
length
<
2
)
continue
;
svg2
.
append
(
"path"
)
.
attr
(
"d"
,
arrowLine
(
item
.
point
))
.
attr
(
"stroke"
,
"#ffffff"
)
.
attr
(
"fill"
,
"none"
)
.
attr
(
"stroke-width"
,
1
)
.
attr
(
"stroke-linecap"
,
"round"
);
const
circleX
=
x
(
item
.
point
[
0
][
0
]);
const
circleY
=
y
(
item
.
point
[
0
][
1
]);
svg2
.
append
(
"circle"
)
.
attr
(
"cx"
,
circleX
)
.
attr
(
"cy"
,
circleY
)
.
attr
(
"r"
,
3
)
.
attr
(
"fill"
,
"#ffffff"
)
.
attr
(
"stroke"
,
"none"
);
const
textX
=
x
(
item
.
point
[
0
][
0
]
+
20
);
const
textY
=
y
(
item
.
point
[
0
][
1
]
-
3
);
const
group
=
svg2
.
append
(
"g"
)
.
attr
(
"transform"
,
"translate(0,0)"
);
const
text
=
group
.
append
(
"text"
)
.
attr
(
"x"
,
textX
+
10
)
.
attr
(
"y"
,
textY
)
.
attr
(
"fill"
,
"#ffffff"
)
.
attr
(
"font-size"
,
"12px"
);
if
(
item
.
describe1
)
{
text
.
append
(
"tspan"
)
.
attr
(
"x"
,
textX
+
10
)
.
attr
(
"y"
,
textY
)
.
attr
(
"font-weight"
,
"bold"
)
.
text
(
item
.
describe1
);
}
if
(
item
.
describe2
)
{
text
.
append
(
"tspan"
)
.
attr
(
"x"
,
textX
+
10
)
.
attr
(
"y"
,
textY
+
16
)
.
attr
(
"font-weight"
,
"bold"
)
.
text
(
item
.
describe2
);
}
if
(
item
.
describe3
)
{
text
.
append
(
"tspan"
)
.
attr
(
"x"
,
textX
+
10
)
.
attr
(
"y"
,
textY
+
32
)
.
attr
(
"font-weight"
,
"bold"
)
.
text
(
item
.
describe3
);
}
}
}
},
drawTriangle
(
triangle
)
{
return
"M"
+
triangle
.
x1
+
","
+
triangle
.
y1
+
...
...
@@ -678,6 +813,47 @@ export default {
margin
:
5px
;
}
.content-row
{
height
:
100%
;
}
.jsjgt-wrapper
{
height
:
calc
(
100vh
-
260px
);
border
:
1px
solid
#e4e7ed
;
border-radius
:
4px
;
display
:
flex
;
flex-direction
:
column
;
background-color
:
#262a32
;
overflow
:
hidden
;
}
.jsjgt-title
{
padding
:
6px
12px
;
font-size
:
14px
;
font-weight
:
600
;
color
:
#ffffff
;
border-bottom
:
1px
solid
#3c3f45
;
}
.jsjgt-body
{
flex
:
1
;
display
:
flex
;
align-items
:
stretch
;
justify-content
:
center
;
}
.jsjgt-body
.svg2
{
flex
:
1
;
}
.jsjgt-empty
{
position
:
absolute
;
top
:
50%
;
left
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
color
:
#c0c4cc
;
}
::v-deep
.el-table__cell
>
.cell
{
font-weight
:
normal
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
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 comment