Houjie
2025-07-09 634e2994bc4020a06d7116f44a83702a0e423a22
点检历史 维修历史,周报历史,相关图标
已添加12个文件
已修改2个文件
1066 ■■■■■ 文件已修改
common/service/config.service.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest.json 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/historicalInspection/historicalInspection.vue 368 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/historicalMaintenance/historicalMaintenance.vue 342 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/historicalRepair/historicalRepair.vue 326 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/404.png 补丁 | 查看 | 原始文档 | blame | 历史
static/home/128/baoxiu.png 补丁 | 查看 | 原始文档 | blame | 历史
static/home/128/historicalRepair.png 补丁 | 查看 | 原始文档 | blame | 历史
static/home/128/icon_historicalInspection.png 补丁 | 查看 | 原始文档 | blame | 历史
static/home/128/icon_historicalMaintenance.png 补丁 | 查看 | 原始文档 | blame | 历史
static/home/128/repair.png 补丁 | 查看 | 原始文档 | blame | 历史
static/home/128/todo.png 补丁 | 查看 | 原始文档 | blame | 历史
static/home/128/todoManger.png 补丁 | 查看 | 原始文档 | blame | 历史
static/icn_erro.png 补丁 | 查看 | 原始文档 | blame | 历史
common/service/config.service.js
@@ -1,9 +1,9 @@
let BASE_URL = ''
let BASE_URL = 'http://192.168.1.68:9918/jeecg-boot'
if (process.env.NODE_ENV == 'development') {
    
    BASE_URL = '/jeecg-boot' // å¼€å‘环境
    BASE_URL = 'http://192.168.1.68:9918/jeecg-boot' // å¼€å‘环境
} else {
    BASE_URL = '/jeecg-boot' // ç”Ÿäº§çŽ¯å¢ƒ
    BASE_URL = 'http://192.168.1.68:9918/jeecg-boot' // ç”Ÿäº§çŽ¯å¢ƒ
}
let staticDomainURL ='/sys/common/static';
let staticURL ='http://125.76.225.53:8086/jeecg-boot/sys/common/static/';
manifest.json
@@ -85,18 +85,18 @@
            "mode" : "hash",
            "base" : "/h5/"
        },
        "devServer" : {
            "port" : "8866",
            "https" : false,
            "proxy" : {
                /**配置服务器路径**/
                "/jeecg-boot" : {
                    "target" : "http://houjie.xalxzn.com:8866", // ç›®æ ‡æœåС噍
                    "changeOrigin" : true,
                     "secure": false
                }
            }
        },
      //   "devServer" : {
      //       "port" : "8866",
      //       "https" : false,
      //       "proxy" : {
      //           /**配置服务器路径**/
      //           "/jeecg-boot" : {
      //               "target" : "http://houjie.xalxzn.com:8866",
      //               "changeOrigin" : true,
                     // "secure": false
      //           }
      //       }
      //   },
        "optimization" : {
            "treeShaking" : {
                "enable" : false
pages/historicalInspection/historicalInspection.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,368 @@
<template>
    <view class="container">
        <cu-custom :bgColor="NavBarColor" :isBack="true" backRouterName="productionTask">
            <block slot="backText">返回</block>
            <block slot="content">历史点检</block>
            <block slot="right">
                <view @click="search">
                    <image class="search" src="/static/icon/sear.png" style="width: 25px; height: 25px;" alt="" />
                </view>
            </block>
        </cu-custom>
        <view style="width: 100%;">
            <uni-popup ref="popup" background-color="#fff" :type="type">
                <view class="popupView">
                    <!-- åŸºç¡€è¡¨å•校验 -->
                    <uni-forms ref="form" :modelValue="formData" validate-trigger="bind" err-show-type="undertext">
                        <uni-group title="" top="0">
                            <uni-forms-item name="orderNum" label="工单号:">
                                <uni-easyinput type="text" v-model="formData.orderNum" placeholder="请输入领料申请单号检索" />
                            </uni-forms-item>
                            <uni-forms-item name="name" label="设备编号:">
                                <zxz-uni-data-select :localdata="equipmentList" dataKey="text"
                                    field="value as value, text as text, title as label" dataValue="value"
                                    emptyTips="暂无数据" :multiple="false" :filterable='true' @change="changeEquipmentList"
                                    placeholder="请选择设备编号:" :clear='true' />
                            </uni-forms-item>
                            <uni-forms-item name="name" label="点检状态:">
                                <zxz-uni-data-select :localdata="inspectionStatusList" dataKey="text"
                                    field="value as value, text as text, title as label" dataValue="value"
                                    emptyTips="暂无数据" :multiple="false" :filterable='true' @change="changeInspectionStatus"
                                    placeholder="请选择设备编号:" :clear='true' />
                            </uni-forms-item>
                        </uni-group>
                    </uni-forms>
                    <view class="flex">
                        <view
                            class="cuIcon-search flex-sub bg-blue padding-sm margin-xs margin-left-lg margin-right-lg text-sm text-center"
                            @click="getSera">查询
                        </view>
                        <view
                            class="cuIcon-refresh flex-sub bg-white solids padding-sm margin-xs radius text-sm text-center margin-left-lg margin-right-lg"
                            @click="resetTask">重置</view>
                    </view>
                </view>
            </uni-popup>
        </view>
        <view class="container">
            <mescroll-uni ref="mescrollRef" @init="mescrollInit" :top="top" @down="downCallback" @up="upCallback">
                <!-- åˆ—表信息开始 -->
                <view class="content">
                    <uni-card margin="10px" spacing="1px" v-for="(item,index) in msgList" :key="index"
                        @click="onClickProductionTask(item)">
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">工单号:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-bold  radius text-right">
                                {{item.orderNum}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">设备编号:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs text-green    radius text-right">
                                {{item.equipmentCode}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">标准名称:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs     radius text-right">
                                {{item.standardId_dictText}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">点检状态:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs  text-bold text-red   radius text-right">
                                {{item.inspectionStatus_dictText}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">点检日期:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-blue   radius text-right">
                                {{item.inspectionDate}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">点检过期日期:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-blue   radius text-right">
                                {{item.expirationTime}}
                            </view>
                        </view>
                    </uni-card>
                </view>
            </mescroll-uni>
        </view>
    </view>
</template>
<script>
    import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
    export default {
        mixins: [MescrollMixin], // ä½¿ç”¨mixin
        data() {
            return {
                equipmentList: [],
                type: 'top',
                scrollLeft: 0,
                inspectionStatusList:[],
                formData: {
                    num: '',
                    orderNum: '',
                    inspectionStatus:''
                },
                NavBarColor: this.NavBarColor,
                activeColor: '#5277A6',
                url: {
                    stallList: "eam/eamInspectionOrder/list",
                    getEquipmentList: 'eam/equipment/list',
                    inspectionStatus:"/sys/dict/getDictItems/inspection_status"
                },
                upOption: {
                    page: {
                        num: 0, // å½“前页码,默认0,回调之前会加1,即callback(page)会从1开始
                        size: 10 // æ¯é¡µæ•°æ®çš„æ•°é‡
                    },
                    noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; é»˜è®¤5
                    empty: {
                        tip: '~ æš‚无数据 ~', // æç¤º
                    },
                    loading: '',
                    text: '全部',
                    isShowNoMore: false,
                    textNoMore: '我是有底线的 >_<'
                },
                styles: {
                    color: '#2979FF',
                    borderColor: '#2979FF'
                },
                msgList: [], //列表数据
                announcement1: [],
                msg1Count: 0,
                msg2Count: 0,
                msg1Title: "",
                equipmentId: ''
            }
        },
        computed: {
            top() {
                return this.CustomBar * 2 + 50
            },
            style() {
                var StatusBar = this.StatusBar;
                var CustomBar = this.CustomBar;
                var style = `height:${CustomBar}px;padding-top:${StatusBar}px;`;
                return style
            },
        },
        onShow() {
            if (this.mescroll) {
                this.mescroll.resetUpScroll()
            }
        },
        onLoad: function(options) {},
        created() {
            this.getEquipment()
            this.getInspectionStatusList()
        },
        methods: {
            /**
             * ç‚¹æ£€çŠ¶æ€
             */
            getInspectionStatusList() {
                this.$http.get(this.url.inspectionStatus).then(res => {
                    //设置列表数据
                    if (res.data.success) {
                        console.log(res)
                        this.inspectionStatusList = res.data.result
                    }
                }).catch(() => {
                    //联网失败, ç»“束加载
                })
            },
            changeInspectionStatus(e) {
                this.formData.inspectionStatus = e.value;
            },
            getEquipment() {
                this.$http.get(this.url.getEquipmentList, {
                    params: {
                        pageNo: 1,
                        pageSize: 9999,
                        order: 'desc',
                        column: 'createTime'
                    },
                }).then(res => {
                    //设置列表数据
                    if (res.data.success) {
                        this.equipmentList = res.data.result.records
                    } else {
                        uni.showToast({
                            icon: "error",
                            title: res.data.message,
                            duration: 2000
                        });
                    }
                }).catch(() => {
                    this.$tip.error("联网失败")
                })
            },
            changeEquipmentList(e) {
                console.log(e.id)
                this.formData.num = e.id;
            },
            /**
             * @param {Object} item
             * è¯¦æƒ…页面
             */
            onClickProductionTask(item, flag = 'task', from = 'detils') {
                let url = '/pages/ToDoList/ToDoListCheckSure/ToDoListCheckSure';
                uni.navigateTo({
                    url: `${url}?item=${encodeURIComponent(JSON.stringify(item))}&flag=${flag}&from=${from}`
                });
            },
            // onClickProductionTask(item) {
            //     uni.navigateTo({
            //         url: '/pages/checkList/checkListDetils/checkListDetils?item=' +
            //             encodeURIComponent(JSON.stringify(item))
            //     })
            // },
            search() {
                this.$refs.popup.open();
            },
            upCallback(page) {
                // ç¡®ä¿ equipmentId å§‹ç»ˆä½œä¸ºå‚数传递,值为有效字符串或空字符串
                const params = {
                    pageNo: page.num,
                    pageSize: page.size,
                    order: 'desc',
                    column: 'createTime'
                };
                this.$http.get(this.url.stallList, {
                        params
                    })
                    .then(res => {
                        if (!res.data.success) {
                            throw new Error('获取数据失败: ' + res.data.message);
                        }
                        const records = res.data.result.records || [];
                        const total = res.data.result.total || 0;
                        // æ›´æ–°æ¶ˆæ¯è®¡æ•°å’Œæ ‡é¢˜
                        this.msg1Count = total;
                        this.msg1Title = `通知(${total})`;
                        // æ›´æ–°åˆ—表数据
                        this.msgList = page.num === 1 ? [...records] : [...this.msgList, ...records];
                        // ç»“束加载状态
                        this.mescroll.endSuccess(records.length);
                        console.log('请求成功', res.data);
                    })
                    .catch(error => {
                        console.error('请求失败', error);
                        this.mescroll.endErr();
                    });
            },
            resetTask() {
                this.formData.orderNum = ''
                this.formData.num = ''
                this.$refs.popup.close();
                this.mescroll.resetUpScroll()
            },
            /* æ£€ç´¢ */
            getSera() {
                this.$refs.popup.close();
                this.msgList = [];
                this.$http.get(this.url.stallList, {
                    params: {
                        pageNo: 1,
                        pageSize: 999,
                        order: "desc",
                        column: "createTime",
                        equipmentId: this.formData.num,
                        orderNum: this.formData.orderNum,
                        inspectionStatus:this.formData.inspectionStatus
                    }
                }).then(res => {
                    //联网成功的回调,隐藏下拉刷新和上拉加载的状态;
                    this.announcement1 = res.data.result.records
                    this.mescroll.endSuccess(this.announcement1.length);
                    console.log("url", res)
                    //设置列表数据
                    if (res.data.success) {
                        console.log("res", res.data)
                        this.msg1Count = res.data.result.total
                        this.msg1Title = "通知(" + res.data.result.total + ")";
                        for (let annItem of this.announcement1) {
                            this.msgList.push(annItem)
                        }
                    }
                    if (page.num == 1) {
                        this.msgList = []; //如果是第一页需手动制空列表
                        this.msgList = this.msgList.concat(this.announcement1); //追加新数据
                    }
                }).catch(() => {
                    //联网失败, ç»“束加载
                    this.mescroll.endErr();
                })
            },
            mescrollInit(mescroll) {
                console.log('mescrollInit')
                this.mescroll = mescroll;
            },
        },
    }
</script>
<style>
    .is-hover {
        color: rgba(255, 255, 255, 0.6);
        background-color: #55aaff;
        border-color: #55aaff;
    }
    .content {
        margin-top: 5px;
    }
    .content scroll-view {
        scrollIndicator: "none"
    }
    .popupView {
        margin-top: 85px;
        height: auto;
    }
</style>
pages/historicalMaintenance/historicalMaintenance.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,342 @@
<template>
    <view class="container">
        <cu-custom :bgColor="NavBarColor" :isBack="true" backRouterName="productionTask">
            <block slot="backText">返回</block>
            <block slot="content">历史保养</block>
            <block slot="right">
                <view @click="search">
                    <image class="search" src="/static/icon/sear.png" style="width: 25px; height: 25px;" alt="" />
                </view>
            </block>
        </cu-custom>
        <view style="width: 100%;">
            <uni-popup ref="popup" background-color="#fff" :type="type">
                <view class="popupView">
                    <!-- åŸºç¡€è¡¨å•校验 -->
                    <uni-forms ref="form" :modelValue="formData" validate-trigger="bind" err-show-type="undertext">
                        <uni-group title="" top="0">
                            <uni-forms-item name="orderNum" label="工单号:">
                                <uni-easyinput type="text" v-model="formData.orderNum" placeholder="请输入领料申请单号检索" />
                            </uni-forms-item>
                            <uni-forms-item name="name" label="抽检标记:">
                                <uni-data-select v-model="formData.InspectionFlagName"
                                    :localdata="formData.randomInspectionFlagList"
                                    @change="changehandlingInspectionFlag" placeholder="请选择" />
                            </uni-forms-item>
                            <uni-forms-item name="name" label="保养状态:">
                                <uni-data-select v-model="formData.maintenanceStatus" :localdata="maintenanceStatusList"
                                    @change="changeMaintenanceStatus" placeholder="请选择" />
                            </uni-forms-item>
                        </uni-group>
                    </uni-forms>
                    <view class="flex">
                        <view
                            class="cuIcon-search flex-sub bg-blue padding-sm margin-xs margin-left-lg margin-right-lg text-sm text-center"
                            @click="getSera">查询
                        </view>
                        <view
                            class="cuIcon-refresh flex-sub bg-white solids padding-sm margin-xs radius text-sm text-center margin-left-lg margin-right-lg"
                            @click="resetTask">重置</view>
                    </view>
                </view>
            </uni-popup>
        </view>
        <view class="container">
            <mescroll-uni ref="mescrollRef" @init="mescrollInit" :top="top" @down="downCallback" @up="upCallback">
                <!-- åˆ—表信息开始 -->
                <view class="content">
                    <uni-card margin="10px" spacing="1px" v-for="(item,index) in msgList" :key="index"
                        @click="onClickProductionTask(item)">
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">工单号:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-bold  radius text-right">
                                {{item.orderNum}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">设备编号:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs     radius text-right">
                                {{item.equipmentCode}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">设备编号:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs     radius text-right">
                                {{item.equipmentName}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">保养状态:</view>
                            <view
                                class="flex-sub bg-white padding-xs margin-xs  text-bold  text-green   radius text-right">
                                {{item.maintenanceStatus_dictText}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">安装位置:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs     radius text-right">
                                {{item.installationPosition}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">标准名称:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs     radius text-right">
                                {{item.standardId_dictText}}
                            </view>
                        </view>
                        <!-- <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">抽检标记:</view>
                            <view  v-if="item.randomInspectionFlag =='1'"  class="flex-sub bg-white padding-xs margin-xs     radius text-right">
                                å·²æŠ½æ£€
                            </view>
                            <view  v-else  class="flex-sub bg-white padding-xs margin-xs     radius text-right">
                                æœªæŠ½æ£€
                            </view>
                        </view> -->
                    </uni-card>
                </view>
            </mescroll-uni>
        </view>
    </view>
</template>
<script>
    import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
    export default {
        mixins: [MescrollMixin], // ä½¿ç”¨mixin
        data() {
            return {
                type: 'top',
                scrollLeft: 0,
                maintenanceStatusList: '',
                formData: {
                    orderNum: '',
                    maintenanceStatus: '',
                    InspectionFlagName: '',
                    randomInspectionFlagList: [{
                            text: "否",
                            value: '0'
                        },
                        {
                            text: "是",
                            value: '1'
                        }
                    ]
                },
                NavBarColor: this.NavBarColor,
                activeColor: '#5277A6',
                url: {
                    stallList: "/eam/weekMaintenanceOrder/list",
                    collect: "eam/weekMaintenanceOrder/collect",
                    maintenanceStatus: 'sys/dict/getDictItems/week_maintenance_status'
                },
                upOption: {
                    page: {
                        num: 0, // å½“前页码,默认0,回调之前会加1,即callback(page)会从1开始
                        size: 10 // æ¯é¡µæ•°æ®çš„æ•°é‡
                    },
                    noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; é»˜è®¤5
                    empty: {
                        tip: '~ æš‚无数据 ~', // æç¤º
                    },
                    loading: '',
                    text: '全部',
                    isShowNoMore: false,
                    textNoMore: '我是有底线的 >_<'
                },
                styles: {
                    color: '#2979FF',
                    borderColor: '#2979FF'
                },
                msgList: [], //列表数据
                announcement1: [],
                msg1Count: 0,
                msg2Count: 0,
                msg1Title: "",
                equipmentId: ''
            }
        },
        computed: {
            top() {
                return this.CustomBar * 2 + 50
            },
            style() {
                var StatusBar = this.StatusBar;
                var CustomBar = this.CustomBar;
                var style = `height:${CustomBar}px;padding-top:${StatusBar}px;`;
                return style
            },
        },
        onShow() {
            if (this.mescroll) {
                this.mescroll.resetUpScroll()
            }
        },
        onLoad: function(options) {},
        created() {
            this.getMaintenanceStatus();
        },
        methods: {
            /**
             * ä¿å…»åˆ†ç±»åˆ—表事件
             */
            getMaintenanceStatus() {
                this.$http.get(this.url.maintenanceStatus).then(res => {
                    //设置列表数据
                    if (res.data.success) {
                        console.log(res)
                        this.maintenanceStatusList = res.data.result
                    }
                }).catch(() => {
                    //联网失败, ç»“束加载
                })
            },
            changeMaintenanceStatus(e) {
                this.formData.maintenanceStatus = e;
            },
            changehandlingInspectionFlag(e) {
                this.formData.InspectionFlagName = e;
            },
            /**
             * @param {Object} item
             * è¯¦æƒ…页面
             */
            onClickProductionTask(item, flag = 'task', from = 'detils') {
                let url = '/pages/ToDoList/ToDoBaoZhouSure/ToDoBaoZhouSure';
                uni.navigateTo({
                    url: `${url}?item=${encodeURIComponent(JSON.stringify(item))}&flag=${flag}&from=${from}`
                });
            },
            search() {
                this.$refs.popup.open();
            },
            upCallback(page) {
                this.$http.get(this.url.stallList, {
                    params: {
                        pageNo: page.num,
                        pageSize: page.size,
                        order: 'desc',
                        column: 'createTime'
                    },
                }).then(res => {
                    this.announcement1 = res.data.result.records
                    this.mescroll.endSuccess(this.announcement1.length);
                    console.log("url", res)
                    //设置列表数据
                    if (res.data.success) {
                        console.log("res", res.data)
                        this.msg1Count = res.data.result.total
                        this.msg1Title = "通知(" + res.data.result.total + ")";
                        for (let annItem of this.announcement1) {
                            this.msgList.push(annItem)
                        }
                    }
                    if (page.num == 1) {
                        this.msgList = []; //如果是第一页需手动制空列表
                        this.msgList = this.msgList.concat(this.announcement1); //追加新数据
                    }
                }).catch(() => {
                    //联网失败, ç»“束加载
                    this.mescroll.endErr();
                })
            },
            resetTask() {
                this.formData.orderNum = ''
                this.formData.randomInspectionFlag = ''
                this.$refs.popup.close();
                this.mescroll.resetUpScroll()
            },
            /* æ£€ç´¢ */
            getSera() {
                this.$refs.popup.close();
                this.msgList = [];
                this.$http.get(this.url.stallList, {
                    params: {
                        pageNo: 1,
                        pageSize: 999,
                        order: "desc",
                        column: "createTime",
                        orderNum: this.formData.orderNum,
                        maintenanceStatus: this.formData.maintenanceStatus,
                        randomInspectionFlag: this.formData.InspectionFlagName
                    }
                }).then(res => {
                    //联网成功的回调,隐藏下拉刷新和上拉加载的状态;
                    this.announcement1 = res.data.result.records
                    this.mescroll.endSuccess(this.announcement1.length);
                    console.log("url", res)
                    //设置列表数据
                    if (res.data.success) {
                        console.log("res", res.data)
                        this.msg1Count = res.data.result.total
                        this.msg1Title = "通知(" + res.data.result.total + ")";
                        for (let annItem of this.announcement1) {
                            this.msgList.push(annItem)
                        }
                    }
                    if (page.num == 1) {
                        this.msgList = []; //如果是第一页需手动制空列表
                        this.msgList = this.msgList.concat(this.announcement1); //追加新数据
                    }
                }).catch(() => {
                    //联网失败, ç»“束加载
                    this.mescroll.endErr();
                })
            },
            mescrollInit(mescroll) {
                console.log('mescrollInit')
                this.mescroll = mescroll;
            },
        },
    }
</script>
<style>
    .is-hover {
        color: rgba(255, 255, 255, 0.6);
        background-color: #55aaff;
        border-color: #55aaff;
    }
    .content {
        margin-top: 5px;
    }
    .content scroll-view {
        scrollIndicator: "none"
    }
    .popupView {
        margin-top: 85px;
        height: auto;
    }
</style>
pages/historicalRepair/historicalRepair.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,326 @@
<template>
    <view class="container">
        <cu-custom :bgColor="NavBarColor" :isBack="true" backRouterName="productionTask">
            <block slot="backText">返回</block>
            <block slot="content">历史维修</block>
            <block slot="right">
                <view @click="search">
                    <image class="search" src="/static/icon/sear.png" style="width: 25px; height: 25px;" alt="" />
                </view>
            </block>
        </cu-custom>
        <view style="width: 100%;">
            <uni-popup ref="popup" background-color="#fff" :type="type">
                <view class="popupView">
                    <!-- åŸºç¡€è¡¨å•校验 -->
                    <uni-forms ref="form" :modelValue="formData" validate-trigger="bind" err-show-type="undertext">
                        <uni-group title="" top="0">
                            <uni-forms-item name="numbers" label="工单号:">
                                <uni-easyinput type="text" v-model="formData.num" placeholder="请输入工单号检索" />
                            </uni-forms-item>
                            <uni-forms-item name="name" label="维修状态:">
                                <uni-data-select v-model="formData.repairStatus" :localdata="repairStatusList"
                                    @change="changeRepairStatus" placeholder="请选择" />
                            </uni-forms-item>
                        </uni-group>
                    </uni-forms>
                    <view class="flex">
                        <view
                            class="cuIcon-search flex-sub bg-blue padding-sm margin-xs margin-left-lg margin-right-lg text-sm text-center"
                            @click="getSera">查询
                        </view>
                        <view
                            class="cuIcon-refresh flex-sub bg-white solids padding-sm margin-xs radius text-sm text-center margin-left-lg margin-right-lg"
                            @click="resetTask">重置</view>
                    </view>
                </view>
            </uni-popup>
        </view>
        <view class="container">
            <mescroll-uni ref="mescrollRef" @init="mescrollInit" :top="top" @down="downCallback" @up="upCallback">
                <!-- åˆ—表信息开始 -->
                <view class="content">
                    <uni-card margin="10px" spacing="1px" v-for="(item,index) in msgList" :key="index"
                        @click="onClickProductionTask(item)">
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">工单号:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-bold  radius text-right">
                                {{item.repairCode}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">设备编号:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-bold  radius text-right">
                                {{item.equipmentCode}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">设备名称:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-bold  radius text-right">
                                {{item.equipmentName}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">安装位置:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-blue   radius text-right">
                                {{item.installationPosition}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">维修状态:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs    text-green   radius text-right">
                                {{item.repairStatus_dictText}}
                            </view>
                        </view>
                        <view class="flex">
                            <view class="flex-sub text-light bg-white padding-xs margin-xs radius">维修开始时间:</view>
                            <view class="flex-sub bg-white padding-xs margin-xs   text-blue   radius text-right">
                                {{item.actualStartTime}}
                            </view>
                        </view>
                    </uni-card>
                </view>
            </mescroll-uni>
        </view>
    </view>
</template>
<script>
    import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
    export default {
        mixins: [MescrollMixin], // ä½¿ç”¨mixin
        data() {
            return {
                type: 'top',
                scrollLeft: 0,
                formData: {
                    num: '',
                    repairStatus: [],
                    partNumNameModel: ''
                },
                repairStatusList: [],
                NavBarColor: this.NavBarColor,
                activeColor: '#5277A6',
                url: {
                    stallList: "/eam/eamRepairOrder/list",
                    add: '/eam/eamRepairOrder/add',
                    repairStatus: 'sys/dict/getDictItems/report_repair_status'
                },
                upOption: {
                    page: {
                        num: 0, // å½“前页码,默认0,回调之前会加1,即callback(page)会从1开始
                        size: 10 // æ¯é¡µæ•°æ®çš„æ•°é‡
                    },
                    noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; é»˜è®¤5
                    empty: {
                        tip: '~ æš‚无数据 ~', // æç¤º
                    },
                    loading: '',
                    text: '全部',
                    isShowNoMore: false,
                    textNoMore: '我是有底线的 >_<'
                },
                styles: {
                    color: '#2979FF',
                    borderColor: '#2979FF'
                },
                msgList: [], //列表数据
                announcement1: [],
                msg1Count: 0,
                msg2Count: 0,
                msg1Title: "",
                equipmentId: ''
            }
        },
        mounted() {
            console.log('从 store èŽ·å–çš„ auth:', this.$store.getters.getAuth)
        },
        computed: {
            authList() {
                return this.$store.getters.getAuth || []
            },
            top() {
                return this.CustomBar * 2 + 50
            },
            style() {
                var StatusBar = this.StatusBar;
                var CustomBar = this.CustomBar;
                var style = `height:${CustomBar}px;padding-top:${StatusBar}px;`;
                return style
            },
        },
        onShow() {
            if (this.mescroll) {
                this.mescroll.resetUpScroll()
            }
        },
        onLoad: function(options) {
            this.equipmentId = options.equipmentId ?
                decodeURIComponent(options.equipmentId) :
                '';
        },
        created() {
            this.getRepairStatus()
        },
        methods: {
            /**
             * ä¿å…»åˆ†ç±»åˆ—表事件
             */
            getRepairStatus() {
                this.$http.get(this.url.repairStatus).then(res => {
                    //设置列表数据
                    if (res.data.success) {
                        console.log(res)
                        this.repairStatusList = res.data.result
                    }
                }).catch(() => {
                    //联网失败, ç»“束加载
                })
            },
            changeRepairStatus(e) {
                this.formData.repairStatus = e;
            },
            /**
             * @param {Object} code按钮权限
             */
            authIncludes(code) {
                return this.authList.some(auth => auth.action === code)
            },
            /**
             * @param {Object} item
             * è¯¦æƒ…页面
             */
            onClickProductionTask(item, flag = 'task', from = 'detils') {
                let url = '/pages/ToDoList/ToDoSpareParts/ToDoSpareParts';
                uni.navigateTo({
                    url: `${url}?item=${encodeURIComponent(JSON.stringify(item))}&flag=${flag}&from=${from}`
                });
            },
            search() {
                this.$refs.popup.open();
            },
            upCallback(page) {
                this.$http.get(this.url.stallList, {
                    params: {
                        pageNo: page.num,
                        pageSize: page.size,
                        order: 'desc',
                        column: 'createTime'
                    },
                }).then(res => {
                    this.announcement1 = res.data.result.records
                    this.mescroll.endSuccess(this.announcement1.length);
                    console.log("url", res)
                    //设置列表数据
                    if (res.data.success) {
                        console.log("res", res.data)
                        this.msg1Count = res.data.result.total
                        this.msg1Title = "通知(" + res.data.result.total + ")";
                        for (let annItem of this.announcement1) {
                            this.msgList.push(annItem)
                        }
                    }
                    if (page.num == 1) {
                        this.msgList = []; //如果是第一页需手动制空列表
                        this.msgList = this.msgList.concat(this.announcement1); //追加新数据
                    }
                }).catch(() => {
                    //联网失败, ç»“束加载
                    this.mescroll.endErr();
                })
            },
            resetTask() {
                this.formData.num = ''
                this.formData.partNumNameModel = ''
                this.$refs.popup.close();
                this.mescroll.resetUpScroll()
            },
            /* æ£€ç´¢ */
            getSera() {
                this.$refs.popup.close();
                let keyword = this.TabCur
                this.msgList = [];
                this.$http.get(this.url.stallList, {
                    params: {
                        pageNo: 1,
                        pageSize: 999,
                        order: "desc",
                        column: "createTime",
                        num: this.formData.num,
                        repairStatus:this.formData.repairStatus
                    }
                }).then(res => {
                    //联网成功的回调,隐藏下拉刷新和上拉加载的状态;
                    this.announcement1 = res.data.result.records
                    this.mescroll.endSuccess(this.announcement1.length);
                    console.log("url", res)
                    //设置列表数据
                    if (res.data.success) {
                        console.log("res", res.data)
                        this.msg1Count = res.data.result.total
                        this.msg1Title = "通知(" + res.data.result.total + ")";
                        for (let annItem of this.announcement1) {
                            this.msgList.push(annItem)
                        }
                    }
                    if (page.num == 1) {
                        this.msgList = []; //如果是第一页需手动制空列表
                        this.msgList = this.msgList.concat(this.announcement1); //追加新数据
                    }
                }).catch(() => {
                    //联网失败, ç»“束加载
                    this.mescroll.endErr();
                })
            },
            mescrollInit(mescroll) {
                console.log('mescrollInit')
                this.mescroll = mescroll;
            },
        },
    }
</script>
<style>
    .is-hover {
        color: rgba(255, 255, 255, 0.6);
        background-color: #55aaff;
        border-color: #55aaff;
    }
    .content {
        margin-top: 5px;
    }
    .content scroll-view {
        scrollIndicator: "none"
    }
    .popupView {
        margin-top: 85px;
        height: auto;
    }
</style>
static/404.png
static/home/128/baoxiu.png
static/home/128/historicalRepair.png
static/home/128/icon_historicalInspection.png
static/home/128/icon_historicalMaintenance.png
static/home/128/repair.png
static/home/128/todo.png
static/home/128/todoManger.png
static/icn_erro.png