小小儁爺
2025-05-23 d26ff568b097248861a6cbc13bcf2acc88a54524
1.上靖  app端部署
已添加3个文件
已修改9个文件
2963 ■■■■■ 文件已修改
main.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/login/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/sbgl/dqby.vue 523 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/sbgl/dqby2.vue 496 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/sbgl/rcdj.vue 519 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/sbgl/rcdj2.vue 478 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/sbgl/sbwx.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/sbgl/wxsq.vue 448 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/sbgl/wxsq2.vue 444 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/sbgl/wxyz.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/xtsy/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.js
@@ -19,7 +19,8 @@
})
// Vue.prototype.$appVersion = 'v1.0.3' //APP当前版本   //圣沣版本
Vue.prototype.$appVersion = 'v1.0.1' //APP当前版本   //大岛版本
// Vue.prototype.$appVersion = 'v1.0.1' //APP当前版本   //大岛版本
Vue.prototype.$appVersion = 'v1.0.1' //APP当前版本   //上靖版本
// Vue.prototype.$baseUrl = 'http://121.196.36.24:8021/api' //本地产品   å·¨åŠ›çš„æ•°æ®åº“
// Vue.prototype.$baseUrl = 'http://122.227.18.22:8000/api' //本地产品   å·¨ç«‹é˜²æŠ¤ï¼ˆå®¢æˆ·åœ°å€ï¼‰
// Vue.prototype.$baseUrl = 'http://121.196.36.24:8019/api' //
@@ -29,11 +30,15 @@
// Vue.prototype.$baseUrl = 'http://121.196.36.24:8039/api' //大岛项目(2.0)
// Vue.prototype.$baseUrl = 'http://192.168.2.138:8080/api' //大岛项目(2.0) å®¢æˆ·çŽ°åœºå®žé™…æœåŠ¡å™¨ip
Vue.prototype.$baseUrl = 'http://192.168.0.32:8000/api' //上靖项目      å®¢æˆ·çŽ°åœºå®žé™…æœåŠ¡å™¨ip
Vue.prototype.$baseUrl = 'http://121.196.36.24:9090/api' //最新产品 2025/5/8
// Vue.prototype.$baseUrl = 'http://121.196.36.24:9090/api' //最新产品 2025/5/8
Vue.prototype.$companyType = 'B' //企业类型(项目类型) A:巨力,B:圣沣,、B: äº§å“
Vue.prototype.$companyType = 'C' //企业类型(项目类型) A:巨力,B:圣沣,、B: äº§å“ ï¼ŒC:上靖
// A:  http://121.196.36.24:8021/api  http://122.227.18.22:8000/api
// B:  http://121.196.36.24:8032/api  
pages.json
@@ -456,6 +456,27 @@
                "navigationStyle": "custom",
                "enablePullDownRefresh": false
            }
        }, {
            "path": "pages/sbgl/rcdj2",
            "style": {
                "navigationBarTitleText": "日常点检",
                "navigationStyle": "custom",
                "enablePullDownRefresh": false
            }
        }, {
            "path": "pages/sbgl/dqby2",
            "style": {
                "navigationBarTitleText": "定期保养",
                "navigationStyle": "custom",
                "enablePullDownRefresh": false
            }
        }, {
            "path": "pages/sbgl/wxsq2",
            "style": {
                "navigationBarTitleText": "维修申请",
                "navigationStyle": "custom",
                "enablePullDownRefresh": false
            }
        }
    ],
    "globalStyle": {
pages/login/index.vue
@@ -74,14 +74,14 @@
        data() {
            return {
                // #ifdef H5
                usercode: '001',
                usercode: '',
                // #endif
                // #ifdef APP-PLUS
                usercode: '999',
                usercode: '',
                // #endif
                userpassword: '123',
                userpassword: '',
                isView: false, //密码是否可见
                isDisabledSubmitButton: false, //提交按钮是否处于加载中
pages/sbgl/dqby.vue
@@ -3,184 +3,68 @@
        <page-nav title="定期保养"></page-nav>
        <view v-show="topContent.length===0">
        <view v-if="purchorderArrAll.length>0">
            <!-- <view class="mainContent" :style="{maxHeight: '1340rpx',overflow: 'scroll',padding:0}"> -->
            <!-- #ifdef H5 -->
            <u--input prefixIcon="search" prefixIconStyle="font-size: 22px;color: #909399" placeholder="输入设备/工位"
                clearable border="surround" @clear='inputBoxValueClear' v-model="inputBoxValue"
                @change="changeInputBoxValue">
                <template slot="suffix">
                    <u-icon name="scan" color="#909399" size="24" @click="topScanClick"></u-icon>
                </template>
            </u--input>
            <!-- #endif -->
            <!-- #ifdef APP-PLUS -->
            <u-input prefixIcon="search" prefixIconStyle="font-size: 22px;color: #909399" placeholder="输入设备/工位"
                clearable border="surround" @clear='inputBoxValueClear' v-model="inputBoxValue"
                @change="changeInputBoxValue">
                <template slot="suffix">
                    <u-icon name="scan" color="#909399" size="24" @click="topScanClick"></u-icon>
                </template>
            </u-input>
            <!-- #endif -->
            <u-alert :title="'设备/工位数(共'+title+'个)'" type="primary"></u-alert>
            <u-radio-group v-model="radioValue" iconPlacement="right" @change="radioValueClick" class="radioGroupClass">
                <view v-for="(item,index) in purchorderArr" :key="item.code">
                    <!-- @click="radioValueClick(item.code)" -->
                    <view>
                        <u-radio activeColor="red" size="18" labelSize='18' :name='item.code' :key="item.code"
                            :label="item.code+'/'+item.name"></u-radio>
                    </view>
                    <u-line v-if="index!==purchorderArr.length-1" color="#2979ff"></u-line>
                </view>
            </u-radio-group>
            <view class="footer" style="min-height:62rpx;">
                <u-button type="primary" size='large' :hairline="true" @click="navigateTo" text="下一步"></u-button>
            </view>
            <!-- </view> -->
        </view>
        <view v-if="purchorderArrAll.length===0">
            <div class="sacnBody">
                <div class="scanImg" @click="topScanClick"></div>
                <div class="scanText">扫描保养工位</div>
                <div class="boxImg"></div>
                <div class="scanText">暂无设备/工位</div>
            </div>
        </view>
        <view v-show="topContent.length!==0">
            <view class="mainContent">
                <view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head">
                        <view class="head_block">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    æ‰«æä¿å…»å·¥ä½
                                </view>
                            </view>
                            <view class="marginRight20">
                                <u-icon name="scan" @click="topScanClick" color="red" size="28"></u-icon>
                            </view>
                        </view>
                        <view class="marginLeft20 marginRight20" style="max-height: 180rpx;overflow:scroll;">
                            <u-radio-group v-model="radioValue" class="flex_column">
                                <view class="marginBottom20 flex_between" @click="groupChange(item.code)"
                                    v-for="item in topContent" :key="item.code">
                                    <view style="display: flex;">
                                        <view class="flex_column titleFont">
                                            <view>工位编码:</view>
                                            <view>工位名称:</view>
                                            <view>生产车间:</view>
                                        </view>
                                        <view class="flex_column contentFont">
                                            <view>{{item.code}}</view>
                                            <view>{{item.name}}</view>
                                            <view>{{item.wksp_name}}</view>
                                        </view>
                                    </view>
                                    <u-radio size='20' :key="item.code" :name="item.code"
                                        @change="groupChange(item.code)" activeColor="red"></u-radio>
                                </view>
                            </u-radio-group>
                        </view>
                    </view>
                    <u-gap height="12" bgColor="#eff0f1"></u-gap>
                    <view class="head" style="height:86rpx;">
                        <view class="head_block">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    ä¿å…»æ ‡å‡†
                                </view>
                            </view>
                            <view class="marginRight20 marginTop10" style="width: 200rpx;">
                                <!-- <u-icon name="scan" @click="topScanClick" color="red" size="56"></u-icon> -->
                                <uni-data-select v-model="selectValueBZ" :clear="false" :localdata="selectRangeBZ"
                                    @change="selectChangeBZ">
                                </uni-data-select>
                            </view>
                        </view>
                    </view>
                    <u-gap height="12" bgColor="#eff0f1"></u-gap>
                    <view class="head">
                        <view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    ä¿å…»é¡¹ç›®å†…容
                                </view>
                            </view>
                            <view class="marginRight20" style="width: 200rpx;">
                                <uni-data-select v-model="selectValue" :clear="false" :localdata="selectRange"
                                    @change="selectChange">
                                </uni-data-select>
                            </view>
                        </view>
                        <view :style="{maxHeight:'1000rpx',overflow: 'scroll'}">
                            <view class="center_border flex_column" style="margin: 10rpx;" v-for="item in centerContent"
                                :key="item.code">
                                <view class="flex_between marginBottom10">
                                    <view class="center_title">{{item.name}}</view>
                                    <view class="marginRight20" v-if="item.isscan==='Y'">
                                        <u-icon name="scan" @click="centerScanClick(item.code)" color="red" size="56">
                                        </u-icon>
                                    </view>
                                </view>
                                <view class="flex_between marginBottom10">
                                    <view class='inputClass marginTop10'>
                                        <u--input :disabled='item.isDisabled' placeholder="请输入" border="surround"
                                            v-model="item.inputValue"></u--input>
                                    </view>
                                    <view class="flex_center">
                                        <u-button type="primary" :plain="item.isOK!=='OK'" :disabled="item.isDisabled"
                                            text="正常" @click="bwClick(item,'OK')">
                                        </u-button>
                                        <u-button type="warning" :plain="item.isOK!=='NG'" :disabled="item.isDisabled"
                                            text="异常" @click="bwClick(item,'NG')">
                                        </u-button>
                                    </view>
                                </view>
                                <view class="titleFont">
                                    {{item.chkdesc}}
                                </view>
                            </view>
                        </view>
                    </view>
                </view>
            </view>
            <view class="footer">
                <view class="head_block" style="align-items: center;padding: 0 23rpx;height: 100rpx;">
                    <view class="head_left">
                        <view class="head_bar"></view>
                        <view class="head_title">
                            ç‚¹æ£€ç»“æžœ
                        </view>
                    </view>
                    <view class="flex_center">
                        <u-button type="primary" :plain="resultValue!=='OK'" style="height: 60rpx;"
                            :disabled="centerContent.some(item=>item.isDisabled===true)||centerContent.length===0"
                            text="正常" @click="resultClick('OK')"></u-button>
                        <u-button type="warning" :plain="resultValue!=='NG'" style="margin-left: 20rpx;height: 60rpx;"
                            :disabled="centerContent.some(item=>item.isDisabled===true)||centerContent.length===0"
                            text="异常" @click="resultClick('NG')"></u-button>
                    </view>
                </view>
                <u-button size="large" :loading="isDisabledSubmitButton" loadingText="正在提交,请稍等..." type="primary"
                    @click="submit" :disabled="resultValue===''" text="确认提交">
                </u-button>
            </view>
        </view>
        <scan-code></scan-code>
    </view>
</template>
<script>
    import {
        RepairScanDeviceQrCodeData,
        RepairSelectScanDeviceQrCodeItem,
        RepairScanDeviceTemp,
        AppDeviceRepairSave
    } from '../../config/api.js'
    import scanCode from '@/components/scan-code/scan-code.vue'
        EqpPermissions
    } from '../../config/api.js';
    export default {
        components: {
            scanCode
        },
        onLoad(option) {
            const _this = this
            uni.$off('scancodedate') // æ¯æ¬¡è¿›æ¥å…ˆ ç§»é™¤å…¨å±€è‡ªå®šä¹‰äº‹ä»¶ç›‘听器
            uni.$on('scancodedate', function(content) {
                console.log("扫描到的内容为:", content)
                _this.getRepairScanDeviceQrCodeData(content)
            })
        },
        onLoad(option) {},
        onPullDownRefresh() {
            setTimeout(() => {
                this.init(() => {
@@ -188,33 +72,20 @@
                })
            }, 1000);
        },
        data() {
            return {
                isDisabledSubmitButton: false,
                topContent: [], //扫描保养工位所带出来的内容
                centerContent: [], //保养项目内容
                scanContent: '', //扫描扫出来的值
                radioValue: '', //单选框的值
                resultValue: '', //保养结果值
                inputBoxValue: '', //输入框值
                selectValueBZ: '', //标准选择的值
                selectRangeBZ: [], //标准选择的下拉选项
                title: 0,
                selectValue: 'M',
                selectRange: [{
                    value: 'Y',
                    text: 'å¹´'
                }, {
                    value: 'S',
                    text: 'å­£'
                }, {
                    value: 'M',
                    text: '月'
                }, {
                    value: 'W',
                    text: '周'
                }, ]
                radioValue: '',
                purchorderArr: [],
                purchorderArrAll: []
            }
        },
        created() {
@@ -223,22 +94,40 @@
        mounted() {
            this.init()
            this.getRepairScanDeviceQrCodeData('111')
            this.getEqpPermissions()
        },
        methods: {
            init() {
                uni.stopPullDownRefresh();
            },
            selectChange(val) {
            changeInputBoxValue(val) {
                this.purchorderArr = this.purchorderArrAll.filter((p) => {
                    return p.code.indexOf(val) !== -1
                })
                if (this.purchorderArr.length > 0) {
                    this.radioValue = this.purchorderArr[0].code
                }
            },
            inputBoxValueClear() {
                this.inputBoxValue = ''
            },
            radioValueClick(val) {
                console.log(val)
                this.radioValue = val
            },
            selectChangeBZ(val) {
                console.log(val, 1)
                this.selectValueBZ = val
                this.getRepairSelectScanDeviceQrCodeItem(this.radioValue, this.selectValueBZ)
            navigateTo() {
                uni.navigateTo({
                    url: './dqby2?code=' + this.radioValue
                });
            },
            // æ‰«ç å·¥ä½  çš„æ‰«ç æ¡†ç‚¹å‡»
            // æ‰«ç æ¡†ç‚¹å‡»
            topScanClick() {
                let that = this;
@@ -250,18 +139,7 @@
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                        that.scanContent = res.result;
                        let flag = false
                        that.topContent.forEach(item => {
                            if (item.code === res.result) {
                                flag = true
                            }
                        })
                        if (flag) {
                            that.$u.toast('此条码已扫描,已在列表中!')
                        } else {
                            //处理扫码事件
                            that.getRepairScanDeviceQrCodeData(that.scanContent);
                        }
                        that.changeInputBoxValue(that.scanContent);
                    },
                    complete: function(res) {
@@ -274,199 +152,18 @@
                });
            },
            // ä¿å…»é¡¹ç›®å†…容  çš„æ‰«ç æ¡†ç‚¹å‡»
            centerScanClick(val) {
                let that = this;
                uni.scanCode({
                    onlyFromCamera: true,
                    // scanType: ['barCode', 'qrCode'],
                    scanType: ['qrCode'],
                    success: function(res) {
                        // console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                        // that.scanContent = res.result;
            async getEqpPermissions() {
                const res = await EqpPermissions()
                this.purchorderArrAll = res.data
                        if (res.result === val) {
                            that.centerContent.find(item => item.code === val).isDisabled = false
                            that.centerContent.find(item => item.code === val).isOK = 'OK'
                this.purchorderArr = res.data
                            if (that.centerContent.every(r => r.isOK === 'OK')) {
                                that.resultValue = 'OK'
                            }
                            if (that.centerContent.some(r => r.isOK === 'NG')) {
                                that.resultValue = 'NG'
                            }
                            if (that.centerContent.some(r => r.isOK === '')) {
                                that.resultValue = ''
                            }
                this.title = res.data.length
                            that.$forceUpdate()
                        } else {
                            uni.$u.toast('所扫条码与点检部位不符合!')
                        }
                this.radioValue = res.data[0].code
                        //处理扫码事件
                        // that.SearchBarcode();
                    },
                    complete: function(res) {},
                    fail: function(res) {}
                });
            },
            // èŽ·å–ä¿å…»å·¥ä½
            async getRepairScanDeviceQrCodeData(val) {
                const data = {
                    eqpcode: val
                }
                const res = await RepairScanDeviceQrCodeData(data)
                if (res.code === '200' && res.data[0].eapmai_code !== null) { //表示绑定了标准
                    this.topContent.unshift(res.data[0])
                    this.radioValue = res.data[0].code
                    // this.selectValue = res.data[0].main_cycle
                    // this.getRepairSelectScanDeviceQrCodeItem(res.data[0].code, res.data[0].eapmai_code)
                    this.getRepairScanDeviceTemp(res.data[0].code)
                } else if (res.code === '200' && res.data[0].eapmai_code === null) {
                    uni.$u.toast('当前设备未设置点检标准绑定点检项目!')
                    // this.selectValueBZ = ''
                    // this.centerContent = []
                    // this.$forceUpdate()
                }
                // else if (res.code === '200') {
                //     uni.$u.toast('当前设备未设置点检标准绑定点检项目!')
                //     this.$forceUpdate()
                // }
            },
            // èŽ·å–ä¿å…»æ ‡å‡†
            async getRepairScanDeviceTemp(eqpcode) {
                const res = await RepairScanDeviceTemp({
                    eqpcode
                })
                this.selectRangeBZ = res.data.map(({
                    code,
                    name
                }) => ({
                    text: name,
                    value: code
                }))
                this.selectValueBZ = this.selectRangeBZ[0].value
                this.getRepairSelectScanDeviceQrCodeItem(eqpcode, this.selectValueBZ)
            },
            // èŽ·å–ä¿å…»é¡¹ç›®å†…å®¹
            async getRepairSelectScanDeviceQrCodeItem(eqpcode, repartempcode) {
                const data = {
                    eqpcode,
                    repartempcode
                }
                const res = await RepairSelectScanDeviceQrCodeItem(data)
                if (res.code === '200') {
                    this.centerContent = res.data
                    this.centerContent.forEach(item => {
                        item.inputValue = ''
                        item.isDisabled = item.isscan === 'Y'
                        item.isOK = item.isscan !== 'Y' ? 'OK' : ''
                    })
                    if (this.centerContent.every(r => r.isOK === 'OK')) {
                        this.resultValue = 'OK'
                    }
                    if (this.centerContent.some(r => r.isOK === 'NG')) {
                        this.resultValue = 'NG'
                    }
                    if (this.centerContent.some(r => r.isOK === '')) {
                        this.resultValue = ''
                    }
                    this.radioValue = eqpcode
                    this.selectValue = this.centerContent[0].main_cycle
                    this.$forceUpdate()
                } else if (res.code === '300') {
                    this.selectValueBZ = ''
                    this.centerContent = []
                    this.$forceUpdate()
                }
            },
            // å•选按钮点击
            groupChange(val) {
                this.radioValue = val
                this.$forceUpdate()
                // this.getRepairSelectScanDeviceQrCodeItem(val, this.topContent.find(i => i.code === val).eapmai_code)
                this.getRepairScanDeviceTemp(val)
            },
            // éƒ¨ä½æ­£å¸¸ å¼‚常按钮点击
            bwClick(item, val) {
                item.isOK = val
                if (this.centerContent.every(item => item.isOK !== '')) {
                    if (this.centerContent.every(item => item.isOK === 'OK')) {
                        this.resultValue = 'OK'
                    } else {
                        this.resultValue = 'NG'
                    }
                }
                this.$forceUpdate() //强制视图更新
            },
            // ç‚¹æ£€ç»“果点击
            resultClick(val) {
                this.resultValue = val
                this.$forceUpdate() //强制视图更新
            },
            // ç¡®è®¤æäº¤æŒ‰é’®
            async submit() {
                const children = []
                this.centerContent.forEach(item => {
                    children.push({
                        seq: item.seq,
                        itemcode: item.code,
                        cycle: item.main_cycle,
                        value: item.inputValue,
                        result: item.isOK
                    })
                })
                const data = {
                    code: this.topContent.find(item => item.code === this.radioValue).code,
                    name: this.topContent.find(item => item.code === this.radioValue).name,
                    // standcode: this.topContent.find(item => item.code === this.radioValue).eapmai_code,
                    standcode: this.selectValueBZ,
                    result: this.resultValue,
                    children: children
                }
                // console.log(data)
                this.isDisabledSubmitButton = true
                const res = await AppDeviceRepairSave(data, uni.getStorageSync("username"), this.selectValue)
                if (res.code === '200') {
                    uni.$u.toast('提交成功!')
                    this.isDisabledSubmitButton = false
                    this.topContent.forEach((item, index) => {
                        if (item.code === this.radioValue) {
                            this.topContent.splice(index, 1)
                        }
                    })
                    this.radioValue = this.topContent[0].code
                    if (this.radioValue.toString().length > 0) {
                        this.getRepairScanDeviceTemp(this.radioValue)
                    }
                }
            },
            }
        }
    }
</script>
@@ -477,4 +174,34 @@
    ::v-deep .uicon-arrow-left>span {
        display: block;
    }
    .u-input--square {
        margin: 20rpx 10rpx;
        border-radius: 40rpx;
        background-color: #fff;
        border: 1px solid #c8c8c8;
    }
    ::v-deep .u-alert__text--primary--light {
        margin-bottom: 0;
        font-size: 32rpx !important;
    }
    .radioGroupClass {
        display: flex;
        flex-direction: column;
        background-color: #fff;
        overflow-y: auto;
        max-height: 1040rpx;
        margin-top: 20rpx;
    }
    ::v-deep .u-radio-label--right {
        height: 90rpx;
        line-height: 90rpx;
        width: 92%;
        margin-left: 4%;
        // padding: 0 50rpx;
    }
</style>
pages/sbgl/dqby2.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,496 @@
<template>
    <view>
        <page-nav title="定期保养"></page-nav>
        <!--     <view v-show="topContent.length===0">
            <div class="sacnBody">
                <div class="scanImg" @click="topScanClick"></div>
                <div class="scanText">扫描保养工位</div>
            </div>
        </view> -->
        <view v-show="topContent.length!==0">
            <view class="mainContent">
                <view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head">
                        <view class="head_block">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    ä¿å…»å·¥ä½
                                </view>
                            </view>
                            <!--
                            <view class="marginRight20">
                                <u-icon name="scan" @click="topScanClick" color="red" size="28"></u-icon>
                            </view> -->
                        </view>
                        <view class="marginLeft20 marginRight20" style="max-height: 180rpx;overflow:scroll;">
                            <u-radio-group v-model="radioValue" class="flex_column">
                                <view class="marginBottom20 flex_between" @click="groupChange(item.code)"
                                    v-for="item in topContent" :key="item.code">
                                    <view style="display: flex;">
                                        <view class="flex_column titleFont">
                                            <view>工位编码:</view>
                                            <view>工位名称:</view>
                                            <view>生产车间:</view>
                                        </view>
                                        <view class="flex_column contentFont">
                                            <view>{{item.code}}</view>
                                            <view>{{item.name}}</view>
                                            <view>{{item.wksp_name}}</view>
                                        </view>
                                    </view>
                                    <u-radio size='20' :key="item.code" :name="item.code"
                                        @change="groupChange(item.code)" activeColor="red"></u-radio>
                                </view>
                            </u-radio-group>
                        </view>
                    </view>
                    <u-gap height="12" bgColor="#eff0f1"></u-gap>
                    <view class="head" style="height:86rpx;">
                        <view class="head_block">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    ä¿å…»æ ‡å‡†
                                </view>
                            </view>
                            <view class="marginRight20 marginTop10" style="width: 200rpx;">
                                <!-- <u-icon name="scan" @click="topScanClick" color="red" size="56"></u-icon> -->
                                <uni-data-select v-model="selectValueBZ" :clear="false" :localdata="selectRangeBZ"
                                    @change="selectChangeBZ">
                                </uni-data-select>
                            </view>
                        </view>
                    </view>
                    <u-gap height="12" bgColor="#eff0f1"></u-gap>
                    <view class="head">
                        <view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    ä¿å…»é¡¹ç›®å†…容
                                </view>
                            </view>
                            <view class="marginRight20" style="width: 200rpx;">
                                <uni-data-select v-model="selectValue" :clear="false" :localdata="selectRange"
                                    @change="selectChange">
                                </uni-data-select>
                            </view>
                        </view>
                        <view :style="{maxHeight:(($DeviceInformation.screenHeight-550)*3)+'rpx',overflow: 'scroll'}">
                            <!-- <view :style="{maxHeight:'1000rpx',overflow: 'scroll'}"> -->
                            <view class="center_border flex_column" style="margin: 10rpx;" v-for="item in centerContent"
                                :key="item.code">
                                <view class="flex_between marginBottom10">
                                    <view class="center_title">{{item.name}}</view>
                                    <view class="marginRight20" v-if="item.isscan==='Y'">
                                        <u-icon name="scan" @click="centerScanClick(item.code)" color="red" size="28">
                                        </u-icon>
                                    </view>
                                </view>
                                <view class="flex_between marginBottom10">
                                    <view class='inputClass marginTop10'>
                                        <u--input :disabled='item.isDisabled' placeholder="请输入" border="surround"
                                            v-model="item.inputValue"></u--input>
                                    </view>
                                    <view class="flex_center">
                                        <u-button type="primary" :plain="item.isOK!=='OK'" :disabled="item.isDisabled"
                                            style="height: 60rpx;" text="正常" @click="bwClick(item,'OK')">
                                        </u-button>
                                        <u-button type="warning" :plain="item.isOK!=='NG'" :disabled="item.isDisabled"
                                            style="height: 60rpx;margin:0 5rpx;" text="异常" @click="bwClick(item,'NG')">
                                        </u-button>
                                    </view>
                                </view>
                                <view class="titleFont">
                                    {{item.chkdesc}}
                                </view>
                            </view>
                        </view>
                    </view>
                </view>
            </view>
            <view class="footer">
                <view class="head_block" style="align-items: center;padding: 0 23rpx;height: 100rpx;">
                    <view class="head_left">
                        <view class="head_bar"></view>
                        <view class="head_title">
                            ä¿å…»ç»“æžœ
                        </view>
                    </view>
                    <view class="flex_center">
                        <u-button type="primary" :plain="resultValue!=='OK'" style="height: 60rpx;"
                            :disabled="centerContent.some(item=>item.isDisabled===true)||centerContent.length===0"
                            text="正常" @click="resultClick('OK')"></u-button>
                        <u-button type="warning" :plain="resultValue!=='NG'" style="margin-left: 20rpx;height: 60rpx;"
                            :disabled="centerContent.some(item=>item.isDisabled===true)||centerContent.length===0"
                            text="异常" @click="resultClick('NG')"></u-button>
                    </view>
                </view>
                <u-button size="large" :loading="isDisabledSubmitButton" loadingText="正在提交,请稍等..." type="primary"
                    @click="submit" :disabled="resultValue===''" text="确认提交">
                </u-button>
            </view>
        </view>
        <scan-code></scan-code>
    </view>
</template>
<script>
    import {
        RepairScanDeviceQrCodeData,
        RepairSelectScanDeviceQrCodeItem,
        RepairScanDeviceTemp,
        AppDeviceRepairSave
    } from '../../config/api.js'
    import scanCode from '@/components/scan-code/scan-code.vue'
    export default {
        components: {
            scanCode
        },
        onLoad(option) {
            const _this = this
            uni.$off('scancodedate') // æ¯æ¬¡è¿›æ¥å…ˆ ç§»é™¤å…¨å±€è‡ªå®šä¹‰äº‹ä»¶ç›‘听器
            uni.$on('scancodedate', function(content) {
                console.log("扫描到的内容为:", content)
                _this.getRepairScanDeviceQrCodeData(content)
            })
            _this.getRepairScanDeviceQrCodeData(option.code)
        },
        onPullDownRefresh() {
            setTimeout(() => {
                this.init(() => {
                    uni.stopPullDownRefresh();
                })
            }, 1000);
        },
        data() {
            return {
                isDisabledSubmitButton: false,
                topContent: [], //扫描保养工位所带出来的内容
                centerContent: [], //保养项目内容
                scanContent: '', //扫描扫出来的值
                radioValue: '', //单选框的值
                resultValue: '', //保养结果值
                selectValueBZ: '', //标准选择的值
                selectRangeBZ: [], //标准选择的下拉选项
                selectValue: 'M',
                selectRange: [{
                    value: 'Y',
                    text: 'å¹´'
                }, {
                    value: 'S',
                    text: 'å­£'
                }, {
                    value: 'M',
                    text: '月'
                }, {
                    value: 'W',
                    text: '周'
                }, ]
            }
        },
        created() {
        },
        mounted() {
            this.init()
            // this.getRepairScanDeviceQrCodeData('111')
        },
        methods: {
            init() {
                uni.stopPullDownRefresh();
            },
            selectChange(val) {
                console.log(val)
            },
            selectChangeBZ(val) {
                console.log(val, 1)
                this.selectValueBZ = val
                this.getRepairSelectScanDeviceQrCodeItem(this.radioValue, this.selectValueBZ)
            },
            // æ‰«ç å·¥ä½  çš„æ‰«ç æ¡†ç‚¹å‡»
            topScanClick() {
                let that = this;
                uni.scanCode({
                    onlyFromCamera: true,
                    // scanType: ['barCode', 'qrCode'],
                    scanType: ['qrCode'],
                    success: function(res) {
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                        that.scanContent = res.result;
                        let flag = false
                        that.topContent.forEach(item => {
                            if (item.code === res.result) {
                                flag = true
                            }
                        })
                        if (flag) {
                            that.$u.toast('此条码已扫描,已在列表中!')
                        } else {
                            //处理扫码事件
                            that.getRepairScanDeviceQrCodeData(that.scanContent);
                        }
                    },
                    complete: function(res) {
                    },
                    fail: function(res) {
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                    }
                });
            },
            // ä¿å…»é¡¹ç›®å†…容  çš„æ‰«ç æ¡†ç‚¹å‡»
            centerScanClick(val) {
                let that = this;
                uni.scanCode({
                    onlyFromCamera: true,
                    // scanType: ['barCode', 'qrCode'],
                    scanType: ['qrCode'],
                    success: function(res) {
                        // console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                        // that.scanContent = res.result;
                        if (res.result === val) {
                            that.centerContent.find(item => item.code === val).isDisabled = false
                            that.centerContent.find(item => item.code === val).isOK = 'OK'
                            if (that.centerContent.every(r => r.isOK === 'OK')) {
                                that.resultValue = 'OK'
                            }
                            if (that.centerContent.some(r => r.isOK === 'NG')) {
                                that.resultValue = 'NG'
                            }
                            if (that.centerContent.some(r => r.isOK === '')) {
                                that.resultValue = ''
                            }
                            that.$forceUpdate()
                        } else {
                            uni.$u.toast('所扫条码与点检部位不符合!')
                        }
                        //处理扫码事件
                        // that.SearchBarcode();
                    },
                    complete: function(res) {},
                    fail: function(res) {}
                });
            },
            // èŽ·å–ä¿å…»å·¥ä½
            async getRepairScanDeviceQrCodeData(val) {
                const data = {
                    eqpcode: val
                }
                const res = await RepairScanDeviceQrCodeData(data)
                if (res.code === '200' && res.data[0].eapmai_code !== null) { //表示绑定了标准
                    this.topContent.unshift(res.data[0])
                    this.radioValue = res.data[0].code
                    // this.selectValue = res.data[0].main_cycle
                    // this.getRepairSelectScanDeviceQrCodeItem(res.data[0].code, res.data[0].eapmai_code)
                    this.getRepairScanDeviceTemp(res.data[0].code)
                } else if (res.code === '200' && res.data[0].eapmai_code === null) {
                    uni.$u.toast('当前设备未设置点检标准绑定点检项目!')
                    // this.selectValueBZ = ''
                    // this.centerContent = []
                    // this.$forceUpdate()
                }
                // else if (res.code === '200') {
                //     uni.$u.toast('当前设备未设置点检标准绑定点检项目!')
                //     this.$forceUpdate()
                // }
            },
            // èŽ·å–ä¿å…»æ ‡å‡†
            async getRepairScanDeviceTemp(eqpcode) {
                const res = await RepairScanDeviceTemp({
                    eqpcode
                })
                this.selectRangeBZ = res.data.map(({
                    code,
                    name
                }) => ({
                    text: name,
                    value: code
                }))
                this.selectValueBZ = this.selectRangeBZ[0].value
                this.getRepairSelectScanDeviceQrCodeItem(eqpcode, this.selectValueBZ)
            },
            // èŽ·å–ä¿å…»é¡¹ç›®å†…å®¹
            async getRepairSelectScanDeviceQrCodeItem(eqpcode, repartempcode) {
                const data = {
                    eqpcode,
                    repartempcode
                }
                const res = await RepairSelectScanDeviceQrCodeItem(data)
                if (res.code === '200') {
                    this.centerContent = res.data
                    this.centerContent.forEach(item => {
                        item.inputValue = ''
                        item.isDisabled = item.isscan === 'Y'
                        item.isOK = item.isscan !== 'Y' ? 'OK' : ''
                    })
                    if (this.centerContent.every(r => r.isOK === 'OK')) {
                        this.resultValue = 'OK'
                    }
                    if (this.centerContent.some(r => r.isOK === 'NG')) {
                        this.resultValue = 'NG'
                    }
                    if (this.centerContent.some(r => r.isOK === '')) {
                        this.resultValue = ''
                    }
                    this.radioValue = eqpcode
                    this.selectValue = this.centerContent[0].main_cycle
                    this.$forceUpdate()
                } else if (res.code === '300') {
                    this.selectValueBZ = ''
                    this.centerContent = []
                    this.$forceUpdate()
                }
            },
            // å•选按钮点击
            groupChange(val) {
                this.radioValue = val
                this.$forceUpdate()
                // this.getRepairSelectScanDeviceQrCodeItem(val, this.topContent.find(i => i.code === val).eapmai_code)
                this.getRepairScanDeviceTemp(val)
            },
            // éƒ¨ä½æ­£å¸¸ å¼‚常按钮点击
            bwClick(item, val) {
                item.isOK = val
                if (this.centerContent.every(item => item.isOK !== '')) {
                    if (this.centerContent.every(item => item.isOK === 'OK')) {
                        this.resultValue = 'OK'
                    } else {
                        this.resultValue = 'NG'
                    }
                }
                this.$forceUpdate() //强制视图更新
            },
            // ç‚¹æ£€ç»“果点击
            resultClick(val) {
                this.resultValue = val
                this.$forceUpdate() //强制视图更新
            },
            // ç¡®è®¤æäº¤æŒ‰é’®
            async submit() {
                const children = []
                this.centerContent.forEach(item => {
                    children.push({
                        seq: item.seq,
                        itemcode: item.code,
                        cycle: item.main_cycle,
                        value: item.inputValue,
                        result: item.isOK
                    })
                })
                const data = {
                    code: this.topContent.find(item => item.code === this.radioValue).code,
                    name: this.topContent.find(item => item.code === this.radioValue).name,
                    // standcode: this.topContent.find(item => item.code === this.radioValue).eapmai_code,
                    standcode: this.selectValueBZ,
                    result: this.resultValue,
                    children: children
                }
                // console.log(data)
                this.isDisabledSubmitButton = true
                const res = await AppDeviceRepairSave(data, uni.getStorageSync("username"), this.selectValue)
                if (res.code === '200') {
                    uni.$u.toast('提交成功!')
                    this.isDisabledSubmitButton = false
                    this.topContent.forEach((item, index) => {
                        if (item.code === this.radioValue) {
                            // this.topContent.splice(index, 1)
                            // let prevPage = getCurrentPages()[getCurrentPages()
                            //     .length -
                            //     2]; // ä¸Šä¸€é¡µé¢å®žä¾‹
                            // prevPage.$vm
                            //     .changeInputBoxValue('') // è°ƒç”¨ä¸Šä¸€é¡µ å®šä¹‰çš„æ–¹æ³•
                            setTimeout(() => {
                                uni.navigateBack({
                                    delta: 1, //返回层数,2则上上页
                                })
                            }, 1000)
                        }
                    })
                    this.radioValue = this.topContent[0].code
                    if (this.radioValue.toString().length > 0) {
                        this.getRepairScanDeviceTemp(this.radioValue)
                    }
                }
            },
        }
    }
</script>
<style lang="scss" scoped>
    @import url('@/style/global.css');
    ::v-deep .uicon-arrow-left>span {
        display: block;
    }
</style>
pages/sbgl/rcdj.vue
@@ -2,188 +2,69 @@
    <view>
        <page-nav title="日常点检"></page-nav>
        <!-- <u-notify ref="uNotify"></u-notify> -->
        <view v-show="topContent.length===0">
        <view v-if="purchorderArrAll.length>0">
            <!-- <view class="mainContent" :style="{maxHeight: '1340rpx',overflow: 'scroll',padding:0}"> -->
            <!-- #ifdef H5 -->
            <u--input prefixIcon="search" prefixIconStyle="font-size: 22px;color: #909399" placeholder="输入设备/工位"
                clearable border="surround" @clear='inputBoxValueClear' v-model="inputBoxValue"
                @change="changeInputBoxValue">
                <template slot="suffix">
                    <u-icon name="scan" color="#909399" size="24" @click="topScanClick"></u-icon>
                </template>
            </u--input>
            <!-- #endif -->
            <!-- #ifdef APP-PLUS -->
            <u-input prefixIcon="search" prefixIconStyle="font-size: 22px;color: #909399" placeholder="输入设备/工位"
                clearable border="surround" @clear='inputBoxValueClear' v-model="inputBoxValue"
                @change="changeInputBoxValue">
                <template slot="suffix">
                    <u-icon name="scan" color="#909399" size="24" @click="topScanClick"></u-icon>
                </template>
            </u-input>
            <!-- #endif -->
            <u-alert :title="'设备/工位数(共'+title+'个)'" type="primary"></u-alert>
            <u-radio-group v-model="radioValue" iconPlacement="right" @change="radioValueClick" class="radioGroupClass">
                <view v-for="(item,index) in purchorderArr" :key="item.code">
                    <!-- @click="radioValueClick(item.code)" -->
                    <view>
                        <u-radio activeColor="red" size="18" labelSize='18' :name='item.code' :key="item.code"
                            :label="item.code+'/'+item.name"></u-radio>
                    </view>
                    <u-line v-if="index!==purchorderArr.length-1" color="#2979ff"></u-line>
                </view>
            </u-radio-group>
            <view class="footer" style="min-height:62rpx;">
                <u-button type="primary" size='large' :hairline="true" @click="navigateTo" text="下一步"></u-button>
            </view>
            <!-- </view> -->
        </view>
        <view v-if="purchorderArrAll.length===0">
            <div class="sacnBody">
                <div class="scanImg" @click="topScanClick"></div>
                <div class="scanText">扫描点检工位</div>
                <div class="boxImg"></div>
                <div class="scanText">暂无设备/工位</div>
            </div>
        </view>
        <view v-show="topContent.length!==0">
            <view class="mainContent">
                <view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head">
                        <view class="head_block">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    æ‰«æç‚¹æ£€å·¥ä½
                                </view>
                            </view>
                            <view class="marginRight20">
                                <u-icon name="scan" @click="topScanClick" color="red" size="28"></u-icon>
                            </view>
                        </view>
                        <view class="marginLeft20 marginRight20" style="max-height: 180rpx;overflow:auto;">
                            <u-radio-group v-model="radioValue" class="flex_column">
                                <view class="marginBottom20 flex_between" @click="groupChange(item.code)"
                                    v-for="item in topContent" :key="item.code">
                                    <view style="display: flex;">
                                        <view class="flex_column titleFont">
                                            <view>工位编码:</view>
                                            <view>工位名称:</view>
                                            <view>生产车间:</view>
                                        </view>
                                        <view class="flex_column contentFont">
                                            <view>{{item.code}}</view>
                                            <view>{{item.name}}</view>
                                            <view>{{item.wksp_name}}</view>
                                        </view>
                                    </view>
                                    <u-radio style="line-height: 44rpx;" size='20' :key="item.code" :name="item.code"
                                        @change="groupChange(item.code)" activeColor="red"></u-radio>
                                </view>
                            </u-radio-group>
                        </view>
                    </view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head" style="height:82rpx;">
                        <view class="head_block">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    ç‚¹æ£€æ ‡å‡†
                                </view>
                            </view>
                            <view class="marginRight20 marginTop10" style="width: 200rpx;">
                                <!-- <u-icon name="scan" @click="topScanClick" color="red" size="56"></u-icon> -->
                                <uni-data-select v-model="selectValueBZ" :clear="false" :localdata="selectRangeBZ"
                                    @change="selectChangeBZ">
                                </uni-data-select>
                            </view>
                        </view>
                    </view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head" style="">
                        <view class="head_block">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    ç‚¹æ£€é¡¹ç›®å†…容
                                </view>
                            </view>
                        </view>
                        <!-- <view :style="{maxHeight:(($DeviceInformation.screenHeight-530)*3)+'rpx',overflow: 'scroll'}"> -->
                        <view :style="{maxHeight:'1000rpx',overflow: 'scroll'}">
                            <view class="center_border flex_column" style="margin: 10rpx;" v-for="item in centerContent"
                                :key="item.code">
                                <view class="flex_between marginBottom10">
                                    <view class="center_title">{{item.name}}</view>
                                    <view class="marginRight20" v-if="item.isscan==='Y'">
                                        <u-icon name="scan" @click="centerScanClick(item.code)" color="red" size="28">
                                        </u-icon>
                                    </view>
                                </view>
                                <view class="flex_between marginBottom10">
                                    <view class='inputClass marginTop10'>
                                        <u--input :disabled='item.isDisabled' placeholder="请输入" border="surround"
                                            v-model="item.inputValue"></u--input>
                                    </view>
                                    <view class="flex_center">
                                        <u-button type="primary" :plain="item.isOK!=='OK'" :disabled="item.isDisabled"
                                            style="height: 60rpx;" text="正常" @click="bwClick(item,'OK')">
                                        </u-button>
                                        <u-button type="warning" :plain="item.isOK!=='NG'" :disabled="item.isDisabled"
                                            style="height: 60rpx;margin:0 5rpx;" text="异常" @click="bwClick(item,'NG')">
                                        </u-button>
                                    </view>
                                </view>
                                <view class="titleFont">
                                    {{item.chkdesc}}
                                </view>
                            </view>
                        </view>
                    </view>
                </view>
            </view>
            <view class="footer" style="">
                <view class="head_block" style="align-items: center;padding: 0 23rpx;height: 100rpx;">
                    <view class="head_left">
                        <view class="head_bar"></view>
                        <view class="head_title">
                            ç‚¹æ£€ç»“æžœ
                        </view>
                    </view>
                    <view class="flex_center">
                        <u-button type="primary" :plain="resultValue!=='OK'" style="height: 60rpx;"
                            :disabled="centerContent.some(item=>item.isDisabled===true)||centerContent.length===0"
                            text="正常" @click="resultClick('OK')"></u-button>
                        <u-button type="warning" :plain="resultValue!=='NG'" style="margin-left: 20rpx;height: 60rpx;"
                            :disabled="centerContent.some(item=>item.isDisabled===true)||centerContent.length===0"
                            text="异常" @click="resultClick('NG')"></u-button>
                    </view>
                </view>
                <u-button size="large" :loading="isDisabledSubmitButton" loadingText="正在提交,请稍等..." type="primary"
                    @click="submit" :disabled="resultValue===''" text="确认提交">
                </u-button>
            </view>
        </view>
        <scan-code></scan-code>
    </view>
</template>
<script>
    import {
        CheckScanDeviceQrCodeData,
        SelectScanDeviceQrCodeItem,
        CheckScanDeviceTemp,
        AppDeviceCheckSave
    } from '../../config/api.js'
    import scanCode from '@/components/scan-code/scan-code.vue'
        EqpPermissions
    } from '../../config/api.js';
    export default {
        components: {
            scanCode
        },
        onLoad(option) {
        onLoad(option) {},
            const _this = this
            uni.$off('scancodedate') // æ¯æ¬¡è¿›æ¥å…ˆ ç§»é™¤å…¨å±€è‡ªå®šä¹‰äº‹ä»¶ç›‘听器
            uni.$on('scancodedate', function(content) {
                console.log("扫描到的内容为:", content)
                _this.getCheckScanDeviceQrCodeData(content)
            })
        },
        onPullDownRefresh() {
            setTimeout(() => {
                this.init(() => {
@@ -191,19 +72,20 @@
                })
            }, 1000);
        },
        data() {
            return {
                isDisabledSubmitButton: false,
                selectValueBZ: '',
                selectRangeBZ: [],
                inputBoxValue: '', //输入框值
                topContent: [], //扫描点检工位所带出来的内容
                centerContent: [], //点检项目内容
                scanContent: '', //扫描扫出来的值
                radioValue: '', //单选框的值
                resultValue: '', //点检结果值
                title: 0,
                radioValue: '',
                purchorderArr: [],
                purchorderArrAll: []
            }
        },
        created() {
@@ -212,14 +94,39 @@
        mounted() {
            this.init()
            // this.getCheckScanDeviceQrCodeData('111')
            this.getEqpPermissions()
        },
        methods: {
            init() {
                uni.stopPullDownRefresh();
            },
            // æ‰«ç ç‚¹æ£€å·¥ä½  çš„æ‰«ç æ¡†ç‚¹å‡»
            changeInputBoxValue(val) {
                this.purchorderArr = this.purchorderArrAll.filter((p) => {
                    return p.code.indexOf(val) !== -1
                })
                if (this.purchorderArr.length > 0) {
                    this.radioValue = this.purchorderArr[0].code
                }
            },
            inputBoxValueClear() {
                this.inputBoxValue = ''
            },
            radioValueClick(val) {
                console.log(val)
                this.radioValue = val
            },
            navigateTo() {
                uni.navigateTo({
                    url: './rcdj2?code=' + this.radioValue
                });
            },
            // æ‰«ç æ¡†ç‚¹å‡»
            topScanClick() {
                let that = this;
@@ -231,18 +138,7 @@
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                        that.scanContent = res.result;
                        let flag = false
                        that.topContent.forEach(item => {
                            if (item.code === res.result) {
                                flag = true
                            }
                        })
                        if (flag) {
                            that.$u.toast('此条码已扫描,已在列表中!')
                        } else {
                            //处理扫码事件
                            that.getCheckScanDeviceQrCodeData(that.scanContent);
                        }
                        that.changeInputBoxValue(that.scanContent);
                    },
                    complete: function(res) {
@@ -255,204 +151,19 @@
                });
            },
            // ç‚¹æ£€é¡¹ç›®å†…容  çš„æ‰«ç æ¡†ç‚¹å‡»
            centerScanClick(val) {
                let that = this;
                uni.scanCode({
                    onlyFromCamera: true,
                    // scanType: ['barCode', 'qrCode'],
                    scanType: ['qrCode'],
                    success: function(res) {
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                        // that.scanContent = res.result;
            async getEqpPermissions() {
                const res = await EqpPermissions()
                this.purchorderArrAll = res.data
                this.purchorderArr = res.data
                this.title = res.data.length
                this.radioValue = res.data[0].code
                        if (res.result === val) {
                            that.centerContent.find(item => item.code === val).isDisabled = false
                            that.centerContent.find(item => item.code === val).isOK = 'OK'
                            if (that.centerContent.every(r => r.isOK === 'OK')) {
                                that.resultValue = 'OK'
                            }
                            if (that.centerContent.some(r => r.isOK === 'NG')) {
                                that.resultValue = 'NG'
                            }
                            if (that.centerContent.some(r => r.isOK === '')) {
                                that.resultValue = ''
                            }
                            that.$forceUpdate()
                        } else {
                            uni.$u.toast('所扫条码与点检部位不符合!')
                        }
                        //处理扫码事件
                        // that.SearchBarcode();
                    },
                    complete: function(res) {},
                    fail: function(res) {}
                });
            },
            // èŽ·å–ç‚¹æ£€å·¥ä½
            async getCheckScanDeviceQrCodeData(val) {
                const data = {
                    eqpcode: val
                }
                const res = await CheckScanDeviceQrCodeData(data)
                if (res.code === '200' && res.data[0].eqpchkmain_code !== null) { //表示绑定了标准
                    this.topContent.unshift(res.data[0])
                    // console.log(res.data[0],222);
                    this.getCheckScanDeviceTemp(res.data[0].code)
                } else if (res.code === '200' && res.data[0].eqpchkmain_code === null) {
                    uni.$u.toast('当前设备未设置点检标准绑定点检项目!')
                }
            },
            // èŽ·å–ç‚¹æ£€æ ‡å‡†
            async getCheckScanDeviceTemp(eqpcode) {
                const res = await CheckScanDeviceTemp({
                    eqpcode
                })
                this.selectRangeBZ = res.data.map(({
                    code,
                    name
                }) => ({
                    text: name,
                    value: code
                }))
                this.selectValueBZ = this.selectRangeBZ[0].value
                this.getSelectScanDeviceQrCodeItem(eqpcode, this.selectValueBZ)
            },
            //点检标准下拉选择改变
            selectChangeBZ(val) {
                this.selectValueBZ = val
                this.getSelectScanDeviceQrCodeItem(this.radioValue, this.selectValueBZ)
            },
            // èŽ·å–ç‚¹æ£€é¡¹ç›®å†…å®¹
            async getSelectScanDeviceQrCodeItem(eqpcode, checktempcode) {
                const data = {
                    eqpcode,
                    checktempcode
                }
                const res = await SelectScanDeviceQrCodeItem(data)
                if (res.code === '200') {
                    this.centerContent = res.data
                    this.centerContent.forEach(item => {
                        item.inputValue = ''
                        item.isDisabled = item.isscan === 'Y'
                        item.isOK = item.isscan !== 'Y' ? 'OK' : ''
                    })
                    if (this.centerContent.every(r => r.isOK === 'OK')) {
                        this.resultValue = 'OK'
                    }
                    if (this.centerContent.some(r => r.isOK === 'NG')) {
                        this.resultValue = 'NG'
                    }
                    if (this.centerContent.some(r => r.isOK === '')) {
                        this.resultValue = ''
                    }
                    this.radioValue = eqpcode
                    this.$forceUpdate()
                }
            },
            // å•选按钮点击
            groupChange(val) {
                this.radioValue = val
                this.$forceUpdate()
                this.getCheckScanDeviceTemp(val)
            },
            // éƒ¨ä½æ­£å¸¸ å¼‚常按钮点击
            bwClick(item, val) {
                item.isOK = val
                if (this.centerContent.every(item => item.isOK !== '')) {
                    if (this.centerContent.every(item => item.isOK === 'OK')) {
                        this.resultValue = 'OK'
                    } else {
                        this.resultValue = 'NG'
                    }
                }
                this.$forceUpdate() //强制视图更新
            },
            // ç‚¹æ£€ç»“果点击
            resultClick(val) {
                this.resultValue = val
                this.$forceUpdate() //强制视图更新
            },
            // ç¡®è®¤æäº¤æŒ‰é’®
            async submit() {
                const children = []
                this.centerContent.forEach(item => {
                    children.push({
                        seq: item.seq,
                        itemcode: item.code,
                        cycle: item.cycle,
                        value: item.inputValue,
                        result: item.isOK
                    })
                })
                const data = {
                    code: this.topContent.find(item => item.code === this.radioValue).code,
                    name: this.topContent.find(item => item.code === this.radioValue).name,
                    // standcode: this.topContent.find(item => item.code === this.radioValue).eqpchkmain_code,
                    standcode: this.selectValueBZ,
                    result: this.resultValue,
                    children: children
                }
                // console.log(data, 8);
                this.isDisabledSubmitButton = true
                const res = await AppDeviceCheckSave(uni.getStorageSync("username"), data)
                if (res.code === '200') {
                    // this.$refs.uNotify.show({
                    //     top: 160,
                    //     type: 'primary',
                    //     color: '#fff',
                    //     bgColor: '#436df5',
                    //     message: '提交成功!',
                    //     duration: 1000 * 3,
                    //     fontSize: 30,
                    //     safeAreaInsetTop: false
                    // })
                    uni.$u.toast('提交成功!')
                    this.isDisabledSubmitButton = false
                    this.topContent.forEach((item, index) => {
                        if (item.code === this.radioValue) {
                            this.topContent.splice(index, 1)
                        }
                    })
                    this.radioValue = this.topContent[0].code
                    if (this.radioValue.toString().length > 0) {
                        // this.getSelectScanDeviceQrCodeItem(this.radioValue, this.topContent.find(i => i.code === this
                        //     .radioValue).eqpchkmain_code)
                        this.getCheckScanDeviceTemp(val)
                    }
                } else {
                    this.isDisabledSubmitButton = false
                }
            },
            }
        }
    }
</script>
@@ -463,4 +174,34 @@
    ::v-deep .uicon-arrow-left>span {
        display: block;
    }
    .u-input--square {
        margin: 20rpx 10rpx;
        border-radius: 40rpx;
        background-color: #fff;
        border: 1px solid #c8c8c8;
    }
    ::v-deep .u-alert__text--primary--light {
        margin-bottom: 0;
        font-size: 32rpx !important;
    }
    .radioGroupClass {
        display: flex;
        flex-direction: column;
        background-color: #fff;
        overflow-y: auto;
        max-height: 1040rpx;
        margin-top: 20rpx;
    }
    ::v-deep .u-radio-label--right {
        height: 90rpx;
        line-height: 90rpx;
        width: 92%;
        margin-left: 4%;
        // padding: 0 50rpx;
    }
</style>
pages/sbgl/rcdj2.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,478 @@
<template>
    <view>
        <page-nav title="日常点检"></page-nav>
        <!-- <u-notify ref="uNotify"></u-notify> -->
        <!--     <view v-show="topContent.length===0">
            <div class="sacnBody">
                <div class="scanImg" @click="topScanClick"></div>
                <div class="scanText">扫描点检工位</div>
            </div>
        </view> -->
        <view v-show="topContent.length!==0">
            <view class="mainContent">
                <view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head">
                        <view class="head_block">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    ç‚¹æ£€å·¥ä½
                                </view>
                            </view>
                            <!--         <view class="marginRight20">
                                <u-icon name="scan" @click="topScanClick" color="red" size="28"></u-icon>
                            </view> -->
                        </view>
                        <view class="marginLeft20 marginRight20" style="max-height: 180rpx;overflow:auto;">
                            <u-radio-group v-model="radioValue" class="flex_column">
                                <view class="marginBottom20 flex_between" @click="groupChange(item.code)"
                                    v-for="item in topContent" :key="item.code">
                                    <view style="display: flex;">
                                        <view class="flex_column titleFont">
                                            <view>工位编码:</view>
                                            <view>工位名称:</view>
                                            <view>生产车间:</view>
                                        </view>
                                        <view class="flex_column contentFont">
                                            <view>{{item.code}}</view>
                                            <view>{{item.name}}</view>
                                            <view>{{item.wksp_name}}</view>
                                        </view>
                                    </view>
                                    <u-radio style="line-height: 44rpx;" size='20' :key="item.code" :name="item.code"
                                        @change="groupChange(item.code)" activeColor="red"></u-radio>
                                </view>
                            </u-radio-group>
                        </view>
                    </view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head" style="height:82rpx;">
                        <view class="head_block">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    ç‚¹æ£€æ ‡å‡†
                                </view>
                            </view>
                            <view class="marginRight20 marginTop10" style="width: 200rpx;">
                                <!-- <u-icon name="scan" @click="topScanClick" color="red" size="56"></u-icon> -->
                                <uni-data-select v-model="selectValueBZ" :clear="false" :localdata="selectRangeBZ"
                                    @change="selectChangeBZ">
                                </uni-data-select>
                            </view>
                        </view>
                    </view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head" style="">
                        <view class="head_block">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    ç‚¹æ£€é¡¹ç›®å†…容
                                </view>
                            </view>
                        </view>
                        <view :style="{maxHeight:(($DeviceInformation.screenHeight-550)*3)+'rpx',overflow: 'scroll'}">
                            <!-- <view :style="{maxHeight:'1000rpx',overflow: 'scroll'}"> -->
                            <view class="center_border flex_column" style="margin: 10rpx;" v-for="item in centerContent"
                                :key="item.code">
                                <view class="flex_between marginBottom10">
                                    <view class="center_title">{{item.name}}</view>
                                    <view class="marginRight20" v-if="item.isscan==='Y'">
                                        <u-icon name="scan" @click="centerScanClick(item.code)" color="red" size="28">
                                        </u-icon>
                                    </view>
                                </view>
                                <view class="flex_between marginBottom10">
                                    <view class='inputClass marginTop10'>
                                        <u--input :disabled='item.isDisabled' placeholder="请输入" border="surround"
                                            v-model="item.inputValue"></u--input>
                                    </view>
                                    <view class="flex_center">
                                        <u-button type="primary" :plain="item.isOK!=='OK'" :disabled="item.isDisabled"
                                            style="height: 60rpx;" text="正常" @click="bwClick(item,'OK')">
                                        </u-button>
                                        <u-button type="warning" :plain="item.isOK!=='NG'" :disabled="item.isDisabled"
                                            style="height: 60rpx;margin:0 5rpx;" text="异常" @click="bwClick(item,'NG')">
                                        </u-button>
                                    </view>
                                </view>
                                <view class="titleFont">
                                    {{item.chkdesc}}
                                </view>
                            </view>
                        </view>
                    </view>
                </view>
            </view>
            <view class="footer" style="">
                <view class="head_block" style="align-items: center;padding: 0 23rpx;height: 100rpx;">
                    <view class="head_left">
                        <view class="head_bar"></view>
                        <view class="head_title">
                            ç‚¹æ£€ç»“æžœ
                        </view>
                    </view>
                    <view class="flex_center">
                        <u-button type="primary" :plain="resultValue!=='OK'" style="height: 60rpx;"
                            :disabled="centerContent.some(item=>item.isDisabled===true)||centerContent.length===0"
                            text="正常" @click="resultClick('OK')"></u-button>
                        <u-button type="warning" :plain="resultValue!=='NG'" style="margin-left: 20rpx;height: 60rpx;"
                            :disabled="centerContent.some(item=>item.isDisabled===true)||centerContent.length===0"
                            text="异常" @click="resultClick('NG')"></u-button>
                    </view>
                </view>
                <u-button size="large" :loading="isDisabledSubmitButton" loadingText="正在提交,请稍等..." type="primary"
                    @click="submit" :disabled="resultValue===''" text="确认提交">
                </u-button>
            </view>
        </view>
        <scan-code></scan-code>
    </view>
</template>
<script>
    import {
        CheckScanDeviceQrCodeData,
        SelectScanDeviceQrCodeItem,
        CheckScanDeviceTemp,
        AppDeviceCheckSave
    } from '../../config/api.js'
    import scanCode from '@/components/scan-code/scan-code.vue'
    export default {
        components: {
            scanCode
        },
        onLoad(option) {
            const _this = this
            uni.$off('scancodedate') // æ¯æ¬¡è¿›æ¥å…ˆ ç§»é™¤å…¨å±€è‡ªå®šä¹‰äº‹ä»¶ç›‘听器
            uni.$on('scancodedate', function(content) {
                console.log("扫描到的内容为:", content)
                _this.getCheckScanDeviceQrCodeData(content)
            })
            _this.getCheckScanDeviceQrCodeData(option.code)
        },
        onPullDownRefresh() {
            setTimeout(() => {
                this.init(() => {
                    uni.stopPullDownRefresh();
                })
            }, 1000);
        },
        data() {
            return {
                isDisabledSubmitButton: false,
                selectValueBZ: '',
                selectRangeBZ: [],
                topContent: [], //扫描点检工位所带出来的内容
                centerContent: [], //点检项目内容
                scanContent: '', //扫描扫出来的值
                radioValue: '', //单选框的值
                resultValue: '', //点检结果值
            }
        },
        created() {
        },
        mounted() {
            this.init()
            // this.getCheckScanDeviceQrCodeData('111')
        },
        methods: {
            init() {
                uni.stopPullDownRefresh();
            },
            // æ‰«ç ç‚¹æ£€å·¥ä½  çš„æ‰«ç æ¡†ç‚¹å‡»
            topScanClick() {
                let that = this;
                uni.scanCode({
                    onlyFromCamera: true,
                    // scanType: ['barCode', 'qrCode'],
                    scanType: ['qrCode'],
                    success: function(res) {
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                        that.scanContent = res.result;
                        let flag = false
                        that.topContent.forEach(item => {
                            if (item.code === res.result) {
                                flag = true
                            }
                        })
                        if (flag) {
                            that.$u.toast('此条码已扫描,已在列表中!')
                        } else {
                            //处理扫码事件
                            that.getCheckScanDeviceQrCodeData(that.scanContent);
                        }
                    },
                    complete: function(res) {
                    },
                    fail: function(res) {
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                    }
                });
            },
            // ç‚¹æ£€é¡¹ç›®å†…容  çš„æ‰«ç æ¡†ç‚¹å‡»
            centerScanClick(val) {
                let that = this;
                uni.scanCode({
                    onlyFromCamera: true,
                    // scanType: ['barCode', 'qrCode'],
                    scanType: ['qrCode'],
                    success: function(res) {
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                        // that.scanContent = res.result;
                        if (res.result === val) {
                            that.centerContent.find(item => item.code === val).isDisabled = false
                            that.centerContent.find(item => item.code === val).isOK = 'OK'
                            if (that.centerContent.every(r => r.isOK === 'OK')) {
                                that.resultValue = 'OK'
                            }
                            if (that.centerContent.some(r => r.isOK === 'NG')) {
                                that.resultValue = 'NG'
                            }
                            if (that.centerContent.some(r => r.isOK === '')) {
                                that.resultValue = ''
                            }
                            that.$forceUpdate()
                        } else {
                            uni.$u.toast('所扫条码与点检部位不符合!')
                        }
                        //处理扫码事件
                        // that.SearchBarcode();
                    },
                    complete: function(res) {},
                    fail: function(res) {}
                });
            },
            // èŽ·å–ç‚¹æ£€å·¥ä½
            async getCheckScanDeviceQrCodeData(val) {
                const data = {
                    eqpcode: val
                }
                const res = await CheckScanDeviceQrCodeData(data)
                if (res.code === '200' && res.data[0].eqpchkmain_code !== null) { //表示绑定了标准
                    this.topContent.unshift(res.data[0])
                    // console.log(res.data[0],222);
                    this.getCheckScanDeviceTemp(res.data[0].code)
                } else if (res.code === '200' && res.data[0].eqpchkmain_code === null) {
                    uni.$u.toast('当前设备未设置点检标准绑定点检项目!')
                }
            },
            // èŽ·å–ç‚¹æ£€æ ‡å‡†
            async getCheckScanDeviceTemp(eqpcode) {
                const res = await CheckScanDeviceTemp({
                    eqpcode
                })
                this.selectRangeBZ = res.data.map(({
                    code,
                    name
                }) => ({
                    text: name,
                    value: code
                }))
                this.selectValueBZ = this.selectRangeBZ[0].value
                this.getSelectScanDeviceQrCodeItem(eqpcode, this.selectValueBZ)
            },
            //点检标准下拉选择改变
            selectChangeBZ(val) {
                this.selectValueBZ = val
                this.getSelectScanDeviceQrCodeItem(this.radioValue, this.selectValueBZ)
            },
            // èŽ·å–ç‚¹æ£€é¡¹ç›®å†…å®¹
            async getSelectScanDeviceQrCodeItem(eqpcode, checktempcode) {
                const data = {
                    eqpcode,
                    checktempcode
                }
                const res = await SelectScanDeviceQrCodeItem(data)
                if (res.code === '200') {
                    this.centerContent = res.data
                    this.centerContent.forEach(item => {
                        item.inputValue = ''
                        item.isDisabled = item.isscan === 'Y'
                        item.isOK = item.isscan !== 'Y' ? 'OK' : ''
                    })
                    if (this.centerContent.every(r => r.isOK === 'OK')) {
                        this.resultValue = 'OK'
                    }
                    if (this.centerContent.some(r => r.isOK === 'NG')) {
                        this.resultValue = 'NG'
                    }
                    if (this.centerContent.some(r => r.isOK === '')) {
                        this.resultValue = ''
                    }
                    this.radioValue = eqpcode
                    this.$forceUpdate()
                }
            },
            // å•选按钮点击
            groupChange(val) {
                this.radioValue = val
                this.$forceUpdate()
                this.getCheckScanDeviceTemp(val)
            },
            // éƒ¨ä½æ­£å¸¸ å¼‚常按钮点击
            bwClick(item, val) {
                item.isOK = val
                if (this.centerContent.every(item => item.isOK !== '')) {
                    if (this.centerContent.every(item => item.isOK === 'OK')) {
                        this.resultValue = 'OK'
                    } else {
                        this.resultValue = 'NG'
                    }
                }
                this.$forceUpdate() //强制视图更新
            },
            // ç‚¹æ£€ç»“果点击
            resultClick(val) {
                this.resultValue = val
                this.$forceUpdate() //强制视图更新
            },
            // ç¡®è®¤æäº¤æŒ‰é’®
            async submit() {
                const children = []
                this.centerContent.forEach(item => {
                    children.push({
                        seq: item.seq,
                        itemcode: item.code,
                        cycle: item.cycle,
                        value: item.inputValue,
                        result: item.isOK
                    })
                })
                const data = {
                    code: this.topContent.find(item => item.code === this.radioValue).code,
                    name: this.topContent.find(item => item.code === this.radioValue).name,
                    // standcode: this.topContent.find(item => item.code === this.radioValue).eqpchkmain_code,
                    standcode: this.selectValueBZ,
                    result: this.resultValue,
                    children: children
                }
                // console.log(data, 8);
                this.isDisabledSubmitButton = true
                const res = await AppDeviceCheckSave(uni.getStorageSync("username"), data)
                if (res.code === '200') {
                    // this.$refs.uNotify.show({
                    //     top: 160,
                    //     type: 'primary',
                    //     color: '#fff',
                    //     bgColor: '#436df5',
                    //     message: '提交成功!',
                    //     duration: 1000 * 3,
                    //     fontSize: 30,
                    //     safeAreaInsetTop: false
                    // })
                    uni.$u.toast('提交成功!')
                    this.isDisabledSubmitButton = false
                    this.topContent.forEach((item, index) => {
                        if (item.code === this.radioValue) {
                            // this.topContent.splice(index, 1)
                            // let prevPage = getCurrentPages()[getCurrentPages()
                            //     .length -
                            //     2]; // ä¸Šä¸€é¡µé¢å®žä¾‹
                            // prevPage.$vm
                            //     .getEqpPermissions() // è°ƒç”¨ä¸Šä¸€é¡µ å®šä¹‰çš„æ–¹æ³•
                            setTimeout(() => {
                                uni.navigateBack({
                                    delta: 1, //返回层数,2则上上页
                                })
                            }, 1000)
                        }
                    })
                    // this.radioValue = this.topContent[0].code
                    // if (this.radioValue.toString().length > 0) {
                    //     this.getCheckScanDeviceTemp(val)
                    // }
                } else {
                    this.isDisabledSubmitButton = false
                }
            },
        }
    }
</script>
<style lang="scss" scoped>
    @import url('@/style/global.css');
    ::v-deep .uicon-arrow-left>span {
        display: block;
    }
</style>
pages/sbgl/sbwx.vue
@@ -304,12 +304,12 @@
                                    // uni.$u.toast('提交成功!')
                                    result.data.forEach(i => {
                                        that.fileList.push({
                                            uri: 'http://121.196.36.24:8019/' + i,
                                            uri: that.$baseUrl.split('api')[0] + i,
                                            name: i
                                        })
                                        that.imgPreviewSrcs.push(
                                            'http://121.196.36.24:8019/' + i)
                                            that.$baseUrl.split('api')[0] + i)
                                    })
                                } else {
                                    uni.$u.toast(result.Message)
@@ -367,13 +367,14 @@
                                        // uni.$u.toast('提交成功!')
                                        result.data.forEach(i => {
                                            that.fileList2.push({
                                                uri: 'http://121.196.36.24:8019/' +
                                                uri: that.$baseUrl.split('api')[
                                                        0] +
                                                    i,
                                                name: i
                                            })
                                            that.imgPreviewSrcs2.push(
                                                'http://121.196.36.24:8019/' + i)
                                                that.$baseUrl.split('api')[0] + i)
                                        })
                                    } else {
                                        uni.$u.toast(result.Message)
pages/sbgl/wxsq.vue
@@ -3,148 +3,68 @@
        <page-nav title="设备维修申请"></page-nav>
        <view v-show="topContent.length===0">
        <view v-if="purchorderArrAll.length>0">
            <!-- <view class="mainContent" :style="{maxHeight: '1340rpx',overflow: 'scroll',padding:0}"> -->
            <!-- #ifdef H5 -->
            <u--input prefixIcon="search" prefixIconStyle="font-size: 22px;color: #909399" placeholder="输入设备/工位"
                clearable border="surround" @clear='inputBoxValueClear' v-model="inputBoxValue"
                @change="changeInputBoxValue">
                <template slot="suffix">
                    <u-icon name="scan" color="#909399" size="24" @click="topScanClick"></u-icon>
                </template>
            </u--input>
            <!-- #endif -->
            <!-- #ifdef APP-PLUS -->
            <u-input prefixIcon="search" prefixIconStyle="font-size: 22px;color: #909399" placeholder="输入设备/工位"
                clearable border="surround" @clear='inputBoxValueClear' v-model="inputBoxValue"
                @change="changeInputBoxValue">
                <template slot="suffix">
                    <u-icon name="scan" color="#909399" size="24" @click="topScanClick"></u-icon>
                </template>
            </u-input>
            <!-- #endif -->
            <u-alert :title="'设备/工位数(共'+title+'个)'" type="primary"></u-alert>
            <u-radio-group v-model="radioValue" iconPlacement="right" @change="radioValueClick" class="radioGroupClass">
                <view v-for="(item,index) in purchorderArr" :key="item.code">
                    <!-- @click="radioValueClick(item.code)" -->
                    <view>
                        <u-radio activeColor="red" size="18" labelSize='18' :name='item.code' :key="item.code"
                            :label="item.code+'/'+item.name"></u-radio>
                    </view>
                    <u-line v-if="index!==purchorderArr.length-1" color="#2979ff"></u-line>
                </view>
            </u-radio-group>
            <view class="footer" style="min-height:62rpx;">
                <u-button type="primary" size='large' :hairline="true" @click="navigateTo" text="下一步"></u-button>
            </view>
            <!-- </view> -->
        </view>
        <view v-if="purchorderArrAll.length===0">
            <div class="sacnBody">
                <div class="scanImg" @click="topScanClick"></div>
                <div class="scanText">扫描维修工位</div>
                <div class="boxImg"></div>
                <div class="scanText">暂无设备/工位</div>
            </div>
        </view>
        <view v-show="topContent.length!==0">
            <view class="mainContent">
                <view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head" style="max-height: 370rpx;overflow:scroll;">
                        <view class="head_block">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    æ‰«æç»´ä¿®å·¥ä½
                                </view>
                            </view>
                            <view class="marginRight20">
                                <u-icon name="scan" @click="topScanClick" color="red" size="28"></u-icon>
                            </view>
                        </view>
                        <view class="marginTop20 marginLeft20 marginRight20 flex_column">
                            <!-- <u-radio-group class=""> -->
                            <view class="marginBottom20 flex_between" @click="groupChange(item.code)"
                                v-for="item in topContent" :key="item.code">
                                <view style="display: flex;">
                                    <view class="flex_column titleFont">
                                        <view>工位编码:</view>
                                        <view>工位名称:</view>
                                        <view>生产车间:</view>
                                    </view>
                                    <view class="flex_column contentFont">
                                        <view>{{item.code}}</view>
                                        <view>{{item.name}}</view>
                                        <view>{{item.wksp_name}}</view>
                                    </view>
                                </view>
                                <!--     <u-radio size='40' :key="item.code" :name="item.code"
                                        @change="groupChange(item.code)" activeColor="red"></u-radio> -->
                            </view>
                            <!-- </u-radio-group> -->
                        </view>
                    </view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head" style="padding-bottom: 10rpx;">
                        <view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    æ•…障来源
                                </view>
                            </view>
                            <view class="marginRight20" style="width: 200rpx;">
                                <uni-data-select v-model="selectValue" :clear="false" :localdata="selectRange"
                                    @change="selectChange">
                                </uni-data-select>
                            </view>
                        </view>
                    </view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head" style="padding-bottom: 10rpx;">
                        <view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    æ•…障描述
                                </view>
                            </view>
                        </view>
                        <view class='inputClass  contentFont' style="margin: 0 20rpx; width: 95%;">
                            <u--textarea placeholder="请输入" confirm-type="send" border="surround" height='100'
                                v-model="descMessage">
                            </u--textarea>
                        </view>
                        <view style="display: flex;">
                            <view v-for="(pic,index) in fileList" :key="pic.name">
                                <view style="margin: 20rpx 0rpx 20rpx 20rpx;position: relative;">
                                    <u-icon name="close" color="#fff" size="13"
                                        style="position: absolute;z-index: 10;right: 0;background-color: black;border-radius:50%;"
                                        @click="deletePic(pic)"></u-icon>
                                    <image :src="pic.uri" @click="imgPreview(pic)" class="upLoadImg"></image>
                                </view>
                            </view>
                            <image v-if="fileList.length<3" src="../../static/img/uploadImg.png" style="width: 100rpx;height: 100rpx;border: 1rpx solid #eff0f1;border-radius: 20rpx;
                            margin: 20rpx;padding: 30rpx;
                            " @click="selectPics">
                        </view>
                    </view>
                </view>
            </view>
            <u-button size="large" :loading="isDisabledSubmitButton" loadingText="正在提交,请稍等..." type="primary"
                @click="submit" :disabled="descMessage.toString().length===0" text="确认提交">
            </u-button>
        </view>
        <scan-code></scan-code>
    </view>
</template>
<script>
    import {
        MaintainScanDeviceApplyQrCodeData,
        MaintainScanDeviceApplySave
    } from '../../config/api.js'
    import {
        data
    } from '../../uni_modules/uview-ui/libs/mixin/mixin.js';
    import scanCode from '@/components/scan-code/scan-code.vue'
        EqpPermissions
    } from '../../config/api.js';
    export default {
        components: {
            scanCode
        },
        onLoad(option) {
            const _this = this
            uni.$off('scancodedate') // æ¯æ¬¡è¿›æ¥å…ˆ ç§»é™¤å…¨å±€è‡ªå®šä¹‰äº‹ä»¶ç›‘听器
            uni.$on('scancodedate', function(content) {
                console.log("扫描到的内容为:", content)
                _this.getMaintainScanDeviceApplyQrCodeData(content)
            })
        },
        onLoad(option) {},
        onPullDownRefresh() {
            setTimeout(() => {
                this.init(() => {
@@ -152,102 +72,63 @@
                })
            }, 1000);
        },
        data() {
            return {
                isDisabledSubmitButton: false,
                topContent: [], //扫描保养工位所带出来的内容
                centerContent: [], //保养项目内容
                scanContent: '', //扫描扫出来的值
                // radioValue: '', //单选框的值
                inputBoxValue: '', //输入框值
                selectValue: 'A',
                selectRange: [{
                    value: 'A',
                    text: '设备点检'
                }, {
                    value: 'B',
                    text: '设备保养'
                }, {
                    value: 'C',
                    text: '安灯呼叫'
                }, {
                    value: 'D',
                    text: '手工'
                }],
                descMessage: '', //故障描述
                title: 0,
                imgPreviewSrcs: [], //图片预览src
                fileList: [], //图片数组
                radioValue: '',
                purchorderArr: [],
                purchorderArrAll: []
            }
        },
        created() {
            // const a = [{
            //     name: 1
            // }]
            // const b = [{
            //     name: 1
            // }]
            // console.log([...a, ...b])
        },
        mounted() {
            this.init()
            // this.getMaintainScanDeviceApplyQrCodeData('101')
            this.getEqpPermissions()
        },
        methods: {
            // é€‰æ‹©å›¾ç‰‡
            selectPics() {
                var that = this;
                uni.chooseImage({
                    count: 3,
                    success: (res) => {
                        const files = res.tempFiles;
                        for (let i = 0; i < files.length; i++) {
                            let obj = new Object();
                            obj.name = 'photo' + i + new Date().getTime();
                            obj.uri = files[i].path;
                            that.fileList.push(obj);
                            if (obj.src == null || obj.src == '' || obj.src == undefined) {
                                that.imgPreviewSrcs.push(obj.uri)
                            } else {
                                that.imgPreviewSrcs.push(obj.src)
                            }
                        }
                    }
                })
            },
            // é¢„览图片
            imgPreview(img) {
                uni.previewImage({
                    current: this.fileList.findIndex(i => i.name === img.name),
                    indicator: "number",
                    loop: true,
                    urls: this.imgPreviewSrcs
                })
            },
            // åˆ é™¤å›¾ç‰‡
            deletePic(img) {
                console.log(img)
                this.fileList = this.fileList.filter(i => i.name !== img.name)
                this.imgPreviewSrcs = this.imgPreviewSrcs.filter(i => i !== img.uri)
            },
            init() {
                uni.stopPullDownRefresh();
            },
            changeInputBoxValue(val) {
                this.purchorderArr = this.purchorderArrAll.filter((p) => {
                    return p.code.indexOf(val) !== -1
                })
            selectChange(val) {
                console.log(val)
                if (this.purchorderArr.length > 0) {
                    this.radioValue = this.purchorderArr[0].code
                }
            },
            // æ‰«ç å·¥ä½  çš„æ‰«ç æ¡†ç‚¹å‡»
            topScanClick() {
                // if (this.topContent.length > 0) {
                //     return uni.$u.toast('请先提交此维修申请!')
                // }
            inputBoxValueClear() {
                this.inputBoxValue = ''
            },
            radioValueClick(val) {
                console.log(val)
                this.radioValue = val
            },
            navigateTo() {
                uni.navigateTo({
                    url: './wxsq2?code=' + this.radioValue
                });
            },
            // æ‰«ç æ¡†ç‚¹å‡»
            topScanClick() {
                let that = this;
                uni.scanCode({
                    onlyFromCamera: true,
                    // scanType: ['barCode', 'qrCode'],
@@ -256,18 +137,7 @@
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                        that.scanContent = res.result;
                        let flag = false
                        that.topContent.forEach(item => {
                            if (item.code === res.result) {
                                flag = true
                            }
                        })
                        if (flag) {
                            that.$u.toast('此条码已扫描,已在列表中!')
                        } else {
                            //处理扫码事件
                            that.getMaintainScanDeviceApplyQrCodeData(that.scanContent);
                        }
                        that.changeInputBoxValue(that.scanContent);
                    },
                    complete: function(res) {
@@ -280,110 +150,18 @@
                });
            },
            // èŽ·å–ç»´ä¿®å·¥ä½
            async getMaintainScanDeviceApplyQrCodeData(val) {
                const data = {
                    eqpcode: val
                }
            async getEqpPermissions() {
                const res = await EqpPermissions()
                const res = await MaintainScanDeviceApplyQrCodeData(data)
                if (res.code === '200') {
                    this.topContent = []
                    this.topContent.unshift(res.data[0])
                }
            },
                this.purchorderArrAll = res.data
            // ç¡®è®¤æäº¤æŒ‰é’®
            async submit() {
                const header = {
                    // 'Content-Type': 'multipart/form-data',
                    // 'Content-Type': 'application/x-www-form-urlencoded',
                    'Token': uni.getStorageSync('Token')
                    // 'rediskey': uni.getStorageSync('rediskey'),
                    // 'admin': uni.getStorageSync('usercode'),
                    // 'username': encodeURIComponent(uni.getStorageSync('username')),
                    // 'navTabId': uni.getStorageSync('usercode'),
                    // 'userid': uni.getStorageSync('userid'),
                    // 'guid': uni.getStorageSync('guid'),
                    // 'usertype': 'APP'
                }
                this.purchorderArr = res.data
                this.title = res.data.length
                this.radioValue = res.data[0].code
                /*
                    åœ¨ç”µè„‘上请求是需要H5的代码
                    æ‰‹æœºä¸Šè¯·æ±‚是需要APP-PLUS的代码
                */
                // #ifdef H5
                // console.log('H5')
                // let formData = new FormData()
                // formData.append("username", uni.getStorageSync('username'))
                // formData.append("eqpcode", this.topContent[0].code)
                // formData.append("wkshpcode", this.topContent[0].wksp_code)
                // formData.append("faultsourcecode", this.selectValue)
                // formData.append("faultdescr", this.descMessage)
                // this.fileList.forEach((item, index) => {
                //     formData.append('files1', item.file)
                // })
                // MaintainScanDeviceApplySave(formData).then(res => {
                //     console.log(res, 1)
                // })
                // #endif
                // #ifdef APP-PLUS ||MP
                let formData = {
                    eqpcode: this.topContent[0].code,
                    wkshpcode: this.topContent[0].wksp_code,
                    faultsourcecode: this.selectValue,
                    faultdescr: this.descMessage,
                }
                console.log(formData)
                console.log(this.fileList, 'fileList')
                this.isDisabledSubmitButton = true
                uni.uploadFile({
                    url: this.$baseUrl + '/DeviceManager/MaintainScanDeviceApplySave',
                    files: this.fileList.length === 0 ? [{
                        uri: '/'
                    }] : this.fileList,
                    // files: [{"uri": "/"    }],
                    header: header,
                    formData: formData,
                    success: (res) => {
                        // console.log(res, '1')
                        let result = JSON.parse(res.data)
                        if (res.statusCode == 200 && result.code == '200') {
                            uni.$u.toast('提交成功!')
                            this.fileList = []
                            this.imgPreviewSrcs = []
                            this.descMessage = ''
                            this.topContent = []
                            this.centerContent = []
                        } else {
                            uni.$u.toast(result.Message)
                        }
                        this.isDisabledSubmitButton = false
                    },
                    fail(res) {
                        // console.log(res, '1')
                        uni.$u.toast('提交失败!')
                        this.isDisabledSubmitButton = false
                    },
                })
                // #endif
            },
            }
        }
    }
</script>
@@ -395,23 +173,33 @@
        display: block;
    }
    ::v-deep .uicon-camera-fill {
        font-size: 60rpx !important;
    .u-input--square {
        margin: 20rpx 10rpx;
        border-radius: 40rpx;
        background-color: #fff;
        border: 1px solid #c8c8c8;
    }
    .uploader {
        /deep/.u-add-tips {
            display: none;
        }
    ::v-deep .u-alert__text--primary--light {
        margin-bottom: 0;
        font-size: 32rpx !important;
    }
    ::v-deep .uni-progress-bar {
        background-color: transparent !important;
    .radioGroupClass {
        display: flex;
        flex-direction: column;
        background-color: #fff;
        overflow-y: auto;
        max-height: 1040rpx;
        margin-top: 20rpx;
    }
    .upLoadImg {
        width: 160rpx;
        height: 160rpx;
        border-radius: 20rpx;
    ::v-deep .u-radio-label--right {
        height: 90rpx;
        line-height: 90rpx;
        width: 92%;
        margin-left: 4%;
        // padding: 0 50rpx;
    }
</style>
pages/sbgl/wxsq2.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,444 @@
<template>
    <view>
        <page-nav title="设备维修申请"></page-nav>
        <!--     <view v-show="topContent.length===0">
            <div class="sacnBody">
                <div class="scanImg" @click="topScanClick"></div>
                <div class="scanText">扫描维修工位</div>
            </div>
        </view> -->
        <view v-show="topContent.length!==0">
            <view class="mainContent">
                <view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head" style="max-height: 370rpx;overflow:scroll;">
                        <view class="head_block">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    æ‰«æç»´ä¿®å·¥ä½
                                </view>
                            </view>
                            <!--         <view class="marginRight20">
                                <u-icon name="scan" @click="topScanClick" color="red" size="28"></u-icon>
                            </view> -->
                        </view>
                        <view class="marginTop20 marginLeft20 marginRight20 flex_column">
                            <!-- <u-radio-group class=""> -->
                            <view class="marginBottom20 flex_between" @click="groupChange(item.code)"
                                v-for="item in topContent" :key="item.code">
                                <view style="display: flex;">
                                    <view class="flex_column titleFont">
                                        <view>工位编码:</view>
                                        <view>工位名称:</view>
                                        <view>生产车间:</view>
                                    </view>
                                    <view class="flex_column contentFont">
                                        <view>{{item.code}}</view>
                                        <view>{{item.name}}</view>
                                        <view>{{item.wksp_name}}</view>
                                    </view>
                                </view>
                                <!--     <u-radio size='40' :key="item.code" :name="item.code"
                                        @change="groupChange(item.code)" activeColor="red"></u-radio> -->
                            </view>
                            <!-- </u-radio-group> -->
                        </view>
                    </view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head" style="padding-bottom: 10rpx;">
                        <view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    æ•…障来源
                                </view>
                            </view>
                            <view class="marginRight20" style="width: 200rpx;">
                                <uni-data-select v-model="selectValue" :clear="false" :localdata="selectRange"
                                    @change="selectChange">
                                </uni-data-select>
                            </view>
                        </view>
                    </view>
                    <u-gap height="10" bgColor="#eff0f1"></u-gap>
                    <view class="head" style="padding-bottom: 10rpx;">
                        <view class="head_block" style="margin-bottom: 10rpx;margin-top:20rpx;">
                            <view class="head_left">
                                <view class="head_bar"></view>
                                <view class="head_title">
                                    æ•…障描述
                                </view>
                            </view>
                        </view>
                        <view class='inputClass  contentFont' style="margin: 0 20rpx; width: 95%;">
                            <u--textarea placeholder="请输入" confirm-type="send" border="surround" height='100'
                                v-model="descMessage">
                            </u--textarea>
                        </view>
                        <view style="display: flex;">
                            <view v-for="(pic,index) in fileList" :key="pic.name">
                                <view style="margin: 20rpx 0rpx 20rpx 20rpx;position: relative;">
                                    <u-icon name="close" color="#fff" size="13"
                                        style="position: absolute;z-index: 10;right: 0;background-color: black;border-radius:50%;"
                                        @click="deletePic(pic)"></u-icon>
                                    <image :src="pic.uri" @click="imgPreview(pic)" class="upLoadImg"></image>
                                </view>
                            </view>
                            <image v-if="fileList.length<3" src="../../static/img/uploadImg.png" style="width: 100rpx;height: 100rpx;border: 1rpx solid #eff0f1;border-radius: 20rpx;
                            margin: 20rpx;padding: 30rpx;
                            " @click="selectPics">
                        </view>
                    </view>
                </view>
            </view>
            <view class="footer">
                <u-button size="large" :loading="isDisabledSubmitButton" loadingText="正在提交,请稍等..." type="primary"
                    @click="submit" :disabled="descMessage.toString().length===0" text="确认提交">
                </u-button>
            </view>
        </view>
        <scan-code></scan-code>
    </view>
</template>
<script>
    import {
        MaintainScanDeviceApplyQrCodeData,
        MaintainScanDeviceApplySave
    } from '../../config/api.js'
    import {
        data
    } from '../../uni_modules/uview-ui/libs/mixin/mixin.js';
    import scanCode from '@/components/scan-code/scan-code.vue'
    export default {
        components: {
            scanCode
        },
        onLoad(option) {
            const _this = this
            uni.$off('scancodedate') // æ¯æ¬¡è¿›æ¥å…ˆ ç§»é™¤å…¨å±€è‡ªå®šä¹‰äº‹ä»¶ç›‘听器
            uni.$on('scancodedate', function(content) {
                console.log("扫描到的内容为:", content)
                _this.getMaintainScanDeviceApplyQrCodeData(content)
            })
            _this.getMaintainScanDeviceApplyQrCodeData(option.code)
        },
        onPullDownRefresh() {
            setTimeout(() => {
                this.init(() => {
                    uni.stopPullDownRefresh();
                })
            }, 1000);
        },
        data() {
            return {
                isDisabledSubmitButton: false,
                topContent: [], //扫描保养工位所带出来的内容
                centerContent: [], //保养项目内容
                scanContent: '', //扫描扫出来的值
                // radioValue: '', //单选框的值
                selectValue: 'A',
                selectRange: [{
                        value: 'A',
                        text: '设备点检'
                    }, {
                        value: 'B',
                        text: '设备保养'
                    },
                    // {
                    //     value: 'C',
                    //     text: '安灯呼叫'
                    // },
                    {
                        value: 'D',
                        text: '手工'
                    }
                ],
                descMessage: '', //故障描述
                imgPreviewSrcs: [], //图片预览src
                fileList: [], //图片数组
            }
        },
        created() {
            // const a = [{
            //     name: 1
            // }]
            // const b = [{
            //     name: 1
            // }]
            // console.log([...a, ...b])
        },
        mounted() {
            this.init()
            // this.getMaintainScanDeviceApplyQrCodeData('101')
        },
        methods: {
            // é€‰æ‹©å›¾ç‰‡
            selectPics() {
                var that = this;
                uni.chooseImage({
                    count: 3,
                    success: (res) => {
                        const files = res.tempFiles;
                        for (let i = 0; i < files.length; i++) {
                            let obj = new Object();
                            obj.name = 'photo' + i + new Date().getTime();
                            obj.uri = files[i].path;
                            that.fileList.push(obj);
                            if (obj.src == null || obj.src == '' || obj.src == undefined) {
                                that.imgPreviewSrcs.push(obj.uri)
                            } else {
                                that.imgPreviewSrcs.push(obj.src)
                            }
                        }
                    }
                })
            },
            // é¢„览图片
            imgPreview(img) {
                uni.previewImage({
                    current: this.fileList.findIndex(i => i.name === img.name),
                    indicator: "number",
                    loop: true,
                    urls: this.imgPreviewSrcs
                })
            },
            // åˆ é™¤å›¾ç‰‡
            deletePic(img) {
                console.log(img)
                this.fileList = this.fileList.filter(i => i.name !== img.name)
                this.imgPreviewSrcs = this.imgPreviewSrcs.filter(i => i !== img.uri)
            },
            init() {
                uni.stopPullDownRefresh();
            },
            selectChange(val) {
                console.log(val)
            },
            // æ‰«ç å·¥ä½  çš„æ‰«ç æ¡†ç‚¹å‡»
            topScanClick() {
                // if (this.topContent.length > 0) {
                //     return uni.$u.toast('请先提交此维修申请!')
                // }
                let that = this;
                uni.scanCode({
                    onlyFromCamera: true,
                    // scanType: ['barCode', 'qrCode'],
                    scanType: ['qrCode'],
                    success: function(res) {
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                        that.scanContent = res.result;
                        let flag = false
                        that.topContent.forEach(item => {
                            if (item.code === res.result) {
                                flag = true
                            }
                        })
                        if (flag) {
                            that.$u.toast('此条码已扫描,已在列表中!')
                        } else {
                            //处理扫码事件
                            that.getMaintainScanDeviceApplyQrCodeData(that.scanContent);
                        }
                    },
                    complete: function(res) {
                    },
                    fail: function(res) {
                        console.log('条码类型:' + res.scanType);
                        console.log('条码内容:' + res.result);
                    }
                });
            },
            // èŽ·å–ç»´ä¿®å·¥ä½
            async getMaintainScanDeviceApplyQrCodeData(val) {
                const data = {
                    eqpcode: val
                }
                const res = await MaintainScanDeviceApplyQrCodeData(data)
                if (res.code === '200') {
                    this.topContent = []
                    this.topContent.unshift(res.data[0])
                } else {
                    setTimeout(() => {
                        uni.navigateBack({
                            delta: 1, //返回层数,2则上上页
                        })
                    }, 1000)
                }
            },
            // ç¡®è®¤æäº¤æŒ‰é’®
            async submit() {
                const header = {
                    // 'Content-Type': 'multipart/form-data',
                    // 'Content-Type': 'application/x-www-form-urlencoded',
                    'Token': uni.getStorageSync('Token')
                    // 'rediskey': uni.getStorageSync('rediskey'),
                    // 'admin': uni.getStorageSync('usercode'),
                    // 'username': encodeURIComponent(uni.getStorageSync('username')),
                    // 'navTabId': uni.getStorageSync('usercode'),
                    // 'userid': uni.getStorageSync('userid'),
                    // 'guid': uni.getStorageSync('guid'),
                    // 'usertype': 'APP'
                }
                /*
                    åœ¨ç”µè„‘上请求是需要H5的代码
                    æ‰‹æœºä¸Šè¯·æ±‚是需要APP-PLUS的代码
                */
                // #ifdef H5
                // console.log('H5')
                // let formData = new FormData()
                // formData.append("username", uni.getStorageSync('username'))
                // formData.append("eqpcode", this.topContent[0].code)
                // formData.append("wkshpcode", this.topContent[0].wksp_code)
                // formData.append("faultsourcecode", this.selectValue)
                // formData.append("faultdescr", this.descMessage)
                // this.fileList.forEach((item, index) => {
                //     formData.append('files1', item.file)
                // })
                // MaintainScanDeviceApplySave(formData).then(res => {
                //     console.log(res, 1)
                // })
                // #endif
                // #ifdef APP-PLUS ||MP
                let formData = {
                    eqpcode: this.topContent[0].code,
                    wkshpcode: this.topContent[0].wksp_code,
                    faultsourcecode: this.selectValue,
                    faultdescr: this.descMessage,
                }
                console.log(formData)
                console.log(this.fileList, 'fileList')
                this.isDisabledSubmitButton = true
                uni.uploadFile({
                    url: this.$baseUrl + '/DeviceManager/MaintainScanDeviceApplySave',
                    files: this.fileList.length === 0 ? [{
                        uri: '/'
                    }] : this.fileList,
                    // files: [{"uri": "/"    }],
                    header: header,
                    formData: formData,
                    success: (res) => {
                        // console.log(res, '1')
                        let result = JSON.parse(res.data)
                        if (res.statusCode == 200 && result.code == '200') {
                            uni.$u.toast('提交成功!')
                            this.fileList = []
                            this.imgPreviewSrcs = []
                            this.descMessage = ''
                            this.topContent = []
                            this.centerContent = []
                            // let prevPage = getCurrentPages()[getCurrentPages()
                            //     .length -
                            //     2]; // ä¸Šä¸€é¡µé¢å®žä¾‹
                            // prevPage.$vm
                            //     .changeInputBoxValue('') // è°ƒç”¨ä¸Šä¸€é¡µ å®šä¹‰çš„æ–¹æ³•
                            setTimeout(() => {
                                uni.navigateBack({
                                    delta: 1, //返回层数,2则上上页
                                })
                            }, 1000)
                        } else {
                            uni.$u.toast(result.Message)
                        }
                        this.isDisabledSubmitButton = false
                    },
                    fail(res) {
                        // console.log(res, '1')
                        uni.$u.toast('提交失败!')
                        this.isDisabledSubmitButton = false
                    },
                })
                // #endif
            },
        }
    }
</script>
<style lang="scss" scoped>
    @import url('@/style/global.css');
    ::v-deep .uicon-arrow-left>span {
        display: block;
    }
    ::v-deep .uicon-camera-fill {
        font-size: 60rpx !important;
    }
    .uploader {
        /deep/.u-add-tips {
            display: none;
        }
    }
    ::v-deep .uni-progress-bar {
        background-color: transparent !important;
    }
    .upLoadImg {
        width: 160rpx;
        height: 160rpx;
        border-radius: 20rpx;
    }
</style>
pages/sbgl/wxyz.vue
@@ -292,7 +292,7 @@
        data() {
            return {
                isDisabledSubmitButton: false,
                baseUrl: 'http://121.196.36.24:8019/',
                baseUrl: this.$baseUrl.split('api')[0],
                topContent: [], //扫描保养工位所带出来的内容
                radioValue: '', //单选框的值
                scanContent: '', //扫描扫出来的值
pages/xtsy/index.vue
@@ -21,7 +21,7 @@
        </u-grid>
        <u-grid style='margin: 12rpx;' :border="false" v-if="$companyType==='A'">
        <u-grid style='margin: 12rpx;' :border="false" v-if="$companyType==='A'||$companyType==='C'">
            <u-grid-item @click="index=>clickGridPopup(index,item.name,item.code)" v-for="(item,index) in menuList"
                :key="item.code">
                <img :src="item.imgurl" alt="" style='width: 116rpx;height: 116rpx;border-radius: 20rpx;'>
@@ -31,7 +31,7 @@
        <u-grid style='margin: 12rpx;' :border="false" v-if="$companyType==='B'">
            <u-grid-item @click="index=>clickGrid(index,item.name,item.code)" v-for="(item,index) in menuList"
            <u-grid-item @click=" index=>clickGrid(index,item.name,item.code)" v-for="(item,index) in menuList"
                :key="item.code">
                <img :src="item.imgurl" alt="" style='width: 116rpx;height: 116rpx;border-radius: 20rpx;'>
                <text class="grid-text">{{item.name}}</text>
@@ -127,6 +127,8 @@
                        //         this.menuList.push(j)
                        //     })
                        // })
                    } else if (this.$companyType === 'C') {
                        this.menuList = res.data.filter(i => i.code === '2004')[0].children
                    }
                    console.log(this.menuList, 123)