From 40711118c33369ccad7ceda0fdd729bd9f117f65 Mon Sep 17 00:00:00 2001 From: loulijun2021 <1694218219@qq.com> Date: 星期六, 22 十月 2022 14:03:11 +0800 Subject: [PATCH] 1.安灯响应静态实现 --- unpackage/cache/wgt/H5EDA0853/pages/sbgl/wxyz.html | 595 +++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 415 insertions(+), 180 deletions(-) diff --git a/unpackage/cache/wgt/H5EDA0853/pages/sbgl/wxyz.html b/unpackage/cache/wgt/H5EDA0853/pages/sbgl/wxyz.html index 436be3a..247a28d 100644 --- a/unpackage/cache/wgt/H5EDA0853/pages/sbgl/wxyz.html +++ b/unpackage/cache/wgt/H5EDA0853/pages/sbgl/wxyz.html @@ -21,54 +21,72 @@ <script type="text/javascript" src="../../js/global.js"></script> + <script src="../../js/jquery-3.4.1.min.js"></script> + <script src="../../js/jquery.signalR-2.2.2.min.js"></script> + <script src="../../js/Hubs.js"></script> + <script type="text/javascript" src="../../js/msg.js"></script> + <script type="text/javascript"> - var topContent = [{ - wxsqd: 'SB00990001', - code: 'SB001', - name: '榻胯疆绠辩粍', - wksp_code: "CJ002", - wksp_name: '瑁呴厤杞﹂棿', - eqpchkmain_code: "djbz002", - sqry: '浣╃綏瑗�', - sqsj: '2022-09-20 15:20:30', - gzly: '璁惧鐐规', - gzms: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓�', - }, - { - wxsqd: 'SB00990002', - code: 'SB002', - name: '榻胯疆绠辩粍', - wksp_code: "CJ002", - wksp_name: '瑁呴厤杞﹂棿', - eqpchkmain_code: "djbz002", - sqry: '浣╃綏瑗�', - sqsj: '2022-09-20 15:20:30', - gzly: '璁惧鐐规', - gzms: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓�', - }, + var topContent = [ // { - // wxsqd: 'SB00990003', - // code: 'SB003', - // name: '榻胯疆绠辩粍', + // repair_code: 'SB00990001', + // eqpcode: 'SB001', + // eqpname: '榻胯疆绠辩粍', // wksp_code: "CJ002", // wksp_name: '瑁呴厤杞﹂棿', // eqpchkmain_code: "djbz002", - // sqry: '浣╃綏瑗�', - // sqsj: '2022-09-20 15:20:30', - // gzly: '璁惧鐐规', - // gzms: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓嶄簡', + // repair_person: '浣╃綏瑗�', + // repair_date: '2022-09-20 15:20:30', + // is_shutdown: 'Y', + // failure_descript: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓嶇簿宸ヨ溅闂存敞濉戞満涓�鍙峰紑涓�', + // arrowType: true, //绠ご绫诲埆 + // messageDescr: '123', + // fileList: [], // }, // { - // wxsqd: 'SB00990004', - // code: 'SB004', - // name: '榻胯疆绠辩粍', + // repair_code: 'SB00990002', + // eqpcode: 'SB002', + // eqpname: '榻胯疆绠辩粍', // wksp_code: "CJ002", // wksp_name: '瑁呴厤杞﹂棿', // eqpchkmain_code: "djbz002", - // sqry: '浣╃綏瑗�', - // sqsj: '2022-09-20 15:20:30', - // gzly: '璁惧鐐规', - // gzms: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓嶄簡', + // repair_person: '浣╃綏瑗�', + // repair_date: '2022-09-20 15:20:30', + // is_shutdown: 'N', + // failure_descript: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓�', + // arrowType: true, //绠ご绫诲埆 + // messageDescr: '123', + // fileList: [], + // }, + // { + // repair_code: 'SB00990003', + // eqpcode: 'SB003', + // eqpname: '榻胯疆绠辩粍', + // wksp_code: "CJ002", + // wksp_name: '瑁呴厤杞﹂棿', + // eqpchkmain_code: "djbz002", + // repair_person: '浣╃綏瑗�', + // repair_date: '2022-09-20 15:20:30', + // is_shutdown: 'Y', + // failure_descript: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓嶄簡', + // arrowType: true, //绠ご绫诲埆 + // messageDescr: '123', + // fileList: [], + // }, + // { + // repair_code: 'SB00990004', + // eqpcode: 'SB004', + // eqpname: '榻胯疆绠辩粍', + // wksp_code: "CJ002", + // wksp_name: '瑁呴厤杞﹂棿', + // eqpchkmain_code: "djbz002", + // repair_person: '浣╃綏瑗�', + // repair_date: '2022-09-20 15:20:30', + // is_shutdown: 'N', + // failure_descript: '绮惧伐杞﹂棿娉ㄥ鏈轰竴鍙峰紑涓嶄簡', + // arrowType: true, //绠ご绫诲埆 + // messageDescr: '123', + // fileList: [], // }, ]; @@ -77,37 +95,37 @@ let radioValue = '' //鍗曢�夋閫変腑鐨勯」 - let number = [] //鍋囨暟缁� 鍋氭壂鐮佸洖鏉ヨ鍥炬洿鏂扮敤 + let falseArray = [] //鍋囨暟缁� 鍋氭壂鐮佸洖鏉ヨ鍥炬洿鏂扮敤 // 鎵弿缁翠慨宸ヤ綅杩斿洖鏃舵墽琛屾柟娉� function scaned(r) { radioValue = r - // let temp = {} - // let flag = false - // topContent.forEach((item, index) => { - // if (item.code === radioValue) { - // temp = item - // topContent.splice(index, 1) - // flag = true - // } - // }) - // if (flag) { - // topContent.unshift(temp) - // } else { - // vant.Notify({ - // type: 'danger', - // message: '鎵�鎵簩缁寸爜鍥村湪鍒楄〃涓紒' - // }) - // if (topContent.length > 0) { - // radioValue = topContent[0].code - // } - // } + let temp = {} + let flag = false + topContent.forEach((item, index) => { + if (item.repair_code === radioValue) { + temp = item + topContent.splice(index, 1) + flag = true + } + }) + if (flag) { + topContent.unshift(temp) + } else { + vant.Notify({ + type: 'danger', + message: '鎵�鎵簩缁寸爜鍥村湪鍒楄〃涓紒' + }) + if (topContent.length > 0) { + radioValue = topContent[0].repair_code + } + } - number.push({ + falseArray.push({ id: '1' }) } @@ -132,103 +150,219 @@ </van-nav-bar> </van-sticky> - <van-sticky :offset-top="44"> - <div style="display: flex; - background-color: #eff0f1; - height: 40px;align-items:center; - justify-content: space-between;width: 98%;margin: auto;"> - - <div class="head_left"> - <div class="head_bar"></div> - <div class="head_title"> - 鎵弿缁翠慨宸ヤ綅 - </div> + <div v-if="topContent.length===0"> + <div class="sacnBody"> + <div class="box"> + <div class="boxImg"></div> </div> - - <div style="margin-right: 10px;"> - <van-icon name="scan" color='red' size='24' @click='topScanClick()' /> - </div> - + <div class="scanText">鏆傛棤缁翠慨鍙獙璇�</div> </div> - </van-sticky> - - - <div class="head" style="width: 88%;float: left;margin-right: 0;border-radius: 5px 0 0 5px;" - v-for="item in topContent" :key="item.code"> - - <div class="flex_between"> - <div style="width: 100%;margin-top: 10px;"> - <div style="margin-bottom: 10px;line-height:20px;margin-left: 20px;" - @click="topContentClcik(item.code)"> - <div style="display: flex;align-items: center;"> - <div style="text-align: right;"> - <div>缁翠慨鐢宠鍗曪細</div> - <div>宸ヤ綅缂栫爜锛�</div> - <div>宸ヤ綅鍚嶇О锛�</div> - <div>鐢熶骇杞﹂棿锛�</div> - <div>鐢宠浜哄憳锛�</div> - <div>鐢宠鏃堕棿锛�</div> - <div>鏁呴殰鏉ユ簮锛�</div> - <!-- <div>鏁呴殰鎻忚堪锛�</div> --> - </div> - <div> - <div>{{item.wxsqd}}</div> - <div>{{item.code}}</div> - <div>{{item.name}}</div> - <div>{{item.wksp_name}}</div> - <div>{{item.sqry}}</div> - <div>{{item.sqsj}}</div> - <div>{{item.gzly}}</div> - <!-- <div style="width: 200px;" class="textEllipsis">{{item.gzms}}</div> --> - </div> - </div> - <div style="display: flex;"> - <div style="margin-left: 16px;">鏁呴殰鎻忚堪锛�</div> - <div style="width: 180px;">{{item.gzms}}</div> - </div> - - </div> - </div> - <!-- <div> - <van-radio-group v-model="radioValue" style="padding-right: 12px;"> - <van-radio checked-color='red' icon-size="18px" @click="topContentClcik(item.code)" - style="height: 160px;margin-bottom: 10px;" v-for="item in topContent" - :key="item.code" :name="item.code"></van-radio> - </van-radio-group> - </div> --> - </div> - - - <!-- 绠ご鍥炬爣閮ㄥ垎 --> - <div style="height: 30px;margin: auto;margin-top: 10px;"> - <div style="border-radius: 5px;width: 60px;height: 30px;background-color: aliceblue;" - @click="arrowTypeChange" class="flex_center_center"> - <van-icon :name="arrowType?'arrow-down':'arrow-up'" /> - </div> - </div> - </div> - <div style="display: flex;"> - <van-radio-group v-model="radioValue" style=""> - <van-radio checked-color='red' icon-size="18px" @click="topContentClcik(item.code)" - style="padding-right: 30%;background-color: #fff;height: 220px;margin-bottom: 10px;background-color: #fff;margin: 5px 0;padding: 10px 0;" - v-for="item in topContent" :key="item.code" :name="item.code"></van-radio> + <div v-else> + + <van-sticky :offset-top="44"> + <div style="display: flex; + background-color: #eff0f1; + height: 40px;align-items:center; + justify-content: space-between;width: 98%;margin: auto;"> + + <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> + </van-sticky> + + <van-radio-group v-model="radioValue"> + <van-cell-group> + <div class="head" style="width: 96%;float: left;margin-right: 0;" + v-for="(item,index) in topContent" + @click="topContentClcik(item.repair_code,item.eqpcode,item.wksp_code)" + :key="item.repair_code"> + <div class="cellDiv">璁惧缁翠慨鍗曪細{{item.repair_code}}</div> + <div class="cellDiv">宸ヤ綅缂栫爜锛歿{item.eqpcode}}</div> + <div class="cellDiv">宸ヤ綅鍚嶇О锛歿{item.eqpname}}</div> + <div class="cellDiv">鐢熶骇杞﹂棿锛歿{item.wksp_name}}</div> + <van-cell :title="'鐢宠浜哄憳锛�'+item.repair_person"> + <template #right-icon> + <van-radio style="margin-right: 10px;" checked-color='red' + :name="item.repair_code" /> + </template> + </van-cell> + <div class="cellDiv">缁翠慨鏃堕棿锛歿{item.repair_date}}</div> + <div class="cellDiv">鍋滄満缁翠慨锛歿{item.is_shutdown==='Y'?'鏄�':'鍚�'}}</div> + <div class="cellDiv">鏁呴殰鎻忚堪锛歿{item.failure_descript}}</div> + + <div v-show="item.arrowType" style="height: 30px;margin: auto;margin-top: 10px;" + :style="{marginBottom:(topContent.length-1===index)?'70px':'0px'}"> + <div style="border-radius: 5px;width: 60px;height: 30px;background-color: aliceblue;" + @click="arrowTypeChangeDown(item.repair_code,item.eqpcode,item.wksp_code)" + class="flex_center_center"> + <van-icon :name="item.arrowType?'arrow-down':'arrow-up'" /> + </div> + </div> + + <!-- <div v-if="topContent.length-1===index" style="z-index: 100;height: 10px;background-color: red;margin-top: -10px;"></div> --> + + <div v-show="!item.arrowType" class="flex_column"> + <div class="flex_center_center" + style="margin-top: 10px;background-color: #eff0f1;height: 40px;font-size: 20px;"> + 缁翠慨璇︽儏</div> + + + <div class="head" style="padding-bottom: 0;"> + <div class="head_block"> + <div class="head_left"> + <div class="head_bar"></div> + <div class="head_title"> + 鏁呴殰鎻忚堪 + </div> + </div> + </div> + + + + <div + style="display:flex;flex-direction: column;width: 96%;margin: auto;padding: 10px;"> + {{messageDescr}} + </div> + <div v-show="fileList.length!==0" style="width: 96%;margin: auto;"> + <van-uploader multiple :deletable='false' v-model="fileList" multiple + :max-count="fileList.length" /> + </div> + + </div> + + + <div style="background-color: #eff0f1;height: 10px;"></div> + + <div class="head" style="padding-bottom: 5px;margin-top: 0;"> + <div class="head_block" style=""> + <div class="head_left"> + <div class="head_bar"></div> + <div class="head_title"> + 鍋滄満缁翠慨 + </div> + </div> + + <van-button class="buttonSmall" size="small" type="primary"> + {{isStop==='Y'?'鏄�':'鍚�'}} + </van-button> + + </div> + + </div> + + <div style="background-color: #eff0f1;height: 10px;"></div> + + <div class="head" style="padding-bottom: 0;" v-show="messageDescr2!==''"> + <div class="head_block"> + <div class="head_left"> + <div class="head_bar"></div> + <div class="head_title"> + 缁翠慨鍐呭 + </div> + </div> + </div> + + <div + style="display:flex;flex-direction: column;width: 96%;margin: auto;padding: 10px;"> + {{messageDescr2}} + </div> + + </div> + + <div style="background-color: #eff0f1;height: 10px;"></div> + + + <div class="head" style="padding-bottom: 0;" v-show="messageDescr3!==''"> + <div class="head_block"> + <div class="head_left"> + <div class="head_bar"></div> + <div class="head_title"> + 鏇存崲澶囦欢 + </div> + </div> + </div> + + + + <div + style="display:flex;flex-direction: column;width: 96%;margin: auto;padding: 10px;"> + {{messageDescr3}} + </div> + <div v-show="fileList2.length!==0" style="width: 96%;margin: auto;"> + <van-uploader :deletable='false' multiple v-model="fileList2" multiple + :max-count="fileList2.length" /> + </div> + + </div> + + <div style="background-color: #eff0f1;height: 10px;"></div> + + <div class="head" style="padding-bottom: 5px;margin-top: 0;"> + <div class="head_block" style=""> + <div class="head_left"> + <div class="head_bar"></div> + <div class="head_title"> + 楠岃瘉缁撴灉 + </div> + </div> + + <div class="flex_center" + style="width: 30%;display: flex;justify-content: space-around;"> + <van-button class="buttonSmall" size="small" + :plain="item.resultValue!=='OK'" + @click="resultValueClick(item.repair_code,'OK')" type="primary"> + 姝e父</van-button> + <van-button class="buttonSmall" size="small" + :plain="item.resultValue!=='NG'" + @click="resultValueClick(item.repair_code,'NG')" type="danger"> + 寮傚父 + </van-button> + </div> + + </div> + + </div> + + + <div v-show="!item.arrowType" style="height: 30px;margin: auto;margin-top: 10px;" + :style="{marginBottom:(topContent.length-1===index)?'70px':'0px'}"> + <div style="border-radius: 5px;width: 60px;height: 30px;background-color: aliceblue;" + @click="arrowTypeChangeUp(item.repair_code)" class="flex_center_center"> + <van-icon :name="item.arrowType?'arrow-down':'arrow-up'" /> + </div> + </div> + + + </div> + + </div> + </van-cell-group> </van-radio-group> - </div> + <div class="footer" style="min-height:50px;"> + <div + style="position:fixed;bottom: 0;width: 96%;display: flex;justify-content: center;flex-direction: column;align-items: center"> + <van-button :loading="submitIsDisabled" + :disabled="topContent.find(item=>item.repair_code===radioValue).resultValue===''" + loading-text='姝e湪鎻愪氦,璇风◢绛�...' class="vanButtonInfo" @click="submit" type="info"> + 纭鎻愪氦</van-button> - <div class="footer" style="min-height:50px;"> - <div - style="position:fixed;bottom: 0;width: 96%;display: flex;justify-content: center;flex-direction: column;align-items: center"> - <van-button class="vanButtonInfo" @click="submit" type="info"> - 纭鎻愪氦</van-button> - + </div> </div> + </div> - - </div> @@ -238,11 +372,11 @@ </div> </body> <script> - var app = new Vue({ el: '#app', data: function() { return { + submitIsDisabled: false, overlayShow: false, showPopover: false, actions: [{ @@ -255,36 +389,26 @@ icon: 'revoke', text: '閫�鍑虹櫥褰�' }], - arrowType: true, //绠ご绫诲埆 - topContent2: topContent, - messageDescr: '', //鏁呴殰鎻忚堪 蹇呭~ - fileList: [ - // { - // url: 'https://img01.yzcdn.cn/vant/leaf.jpg' - // }, - // Uploader 鏍规嵁鏂囦欢鍚庣紑鏉ュ垽鏂槸鍚︿负鍥剧墖鏂囦欢 - // 濡傛灉鍥剧墖 URL 涓笉鍖呭惈绫诲瀷淇℃伅锛屽彲浠ユ坊鍔� isImage 鏍囪鏉ュ0鏄� - // { - // url: 'https://img01.yzcdn.cn/vant/leaf.jpg' - // }, - ], + messageDescr: '', //鏁呴殰鎻忚堪 + fileList: [], + fileList2: [], isStop: 'Y', - messageContent: '', //缁翠慨鍐呭 褰撶淮淇仠鏈洪�変簡鍚� 姝ゅ瓧娈靛繀濉� - photoList: [], - number2: number + messageDescr2: '', //缁翠慨鍐呭 + messageDescr3: '', //鏇存崲澶囦欢 + falseArray2: falseArray, + baseUrl: 'http://121.196.36.24:8001', //ip鍩虹鍦板潃 } }, watch: { 'topContent2.length': { handler(newValue, oldValue) { if (newValue !== oldValue) { - // this.topContent2 = topContent - // this.$forceUpdate() - if (topContent[0] && topContent[0].code) { + if (topContent[0] && topContent[0].repair_code) { this.$forceUpdate() - this.topContentClcik(topContent[0].code) + this.topContentClcik(topContent[0].repair_code, topContent[0].eqpcode, topContent[0] + .wksp_code) } } @@ -292,7 +416,7 @@ deep: true, immediate: true, }, - 'number2.length': { + 'falseArray2.length': { handler(newValue, oldValue) { this.$forceUpdate() }, @@ -301,22 +425,125 @@ }, }, created() {}, - mounted() {}, + mounted() { + this.getList() + }, methods: { - arrowTypeChange() { - this.arrowType = !this.arrowType + getList() { + get('AppDeviceManage/RepairVerificationScanDeviceData').then(res => { + if (res.code === '200') { + topContent = res.data + radioValue = topContent[0].repair_code + + topContent.forEach(item => { + item.arrowType = true + item.resultValue = '' + }) + this.getDetail(topContent[0].repair_code, topContent[0].eqpcode, topContent[0] + .wksp_code) + this.$forceUpdate() + } + }) + }, + getDetail(repair_code, eqpcode, wkshpcode) { + const data = { + repair_code, + eqpcode, + wkshpcode + } + + get('AppDeviceManage/RepairVerificationScanDeviceDataSub' + formatParams(data)).then(res => { + if (res.code === '200') { + console.log(res.data) + this.messageDescr = res.data.failure_descript + + this.fileList = res.data.failure_descriptimg ? res.data.failure_descriptimg + .filter(item => item.img1url !== '') : [] + + this.fileList.forEach(item => { + item.url = this.baseUrl + item.img1url + }) + + this.isStop = res.data.repair_content ? 'N' : 'Y' + + this.messageDescr2 = res.data.repair_content ? res.data.repair_content : '' + this.messageDescr3 = res.data.repair_part ? res.data.repair_part : '' + + this.fileList2 = res.data.repair_partimage ? res.data.repair_partimage.filter( + item => item.img2url !== '') : [] + this.fileList2.forEach(item => { + item.url = this.baseUrl + item.img2url + }) + this.$forceUpdate() + } + }) + }, + arrowTypeChangeUp(repair_code) { + topContent.forEach(item => { + item.arrowType = true + // if (item.repair_code === repair_code) { + // // item.resultValue= + // item.arrowType = true + // } + }) + this.$forceUpdate() + }, + + arrowTypeChangeDown(repair_code, eqpcode, wksp_code) { + radioValue = repair_code + topContent.forEach(item => { + item.arrowType = true + if (item.repair_code === repair_code) { + item.arrowType = false + item.resultValue = item.resultValue ? item.resultValue : '' + this.messageDescr = '' + this.messageDescr2 = '' + this.messageDescr3 = '' + this.fileList = [] + this.fileList2 = [] + this.getDetail(item.repair_code, item.eqpcode, item.wksp_code) + } + }) this.$forceUpdate() }, submit() { - // 寮�鍙戞椂瀵笷ormData瀵硅薄append鏁版嵁鍚庢墦鍗板嚭鏉ヤ负绌哄璞★紝寮�濮嬩互涓烘槸娌℃湁append杩涘幓锛屽疄闄呬笂鏄疐ormData瀵硅薄涓嶈兘鐩存帴鐢╟onsole.log(formData)杩涜鎵撳嵃銆� - // 濡傛灉瑕佹墦鍗帮紝鍙互鐢ㄤ笅闈㈢殑鏂瑰紡锛� - // for (var key of this.photoList.entries()) { - // console.log(key[0] + ', ' + key[1] ); - // } + const result = topContent.find(item => item.repair_code === radioValue) - for (let [a, b] of this.photoList.entries()) { + const formData = new FormData() + formData.append("username", localStorage.getItem('username')) + formData.append("eqpcode", result.eqpcode) + formData.append("wkshpcode", result.wksp_code) + formData.append("repairwo", result.repair_code) + formData.append("result", result.resultValue) + + for (let [a, b] of formData.entries()) { console.log(a, ', ', b); } + + post('AppDeviceManage/RepairVerificationScanDeviceSave', formData).then(res => { + if (res.code === '200') { + topContent.forEach((item, index) => { + if (item.repair_code === radioValue) { + topContent.splice(index, 1) + } + }) + if (topContent.length > 0) { + radioValue = topContent[0].repair_code + this.getDetail(topContent[0].repair_code, topContent[0].eqpcode, topContent[0] + .wksp_code) + } + // this.resultValue='' + this.$forceUpdate() + } + }) + }, + resultValueClick(repair_code, val) { + topContent.forEach(item => { + if (item.repair_code === repair_code) { + item.resultValue = val + } + }) + this.$forceUpdate() }, topScanClick() { createWithoutTitle('../../components/barcode_scan.html', { @@ -339,8 +566,16 @@ vanFieldBlur() { this.$forceUpdate() }, - topContentClcik(code) { - radioValue = code + topContentClcik(repair_code, eqpcode, wksp_code) { + radioValue = repair_code + // this.resultValue = '' + topContent.forEach(item => { + if (item.repair_code !== repair_code) { + item.resultValue = '' + // this.getDetail(item.repair_code, item.eqpcode, item.wksp_code) + } + }) + this.$forceUpdate() }, onClickleft() { -- Gitblit v1.9.3