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
b52c00b8
Commit
b52c00b8
authored
Nov 20, 2025
by
zhaopanyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
zpy
parent
a930ca57
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 @
b52c00b8
This diff is collapsed.
Click to expand it.
src/views/efficiencyAnalysis/djxx/index.vue
View file @
b52c00b8
...
...
@@ -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 @
b52c00b8
...
...
@@ -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