展杰
2023-11-20 f0afdc84ddfb0798cdcb1ba5ff5b1ee92ed833d4
Merge branch 'master' of http://git.gs-mes.com:8080/sjz/pad
已添加2个文件
已修改2个文件
331 ■■■■■ 文件已修改
api/spotCheck.js 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/eqSpotCheck/eqSpotCheck.vue 254 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/spotCheck.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
import request from '@/utils/request.js'
export function getEqSpotCheckItem(eqNo) {
    return request({
        'url': '/spotCheck/getSpotItem?userNo=' + uni.getStorageSync('userInfo').code +'&eqNo='+eqNo,
        'method': 'post',
        'header': {
            'Content-Type': 'application/json',
            'dataType': 'json',
            'Accept': 'application/json'
        }
    })
}
export function getEq(eqNo) {
    return request({
        'url': '/spotCheck/getEq?eqNo='+eqNo,
        'method': 'post',
        'header': {
            'Content-Type': 'application/json',
            'dataType': 'json',
            'Accept': 'application/json'
        }
    })
}
export function getEqSpotList(eqNo) {
    return request({
        'url': '/spotCheck/getEqSpotList?userNo=' + uni.getStorageSync('userInfo').code +'&eqNo='+eqNo,
        'method': 'post',
        'header': {
            'Content-Type': 'application/json',
            'dataType': 'json',
            'Accept': 'application/json'
        }
    })
}
export function getSpotItemResult(planNo) {
    return request({
        'url': '/spotCheck/getSpotItemResult?planNo='+planNo,
        'method': 'post',
        'header': {
            'Content-Type': 'application/json',
            'dataType': 'json',
            'Accept': 'application/json'
        }
    })
}
export function save(item) {
    return request({
        'url': '/spotCheck/save',
        'method': 'post',
        'header': {
            'Content-Type': 'application/json',
            'dataType': 'json',
            'Accept': 'application/json'
        },
        data: item
    })
}
pages.json
@@ -30,7 +30,15 @@
                "navigationBarTitleText": "首检检验列表",
                "enablePullDownRefresh": false
            }
        },{
        },
        {
            "path": "pages/eqSpotCheck/eqSpotCheck",
            "style": {
                "navigationBarTitleText": "设备点检计划",
                "enablePullDownRefresh": false
            }
        },
        {
            "path": "pages/inspection/inspectionInfo",
            "style": {
                "navigationBarTitleText": "检验信息录入",
pages/eqSpotCheck/eqSpotCheck.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,254 @@
<template>
    <view>
        <u-form :model="form" ref="uForm">
            <u-form-item label="唯一编码" prop="eqNo">
                <u-input v-model="form.eqNo" @blur="getSpotItem" />
            </u-form-item>
            <u-form-item label="设备名称" prop="eqName">
                <u-input v-model="form.eqName" />
            </u-form-item>
            <u-form-item label="设备型号" prop="eqMode">
                <u-input v-model="form.eqMode" :disabled=true />
            </u-form-item>
            <u-form-item label="使用部门" prop="department">
                <u-input v-model="form.department" :disabled=true />
            </u-form-item>
            <u-form-item label="放置地点" prop="place">
                <u-input v-model="form.place" :disabled=true />
            </u-form-item>
            <u-form-item label="保养工单" prop="planNo" borderBottom @click="groupShow = true" required>
                <u--input v-model="form.planNo" disabled disabledColor="#fff" suffixIcon="arrow-down"
                    placeholder="请保养工单" border="none"></u--input>
                <u-picker :show="groupShow" :columns="jtList" keyName="label" @confirm="groupConfim"
                    @cancel="groupShow=false"></u-picker>
            </u-form-item>
            <u-form-item label="保养人" prop="planBy">
                <u-input v-model="form.planBy" :disabled=true />
            </u-form-item>
            <u-form-item label="计划保养时间" prop="planDate">
                <view class="sss" @click="show = true">
                    <input type="text" v-model="form.planDate" />
                    <u-datetime-picker ref="datetimePicker" :formatter="formatter" :show="show" mode="date"
                        @confirm="confirm" @cancel="close"></u-datetime-picker>
                </view>
            </u-form-item>
            <u-form-item label="备注" prop="remark">
                <u-input v-model="form.remark" />
            </u-form-item>
            <u-form-item label="是否合格">
                <u-radio-group v-model="form.finalResult">
                    <u-radio v-for="(item, index) in radioList" :key="index" :name="item.name"
                        :disabled="item.disabled">
                        {{ item.name }}
                    </u-radio>
                </u-radio-group>
            </u-form-item>
        </u-form>
        <u-button style="background-color: #9294FF;" @click="submit">提交</u-button>
        <u-list @scrolltolower="scrolltolower">
            <u-list-item v-for="(item, index) in indexList" :key="index">
                <u-form style="border: 2px solid #000;margin: 5px 0px;">
                    <u-form-item label="唯一编码">
                        <u-input v-model="item.eqNo" :disabled=true />
                    </u-form-item>
                    <u-form-item label="检查内容">
                        <u-input v-model="item.eqMain" :disabled=true />
                    </u-form-item>
                    <u-form-item label="是否合格">
                        <u-radio-group v-model="item.eqEnd">
                            <u-radio v-for="(item, index) in radioList" :key="index" :name="item.name"
                                :disabled="item.disabled">
                                {{ item.name }}
                            </u-radio>
                        </u-radio-group>
                    </u-form-item>
                </u-form>
            </u-list-item>
        </u-list>
    </view>
</template>
<script>
    import {
        getEqSpotCheckItem,
        getEq,
        getEqSpotList,
        getSpotItemResult,
        save
    } from '../../api/spotCheck'
    export default {
        data() {
            return {
                form: {
                    eqNo: '',
                    eqName: '',
                    eqMode: '',
                    department: '',
                    place: '',
                    planNo: '',
                    planBy: '',
                    planDate: '',
                    remark: '',
                    finalResult: 'OK'
                },
                jtList: [],
                indexList: [],
                rules: {
                    eqNo: [{
                        required: true,
                        message: '请输入唯一编码',
                        // å¯ä»¥å•个或者同时写两个触发验证方式
                        trigger: ['change', 'blur'],
                    }],
                    planNo: [{
                        required: true,
                        message: '请选择保养工单',
                        // å¯ä»¥å•个或者同时写两个触发验证方式
                        trigger: ['change', 'blur'],
                    }]
                },
                radioList: [{
                        name: 'OK',
                        disabled: false
                    },
                    {
                        name: 'NG',
                        disabled: false
                    }
                ],
                switchVal: false,
                show: false,
                groupShow: false,
            };
        },
        onLoad() {
            //初始化下拉
        },
        methods: {
            submit() {
                //非空校验,为空时回return;
                if (!this.form.planNo) {
                    uni.showToast({
                        title: '请选择保养工单',
                        icon: 'none',
                        duration: 2000
                    });
                    return;
                }
                if (!this.form.eqNo) {
                    uni.showToast({
                        title: '请输入设备唯一编码',
                        icon: 'none',
                        duration: 2000
                    });
                    return;
                }
                this.form.indexList = this.indexList;
                this.form.submitBy = uni.getStorageSync('userInfo').code;
                this.form.submitDate = this.now();
                console.log(JSON.stringify(this.form));
                save(this.form).then(res => {
                    if(res.result){
                        uni.showToast({
                            title: '保存成功',
                            icon: 'none',
                            duration: 2000
                        });
                        //清空点检单和点检详细信息
                        this.form = {};
                        this.indexList = [];
                    }
                })
            },
            groupConfim(e) {
                //获取选中的值
                // æ ¹æ®å®žé™…需求设置选中的值
                this.form.planNo = e.value[0].label;
                const timeFormat = uni.$u.timeFormat;
                this.form.planDate = timeFormat(e.value[0].date, 'yyyy-mm-dd');
                this.form.planBy = uni.getStorageSync('userInfo').username;
                this.form.remark = e.value[0].remark;
                this.loadmore(this.form.planNo);
                this.groupShow = false
            },
            scrolltolower() {
                //this.loadmore()
            },
            loadmore(planNo) { //获取点检项目并默认合格
                getSpotItemResult(planNo).then(res => {
                    this.indexList = res.data;
                    for(let i=0;i<this.indexList.length;i++){
                        this.indexList[i].eqEnd = 'OK';
                    }
                })
            },
            getSpotItem(event) {  //根据唯一编码查询设备信息
                getEq(event).then(res => {
                    this.form = res.data;
                    this.form.finalResult = 'OK';
                    //再根据唯一编码查询点检单的信息
                    getEqSpotList(event).then(res => {
                        //下拉列表填充值
                        let arr = res.data.map(item => {
                            return {
                                label: item.planNo,
                                id: item.planNo,
                                date: item.planDate,
                                remark: item.remark
                            }
                        });
                        this.jtList = [arr]
                    })
                });
            },
            confirm(e) {  //保养时间选择
                const timeFormat = uni.$u.timeFormat;
                this.form.planDate = timeFormat(e.value, 'yyyy-mm-dd');
                this.show = false;
            },
            close() { //关闭时间选择框
                this.show = false;
            },
            formatter(type, value) {
                if (type === 'year') {
                    return `${value}å¹´`;
                }
                if (type === 'month') {
                    return `${value}月`;
                }
                if (type === 'day') {
                    return `${value}日`;
                }
                return value;
            },
            now() { //获取当前时间格式为yyyy-mm-dd的字符串
                var currentDate = new Date();
                var year = currentDate.getFullYear();
                var month = currentDate.getMonth() + 1; // æ³¨æ„JavaScript中月份是从0开始的,所以要加1
                var day = currentDate.getDate();
                return year + "-" + month + "-" + day
            }
        },
        // å¿…须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕
        onReady() {
            this.$refs.uForm.setRules(this.rules);
        }
    };
</script>
<style scoped>
    .sss {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .sss>view {
        margin-right: 50rpx;
    }
</style>
pages/index/index.vue
@@ -36,6 +36,11 @@
                        src:'/pages/work_reporting/work_reporting',
                        icon:''
                    },
                    {
                        name :'设备点检计划',
                        src:'/pages/eqSpotCheck/eqSpotCheck',
                        icon:''
                    },
                ]
            }
        },