From c5f75a251681efff2adc43dfec502b0820de033b Mon Sep 17 00:00:00 2001 From: loulijun2021 <1694218219@qq.com> Date: 星期五, 30 九月 2022 15:59:55 +0800 Subject: [PATCH] 1.维修验证静态页面开发实现 --- pages/sbgl/rcdj.html | 377 ++++++++++++++++++++++++++--------------------------- 1 files changed, 184 insertions(+), 193 deletions(-) diff --git a/pages/sbgl/rcdj.html b/pages/sbgl/rcdj.html index 51480a0..d703cf5 100644 --- a/pages/sbgl/rcdj.html +++ b/pages/sbgl/rcdj.html @@ -19,10 +19,19 @@ <script type="text/javascript" src="../../js/common.js"></script> + <script type="text/javascript" src="../../js/global.js"></script> + <!-- <link rel="stylesheet" href="../../css/global.css" type="text/css" charset="utf-8" /> --> <script type="text/javascript"> var topContent = [ + // { + // code: 'SB003', + // name: '榻胯疆绠辩粍', + // wksp_code: "CJ002", + // wksp_name: '瑁呴厤杞﹂棿', + // eqpchkmain_code: "djbz002" + // }, // { // code: 'SB001', // name: '榻胯疆绠辩粍', @@ -30,13 +39,6 @@ // wksp_name: '瑁呴厤杞﹂棿', // eqpchkmain_code: "djbz002" // }, - // { - // code: 'SB003', - // name: '榻胯疆绠辩粍', - // wksp_code: "CJ002", - // wksp_name: '瑁呴厤杞﹂棿', - // eqpchkmain_code: "djbz002" - // }, ]; var centerContent = [ @@ -54,17 +56,17 @@ ] - let radioValue = '' + let radioValue = '' //鍗曢�夋閫変腑鐨勯」 - let resultValue = '' + let resultValue = '' //鐐规缁撴灉 - let bwcode = '' + let bwcode = '' //鐐瑰嚮閮ㄤ綅鐨勬壂鎻忔 鐐规椤圭洰code - let number = [] + let number = [] //鐐规椤圭洰鍐呭 鍋囨暟缁� 鍋氭壂鐮佸洖鏉ヨ鍥炬洿鏂扮敤 + // 鎵弿鐐规宸ヤ綅杩斿洖鏃舵墽琛屾柟娉� function scaned(r) { - let flag = false topContent.forEach((item, index) => { if (item.code === r) { @@ -98,7 +100,7 @@ } - + // 鎵弿鐐规椤圭洰鍐呭杩斿洖鏃舵墽琛屾柟娉� function scaned2(r) { if (bwcode === r) { centerContent.forEach(item => { @@ -132,7 +134,6 @@ } - function topContentClcik(code) { radioValue = code get('AppDeviceManage/SelectScanDeviceQrCodeItem', { @@ -140,7 +141,7 @@ }).then(res => { if (res.code === '200') { centerContent = res.data - centerContent = JSON.parse(JSON.stringify(centerContent)) + // centerContent = JSON.parse(JSON.stringify(centerContent)) centerContent.forEach(item => { item.isDisabled = item.isscan === 'Y' item.inputValue = '' @@ -165,109 +166,117 @@ <div id="app"> <div class="body"> + <van-sticky> + <van-nav-bar title="鏃ュ父鐐规" @click-right="onClickRight" left-arrow @click-left="onClickleft"> + <template #right> + <van-popover style="" placement="bottom-end" :offset="[13,8]" v-model="showPopover" + trigger="click" :actions="actions" @select="onSelect"> + <template #reference> + <van-icon name="bars" size='20' color='#fff' /> + </template> + </van-popover> + </template> + </van-nav-bar> + </van-sticky> - <van-nav-bar title="鏃ュ父鐐规" @click-right="onClickRight" left-arrow @click-left="onClickleft"> - <template #right> - <van-popover style="" placement="bottom-end" :offset="[13,8]" v-model="showPopover" - trigger="click" :actions="actions" @select="onSelect"> - <template #reference> - <van-icon name="bars" size='20' color='#fff' /> - </template> - </van-popover> - </template> - </van-nav-bar> + <div v-if="topContent.length===0"> + <div class="sacnBody"> + <div class="scanImg" @click="topScanClick()"></div> + <div class="scanText">鎵弿鐐规宸ヤ綅</div> + </div> + </div> - <div class="head"> - <div class="head_block"> - <div class="head_left"> - <div class="head_bar"></div> - <div class="head_title"> - 鎵弿鐐规宸ヤ綅 + <div v-else> + <div class="head"> + <div class="head_block"> + <div class="head_left"> + <div class="head_bar"></div> + <div class="head_title"> + 鎵弿鐐规宸ヤ綅 + </div> + </div> + + <div style="margin-right: 10px;"> + <van-icon name="scan" color='red' size='24' @click='topScanClick()' /> + </div> + + </div> + + <div class="flex_between" style=""> + <div id="contentLeft" style="width: 100%;margin-top: 10px;"> + <div id="topContentID" v-for="item in topContent" :key="item.code" + style="margin-bottom: 10px;margin-left: 20px;" @click="topContentClcik(item.code)"> + <div style="display: flex;align-items: center;"> + <div> + <div>宸ヤ綅缂栫爜锛�</div> + <div>宸ヤ綅鍚嶇О锛�</div> + <div>鐢熶骇杞﹂棿锛�</div> + </div> + <div> + <div>{{item.code}}</div> + <div>{{item.name}}</div> + <div>{{item.wksp_name}}</div> + </div> + </div> + + </div> + </div> + <div id="contentRight"> + <van-radio-group v-model="radioValue" style="padding-right: 12px;"> + <van-radio checked-color='red' icon-size="18px" + style="height: 63px;margin-bottom: 10px;" v-for="item in topContent" + :key="item.code" :name="item.code"></van-radio> + </van-radio-group> + </div> + </div> + </div> + + <div class="head" + :style="{marginTop:topContent.length===0?'100px':'0',minHeight:topContent.length===0?'0':'220px'}" + style="margin-bottom: 130px;padding-bottom: 10px;overflow-y: ;" + :style="{marginTop:topContent.length===0?'78px':'0'}"> + <div class="head_block" style="margin-bottom:10px;"> + <div class="head_left"> + <div class="head_bar"></div> + <div class="head_title"> + 鐐规椤圭洰鍐呭 + </div> </div> </div> - <div style="margin-right: 10px;"> - <van-icon name="scan" color='red' size='24' @click='topScanClick()' /> - </div> - </div> - - <div class="flex_between" style=""> - <div id="contentLeft" style="width: 100%;margin-top: 10px;"> - <div id="topContentID" v-for="item in topContent" :key="item.code" - style="margin-bottom: 10px;margin-left: 20px;" @click="topContentClcik(item.code)"> - <div style="display: flex;align-items: center;"> - <div> - <div>宸ヤ綅缂栫爜锛�</div> - <div>宸ヤ綅鍚嶇О锛�</div> - <div>鐢熶骇杞﹂棿锛�</div> - </div> - <div> - <div>{{item.code}}</div> - <div>{{item.name}}</div> - <div>{{item.wksp_name}}</div> - </div> + <div class="center_border flex_column" style="margin: 5px;" v-for="item in centerContent" + :key="item.code"> + <div class="flex_between"> + <div class="center_title">{{item.name}}</div> + <div style="margin-right: 10px;" v-if="item.isscan==='Y'"> + <van-icon name="scan" color='red' size='24' @click='centerScanClick(item.code)' /> + </div> + </div> + <div class="flex_between "> + <div class='flex_between' style="width: 90%;"> + <van-field class="vanFieldInput" @blur="vanFieldBlur()" :disabled="item.isDisabled" + v-model="item.inputValue" placeholder="璇疯緭鍏�" /> </div> - </div> - </div> - <div id="contentRight"> - <van-radio-group v-model="radioValue" style="padding-right: 12px;"> - <van-radio checked-color='red' icon-size="18px" - style="height: 63px;margin-bottom: 10px;" v-for="item in topContent" - :key="item.code" :name="item.code"></van-radio> - </van-radio-group> - </div> - </div> - </div> - <div class="head" - :style="{marginTop:topContent.length===0?'100px':'0',minHeight:topContent.length===0?'0':'220px'}" - style="margin-bottom: 130px;padding-bottom: 10px;overflow-y: ;" - :style="{marginTop:topContent.length===0?'78px':'0'}"> - <div class="head_block" style="margin-bottom:10px;"> - <div class="head_left"> - <div class="head_bar"></div> - <div class="head_title"> - 鐐规椤圭洰鍐呭 + <div class="" style="width: 40%;display: flex;justify-content: space-around;"> + <van-button class="buttonSmall" :disabled='item.isDisabled' size="small" + :plain="item.isOK!=='OK'" @click="bwClick(item,'OK')" type="primary">姝e父 + </van-button> + <van-button class="buttonSmall" size="small" :plain="item.isOK!=='NG'" + @click="bwClick(item,'NG')" :disabled='item.isDisabled' type="danger">寮傚父 + </van-button> + </div> + </div> + <div style="font-weight: lighter;font-size: 14px;padding-right: 5px"> + {{item.checkdesc}} </div> </div> + </div> - - <div class="center_border flex_column" style="margin: 5px;" v-for="item in centerContent" - :key="item.code"> - <div class="flex_between"> - <div class="center_title">{{item.name}}</div> - <div style="margin-right: 10px;" v-if="item.isscan==='Y'"> - <van-icon name="scan" color='red' size='24' @click='centerScanClick(item.code)' /> - </div> - </div> - <div class="flex_between "> - <div class='flex_between' style="width: 90%;"> - <van-field class="vanFieldInput" :disabled="item.isDisabled" v-model="item.inputValue" - placeholder="璇疯緭鍏�" /> - </div> - - - <div class="" style="width: 40%;display: flex;justify-content: space-around;"> - <van-button class="buttonSmall" :disabled='item.isDisabled' size="small" - :plain="item.isOK!=='OK'" @click="bwClick(item,'OK')" type="primary">姝e父</van-button> - <van-button class="buttonSmall" size="small" :plain="item.isOK!=='NG'" - @click="bwClick(item,'NG')" :disabled='item.isDisabled' type="danger">寮傚父 - </van-button> - </div> - </div> - <div style="font-weight: lighter;font-size: 14px;padding-right: 5px"> - {{item.checkdesc}} - </div> - </div> - - </div> - - - <div style=""> <div class="footer"> <div class="head_block" style="margin-bottom: 20rpx;align-items: center;"> <div class="head_left"> @@ -345,19 +354,19 @@ immediate: true, }, - 'topContent.length': { - handler(newValue, oldValue) { - if (newValue !== oldValue) { - this.$forceUpdate() - // if (topContent[0]&&topContent[0].code) { - // this.$forceUpdate() - // this.topContentClcik(topContent[0].code) - // } - } - }, - deep: true, - immediate: true, - }, + // 'topContent.length': { + // handler(newValue, oldValue) { + // if (newValue !== oldValue) { + // this.$forceUpdate() + // // if (topContent[0]&&topContent[0].code) { + // // this.$forceUpdate() + // // this.topContentClcik(topContent[0].code) + // // } + // } + // }, + // deep: true, + // immediate: true, + // }, 'number2.length': { handler(newValue, oldValue) { this.$forceUpdate() @@ -365,19 +374,62 @@ deep: true, immediate: true, }, - 'number.length': { - handler(newValue, oldValue) { - this.$forceUpdate() - }, - deep: true, - immediate: true, - }, + // 'number.length': { + // handler(newValue, oldValue) { + // this.$forceUpdate() + // }, + // deep: true, + // immediate: true, + // }, }, created() {}, mounted() {}, methods: { submit() { - vant.Toast('xxx1') + let children = [] + centerContent.forEach(item => { + children.push({ + seq: item.seq, + itemcode: item.code, + cycle: item.cycle, + value: item.inputValue, + result: item.isOK + }) + }) + const data = { + code: radioValue, + name: topContent.find(r => r.code === radioValue).name, + standcode: topContent.find(r => r.code === radioValue).eqpchkmain_code, + result: resultValue, + children: children + } + post('AppDeviceManage/AppDeviceCheckSave?username=' + localStorage.getItem('username'), data) + .then(res => { + if (res.code === '200') { + vant.Notify({ + type: 'primary', + message: '鎻愪氦鎴愬姛锛�' + }) + topContent.forEach((r, i) => { + if (r.code === radioValue) { + topContent.splice(i, 1) + } + }) + if (topContent.length >= 1) { + radioValue = topContent[0].code + this.topContentClcik(radioValue) + } else { + centerContent = [] + } + resultValue = '' + this.$forceUpdate() + } + }) + + }, + // 杈撳叆妗嗗け鐒﹁Е鍙戜簨浠� + vanFieldBlur() { + this.$forceUpdate() }, topContentClcik(code) { radioValue = code @@ -406,16 +458,10 @@ } }) }, - resultClick(val) { resultValue = val this.$forceUpdate() }, - - selected(id) { - alert(id) - }, - // 鎵弿鐐规宸ヤ綅鎵弿 topScanClick() { createWithoutTitle('../../components/barcode_scan.html', { @@ -453,7 +499,6 @@ } }); }, - // 閮ㄤ綅姝e父 寮傚父鎸夐挳鐐瑰嚮 bwClick(item, val) { item.isOK = val @@ -473,7 +518,13 @@ this.overlayShow = true }, onSelect(action) { - vant.Toast(action.text); + if (action.text === '鎿嶄綔鎸囧') { + topPopoverClick('鎿嶄綔鎸囧') + } else if (action.text === '鎴愬搧杩芥函') { + topPopoverClick('鎴愬搧杩芥函') + } else if (action.text === '閫�鍑虹櫥褰�') { + topPopoverClick('閫�鍑虹櫥褰�') + } this.overlayShow = false }, } @@ -481,65 +532,5 @@ </script> <style type="text/css"> @import url('../../css/global.css'); - - body { - background-color: #fff; - } - - .body { - min-height: 600px; - background-color: grey; - margin-top: 0px; - background-color: #fff; - position: relative; - } - - .van-nav-bar__content { - background-color: #2651d8; - height: 44px; - } - - .van-nav-bar__title { - color: #fff; - letter-spacing: 2px; - } - - .van-nav-bar__arrow { - color: #fff !important; - } - - .createElementDiv { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 10px; - margin-left: 20px; - } - - .vanFieldInput { - height: 36px; - line-height: 36px; - align-items: center; - /* width: 200px; */ - - padding: 0; - padding-left: 10px; - /* border-radius: 5px; */ - margin: 5px 0; - /* background-color: #fff; */ - } - - .buttonSmall { - /* border-radius: 5px; */ - } - - .vanButtonInfo { - width: 100%; - letter-spacing: 2px; - height: 50px; - font-size: 18px; - /* margin-left: 0; */ - - } </style> </html> -- Gitblit v1.9.3