付延余
2022-12-22 05b5c1f397bad8fb53a73ffe55209f573d309f4e
日发运计划接口同步后台更新。完善页面细节
5个文件已修改
332 ■■■■■ 已修改文件
api/global.js 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/jihua/jihua.vue 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/login/login.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/jihua.js 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/request.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/global.js
@@ -1,6 +1,7 @@
// import request from '@/config/request';
import { BaseUrl } from '@/utils/request.js'
// let baseUrl = "/";
// let BaseUrl = "/";
// const CURRENT_KEY = 'CURRENT_KEY';
// const PARAM_KEY = 'PARAM_KEY';
@@ -27,12 +28,6 @@
    });
}
// const baseUrl = 'http://192.168.3.159:9999'
// const baseUrl = 'https://mx.jzeg.cn:443/app';
// let baseUrl = 'http://192.168.0.114:9999';
const baseUrl = "https://mx.jzeg.cn:9998"; // 正式服务
// POST请求
function apiLogin({
    username,
@@ -44,7 +39,7 @@
    return new Promise((resolve, reject) => {
        uni.request({
            url: baseUrl + "/auth/oauth/token?grant_type=password&scope=server",
            url: BaseUrl + "/auth/oauth/token?grant_type=password&scope=server",
            method: "POST",
            data: {
                username,
@@ -79,7 +74,7 @@
    return new Promise((resolve, reject) => {
        uni.request({
            url: baseUrl + `/auth/mobile/token/social?grant_type=mobile&mobile=MINI@${code}`,
            url: BaseUrl + `/auth/mobile/token/social?grant_type=mobile&mobile=MINI@${code}`,
            method: "POST",
            header: {
                "TENANT-ID": "5",
pages/jihua/jihua.vue
@@ -11,17 +11,16 @@
                </u-radio-group>
            </view>
            <view class="main-inside">
                <view v-if="isTomJihua == '全部'">
                <view v-if="isTomJihua == '全部'" class="totalListContainer">
                    <u-empty v-if="fyData.length == 0" mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" class="empty-container"></u-empty>
                    <view id="u-dropdown" class="main-block-box" v-for="(item, index) in fyData" :key="item.id" ref="planViewRef">
                    <view id="u-dropdown" class="main-block-box" v-for="(item, index) in fyData" :key="item.orderId" ref="planViewRef">
                        <view class="jihua-main-line">
                            <!-- <view class="name">客户名称:{{item.customerName || ''}}</view> -->
                            <view class="name">收货单位:{{ item.customerAddressName || '' }}</view>
                            <view class="name">客户名称:{{item.customerName || ''}}</view>
                        </view>
                        <view class="jihua-main-line">
                            <view class="main-flex">
                                <view>煤种:{{ item.coalName || '' }}</view>
                                <view>剩余量:{{ item.executiveSurplus || '' }}</view>
                                <view>煤种:{{ item.order.coalName || '' }}</view>
                                <view style="margin-right:10px">剩余量:{{ item.order.executiveSurplus || '' }} 吨</view>
                            </view>
                        </view>
                        <view class="jihua-main-line">
@@ -31,10 +30,10 @@
                                    <!-- <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan" @change="inputChange" @focus="faYunPlanCarsFocus(item)"></u--input> -->
                                    <view class="planCars" :style="{color:item.numPlan  ? '#111':'#ccc'}" @click="faYunPlanCarsFocus(item)">
                                        <text v-model="item.numPlan">{{ item.numPlan || '点击输入数量' }}</text>
                                        <view class="cursor" v-if="isCursor && fayunPlanFocusId == item.id"><image src="@/static/cursor.gif" mode=""><image></view>
                                        <view class="cursor" v-if="isCursor && fayunPlanFocusId == item.orderId"><image src="@/static/cursor.gif" mode=""><image></view>
                                    </view>
                                </view>
                                <view>实际发车数:{{ item.numReal || '暂无' }}</view>
                                <view style="margin-right:10px">实际发车数:{{ item.numReal || '暂无' }}</view>
                            </view>
                        </view>
                        <u-keyboard    
@@ -57,14 +56,14 @@
                </view>
                <view v-if="isTomJihua == '已设置的计划'">
                    <u-empty v-if="fyData.length == 0" mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" class="empty-container"></u-empty>
                    <view class="main-block-box" v-for="(item, index) in fyData" :key="item.id">
                    <view class="main-block-box" v-for="(item, index) in fyData" :key="item.orderId">
                        <view class="jihua-main-line">
                            <view class="name">客户名称:{{ item.customerName || '' }}</view>
                        </view>
                        <view class="jihua-main-line">
                            <view class="main-flex">
                                <view>煤种:{{ item.order.coalName || '' }}</view>
                                <view>剩余量:{{ item.order.executiveSurplus || '' }}</view>
                                <view style="margin-right:10px">剩余量:{{ item.order.executiveSurplus || '' }} 吨</view>
                            </view>
                        </view>
                        <view class="jihua-main-line">
@@ -74,12 +73,12 @@
                                    <!-- <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan" @change="inputTotalChange(item)" @focus="faYunPlanCarsFocus(item)"></u--input> -->
                                    <view class="planCars" :style="{color:item.numPlan  ? '#111':'#ccc'}" @click="faYunPlanCarsFocus(item)">
                                        <text v-model="item.numPlan">{{ item.numPlan || '点击输入数量' }}</text>
                                        <view class="cursor" v-if="isCursor && fayunPlanFocusId == item.id">
                                        <view class="cursor" v-if="isCursor && fayunPlanFocusId == item.orderId">
                                            <image src="@/static/cursor.gif" mode="" />
                                        </view>
                                    </view>
                                </view>
                                <view>实际发车数:{{ item.order.numReal == null ? '暂无' : item.order.numReal }}</view>
                                <view style="margin-right:10px">实际发车数:{{ item.numReal == null ? '暂无' : item.numReal }}</view>
                            </view>
                        </view>
                        <u-keyboard
@@ -97,10 +96,18 @@
                            zIndex="100000"
                        ></u-keyboard>
                    </view>
                    <u-button class="xiugai-btn" type="primary" text="修改" @click="editPlan"></u-button>
                </view>
            </view>
        </view>
        <!-- 修改弹出框 -->
        <u-popup :show="editPopupShow" @close="editPopupClose" @open="editPopupOpen" mode="top" round="10">
            <view class="editPopup">
                <view class="editPopup__title"><text>计划车数</text></view>
                <view class="editPopup__input"><u--input v-model="keyBoardValue" @change="change" placeholder="请输入内容" type="number" border="surround"></u--input></view>
                <!-- <view class="editPopup__btn"><u-button text="确定" type="primary" @click="popupDetermineClick"></u-button></view> -->
            </view>
        </u-popup>
        <view class="back-top-container"><u-back-top :scroll-top="scrollTop" icon="arrow-up" mode="square"></u-back-top></view>
        <!-- 菜单栏 -->
@@ -111,6 +118,7 @@
<script>
import popupMenu from '@/components/common/popup-menu/popup-menu.vue';
import tool from '@/utils/tool.js';
import { TrackOpTypes } from "vue";
export default {
    components: {
        popupMenu
@@ -133,6 +141,7 @@
                shippingDate: this.todayDate()
            },
            isTomJihua: '全部',
            editPopupShow:false,// 修改弹出框
            editRow: '', //修改行的行
            menuShow: false,
            scrollTop: 0, // 返回顶部按钮绑定,
@@ -156,7 +165,6 @@
    },
    // 点击导航栏菜单后
    onNavigationBarButtonTap(e) {
        // console.log(e);
        this.$refs.menuRef.menuClick();
    },
    mounted() {
@@ -176,14 +184,10 @@
        },
        keyBoardValue: {
            handler: function(newV, oldV) {
                console.log('键盘输入值', newV, oldV);
                this.fyData.map(item => {
                    if (item.id == this.fayunPlanFocusId) {
                    if ( this.isTomJihua == '全部'&&item.orderId == this.fayunPlanFocusId) {
                        if (item.numPlan && item.numPlan != newV) {
                            item.numPlan = this.keyBoardValue;
                            if (this.isTomJihua == '已设置的计划') {
                                this.editRow = item;
                            }
                        }
                    }
                });
@@ -193,7 +197,6 @@
        },
        scrollTop: {
            handler: function(newV, oldV) {
                // console.log('页面滑动', newV);
                if (newV != oldV) {
                    this.keyBoardClose();
                    // this.keyBoardShow = false;
@@ -210,51 +213,7 @@
        menushow(e) {
            this.menuShow = e;
        },
        //提交
        dataFormSubmit() {
            console.log('日发运计划更新数据提交',this.fyData);
                this.overlayShow = true;
                this.fyData.forEach(e => {
                    e.shippingDate = this.info.shippingDate;
                    if (e.planId && !e.numPlan) {
                        e.numPlan = -1; // 删除设置为空的计划
                    }
                    let orderId = e.id;  // 订单id
                    e.orderId = orderId;
                    // e.id = e.planId;
                });
                this.$reqPost('addObj', this.fyData).then(res => {
                    console.log('addObj接口返回',res);
                    this.$u.toast('添加成功');
                    this.fyList();
                });
        },
        // 全部日计划提交按钮防抖
        submit:tool.throttle(function(){
                this.dataFormSubmit();
        }),
        // 修改日计划按钮
        getOrderCarNum() {
            //修改
            this.$reqPost('setCarNums', this.editRow).then(res => {
                this.$u.toast('修改成功');
                this.xscarshippingdayplan();
            });
        },
        // 修改日计划防抖按钮
        editPlan:tool.throttle(function(){
            this.getOrderCarNum();
        }),
        // 切换全部和已设置
        groupChange(n) {
            console.log(n, 'n================');
            this.isTomJihua = n;
            if (n == '已设置的计划') {
                this.xscarshippingdayplan();
            } else {
                this.fyList();
            }
        },
        // 全部计划列表
        fyList() {
            this.overlayShow = true;
            //列表查询
@@ -264,22 +223,22 @@
            let compId = uni.getStorageSync('userInfo').compId;
            let params = {
                current: 1,
                size: 100,
                size: 900,
                status: 2,
                trainType: 1,
                compId: compId
                compId: compId,
                endDate: this.info.shippingDate
            };
            this.$reqGet('fyList', params).then(res => {
                if (res.code == 0) {
                    console.log('fylist--------',res.data);
                    this.xscarshippingdayplan(res.data);
                    this.fyData = res.data;
                    uni.hideLoading();
                    this.overlayShow = false;
                }
            });
        },
        xscarshippingdayplan(allList) {
            uni.showLoading({
                title: '正在加载...'
            });
        // 已设置计划列表
        xscarshippingdayplan() {
            this.overlayShow = true;
            //已经设置的
            let params = {
@@ -287,29 +246,13 @@
                size: 50,
                shippingDate: this.info.shippingDate
            };
            uni.showLoading({
                title: '正在加载...'
            });
            this.$reqGet('xscarshippingdayplan', params)
                .then(res => {
                    console.log('不知道是什么---------------',res);
                    if (res.code == 0) {
                        if (allList) {
                            let selectFyData = res.data.records;
                            allList.forEach(e => {
                                selectFyData.forEach(ee => {
                                    if (e.id == ee.orderId) {
                                        e.numPlan = ee.numPlan;
                                        e.numReal = ee.numReal;
                                        // e.planId = ee.id;
                                        console.log('修改planid操作',`planId:${ee.id}`);
                                        if (ee.carNums != null) {
                                            e.carNums = ee.carNums;
                                        }
                                    }
                                });
                            });
                            this.fyData = allList;
                        } else {
                            this.fyData = res.data.records;
                        }
                        this.fyData = res.data.records;
                        uni.hideLoading();
                        this.overlayShow = false;
                    }
@@ -319,9 +262,82 @@
                    this.overlayShow = false;
                });
        },
        //提交
        dataFormSubmit() {
            this.overlayShow = true;
            this.fyData.forEach(e => {
                if(!e.shippingDate && e.numPlan){
                    e.shippingDate = this.info.shippingDate
                }
            });
            this.$reqPost('addObj', this.fyData).then(res => {
                if(res.code == 0){
                    setTimeout(()=>{
                        uni.showToast({
                            title:'更新成功!',
                            icon:'none',
                            duration:1000
                        })
                    },0)
                    this.fyList();
                }
            });
        },
        // 全部日计划提交按钮防抖
        submit:tool.throttle(function(){
                this.dataFormSubmit();
        }),
        // 修改日计划按钮
        getOrderCarNum() {
            this.overlayShow = true;
            uni.showLoading({
                title:'加载中...'
            })
            //修改
             this.$reqPost('setCarNums', this.editRow).then(res => {
                uni.hideLoading();
                if(res.code == 0){
                    // 设置setTimeout是避免uni.showToast被uni.showLoading覆盖掉
                    setTimeout(()=>{
                        uni.showToast({
                            title:'修改成功',
                            icon:'none',
                            duration:1000,
                            position:'bottom'
                        })
                    },0)
                }else{
                    setTimeout(()=>{
                        uni.showToast({
                            title:'修改失败',
                            icon:'none',
                            duration:1000
                        })
                    },0)
                }
                this.overlayShow = false;
                this.xscarshippingdayplan();
            });
        },
        // 修改弹出框
        editPopupClose(){
            console.log('修改弹出框Close');
            // this.editPopupShow = false;
        },
        editPopupOpen(){
            console.log('修改弹出框Open');
        },
        // 切换全部和已设置
        groupChange(n) {
            this.isTomJihua = n;
            if (n == '已设置的计划') {
                this.xscarshippingdayplan();
            } else {
                this.fyList();
            }
        },
        //切换今日和明日
        tabClick(item) {
            console.log(item, 'item==========');
            if (item.index == 1) {
                this.info.shippingDate = this.tomorrowDate();
                if (this.isTomJihua == '已设置的计划') {
@@ -351,21 +367,28 @@
            // let boxBottom = document.getElementById('#u-dropdown');
            // console.log('元素',boxBottom);
            // let bottom = this.$refs.planViewRef.offsetHeight
            this.fayunPlanFocusId = item.id;
            this.keyBoardShow = true;
            this.isCursor = true;
            this.fayunPlanFocusId = item.orderId;
            this.keyBoardValue = item.numPlan + '';
            if(this.isTomJihua == '已设置的计划'){
                this.editPopupShow = true;
            } else{
                this.isCursor = true;
            }
        },
        // 键盘
        valChange(val) {
            // this.keyBoardValue += val;
            // 将每次按键的值拼接到value变量中,注意+=写法
            this.fyData.map(item => {
                if (item.id == this.fayunPlanFocusId) {
                if (item.orderId == this.fayunPlanFocusId) {
                    if (item.numPlan) {
                        item.numPlan = this.keyBoardValue += val + '';
                        this.keyBoardValue = item.numPlan;
                        if(this.isTomJihua == '全部'){
                            item.numPlan = this.keyBoardValue += val + '';
                            this.keyBoardValue = item.numPlan;
                        }else{
                            this.keyBoardValue = this.keyBoardValue += val + '';
                        }
                    } else {
                        item.numPlan = val;
                        this.keyBoardValue = item.numPlan;
@@ -376,18 +399,28 @@
        backspace() {
            this.keyBoardValue = this.keyBoardValue.substr(0, this.keyBoardValue.length - 1);
        },
        keyBoardConfirm(val) {
            console.log('键盘点击确定的值', val);
        // 键盘点击确定
        keyBoardConfirm() {
            if(this.isTomJihua == '已设置的计划'){
                this.fyData.map(item => {
                    if (item.orderId == this.fayunPlanFocusId) {
                        item.numPlan = this.keyBoardValue;
                        this.editRow = item;
                    }
                });
                this.getOrderCarNum();
            }
            this.keyBoardClose();
        },
        keyBoardCancel() {
            this.keyBoardClose();
        },
        // 键盘关闭了
        keyBoardClose() {
            console.log('键盘关闭了');
            this.fayunPlanFocusId = null;
            this.keyBoardShow = false;
            this.isCursor = false;
            this.editPopupShow = false;
        },
        todayDate() {
            let yes = new Date().getTime();
@@ -398,7 +431,6 @@
            let d = date.getDate();
            d = d < 10 ? '0' + d : d;
            const time = y + '-' + m + '-' + d;
            console.log('todayDate---------', time);
            return time;
        },
        tomorrowDate() {
@@ -410,7 +442,6 @@
            let d = date.getDate();
            d = d < 10 ? '0' + d : d;
            const time = y + '-' + m + '-' + d;
            console.log('tomorrowDate---------222', time);
            return time;
        }
    }
@@ -439,15 +470,7 @@
        width: vww(100);
        z-index: 1;
    }
    .u-button {
        position: fixed !important;
        left: 50%;
        bottom: vww(20);
        width: vww(200) !important;
        transform: translateX(-50%);
        border-radius: vww(20);
        z-index: 9999;
    }
    .u-radio-group--row {
        height: 100%;
        width: 100%;
@@ -469,6 +492,19 @@
    }
}
::v-deep.totalListContainer{
    .u-button {
        position: fixed !important;
        left: 50%;
        bottom: vww(20);
        width: vww(200) !important;
        transform: translateX(-50%);
        border-radius: vww(20);
        z-index: 9999;
    }
}
.qiehuan-box {
    position: fixed;
    top: 0;
@@ -480,7 +516,7 @@
    background-color: #fff;
}
.jihua-wrap {
::v-deep.jihua-wrap {
    width: 100%;
    height: 100%;
    // overflow-y: auto; // 会引起键盘弹出页面布局
@@ -495,6 +531,7 @@
    //     transform: translateX(-50%);
    //     border-radius: vww(20);
    // }
}
.jihua-main {
@@ -584,4 +621,33 @@
        }
    }
}
// 修改计划车辆弹出框
::v-deep.editPopup {
        height: vww(110);
        &__title {
            margin-top: vww(10);
            text-align: center;
        }
        &__input {
            margin: vww(10) auto 0;
            .u-input {
                width:80%;
                margin:0 auto!important;
                border: 1px solid #dddddd;
            }
        }
        // &__btn {
        //     margin: vww(80) auto;
        //     width: 50%;
        //     .u-button {
        //         height: vww(40);
        //     }
        // }
    }
</style>
pages/login/login.vue
@@ -232,6 +232,8 @@
                 // password: '123456aaa',
                // username: 'gequan',
                // password: 'gequan!@#$',
                // username: 'dongpang',
                // password: 'dongpang!@#',
                username: '',
                password: ''
             },
utils/jihua.js
@@ -5,10 +5,24 @@
        method: 'GET'
    },
    // 发运列表
    fyList: {
        url: '/yunxiao/contractorder/fyList',
        method: 'GET'
    /**
     * 這是有bug的接口
     */
    // fyList: {
    //     url: '/yunxiao/contractorder/fyList',
    //     method: 'GET'
    // },
    /**
     * 這是正確的
     */
    fyList:{
        url:'/yunxiao/xscarshippingdayplan/fyList',
        method:'GET'
    },
    xscarshippingdayplan: {
        url: '/yunxiao/xscarshippingdayplan/page',
        method: 'GET'
utils/request.js
@@ -85,6 +85,7 @@
// let BaseUrl = 'http://192.168.3.159:9999';
// const BaseUrl = 'https://mx.jzeg.cn:443/app';
// let BaseUrl = 'http://192.168.0.114:9999';
// const BaseUrl = 'http://192.168.0.102:9999'; // 飞哥
const BaseUrl = "https://mx.jzeg.cn:9998"; // 正式服务