Commit 1b80516b authored by 刘杰's avatar 刘杰

企业微信前端

parent 10e13acc
...@@ -9,6 +9,24 @@ import { ...@@ -9,6 +9,24 @@ import {
} from "../publicConfig/config"; } 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) { export function searchBossCard(data) {
return Request(`/api/entry/{mini}/m-action/biz.tm.OrderRelease.service.searchBossCard`, data) return Request(`/api/entry/{mini}/m-action/biz.tm.OrderRelease.service.searchBossCard`, data)
...@@ -33,6 +51,9 @@ export function BindCompany(data) { ...@@ -33,6 +51,9 @@ export function BindCompany(data) {
export function selectDailyReport(data) { export function selectDailyReport(data) {
return Request(`/api/entry/{mini}/m-action/biz.zcgyl.DailyReport.service.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) { export function selectDailyReportList(data) {
return Request(`/api/query/biz.zcgyl.DailyReport.zcgyl_dailyreport_search/paging`, data) return Request(`/api/query/biz.zcgyl.DailyReport.zcgyl_dailyreport_search/paging`, data)
} }
...@@ -413,14 +434,14 @@ export function GetBindCompanyInfo(data) { ...@@ -413,14 +434,14 @@ export function GetBindCompanyInfo(data) {
export function queryOriginalAddress(data) { export function queryOriginalAddress(data) {
return Request( 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 data
); );
} }
export function queryDestinationAddress(data) { export function queryDestinationAddress(data) {
return Request( 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 data
); );
} }
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
<view class="uploade-file"> <view class="uploade-file">
<view class="uploade-title" v-if="uploadTitle"> <view class="uploade-title" v-if="uploadTitle">
<text style="color: #f56c6c;position: absolute;left: 18rpx;" v-if="required">*</text> <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>
<view class="fileList flex flex_wrap"> <view class="fileList flex flex_wrap">
<view class="previewImages" v-for="(item,index) in fileDetailList" :key="index"> <view class="previewImages" v-for="(item,index) in fileDetailList" :key="index">
...@@ -107,6 +108,23 @@ ...@@ -107,6 +108,23 @@
font-size: 28rpx; font-size: 28rpx;
color: #8C8C8C; color: #8C8C8C;
margin-bottom: 24rpx; 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 { .fileList {
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<u-checkbox name="userAuth" shape="circle" size="44" iconSize='44' @change="onChange" /> <u-checkbox name="userAuth" shape="circle" size="44" iconSize='44' @change="onChange" />
</u-checkbox-group> </u-checkbox-group>
<text>请您详细阅读并授权</text> <text>请您详细阅读并授权</text>
<text class="special-text" @click="onVisible(true)">运匠用户协议</text> <text class="special-text" @click="onVisible(true)">兆驰用户协议</text>
<text></text> <text></text>
<text class="special-text" @click="onVisible(true)">隐私政策</text> <text class="special-text" @click="onVisible(true)">隐私政策</text>
......
...@@ -64,16 +64,16 @@ ...@@ -64,16 +64,16 @@
<!-- 右侧数据统计 --> <!-- 右侧数据统计 -->
<view class="statistics"> <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-item">
<view class="stat-block green "> <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> <text class="rate">运输中</text>
</view> </view>
</view> </view>
<view class="stat-item"> <view class="stat-item">
<view class="stat-block green "> <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> <text class="rate">开启定位</text>
</view> </view>
</view> </view>
...@@ -163,10 +163,6 @@ ...@@ -163,10 +163,6 @@
<!-- 应付模块 --> <!-- 应付模块 -->
<view class="finance-block"> <view class="finance-block">
<view class="finance-item payable"> <view class="finance-item payable">
<!-- 左侧图标 -->
<!-- <view class="left-section">
<view class="icon"></view>
</view> -->
<view class="left-section"> <view class="left-section">
<view class="icon"> <view class="icon">
<img src="../../static/img/boss/zhichu.png" alt="图标" /> <img src="../../static/img/boss/zhichu.png" alt="图标" />
...@@ -217,7 +213,7 @@ ...@@ -217,7 +213,7 @@
</view> </view>
<!-- 模拟老板对比图表区域 --> <!-- 模拟老板对比图表区域 -->
<view class="chart-container" v-if="staffKind==='boss'"> <view class="chart-container" v-if="isBoss">
<view class="chart-header"> <view class="chart-header">
<text class="chart-title">模拟老板对比</text> <text class="chart-title">模拟老板对比</text>
<view class="sort-buttons"> <view class="sort-buttons">
...@@ -293,10 +289,11 @@ ...@@ -293,10 +289,11 @@
</view> </view>
<view class="table-body"> <view class="table-body">
<view class="table-row" v-for="(item, index) in currentData.tableData" :key="index"> <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> <a :class="{'active': isActive(item.boss)}">{{ item.boss }}</a>
</view> </view>
<view v-if="staffKind!=='boss'" class="table-cell fixed-column"> <view v-if="!isBoss" class="table-cell fixed-column">
{{ item.boss }} {{ item.boss }}
</view> </view>
<view class="table-cell">{{ item.receivable }}</view> <view class="table-cell">{{ item.receivable }}</view>
...@@ -314,7 +311,7 @@ ...@@ -314,7 +311,7 @@
</view> </view>
<!-- 模拟老板项目运营表格 --> <!-- 模拟老板项目运营表格 -->
<view class="table-container" v-if="staffKind==='boss' && activeBoss !=='' "> <view class="table-container" v-if="isBoss && activeBoss !=='' ">
<text class="table-title">模拟老板项目运营情况</text> <text class="table-title">模拟老板项目运营情况</text>
<scroll-view scroll-x class="table-scroll" @touchmove.stop> <scroll-view scroll-x class="table-scroll" @touchmove.stop>
<view class="table"> <view class="table">
...@@ -393,7 +390,8 @@ ...@@ -393,7 +390,8 @@
showOrderEvent: false, showOrderEvent: false,
tableName: "", tableName: "",
bossProject: [], bossProject: [],
activeBoss: '' activeBoss: '',
isBoss: false
} }
}, },
computed: { computed: {
...@@ -426,14 +424,19 @@ ...@@ -426,14 +424,19 @@
} }
}, },
async mounted() { async mounted() {
await this.initData()
this.staffKind = uni.getStorageSync(`uc_staff_kind`); this.staffKind = uni.getStorageSync(`uc_staff_kind`);
if (this.staffKind === 'boss') { if (this.staffKind === 'President' || this.staffKind === 'VicePresident' ||
this.initLeaderChart() this.staffKind === 'PresidentHelp' || this.staffKind === 'Leader') {
this.tableName = '模拟老板' this.tableName = '模拟老板'
this.isBoss = true
} else { } else {
this.tableName = '项目' this.tableName = '项目'
} }
await this.initData()
if (this.isBoss) {
this.initLeaderChart()
}
this.initProjectChart() this.initProjectChart()
// 在 Vue 的下一个 DOM 更新循环中执行 // 在 Vue 的下一个 DOM 更新循环中执行
...@@ -444,7 +447,7 @@ ...@@ -444,7 +447,7 @@
this.loading = false this.loading = false
} }
// 对领导图表进行排序,按应收数据排序 // 对领导图表进行排序,按应收数据排序
if (this.staffKind === 'boss') { if (this.isBoss) {
this.sortChart('receivable', 'myLeaderChart') this.sortChart('receivable', 'myLeaderChart')
} }
// 对项目图表进行排序,按应收数据排序 // 对项目图表进行排序,按应收数据排序
...@@ -466,7 +469,7 @@ ...@@ -466,7 +469,7 @@
console.log("name" + name); console.log("name" + name);
this.activeBoss = name; this.activeBoss = name;
this.staffKind = uni.getStorageSync('uc_staff_kind'); this.staffKind = uni.getStorageSync('uc_staff_kind');
if (this.staffKind === 'boss') { if (this.isBoss) {
this.bossProject = [] this.bossProject = []
const data = { const data = {
"aux": { "aux": {
...@@ -836,7 +839,7 @@ ...@@ -836,7 +839,7 @@
// 更新图表数据 // 更新图表数据
this.updateChartSeries() this.updateChartSeries()
if (this.staffKind === 'boss') { if (this.isBoss) {
this.sortChart('receivable', 'myLeaderChart') this.sortChart('receivable', 'myLeaderChart')
} }
// 对项目图表进行排序,按应收数据排序 // 对项目图表进行排序,按应收数据排序
...@@ -986,7 +989,7 @@ ...@@ -986,7 +989,7 @@
} }
}, },
updateChartSeries() { updateChartSeries() {
if (this.staffKind === 'boss') { if (this.isBoss) {
this.myLeaderChart.setOption({ this.myLeaderChart.setOption({
series: [{ series: [{
data: this.currentData.leaderChartData.receivable data: this.currentData.leaderChartData.receivable
...@@ -1793,7 +1796,7 @@ ...@@ -1793,7 +1796,7 @@
} }
.chart-wrapper { .chart-wrapper {
height: 220px; height: 250px;
width: 100%; width: 100%;
padding: 0 0 5px 0; padding: 0 0 5px 0;
min-width: 100%; min-width: 100%;
......
...@@ -5,19 +5,18 @@ ...@@ -5,19 +5,18 @@
<view class="report-card" v-for="(report, index) in dailyReportList" :key="index"> <view class="report-card" v-for="(report, index) in dailyReportList" :key="index">
<view class="card-header"> <view class="card-header">
<view class="left"> <view class="left">
<text class="name">汇报对象:{{ report.reporterTo__name }}</text>
<!-- <text class="status" :class="report.status==='submitted' ? 'submitted' : 'unSubmitted'"> <text v-if="staffKind==='staff'" class="name">汇报对象:{{ report.reporterTo__name }}</text>
{{ report.status==='submitted' ? '已提交' : '未提交' }} <text v-if="staffKind!=='staff'" class="name">汇报对象:老板</text>
</text> -->
</view> </view>
<text class="time">{{ report.date || '-' }}</text> <text class="time">{{ report.date_str || '-' }}</text>
</view> </view>
<view class="card-content"> <view class="card-content">
<view class="work-item"> <view class="work-item">
<view class="work-header"> <view class="work-header">
<text class="work-title">今日重点工作</text> <text class="work-title">是否超时</text>
</view> </view>
<view class="work-content">{{ report.today_work }}</view> <view class="work-content">{{ report.is_over_time }}</view>
</view> </view>
<view class="work-item"> <view class="work-item">
<view class="work-header"> <view class="work-header">
...@@ -25,6 +24,12 @@ ...@@ -25,6 +24,12 @@
</view> </view>
<view class="work-content">{{ report.week_work }}</view> <view class="work-content">{{ report.week_work }}</view>
</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-item">
<view class="work-header"> <view class="work-header">
<text class="work-title">是否请假</text> <text class="work-title">是否请假</text>
...@@ -147,7 +152,7 @@ ...@@ -147,7 +152,7 @@
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
const data = res.data.data.datas; const data = res.data.data.datas;
data.map(item => { //格式化时间 data.map(item => { //格式化时间
item.date = formatGMT(item.date, 'T') item.insert_date = formatGMT(item.insert_date, 'T')
}) })
...@@ -184,21 +189,20 @@ ...@@ -184,21 +189,20 @@
.add-button { .add-button {
position: fixed; position: fixed;
bottom: 10px; bottom: 20px;
left: 0; left: 0;
right: 0; right: 0;
background-color: #3278e9;
background-color: #2E75E6;
color: white; color: white;
border: none; border: none;
border-radius: 48rpx; border-radius: 24px;
padding: 8px; padding: 8px;
font-size: 16px; font-size: 16px;
font-weight: bolder; font-weight: bolder;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
cursor: pointer; cursor: pointer;
z-index: 1000; z-index: 1000;
width: 90%; width: 40%;
} }
.add-button:hover { .add-button:hover {
......
...@@ -70,9 +70,13 @@ ...@@ -70,9 +70,13 @@
</template> </template>
<script> <script>
import { OrderQuery, getOptionEnum, GetOrderDetailInfo } from '../../api/apiList' import {
OrderQuery,
getOptionEnum,
GetOrderDetailInfo
} from '../../api/apiList'
export default { export default {
data() { data() {
return { return {
orderList: [], orderList: [],
...@@ -82,10 +86,18 @@ export default { ...@@ -82,10 +86,18 @@ export default {
showPop: false, showPop: false,
filterLabelArr: [], filterLabelArr: [],
choiceSubscribeType: [], choiceSubscribeType: [],
range: [ range: [{
{ value: 0, text: "篮球" }, value: 0,
{ value: 1, text: "足球" }, text: "篮球"
{ value: 2, text: "游泳" }, },
{
value: 1,
text: "足球"
},
{
value: 2,
text: "游泳"
},
], ],
value: 0, value: 0,
filterEnums: { filterEnums: {
...@@ -108,7 +120,11 @@ export default { ...@@ -108,7 +120,11 @@ export default {
methods: { methods: {
getOrderDetailInfo(id) { getOrderDetailInfo(id) {
const that = this const that = this
GetOrderDetailInfo({ "aux": { "_ID": id } }).then(res => { GetOrderDetailInfo({
"aux": {
"_ID": id
}
}).then(res => {
that.$refs.orderInsertContent.initData(res.data.data) that.$refs.orderInsertContent.initData(res.data.data)
}) })
...@@ -216,15 +232,16 @@ export default { ...@@ -216,15 +232,16 @@ export default {
}) })
}, },
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.queueSubscribeTitle { .queueSubscribeTitle {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #FFFFFF; background-color: #FFFFFF;
padding-top: 45px;
.u-input { .u-input {
height: 32px; height: 32px;
...@@ -240,24 +257,24 @@ export default { ...@@ -240,24 +257,24 @@ export default {
color: #FFFFFF !important; color: #FFFFFF !important;
} }
} }
.scroll-Y { .scroll-Y {
height: 100vh; height: 100vh;
} }
.expense_list_filter { .expense_list_filter {
color: #434343; color: #434343;
padding-right: 24px; padding-right: 24px;
margin-left: 24px; margin-left: 24px;
} }
.expense_list_pop_content { .expense_list_pop_content {
margin: 24px; margin: 24px;
height: calc(100vh - 144px); height: calc(100vh - 144px);
} }
.expense_list_pop_foot { .expense_list_pop_foot {
height: 144px; height: 144px;
position: absolute; position: absolute;
bottom: 0; bottom: 0;
...@@ -274,9 +291,9 @@ export default { ...@@ -274,9 +291,9 @@ export default {
color: #434343; color: #434343;
line-height: 88px; line-height: 88px;
} }
} }
.expense_list_pop_content_type { .expense_list_pop_content_type {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
...@@ -291,12 +308,12 @@ export default { ...@@ -291,12 +308,12 @@ export default {
margin: 24px; margin: 24px;
color: #323233; color: #323233;
} }
} }
.expense_list_pop_content_connect { .expense_list_pop_content_connect {
margin: 0 16px; margin: 0 16px;
height: 0; height: 0;
width: 39px; width: 39px;
border: 2px solid #BFBFBF; border: 2px solid #BFBFBF;
} }
</style>></style> </style>></style>
\ No newline at end of file
<template> <template>
<view :class="[(visibleType === 'transportMode.name' || visibleType ==='transportProduct.name' )? '' : 'selectPicker']" @touchmove.stop.prevent="moveHandle"> <view
<u-picker v-if="(visibleType === 'transportMode.name' || visibleType ==='transportProduct.name' )" ref="uPicker" keyName="label" immediateChange :class="[(visibleType === 'transportMode.name' || visibleType ==='transportProduct.name' || visibleType ==='uc_department.name' )? '' : 'selectPicker']"
confirmText="确定" :show="visible" :title="PanelTitle" :closeOnClickOverlay="true" :itemHeight="68" @touchmove.stop.prevent="moveHandle">
:columns="[pickerEnums]" :singleIndex="singleIndex" :visibleItemCount="visibleNum" @cancel="onCancel" <u-picker
@confirm="onConfirm" @close="onCancel" /> 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-popup v-else :show="visible" @close="onCancel" closeable>
<u-search placeholder="请输入关键字" :value="keyWord" @change="changeKeyWord" :showAction="false"></u-search> <u-search placeholder="请输入关键字" :value="keyWord" @change="changeKeyWord" :showAction="false"></u-search>
<!-- <scroll-view scroll-y class="select-list"> <!-- <scroll-view scroll-y class="select-list">
...@@ -11,7 +14,8 @@ ...@@ -11,7 +14,8 @@
{{ item.label }} {{ item.label }}
</view> </view>
</scroll-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()' @getDelete='deleteTable' @rowData='getRow' :data2='pickerEnums' :head='dataProcess()'
:tableHeight='"calc(60vh-30px)"'> :tableHeight='"calc(60vh-30px)"'>
</divTable> </divTable>
...@@ -21,8 +25,10 @@ ...@@ -21,8 +25,10 @@
</template> </template>
<script> <script>
export default { export default {
options: { styleIsolation: 'shared' }, options: {
styleIsolation: 'shared'
},
data() { data() {
return { return {
singleIndex: 0 //默认选中项 singleIndex: 0 //默认选中项
...@@ -63,10 +69,13 @@ export default { ...@@ -63,10 +69,13 @@ export default {
}, },
//确定 //确定
onConfirm(value) { onConfirm(value) {
if ((this.visibleType === 'transportMode.name' || this.visibleType ==='transportProduct.name' )){ if ((this.visibleType === 'transportMode.name' ||
this.visibleType === 'transportProduct.name' ||
this.visibleType === 'uc_department.name'
)) {
this.$emit('onConfirm', value.value[0].value) this.$emit('onConfirm', value.value[0].value)
}else{ } else {
this.$emit('onConfirm', value) this.$emit('onConfirm', value)
} }
...@@ -84,43 +93,58 @@ export default { ...@@ -84,43 +93,58 @@ export default {
onCancel() { onCancel() {
this.$emit('onVisible') this.$emit('onVisible')
}, },
scrollBottom(){
console.log("scrollBottom")
},
changeKeyWord(keyWord) { changeKeyWord(keyWord) {
this.$emit('changeKeyWord', keyWord) this.$emit('changeKeyWord', keyWord)
}, },
dataProcess() { dataProcess() {
let type = this.visibleType let type = this.visibleType
if (type.includes('destination.name')) { if (type.includes('destinationAddress.fullName')) {
return [ return [{
{ name: '系统代码', key: 'code' }, name: '系统代码',
{ name: '名称', key: 'name' } key: 'code'
},
{
name: '名称',
key: 'fullName'
}
] ]
} else if (type.includes('original.name')) { } else if (type.includes('originalAddress.fullName')) {
return [ return [{
{ name: '系统代码', key: 'code' }, name: '系统代码',
{ name: '名称', key: 'name' } key: 'code'
]
} 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' name: '名称',
key: 'fullName'
}
]
} else if (type.includes('customer.name')) {
return [{
name: '系统代码',
key: 'code'
}, },
{
name: '名称',
key: 'name'
}
] ]
} else if (type.includes('thing.code')) { } else if (type.includes('thing.code')) {
return [ return [
{ name: '系统代码', key: 'code' },
{ name: '名称', key: 'name' },
{ name: '外部代码', key: 'referCode' },
{ {
name: '价格', key: 'price' name: '名称',
key: 'name'
}, },
{
name: '货物名称',
key: 'category__name'
},
] ]
} }
...@@ -128,11 +152,11 @@ export default { ...@@ -128,11 +152,11 @@ export default {
} }
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.selectPicker { .selectPicker {
/deep/.u-transition { /deep/.u-transition {
...@@ -146,5 +170,5 @@ export default { ...@@ -146,5 +170,5 @@ export default {
/deep/.u-search { /deep/.u-search {
margin-top: 30rpx !important; margin-top: 30rpx !important;
} }
} }
</style> </style>
\ No newline at end of file
...@@ -6,9 +6,9 @@ import Vue from "vue"; ...@@ -6,9 +6,9 @@ import Vue from "vue";
// 引入uView并配置 // 引入uView并配置
import uView from "uview-ui"; import uView from "uview-ui";
Vue.use(uView); Vue.use(uView);
import VConsole from "vconsole"; // import VConsole from "vconsole";
// 只有在开发环境下才加载vconsole // 只有在开发环境下才加载vconsole
new VConsole(); // new VConsole();
// 修改uView内置配置方案: 需要在Vue.use(uView)之后执行,目前只建议修改config、props属性, 除非您清楚知道自己的修改所带来的影响。 // 修改uView内置配置方案: 需要在Vue.use(uView)之后执行,目前只建议修改config、props属性, 除非您清楚知道自己的修改所带来的影响。
uni.$u.setConfig({ uni.$u.setConfig({
// 修改$u.config对象的属性 // 修改$u.config对象的属性
......
...@@ -53,12 +53,20 @@ ...@@ -53,12 +53,20 @@
"disableScroll": true "disableScroll": true
} }
}, },
{
"path": "pages/dailyReport/dailyReportHistory",
"style": {
"navigationBarTitleText": "查看日报",
"enablePullDownRefresh": false,
"disableScroll": false
}
},
{ {
"path": "pages/dailyReportCreate/dailyReportCreate", "path": "pages/dailyReportCreate/dailyReportCreate",
"style": { "style": {
"navigationBarTitleText": "填写日报", "navigationBarTitleText": "填写日报",
"enablePullDownRefresh": false, "enablePullDownRefresh": false,
"disableScroll": true "disableScroll": false
} }
} }
], ],
...@@ -68,7 +76,7 @@ ...@@ -68,7 +76,7 @@
}], }],
"globalStyle": { "globalStyle": {
"navigationBarTextStyle": "white", "navigationBarTextStyle": "white",
"navigationBarTitleText": "运匠运输管理平台", "navigationBarTitleText": "兆驰运输管理平台",
"navigationBarBackgroundColor": "#2E75E6", "navigationBarBackgroundColor": "#2E75E6",
"backgroundColor": "#fff", "backgroundColor": "#fff",
"app-plus": { "app-plus": {
......
...@@ -31,8 +31,14 @@ ...@@ -31,8 +31,14 @@
<view class="card-header"> <view class="card-header">
<view class="left"> <view class="left">
<text class="name">{{ report.reporter }}</text> <text class="name">{{ report.reporter }}</text>
<text class="status" :class="report.status==='submitted' ? 'submitted' : 'unSubmitted'"> <text v-if="report.status==='submitted'" class="status"
{{ report.status==='submitted' ? '已提交' : '未提交' }} :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> </text>
</view> </view>
<text class="time">{{ report.date || '-' }}</text> <text class="time">{{ report.date || '-' }}</text>
...@@ -40,19 +46,20 @@ ...@@ -40,19 +46,20 @@
<view class="card-content" v-if="report.status==='submitted'"> <view class="card-content" v-if="report.status==='submitted'">
<view class="work-item"> <view class="work-item">
<view class="work-header"> <view class="work-header">
<text class="work-title">今日重点工作</text> <text class="work-title">本周重点工作</text>
</view> </view>
<view class="work-content">{{ report.todayWork }}</view> <view class="work-content">{{ report.weekWork }}</view>
</view> </view>
<view class="work-item"> <view class="work-item">
<view class="work-header"> <view class="work-header">
<text class="work-title">本周重点工作</text> <text class="work-title">今日重点工作</text>
</view> </view>
<view class="work-content">{{ report.weekWork }}</view> <view class="work-content">{{ report.todayWork }}</view>
</view> </view>
</view> </view>
</view> </view>
<view style="height: 10vh;"></view>
<view class="search-more" @click="selectHistory()"><text class="search-more-text"> 查看更多</text></view>
</scroll-view> </scroll-view>
</view> </view>
...@@ -85,19 +92,23 @@ ...@@ -85,19 +92,23 @@
this.onReload() this.onReload()
}, },
methods: { methods: {
selectHistory() {
uni.navigateTo({
url: '/pages/dailyReport/dailyReportHistory'
});
},
selectReport(status) { selectReport(status) {
this.searchStatus = status this.searchStatus = status
this.dailyReportList = [] this.dailyReportList = []
this.initData() this.initData()
}, },
initData() { initData() {
this.staffCode = uni.getStorageSync('staffCode'); this.staffCode = uni.getStorageSync('staffCode');
this.staffKind = uni.getStorageSync('uc_staff_kind'); this.staffKind = uni.getStorageSync('uc_staff_kind');
this.commonName = uni.getStorageSync('commonName'); this.commonName = uni.getStorageSync('commonName');
console.log("this.staffCode"+this.staffCode) console.log("this.staffCode" + this.staffCode)
console.log("this.staffKind"+this.staffKind) console.log("this.staffKind" + this.staffKind)
console.log("this.commonName"+this.commonName) console.log("this.commonName" + this.commonName)
console.log('获取到的commonName:', this.commonName); console.log('获取到的commonName:', this.commonName);
...@@ -145,11 +156,39 @@ ...@@ -145,11 +156,39 @@
</script> </script>
<style lang="scss"> <style lang="scss">
html, body { html,
height: 100%; /* 确保 html 和 body 高度为 100% */ body {
margin: 0; /* 去掉默认的 margin */ height: 100%;
overflow: hidden; /* 禁用滚动条 */ /* 确保 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 { .daily-report {
padding: 15px; padding: 15px;
background: #f5f7fa; background: #f5f7fa;
......
...@@ -9,15 +9,23 @@ ...@@ -9,15 +9,23 @@
</view> </view>
</view> </view>
<view class="content"> <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> <bossCard></bossCard>
</view> </view>
<!-- <view v-if="currentShow === 'dailyReportCreate' && uc_staff_kind!=='boss'"> <!-- <view v-if=" currentShow==='dailyReportCreate' && uc_staff_kind!=='boss'">
<dailyReportCreate></dailyReportCreate> <dailyReportCreate></dailyReportCreate>
</view> --> </view> -->
<view v-if="currentShow === 'dailyReport'"> <view v-if=" currentShow==='dailyReport'">
<dailyReportList></dailyReportList> <dailyReportList></dailyReportList>
</view> </view>
</view> </view>
...@@ -50,23 +58,24 @@ ...@@ -50,23 +58,24 @@
topUserList: [], topUserList: [],
} }
}, },
onLoad() { onLoad(o) {
this.uc_staff_kind = uni.getStorageSync(`uc_staff_kind`); this.uc_staff_kind = uni.getStorageSync(`uc_staff_kind`);
this.updateTopUserList() this.updateTopUserList(o.currentShow)
},
onShow() {
uni.$on('executeChoiceItem', (component) => {
console.log('收到切换组件事件:', component); // 调试日志
this.choiceItem(component);
});
},
onUnload() {
uni.$off('executeChoiceItem');
}, },
//onShow() {
// uni.$on('executeChoiceItem', (component)=> {
// console.log('收到切换组件事件:', component); // 调试日志
// this.choiceItem(component);
// });
// },
// onUnload() {
// uni.$off('executeChoiceItem');
// },
methods: { 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.currentShow = 'bossCard'
this.topUserList = [{ this.topUserList = [{
name: '运营监控', name: '运营监控',
...@@ -74,15 +83,20 @@ ...@@ -74,15 +83,20 @@
url: '/pages/index/index' url: '/pages/index/index'
}, },
]; ];
} else if (this.uc_staff_kind === 'simulatedBoss') { } else if (this.uc_staff_kind === 'simulatedBoss') {
if (o) {
this.currentShow = 'dailyReport' this.currentShow = 'dailyReport'
} else {
this.currentShow = 'bossCard'
}
this.topUserList = [{ this.topUserList = [{
name: '运营监控', name: '运营监控',
key: 'bossCard', key: 'bossCard',
url: '/pages/index/index' url: '/pages/index/index'
}, { }, {
name: '查看日报', name: '个人日报',
key: 'dailyReport', key: 'dailyReport',
url: '/pages/index/index' url: '/pages/index/index'
}, },
...@@ -91,10 +105,20 @@ ...@@ -91,10 +105,20 @@
} else { } else {
this.currentShow = 'dailyReport' this.currentShow = 'dailyReport'
this.topUserList = [{ this.topUserList = [{
name: '查看日报', name: '个人日报',
key: 'dailyReport', key: 'dailyReport',
url: '/pages/index/index' url: '/pages/index/index'
}, ] },
{
name: '订单查询',
key: 'orderQuery',
url: '/pages/index/index'
}, {
name: '订单创建',
key: 'orderCreate',
url: '/pages/index/index'
},
]
} }
}, },
...@@ -208,11 +232,13 @@ ...@@ -208,11 +232,13 @@
userId: item.userId userId: item.userId
} }
}).then(res => { }).then(res => {
console.log('7777777', item, item.userId) console.log('7777777', item, item
.userId)
if (res.data.data.isCarrier) { if (res.data.data.isCarrier) {
this.isCarrier = true; this.isCarrier = true;
this.currentShow = "wayBillQuery"; this.currentShow = "wayBillQuery";
uni.setStorageSync("companyId", res.data uni.setStorageSync("companyId", res
.data
.data.company) .data.company)
} }
}) })
......
<template> <template>
<view class="content_box flex_col" :style="{ backgroundImage: `url(${loginBg})` }"> <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"> <view class="user-info flex_center">
<u-form :model="formData" ref="myForm" errorType='tost'> <u-form :model="formData" ref="myForm" errorType='tost'>
<template> <template>
<u-form-item prop="userName"> <u-form-item prop="userName">
<u-input type="text" v-model="formData.userName" placeholder="请输入账号" /> <u-input type="text" v-model="formData.userName" placeholder="请输入账号" />
...@@ -26,7 +20,7 @@ ...@@ -26,7 +20,7 @@
<u-checkbox-group placement="column" @change="onChanges"> <u-checkbox-group placement="column" @change="onChanges">
<u-checkbox :checked="isChecked" iconSize="30rpx" shape="square" size="20spx" /> <u-checkbox :checked="isChecked" iconSize="30rpx" shape="square" size="20spx" />
</u-checkbox-group> </u-checkbox-group>
<text style="color: #d5d5d6;font-size: 18px;">记住密码</text> <text style="color: black;font-size: 18px;">记住密码</text>
</view> </view>
</view> </view>
...@@ -90,11 +84,11 @@ ...@@ -90,11 +84,11 @@
if (isMobile) { if (isMobile) {
console.log("当前设备为手机或平板"); console.log("当前设备为手机或平板");
// 在这里执行手机端的逻辑 // 在这里执行手机端的逻辑
this.loginBg = 'static/img/bg/souye-bg.jpg' this.loginBg = 'static/img/bg/top.png'
} else { } else {
console.log("当前设备为电脑"); console.log("当前设备为电脑");
// 在这里执行电脑端的逻辑 // 在这里执行电脑端的逻辑
this.loginBg = 'static/img/bg/loginBg.png' this.loginBg = 'static/img/bg/top.png'
} }
this.projectMini = getApp().globalData.projectMini this.projectMini = getApp().globalData.projectMini
...@@ -258,6 +252,8 @@ ...@@ -258,6 +252,8 @@
let data2 = res.data.data let data2 = res.data.data
uni.setStorageSync(`staffCode`, data2.staffCode); uni.setStorageSync(`staffCode`, data2.staffCode);
uni.setStorageSync(`uc_staff_kind`, data2.uc_staff_kind); uni.setStorageSync(`uc_staff_kind`, data2.uc_staff_kind);
uni.setStorageSync(`reporterToName`, data2.reporterToName);
uni.setStorageSync(`reporterToId`, data2.reporterToId);
uni.redirectTo({ uni.redirectTo({
url: "/pages/index/index", url: "/pages/index/index",
}) })
...@@ -298,9 +294,9 @@ ...@@ -298,9 +294,9 @@
height: 100vh; height: 100vh;
color: #FFFFFF; color: #FFFFFF;
letter-spacing: 6rpx; letter-spacing: 6rpx;
background-size: 100% 100%; background-size: 100%;
background-repeat: no-repeat; background-repeat: no-repeat;
padding: 0 32rpx; padding: 140px 16px;
justify-content: space-between; justify-content: space-between;
...@@ -336,13 +332,13 @@ ...@@ -336,13 +332,13 @@
margin-top: 212rpx; margin-top: 212rpx;
/* #endif */ /* #endif */
/* #ifdef H5 || APP-PLUS*/ /* #ifdef H5 || APP-PLUS*/
margin-top: 160rpx; margin-top: 30px;
/* #endif */ /* #endif */
color: #FFFFFF; color: black;
font-size: 32rpx; font-size: 32rpx;
font-weight: bolder; font-weight: bolder;
border-radius: 48rpx; // border-radius: 48rpx;
background: linear-gradient(90deg, #2E75E6 0%, #5E58EE 100%); background: linear-gradient(90deg, #FCC800 0%, #FCC800 100%);
border: none !important; border: none !important;
margin-bottom: 20px; margin-bottom: 20px;
......
...@@ -4,11 +4,6 @@ ...@@ -4,11 +4,6 @@
2. 打包生产模式: 小程序切换url; H5切换ENV_MODEL 2. 打包生产模式: 小程序切换url; H5切换ENV_MODEL
*/ */
let BASEURL = { 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://localhost:8083", //开发
// url: "http://122.112.220.204:8089", //开发 // url: "http://122.112.220.204:8089", //开发
url: "https://stms.bjzc-scs.com", //生产 url: "https://stms.bjzc-scs.com", //生产
......
...@@ -89,10 +89,20 @@ function deepCopy(obj) { ...@@ -89,10 +89,20 @@ function deepCopy(obj) {
return 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 = { module.exports = {
formatTime, formatTime,
getImgBase64, getImgBase64,
formatGMT, formatGMT,
deepCopy deepCopy,
dateTransformYMDhms
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment