qingyiay
2023-09-16 71a830c0c6adfd19dd726abe6772df35e94313e9
重做装卸员页面 司机异常原因修改
9个文件已修改
1个文件已添加
420 ■■■■ 已修改文件
api/globalApi.js 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/driver-page/driver-index/driver-index.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/loadUnload-page/loadUnload-detail/loadUnload-detail.vue 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/loadUnload-page/loadUnload-page.vue 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/loadUnload-page/selectTarget/selectTarget.vue 190 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/tabbar-page/index-tabbar/index-tabbar.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
store/index.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/globalApi.js
@@ -429,5 +429,18 @@
    printer: {
        url: '/wrzs/printer/handler',
        method: 'GET'
    },
    /**
     * @description 装卸员通过负责的单位查询煤场*/
    getDeptIdFiled: {
        url: '/wrzs/jccoalfiled/getDeptIdFiled',
        method: 'GET'
    },
    /**
     * @description 装卸员查看煤场下所有的煤种类型
     */
    getFiledIdCoalBunker: {
        url: '/wrzs/jccoalbunker/getFiledIdCoalBunker',
        method: 'GET'
    }
}
pages.json
@@ -240,7 +240,16 @@
            }
        }
    ],
        ,{
            "path" : "pages/loadUnload-page/selectTarget/selectTarget",
            "style" :
            {
                "navigationBarTitleText": "",
                "enablePullDownRefresh": false
            }
        }
    ],
    "subPackages": [{
            "root": "pages/register",
            "pages": [{
pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue
@@ -548,6 +548,7 @@
                this.$reqGet('printer', { type: 2, tmId: this.coalDetailsData.id }).then(res => {
                    uni.hideLoading()
                    this.enterLoading = false
                    console.log(res);
                    if (res.code === 0) {
                        this.$u.toast('打印成功')
                    } else {
pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue
@@ -207,7 +207,7 @@
                    <view class="suffix">{{ weighList.orderSurplus ||""  }}</view>
                    <text style="color: #ff6363;font-weight: bold;font-size: 26rpx;"
                        class="error-tip"
                        v-show="isweigh">* 订单余量不足</text>
                        v-show="orderSurplusLess">* 订单余量不足</text>
                </view>
            </view>
        </view>
@@ -252,11 +252,14 @@
                @cancel="abnormalCancel"
                confirmText="提交">
                <view class="slot-content">
                    <u--form labelPosition="top">
                        <u-form-item>
                            <u-textarea v-model="abnormalContent"
                    <u--form labelPosition="top"
                        :model='abnormalForm'
                        :rules="rules"
                        ref="uForm">
                        <u-form-item prop="abnormalContent">
                            <u-textarea v-model="abnormalForm.abnormalContent"
                                confirmType="done"
                                placeholder="请输入异常原因"
                                placeholder="请输入异常原因(字数不少于5个字)"
                                height='140'
                                count
                                border="surround"
@@ -340,6 +343,7 @@
                primaryClean: null,
                // 判断称重按钮是否可用
                isweigh: false,
                orderSurplusLess: false,
                // 外购类型称重填写毛,皮,
                firstHairCustomernameShow: false,
                coalContactHair: '',
@@ -350,7 +354,9 @@
                // 外购第一次称毛重不需要加减吨
                outBuy: true,
                // 皮重异常相关
                abnormalContent: '',
                abnormalForm: {
                    abnormalContent: '',
                },
                avgSkin: '', // 平均皮重
                isAbnormalAvgSkin: true, //平均皮重是否异常
                tmTaskCoalList: [],
@@ -359,7 +365,26 @@
                historyShow: false,
                // 是否在称皮重,点击确定称重判断是否异常
                isSkinWeigh: false,
                errorTipShow: false
                errorTipShow: false,
                rules: {
                    abnormalContent: [{
                            required: true,
                            message: "请填写异常原因",
                            trigger: ['blur', 'change'],
                            type: 'string'
                        },
                        {
                            validator: (rule, value, callback) => {
                                if (value.length < 5) {
                                    callback(new Error('原因不可少于5个字'))
                                } else {
                                    callback()
                                }
                            }
                        },
                    ]
                }
            };
        },
        watch: {
@@ -402,6 +427,7 @@
                            this.isweigh = this.temporaryWeighObj.clean > this.weighList.orderSurplus || this
                                .temporaryWeighObj
                                .clean < 0;
                            this.orderSurplusLess = this.temporaryWeighObj.clean > this.weighList.orderSurplus
                        }
                    }
                }
@@ -541,7 +567,8 @@
                    carNo: this.weighData.carNo,
                    tmId: this.weighData.tmId,
                    filedId: this.weighData.filedId,
                    equipmentCode: this.weighData.equipmentCode
                    equipmentCode: this.weighData.equipmentCode,
                    weigh: this.weighData.weigh
                }, 'json').then(res => {
                    if (res.code == 0) {
                        this.$u.toast('操作成功,即将返回上一页');
@@ -564,7 +591,12 @@
                this.$reqPost('getTwoEvacuation', this.weighData, 'json').then(res => {
                    console.log(res, '第二次放空');
                    if (res.code == 0) {
                        this.$u.toast('操作成功');
                        this.$u.toast('操作成功,即将返回上一页');
                        setTimeout(() => {
                            uni.navigateBack({
                                delta: 1
                            });
                        }, 1000);
                        this.evacuationModalShow = false;
                    } else {
                        this.$u.toast(res.msg ? res.msg : '操作失败');
pages/driver-page/driver-index/driver-index.vue
@@ -256,6 +256,7 @@
    import combinedTitle from '@/components/combined-title/combined-title.vue';
    import previewImage from '@/components/kxj-previewImage/kxj-previewImage.vue';
    import { mapState } from 'vuex'
    import { BaseUrl } from '@/api/publicInterface.js'
    export default {
        components: {
            combinedTitle,
@@ -297,7 +298,8 @@
                fleetId: '',
                xsUserId: '',
                customerId: '',
                isFirstLogin: true //是否是第一次登录
                isFirstLogin: true, //是否是第一次登录
                phone: ""
            };
        },
        onShow() {
@@ -389,6 +391,25 @@
            noobTour() {
                this.$refs.previewImage.open('https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj1.png')
            },
            getLogOn() {
                this.$reqGet('getUserEntity').then(res => {
                    this.phone = res.data.phone
                }).then(() => {
                    uni.request({
                        url: `${BaseUrl}/admin/log/getLogOnType?phone=${this.phone}`,
                        success: res => {
                            // res.data.data 为1 代表第一次登录  为0取消学习指引 为2 代表存在
                            if (res.data.data === 1) {
                                this.noobTour()
                            } else if (res.data.data === 2) {
                                this.isFirstLogin = true
                            } else {
                                this.isFirstLogin = false
                            }
                        }
                    });
                })
            },
        }
    };
</script>
pages/loadUnload-page/loadUnload-detail/loadUnload-detail.vue
@@ -27,34 +27,32 @@
                        </view>
                        <view class="num">{{ item.hair }}</view>
                    </view>
                    <view class="item">
                        <view class="concrete"
                            :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/clean.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }">
                            净
                </view>
                <view class="info-container">
                    <view class="info-block">
                        <view class="order-type info">
                            订单类型:{{item.orderType}}
                        </view>
                        <view class="num">{{ item.clean }}</view>
                        <view class="car-num info">
                            车牌号:{{item.carNo}}
                        </view>
                        <view class="file-name info">
                            状态:{{coalStatus[item.status]}}
                        </view>
                        <view class="order-margin info">
                            煤种名称:{{item.coalName}}
                        </view>
                    </view>
                </view>
                <view class="order-type info">
                    订单类型:{{item.orderType}}
                </view>
                <view class="car-num info">
                    车牌号:{{item.carNo}}
                </view>
                <view class="file-name info">
                    煤场名称:{{item.filedName}}
                </view>
                <view class="order-margin info">
                    煤种名称:{{item.coalName}}
                </view>
                <view class="confirm-button info">
                <view class="confirm-button">
                    <u-button plain
                        type="primary"
                        text="确定装卸"
                        shape="circle"
                        @click.stop="loadOrder(item.id)"
                        :loading="loading"
                        loadingText="确认"></u-button>
                        loadingText="确认"
                        v-if='item.isPretendDischar===0'></u-button>
                </view>
            </view>
        </view>
@@ -76,7 +74,10 @@
                onlineurl,
                loadShow: false, // 确认弹窗控制
                loading: false,
                id: ""
                id: "",
                coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入煤仓', '出煤仓', '放空', '作废', '入场申请',
                    '进入场院', '异常审核中'
                ], // 状态
            }
        },
        onLoad(params) {
@@ -130,7 +131,7 @@
        .collection-form-item {
            width: 690rpx;
            height: 400rpx;
            height: 380rpx;
            background: #ffffff;
            box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15);
            border-radius: 20rpx;
@@ -142,11 +143,13 @@
            margin-top: vww(10);
            .weigh-item {
                width: 100%;
                width: 94%;
                height: vww(36);
                margin: vww(10);
                margin: 0 vww(10);
                @include flex;
                justify-content: space-around;
                position: relative;
                top: vww(-14);
                .item {
                    min-width: vww(50);
@@ -171,17 +174,33 @@
                }
            }
            .info {
                height: vww(20);
                color: #515151;
                margin: vww(5);
                margin-left: vww(20);
            .info-container {
                width: 100%;
                height: vww(100);
                display: flex;
                justify-content: center;
                .info-block {
                    width: 600rpx;
                    height: vww(80);
                    display: flex;
                    justify-content: center;
                    flex-wrap: wrap;
                }
                .info {
                    width: 45%;
                    height: vww(20);
                    color: #515151;
                    margin: vww(5);
                }
            }
            .confirm-button {
                width: vww(80);
                position: absolute;
                bottom: vww(20);
                bottom: vww(6);
                right: vww(10);
            }
        }
pages/loadUnload-page/loadUnload-page.vue
@@ -5,29 +5,15 @@
                <view class="wait-collection"
                    style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/customerbanner.png') no-repeat;background-size:contain">
                </view>
                <view style="position: relative;top: -120px;">
                <!-- <view style="position: relative;top: -120px;">
                    <u-empty mode="data"
                        icon="http://cdn.uviewui.com/uview/empty/data.png"
                        textSize="30"
                        iconSize="1000"
                        v-if="CoalNameList.length == 0"></u-empty>
                </view>
                <view class="collection-form">
                    <view class="collection-form-item"
                        v-for="(item, index) in CoalNameList"
                        :key="index">
                        <view class="first-line">
                            <view class="dispatch-receive">
                                <view class="dispatch">煤种名称:{{ item }}</view>
                            </view>
                            <view class="">
                                <u-button type="primary"
                                    plain
                                    text="选择"
                                    @click.stop="loadUnloadHandle(item)"></u-button>
                            </view>
                        </view>
                    </view>
                </view> -->
                <view class="">
                    <selectTarget ref='selectTarget'></selectTarget>
                </view>
            </view>
        </view>
@@ -35,10 +21,14 @@
</template>
<script>
    import selectTarget from '@/pages/loadUnload-page/selectTarget/selectTarget.vue'
    export default {
        components: {
            selectTarget
        },
        data() {
            return {
                CoalNameList: []
            };
        },
        onLoad() {
@@ -46,24 +36,8 @@
        },
        methods: {
            init() {
                this.getCoalNameAllHandle()
            },
            getCoalNameAllHandle() {
                uni.showLoading({
                    title: "加载中"
                })
                this.$reqGet('getCoalNameAll').then(res => {
                    uni.hideLoading()
                    if (res.code === 0) {
                        this.CoalNameList = res.data
                    } else {
                        this.$u.toast('加载失败')
                    }
                })
            },
            loadUnloadHandle(name) {
                uni.navigateTo({
                    url: `/pages/loadUnload-page/loadUnload-detail/loadUnload-detail?coalName=${name}`
                this.$nextTick(() => {
                    this.$refs.selectTarget.getDeptIdFiled()
                })
            }
        },
pages/loadUnload-page/selectTarget/selectTarget.vue
New file
@@ -0,0 +1,190 @@
<template>
    <view class="main">
        <u--form labelPosition="top"
            labelWidth="20%"
            :borderBottom="false"
            :model="dataForm"
            ref="uForm">
            <u-form-item label="煤场"
                prop="firstClass"
                :borderBottom="false">
                <u-cell-group>
                    <u-cell :title="dataForm.firstClass"
                        value="请选择"
                        @click="firstClassSelect">
                        <u-icon name="arrow-right"
                            slot="right-icon"
                            size="30"></u-icon></u-cell>
                </u-cell-group>
            </u-form-item>
            <u-form-item label="煤仓"
                prop="secondClass"
                :borderBottom="false">
                <u-cell-group>
                    <u-cell :title="dataForm.secondClass"
                        value="请选择"
                        @click="secondClassSelect">
                        <u-icon name="arrow-right"
                            slot="right-icon"
                            size="30"></u-icon></u-cell>
                </u-cell-group>
            </u-form-item>
        </u--form>
        <view class="coal-name"
            v-show="coalList.length!==0">
            <u-checkbox-group v-model="checkedCoal"
                placement="row"
                @change="checkboxChange"
                size="30">
                <u-checkbox :customStyle="{marginBottom: '8px',fontSize:'20px'}"
                    v-for="(item, index) in coalList"
                    :key="item.id"
                    :label="item.name"
                    :name="item.name"
                    labelSize='40'
                    iconSize='40'></u-checkbox></u-checkbox-group>
        </view>
        <view style="margin-top: 20rpx;">
            <u-button type="primary"
                shape="circle"
                text="提交"
                @click.stop="formHandle"></u-button>
        </view>
        <!-- 煤场 -->
        <u-action-sheet :actions="firstClassActionsList"
            :show="firstClassShow"
            cancelText='取消'
            :closeOnClickOverlay='true'
            @close='firstClassClose'
            @select="firstClassSelectClick"></u-action-sheet>
        <!-- 煤仓 -->
        <u-action-sheet :actions="secondClassActionsList"
            :show="secondClassShow"
            cancelText='取消'
            :closeOnClickOverlay='true'
            @close='secondClassClose'
            @select="secondClassSelectClick"></u-action-sheet>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                dataForm: {
                    firstClass: "",
                    secondClass: "",
                },
                index: '',
                // 煤场操作菜单
                firstClassActionsList: [],
                firstClassShow: false,
                // 煤仓操作菜单
                secondClassActionsList: [],
                secondClassShow: false,
                coalList: [],
                checkedCoal: [],
                userInfo: {},
                filedId: "",
                selectedCoal: []
            };
        },
        methods: {
            getUserInfo() {
                this.$reqGet('getUserEntity').then(res => {
                    this.userInfo = res.data;
                    this.userInfo.password = null
                })
            },
            // 获取煤场
            getDeptIdFiled() {
                uni.showLoading({
                    title: "加载中"
                })
                this.$reqGet('getDeptIdFiled').then(res => {
                    uni.hideLoading()
                    if (res.code === 0) {
                        this.firstClassActionsList = res.data
                    } else {
                        this.$u.toast('加载失败')
                    }
                }).then(() => {
                    this.getUserInfo()
                })
            },
            firstClassSelect() {
                this.firstClassShow = true
            },
            firstClassClose() {
                this.firstClassShow = false
            },
            firstClassSelectClick(val) {
                this.dataForm.firstClass = val.name
                this.getFiledIdCoalBunker(val.id)
                this.filedId = val.id
            },
            // 获取煤仓
            getFiledIdCoalBunker(filedId) {
                this.$reqGet('getFiledIdCoalBunker', { filedId, }).then(res => {
                    this.secondClassActionsList = res.data
                })
            },
            //煤仓菜单
            secondClassSelect() {
                this.secondClassShow = true
            },
            secondClassClose() {
                this.secondClassShow = false
            },
            secondClassSelectClick(val) {
                this.dataForm.secondClass = val.name
                this.coalList = this.secondClassActionsList.find(v => v.id === val.id).coalNames.split(',').map(v => {
                    return {
                        name: v,
                        id: Math.floor(Math.random() * 100) + 1,
                        checked: false
                    }
                })
                console.log(this.coalList);
            },
            checkboxChange(e) {
                this.selectedCoal = e
            },
            formHandle() {
                this.$reqPost('updateUser', Object.assign(this.userInfo, {
                    responsibilityCoal: this.selectedCoal.join(),
                    filedId: this
                        .filedId
                }), 'json').then(res => {
                    uni.navigateTo({
                        url: `/pages/loadUnload-page/loadUnload-detail/loadUnload-detail`
                    })
                })
            }
        }
    }
</script>
<style lang="scss"
    scoped>
    .main {
        width: 94%;
        margin: 10px;
        // margin-top: vww(100);
        position: relative;
        top: vww(-120);
    }
    .slide-fade-enter-active {
        transition: all 0.3s ease-out;
    }
    .coal-name {
        width: 95%;
        min-height: vww(100);
        .u-checkbox-group {
            .u-checkbox {}
        }
    }
</style>
pages/tabbar-page/index-tabbar/index-tabbar.vue
@@ -25,6 +25,8 @@
            :indexdriverBillOfLoadingData="indexdriverBillOfLoadingData"></driver-index>
        <load-unload ref="LoadUnloadRef"
            v-if="roleType == 5"></load-unload>
        <!--         <selectTarget v-if="roleType == 5"
            ref="LoadUnloadRef"></selectTarget> -->
        <tab-bar :current="0"></tab-bar>
        <!-- 推送消息弹窗 -->
        <u-modal :show="messagePushShow"
@@ -42,6 +44,7 @@
    import driverIndex from '@/pages/driver-page/driver-index/driver-index.vue';
    import freightForwarderIndex from '@/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue';
    import LoadUnload from '@/pages/loadUnload-page/loadUnload-page.vue'
    import selectTarget from '@/pages/loadUnload-page/selectTarget/selectTarget.vue'
    import { mapState, mapMutations } from 'vuex';
    import { webSocketUrl } from '@/api/request.js';
@@ -51,7 +54,8 @@
            customerIndex,
            driverIndex,
            freightForwarderIndex,
            LoadUnload
            LoadUnload,
            selectTarget
        },
        computed: {
            ...mapState(['globalweighHouseCode', 'globalweigh', 'globalisconnect', 'globalSocket', 'websocketData',
store/index.js
@@ -217,7 +217,6 @@
        },
        changeablePrintOut(state, payload) {
            state.ablePrintOut = payload
            console.log(state.ablePrintOut, '出门证’');
        }
    },
    actions: {