Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Z
zc-qiyewx-app
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨勇飞
zc-qiyewx-app
Commits
1b80516b
Commit
1b80516b
authored
Mar 24, 2025
by
刘杰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
企业微信前端
parent
10e13acc
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
2012 additions
and
1479 deletions
+2012
-1479
apiList.js
api/apiList.js
+23
-2
bs-uploader.vue
components/baseComponents/bs-uploader/bs-uploader.vue
+19
-1
bs-userPrivacy.vue
components/baseComponents/bs-userPrivacy/bs-userPrivacy.vue
+1
-1
bossCard.vue
components/bossCard/bossCard.vue
+23
-20
dailyReportList.vue
components/dailyReportList/dailyReportList.vue
+17
-13
orderInsertContent.vue
components/orderInsertContent/orderInsertContent.vue
+1189
-926
orderQueryContent.vue
components/orderQueryContent/orderQueryContent.vue
+296
-279
qwSelectPicker.vue
components/qwSelectPicker/qwSelectPicker.vue
+140
-116
main.js
main.js
+2
-2
pages.json
pages.json
+10
-2
dailyReport.vue
pages/dailyReport/dailyReport.vue
+55
-16
dailyReportCreate.vue
pages/dailyReportCreate/dailyReportCreate.vue
+164
-55
index.vue
pages/index/index.vue
+51
-25
login.vue
pages/login/login.vue
+11
-15
config.js
publicConfig/config.js
+0
-5
util.js
utils/util.js
+11
-1
No files found.
api/apiList.js
View file @
1b80516b
...
...
@@ -9,6 +9,24 @@ import {
}
from
"../publicConfig/config"
;
export
function
createNewOrderRelease
(
data
)
{
return
Request
(
`/api/entry/{mini}/m-action/biz.tm.OrderRelease.service.createNewOrderRelease`
,
data
)
}
export
function
getOptionEnumMd
(
type
)
{
return
Request
(
`/api/query/choice.
${
type
}
/action/auto_choice`
)
}
export
function
getOptionEnumThing
(
data
)
{
return
Request
(
`/api/query/biz.md.Product.md_product_d001_auto/auto`
,
data
)
}
export
function
queryCustomerAll
(
data
)
{
return
Request
(
`/api/query/biz.md.Customer.md_customer_enable_search1/paging`
,
data
)
}
export
function
queryDailyReport
(
data
)
{
return
Request
(
`/api/query/biz.zcgyl.DailyReport.zcgyl_dailyreport_boss_search/paging`
,
data
)
}
export
function
searchBossCard
(
data
)
{
return
Request
(
`/api/entry/{mini}/m-action/biz.tm.OrderRelease.service.searchBossCard`
,
data
)
...
...
@@ -33,6 +51,9 @@ export function BindCompany(data) {
export
function
selectDailyReport
(
data
)
{
return
Request
(
`/api/entry/{mini}/m-action/biz.zcgyl.DailyReport.service.selectDailyReport`
,
data
)
}
export
function
queryByStaffCode
(
data
)
{
return
Request
(
`/api/entry/{mini}/m-action/biz.zcgyl.DailyReport.service.queryByStaffCode`
,
data
)
}
export
function
selectDailyReportList
(
data
)
{
return
Request
(
`/api/query/biz.zcgyl.DailyReport.zcgyl_dailyreport_search/paging`
,
data
)
}
...
...
@@ -413,14 +434,14 @@ export function GetBindCompanyInfo(data) {
export
function
queryOriginalAddress
(
data
)
{
return
Request
(
`/api/entry/{mini}/m-action/biz.md.Address.md_address_
m
_search.paging`
,
`/api/entry/{mini}/m-action/biz.md.Address.md_address_
admin
_search.paging`
,
data
);
}
export
function
queryDestinationAddress
(
data
)
{
return
Request
(
`/api/entry/{mini}/m-action/biz.md.Address.md_address_search.paging`
,
`/api/entry/{mini}/m-action/biz.md.Address.md_address_
admin_
search.paging`
,
data
);
}
...
...
components/baseComponents/bs-uploader/bs-uploader.vue
View file @
1b80516b
...
...
@@ -2,7 +2,8 @@
<view
class=
"uploade-file"
>
<view
class=
"uploade-title"
v-if=
"uploadTitle"
>
<text
style=
"color: #f56c6c;position: absolute;left: 18rpx;"
v-if=
"required"
>
*
</text>
<text>
{{
uploadTitle
}}
(
{{
fileList
.
length
}}
/6)
</text>
<!--
<text>
{{
uploadTitle
}}
(
{{
fileList
.
length
}}
/6)
</text>
-->
<text
class=
"label"
><text
class=
"label-line"
></text>
{{
uploadTitle
}}
(
{{
fileList
.
length
}}
/6)
</text>
</view>
<view
class=
"fileList flex flex_wrap"
>
<view
class=
"previewImages"
v-for=
"(item,index) in fileDetailList"
:key=
"index"
>
...
...
@@ -107,6 +108,23 @@
font-size
:
28rpx
;
color
:
#8C8C8C
;
margin-bottom
:
24rpx
;
.label
{
display
:
flex
;
align-items
:
center
;
font-size
:
14px
;
color
:
#333
;
margin-bottom
:
8px
;
.label-line
{
display
:
inline-block
;
width
:
3px
;
height
:
14px
;
background-color
:
#2E75E6
;
margin-right
:
8px
;
border-radius
:
2px
;
}
}
}
.fileList
{
...
...
components/baseComponents/bs-userPrivacy/bs-userPrivacy.vue
View file @
1b80516b
...
...
@@ -4,7 +4,7 @@
<u-checkbox
name=
"userAuth"
shape=
"circle"
size=
"44"
iconSize=
'44'
@
change=
"onChange"
/>
</u-checkbox-group>
<text>
请您详细阅读并授权
</text>
<text
class=
"special-text"
@
click=
"onVisible(true)"
>
运匠
用户协议
</text>
<text
class=
"special-text"
@
click=
"onVisible(true)"
>
兆驰
用户协议
</text>
<text>
和
</text>
<text
class=
"special-text"
@
click=
"onVisible(true)"
>
隐私政策
</text>
...
...
components/bossCard/bossCard.vue
View file @
1b80516b
...
...
@@ -64,16 +64,16 @@
<!-- 右侧数据统计 -->
<view
class=
"statistics"
>
<view
class=
"stat-row"
v-if=
"staffKind==='simulatedBoss'"
>
<view
class=
"stat-row"
v-if=
"staffKind==='simulatedBoss'
||staffKind==='Leader'
"
>
<view
class=
"stat-item"
>
<view
class=
"stat-block green "
>
<text
class=
"number"
>
{{
currentSearchData
.
overview
.
stats
.
shippingCount
}}
</text>
<text
class=
"number"
>
{{
currentSearchData
.
overview
.
stats
.
shippingCount
||
0
}}
</text>
<text
class=
"rate"
>
运输中
</text>
</view>
</view>
<view
class=
"stat-item"
>
<view
class=
"stat-block green "
>
<text
class=
"number"
>
{{
currentSearchData
.
overview
.
stats
.
positionCount
}}
</text>
<text
class=
"number"
>
{{
currentSearchData
.
overview
.
stats
.
positionCount
||
0
}}
</text>
<text
class=
"rate"
>
开启定位
</text>
</view>
</view>
...
...
@@ -163,10 +163,6 @@
<!-- 应付模块 -->
<view
class=
"finance-block"
>
<view
class=
"finance-item payable"
>
<!-- 左侧图标 -->
<!--
<view
class=
"left-section"
>
<view
class=
"icon"
>
¥
</view>
</view>
-->
<view
class=
"left-section"
>
<view
class=
"icon"
>
<img
src=
"../../static/img/boss/zhichu.png"
alt=
"图标"
/>
...
...
@@ -217,7 +213,7 @@
</view>
<!-- 模拟老板对比图表区域 -->
<view
class=
"chart-container"
v-if=
"
staffKind==='boss'
"
>
<view
class=
"chart-container"
v-if=
"
isBoss
"
>
<view
class=
"chart-header"
>
<text
class=
"chart-title"
>
模拟老板对比
</text>
<view
class=
"sort-buttons"
>
...
...
@@ -293,10 +289,11 @@
</view>
<view
class=
"table-body"
>
<view
class=
"table-row"
v-for=
"(item, index) in currentData.tableData"
:key=
"index"
>
<view
v-if=
"staffKind==='boss'"
class=
"table-cell fixed-column"
@
click=
"clickSimulatedBoss(item.boss)"
>
<view
v-if=
"isBoss"
class=
"table-cell fixed-column"
@
click=
"clickSimulatedBoss(item.boss)"
>
<a
:class=
"
{'active': isActive(item.boss)}">
{{
item
.
boss
}}
</a>
</view>
<view
v-if=
"
staffKind!=='boss'
"
class=
"table-cell fixed-column"
>
<view
v-if=
"
!isBoss
"
class=
"table-cell fixed-column"
>
{{
item
.
boss
}}
</view>
<view
class=
"table-cell"
>
{{
item
.
receivable
}}
</view>
...
...
@@ -314,7 +311,7 @@
</view>
<!-- 模拟老板项目运营表格 -->
<view
class=
"table-container"
v-if=
"
staffKind==='boss'
&& activeBoss !=='' "
>
<view
class=
"table-container"
v-if=
"
isBoss
&& activeBoss !=='' "
>
<text
class=
"table-title"
>
模拟老板项目运营情况
</text>
<scroll-view
scroll-x
class=
"table-scroll"
@
touchmove
.
stop
>
<view
class=
"table"
>
...
...
@@ -393,7 +390,8 @@
showOrderEvent
:
false
,
tableName
:
""
,
bossProject
:
[],
activeBoss
:
''
activeBoss
:
''
,
isBoss
:
false
}
},
computed
:
{
...
...
@@ -426,14 +424,19 @@
}
},
async
mounted
()
{
await
this
.
initData
()
this
.
staffKind
=
uni
.
getStorageSync
(
`uc_staff_kind`
);
if
(
this
.
staffKind
===
'
boss'
)
{
this
.
initLeaderChart
()
if
(
this
.
staffKind
===
'
President'
||
this
.
staffKind
===
'VicePresident'
||
this
.
staffKind
===
'PresidentHelp'
||
this
.
staffKind
===
'Leader'
)
{
this
.
tableName
=
'模拟老板'
this
.
isBoss
=
true
}
else
{
this
.
tableName
=
'项目'
}
await
this
.
initData
()
if
(
this
.
isBoss
)
{
this
.
initLeaderChart
()
}
this
.
initProjectChart
()
// 在 Vue 的下一个 DOM 更新循环中执行
...
...
@@ -444,7 +447,7 @@
this
.
loading
=
false
}
// 对领导图表进行排序,按应收数据排序
if
(
this
.
staffKind
===
'boss'
)
{
if
(
this
.
isBoss
)
{
this
.
sortChart
(
'receivable'
,
'myLeaderChart'
)
}
// 对项目图表进行排序,按应收数据排序
...
...
@@ -466,7 +469,7 @@
console
.
log
(
"name"
+
name
);
this
.
activeBoss
=
name
;
this
.
staffKind
=
uni
.
getStorageSync
(
'uc_staff_kind'
);
if
(
this
.
staffKind
===
'boss'
)
{
if
(
this
.
isBoss
)
{
this
.
bossProject
=
[]
const
data
=
{
"aux"
:
{
...
...
@@ -836,7 +839,7 @@
// 更新图表数据
this
.
updateChartSeries
()
if
(
this
.
staffKind
===
'boss'
)
{
if
(
this
.
isBoss
)
{
this
.
sortChart
(
'receivable'
,
'myLeaderChart'
)
}
// 对项目图表进行排序,按应收数据排序
...
...
@@ -986,7 +989,7 @@
}
},
updateChartSeries
()
{
if
(
this
.
staffKind
===
'boss'
)
{
if
(
this
.
isBoss
)
{
this
.
myLeaderChart
.
setOption
({
series
:
[{
data
:
this
.
currentData
.
leaderChartData
.
receivable
...
...
@@ -1793,7 +1796,7 @@
}
.chart-wrapper
{
height
:
2
2
0px
;
height
:
2
5
0px
;
width
:
100%
;
padding
:
0
0
5px
0
;
min-width
:
100%
;
...
...
components/dailyReportList/dailyReportList.vue
View file @
1b80516b
...
...
@@ -5,19 +5,18 @@
<view
class=
"report-card"
v-for=
"(report, index) in dailyReportList"
:key=
"index"
>
<view
class=
"card-header"
>
<view
class=
"left"
>
<text
class=
"name"
>
汇报对象:
{{
report
.
reporterTo__name
}}
</text>
<!--
<text
class=
"status"
:class=
"report.status==='submitted' ? 'submitted' : 'unSubmitted'"
>
{{
report
.
status
===
'submitted'
?
'已提交'
:
'未提交'
}}
</text>
-->
<text
v-if=
"staffKind==='staff'"
class=
"name"
>
汇报对象:
{{
report
.
reporterTo__name
}}
</text>
<text
v-if=
"staffKind!=='staff'"
class=
"name"
>
汇报对象:老板
</text>
</view>
<text
class=
"time"
>
{{
report
.
date
||
'-'
}}
</text>
<text
class=
"time"
>
{{
report
.
date
_str
||
'-'
}}
</text>
</view>
<view
class=
"card-content"
>
<view
class=
"work-item"
>
<view
class=
"work-header"
>
<text
class=
"work-title"
>
今日重点工作
</text>
<text
class=
"work-title"
>
是否超时
</text>
</view>
<view
class=
"work-content"
>
{{
report
.
today_work
}}
</view>
<view
class=
"work-content"
>
{{
report
.
is_over_time
}}
</view>
</view>
<view
class=
"work-item"
>
<view
class=
"work-header"
>
...
...
@@ -25,6 +24,12 @@
</view>
<view
class=
"work-content"
>
{{
report
.
week_work
}}
</view>
</view>
<view
class=
"work-item"
>
<view
class=
"work-header"
>
<text
class=
"work-title"
>
今日重点工作
</text>
</view>
<view
class=
"work-content"
>
{{
report
.
today_work
}}
</view>
</view>
<view
class=
"work-item"
>
<view
class=
"work-header"
>
<text
class=
"work-title"
>
是否请假
</text>
...
...
@@ -147,7 +152,7 @@
uni
.
stopPullDownRefresh
();
const
data
=
res
.
data
.
data
.
datas
;
data
.
map
(
item
=>
{
//格式化时间
item
.
date
=
formatGMT
(
item
.
date
,
'T'
)
item
.
insert_date
=
formatGMT
(
item
.
insert_
date
,
'T'
)
})
...
...
@@ -184,21 +189,20 @@
.add-button
{
position
:
fixed
;
bottom
:
1
0px
;
bottom
:
2
0px
;
left
:
0
;
right
:
0
;
background-color
:
#2E75E6
;
background-color
:
#3278e9
;
color
:
white
;
border
:
none
;
border-radius
:
48r
px
;
border-radius
:
24
px
;
padding
:
8px
;
font-size
:
16px
;
font-weight
:
bolder
;
box-shadow
:
0
2px
8px
rgba
(
0
,
0
,
0
,
0
.2
);
cursor
:
pointer
;
z-index
:
1000
;
width
:
9
0%
;
width
:
4
0%
;
}
.add-button
:hover
{
...
...
components/orderInsertContent/orderInsertContent.vue
View file @
1b80516b
This diff is collapsed.
Click to expand it.
components/orderQueryContent/orderQueryContent.vue
View file @
1b80516b
This diff is collapsed.
Click to expand it.
components/qwSelectPicker/qwSelectPicker.vue
View file @
1b80516b
<
template
>
<view
:class=
"[(visibleType === 'transportMode.name' || visibleType ==='transportProduct.name' )? '' : 'selectPicker']"
@
touchmove
.
stop
.
prevent=
"moveHandle"
>
<u-picker
v-if=
"(visibleType === 'transportMode.name' || visibleType ==='transportProduct.name' )"
ref=
"uPicker"
keyName=
"label"
immediateChange
confirmText=
"确定"
:show=
"visible"
:title=
"PanelTitle"
:closeOnClickOverlay=
"true"
:itemHeight=
"68"
:columns=
"[pickerEnums]"
:singleIndex=
"singleIndex"
:visibleItemCount=
"visibleNum"
@
cancel=
"onCancel"
@
confirm=
"onConfirm"
@
close=
"onCancel"
/>
<view
:class=
"[(visibleType === 'transportMode.name' || visibleType ==='transportProduct.name' || visibleType ==='uc_department.name' )? '' : 'selectPicker']"
@
touchmove
.
stop
.
prevent=
"moveHandle"
>
<u-picker
v-if=
"(visibleType === 'transportMode.name' || visibleType ==='transportProduct.name'|| visibleType ==='uc_department.name' )"
ref=
"uPicker"
keyName=
"label"
immediateChange
confirmText=
"确定"
:show=
"visible"
:title=
"PanelTitle"
:closeOnClickOverlay=
"true"
:itemHeight=
"68"
:columns=
"[pickerEnums]"
:singleIndex=
"singleIndex"
:visibleItemCount=
"visibleNum"
@
cancel=
"onCancel"
@
confirm=
"onConfirm"
@
close=
"onCancel"
/>
<u-popup
v-else
:show=
"visible"
@
close=
"onCancel"
closeable
>
<u-search
placeholder=
"请输入关键字"
:value=
"keyWord"
@
change=
"changeKeyWord"
:showAction=
"false"
></u-search>
<!--
<scroll-view
scroll-y
class=
"select-list"
>
...
...
@@ -11,7 +14,8 @@
{{
item
.
label
}}
</view>
</scroll-view>
-->
<divTable
@
scrollBottom=
'scrollBottom'
@
getTextColor=
'getRedText'
@
getEdit=
'editTable'
<!-- @getTextColor='getRedText' -->
<divTable
@
scrollBottom=
'scrollBottom'
@
getEdit=
'editTable'
@
getDelete=
'deleteTable'
@
rowData=
'getRow'
:data2=
'pickerEnums'
:head=
'dataProcess()'
:tableHeight=
'"calc(60vh-30px)"'
>
</divTable>
...
...
@@ -21,130 +25,150 @@
</
template
>
<
script
>
export
default
{
options
:
{
styleIsolation
:
'shared'
},
data
()
{
return
{
singleIndex
:
0
//默认选中项
,
};
},
props
:
{
visible
:
{
type
:
Boolean
,
default
:
false
export
default
{
options
:
{
styleIsolation
:
'shared'
},
pickerEnums
:
{
//选择项枚举
type
:
Array
,
default
:
[]
},
PanelTitle
:
{
//面板标题
type
:
String
,
default
:
""
},
visibleNum
:
{
type
:
Number
,
default
:
3
},
visibleType
:
{
type
:
String
,
default
:
''
},
keyWord
:
{
type
:
String
,
default
:
''
}
},
methods
:
{
moveHandle
()
{
},
//确定
onConfirm
(
value
)
{
if
((
this
.
visibleType
===
'transportMode.name'
||
this
.
visibleType
===
'transportProduct.name'
)){
this
.
$emit
(
'onConfirm'
,
value
.
value
[
0
].
value
)
}
else
{
this
.
$emit
(
'onConfirm'
,
value
)
}
data
()
{
return
{
singleIndex
:
0
//默认选中项
,
};
},
getRow
(
row
)
{
this
.
onConfirm
(
row
.
value
)
},
//设置默认值
setDefaultValue
(
index
)
{
this
.
singleIndex
=
index
},
//取消
onCancel
()
{
this
.
$emit
(
'onVisible'
)
},
changeKeyWord
(
keyWord
)
{
this
.
$emit
(
'changeKeyWord'
,
keyWord
)
props
:
{
visible
:
{
type
:
Boolean
,
default
:
false
},
pickerEnums
:
{
//选择项枚举
type
:
Array
,
default
:
[]
},
PanelTitle
:
{
//面板标题
type
:
String
,
default
:
""
},
visibleNum
:
{
type
:
Number
,
default
:
3
},
visibleType
:
{
type
:
String
,
default
:
''
},
keyWord
:
{
type
:
String
,
default
:
''
}
},
dataProcess
()
{
let
type
=
this
.
visibleType
if
(
type
.
includes
(
'destination.name'
))
{
return
[
{
name
:
'系统代码'
,
key
:
'code'
},
{
name
:
'名称'
,
key
:
'name'
}
]
}
else
if
(
type
.
includes
(
'original.name'
))
{
return
[
{
name
:
'系统代码'
,
key
:
'code'
},
{
name
:
'名称'
,
key
:
'name'
}
]
}
else
if
(
type
.
includes
(
'project.name'
))
{
return
[
{
name
:
'系统代码'
,
key
:
'code'
},
{
name
:
'名称'
,
key
:
'name'
},
{
name
:
'外部代码'
,
key
:
'referCode'
},
{
name
:
'所属组织'
,
key
:
'organization.secondParty.name'
},
{
name
:
'所属组织代码'
,
key
:
'organization.secondParty.code'
},
]
}
else
if
(
type
.
includes
(
'thing.code'
))
{
return
[
{
name
:
'系统代码'
,
key
:
'code'
},
{
name
:
'名称'
,
key
:
'name'
},
{
name
:
'外部代码'
,
key
:
'referCode'
},
{
name
:
'价格'
,
key
:
'price'
},
]
methods
:
{
moveHandle
()
{
},
//确定
onConfirm
(
value
)
{
if
((
this
.
visibleType
===
'transportMode.name'
||
this
.
visibleType
===
'transportProduct.name'
||
this
.
visibleType
===
'uc_department.name'
))
{
this
.
$emit
(
'onConfirm'
,
value
.
value
[
0
].
value
)
}
else
{
this
.
$emit
(
'onConfirm'
,
value
)
}
},
getRow
(
row
)
{
this
.
onConfirm
(
row
.
value
)
},
//设置默认值
setDefaultValue
(
index
)
{
this
.
singleIndex
=
index
},
//取消
onCancel
()
{
this
.
$emit
(
'onVisible'
)
},
scrollBottom
(){
console
.
log
(
"scrollBottom"
)
},
changeKeyWord
(
keyWord
)
{
this
.
$emit
(
'changeKeyWord'
,
keyWord
)
},
dataProcess
()
{
let
type
=
this
.
visibleType
if
(
type
.
includes
(
'destinationAddress.fullName'
))
{
return
[{
name
:
'系统代码'
,
key
:
'code'
},
{
name
:
'名称'
,
key
:
'fullName'
}
]
}
else
if
(
type
.
includes
(
'originalAddress.fullName'
))
{
return
[{
name
:
'系统代码'
,
key
:
'code'
},
{
name
:
'名称'
,
key
:
'fullName'
}
]
}
else
if
(
type
.
includes
(
'customer.name'
))
{
return
[{
name
:
'系统代码'
,
key
:
'code'
},
{
name
:
'名称'
,
key
:
'name'
}
]
}
else
if
(
type
.
includes
(
'thing.code'
))
{
return
[
{
name
:
'名称'
,
key
:
'name'
},
{
name
:
'货物名称'
,
key
:
'category__name'
},
]
}
}
}
}
}
</
script
>
<
style
lang=
"scss"
>
.selectPicker
{
.selectPicker
{
/
deep
/
.u-transition
{
height
:
60vh
;
}
/
deep
/
.u-transition
{
height
:
60vh
;
}
.select-list
{
height
:
calc
(
60vh
-
30px
);
}
.select-list
{
height
:
calc
(
60vh
-
30px
);
}
/
deep
/
.u-search
{
margin-top
:
30rpx
!
important
;
/
deep
/
.u-search
{
margin-top
:
30rpx
!
important
;
}
}
}
</
style
>
</
style
>
\ No newline at end of file
main.js
View file @
1b80516b
...
...
@@ -6,9 +6,9 @@ import Vue from "vue";
// 引入uView并配置
import
uView
from
"uview-ui"
;
Vue
.
use
(
uView
);
import
VConsole
from
"vconsole"
;
//
import VConsole from "vconsole";
// 只有在开发环境下才加载vconsole
new
VConsole
();
//
new VConsole();
// 修改uView内置配置方案: 需要在Vue.use(uView)之后执行,目前只建议修改config、props属性, 除非您清楚知道自己的修改所带来的影响。
uni
.
$u
.
setConfig
({
// 修改$u.config对象的属性
...
...
pages.json
View file @
1b80516b
...
...
@@ -53,12 +53,20 @@
"disableScroll"
:
true
}
},
{
"path"
:
"pages/dailyReport/dailyReportHistory"
,
"style"
:
{
"navigationBarTitleText"
:
"查看日报"
,
"enablePullDownRefresh"
:
false
,
"disableScroll"
:
false
}
},
{
"path"
:
"pages/dailyReportCreate/dailyReportCreate"
,
"style"
:
{
"navigationBarTitleText"
:
"填写日报"
,
"enablePullDownRefresh"
:
false
,
"disableScroll"
:
tru
e
"disableScroll"
:
fals
e
}
}
],
...
...
@@ -68,7 +76,7 @@
}],
"globalStyle"
:
{
"navigationBarTextStyle"
:
"white"
,
"navigationBarTitleText"
:
"
运匠
运输管理平台"
,
"navigationBarTitleText"
:
"
兆驰
运输管理平台"
,
"navigationBarBackgroundColor"
:
"#2E75E6"
,
"backgroundColor"
:
"#fff"
,
"app-plus"
:
{
...
...
pages/dailyReport/dailyReport.vue
View file @
1b80516b
...
...
@@ -31,8 +31,14 @@
<view
class=
"card-header"
>
<view
class=
"left"
>
<text
class=
"name"
>
{{
report
.
reporter
}}
</text>
<text
class=
"status"
:class=
"report.status==='submitted' ? 'submitted' : 'unSubmitted'"
>
{{
report
.
status
===
'submitted'
?
'已提交'
:
'未提交'
}}
<text
v-if=
"report.status==='submitted'"
class=
"status"
:class=
"report.isOverTime==='准时' ? 'submitted' : 'unSubmitted'"
>
{{
report
.
isOverTime
}}
</text>
<text
v-if=
"report.status!=='submitted'"
class=
"status"
:class=
"report.status==='submitted' ? 'submitted' : 'unSubmitted'"
>
{{
report
.
status
===
'submitted'
?
''
:
'未提交'
}}
</text>
</view>
<text
class=
"time"
>
{{
report
.
date
||
'-'
}}
</text>
...
...
@@ -40,21 +46,22 @@
<view
class=
"card-content"
v-if=
"report.status==='submitted'"
>
<view
class=
"work-item"
>
<view
class=
"work-header"
>
<text
class=
"work-title"
>
今日
重点工作
</text>
<text
class=
"work-title"
>
本周
重点工作
</text>
</view>
<view
class=
"work-content"
>
{{
report
.
today
Work
}}
</view>
<view
class=
"work-content"
>
{{
report
.
week
Work
}}
</view>
</view>
<view
class=
"work-item"
>
<view
class=
"work-header"
>
<text
class=
"work-title"
>
本周
重点工作
</text>
<text
class=
"work-title"
>
今日
重点工作
</text>
</view>
<view
class=
"work-content"
>
{{
report
.
week
Work
}}
</view>
<view
class=
"work-content"
>
{{
report
.
today
Work
}}
</view>
</view>
</view>
</view>
<view
style=
"height: 10vh;"
></view>
<view
class=
"search-more"
@
click=
"selectHistory()"
><text
class=
"search-more-text"
>
查看更多
</text></view>
</scroll-view>
</view>
</
template
>
...
...
@@ -85,19 +92,23 @@
this
.
onReload
()
},
methods
:
{
selectHistory
()
{
uni
.
navigateTo
({
url
:
'/pages/dailyReport/dailyReportHistory'
});
},
selectReport
(
status
)
{
this
.
searchStatus
=
status
this
.
dailyReportList
=
[]
this
.
initData
()
},
initData
()
{
this
.
staffCode
=
uni
.
getStorageSync
(
'staffCode'
);
this
.
staffKind
=
uni
.
getStorageSync
(
'uc_staff_kind'
);
this
.
commonName
=
uni
.
getStorageSync
(
'commonName'
);
console
.
log
(
"this.staffCode"
+
this
.
staffCode
)
console
.
log
(
"this.staffKind"
+
this
.
staffKind
)
console
.
log
(
"this.commonName"
+
this
.
commonName
)
console
.
log
(
"this.staffCode"
+
this
.
staffCode
)
console
.
log
(
"this.staffKind"
+
this
.
staffKind
)
console
.
log
(
"this.commonName"
+
this
.
commonName
)
console
.
log
(
'获取到的commonName:'
,
this
.
commonName
);
...
...
@@ -145,11 +156,39 @@
</
script
>
<
style
lang=
"scss"
>
html
,
body
{
height
:
100%
;
/* 确保 html 和 body 高度为 100% */
margin
:
0
;
/* 去掉默认的 margin */
overflow
:
hidden
;
/* 禁用滚动条 */
html
,
body
{
height
:
100%
;
/* 确保 html 和 body 高度为 100% */
margin
:
0
;
/* 去掉默认的 margin */
overflow
:
hidden
;
/* 禁用滚动条 */
}
.search-more
{
height
:
10vh
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
// &:hover {
// background: #e6f7ff;
// /* 鼠标悬停时的背景色 */
// transform: scale(1.05);
// /* 鼠标悬停时的放大效果 */
// }
}
.search-more-text
{
color
:
#5500ff
;
&
:hover
{
/* 鼠标悬停时的背景色 */
transform
:
scale
(
1
.05
);
/* 鼠标悬停时的放大效果 */
}
}
.daily-report
{
padding
:
15px
;
background
:
#f5f7fa
;
...
...
pages/dailyReportCreate/dailyReportCreate.vue
View file @
1b80516b
This diff is collapsed.
Click to expand it.
pages/index/index.vue
View file @
1b80516b
...
...
@@ -9,15 +9,23 @@
</view>
</view>
<view
class=
"content"
>
<view
v-if=
"currentShow === 'orderQuery'"
>
<orderQueryContent></orderQueryContent>
</view>
<view
v-if=
"currentShow === 'orderCreate'"
>
<scroll-view
scroll-y=
"true"
style=
"height: calc(100vh - 50px);"
>
<orderInsertContent></orderInsertContent>
</scroll-view>
</view>
<view
v-if=
"
currentShow ===
'bossCard' && uc_staff_kind!==''"
>
<view
v-if=
"
currentShow===
'bossCard' && uc_staff_kind!==''"
>
<bossCard></bossCard>
</view>
<!--
<view
v-if=
"
currentShow ===
'dailyReportCreate' && uc_staff_kind!=='boss'"
>
<!--
<view
v-if=
"
currentShow===
'dailyReportCreate' && uc_staff_kind!=='boss'"
>
<dailyReportCreate></dailyReportCreate>
</view>
-->
<view
v-if=
"
currentShow ===
'dailyReport'"
>
<view
v-if=
"
currentShow===
'dailyReport'"
>
<dailyReportList></dailyReportList>
</view>
</view>
...
...
@@ -50,23 +58,24 @@
topUserList
:
[],
}
},
onLoad
()
{
onLoad
(
o
)
{
this
.
uc_staff_kind
=
uni
.
getStorageSync
(
`uc_staff_kind`
);
this
.
updateTopUserList
()
},
onShow
()
{
uni
.
$on
(
'executeChoiceItem'
,
(
component
)
=>
{
console
.
log
(
'收到切换组件事件:'
,
component
);
// 调试日志
this
.
choiceItem
(
component
);
});
},
onUnload
()
{
uni
.
$off
(
'executeChoiceItem'
);
this
.
updateTopUserList
(
o
.
currentShow
)
},
//onShow() {
// uni.$on('executeChoiceItem', (component)=> {
// console.log('收到切换组件事件:', component); // 调试日志
// this.choiceItem(component);
// });
// },
// onUnload() {
// uni.$off('executeChoiceItem');
// },
methods
:
{
updateTopUserList
()
{
updateTopUserList
(
o
)
{
if
(
this
.
uc_staff_kind
===
'boss'
)
{
if
(
this
.
uc_staff_kind
===
'President'
||
this
.
uc_staff_kind
===
'VicePresident'
||
this
.
uc_staff_kind
===
'PresidentHelp'
||
this
.
uc_staff_kind
===
'Leader'
)
{
this
.
currentShow
=
'bossCard'
this
.
topUserList
=
[{
name
:
'运营监控'
,
...
...
@@ -74,15 +83,20 @@
url
:
'/pages/index/index'
},
];
}
else
if
(
this
.
uc_staff_kind
===
'simulatedBoss'
)
{
this
.
currentShow
=
'dailyReport'
if
(
o
)
{
this
.
currentShow
=
'dailyReport'
}
else
{
this
.
currentShow
=
'bossCard'
}
this
.
topUserList
=
[{
name
:
'运营监控'
,
key
:
'bossCard'
,
url
:
'/pages/index/index'
},
{
name
:
'
查看
日报'
,
name
:
'
个人
日报'
,
key
:
'dailyReport'
,
url
:
'/pages/index/index'
},
...
...
@@ -91,10 +105,20 @@
}
else
{
this
.
currentShow
=
'dailyReport'
this
.
topUserList
=
[{
name
:
'查看日报'
,
key
:
'dailyReport'
,
url
:
'/pages/index/index'
},
]
name
:
'个人日报'
,
key
:
'dailyReport'
,
url
:
'/pages/index/index'
},
{
name
:
'订单查询'
,
key
:
'orderQuery'
,
url
:
'/pages/index/index'
},
{
name
:
'订单创建'
,
key
:
'orderCreate'
,
url
:
'/pages/index/index'
},
]
}
},
...
...
@@ -173,7 +197,7 @@
});
// if (this.isCarrier) {
//
this.currentShow = "waybillQuery"
// this.currentShow = "waybillQuery"
// }
})
},
...
...
@@ -208,11 +232,13 @@
userId
:
item
.
userId
}
}).
then
(
res
=>
{
console
.
log
(
'7777777'
,
item
,
item
.
userId
)
console
.
log
(
'7777777'
,
item
,
item
.
userId
)
if
(
res
.
data
.
data
.
isCarrier
)
{
this
.
isCarrier
=
true
;
this
.
currentShow
=
"wayBillQuery"
;
uni
.
setStorageSync
(
"companyId"
,
res
.
data
uni
.
setStorageSync
(
"companyId"
,
res
.
data
.
data
.
company
)
}
})
...
...
pages/login/login.vue
View file @
1b80516b
<
template
>
<view
class=
"content_box flex_col"
:style=
"
{ backgroundImage: `url(${loginBg})` }">
<view
class=
"primary-description"
>
<!--
<view
class=
"container-title flex_cen"
>
TMS运输管理系统
</view>
<view
class=
"container-subTitle flex_cen"
>
兆驰供应链
</view>
-->
</view>
<!-- 用户信息录入 -->
<view
class=
"user-info flex_center"
>
<u-form
:model=
"formData"
ref=
"myForm"
errorType=
'tost'
>
<template>
<u-form-item
prop=
"userName"
>
<u-input
type=
"text"
v-model=
"formData.userName"
placeholder=
"请输入账号"
/>
...
...
@@ -26,7 +20,7 @@
<u-checkbox-group
placement=
"column"
@
change=
"onChanges"
>
<u-checkbox
:checked=
"isChecked"
iconSize=
"30rpx"
shape=
"square"
size=
"20spx"
/>
</u-checkbox-group>
<text
style=
"color:
#d5d5d6
;font-size: 18px;"
>
记住密码
</text>
<text
style=
"color:
black
;font-size: 18px;"
>
记住密码
</text>
</view>
</view>
...
...
@@ -90,11 +84,11 @@
if
(
isMobile
)
{
console
.
log
(
"当前设备为手机或平板"
);
// 在这里执行手机端的逻辑
this
.
loginBg
=
'static/img/bg/
souye-bg.jp
g'
this
.
loginBg
=
'static/img/bg/
top.pn
g'
}
else
{
console
.
log
(
"当前设备为电脑"
);
// 在这里执行电脑端的逻辑
this
.
loginBg
=
'static/img/bg/
loginBg
.png'
this
.
loginBg
=
'static/img/bg/
top
.png'
}
this
.
projectMini
=
getApp
().
globalData
.
projectMini
...
...
@@ -258,6 +252,8 @@
let
data2
=
res
.
data
.
data
uni
.
setStorageSync
(
`staffCode`
,
data2
.
staffCode
);
uni
.
setStorageSync
(
`uc_staff_kind`
,
data2
.
uc_staff_kind
);
uni
.
setStorageSync
(
`reporterToName`
,
data2
.
reporterToName
);
uni
.
setStorageSync
(
`reporterToId`
,
data2
.
reporterToId
);
uni
.
redirectTo
({
url
:
"/pages/index/index"
,
})
...
...
@@ -298,9 +294,9 @@
height
:
100vh
;
color
:
#FFFFFF
;
letter-spacing
:
6rpx
;
background-size
:
100%
100%
;
background-size
:
100%
;
background-repeat
:
no-repeat
;
padding
:
0
32r
px
;
padding
:
140px
16
px
;
justify-content
:
space-between
;
...
...
@@ -336,13 +332,13 @@
margin-top
:
212rpx
;
/* #endif */
/* #ifdef H5 || APP-PLUS*/
margin-top
:
160r
px
;
margin-top
:
30
px
;
/* #endif */
color
:
#FFFFFF
;
color
:
black
;
font-size
:
32rpx
;
font-weight
:
bolder
;
border-radius
:
48rpx
;
background
:
linear-gradient
(
90deg
,
#
2E75E6
0%
,
#5E58EE
100%
);
//
border-radius: 48rpx;
background
:
linear-gradient
(
90deg
,
#
FCC800
0%
,
#FCC800
100%
);
border
:
none
!
important
;
margin-bottom
:
20px
;
...
...
publicConfig/config.js
View file @
1b80516b
...
...
@@ -4,11 +4,6 @@
2. 打包生产模式: 小程序切换url; H5切换ENV_MODEL
*/
let
BASEURL
=
{
// url: "https://miniapp.logwirecloud.com", //TMS
// url: 'http://122.9.90.247:8092' //YMS
// url: 'http://192.168.1.199:7080' //唐浩然
// url: 'http://192.168.0.230:8080' // xiaohan
// url: "https://botms-demo.logwirecloud.com",
// url: "http://localhost:8083", //开发
// url: "http://122.112.220.204:8089", //开发
url
:
"https://stms.bjzc-scs.com"
,
//生产
...
...
utils/util.js
View file @
1b80516b
...
...
@@ -89,10 +89,20 @@ function deepCopy(obj) {
return
obj
;
}
}
const
dateTransformYMDhms
=
(
date
)
=>
{
const
Y
=
date
.
getFullYear
()
const
M
=
date
.
getMonth
()
+
1
const
D
=
date
.
getDate
()
const
h
=
date
.
getHours
()
const
m
=
date
.
getMinutes
()
const
s
=
date
.
getSeconds
()
return
{
Y
,
M
,
D
,
h
,
m
,
s
}
}
module
.
exports
=
{
formatTime
,
getImgBase64
,
formatGMT
,
deepCopy
deepCopy
,
dateTransformYMDhms
}
\ 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