zhangxiaoxu123
2022-07-29 55dc1d1d1561075a0ccff79d8d6ac1b901e55527
'提交'
1个文件已修改
788 ■■■■ 已修改文件
pages/jihua/jihua.vue 788 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/jihua/jihua.vue
@@ -1,394 +1,394 @@
<template>
    <view class="jihua-wrap">
        <view class="qiehuan-box">
            <u-tabs :list="tabList" @click="tabClick"></u-tabs>
        </view>
        <view class="jihua-main">
            <view class="shaixuan-box">
                <u-radio-group v-model="radioValue" @change="groupChange">
                    <u-radio style="margin-right: 30rpx;" shape="square" label="全部" name="全部"></u-radio>
                    <u-radio style="margin-right: 30rpx;" shape="square" label="已设置的计划" name="已设置的计划"></u-radio>
                    <!-- <u-radio shape="square" label="未设置的计划" name="未设置的计划"></u-radio> -->
                </u-radio-group>
            </view>
            <div class="main-inside">
                <view v-if="isTomJihua == '全部'">
                    <view class="main-block-box" v-for="(item,index) in fyData" :key="item.id">
                        <view class="jihua-main-line">
                            <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>
                        </view>
                        <view class="jihua-main-line">
                            <view class="main-flex">
                                <view class="carNum-box">
                                    <view>计划车数:</view>
                                    <u--input
                                        placeholder="请输入发运车数"
                                        border="surround"
                                        v-model="item.numPlan"
                                        @change="inputChange"
                                      ></u--input>
                                </view>
                                <view>实际发车数:{{item.numReal || ''}}</view>
                            </view>
                        </view>
                    </view>
                    <u-button class="xiugai-btn" type="primary" text="提交" @click="dataFormSubmit"></u-button>
                </view>
                <view v-if="isTomJihua == '已设置的计划'">
                    <view class="main-block-box" v-for="(item,index) in fyData" :key="item.id">
                        <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>
                        </view>
                        <view class="jihua-main-line">
                            <view class="main-flex">
                                <view class="carNum-box">
                                    <view>计划车数:</view>
                                    <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan"
                                        @change="inputTotalChange(item)"></u--input>
                                </view>
                                <view>实际发车数:{{item.order.numReal || ''}}</view>
                            </view>
                        </view>
                    </view>
                    <u-button class="xiugai-btn" type="primary" text="修改" @click="getOrderCarNum"></u-button>
                </view>
                <!-- <u-empty
                    v-if="fyData.length == 0"
                    mode="data"
                    icon=""
                >
                </u-empty> -->
            </div>
        </view>
        <!-- 菜单栏 -->
        <popup-menu @menuShow="menushow" ref="menuRef"></popup-menu>
    </view>
</template>
<script>
    import popupMenu from '@/components/common/popup-menu/popup-menu.vue';
    export default {
        components: {
            popupMenu
        },
        data() {
            return {
                radioValue: '全部',
                tabList: [{
                    name: '今日发运计划'
                }, {
                    name: '明日发运计划'
                }],
                carValue: 0,
                fyData: [],
                fyData2: [],
                info: {
                    shippingDate: this.todayDate()
                },
                isTomJihua: '全部',
                editRow:'', //修改行的行
                menuShow:false,
            }
        },
        onShow() {
            if(this.menuShow == true){
                this.$refs.menuRef.menuClick()
            }
            this.init()
        },
        // 点击导航栏菜单后
        onNavigationBarButtonTap(e) {
            // console.log(e);
            this.$refs.menuRef.menuClick()
        },
        methods: {
            init() {
                this.fyList()
            },
            menushow(e){
                this.menuShow = e;
            },
            dataFormSubmit() { //提交订单
                this.fyData.forEach(e => {
                    e.shippingDate = this.info.shippingDate
                    if (e.planId && !e.numPlan) {
                        e.numPlan = -1; //删除设置为空的计划
                    }
                    let orderId = e.id;
                    e.id = e.planId;
                    e.orderId = orderId;
                })
                this.$reqPost('addObj', this.fyData).then(res => {
                    this.$u.toast('添加成功')
                    this.fyList()
                })
            },
            getOrderCarNum() { //修改
                this.$reqPost('setCarNums',this.editRow).then(res => {
                    this.$u.toast('修改成功')
                    this.xscarshippingdayplan()
                })
            },
            groupChange(n) {
                console.log(n, 'n================')
                this.isTomJihua = n
                if (n == '已设置的计划') {
                    this.xscarshippingdayplan()
                } else {
                    this.fyList()
                }
            },
            todayDate() {
                let yes = new Date().getTime()
                let date = new Date(yes)
                let y = date.getFullYear()
                let m = date.getMonth() + 1
                m = m < 10 ? ('0' + m) : m
                let d = date.getDate()
                d = d < 10 ? ('0' + d) : d
                const time = y + '-' + m + '-' + d
                console.log('todayDate---------', time)
                return time
            },
            tomorrowDate() {
             let yes = new Date().getTime() + 60 * 24 * 60 * 1000
                let date = new Date(yes)
                let y = date.getFullYear()
                let m = date.getMonth() + 1
                m = m < 10 ? ('0' + m) : m
                let d = date.getDate()
                d = d < 10 ? ('0' + d) : d
                const time = y + '-' + m + '-' + d
                console.log('tomorrowDate---------222', time)
                return time
            },
            fyList() { //列表查询
                uni.showLoading({
                    title: '正在加载...'
                });
                let compId = uni.getStorageSync('userInfo').compId
                let params = {
                    current: 1,
                    size: 100,
                    status: 2,
                    trainType: 1,
                    compId: compId
                }
                this.$reqGet('fyList', params).then(res => {
                    if (res.code == 0) {
                        this.xscarshippingdayplan(res.data);
                    }
                })
            },
            xscarshippingdayplan(allList) { //已经设置的
            console.log(allList,'allList==========')
                let params = {
                    current: 1,
                    size: 50,
                    shippingDate: this.info.shippingDate
                }
                this.$reqGet('xscarshippingdayplan', params).then(res => {
                    if (res.code == 0) {
                        if(!allList) {
                            this.fyData = res.data.records
                            console.log(this.fyData,'this.fyData=========11111111')
                        }else {
                            let l = res.data.records
                            allList.forEach(e => {
                                l.forEach(ee => {
                                    if (e.id == ee.orderId) {
                                        e.numPlan = ee.numPlan;
                                        e.numReal = ee.numReal;
                                        e.planId = ee.id;
                                        if (ee.carNums != null) {
                                            e.carNums = ee.carNums;
                                        }
                                    }
                                })
                            })
                            this.fyData = allList;
                            console.log(this.fyData,'this.fyData=========22222222')
                        }
                        console.log(this.fyData,'this.fyData=========333333333')
                        uni.hideLoading();
                    }
                }).catch(e => {
                    uni.hideLoading();
                })
            },
            tabClick(item) { //切换今日和明日
                console.log(item, 'item==========')
                if (item.index == 1) {
                    this.info.shippingDate = this.tomorrowDate()
                    if (this.isTomJihua == '已设置的计划') {
                        this.xscarshippingdayplan()
                    } else {
                        this.fyList()
                    }
                } else {
                    this.info.shippingDate = this.todayDate()
                    if (this.isTomJihua == '已设置的计划') {
                        this.xscarshippingdayplan()
                    } else {
                        this.fyList()
                    }
                }
            },
            inputChange(val) {
               console.log(val)
            },
            inputTotalChange(val) {
                console.log(val,'val2=======val2')
                this.editRow = val
            }
        }
    }
</script>
<style lang="scss" scoped>
    ::v-deep {
        .u-tabs__wrapper__nav {
            padding-left: vww(75.5)
        }
        .u-radio__text {
            span {
                font-size: vww(14);
            }
        }
        .u-radio{
            margin-right: vww(10);
        }
        .u-radio__text{
            font-size: vww(14)!important;
        }
        .u-input {
            height: vww(16);
            width: vww(100);
        }
        .u-radio-group--row {
            height: 100%;
            width: 100%;
            display: flex;
            justify-content: right;
        }
        .u-radio__icon-wrap {
            width: vww(14) !important;
            height: vww(14) !important;
            ;
        }
    }
    .qiehuan-box {
        position: sticky;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 1;
        background-color: #fff;
    }
    .jihua-wrap {
        width: 100%;
        height: 100%;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        .xiugai-btn {
            position: absolute;
            left: 50%;
            bottom: vww(20);
            width: vww(200);
            transform: translateX(-50%);
            border-radius: vww(20);
        }
    }
    .jihua-main {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: vww(0) vww(10) vww(70) vww(10);
        box-sizing: border-box;
        .main-inside {
            width: 100%;
            height: calc(100% - vww(44));
        }
        .shaixuan-box {
            height: vww(40);
            position: sticky;
            top: vww(44);
            left: 0;
            right: 0;
            width: 100%;
            z-index: 1;
            background-color: #fff;
        }
        .main-block-box {
            box-shadow: 0px 0px 8px 0px rgba(216,218,238,0.80);
            height: vww(120);
            padding: vww(10);
            box-sizing: border-box;
            margin-top: vww(12);
            border-radius: vww(8);
            &:first-child{
                margin-top: vww(5);
            }
            .jihua-main-line {
                width: 100%;
                display: flex;
                view {
                    font-size: vww(14);
                }
                .name {
                    font-weight: 600 !important;
                }
                .main-flex {
                    width: 100%;
                    display: flex;
                    justify-content: space-between;
                    view{
                        font-size: vww(14);
                        line-height: vww(32);
                    }
                    .carNum-box {
                        display: flex;
                        view {
                            font-size: vww(14);
                            line-height: vww(32);
                        }
                    }
                }
            }
        }
    }
</style>
<template>
    <view class="jihua-wrap">
        <view class="qiehuan-box">
            <u-tabs :list="tabList" @click="tabClick"></u-tabs>
        </view>
        <view class="jihua-main">
            <view class="shaixuan-box">
                <u-radio-group v-model="radioValue" @change="groupChange">
                    <u-radio style="margin-right: 30rpx;" shape="square" label="全部" name="全部"></u-radio>
                    <u-radio style="margin-right: 30rpx;" shape="square" label="已设置的计划" name="已设置的计划"></u-radio>
                    <!-- <u-radio shape="square" label="未设置的计划" name="未设置的计划"></u-radio> -->
                </u-radio-group>
            </view>
            <div class="main-inside">
                <view v-if="isTomJihua == '全部'">
                    <view class="main-block-box" v-for="(item,index) in fyData" :key="item.id">
                        <view class="jihua-main-line">
                            <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>
                        </view>
                        <view class="jihua-main-line">
                            <view class="main-flex">
                                <view class="carNum-box">
                                    <view>计划车数:</view>
                                    <u--input
                                        placeholder="请输入发运车数"
                                        border="surround"
                                        v-model="item.numPlan"
                                        @change="inputChange"
                                      ></u--input>
                                </view>
                                <view>实际发车数:{{item.numReal || ''}}</view>
                            </view>
                        </view>
                    </view>
                    <u-button class="xiugai-btn" type="primary" text="提交" @click="dataFormSubmit"></u-button>
                </view>
                <view v-if="isTomJihua == '已设置的计划'">
                    <view class="main-block-box" v-for="(item,index) in fyData" :key="item.id">
                        <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>
                        </view>
                        <view class="jihua-main-line">
                            <view class="main-flex">
                                <view class="carNum-box">
                                    <view>计划车数:</view>
                                    <u--input placeholder="请输入发运车数" border="surround" v-model="item.numPlan"
                                        @change="inputTotalChange(item)"></u--input>
                                </view>
                                <view>实际发车数:{{item.order.numReal || ''}}</view>
                            </view>
                        </view>
                    </view>
                    <u-button class="xiugai-btn" type="primary" text="修改" @click="getOrderCarNum"></u-button>
                </view>
                <!-- <u-empty
                    v-if="fyData.length == 0"
                    mode="data"
                    icon=""
                >
                </u-empty> -->
            </div>
        </view>
        <!-- 菜单栏 -->
        <popup-menu @menuShow="menushow" ref="menuRef"></popup-menu>
    </view>
</template>
<script>
    import popupMenu from '@/components/common/popup-menu/popup-menu.vue';
    export default {
        components: {
            popupMenu
        },
        data() {
            return {
                radioValue: '全部',
                tabList: [{
                    name: '今日发运计划'
                }, {
                    name: '明日发运计划'
                }],
                carValue: 0,
                fyData: [],
                fyData2: [],
                info: {
                    shippingDate: this.todayDate()
                },
                isTomJihua: '全部',
                editRow:'', //修改行的行
                menuShow:false,
            }
        },
        onShow() {
            if(this.menuShow == true){
                this.$refs.menuRef.menuClick()
            }
            this.init()
        },
        // 点击导航栏菜单后
        onNavigationBarButtonTap(e) {
            // console.log(e);
            this.$refs.menuRef.menuClick()
        },
        methods: {
            init() {
                this.fyList()
            },
            menushow(e){
                this.menuShow = e;
            },
            dataFormSubmit() { //提交订单
                this.fyData.forEach(e => {
                    e.shippingDate = this.info.shippingDate
                    if (e.planId && !e.numPlan) {
                        e.numPlan = -1; //删除设置为空的计划
                    }
                    let orderId = e.id;
                    e.id = e.planId;
                    e.orderId = orderId;
                })
                this.$reqPost('addObj', this.fyData).then(res => {
                    this.$u.toast('添加成功')
                    this.fyList()
                })
            },
            getOrderCarNum() { //修改
                this.$reqPost('setCarNums',this.editRow).then(res => {
                    this.$u.toast('修改成功')
                    this.xscarshippingdayplan()
                })
            },
            groupChange(n) {
                console.log(n, 'n================')
                this.isTomJihua = n
                if (n == '已设置的计划') {
                    this.xscarshippingdayplan()
                } else {
                    this.fyList()
                }
            },
            todayDate() {
                let yes = new Date().getTime()
                let date = new Date(yes)
                let y = date.getFullYear()
                let m = date.getMonth() + 1
                m = m < 10 ? ('0' + m) : m
                let d = date.getDate()
                d = d < 10 ? ('0' + d) : d
                const time = y + '-' + m + '-' + d
                console.log('todayDate---------', time)
                return time
            },
            tomorrowDate() {
             let yes = new Date().getTime() + 60 * 24 * 60 * 1000
                let date = new Date(yes)
                let y = date.getFullYear()
                let m = date.getMonth() + 1
                m = m < 10 ? ('0' + m) : m
                let d = date.getDate()
                d = d < 10 ? ('0' + d) : d
                const time = y + '-' + m + '-' + d
                console.log('tomorrowDate---------222', time)
                return time
            },
            fyList() { //列表查询
                uni.showLoading({
                    title: '正在加载...'
                });
                let compId = uni.getStorageSync('userInfo').compId
                let params = {
                    current: 1,
                    size: 100,
                    status: 2,
                    trainType: 1,
                    compId: compId
                }
                this.$reqGet('fyList', params).then(res => {
                    if (res.code == 0) {
                        this.xscarshippingdayplan(res.data);
                    }
                })
            },
            xscarshippingdayplan(allList) { //已经设置的
            console.log(allList,'allList==========')
                let params = {
                    current: 1,
                    size: 50,
                    shippingDate: this.info.shippingDate
                }
                this.$reqGet('xscarshippingdayplan', params).then(res => {
                    if (res.code == 0) {
                        if(!allList) {
                            this.fyData = res.data.records
                            console.log(this.fyData,'this.fyData=========11111111')
                        }else {
                            let l = res.data.records
                            allList.forEach(e => {
                                l.forEach(ee => {
                                    if (e.id == ee.orderId) {
                                        e.numPlan = ee.numPlan;
                                        e.numReal = ee.numReal;
                                        e.planId = ee.id;
                                        if (ee.carNums != null) {
                                            e.carNums = ee.carNums;
                                        }
                                    }
                                })
                            })
                            this.fyData = allList;
                            console.log(this.fyData,'this.fyData=========22222222')
                        }
                        console.log(this.fyData,'this.fyData=========333333333')
                        uni.hideLoading();
                    }
                }).catch(e => {
                    uni.hideLoading();
                })
            },
            tabClick(item) { //切换今日和明日
                console.log(item, 'item==========')
                if (item.index == 1) {
                    this.info.shippingDate = this.tomorrowDate()
                    if (this.isTomJihua == '已设置的计划') {
                        this.xscarshippingdayplan()
                    } else {
                        this.fyList()
                    }
                } else {
                    this.info.shippingDate = this.todayDate()
                    if (this.isTomJihua == '已设置的计划') {
                        this.xscarshippingdayplan()
                    } else {
                        this.fyList()
                    }
                }
            },
            inputChange(val) {
               console.log(val)
            },
            inputTotalChange(val) {
                console.log(val,'val2=======val2')
                this.editRow = val
            }
        }
    }
</script>
<style lang="scss" scoped>
    ::v-deep {
        .u-tabs__wrapper__nav {
            padding-left: vww(75.5)
        }
        .u-radio__text {
            span {
                font-size: vww(14);
            }
        }
        .u-radio{
            margin-right: vww(10);
        }
        .u-radio__text{
            font-size: vww(14)!important;
        }
        .u-input {
            height: vww(16);
            width: vww(100);
        }
        .u-radio-group--row {
            height: 100%;
            width: 100%;
            display: flex;
            justify-content: right;
        }
        .u-radio__icon-wrap {
            width: vww(14) !important;
            height: vww(14) !important;
            ;
        }
    }
    .qiehuan-box {
        position: sticky;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 1;
        background-color: #fff;
    }
    .jihua-wrap {
        width: 100%;
        height: 100%;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        .xiugai-btn {
            position: fixed;
            left: 50%;
            bottom: vww(20);
            width: vww(200);
            transform: translateX(-50%);
            border-radius: vww(20);
        }
    }
    .jihua-main {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: vww(0) vww(10) vww(70) vww(10);
        box-sizing: border-box;
        .main-inside {
            width: 100%;
            height: calc(100% - vww(44));
        }
        .shaixuan-box {
            height: vww(40);
            position: sticky;
            top: vww(44);
            left: 0;
            right: 0;
            width: 100%;
            z-index: 1;
            background-color: #fff;
        }
        .main-block-box {
            box-shadow: 0px 0px 8px 0px rgba(216,218,238,0.80);
            height: vww(120);
            padding: vww(10);
            box-sizing: border-box;
            margin-top: vww(12);
            border-radius: vww(8);
            &:first-child{
                margin-top: vww(5);
            }
            .jihua-main-line {
                width: 100%;
                display: flex;
                view {
                    font-size: vww(14);
                }
                .name {
                    font-weight: 600 !important;
                }
                .main-flex {
                    width: 100%;
                    display: flex;
                    justify-content: space-between;
                    view{
                        font-size: vww(14);
                        line-height: vww(32);
                    }
                    .carNum-box {
                        display: flex;
                        view {
                            font-size: vww(14);
                            line-height: vww(32);
                        }
                    }
                }
            }
        }
    }
</style>