This commit is contained in:
weipengfei 2023-08-22 16:08:03 +08:00
commit 114348255a
15 changed files with 2233 additions and 1758 deletions

57
App.vue
View File

@ -4,28 +4,6 @@
// #endif // #endif
export default { export default {
onLaunch: async function() { onLaunch: async function() {
const audioContext = uni.createInnerAudioContext()
//
audioContext.src = './static/mp3/order.mp3'
let noticeArr = []
//
//#ifdef APP-PLUS
jpushModule.addNotificationListener(res => {
if (!noticeArr.includes(res.messageID)) {
console.log(res.messageID)
audioContext.play()
noticeArr.push(res.messageID)
console.log("app的")
uni.vibrateLong({
success: function() {
console.log('success');
}
});
}
})
// #endif
console.log('App Launch') console.log('App Launch')
try { try {
if (!this.$store.state.app.token) uni.redirectTo({ if (!this.$store.state.app.token) uni.redirectTo({
@ -49,20 +27,29 @@
// }) // })
}, },
onShow: function() { onShow: function() {
const audioContext = uni.createInnerAudioContext()
//
audioContext.src = './static/mp3/order.mp3'
let noticeArr = []
//
//#ifdef APP-PLUS
jpushModule.addNotificationListener(res => {
if (!noticeArr.includes(res.messageID)) {
console.log(res.messageID)
audioContext.play()
noticeArr.push(res.messageID)
console.log("app的")
uni.vibrateLong({
success: function() {
console.log('success');
}
});
}
})
// #endif
console.log('App Show') console.log('App Show')
//
// const audioContext = uni.createInnerAudioContext()
// //
// audioContext.src = './static/mp3/order.mp3'
// //
// //#ifdef APP-PLUS
// jpushModule.addNotificationListener(res => {
// console.log("")
// audioContext.play()
// })
// // #endif
}, },
onHide: function() { onHide: function() {
console.log('App Hide') console.log('App Hide')

View File

@ -0,0 +1,125 @@
<template>
<view class="personnel_list">
<view class="cards">
<view class="cards_head">
<text>最后更新</text>
<text>更新档案</text>
<text>查看档案</text>
</view>
<view class="cards_content">
<view class="right">
<view class="">
<text>人员姓名 :</text>
<text> { item.name }</text>
</view>
<view class="">
<text>联系电话 :</text>
<text>{ item.phone }</text>
</view>
<view class="">
<text>所属片区 :</text>
<text> 所属片区 </text>
</view>
</view>
<view class="left">
<view class="cir">
<u--image class="u_avatar" :showLoading="true" :src="'../../static/img/public/man.png'"
width="112.28rpx" height="112.28rpx" shape="circle"></u--image>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
name: "vehicle",
data() {
return {
data: {
cardHead: ["车牌号", "车牌号", "车牌号"]
}
};
}
}
</script>
<style lang="scss">
.personnel_list {
padding: 28rpx 0;
margin-bottom: 130rpx;
.cards {
margin: 0 auto;
margin-bottom: 28rpx;
width: 694rpx;
background: #ffffff;
border-radius: 30rpx;
opacity: 1;
overflow: hidden;
// box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.cards_head {
padding: 28rpx;
background-color: $theme-oa-color;
color: white;
height: 100rpx;
display: flex;
justify-content: space-between;
}
.cards_content {
padding: 28rpx;
display: flex;
justify-content: space-between;
.left {
text-align: center;
// padding: 15rpx 25rpx;
padding-top: 20rpx;
width: 160rpx;
background-color: $theme-oa-color;
color: white;
border-radius: 40rpx;
.cir {
width: 120rpx;
height: 120rpx;
background-color: #ffffff;
margin-left: 25rpx;
border-radius: 120rpx;
position: relative;
}
}
.right {
display: flex;
flex-direction: column;
justify-content: space-between;
view {
text:nth-child(2) {
margin-left: 20rpx;
}
}
}
}
.u_avatar {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
}
</style>

View File

@ -269,14 +269,14 @@
"navigationBarTextStyle": "white" "navigationBarTextStyle": "white"
} }
}, { }, {
"path": "companySign/companySign", "path": "companySign/companySign",
"style": { "style": {
"navigationBarTitleText": "签约公司详情", "navigationBarTitleText": "签约公司详情",
"enablePullDownRefresh": true, "enablePullDownRefresh": true,
"navigationBarBackgroundColor": "#0122C7", "navigationBarBackgroundColor": "#0122C7",
"navigationBarTextStyle": "white" "navigationBarTextStyle": "white"
} }
}, { }, {
"path": "personnelDetails/personnelDetails", "path": "personnelDetails/personnelDetails",
@ -477,10 +477,28 @@
} }
}, { }, {
"path": "vehicle/vehicle", "path": "property/index",
"style": {
"navigationBarTitleText": "资产管理",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#0122C7",
"navigationBarTextStyle": "white"
}
}, {
"path": "property/chosseCompany",
"style": {
"navigationBarTitleText": "选择公司",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#0122C7",
"navigationBarTextStyle": "white"
}
}, {
"path": "property/vehicle",
"style": { "style": {
"navigationBarTitleText": "三轮车游走", "navigationBarTitleText": "三轮车游走",
"enablePullDownRefresh": false, "enablePullDownRefresh": true,
"navigationBarBackgroundColor": "#0122C7", "navigationBarBackgroundColor": "#0122C7",
"navigationBarTextStyle": "white" "navigationBarTextStyle": "white"
} }

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,12 @@
vertical-align: middle; vertical-align: middle;
/* 垂直居中对齐 */ /* 垂直居中对齐 */
} }
.lg_status1 {
color: #40bc5e;
}
.lg_status2 {
color: #ff7c32;
}
.font-bg-red, .font-bg-red,
.font_bg-red { .font_bg-red {
display: inline-block; display: inline-block;

BIN
static/img/home/ZCGL.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,2 +1,4 @@
export const companyContractType = [23,24,25,29] export const companyContractType = [23,24,25,29]
export const personnerContractType = [19,20,21,22] export const personnerContractType = [19,20,21,22]
export const companyContractType = [23, 24, 25, 29]
export const personnerContractType = [19, 20, 21, 22]

View File

@ -1,193 +1,189 @@
export const avatar = 'https://cdn.uviewui.com/uview/album/1.jpg' export const avatar = 'https://cdn.uviewui.com/uview/album/1.jpg'
export const defaultAvatar = export const defaultAvatar =
'https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132' 'https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132'
export const prefix = 'https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/' export const prefix = 'https://lihai001.oss-cn-chengdu.aliyuncs.com/public/kk/'
export const urls = [ export const urls = [
'https://cdn.uviewui.com/uview/album/1.jpg', 'https://cdn.uviewui.com/uview/album/1.jpg',
'https://cdn.uviewui.com/uview/album/2.jpg', 'https://cdn.uviewui.com/uview/album/2.jpg',
'https://cdn.uviewui.com/uview/album/3.jpg', 'https://cdn.uviewui.com/uview/album/3.jpg',
'https://cdn.uviewui.com/uview/album/4.jpg', 'https://cdn.uviewui.com/uview/album/4.jpg',
'https://cdn.uviewui.com/uview/album/7.jpg', 'https://cdn.uviewui.com/uview/album/7.jpg',
'https://cdn.uviewui.com/uview/album/6.jpg', 'https://cdn.uviewui.com/uview/album/6.jpg',
'https://cdn.uviewui.com/uview/album/5.jpg' 'https://cdn.uviewui.com/uview/album/5.jpg'
] ]
export const wenluData = [ export const wenluData = [
'gxsy/fangsahn@2x.png', 'gxsy/fangsahn@2x.png',
'gxsy/laojiao@2x.png', 'gxsy/laojiao@2x.png',
'gxsy/zbgy@2x.png' 'gxsy/zbgy@2x.png'
] ]
export const marketData = [ export const marketData = [{
{ title: '江阳区',
title: '江阳区', text: '醉美泸州 • 中国酒城',
text: '醉美泸州 • 中国酒城', src: 'gxsy/jiangyang@2x.png',
src: 'gxsy/jiangyang@2x.png', bg: 'gxsy/jiangyang@2x(1).png',
bg: 'gxsy/jiangyang@2x(1).png', code: '510502'
code: '510502' },
}, {
{ title: '龙马潭区',
title: '龙马潭区', text: '中国酒城 • 文明泸州',
text: '中国酒城 • 文明泸州', src: 'gxsy/longmatan@2x.png',
src: 'gxsy/longmatan@2x.png', bg: 'gxsy/longmatan@2x(1).png',
bg: 'gxsy/longmatan@2x(1).png', code: '510504'
code: '510504' },
}, {
{ title: '纳溪区',
title: '纳溪区', text: '山水神韵 • 醇香酒城',
text: '山水神韵 • 醇香酒城', src: 'gxsy/naxiqu@2x.png',
src: 'gxsy/naxiqu@2x.png', bg: 'gxsy/naxi@2x.png',
bg: 'gxsy/naxi@2x.png', code: '510503'
code: '510503' },
}, {
{ title: '泸县',
title: '泸县', text: '千年古县 • 宋韵龙城',
text: '千年古县 • 宋韵龙城', src: 'gxsy/luxian@2x.png',
src: 'gxsy/luxian@2x.png', bg: 'gxsy/luxian@2x(1).png',
bg: 'gxsy/luxian@2x(1).png', code: '510521'
code: '510521' },
}, {
{ title: '叙永县',
title: '叙永县', text: '康养竹乡 • 画稿叙永',
text: '康养竹乡 • 画稿叙永', src: 'gxsy/xuyongxian@2x.png',
src: 'gxsy/xuyongxian@2x.png', bg: 'gxsy/xuyong@2x.png',
bg: 'gxsy/xuyong@2x.png', code: '510524'
code: '510524' },
}, {
{ title: '古蔺县',
title: '古蔺县', text: '梦里郎酒 • 画里古蔺',
text: '梦里郎酒 • 画里古蔺', src: 'gxsy/gulinxian@2x.png',
src: 'gxsy/gulinxian@2x.png', bg: 'gxsy/jiangyang@2x(1).png',
bg: 'gxsy/jiangyang@2x(1).png', code: '510525'
code: '510525' }, {
}, { title: '合江县',
title: '合江县', text: '千年荔城 • 甜美合江',
text: '千年荔城 • 甜美合江', src: 'gxsy/hejaingxian@2x.png',
src: 'gxsy/hejaingxian@2x.png', bg: 'gxsy/hejaing@2x.png',
bg: 'gxsy/hejaing@2x.png', code: '510522'
code: '510522' }
}
] ]
export const shichangData = [ export const shichangData = [{
{ url: 'img4@2x.png',
url: 'img4@2x.png', title: 'rexiao@2x.png',
title: 'rexiao@2x.png', text: '农业生产产品'
text: '农业生产产品' },
}, {
{ url: 'img5@2x.png',
url: 'img5@2x.png', title: 'dangji@2x.png',
title: 'dangji@2x.png', text: '村名生活用品'
text: '村名生活用品' }
}
] ]
export const openList = [ export const openList = [{
{ title: '党建在线',
title: '党建在线', text: '党建资讯文章',
text: '党建资讯文章', src: 'djzx@2x.png',
src: 'djzx@2x.png', color: '#FF614D',
color: '#FF614D', pid: 295,
pid: 295, navCallBack: (pid, t, id) => {
navCallBack: (pid, t, id) => { uni.navigateTo({
uni.navigateTo({ url: `/pages/service_hall/party_building?pid=${pid}&title=${t}&village_id=${id}`
url: `/pages/service_hall/party_building?pid=${pid}&title=${t}&village_id=${id}` })
}) }
} },
}, {
{ title: '村务动态',
title: '村务动态', text: '村务信息公开',
text: '村务信息公开', src: 'cwdt@2x.png',
src: 'cwdt@2x.png', color: '#4DB896',
color: '#4DB896', pid: 300,
pid: 300, navCallBack: (pid, t, id) => {
navCallBack: (pid, t, id) => { uni.navigateTo({
uni.navigateTo({ url: `/pages/service_hall/party_building?pid=${pid}&title=${t}&village_id=${id}`
url: `/pages/service_hall/party_building?pid=${pid}&title=${t}&village_id=${id}` })
}) }
} },
}, {
{ title: '村镇新闻',
title: '村镇新闻', text: '村镇新闻资讯',
text: '村镇新闻资讯', src: 'czxw@2x.png',
src: 'czxw@2x.png', color: '#FFAA33',
color: '#FFAA33', pid: 304,
pid: 304, navCallBack: (pid, t, id) => {
navCallBack: (pid, t, id) => { uni.navigateTo({
uni.navigateTo({ url: `/pages/service_hall/list?id=${pid}&title=${t}&village_id=${id}`
url: `/pages/service_hall/list?id=${pid}&title=${t}&village_id=${id}` })
}) }
} },
}, {
{ title: '文明实践',
title: '文明实践', text: '文明创建实践',
text: '文明创建实践', src: 'wmsj@2x.png',
src: 'wmsj@2x.png', color: '#FF7A3D',
color: '#FF7A3D', pid: '',
pid: '', navCallBack: (pid, t, id) => {
navCallBack: (pid, t, id) => { uni.navigateTo({
uni.navigateTo({ url: `/pages/service_hall/opens`
url: `/pages/service_hall/opens` })
}) }
} }
}
] ]
export const quickLink = [ export const quickLink = [{
{ icon: 'scfw',
icon: 'scfw', src: 'scfw.png',
src: 'scfw.png', name: '商超服务',
name: '商超服务', url: '/pages/fast_track/production',
url: '/pages/fast_track/production', category_id: 25
category_id: 25 },
}, {
{ icon: 'nfcp',
icon: 'nfcp', src: 'nfcp.png',
src: 'nfcp.png', name: '农副产品',
name: '农副产品', url: '/pages/fast_track/production',
url: '/pages/fast_track/production', category_id: 26
category_id: 26 }, {
}, { icon: 'sczl',
icon: 'sczl', src: 'sczl.png',
src: 'sczl.png', name: '生产资料',
name: '生产资料', url: '/pages/fast_track/production',
url: '/pages/fast_track/production', category_id: 22
category_id: 22 }, {
}, { icon: 'shfw',
icon: 'shfw', src: 'shfw.png',
src: 'shfw.png', name: '生活服务',
name: '生活服务', // url: '/pages/fast_track/service_life',
// url: '/pages/fast_track/service_life', url: '/pages/fast_track/production',
url: '/pages/fast_track/production', category_id: 23
category_id: 23 }, {
}, { icon: 'hbxs',
icon: 'hbxs', src: 'hbxs.png',
src: 'hbxs.png', name: '红白喜事',
name: '红白喜事', // url: '/pages/fast_track/red_white_thing',
// url: '/pages/fast_track/red_white_thing', url: '/pages/fast_track/production',
url: '/pages/fast_track/production', category_id: 21
category_id: 21 }, {
}, { icon: 'wyly',
icon: 'wyly', src: 'wyly.png',
src: 'wyly.png', name: '文娱旅游',
name: '文娱旅游', // url: '/pages/fast_track/travel'
// url: '/pages/fast_track/travel' }, {
}, { icon: 'fwzx',
icon: 'fwzx', src: 'fwzx.png',
src: 'fwzx.png', name: '房屋装修',
name: '房屋装修', // url: '/pages/fast_track/fitment'
// url: '/pages/fast_track/fitment' }, {
}, { icon: 'jypx',
icon: 'jypx', src: 'jypx.png',
src: 'jypx.png', name: '教育资讯',
name: '教育资讯', // url: '/pages/fast_track/education'
// url: '/pages/fast_track/education' }, {
}, { icon: 'msgy',
icon: 'msgy', src: 'msgy.png',
src: 'msgy.png', name: '民生资讯',
name: '民生资讯', // url: '/pages/fast_track/public_benefit'
// url: '/pages/fast_track/public_benefit' }, {
}, { icon: 'ylbj',
icon: 'ylbj', src: 'ylbj.png',
src: 'ylbj.png', name: '医疗资讯'
name: '医疗资讯' }
}
] ]
// oaHOme快速入口数据 // oaHOme快速入口数据
@ -284,185 +280,185 @@ export const oaHomeData = [
* oa-应用中心数据 * oa-应用中心数据
*/ */
export const appDataList = [{ export const appDataList = [{
title: '假勤', title: '假勤',
data: [{ data: [{
name: '请假申请', name: '请假申请',
src: prefix + 'oa/qjsq@2x.png', src: prefix + 'oa/qjsq@2x.png',
url: '/pages/views/leave_request' url: '/pages/views/leave_request'
}, },
{ {
name: '出差申请', name: '出差申请',
src: prefix + 'oa/ccsq@2x.png', src: prefix + 'oa/ccsq@2x.png',
url: '' url: ''
}, },
{ {
name: '外出申请', name: '外出申请',
src: prefix + 'oa/wcsq@2x.png', src: prefix + 'oa/wcsq@2x.png',
url: '' url: ''
} }
] ]
}, },
{ {
title: '行政', title: '行政',
data: [{ data: [{
name: '物品维修', name: '物品维修',
src: prefix + 'oa/bxsq@2x.png', src: prefix + 'oa/bxsq@2x.png',
url: '' url: ''
}, },
{ {
name: '用章审批', name: '用章审批',
src: prefix + 'oa/yzsq@2x.png', src: prefix + 'oa/yzsq@2x.png',
url: '' url: ''
}, },
{ {
name: '领用审批', name: '领用审批',
src: prefix + 'oa/lysp@2x.png', src: prefix + 'oa/lysp@2x.png',
url: '' url: ''
} }
] ]
}, },
{ {
title: '财务', title: '财务',
data: [{ data: [{
name: '借款申请', name: '借款申请',
src: prefix + 'oa/jksq@2x.png', src: prefix + 'oa/jksq@2x.png',
url: '' url: ''
}, },
{ {
name: '付款申请', name: '付款申请',
src: prefix + 'oa/fksq@2x.png', src: prefix + 'oa/fksq@2x.png',
url: '' url: ''
}, },
{ {
name: '报销申请', name: '报销申请',
src: prefix + 'oa/gengduo@2x.png', src: prefix + 'oa/gengduo@2x.png',
url: '' url: ''
}, },
{ {
name: '采购申请', name: '采购申请',
src: prefix + 'oa/cgsq@2x.png', src: prefix + 'oa/cgsq@2x.png',
url: '' url: ''
}, },
{ {
name: '奖励申请', name: '奖励申请',
src: prefix + 'oa/jlsq@2x.png', src: prefix + 'oa/jlsq@2x.png',
url: '' url: ''
}, },
{ {
name: '活动经费', name: '活动经费',
src: prefix + 'oa/hdjf@2x.png', src: prefix + 'oa/hdjf@2x.png',
url: '' url: ''
} }
] ]
}, },
{ {
title: '人事', title: '人事',
data: [{ data: [{
name: '招聘需求', name: '招聘需求',
src: prefix + 'oa/zpxq@2x.png', src: prefix + 'oa/zpxq@2x.png',
url: '' url: ''
}] }]
}, },
{ {
title: '其他', title: '其他',
data: [{ data: [{
name: '通用审批', name: '通用审批',
src: prefix + 'oa/tysp@2x.png', src: prefix + 'oa/tysp@2x.png',
url: '/pages/views/com_approve' url: '/pages/views/com_approve'
}] }]
} }
] ]
/** /**
* oa-个人中心 * oa-个人中心
*/ */
export const myOaData = [ export const myOaData = [
// { // {
// name: '流水详情', // name: '流水详情',
// icon: '../../static/icons/runningWater.png', // icon: '../../static/icons/runningWater.png',
// url: '/subpkg/orderDetail/orderDetail' // url: '/subpkg/orderDetail/orderDetail'
// }, // },
// { // {
// name: '管理后台', // name: '管理后台',
// icon: '../../static/icons/backstage.png', // icon: '../../static/icons/backstage.png',
// // url: '/pages/views/personal_center_two' // // url: '/pages/views/personal_center_two'
// }, // },
{ {
name: '片区经理', name: '片区经理',
icon: '../../static/icons/manager.png', icon: '../../static/icons/manager.png',
url: '/pages/oaManager/oaManager' url: '/pages/oaManager/oaManager'
}, },
{ {
name: '安全设置', name: '安全设置',
icon: '../../static/icons/setting.png', icon: '../../static/icons/setting.png',
url: '/pages/updatePasswprd/updatePasswprd' url: '/pages/updatePasswprd/updatePasswprd'
}, },
// { // {
// name: '管理后台', // name: '管理后台',
// icon: 'custom-icongongzi', // icon: 'custom-icongongzi',
// // url: '/pages/views/personal_center_two' // // url: '/pages/views/personal_center_two'
// }, // },
// { // {
// name: '片区经理', // name: '片区经理',
// icon: 'custom-icongongzi', // icon: 'custom-icongongzi',
// url: '/pages/oaManager/oaManager' // url: '/pages/oaManager/oaManager'
// }, // },
// { // {
// name: '工资详情', // name: '工资详情',
// icon: 'custom-icongongzi', // icon: 'custom-icongongzi',
// url: '/pages/views/personal_center_two' // url: '/pages/views/personal_center_two'
// }, // },
// { // {
// name: '公示文档', // name: '公示文档',
// icon: 'custom-iconwendang', // icon: 'custom-iconwendang',
// url: '/pages/views/public_document' // url: '/pages/views/public_document'
// }, // },
// { // {
// name: '绑定公众号', // name: '绑定公众号',
// icon: 'custom-iconweixin' // icon: 'custom-iconweixin'
// }, // },
// { // {
// name: '意见反馈', // name: '意见反馈',
// icon: 'custom-iconyijian' // icon: 'custom-iconyijian'
// } // }
] ]
/* /*
oa-请假类型 oa-请假类型
*/ */
export const oaLeaveData = [{ export const oaLeaveData = [{
name: '事假', name: '事假',
id: 1 id: 1
}, },
{ {
name: '年假', name: '年假',
id: 2 id: 2
}, },
{ {
name: '调休假', name: '调休假',
id: 3 id: 3
}, },
{ {
name: '病假', name: '病假',
id: 4 id: 4
}, },
{ {
name: '婚假', name: '婚假',
id: 5 id: 5
}, },
{ {
name: '丧假', name: '丧假',
id: 6 id: 6
}, },
{ {
name: '产假', name: '产假',
id: 7 id: 7
}, },
{ {
name: '陪产假', name: '陪产假',
id: 8 id: 8
}, },
{ {
name: '其他', name: '其他',
id: 9 id: 9
} }
] ]

View File

@ -80,6 +80,9 @@
</view> </view>
</view> </view>
</view> </view>
<u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText" <u-loadmore :status="loadConfig.status" :loading-text="loadConfig.loadingText"
:loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" /> :loadmore-text="loadConfig.loadmoreText" :nomore-text="loadConfig.nomoreText" />
<mybtn text="新建签约" @click="navTo('/subpkg/companyUnsign/companyUnsign')"> <mybtn text="新建签约" @click="navTo('/subpkg/companyUnsign/companyUnsign')">

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,126 @@
<template>
<view class="cards">
<view class="cards_head">
<view class="cards_head_top">
<text><u--image src="../../static/img/company/company.png" width="33.29rpx" height="33.29rpx"
style="margin-right:20rpx"></u--image></text>
<text>{item.company_name}</text>
</view>
<text @click="navTo('/subpkg/companySign/companySign?id=')">详情 <uni-icons type="forward"
style="margin-left: 10rpx;" color="white"></uni-icons></text>
</view>
<view class="cards_content">
<view class="right">
<view class="is_contract">
<view>
<text>法人姓名 :</text>
<text>{item.master_name}</text>
</view>
<view>
<text style="color: green;" v-if="true">已签约</text>
<text style="color: red;" v-else>未签约</text>
</view>
</view>
<view class="">
<text>担任职务 :</text>
<text>{item.master_position}</text>
</view>
<view class="" @click="copyPhone()">
<text>联系电话 :</text>
<text>{item.master_phone}</text>
</view>
<view class="">
<text>负责区域 :</text>
<text> {item.city_name+item.area_name}</text>
</view>
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.cards {
margin: 28rpx;
width: 694rpx;
background: #ffffff;
border-radius: 30rpx;
overflow: hidden;
.cards_head {
padding: 28rpx;
background-color: $theme-oa-color;
color: white;
display: flex;
justify-content: space-between;
.cards_head_top {
display: flex;
width: 70vw;
}
}
.cards_content {
padding: 28rpx;
display: flex;
justify-content: space-between;
.left {
text-align: center;
// padding: 15rpx 25rpx;
padding-top: 20rpx;
width: 160rpx;
background-color: $theme-oa-color;
color: white;
border-radius: 40rpx;
.cir {
width: 120rpx;
height: 120rpx;
background-color: #ffffff;
margin-left: 25rpx;
border-radius: 120rpx;
position: relative;
}
}
.right {
display: flex;
flex-direction: column;
justify-content: space-between;
.is_contract {
width: 85vw;
display: flex;
justify-content: space-between;
height: 40rpx;
}
view {
margin-bottom: 10rpx;
text:nth-child(2) {
margin-left: 20rpx;
}
}
}
}
.u_avatar {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
</style>

223
subpkg/property/index.vue Normal file
View File

@ -0,0 +1,223 @@
<template>
<view>
<u-sticky bgColor="#0122C7" style="width: 100vw">
<u-tabs :list="tabLists" @change="sectionChange" lineColor="#fff" :scrollable="false" lineWidth="40"
inactiveStyle="color:#fff" activeStyle="color:#fff"></u-tabs>
</u-sticky>
<view class="serch">
<u-search placeholder="搜索你的订单" :show-action="true" bg-color="white" v-model="keywords"></u-search>
</view>
<view v-if="curNow==0" class="personnel_list">
<view class="cards">
<view class="cards_head">
<text>XSDSDSD</text>
</view>
<view class="cards_content">
<view class="right">
<view class="li">
<text>车牌号: </text>
<text> { item.name }</text>
</view>
<view class="li">
<text>行驶总里程: </text>
<text>{ item.phone }</text>
<view style="float: right;">
<u-checkbox-group>
<u-checkbox active-color="#0122C7" v-model="checked" shape="square"
label=""></u-checkbox>
</u-checkbox-group>
</view>
</view>
<view class="li">
<text>本公司签约时间: </text>
<text> 所属片区 </text>
</view>
</view>
</view>
</view>
</view>
<view v-else>
<view class="personnel_list" @click="toDetail('/subpkg/property/vehicle')">
<view class="cards">
<view class="cards_head">
<text>车牌号</text>
</view>
<view class="cards_content">
<view class="right">
<view class="li">
<text>行驶总里程: </text>
<text> { item.name }</text>
</view>
<view class="li">
<text>本公司签约时间: </text>
<text>{ item.phone }</text>
</view>
<view class="li">
<text>承租公司: </text>
<text> 所属片区 </text>
</view>
<view class="li">
<text>负责人: </text>
<text> 所属片区 </text>
</view>
<view class="li">
<text>联系方式: </text>
<text> 所属片区 </text>
</view>
<view class="li">
<text>所属区域: </text>
<text> 所属片区 </text>
</view>
<view class="li">
<text>承租时间: </text>
<text> 所属片区 </text>
</view>
</view>
</view>
</view>
</view>
</view>
<mybtn position="position" v-if='!curNow' text="签约" @click="signFn">
<u-icon name="edit-pen-fill" color="white" size="20"></u-icon>
</mybtn>
</view>
</template>
<script>
import mybtn from "@/components/mybtn/mybtn.vue"
export default {
components: {
mybtn
},
name: "vehicle",
data() {
return {
tabLists: [{
name: '未出租',
}, {
name: '已出租'
}, ],
curNow: 0,
checked: 0,
keywords: "",
};
},
methods: {
signFn() {
console.log("签约咯")
this.toDetail("/subpkg/property/chosseCompany")
},
toDetail(url) {
uni.navigateTo({
url
})
},
sectionChange(index) {
this.curNow = index.index;
console.log(this.curNow)
// this.getOrderList()
},
}
}
</script>
<style lang="scss">
.serch {
margin: 28rpx 28rpx 0 28rpx;
}
.personnel_list {
padding: 28rpx 0;
margin-bottom: 130rpx;
.cards {
margin: 0 auto;
margin-bottom: 28rpx;
width: 694rpx;
background: #ffffff;
border-radius: 30rpx;
opacity: 1;
overflow: hidden;
// box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
.cards_head {
padding: 28rpx;
background-color: $theme-oa-color;
color: white;
height: 100rpx;
display: flex;
justify-content: space-between;
}
.cards_content {
padding: 10rpx 28rpx;
display: flex;
justify-content: space-between;
.left {
text-align: center;
// padding: 15rpx 25rpx;
padding-top: 20rpx;
width: 160rpx;
background-color: $theme-oa-color;
color: white;
border-radius: 40rpx;
.cir {
width: 120rpx;
height: 120rpx;
background-color: #ffffff;
margin-left: 25rpx;
border-radius: 120rpx;
position: relative;
}
}
.right {
display: flex;
flex-direction: column;
justify-content: space-between;
.li {
margin: 10rpx 0;
width: 85vw;
.check_box {
// background-color: #ff0000;
// color: red;
}
// background-color: red;
text:nth-child(1) {
margin-right: 20rpx;
}
}
}
}
}
}
</style>

View File

@ -1,94 +1,47 @@
<template> <template>
<view> <view>
<view v-if='showLoading'> <!-- <view v-if='showLoading'>
<u-loading-page :loading="showLoading"></u-loading-page> <u-loading-page :loading="showLoading"></u-loading-page>
</view> </view> -->
<view v-else> <view>
<view class="content"> <view class="content">
<u-toast ref="uToast"></u-toast> <u-toast ref="uToast"></u-toast>
<view class="map"> <view class="map">
<map :class="mapClass" id="map" @markertap='mapFun' :enable-zoom="true" :polyline="polyline" <map :class="mapClass" id="map" @markertap='mapFun' :enable-zoom="true" :polyline="polyline"
:markers='markers' :scale="scale" style="width:100%;height: 70%;" :markers='markers' :scale="scale" style="width:100%;height: 100%;"
:latitude="markers[0].latitude" :enable-scroll="true" :longitude="markers[0].longitude"> :latitude="markers[0].latitude" :enable-scroll="true" :longitude="markers[0].longitude">
<cover-image class="map_btn" @tap="test" src="../../static/img/logistics/DH.png"> <cover-image class="map_btn" @tap="test" src="../../static/img/logistics/DH.png">
</cover-image> </cover-image>
</map> </map>
<view class="map_address"> </view>
<view class="map_address">
<view class="li">
<view> <view>
<text class="cir" style="background-color: #40BC5E;"></text> 起点:&nbsp;&nbsp;{{nowAddress}} <text class="cir" style="background-color: #40BC5E;"></text>
中转站:&nbsp;&nbsp;恐惧发现不舒服1还得上课讲话方式打开就
</view> </view>
<view :class="{lg_status1:true,lg_status2:false}">
<text class="cir" style="background-color: transparent;"></text>
<text>车辆状态</text>:<text v-if="true">已完成</text>
<text v-else style="color: #FF7C32;">进行中</text>
</view>
</view>
<view class="li">
<view> <view>
<text class="cir" style="background-color: #FF7C32;"></text> <text class="cir" style="background-color: #FF7C32;"></text>
终点:&nbsp;&nbsp;{{goodsDetil.logistics.shop_address}} &emsp;:&nbsp;&nbsp;恐惧发现不舒服1还得上课讲话方式打开就
</view>
<view :class="{lg_status1:true,lg_status2:false}">
<text class="cir" style="background-color: transparent;"></text>
<text class="status">车辆状态</text>:<text v-if="true">已完成</text>
<text v-else style=" color: #FF7C32;">进行中</text>
</view> </view>
</view> </view>
</view> </view>
<view class="order_info">
<view class="top">
<view>
订单号信息:
</view>
<view>订单编号:&nbsp;&nbsp;{{goodsDetil.logistics.order_sn}}</view>
<view>
商户名称:&nbsp;&nbsp; {{goodsDetil.logistics.shop_name}}
</view>
<view @click.stop="callFn(goodsDetil.logistics.shop_phone)">
联系电话:&nbsp;&nbsp; <u-icon style="display: inline-block;margin-left: 5rpx;" name="phone"
color="#fff" size="22"></u-icon>{{goodsDetil.logistics.shop_phone}}
</view>
<view>
店铺地址:&nbsp;&nbsp;{{goodsDetil.logistics.shop_address}}
</view>
</view>
<view class="mark">
请详细核对订单信息
</view>
</view>
<view class="order_info" style="background-color: #47BE62;">
<view class="top">
<view>
物流信息:
</view>
<view>用户名称:&nbsp;&nbsp;{{fuzzyName( goodsDetil.logistics.receiver_name)}}</view>
<view>
通知时间:&nbsp;&nbsp;{{goodsDetil.logistics.create_time}}
</view>
<view class="pro_list">
<text>
商品信息
</text>
<view class="goods">
<view class="goods_tit" v-for="(item,index) in goodsDetil.product">
<text style="flex: 8;">{{item.goods_name}}</text>
<text style="flex: 2;">X{{item.product_num}}{{item.goods_unit}}</text>
</view>
</view>
</view>
</view>
<view class="mark" style="display: flex; justify-content: space-between;">
<text>请详细核对订单信息</text>
<text style="color: #0122C7;">共计{{goodsDetil.product_count}}件商品</text>
</view>
</view>
<view style="margin-top: 200rpx;height: 1px;">
<!-- 565 -->
</view>
<view class="btn" v-if="!is_captain">
<u-button @click="qrqodeFn" type="primary" style="background-color: #0122C7;border: 0;">
<u-icon name="scan" color="white" size="30" style="margin-right: 10rpx;"></u-icon>
扫码取货</u-button>
</view>
</view> </view>
<mybtn v-if="status==1" position="position" @click="getFn" text="抵达地点(中转站) 1/2"></mybtn>
<mybtn v-else position="position" text="抵达地点(终点) 2/2"></mybtn>
</view> </view>
@ -96,6 +49,7 @@
</template> </template>
<script> <script>
import mybtn from "@/components/mybtn/mybtn.vue"
import { import {
getDetil getDetil
} from "@/api/logistics.js" } from "@/api/logistics.js"
@ -103,9 +57,12 @@
takeGoods takeGoods
} from "@/api/logistics.js" } from "@/api/logistics.js"
export default { export default {
components: {
mybtn
},
data() { data() {
return { return {
is_captain: 0, status: 1,
mapClass: 'custom-map', mapClass: 'custom-map',
showLoading: true, showLoading: true,
showPop: false, showPop: false,
@ -116,8 +73,8 @@
// //
{ {
id: 1, id: 1,
latitude: undefined, latitude: 28.8733,
longitude: undefined, longitude: 105.445717,
iconPath: '../../static/img/logistics/SJ.png', // iconPath: '../../static/img/logistics/SJ.png', //
}, },
// //
@ -133,16 +90,6 @@
} }
}, },
methods: { methods: {
fuzzyName(name) {
let length = name.length;
let fuzzyChars = "*".repeat(length - 1);
return name[0] + fuzzyChars;
},
callFn(num) {
uni.makePhoneCall({
phoneNumber: num
});
},
// //
// //
locationFn() { locationFn() {
@ -153,9 +100,6 @@
geocode: true, geocode: true,
isHighAccuracy: true, isHighAccuracy: true,
success: function async (res) { success: function async (res) {
that.nowAddress = res.address.city + res.address.district + res.address.street + res
.address.streetNum + res.address.poiName
that.markers[1].latitude = res.latitude that.markers[1].latitude = res.latitude
that.markers[1].longitude = res.longitude that.markers[1].longitude = res.longitude
that.getDriverLine() that.getDriverLine()
@ -221,12 +165,42 @@
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png' iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png'
}) })
}, },
//
getDistance(point1, point2) {
const rad = Math.PI / 180.0;
const lat1 = point1.latitude;
const lng1 = point1.longitude;
const lat2 = point2.latitude;
const lng2 = point2.longitude;
const dlat = lat2 - lat1;
const dlng = lng2 - lng1;
const a =
Math.sin(dlat / 2 * rad) * Math.sin(dlat / 2 * rad) +
Math.cos(lat1 * rad) * Math.cos(lat2 * rad) *
Math.sin(dlng / 2 * rad) * Math.sin(dlng / 2 * rad);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
const distance = 6378137 * c;
return distance;
},
getFn() {
this.locationFn()
console.log(545)
console.log()
// console.log(this.getDistance(this.markers[0], this.markers[1]))
if ((this.getDistance(this.markers[0], this.markers[1]) >> 0) > 300) {
// return
uni.showToast({
title: `距离目标位置过远`,
icon: 'none'
})
}
},
getDriverLine() { getDriverLine() {
const that = this; const that = this;
const key = "997c9a3d88154fa78f4d28bebc1dd84f"; const key = "997c9a3d88154fa78f4d28bebc1dd84f";
const origin = `${this.markers[1].longitude},${this.markers[1].latitude}`; const origin = `${this.markers[1].longitude},${this.markers[1].latitude}`;
const destination = `${this.markers[0].longitude},${this.markers[0].latitude}`; const destination = `${this.markers[0].longitude},${this.markers[0].latitude}`;
uni.request({ uni.request({
// url: `https://restapi.amap.com/v3/direction/walking?key=${key}&origin=105.43639400000002,28.908854&destination=105.439304,28.908447`, // url: `https://restapi.amap.com/v3/direction/walking?key=${key}&origin=105.43639400000002,28.908854&destination=105.439304,28.908447`,
@ -246,16 +220,13 @@
}); });
} }
} }
that.runningRoute = data.paths[0].steps[0].instruction; that.runningRoute = data.paths[0].steps[0].instruction;
} }
that.polyline = [{ that.polyline = [{
points: points, points: points,
color: "#0091ff", color: "#0091ff",
dottedLine: true, dottedLine: true,
width: 30, width: 30,
}, ]; }, ];
}, },
fail: function(res) { fail: function(res) {
@ -264,48 +235,21 @@
}); });
}, },
qrqodeFn() {
let that = this
uni.scanCode({
onlyFromCamera: true,
success: function(res) {
that.takeGood(res.result)
}
});
},
// {}
takeGood(sn) {
takeGoods({
logistics_id: this.goodsDetil.logistics.id,
order_id: this.goodsDetil.logistics.order_id,
order_sn: sn
}).then(res => {
this.showToast()
setTimeout(() => {
uni.navigateBack()
}, 1000)
})
},
}, },
onLoad(options) { onLoad(options) {
this.locationFn()
// console.log() // console.log()
this.is_captain = JSON.parse(uni.getStorageSync("USER_INFO")).is_captain setTimeout(() => {
getDetil({ this.showLoading = true
logistics_id: 6 }, 1000)
}).then(res => {
this.goodsDetil = res.data
this.markers[0].latitude = res.data.logistics.shop_lat
this.markers[0].longitude = res.data.logistics.shop_long
this.locationFn()
setTimeout(() => {
this.showLoading = false
}, 500)
})
}, },
onPullDownRefresh() {
// this.getOrderList();
// this.getIndexList()
uni.stopPullDownRefresh();
},
} }
</script> </script>
@ -316,13 +260,13 @@
.content { .content {
padding: 2vh 3vw; padding: 2vh 3vw;
background-color: #F6F7FC; background-color: #F5F5F5;
height: 100vh; height: 100vh;
box-sizing: border-box; box-sizing: border-box;
} }
.map { .map {
height: 40vh; height: 60vh;
border-radius: 2vw; border-radius: 2vw;
overflow: hidden; overflow: hidden;
@ -332,10 +276,14 @@
background-color: white; background-color: white;
padding: 20rpx 10rpx; padding: 20rpx 10rpx;
.li {
margin: 20rpx 0;
}
.cir { .cir {
display: inline-block; display: inline-block;
width: 2vw; width: 2vw;
height: 4vw; height: 2vw;
border-radius: 2vw; border-radius: 2vw;
margin: 0 20rpx; margin: 0 20rpx;
} }
@ -350,55 +298,6 @@
z-index: 9999999; z-index: 9999999;
} }
.order_info {
border: none;
background-color: #FF7C32;
border-radius: 2vw;
overflow: hidden;
margin-top: 50rpx;
margin-bottom: 30rpx;
color: white;
.top {
padding: 1vw 3vw;
view {
margin: 10rpx 0;
}
}
.mark {
background-color: white;
color: #A8A8A8;
padding: 10rpx 20rpx;
}
.pro_list {
display: flex;
text {
flex: 2
}
.goods {
flex: 8;
margin: 0;
.goods_tit {
margin: 0;
display: flex;
}
}
}
}
.btn { .btn {
position: fixed; position: fixed;