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 {
......
<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,130 +25,150 @@ ...@@ -21,130 +25,150 @@
</template> </template>
<script> <script>
export default { export default {
options: { styleIsolation: 'shared' }, options: {
data() { styleIsolation: 'shared'
return {
singleIndex: 0 //默认选中项
,
};
},
props: {
visible: {
type: Boolean,
default: false
}, },
pickerEnums: { //选择项枚举 data() {
type: Array, return {
default: [] singleIndex: 0 //默认选中项
}, ,
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)
}
};
}, },
getRow(row) { props: {
this.onConfirm(row.value) visible: {
}, type: Boolean,
//设置默认值 default: false
setDefaultValue(index) { },
this.singleIndex = index pickerEnums: { //选择项枚举
}, type: Array,
//取消 default: []
onCancel() { },
this.$emit('onVisible') PanelTitle: { //面板标题
}, type: String,
changeKeyWord(keyWord) { default: ""
this.$emit('changeKeyWord', keyWord) },
visibleNum: {
type: Number,
default: 3
},
visibleType: {
type: String,
default: ''
},
keyWord: {
type: String,
default: ''
}
}, },
dataProcess() { methods: {
let type = this.visibleType moveHandle() {
if (type.includes('destination.name')) {
return [ },
{ name: '系统代码', key: 'code' }, //确定
{ name: '名称', key: 'name' } onConfirm(value) {
] if ((this.visibleType === 'transportMode.name' ||
this.visibleType === 'transportProduct.name' ||
} else if (type.includes('original.name')) { this.visibleType === 'uc_department.name'
return [ )) {
{ name: '系统代码', key: 'code' },
{ name: '名称', key: 'name' } this.$emit('onConfirm', value.value[0].value)
] } else {
} else if (type.includes('project.name')) {
return [ this.$emit('onConfirm', value)
{ name: '系统代码', key: 'code' }, }
{ name: '名称', key: 'name' },
{ name: '外部代码', key: 'referCode' },
{ },
name: '所属组织', key: 'organization.secondParty.name' getRow(row) {
}, this.onConfirm(row.value)
{ },
name: '所属组织代码', key: 'organization.secondParty.code' //设置默认值
}, setDefaultValue(index) {
] this.singleIndex = index
},
} else if (type.includes('thing.code')) { //取消
return [ onCancel() {
{ name: '系统代码', key: 'code' }, this.$emit('onVisible')
{ name: '名称', key: 'name' }, },
{ name: '外部代码', key: 'referCode' }, scrollBottom(){
{ console.log("scrollBottom")
name: '价格', key: 'price' },
}, 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> </script>
<style lang="scss"> <style lang="scss">
.selectPicker { .selectPicker {
/deep/.u-transition { /deep/.u-transition {
height: 60vh; height: 60vh;
} }
.select-list { .select-list {
height: calc(60vh - 30px); height: calc(60vh - 30px);
} }
/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,21 +46,22 @@ ...@@ -40,21 +46,22 @@
<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>
</template> </template>
...@@ -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') {
this.currentShow = 'dailyReport' if (o) {
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'
},
]
} }
}, },
...@@ -173,7 +197,7 @@ ...@@ -173,7 +197,7 @@
}); });
// if (this.isCarrier) { // if (this.isCarrier) {
// this.currentShow = "waybillQuery" // this.currentShow = "waybillQuery"
// } // }
}) })
}, },
...@@ -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