Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yanshouyi-Minipro
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xinzhedeai
yanshouyi-Minipro
Commits
df7a059a
Commit
df7a059a
authored
Dec 27, 2024
by
xinzhedeai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
操作日志-列表
parent
37781e55
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
160 additions
and
434 deletions
+160
-434
home.vue
pages/home/home.vue
+4
-2
importFile.vue
pages/home/importFile.vue
+0
-3
operateLog.vue
pages/home/operateLog.vue
+156
-429
No files found.
pages/home/home.vue
View file @
df7a059a
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
<span>
炮孔测量数据导出
</span>
<span>
炮孔测量数据导出
</span>
<!--
<button
size=
"mini"
class=
"funcBtn"
type=
"primary"
@
click=
"navTo('export')"
>
导出
</button>
-->
<!--
<button
size=
"mini"
class=
"funcBtn"
type=
"primary"
@
click=
"navTo('export')"
>
导出
</button>
-->
</p>
</p>
<p
class=
"list-item"
>
<p
class=
"list-item"
@
click=
"navTo('operateLog')"
>
<image
src=
"/static/image/paokong/operatelog.png"
alt=
""
/>
<image
src=
"/static/image/paokong/operatelog.png"
alt=
""
/>
<span>
操作日志
</span>
<span>
操作日志
</span>
<!--
<button
size=
"mini"
class=
"funcBtn"
type=
"primary"
@
click=
"navTo('export')"
>
导出
</button>
-->
<!--
<button
size=
"mini"
class=
"funcBtn"
type=
"primary"
@
click=
"navTo('export')"
>
导出
</button>
-->
...
@@ -116,6 +116,8 @@
...
@@ -116,6 +116,8 @@
url
=
'
/pages/home/importFileDataPreview
'
url
=
'
/pages/home/importFileDataPreview
'
}
else
if
(
flag
===
'
paokongceliang
'
){
}
else
if
(
flag
===
'
paokongceliang
'
){
url
=
'
/pages/home/paokongceliang
'
url
=
'
/pages/home/paokongceliang
'
}
else
if
(
flag
===
'
operateLog
'
){
url
=
'
/pages/home/operateLog
'
}
}
uni
.
navigateTo
({
uni
.
navigateTo
({
...
@@ -181,8 +183,8 @@
...
@@ -181,8 +183,8 @@
width
:
646rpx
;
width
:
646rpx
;
height
:
300rpx
;
height
:
300rpx
;
background
:
url('/static/image/paokong/home-title-bg.png')
;
// background-color: linear-gradient(-90deg, #F6F9FF 31%, #E4EFFF 100%);
// background-color: linear-gradient(-90deg, #F6F9FF 31%, #E4EFFF 100%);
background-image
:
url('/static/image/paokong/home-title-bg.png')
;
background-position
:
center
right
;
background-position
:
center
right
;
background-size
:
cover
;
background-size
:
cover
;
box-shadow
:
0rpx
2rpx
24rpx
0rpx
rgba
(
7
,
36
,
72
,
0
.11
);
box-shadow
:
0rpx
2rpx
24rpx
0rpx
rgba
(
7
,
36
,
72
,
0
.11
);
...
...
pages/home/importFile.vue
View file @
df7a059a
...
@@ -101,9 +101,6 @@
...
@@ -101,9 +101,6 @@
dateRangeMaxDeal
(
e
){
dateRangeMaxDeal
(
e
){
console
.
log
(
'
超过最大连选天数:
'
,
e
)
console
.
log
(
'
超过最大连选天数:
'
,
e
)
},
},
dateChange
(
day
){
this
.
date
=
day
},
// 获取选中的日期
// 获取选中的日期
changeDate
(
data
)
{
changeDate
(
data
)
{
console
.
log
(
data
)
console
.
log
(
data
)
...
...
pages/home/operateLog.vue
View file @
df7a059a
...
@@ -6,10 +6,10 @@
...
@@ -6,10 +6,10 @@
<view
class=
"body-wrapper"
>
<view
class=
"body-wrapper"
>
<view
class=
"demo-uni-row"
>
<view
class=
"demo-uni-row"
>
<uni-row>
<uni-row>
<uni-col
:span=
"
7
"
class=
"_title"
>
<uni-col
:span=
"
6
"
class=
"_title"
>
<view>
工程名称
</view>
<view>
工程名称
</view>
</uni-col>
</uni-col>
<uni-col
:span=
"1
5
"
>
<uni-col
:span=
"1
6
"
>
<uni-data-select
v-model=
"form.productName"
:localdata=
"selectListLv1"
:clear=
"false"
<uni-data-select
v-model=
"form.productName"
:localdata=
"selectListLv1"
:clear=
"false"
@
change=
"changeLv1"
></uni-data-select>
@
change=
"changeLv1"
></uni-data-select>
</uni-col>
</uni-col>
...
@@ -17,66 +17,106 @@
...
@@ -17,66 +17,106 @@
</view>
</view>
<view
class=
"demo-uni-row"
>
<view
class=
"demo-uni-row"
>
<uni-row
class=
"demo-uni-row mb-10"
>
<uni-row
class=
"demo-uni-row mb-10"
>
<uni-col
:span=
"
7
"
class=
"_title"
>
<uni-col
:span=
"
6
"
class=
"_title"
>
<view>
爆区名称
</view>
<view>
爆区名称
</view>
</uni-col>
</uni-col>
<uni-col
:span=
"1
5
"
>
<uni-col
:span=
"1
6
"
>
<uni-data-select
v-model=
"form.artilleryAreaName"
:localdata=
"selectListLv2"
:clear=
"false"
<uni-data-select
v-model=
"form.artilleryAreaName"
:localdata=
"selectListLv2"
:clear=
"false"
@
change=
"changeLv2"
></uni-data-select>
@
change=
"changeLv2"
></uni-data-select>
</uni-col>
</uni-col>
</uni-row>
</uni-row>
</view>
</view>
<view
class=
"demo-uni-row"
>
<view
class=
"demo-uni-row row-date"
>
<uni-row
class=
"demo-uni-row mb-10"
>
<uni-row
class=
"demo-uni-row mb-10"
>
<uni-col
:span=
"
7
"
class=
"_title"
>
<uni-col
:span=
"
6
"
class=
"_title"
>
<view>
记录时间
</view>
<view>
记录时间
</view>
</uni-col>
</uni-col>
<uni-col
:span=
"15"
>
<uni-col
:span=
"16"
>
<uni-data-select
v-model=
"form.artilleryAreaName"
:localdata=
"selectListLv2"
:clear=
"false"
<picker
style=
"width: 200rpx;"
mode=
"date"
:value=
"searchForm.startTime"
:start=
"startDate"
:end=
"endDate"
@
change=
"bindDateChange4start"
>
@
change=
"changeLv2"
></uni-data-select>
<view
class=
"uni-input"
>
{{
searchForm
.
startTime
}}
</view>
</picker>
<picker
style=
"width: 200rpx;"
mode=
"date"
:value=
"searchForm.endTime"
:start=
"startDate"
:end=
"endDate"
@
change=
"bindDateChange4end"
>
<view
class=
"uni-input"
>
{{
searchForm
.
endTime
}}
</view>
</picker>
</uni-col>
</uni-col>
</uni-row>
</uni-row>
<view
class=
"funcBtn end"
@
tap=
"resetForm"
>
搜索
</view>
</view>
</view>
</view>
</view>
<view
class=
"footer-wrapper"
>
<view
class=
"table-wrapper"
>
<view
class=
"funcBtn end"
@
tap=
"resetForm"
>
<uni-table
ref=
"table"
:loading=
"loading"
emptyText=
"暂无更多数据"
@
selection-change=
"selectionChange"
>
搜索
<uni-tr>
</view>
<uni-th
width=
"50"
align=
"center"
><span
style=
"color:#3a74ba;font-size:30rpx;"
>
序号
</span></uni-th>
<uni-th
width=
"100"
align=
"center"
>
操作模块
</uni-th>
<uni-th
width=
"80"
align=
"center"
>
操作类型
</uni-th>
<uni-th
width=
"120"
align=
"center"
>
操作人
</uni-th>
<uni-th
width=
"130"
align=
"center"
>
操作时间
</uni-th>
<uni-th
width=
"200"
align=
"center"
>
操作内容
</uni-th>
</uni-tr>
<uni-tr
v-for=
"(item, index) in dataList"
:key=
"index"
>
<uni-td
align=
"center"
>
{{
index
}}
</uni-td>
<uni-td
align=
"center"
>
{{
item
.
operationModule
}}
</uni-td>
<uni-td
align=
"center"
>
{{
item
.
operationType
}}
</uni-td>
<uni-td
align=
"center"
>
{{
item
.
operationPerson
}}
</uni-td>
<uni-td
align=
"center"
>
{{
item
.
operationTime
}}
</uni-td>
<uni-td
align=
"center"
>
{{
item
.
operationRemark
}}
</uni-td>
</uni-tr>
</uni-table>
</view>
</view>
<view
class=
""
v-show=
"!connected"
style=
"text-align: center; color: darkgray; margin-top:20rpx;"
>
<view
class=
""
v-show=
"!connected"
style=
"text-align: center; color: darkgray; margin-top:20rpx;"
>
{{
pageLoadText
}}
{{
pageLoadText
}}
</view>
</view>
<!--
<uni-popup
ref=
"popup"
type=
"bottom"
border-radius=
"10px 10px 0 0"
>
<miku-calendar
:calendarBg=
"'#fff'"
:dateRange=
"[new Date('2024/02/01').getTime(),new Date('2024/02/27').getTime()]"
:dateRangeMax=
"365"
@
dateRangeMaxDeal=
"dateRangeMaxDeal"
mode=
'dateRange'
:showArrow=
"true"
themeColor=
"rgb(100,124,203)"
arrowColor=
"rgb(100,124,203)"
@
confirm=
"calendarConfirm"
></miku-calendar>
</uni-popup>
-->
</view>
</view>
</
template
>
</
template
>
<
script
>
<
script
>
import
CustomNavbar
from
'
@/pages/component/CustomNavbar.vue
'
;
import
CustomNavbar
from
'
@/pages/component/CustomNavbar.vue
'
;
import
{
import
mikuCalendar
from
"
@/components/miku-calendar/mikuCalendar.vue
"
;
blueToothMixin
}
from
'
../../common/mixin.js
'
import
{
import
{
getCurrentTime
,
getCurrentTime
,
showCustomToast
,
showCustomToast
,
showCustomModal
showCustomModal
}
from
'
../../common/util.js
'
}
from
'
../../common/util.js
'
import
{
import
{
getSelectList
,
getDataList
,
getDetailInfo
,
getselectList4productName
,
saveData
,
getselectList4tester
,
getDict
}
from
'
../../api/operatorLog.js
'
}
from
'
../../api/blueToothMeasure.js
'
export
default
{
export
default
{
mixins
:
[
blueToothMixin
],
components
:
{
components
:
{
CustomNavbar
,
CustomNavbar
,
mikuCalendar
},
},
data
()
{
data
()
{
const
currentDate
=
this
.
getDate
({
format
:
true
})
return
{
return
{
navBarTitle
:
'
炮孔测量
'
,
loading
:
false
,
searchForm
:
{
startTime
:
currentDate
,
endTime
:
currentDate
,
},
dataList
:
[],
navBarTitle
:
'
操作日志
'
,
redirectUrl
:
'
/pages/home/blueSearch?refer=blueMeasure
'
,
redirectUrl
:
'
/pages/home/blueSearch?refer=blueMeasure
'
,
searchDate
:
''
,
// 表单数据相关
// 表单数据相关
zhuangyaoDict
:
[],
zhuangyaoDict
:
[],
form
:
{
form
:
{
...
@@ -89,12 +129,9 @@
...
@@ -89,12 +129,9 @@
'
actualDepth
'
:
''
,
'
actualDepth
'
:
''
,
'
actualWaterLevel
'
:
''
'
actualWaterLevel
'
:
''
},
},
dataList
:
[],
selectListLv1
:
[],
selectList4productName
:
[],
selectListLv2
:
[],
selectList4tester
:
[],
selectListLv3
:
[],
selectListLv4
:
[],
selectListLv5
:
[],
};
};
},
},
...
@@ -103,201 +140,67 @@
...
@@ -103,201 +140,67 @@
*/
*/
onLoad
:
function
(
options
)
{
onLoad
:
function
(
options
)
{
uni
.
hideLoading
()
uni
.
hideLoading
()
// this.dataList = uni.getStorageSync('importDataList') || []
this
.
getData
()
// console.log('this.dataList',JSON.stringify(this.dataList));
},
this
.
getDictInfo
()
computed
:
{
this
.
getSelectListLv1
()
startDate
()
{
return
this
.
getDate
(
'
start
'
);
// this.initLink()
},
endDate
()
{
return
this
.
getDate
(
'
end
'
);
}
},
},
methods
:
{
methods
:
{
async
getDictInfo
()
{
// 搜索
let
res
=
await
getDict
({
search
()
{
type
:
'
zhuangyao_type
'
this
.
getData
(
1
,
this
.
searchVal
)
},
// 获取数据
async
getData
()
{
this
.
loading
=
true
let
res
=
await
getDataList
({
...
this
.
searchForm
})
})
if
(
res
)
{
if
(
res
)
{
this
.
zhuangyaoDict
=
res
.
map
((
item
)
=>
{
this
.
loading
=
false
return
{
this
.
dataList
=
res
.
rows
text
:
item
.
dictLabel
,
this
.
loading
=
false
value
:
item
.
dictValue
}
})
}
}
},
},
changeLvCommonReset
(
lvNum
)
{
// 下拉列表值改变,清空级联数据公共方法
bindDateChange4start
:
function
(
e
)
{
let
newFildArr
=
[]
this
.
searchForm
.
startTime
=
e
.
detail
.
value
let
newDataListSelectArr
=
[]
let
formFieldArr
=
[
'
productName
'
,
'
artilleryAreaName
'
,
'
cannonHoleArrayNum
'
,
'
cannonHoleNum
'
,
'
status
'
,
'
expectedDepth
'
,
'
actualDepth
'
,
'
actualWaterLevel
'
]
let
dataListSelectArr
=
[
'
selectListLv1
'
,
'
selectListLv2
'
,
'
selectListLv3
'
,
'
selectListLv4
'
,
'
selectListLv5
'
]
// [1, 2, 3, 4, 5]; lvNum:2 => [3, 4, 5]
newFildArr
=
formFieldArr
.
slice
(
lvNum
);
newFildArr
.
forEach
((
key
)
=>
{
this
[
'
form
'
][
key
]
=
''
});
newDataListSelectArr
=
dataListSelectArr
.
slice
(
lvNum
);
newDataListSelectArr
.
forEach
((
key
)
=>
{
this
[
key
]
=
[]
});
},
},
async
getSelectListLv1
()
{
bindDateChange4end
:
function
(
e
)
{
// const dataArr = JSON.parse(JSON.stringify(this.dataList))
this
.
searchForm
.
endTime
=
e
.
detail
.
value
// // 获取第一个数据列表
// this.selectListLv1 = getCascadeList(dataArr, {
// productName: null
// }).map((item) => {
// return {
// text: item.productName,
// value: item.productName
// }
// })
const
res
=
await
getSelectList
({
productName
:
''
,
artilleryAreaName
:
''
,
cannonHoleArrayNum
:
''
,
cannonHoleNum
:
''
})
console
.
log
(
'
响应res
'
,
res
)
this
.
selectListLv1
=
res
.
map
((
item
)
=>
{
return
{
text
:
item
,
value
:
item
}
})
},
changeLv1
(
e
)
{
// console.log("e:", e);
this
.
changeLvCommonReset
(
1
)
this
.
getSelectListLv2
(
e
)
},
},
getDate
(
type
)
{
async
getSelectListLv2
(
prevLvVal
)
{
const
date
=
new
Date
();
// const dataArr = JSON.parse(JSON.stringify(this.dataList))
let
year
=
date
.
getFullYear
();
// this.selectListLv2 = getCascadeList(dataArr, {
let
month
=
date
.
getMonth
()
+
1
;
// productName: prevLvVal,
let
day
=
date
.
getDate
();
// }).map((item) => {
// return {
if
(
type
===
'
start
'
)
{
// text: item.artilleryAreaName,
year
=
year
-
60
;
// value: item.artilleryAreaName
}
else
if
(
type
===
'
end
'
)
{
// }
year
=
year
+
2
;
// })
}
// //console.log('this.selectListLv2', this.selectListLv2)
month
=
month
>
9
?
month
:
'
0
'
+
month
;
const
res
=
await
getSelectList
({
day
=
day
>
9
?
day
:
'
0
'
+
day
;
productName
:
prevLvVal
,
return
`
${
year
}
-
${
month
}
-
${
day
}
`
;
artilleryAreaName
:
''
,
cannonHoleArrayNum
:
''
,
cannonHoleNum
:
''
})
console
.
log
(
'
响应res
'
,
res
)
this
.
selectListLv2
=
res
.
map
((
item
)
=>
{
return
{
text
:
item
,
value
:
item
}
})
},
},
changeLv2
(
e
)
{
selectDate
()
{
//console.log("e:", e);
// 通过组件定义的ref调用uni-popup方法 ,如果传入参数 ,type 属性将失效 ,仅支持 ['top','left','bottom','right','center']
this
.
$refs
.
popup
.
open
(
'
center
'
)
this
.
changeLvCommonReset
(
2
)
this
.
getSelectListLv3
(
e
)
},
},
calendarConfirm
(
e
)
{
async
getSelectListLv3
(
prevLvVal
)
{
console
.
log
(
e
)
// const dataArr = JSON.parse(JSON.stringify(this.dataList))
const
formattedDates
=
e
.
map
(
date
=>
date
.
split
(
'
'
)[
0
]);
// this.selectListLv3 = getCascadeList(dataArr, {
this
.
searchDate
=
formattedDates
// productName: this.form.productName,
this
.
$refs
.
popup
.
close
()
// artilleryAreaName: prevLvVal
// }).map((item) => {
// return {
// text: item.cannonHoleArrayNum,
// value: item.cannonHoleArrayNum
// }
// })
const
res
=
await
getSelectList
({
productName
:
this
.
form
.
productName
,
artilleryAreaName
:
prevLvVal
,
cannonHoleArrayNum
:
''
,
cannonHoleNum
:
''
})
console
.
log
(
'
响应res
'
,
res
)
this
.
selectListLv3
=
res
.
map
((
item
)
=>
{
return
{
text
:
item
,
value
:
item
}
})
},
},
changeLv3
(
e
)
{
dateRangeMaxDeal
(
e
)
{
//console.log("e:", e);
console
.
log
(
'
超过最大连选天数:
'
,
e
)
this
.
changeLvCommonReset
(
3
)
this
.
getSelectListLv4
(
e
)
},
},
async
getSelectListLv4
(
prevLvVal
)
{
// const dataArr = JSON.parse(JSON.stringify(this.dataList))
// this.selectListLv4 = getCascadeList(dataArr, {
// productName: this.form.productName,
// artilleryAreaName: this.form.artilleryAreaName,
// cannonHoleArrayNum: prevLvVal
// }).map((item) => {
// return {
// text: item.cannonHoleNum,
// value: item.cannonHoleNum
// }
// })
const
res
=
await
getSelectList
({
productName
:
this
.
form
.
productName
,
artilleryAreaName
:
this
.
form
.
artilleryAreaName
,
cannonHoleArrayNum
:
prevLvVal
,
cannonHoleNum
:
''
})
console
.
log
(
'
响应res
'
,
res
)
this
.
selectListLv4
=
res
.
map
((
item
)
=>
{
return
{
text
:
item
,
value
:
item
}
})
},
changeLv4
(
e
)
{
// this.changeLvCommonReset(4)
// //console.log("e:", e);
// this.getSelectListLv5(e)
this
.
getDetailInfo
(
e
)
},
// getSelectListLv5(prevLvVal) {
// const dataArr = JSON.parse(JSON.stringify(this.dataList))
// this.selectListLv5 = getCascadeList(dataArr, {
// productName: this.form.productName,
// artilleryAreaName: this.form.artilleryAreaName,
// cannonHoleArrayNum: this.form.cannonHoleArrayNum,
// cannonHoleNum: prevLvVal,
// }).map((item) => {
// return {
// text: item.boreholeNumber,
// value: item.boreholeNumber
// }
// })
// },
// changeLv5(e) {
// //console.log("e:", e);
// this.getDetailInfo(e)
// },
async
getDetailInfo
()
{
async
getDetailInfo
()
{
let
res
=
await
getDetailInfo
()
let
res
=
await
getDetailInfo
()
if
(
res
)
{
if
(
res
)
{
...
@@ -310,114 +213,18 @@
...
@@ -310,114 +213,18 @@
title
:
'
暂无详情信息
'
title
:
'
暂无详情信息
'
})
})
},
},
async
saveData
()
{
// 保存当前表单数据到本地
let
formFieldArr
=
[
'
productName
'
,
'
artilleryAreaName
'
,
'
cannonHoleArrayNum
'
,
'
cannonHoleNum
'
,
'
boreholeNumber
'
]
var
validFlag
=
true
for
(
var
i
=
0
;
i
<
formFieldArr
.
length
;
i
++
)
{
console
.
log
(
'
this.form[formFieldArr[i]]
'
,
i
,
this
.
form
[
formFieldArr
[
i
]])
if
(
!
this
.
form
[
formFieldArr
[
i
]])
{
validFlag
=
false
break
;
}
}
if
(
!
validFlag
)
{
showCustomModal
({
content
:
`手动填写数据不可为空`
})
return
}
// const index = this.dataList.findIndex((item) => {
// return item.productName === this.form.productName &&
// item.artilleryAreaName === this.form.artilleryAreaName &&
// item.cannonHoleArrayNum === this.form.cannonHoleArrayNum &&
// item.cannonHoleNum === this.form.cannonHoleNum &&
// item.boreholeNumber === this.form.boreholeNumber
// })
if
(
this
.
form
.
measureDepth
&&
this
.
form
.
shuiwei
)
{
let
res
=
await
saveData
({
...
this
.
form
})
// this.$set(this.dataList[index], 'actualWaterLevel', this.form.actualWaterLevel);
// this.$set(this.dataList[index], 'actualDepth', this.form.actualDepth);
// this.$set(this.dataList[index], 'remark', getCurrentTime());
// uni.setStorageSync('importDataList', JSON.parse(JSON.stringify(this.dataList)))
if
(
res
)
{
uni
.
showToast
({
title
:
'
保存成功
'
,
icon
:
false
})
this
.
resetForm
()
}
return
}
showCustomModal
({
content
:
'
孔深水位不能为空
'
,
})
},
}
}
};
};
/**
* 处理级联数据方法
*/
function
getCascadeList
(
originArr
=
[],
paramObj
)
{
let
sonArr
=
new
Array
()
// let sonArr = new Set()
if
(
paramObj
.
artilleryAreaName
&&
paramObj
.
productName
&&
paramObj
.
cannonHoleArrayNum
&&
paramObj
.
cannonHoleNum
)
{
// 返回第5级
const
tempArr
=
originArr
.
filter
((
item
)
=>
{
return
item
.
productName
===
paramObj
.
productName
&&
item
.
artilleryAreaName
===
paramObj
.
artilleryAreaName
&&
item
.
cannonHoleArrayNum
===
paramObj
.
cannonHoleArrayNum
&&
item
.
cannonHoleNum
===
paramObj
.
cannonHoleNum
})
const
uniqueArray
=
Array
.
from
(
new
Map
(
tempArr
.
map
(
item
=>
[
item
.
boreholeNumber
,
item
])).
values
());
return
uniqueArray
}
if
(
paramObj
.
artilleryAreaName
&&
paramObj
.
productName
&&
paramObj
.
cannonHoleArrayNum
)
{
// 返回第4级
const
tempArr
=
originArr
.
filter
((
item
)
=>
{
return
item
.
productName
===
paramObj
.
productName
&&
item
.
artilleryAreaName
===
paramObj
.
artilleryAreaName
&&
item
.
cannonHoleArrayNum
===
paramObj
.
cannonHoleArrayNum
})
const
uniqueArray
=
Array
.
from
(
new
Map
(
tempArr
.
map
(
item
=>
[
item
.
cannonHoleNum
,
item
])).
values
());
return
uniqueArray
}
if
(
paramObj
.
artilleryAreaName
&&
paramObj
.
productName
)
{
// 返回第三级
const
tempArr
=
originArr
.
filter
((
item
)
=>
{
return
item
.
productName
===
paramObj
.
productName
&&
item
.
artilleryAreaName
===
paramObj
.
artilleryAreaName
})
const
uniqueArray
=
Array
.
from
(
new
Map
(
tempArr
.
map
(
item
=>
[
item
.
cannonHoleArrayNum
,
item
])).
values
());
return
uniqueArray
}
if
(
paramObj
.
productName
)
{
// 返回2级列表
const
tempArr
=
originArr
.
filter
((
item
)
=>
{
// 二级列表基于1级选择后的值进行过滤
return
item
.
productName
===
paramObj
.
productName
})
const
uniqueArray
=
Array
.
from
(
new
Map
(
tempArr
.
map
(
item
=>
[
item
.
artilleryAreaName
,
item
])).
values
());
return
uniqueArray
}
if
(
!
paramObj
.
productName
)
{
// 返回1级列表
const
uniqueArray
=
Array
.
from
(
new
Map
(
originArr
.
map
(
item
=>
[
item
.
productName
,
item
])).
values
());
return
uniqueArray
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
::v-deep
.uni-popup
.uni-popup__wrapper
{
display
:
block
;
position
:
relative
;
width
:
80vw
;
}
::v-deep
.uni-select__input-placeholder
{
::v-deep
.uni-select__input-placeholder
{
// placeholder样式调整
// placeholder样式调整
font-size
:
30rpx
!
important
;
font-size
:
30rpx
!
important
;
...
@@ -429,12 +236,35 @@
...
@@ -429,12 +236,35 @@
align-items
:
center
;
align-items
:
center
;
}
}
.uni-col-
7
{
.uni-col-
6
{
font-size
:
32rpx
;
font-size
:
32rpx
;
font-weight
:
bold
;
font-weight
:
bold
;
color
:
#000000
;
color
:
#000000
;
line-height
:
110rpx
;
line-height
:
110rpx
;
}
}
.row-date
{
.uni-col-16
{
display
:
flex
;
height
:
110rpx
;
line-height
:
110rpx
;
position
:
relative
;
&
:
:
after
{
content
:
'-'
;
width
:
70rpx
;
height
:
70rpx
;
position
:
absolute
;
right
:
232rpx
;
top
:
50%
;
transform
:
translateY
(
-50%
);
text-align
:
center
;
line-height
:
70rpx
;
font-size
:
29rpx
;
color
:
#000000
;
}
}
}
.demo-uni-row
{
.demo-uni-row
{
line-height
:
70rpx
;
line-height
:
70rpx
;
...
@@ -442,6 +272,8 @@
...
@@ -442,6 +272,8 @@
.uni-select
{
.uni-select
{
height
:
108rpx
;
height
:
108rpx
;
height
:
110rpx
;
line-height
:
110rpx
;
}
}
}
}
...
@@ -492,129 +324,24 @@
...
@@ -492,129 +324,24 @@
padding-right
:
15rpx
;
padding-right
:
15rpx
;
background
:
#FFFFFF
;
background
:
#FFFFFF
;
border-radius
:
10rpx
;
border-radius
:
10rpx
;
overflow
:
hidden
;
.sumary-title
{
position
:
relative
;
padding-left
:
50rpx
;
font-size
:
32rpx
;
color
:
#007AFF
;
margin-top
:
20rpx
;
margin-bottom
:
20rpx
;
&
:before
{
content
:
''
;
width
:
16rpx
;
height
:
16rpx
;
background
:
#007AFF
;
border-radius
:
50%
;
position
:
absolute
;
left
:
20rpx
;
top
:
50%
;
transform
:
translateY
(
-50%
);
}
}
}
.logo-wrapper
{
display
:
flex
;
justify-content
:
center
;
image
{
width
:
366rpx
;
height
:
432rpx
;
margin
:
0
auto
;
}
}
}
// ._title {
// // border: 1px solid lightgray;
// height: 70rpx;
// text-align: center;
// line-height: 70rpx;
// margin-right: 10rpx;
// font-size: 32rpx;
// font-weight: bold;
// color: #000000;
// }
._content
{
// border: 1px solid lightgray;
height
:
70rpx
;
line-height
:
70rpx
;
padding-left
:
20rpx
;
position
:
relative
;
// &:after {
// content: 'm';
// width: 70rpx;
// height: 70rpx;
// // border-left: 1px solid lightgray;
// position: absolute;
// right: -12rpx;
// top: 0;
// text-align: center;
// line-height: 70rpx;
// font-size: 29rpx;
// color: #000000;
// }
}
.funcBtn
{
.funcBtn
{
width
:
28
0rpx
;
width
:
56
0rpx
;
height
:
7
0
rpx
;
height
:
7
4
rpx
;
line-height
:
7
0
rpx
;
line-height
:
7
4
rpx
;
background
:
#007AFF
;
background
:
#007AFF
;
border-radius
:
3
5
rpx
;
border-radius
:
3
7
rpx
;
text-align
:
center
;
text-align
:
center
;
font-size
:
29
rpx
;
font-size
:
32
rpx
;
color
:
#FFFFFF
;
color
:
#FFFFFF
;
border
:
2px
solid
#007AFF
;
margin
:
33rpx
auto
;
// border: 2px solid #007AFF;
&
.end
{
background
:
#FFFFFF
;
;
color
:
#007AFF
;
}
&
.loading
{
&
.loading
{
opacity
:
0
.5
;
opacity
:
0
.5
;
}
}
}
}
.footer-wrapper
{
display
:
flex
;
justify-content
:
space-around
;
margin-top
:
50rpx
;
}
.unaffix
{
&
:after
{
display
:
none
;
}
}
/**
* 蓝牙连接互动相关
*/
page
{
color
:
#333
;
}
/*划线 */
.line
{
background-color
:
blue
;
height
:
5px
;
width
:
100%
;
}
.div
{
background-color
:
white
;
height
:
10px
;
width
:
10px
;
}
.blank
{
height
:
150rpx
;
}
</
style
>
</
style
>
\ No newline at end of file
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